From 04ad678d24dbae62cac2ac93bb78374a7075e90c Mon Sep 17 00:00:00 2001 From: ImgBotApp Date: Fri, 7 Jun 2024 14:12:13 +0000 Subject: [PATCH] [ImgBot] Optimize images *Total -- 279.38kb -> 235.87kb (15.57%) /images/sample-io-insights.svg -- 39.02kb -> 29.88kb (23.43%) /images/sample-io-insights-issues.svg -- 29.75kb -> 22.87kb (23.15%) /images/sample-io-insights-verbose.svg -- 152.37kb -> 128.50kb (15.67%) /images/drishti-logo.png -- 58.23kb -> 54.63kb (6.18%) Signed-off-by: ImgBotApp --- images/drishti-logo.png | Bin 59627 -> 55945 bytes images/sample-io-insights-issues.svg | 212 +-------- images/sample-io-insights-verbose.svg | 635 +------------------------- images/sample-io-insights.svg | 260 +---------- 4 files changed, 3 insertions(+), 1104 deletions(-) diff --git a/images/drishti-logo.png b/images/drishti-logo.png index a75388ee41d0704ac65feba09b2bda4495fbc057..d370941ea32ebe44dc4795b0b957b8b930f68dce 100644 GIT binary patch literal 55945 zcmV)zK#{+RP)004mq1^@s6Hcm)P00004XF*Lt006O% z3;baP0000WV@Og>004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 zVoOIv0RI600RN!9r;`8x010qNS#tmY3ljhU3ljkVnw%H_0Du5VL_t(|+U&h~oTXV& zCj3O4^WLng?rLa2KyVaL)In$vWnWa(0mTJW7B^5Cb)cIDQ9wX80a;{iwsAy9mhW@W zK^zg>bwm^dSzAX1KT(k#dhe>ryze>j{Sgu8#QWZxRhd-CR$e1^yYA>>+- znUR?}kELcJWKNVIG7wQp8F?5e)mk$%Qp%Ku1tn(s7$E=r?N55axHh1FDRd0@dyMA1_@A6Ap{Wgn)=}~2;47)9bf<4c#Ku1H;cj@BeJV!*Ny=Y zP0vPZyoq|eWCtxGyT~SK+l-Rh=aL?;otXVj0q{2fegVKAz4!mT`si*Rs5^ble;GvN z>zMh+0Ni~ii7lNV{k4C(62MCUyyIOLzxw05Ii`Ew?oo#b^sNA%0^p7yB!b?^8m=i# z?t^`g!*NhtXp^7re^i>Bldm_j`>7w-7b}IgA@+4PTNBccr#;UEus=>jdYt-z>t_g% z65;H_hj7)EM^S5?eO`Z>mFZo=V>#?D&cFJX2e{6rKUUesnp3UOy1O?)86t(f`@)hX07WU3eD;{pTw3FaQez zkP_=NM!IK+*xn?f`;)DcI(fLmN)SB<4r?WY{2GEmNEsk7$e(YP_FTjEf&mP+g;S~? zM~?yee!lk%nQ^`ApN)EKiE%kXL{O@rK!8+{GB7TIjSa$~gN$Kdd+q^d0uzBP05B2G zxzY8pIJAK)KKVHis$O?SJ0~JR&IDo(t49xR97V5>2y7Px7@!1Ds=6$z?O&qt2B57f z@@rD%HIMkEUwqF=1@8-=@MQoVAi#wJxfO@!RP?5RnNUhaEkMfpOaOWfQnu$?1St!K z1!EWpDFK}5uTsLVagyJ-*Q1_)x!%+E0rLG2dI1UDpalhzaH9k}+Voa}c?=xW_ozZ( zd*5}x>lc|xA83)Vz6)Z*c z5F+{o0RLehu&mbt_$vVS+08Kt@cjh50Kg3pk|+Um!H}#R0x?#uPrNVFExoTZ2?3l~ z?Ab&Mvh(D9a{X*nyh*BUvu%L3JTkr_k=*->lQ?K zx(NQ$x831U-}ieTc-1F%aZk^O;Q0U+>xvdaPx3jfPej`@N<9I}%x96{iA1>T!|rhxFrjf6OgF^acpNg5z;apA3Bt!*%tfPp|3pH`w;kcu!dLCP~#bK%|=j zSw!~4FqAyVASBy|E2OO>-$pX~extvinUJXh2Lx%*J$gBc?njBh1PqxlWJb<}#QOQk z?z8W>WN&!YrI&#(*Tl}(K`+RFlvxu_roQLe+GMG^$6K|-c40^ZqXv6>uUf<(hy?^c zLBKb@_JYTM*TY}&i~qRWfX<0tSBu;oA{itQPl(ypQ9Q<^!JJv24G|6SzQz_CjFbqu z1$5k<2)703a{%7lqS{yA?k5v~9|PnD5_k1Am8NdqG_A9UCYf9h9I{e{V^-hB-;Gs& ze7h>MU><^xUzE6jHOrEQ0x(TJak4x6=eIBWAA=xL+k?^&1d$dv5gsq`AZwqJz(~GR zdZHjPXi7_Pda|JJRZ&swGsqJW(qHt-xyHaL{UNVmKbOfCpx4o_ezGjsuK~BKCGG5} z7vYvcQC}LfdpqCNPowZpr(cvwct>JJ zq83!{1mN~Re3uLJF0#$o}NFA*Ur{s-R$ zm?qez26G~0%lc|d5BvM(r1ylWub-3%rEa03f|6FmX%GwpkTWn0gvCOuP_UseiPk5Q zq&p*F9tRY;NLjDBA}OQ^16#7f0we+@LK+C16=|Xb`+H9?+cmPa$P93zujEAM?{<@U z(^G!-jzn^IKypWMq(2K0{jfwNB@Nc($L3{Mi0ZBD+%6yEPyeS4_ck|JMV>wa8keBq6_y-lyDtvyir|m{4=2Lc?Bsxc@}56+78BiX zzP5_keq!%CDFg&F#EcC?qzRIc4Z>+&Wwcx zX-%pKDJ89FlLvFO>NaJ72LVz+r3%i1G$?GHGLROUR3r z3=8`9-bMic;p@f6jX@BSzR}P6VzC%ow|~rC}()&gTS2%3p(;c@FvJ};@{O#2ni8$W;MkyjF=)!+Ynk=Jyu~y*C*#BP zO~qn@3B7%fzr}hG+rddyhD`N30+S zdt^fq8hUnX3CPO{UI*>V&by+9wk3tapz$hZXnYU$t-&&>w%LLgg$g@%YD6^ndy8;j zwsk?)(zLye^xt}WwjWNlByYJT$V2}gu^?wJ+!)Ng2i_Bc{(fYYE43hKMGTP@7kXTr z{C%{An-U=0k!F%<0Xlk{p~2qLlA~Iw^F3G^0t5l_z`NOJAdtgTWNHF+8Ar_91@OLj zE2x+hh9`z5BFU2sAP?4F(d&2iB%lj~AXBnh^48r7r;9LOOVet-Z@=;3<>Nqs0ztKA zICF=KnJ5t81VUuJiNVE2$<^>tR~ zG@l8qkM@u$q}8f%nZkap@(x^qIp1LSuW%kDt*WDb^c%Z)v&E@a<~s=H0C2#*t~y~r z7fG%C6gEXNl&Vx+!^{x{F+|D&Whu2mcdf@9lL46`Z7J*1&jTA%QPL z0v1-HRoEr`_%;qKAXUI)Z3W7~vkqX~Tw+|7-gdDnSCK+))npNYkOt^P0#s`4K91;K zNXBXv)B@y%@t}ycng&`xW|Cf=1ByN|8zR_`Ws;l{HC`7RsuB^QI@z!6`munrU9-_4 z>wbSlVjMAEkUi`v8Df!kwa*}BV&5Yt1+bycl*EFzwHgd9NNh!1ipi^BSP*h{*xh&? zBp~i=n%qvnA#GXR%%*&BtM6C@I+|I~#lsyHX7NScTMk zb?s1ohZv4mDV9m^+#WA+B!DLU`ZU|^eIW@#MG~0)7lI{9;BpjklHhbR`s`UO~V+sV4-a0rvZus+mZ^;s!YF}N}e&&8nT}Fb_ zI+&fdZ8%_?$f8 zbdqkWjayTt2N&vXGLepuC95#2eZThWPCLE-v6VrAoTish_mC3KHBRS5g7LJNB3%Cl z=V07i;^^g9+xNIl#!x)hSj`&*UaA&cDRtr-glww83J(w}b+)~Ke``~N=dcla>`aZ@ z)F5PHJ z%5h;-8y6ED5h>`sZR&Vj&s0QKPSbiDU4Zff z8Vg)BA##L4k(ACl=g_Vr+WGqR=c-6;m2wPL4G`1PyrEQLQvjadReNp|oID6z@tI4J zK-l19sGp!5+X5ii$O*(6{Av|rrzeXTb~JBZ8ysOpvT&IRBU?#85+2G)KHBB z8ibT50pygBIAM_qL*fRjd%%~f?b9@6A?oO@7iFH9k#REYA~9KZF_QA9in`fB~_2xFJ0Gm= zL$W|q9zcb(UK)u7>}~H>pDVYNr0vsbhNSrMlr??p28$B41OU6JT>G3o?QoM@vnEL< zYw6Ug@%4cEE}-?5_pvIQ);ArF{~n>s)W;bk%0(f#$_mUiK?RzoLhG@3vsk7*@!9=Z zeVAlM%$tujiUpBr9WQM?(qu#@uIqMQBGc+K@&ZDG{_M}YOh%T+v-6u*i2xBNfx+a7s`(7X>5Gwb5sD@r~BLO>0+x|?R zpfIptwg6*^iNXnu+?TAkGgj#{-d51DSjn37->QwU`OTMr8V(C3m&KN7PJIv0%t}B@ zG#N+E3oVmtDLN)+lRt3{Xi${4&OksuxIkGh0jb7pw<-7juM+cmf`wh&Ps(~tO3?sMV!eANq}=zyTBV`5M0#u~>9J_l4oIzt>@jCoTObuF_RwVg4VqI&@gyFyfgo09vj>(aJJ_twy zKv-hj+;Y~sP48H{BnfH;mRo4ZO3F5c(bnTG19}#b(M4iHPkxa>sGYFPhUiiklNmN_ zjE}q4gER4+mEYD)rtJfIBiw}Nb5emf;tsX3tOO-yo#@Hw8a=ikB~$>D%~VjOno1B) zpcW6hv`qp+0d9Aueyq#|UE0Xo1`cZ{tY=`eFcRqkE=F(@3c;V0Bg}}AiW)5By>Sk$ z0#|$Tv5;z4xq!RKflQC5&W?^vsGzn}vd>{4LE5NVkwC7q4bk^s-ewOhErF8oz)shR z?OE2>SBTI1{BnZzuufNCeF1eM;9J&0!MlOnw+kyL63JP2{9S+HBXM$)H{C;?ei@okbABJ|`%5sC#TYgamxpX~gpPsk+3 zVnYM@FxdW*k|ijj!5uvyc@kT>+P(GhMSI_-rdFGnku%ac&$tI93Z?tF+eSwQxDm;e zfJfY)?rMcfjbk0uN8l)R)y&;;Vx-tTPyz_3=p9)c+(6kn){0~&xG4!x+8AC+I;#)v z!a$ywml173Af>fE^l1i7HYx@HqYYoSzImNW{HgLzA16EBf_0g}{vFvSYo4du6u9d> z$EVqj*da>m3$GbAn^*kFHW=?^r@%ZHz{cq!qqHA+SCgwvw3LA-plF4sAlOWF9`SH}2w8?CqVis`Gg(#{A8KOxQ$x(T1_BjaG zY`3t^3C7eWa4t@=ieD!&IzKE~bGXNQu=ym8C609xrV3YUpAR~@YLuOXCa@m2R$H`& z^4He5&{SxMm5;*%tubx(rHM2OU#mvtgt^I;4LOlylsL^Z7KP**hp zDJ0BJa&I++_9B>I)6L=v*U6YMq zh4t%PB_5J7GPT;SL@mH_3dJ6qTr2vzhlzMB{n%klf3JX<(bm1|J8a)Wp9OY_vaB)< zwzcJD-d~%IZvb%Vi?#huXL&1CQF|oqtXC;kT1j$40wh#1v?fYKw&wJGs8{K;QYMZR zq);QO{&4S$I1mn+2DResd|FLTNP3SxZUA*gsB2Hs1;Kk zLplLAaN=OT_9J!_Xhl}5eouf`lWmIJur*u&oDgkDER9emkp(YZZdL<|tbOk)RrgZ1 zXPl*@MB?K&to`S(S+(D<4zW%l^~rfg_@1D$otV-AfSpMrtnRhkiEK@PNhTeR?ggP` zse3uJ4kQKTJ&V*N?l%mUwc}=G0jk?nar&LwGKVj>OdwC`ESF zMgxFhkT%X&r1$1YRf_ufnpfyH3hL+vL`O8+#79y^JgI>pKZ95^CL8=JvCARs*vs;4 zw#$%4t#A!^5Lq*GEYpoDY=Qb2+yoKU1F-8^)${SF6OoyE5K(PkX~D72+1IeqO02#F z5ULYGkWin9?sJnNHIY67Hks4LDzV0;2aCgcuz+nromMpQgMmp?lXHf<%%%atwUpz} zTBlIi%NjU%UKoe&Y1=$_O@;2_7V*DZVi3qgj%;kVQ&U*8yPR#8*aDgd^PLmuPKf01 zszRr2nC3B<`@=uUMNhy-Xe24GJObIulY&}}WJogMSM&)_Sxxo@pano#fK5^*59(6M z6D2I`;iMdn8G*4)q1p(aQ><#FG|k(j+DI59jE*6oh&zDXC$sFGolQ)*-VF}plFwgm z>Sofl$;qZFnbL36u!M$f&%PcuDE%>}33=2VC5K=N!5g~4%>+bh)2t)dk?-xarEAA|B z5BS{_Cl;3)4B4vhH1xUdG+;{PvtGE5h1JqW#hhI2#5I8`Cyt|X2OMqc!M5%W5#xYT zkm&VhgWwI)uSV`miMzsG0@(h$#}(6@uhV^?`7y+RJ`I30sVciXoJ{)Fp82qJP4(Wh znLaEKpIe{RKGr8^L@^UuH8nw3U~6-%4s}B&gz$#SnGx+G4SalOgZT3UUI;~9l1jAe;ro)C6m?#~gDb&$KbO)gw5Xnq!GmWMc zvQ1E!tPriRz2D#NzXfxzAQJJ645j_57%UwAYVB8|w$`@qUDJ*O@reR6?Ia|hpx@6p z`SH4G#koEmod@zxmg>Bhb^qRtEHGK4t$%2&Ua?vBl&A&ydD7sY)yA<{D~s9|ltPxS ztflKxn*16&-4VK=%VumxV*{hPEfcN8y)%C`<($n z1t=q-j1}W@x4IH~@mk@LH0g=^r6x>(HIlngplxzI@YkkL88TI=V8oXl20~a-%6k5lu(!>MWSaDx6JG1jwM>NTwsA zU1P1W_bSKfz)zCb6O>rnVC%cIp)q z!~@(L@4ajSbxA-FQ1Z4WN2a`2mSVHqFenyND77b-tLHHXYnZ2NZ};l}p>OCNer4s_{9RKvDYEiE7qS7Bjtp1V7>yJPj_dy%!%1DST6|LP5o? znZu9+Xbq{9l zFcSr<6<5Dq*Tr%?ow@mEor(?YPG2dlBVNoLv}F6hbVAK}S+D4pZDVi-@u9O0V&lMo z%P+gi!E2v8wYqU>lIB}U%JSZ*!5`XH(m7-Y_FuBfJmlbKruNg%EM z4aVNspkDF%zF>+7<}!Pb$hv2>C!_dVJf=+wq^Ejh4j$+=rq*72BL4>M1hqcX!r zSa)GaDkTcZ#SD3>f$L<+KrOH;S>sn4wCdm8bKT2^#)&ZEUCv#8mdzc`3np*dMnRdL z7?3I4apTfVJ?=x#bfvoTi!WGgNzmiy%39UVqHC=62U6_k3f0NApcSH2|4s~45|y%`a9OehsFJK)Td(X_ zsz<-s#>%e_*@WsxjH&OIh_3jyZqHy^NBGje)k%p-Yn<~a5UD~%;_&6Hckaj45mvEt zq-MZFG*dp>X~nhcx#Lv}lllGJ`P&O<4+6SiTh-Rdf4bMT1e24U!nw4D%igYmDQw;J z<~PK-H#`UbaPdFm>T^sS!Tw802rZ&Ed146wKPfkoDwe-Az~spd^D z*!$=bnh_RUJ)3QM&J*UI&Yn-tp+n%!ayl4rOj*B}^on=}Ajhc#p6LVV2%bz5h18g* zG`U+_6S|5KQ;N%`w z$ngkyJC5}yY_d*fkp=5I4c;#w>vjh+cQBj6`$UA#eCiTh`uQtx^yt>wd`c`+Z*Ekg z>|X>!4MfOO$=5=JERo_S6+67s${Vl)yy&(rl^CzQ#iDfqMS9%VG1Y_ zsmRJCDA-t;LEJ>LN>8=^ueUCE7a5;>UQ=M*Ya36R-UHLLALtuBhx_UTD#}1j(yDD$ zUlWsftp-J_5z3Gl8$(j3vLHqyrhA=;k+NWMz`Vy(AEBx~yU*Uf(BB;nY(UDWq_@-| zsIQGfTaCY(FwiCvg{h!-gX+f9RqAiItEvkR5<(9d1#oG=}| z3IwlqF=c9vR6}s`@ht~oN)x-GsX!;qd+;3s?qOUaKW~z%q}lwuYi9FoGwf9<8{Ch{ zOnrpg8=I6|paqeUpfI14RD3MVxCd?YEmXeifMu`Ny9iAjACsmf-^gX+I?pi?nB-s+ z!XwjklbzUjQmhi!n9AB%n?z(L%+^;wHpV2~a>9-8`pw)%rY(*({u1zylP`~D{e;I( z9$4&vUcU1peOnaPM~oVQXZ!ID49Psyi9jL~x2m}!-8^VtdHIo^7_RA83(>?rxd}4m zXy77K^hW|GVA387<3|v1b}}7JT1g^687tz9mW!UamN`@RHrVN9m)gfB<8+9(0QI@5 z6XX&gjMipItOiTYSs|~gTl=zFYAdvxu{G)sw_;_^nF;-0?W2Y=NTz5P;ryw|8{8*x6N0D~5k_PQY}YmW>r&W)(YHa?si0#S#<}9GBSD6u?{v zg0P|(#WOJIl?I zyV++j3_MoLz@5Q9-9LMI&MEvW)NC* zCyR5&ZX*bay=Pf*D4Pp<%y+@G=Gf4(VAC1)?@b)9Iy9TDGOVGyt259FOIMdZGQpUb z5{Rr*45Jo^Ju~zf&O+;N|(L;gRj0~hsX4B07n2EnpfwhzcOn<*!>y+-T-Jk&Kx_YA}r03 zY8xCvnxIUtW?WURKsOaP`4E4ewlgWBkf_s~c`O}jpCk^mS@MeJ8ko4F6buTtJNxE(zU^>or4Xjw=Y=(`Ct<#+GFn{#$-W_$pRy^o#Mbq8jK_c0cV*6NS_i& zOif;x2&zwN-%F&GatiX65eBD}Kq;XvHzx>EN}Z^d25Z&WwQ-;FR>j%~SjsbBf;Bua z;!Ze>?!Z1(wA}1I=A{7R5|`!yyV+-uH|jqaso$)RyV`0K#34;W(qLZmsT+?)y#^A| z`@@k#z@B7&cv2L9=tHl%8f)6o>#G=_x$QlxIB#9eI3N?5h{fz;dWD8QBDEd%=!?06 znq^)=#TYpGYaz-=Bti(9=oYF`S3Ln3ST)t1$(o6=V0{35PSSh63<|QbJR#SBR622# zpjkgBH-XzImjuaK37G?%W~=mpd4Bt5umm!-=Uu{MMq(7w=4mI~Pk?l7WXAb+%MjwK86*SFkha03y(xy-B^*`VI z&R32*j_0H{p#v*>J7>lsB_wtyFs+m*NtY32{mQ1F;mU1In8aIrBoj;7oxEQB)|V{_ z^xF~=s#g10b**DeiXV7S-Pc1(dfezh9MnH4iR!K=*Hl}l*CLG!BO&SIa8ylL0M8aK|Iq#(9sFufloQ?^3;C6qVBUVPu zNyeo>1ix^{A9?032iNFLc|k|>&{18VDbMyULAfciwvO`(KaST*88eKj6U3v6sV7Nl^WpTFhXLzxd9An>~w|P zx2%6R*PC0`f@LjhtKVo4k>KY|&E!U9I&H=j4)0Gj|GbX`bs7|JTd)yUAO+2 zjw>g-Z7`=c!nq0H?eF-|tDm}?BoMC12^bPhXRiYRw^n;*{QIN?Gf4ur<|woGW#rg?*8A41HgfUz`?VCVWHP_7zlZ= zM1a&v)cFK#y=GtMO{9f`yPzQ#N(fB7IIw-le|FHMqAZtqZyD*Q@A4Br|H9qUbME#N z&-n}y-H(`lhm%~EvX6>d!ksmkb0Sb8AtrNKu)GjbnNe~k7Y-e3#ZoFQ$E93RE8YU& zaU$}X3FHoJKexSYWo8kb#C^@#4Vk8lX75=9kL_KtkSASXV5-$lD`RU>#R*N(jV6p{ zAWlYgMKu>!8O=GYW!y$OsXjYBtKM8wog~rQCJ0EM zM8)6y_20f~Yqt+tB6?F5{EG-40pPBFDlR@T9i)&+N1u-SP~b`sUP6Sw-0d;_`TJh= zFW+#-M?D6>>mj%)g(;;8yBRYa#C4@#`ZAp>{SCYp8joiNt6VTr_A z=bTa)%L)b|Gpp4YxMaR*t`K=O2~cKxva!3)itoL9natZpMKb9saS6ad0PlJC#jp4m zT=&}3*I#__Ra*ewdDq)L^0NSLKA|1>2+14;*~vyM*ks0g{``Hf9#7`D{``HfItJh! z*WIE0f4O$K_b1UtX}k5ZL`fr}D^Sawl{K91b z{^)dkRz6V`Rn26@J&lJUgLA^MqgykFu>QLoyv~{}5QVXcFa+(a zCW1?SLcm7h5`cREcp`vDUbp@3&+A|;Cab#NSeY^pIt_R>C6K)9LTnHVmgcK737m4AS9c!7@;T`yxIf7x8 z;K$Z&b=cj2gd@k~Ngw#ot3G^9ob+AJyYR*!dPJ@DHX`!XMD$e&bhr`TWYr@=waN)wOMO7y zYPF40dIR3rcae1FeJSt#t!mWMq)pH^3dlkrFSyff&wt2!{`QrhxbBg^?seU3Z(eO| z4oV($mAD~E=O7pnG22WX89|PTP>TecS!sNOu7F0-BjdV=zN3g9RMk+r>L<)tCA2Uc zL1|hG-m`ZT6XSKbDOMvhu#yYU_<$a*8`(#)Fcl7f&ugPY=aKG}Vs-1TXEV#r#2V1I z=$c#PfBm70J_F#n0PwZ9z2KGvd=&xr1n`p;a-%uf%RS1;#a~)wE$#nHRGpgf$Q(t8 z#t!qWbUU>^5!_iI4+8MA>z?@QUe~?$D4621B?(L<zt`bKFrpDw{>=SSm!6OEZ>LmBeIwU^O3axvoCn z(JN(d9nvjh$#@!#FXH?>r-AS6O9H6qVXM8|M3qU7YeX>^kg-u_X zgJdcj?W?#4G7~aQoE5KCuXkU3(fFQ=FM3;n{6GaBTp{nNBGrARwV%d8+LeRs?DVRz z*jE_Gs!>-SXg=;Mo6YR+OmsGY3$Ar%394D$?q<+#A3 z?I%-|JzbH22n4Yp5gA?EBo3MBLlUcfT#Kon@4fitR{{95ufN@+e}+N#Bf|Mr$~sz z=%H4*5i{S6NzN7ENUit`fJ=VouU~%27jz{WGGr`Fshu||7g>d&JS+^P{=69Hsa zqXI!GZp}$eVwsu1dsMhQ`-dNMfC*nqpj!brEF|X;$s%XjBJk&c`dNV9_cO1#=;L3w zSyqTWVSt}ze+SI3JgOU3F`3yQSOA*pCWlesGd`d@!xL}^v|v<$)iE)^dc~O7BscMb ziAKBhF$8}v?A+<_8hicC#V>z5fVbc6_80y?O!PVtd~LO?CDT;%-o4XZ2t;Pr%T=KZ z1f$dy)00WxelqgXP?38AcmRO^`hRPHx#xN39|CY|0OvwYR{r`OAA05Ty3o7(*ZuEu z!NJ7zj9)bK(sq!fZ zeHy@r-~7&(f9_g)0i^q9xk-uk(W@!2nSCm{s~oeE;l#WXa$*qMygI9}Rx|@i_UCS< z(VzOzM-N1}eM)q*M06LZ@X>7m+ynr5RqCwzZo{d2&x`-_V}u!>ONsxQ2yf3RePBrV zn@7C#g_mCY<2flxK66uT1~Fy?R7SmbwMZLbbK6v+=JwKpxme$0oqzZl8_uF-0}yt|Wqk z417sV@+AU1kcdVR`7|IO{+_#E@V7+t+i&{Im;dRt?ON2JYayYiVVCGzqfO&s=BLv)!8Fyx;n=xpky@U0M%_m^O@CHoImu*;!=!+7k z?*QaGhD?{`Oz(O9ROAMa3>y45zH<^*`R^rlK?fHHBIEM;ZpL$zx|91k^@9o5GWH-CZ-Iv2v`7;iD+OVS1QjSA81nt!eZjcMNT0ui@cBzsQ7uI>mzC?y$8{!|;MSN3iRG z@ymZ}FVE?2x4Ynwpx&j5Jj$wpl?AfK)KdRzmaw$EP5@&191&gs;9c+h(5pVbi%R?k z0PZi4AAsOni6-WU^Vgre<3q3fmff81H+<~{8NeNx@GuCzp^DmS@kFq~)x#tR2u7iU zwQqd{z)J}Di$8teD?fHkuhs9m+l5>qw_@O11$cO^awoJYRGK8&-aaet9tc8C^9qwz zOjjB!x#^sS^<3SFP(BObbwu>L06zR%fAxxMd<64{zVZC;6~S)^2{T;VyHD;6)LkM( z6i$cngOrd}tvV(%qf%3pVenBl_llrT1NhOW|KGRjLV5R#S=*hkZz#9O({!8!kv`Z%y`X!eV4lW2sk9qbgP1aC*N1-xrsbTNC zQ|LWWv*)x6AEhueeYA8aF2XL7HKjj--G0)qCZV?*8-~2m_?fW=$YuXst?Y|#- zx7$7XZSTDJ<;V8woGRpe2%caSaJT8%Mt+yVoc?zFl5l=s58y2T9=elbx%=%N^&kL0 z3Zicz!O%tswts!&JWV)%)+bofH=MQ+H5_YljQ^cL z?*?$MYc!bO{n0l_jHi*%y+!2qb4OoovC&H3E725bqq(>ebq#jc*sg|MPkhkB*b#s) z0`SuWJd7Ft=lkw?!E65KJ6`dIYZTrMvY|s(5t$;vbE2xabag?g3az~D`IbuEh7*0W zE#^s22&!CbO7v%b|4&^nCpjO2hY{#2U8X7}6QyC*Z*R$@S)lrKR_pbLd7)!}6Zr$X_C6_*j zNWR;uTX+p;`4&o8pt=pMUW1eea9*H{$3V5TWQCI+SGSinuLD;ka)7{4E^t``(|3w#n zp~9DUzTJht%D@j1%=-ZD0OfP*K(zKK!Cioe=Kb;3t6Lw;C$q7a19> z+w;GQ2!Agk6qWFN*Yoemx~iO3(FAl^?Cy)KukU&1hhFvOb;oem+dc9C6Wtkt3yJ7^ zImiPybmI7?FW>);554k#?BsmE>5k_g0B{Ki2U~_-d*(jBGgIyEuKCZ+^3$?rSrJxv z)*rv`6;C_e>+%8jyzpB^@BnZ?kH1I&4@j0()#7k*4`zBFEn!b#<3#7pxNu4%ABBol z#I0HT%t{@lvBTZzD*h&iZKGCsS7Lez5&hO1|KjE2>Ap@s{7vV7FM!{OD%FVy$xMwp zTUxKtMh;%oqO;BeQ%h+3&x_itCQ`>P#;1w!V^4m=i{55|Jf%!uSF5~%fm5X4-i&XW&k&^HG?A|z5=*8Bd%K+4)=X2tAHG>3kN89()aXFT_x_ww4l z|8>uNED>G;s?A=O+91EoxI>*|)e_CppT}BPjfLzK6h+Fc<|el3)WY_=b763|>z&RJ zG4&(>%|5Ik4I4Ok!!JQ8OC0&kCm^Mu3Z8QNAAQmU<9!!y_ULXWbYFzvw?g%GN(!|0}-r)>7F1CkOvZ&m{PF8?dfnE@9`GF+?B?@NYFgl z`!+av{ikiSdC*e<{00+!&%_r%Vj!pERq8j`1;TO{5gd$@AsF9zVdV~#{1vpf`a^OUs`RTB(p z0v+>BnCAi&b}=~<(qM3X=plP>@me4;-4(#EB*sNQ^i3Ds@|vpB=XqkKYQfR%KLvRp zgSz`}=05X@6e3T|?Qs~TVp%IT$AV=MT25xw@$#gT^@12>xLmK& z?I|^j)to5^n@K2$(5~~kdk0dsy9Q*^U=CM@3+`_u5QE$a(7#*%olOyhDFv%lMlDMm zyZp1*y8IH`*BB7odRLr)M0ZQ3J)g2Z8+v>UsSK%G7>{0tvK$TSH-1E8`3tHjS+ni0 zzW;zgoWa8Z@W$brx6fSHRA&HEDz>&pNR>vo$i7(OW{$3SD$VP-VsmTRHe$|TfH4IR zRX~8V0X$NK-u=*fJ^Ju95zHGrYrV~s^jRB=p$)dlk3}#ROK7`HI7+i9R!xaztymVp z=BR&e)k2#^G2x&4{>R*NDfP8gyEH7D1uj5T^?9iPNkTn#6lHU> z1zQLX?kb=&os|Yc9u(1$(jZU}TLvv`=g=8}%F5RTQ2jiqkyc=oA1tr_G>-iHyKv;+ z-?Oncphp6hlRCOrvMu^>g%=CW=0RO)4g`#2#no3GYt?`Uv?>#V*cZH9&$};v`Q?QA zOrRcNa^ajb@oKMvAVgD5+gVnmUTL<;w)?R#ZEpyd^JDkl`tZpUBEs>;z+cq_VwJfKqY+V zkX-9WQsj?Drb{o_k(+tM9)1qu)%R?;_S}XGlsC@_Un51yV9= z<(!fJ~Q)sL80S?-?nDImg)Qo=hP zdhZLq`N8)*|MUiSZzoh>EWmQq^Dov)@yVW2HPNf^Ub)!y)yH9!YQ`)sC_^^Vrmv?w z^fBK8$gibLbj}U0hr`!DjA3EbDLZOmFf*osdjdy?B7qqS>l=dR_q|fZCBSape*thP4OCKXI6>VHns`cT8 zkWvC0imXt+W>?JG5AW~C?HNrAMj8wy4b>;73g)T-mTdfxIV2+$A_XFKf^zNTl^1N1 zwCvX<5T^l>{(arzQges%-%CbtBu*`1?p-cH*}M|VV^?5pKyU6~YpSGmr?Ob6*-EyH z+c#o6p`38|oP!3lbvW5J$TLDe>8~$-#RmlRifSE6H>Jsz5Ha-|TCH;TFBPfKfW-h3 z)>rQwuU&`aAHJ985f$xb0L*dV`t6J322MKgJA1Rcop=6y06ZPQIn>aIZ6W!dp{_X5 zW0wJ)R@Qs9|H(wwHwXurc+ljWOcgA$o?^#1R`&b#dhop;`yUe1ujjnUFv_X2% zvZm6*1@(fx3Fx}=s}UwWt&va&I5Hy8eoAnBT` zf$QLHoE#8`ya2fxVRCmlOY$nCR-W(z@_cvnO^(r-loTNW%c6})!GX?p&5Kkxi|ipVb&!a32dcHQtp z-0b@IBy4dwA!BZKvJp|7h%wEd@6t{%+8#*%?-&Sh*p zI^Dp;DkvLk1Gio$gKr^_r~SY;KKkrZ3SmKO#vsk4j zoaN}FJ9(wtZIC69>Nv>)z^e#!Q-%2jAN%k>H}sPU%?HCPdI=L1z9)2YIJJ~sstbd-^D^x{KET4YXAHU$~%WrwYGcVeU3tUTIcZEA!d(Oph5?t(! zPg^-Dtlj>!S%Ke3^K5HfCsL-cUp1d^5^luC9^CEEq=|SPy`N2uEuRO$ZV6zCNkG!L z1KRFTgg}!S4igH7Hu!Xyi1pqXQWHcpU}F@4fgH|1yAoCAZmC3Dr3@GKR0CC2I3oc4lpw zk>LF2E4qST>&;ieScQtn_ndlVzN+5uPJ6tDq*udw@R?;tbW-S#s@a925WbeeqI(__ zeFcXpfOSbj#O-?vpfk_CO5RO{&MUE6)_kJT;tcwVP@DIa(T}DnhY3ZPly?o$?c()) z1iTo)Z6#De+SbzR?Nb#>fbvnMV00lN*=i7SHzsKs=e5sS5cQELSi)aIMK#%|K^O~W z8Vnlr7XxEsUt< z52VBgbK)oe`HP=2SZ9)h1@e3**9-8aRT22CXIeJ7QBs6P&8*Tm{0mc z%_e`tq<lJyYtNdKw#IxUN&pO5N3q(78WD0*qN7>`cPKD9be_Bi-_xK)A{-h#D5C8P z9wZtgm#jUPG?4lQcULotzSfMxiRooO_>C9dci$lQ#3m-=oC29G1ZwQ*pzt)&8;@Lp z-mb87%=%|?7~YbWY}qHbzP)q;VWl=P!J^MvW}2*hB36dD5ga?=xF?<+#_h0_B7m&b zA$pK$?NCorNNyq|ul%zYKmE&3_S%k14dAs9%BWluPAb_tZb@TvPdPJa(DW2`XUMn( zDYe}MiGdk`3`n#42X5IIdC%QP!bCJETH?lFP)+(?8OR%qyg@i{He+!pVOZ?GLoD7x z@iw&iv4d3*hq#jlYYn^!Av6B6HAoeu)W&0h&(2pu9i81j3+VHrMH;-TJ%EPWi_&~k z%lLb*xSJUCUirK+%h0j7GgBd7erY-g)9G)~Dm6jvWwY7PR)|eMR+LbW6OIpKB%)hp zqAxzRc0s4vQ0OsLt2(Ekw6_tItdU#NN841xJ;`Gtx#xN3e<^^U><)D&3ca*8lZk;{ zX4U@=`g;=%ep*SEw90aV5sQHBe8Daa>eY<}aA0M$OSV^&JL%VV-Q&XB2;>!Gt!cg? z_AyB|@|#v+k*U(gl`H`$qR;WbtOSBX;s)&Z-uQ)VoZe-Tm=W4oJ- zbf}*E8u_d?vy-7Z8J8SfCVBo3-sghA%AjiRoq)Wd0x&sSC0xar@4F3I1kRDmp!dT4 z+S{&b<}xIqaB)?;q_Z9asI z!J3YqIVn-+i4$|5J8qVkHq#Ahid~H996S3%8;GKN^~yxgB+_w3p7j|#6zAm9Tp{?l z?4?yQ12b|;7!rp7KW#vG&u?yj{zj1dFT^my1kDG~Ek)0;C#rs7!dC z*k=;a?FsynAG*(D@?Jlv%+kn$G~uko;}mcTLMS!pvy+kv4;~~OI0$Um*qsJ~4Yj#)KjFJ=tfX$tpio3ut6> z(%fWE&jRQN0r}38xwfTf3A1s%8zLV#3$-%FQJSJ#4`#Z%we?p=t)SV8$Yv9UrVZf1 zKd~~x6Kg{0=iwE2%8I)9bFsMIO)(t45%lR`Fel|3_{6{lkPZmaM%Up_iL~clwE>B` zTb4TsCtV1{Myw-63q%Oa70jCaayC0&a_MwJT>^Crz}U4h^qC=)C1X5FSRMtIM`e9L z*SWXAL~L2Pbcxp;Zc=r|Ms`M{gwc;PutNU`6a8J{DPw!GNmw+x;%dR>)&%5T3E1-y z>zFjzhH*9^XP;URosO%+E3;MsxxTqfecc^-;5Ohp-62Kfrd8xl0?Cf#OoPSF%Go$3 zMhu*E8N6mhkPMA#Ffr!tcYgi3>rZ1!6zuC=c7#Ig^!45MxbRj0zRT6YV%101duEbA zFqBp;nUKqhK*@@CfQ_P6WB&T@bs?H5Gkm&Fn4*=9^TjHhW+sR{`A zR)T!Zo=o->xn&*aCRLEHs_{NjxC=fVhl;swx zMRH1lAX_^hLCfX&E+el&3f}tZTqOu^6oN*!jFFth978Bl0p}H=jFnUuRv>SPBYf1*8P?fHX zKzSt?2x>-N90>UGQ#s}^C3(WN83v-77!JIp6RTWi%-hEza-N9%pcClkWU1pOiZefC zrmk2=MA%IsOp|0nIv;@gNva=x4J0X5mm=r}%`^S>c3q^C1_eTU#S{7Ndt8_a_!&Uw z+I_^2S*wuDKxUmc*Uz5{yD&|a;ShpwskM!5wJ{xZ%g{EHJCU~Sv*g8Q)}2Wo^CgEv z8@aY>z}L-Kk2kSGn~fmKvjmpFIniT(?7kQ7=}dpJYu8wktsM}qTYyECM({S!(D$%))#XbyU^|Iy;xcAPf%BB4(xinHpO?f_eHxZJvzI>gdb=(Xhy-QC(Mvyzad}L+0}GQr^|89#MdIhq5e%DFw21B)0$mnn+w=WfP;azu$ zDai8n*3zu0Xa-0MrK|8k9W9}&DrH+MqmGQaOejl6*(AMROF`XIzQVeIE|Xv!g7O4* zoe4rWBHRqNi*PZuAl`-Xfiq`pExwjjUOiS>`nfW3GjNH*I>{fd*`=7X$|GrQwj29{ z_g$x2tT1L3^SY=%`#S+hLdZf$5}+%q)Ek=9cayV0s$v!^!<8Vp29Bp_LrW4!mnyuo ztH(@Y-9i%uF4ebIpKDYlq5y(gjJ#<5QE6j%7M#R3Y?)rBv_~-1g6UoZ<3Svt>L#Ze zpH&1_v-x#rrdBDew7`hkh|J`k*d{sHoVf@1z6t1Nvt0JEG!G!j=iQ;gHp+H32$GdV z=e_e}z5Z-OT2C5>3>-Q%;O1X;BOE%!$Qj?86W?zypHp&C8|jZB!-Q|FKV3wHQQRqv zt(Toyq4LFoFbv!YaK@`hJ`DiUx$hBuX5ENzrAXJ$w_`w^22`8i=u*1~y64nY(j3aJ zAz(OvrIC=G09I56wfYCwo;jt(fRwqH5SSBkR`wFPUOQDCO-uq| z-IvEwEjjgPp-w7n5ke`ue4a%U4K;#sVw_JHxQ>Nb5En}xQYTnSAH%Doew9tF-0MiF zHaS2wt*_A6X}C?QMS~F?V)a_lw`1QJ8&nUORAYS%OU_u({T&~A+0{h&`@X^U9(wBy z(^Mn^vMuiGZGF_@fZ9LoYwNl-{oNl7{W-w0?zLKw>t zfQ7rTP+-X?^cnnQO!}1sBJ?}a=5~SIwyDVmVVy|i6}nqa_JoO0i=Zs4^(AQ{l%oeA zs8ms@c0&!n&%|rI%uX`+kUWqGHw1icS}U4^hYqZW0f9Q~2=ne%L8H|wdb^a`-*a=T zVmaFL8_Y4HC9t!#TM&>b#uSk{7|E`nkH;m~+D325u^|vSXVeNDIJj~6&{-P~-qRks zPvBUec}Qq~Cho}9kbsSa&!NMZ`P6Joll7*v!LP&lNt>f~+uEol-z93z zfy=8ZCu=!TO8VqQYK`?s)DvryP)k_+L3dq%HjZp97oBV8yZre@&)605HV-6uP`&n) zOt*ai78|`+A4el8z}k!i5~mPn4cN((MqSq_n^GK-Cex(-ZIfpOr=*EjN;=IDH)Gck z2qH@^8B6SvtX=TSktN~0>&=E)Gyka8ml6R|AUbQRMxz?$JXuT7hL+LNPb)X_Sq#`c_L1hlSC*&_$z%zgbjTr-)JK(#S(XPOz9 zNDo>L@A>%8z|+iUAoXfa{cBG&nA_mfY|XlEa?HTIht-_3CVgZH8Kzf2G&xsSzti*R z*J5?{y;q;f*Im%kHkbg+vYR>dFqvWP0q#BVbt?2?oPd7bQCGW-`=Cc&^bEr=8ipkDMzy%SLHwwr6a zaey!^*edeWpmmo3&Y3WHz|YjqgOT-5LqdiP?tz?B|03H#h(XB|BaU&UrLs7YE4uzZuEK4M=yX0wj0;OzsO4`cPWQoiU)!I<#YsLeU>vgp5q?@ z8mm<+u|lGi>oBci5>uO z!P9Z1U_D4j9s9VJLOaHKs@x!D4jKtghI3<--L$F+GFj~L+?&f0I;p8a@*)ta6Xv%w z+LLYGVv)^`k%;%ChyE=B+5i#wAV7!obCz2puDar?R_0Y>+O+W)o^uQIF2$MXRw47$ z!@=)ib4)Wo0!`+*Ny8?dw_}`x5ZAOJAc>G??q*d2@y?}8S=A>G42&Ub$yikMV<5tF z_Oe3P9`dve!7S!9hY2aLCnZKcq;7ID71ar2oZj{@h?!kdw@qkxKVLoB)i6XtyOV;$ zR=;PQn?fR3+-Z%?RLRz37zJ#~d`_xUVX7c!Y=$t9iIN)t)Pe(2=svsRCnS=&iyFcD z^(J04y58A(SMl>DGUo;&HTHaDY2cJo&mN&D%=dgvotf~|-|8*h{~q_`>M z+WT{U0VVWqQ?B5w(3wJHtfNYe4Zpo~m%~=I%9$I^1)n9zXPLT&u?L^#F-`s9X@3NH6m1zB7>b9aA1OL#Y?*G_>d+~^tqGNrL{m&%9!`*{zpUcm= zyU9haQG+q;n9H)0+I;3YCu(DPi$%i01B_wt+49t?IVQG1*frbRlmRO;gBh6Q2RAPgG`!-k?yL~1gv0Y4e~pp~hJ&zY;~ibC)_o(m+6C`}h}he>1hWl`JMCk2^R3T?x2NsuwM-e%b(j7JD{nIL1* zdsi4qvT_C}Bc%bEbK^;@g}r40zxUZU?}Zns*c?SiCTiDyPmSn>6K`a6<|)O^uHmNy z^eNvoRduf`bw$Q_s}d<}aMEj77opHBoF>X-eVmX^+E3bbk&C%6rP)YXtY~PvN+-bW z047qk9A+E@>t)v`6}Zf`h-h`QpqXIpF3nkpVrwb7x23>u$`wvld(3PX*c$}U;yyVd&5g0NlZeKqcO`_ zQ?_a`b@qKJy}EWp$DvaRqhh{)vJ?L-5HlN*Zt#AxS=#z&9BcI!5er9B24*aXFi^sf z5{9I3d9r(?ND)keR)QLvd2%OeY?W4@A*_i&Apt~3xi$!Cz!&}1FFk$7?T(zaLU-6Z z2Jj&($t@*iq34{C?a!1gD4UyFqGVq4rVv5aJGbPBGq-@4txvBoz7g{pTyLsu91;uZ zTmmvqMEe=)o()0;LKUFyrnd|3OB(@gN_Z0@t|0=W%DMssStg7}7~@e^F`lvN1cfjX zWleIL&P4)q2Gh{5{dU;DOptS$R9iJnoK>&9x;t%S_-)6!q3!V9Gvq~tO9*nwq*qRT z97ci$c2Ao^Z!=s;-x@}TCj%tf6xRgjo_s(@=!J{Pb*{HhT}z}3Z7N?2`d)GCn5~7G z*~j{_-gy|bD&vJ{*dn{_SIZ2ZXbxlTC|ymCW*TDDveD+$)Ds!$taBn%sU)W!(Qg9a zCQ6E`x-p>>PNQ<32OJ6sMV%HTNMUq_NG79D&C!lRP$C>7l20<>V+4GP2}djF<|6oN z2)?8xSR8DUUEhDgu%t$MYbX_mK<<{bH72ssSopCOD!^R;{O+kgqcW+~*inj*Ao+Mx zBpP{w7&T+O}|+!er^cg9c93+Z~}O7csHB2Ai~nO!K0B{7|t z;C*K1)JE*u+DO)ehD?Jox_es_HKjP?8m6`c-MW=Sbz8~wBQ$BQwwQ^wk7wI%G_^zd z#MGevww8+{-*%OYX%AEvak42AXj_7qCrLBgfk(7EZ%2-TP*bc~HLs9fIf)yN7_4j+ zl)c5a71?f`Yrc?PZ~x%SF1gPg9{V{W4M!6OD!5rLPGRX@A=Ji3mR8lQt@xFfb*SWLGlm%@d$ z8UzU>gwZ5BhtwrVIq5}aD68L5iDZGQvDw?Siy$)}O^i#c$WeffFyR1GI!uH^1f0!8 zoT%&1=NvXt0jLth0z84i*__ubN$~`<11K(*V=}$AZgM6J8{Av2NdsOceA7+?I)KkK zK8KpVSj9^X^$-haWC(}4#`R~8kU%Nf#7l^{)aM~mp0=4H0Z`T8l!VrYs0Bg{N&yF#4=XK)i8V9*f)mPKR{D_nxQUsWO0 zAoxn52jbR=GQ0AOsjVsZq41OLE0RgKHj7*8@~sm)R9Yu}C$kv66(B}Ht zzS&S1bQi${r?vP!+F$g(!^9M6z6$(ySs|5WEP$%U<^rsw&X(6iBq<}?Aem%Du|}>7#62Hj zqeh7ANh+r<`rIi&C{xxY)i!uFFm~ ze{Kt6i7sP{ZocFsK)>fiHpW(EQfswtPrcs3QHsbg)mM=v~pn{1Y%i8jy6uESmBnybLf=MNd%;n2+?!huT`-oXtsggm?XK6T8)~f1hTd+ca zrvmuJ*Zs*wyUId-gy+C*e4cKWz&ir zRfA+oYGC5?@63d3ReL+^3=q>TKlDGI@gL56=rc|j)NcKNC;!SvfA@J0;6&fXOsQ)! z$OH`|W~4*sLY7B>aSITwQd=OG-t`hUR&i3SHy4U@u8Y`b2&;IEB^1>h%Jdm~cm2^dj}j5p`2eprFG+ z_R*7~L~)!R zDG;IQqy^CXc+_4Fa48w=On&r3&=ypobOTMRK#9I@*|x+gF=KnF6X zC!8uD!`zr^Q?aU5nlO(DFxJ}SN2k}blir+N94F0swN9G=Ub)*~?yuMU$%`*zre9>H zW#TSzT5Qm~{ZD!|=93)i^GxP6MqQxG3`rtSKq{dM4p-ptsb1H`;9ltdy!nhYW09$` z{7Jfr41_`jtBzjD60JU7*;^WuDUME5yR3>l?NP6K{)M{;<^X_)KL0uIWu_lsrsq0g zjsPsTmKc|#1s-i93~{6T48%fouTLfW+CxvTS`AQH{wecB>MJRU2MUDw&as zJ;hGQ%LCGZvye8jCMBtBr8gc*5Ri$I#%x;iNcA(scnW}reA%}@{>oiFyG#NktM&<~ zNg?$@s7rH7t89|546bfU!`AZFNd_i0lu-d4ZbD83UKxcB6*?pnVHtXg97r?OLOM4B z6g3&nicriTj$COUtchNrx!R#Z&gg(%A)h6|5e|%3Pl}4o?!%zEmI+$`tzN~ndXG?~ zwxq}xUn2G%_Tl@Scj4hb{m?~M?mC_u-K1CKG;K)1rx;v+KpI)&$kjH+!?H39PK+se z&+Py)o23tsYlq&gFWAgR3^HbFuq|5!CqRMV_jl1dm6mvLBs4MDrZ`$a3|<7>&=8uS zEz*@$15AACOZ!3hdJLN?YHMSN%-~xh^@elxGOIWpYIIVNkCLSsiH4e?w|w-qe{#{) zrxYMF{RV*h1NaVL)jrkQNSg@lMz;xM$#QYyX$4HO{8h28E<;{;+&8w zEx{ldb2{1ewP2GiAs{Qw%cvD`w&b&|18R-kC4e7%^s9gIZ6|x&4}8|MJ_F#H|LYk~ zJxhT9LX5+0(jfOBuL3yTDbB@k$bx*%U8{hMB~SjlnZY>&QbANK8IDBovK&#z zVxw*XPWX*4`L>^W$iBybk(+d4r{YdYN1)i$jNy7lVOv4Mj(zKP1(Hpe*9ioZs0WzFrWMi+E+m}|z7y@6 zW#UP|;lL2;WD);2KBHrL0xy#J=ya4L&X()-qLu(~tDq#1hQ!qPJQ*rsPTFDl6#96( z-`HlxIwC6@p3lF_ESL)f%cTa7b*%&s!?@}dcu6aUYMjfsw)!Pp;^{qUq*KhvC%eF*twO`s~ zvTWWTDKh1zlp@$#3XW}6jH74;EHfx3PFJ-521KwY^1&Cq^+kUU;89^ps3ms}{q_x7 zW)_}-;T+6Jh%_PCS_+EJ;J^H3Z+-DU?LqhmZ5YBhb}ewUo_~;o64U3m`<;?N6dqIf z)Ah-tb06HBn=oYh|5B!3-mCrP0nd2Wrzy+tA>rRG(=pxjE+Lx-4b;PiiO(zq!-inv zAdm+Q_&JmP4B@~bLS6vCh`PKIOq+&65OU%n=P>ZRKP9b1&tj3MfKtkn;B#fn0Y}I1$W>h;fFYExT)A7hZDp1?+QK+^=&g>#xM9zZQ zU3%b@Knm)RDck%vp~CdGXIqZ{mdq;2Z~>S0b+Rq=NyP~}o?-}rSM7-u@|G$qNx^)Z z^gna93axYJfBO89kB7bDqV8b6F&*aSxYiVgU@4P@K@7-)N(G|A;o5T-8BLcNtS9RLQ>fwRDeZiwX-p9ID&8}YLDVM0FZCZ{C^ zjGI*}fSTGKNTTX?I@(RP{unYYvH7{rn2oHVKAyT;K#-AF13KIMcmgn* zW_3ma6R;`8`dw9nJjF30!6=y2+cewg1u})}`Ai4g0VX;GV5k%Ek!j%6Yo}RSSu@8M z$!HQ5bQOV1T-jc}1;W-zJwG%Lcb=??&D+vSg)2l8GoN_hlQYEab?A^_Yl~2iAs{r` z3)|WxWIOK>)%&?`1?Y_cJ}82J`27!Fw6&)~*)H9#Y^3fM;y-Q6nQuz`|~ zLq7k}_xqWTz5MrI__wEeiC_A*7rpke-~Q8Yg2)%g0ZdO8r)qs+rbEyPQ0NlJOxPsC zCtvcG7cKYvL2VNb#?GhCR*(Jl#GSRCOogo0-Xh{;BrW5PsQ$b(lM`n8aav-4&e`+ChMY{FfF&8s&8_9= zqiM};4NBrAW+k+3DFdjE0E!6@Ih?-|&_kA*OkQxqU|^|&Ehh_wP_2@oFms3w&qn7h zSGDo)opZfIxW_l$4%fT>+4z(9y!gzm(1CLRY+z*%oz8PJO>{3q4_P_%#oHCE`R_7vI$)ogX69jpiSE3fEiL~5alCIT@;_{0L~ ze+uE(e*Xh6dH=rN7uRyP(Uy3BsQH7Vjj%W|r(1*Sn3@N42(TQh!kt#}^d0HcVmgD4 zR^X^W&Z61VSM8ZgPGI#7`~bk4*3%6JG_FU^U^NP=q6U?gSTb-sBKqGy_3cmm2@&}} z74qSWe(&T1&`aO;qN@OW_etDEA>Zh4b4y-dH6h#Z<%YTg;IX1e0pV(VWX2w*X-5@pO9Dmpa?IB3uG0fo<-bjJZyn zI!RBunUAQ$pb_X8D1=(fL&AT&1OuRXg-+11wQ8eK19i19h~O+{EQoPTDwa}Ph2Rf{ zP#}HH*vbuZ7T{AKzXX5ymiOTBIfu^dfG*N1bkFIfxznu(ig#d=qT`n{unENm2YHe( zwE((2l>_Y~)S9XlK_l%o5f<-%(>5k8Gaf}}wg>tY zhj5ow3?dw^W!9`zqiGuP^hN~~D!z)#onkM%S@2ONe3Xg4xY+aN7M`9k74uMTZ2>#f z#SI3eV?e#y?_NfcYMuau1zR5v(saP>#-0Vp?TBzYKpyc^-~NP84;gQ%g1-=ve`cY7 zAmFkWy!8d;3;FR(2~C0(=>F)AbTG#NE-RJpz$z}|h@=R$*?B1{-8mMw>)o+r>dChE zK0_=w^5?kv{Cb6>x`>xo>XYXr3ce9+P6X9Cw{sUH-F0a<( z2|N||GZ113C7>?b2%?XsI_}OmJrSLl+h98pkOp-|QwLQsoqB3XWi8UQB^nf4*!(&S zrkBVout>f(pf}NpX+0@{1iS+G z?O0pwoTxIMi1-seR|SuJ>uC(;TD4-Lg+A@+`dmiu&qV>3C`H;f$YzlnMl|C{)2Y2a zDMJ57jJqdVwH%hPCOBHbFkxVokxZdNNyNy~4P2ab9JSO%zG zu+;u&G|hY_m{h?h_V+yK)6H%*nX+3`K(oX(cMD=jAF(5vuItujG7?rwjKsEnU|rCzhr17t#Pq8FjM&Qf$oAbTaCmpk})$(Y0ma&T2$Siy4mnII{DW zuBho1x+~>@`xtriYM>@@8zo)xyw)(zo%U9sBW!i%4NX;WI1RWOgw0yo12O5Ty1ZZ5 z?VE$wTp{DkgYs@I`lYsqnXt9g(kYIGWl&?;s`yG*cc);FDWveqyq_J`=EqL)cpF5U zEV5Hfj8D)Ec7?&}1ey>mx4{HH3E;tRdH+jJdylok1e2(n33a!zpglj49Q9|$nJq@v znrL^^w1)+d)Ke2rdflJCxIXMYk9!{p9t!Gg_NGQ=)p%6TVff^cnKiyA;Mn};U58fUIhR8 z{I|T|qt{vht@dJ0iEirM&9>P}1xir|wu#A!w>GL1B>U8go5>`rj&O#pyqpi^GFA&_)P6yl>%e5i^*G& zG{PJc8%cdlg`Os3RjZYo2V^DJ=mBhS!j`cl=U%RN7n!E+qM~UaF=S4DwZgc+&w;p&Q0gIpp{dH-x(w!Abl(3YnV{HKW}B?1xV0kh0uy_F2HKza03)CkdO!(7h)nNlu5+y(ia{SIH|fo-oi`$kim^ zgQsw;5=DYMVc3)s)X&tZD7t02A{k?<8XRqD#)^I5<3{EuDJ&uC8F^IH)KgGG}x#YSQ= z7dC0cFg3$TIB@o19J}gh8;xqCYC=d0t-P2BoG}t%-}wenR<}+z8BaQ`z)NVzR7?<6 z{#D_1=G2_M+LTgM#@fHL2s#n9wZW7JfaXWgnC~)m8x$F*m3;B@?~_*2#$!)MW#{HT zoh~j_K$1+(wRUY5M8!91<9H+?2KxknY2Awus7}49CUfW{)Pzrp_im|~yfiOm|Ikdp z;WXf&WL#aAZFH$f4JzJxgVKst^BG;Ff3qQQ_}u4!xBnGz?3fvAY_pnThuW)hx9Frb zKi9Hxp#I?pU-~yEU8%T=S0FM1z=4#)M!{x|(#I2FJb>K#Z9yO0p0d=UTqkr9@awf>EPO&?ww6U0nySQO&7 zelimik(^aU?g`+Y1bT!B>Qf*1#J^AAXA|QepZ=!jzWm zGTLp zX<1`~dhRyfg%q1jH(pxrktaa7=|qTv4Be&BkW(EO4&@)4mqfw3fKE1d+-H$1b?Lln zR;qIqGbL>aHdqzrL^|b~F_nKj!!6Kb(D*J7a8-aKN36GnRfRR84w?EUb+AMWXw(|t~qeS!% z33OYp9v7@4%S#kUCX}VJXtFcb0~FtyXrk=v=qpc^fX@J7K%T#McDJ)=Ya;=2Blt^b zpt^^;r*k(w}g~tDo}g&;8)(Tm@dCd)ozY zMYZ7a=8R(Q!dn1P$`YUc=)Yp?$Y%307!s+CDHDc`gvFtQICkV}Fjeex7}VG`Dq@tF zmEF!Rp=%=B+z~i$7kTR>r=;Y!lsg+dFsk%^GkBkIcbS>_Se%~r1`#M&LDyXZ{4UPj z5(Z0cdu0n)r>m9}07XaCq==23u_@P;=GaHVolB)wruxLz?q3OZk{m&5)s_OA9PIkB zH4-;nZ!ku%uI$6@Q-CD7XR81kV2o9oUu~HfddR#Fb4Et@Z~MBRxg&rtiB+HTOPN@0 zXJzUS9|JW&s8n09OvFvkz5h&PRMRO{IGL$cZ;q--FoekgYe~_o+^DkMI+cPA&D7XM ze3S*5W&*?!gI=+v>L3fhB@6(xvBh-oQ@FK1#vw1 zgbA&Njgg*b=VU9wq>~^5PHY7zPb}%x&h#`5qA#_FUTw70V}K{b+S|91r&55>tvA?5 zp&&~_KKn3atDtNhGZjC!wn7c7+BZ5P49v(({b3G2lnr9{ahDXFvobL@C}Tkh2UEuN z@__5-1rBmvBpmtdq3M^9B^qOtcbl9C-1Z1ipW3cESo>G7l zbs6R+dr3x&;Rzg_nhA`44Z>J}urO1f9E6^et%+==F_{t)abef67EcllDS) zZfjL5(FCcYN=VX4iJrhj)0$>t1D)^A_O(~91p3tk`VcqDeLo(3?h-aQV=(a_K!xx~ zItrm4(&|o?llow*-GXV>PsU=jPtGHQj;JwH=02~ju%~XL$;ZDcHGcv!L=W8ioMObR zA?r9#aOfivJc5AVVBptY@WW5O(SEOkTGYZ7wR1pH>LNW16?Srwr<@4c;dCbCL`X=^ z^l#=oOoXzzh2`cJh64vr%eYrgjK#)6{m+xGP^N^$8Hq9y4Gl_Hy>_)93cijiV@pBM zrG~*OpAD~kdg3|FdW&R`yM1xyru)xnY6w1cD$}*j9NP!c40)f|*a(!ds{cF_QcB&j zwkD9|Mn0q{m`)se?*x(rMg|H2qqat85;lyw|#r9ux>`c|b=on(3)fbpEj+7k%k zfUu@LfCUS-N^k1B=|`H`fSxI@@A$f(xfKE5sLunnF}>zxZLJ4{IZug_siAUgs$d51 zx(R{%gufN2KYVqY^4i^$RZSBaMNoeYTGTOeaXctZB(^^)Iz-mxd#_bLBb zgx;7EZaKJ8q^*aXQh+Y2Ie=N;uxZj$AJcQ@yU$ibVRNPGP^;{vD0`n9{3-2168q?y zd2jpvVF*VRoolb64D!XG8sZ)_$ly^+AV`F6DI~Y7pu0Wy2cGiml<;4l@cQTMOIg^6 zy_Srq{U)`96roj=5_B_$`J=mCFbIpRL9zl!LZC!A^7+r>BY*Li>cuVl5AZHFRBcRZ za`Kuc;Ps9}KTwOD%+B7BG8$;DxSrhQ6d*PY~UV2=)38n<30i_geY)NU# zk&_CY&^?UFzEbnbwyaP5i`tk{vWmg0@D#SOff&OKc09-lXQi}faOAb=Re?KolDck``|Nr#== ziWfTdwQ=|?!l6TgMELAL{C}?bo1`0%<@8lJo<$Xd&<68 zcDh%1&gv7s*kCLMJNE@)u|YU+kZ|xI*UuQ zY5y(FELo##lSBRsOVFCED@`qQnFt3D0Ef@%(DY&f9NZuz!X>1ZsMqLAp;ENoeh*YV zO=;_!wGHJ#OWRU<9S$&?$AMmtvFg3n(I0DB?C~0Z!5=)U0{DFbeph)8qT19}h4&Jy z-#Z`6Ql9{Wiw!dN;KK+y+M%tIna%Uvf|O7*^+5Ne2a~EpX4Y$zLv`3jA*<_xTd;BS zlVo44&SY$2CppuhocN~_;lBG4&<8;tfV`lF8nAncCpTPCefDACMxGl6O-@p>aj!&y zfJSXCHUD>mPxrZ!2>Q(q)4F??5w2RYrMrB}iq25@9;%vu)Iy!Vf}aMGxn`jR5dYa8Ud!A?(YdphEGpC@8rtKfNx>Frq%lB!30aH1@aaV z^zVss3-&IH3p0_5NMIM1F%~nKx)jM2a&6k}5>(7=#Gq2}o|matdZL7Z8O4TN(Bb(r zDx%;2jz9es0RD5xecG5>vTIePwiX4M%vYWTP`^S^uibmJ5@2t8efTZ!ec>rp=ozZt z-#IU2@+uS0JiyMwtJWIe_IM+2aZBKw>j58lk3LXWUEa>;5?l)c`ao1AJ1Wv8jfIrN z>E7I#2?v<5K?xN@LmphV5!6X!TeV_KipgY7jfwX9^@2Zm*5yzC_GkPkAkScy2N7^% zitUb|F6b_74XWhso1S7tPXre04|`A5&aEYx6nZGOF{oOa^s%kf)4{}jt=3xYSupg1 z1QERTL(ioBT_>gya0?LsuUGuU&;39}{ht^9w_n(^dG0hQ0WK#)l-Q+ur6twQD_I`f zf>dCU$$YvUvzL`St-W+MO?81(BH8E4mc80@!6V}49*5Fr9V!`5fLS4^kth2}Ei~JU z0^5YS34iWi&)K{p*xLe1dZS|HZkvdm8dae+|ICfd1u{$q&rM7aHPTPRi^--2Y61x> zAXNoywyLp6M)4Mx#a?10v5`vak<(Z~QuTSN6}6ToQN1ppO9D`-_R6u6B@ne`;?1y@ zx(%O?R=KZmsePd}3)OJ&RZd$Q5 z-}a2pJ@Y%B_7o=kp#Z-DV1vSVBQXUO2+edyf}>tb5>0Get2%@Jm_Sn7^nEhOR(z~2 zOhRNf0umz(K28bBYy-B{Y&ki*s-X9Hr3v2<0r}tpQVQy_!nWoYWafVb@UFds+!=fT z$i>KmZ0FrZNx72)iA*mT?fSX~cl89oT+KAmp~g9&(?I=I2-$tht)E^riK1!&5&=rL zW28wfY0tQMhUJ4``J429>&{W3V)S)$GxJhrhHf=JJh+DO)K}*kInFQ&~5|;TM7`wgNLW?}==AlfY zP>M`9KYuNyw0`2GwZVe1Qcxx%2yg_z>-V7VFP?M^6JrYQ3Tf~MEa-iMY@TxJw087L z;K-Fqh@>DobFI1A;-s|%p=ye89X3y3983ca z++7~^OV8dDqm#uULONvXct^QeSNhC-^`yK?BZrY4BdWBXIXBln?&^;IXVo72elPyS zsjBFR?aignm=pI=F5gueJa5SWq4s&0B8r)f7LMGRU2CrTJs#ELZO82ftBV-{1ZEvPVAbyGKL zqB#|)s9=ZfCumLY-?v4Zj1-j(nbE3+Oh-s(a|ftzdJ0f+n_c#?wlFizF0YAhCwHd2 zipY}%a*i|FORckNg*w5|N6|1H{Y%7Zp5Z-B^jZGR5fgD4OE%x}JMVkpo;_loj1>EF zxHS>CV@uZA$%cozq;FIkP{R*{=UrKgPeUJZr<;Zo5(OA2;~)<>$Qg%tfphW!TyNOG z*#`$~Yz)R9(R-4U^~UYK4Qy3Bt9JSZa~m1+alLdJ#$%rHyU+Ls06z)f@c{nat1L%} zVpfsd8{2xoXt!f$*u1{3|Z~#AlUE+WP+dCCv2t|N6+M?u}T_RuZ~0Nx6zpmVz<@V*SZZ zf$pJg#u~QNo4P*?Nu^9Gu9XRopoNhm9-+2!_>DNe*B|%0)T>^EB zP?m1{+D$?rKpjhi-`y*HU!Tn-NnL9Ek`nv(zV-l&RljdNec3WYlM$$6@U(}M=Kxu< zCN(0c^)za^7lMoe*%D2%gusgfpv4BHRFq{wsrn_gYA_G|x<+IyqO&ydi2oG zQlg(-he|+RU~zDP&8x3&id>wyB_kcdQ0?txv(C*4kNVGwJ`?+1yHxWm=VXQ~cC%{% zu+$)z2Aj+%E;JO{XNkbMTj)ylkt;#5Nd(ms*x#|Wx`hU#`@Q$xjTkeVguokzAXQMV zJ{r0J=Aw{hK9tmna4K+BS8Ry)FF}zuMQ74K3a^iXx>eh{Yf;qr54zuUyIT=Me@cbR zzq7ESNL3)qH5K|I2vXEpXz5H?1o4@vGJ9mo#)>_mdop)#_0u=pzi)l>uYdg61UwbM zgQ7y3kEeO!LZSK<1o_2ISr5)@)~Yb&t*QRn#OCvVf$;ZxaURZqc2;u=6AJx-!ekD; z*^F9$-`50rWok(QgJG3~ z+KDl6QrMZ%NNjBE@L}+=H%4ACHZo)3<6MnR&*tt&lkp->Kpv>sn6|c)k-UiTUH|p` zpS$H=p;EdXneZ_Q4qg8+u6L80w91>AF$~@xhY8Wx9++)xFYu9*v69I)VLA<49kHpT zi6SX=B*@76Wr%rMsuG@SDYQM>So#pHdi8fK0FE63Hbi@$+hM&Yu82V3eH5#B3qXf% z06K8JrsJW%U^`7EMIvefB9OyAm{#8{66Z?kV)oNq|L4Eyb&C3{Ssx*5PZ%ecND0B5fcf z>LY~-ri0F2g=uBp>|mY4BBJ-DwehqXhZ&;?YYM#pw@UYPzn<{hPx};rx7ydEUiiRg zJ&l0#iEv{VIdY`r`_A-EsrSB_)N<3WLt4_uqK(M03O=P$w4pZz>UOi9mO_zZ4d3>vai za)BYG{&M0rw$=na9O>Hc-t#Dx;)rYMd#yIV{r)t8-ZrfyX6C|ReP+qL#%YZW@IGS= zbu=Y7%Yzp;{Zbsb`7LntBNt=5;?jodEHAk8aLHtv8un4N5?y(ASuV(_5qZKvba zX8g_S6r)&$9c*cv&=Yqa29)Slmz~KU_h1yDjuj}@3aM)X`oLyv$r(pwM5&zsC1J>n zg6W2^^Y{o$5fr1(mN@86L2v^K>nE)gz975k-~07X%Ys2O z1`vTI%e~qNczS9}RN73pzxRlWOssRGg1;5Q-|p4%yOejo#xKygm!dL1_UaDqRyXQ4^v1CW~5^+jd9)wdg`RT2%KD|R;?NXoX zKv3)A1Pr+&nT^M6?F&T~sBN(BUbo*{om9OaVil}Iw-cocfohn$=#WotR23P57${-? z?h?U1CdNdkp+aXt(TN^TjC}U>K*Iuj=rC~kW&OvFUTqMy$q!5KITLd;5+aD1MERJQ zLhccw-tY6FYQfuP>RZ>sM$;OKD`Ee1zCiUVLVuUdHWkK-m(fU@vZjZgiG^8ju83en z#j;Kn$lai$1u-xxN+XdpnL!B-Vcu7#Uft{L>lZA`{eBF26%!3n=!I5D&omKf@v5(7 z!6E5&$1}I@g31(zt37Sj?B=6)Js+g z0@s$I1~#mjSrrds@+7S)k*TdJO^sP1t3Pb*Ex>u>?3$|3w|hPDx1atd0B?H!cR%yy zBDhTzIY)p8rzGbw;g-y@(R8J)lJ5Ev(qIZ^h9viWw{fr3t6oMoPlrpH$rZbxP&J);x8!W&c+nEo0!NpF6@!A&TdyYXD+wt3KDK5F9}{G(*!;xD zAzMp~mt8sugz$;`*_b|Y(Mf={3F@o_^h8=YXE1VI;1~)rD}kVhU^LQ!SJ-MT8Q)N5{?gol zSNDk)Up?Aq{(^E_d&D>Y{8>kjZhrSTme+|;8k(U;FS9v7(lRms@XB1<77j(b3SYH_ ztPJ5PyhXtYOGvf=dH(DE`gwbX8ELI;o2(rdLm&KNwBAnL=q;5V)jLz5N}bH4`^L%F zqNxU{z`&{5dXnvktydl@v(zB4K5yUW*aN#?riqTf_qCNJ^2Go3^p6Ahxc%pw{QEC{ z$kXot;6YX7CQNiVGk;|j+!Q1?BBCs&>?SCvV}h_WhxW{joMRASl-k8)a$<;EiBdFv zYP}n+sDvi=n29=PgBm1^!@vIcXWr-gfAQ&mdh+XD7kw?x3(<EkOT2hwMszja3H*Nbu*zc)lSyJHFP#6DVl@`_5#%-_GL`vD?es0`mxY5Nz z%z>>bw(WNjX5AZ@z|8WJOEF$@nI$4q=o#o{LoV{EHp3n@5`ZU6o>Tywo@Z)q;6-_Is(T0X=Tb3nnln9I2u* zvlYlLDB)~E>mSvs=B;_ingQ9Hb7=Apep1F7)){sAf~wH3zWUhn2>3xJq>5++F!$M& zz6qe4(ljl0beU0~9`M8{TNzT_NCSabq5u0|zxLP9`PV(oiqW5BvH(`weo763lkgOD zCVQ{KL3;cX5g{@%io&(@q}o*X(>@70Qw9!1>}URT8w3S z3;fb%I=-OR_~YLA%ntzgKnU=+CZd}X(Tym{S25wonCX^!t5p`&H9DG0S(+%&nvQ}N z3QI?DY+azC9nw_Ss$~FPy-S3-8ng-!=$inXbU^nt-g@a_zK_|M>Ry?<);)ETki@+b zmfGcm$r2MM{Slo8D6+EjWZP67ElP{+!!2-FH7_PqMebo=z3mYm&)NxTlJ>oY-Uxf{ zz7z;$AXT80(uf~;E9>vs;4I#*B2Cj;9*M7+Tp?81s4FKF(syw+?xmTiIeZ?xe zw~Ph-xtGBBH=9YC0=3lUbr}`4UH7KMMLqjuqEA8a^1aU@T?9zlxSbQ1lKZziQXsuj zime2%M%h^ILY^QH=#YiBD_b1AW&=7WsTGa%BjUD~yrN?-Q9;@R{bV%H?>V=CPPI0x z#xHcKg~z?|nI8f0k?^hO0l=$&SXn5t^S}HQt3lf&^)r+NsK@7ub%|X+gS$8jRj@hR5!9m7HSkqQ zkXyjlWMTiYsYIGWc6n2)&c%H=LYshldkLa5&Xir!uY!oR-C+Bht0T%Jy6#gzFS-G_ za2b&YLxq`r!;;bNU8-$=Wd>-2E&I?QDOFI8R*cI6Y-9+tqoMTAZ}=s;)ersTzV1a_ zbMV^?{DfjN@@Ca2LZD&`lB-G8n(`l55%^Jnr5U&AOsxLh`s?0C$Q|#;L`b?Ez^_tYaN7dGsE@guyLISEV@jes`pyJA4WCp89@Q zgnmh74DgZoj?xt>V0;la_#( zR)UN^%2&-2mO4>cp?3n%EA%J;qMp%i)>3gWB@N01ENj8B+F^C?|GK98Kx|s=#(MAD zV$0Q|&iS?J^^^bUDL23R2z_lW^0QLqE+&fScL$|jJLcK2x38L@oIYF?a%5S{<6rx(=N{SXbB@Y^9J2WMymK@22pj?G6`3mp`j}l4 z3-R6B2n2F12}bUpS2ZUH*FhbhrJBxoWKQ%S2*&){(0UqAG!r(6o) zZ2;c(`U{@*n^ojhAi4#6-^O~goV(m?3!6fXf1t=v@8^oi^9ogzN*ERyIRVRK#oWPw zD)mbt_)-A>a5Bg4y6e=K?4rGILz(;;PE1HhTEzlLi?COYrl1F)1kMZ@4AI#8`<PYCXi2*I&K%UC;gazHA2bBd1PeE7BGVGIe%-9JlauET)a=Rcj9Z z?KM1<*Yqnh2a=vXY_&>fIL~fnYoU{7Y5JIE|CBYI`6rUc0H7`ANGD6y`~T5uS^;ZqBQy>pfltBq>d=TjSL z>~hsoUGdHs{t3<3y&-k11g3JjJPg7(1vQ&n=sI(v;kROb$Y-;yD!b# zR;GkFt4EBzW1>!H*Z}7)Gct!wP6(T(M&vRM-JoSE**V%g@nE7uwHdo~4FbLvw3Smb7PF~+`P{Jk znYW}S1azO%9o#*{H~e4-T&Esxx+?YnYyBS&dD-{WDvu`Mt13yZBFxGbYdow(MAkK= zftiRwg^0#l$rR#93^I{X2*Ah*fBh>z`U{VJ#D9PC2lwK-{_rcFx_tcw&w6oUJSa2Y z)^*`~)Ib|(kNbfV=~P$T(JQd_wRLO?lWQJ?uFhiMtdmA+bRJ8XfSgk&=fUMS$w*Dq zXTJbY35sM!@+ERtHLJ!dp%jBk=`^q@EO7X9M!~g_saG(^cYD-5o-ugk z*K9izaO>Lu|L}Jeo0gF*ZNR>@<v=C4tDh#l#8#VAhiS9*4VOpQW<6`0 z4Yv*Km2Y_0^L}sNAZQBtuLZhZm6|?%vJp11YAQU|TEPgIX`)f!>SC@)23$KP*9LHf z%Zi$mYf38F>i*{1&+1aXZG$vJ4yHbiMXl{1C^|K5@}H-Mwf@F~FSqCMW+zZ7n%EPcF=)f zw+wY_Xi8vX^Sk(tT3NDPcNIY)>y>%izxg51zU#_>o1Bjc@>t(l{6S`2AJW*-##I=l zA#PDOy;bIJP$MhklKm>tEjJO2qkytla>v@oH=PWKdM=DdE<-tXnc9jLpezOB(b`RR zD%60+wduu&uZ2zrhfB;MO)s`h3XNv?Q){0LaXaQ3+|i_3)Qhca->>iK|%lAOa*Mt+*Q@0jp2|P=icNTTzSP29KG_GpVG&H zy=S(sfbMoZGBHRxR8FEcs7VA{wZqZA8G8>s2Xhm##Enc2myAr=Fz#!*hu%nk)DS5S za3vE3_^wSD7+)lqaD+K_@n(WFLk=i$_2h9qX8u}&Jc@}n++3x!aYjOEXoh6&wAhsp7bxj{iNrPQe@FaSxkX6 zrG8z#`l|qtMCZBPZHi&+@vc$^GG=g>lg$&3%dXb}2k!~jA&{2nsr0Pf)3KUeaIlyq z@AWIhU6)pEB|%ETjx~}~_WLpBE&)azt?fjz&{A~)9BOlfFeFYw2a!R;0E}CPK;Ft4?$z>IxFSBe8GOiEsD5C)Uab6xi0kQa3hHj_h+ zH7LcQ3DNj!bCOla+$pF$u)?7 za1+Eq`@9GbbiMV8z!9A|q#Za&ICjLLEj2T7cv-5Lu!>C5@(M9oO*M2-0}SqS<`!Tw zYoB&YgU#mv{K#wH`P@tPwPGcf|G&L&57zap>iezryx+I?IVT|zB9;*upvAxhL|Uyl zwszWasyK9d8!c!INh)}&%G5*?5|bDKZ$YjWBp5WrX=RYM2ns0#Dz_>QLNzKTp$Q2l z2+2v#IXP$V?|q-O`p3FF&$|z;W6t^ZIm&)#7?{I3dw-Yreb!pP^}7^iPvL5@uSB6= zb)rX4h#26n&HH*#u+vNG~8*EId1+4_m|UXSn{O0ry_ z5rqkjCZRZyXqF}O*#Mpt>zA-44K<2rNbW3brAlqhBRoM%bIdgEK&Tl=AtW*Eo?n=5 z0r0ky@%jGN6+ibhsk%h|7Ra1-PZmk(d^pK<*Z2PGwSE^2O`VL$`UvrCl6` zFq*}@x3P?fRC1TUM16t-5HbSSIg5<$MUM5mdxrHqD`-O-`G~y%B?2!PipdFL#s!F- zc}T%T6uRO(g{;JIJC{jL$~x??Ea;>7U}u3h2D3|pZM>MHdJaUlTeo$APwA7QPLc*S z<5VFcX51vwi0POc%j7u9-WgW}Y#P(A$3i;8ca+-TW(CIXLz;hJ4lRQ)`Oo;GEO##! zVMY-W7S2J^tRUIHeM`vd3_lXi-+6#j`pk!}yG9|_c>~@2*IR^STvdU?N7NIRkY5UG z^HDBrA9BFh0egmQq)ujmxp82C3NUTCZgLVF`uq{psbazW5I}EL;KRF7YlPoZ9> z)kj^1hk(cE?)dHml2CnoZX)V#S&d^ur-y&PrcGN& zf?o1Fm;b_VKj&vIJz*7vRK3B1Oq$^m6-_7_Fc}mTJEXZPXtaVc6v_iR3VSljgYoR% z=pq=Qc*LjzQ}_B(snN`B0@;AtfeMGEqp+9G>Now`B}iyuu6alw?=|n9RmJu6svbic zl31}DC)oVxlI@`CX>0!fxxP82W9)wxD<|Haf*uk=Qh*l2Bodv?`P698lo<1K7X;y$%)Z$i6#w)>gh1`G zuoX>;0upeewJ(Mq`k@*U6Ay~9tmoX@TBbFc1S{8Ye(*l!X^MO9A{>3#P8{Oq8WvhV zYcd!E&G+mH9a0x9su6VJX;I2uV0}ArsY^`=UczcM*&8EV1L&*Y{Lz=~0x;xBy=>A6 zcDFk1cHpf8)F$52`Mr{aC7Cx0AY@A4R8Kt{()eKjck(H~e3SuX;+lwf>K$hjr~zXK zj23GkZaenC*cd0aJSE`sMD(Ys_$DWApcGH$W5VF3>0v}4MJHe0DYELy7|BV#C1RXFMsZmKYS#w_nlY%+?NCRX%&68N}w`?VPRVD*6Da7 zRh>{a5V&>^B@=2fB&c}MMiq~44YCvnMQ}_7#~yh>_Z6D+f`XJ4JAZRe)7;qc?A#5j zTFM=0wjN}(*EkR~5y*A!YVE149@qf^C}95_y&cM}b|&T8skUO;eBL$BzZ_~37GC4C zIgnCmQ#37M#eA?8j3EXDoeEGDQrl#1-%|li9*QL`_gn+{Ce8DES0)RwaF%usI0`80 zN`$#FnZ*@LgVjgLCPhRrRhgj>(^Q>HCP}Uvc22UrJ9(0tV#0;(!Kx}&buL3Ajl{4v zDMa#`gAN@J81p0`nvG9JY}2q!RM%6s2gY)nHUDn>h~m2-b#jY}W)Vt<$JA7N^SmN# zEP!opX87Ibp9n?#jv?$EX+HBcX~Guau<{ir?rTbbO+m`5TPszcwp$ZLyZ*0 zsmqW?W2V}BYYk7yJN?91?nHDyfIkP}o8ots(rMJX`&5!pM48~j0BEo^S~$0os{mXG;CbXL07lC;FGFxuVpWCN zVb+KKw8p5(p)LHS{d*%A=^+9gI+6Q6ih2ZO1WzZeT*K7Fcj@e2{=tuFhBD3p;y9Tj zkVBg<{hBd%5JOgDlH1DuebA|*9^LZE+|?>Vt=V+uJN*4B$Ns%Dyo$Fsc_#Nd>z|X| zKnfnzs#6Kbwn?`%txyda4U5&bXN~-DJHTx)6K}#eY_HZ&ic@r9Rn*Q}p_w!`34B%4 z^(`QGRV1T5WO!2z$X#Z_syXCNjYZBgSSmE=6c8OoRcsw<&~}A(;(5slC3n!XlrHVM zl`!y_7kCY}x)ViJy%4EbI&E*&cKnwEhaL7 zX4aHlX+_#r=0Pfrs8OP$?Fe(ZjVJZ2WPdG;gjF)C69QHGEE8Y)D<663q1`HQ9ME&` zT1SoWRVX+DoDgUgac8uM4Q;EEUY{QKQr^g?0pecRnC+MeeIg!`QHBCq5QY_D*k>P3 z-F7LO!(d@56sw+oMUxZ%2{tfHbT_kpm_Qe4Bz^VS;hu0di8)OT%+|~nvB|a=)w)XT zRT<-?5cgo`0&r0jC((@n(}aJEFVNrLSn#dyzv9(@CZzAJsDJX$U;1Nr?|gl~edW)e z3*heo_;v-J1>hUtT*1ZCKDWXSn+NwGWk}81(s(3oUmc1f=CDiVjAD(7>u1Ghi13JY z^hW+{#xk+cLr;FwX7!r|9c(L_A|PdVfugQ8)SUDq&t%Pr zxh-=h&9O_`oU}VT7?S8}>^@rXnjv>Dx=R9Y5NHuAC38coqh|58$-J4~WLlq-jiq`6 zTP34Q;hz&Zg1UAzkeYgk;@prfjnV(x>|BxT{8}v&MFbA5ha;SzR>36I|E+Wo@lH}4 zLD`LDa_ZIQ@WfPbtWMZEN~p>xtT59GMcGj7FGdz4VI0*dLtYjxWs{Do*5@1yot1++ zd80S6w?Y_(4~$8xvEeQL3PpQXyP^*QGlP`k@VG^SqBFQ45Z?Qq*1Y6IHfufnrxi^$ zY^)X1Z<_iT$lf@Vom8c{(=nZ;-)wVLz!4Goz8gOB@^|fOfg?{g_kz3Rk||@gYj3JH z7+EP2*W9j<7KNWQY?dbx(Q`q1$y5oqT=Pm5l@*FI5r%0}3Ns$lU@OYd zkb{6ar8fZAhT3Q~7&TyS?smK?c5e+%I&FkjZB4(uq5Hn&+8;aki0}JSX2wA3_NdfJ z5y9aI$ROdasVAU1v^!~LxXa9H$DWq1&gpBA_ zH4<7NP^5%9X-cXy2@e(+wkyMhxExE-R+61DSx;PyP_xxIS@BNe7|rRtPBxWSvDHER z9HuWap-0kI@jtZJ!Z`s)L?YGd#oCAmqYBP`jAF3>zHpD-2utFyqemf=HH~Txa^mr; zvs~f$LI;z5thSLF;f4P!@nX%%e-{`>;GR3J%THOHYja6$vSFX}NjQI*y%uQ` z4>9_n4Y;vP4@bv7jLEe1h31~$y_AW%X_pSm4sQ&DmKk~A7?RJ49 zB{iQC<2MX0-D}gezh|_}^X6Sov$cqJ$VY^=1adME6P+HiHDw3h0&StzaDc_x`2vhb zow?qLR^6z@4hLrNqF6UQ*5vgNp^MKwA<*s)BD#YMzBUrSDAr13Q&SlTG%$DxpSEHj z3a~CPkYE(+>S;mXB`_=-L|J`;+joEy1&Aezz#R+~v{>*46?=ZUgu9->fjj_ZNKnxj z?X@HEQJZ*G0O4r1Jsm9AzFrDT*94}QL!Sg;d#q2N(0%V`f%;7z?C;iLyX7l4W2E2( zguQCID`<PIXRoY}ODou6c+>f>%r=3o5@x)OQoz!>NVduJ83Pu$itv2!x z-jzOlKU>%DZZ>9?LMQ`cxv{`_bY)~V5tC*SW4qQgvWcd9oD@8nxOCyZ@R3HQwdTVy zfFJ}cm%!$xVle>I3LrPfiQRg?S25z3eGnTPz_D!;=7;e~@CCXwCxg-bFv-9a&wC!2 zQ8Xle-OgR-Npm4}B3A=&I*AqYe`cBpcrloM`P8t)G&@&O!IoIVHbmRk!KIDU7rK44 z{BW`+DVhN43~Q*{DV^$TW5Jm_kQ1hM!8wuESg66W><`%&v3HT;|qE z#l+>C%8J6y)-4I88F5g>J^XdHR*Q3>xN4wI%`2a|dEiI$q2fd#Vk}AvG6F@g6Q%7X zGr_iL^u`lAY+Er1J0+qnoCr;0-u_<8p$JWP<4ZK>M46mm>#M)rN-&U-XYBn(K$hgS z`;v{dH7@Y_spv9g3dBlnC0CNeXiS zB)9I(RjC3x5y>umE2O{_hFoEhJ|VdkQZ-|#8@z5seOy%^P=RrpELv4e<3%|Hl{B8cMD+=fkWJ# z2Ax`>&%lI17*#6-Ga(Z|jDgrER%dN*nrl_rHcjTk)5-{!?p#zd)I!n4AYjfXZVYoF zJ9voL?EV4*m!PAzH%c9SHl|}CVBC%l&}2zfB@ZYG)@SG`zNn? z>)mzh=vSGn(#d3OyK*kkl_-`Af_i>3F9uAj2~`BVFqj>Mu~ITa%JdpDA5A;NOQkc8@f)uqhkIU(~TG8B)b1>2C56Fa-n&Le<* zwx-ve@H8mVDEK6v5r>rO41;`ueh*5ev655OkvyKp&56V|BloX&w4Ju?5FR!tzeA~p z91?e*JCo(Tko}Ye<2rnX{-?;YXpBztRePb6Xb7$WgK{6)6YEE~3VqQSh%~MZv%I&g| zjH%3i)9GojLm$i-NUO(6`t(9A`Jq%_Yx!F-8n)+lcZ4Y}=)&%G5 zf8Ew!ZvCu|LLB>X-=z~PGP$TL8BfPOAN>P|=a8|N%-z)5x$UTm`-Z#U`GOs(Q&fMJbDFBnO^ea2mx*wX zDsDMBy{s4R%3d(qbJ|k(nxlq6@7bMOqGZxw+!p}HTb{3b)0FEFUxP@Eo4Rp2%D~us z+&LHyY+~!a`!OCp+L{#FQB?i>M~2R5T4b-e*>2IVqu+y>hUE!lkvLXqW?h%wrGYGP zWRB~ORY6;itoxc)5}lDfLuk3@ss@vXFME*ROaUTY(eDxnqp3kP9eRyP9f%de(7^*1 zmkGtTRDZ+V5_~{O+8d~Ow1-c756rN`156BBIkVeOjNWN`3Orw{8HnHN2h-M)ha_X1p z!_vtrnXF}So{BS?i;=pNUD~8P*Nny_>qQS}8fg)L4={8~p;d`a(iE`$g$I6*q<)?X z9-BJom`n`C5bzD zwmR$bB#4YrEuGMq|Gz29>#l=#Pdb?@9QCqUB?2uA7H6G-#eq#s44G_u%6GM-D$`?2qCoj);~OW_#=+6H(P{_pc{zfflj$b^A3V_GMeyO)Mj zQ{UN0Bc=5nPXrk#5jGYBRE&I(g(%`v70CpRR59g_-OkNEfYD4RVi)LO-kqwrNjzkT%}m#DZ?_MRU9Jn8!3u->43LF$Pk-YSHuRMyTY&N!fl9XD5pUl`WcoWSXZ{^ zr%r|jWhZhqmU>||_o-@=DvC>-Ja$#2c?XxJ%fSXYsfYSAuesoV{_m^b{A*nJ(v%0f zZ!Iw#HL{Vhs$#4HR-4L-L-GN;Pm@7*g%z~WJjf~Jl$uidY*tI5%wUdBX8YhFeEQuV zz_dLY?4N{$FFyTbl9}H(LBOjOx$0<;4<*vUgbWOV(xj?C{|~Nw(L*PpkmA;Tim)QK@r8MZtrV~b)8jI6oA%+=}u{pjv=K5 zhLDD#rKLM0q+!URySr0jXlamkK%{e|LsF!hA+G=9zt+7^=V_nE^KjPQ`$NT#Zd!gZ zmE3c}LkNGUjCE-J*(yVzn2BAGKq;yPcX9(CFHX#5?ljeveW?H$Ea zI0xIwHSEvkJ$3`_OGa|+>pmN#MiTj!8LSc6LPOpD3hpr$#6g57XQ|si)Qbc7Mn$eU z%$FF9YCbKkmMQbYTCoW7)qVl(-^wCOsF`Ggcqfmi32mWdaPJ~S!(tm|QXidbSF8rE z5e5q>5;d(&)pX(qd53VK?yyGF^mHsie{uJ?VW+n+d`FaRhTI542tH5|xH@qgJdXB? zGbk`BuU^xd6$LqqvYD2CdIb6LSL-QalyFn9>xNs!@PNPU$f=-%m@q-mImpQy`fk?9 z9!?cGDA(KItyM9%^@^Oud&6~xdGgLr;U?m9`m^^u$X1QrqM;cgkeKe*Eq1L?fTx}zxjyxLGFAkJ-4>?rM@_5X zt|Yqr`h}E*KFl=oRXWLIN)KI+EgKUnN$h4X-TT|j`Z7_Y?bv*TKd7>tujy_)Z%2M$ z@d>lZ>x_ss_;dW73#!HD()3^ng#BFN{K4lyX0#WsZ2Chim@u|o{)2S<soQck+N z6)J-6Ma1d-9Z_4~*?s2jk(lQidWGdqcGSp-4nXHad|I)(r8vu9P2?GIBCf)2`jHrc z{mXhCCNBLYmra}Zh^G?c0s5Fkc$q{eQpld^JY z=33(ow0P>%IpYs1qpJXx9inXbkbh>1nsi&zNsJlPbax2hD|EegQ++tWA}dF+<3Q9Q zM;kOHQFD8JrqLcDtf_#zn3*msrP69`(m*|DG&bCK!{`1koBiaH1646G@$sAVc3d}} zp#CuknVIVo7hx(k!TEs~J{W7m?l4jVt^8J-g$`COTTz9MD{wJ!lJHjN#59t)h@;~m zb#$GWF1#;m+mHJ+X$rvg6Bhl5B+D&!Ni+3rd%H%%@H`u*aW2R(q)V5(vtGDF#!-nwcfL-y-i{5s zvB0{PO381)*oVH$0}$I5rnH|j9CgwKpJd_5{TppB=;ol8dLh%s+H(hW7aliY)rxND z40ts%AMvv|!Zm{U1JMsB9N~(NSW6L)n5}r!WVeWgCmIV~E8#xep|Gloz#4z)`B8pu zxd}_S-MIJE4l1R!2!Oi#yYoduw6-$}yvB;4v%N~Qm{nz!pgjYJ{I4yW7;sfGnYp-n z5MxNOr7HD!7yY2(llPQ4ATwpCZTqGQ_GU?s!+c|f`eWSQQ|r;C)LS}K2!CWGD7B%aG?i6^$WF zf?wr^#!=K0`BWFK&7Q}ecU>2HsY0W{<3GmF<~yNk$0dC_`R0bBpf2*f-b!uX{nPI4 z(Mn_o)F6Lhy|)24sDKHaNKYT}?*LHhTZzBp8K4b1fl>mQ$P;btvl zIUPmHslZB_G15Kdp)X?I z6O_iJ-ln}QNra(xLlY!0FXz$t>DD&YW)PTVltxjZ38{05Mln@X$RuYq%c{K(j2^(% zq1mlnF!v_pKeU1E)h_z-_BMO7(f)f|4R5WSKx!3=Xn(yOZT($cB+`CT&q$rjrfNJSQ<0sS2Q)9pcQl&wdzdYyiL^ zjpN_!FT1rmD&fv^zxeV>E-xpZN=tM0Tpnr{v!YS($xHanpf_2u>&e=0I~}t4tu}J@ zcaq@u4{s2~1nUje5&%Z7LagbJvFC)?#>e!WXn4x^(wuDD`TG{!>(N(0+hj`|{se_Y zu|Qk4t0TFNtxA{PZSVZytPt!8WGAe5eZh*`)}x`Bz;|FRa>{kIUmP~(%Ifl64f4t8 zoa&eh%kJ+}b(qMq+pxY)96~e9FHwpaz77ZC5UKM7u?)B-N?}S761&ze4J-%p7hL%u z%E$T;(*^LgD-gQoW$diw+jnSM7%*YtU7U3F+@ubjwRU4dUp4A(fb_^<&vw%O+#5ncn(dVi`E@0`iaOyr)A3fm>l#MXOgSSDP5FSQC9*5$ z(S!poxSzZB9hP1;FfB7#81z*Zy9_Jw4G@E>G8}_a;T!be@bC}2Nb~pORR^%5J+ttX zAzg=rwAO@P8-(VA{j@0A@b4nDe6M$BC3)TGBBXN?c+YP_VBIZ-+B~$cL|Gv6XR!P@ zkEArLpym@2*{9E@F{T32@1HN*^Zm#XW?l=Qv}yP>G1L-T3o7T6vy^Nu2K8aRdB}Qi zDBq=skt~(-f8iU6VzFv+`vbVzl@ySHt`G}3#5-~VZ>I6laCy&V%4U+2J)_v9_V1oL z&~_vhvj$)Cyw7;lXRp7jOg8wK`pn^y`7sd(qLNt>$ws-l6Rp%St-b_s9D1g69D_;t zE-MVFOV~uY8`-=3X351WVVn90giRwa`CD$Eflz?}UA_+$Rv&Dl#H?i6Wy(sW5=dp8 z^%|9nv^T%nxsG352`=vWV3f;E^gyHkq+hT*90=ObTYm zW0|Lwg<(4SeR@=!$QR-vLm7fAJtL1xayKSeM2o+q`6hbV2Df(0Z<}R*y|J^X z(cr;ubD>0JOQuHS=~=*0h=huGLaNM@m#KWxgqgr6@KB(>=d7ZYRQmcC9}h|_Yo|bY z0?nsF#l?%whVI;?KtY+Nbxj9rB};t9em`WNyHn2v1!j+rOoR6iOU~bLtC${I55Eme zCraWSwD@*I8r6{N6jK&IhI{;I&&5Pb4bIq4TGn1sNlKeM-pI)4x+bKU3%{~e6egX> zV!6zg^AI|%X`swW@?hIEpljIe< zA5hmxTB=vp&TgQxT9&O>aCNk6=Pi0H5Bkz?{Gl^*gGS6~HYF^fmUAb}u$pMmqqYcwS)5Vbv62UzWZXs&X-(&wYtC=I&&vy%?QQ}NwfV_Z49#y-ov5O}!j`2^&a^c@vu zMB?TJ@j*TaAhm?eQ3=c{14F!MOfH*GJyI5IB&*B%WJ^BlY$j3qZU~)%M{$Bt8&s*7 zWNAC{6heKa$0=iXNwX~f?m`aO;RNSvzT|D43)$%)tZXDpiEEXsQEUBj0un+rRX&gw zfZBn^^Yk)VV4R`P=S}Y02=9J}E^oq9!1IrL#S`$D+WuH{(T9xv9OF9CCtW_}GHBO? z^JV-r$jOdt;$!@)q@<^6n(zoJ&v#Num%3pTc82ycV}B6WOLEMAoNRt7?L6AIT*mqg z_aMI0*_6g*oULC^wHCfFc2-Mu@T=dn?-G1ZJ-j!dwuZwL9rhzo@QaKTT)nytlQYhp zjhj(E)iPs~lVG8Z=XA9+cM54$elFDKCq@a^=<9Va^8Qa5Mq-_%N^#!a1$twWNv%i} z!ix@mSBu4hZwNl((nMlacc!n3@bmmILnDyGlp4p7Yc(?;#>J}wd2<19)p7O z*)Mf&YW#|5Nz4~ELYlk%U5}+Io0dGoJJm{0thp9f6VgFT3stzU5~JjNv6g$VVR5sKF}oks$RD?C9)dM}`g$EwxVOdxZGlDtXOWEgs2r+a1#3A+B~Xy!Wd zaOz)}&3i4PT&y;;qoo++%of=q#`OG>XpzCnm=1=Qm7??4+XX`UqQ7_OwFG42d`4GX zONE){g19Tcao-#(#Q&E5@Gh2^CJrSWu_#tDHsFL=U4k!o^v{128eaSKR6UyPpGHO8 z7iGe?g?~F!X#$>^xu)=ZBM0bEm+`s-vuSnO>^JDH)AOq@+#ZfkgN%WO=Vt><3Iud& zqbz9mCAX%C&BRc3!kF!uE>wVyuIeG&md;A*qT=zK`K^oJ_%FL=*{d`x-dH2ePoE4x ze3zygs1Ngkc~K(G8^wQz1##l7oKI{d!8Kz}{MIr?n6KwV#A4LN=5p{jepz%@4&xKC zovA6_LRe$x34>YM-0Z+6>h^XH`jLMgBHbOY#$>HHsBd47>GI#>iD z$q^!nFoilOSN_DZ{#tY}5t}ZCT}0gex=4YVNIaV?fKrL}B~Nn1 zv(XE%Um{|HWXQx*%`a79LxhY^zQZ&sQRb=&jMOb*%Ylab$wg?^JZosZRyfMs?Fb@5 zbjlIl)~r>`7^rBg+Zgv-YlMc1Tg~K8o_lHeXcev@Ca92SD~?L8_7_lyY^k3ZWF_Wo zGUOn$X5C|H|E&G$Ve*J4aAYNTlgx+YOgFudE|=tAptY$w90y|Zd19iDOLAnlg5;oL znsWpg#zEG3?&;g75qK`Ic_b=c)J920lS?7gnAyv$kc+F2SHiWx$RR zR&B4$(>mKd+5NXvw)?ub@M4fc52*;rb*9p#O(?`^eC~g*eF0hjW^WyOO;}qG>U7}nlC*i9uxW3a?h7{%zd3`S^szf|On)%_GbE5fC-k>(%3|08_~6A-L?#O5 zB8tsc3DuWKD6g_oHW8#gQa zeHW}KPn=pn)K7X1DT1%Ty7ztZs-OPMG%mnr<~j;)mWKn0lYp$%(|x21bin#z+^YoW zLz3>fliq7RLSjE}rkam!7@Bk9i>+UP3_xx8NcFh)CluJ;Gk&~L+05lo73#d=ibbc6 z(}}+L9fXEnyR|3iU|c0x%zoXR7nU{buwrOZSs1@e31w7jn@-{1BoW^%FqkQd`@?|l zq7RdRe?xqY4i!!R^5Va$tIQ@B zg>|Q4<^v1vxNiXu)xI>*mPOQ_Ilp$qa3L-cH*h0t^LlU}DTi7o?-r|lWv+*a6dUm$ z2CoMx1@G$g^my>}Zh9ka_#f5$BQ=nTWA-PN{;_iAhV0;?G3CaNr3Fmr8M_0PLsJYX zF)AfE1!UtC>$_uou zKK(K4Ml05kz8^u(7cHZ^b4-+I@yWS=v?0+8LxV@dHGx>0sIA*slZer{ll7hqRudWJ zQ>IOr*7-O`>?pu6Ytn&(L}$UoFipUY9{kveEmdse#(|72R)Dy|USQxgAP0!dC}8q<7&`EH|9=*)m==BsQ`qiWCOP||}f0t$7oUK)+)`b}IGj!643wHtpxj}yg@<^*-pp?W( zY$%7s_lTe(h>^`KJm^|?!wY_Rv$T5ir=4~hRA@>!?=eWD5xR-JbEw>7Wr+#1V`gOm z9|j@Oy+k#1__q3d{cF+^CH^f@*$1Hwn@!B6n2Ss%75b~)cccTw?HyhpZb!_ch_ z$3!Mvi62R$Ah$(7CGe5U=`obll+ER{|S&!$=Z!5Zl$lyo2YiV_L4_?IVMDVRiVu_fe)Q0DrrZUBbz zY30u%X7g=%aQ2w%OJ|nE=|GQ$-|6!IZFBtZ<6*YznP*5=v4Apnf)NP`iN#aiz|-2o z(*|heZu4&-@$>Qva`V39<`vfA69n?{1NnG4d3k}nyw<^?6#q}){Mp*U7W}^jWQ@R? Qe*z?syt-VyjCtsP0BT+S8~^|S literal 59627 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

