From 2d0bc0d75c24a5826e4a2eb60da85a9a1f9fed21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A5=D0=B0=D0=BB=D0=B8=D0=BC=D0=BE=D0=B2=20=D0=A0=D1=83?= =?UTF-8?q?=D1=81=D1=82=D0=B0=D0=BC?= Date: Tue, 14 Apr 2026 12:52:03 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A7=D0=B0=D1=82,=20=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../8.5/executionHistory/executionHistory.bin | Bin 6479814 -> 6479814 bytes .../executionHistory/executionHistory.lock | Bin 17 -> 17 bytes .../.gradle/8.5/fileHashes/fileHashes.bin | Bin 389964 -> 393014 bytes .../.gradle/8.5/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .../8.5/fileHashes/resourceHashesCache.bin | Bin 189389 -> 194761 bytes .../buildOutputCleanup.lock | Bin 17 -> 17 bytes .../buildOutputCleanup/outputFiles.bin | Bin 1165715 -> 1166147 bytes .../chat_detail/ChatDetailScreen.kt | 30 +++++++++++++- .../presentation/components/MessageBubble.kt | 39 +++++++++++------- .../components/AppMediaLightbox.kt | 19 +++------ .../presentation/components/AppVideoPlayer.kt | 9 ++-- client-mobile/core/utils/CoilUtils.kt | 26 ++++++++++++ 12 files changed, 89 insertions(+), 34 deletions(-) create mode 100644 client-mobile/core/utils/CoilUtils.kt diff --git a/client-mobile/.gradle/8.5/executionHistory/executionHistory.bin b/client-mobile/.gradle/8.5/executionHistory/executionHistory.bin index e28a4136f95e2180e4ad048212661f87aaf5a004..2a101cfaf796585270609b7ccc4bf367de20209b 100644 GIT binary patch delta 62414 zcmcG12UJu^6E1gVE;AQIh9o(f2m==wFry$i7zPk9E$RT~44AWE4uD{w3@Bg@s9+iu z6fkGOw3xx11=lr)SKSxf{n`EZ-}laWo^#LnsIIQAuI{d`?x}k{S+q!e5}&+<7UD4V zoTVuihsEymC+-Qc>@E^_8Rj-?qqTOUHB%~cJJ&}?a<0$nxN-45V|_*>3?DtfcUZp( zgGP^^IIMs3{>r!n9pT?6ofAvTIyz{J8!??&(MeqhxMt-6i7O);gF|XC3&r1@Otj-& znFAx_=c31GCvU#dy@g?;?cB&2%OGKevkHonoTab`nC0?o%Ccw41xv3FSy_2|Xw-#) zP`M;J3}&prq7|ke#wTQ!=jA8)8>yZs{$B`m>#v%Nw>@^5J~*?9&EC z7e@`StsXCw$E;$q3`Opi^IZ20^R-MFc4f;vKggNu+!@m5V58Bi8IX&gJm1l3ZPl6s zqZR3U0>*oj^2dgsPXAiy+v82lA-nSvznqu}*~fZzg)VEDrSc0p?dR=&AKkL+t_1D0 ztYMFYPQ=egd1r2lfbtQ~9R2%ka28qee1F(j7 ztz5~o(UFe6M{Sk_Ro^|j|4jKGHN?mT0c*rQwRM!Wb*g5rd>*2FoaZxeYDF7SKi5C% zFy0x)9BpJKN81k12A_w#eZ6~v z`%dR*h~E~dgnR3wrN&}8clP1jS0$}Z^9>xHU;q7%JEX6V?ha?uomb0a<0HtRA%+ z`gC49yjyNf(GDzHR>p|?^O<^#eC1Fb6N~h|UR9L?9QWij@PM-O&gPJJT(=8E?_m<Z-Ia_A*`cqZk6&KT zEj9b|gORsNhOS@x{S+9vNZXMjeRy`yd6u=$AI`wWw0mcLvz9^KZF0QR)4EtdzEtD| zM3fl0Ae|8{u=i=C{PW~|X7_0$r@ygv)tlBMqaymYhlEP!c8m|?S2{0tB)tDImGe&& z9_Z0-tK(@|?sWf`2XY|xKIP82@0@N+xoZv4&H2hSlbbf0Y3?sRelq>N3DugVEPv>M zn$+?K8nM?Vihi6+4nN^FK$P>oR*zjjn8j3QpFeo7n=H2t>NNd4^J42g@qobHl$Xl( zf$%e;u;o>vHdJ@tKle1`%dMsIqw`j{o=7R_JR@xa)t%Pz1tTMIIH^VZ(5zOc4&I@W zH?6-p^PKX_NJZqwKl;!No$=2B<)wx;e{RU(M3s~C=iEC{`y$PTpLsZmR%3jj`ipbK zAA@WCvl;K(4W{n=d^Y`rLGRoAGnia6#h7Lgp2@^Q@gwI}@>g4fR>sDys>g0JdZ)u$ z{Yv&WbLc7(IYNa+kg?XE6-{B}3mgIqCWfWYoG)HouXVwQ05bmVAWs)p2u_u8;9wJE zY+kb=4RAd<^I*4r_qU%O0v%tN+i8(^EhEoKvECNG&NhrM_qmqi!w(0e0_O&heJ>({!)EMqgW{Df0>>jizb$0fJr@;eWEE8=Q z2ssC&4I%!dQ~@r*B9QCoxGnE4Dz-k~=Ut<9era(~8Z5dmzc$z1IaB)OdT*1E+riRP zjlgSNA6m;vEA1poWsE-;m6i{V>9nwK@GtF?bw+Mtu0qmjX?v(TD>a5Moki1)zZ<)E z@9S55!hTGME1bKwk=YNGK_VWq?gi^=i@S*CiRDjv$b-GM+^BeXK}WLT+o36ta5%^x z;`KwM+O=V#z9RYUn=Qi~T74K^uK0D$`!Rdx3u+{4gY2Oy9L?yG=PYzND^s(we)B_5D;UD^>APsiQSHviAurI8{-`G~n6CI_zFeXO|9{pqr| z-xmnndDo;;XxmM+T;5*kxAdXGS#4vFc08!(i~L8cWk=yA}lLLi`MtLu+4k zerr~*w|y_KM_XMMepO#2)@%rA1woA|2e|e?p}$E|6OO)`lzHX2*}KcpcYhF}D)?3| z<-o2d4oT0_`)wQLTRkt5J}c-@Z{4In2{Gs;S|K0Ace>G@!A1qY3bRUh;_tt+@$iB(hKz59X#aiC6 zE_*%49C}jNe(H?xQ|u~9ttaw{4OX9es#ntaBX_3r#Ez;{WV+O-S#^^$f>IX+3uhf% zRzv9{=|H%666KdRb@7Dw{vt=MYk!f-2@*8nN{E>!vTq(3H*`ezu|r3UsdYdd#m1+n zKmRmmWXJvWzV0{Q&#dkrH+mpHj_~k5xxrzobqF~4x#+{l6EOj>`El?d?TFSc-x3os4biUYpno)s8lY@mH68GkJ-MC;-+L`&sA;3Ajc}5?b3G+7TO0=7F**GWD zx)J)rly^75?~a?VN!{4|amqVLaABKS)Q!v!UifjdT#552DL~^47=cU8bp8^aliEq< zd`sgx!8xIay0R@y>qg~Ra1)BA+qyzkfJOp|^PE`}TPI3?ORC3M@IDrGgLG28TzSg@ zyli>bjJX`^AedR_FR{6x{?hsoKGU`dq|M`G4S&YyI`XkqJ}JX0j9z&1S;;iSxTM|D}1}>HcUoPxiZaIC`q;AAc3gkT2s1vk%kb-C|Fs~b~V*z%5Hh9|dElleM?1fkeB@f(M zThxu$NlCe~#Dw(Sx$&Q(8y$JwKwV(nWB}owEN@viF0UE)`65!>1mt;)6c#*mGnPCf zBb4>fEzqQH%&x`0`r(`%rLC z$wpDo#)s`BR9pPStsNzu^I?Vh^?g}y84+2od^8Hu=h-&aj`U@#8I!sP1k$U7=4^m@ z-ID=vDdox|kkEqlhM04<`lfXc2-N8~ym0e3se39Q7BOnX2bk174v>P97T8+dBY!m(=4oZX|s8vIdG4*>-}WmaL)p9h$AIB^xS3 zfSO4?h;!%0SbKl~aazW^jfeBK^n1>{KV_Ki$EpQUE<8`c4?k8xfk#`mjrc9LV&uvP zQ_$O$kJ3X5>RMsS9D&OFfi0looh}PsU3p`H*NyiiK%3o;wG~lPaR3`8tERQmt)VQP zvxef~Q5N8!;LW81eHFwnv-N~g3RD{@u)RGSNdXhc`cP2coo_}#LLlox!J0reL|lc; zuL7|P1hfgl8Aw245bG~Na1*+IaElVZL6Tz!wl@VcYQddaVC2aQMRA^dE6S6LK!UYy zLiQ&&HvwJx$v_ zA^$51r>NqqTPyKPEAlD9_DqAi^La{D|bUcDC_9>b5p2$N))(m z>*3MT&Bdzj(NHM8T#wlXULH~x8=b!#2?dU8^_VS$!{LvH>K+IM#^riYsb(Eq{^Ka9 zBd>cDd`@-0QIFY4r8@n`Sx`q__biC)FtQonxY3`^fjaWK=fHip({G{QfC@G1*pzVo zJOkoBT;~iZD6r;F+WtHQ>d5OJ0{2tFw+w2ubx}6@)9Ft~Uib7Tu-`KfjOx%>*{J3` zrX#O=>=Rgz86s=`X3oChA7?!sdEK*~!25)bcf+3&>z?q0jxBD$?1F?4)|?*U0FQ8N z1D(H|^oT^rYJpyW7`R>->uFl|m`7Q7>16D%+yO^teth; zgWg_hzu!MenB9={+}R5p7=^L;8P4#~u56G5!A+RPD1s@eqAS~8@|2JaL<-OL1eGfb zcQfck@0K*X*k^8GUi_mzp?CIwJ%%L75y%w>C)P`Lxb=SdaHSYYtB1$6^!~lq0EOwU z9Q&ZHeZXO%+8lO;v%!McN|8b>ATKeZC#0z)u_8c>NP9Pey&;nwPA5yN&;XKjy9Z?S zVV%WD(Yp0vd&>m=1T%#*;fE4Gex>*^g7ATCgapA&NNu19ml0I1+++?$mUb49T@Yac z*^AUtkngjV3;gYPe}O;VToG2ozoZ@*6-Ic1d@yTCxfFxh&H`7gg`$Iia`xMHp@l|6 z*skJ7*misXKU{(Uy@}R#7$x}+WrtI+lYocFWHSs!A;6u(8bwi*e$ZA$3%?Fyy(#b- z&U#W1AH*xg56~j3hO=`;5=1va-(K;7(7-N^y-mT44!k=ByE^c06x^w$7^rX)Ak6+M zULn4ZAWnrm1guf!jEB%I5?Dm8j!*_3G74);)8iN8R05dK6HVSVp|V5 zH<}$Iu0*DQF>Gt`c^s1&W7t?mh9u;=rw9IJoD*D9;sMQM9BV8U=$9d8Jlhb$#<7;t z3d(s?p!oZWq_7eh#Yl#oV&Pagizs9Q-vjbn8eC!m~JI9*enyuyTHB4tjwbB^~wRdZokfkACuW;R&_5| zgiRz`9d>M-vWK8HJa)YB&&|a_T4v=KTXbG_qy=%ekr|wmZP#Nkm zE5Yk%5H6y7!Nil*y^kSmpqa|H6W>NVWKYGBM36BJ2a*s%r?H+UbuVa0LHab-Uk?F} z%gjdTgag7wE+CnX`rV?$qeiGS5}oK34IWeKUg97d#7t*fnAE+hAqCs9z@qN0j3D@N zeaM^6y4v{ETCMKo45=S5gKcF}_ZH?R7NpK#TUgb-dBFm*ROC3lyb6O9j`T84=Pws9 z0^1V~dz*eZs1f*g{RBP2kQH^sb#2p(2Dqvk1K_0Xd70|Txkf^WvmrkOJ?PqKw7k11cvDtk+3POTu-3wZp3T^FMU}f2uwlWBM@)-GAn>N z+s7QnBaukfE=pk=if9}8i`ga=e2L|)8!IPpYX-@=iT)PDp!86VU|H`WJ41uPG^lhYKX=-b+aSZ^lhXXtyM4UaWU%4=pZDm zyyG!v>%Kk<*=-e)2f3Yo0mryTncB=HY)5?wQ3tY@svAMQwQO6VozS&xfFzH!cxeFN zPO^)j@b(Hn8A0XBRpyX1hyq1)L;0HWaWBB$0y0wE< z3aI3b?J_-5TCUt;#Owgajjjr~y^}4FY$BDJar_(sWko8&1$1v5UxO~@u{CIIH!R&q zYTO;qhf4`6S0+Q{cwPy4pFQ-U{%$n!2EtJGn{Bv&?o8lS0xH?fhSZ>UwxI&L*F#Z* zyn5E6QIq&k$$BEC7?F%1T&WX)*~fa|Hl+_?lW|j|4Bz&mNQy%D)uODQsOl#Q*k4;3 z@X@xWh9*i8B3Vb8*%hT|FQAI4e6S>k(ENKVx(H}-Z(Qn>7JUFG8AbJ{^PL0~-$zk{ zsz2Lykz|v)=?8JWQFQkpTSId{#CDMpTDh{=6daeRoT1_dI-OmIaNCAcy&UJ1L=+ zE3ZMdeV8MZO6)9!vbM+Ajy3%A(NeT#5^Lu!py`7Z%>?9koNXgnMOv74ob?mXk>j{= z5L(6w)`J3VrLNszkz^&|TXTvH6HwJpRJn++p&5-(gh~ltxpK7-Cdt$LIzrY6g|Tb} zC10_CvN;mF0>8eyYxlxeB$CAO24pmOCW2)M|)fc%9_3TrOavSM{XWJW1&xB};S zcg%pWbB3xh3QIvufU#YmY#9}^+=;||cpPgQA_d(tjOzsY+%^KeVi|8KAtZ<{L(5R) zI1V=tie8oB1fahkt3DJ2(Ys2AfO$q`A#xIL*HBv!ZPs) z@xD85&Qq~-l(kDHA5z1xMjtA7t31GefwdH-Ps0TvRK#ta(k~JEg+J(rYx%v!Qs`=9 zSIeJo07g?4&fuU#df^&WDg_nDxW$H20E{haM@TSoEgvYLbX&VN0xGk$YbBtV+j!wm z`Ro%FeFc=5sHmY?XX6e^OJlR~<}I1X3r$kA6Hq!LDWR1s??AePonwZq2M4`!P#MZO zDhF2$MfpEbnS)&otzxF4wPYcYXg^EgFCz#;e|;!%io{>a40;&D;#p`w%JFp_?d5^!9q*Sx=C;!V%+@gjapdV8>jAaSd_16en5I z=!T|n=MUl*DIOm3!$QqLKCiav%niIk5P5zB?@3X{MkFmDntT34F&p`&0&USozMp`q zH}V~1gs)s#-2jXh;BZyV$K^?@1~j#+EnKM-3e%opNcUqCnr}W4p0xmXTZ&>f!y-wDizz{|2{Z>^_g&lE=6 zkkK73W{zvC-fGMkz_eu_xVg9Q2yKOZ&&I>GLlbl-EB{LxvwTT($zL*-?Nje{x&hWCGUviSQ zn3HVJ{8K*ipz1_p=Un7l_OT-}+@)=-f4&+}_gCiHTx4Z=$Y|vB zgXl-jx|rHl_xENY6?xLd?o{6YOhVqeH$-Uo-zOr6M@z>*u}`no|0)|9bC;D+y1=;w zbZsJ?{O^;JaW=e5U<1qZ2T;#H& zJ?H+bTx9w~HgKXo3$-y`(q{jdmHgUUx<_93M{8}qQu_2CGm-E5N_(cjuUcvHzso#+ z`nO5P;c)PjbpJnP9v?p~E&s>N<9+{}bo}z1)LQc2la3E+<-JBi)d}gpOe#M6mtU%gtRC>=0ZzTTKTiE!`mk31NXmJEdV*^ksLGN0 zg8j)D-T&uQVdhEq(U5k%kN&*01~P4018#PUzeLvBfN!yfCEChJZZ&Tb($mv@l)XiB z(X=5mO~OvjzrOq(9+WsAi;@#TXO9-2yEyIX@vR*a@<*LnM$$1}+CsHI9$rhm`bo_n zj=Vl~-x>%ye%GebL*PXuV{``DQB9D zIUc!RP~3qg!;-vUTMyd!nieiPK8}x<nf`KdB~Y*+mt2++mNJS%4$9O zP_f}@-?OXhIez|@X+B|D=?}bb;*^f$MLo)Kp~wDFBjkCTzTTaozxBbmS%N9f8_{HB z8V@6{Qs8Z}xnGnvE&bNo#kXWHw!eLe($H*AogjTK7Xnqve&&)~VywkIqlQQx6I3y( z#}HXD?Z-PKfh{qElUlr0_q-6c-FwPH)7!d*J&jrkU3iMGewp($u~`aoaSc0W6@|UQVrXzdk z+1j@@Id5@e^DC>@<=O8sCXX@+nxn9Tu z*$cQnc^^R(3 zF-FzlN4M|syDfK}S=;`Ard>L1@3aXuNMj6O8j<(*=!oSmKju39tWW=j8y}sO_8A>1 zj99K5jM{6OfM<(-QVZ3Q9cD+rsec^ZzqopgtCQPTgfIeGU+Y)1z5>U zH}%aH`%X^2__)1UxlFN~@|Bx0C6G|z)|kG!=TzHnKn1j4FJ7>2fPVFK`z8|eOggNm zEtw)g(w7~5qdLLs6qHbj5|~u3r}!L7=$*<1ODm~_DyZnBafOww`^lw81iitr zGg59MMe>RWdEL67Jp?aCA-O0dYBASB@`%vaMn?sU=OC$KF{hH`6H;s!O=}5t3kfk% z1H}8Wur!V9E+N{2S8P;U^U13QH{R{2^JHkU`N((U!}3pJNxAYJ`B~ip;x{>4L0&q? znTOpT{HDpNm+QvNbVxnaYQps$l?S2R;rNu=Q)z84uU>PGpfn$&!e+rY2Wg zu!qvRJ2yMvw_E8iHl-ywJ3^Ii6O8+XcsE|K*~vS$|HgyMrY)uOV15Jqbv5(#g-<^k zt!Z}s>9-!%Gm|+;SQ?>%gGu0OF6Z8E-GccjO#2pf@1>-1EPFk?J{Ioh4lPo zXf-lsP!iB@faDmp-|~n765T5E4WtTG6bDha2@mx(W#Q{j58GTj2pv| z6&$9Sp;9kbaNVSdv@{uvhDKRg^c|ebWKI{|_VrafslGD*>QP$wumdoveqQ1`C~?P1 z?8ptGNy*TtK*>d-$r}$-cw{%<-3l?jT8O;uEYq+MeJ5<{2y^x>{RY|rJ-R-m!-j;B*^SLZ?AR#BhUBP9xkj3m6{;Nl3iXby>AX%8=SJL3xiYslEx4iZt}JDJ zxHZeI&zgfqm)eOYJ^!(L^w=|UO84U_CziO}GAIjLwEZ=j zR=$aAjC%~GQ44J==dQY#R5YU(>uhjr$^Gi8)CQE00$=Z1PHE+=D?W{^7HCs@VrhE%$ zL&~fZJnK=@hg}<3T#4+mZ->pu+f;=OhJqy>u=~vfsn3p0o%HqDsD%arPhZX8tGYj= zjCBH;&AX)CR6-{yfz`)3^NEX9~7M%w`E*%uMd3Qvfb}r=b$X`jO^D|k8DWz3%D_} z333|tv4Z$8%(%oCT_wWc+jqY6VvT>h$$BH4yRLgEDHBY4fDFC~c?;GIvlypuGTUAJ zt!;ww-n`X2--T?SNfj+LWU`4!8?e~QnNe@&xs|iA9Ctcp`q^I=9h=@}wuAAQ4Xp|( z_kq)5$SDpD6r-Pl?OVC_Vl9HIt(;2l6xHxHnUqGYq>UiEB-BitkF$L0HjZzPiyrl_ zT1+yg-`aHb|2WOIecb8S{TL?J9!b61k2>~C;QQ2}t5rRRI20BjsXFg|{Zs8OXD*CS zRD}Ji?jU4L$E5b?KzCvFcCL%;G?jY58p5}8?vP#OEP>MPoS9@F(jjMJR6CilD}Thq zt4+4}(`O&C5#$|1#a^J=$+=u_Spi)p_{LeuZVqo=JDoQy`OtSa*N6Jw!rj~;$sB9| z?#_tnNA16852u!`rTQnDLiNB#n2DMfVIjt-01WnW9%5_~+V16)k{zU8{<%<3$$hF% zQk1i#gdn5yp{*plNNGuagqye&D+KJrt&zstUb}H?#9i-Z#)VL|;H|q}2n~`6ixDG3 zW?zIOICNAg=q$+FkFm;TBDG{zlv;u@6Uv{Bo|JCMakG(zn<~Efav`)aq^<6x2d`&G znNe*+4{#B}pjBK7?II~8Rde=51lCNdEqcsB$RCbp!LGA#o0)tNw;8~hm2wdGPO{Cw z;<-^BB_wi$vi%YM60!$_{k*6Up(F7G(f*dqi|Rn_8eV|==~hx9W`0yRA?iZ48$-IMnf=& zJHp9@CXp5e1&=hf@bQjuHgz*jue7+ZP9c8%T<6`-$fc%@G z&ft*}Wln>~v|_F^HP@YDtVY5Zj}mUEjKq$3T#`fO;fN5(Th2*=zY!{@vk{6?@ytZ~ z=~xsoL_80zcK0YYv5Qv1Xn;0RKMk9Bg#zP`aY2&pq*L)}Q9SME^J6%Zh_cqlIWKWG zg0SOUM>^uGj&m&~IA_rQ>1cmyjIxpl69VvGV|>1hnXNS%_?oC|H@6``!b%GPI4f1FXEK7-=WOTnZw$U`i#@eJAfiL~k{ zl~RI>9M^V6lyA+fIf>JsENRF;8R0EKM~8eFQ5F`i%7*v%+-o5@w05L!$;w}nP(>Vo zWsNbGj8cd*QE=yTxO~yXP;d?{MD6k&qB=`%5ox9OLp#z%o_-!z+I1qfxUZ@MSX|&* z$Q~g_xiYgp#Exg3VDbgdQijJDB+a*hq!@gA`tSwLyvFY(TN9ECuop4f5O$PuTgZ73 z+7SFNa>|;D=kd+YGZ9YU-&|w>+b(iuG7^g6grT*a;MqkKD0HF9R%pZZ5|T)ChP`qi zuP@;FZ%q&jV=r;WHA^zj2;V!x7Y$tD&?T+`M|pDzjl5@&QOa4+NZPuT3(^yubcH=; z_2U}`Jgg|i_xMS;yrYy;Npon`WC%EJTk{^ly>-}BlQLvNb3yAe++>JHODw}hLtJ7> z8HVS_v8cL?^QDW^QHC&N((^74R#u#fM&Z}qs>Xua)^vyaEk{4L|OurVSR zz7Y|MSt9XQIM%9@b%6R;L8IIFtxks!0*22Je_i#x(_@QKI=mQ+4XU+bb$0Hp-#{)56w}0l{41Ia24A) zP>(svK=`VdwqSjYGt(2Or;V6=LUe-Y-9hzX*fq{XgeIDCjq@X~Fv#$xidStttF&sJb%amc&N1G1KF(ZozdGMP^zjCftHIbj;^NNS3hGj*) z`SxV;=jY0;s&S%m;LZcN?~V3`3EJX4T0$c0gfXp;Fl$N={p#~{@Z)3YuKm_+ z%ZlDlTot~0ormugkRb^>fz(&gY!A&4X3}Zld`{m+SX&Y##dt7HBv+cY zoV#sdc6Q7ar?@y853aqzDJ_DE@0A{%AbL<-zkS!^5j~vW(^*x4eghAH88>qKmxvSpb&DBDDmhB)M5xWwWucqU@1}!tR|7^0fO>U4u$YpBTS{8i!z|q3L z6&w`>ziZZJ`?Ju42Uh!&zy+gg2jPfF`fM>U`tzv+1HWu-d!snREY@*(O;9F>glC~1 zkS7n3K-XKfL0M9NRcqLA3pYpf0Qibqf0Z{>tc~JK*Zt7nY8iEL;%{+j*HoUtT= zgRV%H3J$Umm=sM*^J7i8sJI88K4o%teP(AaJ|Pqyz_*_@Euo4?xl1R^OG{$x7T|vm zNqB34f{$YY^k9`c%t4Y=*n~Gg{sqvb-$MvPH(G%!qVs)Jl3bTW-^T_8qdXi(lK7gyrTe(0vs|Awj1J0b@ta&^@ zUxaQ9;s`j28s|OW0`!EIXE$IrL-;t66*x@CBvzY;WNV^w9vVW=Z+l3q(7zOE@qdfG4N%7GV)4=h)2~4(o8)_^>)~lCl?448pc!h%QI``g&G-_r# zJi1eyrpc`b8_k7XXITThV$(E~5N`n$OEu0Ca;}AX%QVhw2+EX~=|9Q@y-F84@jThMf`QT2e7DO_5)rUg`y(odxHHE4QEJ`)tOLi39rX#(v` zQs?u%8kym@sF0EL6Yj3i43QCm<;p}Eq?g;;EKSVuBJHq{y;38WkZwWsXw?7#*{ss^ zlT;8|(HK>zCJP*+I$FbG z!!Qdff91z z0kQA7K*@T7zUF9x1tV8&#G7z@n?)BUtkakYHPY5$4XSP8CM->T5+McIdW~GR3G1SJ z^dK*oGzGt@Dn0o2fisklfDNjjMEJl8WRq+pP2{fEv=`K#@e~W1Y`_9Ki9DyNT7car z++C=mC6{`rB=?Dc(hZs*2^lM>KOJ|R&Kt1?WzlRzeR4@b_-8Iy=qc*mL9iZbiyz;4 z9$_g-BrK?MfMgLt317HCSurBKlrn~J`VPui+~_! zzG3rZ65^?q ztms^v^K|B==c1z_a~=-oYFvehT{%Z(4Z1r}Jk?Y_7ys;9FH9~Ww^Gn)hsH^0BW?%I zP^v-ETvc144Q8IoQ_#NMPR(e+k;IDi+6tmx%~SbHjuRdA#<37xL;ViM-wI?iy5j3q8_X4V?>aY%w2p73z&}{ z_@>QCe90#-hLgeJ6jhBQDoatRg{B=-5v7nmB@jeb4U`Z>UAoa?MATZbi&b3&d*l&B zt@?wYqohV?8Y1cl*APT!myvl`7hx(^*VF4FjG^PVh%Um)ivNZOZ#pq-m#8`jrinkO z=_FYC@IhQL)IU2~h6PG~BYg}xgnodIdg@YDurP1qf1p{flTy!u+R}t&s!qacJ3c=#|x>TN{Ze*Zfjj~m$Kw+Wo(nbBKFEldO>m+ED^N@<&kHK=tLAH$_xKuTj}SeM$_U=99&LO0XUHK;xHYAI_}DxtN?<2a@1jIdp+ za;up+jlz5cyQH4bv=aEvpFp2Zd&Fd+HE4~1EEVQqlhzWlR6fEY@YjzF5_GA~LW|Sc z9B@k0LKvB8r!=vG=ZmWs87?>+_Z-z4VXj}yQH2OK?AIZhLnOx&MB6P{hjW*@D5Ld= z$Qc}B38J$upP+e!#%#b1n6{gBUV|?4oW@dUe8)MBT4)HFmEd_E3+Mt5Ij_MtzeruI zQL|FsoJUJi?^I$G*+!7Z7)SaGHr=^N?cOEy$keX{@L@F@CNc*~s>$*|J_V#T z*0UBoUYZ%s9=dY0U>k$&I2UM~5xO0HAGPb6%g9HaTAX>L zLa=6*d1SmWFLS)Z+yqTyo%NiBepFu3G!jPfN3N=oFt@y}YFq>-sky3A2(v7e(1g{p zL***exVJ+UE6kqIYntZ5e4DXT6)v=U_nM}yU~7l#=rO4F(YsU;LfxY4nrT97{=Z@y zGysbK6+?9b&{+6awO{BOC1EaNk14y*7 zGljIhs+w5R-yu>hILR~z946`l{P&^xsncJ48FND)syX7oXl1rvfz`(i*|7 zd$nue^#R=O=o+Z>!JU%M+>r-yrPEz#$3Yb@gjN*?ardNZcvNaU1->_pBU=b{*H&se z3Z)f?(8Ewul{CTiL)R$NG;*LYrg!dZx(l-)ynUF9Fyd8BBbx|oKIH+%2sCOee1P!) zT?7?{DtAG$(P5lR)QIg4t2_k5CJ-9+Nm&HZPG2~zYD`y0#v@IP5G+)?p#7=ka*p6K zq0W7VE7GnJYw|@%qb?-zF-|^OT2zEv6Wye8+;C;mjz>SiQo4B87Gn*H-Vhpf!5$?@ zqw;1v)$oENZ|5F~x4fi{H%~P!1$l~Rh^WfZM^WYD#QmfkRe1}O`NA`F%QWuG_CTjY zH@%Q!s%FB-ra#A^othwtj|>we`yE#`5&D+!LgOyqFu`qw!?7DjPNWpD36It`(C&Pp zImn15swMMsI_Tk}k54^(4DhLsk0CyCe2nlh#>WI7Q+&+uX@HM8J{I^`;$wx6H9j`@ z*y3Y{k3BvP_&DO@gik|!8sXCzpC*9Kyi2&wOXMBY<*TYczt-!-ZPi}tPe17%OUbU5`U&TwkLQfz42Db>EZJKgIaRg(^;OsVc}He?a~_u_Z<%W zWs$!H{Qsh2FB)l!N2%9K6%8eOk40U)_T|pkexiW3mltiWBCl2LcrC_zfsJ?8T7*oy z*;+qz-K~esM}=t@k5_+@i&q}|p-q{mt}n7E>C*4>lTWt{4W_o3rQCh}(L!4Jq!k#6 z6gF^af!exRH6OAfci8n)ru#k>FJgXVp;(E9Rm}Nu1@AA6JJNDeZuu4@#SiRPIMMFWou=nzO9#=)p+7*FTX;k9(T((emPu@7c{x` z@GgXW>O{LKO+AnKo6l5i>K-azx;?L`{fc1&4_}<#TF~;0RI6B`wqP2rx3zG3@Md$X zV9iqXsS9VnqB?z7o|{_GXy5Yo75<$zdYG)ob3E%SA=+s1dlI_!0M z_sF)Ny{>BaXQ{m!h*uo@0nhiTT})v7y9O@Xh0;Cs@jbl~1Ca?VI;8H~Y{by;td}t*1tT>_ZymRj+$V-kT$S6{VwC5d zz3dnFgByAwsdY*4^kd4&GxY8Tcz;^|$)5gRuk|fZZ`0FTO0B(K#^eYeO!|64ZD^V? z@zjJKAuqpO@>w}sw?o`;!i34bYIpJH!{rcmQr*;QW}IR5AyeBIZoZ7O_vIh?Sb*bl zL6=!Y#>EWc@yh|Q^`yGDRmrG9gujnioGjQzKp`!+mfh50hbFJ?w z^)5y}Hr&Fk!A9>SnjvgI1ntc1gH{1+N z&Z~`udEs(iJyDKtR$opp={(aV+f|mKeY6i9*KPGF(g2hXw;B&=OZ3F6H&~O)H?;CI za2}>(R&So+i@xfBu3_5*0m%&hLWWJ4+D8x7k)ORd>$bs&->%O2(y+hC!ux4WcM?Uo zLn?8+rZ##H^--)ljOXqz*{AeguD`zLKe?%zzW6g@TnMX)1I+D(xC5LNZu#p_!o zi|iLJ@U*?QVc7cJNBNfBa%+cb+fODA44%*rW#5ao^w^eU=%KS0oXABgSIbX)$ zH|$UwYw*nDC8jT5csH^zDbnPo`0N<>vRezH4HWOeFR9YjQXZ)-Ob2=O&nu9R`!>_0 z{^7#+`v%jAQ@RhoW%BZoy0y@Mx5sLQP^I@{wUb5vE8jn@?-aLFq&r~vez!Phq46~m z$lcF3g~G>bALm+~7sii{8yn{_HnyLRoS8NxzdWQMxl6#8%wN`yjiD{^THe|;TGg*4 zn?KV1Rl$iR?jfay+lihUEpKm{9KZQPue$^Czg9jeH5|~@oeojDmN%VI*Gi;>SSkHy ziyq@+M~oXd1{1ixCQR6$J|k|{aNQ0s8rsfTNm)}*HfEO9W%h_2t0RB9*P``Y<+Zow zeO<=}s`m5|`gi&(!z}&D4+c-w`mH6GjwWop68x59n^@g29WhFfT*NTRKN*RGXtv;z zaho8kb+@{GsL!-9Ur75m^g!)IoAFd_V>)HAy6JP@Rr9C8yv~R5!$WJxeAx9AH<~`X z{El8VDF{4ysKqZ`;x<>1+Bl6J82oYWARhT_4)TVkb-g8>)$I=Q4yJW|BrWOtOx?sf ztcPgx`q)9eySq&5DV~;KLz*mC-l%5CoA3vDGYg`-+Z}U7>c@nbTP;4zL$3IKqq?7a zruGpQj`+EHk${#wS2q>V;pggk0xB&)Z{GKXdaCf}ofm2s0qMO|C%Y3(aLCXjt~vGF zpxIwP_3)3sF)XL&ha*T@`da%-``-^f+3nghs5JA;GyKjYZ)y5sL(JIwM&&^^ddpt! zZnoBp&f}_=YBSS~`^SYn9D8|7hWgd^h-ahk(2|_PXn?x*+f8Oy$SZZDzZh*3vAMw! zY^Sc#Xi2LhyuHQl`AwE^lWk6gqp~I%1%(ES!H#+GH~C;~UMkEzVJZ`~{#xx|+S~um%@M}+roYTu{AX=tL`MBqZ0j1Hq zy_i;}GHR5UZ`4k0S1zz$o72wHIDgeOSQ2n8TG)DJOxmBMdyE)3N=KfNxBIuWo%L7c ze1F~}@^Ne%8ce9G)RvZZuP$^Pdh&$#%?_*=#`;8kqVt_}#q1dVU%Q{aO*J$FzSv#)#Y(4jT-_=xg^3AvVPr{nKzB6+4 zm)kv$g>Fk3C}HrB+UtFCL~+gnj54blFxi1aVj5JW>pm6ccQ&b+OE0Xbj;d;@*xJ34m1i34<)R( z)%Y#d?`KF@`wc36`Nqq$@q2=9&GDnFzzlqDZ>1VPU4pVF-c(Lr_$dfd)qmC`dMt#H=X6oCPzk z0nAx2P$mRa%mEY~6%{ZCl5r6OU`9mHbePTRxX z7!Uy4rg=Y$ZR0jRe^ERvDdp1rGq1t)Y@hF#pi`wS`5a4!5v3civH1lkC_5?1PIuvb z^pxQ14EUtWcIve7X(RFbY`NHI)9P=V2MvF}!lui;cYjwTo>_pyeq&ruW>){@(V1cP zHio@SG_~9J>Hm@i?OMiUW{VBaJ6)~nkmD7$O#g`bmG;bAD>G|aqg&Xd-xiyd?vJX< zw%L4r7!dIx2G+;gKR9m<)}Vp1?5L?F5ALab*?s?&&fpT*Z-r$SW8!}mmSti8A}mW63x#DN`uD=JZ2kO3SoU^h z{*YT>n#8mWBKmVcFVb{~|04aWW8=?WZgXOU;?tcia@MG3V{W z)<4edi@L8e(0%<=mCO(4iO4iWM{E$@ukrY8O7ACUx_Y1zsI31mezB5hp>@{#r4r#Q z&!cB@Mhsh*f)7LlbVDSr_iG^oeN7FKtoJnDx4r1ysYRbw-ZcJRKJ)P54Q4y`(J8PS zso2lYH4vV-ZgYC|&i40ycIZCzglp^#Xg~J=KV3Z+cayp^+QzlE+8M0tw7+g`YlbeQj(qVnTw71TL%arg_I{%sP7o<{B z&}_z!Qiqc`wCEB6d@fouEn_n-gRR~HTlCuwT&uIdbxF>|T~{wc|ErI}S}OKDVDffV zfW=6E_lm1wxw1?0?Xr_)fC-n17(R>)-1orC^JDYbmvcgn1-9ssfKde-1vTTriJ9l< zF=rlnT)O}1?qs7=7p9rA@qDXRQc9`KrfLS063Zd4r#b66hi6}@D1H94NS&qYSa<$r zaNp*7pOykw@3(p#`x!L*E`?+y^BCV*03#$nj`1hdYlfOgCLQNZ$h~yl2%VMbd>VpP z&;6Pjm~}EZHO5IRY=7L1fg+bi=V+e%@%~XXx4n!H6=VU3mGLbQ zB){})(rxcm+L9sQ5^s-R|1{(n89NstGDx9j2~r^6p`)IKX>SyWIeAs z$&s)!zviY3y7d_zFwpMUzDr*Y2#=rK&)hG5D#2G!kU>nhZ;bWY=fm_(PmwQ`Hchro z_GK|`4nqy zzRKA-p_gn7vb&BQG#)2Z2JS;YKiuO{)=}M{vBW|%?*!emD&P1S83YeaIdb8>v}=T5 z>&8}##YLCFk#v?HE4T_k>m1((L0W~MrEzk^(UBuHCxrib{;bM0?dJO-6ozr1M4aRM zW0d<_NN6YelGkWgzazr zS{Rg>H4@LsmpZo&^I#y=#mR&tv zb;r~X!`8RC^cR!VWnhhvs+zP_MQO_XdazpO5Rn% zE;zsJiPD^1ZM5zs9(ge8nP)gXH(OQt85^{m9qxCePf>EhqwYnIAMV;p9llk5CQW~K zw(S0Jg`R=w3*6^pM9?{Yn-CoU{W(F>FAg+Pp_<$@K43-CC)~4c~)ifw)0^e@}20T zbIG+`=fyfcD*02Cm9MpdohbNYGokN>%GOc(<@>+f(V5n8PUE_>Y7i&tRJ_LG>+qTG zHwW*)baYPB-FQp1p;Ctly#{JG4XK><7tCptI}M$FcbL#)k!XE<)LTrpv@Dy4KL_}8 zguk}%CxyRu@aF`7?cuKj{B?xCPVnapf1Tm43;emjpDX-zg+Dj=bC;E6dz7_o?I~^~ z@D%^+8@@*Hl~Gz%4|T4BhOxTcjw!!Th-s`l~|4KF_@k#5brGU61&! zo+@PYR&XmyaG;xnP3*5iCT)ZCiuxNYJyh;fCH>;Of=N}jC&)?eQ!ypF+dWl8imDvA zph}=_yw@v~#nO7(#>lb|h!nLsYD+3NBl8kH_cxU*a|lF=${e)pb^z4Uo}1`-0HTnO zArL95b6^zK&z_&?xeww{nL{8_ROYD37P-sw8i~$U=VT$to=*iLMcoZqP>QFil1Ncz zgR1xWP$>~rD#IZpxw}0Nixky1Sn26rg9fXTl0BXWMT(jmY|*pM1UDmzgMbZKxfg;I zl{e}Hec9)EOr)s0!8(aB{cn0sAxVc-?5M6FV-^cUii#Y#`c&nj9V95OW=DZi+EyY( zZ4Mb6I6sv{ic%aT`-!J1DLJHKOGIf(`egJ`&vPP0369!I+1@1Xm}jO)QGJ8NeD%ai z+CJoLy5|O61rZKe*m2K3`XWWK3gVXQ8AL2ao~p$3Dy%a_l?vtu0Si?!>W1fDB5LYM zwUZR3Dp(kG694OvMp3aso`(7%O`1qixPti$LZO@aIp9~6ub}>)B1P#6dNenWztF9f zY*U_Rnu|!0&QHROhFFoHIQ6&BUDu7L8>{Q4i9k0z;FdKVNB>&3` zFJrCj7+=_(YP&%7wb~s~Q3-(QskI}MMP5m$2v=vPRTKiKscSt+&ua&aL@ov(5GjfQ z{2DoysBTN@56Fx*mD9KcA_aK>B5JMbhRvj;%G_)5F9A8ZN`OG5s1ksSfK8yZVX@~l zQlhNfMqE=v4cC^UR=_VoJSUPo(|Z`(esqK2av{@SAW{?#P*|?^@uO?jb1$f)ZSw1A zSJV+;4QUXu$gbO)vAicmO@Uv#AXL(JOptdIzgOK1jv_^60lGi`s;AwU98ZT!6mI?q zM^yt-+0^TsNKsUPRGNBWb!{PWG4!6ZIk&;QmFL+tP>DTK*11=^j>5`=LUP9U4BVLyTB1J|ealA65 zF|pL}m&nc?^8(hMB6E@nz5%WBkVug*$rctWZWo9YX_B?B7G&>9uLB}Qwqzaufm4uL zktxX(>n!>!s}QH{UUN~A4r*y@ixl~iED;pZz9mv*NU|I!&v@+-~NLFWoUy8q)2d- z!B$jK5-E}z>BjXZnHRm%MT%rb<|?=Z%ce+Tq#Nv4VQWK@zSnCee40N{f`mp{)D^E_ zd!jU4w+j({^lI(&>$?y_NYO&hj+ivZl}Didg~ht9(}?uU-w4B6yWIJm3tNy52y-N zc`z>I&gyC8aSNXUN!}AJ%|#*I{YH&l`?{@LlcwY*)mV$(uL~_&y?*U<&7zy|>#m_? zBf1t3Btov3d==p`tIlZ?meL`QZojjrqEo75)L)JT=n`qu+@x!S8 zk2lLUw(`+Xl2}iSj$HYyzsk79`^V?MG;vvgP0l1~(I%rj;}c2`cm44yV$tK+^l);+ z#%G?<;nkP7T-bPW(VM}!yDOTvJ^=F-foB`y-aDkROh@7~c#BPZBju9#f1g*_%VID4 zIIAl^7m|0kJMgl(A!bX%WeXg;6|WIZURZu(#e1aDkJZ+9Hz2RdhuV_} z7v=V>$U5C0Wr@YzrmOs~!sef@HC=N}_3`;u{fw=zmv)2?%YM5<)GKUmur%sLH(At+ z?w0?fkh!_6dU%gn9`Kn;cI*BQB-E`pC+o7O$I8amlcz_to7QeZ2CIcmy` zS>uLx7%rV0*$Dp`{Q)0aM!wf-O(vf0VMjh%D~U;}l8UYje$G%9-8g&u_O$!{L5F+w z-CKTVZ&&hHW{(@91COk%E~>trbn9pF^qkNSX-o66ddTv!dM=yY?BDupw1|k@eNET9 zj!}_q?(F+QOQg6H%hq=H-6;?$?y9mOCcf8|h*p5_YmwqkNi4;__hrR_zPsQ?QDN^R zhpfOip|3Ad6)Em#B&LmyFDZVhr70Ub#5Yk>m=3!t(Hi3$YdEKT;@Y@<)=^|rxnRQ+ zff^_k0UK(J@0{jo!(MfI*W!>_+-|WMh59 zO%&JNF+2_)e0pU@svj8{5m9?zeN);ayk(??(-hY#(H`e(-9|aIVFY{wGC=z{7>Dt=@}GaCQ|$! zkpwLc@*)KzgUm@m=jH}7?a@IupafIRXe{cFropFqzd9$-xsj~HjG(>kltaCtUUk3e zBy1tCy0q$=zpUz7z_tap&PN+5J0JbmlZmidqthfg(zh`QTVbb4V#oU$EWN+XPIiBp z{hPM`PkxWwOeB*%wa!rwA1(ZgmUcMsUFgnGc5kr>(fA=0v7hEY zge@34l4ff{X8mQ~pZ#3bM{GlUkJ`%PLXX-4kBp|;e$>{1p_mW$y&3xRgMCkiT+(fQ z8CsQY8!UWBTa>5UN*P+&U)*wI2`6H|h8(xGRihDw(hM6CbJA8ql5W^)lEWYEw?EJ_hf&tSe^_bq_iB7X>9{}C8B^K5K>9|i&KH>Dv0KOg~W*RzuJ2; z)vfLpO449n@anz`l1OF>~NW(clQ! zlc|X~Yw(j95}9&sh0m$Y#}q18B8r&{FL~FR!eNF#-6LVNnYBM7BjKb{QTtQLjN@6{ zO-;TvL*ZtegYX$my3q{ki6OdY#@VV-1Vmy}5_uEKJ6VXK3v?D}!FP~|Ld9Hb;Zxdl zl^6<3Av!JQdNHJ94pnQ=7Bp4dPK_ccF$O|J(ZFCyoeGPG&Ud$9w?w2gP265sO4Hd{ zz(^2Hvfw&1bjX71q(*Ip(#uWb7r;9~BTG&sw>)b~+!pvjnN={ca3vA%#884I*N!34 zU0Ys*r8sK@-+D)`3^pM)R-8U_yIOG_O;TiJ==`4WoWrRKT(z1fNns-tvMs&5M^UPRIH(ZH#1*i=7>Vu7OY8# zHB@vfrrjl3a}H`06-q1nk-+=5=ETSl3JIdKjUnHgp=d)W8uyqs&}qdrXQKvgh ztQG7ph?cj4@^y&bJb)wQ5pCgU1G@ks3nPA-;f>I#ve|p?_v@%@eL#KU{0-=Fd1UKk zcvpI}Y*ohkdt)}2J{&tZcO-hMjCiLen+!kAh}>3~nigH1w?lc%G3tSmlu;zc9R$t8 zwkT2YrRL7-KIL>sx~iR-H)(|U-3%7A8p_KV^KD3~F|T2uP@?A{9bRA?u7jcAUAViHaBtHbLuISKCna$aVlJHS@YSI=R70PQ?<=kpPp-VWX9dk9a!Xg z9TK!ajJn@yAOhuB6Fpz~<&42Y?&u}l9i`$it*!e5%zIK)FIrwz1gI`$Q~Fproi|(O z_3rWc6W0n^bV>bad6k|C-}_E8_v^E18{chP_7v9gKzr11Cl02( zW|QgS^m&(mw6khuwe-`{DXnx_$eKX5RJ~$t^k8MLHCdi9Z_P%fQ|GM2-ese6is)F9 zO!>}+>ertwsmOM|${Sg}zW4VdJM=`_bDa&tBYNjtdMlEd&u?}k3oG=<(1-FRAeJ(!J~E@H3*D_vf*d%$ z>2b-XqYt$IXc9a`@8XT*j}FXxa+xx9w}k4HN~&b}Gq~Vk--*v`Jq_0ni05Jh-s(4c zuzs}JnLuy!q?z-+hAnm1l}mc48=0Nb{v>g?c!nO41>eJP^VmiPP2z?+R+WyhI+ko? zUr3jv(vhY-e2!TE1Jb}z^`k9rEFPcJC}^C!)rd1KPGEff%B*3=H9pdFlh zvW_bm#9KmbF-)`lxvd*R58Fa@IkZ_yxuFcjNV#C)pR~IYDL05Amv&I75^ZZ=!bR;K z_2#sL5{ig)oj6A|iVCIAC$Y-upe5cMgv$1Qa}PbeA$QHTf{gCU8GHc?x=PEYx25$_ zjhE}i6*zA^x@zX$MbCdo7G7cj=P&^801cI|JnrGVa9`F+mr-NVv{r{=kCx@OZib~B z)Rq^Gxbl?eS0{OIVGeMc_7dHSAH~qx zHRArn%?2(H=t%7XRV)!zSK9IvE2waW$4zmgDWqh?sjm8f@r%Z=O-+njo*60aw2l^g8dv(j2G;+hJtC895IXk+^b2e{uxbcmvS+GElexXVVA{{?P| z5sALS93YQ+6CL>>3{}^n(6%+U%vxk2t+CCQ@|}gbwCy=5^nobtJM@95N^cCGG*7l~wH}O0n=2i+ZR* zBCBm%n<$pMV%}R+-4bNCTZ1z6jE!2hYm&Y`o%kSo?9S~!uds-_T5?tFUmckl_UozH zxRX~uv*fmMvA#`M;6|8Q_;Hq~wN2j{%Fn}P=3i3OHB&lQRd${@xc5*G7JOd|1UjkQ zH)w6wJ8h?3I&-pr*L_x3)eg>cdvh`wSHh(BytOrZYbej!*XH(IgCet#xpw8BzZm}A zl4X5PO8hvhRy8jP<*|w-t!TG& zy5`-WJly}=gY}~GOE6tMr zFmAyz!B(x#857*m(+fOJ6l+zRfgj;s6cFZI6p7hb1_LtrncgNtac5>(+tRN4#bNnfL0ZDomr2SuO`f0QaXKF)5R zH)P3~)QIOp0v?_CegRBBGe<={ytlR4+{51=yNQ-sf$7Z{n;EaZIvx5e$81_hJ*~A& zF&r2I-B{XEWr-g{jsieeX;(1#v`KX^*EHS*&Sw~I z=)%uqD6+A{hM|PUl1;)ZG?_y>lp;s8#z+#RMp2=3w=vOcY7T;Z8NETDd!-+ogO0;Q z3d8J-q1G#+2xCd0yumuqFFDiOfrv)Kg@uKUh8oA0Xb<5{padzRy3u+HrwFa7al?9Y@rAFfD&HFMG?G062(U$7Xw_)fpwVkJNIzBwlkh>3W%TR<5 z#G!Y)51c^}{q*5GXk=q|hpd$nNI0)-MuNM+Rf`%)WH)GnD6tz%xe-lnE@?x$bcaob zKYMlO=c`dvC@t2YV#du#z7z;G2Ge0G$LzOA*bJ^Y37pO~m0Lg-oLbzRKyq?31hP~| zrgKAtS+rl>8C*|>hR%Qs655ggsZmrYJ==m<7Jw*QflO7E7|!JMHJJT_4scFDHJK-& z)R>9EOLeIjF~}y9q*JPDWIuR>)I+jn0&#@J9B&10RY5&jLORdljOE6g5|*tcd}gYu zPFBvUX_!2V^HgOGUlPY9A#!2mYByM#rcn@ej;80MVC0Cx{ds#$iVCG`G6e8>bPx#> zlZs1lnLbM+^IJ)pl21{bNR$4ADOj{pJ?_kGJFk^%7A57r>NcW$gYvGC^ppVl<%<}1 zrcoo?js29fOml{Ou-@SkJDGWFxiigcPLp?+*x77T{dO$NuW5v*JgFIF>nz)-au1}0IN z+)bfjBxDY(2wc$QIk15dDb0lqe1!d*X3|AC&EAik>x zMGfdQ%vhgJ1HC^i>J((@{AqllJopVx859nJ2B>+I2U z5IjvLEcrCsbNkT?S!e8CZFv84IZG`k)QH>FtUM2?%i7{K$A6}|T$|85*<@%29lB#5 zzLVh{oA-^if-MF*KHt}R#dp6v^sJrFbudvZa7R5LpCp1^&GC$v#7cgp8&L4X)jG}O zb*5@rhPT#^C>BiX>|l62nKR2b? z$+qPF@|s~+Ea!aX&Pu2-lF!+|Q)f_dp1J}WrQ@=$)&-qd2~WRRz(yfF)qtb!v9LnBtf z0vy9WH|v5lK4(JiuHr=M%(QZ&GSQ8L*I3+YPNczXN3DS`12V|g#B(*ASefyG6R;$0vWdAB$d;{J8tAbuiD8N*tJf@G#!u zH-b6c1^QR#z5cRzV)qkT-%l8yU}tkEqOv*`o^~Fky(JHWOFE+1b`m){*G|%o*?Put zHo`O-7e1V~)1atO`pFD#M8f+tHy~MYoW8x>NWX_q>YXsu+GmQ)Z$tmQ!QZBMfvHbg zrmthV?~=_2)T0(YYUIHbc<4X~DDYSlV4S(K9s;(*4QVRvD}Mycy^l~7to^YUItb0;z>^&V~ z^|E&>lK2r+cQcY|vfWJLeB{{{8xXzGd~1^0t+gr%OsJtGN>NR>hs2aMQ1XLrC++5%$|II_Vi68KYa&Dwp_>D=L-8I+i706z zq@<`&ng^c~?1e*9q!X@69`Au+VuZt_npQ4*VQ^@JzU1w5_rkW{PjhC!7Tb}o`{3}! zpKB-cE({e+=Iw<0Xoyk-&udTwGlm8Et( z1Y)nV_QRMk(VG46P6pAL{hWlMH~Tp|;a=K}_&^N`IKWvm+q(b>6iB1qm66s2 z_L@ZJD6H3AG~ni6Fn2=qXeRH&Q1(%{5TY&ngBT<{XdgYA zMiCsIGod~aXHOqflEB$;k;H%>>5vjp!0{TCSc|G^k^6}nulr}QyhX@hiNA0M?dHf} zi3dX^bKsd@GPSt{OMDqx8w|%c+Coplo`pzf9^ZqZh#?X=diNEka7nan+$lK75IsHx z&%6-Xora4GMTOEVLt?eg2Q={R!ZPedV^aBV}BT#G`7LuRxk4TtF{qDfh><`9XOz(^5& z&w_P>C~XO>O+-IyQP@amyOs84e;)Q{L{%dt?hIKjnl`QA6NQ^; zSi%)9kfEwtRJxLv+w>+#0#s=nykcedNTRr*RwQwPL|<(ans38vw#D!%1$;K4NoHMx zLxtK&&?Jfc+llM7w#V1t9WHuHHO&JUs-6f3NKK0XRf0L+lG1CO14%mW4dU+F=Eg#5 zCeR3^bO*!zyIeQ`5V_{ThDQ{%9_sU0mc!R;=kjV=1WtjC zj9zg**F%+}Lg^Q%g8?!bqH;A=l8|2$3e8!{_yV}dvdA1e@=n*>hEz?JG-YYr_02ui zHei~K&FKAIGg8&cUzMobgj+afU($uyOE&OLh15hsZ^D{EWHlWw7>Fuv!uCgGaf_QO zTu0;dW=QN9x^fFn>}ZRaA!*5w#ci&o2DQOgwRUg=<8B;a5KrKu!E8sH1BJZwi<%M9 zoe4)7Hr{`mvz5Ew7(mUL(tLQ$A2CxR62{T~)bDV^8PeIr_hD${Cb)S+@7YcKd|@n& zbKA_@Gn90X8>zMy$53TLltyy!oNBhjNk~n^VGHjgcc$x5r!fgrRktRmw!q^TjL82L z@kEm(-G}$afwFLQ60j8_*3ca8Cg$D@9oowGP@^_DHEWT;Z7`qs*bgqqb70{x)OQ>2 zFAqr2B&A0|DBo?lsVbQ_7Y+#45H96t&!_g>U-q*#@ofdFq?eg_O?;X*l>!FZofPb6 z5@1lPVF2+DVD>@*Q4+)G5KY|9domO!Ht)jFO|iK%Ltzi$HXGwCq9sEaijJ1ZZKg?Z z)kJT25_^hae!1QDwIAVahB#*@oN3m$-rb74EiS}!%>4Mtrp$1G?&{- z7Dze^SI~?W3ngx96oHJ2CdqEr2VM(m_t%Gy9$*Dx#P=P%BSVfmVMJ)NTm<(5hz{+9 z=WK``?&NJWC@Pe0vVuF4$cmwj$)P0@eYx>~D(qS@Q<@u+N571FRbgU~78qbmL`!Qr z+_noI=V8j6UGNnXMe!+MT29C7P>aG+_*TreGKC+;(7P1gTaCsQO5Yg~z2&fxs+Pe) ziA~*Gnb$ZsOPMpa3~t`4cf(3sMw2Hlhf6G?usv{?BRT{~jiN&7J#&)$5^niYSHL|Y zI`db+i38D^y?i%$*l9hMJheaU9$Nb#`4XDk@fAD(MO3;H);=Q3RW&HI7HwZ8k*HB` zq4cyB2}<+>9j^VnE^836pSKfbG--M2%%|w|v|cI8N5x)S_DiwC(DPgN1d(gzoGVjz z^mQ^GIr9^pfS_{Y*4A^*M3=@a*b-Q^Z{EwzSs(F<*S{z?e!-x+Iu{L<8*5@}buTI= zoRKE3?7XIhvCFnl|EgJ8m}Kh)^1kIRBarQeCg)y8B+^)z5RIA z?x9x&^#H4(o@!&K%N~=$bl2y0Ja8{UaCQEQr?fSyHf}S}*?3vQ-e}XDN9KRt<&3DO zuH=TMai@OK?*p9Us#JxRYXkDzc(ME^m}=wbtX;xHAKSmJzqs#e*ZDSxrXbith^vGzMHU*)OEt&zhk znn;s$Zfy)O@2)91aV$X|^c$@aL+kiG!O>;IoBJ<({MT_k!&{YfM5ylAdGw+m6>Ix9 zdgr)c#sIx5$<#wNHR_9v#1(O=lBGM%-dCU4IQQ)ajVlXw%R_mR}vrgplanp92u3U z6n>}es-F9G5Wbma(kJi|c8OY*oyM;JF}Co-K<|QfYBSaeHlhc$D(`5YHS`$K zhL7_%3E1y?Y8CEXs8#8p6yNGn@y-Jy#5-h{Qf|qphxYgzt;+KcdOD0*y>75=`1QtH z!nf7q>UFG#gcP=}GmmuHV&)H@u>oi^@|r z?VES9-`jc9hg^NS-)G^RD>l?a*G;V!%YbFRvWj7Yijp@t_!fIdy=6i^X)LHw`s1mt&lpkNnuD zb?WCHBe(jd4t+*L2+CZRQMB?j-(2{a?rm+T8cV@xn6u;0A+O;xQI!n%iEGLv15Pk_ zasm-dv7y(_U{}X(d9OCuzg;=ff6LxaG{X!UgD5!zZhJ5qgfd$&TVy$WfZG&gU4$QL zu-zFrC@=)XGn=B`3;PKQnifqCZY>WqpE@YybzHj+{iN?zX_G?f0T<%_#t-h0YO}mM z!`s=>EU;$bQntNS57&=*(q{%U(sy5*zbOJtFP8QiRhGE+RHq|<@lU;MJ~O$^8)FVu zRD|tPds`Y1-D^x}zbd*eP;N7JTik%XmgC8qW2=WnO}`X@9+cbc@mBMN^7z<6vLQAD zdWuCw==rVO=6jm$w{n~4LAlMy_^`<5XRr4dyz`;fp*1@1XtqM>a!n?;`QTpTnAjh( zWxZ5Jj!;>Zeg^wOxlNjZ?nVvdHV1$Buz2?F7XwcgPflo3=#hs_P;N7Qj#;O%2QB(+ zZdP4cw%B|TdQfij^j~cT&JH-~fB&Jmml0p_5{HL!n}6?CU-QFU*68g=r-K2599__Z za+_MZ7Y4N0;n`=@#-)~{ntZ_3P$*p=@H;7*LHnARME{+dtlLJcJ!b$Jg*{WbO}=I^ z>TA(-@oXWA%{lnet8&1*6~{kZW>L{eY9zA~6fs}wRP_8fLT%`j6VJYHT|cH#bNH(G-I?IPvHb1GhaSt*l`!HoVe<)uT|e> zcZ;t2dmeKKlhL|2f#Zh0jw(p8-9Pw3LT*Emnq>1FjeRCT>$Sd5uDDz==RhtFpFWh2 zG8s*>{(Nv~QM<&omoBQVu_94U2D#-|alpHC#jr+P}zN`>JyK|HtARmHKjy+L6CkY#gF< zYq~K0?ajA;hdpMMGyX4Fu|~$>*zeXZ3k(OEyvrEfJ>!81tDNzF!CF%};~zO{uX8D7 z``8)~z7K+X zAAmTvk)}mz8X}~oAwp^zqFQR&1{#ahG>U#hO%s5fWPh~xLm>JDU_Dqu>j1}Jv^4bn z0G}!ZK{`cN8v0{D+Xo7%A8tH=l(r5d8G6M&f%d;?|}^%G>IAwotPqI}9oTSL9bNJB&!X#zmR z{ReDVG*Lntn(}|x`v_Olc*;i;03zW(VT5R+bTq*#FqQwbcSpci+w%y*tL?`LR)8z7 z+P*Ud8?|^x{ND}4>)|(4yQf4nL`XzKM2TpE<ow6M%_y(%>V63u!zu&=4U5 z4bd+K8vgvnK*OKE7-;yDGSCDIAZLLlyqO13L?{6bO^#Z;D>G648Jd!{cn0#dVB26g zlFnjiLnNIcLed!`B%L8b(iuexq%(9P=?oE)&JZE#3=xvf5FzP|qWYvWW~oa$6GY#w zj2H3kh46n7p_DUfA(0~9L4%s$GrszaGmJyV8FSZToS_pLXNZt-R(%H&BjXGaWt<5B z5lemO6-|_ICin@aW%~RiRRGXy1HRc0G}q;uQ42x786xDHv8cLyGXa=LYeT+|;5&f% zhVZ@{KoPRd(Dc@jPSU9f$!3Ts*$ka=jbZ;s6Xlwr$=rya-hgT*gUb@3R5Jrbs@bXB zY7*I+Yu|ur1`b%xx=b_BxK?DE(bh4>d?$Scei^j~wBb57pqJ6Cq&~e2(kjx+X!Ecp ze7gqhGTQvVvCCNGe`S}k=>N(tW6}SWU3MDBT#sEwO^jW}oDJD!%>KXFWh~-w z>$1yWT`RK7AP=eigulFO(gf;tqrWf|bewC7w66scv@A>yHhBD0J-Lc!61SOyN* zp8r5BJ44sfZ;55p^B;+2EcBmtu)zo=t00$vE)x)~@^ z$7oVLYv@gpIYu4X9icZxwixT}AJ}3iaOM3ATTJi)mi1;Q;6wp{b=`m`h5?bzTz3Rv zE#d2{zvzmljbMH&el+vdlEKh^qzf>(uuUx&4DH1>P-uc?nCHUzA&6|v z^9ZV4I0*uKSFVfTJ;dm>;kzLSZo?1O01J%uH!Ls~Ys)*Rv5*ENFbv3Y=K|H5P%R`6)|!bA|!Xcr8Y|L5&$CG9r>XM ze%64HwsOn48elF3O9cealk!~0*KZkS!Q`)`ac7WErO7hGn$Up;Gcc&0r-}TsBf-=~@1A1{@LI6dClDW`S(hEKcdPPmh<)WyD%ayA7NM~-d z_oo(0=Cw?3GRz4c2)=6ezUR&bYpSMvaSPhJx5I5PJv1?Ge`3Y(73nP>KUimNpizg* zg=vw?g$TJ^FKJiE<)TP|%f(D}xLg9T5Ca$Z90uD_Di@lvUHHv{7vKvT$@LZjC?ZJY zqUfK9Tr9pTeD{Iz$m3%1b$MJEB^eEz5{yC`7a~gILZ{vsu9x6B^c~^Oj~4=fa|)2S z(Bw9j8;{^H1}c zCKdt*ZxG3+uKC_jqkw`V-Y|iq;8Bf5+lO~Ri<=L$dIGM=K-xl(-~;DGYWd;Achmp? zE2=(G3%wEDD*8R zIx}DnLoGvQz&!~Ci8bJ6Pu@#|?S4ze5`d4`N5L>Dh>YTRO%|<4#G=+ZL@XAhNW{tuyZBgl$@vAHJExyI-|gp? ziq#)rz-fQP|G_z##4gQ>Jnk#G{{62?zm74>Ml)wa9#;JFnLYFu?CM(fU`u{<%)wk1 z_iROd9u~7U;9)5iG-6@(d021?BkQ`Y;fE=8TIA~f^k#HP*Eg#_u!2SpVJ%=mBLG;? zh#G!d(1<#)pb-FANQHt%571bjfd&04GO!@*_XUlpa(v56xmm_6D(*%!I5arq5=1crTGo_Dyx6tq^PA&rUajL zn!2{IZ6$0O7*+%BRg9jWOw)0=q7Ey147tu3L2%CUVmC96liqNPv1S(f8%_X z?_aoA_i)R|bmQD~Kad&?rDaK{y440FnprwLn^jas|F3LMc}m zmAHs=K~TJi^U|Qc2863W+4e=kRnDZIC--hWwlynK(&2Jr_zE&mBJpB`D;D;Pa3uf( zF<-(3B8aE~X@mJd)q9w-F2Raf>JqF3U?PW>LWw#GN`rYfO&0W@2vsb!A))Fn_WXN7 zl>nSXyc}3gEb2%DJ{7aq*S8%;^=7C49til$(&!ZK#knbcY zfMEaau#-@bHv*=Y`2h4r@~&zCU`;e2J7GX*A`ppKKm)E51~`u5yCZO;JSG;|faxU2 zgT4xqxNd3ypsxl*Ck#j$&3hv_n9Oz4V3GA{PUwvu!}mZCy8{yDV!{R_Cjr<=$XMP7 z!T6nAPXsVp+g}VPK@J4LxNUzCoY3UAi}ON|KMoSmpohDl%p(Qi<6(Q<05Bm1VkoEt ziy8n}th&@D^kq+i?vUBU0_rlGFhF-AbU?G1?UAQToLHN#0j&um`APC7UG~D5Xj|yT zOK=@P&R*EQ6zJ`PdXN;XnanegKN2_=0=;9v{QywJ z7)yvKV+oxTqo6bvjmoS6db8m&a~>?;(;)!`{>SBDdkv_p0d6Pct~dZf2!@vdl$(Tz za+5GY@f>*KgeIgWA)?eIbcURS-2+TSdmi7DMNwjsARA2Xr{EzB1+k~#z@Xq!jYV== z?kb%RBrR|i5z0amWI>Ql2GF00_YXa}b~$p~>z% z%z)8E8AoWcSjM}lQd2#`5xQJ1a6J%IE`zl~bKkrG1tD;}4mTv!Vzmb7Of}&Fswc4@MUIgG%mkXW`$aKAQ|=8|ZL|qNh7oIAmtlla z+j3x+p&6oMVU~^I$S-2yzvmZW{GnXf5zN<+SH$dfc}3VJQ3wE1&_B2m|5@Vbjr62e$--Q3L)EHkp_VCpg+RwFX!f!wK#XO@ibhL`WW@=r`mc z0ocj69ei8CK>!Xrfd~Zv-n0O92u%lf!tEsWJ=n>&)}X!y#35!>APzBOec}-2*}4lJ zHPM7OcEKkn6jaw(_!Mv*083~JZ-Zb(3O^h{RSMA2_G9mLDMJDz-k{zBkiMIAX^9#vV{;KTL=-d zh4$j`>#~IeU?P+E^Y)^?_bmHAfBRvpsX_DOtGlSkevyR?CJyUhv1xt$8cRDZ7rkMr zBNpXV)AF_*G*U2MJ#LVN`jR~QP`54@sBx{Wmix10bn3h5DigWoVU1N^T6NrY4W9(x zg41d2BhZQX;~=kTz#r8*yZ+#_xe?iZ`&09mwU2JFyTp#(^;0dom2b({<2E2D@=cvo) zA<UQV{RQ=OT?9M8ubs+w&;$TIDKKTQ6_nd;fpLdY;bAFlP?E~G6MTde zSb&!TT7cIeRNr6U z&#%zYYFeFlS(xsUZGM~9dYj%o^4?@|A8_CvRG%=jad`fr`w3Sr$EDAi67}%)%$pc> zEUi9a=8H#)%KM|Ap9&%#&yDHHO=9Eu4PmBW-s_(cHjf`nj=YkkH2iHdmaa=(!i+)d zNl7y*Q?IPQ8@G8CmA%Z(EJTnj@etU8dIfzvwbG3t5LQBlresp{{Qi z!FJdf_Q!cAK>~nL$Khonbz!C7VsU{_UQ@viBm2(k>qm@srelIizwLw&T7*m)+=5v1 zmu^a|`P=x(kn;W=?>OY-Zt_sMG@%DuD^D3u1{+eIOe=`T6<@dd?-i4I%GYL(AGKls zC&N)Et0&U_p!%;wunmSbR0ez7-(bNqz!YE^;1dpMQ)35?eX}{&Y?4p6KR@2Wyi3SG zQCzm43mE&NkAYdAV6RzAl(uNG;juEnH*y0LBL!y54|cq_^hsaw0G4YaEdy*J*a~A9 za}o+n(Xbl~1O+8={##f(&75o>Nu`nYM=Kad%uQO)H<8XhcrHI!(E?H;XHbDU_=Mn1r{eB*TvBCO9atOcb@Zorl`X!Iw&ko-15=df%_Z1H|eVKaNg{v z=STkp2Noy(G{5iXuLthV-EgAQv7UvNiPV9`iPfVkx?fpVJyj>R`4!uWoyQ>+3~8hP z?-(H~?{A4GohEFrELWP^UijlY9S;^Kh6SYSRjEE9q{Wfx&e1b-{5eVjN3A*`>N$-{R3MWhmVi?fz4}+6Hje-E`=`>Nw;*=XFg)9D+jC`iokoU1C zebmM;-8(h8mbqlprs=yo{fVoC@;)XVjv8Ih{6B{W|Sd_u30dz5looDL>W-PhzbfA z#sC6F6jU%`1WcF(b=Qc#>hELSz2m*R_kYg+z4P8Vzk5<Xa=dS9e!e^;Cb=o-JL* zIg6!WsUgQ@@$@w-3`;m6qn!@)HyX(1g!NlEe}{=`hY71%)2X6+8*WASO>vWd9X@iR z=ak_SM@)_%n~>D?7q2l1?g{Q*zqVoi)4k1^H8p)KRb{rUU>^IF2KZe!7D3s@NDC-{ zNG&L9vDQ;fbz~hGOLh9zK6mWUh7TbF)*NAVa9aZ5r!=HcmSWF`Wx!fT1@-;?elND$ z$DxZqZ+R`aHV+zB$ArP$^@x(>_>bk-J=s{Iv*Uo@%~@LsN(u${oCMH*f&DrvuYvz! zq~1HN^i)5}qzC&PgRj0L6TmMUS?jg)PnKmI%Pg7q>P<<@lA|3VXOVqhNMDFO$82H& z6}~okOWVLrF9ubN$y#c$!;;{iQ1za->>Z}Q=Uth)YxBnztssVJlb@0c$*J}{2-(b9 zLk-^BBXrGf+mBMM$PSNJTi;;@mADvL_g>8xf$Kv1p%A;oUXS{6ZR+%8nlnXn#%~qL z(;pZ>Qw}Q>66mr5-Q36%aR@OK!^-F@? zZ=Oe`p#=*)(r%lq3W1a&jj`amiQ3*ceImZ|^vv^T3cjwjhx%QtCTjDz*=O2) zsa^8&@U!E`3{v|;eJ<-QRj_oH{6N{~m;9VDWg8Wt$HDEG#z45R%6=2|*~rwT#r^qb z*1F&k60JG)1QiOdds*A5ex<)(+?UexMF!RMEhzAOG~tCqFck~n(i&`E7N)7poyUhuYZ2d3k-O+>ntxEUkNs1fRq>V#zTkug;@2TwXLH6E@ox`e z&WxYr8#&DUEQ62Dz{$Lnf%rL!nr2zw?Rbk{UD}X1N#U2HPpfmCPr3E z4qYlLm@sy^$@EjIr1kdoEUIBh%6MDW{F75pY7Iy}jguO;(LNf^A7>>(**OhYxYUKG zsmq~anuhQv$A5Z}KJ<6a>@CMGsu~Wm+Oo7io>h7dDrni*bbaCBYd5kX?r=afG@aAX zfSALqWNK~goCR#X#Zx0oBOg4rZE=F6vY^B8`Micy^+Lr85mI~gj~)oj8X8v|aiYzm zTaWqRc4J65WMAM3Ap0aPTX&5;FA^s2oNhO8LCU==U+M^60eem%YK+Ti$yFY|`y~Co zr;S-(GFqDkVpBn`{W?gl*U+MhmNeCbKhymBgk{iugs0g(h6qstIB^D<)UJlyb7T3P zbYAz>J%7Pd!r-g9oK`03>!P(NuPefv`H%VYR%c3Vj}FZLwUy`~_T*4t9|P%m_FmNd z&6=!Gmso!On!|c6Gx~Xe&fOtlaPy*E1k`1g5(2Ivr#S ziBC1GK-NjD0cHE_HC3Z7uvWWKTJm=GRqV!Xxt)1&cIW5ifm>&OZ^*uni#_uQI|y9s z?R&zBP@V=Z%}q&{Sr^j2hc=z43*$E5dqilZu;HQoe3;=W){?mN(ktJix`}M!M-(& zt(&czXxP}eNs~C#^WBRA7bbLa;H@~*xn*8a4+!V5d$T;Cu)#hJg1yAr$ajvJ(=hv8 z$4h(4e5drcYJ3K95A1u>NZ9|te!dxD>HY^pgK+VloksUJmEK!0?Q6SCds>$_pTOUu?On+z{ow5v z`*4Obd9Og*@Q*2xz1d?M9H(ny7k(?`p20}m1gH!wPYBOs#X;F)`|gxS$#1s5Cht$x zbzbJ2`Ac{+Q9c8xzHe`(q6F*}EJ`@GW!I&$t*-0lJZ%h=Zahbp)(vEB*+OWtkZ|Fp zkPXzvw)S(rHN0(Tjt)%Qy}YRSUx_q<^5*m4m6tuOej?JkfpY9VT6*MR7sIruUu|Cw z8?#^K*N%OqJ9OR4!ZG`>EkJgj-w6g)vUGGuzngF3nP)S^d)3XvZf(U)tn0vvWLv@h z5d5Dqy>K23u4J_*J0k&n_enZIo-Xc0fx0P@BKBDXL-( z__L>sU^XB1!l+i<((}|zy>{WFre$}qnE}nc*nc+Cf?s1yg21vrTMYHVYzu4jz&&I&fLe(+j(fzMaH=*wQr zq82m{Fw6Y1<-@tz`HOdT>U9um9`h}stS{RZ3aa?JaH}7Cj_#XMt98krx>jH4$PPCX zn9gM#hNMD?E6Dn@d8#e_*{K}Lru-L|`WeHE4L@qWN$7Tq3vnumFU-Ay9nA`7N3*GW z*T>v1upaw(rgm!DFPG9^GvYK2#Hqd%$)+t*A4nX?mO$A6wtyO`u`_iVcTLwD_H7=f zJ`@;2`5@FrMDf9_(4MC3Pjxu<^3cGNOXDrX>kr+mIybqM$RL~#ri0k)sFU9;AC{Qj zG7+zJ?(lL<+rtF^gbFgIY<-V^3C+I!X~EFEDU%_#jBf+gQS46eeK32A_VMyzg_o{| zY}n_r$3w6!9?Axx4T*geC4jF{sBOa(z==kkl0yHN8|~rMjtL4@Xzli`RYsh_0V~q@D9} zRv&r{b@zij;o}4i5fpS|dqH&_zdJQNR%A3Z-tV*hC0#q+i$&Ms_x#ZDMtFQ%xAguCswOnayxWJ`*cSOF*J6S?vXFeZ%J;l00roLFn+5c7e?i8HdIapSzi?gr{Uh@mZm@UJo};$1BGOic?kc#1oLbyw_RFZSTu zRV?`faDalYVl6#&zd*3L$8Oi5 z%}>T2$zY4O*pEx-Va_+1SYO@T)0lFCQMd6lMij~G#cs|M@5aoX%* zE^53ZlbU{-s|$&1!VSQZ6&?gtKH}G^2kF7Jd>E|cebKzTcm;M++zu%IKtH&@$IPBf zszA8c?3!v*EN>BCwYsO+h|gvfLC$zbH&wwgvrsmCli(IToy2K;{%&eVzgQ)F50Svcx7Q?t8u@{t=nTcS;RNf?L z-$yKh^l~$b`<(QiZ{yq#?zSD63F~Z~dx2~F@a`Ps0&}MG{58+i?m&^Rn4>X}+CcAM zv7zSYn+LJ#wmJAt=UIccp#vWl2a9z%Sg+a~EH2}4zTP|tvHiu_tRuh*6+6S{WoGS+ z)m>xB$@R!)u@O25nn?J{Ny}K>6EZ}pwyXj|ZS54?T51hZt}R69;k#aA^*&x4ycMD<*BN=JG7{)EygQ;Cq~ogZ!^b#2J~f_Rm} z^EOm>gZt=Vd~FBGkzz;U^90CN-76vyxJHV-_0-&9G(l9)<8{|lcZB;9VK$%VuBYzs z=JS{zS|3{X1{6b!DJ#`mH5M>K-<<#98 z!*j0=ta5Y~!S`YKQ~&iKu@Rfn{hl}JtAqf}$$;&XgR zyliHp+LO-v!h(5m;vnj|MMK`(wReL1q}B#kfac>YyEzIK?ek7dy}u$o|-sXDQa*GG$syBAGT4liESEkRtR4QJk%rE|Y! zqgkmc z7}HMWTG{P77hZkib#n6m+=lD_`JZD^ecDt&bCa@{YUX#I9*{ezygdub%EOl zqsOA%)i6<&y;lmys757e%<%XRAt`EgO!-gIC>4gB1g!rMiSk_=bL#JcP|I>PO8zDY zH8&%s_}>Ph!XXo4j{RLEs$hLg$=?N`E^LT7`FEiw!+jd6e+oT;$|iQ);UbN-|0(=L zsWi^~+wfB)+&?(vv08|1v zozuAZH$kY;6&gGKZ4jy(3^_Sus|q7gT)n>wLJhq>2amDW4*bN}0bQkE0{ z;C~TN%C{Vv`(Ffc(kRoRxzIa|N5XpQKOvYP(%Rk8Q$Qx>_b~GOrvQ@Qogs_NP zS5YJZJj3;e>aP5t|0tr@9g zKSh;P7**o4{wbmaqgKZ*Cvh_?s1Cv7?u-z2G)SMsj3ZJE_{T_-<3;|qzl}6O)Ewkh zwjs6$gys(AgF`4=t}?q!;%4ecZ#w#-(udyRMhQp@YsDsIu_&p(6j)9e!NHJfBL#ds> z{}PZA-9e`6=kUKWB>}0ByZnQH6NG}bAET3)PGg6#ViT{}P_s+`vEbZ^Kjl8J)>K#&3-=#XjWg{d8#m5wg1QH_@t$ z$Nci2!cr;>OSNVFQy>b8_YExrVFG(N@kwPWvuAu;F-#cNrw7E|80w>%aBXNe4%{+| z8w=?-hH9mnnrW&`%>>uF{B#gj`L)EAa8)IP1e?VA!!%?~Q>I+{Wv7mJp2vB=qVLP` z$GYo4g@@rL%{p_th|?CXcBhklAJyc%Sw?<=zBGeoU!^@%yT$VjcXTdIn3mM?cK3oaE#)(p zq)QWCUazE^J*6PYo#zOySuCCfUY#TipWcQtoAr5N#&`FW(s&civo7gJpU|XLP`^|V z3QZpI2HZuTF))`lSTU0Ol|V^L1tXcddrJjThR;JM-uGE_aRvW=TI?@9uC&~s+rM{$ z8UwK%P$ImiO!kb|FyP-RfP+^De9>I#>N|1S^^wnLx_U@)!=HvSxk8}7zP2Iq=;$38 z&C247TMx$fs3wauPOj*tKW21~{`CjhXV1F5|9-P)_Qsb4)4U|Y5n{dKwGGA?&%VBT zM{!m7{P1065lhil{>P=n^dkDJyL2!_xwXG@*$=hj+F(!D;&IF1zEqRI*=q+ zh~V3D0bl>-?(U{H9E`_`i;t!YROiy?BMDe^jqj#EK$!fjQqSS$$fFepclvB=dO<{J zQlN0};^FkJM`FeGJxA{Nwe5C_Uf-TW5Oc9@XeXaRt8T@3^j|(NT{-lNn#-9q(tjs#EiViRnJ_wBUy)pmfUE)@fJ>9x& z9t*OEDh$9iT|j9bqq{A3gN9&bM<_c&ZeF^@ci=XYvDNGfH3!Ozrv>}c1sycs((Q9Q z0~M`sgpb|gDb1sF^RJyDrH^tj_W@~?AFT+6gWcmP?s78Qek&seaZowHe6=8mzmBGF z!uuAbBW&=Ar}(5ztp_e{U#z)}HQfD31FwDJEkL+NKye=6aLm>Syt(U1{gxO-5VwRt zb!icS+-s!AxDcfemnaD&#VQiGj|ld1dc*)O5g6R!6utB=OP#e&ha8Pdzdvq_wp)+= zxGSLNIzewew`s3Oj;fw?yLdvA;m(+G(~u#g5k$n051;LCow7_0ikP)?%L>bfWL6QO zZyP)Ct-scZB-;>MjloA&U7&aAgw+wf^fQA;emk!>dD8srCz1}dv>kVvbYD&|-(y`2 z_dB0XbJp%XVBw?CoH8O}PJXC|)2hj<&-%OGyZ^d&LelmA@ljW?4Tk(WV${^~qQZMy z+1Xj0&EMH*Hm2@{q%{#zm<2c|^H7*H5cK1eB5)rBeYwvG$D{;>r~W%9t-B>bPqiQ4 zpV2ohBk$Mq1XHj!!V~ta7f@WHXHf1JpTMORJ8oS>0{1=h6Z!*5$bGbsVSsy zLLJ+RB)G(WkW>`f0m>xt6bDxesy7L`bACghU8W#V*hmv)+oNjdJPzmtz5IC{0Wt+0 zIH*RjKT|M(&uo$9pfgHg47Qt*^J}`%qd;IubHD<`9TAM$rSjvXIpqnpL$a#8oQsyOTqqRDB%7sfg>%GR<58cA2&Mo zPz42h1y&i86@0^>rJoj!i=FpLXGh2M#Kw$iM;Lu76}{lR zSsYZ=Ip@5R%u}t$>2{FiDYmvGpD55q^19cPLXW{2)(hL_D-UFUswXD}Vs_#tE39nD zcLy|8^ich@NBebU$!!I8r`MhloTmq!*RJ&v$(s4*fhPU-py*!bDyRNSSBNrL_3x8j z(xg=&i&YYa$ddj(f~K8#U1ZUH+VzJ)V_uFv%JQf`MdsXUM}%!Bnvm&x%kH|)uipGB z<@)Z54j(_+^C`{nh)rwXG->N#Zh!r{e9qZnU-zy!IBI4^@1;!N1%HSMmR-df7Ie?c zryW`99u@a16b<|BvUA3VP4uvnsXv*LAEz{FKeqvzxTXya7hljX*y!sy+L+l(b9L357t1zCeDb4P4SwunQCAXjt3xiV>_Qr+8D*v&% z7M@I(-J%Bdfu$RHYh!oGrP9}h2WXm1J!sl1aMhnL9umttKP2SDn9*HUM&wtWLoCM7 z<9i8-)vxtfuFKj94d#+g7=+GoxxBN(+jq5hIvoJ*Q8lv}-+P2CuilUE8??})u9s)Y zIvaN%`L%|B?7`%i^gA@GVr^D7<~lbhUKlM?6WCg&G){c#Ziz-{lHx%qZ=5 zTc7nBMXXD$M`jfVa>_yjIOt>`KVRU_XnDGiG>~?8KKlf|oH|tUIr{`+|K0S+n$lQk z*F9?OlUL>&*=t(=+UWP}lmM#^#qBN>hewvr*Nt|2U$Jo{sVeO4{hRF+^Fcn(yFHn> z?>=*97Q1p#AP3K~5V~Iw!XaKP69F!;n{5hPrYy2o#5E#h5mo zs?hG-TcobMFv5xZnhdHzik6a|7PlhwO{6a4VrV~ZJt31_43*FwL?07GFw)EVNC$Av zVpps(fgQLW7j)**#}}Oi3I$^iCoE9(;}Ta!nsfn2h^p}C(lg2BcvRt(^vIVPg^r_E=08Ll%qpzJRb_;B_j@TyEOoA#~a%5fx% zNtdBZ6&V~94BSo%WVD+?plinJ2mvG>kD!?TRxVRWh|>g%Q-WUfLdBjEgmTb;L*Xf0 zp83mHWSkcC(IjrP*5j))6y6TC2hj?J0kb@=5z=6KN7S8eZRUDLFp7hY3NjI(bqY#X z;%^UPTEVI`Vk8Im2GpNLrp#VMS4%T(pN>pvCru5M1~C3FFgkuE@Z=J+1c_%+ooU$$&qla&$(%uRhQbhdm+@3Wl&02WZ6`dDDV#ZI!lB<~ z+g)O0A)^Mqr@%=m@D z%Z?T!X_X!%osY22*dn1|{}q9*W*S}nl;&U!u~`xxG?99SyvdB|%=xOoKzN)cU2BQ{ z%c>XK4klg210uGEWmg438ZQA8BO5TgCXfi3e(Ejord+2tHm;t@ z(*PhO%aLUNHG!1Rbh#Y-PMhI3Oegso(CKb~nJ>T7z$ z>-C|gGQtq*uj3>XGoz}(bFRXbbLrkeaJnI|7gpRO(^Wm@k30SD`$DyhPi@szKHWTa zwU)uCT4hZAIc5TL4Os{2i+`IR#~8=j+7CINArW@3Pp`c>sVIiw_R);BkG}l3Wc=!Z z48@oG50;PL>S^=7Vsw1MTUxs6vCJm|_CV=}bB$;(eQxe^hcl-v6FXLWY&`dx_jVCV z2QO|2+zid14(Pve_EovVw!CN0OP4NQK+C;;61=&A1~O(pjy&e3Kv!5s*T2+Z9fIZ? z0$V66kWlDnw_W^nZ(`RKyUjaCyt6QDbR~>yJ=SZp0LmYU^q61po|5UpSsd4>f-|9S zCk1poc!DNsvV>KQq1IqlD=^UdM2mi;E$bwUd?erp$+g&NBVAje!z%po<$xBPuN8D; z<1{za3Pgs7POl7nUAk)atNz!nYi-K%yhyXIGGSN;-$KQ0rkT{5lMf0Y`#}^JR^CD- zWh7m$$9z$6`IbOnu)EK?cL~;yWh;_R=l9G0FylA6^0T zg*_$e1^ey_dg<@z-ptiC{;o&q_J6r_X@4)G6dCsf9)>+i`(*3dyzTIL+@Vn`dUl`4 zY?Au+%r7?CLkw`H4HNJTBl>m_rB7`~~A8)mnCa$e7Y!RCE;KmLQ5{`rSYDRXA; zvAc?PJYLvEpBh*Hd}y0zi?PfKCqqqxs=RK(^6$12ZhY2M<*jwsu*d6} zBRi?C1q=x}B^Vf07R5iR{4Lws>x`~;?x=z{G?QXrtx$F|IAteLOnCU|Q>MUt z=z`3&GtX({5eP@5;a&cuL<{kh7aD!i4}N@dVKie)UK)`V@iz3kx=(UyLrbh~mS*pR z-4zQ?(c+(WB)_a(pz(o#;xj&GJ0uMXH-*xVd@bno5X~}9B=mfU2bC(^_H!QMA?PXA z+$A;G0?Z!a5j+J^v5#<~7+C6y^-O9;4c$5rXo^$eG!MkETHLV}%{KJwe;jy8HVvRa3Ew zmMHxRiiWJ91_2>sld^SKyJ1yR6oxz+1s#OUP#1J$?IM*{Q2G=t?fgdcF|TM59%)0) z6{QPYXvAON*fZQ~6u5BC;V9cZ#j^#f8~8jG_-Ha4^{YK(r7Mj9p5oXT1}{59b-EHS zm9VPSkRH@V|FNn#))8b)p&huy4nXKCWdIlL6P_-1D7tYjUaPJ01I65XmK)2UcUHdT`@8iiZ{!o;??sP>b&c1}xQduzT=snuE*oY+qQl zOCb_Ip$GKQh_wN~1MSlRTsy||Aa#wB;(jCjZd#-C>MwYf~5h5xNzApvt zjHKh&D(x7$?3V&3?n)xV<(C2n5o6%%^>7>fezr8Ulk@QL;uCF(b6RUb_Pn%P!8atMq%9>Jn)l+hhCr@ z$aH_{4Nk#JQui8^Ll|uT^-4LH%o#K^30%3v#=!mc%8?9RN;959={}k#N)wnm(~Zh_ zF0mR=I!PMJMb*ZD&SYsgcNu|V-w9&5WFcY2CZ&?${AQC<#4ROQt4yUkcLjk~z854g z5|m~lKU(ILLPadoTiI^{FS>2UH0cP2oy!(w0+(ncG#4p6xI}%RYKt<4VJFT~Ml<52 zXW@Y8VZ6#x4r02P^HC71$tXsyHYB}?umsDMYz?5Q26f<)or6IxB?bryB+kKL?ODQo zd=6^ZLIUX=Rs=8u_?n{(Vz@W$zN4D$8zZ{FbN36lPp242YO)^TWAO4zM~_cb*27Agd5Z!S5REs#HhL71%7<8)U_UWLFbF0 z^SWL_17^bZzl^}I6|N4Vm^ocFUy3&J70$uNT--CXkJy)sveD`mUZM!#6Xn5MFPaa0 z?-j^{F}rbE=*djkjpEUbSl0&ya8pU=?e<`Edeb+&#=cIlg%mSB?8^>pz_e1V}FYX=Au=+4VHyy6zECYFA&bBjUN88HU(;#vVA(1eClIsU(h#Cs#HC3?7)5VxFAQN6$5$I6 zdXuFQh*tUg1fo|!#~>_((Z-xAMF=;YaJFiR2w|j6Y{4JGmr0#cM;OS+op@9k%uIL5 zQQRc7WwSC03t;-~e+)M~tvZ)=g+a^$C4R@LrIpC_IAUoDlGb80oHk0|^@PEUQA(;t zvq9V7p~bjO=@GfHA|n`6;?_YJ#Vll!X_%NkNoHZa znH^ExQRu^Hy0!sAvgrw4>{aOpVpmCAX+gj zc#*B`dgc&_9$Vq{KiXPpLttf*IxM&5sOX)Vk#) z&JaDPb4`Q+OuuQTaA(u|G)@!S((4gwD(uOqYnmxaPrJ}dra~#hrQtNHHF3wFG{YT6 zZ`LH+urACfSDsOJXLO_L3>t5GwOCow9?Tl~Wl5cx^-an`g~uPd=$y48C9V3KCG}^v zx8FIXH?uOc&ne@Wb(_#OGMt&A@s`5PjP%-8!v2i(u>_)xL?MC5krK+cqVCet>uf`a z{8)oH0@0`FLITk`&f1Q?lb(aDDkWOYN~ICgd48p`A0sXjdw^?|(umI-;PPOVncNkU ztCS{O@~alGW$Qk9Q-w218>w=g$Q}$|mTsgkvo3Es34QsD``Zrn4+S=md>apKN;{!0 zm;8Exo|n-3(aJXG5*ki=)0C4s+G(fh;bPKil2om9hJwy$?`aLO(nkb6n!3wqm+3>1 zpExXt(F-IFV6+&jltq+8xV!$C`* zEfPjB%U^m!Ih%|26P4{I_Ce2X;!Qm2&+z^9=*)6-%^U!hf@_d@0^+*`CmGIvM&NAI%mZfO5#CJnD~H`1;k#v-!S zB3ax~2DknkSgQ@?_wfp|>~)|4Y`%kDm$n$bmXZCKosn*d%S5kpN*A1d+K#2&#hpeE z;No4}Ewm%|^+dNuduPAH(jkm3Z@{|N1K0Wvu*y|#1KHM*MvP;3y^r%oZ-?*JXkut~ zzBZA)IAs5%*kBc{Y^&ZWdNMt%>V+ynPas0J(5?lKPZMk-_2>p-Z}func3AZuJt(b& z`@GQ<((dWCw@}O+tE{@ASEUCbYEZf|e(z1ENN=X?mIh@XX0@!kqtT(IE4Ra~L`%o& z966k6aqj^hrfD-8?jP2wFHM~z?HIZh5AoDMZ~5YfctW5x!m5YRg&BrU3F;NiFS&Ix#~ss%NSaAqZ)`wAZ%7?IQxkl#j{fC8_o-6MtWK>b$SL; z#F1gl(B=dP?U)^t^g`)E&FH%Gb>(9Bai@fXmU<7Ld{wpYh4Lti!wuj=O|Vb~WkyD$ zAbq${0+)txZLze&(jJR877B|F7DA(kMITECEFG~JU@^pEgvA((2^LcgXJGnB{;p>9E0*DF5=WD z{lZjF`pI6ptKNo04G`)+r+)c0&vCW;)DJ^9jrQtug_RFh8(9v}^O>tsRk~Dmi$fXi zjx_9*6OkA_aoAjb<{|0f@uCDCWgs0h-63@AhrEmw|7c~k09K6`8I$Z_3bsrV4c49C zW#7MQg4y(!UNllV!G$K2gT|KY(&uF0!Y7iJ7eRe#e(r-&eUNR5y34 zhW|~qs^)yzG))(u#P&`Ru6=(2Zf&tvO2uA88!(#H}F> zdLNN_Gf+&ClMe%JDROdUpw~xa5ey_bD(lO^77)HLsvlFeip?9sttL#G*gOvgS~kec z4*GL=6!T{shv&pV^~Yo(43w^NYK7{4K%yg9cbTw42oEYB%(S3H1G&(3H5$BDtR(FQi3JuE{iE)iCNGr1$^?Hv zn~ysMFm?T-&3ri67E+c)^Her|#k!WFOqGO7eXLn;1}bfb zQ$g2#D|Hev(B)IIQ4F-X%&9vA)wk!lGSI%$DEtM&r8(ZrlYz?1om%VS&d8jYy7V)$ zBnG-q@$hI(T3F~Hbe=%5KcJi+(7jVme`0N6{5hEsLmYG3sVf6z>GE13R)x%wsS{Vo z?70<$srZajD-^58>&4VD8}N=E*?g#^8jUBXvD5;DpdnQzcFp4Oxyg z>&87xu+cvtw@N1mrcPPu6wN@Tl}>#bs9hCm2i-ze<>bsgL)s=+IR!D0-zAx=CaJ@F z<{sdiXy(Y&@46(Lz(BLjc<$WOq?PQltP=x?GDVi~)eJWUjqpn{GX-b!KmJTg!tJgg zf1V=EvXaa!V8xF=bIf@T4C0bGsslq(E$hiWNr>yKap`GDy9U>WhO#Yq_6$^I!E?|g zb+sPl#t^ne)Da45WEgTHO*>oiWSZqPa+?vW>O*ZptC3|QJO<5ub7&+ODYOUH}25#A+&amsxs%u7&m@VoA^;cz- zu#E2ftPyJm)GW}jg|KT*cy&itJ~CouLE(6Na~L`W*PK*BjWy3xlR-C|LQPkt9wa9W z(tyNN4IW(lK}KD75_6CYYOB=39tKa;%g&k6Dk zI~BUbppPN9;i*Oqxj|}~QBiF0DsWhCgk`!`zlP{@1pxZ8SMX)!TvuP?5&Tq z{QsT7uGFNa?t5bswLXUJ{Z3O)<2P;#ow2SG#ETbVj{3w{ojXUnY)G7)r(xk6ydMoQ z&y%}URs3gmx`FiPr(R<^dyi&VwIejmeiak({Sq)x#akD4*cHZmZW|2elrnmT02qNNN$87>eR1x1r|GFEU(EyP(M= zd$i8YagDnO!?2$6&PM&7h%U5@p0XopyT!($*VmRZ&3*Ax5LSywAF}hrA;#D#vLvVX zpj$yfov(dZUcNR@ z37GE_kK$l8tmrNGfRcUUMS`5xhS}?^#3oQZEgW5$ubkpwJtXfJAEE&tKY1sJE)b9A z?8NGeesTvI_~a)SL#IOV5CK*b8SyjjaE{mnA9?sZJ?etvg!8{@MQ=!Yd)n`pENoZo zFBj?EsjgW2QfKhKJzH-3q^9ZFuBbf-E&g&3{n9V_EBbydekL^7JpDjP@Z7z~5^6YN zJ3W@Q-=GZxdQCp@IOhXvZG{tJV0M7q(dcn=C+(|C#8>qtX51~c!Fzy~;!!FG%Khc$ zU@4LF4aoGL7<$g!M&EN-XoQmD7?YFPtgZAY!O~A|$RWZM91tI-fw6&dFF{`G zTD9OHstz@P;e)fWwExK3p=t5XTccb8`u_iYK-<2pDEoHGf!Y!lDZ~6|17X`;jKK z9+eOmB)5k}hs9kw6I!w=OA{wfm^^{$=zHeuEUOJyd|oem(q*#6t~+Ed8V-wNm@W!5 z#QHF#53WC1=<$8zhDK}Nc!n08o*9{|sW6bG&mF=ljS_4JH-xmT%s-Zeg&#>&xHTI|VcC65wkexdj*=5j+1-nhZz@mUqCf zbH1or(iV=`u+TGQ+=a^=O9N&^$(B$vC)^M&AHj!gvV-Niu>Xj-H)lI`)O&u?-^-s-+Xc|pHX^J5yr>3t@|9TnT^jeY;@Mav?$c##fBQ!J0& zCNgj8E4Mc~7}w7K*r|E#>hFAzU2i`#oN4CDT2D&|uaAoR(f#^{$Za9+7{291Hq+%0 zxjhYh4#Bq!I~^A*=)V^BliNY=aq(FCFXR4lM=sfscmp7|fM5E{DVSU=j&^C?rMSKO zM@)>J%N^?YZQtWJningpv5K?6spIph-4e`0-?)$Q&~?U7+2lq&2N)e_zJ2_p&DOk+ z68(eD8yLmnvC>A28av!&@&uPr3Cv>Kzjq76hdX+@__SzT%ob)6LI`V%Z$3>6#r_wR zh`l-aID*m=u_Fz<36)zK7#%fl+C1xHn}OoP-&PFQoy4#|2Xdpd0D4Co*@SAA_KiOQQz4H z7i?TM9k-Pq?Golh`qwEH8|z)){M%6dZF$CT-|uf9V=#e55PmYbrQz6dF+m4>v)MIC z`ED5}=7uryr1XWP_F{d#_1!DRovq=v#I6~0ZTo4Xfuy5snOsB*StFC{nLL^Ew9YKm z*F`(!qYLlVok7T$Y~*ZB7Cwm?F7JTm>d3RJgG^QwrI%E=l^A_$b1C`O4sZyU+vu4M z3Yf6kJJqsgYtG)+*Vcs~D=L5Hw?vW7$t%YmGPM9!eN+P|j zMN{L(P8mL_4fV;~WkKSw!uOByF(lh3&Pv8m)qUv=#o=-zJ?B9N^4TJ{iS7E2QH{>! zoFgND8ZI~Qu`%=MyBmcsza-uraeZ;r_yVTgdNyn2UwVld)rJ~6qoQ!qZSj(oFXS#A zxt3#z{JqP?PS&krp(n{(jAKrmL6DoV(EpYHx^$keyUsL{-5j|eCM~}_|E^wFk%~HkUjGs zpbC5D--FH0=7W_%fC5gu_xDrTzx2Phhf>dBg_P$pCK*RGoFD=M_EPGJtgSBsJMp+M zczwWbNKK$3c{p6N=S zukA}`xWWm&NDYP--}>c(_5%s;r)<|h$=UcZPpnuHgA(+G`fUL=s^o0}4>`K(`K_!s z(6G#YG}Ipr<-wG?fQeAHBfy>HxN=b(^(ap}k7AzOujPjit{Een>R%s!5f>YC*R6jJKxuS~Bb zJr-Q^1NKwuxvzBljIQy2cI08;MZQ_&Q0mFB45?K4SJJKwsd{!SBbDoZmIfZ3uvhgQ zSq3kgh~txQqxB&G%65j5xmC}X{X_AcX#&-+2LcYTbk);jS(rY%S3{DKhG7yo6ma~f z6j@;D^9`W>goYR{A7XVRnY5+4>M63U`!p9qVF1rn0c&;Db7k@K?B>HPch$)w0p_}t zditoU=|TWLbflg<3RoQuO_g|=vgT4iE>K1RM5onLNf|PNgc%ocCDk)Z8GHf3Bb!1> zJ+G9(C#OsKkarpJ>e;0XKK)Q&9K^m2(1+@(NDoG*)U!>=ZnXj5M;e_~XKDfpds6Bt zcaY4MSV2<@%N#TEcyK{mviYZsJBFsL&fWr2j3paQek93pDD|v6`YB<27I?F+WQ$R2 z)*U|ItCn>~KWvLnv$z9gBbiS>i9)~S()txVhf>eIqaO!Gwkz}{+4PGmKXUIllzQ$R z{UR^YF7F`OilY7yLOuPC7L`X6sEL8&WA=i28s4986njA2)WBFs?1azP{_$jtCbIV4tsF|B>6C+abM5j-q79*_iy-&i6> zD)nqVGI~GQqAS67L7qy6K)tb~M@MGV>PdTlstCSCTwYBK=wo{ipv=%btEcc0ePbRZ zChy7UswS98Hn4t5-XrV(*H?+Zo1+*?3rW^b*?a#=sRco@fFT)r5*L#4*A^NrB@L8% z_8wSy+gK8f)>iSYB}bMJk1_6m_%7!xV*iBI@rt}TyAIvKR?BlXmY)`8!|f#VSCgq_DEyD9ZFiXV7;*mWGIP(6Kuyd{I~9MdbHpcvb$XHNWRZ%5}=z~K@}E~TC} z!7w3d6>#i?WZO?E6Xf+Af7Sj{$wHQ{dWHnPV%l&&NCcD1B}G5wM36^Wynkd(oS@V* zBmNby2^&vI_EPFu5Oe#IszZWMg>`tJ=E%wezo$d&Ga{57xMhS6 z-*)J!YVRynY_#XMVb}Bj`FD+}D*ddqyMXKWeLv91hmju>GfhrA3e1<_sjgZR-HzN`hT7mbh@?vn|UA3RoK2Dy*8yrferq z@Zjw(e$_YU<_nJ{(F5RJX>cVq_in-f+2ZJp5k=D*I+m)srd}!wR$VIVyLg86KlRyW zG*EsaCTn_))KG2k33<|%QdeD7TAz?@97H2$K42~Y76S`ix zv%BAp;TAq`P}`wkWXLQVg|Yr)t0zT9s@|cK+P`Z49d+4va*5@GyRxF9Q$_5=WA(XPfXwl+o_kMC;rqRg9r2Z!5M2|}W35LM8@Z^@DzqCNV(Z9Cjcfn_IQ(#4=gS#M!aThdQdrb)rZ3@XDvrN&hab>{f)VJjolRj@uE@k|t^4W0!*&fz zUqANix$d^_Utup=+xz!%o3qPDudSDMKT&%ltgjL5Ekj3QbNwy1K}4V_2BL`k+$CU$cTcT($+YL(dBOkKj`|jRb@mlxL zB^=jC@Y?hG(zi}c#S7er=^6WARf$#hzWlx!zsD~3HD0rEb$@0G+uauJ5puthDLnp2 zWUp@@KWKb~dv#mWu(SbvMThff%!fxJ7Y-Rn=f|SXdb%lkj{TRnIW^AiEw|&GnezxD z?y+bl6_k30r87*Z;al-w^HS&NkE)lCMb#|IH2#BGO3T`A$*bi&ceB zMT6KjtObpc_9G%^aIcTh-x0Wb4$7&zYq?#o=jkW%ggwbnkkStvUx-|}WJy%Y7ozDD zWwTY|Wn$4@k2U8fjD7XgG8yo8%opswicM0QBWqYW&hZkLJ!>K4MvK51$v~ zcn6V5t%quNht|t8Bl_~JAZ^Y(E^B=co}pIarJeJf=&tUyi0q6G`?P(o`0RJ+)!D*> z4F>JzGVSO5<@SuL=ehl|?(-{iYrPj3{5t%^g)kz{v7YiS#wZ1LMy}QTD>s~UTX5d1 zRR8e)Ywhipl54e2dQ0;vo=)vrAE|JA(B5Fv^t40R(6^Vov)-V0Q@5`kySUJ1+8R~h z*t&{?h?vn!?qrnWoAj`GMAvpr!3~=8&-c(SW_tL`ogB~L_p#Gd0VM&$X56^aba{)@ zr4ojQzN72Jgp27xmwT0cT)I2`YtO_D=gJiWCt@ck?L93V8(#3~Tacjd^bLl`OU`E- zjvHV&cuLTs7?coc$OY9VnrN-qkc0fmWuJ|1pF`doCn~cwhsS5_nX)sX{?J7z-6t07 zs*mQ-#f<%8kDtbJqIE2PUK8r64+TlcjiHN)cNA~kiF0d5P5m4e$iyM?V?{&}frMlKbbKfSShaoFW; zf6u$)y)tH{G5sE|WHGmgcmRAdV$^lN18ektE3+B@JL&kR+e6nsM)U8k1dksaFf+(u zm(7&r0h+!C#>^lckSoFQTv}B6HjswMZJ^;plO>17d)*s$%%(Q0B3~ZDh||Que`ZYF z8Q${nI`EIq{(2p_bZn~8>UlQ5s9yiJ>)`ps(b$Y!2b$`7ovfU9YP!pf+R^2o{3@n? zI(!kdRbngsR}twweIBu=&z^Q;?3$xKL&}L%OfTW_J67}!qQSwdYyG2-?_G2!8%F$+f14gBd4K96-adA3zp5ZdG<8>H&rA1` zj!ochV%qLuv6lb1(>XBOUBINM+zEO!tP@rb(oxMTb{^JGUW zs;K?cb?x4sc=6SfnWw+rF=7h-bwEXnOl!xk--rf-rKZ>k_T#-7hiE!p zJz7C!4>`qe-5TVQ(#G)Mdk&S{cWv0|%^5n67P2ZC_RpW;^JZdG{nQWF-kdJZ)UOZp zUg2T*t&!%-5{SESN|7brD(XW&fp|K-Yw=dm5b6YCivA0)7V*77p?EZxSPYmW6tAM| z@mkRsoVD;DnW1+M-YqV7X%z@9+oXrZo6H8JzpdDPy85#4Y#LUr3~L|D)yxm^w7Z?Z zXQh7=bEEi7F^GH2e_-vC8*`$av|l}AROR2?DCXS`SY6TIc50OGrQGLrcU?{qX~>PD zp8A}X;1Vnim3wlKgt=fO0J&i7Z9TSmqFku8_|T)1spZG#Y7-{49v9oOR{iS*CRtha zDI;t{!|-~KaHH=a4`I?-+xRKz#U+Z{S7%@EOSl1j2RZi9Z?AKx_9G1(v~)IhP0ztm zF?WzNtUj=fn!CO%DDj$geEpo=gcoxMIjGLBVqd;*--qsgStlb85d?h)89T7<1=YQq za8};t3mfuQon|H|BbK>?OdmTV{Mq-wVXH)_V6^d*)qhKhKj!wfI^?qT6kA zk4^_eU*wF+?NU|Ac-M&U>mCPgG*%MCZC1F0}EpBq<@{5(qY z4Ckgdd<`m3BBMfU(lcM@iXV=QOd6E`=%;u;Djxa&c@pWK*ZOAH0kvN0q^1)mtC?}i z_4M+%?f6NgZqgjdJl#3l9T*xeIr46Ek^&}>Y1d%YJ8C;U_D^8&Aq-w6Z`#~{PJGMrB>ew0S@GZK zd1L!j%f8^mqnusx(unz1NEVdO+r*BHUlkK&6S-=g3M%F1=a$4@m6qT~eq44TOnhN{ zoHXdG>(cC1rTuzJ%c65Z6|17#VKx9siv=mEm^)zp5MTge;~|~RSqFj_&d=fbP|&H( z`Fq{;u0)tJeyg9nqP!QcDC98_RR3xu`KOd3gQZSpR~`&)E5~Jrctix<7a-eGq~RAw z+_C2O%@6F)0-ax=;+XRh-g&e{KG*HQ9eS`t@NV7ux{nEps@cGV&VoPjrI5{8BEmck zzDog~sHjc$^`?gEl9nYnKTDmeNbz_9lWR~X3Q{L$fbMLJ`CZelTU6>GUbS#v%eTg} z7jnwS#k{;=cAi^>?E%b6vK0_tGgh!|heiZq+Nz0x z(?6NcpX{E=>@$Ay@*_iola4H#uf#B@u>K42cV6_5LY;@BkE<`g)_vM;EiPZJw8k($ zBDnfa7?)oU38cq0d_0cxMo=4n|FSJusi{ge%hSa<<`L-X4Rgk~pWulQG;0XS>eIRu zs%zZ*snYDF6Tm{ub#c2=UXvB-5t{NrdSKe!{jaExD4J3k;Qqie!!6r*?CI!Y8`J!< zuME$}>~B4)%R|RNLm0~nh{kwl(VA1&7Q2h1Nqzo%Kx9840hx}_O7VF;RiSTblRr;A z8erde3dJy;YT!8ki!Qmgj$+*?ZrBbgyjV_P)i>S|+FaHF>(`a|n@2IXJOxQh-a_IW z?jOAA`F`rB(X7k$;k(&Lu2uYFu0v^45wM@b`T@*9_$Atozn>hVFwI;C-fYM$FM{`c zm#`cFlfbV;mz9jvL|YuqJ+ow9!R~Dz>VWJ$){BxqP5i|spt*j7CT9IMg}n(B=MZKB zHl1GxBt$5onO@*^Z=(I;S+gx@*W%>&wE&V0v)>$F78y_`LZc!zJ_U^tmFVC7c3NlE zc1iNNl_?t(lVPu@B7=cXSSiX#58buF&M38R(u;-d6muwjmq&01MM3JN=+#P0==r?i zuIuhahnp{qELK!G0f|3sfA}3a2GobD!|x{Y2^5;kPa6H7hOGMBa&JX6+ui7gw^$q4 zz7D`HL|qLehrqUq(dJVJU0px>Nqux(f@VV|raS^X7q;;w0ttmLL0>F16{r6^dRH1k zaI5Alf>JXR_^)VhY0J54^^(324yf zRLTMVVPN!=?>tiOb|YmEOncaaXbd|=sQ?G;rNpfMA2(8EF70#uu?jYcF=yNI0o`icC} zGou=3EEGYrhx}apD%5;z%H?~gd>-|FotMiE+e?bb*#k7mj|2uoSdi-p5tg7QA}9F< zf+q*X%jX4Ji>FsAd*YO;QNVnH@Ho0Z;`xn=U&HNY_4ip3zF9q0M(z#=PQM3@UxHE# z45>1o>dL%2-cFO18K1$Bs<0ascSbqhcU;^vENdl-cY1XI8BzEYUH)!iDL=;lrkO$Z z;ItYEq)gG}KSovOwrQkyOnEe=`kc)n?V4wb9^3$#BrF6XDBOoOnm@12dO1IowDor=!E;i#@Uz$MN1c=>`uTF0q5yXBk@;2J{gD$*YI!>x^zEx0SzlsLO@RQ4b_1;LF66E%jx z+*Y)##-_r-@8d3m&=`>(B>7VWlM`r7$(zeB%x6H8gAW>7V%wUpzWp%TK@CaJSDJX0 z!6=NkGpI0XJzAbGiamDoV5(8rJ@&)bN+VbW6>SwOt=k07*4sZum*_5hFEr@5?T#)8 z->XCftH{7sM|cc1ws<96{md?s*jIK?-ia+z>^<%1vlN>hQ5`;iu)g-{d7XK{0|RAn zVGNt{kI+6=JlLR@b!)qC8xnrUgP1M#%gLH8Uw+oHg3Yt=q;71chpaDzjXOI)c8II*De`!jcMDU#hOV_Fr#??4 z*E3w29+YV`1mf}{UeNXk{F16Jx6izlJe+&9G;9Y8*T;^^tN;7%Qs2_79L9iy2~;Z>H-{_WA`!dTatBljhcFR*wRO0ss%Q6u4n zT>_}Zo-mDkQXy_l!Rbc4`D$p{q;mb$Eh&qCOjCGZ0n-ul w14TBN78rE(p{FIYF+7<{9 diff --git a/client-mobile/.gradle/8.5/executionHistory/executionHistory.lock b/client-mobile/.gradle/8.5/executionHistory/executionHistory.lock index 595466396f7d87d079a81a6c2d6cb1ecafac5f56..200f1b7f83face6fb5be15a9a7b6b941fea65cac 100644 GIT binary patch literal 17 VcmZSf*f#f{_2X= diff --git a/client-mobile/.gradle/8.5/fileHashes/fileHashes.bin b/client-mobile/.gradle/8.5/fileHashes/fileHashes.bin index 0b6f5b8df6d680a06cf2b8ec6ecc8537ef32bf35..f67fedc02f1f40785b210609e37ece0c7fd96e4f 100644 GIT binary patch delta 35144 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 delta 31782 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 LYg2r7s+j&C_&cI< diff --git a/client-mobile/.gradle/8.5/fileHashes/fileHashes.lock b/client-mobile/.gradle/8.5/fileHashes/fileHashes.lock index 4f8ef11fabe2bccfd3da1ba73125ac07149625d3..e41221dc819367e303524ea457a76f54a22019c7 100644 GIT binary patch literal 17 VcmZSH&R@;(a=)o00~mbc0RSt*1VsP< literal 17 VcmZSH&R@;(a=)o00~p-<0{|?81swnY diff --git a/client-mobile/.gradle/8.5/fileHashes/resourceHashesCache.bin b/client-mobile/.gradle/8.5/fileHashes/resourceHashesCache.bin index edb116bcc2d98b2b80ff29ffdccace6bb0ed450a..b745ddf54ee28ef84c70ebeadefa62c053dbb594 100644 GIT binary patch delta 4394 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 delta 854 zcmYjPZ%EZw80L9@{)wCs4fS_T$}1%)=>56w%_~il%y4vx-#j(m8!0CqgQJxuZIkPpjtKgkIwfLZ8fwLM>b2>fgMoSedNXI9}*|C96R8&$9FyeQW6s|B@c0=vhw;)R{l}wAhV-JG z?xG3k=aY{cktPp{P!A6HFvsN%I(f`Nn5#?7aq~xrOZsXo02le;$U#4PNHR)MNwT*L zaf^$}4d78`oi;3Cc$wWueLM?S2j@4&K=YQ^3}XCa$6BFn}i-m}}VRJ0&0LoIMD{_k@G4YeAr zTiP%!6<=TgoYIaM_qUtQi*{pR=u4xT8~2%hD1vd~;sfZETL;iba_A7YLT0{36Umk% z2tqD&nVtVRib3-1lF>}sLtNvbId07+TZ&I$T`xY6jtu(6dRMQ@Cg)8(3i0KTVHoO0 zG)X?oql6`;`4qO~S^?ETUVV=%7XMpJVQ%%&Ir5YYdS^3v#|-t#;t);3@cvmt9_xS4 zvq=)%M$d?Y4HV~>4F(!%Bv&T3VHPsbL=lqoPu>Xb*-0_E*#t8)xQk4_*LRcmy%E35 zSSNil{ZcCNbr)WG`k3Q`q{_PC; zboXENkn@VX;732wi20g>-lnW~>aYGpmk23b*H4FKw%-_69sW*sv>|H_1XIPmLBEm? mtSbYzB~0;YrE5vwJ@c}Y8JbM85J zoKDN>dW*-_09N1Xh9sUmU2*FE!uX9tq{rNO$LHF;K}Sm4HLG$9)+>h_ePYYfFi7%! zbK+PrOvb`EFb^Z^tXDFZYL*0Rx(ry94!;ZBC=nNB!TdZZ#MWB4sU}}lJv@7{DOrIs zW8DtO8%8Eh3Y;xSGApMR>~4Z6fKnXM497=<1+SiiB$1rCNyC=?Sr)81{|aASgf-#t z18)5T9!0`%tOU-bCMT}VGb|geQL4_PN#yp1!fgCGit7$Q27VpFZwMtjTFQ>Mw0jlC zIMhY*Ivu!h(inbAILyP=H2w}pj_%GbPOcuIR9(gTOg>{2q+y_teMRMrUkdBF4eo^YrVCzXCI~?-pC)4#SaMQ2ClcTT{*VTpG5y;EN zsTbPL%~1s0z_~j^7Dh44I}e3S>xOvL+SSj2#L}{@&OOrNt}DL?IoOq{e{LX;FL9@CmzorUd-Shf!G&{X>N^RJ zU8Or{raf2nDL#M6BMv?Ns&c^oDos0J42W8edQ!#Jv_F~C;DxpNG0Pa}gB$u7h6EDKzoA%2D4y?DbC4 zOKqRQVVV^aVyC7AGROqI&pF#>TB##cTp(}q1&tML10mZ$dSx=pCD}C`CJunSy{&YB zrczFBDF^DKNUmg{owmIv+A&KnF>*>jXf$i z^*3_?CfF#6vODt&GJ+;sP7<`7G|ip>Ms(dZUE|5OQ}#PIXyz*hZ>Qb+G@CK-x9P!9 zDDuX7A}AZMXvwdDG%ZGuyI?$yAS<%YjDU_P@)02G-6Q)Y`$#LdacvJ42t;si7BvU4B0) zk*499%-AcZB;9aO&n>kZZSkr+XnoGDWmx0IK`B4W>o+ z2MuG{Fybat2Q~`gWuTR@Cf4r9Vy`4@Bu8zbf}OJb9l?QOpLem;`#LD=G*?1gAhq&E Q@PFM|V}6x|4vzQ0zv*Ia6aWAK delta 1047 zcmXYwe{2(F7{__;dTsA|>$RO_EX-|X3uI)8Ey^F=4`pm~BWPAgn64&L$l}bv*qR7i z7iyW1ZfdYtvM1w*))Hd|#%6#~*KU_dd_} z`F@`7<-Q#2h(tQ#-qX;Z^qqF_$(K(b+`vKJns zo*FQh(QpG?6}XDKIRCowCG0(79H5OY@Mb4GLl;NkhK?qW!vGn!5}Rk*dFkek;6>?*!y#ir<27%b|>dz>Vw3A#x`zOtt%-lE$_r#X~nLxK9_L zflg`pK?~KF^PE9AylU0;&G@k>+o-9QAGAU@U3Bsb98nX$>0z+Zo`7Tpy5;7#Ss9kY z%R8%Z_-+0^IO+4OftCEn`T8E%Odsa?@p5`rqv_{Cq~$fnU%1eSq@fW>Xg?26(Ul9r zU6JNyga#`(aCf_WlwSKm_-h*W(t%^z1%VEp(C%CdEtr~?E>K@w8%skiNdet5(AuEx zm2&Xm>?g+G=(&?RzmJjqXwWm&oLSEX)}ifpb#0KAO5q^2HA*bS=2nRf zb|!3DIpo?Wk!zp9{~ff_H%;<#3I3fG!nA+8{Ivo-3EQ+8JwwLUWUg8odOmf<@A((Rjz#jTIkPf@+e1<>+&E^wZFl}2fT^ZFu zOTw0U2s3+>$Dx9hy-K2lvM($5WxCdG3R*FINaw@wR{a@_Hi}bd|4DO6r3|Beoe-nc zkeJ~xC+K6C+9<|WHbTz_Vz?-zEr*01kj%}GaAf}n{OaRPh~(yroo#@@x44*EsRoP( z^;0T+0CPhy#d_Q(null) } var currentPlaybackSpeed by remember { mutableFloatStateOf(1.0f) } + + var selectedMediaList by remember { mutableStateOf?>(null) } + var initialMediaIndex by remember { mutableIntStateOf(0) } val playNextVoiceMessage = { currentId: String, speed: Float -> val currentIndex = state.messages.indexOfFirst { it.id == currentId } @@ -150,14 +154,27 @@ fun ChatDetailScreen( contentPadding = PaddingValues(16.dp), verticalArrangement = Arrangement.spacedBy(8.dp) ) { - items(state.messages) { message -> + val allChatMedia = state.messages.flatMap { msg -> + msg.media.filter { + it.type.startsWith("image") || + it.type.startsWith("video") || + it.filename?.endsWith(".gif", true) == true + }.map { it to msg.id } + }.reversed() + + items(state.messages, key = { it.id }) { message -> MessageBubble( message = message, isCurrentUser = message.senderId == viewModel.getCurrentUserId(), autoPlay = message.id == autoPlayingMessageId, initialPlaybackSpeed = if (message.id == autoPlayingMessageId) currentPlaybackSpeed else 1.0f, onVoiceFinished = { speed -> playNextVoiceMessage(message.id, speed) }, - onReactionClick = { emoji -> viewModel.addReaction(message.id, emoji) } + onReactionClick = { emoji -> viewModel.addReaction(message.id, emoji) }, + onMediaClick = { clickedMedia -> + val initialIndex = allChatMedia.indexOfFirst { it.first.url == clickedMedia.url } + selectedMediaList = allChatMedia.map { it.first } + initialMediaIndex = if (initialIndex != -1) initialIndex else 0 + } ) } @@ -233,5 +250,14 @@ fun ChatDetailScreen( } } } + + // Просмотрщик медиа + selectedMediaList?.let { list -> + AppMediaLightbox( + mediaList = list, + initialIndex = initialMediaIndex, + onClose = { selectedMediaList = null } + ) + } } } diff --git a/client-mobile/chats/presentation/components/MessageBubble.kt b/client-mobile/chats/presentation/components/MessageBubble.kt index 92d9667..a2a0ea5 100644 --- a/client-mobile/chats/presentation/components/MessageBubble.kt +++ b/client-mobile/chats/presentation/components/MessageBubble.kt @@ -13,6 +13,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Color import androidx.compose.ui.layout.ContentScale +import androidx.compose.ui.res.painterResource +import ru.knot.messager.R import androidx.compose.ui.unit.IntOffset import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp @@ -46,7 +48,8 @@ fun MessageBubble( onReactionClick: (String) -> Unit = {}, autoPlay: Boolean = false, initialPlaybackSpeed: Float = 1.0f, - onVoiceFinished: (Float) -> Unit = {} + onVoiceFinished: (Float) -> Unit = {}, + onMediaClick: (chats.domain.model.Media) -> Unit = {} ) { val context = LocalContext.current var showReactionPicker by remember { mutableStateOf(false) } @@ -145,34 +148,40 @@ fun MessageBubble( if (mediaCount == 1) { val mediaItem = message.media[0] when { - mediaItem.type.startsWith("image") || message.mediaType == MediaType.IMAGE -> { + mediaItem.type.startsWith("image") || message.mediaType == MediaType.IMAGE || mediaItem.type.startsWith("image") -> { AsyncImage( model = mediaItem.url, + imageLoader = core.utils.CoilUtils.getGifImageLoader(context), contentDescription = null, modifier = Modifier .fillMaxWidth() - .clip(RoundedCornerShape(12.dp)) - .clickable { lightboxMediaIndex = 0 }, - contentScale = ContentScale.FillWidth + .heightIn(max = 300.dp) + .clip(RoundedCornerShape(8.dp)) + .clickable { onMediaClick(mediaItem) }, + contentScale = ContentScale.Crop ) } - mediaItem.type.startsWith("video") || message.mediaType == MediaType.VIDEO -> { + message.mediaType == MediaType.VIDEO || mediaItem.type.startsWith("video") -> { Box( modifier = Modifier .fillMaxWidth() - .height(200.dp) - .clip(RoundedCornerShape(12.dp)) - .background(Color.Black) - .clickable { lightboxMediaIndex = 0 }, - contentAlignment = Alignment.Center + .height(240.dp) + .clip(RoundedCornerShape(8.dp)) ) { AppVideoPlayer( url = mediaItem.url, modifier = Modifier.fillMaxSize(), useController = false, - autoPlay = true, - isMuted = true + isMuted = true, + autoPlay = true ) + // Прозрачный слой поверх видео для клика + Box(modifier = Modifier + .fillMaxSize() + .background(Color.Transparent) + .clickable { onMediaClick(mediaItem) } + ) + Icon( imageVector = Icons.Default.VolumeOff, contentDescription = null, @@ -181,7 +190,7 @@ fun MessageBubble( ) } } - mediaItem.type.startsWith("audio") || mediaItem.filename?.endsWith(".mp3", true) == true || message.mediaType == MediaType.AUDIO -> { + mediaItem.type.startsWith("audio") || mediaItem.filename?.endsWith(".mp2", true) == true || mediaItem.filename?.endsWith(".mp3", true) == true || message.mediaType == MediaType.AUDIO -> { AppAudioPlayer( url = mediaItem.url, name = mediaItem.filename, @@ -201,7 +210,7 @@ fun MessageBubble( // Multi-media grid PhotoGrid( message.media, - onMediaClick = { index -> lightboxMediaIndex = index }, + onMediaClick = { index -> onMediaClick(message.media[index]) }, modifier = Modifier.fillMaxWidth().height(300.dp).clip(RoundedCornerShape(12.dp)) ) } diff --git a/client-mobile/core/presentation/components/AppMediaLightbox.kt b/client-mobile/core/presentation/components/AppMediaLightbox.kt index d52da33..248a13d 100644 --- a/client-mobile/core/presentation/components/AppMediaLightbox.kt +++ b/client-mobile/core/presentation/components/AppMediaLightbox.kt @@ -4,6 +4,8 @@ import androidx.compose.animation.* import androidx.compose.foundation.background import androidx.compose.foundation.clickable import androidx.compose.foundation.gestures.detectTransformGestures +import androidx.compose.foundation.gestures.rememberTransformableState +import androidx.compose.foundation.gestures.transformable import androidx.compose.foundation.layout.* import androidx.compose.foundation.shape.CircleShape import androidx.compose.material.icons.Icons @@ -18,6 +20,7 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.graphicsLayer import androidx.compose.ui.input.pointer.pointerInput import androidx.compose.ui.layout.ContentScale +import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.unit.dp import androidx.compose.ui.window.Dialog import androidx.compose.ui.window.DialogProperties @@ -60,11 +63,12 @@ fun AppMediaLightbox( contentAlignment = Alignment.Center ) { if (media.type.startsWith("video")) { + val isCurrentPage = pagerState.currentPage == page AppVideoPlayer( url = media.url, modifier = Modifier.fillMaxSize(), useController = true, - autoPlay = true + autoPlay = isCurrentPage // Только если страница активна ) } else { var scale by remember { mutableFloatStateOf(1f) } @@ -72,21 +76,10 @@ fun AppMediaLightbox( AsyncImage( model = media.url, + imageLoader = core.utils.CoilUtils.getGifImageLoader(LocalContext.current), contentDescription = null, modifier = Modifier .fillMaxSize() - .pointerInput(Unit) { - detectTransformGestures( - onGesture = { _, pan, zoom, _ -> - scale = (scale * zoom).coerceIn(1f, 5f) - if (scale > 1f) { - offset += pan - } else { - offset = androidx.compose.ui.geometry.Offset.Zero - } - } - ) - } .graphicsLayer( scaleX = scale, scaleY = scale, diff --git a/client-mobile/core/presentation/components/AppVideoPlayer.kt b/client-mobile/core/presentation/components/AppVideoPlayer.kt index cf252d6..9d2659e 100644 --- a/client-mobile/core/presentation/components/AppVideoPlayer.kt +++ b/client-mobile/core/presentation/components/AppVideoPlayer.kt @@ -89,21 +89,22 @@ fun AppVideoPlayer( factory = { PlayerView(it).apply { player = exoPlayer - this.useController = false // Use our custom UI - this.resizeMode = AspectRatioFrameLayout.RESIZE_MODE_FIT + this.useController = false // We use our own UI if needed + resizeMode = AspectRatioFrameLayout.RESIZE_MODE_FIT setBackgroundColor(android.graphics.Color.BLACK) } }, modifier = Modifier.fillMaxSize().clickable( interactionSource = remember { MutableInteractionSource() }, - indication = null + indication = null, + enabled = useController // Only clickable if we have controls ) { isControlsVisible = !isControlsVisible } ) AnimatedVisibility( - visible = isControlsVisible, + visible = isControlsVisible && useController, enter = fadeIn(), exit = fadeOut() ) { diff --git a/client-mobile/core/utils/CoilUtils.kt b/client-mobile/core/utils/CoilUtils.kt new file mode 100644 index 0000000..ee4e4c1 --- /dev/null +++ b/client-mobile/core/utils/CoilUtils.kt @@ -0,0 +1,26 @@ +package core.utils + +import android.content.Context +import android.os.Build +import coil.ImageLoader +import coil.decode.GifDecoder +import coil.decode.ImageDecoderDecoder + +object CoilUtils { + private var gifImageLoader: ImageLoader? = null + + fun getGifImageLoader(context: Context): ImageLoader { + if (gifImageLoader == null) { + gifImageLoader = ImageLoader.Builder(context) + .components { + if (Build.VERSION.SDK_INT >= 28) { + add(ImageDecoderDecoder.Factory()) + } else { + add(GifDecoder.Factory()) + } + } + .build() + } + return gifImageLoader!! + } +}