From e31fbcf36a3f328596ef5aeea1f78ccc67911e76 Mon Sep 17 00:00:00 2001 From: s212246 <s212246@student.dtu.dk> Date: Wed, 13 Nov 2024 15:09:48 +0100 Subject: [PATCH] add histogram visualization function --- .../screenshots/viz-histogram-slice.png | Bin 0 -> 16525 bytes docs/assets/screenshots/viz-histogram-vol.png | Bin 0 -> 32635 bytes docs/assets/screenshots/viz-histogram.png | Bin 0 -> 35615 bytes docs/viz.md | 1 + qim3d/viz/__init__.py | 1 + qim3d/viz/explore.py | 132 +++++++++++++++++- 6 files changed, 133 insertions(+), 1 deletion(-) create mode 100644 docs/assets/screenshots/viz-histogram-slice.png create mode 100644 docs/assets/screenshots/viz-histogram-vol.png create mode 100644 docs/assets/screenshots/viz-histogram.png diff --git a/docs/assets/screenshots/viz-histogram-slice.png b/docs/assets/screenshots/viz-histogram-slice.png new file mode 100644 index 0000000000000000000000000000000000000000..0ddf7b495be7f5782e913cdd7a03ed113d972604 GIT binary patch literal 16525 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 literal 0 HcmV?d00001 diff --git a/docs/assets/screenshots/viz-histogram-vol.png b/docs/assets/screenshots/viz-histogram-vol.png new file mode 100644 index 0000000000000000000000000000000000000000..332a4d24d1d85075e58eb898ee80236f0e670c69 GIT binary patch literal 32635 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 literal 0 HcmV?d00001 diff --git a/docs/assets/screenshots/viz-histogram.png b/docs/assets/screenshots/viz-histogram.png new file mode 100644 index 0000000000000000000000000000000000000000..d27cc4575424b1cdf0c5e5c9cef2d820c89a8012 GIT binary patch literal 35615 zcmeAS@N?(olHy`uVBq!ia0y~yV2);BU{dB_V_;zTYQ-qaz`$Tx;u=vBoS#-wo>-L1 z;G0-dkdt4MlbNJYmReMtnV)B@XQ5}LqmWTjQc!HAub&H7pqF2iuCMU>-w_4|2F?PH z$YKTt{zMRFTw%XFlYybD$J50zq+-sSyX7?^rT>n9{GNAenR?5FmI+Q8PA{060$o`8 z6e0r7T^1G<{rX`8!?wepMXp$j_zU{C%wNu=W%fqNYpR-W7582i59O9G^XA@{SFCQ6 zax$Czsmf07w@2Bt-Jk!SN#po^uKby`*kJ=6Mg|53hE-FqzF`6}7T77}fJ7RE1-60s z2RJ#RLG%Nb7F`fsz;s9qL|ZT>a)anO4I5ZNw4cKbuzq!g9L9`*S?2lcs^9Ou{>JFl z-s^GIzPeFcCUkdq?<#ruXiHt%xjCBMM;AG_^Tlq+O|AcyemiZxUG0_S{`0l2M~W`L zzPsdQP^6BSZtSitZm(CYY5S4CTJfE6L$~t{rhxRR^%`;e>;6Vw|Nio_yR22ojwf}` z&dy%`@$vEaPi0bFtlVNRUM`=1?P_@ZT1n%y7xDjpO~0wixOLv$yz5ImCyU6+>hkmR zm%h5<Ilu1L%A2W-J6zVKi8C;mW`2KncT<%9yZ1hypPjvYWo0mD%+xI@Cxs%{hVA|T z?{`sod3jcR`Tg4M?{+-qyP0FQ{9CZ}mv?ugfByXGSMMKK8TzxfNU#3?@B3d*X|I2A zkX`<YXn4%R_xpbPmEWset|Qj{ZpY)kte4CVXOmO79h#Fi-+c1ySz4K-xT?AN^*2I# zURhbIY;0|_RYZ2|*m2_UVP~=Kqc3Y`p3T~N>hR&kx9sjbz7%@>{p951eJ{UWkH5Ym zaPgOSyWhV8S;TMuXF>M5oo@cNU#EC^d#_#?#gO*E+^m7^>6dJsuI_Hr#6v7w^X^8; z$;oBi*|D+e>#L=$+~Qu7-tGM!=R4ObbW+O32$}w(ojZ3{J?c~!5foIMeRi2y?yVR1 z|Nq<0b9lvt{JOe*a@B7PSy@?6UcVl0ez#<DpRBc7_tBulBRPM5eB2bFb8Bbu@^^ba z`<Z54@z`7Sb&^W%-Cd#I?^Uml+LEEj&(Gi5*7oY(@Aua`h1IpbgzoFLt^W36-R^gj z_V3?6%OrDA{h!D3Mm)~$eKHr%n%~#4x3>pr_<B8l{gvwQprA$5<ElJ$qqj{tn-=`} z+1ameHlJU$VZ()s$C5T?9P5!hb@puOo^a#zb2iV-PWykov#WIVy1n0`Dl02jhOQ3# z_35;}s^{rxy20n?**<;wa-~`Bt&EF{Tt(yRx4mA?bNIq({rzh`d?=`_tbDoa^}5S_ zvexHr{qK{tzOp?(zOt%H%f==~fB&CNZ_28d-s?Yf$Z79~L)=+cS53_^o2{gz^ySNC z|L_X?bE)s|?Uk}BS>fdD{Pf|&g&#f?+$}sVd+N*?o9Ef*O3z-qwKdx`<AMSxfbQM9 z_v*^Z$;*6Z1}!|hE_U~q<M#go8yg!xefSXY{oUQKf4|=k&$9pj_kI2ARjbzpJwDb8 za(3R`U6yrr;zbV*Fy1Y@oy*0;GiCbp>Ff4<^7{MZaew;V_4@mMIQ{?g++I{pPLH3T z|Lg1P{=dJywN9QLyxcFeTTJ)K%a<$VY^ySkc8N~iw=C~ikL0V{+t)WWH>YmCd1YO! zweM`RwNA4?O}zPhe*L~fpZx89x`=fzb^6`?x3);{e(m?UUESSZukZhNb>o?&jV~Uy z%U`>=*nMl&*H_%{q#JH^UgluDQaN+xOfPS5>*UJ9!jG)+)^&d>eCJpM^4ol9sQU6^ z;hHr%YvcFFNt@?gk^lFB{qIx#`oN^5MPhm}EBftztvHm;d-#H{`Q0V)bw6E|-FgD1 z>&2SX|Esb6dL`JZ?9B`{|9NjRs^9PZ{;FGl--Wy7_t$E#-xG9tn(pNX2b<4FUeDcr zciFYI(XT<7UU`RZ%#HwdKA8)(-|sHJa3SFBjg8Ll_x)a1_U6Vy)9h<=40jd(e!E>; zP0elno=;tMe?GeJ{qyNG7Z1;s|9|iQUzvY@U)9&E;ilE!a%_J-nY`;!m-dz2<?lc5 z3kP{7?d+_j_WwTigEGvPvbRwnPk#LP@z=B2`6{0BwO=OQtNk9kHhR0?`@P@isk~gZ zdY#q#GXHrtE2Z;xIF{cjY|q>M*35UdnJ<W)c7ER4i;LZ}pPZPu>+?D5ueY+-zwEF7 zv$#*jQYk+EesSLWpU>xC2c=TSX12@=3mk9lC|u0OBe7u7qD5S9CrzGQdbjlY$|Xx& z>VMz9|K#o4wdMC~!{^PL_k3-**6w}Jmd(z)bZV;h*9*@4nrdopx3}e9esXg1*7Wmo zwZGqPe_oRt7&!6KqemeT5i8u~YeN<;TnGy5XXoaw?&;zA`TKYLhW|y};(Awj&F?H& z<~#e<$K&$h85t`cJ$`Ij{w~J$-;c+WPBA?N6}V|<XIXyx42qixiq2oIhR4607M*9A zFCV<j=OQRt6A!noT(QDqe(krJApf78YyExC@d7Weu64U!X+3@V^yS9ma>0*}^_pg1 z)45x6*%y>^&%gLSH9T(O)vT+N{q0tsIpgCy%f$0=8}H>?TeD?zm-)_K<}O$1ay_QF z_gIhQV&`_g%o7t7v#zX|c<At9{U3FpFn)V``*mOQyDH(~;eS6I=Ku9N{=e4lyXyiM zyLnFf_3iEI{r|qMpJh?FsEtQ*(Yn~(TAG@kpw#&5`}_41mEGqR{}%sMTckJJEO*lO z?c0-*lC*T*UtHXtT>Dc#mf?ya8^e`A<FqpdDs#VI+*kXXYkg-|mr)zP{JV;KJB!nk zKRh`2{B8P`6@kZY*2UKSe!IO*<?++$@#{AH0Y!1*#)zKU-`^zL5+$U~atu@?7rXbb zyYTK_^?OqlN&P(^nv!pF>+ebMF#7lBx&8c$@o{nYBv0G@{SxdvX=BaLPsZCmUU25O zoHljJ6p4oqAGRG$GK{NyDti3WWOaY3dGqFp-kZGn=AO#UiYF@`G_q^y)PFju&g*$> zlB&1N={A1(yo&1T`Q_D5L4~FBq>m@n=UYsBdu!|I2`Le4!;;U=GVOc%`T2Qs6-nc? zGX*-@_H2A|HW?CaiA$C(lX~~=-LVG;n|XKNeV6h5&F1q`leFGEe{pd!ujesP%$yDi z4(6?||Ic+>XZ`0}+3QPf{=Zn<&$Ie!)|!Zoiw^zsnQwP@Ldu_Cuh&1n^W1l~ndGD% z%i?EqzVEgC8}aw)^mrc6WBU95BuTj4Ja1xUb*rPR%gAq@P2|I^`|p3R`}<2$*1F7u zi;GKZ&Hh)bR`*<68$EwJ+hL2(JG8a5jI2stBz$>$`}>}+)AsM*U*ErJ^XA?cFESQa zetzbbnVH%8x2v<$kc*pJHg~zt%p?z^ZMnD8B-#>1#Kfd}rOnOO?Rdnsc*l+#7xSK- znc234%YOc;cio8+ZZR=)E-rHI<~m(eT-+PBHcImC?d|4VTwFZ|o7tu7>gtX?JluYM z_xY(mYm3a9+4=1jw|%lwkp$&Qy{g#^S?qqwECJ6!^)0u!p3UQnD}$GF?=w?SaIh|W zbK&0JYW-dJD?dLwdGx4jzwNh()~Eh9A6s}1U+}m8tK#|V=kxihD-UTpP5Sa;asRyH z+v&ew|9tNr!^OolW!ki5pi*$smcqx!jBnY0IKbTZJ~k%i%HHa7$+m@p%5E0Z*jZRs z_|7)7DtK_fGJE2wZ=sWp^~pvj{uK7NQS?loBUNTtQ&Xem!*F4luQV$Qi-ww-n{D;C z5*_{j|7y1CMQ!nLb#<-!a?xG8=S#1g?XR9~peEAP@VJ)}wiA}9`OeC?u^~}>P35^c zmR+5lfw#BiPMtRGS;d#Px5FoWIjz5c&gZR9mBT+jKOY_!caQbA)pXz4W-lKcY?iXE z+QP)dq_sx-{`W6mN^~PPxzzu<Jb%jExo=l|KGG@N)!lvh-rnlcH#atZ{`UFz<9AO^ zPCj+!%oWq?F~!%C-+c$Q`{Zn^LL?@B{P^*rGr#Q;Q1*X*Zm#I9`{nm*Mb~}a{cKjY z%HQ|T_tyQbnrl($#BcXwK}_ub@}zSc5)WTl5xDsCwW4jcn(~7Czun3%eQ=<WYk5Ic zWo72GGc&vT`@`Sg+xzu#zkSxHCnvjldTic*Tm9>|ioN~+HIw&LR8&}8V_q?vBbwpW z9y!~p74`rBrQ2wIW_)v0JU+zDtxa$D8>7-UHv&P8vTb>HqgK}O%iFEluwjF-U#7Ob z=!*{z5BIGPTOE4w;ziM0TeGgdnseK3@7j=W2Y-UfR}YU48(Z6}OFV_$cW;h;UHpsP zxxT)>vZ6vmL*qryQ+5A&HtD+i@3&vh=HulJb#Q1%j$f^0WAmpcSmE#AzoLSIg~yCM zpRe7zr|;U@=<tYpOFSnV_q88x=bwMkPm8-+d{g=RI8cS?JIiF{haGP=omQFZD^#R+ z@!~}(>#{ZXs^8nPva)LG>G=gO_p^QfH7b2`{r@^otM_ktzrDS!e%RnkfBm1wJyG!$ z4_mpfX?YeuKX-L%c$_9bKR+uQ+bYk=YO~C8Z?V3%t@-gG^8V?||7)jM|E<vdUpe*v zp3}GI*YWJywQE)7=V#B?F1@pU|G!oL{{B9F`*t)VBV*R3C7ttXzeRec|C8SJ>(%P7 z9}e?p-`!OTN(+C#->*OTHvH@N&gILWN3Q>>t)Wq{hCRT%@T^z^+uHK?_ipX4-@oto zJ8RvD4Gy4+SIvLknwOWChf7GV%1r-V@O8QUU(eNHYcB=++b-3M-F4#lard&_vCQmz zHm{fP>FMcBjZ%Br!)bf&sO08<b5}3(UVC-so3h<jWp7rP->Z1M=Cwb6*YfJWU$2+G z-}~LFZ})MzY9C>Bzbms$v$aa!UOak5)6?JX=aNT{9-X`OtY%^T(Js+lFPF`}vb#Kg z@8@&YS+};VymRM{N%AqC+D|9duZAsu@@M|{e}8{pT_111HTQN{{+^F*N=iyk-o0B_ z`T1Gqrza=V|43`;=#==lZL0rY_w?!0lc!I=-cuX$^}FZgWxiie>+e5d(8Klr*rZ95 zR6G+C6GQK0Go&f!FlKyUVrDMAU;F*#zTfYH{rvi>zQ0@h@$qqMJDIuK2`;X#nHLwi zo;r7Kox!fH+1K@s|N6APY<Da>zuX#wNk!XcUOV^n$;ru4dnz`n`OFANoVI1voPQCb zPk(PHe}9il{NwT^OEi>~4{uzbroBG-{k^?e7Z<fA|NQv)_<0Gz?yfGY*T1({e}BjQ z?eeBn@7$Z4T>t+1y1Izr?Tw9#K_U5kUbP=64nXaNmzS5n2GxaEUPo`s(e%8vuXgvZ z@9*ocnLT~qID7VO%iD9#hsW2d^7Heboo~PYP-dQS+L;{>vKKE}bnaK&ynpW(Z#s4R z{q61k*JI1)CRciTcJj$ul^nd>R{!H6yQrAhtKaYUuQ%u_TNi8>U-6Lj=<(yP@Bja| zeO~1=$-i&&>n}&=?=3xOrT^vklbl^8FBg5kSMC4t<HxM)>*gj`{(PbkyQ^ep!hVJ< zbw6d63k&Aj<?ib5?~mG=75Z?BTz-DOXONqlTkE!FHr}Aj%$4`*e!t~9t?oZhr~Bxl z*X#GkO_EXOdcWthUu)U_pXckfV$*-d|MmZ`{eO1;zQ~ukF<p+$Y;(8n|1@##=d)hn zlYf1GuWxQ{{`a~4|CJx&=Dw|!GRc^5ZB69j(%084r^(va#cWPLzc0ZaR6drxxncPC z`~Ls7$+2~H|0>`2PMbP)>7+@MxK3M@z0p{GHELz%<I|;YZ-I)Is?TT5&s&(C{%&hw z5mEc=%SBMz*3!+h?){ICkDtFieDtWRSohLHwevtBckiayX<jK4kJs1Mt~SW6%*$H` zYQ>u7-`nG~VnxrpySrBxK0fyAef|IFhks|=R)1slZ`QppzVgxjg=fy3+01r)Yxeb5 zpa6F3ms_houfhpb^xdobovRzY?aiLrkZ0dd-n>)u`D{^f@#+uOhYWap=i9}eon^ZF zLC-vfEPc0a3?><GZ*2{pZ&!O|ZL~Qn8(Y@jUtd9Oz^^Bi`z>yjyuRi;>C27eeo(oj zr>D2;ai4X`<6iSupibNU|NqKmtx7!RT9;pIV&(pFxBPzQmlqfNCbs9@-Ie*`!a`6; zls-DbdHl-z>Tho*hU^Uf{O8XfP~HSJD32aJnssf>Ofj8^1<maIRu5w>gP)(9Yg+T8 zVDImDyHA}sabfHAxYebvuVr3a6Dehs;?X*h&Db>ak_#xqtNG1Y0czJbv+-V9<~#e# zWq<p*g==qJ_P1Z#Z}-cCnVs*-<9_>hGk)1>X}xN?e)CT4_q)Fyb?ciHJ@NSa>9jtm zoC}SLS{1vy>?Nr2{O9NAt9z@zZ{AmSa*}G*lZoynw{y3@+;mzm*weGq?$-<DojZ19 zytuG%>b>yQS65|TUiR{sbbiQmz1Wibwcl4}US4)<YxZ<dH|OW)=iXYg9hQZ!k9&1v z<6^m*4~|<iE;?yyYDVp?+S(^)yGl2D+nmk)2b<Yn_nP0kaG;U7^!eO!EmPA_P?vFa z*jl|Ga^S48e16?3P^#{?{WgP%nHkhTm$j(~h_C&6)%E_In|JTVK0e-meR03ts(rP; zU-{Snn#?C_wPdDo`l{5^)5QOjn<N}y*tvW6>toXSSK|MD5`X&S$&3B}|AIQ7+AJ5F znwWUy?PAtOZ@*^$|EIs_r4~-%FNgW<U+nw+?((+W+cNbHma(aI^XK?hRO|qyF3^zD z(W6H}ow6@)x8Kh?+9f*6w)&f;|3;Po_8G>UN(?c(K4tE&|NVCR=5?UDUEkvC@6-DG zbH2Q|c$kBO!@$PYws%|ZZ7EQ9xp&bbCHL8rCJ8;h=q_(M%Oo=?LT4J+<pb&I>C(x^ zdJGR8I>cjcZVt+d$FkS&4NH8Ldst)kp~@>O0^Jf47Ce0XIGIP%=*W$|)!P+U9twH$ z^zt@&`?^0pe=V!NtSCIKyIq2jk+E(6{{4lwbGJ)&c6L6WWB2b%?wo9|Z=3h}rw7Nx z<oL`mIM~tGXLje#ot};kj^sN#3PqQR*vH$a7q8m~D(<XWx2YswSrORxe7XPMJc+iz zsHiNEri@!#Rz7_BGV{yJ%g1l*tNkr$Uwzo1XKnO$sq1moYac#*m}ruH?M%hXrPF)9 z->?7Q6ue*B?WV|!_4|IUy11{l`f%E2$zCZ_qg|!1(?G_Z0F74I$y*d0*zy10@7`&; z(Nc19av)z8-YvZ@*)67P_1M<p{+0Jn!`8)Q{&~n>Z%|WP%bTB{zc_fg-?93CpXYPs zetUmE|4#9FTepmi6%U_1O9Q!J$HO-19{v4)KFukeR{j6)_ugx3qovJepUt?vZLMMQ zF`nawW&5g5|Ni?}{(lAw3yTEE)_ytLo}I<d!!m;R#V_}7t^e@gpz*R_<~)ZhUa#HW zvtoq?$n~~WUkvL0ehpt7y*=;PfktNi9s2j{|L?uHGFbia;lqbB?(Nz6@zv_}Qt~w) z99!pqpJABHBQ8FjYdebp&*6yub$cJadX;7K=fmOWcb=d6V`n-2(xsrspy2~SQPI>L zyLU^2+W2<=emv&h$LH`i&9En`V5uR4iNkF3{A-|^tKa_Lj-boE%odaH=7mpI^DTM3 zcKf`qTl^Rdgs<l?I`CTDt}VJ(^Vv6YZP?d$cW<|JHSAixV8Mf)*JAd6J~%I3zI?U+ ze7k2NtPIZ&nnp7OFsu2_TEZ)B_F~uTb(2@GUS0R=rTX75m;I|=ENs`a@U>_#%D%Sd z;ta!NP>Haz@bNLwNWi`N|FxwrE;w$#TQ>XVQ^o_57QF%tSqBcaa)So`-rm_6Y-wrP z)zfnYG+?s-|KImTrBC0-Ii$*1m3V;i^R>0n%fEan0hPBG7C2Ttof<A8Ba>5B$xy&{ z2s+ez9c@T>N5BH1H)XqpgoU5JejUAXc0Xw7cg1|3!vSSw+YTK%q*u{gb|_3$MNQ2p zS^_jW+^+22r(t9BXHPCi^wbBhUu&;?!~6B~XXBkxAlbB&r%naAxU?uM&*4v8Ep*CX z_RHtb%3wQJTzTs1GXXRp&44_@%)r3VK*0btCE5#2cQah!<>cf94Yh9k*VNP`A}JY} z{1@cLtGydqxxG9*0&dTcc>4V5)rk4?;^J<J%KJZHVqkEX>w4o5>(Zr5HSP8N56`Rg zRh+0h_g=i$p}MnmUp1F5T`C9~a1Tfq+!m0jI8j&h-mbkjQ$fK~$|Rfuq6f;y3gDO^ zXnW(z#OzyJGC?DofByV=^8ESo8#f|AskiTI?XNErk0!1BAYoaQ(weKHqLT69!NE_T zJ_QvNY?xQ|N^|OzDIpn~OI`+nnk{Cteb+{9y>w=#ady&okiSh5)}@un$;qt?kE?WD z8@+v6qQorI>}h%Xex~K#+T!{4_V(#2wm%*;SA9GxF1!BYr%y#S@ljE$4mPuEo0x>G z4qF=(6g27G&gXJFckX-%%G@g8-lt8)2Dd($l{Yu1XMcQjwCX`4`;{%3!AFlCz50fa znSp^J!@!3(+WcNca_jT|f1cZ$=H4<{8@c(I;I=(`_J~MHRb9KTAF;u~y8PXhMXuc< zLPCr5Vt2h*Iz8@^@p+rYA0Hn-efMtc<>mh2B_&(p>i?E{2Ko5(gsqENd2+J4Fes)O zEPU7QOk2HWO9*H{tf;tHR9gCVgkANw99CA=mCo&aQs#McK7INm^EzyO+}b`_Yb_O( zBO7(}^!y?tBX4a?ZeQ&C|KDHjFQVe&%df5upTBw9p+ioosi~nApg=ot)SxuQd(yVt z+skg;h!7PK0rht7*L?21wKZGa6Ew~!Dk{2k!v+J;K>c}}&pl=D@2y?G|6kOkDRbt; zC}wyT+4%eU+2zk(vqtCX^XI28U;f-P3)Ir#6jlrQy$_V(Gc0`gqjPU<x%lkt?5Q(n zuGHWEC+KiH|Mg9&r$NKXwqGtd_m#<7mxWwj<_qfMyuH6aUN?GMNtEy7W4)JeY)qCt zzj@Op5kbL+TmFHZe8qm*e76_x-mME;8?`cedmd;^&Z_*~8qMHkbGGK5pJ%J;`TN`3 z$ttaFZCa|TOPywadj9l!<=oZ1^XK1>bl<9SGHtVEnukt3$gBfL4QzAfp3B?5dc%ef zYhIh>-_!8~b-+|K&CJ4XZ_5qN%38Jf?4effr_Y~1w-7ZnGYjh$*I&0`ZY#HV*bY4& zkQu9HuUszJCvEO`J-&XglCtvDxpUWo2F1On>s|fx^YhmF|8<~_9H^--WuCWYZS?l6 zGcycd-QB(2s`QnLr<6fL!>z5^%Xh!u7d=_cH>jv+)4b|;mc3G@US_j>CxKdjd;fmB zUG?kb^3wl*zh|GEqzY;ketFz)KWpb}kON*>1|JT~%31|VyQ-?HC-2{npKDcm>Cey4 zU)$~fID%$N7P)qRc{V#=%iKI%P*4yw{{XV%`0Lo17!%Ow?4J*ZyLx-4Zr{GWjbA?Q z;l7xQ7cc($cwF8z?Tm!)Oe5Ea4<A;&-}`;WH_()3L-0(gZTIT`|1DnE-O+JjQ|f8G z9la}7Xq=sG{(evHuP-kb`_49tEvW^$Eg*F3yIJ5F!4>?Z&k#~l025gp;hCQt`nJ!I z+P2Jh_A<Y@RwvJ&_phs~>+0>j>Tmz|Nkn`=z=FWVZlK1&r;i^mURdZnb<(7uL}^Y= zPAQv;4WP11MrO_Oc~xGjs;Z*5bYgdf#O^MedNwV1b=X>y;%8@O-LM74FYk<%iP|<c zF`&s2vz!|XzP`S`I{*H@T|b}A-kN-z&-2m@!{jfA`Ry~#&9RKymNQdGSh)1{+U-_x z(4u$siWMH9e*T)s%_haqd~E;!`P^s5&M$Z6!NF$Gd`0HxXJ<hJfN~WN7|+hP-+%18 zI0FNN!{LWnY0ohVT{loN{r~s-*OTh=SLEN{H))BaaT;it64V@;8XmWjm0K+1`MJ4K zTQVj(IXPWf>Mg$a%O&rsXEW1H>i$&h+`T*d*O!-FeSOznuivld+11&3@zhjp)5=dN zpyK|A9k{rc$U18py>#i)UvD;_pE7&)>KivAa&K&KJbLu#tNZ)+FZR8?Emu@ha^=<4 z;og&wO5}@bkP^A?;>N41!^3a5RnGpDJI6OMap9&-o3v~|Vfi3whTOJoxwqBi<>hbY znDxq720=^W<xifZ?A*OuTR~xg)9(or1XR`4y(dkYJXxD%?WeC#U!S|KrmgM$^XJd> zwV98Obbk8&z1&7gNoiGbIH<K@qOh!eEod_H^Ru&2yUW(f)%{51mA8wrE`MjTby?x# zW17asmp@t*J?U8a737Q+)joUEyeHkcd-v+9P;Jkk?Rj^<+|J*hd1{L0uD{=IhlYeK z>FMd=S{$vZsmaC5I~7#WX5HOYD!MJ)F8bm7+jH!i6TQ5;K$ZK;mzCFM<(SRRF^k^% zMjn)(+D?9%xc2hRw`HPYVymLJ=M@zfUw(A7TlO`mUTJAzIeP4v*QBK6<gK~4&6X}( zW_3#^W=B9>T^(q+W%1ef+XL?{tC0q|@&V7XzMNj1rS8-B@7D_|yJft&u@N)_I)DCr zx!Ny*M~@wQbxM2v6ct_x1BbV_wq6Fcbv-AmX<AxFp11uz$E{cDsl-ev%c3Qq0SVi` zUoP+Z|L^zKl#@cWACHQI3dFN_N<p@NowG7g+tf7l`<>$cNs}f$dH;UB-(0KAe}8`d zIxPQB!E=^P<)$@ZtK0ZwR~<U!boA)amvhVS74Err^r$On5cDv={hAv$A}Xt^vwwVe z2yT$%E?T@8Jc@i~hT$xu)UHE^4}ZN^{oe4cHORi@My5HS^##vk-#>h~aAolFtXEf7 zKF<*r6<u2S`PtlZYtW$0GT+&&LX<(uLtNMHP6MyIc*P8Boa0`H0g9IaY9$ZLLV8)- z+D>8hS6$lcCahl%8oMw}IU(@&-rn6#v+Zhsok-dkQqd!0xyfmEOA8CHoJ~YrTpSl4 z-!;&1GiZD+cbZ=8s&%ouPo-@JtxK3?S-fm>IX|e>V@}Ju0V+h@dZm_{W?##Ac&JrN zPw!d-BlDEmv!fT@ZRWRIv1EzL@#ITOJo`$QE?o*L%DcL{wq#w^Iy=kM+c^E)mCxtx z-)9tmc;E=K88jklmVa-}#l`Ng8`<S9{Q3DgJ0~7oXy~j<EBp8PynT3uUGXy?R(AI6 z!)?5vMoaR}>C>k>IXj=<)k{fnYMIXtwkKlit66K$obmAtN=Qg(eY!dQd{{uh1gnx4 z3qU24zW(`*d0$^$1&vENIXTIke)Q<kl&Mpf%37CM-1_qV{{BN|j~_kSQuX!K=4*iw z5i8cLS;GYiDux{r%ldNuf|m2VxVX6V>(%hp&h31CPeF@p7A;yNA||$MZS?k6Gt=i? ze0O*E*RR*(q2;NrXW#RaCr>`loji5w(m#J{Dyyo(BFqaPx%kd7Sa|EZAOiyfue*~| z)1^z7vexWhut34p&Fxx5{f-S$!rMU6^7i)j?5C%uicYf!HEZ8nm%Uj5%9io_>p-&( zQQLA}PKi3!E4_SU@^Pzq>8YujN=k<`YZ)0B7X0&sb_oB!>(NR7{N>Z7bw4VY!gYhR z4_#C4w^_8a_<7dPPfxk{`R(&>&$F%en)L1M?d8*SqqR&-LO^4&7t~Z$T_?$0uWW5= zvzqpIAE>=6xj1T4%I2FXn{Te#V-M=A+_-e<(v<nrmnWXzvuuLLa~^>|amYQ(EWzNz z(-I{>vv^<6n%~cOd1+}^U*En5*{CgJP)BF#tXZobJV@}o1Zf>FFME5-^46Kz=IalY zffj1qxN#%v4ydGFuxP@GX<Yet@4Ycf5DHd5Az_*|#qQsaWKf&<)7P(|MMaw?O`be; z{(OB;P!Ppcy;KF&r|o>Qm%iVxUtj%hr~BUO?_taR=Bjuyv+)G%E_++@{cd^o>1n#N z?CbY|+OfS-rl$<8OpBg)$XXOQ_}l;8Qug-N((-$i?(sDrTaWcfCg0izs=HU*_u-Ac zyv#Q^Eo~X7nYzq(ww2uc`hPoBPTsv6+byPhsezIC%C_8S+mA<tL5<|P9}n4&o5esH z$vb!K&@eL#E5BPh9n{j^`{Pk}pBc2BytUw=Q|Y@qk?Z&W+Xb2yTUN`?z`*dpWZ8VT z3OhkT!KiIHH(9p}i;9*W%WPWy`ttIAv)o%HfnPycz#;VNs^8$gvqP;TVs+f$FO?mq z9=g`Z%)V+jAE?e*5xz=fTh!L9rLWiR_LHywvyqF7Yt?Qwu+-;OBHPUJ?yLaSk)Rrx zm-i}Ycz12|_I10mK{3-{wc0CjwfA&AP}L_SEd2E#yS#>`rsv+OuR-m6vR{r#=fC*z z@$uDIb&z>iG^d+5wyj>hI&bgSu(LCb-9ZDDpxmH7za~gfP;l4tdDT;<ObLlC1@%82 z<`#J-W`pJkUdR7m1zMT{8pH-I6Z!l5d-lUatzJGpSI(N>kAW$F6g5?R@5f`(vka5l zK+O`zX114y`R%VPaBNQ5IxThkix(MZ=U4`xoo&AUTofn<7o1xWbYqrT?yPtF|JU8E ze!n;C)|Qu%w^`WPU;q7nfB%w4AV)7)w<_qyt=;ACS#R&yy&F{Thu#D?`>s@m?n=u( z)+0H~IQ^XD>E~x=E{@!s7F!eu(iLz$R5J&(Y{=2kF<pnBkMA028H%?aXw50Zt6f^H zYg<}aT;1L0Z?w_U^5W#=oE{?r(s!jalq>q+!GpJUmA;ldy*=mVqGP?%@knO={dvCr zT5`YbGSDKbrAwD;>FQpcr0V_U$K(Fjeb(<*ypw|XY~`h#7X7_nCV>X(>;C>ad39@! zaM|wI?{|v%p~HQvB(~kTd-v<l=ks5KhBc<?MuS$6fd(S9v{vnU4T;{BUWu#kq)v}r zc3N-unq65Svm2@wdnJO#H9*zUqodtZXU)>ueK#)g?<7_4RZA^EzF4t(mB==^`agxB z@NQ=34{PU>P1zW+YPTL(_VOx`ZFaxk7=s#TQYIMzrPo20F?@BJx~#6eygYn$*xFUQ z!DEvv%vXtQn^*CO6V#b)OAILocU}VYLtdI3nyMZCYI=O#MSuIhOTN9mefsR#wTFIz zGICTG$hd}GtGp7m6%-t{-zoAgy$(uI3}4-*9=g^eX^cqvC1<CpOr0_Xv|#Yp{{O%2 zQ`6JECkY7)Pn|qD_+_ro9E-s4n8MbY+FDT=nKg>eZ5iL+-4(qhA|jG;Wkn!pxn)gF zjY-LifTc^8gk(&fFk!*LX7<ykPkSFcc(Cf#%H<(JK|u@8URvsXb!&F`%^b6>Sy#P` z)6cEB)dzB-gKCIoj;vixgsgQLC?&56T<rGp$H&K$mW0RGhWgw6Oj){pbIwg8(3k?K zD|D!pJ2WO{4I?v~hPnCmi)m+O82)<LE^m^4PDVF+n@?wF=dQ2UqGexudwZK!d`J)# z70tZ5Dik!BmUeE=%IEXz?_GQbT9{!|v0>frcUHOg_Czjr@4v>(Z?oX%=jY+6-$Bv) zplMZ2@Z)!PcY{i5kPnl8>TbWYh+V#B!=>9le?FhDZ8P7pcv(|(^VY<}Y+v8qjh;Dk zW)*Vp?UY|)PiN=FS*F<~Pp5`w9c*F+Egu!rjao8cf<WoZORk`F37V$umA8+3_wL;+ zyV_l#R`jpe>%Au>B_(Ysdg|pn&nB|4urRa|+!}tcXO+pOtw~3@Y`@<rE-EiyzhO`1 z=Vw-BZz864pFDGBiV7<mo7W^zKlah1q_6Mq-@mvl_x3i>p!ln+t5rQ$hp!Ji-X|+6 zB=jglSX_Mhnl(CaZ)`k#@!9v=8u`KddM}HLiD_wTuRa8d6b3!FsfVWB%?r=Wd?|Ul zU(Qx5KK{OzXwvrErd3}uVr#!%eRW}BvkIu|@$TI_E)I?r7tB;tTuz=m*=M$&KkDi0 z)7R&&_YDi1_UZHI^D9!3`*mCVLCIfgomT5wMrO7bXU*@I*ldr`Id$^nMQ;5)3mlu- zLRU@*T<n(l``g=Jphd7>e!ViuyJL}>mS!dA-X~+YTLol5sn67PH>>`By$%{0EPH!v z<$?tcpa#;ncXwAWSfEh*>*aFsy?a6H=0JUxPft&a%E`Tpkdu;HwP=x2YD!9o#9c2> z&%lg~6^qaADt)b$v%Y5Aq5In{YuOG@nIiJ@=g*U%(ZDKj|L?Zzdr*zYFlF_n6JZq< zJGSNAT$Db)HZ1vA&qdG-324lAwpngaK|#UN?a2~ta+Oa6Yd@bgkJ^;dxoGiX?KSVO zt(|@6&Ydk4ACr!6y1TnvTT#(*<Hn7XmVo--x3~GOT)DE(j9Xl9%KZ8BZ*9$fp7Hs2 z?v(AC_d!eX8A7&e_2zg^TD^MpyIrr>dB3W;vLf);lga*H?v~#_dHwqJ!rrO-_wTo{ zwZ-3U3@P(UhBZGfE%Eg7^Sf4j-gbH5VmC{-<)A_0?f2`VLCp_PJpfv#1ZsZN{rPy@ zdljhj%W!U~SK{l#{Ps5Qe^tNRxjg9hOtaisDl7fx+lfv)Kf}-&v=CYaw4h^C)LKyU zgNvIR6gB1dDvw{hMt0Y6<)_+hb?bNRh^VZrEGjRbK7D%lQcxpLJm)dqzNA(tXsCrD zW|da#=F(43PIC3nnIrS|-rnfFRbN+KVvz(Tp@91#nmKcQUte4M^_2GdIfk#mi~M;5 zx3=o8%(>Ka<j9d%cfe`wif8DqwAY}O79Z{y@TjV)zI?m=K4|%UtZpl)v~Y+GTe`tC z<-`Q8^SWZ)ptath8Dh}N?!H|hix&8;4!W`F_S>tm;AC_~`)bu$aLK;FXR6ya&^oo3 z+w%8(bPENmZm?SGm6&~bneVMFnUlM^yRR<umG-<e&$jx>qeq~%n^w0Xb*8;qDFib4 z)eNoHwbJ=}0{89P2P)#EOtVy0zHvML{cidEbvvI)*?v4Cd^HN<2~&_KK<ny{bPCHl zdQXxv%~~=&zHa7C4zM3Wd7>jDBdzNG{E$4|FK@r@&6_vKHFb2}PFIkr`~LmPmbI-4 zaqpMA8XjM}R8ZON#kJ`CweR3nu4(k;<^I<v``fLwe!nO9=+UF8(nY0LI|P-#+{#`b zn%xL;cYt`PW)5gE`rPt+7qi#zUH13)ckfA2+j2DX^WSIbg4<-TR(bDQSr`;FY0{)g zS9X<VS5{Y_Ht2b^3S1bz+M?CER#@F{Mg0D{U2is>Hp#f4psK3sImxX@;^3C|AUhUl z&2zIzJ0r1k=T1#UMMpzJ!@j56@7L`<)+c-V3rIx+=cC7uv)8O&0P6^q22MQ$T3G>F zkKNkd9v*RTS82AaUCoXtE>NKuU>W%`b$jZr*Xwp?t?~EQ*MHm9uU;_Med?jGyu5XL z_Ut(qF>l^Hz1e5WPP&4Ebj6-Ob96i}J=p&zHrJ}OxT;>0^S9~mtIMZMo91@Is$Z*h zEoeuBeBF<Qpnikrq@zg_Av-uq?v`GM29(zF!iXt{qPLsx=9v?;bc1Q;C6%wQulv8g zzCJuKaN@kWUzwmKZZBWH{Pp#E{Oa9qAdjyoUS%Sk*v==rCH=hI*H>4)&F|N2E-Eet zja_D4Ugn#1b5m;Rbq<iy(sQo;Iilj?*$)mhf@+|D|Gw|HUJPyb>Q$wjK6}<TdV5}} z8+a5vARpA^*!^yo_xt_->q@UTRjoUcH$71zZ92%iS30zOCj<rsE#kNP;m|Fn3mSWS z^7d_P;$Kh#)jhf}&->Jw>kGHoEPX1XrMo;Jl2vun&M46rZ`V2Gm$&|?T9F$ZzjJ4Z z=4Vh?Z@uN(x|W%pZ$;(jXP`AxyUN~bdEVNb?%!%A*1h!CD(AUVX2mWD{q6taL+2jj zYogO`Oq~+BV96P#w*k|_<SiDi3uJtCMaSXYx)xAt>x#U%=(ecsd25#}Q30(+nY83~ z{{Gnfy<ev}IXTS<l6f`l&LJV)+r=@}!Nn?`Vcl1>Zn*pYwH1Bxc%56^yHna)S5NLy zntMX?(z_`+sn5h;U$0f)^0A<8UDnkI*+YMP?}3u!f~uI18&-d-X3wwt<+*d`&Z|)Z zua*g0w*JcVUbKnZOT{zSskSt=WC7EjJK9@5Z`--5bG<Lu#3~o|tn#95*JQoI)9N;g z9bc|xx;kL31b8mhHehM?wo`^T8C5hDZT;=@e1ig4#xlm`NnKf(8M$B=gZOIKw}<{* zF}o7}nt%S4SIp{L-bO5&l(TMAmEj>)28M=RZx<b!b~MTI@hqKn7qf1ZsikHX)^xpT z6M6Q2p|n-|$;)S-F4~s3HR_78Re<BZceD1}x@NWpU9MKs*4%x>GZYjJ=gKcG7ra;f ze($E6r`&Y8xVTJ;o}4gFQ~vYo_4?K8ovuW&_dU;ecuvIgQmUfeFK3^Q82!YwgJO<$ zyZ&;O*KYndq3BQZ*GHd9zP^ZxSQ%)<z`(Fz+s+jmOly98;5z?)*Xwmzx@@J#KfZDL zyGJ>4(iOWi{(o<=g`d_)U$A}mI$q6d+pRB6T@-NFym+o%wMLlTHgBuPq6`cSD+<NG za+V$IkvzAGxzr;sv9s>RtQC)foFDeul*Z0}#ToU~CT7W%^ZyslIDYT?x8z8vpBLF` z3*L+R@bWV-G+4Fzuiv4ey0q-?4qeZitg2ieN-jU>^L?7M_TTGoUPhC?+%fHa^7P%J zslP9M*}i_eks>I1Ux^$N(>rylHq+~r&V;j9SIxF+KlxZm{qPQnwM=)v)|Z!0?!LNc zy}8`w>C$~xYxO}s-36NEKF+OktH>mHlF0_=6;hSE;~$7le>dxzugN$5>7J9~e$=&p zlRsZrH6JuWR;rM*Fi0oQEZ0MS_mTC^Gv?1S|F-Xd_NwzIvZG(En$|ltJY>~zySqyc zO}ZrY8Z<hwLhF#2mg<7<1y83%JV`DNU4PBd^w#$7tBX!<FAr4KH-GDK=F*b+<<~R* zgNzRq*jC_Z-6wu({cqn%Oa2)i+_cl`z17-c&X1ojWY@pZ@vN$U>bUks^`2wdprS#K zEs^_qXh6)W@;dF^eyewuuUwS%;mg6xU-QKmRVOW0@vQ%!wwtTVa;^Xa1H)GFMDFLN z#a9(opH5k&^1H>#)X4shjqQfDPJeBtOqjQP<^DIuyJbM53UfH3EtY?|qvRVKB$i<` z?fj%@U5luioOM$5!PcIazNG%%s&9JxNf&4UVe@KM`T2p-zL8tpZ?>v-@fC!=`xbvj z@3`W++7-XH@rD(yT)4k}^W538%nS?*!jy6zuK6Z^{^FahoRgMRTmSZ4W!nhaJ9WtS z?bC;8S8p}H{FU|CaI-h44|LAq#-T{xIorKe%bfq-Vq2ZuarRBoIRU{JOE3OComci} zedWhfS{i0Ml|a#`bV%&nhN}OZx?TPgyRR-PY)(3(_k51qm#(mGwR>LYbuWEc`unUN zsAgYr;L3)rH9w2)Ry^+I;^v-wH0dI!QI+_2@ArG!-A98S8Wub_z?FOH@@3PU8wNjr z{?t@Za8P#Z3GnmtYc-4Bo_E#sdW<qZKfkMsOU9)op6BjuwK{FU^S9dZrf>8AJIYRL zn`(X5y|{BHX3ekL2ewT*^=|Lf858r1Tp1V`4*Z`XwXLYQ`0CE$bl<sFU+3hq@yUP( zR3C#D>20XHu^|yOp$;0}+6ftr1Fg7`dA)hlCeX??S6A1}!)?4(Z?|3tO(%ht1p3`x zzbohKKjB*iKbG8yU0by#KYR1(oeS)@a0m83Yt+)&`1&hr^%=0w3kpm(e+Dg{yB=Tv zxAOLl9JAK8wt1zoH8p$c{{2k<`|WoAt9yHQtGu-T|FfTsS854p7a<on_vJS?H-qM6 zKvl-Ocki<9@7oI+(lx(VvDiuD_ufN?oJ7UMz+;V}h5WDQ{hu@I)!#mCC6PDJ6N^m6 z(>6wYdGkPmcjm9v`|g#5C|9|zj-4_8W-6#Qde*k~RK%{5l}*jfS62ioe|>v99JIkr z$~;fU6SOjriHS+Z(R&hTQR?cetF~ree>E*S@8YYgtFP`Z&)>OwxAm<fM~}X|8XkZ3 z<Ye`$D*_iA|C(b_xJb=s#)Cg|SEpW+_qzUyS^degq>CrAqi4nTJ$n3D`|h__9Q=Q) zmN-1Ni(f6iF1O}lEoh0kk<q6`@u2iE$9pYbG-#>h+U@sNy?BuUS}bth?)RE?`~Ov~ zjoTZgr>E!T=NDE`P|$jP$F5yk1_l8qPoA8#<jIp1S9kaD3}GRmM-k=QHkjt!vFMex zzV^{ZTiaVuQ1I&B>aFLZm%DBKcSAQOk#XL#s}rZz#Y`%>9$Oyz%XHm8MXu_CUE7v; zg!9)ru(q4UhRjD^va@yN)kM&!NkPs1jmhqyZKJx;+pd7R>+9p~mw(L$jlf>r_wwA_ z%+C{fbnh3(=!JF5?b|kW<<=+9r_9}E`9r@xe74_Rt-rf;)z{vduDf+_b<;X-&51{Y zc3xkq^5*)R@cBVeQBvS3oU6;i+SgtNEzopybiB1afBvtpuR$BvmM&WsmJu8jwCKy1 zlH;Xu3l}c*^7LGJVcDObJJ+#hcifBH6h6shiMO$<**Bw|vy6HVFA}-8t9I#ab1j{V z3q#vWHl0{C>A<rtzE5RIpee2cKd-L*odas7s{73exV+3))pO&<ji4p2ZM@Plxzlta zm3H4<H_x`(>XuIYzL=v&|L=bJ_E0PL)n&f3H_vmrA@J7g+@(c7LLzl8t$2NAf7t3( zdve#k5_zZZ8CCqCh3BvVsAOn3by`>F;zQw`Rx_rpW<FlL<$pzA&}Ocb=f=KsQ(v73 z^YiQb_V)Jkin<RE96_TDjg5_<op&vq!l1E|*0#2+|Ns7iRz`qkDvusL>Iv%hn-n~7 z0Il-@HO4?&5l<-hzv#1m7Z4FKL*?Z;>-Sec+LMlO*nU1^3~CoG^O?Em<Ye{Po6c{& z$ga)rHEG>@fmLF@S?_DNYAucqQO>oVw(`mwCt07<Yd`;HW?*=wf7qbphs!*^xhJkp zocz=4yslNY_3YK5XPIn7@0|$Fo&D?N<+DrMv|U4IN^QHgK7Re{b-T}f+*1?O_3&_e z_N^_Mw|14T2JH;&>EUT@ZOuH;z*zNi>2$3afAB8CPbZXLU0**RI(xYNUe)Q1_wL`1 z=N8ksup)3Vc*!#>>&u_d=i5Ku@}Ac>%5UMmyK^)=r7mj!Vp^MRuU{Ts%Ef=7?XddR zZwb2=HSbAX`Q|8SYqseD1D?0m^A>Mqzg()cJm~<}m$K=zyIsYm*4BBR*9}VSjAg%6 zRH~pGp3S#pwRcLxE;qIl&%9o&dh5d*UHj{c<@=R!pP!%K|G<oinHe;}K4-h{a=*D- zl8$zDuUoG;W3QT{t7=&(-}mtACw>)1rEWjrcB{(7dF9Pks|nLqPwUBJWN3(b^r16m z?TzWrI3nNag>B{h8tSrO`621bxrSM(+oi4M1+Q4F{&}mmrFW*KYgD;GY;<4B3ir<r zv2v0J<fmnCv@&&MTNR$@xzaAGIAT&s{rVSGpZTv|zUw;oF!PpwA3WFEPFN=fvWQ{w z)EjT3w*GH1Q%&*E;*N|}Vk)UjX|Oq09JSzTR$#~ccBel!S4@o@eg_qAdFHU|(&w%% zN%6D#=9~$RsaC69y_O@I_XdCTq$$&aR|MGe^S-)q<xSD5(CaJQZWWn0A1~%Aec>W! zEX>5faCy!d-An$~lS*xN2TZ!MapwMYSvP;|QGA`FBi0?&{$o|@hW;{{)0Z~wJzo04 zWu9H^^aWy{3fx}qaA{e~cFKTfZ+%u$PxZR4NwdA@&YJP5$>wg%m6eeVW-4>8<hNhC zx@V*K;%Ekj1;<pMMt`}T	$n`s88SRrw?*y-Fti)khcgJ^aV@_4|eX+moiuj9;VM zH7R`d>eVZ=LZ<)v$|*f{+cSq<k0x&dX_;&L>UnRCem~EI?yHNIoMBQ;6PXdq$H0)0 zuqSEV)mM+#Y3Z4Y+&d9`xXLB;wa-c4n%rNXMFqR~K21|x-IP}qm8sfOa8<2kEnC*H z^{I=aoOicrA2@yYN!Fahx1X(=v25R@CHMK3&yL|`V94;OyES|D0_ph^6uWP={K)c{ zp7!bEihq+&<>cw@+87*c8rY^2CjM3@YYB6v<<)!qtJ*ePWl&9hmi=*Ei07pbt7pxQ z?wMTL&o#yM(nH}&ud`_-+zbpB_pii%d%1u1rj(5lS1&CODSYevB&qb?Qy#Hy*Xf#` zJFTamoZ$L-o7(FSoiWS5wx3eYF?E>#zszN6nX~O8=F-TH^*5hdOx?eHcC!3+d8^DK zQwD|w`+irPP26i%zg<N$`DspRUPzSk_1<WerGJ04HN|`i&61e4+w`QNBKsNV8(9fn zUT=Tp+!ge^v|--Y&rxeHm*&Tn{ok;6rKQ!(@^99gnHd;jR?Xk8{!;#a?sS#EE9dqb z)&C7KwX&bSH^lIrx~S-jr9!(G?u-@=4Ty<qW_?i7vX(9F<GK*lbWx29w_};DO?s-0 zSbpA+3ErP?bLNE@1H+2CY`!@clIQ16OZ2FJC%E$V?eP0965@xmCbE@rfPAuv%j?VM zZz(r<4^N45xRF(mw%&Jw%H3<WF=p4hcW-x&y{5Y=r$pP%GP=@LRV^G;Y)#&)d9&)n z;jda+8?zmD3+%O7(!6r}oR0;?7eOuetgSB!s^(pjOIT#ESzw#ggcjk-sD00OsANX; zYfN6fGBWX>9M{LqE3f2byuRqO`7|Q~!&jHIx{Y$bGMYDWdzH9;cB^`Qe!6w3QO~KY zN7=#qXC!!D+U5Mxs$h;J*I9=fSq^rQ;byC@{@$e4mGdUG$kg<7(#93pDK}qSyS8|y zmgd&kF@g*XD_*}Tb56Fuzot2JXO`H5l`qRnC$~qxwJctdyJG&X7Iu$GVn>%3mGyIS zMDw~Ndaiu7CO<+rdCs~}Vfmj`JGA!i2-!VpGq@pnr7&Oj=IW!ngPy+2y831Ju9X}6 z&%T*-uAubwv8*?5*Zp}Eq<gpa&YL1BnL}aB8w=9A{GNzu9y!0PF1Put-f@wz)vmEh zOe&tUg^W@PHfk_1tXOpPqh?j{#W>GP_U$DB#|!EwYg<`|uMTCt)p{aHbN0+if3Et1 zb)GG2*&cO&byxM=UfMljwfEt_8@Ka+p1iv|^kt>1Rf*F1H$@B#4zg2bOk8g`KYyCa z-P+VCd9URX^Blzm-aKEZy@*NG)4N>$dC4KED+TtY<_evXKchBo&$;nq+q;Kq;mLZl zS9e>Pe4eb5>y;o?!N5>Z==HYEt$tr*B&+HxnRn~!?_4<dW|G!Y_mTxoHK+X4|D;|o zJojOxV#`{#2djDAQzb4<)nyXBdgJz+BA@G)N)BS(B~Mc9%EQ<h7{pU=U8)6@y7%7c z%_=(nw5WWowEXheHDbIO;##X+Z<X7)vtKSctGCi|g|s{Ssxx`!UyinI>NNZpa=Lv- zcGvv&*-`A%?`9MzgNv+5W~y_pJPE#@xwoR2-IRY-bp4UMN7=<^&h4qmm)dN6o#9ZJ z?e=F6IAuN0PhWpF^m=(lR+;5ix1aj6Y&CD5dcGx<fuVr$ChO6vKby~LZI#}&v3N$_ z+goSeOj`A%>sjNcjXSlB_eV$z8=cWxeor~)YH_ijZ%<+Jbc4!W*XRAVo1uH;ymKO> z+$QNu|77loGcXj?{r_Va$N91nl&Yq;mrOXC^sl#j^`X00SH-PuQt{j`>lI$+xbdXu z)%=#VRXWD|BR+3a^?W39XtSpLU8@PXQ;(iK{3MHk!6A2R&iTUHZ_zhXCG-ER-2BJ( zuFtv`mtw>oEly*cr?pW!YNPqtH$|^Z4~5x&J3P%rblQ#5$c}!i>zAtSXRLIcu>Fti z-H@D!Czm(wzxkAbp&?3R^@51{-&w0wUfx?hYjt|}F}3iLmpWqI>-Mhc)Y01g{o2Hm zy!OXBEo-ZC&i(rD+Y=bxzH9Euq>V2=onY{sl>dEpXjVE`2m?dF#r<_X;X!GQi=?Vw zzHH1rqqqE)$;YiLlQ(a&Kc;{GbjXKuPB&I9|F$$O`}9Shol&|{MU{8=G;CJelKo1( ze6`|sH{Y+(NsSOkJ^8+z-%sk6XWYAWYT+S!*X7)dc&8V(^r=XuzgOSQr&qjN)>ge* z-FsZcv-Xxr;Dr9OPqMP~&Ba$o{g~og{p+vXJ99<`hEq>Ore(y~TGxIknU|;cN-VUD z_xCGib&J!-IXR-g2CTe$Vf*Y;hpw%SJ?y(~*|+S6(OQeQMC`uQwe_h-8^jq8?td=V zHr(tmvGMEcF9$Ej%1J8dmy4%96VI+rT6Xj473-F@RT*FZ34?|c=C`l@b(Cdxtl!$_ zFO{AiTR%Z%@BU8<PF`hTVA!1NWwA1HHNWSif0f?tRpq}Pyx+Mq;;OP$z@#nj5_WZY z?YLN2s+4opIX>5>G=J^6#7#Sk_*b4f@#}50=cPTlo?fTUm~WS0U`UwtC}{Vw+P%JQ zig&9jjbktG>b$9H8QX49|Fe3R=K2*Ovn@|Aj}qMWYUZ3nLVx$zMou!>BE4K7EUfSq z<JSB~>x6bM<PVoO1NGq(CjDP$u^{&3&8#O+mp#wRNH4QAJ#;iH@XgBXOJ*{5EB`zS znykIbo+J9}8UNdpro_jrdZCaXD<_yxW?6cwcY3AwB)iDj3-&A$n!K8kfx+}`K-9Wr zI=8eve;wz2EArxPUXiQm^GyQsrXM%1TybTcFQ@uhz2)~5a;_T3&!5#=ka0cjPV{S~ z((J6@kYxSTXX4gr#ViaAyv>OczmAvR4vk2<Zo0O)#G83{Y2VSL!1H3M*Yk2MC#__1 z+rEl5akZRfm688y{y7s=-mMK~)eGx>w|mu2mCR$Onl~B$)ns7cJ?4LV^46sMS)dN@ z%V&JNpZc%qHti98@;J_H*U_!fSDQA3_SbB;44hPw+U?M4{>f<PtX(hr?<zmZF235h zB}Vt|<g7AF28IP}PsFCZI4WP}HOVdRcF@`8J-+Ks$cS|xH8g(sOj%MZrR4P_!ELWN z4;y^({keCmUV2i`s!tntzUq?`oHT<?j-jFL(b}WcQ|E*(=y34=yVc)&^J&A-)oOO2 z@_&(#wXtv*^Pw=?jmn1Jzk`aOyvw?Jpl@N?^x);Z`&aE;Blhxot-8qkDXAcr9O(SE zB*psQ0jr10zI`glzOnu6&%ZCOEmM}%(n&0N9VD>rRcF3`Z`NN$HJ3WMJhkxP?XBjY zE`61q<u%DJp@f^Ep$aqv@%Z*zt&P&ZoOcU+&6Q3n^W5sRIzgVbYUk<=N7m`O8=ci# z?x&n{m3e8I^Zi`S-ErNWhO3VM-MdJ2YAk!X&F%}J;-|qF6mHr4%T6CYyGlGSN8<aH zRXnSYF4A5k?Wwi9Z1s*Sc}1?J;)$!}BDUK59^cF@`rzrZZ2i^$%PrS)-d!ZM(%Yq> z%j@m03SM(dHiiZJPHJgfJ8gf=dy?GS+p|s{^(&6tu>Oxt%+&apRdYLI!U98E)>bX3 zN$QcdGM&0x+y2rkqeoX>Tsxl4SG=B+f#KCmbFnvpQGN@fSSnvPW-mIcxBS}1DBV|L zp=P_bDn4A|wNuq^>W7ni`c7+WUHtR*<fJPP^7cK?xn9l@I%9vk-xINyzk@HoVrFRA zmG7Rk%r2(ZW73yLXJu20b8k#en&Z8DS>30S;=nS;&Tq@oX2<%?b-A(XvDiDGz`Vef zN=&v_O*c)v`SgnRI=wJn`_jpe`Ri;o4nNShVqmyZT2_5?iA0&R)SZ<ptG4nP?Oqaf z`s&eDdV-9TmhiUwe~Mhe#SvW^^HZl~dr9Ush4&@za>~DSOqssByG%7b`|3a8wCT(Y z40;!*OZR0ZJGJe(8~dgIpift!;@m@jpFT?pjPjevH~)n3?m1S+ufAalD9yBNjoN4K zJE_EYxqwyc{^hgtUW=`ZT+RRb?^O2EQtf}gSQ#8*r%afzp!s;v*H7n<t9sV=d<=T@ zZ*I}GR;G_1Kl<G&I{T@hIIunK->oSV7JhB_UsX9_`%TrWnk{Rsa^6jInR<&C)U!IR zW|uZSIR9>W=@z?~;t21urCI+!%G}FlV0bm7rG;f{Z|B74SHGXw{+d_IsxCtR-q#s% zTdeDu*36kBv;6zRoayc?8K)=m$eunC9+b9k*01VWu|abkZ>&1J@8+4kTeF-#E98I8 zmR{ugQFGSE*N%H_mMp%h%E-{rJz?6kWkL6seR^vZG3m<w+8ML{r1u5??up;-V}Ewm zqNXOM<==vZYi#daQM(fU(eozA3(I6Vqo=ywShbi>=KRHJ%92GJqe`5Y8*Dzk^1IuY zu4{{ah}3R<IAfm71vkdHcWKjE7#Orp=1FkLeAuAUeXHfyt54q+`n@++P27L^_X^MH z?j}JsLEFB`o(~Lj+<5cp6-l27f$p`{Ss|}yU31KOlx@6o*01-c#2ULYUoHRhD5!Rm z-a$}1>ws%SkwN^n4cm&gO6+QTy?*tQ&h@?zdu>uBE=^OGOq(8@K0|8TH2wH>pvjfQ z#KcVzI={Z%&evXJ&f|RE{{Nm?X1QAa{{COz-;b~U{%-9BHCx-*!)?5i=g*(d#KdHh zbfm-hT<=}bDN;M1Nr4VsP*QT5tma$vZJp)RM2Y{iTPFl_WVakmD!lXL$KlZS(3mW9 z(4a?vq-3S*uZ-+zDl6yKuiTS6=SFDgbayt7N!!%ZR<`szO-;(Waq8^ZP|(ie(pOhD zubXd@Iq6>2YhBPr=<Mt3K)W;^J$j@y=eJeP4Fk~J73kQVJ3EU(<EG%<G+!elBSG6r z7A;z|CGjxZ-fy?ErR?kWfVOEbe?Nb7j?akzr>c2-?!<m+FH=mLemUXJjh!oJ{kSz{ zPUwQ2(K}BXGBA`L%>G=iz57JK#gEQeFTI_1h+OR53o1<(3GL>4TGSMiI^&mKZ2jM_ zRX?9jFFmchea^;n20VLzKAT<jZs+ro&u7h72QT;g_2Dr8)EP5gNHBKy_g_D6|9=f= z_q=WOw~+O5d%w*8|HmD)r%6cov>ng+dA8B6uCBixH1l8CS6dA_6szjZ#^a!sUss;2 z3tRmuaBbsT=ciB4#iwU=oxSS%ecrB<AOGuGAL#wdz_8-!Ho3C}bN<cWmoRJ1ok?FN zMd*kf_wD<hy4&Ls@7@Vf(w_WsHY=VyNdc|t*m&mt{dn8zZ&%=JIvgAtc9p+>mvMQ2 zeSPHGu(h$fuU%YL{{CK3`TzSZY=wn|xAs<V_nT)^d2JszH}}-3Q$rsHMvF|pCA(Pb zj8nwtcdsO$?l}3eEBLzwGXulc{=0cE<nO<okmzyUt#Z|e7krz&SBc*;{W|&V)m3+d zx^1Fk6U!{O#;xUz29Hcmn9#NSWNS-{#WhuRb!`ia9fzvI!^2tG*upZ3x8?rX*MAwb z{OjMpe|_#QE=QKW4=|0~_k4%nGtt$Z>wUww=H!%F^7ieYK09y!qBj*k_CNiaJx!5; z;nigQYx1C+2dWX@`RxOh8#{JJTwOSGzskw=zXgiBS2Abi-Y~knqww*RnKNHj$XFH~ zc{54o+ma_Ij%Ho-oqPDnt3&<gd6cVMPan;?xc;|a#_x@ge&2G-nbAwa>+h+0N_}oW zE%M@JQjzOd@8<>ektrvXS54-dmm>A!^UAIBuQ@xPepf#Mw5_Dl%d0CnHX~z2P;jvJ z8huU8z^baMR<rcm$KL<8n0q#D^8ESnt?s!W3+7LY`kiC{cWF8IX79`mhombr3yv?F zw4{8xya8wrXu+=QVsEaU+>^AG_v_UUH#9b%URe$*c+RZO*)&o9+ml%_zHh^_4~LbM zY;kgS-U?nT0y<1Ac6S(Ttw?H0O2*+f-aa$$X*v_{=7pc1XDgcvDg+)q`oHvDE4TP6 z-`QqaS5^e_zV-de^=YH#jq``!7)fnu_iMc?zg_jEN7Xz~tFoaex-aF$<>1Lldn$_A z&#@Fuy0$#6ET&Q=eq|)9c*fm=nO0L{u?$~=))KwAxcKX*)B2!u0zi9B?Eih_2aN-s zn4mam$&48iyfPL6pc818`OjbX=uwjGrxVJ%9`{*`h>59rf;QxVw(Isv7&?J=<88~o zzfLoFS;nU)C)3^(Z3QhMj*2?#b3s5}K3@6n6;;_;KUasZR#<yy`m*oga#w!LzBM~m zh=GAOZspwz_WN$@9iEW4chAf!7xr1PL3>3rj6(`amfIY<{c^Es``054W@*zyw2=of zYu?=0IB5xJ81vbgnV@mksk3LVZkMa_kd%~sb#?W0&_qRL#h?6;^lxu&f{rA(vOeBE za%~u|tW^kTsyKP?{{8zwrze269z}1@<Kp7F^!dDf{KL4IQeP*hrd!93XxOh$a}V*` zA6er3eR_6u#?yT!wf}Al+TPkeRqFSRGkTm14Qy{e-|qtrL;SoI^L4vpE~s&PI`02m zn?tuVzujW#-L-D2&7B=)?@E@nt+lKDHRpSrt5~<I{=OfJ;%Yt~E#Ah-!*fM_eofK6 zI;+xGOGLH9LUx|JrKYRv`?IoA>f4!YuFjm7U;aJ1u6x;k^Rkc~GfkGnt!=upaOV7N z@~1DI32pz;&Bwr?2AZ~7^7H>}5#<}xz4hkk=AX|p{aAGI;~k~i-7jandm)%v=DC%x z{K(qFPD;^Qd$xY|kN5UW==!{QV}y>>)#X#==IsqM4wt>;yf^y9^}}c1Y+_)@m=HI6 zzqjOawWB-QJq@$k60a|~7B_3FYP9^Hs(|hBf{NX((z5^M!g-jcE3B(s5oPu<tjw`9 zZN0Ans8b=eq?c3u>&^Vs?XMDpdS+d<zvX@Jo!+g<lNO6sXQ$aU?rKpM+`$sI+Lix% zrmAOE{!vF!k?FHQ!!Equg)3tp@4KaTctTqlZ+cLV)U&sFS99+wt9TmM*=7`(Zskwp z-r-_i&KbO!!GGyfk*ssSZWS}<Ffd3pl~0$y@NP;DYt`=8@0*j)=q-2L^?lW|O%Y4t z%jB;&KK5Dht-3|`fzZyK5nrcgpMJOdYyD~d72tL%1A_?<`{g3j)Q_M+mAsC?1>1L@ z6gBlZ+q~!McHa#uFAraB_g%NFOfiS?>I46~$|6r5uUoAC`Rm<hE}-$J1^0}3oa_Im z&F=Dgvuj!Dgtn5*v@%cLTYJOJr>mTetapiIJ^D;6xLaUbL)L?b&la(-*Ob0nRedsU zs=+Q+hKAtUtsiHEy|q{5H(&kFa*6Wh2Q$}%uU6Q~_bo6laOJZ#_Mq_ywnXj~YURh> zG%wtaZTEX(2+}CL^r^_Jr}E`qlia@V_nFwc*Jm9Es8h1bH2bRJ)LZ9k_3yT|Y+wx$ z)-Mk~{^DA_#9bza1DSF2b_YvV9tE{f1otjFtH-|lPEn=t&&nNIinjjy-*}nso)gu$ zfi+}tb<*N1Cr<me`#pL2TNgB#9dLKrTg!F%=IW=CCdTdDy7<nH<zZ_dK7F^!{(Hw1 zm9r5?O+E-Ea<2%xXBKXIV|PtSwmfJ6CS>uRMM8i7&d!~5YMJzV8Nq}+M~lOEHwJEs zS`z<#?uB<xayFkfluhJbk@o$FS-7&kxvbCWtNhWDcbOO#?DC1+67KH*Y;|PA@_8~B zj=d==5PR6W$7Dh53YE-ftDK*S1#^Q!^;vT9Rp#aE?p9@gw0pOkmBGREMx9RZ`?WgO zrf-)jzI~coY`Rlv>6aYNvjrT@FlrB04j==OjmTgD}tjRXdsX-YqrI4Uf-F_!Z2+ zpy!(CxpLl|&8|z!oSUspL+@`>Oq<^F`GuhDiZb87Aptqpm%r|t5!<&Cr2WT@n6KCE zbX7fr#omWH7Op%g%E%B<{x|)j-CM77VafUBdn<ygH=jPp`ln9nM}L@n)`jaEgtsxM z?|gkqqxEOChUR7m`Sq4Lpsw8&&*=WNj9Z)jPFga(y(A!6e)dVxg+_U=WR@Mf_s;8# z&V{DAnrYLMr4ETbP?5{itJ+ha?Rn`+{5Q?r3vPg>*jGf?)&F|HJ9pNrUwyu3^*E<K zdH8IRb@jYiZ2zveS@YT?au+OG7<>5YqR#Dp&qQDE73KXd&db0M`tjMKy`ZeAAYTp| zA=`ZVpzE&Jr!;m(>Hd0q!86x>T4tH$GKCyQzbCJft_s&{%%1gauPFPJdAB#DKVf88 zu&K^^%DVr>bL?&eHr{)u7T(e=`sn#W$K`Iy>3^zD+)46ry1_K(%`d)%uP&VN-|4!v zD*Iy`IMZA^t*3Eq#(DG8c~j=98f|c1aZ`0+*Qw=={}a6z^`(o?itgd$h;Eo1xmL`! zy0%B<<zv(Kt^X_fz#+W5_kZ2;zIkWDE0q0v_ph9L^XUVj7`dAsbCsDwLb9%_XA7Uv zTYgM%TZ2?V=xT+p+0tu-b}#JwTs9Ll)3EhgfAr)pSC1{;6t(2!_VS7A+h^ZYeJFId zKC9&Q<E`zXA(u8RYgEr+G)=j)Kw@WvZj{LUMWMehgXYE?qSP%nJDjiE>^tepb-T4C zuAdzyYde+h*ykL~`ukRi&F+BD+f--9`t>U1Fq$q2-O&He%9Qoh>Eg$sS>`_LI2amk zEnaeE-Eq6yOV0dBD$RNJen&0WE4%XW)$ev0c?I1x`OtQ;z>XQ@?k^SpPd|D6aMfJT z$X`{D10f++k$uu`t@RAO{BrTVU!R|T`s~p0E5Dwcn>Vqjd}G$>i$1wNCk%Gakvbg6 zb7g@;emSV7QhB-c=kBS&5lNtR1vB!m{xkWT?s>Ck@Bdv}7cT;hV{ly6J#l>5>|HIM zlhW2%rQ{i!c5Gn1vf*L4Y53=3ab9Qju1s--tP2PR6}Ml~XQxVBdV5#7q<DH-+H@B6 zo!?hIo3v#9HdReS<@<M%vN#gCS0tK+i}&tdxmV?7b3A`$dC@jdq$TtP?OwPsJ|{4% zY+)4pZ;OBRE`P5qoVmZsjeXUTyo@kr$-7E9jA}0~t3?#Pbq>ig|I+_{oB0ZES4IX6 z^VE-Vpvh{vys*8s>EV^TcF%|vn)Bvhc9h2?yU6Jm6!exW<S?rJJkI+TG{>~7`Q@*? z;zgjbyMV=F$CtlYdo=ZWrthAui*L33niV6M<#d1B!7RZiYu_{p)qcD!xcPLU)giHj zNgv$es<!0c+_Fvozr^}AO-YlrnHUzN$#|W<`r^E~_oTMtZZD^uK73Y}!}M6z)))Wc zE>2p)UuPTfKEKuZ29wX11Ev>2hHjbTwD;TRJW!M!c=@Tz%jDBz-cx!Sf!kNO{rdf& zENyy=l-ZW-9a5D$U%oh5bN2qkoH9#4*BeYeDaEB1Pdi(AOajd+X7kShPfX7_o@f5$ z%AB>grp{Tbw$E&@@tW0lVt-oPx=^uew?$sjpZlWhKI@L{wAjTsIrgfSM|q5(qUW#M z*Kdae#AJcu+~WA`?(eUT=Xw?uZ+tN~F;?`^^TaYwgOhhR27*#euv43vj9q4#rJwT+ zrmV(v_Tw5y&M#}u+&OE{gz9`ohFA07o5>gZbbMSNZS|__S)*Dwi!tl(su$0K%`NN7 zf7VT2T_|@*EP(q*<&Ky0ovpmIr2Xy}sT{u3#K5q^ZMKl#tCjlOy(ay;w7V5FxlrV~ zf>-WUtQqg0rn#E8>TQlc$(qx=f%S^e-`lM(mYqx7Bz@^}d|qfG=W<~thFANPUshJV zSj?-XwQ+U5&xUz&H?F;z6yUvu?_=oy83~eYU+zEs`uUdbA+dn&Jq5|urr*l0znhZt zx7uzqNcXlcca(VlC(P|j7hjdTV*R~6kBfFj=%!6?je4SgecKe3+PxoV1a0Q>S-0$$ z;I@XSB^&#F*Ymwq@%;6^t2t_?`B`w8I_uA(pxzl@XY(z2x+=0^dD`9k&UR+un@>CG z7Q23SDDBQ#vM6Y`-H)#mZaxjMJ|q@!`b)m}qC{I|RZssjH`h$w>8cja!f@cIrsmey z6aCGyf}Ps_*xogH{ZD&FrNDEOPgh=Cdt=%@H8vop$n<Kry*|U%3&qX1Gru+pTNT)Z zKi+q5S!Q|Z)T4(o#TgoIozF7|tzgUixGv;o%-X8@it?>o-)tAhg7*MsJ>%*7@#BZo zOZL#q>vK0mvHs48&+4;_oc+LJ>jpc89LB8^mhbMqx9f4y-B0J%|EhG~WcT}R$G<zu zmq5)u3;n|eUk-h@{_?bKanZ)8FW2VlhkxJf^KssU2@AFv8lF0TdiBL$MMbZk_mr2; zy_$8=d2jTKm-^dZfku_yUp<>zTxz&`O_t*grmU5GXa9iO>s3#e$5uW3E&J-mnRwY* zKWE2^F)*a3O0>oO%$yEN-eTQfe&x;;y>9nqP3~osjez}0N7hF#o1f+z=;-)&cEiGb z5|@_Fyce;-{bVHTudKs{cW-X4`!jLo2G%P{{IQpv_RIQQe-yh?>gPwcv$b2MGwr!^ zR*##Z!PqBqPx$}xtY7cy?_LUY*2^zDc)i7CTS&$0Z|C%UH95b2U$*mW>+aQ|{9p4H zia&pM#oGJ(%Wdx-78S4jec4-JTSIWxr<!-*#l&$x^v%LnyXOB{*_~HYy;SJZXOm~2 z&sNp{5Zz>ytH-clngNgVWbwCGqr1O*O`5lVq3rT~i@pBcQ4V^qb9XtknfP~O^p2aV zu||i)r1q@&@_5pc-S2j-KKAR&7tr3yA6~3__4?+%yH~Hyt4*I;ce6I;f8-|r{_pv* z%%MyS1$AwSFRson&;GS()5OL5WABH3|K4S`Q|n6Tymxw44`zvh!}|I3+FegSrIr5M zm(!waQt{I=a?+B6^*?vtDtYzn%fBF@Z`t2g`)lgzt_@1`o^-4I=j*46vR|%DkN*1X zk!_antJRIN=j!Ba7#K_s8u0A3C|{m7XP5aU`@D?hf-Jf*i*~Q;0WIePEy}RZ^S<Oe z_wX6Lmy<xjB-QSE^+e_4(9-Dd9J#i$R`y?$x%T3``OEHxh*B<ogWWm|4$L7zS=Wp2 z=Uq?VFFR3XugQ|;cl(S^Jy{hX|KmnX>Hn)2tCAne`NnSYH!sPFTCP8T#nte+pp7)3 zgZ>uh-rm;tm6erM$~0>VXuX%bygaY0Rfwjhrs%ebSa&B~-pv%!EuNRNJX=3|QB%@x zw=+@ekMz`l77LmfupV71_4A`!?YG;4kvf-_ES$>`wIb~B`YgTp*{jQzr(_>IH-&ru z0<qOsL7}uge?52;^V3sP`$|FkLqG@DTNXddxVb46v{i5I_Is})a33F$_J*tAWK8Uu zs^8~MUsXF2eta``>HjnLrv#sn=VxFrRaRc_arj>JYS)jNMde$wZf#ii>$0d|+Vs|{ zWA`ung50z+XPWo!y9V1Acn7>bJZ<&r)lSaNvi%DdD0l{?r7Z&;qXpU=2s#seSLy3z zlE!HnS678bZBFY|$vg<zq6FIB3fi9pIuHi5E**55udAzT+B>m;)O~V!RsZk3<NCBQ zGrVY<Tiq5%)}u?)rn54vc;2_<`O9rDS8sjz!SiS3j#rNbZA~{g2X8*@WNW%8d`nHv zx-S1ym(E*HI;*$*R95YcTf58GA3AjC$|6^8UTHHQPEO8AphLk{?AQ_U_xJbmExEV1 ztyNN1-dgoF%kvUwRo=#AchEQ!XjPu3wzju**&B=W`K_(3r%s((^?@O4GN>Z1uPCqF zxf|5$w*B=|O?3J#P`(cE|68UJYwrIyv^uz0<kj<qmdfjc`d>JJoObQR?Yo8#Pf2rs zU$LdHFYoHB4Ocg(`-ArD+5i8u8FczcGdusQS=s9X%gVM*nmqaGyLamv8XCCPb8>P9 z78OPQ^7ZpuC$Qzz_37)ar*{ggpSpkl{>P4vgbJCh{?9uY_LlpX@7x`=wIID~-oK*k zxpHaj3|IV$ugPDW`#*N^mpe+O8PAsIyT`6ITevT6dMjJP5z~vGzL#9ycSYv!2Gxsi zidHQNYhMdmRtY-y4AkG>vBTo*Y;%7}NlDN#I&*HlM;-xN`Ij-YG<3DX-s1G|ol&~K z(k>hReZ2dv5f76%!-Gqr({FwKbZ2hWtJ7<>^h`}wB(He(=c!ifuj(1GQc@iD{N}b- zcDJg$JnLHh>Pe){R;!%3dI|~-(__nKf;OjKxDX&JDypfhyx3{>lqn*uZPV`7YnYgP z>AA^ydj9n7meRA&s@dD`=i*<m?bUrfm;5{TT*bOgs&kv>{Y|r0j$vr<o-`|TLE`_| z)!)P9rl{Cn+dlQ)zhZE+EJjjlR`vR<b;s_#vno;YkI%QsDzg+{>({y#v}Nc1{&?Tn zW}(~j?ml_;Y}wInaqDaE@9mA|<m3dM`J;05*s-kJ+j6~peM`4Q?kHFYI`48_>~5*` z@&(goTeW9iy5P4dYKi}K)fb(X(IG+X|9>$v7~G%5tZwpR?bN7pjaWOgaNqr_S0Cfc z2wwiav}M=n+s{_D|K2i1W$)IC`CQ(wt}RK}YLx>z9v^gg0cay>=<2YS)1vbxc6WD! zPAort|9-r(ThE0X8<Rn&)n*)S<K6Xs-)|9V>DAyft3iuvw`O1WE5Bd69kg-m=jZ3I zcRrtYc}3vjl+8DN?pZIWx_iymDfr!vJB3~kSNNM<+Zpe{!0>s>lv`h)EwYvRb}wq_ zQ;}7^9qaeiKgmjyX?Y21`773$$(}xO{rl|K*S1ElOA{}!18vBe|Nl?=T#G^{-&rPs z>*MxrNjobAI>2+1N#&;$=tx#;Yin0`_hsw%dmdNp?e6Xdoq^vjUl*})<Hk?lzFqt9 z@bK41-TJe(dN%~$y<zDim!~IXTD|z$dyk8Mjq5L4AKrEH{^hf8E-^4{y)p5N&EKzw zx89mIN8NLm*{R_Am(P~=C|7T}$T@x8@#DwC|GNd|SMJ#P;-;gamZoV*@pOaDr*~>> zwaTgeb~7FOVIZO9nGS2ewwEdXdT>ws%LVt>UtjMN{`GiED2Oj2_#(9|lc6E%m;q1i zcFVx}|7oj>y5DRPf2LV`(E3-w^Pt)Y=D*LMJh|eazk)yS-K8^cgg`k+mm&1>>e31O zet55OJM+u8I=HyxwDta1`@ff5e>$=Ej2<sTfcKI#(HA%Kw`B*`+<cPAdi>GV)iY-= za<f%?X}J8G?Ebu&b+b%eSy@^A-m)7=CvvY?Ze{ZMdimn2m;Yw&&rA=R_O7D5H%{)7 z<Mz_$`wAH@Opt6_2-*wKB44JldVx!xp4eZ*W6|q<s@wwe>sNlb_I7TZv)7@z<=+{v zux+hs;$fJscICcvvD>j#^*$T8yx)K_Y1OmSYqd1e9`P__bb!{i$G%^GRk(N?$h^6S z{+fQjm|YTW9e*-GEPBB%!EFsy=Wah+RsR0nI(7CKwbib_YW@n|{d7)C*5|b8ZW9Iv zUQG?XtJ2(MuYZ|`zqnqjo>IK^)yu}*FJBLbuk>B9{^nE0uVTvunRpwnW?fXSjeh;< zgj>~{%f6sO`@!}wP!vjCGY%5t{_e-v@au#D&)M74)^yq*ef{EOjpwD(+*uiid}T#$ z&gh)XkglA=$a~`I+NLj$ldordc|IGoNO9ipvfX0ud@inbw${9I|L~hn3=CH@USH(d zYf`?v&blOM(v>Uso%QeB@GE@l{8L#vz?mc3fm!&~`-T2;JA#bEWG}6@e}8F{?QzlX z&x-!O{k3h^-s+Y$VgH!f8g{)&h+20qVu!nZj^^&4tC!F2{#TUC4Jym_-1+%}{ff%J zql~;0u4Y~Ah`YG!+a`tHze(NO<j!8%v3~o@?yv4&K26}ul7E(8*2&P&J!MYhg6-4Z zTz$S@HgM(L2`YDsDvfPzH}ryL8)IZI7zl1_U|SQqVg0_kA6jQ)N<Aivzq`1sh3D>% z`BQiOKBZxMZT(j8Fs~p(0b{4+&sqC&_Jf+tU0$csME0!n6}FYU-ey0KQ4JJAb5?hU z^2c0uGB4q}>|I<A>Tb>2`fJ0!TNOUa>vI<h?u|Ne`R>s-MvM&0EvHOdT^=rTVa`|g zkeDd5Nu{9mYFg{of=0e$WEna)us)a)P|xoxdo8s5o%iJ<^B-;f8!_$Q-h_Tovzb5s zb`WTSxLtZ7H^Z3}iMDHUKG%P1^JfLtboFfNS*jh)@@iw<TG88!3@67kY~@Jgc3=(P z&UNYg;;NVJYdfoQ|K-Wr&RqY|{>_!!``=u5-n-azP5P8Qxqn_UG|UPKNxI&DTj=Y( zuI5`4XFQFli=C}jwZmWAZBs*3m%mSgCuoP=7U)qUVXM|&&ANCtc2;IWdqC~Zhb!*= zOx@p?`s8)|=dzb?RezVb_j}wGmR|b7?apFWhB=zL%LC^BFLT)(CL5Ghwov8d;j^n2 z#vU%cfAwOP=$quCR)%x!pm7Iy<Jj%@S7_syUC(pV&RrQ1=QaMWtZvzNx5VeY&fWFR znLDe>e=_df{-}X%3-{Hzw#rvmhYAEAV|Fmr+$tTl@B0qB_;Q!-N5LUQS!o9o;%B$T zUyUjM))AtdUp{#?OMqmH?t-?b&!^1&X9!*Mp0(usl$O7<{=N#1+L+Xul$5k;OYgL> zms?-gY&AR?Tm1c5R<_r~x_cAX%r95bK5^Q$c6Rlu{4L9y_MWa=8*|1(iowBZ(!AxM z$*$?reOj8E4{Y2Mx?ncj)=!tN3eGDkK6&Zj-P@%bX8m6Ga<gtjThj*C8A}Sm+X2^4 z+&9N?)-y2?&G~xGPwwvPzw~6We%Z4Z-E%FqEOrG~emosoRnh#&e4Sze<AKT)QIYI} zeIm7+U#_UTTYhNco%7EYJ=uC+JNdAUte^FoqoyJLetv$uUs+6eT67mM7Cg&{S{Z9K zEq;-+Wtgn~mJ`Z*K+_W^H%x!EP`~WuvUjepuA8|`Z~bB5EXLq*N?YsVq8}lDH>d`l zE|U)r%)GgGqmJ0h@YM=;>s(uAiKx9iCB8iKhVgn$l}$@8XLrTJX5O2)&DjDnK^7KX z%ZQq?WVOmuk!czEUfZ_G`-N6b>@Hg>ntlEJZqt{~?`DZTSh+8^`Kq~E#712y<6fHv zwxtVpgm{<BU+0e&-l}33`t#`0zS6Z#wI#{R4S3&PJ7f6q!m-|yla@?4G0n6{%mq@| znz*#+GF&}&{MoA0%F-)66BjM}^H#s=<KFdK%&#vC{q6rE!fhWY%gC>_)bTeLFU`N_ zVLOZcRo4rL(oPPA8pajned*#^C)bJScKKiJ+Iu`SAg6pych;Mw($=jn+s^r3RXZ|$ zV*P@7N;!-LU6<ZGmb!5&`h3~jReu%*t-UpWnd<JKttsKFCK+*WNy?uU_QrRz%Ff*p zS1k|4hnw(+^uKV3mAmNiFD_5*JtISm%wdBq>Z<PDkAk;o*tyQ`PqE0e((ydYWMjG` zIQZ^`l`E~xKC34%@-ifHH(ajVwR=UpPsgvLEhh|k-uj)qwyXIiXf<Ru|FYK=WeY(i z?0#9RmF3f>%{?U~`C=*G**~ChG^=@4EER@V4I6H$+HUvQ|IYhz*WTk>i}Gg)8EeOV zzM^?2{%^9=6@9gcx3hi;ZfIa@+rYZOEmB8pEAQ9f+X41>g>T2SC4x3!Zu(HVLZ?A> z$#YA&&)Zb3<D~DM2sZTnd&TO8`}Ecyt4cfiqs%@&6melNUAACHh&2EFE1&jeM(upR zqf8|&RAO&Y`PNn8s};U>bB68TrpWd6yTSShhGoh*j0RJWCIx<0$T#KxbZ!2+jtMHM z&qTAUla_6h)vnI5pSJR_`lpgFDf{~7ow<H!u4do$Xx-Gs32U8eu5Rk=pJo0nC?pxA zHK=1fyLmKQfoBny_m+nrJl9%RIBA!uW~O`1^LitC+vVr(Rlyy;bDi&8-Ph@B7T&!? z*y~QcQ)lR#>A&L`zcPaYIObG4tG}mh%~H8s)vaH{^Cqt6OA*ml-0b3R<XvL2+J!Un z=qXL3k{95O6_=fshTLd7dv(={;D_2q7rYZ0=VggKSeV8b$Ho02V8M3l<zE;I40xP9 zXR_X^QE`6FKNqxMeyg%!aM|Ld-ILx3YgufGWNkOo{Qn_M_T1SEMe0|N)UI#X)w_Xp z!7a<jYNwtjedU`_{n(?jb?c?Q{WeRtIIZTJ58ltArL!^H->dK2k~x15cb&buDvfa- z7x#ydh=$`U*U#hn_&GpWes<H}9Ih`#=_NcXmV*N1Yet)y{K*T?S~jg;d9yWrOE=G# zAa8r;;(L{@h0Sc*t74bvyj?%Br1x^x<9*={e;sZx1-zY8Dg1P^r{|6JH`m)OO$`3O zZe8qduSs3rZ@tc((3k$|b^7YX$(3GbG%jrHsZmXPqHVf6pjEX@*5mZm#w~Y>^KM_w z3Y^gI>syn{^-Y&M!M7$St4M2t>9@jgW&Lu~Z)MZ>FPA>Zvtp^=GqFtfq-kYpsncqG z&s^H~*iv-e_DL$@t6g)QYfCFr8me5(!}^~!g0>MH>y<YB{IE64?o;BsYSsmpIHDQm z9E&s$T*qTBzIu^Vwf3rw+t=+~b5im(x3|~SNs%j(C4crYOsjbH`|-_It9h|2gm=1X zZIt#prxj3it@Zz|oUI<cd+vz7i2Zo+#_iZ%zi6=sPuDT{n^*4KU7)2L(97lRRr;V} z-M3}WKt<N0$(yz)8+v=rO#g3wN9RCrtP;~HxrvOg1fJ>pm#f`n46p@VqSCu6MmcTr zl|xEfGgMYiRM|PV>c@&Bc^Zoktm|nCnya(nb;`g0`_6CPt+o8hs>wTDttLh<dDA3x zllSG3mCvU>&DyGQ;I!|*d3k*d&)&aOtJgPYt=MIKZK|z)_T%?2)$IAhckYVNuc~kS zrDVK6qTT<=tAwa^-<E>h*Y|Bn+UpOUHdE)-O}wfZ*t-|B)AsGGUn^^8?7wCHIe3Hq zW>%&GxkF+NR_oQ)3u-@q`E+UQ$B$h-JyTRfr{0)4F<flRrTXs{6Qh?*?t9N&YP3B< zy{LQ2)c7@vf_8hoX}eU^HDy|`%F8>;jpy}FpY6KuU0CJr=qHc!ruOgN`ex_sqaXM7 zpVg8#@809T_Iugp6Nj%B9lW?@!2*Tj`xw(sp3p9u!&URbWgXxA6PFhX@3fjSZS~~J zqt9#RPM_^6Shue0OL^#${j;N3c4%rH2#w2oTEF1Lv`?E#OV*ccnY7iwTA^W;LJs4K z&u4bI<s9u2?dt5bOy0YEN!p}Yl^&laT-j06`}WG>oNJp81vy)~wiR`~*<bzVeP!9i zg?E&8`#llK_&tw#(~Ui;Uq4K|`b^jJl(yNF@R+KNlD=-4oo`xqZW4cTB5s0qb>g{| z@BMA{PfXmpB_LT|a^;5!4nKEHWwpvTU%ls!PEp~d(oB{;ZA+J2SvTd4lWOV{(Bj`t z$)BS8?5m98Xa0Q77cwbiR&~(Pmz`RE_NyLkIjrU99Z+~naO$%;6E-gr+|10hL!w2O z;j5c(ta92hk69{rKi%l=%Dd}Ww%Frn*~$}oqBnK5HhCXizE5oGH2eSecPZ^Ydhy-_ zS26MMofSV%A3gnl&)>cKy)Ui%Vm$4?{)(p|963u_EseN}LZkNm`To|A)oSXrIh*%i zcIOV<uA-u%p{whAbZMIr_uEsTgy*=@i2KbcjX(D_cc_2znmR4~+h5Cb-&QMJxV&na z-8!zXg@M8H;ig|p16TB~HtK(Ox#MAZHmFX2^6K@Ref4MfI2LGeL^Bjj%&JmZ`^R}+ z{^JYYT$9@pR~*S(v0z6?t7@63*zM4Wpl^GVBRgX|-T7W#xObPUt8e1!<^9Shrb?wM zM}^HUzxiTT{R!9W50VU@q)olErtQw!NwZyxwo7T9J00?8z5VOvc>a~Xo1WwrPwhYJ zdhgx3Pur&2$2>_cp1NFma@Un9hb9H3J`>kAULPU(^QhI#=p{VIKP#oqiJCWK+S2>m z-cLJv*<Wv7-PC*g0;3jPdSfy*MK;{CY?jyNOCgh{Ms3qE4pp6b(kdoqh41s5ZRH6Z zo0*wbY~_e%2yituofH-;|4B!z`%a8bQSru8-)-KS$waQbzpu{ox_?D@Y|?*mHSf1> zkrvw9Rxfx`-}tuv{`~aF&b>L(ZLUj~206ZbnW!1S7=C}{%;-%^b#I^BEg#k`qj=_Z z2!nS0yX4}D-&Z<3d-zO=-+Z;rotTv3;)(66zh2q&U-x^#-&*O_IeL0UwqNCT?u_|y zYul{_ORlVI3Vy%!@#~ceu?1BN^tNelU*WQ|RrQpf&hJ^#5v$%b1>YB+s<C{7izRDn z{O2w&?b!D0gdLBoyLoQLsPMmDxnA#o^}Cl@Cr-P5DlvTWP$^QUaT1g2)}1T<rY+%g zh;_KZ#1PWeeN{=nJiKye{GaT%Z3`C#FMR!d;R2fuS%2S)zn0o(Uzo6PQ{`{X=OG*? zbagDh)^-;8*M8V89rSJGh6g!e-A}Tn#^{Lcj5wXvuT%dnOSjrTMkh61cao0SN}G98 z>+=I|nwy!MS5{O^(cL~LYTYJ*=q!oU`1<b~=1X;MxqW({)wQ`<(f{n`Wk1{ds)qkh zy}5AOflT9Mwu+sa#-@Rf-TsG`_s(4K;#%&LhiRo%0jV%|Tg<(hRM?|+^77lBukPJK zTN56d^j1D)Jl?y~KYhFODgA%74BDkVm*&Ww<LdJEw>{-{Q|A7BE{&TzS#NFr-|*y- zTKDSRI_u0L@7zh<7&6E2ex66F<a(P6F<u*X{*YAHpSF8-s9E^xoOOCdTW>s7+I=Th zr>}js_syIsaqGk?cSSyZnKg0wY}a|~t_8>c|GuYYo43Dt_nLGTb?2amE89ipmwT{s zMn8R?SJ1D;@I&^H7{h{VJ8rz(de`69Z@25M$OwPi82_)u9_6;518zRyny9Pl*%qke zoXU7w@1%j>@3={KH~e{5ZFx(2`7Mw1V}{N_X;EEaHQzU?`PH}vo}E4a)%%dtu<n?( zsg1{${`q}hx46{u>(!`j`~D<amqw-h3@;a7y=Hk@myZYR@c!5<zbjYHSjo?z1-cN| zC;b{vzp3fYLl^h9J$oOu^4QLHk;Lz7c5M1`<uQ|Ae%ZbVVR`xWfA;L*O1w04M;#Z# zxxNjo3<h%}jcu-lSgd%TIO+9rh6isrq8S>Z7Oy+|AtLgttq)Vi4!v(*-g^s*h=e?U zchuts6T^bGE7uJ;7d$jfK63B!Y46>S9={HG0CE5W!wwBo+obuEHpFj^ul35z%xnRl zJMuN&xA(^N&}-bFtr-jqF*=99r|00io)>g}fUwDm4W^~9LQM1T#mLFYy}G%1`L(st z>1Cdv;|*S|WE0+I_y13EudH<#=oUiI5r60AT5Id+`K?^JGHp8O?4<>ASq6#VYhysC zlm33U+aGl9?w6OBpFVxMl;7^h0nk7g1H%>Pb!p-O!d+cmTM`em^-7zc+ju5x>#F+y z|DyI*eU*I6&CMMe5%Hp8-prYro~KToDyrK!b;9Jy%AQuc%G<d<f1U%rA;B}~(?Z)@ z@87!Cm#(ol{<XyZ*Xp;mm*VffJKtmXvj1OJ_581U_dj;$_tN?;lk+Y8)2DyDhj%1I zcL&Z4D~(A?S~SZvds*n}FikVFYa9Q(Tt5HWrqt7*vn09R9`Bc5&nc{SrDP`9=N<5i zDx{8_xONnD1pl!<+1C|$+iy>uH*ejsUg^_G8)rmB&Rnxb$JNE<#fgc^pFV#!-Ys(_ zNJf1HPoHoI+i^~<=Ep2k1LgaK4;xIGJ9q7d4I8+(<q9NfYiM}r>FI%XZ*Q<sRdrps zaAEqE?Kg8a-OLf4#>&ECvH6JB$IqWvZ)Vrb;)9xUu(0XW0}IF0D_<WUxqp9u&|9e^ zERyfuy?b?S?QAjqxHl1L+i!2J`1puxxhUxH28Ys20p;jPCS`9TKqo=p-CZ8uFJ}uo zAs%!_(aoix6987UOZnUY9r|4Q=SQLK|39BWd+Vp`#eVsG-d<Zp<;a^$db7@^UFO!` zQ*dl$-+}jqa~2p`_ytHp{pjXw?I(34rv(&b0hgtYn1c2pGXz}5c@X^SzL{2~t7e(! zgD<9ib2Iq$wYA2(Rc2&BZVwif%e}p=bdA1-26!v<j>6=hKYoC&I7+{BNBZmePft&m zKJGQw($Vn|>vp|g_dB=sYg^)rpU>xqUtZ=5x*PZ3-{0Bq@9h=6wPgA7>>C>rKYjij z?BLMg)+4cS&YU??cepKXxAsj2T^-wVU!R$sZ_S0a$4marwkTY*ZpS08pTB--Sy)6k zxAA}ujn&?=^2~ozPHg9;o9@&uSaeE89kgxwarvne6P2~Mtn5F|nYfzo=bz8#P0QXy z?EP?v8+0oR=;DGMJ1mwiTQ)0J$_KRaSyfflQcgR3UCA10<Fp>o38bJCE<yJaCnYTc z9e63c+ST_2;q~Dm0Ray(jIpl}H{Hs;f>GScPbKrgfkx4~{WZT{E*HI4Jm*S1=$70S zfr~-I-nub60*)R%3R*~BR9q~ZtM{eeH#2i38^7F|MT?ZyMs4-loOTv;|HjuppU=<U z=v~lsN=ALsmj})KVL#>?WnNM_zN@Nwj>HP%sxL1Rd!$THecZEU%M}i8ZeumSIT=Zz z2B374Q1b51&o!@&jEs29&CQd~&9UrD{rK@?n@aN6S659#6wj!g{PApdzRdZzWxEBX zq_XyWyOrISDk&-1b~eozbi?Uk1D@pP=jOJlJl=l4u6WDOm&@n#bRSKUu`XM4EX)0@ z<zEX!p2HG$H9HDFpEaNV*;GcIH#jS6mEy^WZ8<X&C8qw~pLTCgW!u#((@B#jgKvsW z`|<OqWNT}y>2Br~g3IOA+Y%)}w<LZ1@wk8fXVb4=EfP~!_i1QpU25Z%zOui*{<zWV ztDvh1v%kK&susq!`R(1^;faZfp!@FHc%_%Mw6J)Bl!nB_#5|ml37M3$Oq1Hs%+9Z6 zX}R-I;luau*MkmH=<B|^IvjM;<lWun<y&6f-@kuN*y?NRVxu3M9=7qGt`}NRu;JF0 z%*CL&26ewV1#2E#WX>=$Hdgg)Y;2sQ^}YTq_F29a2VVsS``P=QIy=uc+R@Pwbnf7> zUg_m~_ShWX^{Z;mj#;q`TI#yGzDt)b73DkdKmYl?<W=kb+c((rU)NAj(t9qz$i8QZ z66>TMj!glLQ!h?cKJzm0jLXEF7c)$KH%6LlP1_k(e`H~srb=7(%Sq8Odwkg&gB@=; zx?5)?3aR)$*i%<;V*mP&!_hAV`wo5HIJfuw^V)}B?e={8`R3?zCWd|c_E}VaThqHp zDZ0C>tLb3EfhQ*?CmPM%ka=0{$gyLOuB;4x@#am-<jKM|Ha0rPe*F5iX!GXFW{i{1 z#{R#}U#_$B-nE-IIpyW$yUW<w*(<85jLMHqJaWWk&!<z`7qYfyWM?0?e!r)A$r2SA z%OaL<-@cuhTzDeK43xk+Iy)URGBg-^Uc_9!dDHTZ;qxl#Ufsh_IT@BLU8-ncAW&CV zmywg>;^)UVYxeBGpdhA%H_te`br)4f1O-j{R2&f@v1rjE0SSqYMT?Yn?AUR`z({G= z^|SNs<9}BE`tp*4o7>sLgJadIRRZ$z`G-%O2n$;m(;2+nFVaTZ=ga@Q8vg(O+C2aA z^76uq83OY1{oA&gwY0SKl+9S&wq5X^@}50=67uuypS-mb*N<z7TDvVU<jekJhYvGP zR`Yer&epz?Wx6hQcbj(jx`;1{=X&z5|NmxgJ#EF+SBm=gBqbycJUu;qruE~9f&zm* zd-hzob&IQ^(&%1FTH2#_`8tQxRMkI!|4#j@Y<Ydf)mMrAme+4*yx9>rk4Ifgi;F?0 zPczxjKO*O@@|-zy43dw5?hx1heJ0KL)alcLva-2{PrRu2%+J@qb?erGiy0sV7FJeK zPkf4tjrC%79GD|{d`pz>m8`9<aesb3pKnq2X2vA(ix)5MD0<4}H_v9}mz674G~CPy z^XoJDS5i{4VD)Nlsa`gQ&nbHZ1XI$|lJ4)TU9n<CL)hxA8S*E0s##e{`TF{b9sRk` zx&6VrcYP~^m-n4>I<YEms`}x~j0^^b?&MQ5&Im{EU)b!H_x;`7M{nNfur)jS&9~D% zJxy1bpP#>b`?d=|Ce59z8yXs#WFob6-8#Rt^Ye7$;^K;4UQ!hljNDhVlZA!F!_~EQ zjzyu<qQ#3<t*mYx3!J?5>z6McwY7V%T))oEaC2Yn?km@?pZ@vzxvR^Q!~FIl{QUfy zy1G-39dq;a^AlSerd?ZGdrGFWvr|Y;PVac1?BrXwqGnnYE?Tl|*{v+k6jt-oljqHo zi`<;nD`Q#Y(&M&x%G9ZzE-o#g17iRE`<<W4_w3}2=@Ta^f;IqzgobvWObN0JUmq9x z>&~kfV*>+)g$oxNmA{M0%*dF~%+BAnef#z`(c907c`Iq}2%WcO+cvMfymcTSfQ+6t z&8whb!;zy$HH&+$+9Yl)?f?1ZvcIZ=g2S9Sb5fq2nOXGZMPPKhi`kOPFI^U2?3g@x zvdyOx%8M?)T(Wg*Xy*IZuP2LYhn;Zdw^jLmzkdIoKc7w~8O_X*FzjtRb;^s;;K}BU zi%Nn&pMQP-`uckD`1tt3va)GEepF=U<!zg>c=c-Upy1%6SFeWNxqCPD<D;XOE?-V= zzB*y+9UcF5aeK9jpPv)W&(AL`DVcKMfJ5cuUh}p;#r>5=-*~4hGpN|x$G<e5RP0+_ zy<0_9wX?gsyP~qvv#e~}m+#;EKV_YW%A2Y#t`{?5#}12+U%rT>r>D;}NNidYyE|;x z?%lf2B)cmY2?<K>eVyR~29KHN-&6vFO-y3ZU?G>V14-Q-AaH^!B1aGmA{o1N!K#$B z6E?bnm8G!iYy&Ck=vdQmR1B<YqUeSjN=l0gl{GXt=GT1cTzhzjc8HefzW@KKquU)_ zT+9!G3|^CWZ%?I%kB`i@wab>VX-(zo?d@GGb2UKPJnx9GzfECua!%-hnLcVNs;Z0( zw{G8F7_{=jg$o9+3Izl&_HMkPq@=Xk+u#5ALg)4i7cUwv(Y3dipEz+M2RHX-$CU4S zTcdc>)6<cyd)F!+*RXxNIS*U&(SP^u#fgZEE8E)2GHfV+ALldMjQ8BRa~xb;hqmS3 zp0aP}&Yd4Ve|8QJpS}rnY5eic=k2&R-{fIfv39L%PL57YOw5NDi~E(dwYls6e!X7b z7rp-a<E7K%4qaOtz3^hjhYyGOlb@cN`r`e2c7`*vOu3(*pMU&z{(j!6UaV8SmiFuo z)p2xmys;^jdzwxplexJ$3k%DG)B5{EZmo~q-FD`TPlk!qo$~v&96UTn*yU>$Z2AA& z%xP^HHv<Phf4kSxLu(>82gJtmy1ToVl$AxT$^822YDaJH-}Co51qFL$Kryt*ik+QZ zCuWBLTQj55qBr__ddD6-PzVYRF8uVwbIFn=3IG25%*e_*bgWl;W8L4Xr4H5K@0JUS zh_o#Ap3cNj_U=yS;dcJT3l=bxm6c^=XFDe)DaF-(4K*<{OFBQ#78D9;Y0qSj#zjVU zZrf%S5*D^-!2$-hX2;HzOO~+w`}gm}*|V)DQ<_euFf|As-;{gX%*D-Z(Y}3h+F@%P z+}zk^&7RH3U|sg+z`wu014BYuo;^zw5ff9=(8#zU(Jyb$$DpCD-Fz~|$<veb(W6HK zGBQ2+`+mB;yng?F|Di)pI+2^6^z9Q?Qj$_sR8o>+O+PnBkRd2Ca^;)u-rlLK++rOa z9#K)V&dfAEo^<Bc*6h?*S5}@Xi;kYXW9Lp!Kfk^mJ9c;^CN8`*ZQeY+)6;Y}OT-5U zE0>j(UAlf<T}i32vGLQ#<MQ_nj)At~fzH-Wt-iR(RY*cYgPEE6)V}NS^|2*Zb2r)E znWNnM^w%v{mosUbfBg7y;`#h~Jtd{pVQVLW?&dv{_IblbrU|vbzjbzWT+9$*2#Sx- zzo@RS?+-doDd+v&-Qh8@u}ima|K4_=QBd%%?Ve4pE-s57Z9Fb_IN0B|b^X3yTnra( z-Rhb(OX{iEA>;IO3TkS{l6-u8c+SnWZa;X?k-?#$z+hY6-L5@*Z1((k)a~Kz9sKLx zr_=fd5<CT^rJ;75oSX);&l*Ve{<nOWd3o8vd-vjQUdu4qQS$PV@9`d!Y4!HYmj$g{ z5Vm^i&aYLrQc_X|m7h{lQd1u;pI^7@?TxQhwo%d1g<oC-GBg}aaPactlB;;ocza%V zM@QcL=C#ZUN{c>%GSKR<wTI5lwVpVCe*c6C0ydw|7;iUqFD*5F^Y-n<d-wVp8yPJu z{uFDye*5<5?EHP5Yu2n$OlD$Y`d56Wudh$+w$@ayO1C#|Zc?YuKI`k~Xt<bhq>-6D zAS|qH$`p|^^K7N>*M7g-k^KGR$Afz+KTnuHpMPywH#0lmf>o=sjy&${cySI~*aS|V zG^uI(y(;eAWp58%kFW3T>EU_0R490vk7I1?T-X1*c3Jt%GV$EGX-oQfxhYeoELgRQ zOH)(x#-2)Jv)o%O59U95^5x~_83u`mR;)XD@}%d^Pi1%Sb{)NYSJrASpVeHx^?Scb z2?+}q{`{0$QB}p)$#`Ib1w+EiOG`a`eOveMw|8=KYKyT|QBr#SFt^3U#Uv{xHg@6V zmmBi#TFvlLd-1husjjuP^wXzLK{iH3MFj)|G@Q5l&69m?4I@KINr{58GIM2RWyP<T z%RwQj8@)|q`-!Jdo;>*Q@bHN<XIz|}nL+V>>Cz?ZI>%#cSy)*Y?%E}_|KBg|y8nN_ z?-o1#?d|Q4Z@1rn^ycQ~jLb~O!a~C<S*A8NHf>+Ne*D<j-ObG>XVcLwuD@va?&wT! z508f3yRAWM^>pI){OG&x?c$<*98@a1g;rHr{rmBlUqwab!1?q3H{}Hd8y787dUJ2D z^umP;Z)`|pE-Efwc>T4a(uLPwXIK_53)-Nfq5^V0x0sGYe!l*pLx(<mK5xHx=~C8> z8#i+B^B-^HmDZ_iH+}N#*`mFBWfc__KYaVf*05Wsd-iN;&^^2^Zf=iGs?T?+uC}iG z^U?jrO<vnlYYU5n<9)I}9(C(Kc>cWo$&-|&XV0DEtJ*8q+}s?oqu}9O{TUq{Za%7? z)|Y<}5)`~RWAeOtefR5r^Zx$+etW5gi_2p!aFr&tc-QXT7q47tiQQec@q&`lCPr}m zmK;)4WYi~b-}m(NbWpEq8((`z#vO3nfvUBz1L7$H;L41YDi2gOVy!>_@wZJ_Y~=Lw RNG_<W@9FC2vd$@?2>|nsgV+E7 literal 0 HcmV?d00001 diff --git a/docs/viz.md b/docs/viz.md index 3efe4276..8b6788b6 100644 --- a/docs/viz.md +++ b/docs/viz.md @@ -4,6 +4,7 @@ The `qim3d` library aims to provide easy ways to explore and get insights from v ::: qim3d.viz options: members: + - histogram - slices - slicer - orthogonal diff --git a/qim3d/viz/__init__.py b/qim3d/viz/__init__.py index 84b2e835..33d94416 100644 --- a/qim3d/viz/__init__.py +++ b/qim3d/viz/__init__.py @@ -7,6 +7,7 @@ from .explore import ( slicer, slices, chunks, + histogram, ) from .itk_vtk_viewer import itk_vtk, Installer, NotInstalledError from .k3d import vol, mesh diff --git a/qim3d/viz/explore.py b/qim3d/viz/explore.py index d7392cbd..23425112 100644 --- a/qim3d/viz/explore.py +++ b/qim3d/viz/explore.py @@ -15,7 +15,7 @@ import matplotlib import numpy as np import zarr from qim3d.utils.logger import log - +import seaborn as sns import qim3d @@ -775,3 +775,133 @@ def chunks(zarr_path: str, **kwargs): # Display the VBox display(final_layout) + + +def histogram( + vol: np.ndarray, + bins: Union[int, str] = "auto", + slice_idx: Union[int, str] = None, + axis: int = 0, + kde: bool = True, + log_scale: bool = False, + despine: bool = True, + show_title: bool = True, + color="qim3d", + edgecolor=None, + figsize=(8, 4.5), + element="step", + return_fig=False, + show=True, + **sns_kwargs, +): + """ + Plots a histogram of voxel intensities from a 3D volume, with options to show a specific slice or the entire volume. + + Utilizes [seaborn.histplot](https://seaborn.pydata.org/generated/seaborn.histplot.html) for visualization. + + Args: + vol (np.ndarray): A 3D NumPy array representing the volume to be visualized. + bins (Union[int, str], optional): Number of histogram bins or a binning strategy (e.g., "auto"). Default is "auto". + axis (int, optional): Axis along which to take a slice. Default is 0. + slice_idx (Union[int, str], optional): Specifies the slice to visualize. If an integer, it represents the slice index along the selected axis. + If "middle", the function uses the middle slice. If None, the entire volume is visualized. Default is None. + kde (bool, optional): Whether to overlay a kernel density estimate. Default is True. + log_scale (bool, optional): Whether to use a logarithmic scale on the y-axis. Default is False. + despine (bool, optional): If True, removes the top and right spines from the plot for cleaner appearance. Default is True. + show_title (bool, optional): If True, displays a title with slice information. Default is True. + color (str, optional): Color for the histogram bars. If "qim3d", defaults to the qim3d color. Default is "qim3d". + edgecolor (str, optional): Color for the edges of the histogram bars. Default is None. + figsize (tuple, optional): Size of the figure (width, height). Default is (8, 4.5). + element (str, optional): Type of histogram to draw ('bars', 'step', or 'poly'). Default is "step". + return_fig (bool, optional): If True, returns the figure object instead of showing it directly. Default is False. + show (bool, optional): If True, displays the plot. If False, suppresses display. Default is True. + **sns_kwargs: Additional keyword arguments for `seaborn.histplot`. + + Returns: + Optional[matplotlib.figure.Figure]: If `return_fig` is True, returns the generated figure object. Otherwise, returns None. + + Raises: + ValueError: If `axis` is not a valid axis index (0, 1, or 2). + ValueError: If `slice_idx` is an integer and is out of range for the specified axis. + + Example: + ```python + import qim3d + + vol = qim3d.examples.bone_128x128x128 + qim3d.viz.histogram(vol) + ``` +  + + ```python + import qim3d + + vol = qim3d.examples.bone_128x128x128 + qim3d.viz.histogram(vol, bins=32, slice_idx="middle", axis=1, kde=False, log_scale=True) + ``` +  + """ + + if not (0 <= axis < vol.ndim): + raise ValueError(f"Axis must be an integer between 0 and {vol.ndim - 1}.") + + if slice_idx == "middle": + slice_idx = vol.shape[axis] // 2 + + if slice_idx: + if 0 <= slice_idx < vol.shape[axis]: + img_slice = np.take(vol, indices=slice_idx, axis=axis) + data = img_slice.ravel() + title = f"Intensity histogram of slice #{slice_idx} {img_slice.shape} along axis {axis}" + else: + raise ValueError( + f"Slice index out of range. Must be between 0 and {vol.shape[axis] - 1}." + ) + else: + data = vol.ravel() + title = f"Intensity histogram for whole volume {vol.shape}" + + fig, ax = plt.subplots(figsize=figsize) + + if log_scale: + plt.yscale("log") + + if color == "qim3d": + color = qim3d.viz.colormaps.qim(1.0) + + sns.histplot( + data, + bins=bins, + kde=kde, + color=color, + element=element, + edgecolor=edgecolor, + **sns_kwargs, + ) + + if despine: + sns.despine( + fig=None, + ax=None, + top=True, + right=True, + left=False, + bottom=False, + offset={"left": 0, "bottom": 18}, + trim=True, + ) + + plt.xlabel("Voxel Intensity") + plt.ylabel("Frequency") + + if show_title: + plt.title(title, fontsize=10) + + # Handle show and return + if show: + plt.show() + else: + plt.close(fig) + + if return_fig: + return fig -- GitLab