+5#OWt 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 IM6N<$f&xn78UO$Q diff --git a/images/sample-io-insights-issues.svg b/images/sample-io-insights-issues.svg index 5b3259a..8c5d20e 100644 --- a/images/sample-io-insights-issues.svg +++ b/images/sample-io-insights-issues.svg @@ -1,211 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Drishti - - - - - - - - - - -╭─DRISHTI v.0.3 ──────────────────────────────────────────────────────────────────────────────────────────────────────╮ - -JOB:            1190243 -EXECUTABLE:     bin/8_benchmark_parallel -DARSHAN:        jlbez_8_benchmark_parallel_id1190243_7-23-45631-11755726114084236527_1.darshan -EXECUTION DATE2021-07-23 16:40:31+00:00 to 2021-07-23 16:40:32+00:00 (0.00 hours) -FILES:          6 files (1 use STDIO, 2 use POSIX, 1 use MPI-IO) -PROCESSES64 -HINTS:          romio_no_indep_rw=true cb_nodes=4 - -╰─1 critical issues5 warnings, and 5 recommendations ───────────────────────────────────────────────────────────────╯ - -╭─ METADATA ───────────────────────────────────────────────────────────────────────────────────────────────────────────╮ - - ▶ Application is read operation intensive (6.34% writes vs. 93.66% reads) -▶ Application might have redundant read traffic (more data was read than the highest read offset) -▶ Application might have redundant write traffic (more data was written than the highest write offset) - -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ OPERATIONS ─────────────────────────────────────────────────────────────────────────────────────────────────────────╮ - -▶ Application issues a high number (285) of small read requests (i.e., < 1MB) which represents 37.11% of all  -read/write requests -↪ 284 (36.98%) small read requests are to "benchmark.h5" -▶ Application mostly uses consecutive (2.73%) and sequential (90.62%) read requests -▶ Application mostly uses consecutive (19.23%) and sequential (76.92%) write requests -▶ Application uses MPI-IO and read data using 640 (83.55%) collective operations -▶ Application uses MPI-IO and write data using 768 (100.00%) collective operations -▶ Application could benefit from non-blocking (asynchronous) reads -▶ Application could benefit from non-blocking (asynchronous) writes -▶ Application is using inter-node aggregators (which require network communication) - -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ - - 2022 | LBL | Drishti report generated at 2022-08-05 13:19:59.787458 in 0.955 seconds - - - - - +Drishti╭─DRISHTIv.0.3──────────────────────────────────────────────────────────────────────────────────────────────────────╮JOB:1190243EXECUTABLE:bin/8_benchmark_parallelDARSHAN:jlbez_8_benchmark_parallel_id1190243_7-23-45631-11755726114084236527_1.darshanEXECUTION DATE:2021-07-23 16:40:31+00:00 to 2021-07-23 16:40:32+00:00 (0.00 hours)FILES:6 files (1 use STDIO, 2 use POSIX, 1 use MPI-IO)PROCESSES64HINTS:romio_no_indep_rw=true cb_nodes=4╰─1 critical issues,5 warnings, and5 recommendations───────────────────────────────────────────────────────────────╯╭─METADATA ───────────────────────────────────────────────────────────────────────────────────────────────────────────╮▶ Application is read operation intensive (6.34% writes vs. 93.66% reads)▶ Application might have redundant read traffic (more data was read than the highest read offset)▶ Application might have redundant write traffic (more data was written than the highest write offset)╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯╭─OPERATIONS ─────────────────────────────────────────────────────────────────────────────────────────────────────────╮▶ Application issues a high number (285) of small read requests (i.e., < 1MB) which represents 37.11% of allread/write requests↪ 284 (36.98%) small read requests are to "benchmark.h5"▶ Application mostly uses consecutive (2.73%) and sequential (90.62%) read requests▶ Application mostly uses consecutive (19.23%) and sequential (76.92%) write requests▶ Application uses MPI-IO and read data using 640 (83.55%) collective operations▶ Application uses MPI-IO and write data using 768 (100.00%) collective operations▶ Application could benefit from non-blocking (asynchronous) reads▶ Application could benefit from non-blocking (asynchronous) writes▶ Application is using inter-node aggregators (which require network communication)╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯2022 |LBL|Drishti report generated at 2022-08-05 13:19:59.787458 in0.955 seconds \ No newline at end of file diff --git a/images/sample-io-insights-verbose.svg b/images/sample-io-insights-verbose.svg index 2a608f8..3e3b310 100644 --- a/images/sample-io-insights-verbose.svg +++ b/images/sample-io-insights-verbose.svg @@ -1,634 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Drishti - - - - - - - - - - -╭─DRISHTI v.0.3 ──────────────────────────────────────────────────────────────────────────────────────────────────────╮ - -JOB:            1190243 -EXECUTABLE:     bin/8_benchmark_parallel -DARSHAN:        jlbez_8_benchmark_parallel_id1190243_7-23-45631-11755726114084236527_1.darshan -EXECUTION DATE2021-07-23 16:40:31+00:00 to 2021-07-23 16:40:32+00:00 (0.00 hours) -FILES:          6 files (1 use STDIO, 2 use POSIX, 1 use MPI-IO) -PROCESSES64 -HINTS:          romio_no_indep_rw=true cb_nodes=4 - -╰─1 critical issues5 warnings, and 5 recommendations ───────────────────────────────────────────────────────────────╯ - -╭─ METADATA ───────────────────────────────────────────────────────────────────────────────────────────────────────────╮ - - ▶ Application is read operation intensive (6.34% writes vs. 93.66% reads) -▶ Application might have redundant read traffic (more data was read than the highest read offset) -▶ Application might have redundant write traffic (more data was written than the highest write offset) - -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ OPERATIONS ─────────────────────────────────────────────────────────────────────────────────────────────────────────╮ - -▶ Application issues a high number (285) of small read requests (i.e., < 1MB) which represents 37.11% of all  -read/write requests -↪ 284 (36.98%) small read requests are to "benchmark.h5" -↪ Recommendations: -     ↪ Consider buffering read operations into larger more contiguous ones -     ↪ Since the appplication already uses MPI-IO, consider using collective I/O calls (e.g. MPI_File_read_all() or  -MPI_File_read_at_all()) to aggregate requests into larger ones - -╭─ Solution Example Snippet ────────────────────────────────────────────────────────────────────────────────╮ - -MPI_File_open(MPI_COMM_WORLD,"output-example.txt",MPI_MODE_CREATE|MPI_MODE_RDONLY,MPI_INFO_NULL, -... -MPI_File_read_all(fh,&buffer,size,MPI_INT,&s); - -╰───────────────────────────────────────────────────────────────────────────────────────────────────────────╯ - -▶ Application mostly uses consecutive (2.73%) and sequential (90.62%) read requests -▶ Application mostly uses consecutive (19.23%) and sequential (76.92%) write requests -▶ Application uses MPI-IO and read data using 640 (83.55%) collective operations -▶ Application uses MPI-IO and write data using 768 (100.00%) collective operations -▶ Application could benefit from non-blocking (asynchronous) reads -↪ Recommendations: -     ↪ Since you use MPI-IO, consider non-blocking/asynchronous I/O operations (e.g., MPI_File_iread(),  -MPI_File_read_all_begin/end(), or MPI_File_read_at_all_begin/end()) - -╭─ Solution Example Snippet ────────────────────────────────────────────────────────────────────────────────╮ - - 1 MPI_Filefh; - 2 MPI_Statuss; - 3 MPI_Requestr; - 4 ... - 5 MPI_File_open(MPI_COMM_WORLD,"output-example.txt",MPI_MODE_CREATE|MPI_MODE_RDONLY,MPI_INFO_NULL - 6 ... - 7 MPI_File_iread(fh,&buffer,BUFFER_SIZE,n,MPI_CHAR,&r); - 8 ... - 9 // compute something -10 ... -11 MPI_Test(&r,&completed,&s); -12 ... -13 if(!completed){ -14 // compute something -15  -16 MPI_Wait(&r,&s); -17 } - -╰───────────────────────────────────────────────────────────────────────────────────────────────────────────╯ - -▶ Application could benefit from non-blocking (asynchronous) writes -↪ Recommendations: -     ↪ Since you use MPI-IO, consider non-blocking/asynchronous I/O operations (e.g., MPI_File_iwrite(),  -MPI_File_write_all_begin/end(), or MPI_File_write_at_all_begin/end()) - -╭─ Solution Example Snippet ────────────────────────────────────────────────────────────────────────────────╮ - - 1 MPI_Filefh; - 2 MPI_Statuss; - 3 MPI_Requestr; - 4 ... - 5 MPI_File_open(MPI_COMM_WORLD,"output-example.txt",MPI_MODE_CREATE|MPI_MODE_WRONLY,MPI_INFO_NULL - 6 ... - 7 MPI_File_iwrite(fh,&buffer,BUFFER_SIZE,MPI_CHAR,&r); - 8 ... - 9 // compute something -10 ... -11 MPI_Test(&r,&completed,&s); -12 ... -13 if(!completed){ -14 // compute something -15  -16 MPI_Wait(&r,&s); -17 } - -╰───────────────────────────────────────────────────────────────────────────────────────────────────────────╯ - -▶ Application is using inter-node aggregators (which require network communication) -↪ Recommendations: -     ↪ Set the MPI hints for the number of aggregators as one per compute node (e.g., cb_nodes=32) - -╭─ Solution Example Snippet ────────────────────────────────────────────────────────────────────────────────╮ - - 1 # ------------------------------- # - 2 # MPICH                           # - 3 # ------------------------------- # - 4 exportMPICH_MPIIO_HINTS="*:cb_nodes=16:cb_buffer_size=16777216:romio_cb_write=enable:romio_ds_wri - 5  - 6 # * means it will apply the hints to any file opened with MPI-IO - 7 # cb_nodes        ---> number of aggregator nodes, defaults to stripe count - 8 # cb_buffer_size  ---> controls the buffer size used for collective buffering - 9 # romio_cb_write  ---> controls collective buffering for writes  -10 # romio_cb_read   ---> controls collective buffering for reads -11 # romio_ds_write  ---> controls data sieving for writes  -12 # romio_ds_read   ---> controls data sieving for reads -13  -14 # to visualize the used hints for a given job -15 exportMPICH_MPIIO_HINTS_DISPLAY=1 -16  -17 # ------------------------------- # -18 # OpenMPI / SpectrumMPI (Summit)  # -19 # ------------------------------- # -20 exportOMPI_MCA_io=romio321 -21 exportROMIO_HINTS=./my-romio-hints -22  -23 # the my-romio-hints file content is as follows: -24 cat$ROMIO_HINTS -25  -26 romio_cb_writeenable -27 romio_cb_readenable -28 romio_ds_writedisable -29 romio_ds_readdisable -30 cb_buffer_size16777216 -31 cb_nodes8 - -╰───────────────────────────────────────────────────────────────────────────────────────────────────────────╯ - - -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ - - 2022 | LBL | Drishti report generated at 2022-08-05 13:20:09.160753 in 0.965 seconds - - - - - +Drishti╭─DRISHTIv.0.3──────────────────────────────────────────────────────────────────────────────────────────────────────╮JOB:1190243EXECUTABLE:bin/8_benchmark_parallelDARSHAN:jlbez_8_benchmark_parallel_id1190243_7-23-45631-11755726114084236527_1.darshanEXECUTION DATE:2021-07-23 16:40:31+00:00 to 2021-07-23 16:40:32+00:00 (0.00 hours)FILES:6 files (1 use STDIO, 2 use POSIX, 1 use MPI-IO)PROCESSES64HINTS:romio_no_indep_rw=true cb_nodes=4╰─1 critical issues,5 warnings, and5 recommendations───────────────────────────────────────────────────────────────╯╭─METADATA ───────────────────────────────────────────────────────────────────────────────────────────────────────────╮▶ Application is read operation intensive (6.34% writes vs. 93.66% reads)▶ Application might have redundant read traffic (more data was read than the highest read offset)▶ Application might have redundant write traffic (more data was written than the highest write offset)╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯╭─OPERATIONS ─────────────────────────────────────────────────────────────────────────────────────────────────────────╮▶ Application issues a high number (285) of small read requests (i.e., < 1MB) which represents 37.11% of allread/write requests↪ 284 (36.98%) small read requests are to "benchmark.h5"Recommendations:↪ Consider buffering read operations into larger more contiguous ones↪ Since the appplication already uses MPI-IO, consider using collective I/O calls (e.g. MPI_File_read_all() orMPI_File_read_at_all()) to aggregate requests into larger ones╭─Solution Example Snippet ────────────────────────────────────────────────────────────────────────────────╮1MPI_File_open(MPI_COMM_WORLD,"output-example.txt",MPI_MODE_CREATE|MPI_MODE_RDONLY,MPI_INFO_NULL,2...3MPI_File_read_all(fh,&buffer,size,MPI_INT,&s);╰───────────────────────────────────────────────────────────────────────────────────────────────────────────╯▶ Application mostly uses consecutive (2.73%) and sequential (90.62%) read requests▶ Application mostly uses consecutive (19.23%) and sequential (76.92%) write requests▶ Application uses MPI-IO and read data using 640 (83.55%) collective operations▶ Application uses MPI-IO and write data using 768 (100.00%) collective operations▶ Application could benefit from non-blocking (asynchronous) readsRecommendations:↪ Since you use MPI-IO, consider non-blocking/asynchronous I/O operations (e.g., MPI_File_iread(),MPI_File_read_all_begin/end(), or MPI_File_read_at_all_begin/end())╭─Solution Example Snippet ────────────────────────────────────────────────────────────────────────────────╮1MPI_Filefh;2MPI_Statuss;3MPI_Requestr;4...5MPI_File_open(MPI_COMM_WORLD,"output-example.txt",MPI_MODE_CREATE|MPI_MODE_RDONLY,MPI_INFO_NULL6...7MPI_File_iread(fh,&buffer,BUFFER_SIZE,n,MPI_CHAR,&r);8...9// compute something10...11MPI_Test(&r,&completed,&s);12...13if(!completed){14// compute something1516MPI_Wait(&r,&s);17}╰───────────────────────────────────────────────────────────────────────────────────────────────────────────╯▶ Application could benefit from non-blocking (asynchronous) writesRecommendations:↪ Since you use MPI-IO, consider non-blocking/asynchronous I/O operations (e.g., MPI_File_iwrite(),MPI_File_write_all_begin/end(), or MPI_File_write_at_all_begin/end())╭─Solution Example Snippet ────────────────────────────────────────────────────────────────────────────────╮1MPI_Filefh;2MPI_Statuss;3MPI_Requestr;4...5MPI_File_open(MPI_COMM_WORLD,"output-example.txt",MPI_MODE_CREATE|MPI_MODE_WRONLY,MPI_INFO_NULL6...7MPI_File_iwrite(fh,&buffer,BUFFER_SIZE,MPI_CHAR,&r);8...9// compute something10...11MPI_Test(&r,&completed,&s);12...13if(!completed){14// compute something1516MPI_Wait(&r,&s);17}╰───────────────────────────────────────────────────────────────────────────────────────────────────────────╯▶ Application is using inter-node aggregators (which require network communication)Recommendations:↪ Set the MPI hints for the number of aggregators as one per compute node (e.g., cb_nodes=32)╭─Solution Example Snippet ────────────────────────────────────────────────────────────────────────────────╮1# ------------------------------- #2# MPICH #3# ------------------------------- #4exportMPICH_MPIIO_HINTS="*:cb_nodes=16:cb_buffer_size=16777216:romio_cb_write=enable:romio_ds_wri56# * means it will apply the hints to any file opened with MPI-IO7# cb_nodes ---> number of aggregator nodes, defaults to stripe count8# cb_buffer_size ---> controls the buffer size used for collective buffering9# romio_cb_write ---> controls collective buffering for writes10# romio_cb_read ---> controls collective buffering for reads11# romio_ds_write ---> controls data sieving for writes12# romio_ds_read ---> controls data sieving for reads1314# to visualize the used hints for a given job15exportMPICH_MPIIO_HINTS_DISPLAY=11617# ------------------------------- #18# OpenMPI / SpectrumMPI (Summit) #19# ------------------------------- #20exportOMPI_MCA_io=romio32121exportROMIO_HINTS=./my-romio-hints2223# the my-romio-hints file content is as follows:24cat$ROMIO_HINTS2526romio_cb_writeenable27romio_cb_readenable28romio_ds_writedisable29romio_ds_readdisable30cb_buffer_size1677721631cb_nodes8╰───────────────────────────────────────────────────────────────────────────────────────────────────────────╯╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯2022 |LBL|Drishti report generated at 2022-08-05 13:20:09.160753 in0.965 seconds \ No newline at end of file diff --git a/images/sample-io-insights.svg b/images/sample-io-insights.svg index ab1f312..f351ed5 100644 --- a/images/sample-io-insights.svg +++ b/images/sample-io-insights.svg @@ -1,259 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Drishti - - - - - - - - - - -╭─DRISHTI v.0.3 ──────────────────────────────────────────────────────────────────────────────────────────────────────╮ - -JOB:            1190243 -EXECUTABLE:     bin/8_benchmark_parallel -DARSHAN:        jlbez_8_benchmark_parallel_id1190243_7-23-45631-11755726114084236527_1.darshan -EXECUTION DATE2021-07-23 16:40:31+00:00 to 2021-07-23 16:40:32+00:00 (0.00 hours) -FILES:          6 files (1 use STDIO, 2 use POSIX, 1 use MPI-IO) -PROCESSES64 -HINTS:          romio_no_indep_rw=true cb_nodes=4 - -╰─1 critical issues5 warnings, and 5 recommendations ───────────────────────────────────────────────────────────────╯ - -╭─ METADATA ───────────────────────────────────────────────────────────────────────────────────────────────────────────╮ - - ▶ Application is read operation intensive (6.34% writes vs. 93.66% reads) -▶ Application might have redundant read traffic (more data was read than the highest read offset) -▶ Application might have redundant write traffic (more data was written than the highest write offset) - -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ OPERATIONS ─────────────────────────────────────────────────────────────────────────────────────────────────────────╮ - -▶ Application issues a high number (285) of small read requests (i.e., < 1MB) which represents 37.11% of all  -read/write requests -↪ 284 (36.98%) small read requests are to "benchmark.h5" -↪ Recommendations: -     ↪ Consider buffering read operations into larger more contiguous ones -     ↪ Since the appplication already uses MPI-IO, consider using collective I/O calls (e.g. MPI_File_read_all() or  -MPI_File_read_at_all()) to aggregate requests into larger ones -▶ Application mostly uses consecutive (2.73%) and sequential (90.62%) read requests -▶ Application mostly uses consecutive (19.23%) and sequential (76.92%) write requests -▶ Application uses MPI-IO and read data using 640 (83.55%) collective operations -▶ Application uses MPI-IO and write data using 768 (100.00%) collective operations -▶ Application could benefit from non-blocking (asynchronous) reads -↪ Recommendations: -     ↪ Since you use MPI-IO, consider non-blocking/asynchronous I/O operations (e.g., MPI_File_iread(),  -MPI_File_read_all_begin/end(), or MPI_File_read_at_all_begin/end()) -▶ Application could benefit from non-blocking (asynchronous) writes -↪ Recommendations: -     ↪ Since you use MPI-IO, consider non-blocking/asynchronous I/O operations (e.g., MPI_File_iwrite(),  -MPI_File_write_all_begin/end(), or MPI_File_write_at_all_begin/end()) -▶ Application is using inter-node aggregators (which require network communication) -↪ Recommendations: -     ↪ Set the MPI hints for the number of aggregators as one per compute node (e.g., cb_nodes=32) - -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ - - 2022 | LBL | Drishti report generated at 2022-08-05 13:20:19.715639 in 0.996 seconds - - - - - +Drishti╭─DRISHTIv.0.3──────────────────────────────────────────────────────────────────────────────────────────────────────╮JOB:1190243EXECUTABLE:bin/8_benchmark_parallelDARSHAN:jlbez_8_benchmark_parallel_id1190243_7-23-45631-11755726114084236527_1.darshanEXECUTION DATE:2021-07-23 16:40:31+00:00 to 2021-07-23 16:40:32+00:00 (0.00 hours)FILES:6 files (1 use STDIO, 2 use POSIX, 1 use MPI-IO)PROCESSES64HINTS:romio_no_indep_rw=true cb_nodes=4╰─1 critical issues,5 warnings, and5 recommendations───────────────────────────────────────────────────────────────╯╭─METADATA ───────────────────────────────────────────────────────────────────────────────────────────────────────────╮▶ Application is read operation intensive (6.34% writes vs. 93.66% reads)▶ Application might have redundant read traffic (more data was read than the highest read offset)▶ Application might have redundant write traffic (more data was written than the highest write offset)╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯╭─OPERATIONS ─────────────────────────────────────────────────────────────────────────────────────────────────────────╮▶ Application issues a high number (285) of small read requests (i.e., < 1MB) which represents 37.11% of allread/write requests↪ 284 (36.98%) small read requests are to "benchmark.h5"Recommendations:↪ Consider buffering read operations into larger more contiguous ones↪ Since the appplication already uses MPI-IO, consider using collective I/O calls (e.g. MPI_File_read_all() orMPI_File_read_at_all()) to aggregate requests into larger ones▶ Application mostly uses consecutive (2.73%) and sequential (90.62%) read requests▶ Application mostly uses consecutive (19.23%) and sequential (76.92%) write requests▶ Application uses MPI-IO and read data using 640 (83.55%) collective operations▶ Application uses MPI-IO and write data using 768 (100.00%) collective operations▶ Application could benefit from non-blocking (asynchronous) readsRecommendations:↪ Since you use MPI-IO, consider non-blocking/asynchronous I/O operations (e.g., MPI_File_iread(),MPI_File_read_all_begin/end(), or MPI_File_read_at_all_begin/end())▶ Application could benefit from non-blocking (asynchronous) writesRecommendations:↪ Since you use MPI-IO, consider non-blocking/asynchronous I/O operations (e.g., MPI_File_iwrite(),MPI_File_write_all_begin/end(), or MPI_File_write_at_all_begin/end())▶ Application is using inter-node aggregators (which require network communication)Recommendations:↪ Set the MPI hints for the number of aggregators as one per compute node (e.g., cb_nodes=32)╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯2022 |LBL|Drishti report generated at 2022-08-05 13:20:19.715639 in0.996 seconds \ No newline at end of file