From 435ddcd0c14938def17c358267ff30253c236336 Mon Sep 17 00:00:00 2001 From: Henrybk Date: Sat, 28 Dec 2024 18:16:23 -0300 Subject: [PATCH] feat: Pathfinding v3 + Attack rework (#3676) --- NetRedirect.dll | Bin 647978 -> 647978 bytes XSTools.dll | Bin 4036262 -> 4053504 bytes control/config.txt | 48 +- control/timeouts.txt | 7 + plugins/NewAStarAvoid/NewAStarAvoid.pl | 672 +++++++++++++++++ src/AI.pm | 18 +- src/AI/Attack.pm | 692 ++++++++++-------- src/AI/CoreLogic.pm | 46 +- src/AI/Slave.pm | 29 +- src/AI/SlaveAttack.pm | 772 ++++++++++++-------- src/AI/SlaveManager.pm | 2 + src/Actor.pm | 13 +- src/Actor/You.pm | 5 + src/Commands.pm | 5 - src/Field.pm | 233 +++--- src/Interface/Wx.pm | 60 +- src/Interface/Wx/MapViewer.pm | 61 +- src/Misc.pm | 570 +++++---------- src/Network/Receive.pm | 76 +- src/Network/Receive/ServerType0.pm | 4 +- src/Network/Receive/kRO/Sakexe_0.pm | 4 +- src/Task/MapRoute.pm | 37 +- src/Task/Move.pm | 4 + src/Task/Route.pm | 97 ++- src/Utils.pm | 565 ++++++++------ src/Utils/PathFinding.pm | 25 +- src/auto/XSTools/PathFinding/PathFinding.xs | 625 ++++++++++++++-- src/auto/XSTools/PathFinding/algorithm.cpp | 421 +++++++++-- src/auto/XSTools/PathFinding/algorithm.h | 59 +- 29 files changed, 3489 insertions(+), 1661 deletions(-) create mode 100644 plugins/NewAStarAvoid/NewAStarAvoid.pl diff --git a/NetRedirect.dll b/NetRedirect.dll index 4139fedfab4c38924b07aa12725bf1fe3aa52782..59209c6fd7a1ea0398a3e0e3624edc2205b4f0c3 100644 GIT binary patch delta 69 zcmZ2=Onucc^$8s;`!oyEC-(R-`Peqz+Iovos~jxS&QZY##7scU48$xz%nHP8K+F!r L9NRf6IF+&ip~e?< delta 69 zcmZ2=Onucc^$8s;O6C>`6MKA^mUuSa+Iovos~jxS&QZY##7scU48$xz%nHP8K+F!r L9NRf6IF+&iWl9!4 diff --git a/XSTools.dll b/XSTools.dll index 1052402ba7dfc9123931e263dd23ba4478a554f3..fd7c15203671ef969675b4e864deacdb7277d27d 100644 GIT binary patch delta 1075527 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 z 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

3${$LrZd^=x82 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

WD?hM6c67b1= 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­k@G8Xyz(A+4&Y5-~`7eX&$5=Wi;VfK-z`Aq%%dv{rC?E{p@x7hm zl6C~lg>9gPx?=ag2mLg$LDX#xX8oad1m|Lq3|rszZT<5D=v&aY!xgCN7q334rvuF~ zh8s;V6vD^)^cs$C2Xf3HV4IT|!Bh)2#eN>tpPs&93TISPIZDFQ(|mQ3y*l^*({@;c z(5E_yotSDzw@7@Fw))f4R}lLL6r^)=0Ap!yna2J<38RDY3dM?4M_~P>>700gcKkQ- zS0EIvO$PKF#FT>?5Nh*L5h{Zg{2F^7lwwfkzss?{T{pzV?aALwU`X)EH*7N-bj$-&*ABz9GIXXGy&}>J%2p8 z%OIPRyAJyxtbo;^b>eLr843KAI4MxhDX0Yk>E-|=M+Wc<_z%F&Xy68tzk?r~LOKA= z_b)t^PQQk0V6M8iS*2588LS%2@m~v#L>S|9+}2yZ!AU11LT~&Uzl-)kI1I-?byG`D zS7-Y(6HXcll6)STzRByj&;S~Nc9fo9<3~FAQm3<#pX#>}0tK|j7Y6O%Ux{c^usQe- zs0W(VOixcF#y-zS6&9t1H1s}vH4`BTG7s~0oI*Rx+gw#c z8_)q6x_yUZ0722P9n3<_DY^o_hcm-{h5n*_4sxSCl>z-QvB%)Flc(<=xw?@24y*&S zgP|Yui%D^ltg`SRr`9?LBWTCLUO)ZzYxr%Vt&brN7C|B;L%d^$@(O+{2($U<0zo{z zC<9^82RyJ9LZAt_;eAM)#V@NsGF*pX1{ex15Icld@$1U#_|OU>IN_KK39uVnyx3Y7 z;;@&4oy5ll2t}0FX%lC1CxpVGOt(VVN0Y2tOcUu`UNVjNj6a(M9{31c&v8=`BEtCn zV3|woVc2ohke5t@(3(LQ$h)QCXpRJ6A;R|Fvi25YJmI@)}K02X4heLJ8-s7VHNgG{5&HlSGpLf+SwKkas@Z zU|L*glGKn!a!I{ z?_>0!XS@%mlPh~4I=gvJAkTnhgOX>viIcp~ay={!c|;o;?R|O{?mQKXV>K;;cvuS| zJg}07Sz*+$!C943OCpNB?xPsbBSdrzAqrg%>t!=`yp$vp3PPqmWSU!OoWe7F~oUPy_>wYK(!SE0i0jHkr8eM@C0{8^1inkrE=m7dQ^xY6jtQp^!b~EVg z=wVFTfeyTLF;)e<2od1bIsW%d)8TS8F2L_# zb-mX=E?0Oaw#>}zIN%s);ZMaDoAvEi5nlr- zBF@*bC0G-K%dn0gXArOyRDT)W<>pPy&=U-!@mw13xQ7dWqn-Y^g} z;Y&`RcEEYaOtR|xxA7H9{`w{_-bDeQ!Ux97~|`Z#lpwE+%63TXUu%*;TT z1oj+b&fZ|Z`~|Fp`RqV6A=1$wEX42krlDs>dl=T>PX^7C_~{@%Gp`U@DX8!;$A58r z=mgea8Y&J50WFjlTat#ud(Z;jg2vDcq}Y?7@iqeebMif@o6j_VfRz z32X@+VLWKU4;-8>LAFOZYB3m7PeOkjt-hg4Tt5&^;@4tJjOP79dk=JX{JQ^fNuWB- zg!AZ^ATJ4z!Ap*%DzRSfR7|Iym>p*&62G<|lFxVKV=yqC;*fyNqz)>jH);DJp z!?qSb-j*kQzMWx5^WU>@j_$UwZEW`Y!UWuS0+af7JyHpt*4Rt6`7m6?#iMuf5c zWt2K%&+{BQ;Q$oroips}2qDH-!yo^_Z?;x)!ufhU4}7rwLLp1p*ZeM zGXgQN6?7o=pJguzq8*2^*e<5Sn7#{k7#|%(bbiuH2ox`c<3S5&FplegzX6n_{Upff zq^Jx|ippF_YzW98b-JC~U5R_N+1xtr|4I-xM~W)nmGX>DuQxj-QT-aUWHWIT1q=v*w4XJsE zsnkpasU>w&x4(F{=w-0BGe7T0N#K#0NSMjTe6k`1>Eu8e>&}*I_6$f<90c zLP6^gW2cG|Gz}z3k|aoyG;j}g*=+nnQRo1w_sYpXD}|--JE(pZJ5#P0D?gM6)oW#m zv06hEOod)qZ2qq=Mmq=x4U{0!Bxp5Aj3h}+FVMJa*v;Z3q z>iw~8h=R{W*YAJs?2HyV!CTNA+CVUr04-}1r} z&CDNRGxe#1{!sumV)SdXzgS$Jk)u zO;G(q?2nIe{9l5x-EfTE&qV?pfa9aQH(J@X?rXS*1GfjTZ=XJgb4LoHB!#3630!w--QtKeJkKs0DvFYH%9d=e`@iIrT5 z9RN}*HD1>L+T)yhK@zx5_zE57Hp-(Z{89-#WL&-8a`X}C=g<2tG*ow^jfN+oli`>6 zoQ_ZPQn$a+I3~dioZ`6Q1kPg`4;J9@(rIR64n=c=Xy%+hn1ypZXbKykEK~#SXks=tK&X|SMGf<@D>9wVG!8WG zXY5^2D?97|T>{h*irol0f#_|a1E^m+5TA6gh9W=0OfWl;4n>mzNQ~wO-N%_zRxVng zis<_N_c)H{ag;O?M4t(wj|45$1G^Utb@TyD2ZH)LkkbjImUQ$g_B){dR@l#iEkWW` zM{(>bPz`DtdfBV|!Z^GHN!NVqR`gI9gEq_1C2lK-Ch?De#ArVivFlu8{eOdD7L-88 zc}GG!^p5a4*w7tb11*@IU*cZ`&G+W9{HHL=X)qf$fEEm-_qfcjRYA01+!+;p2#iEC z^_6wl24Efh23r3z_BET28<54gQ<3UOLytw93Nv6fXrVy*^z&>x5C`)?<4xT*9kmFm z3-zIikq}6KVH@vuK{&hw+Cd=w$}ha$2RGq9Z@hQ=Ps5Q~Yh(lVjPNVu3iWmHPJO-& zAX-`2j9s6Y)lApJM3@9Rpuq9=-4mqn8Az{idU3s}(HCTJ5-Wp~nj>vKWVCLOQR;{z znsUw#+aYH&pB~qQqaKJ>8YGo8KqD24kP8$MOFai~&#|8bdk>>BdXpS&&{`Zyf7CP+)$F6ag8W1k2zgR^~zm z8w@g6I^c-L919>3?l)IKBUTxRRthTNuMSJm%G((8F&2Rqio*_=aF=)~cn|{BOUs}7 z{riQl&`!A3kmq+4D9Cgo+z)wRAHGAN1JrnltACfcW#p^@sUfjaLuyK2QZpfx^)JP= za2#9oTv+rp&-$SfREMQ#<(bYGANa?M{~-ALr(WU}Yd8y+AOViTGWZ5=-~W>!5hbY5 zWp9uqNsuIIhn?`vhXwF6sDAJtE=;d;xz^#R!L!X#K^=&LS}4|(j1EE-6nk&Wq2 zru#q(NRVg}Qxha64@ivUXxvb=O|ThGf$F`kaZ4BC;WtqIH1;j9^D^=$K^-4nVYILd zF2iQn2D2azG;SdFTOdA(6`#aPuEg3PwKRUz4IcBsXRrYr-FEfa!Raupht1%D6)+Me zf)od$IM@u6U>0a$i4jd=Zi2)}j>Jfg#x>Z^BRBBCSCFd9_pkFVMhc(8PoN2hu`fXm zMqUD8=+~ z&_wM(lB9$26qyG7!R$af6io&oF`A#mU~@jn*BEjbdbs_B*YP-xtDp(t=>0+T4u)O{ zy9%^)^oC5EfaZO+Wm2i}F~+wsi5G`@i?aQL<(uwIXt2G9azF13S?D{{1h zH!E?_fdp(fQ}r+K^Zy}!+X%RZa1*4!EJObbZ9klXGjI@&fEJcQ5+mAikXVUPzjiD& zWndkl6Ep(59UmI_<^3!L7?G1b6eMB~Wvc#Fe*P1F{+z@<2$DbF$orePv+xhxgcP_4 z)b(zEQb>YCyaEy|LH->}Q5jfI=nbu*J7`>JNtOa6!^zS<{bkydAro2+Lw~0v=YJ76 zJWjx9rXPS7yo7xdmXq|SktkZ8QeMsMs07+ckWM5=>pX+@9CU&1pn6A}p!Z-REHDx} z2GEbNy0V7wzzJfj`3hYKpi5jSNPuL}j(@`52KFI7j=~;D0u5-1-4?ph$!Mb^Dbk{f zSCau`2Z{NrDu1pSF5-)38o~4%(0aLvc@(6UF>u>8vN9sH#36;Gz*oBy0@FEO^^mNIOf-BT~iukXwzp2dn{{%xi&;nm#e+4?A&Di;jIng<-#9$>x z^ZF3e4+enDz3La)Knvz#HNd1iKK(x01?@B(5?Boq!S#SI;V;_z;T&9m<8TJFqZhDy zK^HoC-{?qcJeS+6$pEr~#4LM|^`FAWMVua{5lp`UEtrd-M?i|1BcDXU$mhNP9C}L3_%Zm|9cjKxUu< zgOFV9=r!VAhc`iHO7-tra7z~Ew&eW~INO5tUk>9S;t9||s};LSc;Fc>JV5oVH#vO5 zI@k+k!GfYt0yM6}Eq1Yx*~Kk-7>d0d`oTcZxOq0t1yG6y&Q0J8>~o+2rT5SY9ESV; zWG!FL?`?d4@zefV`xCr=5zuTSsKs6 z0PKa(3tj<@>+k||2=%+LPQk|h8V15!pmD$9+YQUQav=k^u~B^F z+{A9kG}SNLzrHjc!Y%S{5Du~6$>DuxGl3h5@(N}guU3{rck@orFo@^Xov$JJWTf>E zBoyH77D$H23vzN%!TW|}STXjf5Q6?S1d&q|!gyE6?!t$MmyKpX`1wfd03@bFT5Xs{ z6y?GJl6ga}6n8d*v4??&_9+Ob(}R$Bf>*JahSlIVCTentm6zj5KCXV)J2pm(={PA#YNJx8|!3;na{frQDfW z|MF^7Fh%4|s1O#Ly#FJw&QvDZ!(tOVn51qHLTrDCpo4Xgz|xSHPQssI(Sn<=@Gp?C zmpR2Bg0BfA;44OcB0i}Rj8AH~>{{G3f<%~Dn-Pa`0@4;|M^2wRu_Q>UgBH=A>ozox z_^>1J736D{#6!omJoAg^VPfi&P98}9iWb5HNO{1RfUgpE2v0%f`CsS(4n&9O=cxCo zn;phts)`tY*!#3A1m|Mxq+^VZt=+?*o~^^8Wy6z4G0ChRdGr#R4Iis55nCQGB(s6a zZTt}Du6P{n zTZ|olU2a6!1n%Iqn_ro7i7nUvp=?Mc(c*riBeY9| zW@53-082rxk`uT{m5bG&a^7pkIBdD}aA#XR@VE64#0vpD3c9C(gpIv4WoR&Qz>%S9wvT#^@iaCX?fBW`q2P62!m3Jep z0#FEaj~7UfJ<6Z?fp|y(;=RZJ8IEJQ&yiXy?~!OLKZL3O&_Ah3TxXslJfVXV~%`oirz^n#AwIz3&s|4k%pfuCR-XrVl{ z(BL5CtnJfZr@g|_Pczl{K)OXtUw9P;81XMLvwZ)ftOc;xm~+vF!F&*39L$C3FcU_> z6wr9i*3h_vI9 zXpg6%KTC33kiixKnL`=8%#{p&5Xhjlj`$zIFYyII_3Msq`#Xx@CG(8QfA z+T##GF&T7v`k`)7)&iXgf&@K$mqlvy8I|&xU5-0{` zKM+99l9+}5zRR}!yKnTEp#a+b0c#nOF#xI zb1ie1A7rkyBk_L*ny31V0Q#EReE-+c(RXkP5?}*p;vnp?5X>N?XnMLH?Lye;G=(te z0kYpO2O(@zq2OWrii7xWc9gXqBLXIZ8-{^67s{0FVF^f5D~RL3@)ab&Ht@gfaL12RxXx+i^7$`P4OAh0lt0^N8T!k<6E;`zHY3px{yfTDUj`IDg;p@N|q!s zlOYc6wR)`o1m*=0*-Cp)3vA=f}~h?6VVCEwW!opqPBGL&-5W z-X1o;69f@(0Cbxvy^xnu;f=L1);~}JdadR9Z!qHIuQ`QgIskft1)ZTg_!k(7HXAfv z{eLWqvGOhE1=G~RzPvzsHDYVpe6)hzpoPSK3EqZiLl=7~$Q+D=udvtLgI{tr=MN_@ z_56Fr7ctgfAVp_^4kVDC@FlO;#(QIz8S#PilEjvQI?xuhKDKRjKzIe-H5^YaXNiCm z-)eLaNFPP)SojE*gLWYHO4tgA3|;IjUrBA&{~svN5IPDZpPydzJ-{BNw+2HF)>}*g3su;T1Z9!(>iS4rf zX}l0P;9q`8)||JDyt*4>tl>aWt3K$!1L@(L_!@7ry}|8_1h3=Y`bH8q!yZTh?Lh2{ zaQ}BPR&h{$%MUD(A9;_Q+Wn0Bcj&g^C{1u#s0Zyq3yJ+a^n;OxF7{l}sWB4fV=uf1 zzvSAQw8cpDY>Bb9gA|pGOa~H3U%fTPx(2c_%66mif%Gqb=SKH#c1F8d|KWRl318!g z@;dI&2cn5ykJxA78g{8ae0l2k*LxBtzGsPD1zWHsMhDn)H|zgpg#O?*9IE*zN{kfL z0#a~4Xq@UNn31y}gOwR9MociALknVhJI;0j0|g}D{{dufrIW4LdqE4N=ifrk3HS$O z>1p2Qe{wYZi}gR8kJAta?I8qOf(B;6mOzP{p8JO&chdv^&DY=feOu_mswRucBcSg$fBr>raZ zdZbkY8bT*feF?Re!NarpQb1lP2st1(*qQjq2A2uC4hP{Pd<{vUg<8;IPnZKspf`*H zf4{%JgF)|xDh#|KoX0M}^Z?Uyd)OcC#n=y8NE7@5{}tzvIljdl!+FsBgd5njr@~i; z9(gm;ih(IG9lY^u58G+{3V*=9+YXoO4$UaknV7E714bF~8PP2x{sIGSWh3~HG}Unr zdTnCs8}W^?TY)Z-8rT{mKGmfk`zjyT;TEXlC+uyo10?8P^xuv6vDgz}BBZVsr;wp@ zJrW>clA%|^eh2-&~%c659B93E7q;SfE<(7z=? zl0HF`LXtDu@VCc)1Jtieq(3>)P>XuKz)!dT<&Y6ek`$L>GIB}Q#Ps~q$(!H-nF-A^ z^~JY!)_-M}$GQPGGkL65nLSnxrhkJbuEDns%Akcn0`{Mvera!nUGN7a!cNGLU$#H( z;Cm-o6HWbRqo8zt9P%+(8L-8mwip9W&oA*2@C3QG6wnT(s4NL7CQCr(R)T{;=3bUe z5d7D8srL+Med>6>f4M)2v5L-*u}Z=>pZeBWIJ;uHA0puk7!MyLvHrC~Gob(p5;*I2pf9f5 zXABg!eNJ)Ed^g$~hCT;-Gx+=O&}I8iVsRgad<54p5(4Sh*0E|}0OyA9g6kXhc%U5x zVLt@wZ-o6)8h+7>nvMvHz7I=b*SeS~+d`|}pC>KR?!oeT5$3^Kcpct=SK&421ARe< zbg%Jmkvjo?f(8fq(lY%K*28xP*lM(}1ilXvcm(_ctubihz&}2t`kei|0R@@Z5SlBP$7I+PUI92HiQ$oIfptxLzcL2HODL$Ltu}gu6#KjOqLAlI`qo7?_oJ60) zrw8re%>)Qr$Zw;78%9AeGzINI>v*#9#2VaJxH1F}%!5#P5j4L1S^g-P%||FS1$Ahl zpkguBqu^d1X}t|e%Ob6lkkF3j_7L17)_M}c$n63_&>E6?!|Va3!3??{gz{>|vk>wp ze@YdCupfm`Z2LJrk{^k&veHp7Vs%KiS=3C!-{4XaBIx`kB-8n8GCdn@6_CHT2-P7J zI)KhVbir6F7Jh=_g?Mhm^fOTZEbLDJznvQJsb7F39){~61vF6$OS0rhVJUXoPi!oF z3k4s>&-61;|19iJK>eQ`jHw= zKem;VMt#si*Zcy@IsQ^iAO9cXYB+W7?1%O5@6e89q{Bc4ATgSlp8p|Y3xUjGHz*8} zqxpCE?KA?`qOFIa{n&^g1p31Uv|y%M=sViK!bfNlm!5u<*doM9UCEKUwiMPx5gNdI z5S0NvA2C``avH@Aw8F?M1_R$pUZIr0}_`68Yg-Okhny+ zt=oYd0rY1B=#9{uLJN=>?Vvuk=~G<>lojk8eB=Uk^k>vEM>5KD&=q8kWb~cjzs3!A z>iFf`mcK(gk^vkA8Gsu!F+IOU?90$MK%Ug=0p5D-f3q>SGS@PTbW#|e$LG#2GUuu6g8=kDR>#OP$(N*!_LH13yLki=G5v55)+&uzjOT60+M*Ykysf!5~QdMlo6+Pl7m6Y z9LYcrLo~#K4yY}*nHMN-h)v+zpdDzTaZZ7eOhXgHcNy%7%Z~;XviSEWnC^KAWi>S3S4xGNbWz_lB4-6uoFR- ztm?8VCc!lL2=uvtmN~07!4pj|D5O#hj01q2_%4b|~e$Jqw9slS-3rYJX z99$G@s&Pw*Sq25s(D^^SG=75s0RjDzx7x^?hpolMr}bXM?gM?H zzoD05U{5UM{I5JlCD4TG*eAi96OYV+%#AT8tBF~gMqC2g0nmDPjk5y;UZEo?wBtYc zC2ymVCpBb1vPx2C#2K0Bc3O@Pa72R6aWwW6X*)mZ`9}~t5~POYjswZj{1>tNK>vlT ze+gE{^Vs5?1IrCvR!J?W4-F0dg&2OD4E}=Gr}%c+2Wg*+<#+ie^UI!a1>4P3`w{;c zNRDCue;z{}UeVD=x)=SDQO8B@{b>wfIoe8i0+xXD+{fi==Lj<5?aqiFWU2`|kdKJ_ z7&K1(3!VIVOcy{#<8A+h4@vgGG?31;kPNT`bb>cCpqC@2B2r9tbcRvE1t zl!Z!;KlS)84RKC%I+CE)PJk52s9*AG8hKKqJ;)45ZJmL(3|?mRWCMN=_cQ?m;27wL zHIaZ+|8zh9pH5r-niojlNc@lR6YKzuZ{5K5j&KR$3YZCBfCk9G2Ev;#%+R|ybKpN` znwJs3n;JcB7RwMY6H^_2x@fY11+rB-lwCBSMZ}GcaU?d7)tsb!rpfuD5iE;n;I6JjKPosbodjsBsQHDMQdl=}*Jwv^N*n!p^ zdkoX@paT~Farl@)%ABUHbNo-+;nVltrBE!ssW1byjyX^_9baQmo$&h)@ENq{Y(8X; zB(N>E1ZttwfV=pg!q*s{1IcXxlB4-LkQ)pjKf3<_enYo+^KlYRLlPVUEg*xDMJt1o z#dsE5*1Ig$Q}AEoZa8(w_g;T%M}{M{wss@~c;6X-#AwGE^~=ChjJzkF<`2X|{L?mn zIgEdIrUh3Z{?a_!`m6=NQwv34BK(FH#8l&wh&v4a{>;Qpfn)fR;dVUQA*k)tJBgiI z&$<8LN(vO7EU@GHFYmVPT9|f|6 zQs>%<8_RS8I0La=84Pp{B55!T2isS`rK_SjT5G5VO~HQ^+=rGO9)Nt{9RSP!N9JfN z=sK76D#^cq6xT&|uW^#U-N;{!y$;sH2GwQ#%SIQ##XN9f01=cJWBA5ClU_ zNM!#mH?Q5?6_eX=q0Wtp1TNL&5-pe$Q#m`1<3vPGKq5Fc$T1F0rIbk=6+az8q;i0Z9z*BzP|Hq;uf~p6$X| z2!U3R%wHiX%QW;29?e2B$&Zj2&-5<{nZ@fvkOc32Od+VkBYgL1{)7s|!B>y~zkz!O zkKI4wwFwwHlP9fAH$a3*)Q5(So_hSzL`evC9Fk<}#WJ9mUC9dw@FMhsPS6c>0O~jN)c#%K zc+yCyfGveIu^{%NP!h@*`Ytxuzo7PtNb4!Mgk6p4ex~O@^Ru93g&goGsJ`nfoA=!b zJOoEU5)Xhc!0XSb{szT|Ks>C5VK5)G-oN~|U%*t_Ghi0X2LD7U7!g1pkpcaQHIY_% zs01~^yZq_JbX3Nn9S71SISe|%6eGTcqrc2F+D~sqyRV}^%anZI8*Ear0W^drpaWRF zI?`GTKf+J20lo)+zv!DXpl>H;H=KohYgqqUNE|yMCDp-BhN%Rqe=dWX5ApDoF+fva zngPA)Dt=)Dy2Bisk9yD~@G4UIfgx9bOR znED}NjzTa?qZFLNE@Uhj^^2YiIzUrDowm;Pzu~A&(R$DTo;ErVyEpWQPYu1ZqYq~~ z$4~D{+jjIGOeJ3jCiR|!Hmh0x?F~n*!%@~V&<19LCaC@bT5m)D;ZT&d2Tp;@(D%_k z07up56#AF0-@ku3oP@JSqpXp~qO7qH4?3XNu-}APetKuxeV`vmjK*JL!@LUD;ij>X z+JPK_^!qMFS$QA`3V?PHNdM#_e~|#<;VaO1N4Njw=&&!!dL905-sp@IFii?O;#3YE>HsBI>!@D_9_Fvx2;yk% z??^*`j}2}uWWrYwE@NMZO>hCU!&TT4r~bR?sq23^!IC6}OMrjD^!zfg=^(i>Fzs;l zMg{^Anf~!q9|#*wWU(^z`c#zv*-^kGy6eg)2a1C<{+QCXm`% z&zHygzn8?H>Fg3nj?9sCBAu22=}bG&IcE+n$w^D!B)We8%!F?PB$)ao7V}kTO6(Vq z6>1rI)tq(&(=m6^wSQLyf+{(|bC^nDNv;A?Oy?k@aXLV$r2{Nx)N%a$9X`aI|8}J6 z*)yPz-5Ev_`su-taiH`0<%WLRM(Z7NUXjPJIu3|6>83BuN#)A}01__p8x&+em z*Wh%mHq?XXjZ?QYby@ytI_{z$<(%OJ{0-T&`%Xaqi*Bb?XqPLR-{6k6{({S(bN+v& zkG?P38V4WT$MgSBF|-52@jvNDxYn!2Dr*eAja643Tl6qTZ?@m&dY^_4;C}1}Kr{)G z0?i;VNb>)AoPPhbBkfo_>U@Ojd{_?ojZ>~3nWC+ip)d3YjaMx@XUYX33f~nc#x~+! z$CkFOfy-$~pccxLgMWPk#UL0|SFIA-XvbH<@QdCAI=~x--rUe6m-0yqNd>q-6| zeuhL}A(v|V(Q4f9_3btMqF;cl_)39y04)D2hA4?Tr}wJo$;uLgB2Wypj%q8>HbX;L z01{Kl=0gLEivSvEVN0O;^W2ECUWC_R8>rsa(bxIuPt$G$xt?S$ypq(9ZW&#pz)&bfZt#@s9xZ-9c4XC;0w?V!k|4Ah4P?*s%xC; z5+gpzl};sBV$^@-1WW2|-?}p8X%WyQrZUXOv2cCxBpow3d;_q!T2Q{I+ zF((gWi{8LbKTrH6ka+Rk!j@RAXG_7Aum;wFI!0rU1L-6jLO_a4MO%_aoai$H=+gu1 zzU%*8%;g`@i(ng$V7D_8&p2)M>p)u(BXNB}@>DO6T?r&!d{sbV)i3puPqO~cV_X7t z=s;uuCj;omGN3nD5Ni#GaS#t${}^@)9?f@z5jG#D<0Q`0aNaK=ExpI5vDVM92QnG) zqW6XV;0CR~D{#-?$ym`cErC1GRt_R6XP-yI}YYavM9KuN{5LE$(`Q#&<>+pJ)>QB2$S8vH55R z8W>N|GT4uH4pumc>R(J-W5lO=H1;%*9O*zhk{X|)NzN?z1T==B|4{B_gt`{}mpCPA4Qi7W+KELkB0w8K5@PWM3&>#Pu{{vFy+ z@DbVq_!V1X)n9}4UmKc3Ye-wS13A*xTLvg(>e5*ocoW_=;_Gl{yfw^*#d?=qw*LV% zZ1BJob)XO9a5@6sh4(?{;9hmf9SdK_w7wESSA0GG!w1bZ4IEq0yj0DwR;5?^jK@kv3+ z)jaW+g>q2Q(Eq{?y~h5ZoYC+swi~>8EdSgzf*?N>xb5ISlVY2R7Hwam%T?UZuLB9B zORfxF1|dsAX6_A}4^8~R2}pGq`Y-6eg6h9Jahi9-$m?X}Wkk2lguN8H2%^d2(hg)` zItb}p^-IKDg@Wu<3PUc)ZR}t&;I}hWAW&g{T?SDM+C#W8kQSHO;Xo&N0dxjhT;}_q zwj*tQGW+vs@DcoA?AukJl3w)M_EbeCn1TVCn25}(AGc*?+VI`i$PEaLg6E6Q@ks^G8+%O&D zKynkADS25f6#B~hUv5|n!Mv9tuTsVHLP{Z~ac~4ectb|s1B!<|kOcA?P7+JwG$g`a zNZP=?-7vtR# z&qenC>u7}T^S;Xw&UzdJL9ExBa%YnpQe`2YdxX0ojMXErUL-+IS%*v;K^)t|Zb*WM zIfDvj+6h9rt(*G%pWJc~Pt89ekvn7Zv^^pl@BhnF?qGypAdaH)3^VP!KyGR!kt;W!64@)ty`vy%${iOwj-7_wDoNygPVP|1dEHhBWuMRwBDiFh>;FW2 za(NxZg{EB1y73JMu}5$b8^VRAT!bc|$;D+nr{r>F<)-uDvP0uEUoK4ISv|#MTcJ-* z+ifcXV&CX{w$o^c;UOnt|l0eRq3JX2~3}r5}MfY9&DsIdY~Xc4nr@%!C~GgW2+XK@ta|5;kH2jm$JWumggi z4#eX-0m&rE+{ZIL0B+(XCzP0R;9&`Dfe4nsw;-!)Iz%wYH4s7#*_8(|$IU@^R6U zQR(OS-Ee3L9#B0A`v_cu&@i8#{3cJv;TkL(Y;zQIeja&-UzLGKxBz3}11JL{LE|Ev z_B5v3K;zUus1?6z4`0KB63cW2sQ*i+{TP(BZ>Oo7;yus7? zi&wA~wt(t2X2e==!|)k=|HosfV{i-!uokv}>X(SA^AR0DOHh3U_BFT;IcNIxj+6LP z8}Jc)4!7g6ufcW5nOfhu{vJGqj$tiq0ZpjEoV^XhVLYh5g1Ni~*CD4dXDcS7!*$4M z)VUPP44~D6mY{WN*f`#X;V>T5v8!FIwGTqt^Y{GV7+vTYLF3=z>t;g)i~`l|X*52DIGATRR=&WItP2Mn$luj>(AbUs7i2{fUHrenezYT? zg_ogi0F4Wv`|kg5BUy?|vCI@6$8;LBf-z7Knu8XSb_J*el?}aa4F5t0eudxo?Wk!? ze}YC34Vu3Sdwq-@V||Mu0e3nwu4{))sL{fx^E~#8paaqR!_Z_PGO#$Ck2D>I9#w+%JoJD8kVfEL<0L--+;TEXA5qmRigS>(R8wIuos>4l?bRL3J<~|1$2ldaxw-A=V3Q)Z(b`R(YRtEIe#DqQI zv8{F(9gPIX@h|CN(}9LySB3iU z${3FSwK3{~1{A@Tpr6NaRD|hcxwr(=Ukv}_@FbLg(x86viRPa#u~JuJB{wx*zJJoe zGSCDqw0$&(UPyt9@Hd==gKz@&!hX>BFR+)x$nh~&Vdh*0orxJ(gO(5=&c0iq6gUHM zPC@PHV~WiI>1-t|0O>rCf1#iMUE1#hHEe4h#u$*ITA&y9Q22t;%TlSzAo_vne-Zxx z7zll#Kd4`PqWR}btkjiQ$-RC3FC9DsnxKX96I2-Lz*A5es=?z>5lTQQ(D>w0{G%So z#S(iOWYDsDucKv7E6z?QPzsEJvQC_Kbbx|~ozAW@JqglzApdDU|3=!I!ImP&;75?6 zTHq7xHPD&G|0c+WR2@wJr}&q^a##dkg8IcLnt#5;N?nO1*LVDv4hn)MXrT@Sc7fqw z!yp(8uYemYcnLJV3U)1!LCfltK}*g0XifeV$M-+IKq=4?qCpC3MkX8{>-#<$Q((LC*VPlqFUfb_FPFIJ0aPiWRG?q+k*Ocq~n+PBcS=37eU@=m<{$P ze9VAZ5Cv1=1DFV!&=b24$QCU-7a2tAR}$^@{}3nn!C;MN{YydZs4c}hKqrt+)6%;e zy6*cmNA~qnL-S5^%s2}va1B(i(u}Wk3odS2u>QLnHwd4_(FUGI6TJXD0rd#p+KTV9 zllT(TKA;7&p=EufBB*t6kNkRa7ZVb6dcTXMS= z=2L8+QBeG2AsS-gL-2s+i%&HFd|QI0umnr8CP)YCK@(JOKuja(2I0^OUI6tM#V!Ha zSz1ql3^F$ZE{#_1-*I-jfl}ZaJn9tGj_#+}1CS4-)3o%54gJj1{BtMTl9T7Q&hd8} zjw2w8RYonNZ3 zy8m$%r1Qd17Q&zylm;#MONxgV5*@a(75E2K7yBmUAol;!b|!E( zmH!{VDuou3CDOkM6-h>x7GZFoa5E z0SXOEup8<51q*u$`7^KrK7%FjB3OLa-7nL51J=U^FvZ0MT(!`1Cjsceb+kLvHhnGH zN5iS;+CqKW$>^(Kf5cAa|6&@Kfdw8%qPyV{m<=W$MteAn0oj;*1irVzL|6p3!`)!| z`XhOa8=dXcf%apIcG>~R2aaU_Z-h{a9b>rnbClsI+LJv;3pD07_H38}&%;ER1g0NE zTQ)}%^Gx`bICXE|Q-1^c5pXNq2sgWYvj9>`7z`j|1-=>NZ1zg9KMBm<DrRS=;CsaaK#WR#~qIU9c4Fz62`ReN@^6c_* z9YoyUM)CZwpfUB{27jXS>)+vgBPhr(@IEN0`7fru7XBf*Mr9l$^dk86OVPgqtKfxE z7`;rx45WMkf&pZ#z_OLI*(<>eFng2t$L3nN2PVTB12q4Caq=&ifs~R317I8tEL%C7y%JmvW^eMj*gXmB zVFRp&*Wh``gJ)sctqhMj+<{;MsA|ops#ee`$g&|>JNZwC9iVvTKa5zzLAfTme7g;l zJgxz9+4%LnIKL1SWF%Y;3TpnfXs3cUAze?}(9Q?b*Y)Y$cm{H40T#d<^VtzM!%p}a zzJnj(Q}`OT!N*|si)cRwx}deUsEFv2M7AQ-N|tQ$A!=Xo&bw? z8|}N`VQl1=24mqQmv1LST{sceVss2gbJY2#aU9D^@2ZkZz$&xAVe-Gd0#CxnU%2@_ zhF(3lkubSBrA}((luN!HPv!Uj)N2JZ!&KU>!3;~1@8+SU^ZpDed~pEN!?8P<-&wTV zf$2NYmVHdm^*4f(Tj6+|8-h9Bg)D{h8{uQ0yaMe?a3n}?_F?iZ#F1_zD9#~J6{3E+ z{);t0{~!Toz%oXZ+9TAIahTH=9+eE+VeR+ z0p`CyvgU9xHaEgf+Gla}>D`hHoH||r2gfQ92(XWOe*d$$1WI@ms0S**Di4z@mU=8( z>#=OjZ!f)zaj^zT>NUiF`3kVaVRF~zvMW`pmw7nLSaW+H1m{%pYawWFiIUX2g$XTy z3fSOFP?B6lE(To}D$4AqBYUbuIrDE0ThHJ(o1kSYcB(e~MicD@v`xPs?L(jj90gV2 z2r#|;o`Tt}`HN~;dlpjx&m+t8*`;}QQMv0=D1el~0R9B~qE|uhgT+_e==zVRkWy9W zoyq4tG8!6@b@Xa~j?D=oAKB>Z7HniE{YUU5y5(>iOo#K~QixecBIB{WCuZ-)b(n&3 zF2r#tWBX|TBN0_P39JW}I85H0;;shuRwJU`YDCmq^-;*<=%_#| zC`?{~LQeo&EoNUC*|A}AH;!T>G7YCT5nYgf(bk%^fNf}B3|Zipcjo;3B;<9lb&uiO z)t*xWj;BLis1KGx*37?pVTpW-J>(jZ|ACE&*?)-aha}|xU|W&VJRFXI z!uS8$Grz;y@(d5pwJ$2D73bGOIy#@N_;w3-;E#;RaI)FxLy9K$(ycC(u6Gxup!K zLLLDt(0UdoSCJYKbwWNG5!u@Q6A3f0!27CK!VzEvcyZlGh$8X0g zk~rA{ROo83o?BsIa`oOik>cyfd9+;(p?a+%ERfDWhi~9JFnKv_4ux)B(SG?s$a*Iz zU(fR104qDN{yX*MqZTrb4eC1Oa%x`-~=D&I;=9wZ|fGG+(k}wJRPJ;dpEBf%)vyhJO7|18iMpy*v z;4f?r<7jzyx}|k2rJoAP11q#}{Rb6R;d>a(mMgI0#MxDZrY0UrQX|apvYc7^mIKKy~axho`49nC`@h^ofeVBhGwnRmWJ>?Jf z;C2gVpGR>pn|2e9=BKOub7+OU9ehQ*9!Jwx=*)`_xC#bBO-O^npZ~4qWIgmfo66u_ z+GlgL0H1c_$q01eX_@K5(`adwG{2>_b4v=S1f#+1EK!)eHa*vR*Qn}(wf#WTs{O$H zM`AOoJM(XbxhS=9$gt)4na;f!yaJ=ag@9wyez{&e%a=lqmgh77O86I8g7}92k)7*H ztU`8xRcHl;$-NAG)dTh|T8;_mIQ{XfY7qkRQfVoT^xl#re7{|Ol;Xs1Hz zgN=|C6ef3-TtjL@X+szsy8p<|EithQnF>~*^(ai9)07XKgVa-alNlbNeH2IY`;PM; z3iZtYZceI&8tkn<2wT|?fia*&=YSE5H(m$*spKRwJTf<*Sans@4J& zXZRo4#hyP^QE#vct)MXZTx_3&w#|4a9G;=wh@<)a$@$+t{XyvJ$JI0c3J^4?={dL@ zGeC(h1WQn6`mh8_crKXU5{JpH$0}AGQnB(?$5gEO2kqQM4foYf{{6uU^a^q#A&SVk z>v+@oO_mqTdatMlw|M5CO3VvfzFiDUpin`t%IC+D%Bdx71u^}t=*O<-*EZi}etjd;4p|4E zybEpFnO{7;>o<@?PhS9Ye1(LoU_E>arIk-4_Pwx(!c}~3KKK8n^ez|S*Dw`wz!Jo9 zC}Vr(UloNV&I%Ot4(D6oW7q*!sL8Bn(y2qHuk#icGq`XU42RobfCK}fE;ImhknDQ+ z(wqAmHA+x!L+sjk2;Ezd0}sFim;}lAug2aD3vfA!t^^0J0So*WPW!!05l{h4UX%7E za2fPZKAbd;u(INp=t5qZm2F(ljXMaF~T`i7%enJ%Mb&+swZV z9`zZhEoCs!0%ZO`N^k*~osEQSG)-EXH9$qk#;;$7O&+Xv`Sv2L05gzMvS5JK$P`$% zayI)nXzzevqH0_(H6aD+f!TjYQLk*|%_(r(eN?2Fh2T+G0MCLsgvpy@b1IwxZG84& z^8K-?1mADtRWf-Oe!%+A`H;OFp`0vX9K*PF1c=Hlp!w$`-wl62Z{ioq$uW0pk z%)f$|LG4ZatadZM;X;LvfyqBb{u!A38_zCLz3g}T{LSwQ7vWWKJ&c7yMUwJ{6nzr( zq-Yh{mQMA7w#X(x6KDYz-|XFF9g?*VOMFVKprXJ39g5%2cSfKF)PeF)0al?~>$8{a5V)JsS@;3-Usb~dv$n)8j#emdfEI8XG=N563HJ;T z-@iZhVgCP+ryLjI0dSDZHw!!ir`a$U=7Y(X)BY3whW&9aNp7}Vx$<{FD|}jmd|UYZ zW#=krNrtE4q#!N0urv({T7zRdWW9X>&8{o5?jU_fpI&Y0d~w`pAQ}4uDZy?qL+i0@ zG)-EX%RoiQ#;@;-z9005OW<-ay>yZl`7{3tAY%oVv7F7}TH1F&FwwJ2+j7W*)xIhG z^mRt+4Iaawg6~=JaL%j2DA)=$;W#LK|F1SDDPRWm%)qNe^84UvPyj2?0?SuE3anVB zKjJn%@8$Lk=QP-QchO(P9L#xDaOWXh3cK#&uiH4z;sXk)BDRORd^;SfgE=_#R@HB&H|m|{?lND`TA*tSX-wB3s5dslX#$(ZFvoB& zyag7oID0o)hj{kSkZcuLL6$g7J`>wnFn0{||2PeEaJX9UhtACJ%}~JnMmUb(xB%LN z=6zr6Z};L~8jY`E_Y%wq1m4r|KeBU4>QAhmP6UmBDzu)4$yKCAOtu;^#fmplVRmkC zNW%+UsuvGKyQ9~ z%6-dD!4yPGY7A&N6@2?0T!^p%+wGvu=4#Mpqa~`OFM}mWE=~f0f`#}KKN=@-GWM=| zoQy*<_Tz}1<%@44bIDG1vJG2BpAxMB{0YF$R@%t7y*9!H}QFoq$(%_p3{+JO4twXfWsjL4uFF}asP$! zZ!!N0Ty_EXjtb^b)P`dqaewAt1(XzEKdO({1Nk*A zCUJ>=Zb-!?I+l^2tGVa`me7VSOs?K)s5PhZVGg4sXnslR-J}C3;h$gySmH2wwVAwT ze1wnRf!>c7T^k)aKlc&lKLueExOP4-yWuD}4|-xCM@tZMNZej=Qo-U{oUb2d)Id3| zb@_JNV|<_tygM($`4~3lazV~w>2SOX;yRX*pIcnQ-6XF>A<;@nXoZByzrg+*_yKl; z*}qC})$4)C)VYO>>esQ6jop8ypv;AJB>5b!p2K{>yR&(T1$V(Zuz+P}@5WCspJXp8 zsaKFC4wFyAb~-!^v%%~KaPd6=c}(y3&>x1uw@mZV92dJZH17#J#Ibk11e*g14&mG% zH=doVN)j|!o|las^KTU;8gMa%tOP62 z{KMp_bfy_}gY%#>bb&MAEG4x7S`y`09_6{{w0RsryAqiGr+~gBxne1XR@5J$(Nyfz zxx9Y}PqMV#m-wd5rafr0(Hd3KE?@}~36xA6Um? zE6^ief`bSiOpu1IH}nNd{08l}K=+GDp!-FHqwW`P!;k1{ar}hix3H%l^Pj9^CxSVk zTlV8%0lOi)JPG-q6j|GSG!{g=U~|w7!U9GO_Cc?B9Y94YzQy&+UB99N$qs=kPz}ss z6YZbjS>{}KM3Zkr_G1$Aw(OdHK~Gt^aPK^x|Fvyez&Hj;=?UmOYb+IB45u=N7oV37^Oi_cQ`+0gH1OxWpFRN1y(?E_B?+k=MafJL$Xz11zF-S`AlqQ z!CZJ8%>JgKyie%ztuym`GZZkt5so7`E`au+dEdh!N&6|D{iT8UGrYLb=WkU~lA($y zYdbpXIuofxBcKYcry7BHauxX)$W|k!Uc?)z#O+xBWf@RY))TBi>rj}yjpn~STmqLv zAGi>@KsT@eS`jzGBzmpQ<7V2Ue5<5iKyQ9wa>Y^%S4(OPXgC%8lM%f81#h!PKLKqv z13;UNmZ*|G50=0Jl`>Az&;Kn@un>RZ+&GE%&7S!$s{}5^O#v&&Mkq|K&O9%r4P9`^ zEkM-pKeBT*_hE@O_veEZXa$AI)3H@7#nheC?2D1RaUGV21X|_EC&x)J4Bc=T36}U9 z+CPBq7iWX+7ZHxSU%UeqZf5?Q(fAFc1Elo6N_LFz*Nqt0fo|DNz~c2rHXxqd4N)wo z%FUo4+8tN2sYLG&Uc`OXD_%ahmcS}CMNs}K#jJ((kPl`*p1ooooWYdnj%e~J$Z|`T z7p?#NTli@g=xL}S)S)_Un-*|i^@`UBEPgC5_rLgxNaTp|{94XLKG_)F$Sf*k_XIxE z8Kxnd3p+A++0HSO<61ZXd-+-6#oD`Z92Dqru)r2*EJ^PIC6Vs;sXQNY?8WhN_===0 z?#bYvl<>UoE1)<(x3rGM`BkEbqrnQb4#bhi-v9fJYX4HjI2{1ya3Q@_^{=5*?=%%% zWaoV~MAsbJGW-`q)qDAjcUUutDTCYKWeB%t{U_&8y!|62TMSl^B@UBMb}`O`9C#4S z!QtY&A6hcM17JJzTL9OM?|06qhkDmDxtEVHu5?fEh zWzldrXV=v7GPiP zT${sW1In)>Sb^prChv!>I-%=HcTUgVjf5yd<&VV=6j|)aNAH;+8mB+HtKnL(LbuZX z=pJwXKb4z?ZWsli8^%ib4TE|dzvlS!UXHQ*Kr()366+GsE&CXV7NYB~1HwK*MKSWn zDE2i_5bchO*i>|Xu%0EOkM94$06NbDOJIS+ub2iWG9|hrn*4TT z88JEU|HoJCAwWaoRO4VCnVV`d7fCz!F&CF!>S7c{qKE*ZT0#>qUjs z=e!Yo`x=jDuzO90Q-kAu9M?fpbn>(K_1z>L6zEB?z!qrLi#+wfT6h~ulIPQb&EQ^1 z^|!#)RQUv`%1@y?41g7@c;1KgdA!#Pt6t$vYK~W~zz%9W$Io-0=ijyvtN<+W5OfuiCB*S!^hrw_d36|(?+8e+| ztWwec9PD|GKIzpsw-{!4j7w|Ap1?8(0tb$5*Sv{7TfjB?M?s zu(QDu^a>=n*gGHWEn`dE8oBv)rEPL6NQE8@-u@Sfn4*HGkU@Ef=jfNe#hTYr(jJlp z=YopW?pKB5c^tI|Xcz1Z+FP`F-3DxC{QuWi`Be*edo>p!MA&TVfQE4vT*(M&)5(6B zHtShiZa-MV^`Tu)yO`Ft6>0@3VJcYMkMZ9DinA4Ber{aDvUD1xQwYQ896HteFbi%{3rA>Or>5xuy*>t7D5!5sEBjFnQ>c8gq+ zE`{geWw0LW>K_h;1$l}v`S`RinL5GtG(##jAHEjj9!a95BmohzC*Csy^ zx%syA*{gt^@H6ZNvscV(Ui7X1K?u@)j(uVVh5Lg!hRF%$D28o7w$W(5wV!CdZ9ln- z{Uo-Ju>O_wd9Vbf3lttFScq+4%A4!PNnET$8QZ%WnmsD=CAfw5c(8(Ogu>*x*lHwg z3W7s!{ysZ5db3EtuuSZ9FG&Y0u<-N0_g2Je)$XWm)w^3ow^!YStS9@b@9q*z0Sgm& zkuUV*6Jxi@y%K7luK>Y9%A1_yesT2j^UK|#+&V|VtK5QrhC`t(=(^Ce|Dh{+Umr$e zli|C~N`4Z25b(2t64bll0SKG|mY^_jh`ct%{2$bXn15-~YRllea)Gw^sUYtI5h&g~UrbtE69uk#bi>;pN_2NTs#c1^O_KTh$^>CxjOxKB)UEp-vaETzn(u;(X(Kc+en1Thtu0z;dZzK%zl6FY`T%@W!DLih}@0m&^07b zA5VUCoCF7=s|bgHC0@cdybMM#{F=@eXm9py%_~+i|M@-xb3_qWt~a7mnL};AdWmlK z$;xXJBNoTqGthCKqC=bnn@GL|J_JjwAUA;S1KI=hLRR;aTajtkE78tP)G%Pzi}NeN z5?i7$`QmqZZxEKg$E)UztN_{zXcxZzpTNl^=z($q><2AiCNddj!gR1i+1`23J{P&{ z%}#M@gX~6v$-R7TG=ZFyKtavmeA>5yig_4RjDn~K3Yx6lATORjPX2q$zXghKPwgm`XMqfx!Wm!=&AoG?+}-c>Xx)zBqg7U6jQdB&k>7{lN;b4ur|wpP3_7 zWh033JwebRf|Eb60^JI-+X}&iN+2I4P)yT5OZx**G5>&yQ4Dq9Dwl5w8T#zj zc>(=_QcJ0Kt&(H{sPcMX1y~2do%Jj~l7-z%GMxQ69NEY5h*1h%>+| zwCLx50Yzbj)iJIGN5ipTl~<#;DqCqBc4;$b$cmrO5m%;qCB054FHmg2xHtp`d zRpOo!Ffhk3xq>Okbp#s=4MD*xEM|z|Lzd$Apv~q+&}O40s-%;^;(Kx2vI?|UA^yZS z?w#1PXa247#2m`lUi06R>iU5Vr43P-T)ojy+7twb-24-csy|7eWW3tdpUwVFe+@>fIRZ1Ch$_KMH^k3l&O?gmTzJMF*WSZ)|+z-es1{oo|f z4dnmWmb*Y@sI4v9`%2o+*8gyV+y}a6zYWu9&+r8v8_-+AFu7tWhSt2ML3cpymbwF~ zQyb}o?uf2>l@3bwF<9V41BCgn@#0wlmeAsRdbhB`5Q9?d74I{!0xa>Ka^L;mdK?@o ze-Bl)1u7GJmpLe_1dmeO60iKlGyW0v zkDxkZaXfoB+WRCN%Glnw{##L9SFj#frD5_EMyDm{fl{NS>qn1kx_)#$nSZf%ZlZ=h zJ0*AuEU_gDllLB<>CCw&(^(8pK2Y@8&|^7wrC2^K(|HZL!9e&fhmTX|Xo2s+CJ{UN zMSOA0|62U7hbs5;A@!hKf54D?`22rW5j4C7*(kukxzVRrTe@H%+4|!s!G~aW7QZfb zePB67`~o#|`26n%RGpWd=^Uu)y|29u946!WSp-Ki-iy z;flWmo+V};w7W0UIS)o;@h=;*n14$!6TwT+$#XFIqsW#eAy?qZpu~!0iPs?e94v0s z&P~)X0Xrqw=(Dp#Ve*=cklToF8Xj#7S`w;SYg0={dx7=_?FHH!G`w2lx*lqRdZXdg z#-iSwOsq%25-ULo@!fP18l1u@ugnOVIE2kdl0?q)% zjlTYLI2i}#XbG=FHaZEp0`~+fB$(LZ`t023Mw5VHv3BZN6|lsXC`^9yB>u|^%-8&{ z@Pk;eTZ3T91Q?b^ZwG zLQ;WNP?%gr#)dRDA~u4-kqg+lg+pC};Xd0bejd!HGn(>Phq(UZD|lOu9%=aPE@&fg zF|zBEkn1j38*~@d4M@qgy=%Lkuld&+Z3w#HbfYPt%Bmc-y=rrMnq*B`-_LXRQ&Be& zY=rObC;eKmz`;0Hcsx7TpRhQ?cy=oEU$DgHA11evP_YHEj<|dDB#yxz`ro_}u%Wbs z$;#W1TqAkRG}gc7!~%8o6eoFeWpX9>6aIm6*qFQxz0VYyOGsL7@BiIhOrZAYI>9+$ z2_`WAdIGA*j{Ph_9Kd{7>C`|q&MXm<*J_q{XtH*EiOGfX;3!s1wjP?>(;4t~S z6tf8wORpog)7Hbs7LFf)`F~0KH!wTovFk66BI4kc( zzoSu}0Nt31tD)}w{3R2-K8^SE;C6Tgtbj7LcjF|Oh3r|df-G^Ed@8p0!TsoLjnBEA-5gZpldvG=H$v6b<2YU%F2_%>ih#O+(Itdz<%1%9<2pRzuXdNw* z^Zu`2p(-_Gl4;0PoDG$~=VfMR_uoVVYR-Cs6=*#QlOIE8>Ow1M4K3g_Xb2~P<&S7d z^n&s9TANKD+LshAlSrg(KyQh|>vH)0Pi;17pv^{W zR7oEMOORlogyZa42=nhxJSI-!Jsrx}-X&q839i6)u+QE`C`_)-Xe4b4ydf_fDfvg| zKM_M2m$e;J?>cRmd#g}M^rdSep8OKz>V+;S-D+djkw~)g*@bbKe}A9_o?>F01ec?` z5*)C^n`wUlx?h|Px?lVTx?ikT8(lq)pL6^f_VRO+bZkwq%Rsm6lfeRZLUutC^5x{+ z46cG`dtAw;61_oq5zU~qdd15J^S43+@}l4WdzEU|!g|ODa~RKNF%McYCAuS;d(Ps+XA8T^}dc;v~Vhs>s& z_ksf-=K&P1pU;0hhW(%=Sm5T^oL-DwJ1@?e99x6=DNapLTvvfjp~MO*V>v6hoK1fO z?HbVCbAJ1=SWyj-$+r$12WEeacOJBFgk1L6#qK`}^ck3;1+aulASWeIP}9Hr5dY_y zbN31UV>&b^#w18w&-4HH1W|ywa6Znr1_Jz-`tx0q^@pim0am#Ri6>Vv>amJdk5#OC zte(rq{1dfv6E#fKPK9&;E6@rGk-L%g(=(mM^ePW0T?giHF7nlIFe{@wd_r%3fmzr* z1FPrqdJu*|CS*LC>Ga@e{vUI`ALqy7d#Z1BeTDpYh{=7g|MyfB1$q|ax4{YsCbop7 zveShZ7EnFA11zy63X`WZTDhR!YQ!{h>gB=2(8y?nRHVg`y_>AVcyCG+xV0Bp2^xbx zaDsNOlb~Tjb}FPcSkJAXF!}iD%)fsG)C=`0I8-X~Ke2NeM$J`NViocT*qmCA!sL%V z$i4uIse6i6j7CFyg|4GspleR|mDeG<|LaDh8;iDIEiElYZ7N!7T3Wh5bph$Z)6GiB zSCFJRqhbXmn^^Z9^12BpZZ$iWSOuIyTLq-}3down8%r?J>v=Bix8VVp4p!(q+Rs7E z&bR*eR1`T}hw(TVKwvptPwzDX7I2^Ry8kKQC>ZJ`u)tyRb@cu#u(`DiPLT+jS#Sp);20gE@p#b_*; zW1%8Mu4VQFXdPb*?O3`O_?B;k>!>2!H;WAm7UpI;@4}bF>&NlpnY=9v16f6XgL?o~ zALLs`GPnsWa4?V+SVne5&;P3Q6|lsXC`@i6pnvq{OZX&csr}f75_1K0v71`-xU8cM?DzXLI};-;&VK01Lj_R$==#%za4bWp zJ^5j<#0MffG6}h2^n^xSkeWutS_+G}5Ldz-pzA3OZiJz^?Ee{FB}!U~0DJkLMghUZ zme4w;JTW`w-(O+4VcFOz{uN*adi!4_vX{auRaN?j)P|6u+oR{DwR871pb8lSHs?0P zVe-c8e%cLh;QF{r_kRt)9zb-j-VUvyE9ipx40aP-qho>V)9wIXfI@jAWM?HISKPyA zdGoIVf{86*%rG|pWnrg|P6oM=E5@)Kx8RG{@ZOsPBxI zRawj0e$DY{+D$;OQgve~N&Y8qrS8X5@!#0$>FK zzIe519}f+n(E{e*9HdBrdLRRn-!gBCBNl!z)maH?A5L|ygp`k_I-Owq)~QZ;_XR95Xo1f;{x^K`tzT$hN6YWvGJhF(0`&VEhkk$M{FchmWD($5Wl55cy=Pb2#L0 zpX&Sq88|M5e00A+F06sJ&=bUcKJ32roi^G+0G4j zWIJgbKZ1;Vvz?)Z=CJ__3p!44vaB8Rr%4&Yll-{hYbtmWr_4N&pb zH?VMbwzCd0;0Z{H@CF1#%JG8|(Z=U0P z3kzW#q+FWm42ChSvYqMB4{n9@W;xD1kOqUGpWBrCH01WpbiRQ!cn~sLWI9`+08Veo z5!vY%&=bzTf|N6|oiiW;wV`bVt_A1^L!saxe#F9Y3}iw+ybs&q3!S6?0Nm|-lX1Vp z`9U-+gwLQY^n@`m4;J>wan4E0aSDDySHStMsm@v`xS7>3oS~eW?F@hdD4&t-x?*9R$RIu{qDKEy=? z>Din^0qw3cu!l-Bxw!7jah`yMPzind{n$Y&aqfYI#HvJ`h0}5zw-Sni90G8X%JCk^ z_+Pfu^k*(A*bLiY_%BRBy&PvJMC#`_(;ydG9>;mJZ09&gg-(zL10aPx<2D!r8(}*% z?}2=Bwle`TCNuv9G(;LhoX+mI1-3)maWQf^rtV}4px>@+=U2%0+L8Ye1gacMF_2o9 zX#{^;MW-~)b}F2L9sC9<)hHCwsxkiqXr#kk(6(x})8Gga!jYU8Y|C=Ce3a#EhnGLj za`Is2Cs|HpOO|uP)-3K7S$cS z0>?qB%ePLD(KyFxbTV_*B*!^8l_@zX$C-pIAK7)tQaP@ND(Ieqe(dAhVEe(D&ZQjl zxS^cM&80281Sy=)fGXVS?u86Egqu-1H@fekAAZ}w%|m!5H=iop@$Q9`t0)N4U;w1U zU68Um%UK1fYqFeoA$?Vra|GvOUd?jqah^~6CfeI+-}zdWQ{@VlF|>s~&<}2g?Js6I zcf6G46ug|}WUa_z{Udk}+9LQ2GEg?>n7bm&>G%pqw#_w=4_`n5ls}We?0N$r9qxh* zm=Hzk{WBZtDdA6%<@Ld$IDfm6}L7N#Nn(ro9I%Um{$%d(xyR5k`S^dk`* zLyz;0WRI^!#qf7+MugpNHe~Fa>YT$dog|lC#?9!cY-biMgwA!agD;`qVSIK3J7@mE z9BJ!9-ZhDhu5-3?Id{=2Ur%+WyWcSMe{Reg<6z=dVM-E!j?co-5jNKY8L* zt{rUMFG!NxjF-~fRPxWrbn3R@z7Nl}Coo29k>%0u#0_W+H>!J1;pPO>@u{+oHzMA{ z4%&UhkiX7z1mr>mblXSKvAem4yw9g*K?e8y%K6;)`Spw5k5lj#?*Gqjp{MB>Vw{T6 zO|Ts&{maEFI81_kWYw_SzAW|`uj%i`KE<*M!Sq3c`5R-O1=o+D`nawz|tHyt;tp^z>Ax7aRzu!8^$Q zf!AR@*hA_gaqLrk_GUL5yLnI;*Tu+h_>ULpH;#Y8QYe7O;Tf<%vMWact)ZQ-5c4|< zSzVA#RiFNP^8K@roQtM9b(TzZ+#_gIhXbJsSb|v?Zo+WD;+UZvQfZsL**%KgW8k+- z!EVqqG5>xXuZGpw^x?RO<8tu)`Tt)C`@;=zBUs>XG3vtk7_WdT92Gd9LcUNjun<~M zqzW~^;htQ6uY$?1!)7o@R-T^6;_&=;Kf*aM6tck_9w7Nc@G#7VWaPO%`_o7^8=i-k zU?D7nXgt0D(~*_Icct_STj=mmXza(ji;k89#$My(%cZc|`8q~6XeBS?b* z5P{=#p0o6>Fur$Kw4d~C;TXB-7v+LF7sbGmxyK`+o518L0$LYxNY%u*y+DqXLsDOSo$Je^^ zOl}5g2>ZYQPymys@CxSyI1xSrlh5eNgC-op>x98@5LASD$oAuCcK>?kHIQ`$vy19A z|NrB~$8IQa+lBUdkOqBx@;6vC8z3Jx`4-SOw10vE_{Ash%i9N6 zU&v4Qq2on7w|ZaGkiQ1*TE1<7pdu(AC1a>Z5Cu}e47dZ?1fTy1PcFMtd9h;e+t>Wj>mTxQ`mtye-d{TciUdTef z=Go4jV1;~2yIKogTfnPe^302}o%L|d#o5jzF!`sn>s*rUEQb#vD%VmN+c(>J2`;!G z+ZhGs@DA-mF3ffwgEztCE35IM2nJNob|%6u+P{G5KSfr)1}~7{ai|K_!SrJbraE`S z5j%MlOy%2lPIke4Fbm=t{zrCh+{7yAJ5Ys3ffW=cSJBUdIw7Atj+?;z!u7GOC=zZE z3sI6@3Eu=2@V75Q+#I}^nw1+2F?SkywDI?adz_W2iL+-F#j<50#?F8 zaIfZ-^9;BQu7Gt2FXs3H$2_n=U()^-hM}7V-_!opr*DR=6|{kNV16c(k3WxW$W!#A zfD#M~19pfx78Y!Y{^bfksV47D!%#5!Gqk^gpP(kJk*5RFc)1lj*oDh4cRaQE`%vyiT|Yi4=7G51mhfvteVR=bNCr!bCS~J zR?x-huK<(ZKzj%%xC&iJTQN+(g7zxNL;nM;p}pCsm#;gVZzExXPhm3kR6&D1m94+0 zeUISR1)yhjwq)o8XG5eKKd<7r3*9d;41R5pu0813#pmcf_u6TFRi3whZMyW&gWqP+5gZ(i&1S-RUP!Y^uBcWc{ zh$&fcq!Q7)r43*SKcNFVKykK$6bZiMV_C_|y993tH&d0S z;zyFCa7;rs7A#@;1nsJOcK$f&zBoa>t3<^aB&#?31L;IXuS5U(MlPV|UqPb`8uX^9 zOW_LW3m1WZB-9HVF%=&isl@fnf3gA0ehj_4160UpumVfcYuVNErn$3=V>?cCfgJ_M zfCc&u!-F`NeoO*#1(uJlA6@D4QCy1`Pw$pw;MXhQRA@x-#-KzEz!H?CSFhDctvF3P zopqhlXjp(_Y3tk!N|HZQfq!USiI4V&Z@}z-su+{cMYa<9z+D0TFWCH9kv|3fhlV-E zg#2&1fTL`b$m|qw5SX3GcTmt5@E!aJCCQt(2l7LVgZL~8xX|ZNo^#1}LKWl}ahwbm zQ2Gi`6{^FbPz6jcon%3O*($DVk1^a^If< zkH*OFWP!ruyUxsZy0_&m8mQ@epZVakvYo>qf=u$aJMeBT$nH*#4baK29>?Qc8G2v4 z+hjX`z-p9#fgBt-7UWP1{txzt8eo1;;wPd%J9>F-LQhz9aO2p3nulf$61-$^!nfjmG6DU$a;I!>}cv8%=16KU?#X z32I?n2M&T7KF6)-wu6d%7@8BPKYWJl8?ZQu+BI+IGRy>Uy?_?rb%L#fd{D4>^36W^ zQ?$+JEuVZc?Kz;))aa_%hrr@Zc2Q=)beIV_@Bo;Bbdm)F$X0=6D_^r$g4@9CO@1~u zU10zWgx+u!6t4f{I5`P4tQ$d9u7f7XT7U&g)K31(VW}6-{Er}34X6XeDti6zSJd?- z{Dl?r8_1~^{7GB37H~P|Z-I*bA86(1y722?K>sSd4zIu}i0SFSloAF5$XJ18EN2U- z1l37k_9h>S%}p>BvS2ja3#LDhc3)7DH?j|CbbojGb`ioWN-~UNrvP6U0zB%n=^toU0<9~dr;F}5- z_eA8qAoUyee+4h_jLcvN=QqL_coc@iXfSg9lQ3YcSc-HYTry@3Ai58bF#a(7F%#05o`X8=onI^FthG z!u!Y`;AjDMa{e>yhCjgMYX1!fVq4K?KZy2Vm`=<&UR+m!Zw7zhc!u%pMtOc#pcU{8 z^5w7s3c%z)eaEj1f6xD{gEoLXcK^ARU)#A8(m&vrm#BO)?f$gKbG!#EKuct2Ks#)@ zLOa^BOH|(&+f;Djj;Nn^|C>#cxiBA|^d-!qodb`6Y%I}(IM0IlkRJ^c(>U~M8RS8S zANiLM9A5_WTR?jen0|@Ni5$$}8`|H)_#fywn0z;~v7DbyPzBDXeF{g@AH;bjs11$b zFgP4ce>UwK!2E~O9syqeBatuz3n1qqFd9@yN%A?^ul&Lq`}7qmaqo0w-$M8{dHti{};vIEY}C;OKUId=nf2HQ-QWM}Q?t z)b7RB{C_Jb=*Uteq4}>uw$bEnn8GJ-k8x*MN-_CxU|aSK7>FzrE(8ZGK{EEy`TzSY zezSrA8rDUiUe|_lpi%e>oqBBv%Fy18o8TxCp6C_yfNvziuyX?U~20<}PPHXOu-*%YM9FAKe`zr_Sw2}*FJ@9GbeS3i?$0$#&btED3h zff-zE%OM>yz&a3S?-u89vM+(z`2&`L-Yx7wFoDjW1oiNJu*6|<6{8WckqC}Jd_D7T zf#Vw_u2(`AR6rkJ!C~_4YY$cpfwgmykrgwgjcKcN0&L zNin%zK~*Wp5{Jo8!L}DnW0-Y)nEmO<&NaCkrtrysJ(|ZT95lRXV1e?G=fhZvc@m_X zkfh!%F2G=djRqyi^7S}O{y$breF{2@m7>-1B0gV2EjrU23hMD<*4HuY-DDk{LwpG= zu#JccNKViEtFlA`C}9Io4}19bgD|;@(TLbc1V`WywH6z*N4iP|DZz#!!-|dNk zm|+_2-f$({3zx#>VEQv?%cd4dPJ?R0c()t;`m@lV4PBuAe4+k6_kK{Mi>QqxWCHW@Ov; zFigx&{_nyHFPw6+)g_iH2lxP zC`Mu^X`42NVIBHO& z|C9iqdqK*h`---Ln*S==Tc9(E2Y`nEJMin*px*%R!a8`%<(nBuDPb^xj1~ATkh9q< z!Fn)zlMlmYBus~ykO|o^9;Uz@a3{zmxe!#fR)Y3|+u?F#j%O(2gzfOX4({;c z$yZ+;h}9XC>k{ZTgrEN?XiUAg!FlNX`nsGq00rp+Cxe2T|F`UL5zZ@+_ykZVv?Trd zAF$aCf55K6%>OTP^1h_p1;GF^R$$r6+3c0zelUBJ&%)+0SOsg~C3poE!}G8Jo`J&k ze+MTMK~-x$b>S$eHY4qJ_oB;^gZGuJz2cN3j>We)?l6K5hmoM5rtr&MpWJRT=A)a6 zY|Zab+LfUy)b`0=y^0^*Ud^h3tBd}u%#G~dpS>B*Lny`m&=h1iZ4h&ePL7sfChey{ z`nuO-J1=mQ{ux*fW|u;{9yEnZ;UqX2Okat1%GJ#OH`g-MB>J3Sbq4Nfa41GKp*B>7 z>R8U3C2`z-*Y}1++wy2sQuROX0P}Tn7uuJME-U7lL-uuhlX%8 zq`(nS8xDgiV1Yiy{&UdqYd&?|DEPO?3Ls%SyZ|Ic@uV4!(d6@pg zfPN9@&w^rXg5{u?=I>^4G9PM?xCLnVUj#FdJ_jCw*)Sbug6XA`Ea)#=#g(mm&0g_m zfM;Ly{(lFIy1*c~0j>lGE`ZCS7n~0ks4ndWprW-Bv={V%laVz~*v@zVSAbT~%L{0U zjv!bKP_jl)2b4Tae@sBXiw*2IP>fpe4{gPa`fL7QK#&hx7?$0jUT8^L0_k6d*I^y3 zf;C`z=_CvK%T{q^D_^r${A)n=t`eGJC`Kb73v%FImLV&n0+tW7lC4EK6TwF zs5T?*c9){Ns(5?e|0%{nf!+a2V2L{rv@>)86%kK-U$!bhw(>Q5_h(M3pfCqhtU$gJ zlw7)wpklTnQ<3Z7Juv&Xyz`*_HsrE5JH@#OJiDUxZwZw^PD-Gl<~V`&Jh-CC$Nru#zpw!ve-qaQItG-|5=RiS)XDV zZ5f)Q&R6*KCO;8bV`vM#;8ZvR64hV0l;8iIKvh~^8m39Kr+@{hNBeka2qz~X-^FtM z9kj%>T(!isdtfqHg5vD+qQkChycf!1CCbF{#6mXiW2nCZ7r(1(zZOff#CeXLLa`;lzF(6<)% zhokvZAKK^8_Wa#QT~1Ddme2}Pp&3{LIlc`O>u^hjoTK>X*zh5;9X`8s&n_sJzjQ(W zSbX|lyg|u&74#@5K{i<7VR9Aye(hLi%DD_l51i!Oksxxi0GSxc@JdgAyQja5;{cys zE;e)G*v&)sGFZHLcCHd8Vi?a(1x*GOcs*F6F!==(GafXJ<>)w_a2*+|=jxROh+`Pn zZip}7R)PlOl&oj{TScV_poG0aJ$lJE0%3A>OhqYIbOc z3fF&7VFjH?wOv6Mspi?_O_6m-LjE1L8Wr_g`+$~k`#Q|O1^fd+4HBFNC<^7}Xje`` zzKuAaLNzZ@UC;M(WWRvri`g;%i5Zq`r$kLb@#=sj3X^L@4%Yl@NaSP=yHFgEguDi} z$HMW@04&Z+Dg1L4Sad8~b}D-b?OfV#b9@KZfV-A&=I}l3T~HsR6X9ptzx(u`(Eb$i zynqV)EHsAu;Si9oeEyB&cLGJIkoHZ;1D~AC{2xvuwI0uCC-W!LbqNlg;Xd#uxS*H> zY1sCM?!-AC6z^QHj)m*J>)(17r^0A~|JOKH;7bIpL3^xMpn6_hVX|MNV(Rm#4sX(K z%h3wk>K@O>w1dMa+zqV=-U|v1_EE2RT|x1$2a9WRH>jv_0#`3w0++)v&;`sfvjKAr zCpKi>VLI(2Ihy`1+H*j2tk^?Hez&hf0liz2!Cra=yd9LFtFK34@+l|scn=!gCqbht z+gQQOfAIz->lN@yP=YDGg2Ln~<~68y64!;xHygS=6h8S^7*}o-t3ICux)?Qo=C?2U z==HCFjX}e+#Mgr`xr#Xk&ZWpO2X6r#h^;>b(Xz7Tr(Sv+M0EM- z0@D6qJ$@bgHy~&)yOpp}MR8ou@g23juf6@)|COjD#~ofkODOyKV1Y}m_x7JiNdc5F z2UI{Su*6|<>#2>TinWnZE*lxkA4$}~5|@#^8=WhEMV3GnF9-Eti|?WglWQBk6ZT_t zG)lT&xWPCz*m8A0(EUXB7mFXWXa19MxZan*0{a6dt#_#`(Ev(#9H`(*zH1;%u3|JI zHWI-RklroHU|;k~I2%;Ji@xRSle>E;)>6^?a28G-p&GOT8=;c)AL9EN=$S(Ihj;MZ z2zsX20AHf}4J_V=$1?xPIV5LqiB-@szKgg}?gkXwsZ#T)O-b`?l@=i1FA4d(KG+S1PZ(! zHo!Z+#9{J3u^C*Mw_9L6SfQP1clXK9qwNIsZZQTIdJYQwn9s4SB9pw|G3@nV9SPTa_dgl* z_65j@6W~A5+x=Gw9|84Xysu|rauuTIX^QA`B4N-0maZLsxT#O2&Y0l zI3BFfn7x~kn2yRPPpJ@CZZvG%SK;V2+h*@bQZfsmaT6-cB|7 zGGt%CE660DgT4TY)4M@~w|xQLi4&lV_53RkUxiAz9n^!@eLV}4s~GiIJ(Z31G;z7N z{=ytiBzR*O1UEo)xCAUw4U$dQGa1TmRQ^G7hGK-(fK4 zwU}`~inQY8{Z_Trn`ixg8cmwXK zfju3H>h{>e}Gc?@vm?T9sl+M78c}1EGv1u4!JAov3jB;iT0!n?cKOT9F`z9 zXZ-aV^LIUHYOVnr`jYhZnXas>HSaOsk(z%wRe@HJi&ED?Hplzb_P)l@z6-LXg9&Q; z^j8u1OwKo;Q&Dp`Dz3%rh34%XFxtNzw{*v z(-*G)Fas+{0Y8D`3Elvd=om;;uMwIGDo!J$&Jx2d9I9xw-jL;y$cD@kgak;+e}u1q z*c37UmN;I*y&cNfUh{85Vi!$VK_>6U@bv)sbpjiqlJx3~robEe=*8)3s4YM|gR<0X zH7MR6O!MDBA>99ISOIYi_R`NGz*F!H%!9|l{AVA}r)M@g65{b3|BSNUxHm1yWiJQ1g^ z@WjasC0L@S$T}n;U)O-YDF!!_Y8FD>6EmE1;A@136KE^P&%qLyL!$N*@XdpZ7!{3< zdVLV=B8NudI&#qIqM!dI=ulWtvi9>RW~o=uAPS0gjPZ}Jh(y|8+#Ym&Tmj!R+{ba8 zPY+gtF0u&6F4(wWBbAh2JV#69PjF3~1Z80tz5cA?k^=Umh<+fuzkL^9m|R7xgEoRT zayC-v-I5IUNw0*1L59MZr7 zBx-jEu@vuQFJ3T?r*}&-D79V*JAevk1J;2(<;=e+)H7A35r|fe^G$)Cm$}~cCD4!$ z1Qk%-S8?_hCFaW_fv|^Ix2Sf|R6Jz-gca zD|{DQnEbwzGMpvA3Ui~IiB&os;Zre1Lh}5^JdS~SrBO?v2+gm>D_O7SzhVL?U=#R` z1V4ZheGQhNBz<{aRUHP0!-Zge2b)~4|El>EU1@iRH0Ygxyy}(w%7w!#T_`uS=+*B2 zoJ)R9I=^2CKi$ADn+)b(aBzGNtPuA=j1Dfw@CYx^VH~S~IV#YzV1Z4p#EL0f`6{-2 zP5(uI{?9q62z*^<01XBE1EHLMVBzNN}RE$Q%Mj|)@WvF+fLmf<@^WQ-QJPcNGn0&=m{CJIm^O&Z$eN%M>@}73$#TL3KVRaWhg_$08JSp22liA0YRn` zAnX+c1s92mh@ucm%RyXKaSy7ZBBBHp|0pU&QBhH&FDfpKzNonW-{;68+dksHrrzS6==n9b_d#i3f#pGAF51Y@)G0`@C=oH24oUR5^s`>^hzdZ1#|^R zVQ-&5#oCPI1fk#ErAYP87~(g>0X&XvUmI+6Zs&}ey=0%16p5!m-R1> zT5%)BPXc{8)|cIXOE2+W1ron8aP~i!tGq&2SfBmjWFXfA^IY&R=|e6#XuJ=kg8o1U zu8jAROm843nAbobZzY^mIfCQ5xksL1MK%yQ0sb1ne0VMv1K*zQC z&|wstNoEVsN2lkIWt-NHFC*_Y^he^`aa8LF9%Mqxd&JMEQ_lWl;6mr~Umh3s4LKM(y1gLbOTF(=392;HwE(|fk+2xCGbOD_3Ex~B8ts8eYKoFfc z>OeOK;o(q&I#; zC#}~N{6qVY)xCdK!O2wE(@E$U#!gpU8UK7IekB*keE9=h4`lv~B>B03Nf#&vuVRzY z*|`6AbdF_-Xg^(%SwWmibi#+V3ptq_(eNMGy-5=LfFyVe&%TEJx&o%IV8^#@}?*im5nAP+3~J zB%=AQaHj)Fx-Bb2bduEH)`!Xk=t+4XkP0%XKnJdjpU+l$7g&d_EZLvBaz7E@-Mq$u z_OHw?RNn9gC*W&N!2hwH=l{!PD&_wGN#H}ETTmGLp$% zpZ}zS^Nq|!aX8-Fg(U`LiOFW76Fm!V)KTz3dTa@xQ6a0_q7-C&bwI=5Z|No8POywd z-2kNbmKqH#)3g2$XRzuV9;X?>SpY2Zmn9aVtib8x__bS*3c7)k^Y~LO;1+b^ryFua z`%pOt3D^+m3Ur{3*mVKj!KvU#{IcQf3*cU`9%%c{$iu+>)Ug|cq!rVFv_dLvMJqZ2 z|7d<07gXl>FZuEN&y`dt3CsbK>C-?bQW^inFg~IIzhm2$A$$0IevBMMMlw9$Nm?BR z2eE0#s~wN^|Mwir{B%WT1$7e@9KkO1R}KG$-LJH?27Z#@7NC33-c-h*(c8b6&1Ei z4;;<{!$?NGx4v`>z6wePZNlRIhxg@D8dfef)pSCykJFyuSaspRs@Hh1m zuMkKAlYp+cJfC>~-;`D~2W^40NIT3Y%R+(Ea?M`~cf(Qex+nijPt`8#sgSE1-7892 zvy!dsN;3YkDM_WWhGkcj@s({>l9N3^*0glLbi2$O*{Wq2UT6Gex0GQ!2k3`2T8Dn{6c-{v;U|Y@DfIdfG9liFqdQR4V97Sq*#h>s} z!6r~X0X-B)qYs%a&;g`HIY27t2ad$Ar=^bpIRR&3{|$|i7$v-xg3ahY2Re>nANorU zyPN=@I~C}_I^f^eJJ-J>1&|8207>9ypewG7H(F@<=pK=tkh--0`Va-(brQT%!++UM z>iHdnWXwv97HLI!z6+DIJLrq89JhKRj{&+Rry~zD^he^SQ29M$S^u(>{w zbPWEsK0*bzfg)lmAoUa&@ohcpzcPcLr_(btxH^LOW|k$kfwJ&T;I1+FO>j|zf8Mdv z4HElKU?5ni{bc@0K5*pb%nQ5@$Enw zaud)EKp(O)s?0ztmmZLoOEB&DZ}BfrW&De$@irMez1fYcRs#ucI6>_*KYa zr~Sk}75gTjui+>0w6FMR`{5x97Xzu}8X$>Ckc7cs&`&q~-#(20pXo!xariTXBk6U8 zvq^p~kcP|vx&cSfhg?#*^nkQnjJ4yx#kZS9%-P(c12yK9#ouS~jQ>CsPXb->7bxOD z^Z#`MXua?gz~$gx!%qTgU(3gFcpUy6Aa#5OBoT>Wsb&5Dsez+^*$B|Z4Db*2*7Z*k z__GRhg|AWZE+8%00jw7A-;wkZTY5lRF1FeaK2(|FsQ6ZA@uh^b3EZC>k;diqHMloH zcR1lohw{fwd3_Jgve)0gIkKUh^M?fZ5$J%rB~u7E3ltCFyMJIUxCN{Nt3eRmJW#f{RD2Z_W_w?nV=RneSr@6xBO)Nm3K5NaQ{gK|At-2Y-wcy8<52DKzd{m&@HZv zm!zd&q7i$XJ%vULd_9)hWP5|LU>rCXi~?tafj}qjXMev0$gnnN+1@}M_W)BL zI+DSk=_TOJKq|;E_Jzv$69$nu*o)8ipwA$#{{ta(Mjgu;9Eq1;1hHDzp9CamF3H3O z6BF6Ts~<=mOM#A8=Ewg3_Z)3Mvx4AZD>#B(2q&`z|1{um;st<=cPC>=D&s?vwRBDS zuG3xhKh}p_GFIOJNg&Ob{gv@0*uDs4oMo5G#ZT6@PWb5bjDPt6Qa)LN5#Qrj)o>Q^$f<|y5QI=pN#=RjW2^~Ni4uBgBMBm5Ii!3?`WX2I& zGmgZUzqFw3bo@i}c>cF7#s?Oy4CG+2{c>b58q5WkUCOUs0>j~`?duS~eB82lRQl%z z|4c6pnFJ((cYv-q!H3EzBpI_u%J;y(tq+y2K+4O249OorXIvSdHE(6$LNN3)CLqxE zYcAj+WB8Nl;kDp-Vo6LH&O5(vyrV-&{&V2P!p@u$WO^QD;IILdm2LY*Iw=qd82MC5Du~4r5l?Q zbTQDG{p%G`&q}ABpixgK8?q75Eoh2780bV!K<;YjkHmj{F@FaH`&*orcXL{-{mSV> zfg>1H(2IRvAQe0ebl}SPn@Q+4poiuTri|sNXW1Pbn>#@~- zN2L!PCV&K-1EhjKj22eLf4`8gT9eQkV#%b_lS?P`XL@V>|CxaVk${tcRB#{Afh*%1 zEa0aYfnFUgNzMnfUk79_Kp(P}&tViv{Qq6V0R=qbEV~H7?*ZEH@9VAhyId0RHXs!| z2Xx@d_-Z6G8!W+Ae0tL>(mU5MTrx3b1&s%@8Jep>F7N_LI)&Hyyh?0+|Iw9Aus-Di z&LW_8OgK21{T=%b#Fs?PxK8_BRsx4J&^;j){u8}42IqiZYUB^k3v%J;xu)`#d$>C&SOAoeE%If$GJbWc^rKTN{X z%W@!*`JnAXPeQ(Q7)53LHP}ipNm^Eh>~hnAm)?_!ID({Pg&f0tDFM17DYpmO&#^1} z{jW+4juarFmw=OjR4~=(k;?eVoPvTEu>R#tCWnWEY&de|n$7D1u%B!X87=q)?pXBN zUbn0=el+(1#)G#xAIdOYOdayRZyDTj5CBU<{HFu`B?rS^2hA2!6J`z`A zY5hA_a{X_*nBQdveaTKMT$Iy631|g>EU#ksSM}nz9ef7r8*%Ttirkf@Ow%Wqe<3`h!tmEEp8xzY#zupbdsO{2*S382T1<`Q_94 ze8&$=Yg~3yY7ph&;A}YItAOs{u7;7o1~3Ml`00AIedw<`NWexw+v`C8&EiuGa9smF z_XA;Y75EA64{!v#PzA&Lae5iFBWo|v0Um*S{wVmfu^j~J9LFat;0{{99ZZE=2}XfH z7We;j1%J(<%sztvUhqyMySt^;*MJLv^um|uq<3`u!`g?A*5Oa=PoOf7lh79=r7NzC z-%^jyf1l$&nIIp6nLs8?8!G7qWRiu!OW6DYbU<J#KUV_TfiUVz*2j>Mcuc|W{MJGv>)ARe!e{N8zz81ln0P&9l9k?=n9y{kc zu$W|I$-a}rcSCX*{|yMGKnFOyVMV*^oq!KJ0n5kvOZpH&{%!!N@OdEqTYzprWxO;@ zl9C><>cls6uw2W_8~mGk>GJ(R5-740w$I;(QCN-XNw&SfXmB1F21bCspg+(p_OZWD z2PYA91W0E-G&kl%<$CA*U%7!@g#>H>q=KGy=9Z!|zFu}D&>6@Qlf6VI+7Pb2$vgGC zDkvNeAKf(>NUNmVijie}b-;hB4@toFUzwqwm0fFz06@l>}4pMfn z2t?mp5%>gzUtbZp3q;{R0TJ*xaD!fNtOy1CDCYq$I0qEtydIR`yahy%Zv|l-mV+Qz z1YB>g2-E?^;1LjfXGNe0xZhe47!HDPMZgOtff(GkAQQ9%abj0_E3_iu+p{7t4)}4N z1H8zCfE%ZtAQyB1u9<~_Ye8^EVc;j=UQif#3KU;d7--9DyiZZ!n6rukrM!LtyjOC| z6~s9EcjVRAwnyX_ynG&1+Ixa)(?5yaALT zw?!B66$VZk%8(2yY#dW!10bKR?>zE)D-6#-;`w;}Y6$Y*YJ}@2RrZd*S3x|7K$9=O4oAQYrKt_Bfs7x2?<7lSak5%?J2NgxQW25}}- zHO4v<91n__$&Z65coTS80mFeGTnK_xS_Dd$7Y4ouF?zKc6?>^`QeIIg;HHvuK`z11 z1W_vZ1Oy3I1TqQY0g*gR0!xv71iJ==FDwdd1->6v1nvakkNNrD|1inE zXRc5VURxA6`8pE0p4S`j2kVzp4pY7&BpD(^P=NI-d0oV-@JryYp$yh9<&_}om+`uo z*Q?QAg&sM61?4MAa1HAoWUghMgHq7$Cd!4BK?L~=;Jdjfa6gC?P!9259GtxhLxmwI z1?>pryAea+Tg@wo6yX3$3D%BR?>B{kk3bwOiL?B`3E$F_&FB$O3MS{0C`fD0{BRcr z-UKo5J#cj_420_QUyMzo+nI#{FIWkR!M7l~pfJ#8Av+z2IEc$DyWk<HT-(bvq41BHRRLD-Q?kR{nzW0GmYGHgm?05bP~oPuOs+MzJ8@nk9n_mW|09Wn*3 zy3AgX3p^lRyD+dPlYn45djGD1K;PF30zPok8wFfk3IfOOE(io)DG0p(YC*uevmo$L zX+a>mqaZLDF7jGIARjLFYN#M^4TTbvBM2f_y*EMJLxuTN2t2?GhJ)A%MS)9OGuzt~ z1;(^x2q?b?aw$Iz!sr_F>PPo0h*#&&?y^M(dHo8+Gbr=w=lZf2#6tWxmWxi53rr7W zKUb!`poA-4d#+G!@F2*fd_5@P3fW$+eq&jFzzxm>J}?OsZzu?y{x}VKq98Ez$$~)q zv4X%VI2YwRfe+n5;73<=V?iJkA4y9`(Nf?6UN9U4A1VmceYhYHUSAMsQ9{=}SP+;9 zR|+=|E|=FAfE(Rz5NG$Se+qGc2YA775b4GS1ft+g5Ch)>?+E@**eLG*1Uoa3km~u3yJe3?*YE#{O@D`K3E@z+A9Nv?A_rEu6}Hd@$K-zxJ2cOy(tjK{#;A7xsv#~hj6~Gtcn-FY5CEr8>2SD_FF1K(&KcKXe!VKt z5=;dvz!)$dxPb@gz*Ufs0iqLI(TT12ifty4SlWJ3je@{c;KdOCeGQ%hTflO#3TVTL z$kT!7UId~OTX7cKAdq0%{?-Gl0(XM_AoH75f%ka*2$X=wfwsE}`8p61r5KA+jKx`u zBS3;_hu>=!1gacc5ar!IyruD$tk2-So=cROGHz z5Xi%~l-}4K#}C~$%jYIVc=^J z2L+$8zQO7H*%`rCAo6)(pgq3P{}cws?&E6tNnzk-5J$HJog3YYz>n?+P>e30SkfMA z{)fW6wF1T9WuRMn$u6#7pzZ5Lf&T!_zh>~~l;d|h_QJp8*l9nBw*iPQZ2Q^kuL$xc zLs9G)nvU8=bVuSP_zj={n2GD56aQnZAk;5HY|)B9JKhTlSKm_Dui-m*6A6mJ<3Lo$ zJ9>Hb!CeS^PS3@uu>TtzWJ-$yCz7ZemgsEVnLt_KCu!`PWWVE z_aty_DhRZGn!p5~@*EXWshk-~i6w^+o!F=$Eb*a5foyQuP&xlO|3>+W0>6Va3Pt?lJeS4@9@qjUWO< zE?+@pM^WHWpu(@_{d<{MV`+@csS#+VLP5?1VGb+#qN79R59O%Gxh%ppMV&eM!f)uOr97A>n>4<6}Rq z2-N#|MW8Wg1{#1Ip#AzI4+gh_J3$!S1TF*%z`5Xp5dR&OgJHk+(2Br|U?Yh<1MUS+ zf;HeCuoNh;5L^SMf(2kCm;(BO&8$p(0aU<^7<3d3C7kI2F|&uFfay8 z0Ve+iy6?arK=ZomrCi-1<<x5&rvx}4VopuC;%D-HhnaYca_L6)DJrC=v=ZC-bT z5MBd1Knyt!#Lx{iuLFqVF2nw4c|9ayl50!@LQ#TAM!KTGyNd!t!Ka|to7{or^&Oz~ z^N=qBVQ{6vi``goF%aGPKy0<&56J1ns{uLzhYz`QMqUi0!i2-V6@lMD`X?&_Yk}tT zKjy;}a2D7DG_T`ia<{Jk+uUyADEjmcj*P^(2Y)xVpBVOcbFX`24er`Jh46ns2YRa- zpDlvV!H+=mx&m)4z7PwF@!1ai+}T+KO0hj;*bhJ+41!=A7!D=?9d8lx(;@zQ25d1D zb9g6r0ayc4tMZ#;yhea_ybbwX5C=bk55Y%3>vQmF41%CLaa-^@0cic1$Ufjk7ZL+8 z+-Desk#{-EVF9lcq_y5 zj>X*Ed>(}P{NhfaazE$5+~)JVp;;+|)uq4XofXQg=5nRDa$TvG?~^Gmmp_Sl877)$ z+PnwjN;jD=g~>1(2^UXdn!!}XOi%^5T>W9fA@;Gd>itk9Nz8>XZr%@;*<2%TNz7`P z;w0uCm{=0C8OBx9jPnwV_t@bk^)^)SSd;k_#$U^1euN3v)=Y=_lNQb=atY0nPNjtgLN(9z)K~5ro>nUNx4dK2#`az7s$dOIMrs?Es`*QohO2+h%Sf4~(*MY7mUax? zQCeRW|CZM@)EL>{L`Nr}>r5DL3zL}$6K`cQSHKjvHktdxrk%;W2$P#6s=o0VZ~q$y@~EA7C;!z+{fsjNOrSr6+`vo;(Hf z8C8`#%`?pEyP6w?wp7>DRq>zlvQsWC>gH*dwoW2VusSg9DddtNYIZeG({{U%b0_E; zaCChN<4$6JfpK+G(Hu|Hw0cbZ_C1uZp{GSE@h+7$-a_Z*|Huj;9%{`fsFJ>>>< zc?vb2h^5c2G2}%KC&e5NQ6CZR09V2NeC_sik5!da7FEP|aHpL-mNKOFi}LPkA*{9#juhA?B&XDYjz{8jPGf zOQ%j?R}jWO+hmr(1cN4XCro6nW^^XR>`~RzC#98Y{##zl8hxd9Nj0U7x+2w6KTTR% zxI=}<M25c=UWZ!@iwxL)mpZfd@m^^G47+kB#_wG>3(>yIw_ShpDBTVcPdl&fyIeeK}VHSI_|8kQ#0j3SzXpg##P*<2% zNzCam!7EL#kudJ7OlCHWf3aq)F=IR=m4)fnplwO_w5%4)k|{H|bJyc!=S!`TqB1f( zP1CQ%IexWEee|8DX$U#GTnCbbo)&GyWZr}EtumQkU`mQirZLx#($yx@9VV_!W(-U* z+pIN@q$<~x>b!$#)zqZsVYIlJ$;ibjmSnR`0_B=E3Z`q4*PSryl9=@{Gn3*xU7dGO z2a}Bc52MVa&~LyDOLF@V=GP>fFU705nb417lhoEKTp7nE)m0lN^hy%d2r4frP-~ct zNj9BfVoA(tFy7nDu09XOS8Os@z(nsbnRPHFp}S1#MX1=lCKHEo-)}MvYcS0pFqzX} zN*^?tu`rqIP3B@4cZtaq!UP}bYf_Iv6+dP&yI>+un9Ntga80te6TMr-uU55cF!9^V zZq+KKzPh9ai?o@#r3SlE4Nf4wP4<{~b*16_aU_3G=GS3=n3Q$y^N6{sc3jdth8i%$qRlI;GgVPzv3Sqe7t|t!|wAc)oMs3E8Xp4??*us8&{=1(LXa&Xbcni%49mhc)u~3elW2l#xGvq znl=kyqW?9S2u%EYlewoYl=ml-+5!{&MKij&q+61e7|PU08`ZeJ)3{u_aji>|R>1Fs zN&fe?Fn_pIudh8hp>g9z59rj}%|h1e*k-!8T!AF!f{9$ulbGHexq2ouojB$tGo4+o zGm;rx1|*n}RlSF6euA=?e6HRJW`u8CuK>TSl#}A@nB!pjTrg>pw~@*8n>}s5FTqHg zKc%IajkS$1{}m=zGacq<*l%rJf2eyK=w5AAL-$3>NU!}KY^&;WoTpiORs%*mH$~n4 zTV9j#CsK%_)1$aYPPTJO+eRTiL}fmd-_-vea>>a$uH<(BrZkC3IgSP;Fw;b+QjlM|OKmZA6&vCi56fF*|+Pdy=#s|lwUUken1bdBx=aryos%KahHthez@Id2sb{3_i)0cT@E+)6#IQ}5wdHr z{XRHyvYOvekAC94N1InvjCaX3i)T9%F(u~|yXSvVtsBwv4-q0V%I8Kqusq%&+;BYK}s=~8P0xAwNoSJmjoo))TS zQ%{zPH1^a??@z4oY%9SWwYjk;BjhdBi%RChbo8!}u1nT^=V5`)-i_MEVcgya%P}3j zCFPh--VK_O$k$3Mu1JnN$?csL)kb#cNu9l~lw&%2IjhJ4tcuIA>Ezw683}z4q1{W8 zLkIG_oSkeh-DTm~s-#Jx%Tm1$s>V&}onSNWb@XlOX^_56TEEO5zF9w0$X%|ZNyYEPMF4#&^||>K56#Esk6pkFr&jnxrgEWYeTTyxoUeZ?`PLZ3kmkCneYQDD_ZMZ-!Y~g8|otG=J*(Fa4^SXK% zZKz>$k#!nGb$22201>*Iz+1k5dB3n#mBTPJMGP_`6T$QW^ zlOp}=QUf#ctE>1Wo~qXU8G9t8X~XHB-_#Wixz+nsBTuUouez_Lr)BD|yVYwgnE=+I z>ecFMNO$hQeNo`4nL2ET^4-(5k$opFq`I|YQcrF{;@j*=9hy(U`;|SWcK2Q_%zl$u zElk{G?h)po$!vu2bLYP7s`4UC=1!A&L%jByUi(fFYL7{MFHFp2(ptjo(~Mp((QPXK zc-BkQx<^;d3ZllJtVc~YDNc->{V-96FgUa)SBSyRkb!u zpx_tEOC=#(O25!95_TJm?<N$qKMd|TT6Bc8z@taj&g9XIfdY1HP*tdh#G>2+PB6)jCL ziQqp-brO6|Eftx-#Msc5CF4Zjp?;I-^>K|=O|`bnP#X%lRa1?T?k-HK$($t&bybzf z(nGFcFy3lrKGR`>HBBZ26R)Kiogo!F8IERJdejx|J-KR2TTc#2{?v{xcvm$!kt7SH zhB|hV<8PyoSzm{e1fGJ4HZYl;Fzy_a`4%Ra#QXwNl3;X7Qq9&AIp})T6(^CwK6PSy zGN{gt4qwAmHKe_#c})Z-?Qq)afnBrJ>h{)FWI24JJ`{&+97=Polyg+mlRO#qGdt>h zbX}r9<)pH@{!n+Fglk7}?d%LmPYTgI+tXgM9WS6Wk_PE~Y~0;+bm@`V;?=`s7Qy6t zO=c;K>vYW|a_TIMOq%;Mc`8&*>A=~*t8VY$X}P)+XO-7Fa8@bAHGGDX;d2zchwRB< zPl#7xO3%=dC7+*Q;tpfmRO3y5@tL-b&D0TQs@|N$>v$M{QcJtTBW}s_e!b!|3773bFi(Bkx62_&jZttn9F7M!}u5RtAobO&w3T$UtYt z`Y04T^~)}ik`;a?n_LOO}CncS5F`q#c_h2Xe8!31Pn~Cgz@g*@o!}yb!HtiVU zBxVFmuFs6K7{;B%JO&dSV%mH%8Y+@R9eW~yhMGnmn35#sJec4)+D4BjZF0u*2bPOl z-ig##WAoW(X6JbtriM8K2AyM_TOaG>^Uv1v5*;SPcgsogzxnTKs&fxZm77XULYpXr ztLqu4kN3V|b~g4JeNpmr7<+X8BO%7w)+@YGl+?~X9gee(odYu!33Z8FL zm%_OGCQ}Tvu7*xgDtk<9CYUzw!DLP}ncrb@118goo^VexnL#HpOT$x5Y92=38JbCq z#W2-9-u^$KCzxp1WcrH35|bG%Hc4GP876a?X|oU}c!OqiqEzh6(zd)&yg@zF z)zht-6-tfI=U8R+(Ph7?#@(D-pM76d-fr|)ZlUsbXA^oseSMmzr7Ad$o$3Vs%lh~j zmn)6D%Rc*WlQ2DJW7n1`LDjZ99-Df4>ZZCAs)-xAwp8x>d9Y<;ccL7sSw2eFgz0g^ zaqlpa3dat?G_^)~Q*Xlb`%^K!t{0{oPQkQK_41~D6Q-B;z;t>)Ogr_!G@Mc1)R!== zJp$8n2VojH1Jj2qL>-wh{bMwy@v|`Pa4M#06-@mJ)09&%Eg6Ank5QP`tk92B6Q-As z!Sq+^R?mrjE2Pw5LObJ8y7FP^%6sYKtg6SBZ^^=hY5%?iYDL$m4}6%uUZKu#!t|DN zFfAT~X})x2g9^RA)Hbd6LSiCzm=+j6e|)Ph2i4C0IJfZPeEx89jZ|uSNIfu2>Jig@ z=U}=fk-&XE6z%95Rl)$NnrEXePH3-^IkjBeen64+T7~rPO_;vl8`De9#5A=prsr1} zlahq#;IlAYBpu!GbWCSgFx{9i{pfT|U!fOOEkb8SDs*KuVS35{Oed43`dt!OTOrr& z3DY8(>shk6)<^<(RES!dFnvkJvXjh*#WLUS$3AsWLOV_xy7j&a%b}QF z*&EZk(%ZS@nCdFhTTCOF6H%sv3QLC_tk7W@3Db!(3^irN-^_nmkqYh1OqjkS>D?+V z8Aj-=a0S!sgz2>-F8Dy!gNY6Oh*sIbbfzKy%n0}OPDUZpZT*}w#V^ zka?07tzhdaj_ULk|23DeKLn3fL4bS4>Rt*u}hOqgE52EAIQTpn9n zR=WxVyD(vSO*ewJkPYx>8Q4!Nj8-^dI`}DipbghC^(ozub!&xIElrqy<|pdiVj3Xd ztcNR@MiQnA9H~i^UuZfby?g!DwvigOjq28>HQCIz4Q?} zt3ie9<(`D;H4k7qR3_GIVj8FrHD;S0<|6p3`s_>^IzZNB`wD*h6II+UJK=1$In_Y6 z!wi;CYTVY!g1PQx7R(E@UiFp6T|_RahZ4>sq>Ak_m@lHu8eO5=U90t;x>d&ge#TK1 zQcu>S6$UdSVOm3WzYFA|@`Y>wJ>=w;nb6)Sn{yw@=n1AqR*wqfmz^-JcP^$?rCE>4 zY70~_%}toL9)jr}scxz)pr;hYU;p5Pm5}Kd?uWxZcpXJ|IJw572zPKdzo+zuVTUtx|P+@ z=6rH`f=6+9a`gwyFQD0Bw2Iok18@p>NX3krcF|vOw*+71c$CJpK3M+kT!gRrUOgp@c z=~^*;l*hJ`a}FjZ!MbZd_BVNS2RdHdJgNGhvBQrrJR zQW+{X+0*LyGH0Eg;p}90a^=}&+u6P1WVcSGOl8WPYGmiHkexjD{HG&WI@Qzu_%c78 znBnIn*1z(^0(N5A8TQi5;B)9S^+;2m7R#LOshKj$$k1IO!+n3L|4OIRe`U@(O~ctq zb4ulDj#a5Fr>%nYDs>2hw7tmgnaVo{xjIjA`5ZYP*)>!7Z{cBzC38G` zSV7~0Y}$|UAuylSB(J%as_tCR)U=7>^Oy?H^}Lnxff{iEV-b{)&mZ3Bn0cO=)qee* z#MI7@@*AZswrthS^E_{z(448{+_;@OE;#9ed2?oupE+&*#T_P2qz>*(VjG^KykGN~ z`gUaRG<#_5n~p!i#FLojc`#E?o_1^RJmc&|9$?GW=O8!cnJD9lrS$9J{5?`ss2;azV;6cd(w>BI zovIF8$aS#XM7ZoC&(!o!(TAs0QN0@G*I&H=hX(o5398ltPt$s5BiqfFK|hg?ol@1@ zDuh1fmoCSoF?6M8Gi&h-^n(eOH(2)hM>= zVL$E`MxO7n+q@k4UMJqo$YC?yeGtQ(cpH)ZW`_R<(b$Q&8#&-a{1|zi6ETi_nHljn zh^kJ+n%(ITGh!o%gHD^O{N_ z`Fbbf8svZ(@h*scPQ(q!XP6P67v(7`cu|*T)esLlZTSFssT1%kWWO2kCy3onz>HH^ zfo8ztAoe;bwnEx}zLH3yuw?O>rB>4(*D<|T+$c0YC{m3)Th~GoJU^Tm0wH`bRYzC|c zvD*olE3#8_2js95um|!;Ghjc6fYXm7kz1J&r$DT8BF;yi??k*3d8!jJg6uUT-U6}M ziTEILdo$wG5F4C`+mQ>Mh;JbWorwF8`cBO2 zHvDGDt(@9BAlEc&KNVsm7k}A|`Xdi>f{sCMTrTJgxK>usX4Me$oR~|IGtHO^VyqMM zF61+u7HtsTG<+T+tA{cUJymocyZW!! z@_<^>RdZR|ZuG^o?Q>2#SEr~WcSjD+w$C{OmT}G*s*b)$7s)}#${G9Trx@kGzMR*Ri_bwG(&K32LB|F!| zwq91ItvGeOC7aj8LYU%!c{X_pX5R+$L(>mn;ssUIuHIdmWM}rW3dYgpRG34gG4v1w*|ZCU}YDEk}_@ z)z<6t>t}zHAah-*C|s^Oz1i0~TOHivOl03?v->B(#O^bjdO6Gs(@bU+%pv=TFlZZc z^cge4dlDhZ{yVWrV$#nb)eWZCi7A20rVjW+l@u@=9*__LwYz|~dOK9+fAZ}!)nd+6b82*LlJ+Kg-)7}q#ku`w zWV;E{Z~TR@D*5%(>Ypi9s-+mD`-dwl^h&@U+vk~`j5n6anjUr6UWb=I8~qP zt=Zsu84vdsJGUPHk@!9{x8Gr+e9g4%SYG=qX8T6XRFds0YdAQ!z*0g#(t>1sH?nVg zVK^J{uBB;hKe8QJ^1nu1p*;0#Uz7+g^IUVx%F3e0xs=u zH>K?V<%9{YwO4zOA0_5mbA>PL%MjdTGH=5~XPHcDKf;}3zvb+N981!k2NOwRmcsa* zbMr>z@Tscgri$+inF zca1^hm?IY>M`p=x`ZGTXG3Hh_yibLCR)ue6+xg9s?Jh{KJ%AZ@b(-{Glk5}hf-$6B zVO-Cu*zG)1J;;*Ho)`xc-)cq8UTDdt_Ij9N$M;T4Hnoq#lx$VSxA6e`YnE(kKZXfD zUPY})V_+Ap^JL_>23m}fTMmqGHaA9E(phA{x#$FDS z=?uj>OE$HS!^E6neASXoZ49P#tDW^BOE$GN1~UgqYy8U$RO#JxT&~R+xw&Cn&)E@r zS+W^nAdGtV4|xHo9qIcF>H3icrR4(yFE>t|8B|VdTcX{En>bfvTZ)7z8%@6e$H75QXhQA z!^G#MsquYj=@PqO)NwbAYkr#AS-ne>oE>(-P=5&%eX@$0yMZmV_He6Us5`*87O3Cv zVf@drWHZBgF#e~jsFj)g=!#6j>}57%M7R|u{%m^~vs2bkS1?Xf;HZvRy zQ@m06&^DTH$)>gt#`PqO`gU5^diJ*dgyvj2{WoCzPg*gWe{acVjJhM4K~D)Iec-qH zAiHaV)ImnUlsshx$qrev8KfAd^l^3m12kf*C7as!VZ2Y+zQ0?tscksQ<;s0Vy)3?+ zE!otb1rvV8PTp_HrglDzFDi^AzgYFE$GJa}Aa(Nhz?5!LGaqCMJ#WcokauBXQD*2* zY?FiPU_Pj<>tcEN};3nsQ%l{`dK zueM|}k2Ns4tOC)lw`5bh6(;_qt^LH3O>NaNOwp%oZCgt=wf$fskK5X5mTYPl!$hC3 zwRc&vsoe_W+oF~}Ojdg>+0=dq?+mg-Lf53QG+uHWyL^idtzB!$ruJbNcf^jo-I7i1`!KOpw)RI$HnlbV40X`%kD-=qYFEMdb$>i+ z7mNnK0+Xqn?)uU$80u={$*X`1{W7jG&FzAr?g|qtventc?1G`50TW)SqL0!eVM{hM zi@R?1Is*QkWo=rPYg|@b-rD% z(V6-6bM8oxdR;#T6I{XBt51HD<~!_yk^KiS(aUs{7wqrT9!!urO0~(<+}`4&qywXefO zi{vJQbV0FdeiB`9>=aGvpt?pD!YO}LpGS@o&J=!i9l}&;vStN~+lrK?NoKDJ@CrBM70#mxiPB~k?FGRtJ z@(7IY1{HpaZrNeUrZxuSny2fSZeQxFPSd2Wqa{rAa`hEKvQM#OGsqyA$mQ0kHJ@b3 zrgj00JFKf1Vqa8NCP-by-7v*#>>wL0*$lD`#&2B(r7sHAE-!uYX@b;2Qm51WYn+Qq zFS}s$#icOC%ar?R&V7ZJY}RovjPD8<)vGP%zK5%KseYWMT)KwiX0Xr}tD6bYyn`j1 zA-pi9iMDoDb?SC$kelFij43e1Qjs;VSaCqkz9T_uvpq1mH>#eSscOF^n^pZ6#(l94 zGQbYfVWuW^kN`|)dPgN%DIG1u?vR!a+ng-a?sCSZ5Isn{lYA?&NDgBTC$nq zt1w~S=-xJu%j4&E!EkoXX5R8HVeV3{6AkQwp>7QmoTnnsG9S8HvKjjf82^nhD&+%@ z{XQUPnC23#8wV5RO`vt$nQIq}Di*4p&go$YHr|p8F{t3qGcxU&RYZVOj zB{0z?YS30Pd)kuC%zlJ%E#(~0nfIx6F0cxQ^9eBSWoi@7*}W~##a)g?$`8r1X-fSK1UUOE!hmR7^e6dEBov{mTYQU&u4C2ri!1( zcc>+sTKPTS(i?5b7i`@NR;ka>QiC>ca%u`iU1rle2=lth^noefG?AKLM=Z?X$U{0%Vi4=mr;Ez$J-5+>L2 z&8fb~Dj2>kV2XR%-I9HVT`<(+VM=?d((}0)YKi867sGh%dY`pKv);F1f*;s95BlCN z7=der=ADi=yyz*kBpso$0LWGcwXcT`)Ap;1O@V#NE*ugw z=D4M4bfvW;*@d1I*o^GL`4rfDtU}r%3dK8B)3<2Nt;p_DOHO|lneD~)_>cm-iCu7A zWo;yOp*aQi4ZCnU1-1;kFogm;gk89v0-J+fc!&affn9iw0^5Mv`L?G?+Se4KyVPrM z%g`-Ge%+GOTO%`>)G2#tavv#dc04ADRjKN}hs)?X<#~t8#FbF4Q~4D8J5SSb$l>1l zGjw>@lQ6k6%l5FZ+&G>iIHkDlXPJfr{dn+t?$hG8Mn$R0L+}oBX zBInLfhv2Q>EUmheXlnd(JR^KPs^FEDS^6EwRITQIL3g}Dp|qQ&P|@uCs_OptJR4HB zs&RYGhj|X4&Fc3_W}j60n40}Q$;gDt+9}WNv``z~C(iq7+6O%R{OI8yWN!Q+S8;y( z+ZD&4<6Zep>_>sb9%z_dB@#>sCCB|qx$8*bqg-CNS@4VExxQZ>U5f_3WL znTAfV$ARCf5vCLCVZ3I<>twvVhs+(RFO2K>Z%k@DRP+nY9KJKu?2l;8Vk}8Zz5fw? zE8Wp%=jxC71pf|rlC$|Jg^~$sCW^FIkp1Irc@Hwb6A}^r2V~bbww!g1RIm1Y%=5y% z6a6xO+U&`5k~;;L9%9?gegq_K2!+^W>v`eOG~|-R^up4$2qySyHCNf`2sC zR-kV9j5WOmMU-E8lLvd!9-=UHvUScGv<;buj*`kWj z_0nJR97fZ$4#;6!P9KO&AK4xYDbOW$;Z6$lhFy4_0*#kKj*8~<-MD=&`3^{fl^rtp zdmL6jsFh!`;+j#2zM~>vQqk$iG3Q$ubA_K_J$I9SGcpZUz2@NX1OWejFr8rJ&RSWV z-Z0)R+NNwv(ZB3rRi;iF%dcHo-y7sB-v`)j&&7@8?mdur7A|cORCKb6AK;;*n~?2X z-n>pGs|s1RaVelPaS@zLE=zC91mG+%yL+b{$ zbX;lnpaQG$#(#O@cBB2StlcaM@f*!){ydB?X>oiF6CG;*uzuqR`$&?u4@_y4*y+ z!9UR42G+ntj@L6wdhsC`x4oIQ+lE|{qp>(bJ+z zMoNm>70Yjup1I0Oz*>Ll9Vk$@wYJjxQlKikFhR^HjK76dcNv9X2f2ySVD(%18EFy9 z-W|%%9Y$NA&+(J&+a7hAhYZG!_4e%X+sl` zBZE!tWiTaUOh(=_+W&H0ve;cNc^_#1(~P{iOJ?MaXfh*jE|Zy;LKP@^7nf`#Z~KxN zdAF9#$lJSQ=Bf%d@+L0X=KDq6%Tw}xE!k)-{oxyF_Q#VjS@xTt>^G2$lO9O@7AD(% zd^uFNi0cAB>r!?a$%Ap9XEMWKGS4xYc`&i05m*J|8e!Tz3R5!NWOl)njx(8qZK3?b zOsd{$miiEr=?Ih2+kO`}5c!~&?{l%pXCrUqNql)1xfIzoP{se7f4B{zsC)j@wA(P@ z?;pqWo2G3+j1RKJ_Yot5E%8^xk}-%4)uJj~?XpwKmP#`vU985Y;4SCN*iIEjuH6gX z?p)dAk5en4}qP$n%Wf z^Ov83Fm`uHio306rmb<_Q>tdB@#OoR7|=UvWmE@uhO*dVts#gE2@(HYLA%h zN2WW}&KJAXS3SS*R8PCf>J8PLuP4?%m4e+~sb#x$BB*^Xq}}8)GJTG?Rp+s9+|rj) zpuzT69B-!(=peVMo2EU7oaM;xBe!?tpOG6oa{Zh6x{4!vklQ%&5ae7(o{8*shrg$nYHp;q`rQeitw8DF}~3k)!th9O;f+SP3;jbwU~Wmy9x?dxA_0*I`e>;s{fDA z^YARPjkOueV+JAX2+w0T){tdHC81HWlo&~bn090tkt0c?$dYAbtyH7MzKmVA#+oEX z*+TVupU>yq>GRb0=O6FS>wP}woO|xM=g!>c&b`W27_0)AcPo`kuL~V#o!UCACc#e~ z5>^rXpEe6#P)#kIji2j4M!!)mJE}PsR%PrcmT#W&;{Ws-^H6M~3Kho8=?-l(`W0v| z>(piQR19VF?bYmCeJXeVSg&-x>jh?n%>D zNlSM&NW2@@a}YWZn+k+y03$H#<9DPv~#Oa!!CN14nAc>dQ&0M0jbi0GtUS)R~Y3cq6g4+eC<_A8}TDmhp!mqRYGim8I zSc+Z+)$$VP)o{|%T?!JLpnN6ao+mBca?8-xc+P!{v~=GFv76joq@|m-9E;M+Tyt~M z(j5undWBr~YSPmE1;mCQt>?jic~aJ^loxYK6fU&_2h6`L76-U#h) zX4O!eYxon;B_O?r>Ypn)MI70071kd_D(=zeM&0x>wdXRvsDJ0cYSc-+@60Zj(IA5P zTpWKPz)vAEUNnKe(2}tlfvs?+T2UQ;Gbyo>0@P!DRvrrChmGIs<3?@{gzfqibD}8M z>+H#au&0BBie;*0Iy=UJuru);A&6&T=w3NnaUkr`AaP?m)^i~2giiQTUt7;|R9mgJ z+#7vB{KkEcv~*)2A$Fbl*Jv%><{&OKOg{n`&4Fk*0usZR>^X~bJKcbuU?R#?TZ_*E zrulxPWdn0S0>(W^TDtky;m|OhYeQPPV?exC=hku{8vX?&Q8@FR(%79<){_>lAH;*? zmm9;L&w;Q{gZPW!lVMrx5Z7lE2)jFo9lP_NpBSxSBFYr}94(+s!7NnqBnQG?4Pr+J za8a?W^H&ap?fwFrj(JM<;~WTk7Kp6`x<3~`+C0dCunTX1T||Ed)rWzH@2PH=gw~uM z3lcyhx)$dK4n!^2KqA-zYUI8zDG>J4Akkza)wq!bNoX~4RFjfsC`)`rfvBZDNU)5V z`V%=2_V*w$WaFsJa(qo%xUYbC?luSIF%E=XJBr<2%GCWV2g05Y5-Odkw!5$kPI4e@ z=SG}B@EjdFC?DcL*poma#&&GwK-ekYVE@MXplnQ9&fVug5@y~nB`w{PATG{zmibm| z={^XOz(&(gZzgdd8r}#JhW*b$nerVGQKm77*K}?KY1zOs5Swv-A}!rA-($>8=N=&~ z-N_(!j0$ybGY6vKJ0Q`!`JimDiL`Ksg4mEu2jvohZ|_GSu%JrKl>-TBW! zxrvD=leGn%M;SUOpXWf>--E<4c68MJ#euNz+lqn2TqQfefv^{Y*vgvY#z>W+I+n9NJ8s)nFBXm&iz768XTuM}e>hgGBJ~&lI$gC#3~X*riEmZQxlD7aE~ss@#4GL@nJw>^N#KqY>v+4ut(Z zNEqiq>f+xV2)ph9^a|%7-9=}B17R-&iQo)2tt#xZ90)t>Am$e;r>=G9K-iN(JUGi! z*S2sV?7u*Q*fk$iL*;c3Q6TK6K*E;&9tXnSp%bucC_D8q1;VZa61MDt90+?hh!2%F zua35390)t*2iVBgwj+lFVGjWDnB(_z((?GtID%P$&#KFG-K{wg$zwqh7!|U=;6T{F zgG4cDI@dsU!=n@kdyFR7VcIVJEeFC*JBE(ygGRXv;{Iy->8yV76S3qG_yR}(UD!Ak zH^Z*vKveP*NUQpMb*uDoTy`+JGqmgee;)CW{whGcjRyaD2-k(0xa_6BF6`f9-b?S< zn4QTN4@cF?K3wTY5$lWmvjc}c`QLBy>ri)iBAwtfZj&}&U8$ z$+7JW;+>L*=VgckQOOPv51tl6)3)F#3WVJb#5L9Y4DW3YgnbYsGDQXM%g%CVoz`0R zzYj==h+a_2sgw0{O5UAh)_QUdBrsJSLmiGzXS9}etON)_;e|2eH?4HH2kxG(je8g?-eH5B{_WkTu#YH&PETGlWd#6C^A z>cTxuTDq0bW7PFlK$Kw^5*VB+OT$>N_7l=;Pi)=udO;+m|Mq7vr<(z24DK_WBq z@eS_FYiH+kTqGdIY&?i7WQx#J5{@ttWh(!QGW}GiY&0^Kv|P4gAi<~c$1;5Ea8|xV zfk=K4#ExB0E9U1M2>UvS4fC2;%*zxAdl(3QAwz@x1!=i`e}Q;;ru~D_D)p)sFtq`;A_tc{63NkE>`uLx)NKufN);Z|dXEHuTq) zJ<8J{`xYMOQLQ1aa#sCK4~OzK#8t(Hr13mneO041g7DM0aq&?MT2BtdW)B95!Nwy2 z%Q_cuAnZdR5o0@Uav<#Dzhe&K$FKUrLk-e$Sek<*uog7J-keHW?#;s>o~if?eM6kV zs$8W&R6PttF9Jw*Y#=R@ZP&1`r>fv%a66Nh?z&F1qcxqhbdQ6C*>zU9t+jOfg2dKj zs6NfGn`Ut!8r}@zU87=6v9=VyqqW@Po*;o$n&`D9PQR3MEKWk}xVQom@1df-F#jw3 ziBrTtyVZ=H#G(E_SZyLc!Dc@AqlMt7lXtfrV2CGLE8r60BDL0xXgjrfbxH# zy@>Ml#w2Y>T5f$u5Fh6Myyi&m#eqm3021J2N078ko(|%AT5a)Su6#sVZpw09ekC`2 zfwatZ|BYRSNxIdGh9BZUH2fM!h?5;r(lYsmCTmr=Iku@9vO;U+PU!(+>yoYtwm{X- zb0Dgo0PUZv3ba7-X3{d*hQIT9+v8VCNOo4_KqR*W3A9aDqx+z4KL^4d2@+OnIqG&q zNz1zPq^8*LSp89b&~hu%(hY(n9>5QbTB7P19Ehqv0`a}8d@YfDl(bAPln0~WOIL;Q zqgKZ~9Eju`kl+lpK_?F(Et5Y42|R@li9U3jwa9hjm7w7{87ieUM&xl0ggpzy{=Tsf zava1W4{Zr-~v9`n>!_oLyqq^0|&CZA>S z<5a%jKs0;-B>0I6K8UJo=GR&#KMNB3j2d>%BQ4z+h!6MD)00~A;@z?cMAdab5}fSl zPg=S&HCaRrJCBf-uCpM98oi#j5)-r|2cqgRAU3pIWF>yL8R0w>G zxWAE>9jI9pwe?jKb?y+-()|R)yG}*nI&YGeHG7L;$e+P;n;t;7Msgs!^$AFzqpIEk zTmB7cIs5m6xLR9B_EmMIJ)Y`vE(xto|6LQ)`?|%omi-HW`1`6|Xu`3Qv~+(32|db( zUx5-@%MMfm@jhz~zibXf@0)|f9#(;l*mOT>nLG-_hh+UrUgty(MDjZz9;@yJ90)rC z66mYOc0%2|Nz1x_2JzxY#I!E_!GTE5TN2BBA5N}7S|&FE@mR?nIS|R+LG0bs1+?rK zL0TqH(*$>5c7{8Tv~-t(Bzp63ZYM3>vmhaBldo|g8n)eyss~fmPCIFtTpA=|C0FA> zBxi$odvePUk(S9rKmthC3xi`E2O@bQ2%ayfAH(9DOM?oU3RC*We zsp1Z;S?nWpY!HXoSy~uaK7R zMv$O6UtS|E-HPQ>Y|rPY<=ybP|6%C1UHFpTc<96Rn9qcc_?XX!4z}W_xgLaGO^*`( zpWl-gJ!HNo-`S%|K8)|lO;nLb@aO+Cx{BuM>OFiN&bVp<`l9?df-oHVqFmBNff$7< zATikVMfq_Kggp%;Vr<8!90+?C2)-uK7v(dg?$KJhgFtM?T}fKHS3o@GTXeNbTFb%mgLsYm zK56M500}PUp{!6@Yq>>(K%$GyP;THr3}r?YbZZF@rH`~so&geG%tLvav~+9Si-XR% z!$?baHHdc!eb{xUR@GX%4}iob>mktJc_*oq^*JRSNoJj~m+QRA8LD(|EXTJw5S?#X z4Krhsn$lCBfk?|S{TL){zJMQwj(tF%t(}#sYb`r71SI$_e<5)$fcX<1=r zO>DIJirtE|+?3HE;VBvF@y9V@D>x8+Jptk|7Y44AmdW{Q;h@CvzFj9fIS|PeL44-I zKx5J}xw9tCRqw~q>&HpUUOx@uG2iV!CM|Q1gW%5x+mP!l;?Y{}NH0jFiusb0W z|CTC*FZqtYNXss?xexnf7+)ZmLRz|eK=9l;eSyGHw2s!&?F8cLqaxa!Oj?fHW{_wd zHTxNi+ey-L%&&v^Qt;vLNqoz3)}=sfTMkIHC4V+_w&Ot94}-WeO!i0)g#8Xk0@)`6 z=oxF_ehT7AGs*io5cU<2xYcxOJqmbqkVtWpJ&6Nh zF9xx@Wwy{t_f$ZTBt?gna}gQNU#1;Xv5V9L!NGyDA65&IYl=rYH5>&w;SJg5Xn1RzJ+N zzNF<$3xL@2o2K99KqRjK@mWnrIS}>^keJA zZ^VJH+ktqhT1W5%wQ(rc++Im&9l?V@d=1sC{+P|Lke1sw9mL*P?SkuEN?N*6kc2y3 zJ@y=qvjZH69-IXUWTmS{1F)*z;6T`U8z8&63JgHYjY-S8hk(RhRda{I{e-k!9ZrFS zo>0ehuDhYua&>qN#QTbhVRdlNCM|RKgZSUq<@L#EftuGJ&mAk-$b#0ubOi}p=f)5R zqW4=sBG$PvtuY0{ZUW-DPhA*@fqRg&+_)z|d@g+ad>XrMI0qv6RS^5#Izjhvpc*<1 zJ)D( ze&Rq>U9}koX&PTc(>E8}r^)1LAl_~!`7j3}xs(^SN$yNqCXWO0J!q0QabQE|ZK>EH z_$5Yj>|2xEgtSb4R+EQK@@fu5@^uiONv_sHYnl8QNUV=Z{*VKad(=urFc4l)RlKX+gV3+HM$^9M&!rl(z z>Ta4Y+Li)gcLNEVrYDe=O@9WG=w*^^?I;k*EkL|H+~r4*mdOi2!t<>~s8XJp9q>2i zpOesdI?IS#lvw=2Mb#L>je@Tta?0$CT5bBm23k^3{oMu&XkT?OScY) zZCr-xI264f#DVC27$n+H-O*JiNXz6#ov=9cQ(@fF=$J@ay8A)weboSc@+jC@Yw0!z zi9SiE7Wa#!rMncwGf)$~<$LM$;5eOx)|Qv>q1tEEUC(3N9w03%83W>-iiF#z2;KMaOkMHRPrkHB6F!^nl585m3#{w`TsAKtRHSJl`J}-D!qV9 zC9{-!M0UBtdywWiX`Kyf(A|F-#UCWdkEVDKf&ZkMG6EA~CTY1=9{>s6wDK=dzN1K2 z3tGd{79@IJ-9jafainD>D?!3>|FS;BeE!_eS zVR{`Q*WH@5bYBFCrdj)xH{Q7+39ZiG(urxfmjL%yx|=>sf!J#=fdtB0wOr*JC_hU= ztCj?auV9Ayx%)bc2Z2aVJoiK#K017RNov761bch_2ONNW(^2_A%Tq@}wW zBy^PBUr9^X{V4YDX?1B72EP|+>COO&og&vABQ4#G9#|~$TbrIu4?%S#nYHC%ki%o7UhlEU@|U$EVTQ@;5mUb_^tRPK8F}h|21zwVWLNLHtMZs3GGpsvmM7 zk`IH#@O(Y8i}j*F*zG`kl`>S>m(cV}90+?UNc>T{$GPwcXm5(Osk8ZWbJ5-ww6?W5 zNSISHhG|`qYj-c?K-7LvlfSJ)hii1-^|%GC8XJH_GOdOOt1E6iVfghVw2JKj36#lD zUt?3;8GZ^xV@*I@XROBhQ7w)MNods)0}0(wRmWm78=Jz zl*mwOEOteL1JQ%ZPhjah%Dckx1P8*N1>&ow29HDCdr9j}w)&OvB#zYMCb=aC!X5>Z zIL*mxNXz73K!V3ia^=1hh~(ZNk*_J)@h)kZyc;C^tFi|%B6mHdwcKVeNOTuBJesu3 zT?yhXiocr%F(MZ^5Dk~_hw7{m>BWJtr-S&LaNRpe%eqth!#!a(swoE|c{oVmH%^X_ zmdWQpTxK|(s=fmf zgWaVhTJ{7e5ccCBUOZOfb+o*Yw5q2F&TflDKiwK*F*WsQh;tM+gV z#qY}hCfpZEOLqf^=cbyibMwBSwRGyj6KeBI}^~JcO){q-EAL5Z`We8dNmWyvMki>7wGZEvuh_rMsfq1WLqQ}*jqU`JI6?e24V^OR7(?DXs zt2wB}agnsFrNv8V{%d@JiJ5QJ2(*bZ4ggQ-JDn(TE1#QYoELU67})I zvmV-I7M=^xfx5KtIPZH+YuWSRAn|G$>W9f#>o#y8+Wt!?+(!$JyY=f@%j7pff*z}9 zmsIU{FxkIILaS#NbYeEIJXvpOEi35=;y=f$#7xrCJpvLk$7sPfF$8Ai@j`okp_Ruy zfwaup2@*VGb!@L{J{}z_G2Vh!$GU?=e&!`8Oj=fQ8pL~E#jrq?cTCV)x@|!s7p*3& zCFrFjwc1z);`xS_3&(ZRvX+JuF%Qk=JqztMOHdfvvzeEmpGnKC8gHRwl$W64q@}wa zB>cVAGqVKQCRxzxSW6JscdF+!9ET%G%Ssl3#J2Dfbeyzw3r@yf%xjjQ<{XGw69BPS z;}0Z@NXz7-Ad%DT7N4TEblZXizGnAj($ZZ662G9rZ)175L0T>kb*JJGxEtRGC*r(5 zjswxH??LRPGgQIp*=5T+Llg*m07%%OThqtcfK(MKom1lOB(%oOISn1Wq()9h7rK#_ zU6`mz77lgY#wHF#8-IcX|Ii7#je04{zZUO|Xz;d0twsVM_G0*>^$cvuCme`sPJ%?r zVf7_esm#10cTbYK+dk>s_s7ZbOjp4mC=_9YR{VAAm&6PC80j)?9QpM#I`k4{#uM z(l`)%ef8BWRK1F{tojs4!c?90p4PJJhd?4$)l)bSReuBGYR^?)CoQYKXAT-R_Z9RZ zEvudd61A${!-1$e?R^Z$13a}Fkd{>s0C9EXsWpeRbhm><%=E~dtF>&{3*x)OQ)@VB znY#caW^zxFmbs-qK(GGfsnwaZ%pC_3|BI*AYSPj@1ClV)!yVRI*8C`l?FXJ(Q%K9) zuR!dkSGP&a+&c3xrH}B`8bDg+&H{-X<*Bukv~>Rj@tKF7*ZL5B@bEX3(a_Oa{1JE) zwAaJB$VVx*i>7=l=xA-`A?T%sf2+AEUwD3st-j&Sp z=%CRh7GO9{YFp@_X=)sF*ziv^H%__+!^NT2{hZ=7WDVwoOS8W9+5nz<{ zTX>T%OUcOh2@SOBb1tWBdJP1L{rZatrqGajndw~sVgVJNk0&{ffabx~r}5|1#<}@R z6kZ3&ix|+4JeK!07`4JqOhsogIb_ z9a2%~jNQ8Mfpm2_g6{8{n?JMgP3_W9>hy=y&}(?Mq-&WTO;!D4q<4q59nx|6Klb6CIY#zP_h`?GG_M=0y*jOW;@F8lDtC;bccj04R0 z&mO7Ev9ffYxd@+(?jtFmdD{!b)j5q{T|Auw8<6=+@OL1dPHFsjlp7of`<@lpzK(1= z9^pXPuYp85Qp@W|%9hW91d&V6YPvf@fyiwI5`azbR36KLuvdYEE&D77!Y;ZJcBOp$ zES%OH2zwZa7n`LkFTIchVIR~9`U&Cx45=gYQ^S&DQx7ESqpf?2q};j?NXTcpzlj6U z!VM4`Y=mnCpWyfj^9CB$~+jAgtM}YXP9lnwS zVV?sDS+-*h1;TC(;;LoFbutISj)Bpr9jwqKteUu;H9`oGn%wKdwvBHuBC}S zSi1AetMaY0pfx2sgM{j;BdEkNmb9#75lHub%DxN-*8yn!u~C9sy>I1qLKB#v>@w&Md1guN96_c(Tl zV4I43skLmm8%UxqyK_iO_eYRGP5!-7m9Mmx?jVrFJ?yR_E!{srY#wz9?K&HMt+jMV zf&^;g=aYC9u;V)pM5psdG1R8vuB2u1OptIL6T6Wxazn38^y~dK8fc?)K7USK1LE2)iM{#1>-p$Eq<)Kk zmw9*Gf6zr;^?Uj$O;(5UZo@WzEgLHj68%aNuP*bMB#(j2&sAn5NH|xS8QaEThvcgI zQxvkTkrf>Vajll*rY;keq~vxSK)Fa=knXu^eh|dAUS^Hno-)q1I#<Zhfi>wB*0W z6CfROZEK;O*d4h>u`WpUT=jGV$sCt!(4GTwhPffd+svnG=Qa7iV+Epk!Um9{eLsa^gSeo=>Tsp*6RjoUMyWUfspbI|@ zjV;B7>ZQ}8`XuU=C_EjIw@kxqg6Zo3{oB;%x`zGG(G^_76s3 zQ7Zi;K(K~>(@9A+_B5U#Utn*FZIDQ7Uc7$EG_a`1%GV!&)+&Ci_C)RLokL;jvb}2g z*LYC(Ze8j#l@-N9yf5!n*TK^4`!FJEPZVo&oqeil6sR|lOZC~9T`uiaNSiA1E#$|L zc9N-E_o-dF;6-wq=z^v8S0DNQZjsMeT!RoGRe}__EK@K39dS<`c zrc2oms7tz3_5oZ7;!=-6w&ha61FFY2D7D~#8jJtaHo@w^z5V%s+N4qOgE+#uKhD0y((X;~@KT!iNXdDDB38c2Gk4O-R>gYV5b!S!tCH;ZWtR?gZ)Q4m^KI)%*@a zHyg;cPVL%=lAE9>sVjQ3FG6~`*F_Fvf3w8t4nx)J8x(j9GE8ODU)Ay}{Zf>y)CGrC zr|(hiX)xDz6`Nkqyl`RG_egH0hHm=jTgP#O&9>pkzXgw@Q#M>J%X9F2{jhFn)63% zU+c;*;ZssseIVre*8^p+_tm_axP~|b0d~B8ade59JMmVeeE{K&s?bjKKLO14}pKLG97qvq!e}q_MWcH|XR=Nk0lkRcS&^n7zvI_etU0L$@5bV~2Pi@){U&6* zhH~A)l3DhYK0OTGja9ALDfO2w`6N(;UPzX{4ALW4!9g*sg3qYdd$P;ryQa(O*Mq4m z!*L-oxFkJ%9BK(1YU2)Mm#sQCnWo!*0S9fBT$4`+`omD>DgAw$FGT0t zgQWU;6;tl->J`JwxuSTJz{Z34(?YRx*ze!)!!{i?5%}JdSLs`WxE?VtH-rx4a$nGH zlKej-w(C&#pwwVq{We~@d^{OR_HXEAei_T4(ICG|Y%AB#!C9_azgWzzE*-|OomQKF zK!;O)!qI&_uiDt5e%9U4fn4tkssR%0%l&PoOXhOBgLsqVzx`c#1RpX(dFexD*=+sx zos2=c5;UjZLzpoE0ovmpe#q5x@CDb*-MxAg-R-A#9z%Ec!?5GUx_HSUKSML)sv-13 z%EIT-qh9nzyKyz31M_)8@V75NNccyp14AXUtxb-P1{`90H}UVskW zC%ZTwB-m7vy&$jUD)TppH(BPtGnrmn_(U8FM>sFP(J#IFuX=j%OEmjJ;~6IUg_;@f zL1Rks3}24`bBBWTg9v=|Tz!7;bVi{|G(}Xi!#O4NUxGRzPMlDQlQ>gNfOg@gCFqPV zp)o1wgr2TnUWsKrcnZc9U4dm(yo^$8q~8ba3h;v24>~b~^}En`I?}~c*%eZ@EBk5G zu@MOSOAR@WBT}z)u2bTf!x?vU_D9CfPS9?n*Ar%RLx8=+2kdhQu!AT_4Z#uc$^QtqARE|J~`C@jjP&j9c?)qgk6O5Y3}q6d@WYuq(_9lQZjC& zpRjw{!$2>{$QXZ4?WsD*$fxxCx-%j=$mD>Z6FuiVR?YQl_|I51_vlI<T}~2y?b_3vf6P0zs34pZT=;@BCel$f2~()oPKe1 zgW8xrxmJwI*YNr7X{#~4VvGR^jFxvptOW6fWtl%gqVG!5@H!^jYclIOkZ{f9B2fcX zzX}xWC({mtB(kkS|J@t3tz~}2b=He0iSM+_f5kMr3GHHS&wIn#06hl3hMvaXdV8a2V6-ZA302I3_J&ncX#3C5yfwP;^gJptqF!-(wVT!!Y1##J zXLj-Q0ifZUYKg96EOfA++NJ9_49y#&OFzin;2mB3GIsP5_3LFkYWE6?#m}i83Cx_L ze`sx<`&|=(>nAeCbs;U!Izx2P*X8*k1Y+wi7tQZMLT6;w84zDCl5qi%1 zvMf^`Byd#rq(87vr0Uwty{tK))|EEB#04AeT+g_zN8{JPZ0xJ$@Qjedw$0 zRq!gx`=Phcdq@B0Us>+EhTBv|p$rZHK52&$V5X}kxMwB(I|RNn%5xn@)J14aZ#L|I z>zU0)eP~Q+{ce~N>gns*11%SU(<-XRB{ZlJ1a(6LFZ+d#V}skr8kLkA~o&F@D| zi_i!0mC@|d=_7UiQ5Cp}a&xpkM!IkmnrD_?WqM%2FZ>e_Pc4nU(C2`{DJV5w9n;xW zpaT(lwD}56HypDx~oUXy2QxXF!MFV7&_3HlFof=va07Qk(u8^cJIwrl#7~ z8+{-2exo0R{?6#bpvs7uyV1UQ~M)U*zZEPvKoS z5DV5zApR99KCfPuV;O0AOzRo%SW+GB5W~SOgzl$=CPE16ZVIZ+( zJZK-1mfO7p#Px|8v_Ciy$?kkOQdYcE3im{GAt`gmfP|OfuOx2#m3IjTB6lB1bQ$l< zl)JQ+$yGrDW>5DZE#22a?7XKP>qtxY42W$F)$A;pUu)^M1WBMA}4ZWeZRs?6x3r9#Y2$(z5+|n&64RnEQ_1q@{Zk zB(jiPx2K@i(tQ%dvs4qkq#WlT-@lWD)@lD65c@LaTY@I8k(QNID1@1_Oclz5z4jn! z>5c)hugJsiXj#gE*tSC;wuSsU(_)3SmdWiw0t=~O=bNOZ`!z^-VIK8skh--=Z3RSx|ke10eK_ZJa z(SzEbf6iaOs0FP-9R?C!l84?&ev_?**(^1^82|ma90=Q862ot;1HCv9_6(5NetnOhBSuo*mXdKd`c0;@HA!iX1&N?rbpPTy z4n)PjfVh-ASlc*=h%$3P;xlELn@mKR&Q2VpXr}WGYVl`$AA)QLivpWR5yVGDx9uKlZ$ND^9=90l>45o%IJ zYq=e>L0kt_urQi9Kw7%_@5Rpl#M=3<@a$}ygjN#+K=8EXi@K8cNy~oj1hGe~Nz~R#`3JDy<6#QJrcQw3_G- zk}yroB`qt7fdqE*T&Y=IYdI2cg5XEjG*`YRE#2Qhf;?9oRcmN1-CiJ`-&MRQHtj>w z(me$dzfP{Ra!swJ+aDyDNTW9yIA?JnCen8x9vr;%qJwK32-{r?y-sk;T}jKjgCN1H z{>yR~8*4Fm`u_sigyD={(k(S%{8A$k;RmmP2Lif)}XjM|Y z9;*GpDt1k!tiuCy+9aV>Y#2!Rhcs1d9fo5*2cpL@5brIv9d|eoc7<&0?4#RI0Y2-JOmOVZP5;EpW9jVE2)zg8GElWsC_Yg?% zIPWZXW+Mtj!*xMCajW}XXx()VOhT*s?}B*IeLW-G-*X^pxd`IgYt=HDYpLAWf>tfP zKmzCSOA`IravcYvmI6(1&bX+;PHads(sDzd1qq!@!v#AWgx_!=l8ZLQ@qZ>wz5fMz z*pdTb4*`iKx3dm^#QGo!tsZXE1l!qc1A2Is15t~!85%jMmg8%@dkAUS!zf7Nur&%@ z_^$GjUJF`n^alwaR;5Z~Ge0LSE6Hq*CUESXL=Vd6a3Ffn2gG&CYGXP-62&u=Nj6oEtb0_AelT!HZ`lhdHdyFCZf!3kib4ZQ&n!QwQQghNaPUhVaI6F()|b|d`1<@!v5b&TDo^Y z>}NI6EBW(kj~7cp^)?o?cFiLoam>^!A7hTa!GY*s1O$&&iJ%SVS<p_$T$17WWR ziQtGIR|os+A_u}Q{Q$Q0mo)VS76fNk4ut&%NCdWCFWehA5caPifpgY)`&5_acric+ zi&?`x7sQJm&Rc}xzRiKCq-#fPWLyn)=VX+-K*}y_@3l%EQ+*D{u3lzU3oKc z(@Pin`f9*7O4-SMq0VIL(qKijga3JjSAaV4YZ0Exi z2)i{%%(7qLK-eFG_;>NnaPH$k*nflAcAI_Wd4vLC_XLT>c)Z^vEjN1^NXYETW2B{< z-W|ESI5&s1be{wXv+JBeTDnmXuj#epG6$kt&PQ=T@8o@TKWUj90P(TwoJ(4|n?WLa zix*+_xy^y7x@r$hgP5^%UUm4NkXgGHy|EU z^Dof0f2Wk}WkD;YF$f;d5Ezfc=5^BYHi)etv-+v5>iBb`y*D=Alzf!5Ecrf&ZH`)w zl8!=;Yc1EbQ6S;>*u6nox{z-U{1F?q}fY|;t_HGV@eHFwDyLlCSoOSf2 zK-f7T0n2`j17VK>30w9D90>bs5SMOSPyCA<2)p=G*!Py*oC9GG1c^4zN7YD-r00d8!c6sne=`+wCt7x_U6o{hF zf+W_d2#Pw6lFlpKRs%5IK4bS&($XzG5QFhKyAw!D_csua$@M?2wRE?F;I)&~Zq74W zOE(OHw_%c7Xpq*@9RU(G?pe~(?er{W&w9??Kw7%@490{o?sU@9y#o?5?$blGmhL`~ zFprh9ML=umE(MAFWcJDL9EhQ;Hxv!yW?bCCkueH7WQsaBav+N4c@E>6$gA%xEbHvW zfv`UXv0cflKA4Zsb_Iq}AnZOMUSm7H;6T{+=dnw#sOVJe@TW=3jrbY_PX*Pk(>Yvg z=?(_*qhq>d#}*Dm)n#A6m?TuVE|N!(mdQIn;+IWwl@Sz(|)Y!M--XbmU z*eN|4o#!PZy%}`41($q^v@H1sNUS2S+Pg^0RlCTTRGXt8-8z~62z11h{D8D9c?!hU zLCu|x{R4$KJ{*cQ;Ad1@G8Y+sMbMk&G$O{%YoEImv<8DYeF7Oe%11 zN063%_#7nqlq%E!XGB{N`<_cW+me?i6gsDMVx4yZ%`oY zr$Jm*&G3E6fw1$x3Hxyxpo~YMZKkMmDF>qHEfDWbb2hCqo&sTa0r4B#@d^jRUJjDD zp-wcyA^$6BdB|6ufZ1Tx-IfE9+!rJUTW_P|9S(%O5hQ+71@WhP=ULLS?z|I`d?T-V zc`jB#9|s~?fy7}qDT?vi%7L)2gZNW;tKAjeqCnUWfJ9PsbNa}w!+(!|J_)TOcNU1( z)Z*O0fvDvuNDy|HcX5_ZokW4KD}qFts#{GkH6I}@XYT7Di651xDYiaAT5kQrlaYHW zkLuD8zk+$415xz~ki=8GjPUOuwu9UppaQdVvQiV1)vl&F<+x(cKV+EY zCy;)YTOmCxi%!L+vV08E&hjP5Aj{2=0hUEVIBre1eAaUb5-_}~XJwaUeaPEB4 z()|gDp$X|M=z1o|ag4?&m;k-UJYr zWyd%WcF}jRtMGx2vLEF@*zbWvjqNzafv_vi#9nB?+x#qPxm7Dc0>-^XTDnaYc1sTD zzDZiT+d=TqM0z?+@mX3+w>yXnyOf?k^9l!|TMI#=mVJN&VgCgZs$f06=3NSeJpm+9 z(LB9o4+p|7J{xe+`Jh~zUM0gNZv)!w5(*w2Ev8knA~ zbhAA9887iq64L(sj8Yx8(as zYnihcq_}D6H|T(Aslj~o?`6(Xq-9nDq>RaGupreo-ed)#BSR>w_z4(})jp?u zdZCZ82xs#+)PnYm;EcCO%ZyVWtGPPk-i4{Qw&sTH!O)SBlyUbq(lW!nDAjg`$6x@Y z-y|)Aj*RA{6QpI*U5is~cQ~mM+6xS9EkPqF_0~Nbu;DCA#KI+$YzvuPUAq7Tm%xf?C&@b_EDWsflm;Q zzc~D1kq15xx<5TCK#3po(>CJYn|^&_ZT>SNkVId&c6n; zqlvooAjZr?T8@ejB+jmTIBDs=1LAtgYGQz*mm^1$&}!lwNa!UM>WU_ctkqgpk^_=p z*Zl-(>5c~pJom3ARwbd;#1A0x=eUWy>$H}YR0Z)4WA`D_(j5)rIjQ^+bZ-`E=|({O zr`X*|TDoUJVkedNA>`WDYc1W9Ahy%wI%|`b?)@P4B6zOaLzqVcI1u~qH4slxV=v%9 z*c(B@R`ziYgnbnxYGvC$qd?e|L0s-k_3|TVyAub(4uIIp8(VQ8?9X&UUNeVJa3Jiz zK%zbA19yh|b4*ecr8(S&15vaeNWik+;y~D+fOu0)KlX7T?CT(&JjTxYf&yVT2TANm zr;T*<;Xv49Kz!Z#iITIS<2#kTJNDz}q~(vW4uC{=v3rfQbnP3km$#^o5bq9A zWH$j>nrHVd^PrF6G(ps*)^+4iP%$|Of12KdnLBhT1C-@n&q3!pYJ^d92qUdoD zk7cKPO@XjoAfdAPlzSbP-=-W0`wYU1fD7pwFQO4NEI1qOJD7G=n z*v&W)_FxbX?0Hx4>#mwLvNN3%nTRs;Ks#Cv5)qWN3gTG%?h4!H+tvB5`5Jg`E2^ib)5eLHF0^(Yw8b6LsCP>RerPwAM z=-sKE^t#ZVHC(bMX<2d{NZ?cDc>?uBNlW(*NN_c~O*U&S-4{V(tJGjWa_5ki?&l!! zHRL*vla}sn5PN4cQ1@)1Kx|%nkf0f;=b*hPN&_{A15tD%h~L z9ZS=49;karOSh#axSmX3)2DMFHtz&T3^ol;%^eg7`$doh?2}LCxJy6?tN2cI8JAC~ z;=UXRdj&`UHdXvL2f}W@3!7wY_iPS?eHJ9#USB}hU)_hPlW*e&-S)dJXnh!30^)j2 zb?A#F{a4bmht*TKwEK2x+O2cqapAih&-Qa@Z{Sx;K7M3+E9CpFP~U_D(tDP4QN1+6_W z1SFvU(xKc(vx}({-t0`rK8x9`QuiIedXk^N*gQm9ZqhK2NPhk@Gn2G*SA+NpuzQHK zbgzN<|5CC3*og86wU!&v9wc_#+K8vs>&!ssNly0;J{JWMqnkdyVuY0|QZQiss_ zY)$k?^iH?g@H`0f4-WnFCCgZKz6@eNY&AWR?$UL9lY~~Wzcl$(oj}v>XAf&FuVxtGyKztWe`+=B?w@J%No;reK_^JwO_Z!mEEp-$-@F%rayKj(| z?yn%e>ni#^y4U`g*3$hDBzi^@Ju-{c*8_2s7CLT0t9!#i>|BXsFKJmx)f3qJr__|E z(Zo#B()|-8@SD}dKpugfKU&agVl7DQn%cDqTTv{owXEbB5HDV7{0!Vfq@~;RBqp`V zeUG$se+Nknpt<3$bxLbFH~N8iD_QH*)B4vLCGSo$t9QLl<3RjPWe&nJ^*L$TLeVpr zeHCyA@SvQs&ZsetNTI(Fky#W%b zjN5O~h~xR6C=m8Vkm!A??24K!LFL zf!IG+mr%E(!!KIPx}zYGZ^?BxxTv*smw~v}X`*M?aDJeE>0d2qZQW}ixB;QZU^H=t zw5+7rB@F*FDx}>gX*v9jFJpT)t0_C-E+Z{nX9An^g}Q^>@)Jo*_c};?k|w%)!wM*S z7rY{V#1)HL{repxfR~=>Hv0aiwX7uulJKj!L*RD#U2Ey?1i>5ID7WcVt);sJB>n>D zR=cLPbQglyzfj%)YIa`NTDot5#7xaMNK5z08>sDLwN&TENlUl;O>D(Cs?$)oTS-f| z-XCZy%I?RcrCanC+Wn5)POp-d?qv}FyPD`R9aYd~yBmuCS<7wUwpGR&;fo+qGs3;@ zXf5m93gQ}}61uk!{He8^A6r0TFRMz=!EN`K)-v~d5Es|{NcP`aOZP*N$arglUM~8- zP7W3Em~1X%^>!Xec&?Rokl$ZlBE^DMvDZNSbJSnDV|i1xmfao)a=y9>55u1a7C>J# zdOP$@qi;grG5Vf7d2HX+=jXMzg>Kt`^-$=>M$d-sZpv(c9&hwrdC@ncyF)un`5<%w zqZdKvHD$I#N6phrZa|+mymVR~Tfpch&}EG74Lzux8oLME@-p=5_9{LcdI|IlqxV6N zykC`h5&RmotF0=u7rJFS`qoi(cma9>^o&OQw3K7 zP_B{S2ch$t@(E~<;YIT0vGr`BYVJinwV>CxQxRRhD|EDj>a<_i3GFrdIP@Yj3V%bl zHSId@!rsDPR&{Pe=<^S#6FRpmw9BV_rRtSZu~+M*r6Jz(fPT(mR{9&z`n|q?*UQTH zA#}8rem)I7&6Qqm^)=Yx|Nj{?+eYCo?jKMl@s#@OKu-D8LHzJFdL~TuGr0RZr+l8g z=_%@&gE?-sX>`uv$~P)l4>HpS^aF+YZ}8^m#(%d^n|}^JaHMhH{0QdC&vWNMTpvl& zrT~U=uq4lcc)QXyxvC#Q`*OLvL2S9mZID6qu(ho8>IE?fP1MAfurVWNDp${XZE#0A zJxxsJ+x;qKcVhtXrIxg^i~h% zM}77jmvcB}x2hM!J?~F|`@ZG7r8B0RfbMz!8bQK1jsyqjgSAYQv7^`D^S#jbla}N0 zEJ*MhcIS|m?j~LSTXt`dmTrY2m>}#ryOEY|5X6ISoveYsd9oJ0`T@j`CwS^x-ZP47 zEpt5}UUr?mNlW)lknnfrKItzw5LI6QiF|MDtYQ=hyCX;l*>s=uI1Yrp6eNgllYN{6 zVdpE3CCaiJav`f7vx#>`n6z}a z>GGS|y-ixWl}lnk*>!d&E#22Z;+weFj#V6pZXE})Z{mHG|8A{ia$S(b_vAXCAT8au zKzv)w&iI-GQS~Jd|5js{cTgbgE+AfH)6RI617Sx%JQz;0PjVpaf=(Q6#&$I2K-f=% z;Jv=f-@p`nhqV0c{)HxdKYIEZ=)hxKvT!M_WyyLVp8o9mNlW()5WA^o1$4L{mpnpR zmb8_|KxXsJd+kWeE6|fc@L)W;oqazv&MtK0d)YEt%aVOSywC9s>w8Jd&jn4(VqXts zH$qyvWwWrm%uVY3NXwd+fJ96mu0VTC$%f^$mLs zS#mi@_^i2^@fruBnVgDf#@x+5Mr*6+w;YI~Y4>2Te0=ZsFw$~skAdKc*K}8T`$}3% zcNK`OE4%K>T1$5#h~4DgBrV-ORWOdm-A!7$_3y=8G&O%rTDpa+V(X3j5^3q41BrIw zUUjRcwRFD(aT&K-b*-g410-PF)EZh#_Zg5NkCpQXY3a7Ai4m~wW`BzVG0;0TF?X{U zt%U>e9Pd8oqa28$?}3DVFn6U7 z!XCbEI1mkg1mZC_%I_jA zldpm#_VV5ASvguuwYO+rg{e{)s&3-rutxsuxgGBc5-R$-2Yb`4o z1QPP{J?d|hmJ7iukhobg4nZfHa>+kQ%aU0QFxkyL>itN|MSC%b&D_m?S!+`=r=ixe zv?UoC0CL3}VY;>_0gW_VX<;<@K%h`eynI90>cdme`-DoNj1e$$_v_TcJ1j zYclWLcudyAa+E5_uHXyO< zd_(&)q~%fn7Kq=fdnpGZc?(DcHr>$v2M5Bw=YH&v8+=21JJPc50U!}P+?sA^pUr_t z-mDW~(+%x^a3JhTZ87?{`IE1^D+j_J4dTCT9lYj-_W4O@9lTpW61U9f=ZhSOTJpEk zA0Y6|Yg{F~kF-3tyMefx=-H|lh){}(Rn0C@DhaJN)_~ZzV#`(Yd-0&ktf}=fE4kVm zmi*B428in^t{&44|K_!yIU6^>ZGwRd)%r&Ev|pgd^Nr@&59G1UBANO!E?uBx+6O>Y z*gX$fpJnY1d2IM|9d3G0?b<=P-b2Cnfd;Vq6J%SKX&rG@gJec|$gp)kx{m`fEH8pY z`|#~C3!rUQ(cK(~qE|t@e3yHAnNHYfb8~uM((*`O2;wpBWzy2UuQLvpihL{fDALmX z5+r2YG@sVeZ42VZWf^_z`e4#>Wt|EVWY@Wdv~&-G`0%lS{@hu%3k72H9tR0n_QxCu z`#eYjpWZ0D)`JuXdnkwX}FFOZgQ&4;i})~)G1IS{>i9V9l^{C#)@2g2SD5-)G=4=?jD1;TzD z#B1HTzK{c9UjV@sG`e%${)pCcXVeC9{a;^a0^daO_VI0cLMs#~Q0{OeA{M13C}6+} z-Jag>qWCLsKkESc-g_8I!kN~WWXuK~-4=b_Pfp{E-V$0=) z5?u$9XdGPc+~y|zLW!ORQgt<%iTe6c{eea2M=WUe^*WG-fu`6Rc{DxYW)qrX*MYcT z!|`dDI&PB}N@1^p_>7b5$=VeCLWv#;;`&~+eG>jWOAo7~l8@xEWPm^2X=?HtgGS!oMSWR^v1iK~rx%~8;NG;DO>pp}VjMMTz>R~n2uo)OOja2s` zyyzMcJb`Z*A=pqNi)x%pVKvcUkduajZiMZ|>E^`lD^c#YO4Nu!u<@Ugj@5l zvu~Uj4EcW_)QPr zpghIidY2wn6a5TQClkfZiqyIpi8>?fDVJuLsE5@=K9B@M@==5v|Ie=)2IvYV7|& zT*lG&%v&g|##Vz=-64;R|D=c2*v>_$uMs;{538{&i5L#@I>JuFK@K6DXdHh}EvB%V z>Oqh?BleUYR%0_tprLX6eUTnkV_zU*9DhHmht=4GQq;vb;679jtFd!H>I@q`sfX3r z{UA{5)3=tC`#bQYB+MZ`Q+V z>|r8P|4~GAg$d0fE(6i6Stj5~rqMIC* zv7Pj=8an{Q_oY1lK0yzwu>~O2N9FnVJN2*{`v^!d!8qXlmb_5f?+}RA#EAY=UMSHm z=E1WrF`}=K7fSSSkSa6v40)kMF950QXq+7P%L^rX7f7I!j86VhUMSJ=^N~72`2AQ~ z>Or+yE)bt_`n?=s&1QJ;8hN4QvlYZ{L??eKFO=xNKpHLz-(>XI?v)f)e-kGIB#3(x z{RqEDUMPtl0&(v&4!^%9FO=y0AWq}(`$>ddyX5iqgas5Ai-9~f%og>g%Uj-L^BS&S0WrpHjb>XmKTcX%OFl8r#9cp3njYwZBWxp zJzQQW(Q`q3t<}TqDE>UgyfYxGC9ahEeTR6vdE!0w9{oaz_JKIf z=sJ0!M7O&aV>R|z^{s_lsYz|dFE^<kLY`bN)x&D60I9+^;PjL0Z_5ist)n1V*wNQp zV=p3H9c_qqe^9?rM2Ca;f?~%`Y+c-=ht(nFJ&=^IiI5d1>U%56wki{vMs$GqM~dFN zFs7~3!|D@`^B{FG@?NCl3JR-L83f{smG>XndRUFU4FrpMy8r0n*TZV;4v>^Ph>&{U z81K`KSZPvIziUCNzA(PM;FlMQ4K9GV@X(?3U7Q+T_>g{~ME?(@?jr5zP$@Oim6D5B znba)h8xY?aarj+Wq3OdER!unoMEgS|)?n-|(8Fr%Dv&^*I5DCIQ`ug5p{Q^k#CJ$6 zLgM5>t0}A|t^{!&5*_Je`44(n-F_M`Q2C>#`V&OI7jUlHVy5yjYhbib^gNR1>R~mH zuRvT!<+=Akk5E{RT}7l$+>7#)wY3yhV`qU>;|7zotI@-1Z2L!1@ehfRaqp4m-j`X> zRPPrMkCDlkbre=J*#J`gftg8DJ(JFfkD1WSWIjmn3scNE0Ds7WrdY~)nBpt_0DR~B z^{`sjcOY(hw4f_IPAWY9aTA)EYz4tDwd$wnTly)iW>O5|!cVHb2e;mg&P3jLHt%`!SYiCondRWcn0*EKU%;nEU@<8=%Pnp!ruV2f;eQ{yx(7eul#8u<#Iw??pYf zO~kVlR%2&_IG>0X#hdUNxDVxp(jhL}2vwdC%aL`L`}DAy_%HnW~H zsaf@JL8=p@#o71K>t;W%Unqr~1Znt7^xX^nXTCsT)iPgz1pn4!+uXQ`!fNbZ5a%V) z;?cd>ZXWrfexYRjE{GNrEe;^Mi}NM@LW$lA;>k4Iu1S<|Zo=$!>B}ZHEATLpR(N3d z0d_N5RqGc@HY-6I^dlx@hq+?Kh_qI%Uon}P$sCYs!vVh0!)iswzKW{3#L*96={h~E zTKb09kel69^pVCQr3~Mw*l$s@j8U6WMd_-^+w`znM$gybcGn5tJ{Wp~9#&)9zXAPj z7AGn8em$(lo(1t`$=KOjD6GaF0trr)u_LxpSdD!R1c%77=(_~{-=we_TMgouI*;xA z7KPQ=`#}Zcc+5D+z7XLCBm6AFr;YGIgx$uW z^9u-XH4c||3SewB4yk7#+|3BjL3oTI^AN&|jPTb8uQI|{?1T>(@{lyXIpRk6V}#wt ziSN@02S&(q@59~&H_p8;L)d4Wbw7k~(BSQBpqf13o{OMe2A@ap^ho(Tq8}rC&M;RCTf$L&iBu2!@7meN~ zFBGp`1`;$9CRfV~CHfN(e4}khJ$gi3Err$HEC-15B1X|8=n)z6LP!Btd`O112nf;ml^UxDMNrXd>t$6vQJ(p z(HAJe5wY+K41%NfQCMx%hd=^TgzGW9HG2=jDd){WcAjYZCB7B;w*^gQ`+bP+J4sIx zb1lLtn3j*gW9I8&bqswTr0%O&aRqtI8F`^-HgrE4;iy=P#L4sYu&UWJAi zuo@fx5e$1l#NZc-liTTGwcs8gfdTSmTQ?!B^%H?<`0?AP5q28kUlGQ01Nx2Qn2QMe z`bwE*bx3Q3yCUqno__4UmHgr3NdTLMijsw?VV(Kj)UIOBQGC||zqO>LpQHw)HpeR# ze@Sg4CVhqPOB9PMg6O_^$iyFsy*m2Q`=z+3jxw7&{3p>51P9#L)Gt#QS!Rkkzo)j0 zeNU#OpFe3SZvQKR-_*O9>p}dC%meW-vKFL@ zk#|9YjGP4VG1B~F*!zEKS=U|z}#jeE# z8jg;?wG2;){-|2ghFgd6aiclg=un8gVDKa=702)pV<;&Je|5w7}NhL0c| z_(X=!BdmQY!)-q!+Y3L*4?s8t2YxA>iLe`Ql&0_;g#CCyG{VsjAY6-Gv9wOM7d{iN z9|!y$(MycO`3BpWYlY{;fG)jroVtVJA9Dn(MVerV>b>6)xlz7txkWvWKFIH7d7m2k z&$NkQWGLi)E7cA&8-zAaLf@2nWY|CRafFeFkjlkUZTAxLsEU3D((sz5(L)s&4WB;aXu{Twp8%pr+nt^lbEsAL#O%1)I`2I=*In$KOIMXYGLN_*hsfTGA_arkNL zmGIivkTh5#>_4MzK1JBKQhxa?@-W#!hWjDxT1j6%!*8im*dwYTA4{%Qf3lG{a1&fK zWhcDZi`a%;qWvl4_6Wjt0U3S;;gp@i32yt~uyCKkL6iT1_4+{6J%n6)d_krW(|4tH z6oKTlD6#((hSTZd*$O_l4nWAu96*;4@>na zNCQh1+4=~2N=q}@e+&(K8U_@^_Jbr8rMDw>(EH&ry&wKMH?_rzzHzZPAR1ch(XoZN zfWq?PE?huYdGQ3r;QdKM{~XXE_H9Z7FXM0xnR=+s;z&FT>eXfOY)uS{09GQ-KCgTD&lotze0rSa=$8Z75$%_CkU^IF0EiPa#{URpjYqAtQ z%Iz3)DZ*86$nY41gMJwnMEH zcle_A1Dn}%XoCd5B^+7G>!hm{P^kpJ=0fXo55DRQYpQn{*6)vi_niUUK z)BHB^;=cym7vtAcJludr+oH=;Q0AQVH-^iuqTfZd%sz_S)<}%+liFGNLh{aw1MZ7G zVZ`A_-CBz2Z5#;?S2*e;^2H4ij!vYh_&`hrxwppqdV{!J!< zLM1uH`I`SllTcm9K_*bGk|{q#dNu7070sfo8MzO{wMCU#2hzaEiy;23s?1Ih=Qfpm z0^-@Ok`o}_s&`a$2B;3N*9v*VCC8BrFR2Qxllp*EGcpK7!z-aesYZe{Fftj$hxajs zWC}o>Ee@H;>@^0wi@;s`sidf&?xz z$8|HWl+Ub=72~)s@og&^_54dBh3kjZBz*#R{fs^-Uim7uUF;t+Cov@!<^3pbjB|8~ zY<@OE%sDZjvv>Si3>W&xT&KqW2rq}#LiR}^f=ohW5=g@dm6U;0GqUE~KXd*rj6Cc` zvc#X%jNSqXFj7wh|A&e{gDWR1tU0c#n9`{r0Y)-Gf{e^RF&f3Qnysdc7})_*cdt4{ zdkyX4Cx6Ni5v8duo4!L(w?DxO9mX63be<5i6C535BY)P7FUC)Dv=PgD2>`B0@6 zP__j@A-6P61EM*^&{9m9El=s@mltWcfaOKbW4K?KOc$SvAx)q$t^a*LtLy(;DfTeM zp2N&HuqkGh$ANrnu~MOV?jSA#kiLmVzzfdYsmFVaaf3kxy z21oq7qI1jW8xds}=Mx>BY)gL;XCM)?1?Y(W^XfJTp4GFIxX1q}Gs1F3GrNtWzGt??{5bfhcb-rB> zFLZ#t=jqAB107-Ht$Hd7pNlvl?&$=7KMj=fnT>L7(<3{lBEPb*LJNLoPUfMUiBLsq zHIX>Mkt}?%E-1_P2kKO>m(?M; zDJ~N0&6%C5+64q#OeeZH`cp3Uu6iyn_i=RHa&K3MJ;JuBGp(xIiYDD1FtDnTE|>DkAz|Jbqb2^xK`*ZuR;8QDRvy)cfW)7b=n;%J!TOl5*HIFDbDSq@MCaICNWsy|bv^j^WXIOsJ%i-stYtoyC#f zjzc}yTXmb2n_HYySkl)VYh>k~M9#r4WZO>2F1Vq5UT#^%F{>yNdL1IiEs~v`P1$IH zBdUVCC>u+LQhfx{a73i{adfc-zYqm|&=f}mTIxZY8;x+e1W8UAKvIIBFne6Gh+T2{fb{1dBM)P0l|r}wC(X^yIh$)fcD>QPWZ`&u@HcP1|Ec%^1Y=XoGbM(zS}GqMWA z!^pEBRgAm=Qq9O`AOS{x@dDK`)Z{Eo#z+s421bT}Xn3nVv z6|m;XgUsdvbtl(z7WbkaD;b&e4hU^!LJxohnaqnIo^NIGPz0a7AbG5?PeJ^6cPObS zWqt(F@J`T>(oyGdFY0Hg!#N1y)u17v{vg$ij3C>jq8RVVE#77fR0qKjBC0{(dqlDW)09+wyY$b+J> zx5@Jul7T#~7T1hK9-EQO4I!Fp;}I|#BTbCYLHAH?eQG4;#R*rKLv}XZ$Xs=$GAU*o z$Zup9Nr5>hP@ezc=8j{cpjH7GBZ1K}5)S(7-s5T3wKxt?E>csZ3js&&Phy&vB z(T=Y1>$;oet(D~svzg`HtCweUUm`qiv}3~!DEIksj<%7P4zr1iU#4~zj`&#)T%DxC|x>5#6-07l)NYn-47$!GO^eOjjOO#V*7QN@JvRnciiZ( z3;PAE&#NZFt_|Y#i75UmD*k`6N!{tV(7LKiv+9razkAT>&SbEBi1EiOgGO~P$n8MLW7 zE8HW|z-NVPlBI$zevH^Y2_;R&y94kyzJ09OFYc86@K6>OWSO_XtRkZS0D4rZ+Z5ff zbh4wX7tDicZK)T$pOQ z+D)SM6twjs7$OKQ>E_mno16U7l6-AYceA~TROFYG`@31ByrQh4v?wnH;|1^L!LwrZ z6swZ)OKvdR^0aKrBB$sv6{@TjBd0=nUpG-gmk04ZJvizavZ&soNn-JhjyBP|ucOX5 zr#iKTXqbvY?DTY~?vKV8YMP_D(k%Z0u_D*eCgN++(+w-QyNfXxWh308 z6qnJCIpkMgHA!oyJ5_wsbQnRmN(Yg17L&-mGoZ}|aS_6i4YKZ?Z5V#n&!<)04X{qf zTOc8q4$&)IXalkMQ)FlV68-+WQKCKvrOgyC;0t#}Wy5vRpZ^kQ7*_F$eVIg7j2vI0jpv2dm% zqsN65b7e6f8xf_&GnADDY48nH)ndsa9WQG@xC%pu?1kAzf+~y!ykBau*lwEzkF2B> ze%I*eiR2VH-wZJ3-DVR-U>3T_#U|z`(pntIhl{Qfu?0~2b#WQ}c~p$UAF*h**$r10 zI5KQ4`-xxyR&wW|OkJGZTWr((Z~fvQdQh}}lFL;HACk)0x@QV!23+M{c&)8fqNu*b zG2E80P&63!N7R?aF}j;(i=Sbhs!v{)~y zOJx7%5n^XK9{r9s%KV=!(_U)$Vvi~P%qEfBW1g9%WyLw6eUKZW1l~|VP2$Z%xQ5+o zmVjuDWs@L;&+Q;?Mjit3U^t>?lQPeOq$H?h7f6ti10Y&cRpx6iWz@dN3wW zFBLOA@R5nh;$HkkKX?%s6V(CyiN5}N>bzf%$1^d#^ZLupQR@*gcn%HAD2pZuv1ks4 ztY9zGAT*bj&z(_hzf>W`{nCmxw?VMY0h!{tMa7A|6`B0pV$3y{sie4cUa8i{B;;0W zQOh7BPg4s`?Q05A)_H~VimOu;Qc;?p*1zFOlTb!4BbmFuNeqSX1~ZeG<0DlwyUc1= z+{nCN2IF;`BTkjUXupeQ?6>X=8^%agTP5n#Fq1KB%k88v$Lme#>uIgltUfUu?by{k& zt+uCVJQvNlsg-z%n(-$welApLj&DBPgb`=Yd~@x)eJ-5kpopFaXL$>?4~&)L*q~Zm zRJ+WIlW`7$1Q|I7VjpkHn8pc=6-(w}Eo6*xEvJcwdC97jo0_cDP(?rhkl;% zvO;4M5na#5rw$;M*4#&lE~P9cm=z+D4sygwWmXa2Ztz!PPgYNDZNJ+ZO&19ZVD)!b ziWK~fKit)<-TR`S8|%81Ug+QA%Xr+r(lMXN%GMF$*Ar=-BQ}Y57NEZOSoIw%>wEZC zvsd?Ch)E*hO5s|F8D|!>@=q|k9nB*O+ZESbU8U zAmS-8`d0Yl_S?+`;HtOu=_mR#(nPH22u<}}v0h%Yr(Y{B-U?@#3l#z=neKhPK3v!* zs&=~{#Kp)O5ND>8kt6+6AU}^zq=0j%drREKZ;g5;b62{PRuCb&S?o)!$q+V97Vn(K7Z9=p4Xi1G!3a6)x(go0T*>6uwT| z;Kl04*+w*YQoGoC&k$36=t(1=6F&Tn&%#V1wR=k+C*l)vz)Ic(XNi7S!IQU&pM0p| zU!v(^40OwG5COUkp0pUf2HybmEP?(`@&0N!d#`2K@jJK}n{#C?!gdEOQSUtvt?@&2 z!X5ahXCq$>>H+=YxWQryF`+X3t zMM+{GiM|mg>aavdQ%(Bc1<^m&K=f3Y0!~ZxFRIBMD*2}HjS%QeFiz2yOjz5yw* zm5kJW6)NqrVt=IAmzE-886uMY2rDzo5*;BR`YNecwGyI#hl%3b)zl^}oR)X@EzHZQ z$mup9Q`|=7EPn{;`ePpC#wz&FbW_E9k0RZYhmkHLES<+v?aLLAx|()~hoLG-1!3ke zME^y#EOFOzB(5Zj4+$%x(ki0G21u>EA4Lqg8=^0T72&f)?^_Ddwf8}EJBcn0Gt@Fm zbn-(GeTLfQYW$P5HcYh25-le+k3mh*3hka$6DGRG5`FM4h#p)A(X@LYS`{Yhw?rR# z5~2?Bj?E+*2&>jcOSBo~nnV`3@?MB83d^>)=1vW|Q zAC_x_6zv|~$tv1d9ZPn*)D7ZC^x34PVYN6TGohh*&<+f#C2u*JN5qMXZ(*I`HV4-4 z9)v1mcR`hP4?>kLVOqyoq6bz%H1GsO+oE}rYQsbmEz!?cLiBbFAfhqVaxD!<$yV&^ z)ZOP%#2U(Ie^~YHmguk4AJ)UY#473!abcppEYav?5Z$*PqRpw`283)WGWK5_V2sEi zM+?wM(mu>|4w;Tj*FON$HN1%&7YWEd6DI2n$?ks>vKOdy8#&g5Fxd=C+ubzIo`jUB zrGEJ&64~(ji~kr}GsKPLh{G{1Cp8btHOtC%A~n(T7>`5@jiy;)=5mLW9rG5HO+cfI z6OTf+BrMy4|5V2#ZX)%Y&`7^9ES)D*#;)xs<0Sk}oZAN3?P0Q&A=y3K$k0$*)KE2h zg~|FtvTwYDRY5@f`X(Iz<1oQxAwlQc$aFT!?txXLIU~uAllE#@!m3ch4ASN}T3q<4 zi%t!bT_a`x#kJB!Ar1I{lMBR!rSr>l5l+$QZb(gd3`JC6k&$!;8_9gi42eE^2Soc& zyZ%P&k=a!{3AB)TuG%xX*Y)_WoPB<2fI zME~bS?Kfh`7It`$&4`Y`!yj7k?4VU! z0mjj!Kf;QvwY2+?dhZz|7vGcU<}gpMvqVephv*=z%S0Y3p42BS*Lq7-+zHW9w2u3R zMC1M+(E&7wIZ0PHMw+C@}D2dv`bUki~KK(dEQ)s0&6+DR-2}zY0=T-6(*W&iB6%JqZ@gh3oDDHyf9nYEzzAc zB-&|i*iWKk!$f;oqR*{|=v(9hV`%;8LQk@#Sg~FGh`pCa!o3uG8cnaneoCEr2uctc z8ywAB3eT8qSMn3ygL6eM|>kA z{hj^g@s?9l@zuY7OVcGHQS8i5?P{xu6{m7jX>V`nGq`1XT;xCF=#;!3H)dnlH$z_l z!H*{Bk03l32gKQM5qQQiJQC{(vGec#ZAI5-9X(?L5Ucz^xSqwHPmTEfWz=))d#LBW zXR%Ny62I;O@NGo6MtqxtuipoDBXSghRbu=Lj#OJsyhwfz9XjfDMATBmMl0fh_Ytvh z3nGR;hkugabfl4d)IQ)oFM!klN3_!AQ9z>?P}ruu;7Pfu&1`9XMCUDzR78Bb1rcR5 z{|25%f~!q_=O*wsP^K7y+_0cAHCp-sN@$#ea~#_#B12C=MXx4RV`d=Y>P?8aT?~C$ z)*+Epy_#yil_DO{Bf8gEMk(4o1%TPh^s~x8z5!tYgK>Fbhyb%Fwx~zBtITf2zejaioCb)L8PA| z@#_WfA@JV6 ztC80bDq{^I#G&ULX(-_@GJKDH0Igt1Jl8Tx{*p?rejj`l@l%#Z9K)d`aW9qF{0-#a zSmsX(CG17aYO-e)Vj}jMS$(}3S-nb?Xab+d4l=nfC0JRD1nsHmmQ%ze)6!>OLV^S; zqVZPn5;LP_&w3ibm^b)||ej9uekoX&GLL4ool1GK>8rAln9W5#DAEduKtRe}m^j`Qc9k)L0rl~=E zxdS6;!GBfjpm=8|bS-)ZYEIIHMuw}|5SDFRn3{O+nK>&M%g%4~?Ea-s9cd%}E=X-B zrtQS8*rNX`^mtgIT3DfD!U}y$&+cDLb1W>o3*rE(9`Ve7r3i+lI3vDB!$z#sQ~Zk~ z)rpU&;ZKk;hy9n(KKvvkggoRmac?`)dW75iWLU{~YiI#(G0+Xk^ZuoYPKPB)2(uR6 zvG$K9`h&8=h6Q>dR;7fYtkS(zYn!DX|@^r0Y*&}=6exoPt#EGF>u6TJuO8ndI=F5NedT- z&WQe2M9d~cIB1gHPZ6W^2$-bjyU5#4)5jQ0n|KU`=|kG}6UshO=uT^`q&0TxSpbA1~R+(qova@f_9Jv6G z^#-XKJr-8jCMs-#D)T8wFC3SmM?$jrA3>swRj?$nk$9X^h%Y+Rr9|C;&KNxoI#Thj z(ewKES2J=zrrMGrrALG0IaHZhAZ{GS3>AMT$VRtWRXhW(EXvN+ux9gWu~zX_5UNX4 zlRX16sIN+PfY@(R$w82!t5xzH$U$TqYO-@6fq|-wJqinR$aq6Smjk)8Orh+;@^Vj3 zZoWOo)SBu#3^IWfQ-;Vg5c-7Lel3WTRpWJ#L6-5QU5m7+ROAEu8^+%Qp{Y#k&p>)T zY3B$=`vdx4f%Eks$@gVb7Gk;wNT zd8~ncr;KK(S+|RYGmaFi>l_`u4ul(+AB+WYSxrOMn&_IL6%AE$$bpO#M{+}bXCcUu z%T1!&xLDIpU!#(VuF-iZRzA9nH@#fzb|n)+vH~373uXNvvJPBllI(0bD4k&z-3FOB z)(7iAF4ULIwAz)!#lvi`FHv0}~1QQhuvP?u7twyp7#>-8l8@vr-XDWU~g^f`QYtjf_ z$P~H;WP{ZSDCe6%yhS17a;*2u$Qs>wyr;VBLEPNFPRgAb}yOijRTRu_53&5Z?#%{dvMC@!Ua2CvPIY_fyaE>;zJ0^(M+;7|0sd4&yBWq`!VBcQLapRZkW9;dl#zCc+A;)MgZQ0ls_Q}eSpH2i zvq6p{p=@&^izwA}HPxC+aHu25thEI~MT{H)*|%GoPPX1@kg2S$F-@YhWtM;I_Q0TV zkjadJOaYtqrZ>T$&<&cwfegp+K&6a?jJePUhfIP0<`yZ_1uIE5E{1THe59+C#=;d8#o)Yl-@IitMI;L#BYG zx(*~I$E-&7%)C-heu>u0%aYB6kPnAnL{A- z2@MM0gS3yf1_g>d4|ImLeR3iQ>+oqHaZI7>K?Ff zip6p#%e&WPDyeicsRD7dm z7y;1G-jJzV0{O31gy;xz} zK#sFJozFowTh-9p-Zi@1#oGQ4$T;7Zw(v@W*pe`1-=MaAE09_%BdSMV5Iei8yAk99 zlPLmmTOAMQap_GGS{)k+=0m2vIex(Y_^hO4Z1mm^l3>}xsK@-NtR4p;<7aO5D@gy= zs;L{bM011&wE4N^l{3qVeU?Ic`CTAX!xqK^K#sqry47@$UZ&Q%(iI@V8dc_Dkd2no zB=i!=SQX1I%g@OJwTA{hD*s0a4Pq_bs}&rCIod3c6l?iNS>FbdL2oZYST^FrAR3z& zULdklRk04_pwg#M{t2M%mX4IQy*0WSt7|`yO3SNh@+ismEby@9<8a9MtocngS+Q2d zn(S`K*wrz{tGx{rum(#i{sc&nk=Dr|)_gCsF4UH=touU7In}g>E`upJi>+0sK&F9N z$UB>|E>ow@#UPpNhG#v9R;!xvIZ8E8O|=8$471q>AU^9}hAQ?aNEP#sBySsJttBc0 z>g6DAwn`ZZvX!l{r-Rh7!iqtX7W&jM{D^PYOhoY`&WL#ciNS;vZR z)=sr3$@FN4^<#?hq)%!+3_^)kVI(vSq|VBSipM5a{szk)x&vhxKEI)#a$Ly%2J-8-jWe?NT+_F(UYcCh@Z%ZhY4*v|@mYg$FGaNxBD~ z2Ib)|oXi++t_AVBt(^>6v-w)4wb??+vLWQLYENW7JyyaeRQxiK09$7~1+t2z+CegV z)CPJV#N}nqdkAPFTPyz$q>lCYxDIf%JYH99OfaQKK;}%1T39|vP#HIIa|+_Q#%pFo zHQEE@pP-UoK-^5B0UhBntbdJ!!`55H8~%}#$BaJ~sp_rnjc>x07h&~$hTl|9gU~V9 zHq=5M5cLtiV;MuJIr#)=e2@ zFb-rZbF0}P8gr``LHumA-2t-7cs3-Ut$3hJP%`lRG8m`f(J5Hn6o}7D$TaGL+>kkYlWYZf9AO%xaJf zwlV!CND)(dKS+Z?jP>KMK$T1=t_!w~80i4wXCq@i$ymb<6+a)u!`$;8kOo$<4Iur^ zis|b&Z3hs2q|xZ5a9EvaJ~n(FVlpKCD-ot*Ojpb%tgucXKDIWy3WPqgEWP{;Lag5x zGa(XR0z$5d+zp3a4dP2TJzsBE%mPu&hju}xnkn=#NCk>BIysg9Gmw)FpK;x=FlP(e zjv($E&BBmKy9uPgsy!7y(UqeWuvxJTGVNLKcmu?tY-^zWTA(1CmrjEum@PzQX$jqN zdt;3Rvao!uk`>kiGRK(G*Mj(%H;e_Ly)L7nXO?^Q4T_+(o~OcQLMYKnrW>{hUly{o zmc@_G?Zb+ni&O#Y)`jv}3KD0nL-kb1C(oLuNyfVlLKi~q0rUz8eL_9>8<5j%MEi>f zYuC0t(1`C!->@Ea6-TlC(1DQg4OSa5*9$brYDFrRh&J35(rfR^)mE{LHbJJEts8y@ z*~k>S0J4wGc&&QkmXJ+mDLtbwR_BNl#~od~cB{K(d*)W;LX~=pkYW>&+&#`zjL0ew z`h+aC5oDFsP!#u;AtU=uc6nyb47^~+j&YdM!ctf(6=JdEx}FWA`;e@XdBq`+EH)eb z0&<#dur}`{>V9-2dB?Ce?$Qeb4qL2_1PQSFs#zdGzdG382I6GTVjcjgV;0>=srYCM z;`i=0{eUd+A&|x<=wCqEv&K3PvYfd=@};<=XHA?1a+2k|1f-7T^9ab)VQf+J3Xqcx z(qDoE*aL^gy|FfA9ljUHRyNpQ50ZrH7y}nVZV(@T1OTtud<`~*LaTvF2+=3xBM*YO z*?6;!WLWW^fGlD)`xfLRYsC1=;3C#AL1oxM(lJ4LL&c{9Wm)ye#(rpi$vkXin$KYI zu0*=6!tc+Sgfem?)iSA*u{@ZFMc!sM-YkU7G1eU0LFjYQd(oUDYJn2izRc$!8OGPC zjHk%64 z3q^$7YCZ@}wIT8#2!0e(A$kVNZVBYUQNvr&*$G6yo%Y-*eX636y7?!Ll{Ei<;dTo0iNrsK;Xnaq3Y zLH043-$CdT>hN(X*wbX)yCaB;k+hVkfqF7ZESoQ#gqYTuAa2&1R)P3$5W!y@9c>3w zRySbmce&M`{4)g7SyyV;51Fvm=?#)>jR>Sg8pu|bj}xRl%V!G6GOOltO;Vuwyq3dJ zMspx^l2z0Ta)golK>}7rl zDEJr9E+|b*#WYd^_LGp)-Z=X20|Y=qj^L7JCNVnTcXJ1RP53-&+i7}X3MAHAkG@K z_?aME*>3Ip_;WG46X1`h*nvBaF0gz|RV-CZqEE z0Hs?RQ3gXn3K+Qwq>9aUOF@>SJct>t_ZUc!x$svY^pOh5W*wckN@-S<-vFVhR@;+! z^gxVF%=jHad?{+}$AMI^nf+Ff)0RExMuna|Rk2a;G00@8#H&3EL?5POL5-rLrfq@D z)@-wQsz>I;Jp4?mNhtk6BcG5xegg5=TBe4~A0RXF_I8o~lqj2z}Iw&C}AYtxt+uzJPpgivsUx^^80QfpmXF}ZrI(`JQjMeq%HDd1>+=2gunBYyS$y*P? z)ME`u@|f#F%rNR?5R>EB%b*#6o1<}}A>V@t=zMX0f4}kPxJ?YpW zQFRuptRyx;{|UK*#{R@Z8f0NbzHJrs`@odMNoKSBt%)*4b8bL?4=Zj3YXT zOe{Lhlum+7vgOWFW`?$e`O2k`@$!Z1XrMus8)nax`;5KR`BPf}nS*Qu-wd*jdBgi4 z^a*+4H$+&f(;!9kcnkj-bxpVq#arEpGUyC4hLL_C+ElY$^+yo}Wq2s5-c(M9%tki4 zRD!Isj%-oRkAl?gHdfp`5>CLhJU0b*Yz9=M3^y&K^q%XzbB$^$Z6 znYF%vOuf~0$)e@?71}Z;)8Tr|e9P2H`YMnVHgF6FInKyLFVLEqW@C|Zt3Z7DCea;p zhNf*|bNfNc$Z~K>^*yCBZXje^T{0YocurNQCy0wpp_#+IK+K|*5b9- z&wykyUwI!Sj^%R%q?grED4)|He%4lTBhbCKTS%`fZk^jR&qyAD#$pOx4nm($6AuX^ zH-Pl9Y^LWtQ`7cYgwo#+8SfdZ?Fl^(RLKncCWw8C*&HNO2eJqnKyRa0{sMB+I;*7* z3RsTW*`Uxm172t?wJ4w7AXQ$rOEDbC$L7x|AW^LL9?FQF&RGt!nJu9=fN1Qw!U2#) zmZhoquRxaYWx&rs7uaGrVkB1itb4Zv$+9d&hMk0s<=`aMLOmf9U@MggAa1q_xdlWU z$d&>3Q`XGU{3L`=sHL}n*sZQeao-YQS)T_9vV0ni!eDPL3@BAH2pwC;W{cU1J%Q*$ z-A8tz5g<-$8l$*!5Em$w8N!(4ALh{kF^ zjbvD1WgtPzKgec_L6$N1Tu1pN>dk6ywrmDk!s@yoB!eyQzoCp+yZ%P0kXNWHUUCC2 z@dmGvA*Fmw;BKQG9|;|g`AeGf7| z*6}_837FlU+F#S!jm3D*?$!E&9Ax%zfo$rmwtXSUcDAHj3bK(^V;zW{O@3QImRo+N zm%j(d!;*am5?rKC9_K;mBMqCKD<3+gu)4;NL+^l0s5!cWB(dQ<6{H~KA5{J@LhPn7 z3&hU6`Vo*g=6Y{{6j}8k)!qf6PpIub1F2&b`x#`J(i|xN0#F9aD9(jJm-XQ8AcK%~ zsAfYzcwyr~_`x?fh+Qd6(-!_Sl~=0*a#}T`0To}%T9C&E-Gh)h!Mk*!Hufdtu*(g$QS>x$z*4q8f6Gt2_n#8mWw@CI5360jD=6!+!? ztbYR5VvEpO2qm)GH=g*iNSjMMRLqRTBEv+}lY)x}p&0#ca@fg;uV<$%4qB+>q zSxANTQ+xT#AU;NdAOSX1p94u}Lv`~^+=(*_bOr~|uD-|l&ysIpYvdiT*m&+Q&rBHfdf+a(RJdBK-R?Ub!$BHKs0Lfq{VUL0w zXZf6^eE9urlgV&p_Jz-mAPwwJA`OH-A)Ac>NoS5$4szO3k*YBg_6V@G?ER40`YwA~VrGE3 za9kEvbA8x?cM#AKHj3tfq_DQ12Qr4uppSzjvEgth$*}H!7(|a~o2FHn`W zdLkX40-;Z+rMH1N*@o`dAaQJbJ_TaFCPkiG!vvbs&2l}d;sUKg_XhMo+4k`_V=lDn zLB;j}39#mHf@F49mqDcrnA_sXGj1ES-S?$+BCMd@kbHRHIsG&wGBNehu z!60KTcn!nOPiH$)tss+b?dxS5gI;pz+dNRBJ7j9vV)AMb^YQOYS=cC`I@Ax&foR(D zypY>9ng(xWQ%Mqt(>q43=tQ7QYs?`v%Rn?XmcK#-A2PZ$d;nw&OH~h212K3NIS?%X zXW$0`*jWBQ$k+j^Jbx)RBx zzfdmgK$2L8c>#nzp>BpTvCzph-VT{O);T`|3B0R1(4Qdn%v&$<=0J$7f$XJAj{@0j z`4knK2ZHY;S>A}R7J*c;en|OvETv^zSJX@ z{<}7#vas_0@bsvz6U|*6Y6yvKxzR) z97dfO-&^Wl#`wpwjZSsw-2m}j+Xc79nIZWJ`u zuD?O1iq$?QAHzV2I!$y0@$((abRZXNArB?vlQ^99h*f)1s2VbEHVphiSr0c=B$?Qm zkhxYRgF$>47`&m0D-S4<`EVtOv9o4$&J`dBtyZMwn242eH5&eMLAxj)d_q3- zIY=+Ev@rlX+G#;RJkngt(brnZAjWeqd{WD`4J-~uUt1|f&d2k`}{ zPvPe|WZT~h6r3)mw!uxUlR4AJh%sNmC}n>H8N&*-A%C}1RkbfjEpx$A5GPwjuLZH+ zXr{_8AE+Nq@r%FO47|i!M_In7_WLhD>RIi70O5u`4-#OiB^2VB5F0C#LC&z7fOL>3 zYt2nLmU)4KIEokYk7XdWEbE6sF0c;#0!RictOlf#t;-W;qk))zvUaj+f3y|XbeS27*zA(X&+$4QVl z<7J)FFQRXOTTM0FlWNojWFsrAKZyNiQ%0|tYji~>>p^bFcmp}65M{I!sDT-F6$oEv zK0#S$s;PE>Y-iQj2eN_ng|9)9nT7rU@poqi=~9F?W61`9Xye55?FV*rjHEC=Y<*Da zW_8LpWXvTcwik<5cfcxq4fE&+A=b;9kfnKMYs*+xpRnSn;BP_P%n{FkEMnv2z+&Xg zWLzM%US^&GAP-wXJq!|LTi)-2RI&m0AV>xq?|%jfux+-hO3*lLa32NY8{<{m>mHy2 ztM*j0{U8Chcs~c?+{JnZjw56+3$-alo3ecRf%x*&vW9`A@Chg%Xfrd>T#)0I|H|f= zsV%Y!(+LWi%2d1qsWO>MJqkjf&}nrp-VxM zStAYr2`a;Ce#N{Qb7v+pKg)*9I!YxcAkwWAsKJ^z^qMWuG#{(kgOKq}QO&rW3R|L% zlOKb)SnoLwLZ49WFMwp}-?KLsAb5s22N_kV8TAEO!&bsGK8XCCFAb2A%@(G5@%#9I2Q$3_O!(1WL9FlUY}2 z{h8LQA+w1&<5M7~ty>jCp&1oSp*JBzpOEM8192)(^KaI)-$^J-HEiNs%*d>zyMXu^ zxeCO$*Bl3_kZVCSYpA|??iN?qf$v9na|`lwZ^^`les*C=Nq(7@t%EV+CbDZ+PDR1+ zvV2Pj_Z}1H%*`pwzdmnPe);gS(&Fn%OUv@iG}$-beC5FZSLXV(qQc_Bit^rC_6*v? zOfM|2$SKKH3%IVRFu$aNB4oCrb@zegO>=WfhE`PM3jMd(f2%X(yu1)Rug#s1pIb2$=bOTE z(amd`Gd$L;U3d(&6Po4UB4T6<-u+_tf%yMw{C^GpAGGDg?t}B<8)p|5d$MthU6Qw@ zX}`heBet}=YVgX4B%QkQ%Zjqg=Vf2%nKxrWMgErO`wza*Lj)6=wb^oL%HV`35y%-F x9aT|SoWJF(?7?H3#mmg}hZ$Qgn==@{{70`m-11u4;19bt{YP%%_SJ)X{U7-LdW--7 delta 1059234 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 ?54dPCHfZ_0Jmh`|@wn8E4 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

x<)n_7yUU>W6*Rc(;thBtIdh+w1s6w;Ut!5Wu` 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≠s}=gC!ms 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

?G=#1QGrV+WSxqEBIrnwD%AY0^W^ed3MRi| zJVQ1LLkVlqa|`qUvKcT2!e9;$lKg-02uz2n$P0b;Cy;A8yyWt2Ar!$puz;u2?hY@3 zU*CiChrsN5(awNA(BCJwS4f$3@B&6H6EwA{Pzq_id1VA{2H%E22oBTH`>Jtj*r^G1 zp%IvTOy{t3HQWHVfyvwV3_Hid3D5;hKCMUCnE_A2^I-B{nie>}Hs$&64;s7ih-HfR zIsXt=!&hMP-aOCsh4bN3FnN30$HEEF#U~%PU)UKB6CoeWz6I@;&~Y7k2q<@tCi-^2Fe|V;Q$xG2r&6%Y(9atu+e8ffLA(G;9-~r z<@Q6chqbT~O#U0~PD7dhlX*$h6HL*BS3eiPMKA(P{t@kF^r$(s@%3x~ubig9!!QfX zegLnYroh863rs$FI0eC4*w~bBruc|nHsicGv>E=u;iq*tQa>JO2Wij|%(MsXb0Guz z`{Zx3Y2JepSmoP58)*LwWw6C3AHa_fh91dp_u=%TDt^E=8TsqrF6Y~OV2Mo;E5BLB z(2^huq=30_8?uQ$|LZ-u?2hpz43N8_Q8-@@3MQuvj+xL1dcj(B4LMqYUvRz!iji$j zLOunXsh+Lk7t)q*G#;1d$_+xHX}qXi37K`m&h21@d`WxXy1cZ2rC{>Bqr%SHFsv=F z=D_4%(r$iq*qINXLPW0H!?@OAXCa)|ChXh{=I}o4J&z1KPrzGX^2NMHT?a$Ho8;UD zn`mzV(|?Jq)&^eN!c)))8iVP_Ey;22gngFsc#y`oQcgC(B$x*A4F4lLH*R7T^gXD; z1HcLjlB?*KK%J0JF~?P4e!=?4<1urL@y-Q^rclDSKn45*mN-b>o+6Kf%U!;WhyHLG zoC@cH1t>Q}R+*jrGvRU=1Lhwjf0mt41ny8?IX?^+!zHi+;RPHQa4ZH3^eyd;a5cKg z@B{7NeEMUNodl=CX<&XPlaD`-Y{*mb>!AdOlG5Z>&;{r(0h5oUJsK2Tg%;6P4AZ|#`!y&= z|067;{gF>EU-vq`-3SwX3X`d)3L4u}+4_4r;9LHJ3wnRYAG|;}I0HiK`NU_Ao6v26 ztKlaY30Xj)(f#)VC#&IIj1|CvM?nEPfb}R@yQN+{f1FfboC-ZZ9!r4rR1M z-c_Q?463R(``UD(p4XvmzLAU3^YH*EV-5OJ)J1R!41j^)9|`rsMoh)Wj#Tn`=D(@| z%s!jm-3BUTELeew^xAe!y=m_5;&>V-T3`pj!C-;@z_1SI(q|_jS77;Q{b;4jM{zA) zJiVL9z^_-p95|BTZ9$1zfh9=bYWn4QVLqM&u~J^TcT z~8gk7!^&-_M`-NC`U) zAcRcvcbo9jT9DoC99yB2UrUaMxia*=es2_Zw!#vWe}fzxXaRC)3I{<=XaeTJZBlCY6C+ET0jl<4x_;cT|)0U$-N`E@^g5J;r&IZ#< z7m>yI%Qh01qkPR?@f%=EJ~xuk6o2i_OD1TFadW5xO?-}P(3OIUd;~fW=rZ^k*#@vU z$=Y?;mtPNL5Ww{UT7WkQwgO5(!Q#n3^2wi}Z9eb#u8RF1SiJjOl({ek zra}Qc2xcIiWU&EctH83Auh}cXEnxO0KLeYdFa(A}U$_*?_y1v>90eNIm7pqDKs#g| z!2%^~C;#~{*NbQV`w*)MGzVf;y#Dtq4)G=2!VdWZwrf0PnT~45nhtWFpix9d<*pnrht~{6k?@AcTm!J^0Pg8Wd7}nC8w^SE0lsnu238; z!0eZ}B*Xj#{Ob5+-Uvy125r;Zx#>;b2%BbbAYA0LAM_IU|0`bNRn5yh@h;>|Y_tc` zHpkYq+rk;>r0+nxD*D0&Jfz^0f^QmF+&0MjK-xl{{}jB;GctqGoL>dm@EBYNW5M)& z`NhZp==XoTR;1|5X!oFfF~>|WyQatvgyXT1-J!H)SFU#x7~C_T>g9lQDwtzqdZ!o13>c5_ERJS4mGeTF0W-nmYCi?f z!(5;IKzv)k*~IMci`xpBKdxuzCNw1jfJ>2&fH6=ACf`uR@2j9}4ns|0ztR4j zw&~~4o(rEp&wm4Zp7~#>lR$$V^-p5^G;D+22x5U7aK1ORg)}hvzZ6h|^F2T|CU1&w z3zu)LAj21E#dEwihsS2~nKC&4kK20`lnn=O*5^b30@` z%bS;|{65;3(VoEZZm%qb<8+^=+|D0~cjiqKZf@8;PpQg3No+&avlw1L4_oe z&%mY_RHTxceT=-~{=c*V{}81Sdl|}_Ryd5}{90JGKPw$hhY4^qGTB?;WbOLmI~=0% z+=>8o2v#2s+?S7Uf_vJ$taCuUZU!|#qwqI6_1Y3tqrDq9!2u*} z;}!IvZzO``3+cdGXpXJchZVX6*{VwA%)j4ZB*qG+;SGZY>WJ(NsKdf+57L!Xhu-$z z^8{NAO0d6g^#{otH)Kt~>)2|yoDQSmVHVqb$bww34g}e|l{p;kOJH{XfYqRP%X<); zK<7_`diXI|;vl(-(TLbc#Ew9Gy>I`=H>gOQNUwx0sDS>yf`jCxT=2ej`Sv$#gWup! z*a$y@^|*{JSidoIOHhr*J0w{T)uE59KLuP1O7N_&@*w#@7h;JKO&&2=EnHKnrjg!G^-SzvehAVJW-;mm?eP zOO&i#GkiM12y$hEU;P4Q5NqFTXfWHpHMCdZXvaRTh! zK!>YwE>bXt^+-^!--4Gwqi`Wf)N4zybN2lFFWCfn6jSIG)QEyCagh8NZ2Q1uhFR;w z>`z2?mdV{9g-`xlS&pM%8r}@BK*h*QU>wCf4bn}lqTa16z$k)^1trM$^*BiWE4$@T z3Oa?IqTTW`KHox9I@1Ble&ffyzK&t3AQtcqu-p)pAmKAmkThtN5zlljy;XP%mWvh z{FARoz;UX9Wrtd^sHcd%# z0_@wJpLT;^e+v3DpeJ;JZh$^||B+I{*Z?wCU>VEV0xCgUFng1K-<7{rghtplhI+6k zY(rL?<5rG;gW0d>%Fq8x5KKFRKkbEi^nM+Dglz40hRNB<{{wi{i)V>mCf2K{ti1LR`~ZlxUt4gZU9Go$l@ZwjOz2lv4Ja3|aa<@bLn zC5#OqV+EG6oGqaegu(1h-VU3NFaQR^IgkNep(k{PbnxumPyw{0ABA5izLHe@TFEydbsEt*5P^=KmV))zF>9 zLqNm-J^1y@(7y*CzzTTB<(nBuDPe2?87uHRAZN2zg15o!O@1{tH^LN{3V9HQ32;B$ z2DgLkBlF*flk-7UYbWSha4QT#=6HrOPTCINE8sRSo_zJyl~~h?r- z4GgXLvobeS^Ej@}a4teAYC?OE;p9`8V{~$~1XF201JWPTDeNrZDE(}h4`!E2yCt-T zi{L0Y8cbiGcIt`D|AvzpY7%`zu;wRiZ?G3e`$02k1dYK0NGDmWzigFUw(>Q5#s3G) zJ|frtd-(*e>F^b-gEg=g-h+=|1-uOwXbSB@7(?OD!kq-23p0^DQ$@ST{#StMaK9JO z65T_v`$5TOKp2!fNdG{LekA8vpcr{@H7KU}_d0?7?;z0d-wtOn{NsI7fPvE+E`&ia z00x2ukWR8#f7vRoY~^eAitm8g+w(_g+wuH;IfjQrYd8>6VIOD)4Il+9(C65H0~&tK zr`C;vZ$wrGN!!`|R{>6d6<$CK@E*ZF03}-wt3kybr`pZ^vWh-B^SNw;;v#ECbU^Ct0k&Y!z3w@-=(K z9|p2_mCzJpFuES{p#biM9Jmecg0bL&+4rG65EMi6sdb~Ex)|wdcM-ZvE4Sz8Kb1Hr z(EDHsEOA$Yc84CIBI3!<^~voXV?Mg4C`S4I|BSoS7w{Eq1Pl1dggobrd-I$Da7%8* zU$wO6{3z%MCxh7s$tO?b^R2LJmBYWABhHxnhmn>k5AVGgEv75QRNa_LS76|)AJid+F7g4w_0 zoyXd*MJ{`@Q=Ea|*;VX+OQ-~LQUV1v$BDG>hLdns5GDTzROB0w3yM)Sdp-if98SmC zk|kZpxo@GL~)YyVf~P!{We{fWp@g0`5ptG1Z7+~3F)%i>np zG5?hrS^x`Z0frHHGCTy|g2~TizWcz1FbGV(fMSj)-~;#JB0iPP$xdqQJq4&{mf z`E_}Ga4x#K5AwOz1nNDRzz^_mLXoA?HviYcQM>1{dmkpiWbo^kVdK8Xw+~Oq6;h#f?42X?abfeng1Csfv z9t@qm0On|cz#A3I_(eDEGiiJNZs-tB zj)LRhBuIl}!4k;vUAXIK-kbsjKjk{l!KcW+^4Vp1cCm8#OBd@OjZgn8H%P2kL63nF zgux0AlB?*Ce~fmfhRcxj!b#4j6GToHAP*xM4)*l7diskw4)NI)VlyL--ArV!fW?bv z=PF?`hVkrF(0!l+uLMgJBtMU0CV-}~1|6ppt|MdhT)naYaSY?yjrIjxL(tebiS_*c z-zwUf07}>w)T4#I5eSm2V=79yA|v49tP$|{d^>|`)@$8d11jJfDBu6F3M;4$)%FA} zQq8l;+av2*1^M^bYE;x~T?e#ht+ z2H6&{d{H~*KRLt1c1qM96t6j0q9D0OWDm{1hD1*0unEQPRggEqwgnsxt-#_e{FV0) z!<@~0bYRUq=VRK1wBP0UJ}d)wIp56T2ilw9P>kBZX4-%H^k2~a5{kWm3j89pg$H0y zkgt5U#qm3WB2-A1-FWc|U)13FZ*LlDzwySS8hj$f7J@@}m<0X==T(v*1KZ2s9OCo? z#XAeEW5IfF{aerCR2V7npb!s{6u6L}O=yqv3RKT4D@^vwRLt-EjWN7MJDsByw#NOF zceR4UDBKAr5xftS8|8r-eC&u z{W+Tc4%#z7bFA2-Nq(oVLos?ck--jn1-uoMpr@}#LGt_m;T_hX(R~^;y0VQH%=}kw zkXWyPgFy-I_Z1W*S23?c%WbR+mv1(7+bMkV^%yt&mv=)FyacouHGk%}EBeU#SHQNQ z1TXk{5F}SI2g6wud9|<5Ao&B>7Q$-y6lTIZKnJ4xPeHV;Z2PH~-UTAE{j`9z{jA4t zVE-n>+RJV+tc(Ujx^)8hq8$byU1NE@JZw&;=Rg6Z&Mk00u zq<0e;?229qr-KT3*|&Xta(6q$aw_^5PQmGP*cVO$8=*w{Px1X4^h}}q!~6KI1U*x{ z2j8Om11#RBo051z)3rV;L7W)z_VLW*sUL}qBg}>c{X}%X2CviRkTx61GZsJ-G){$VncmIz1@G6@KI0?Cir?5Bv&!&v3e>S>uFWxZji%BhB^y=hD~ril!7ICnB=FE zxX3Ho@a)~t5g2uabHVR$H0LK*L4E*1Q$aB_iYiP=Tf_0t z5)KC|G-}WOubM;h_9|cz45gUipgfm>6%f(8l^8tA5I+ZVU>=xb!wvk6D1qa-VP(-Di{tU!19Nx>S#UPSw9uFZ6nwJnN;^AsNxx5fjxsj zeHsBQc_wZ1Yf8Hn90{^9`Gd#vN3ADtyFZC1BY3tG_nc1b|86vHgb>uy(fj%ghc94z zhYI^LbSVVc|l&p>XOInkh_>3t0zj5Y)`7u-i!>> zt^`fZFtDLdq(7AD%0E%_9`(IZ^Dn0qI0*_-Y8`|*KA^Vul}-B&$d?W#s_oNXO5l?@ ze-E9Cn!!!u_9y6%fZ@2mK5Reg#7z^~2ve&Suz9vqJtZ=c`}^GReoo0yu0p z=D)*k{8SR994%0=LwtJ${2y2Xi*q$GuY>yk@|TYgf|_t6GFSO*|0Oi^BDTS)C(NqB zE&)r_9$D8a$XEQu-xPzJM>R!o$UpppEBFrK-UM31@f)xN=8&xYM0|^3AfuwuQLpR3 zCUR&Lt{?}UuK4|5k`CnsRn>kb#mw~z8bLwPjxql66`|0n77thfW`4bF_lb|~6BJ0m8P86^=MP!2P{_!ooAi0WG2W^Pf*~2-Rvdw6#70&A;Z?9NWg|6Uo2b%Fe>)Op3??vwsnJ zF@7=1)K~@@TzaI z1<5CE&p8J;pg-`XOGkP7aSZv1S`a?jnN*J81CZ*YQQlC%u#_}1Pg3(C00z?%2%=FYx;G^ z@qf-iMd0f?Lue@2R)li?iR15J4!?NkoN#g~ubD`r%$`#&ci z!=DUK%Pzd7mgE1y@>BDiuVLLO6xP`scFum0FTTZ%6rla50s;-HL9c`#gF0BB4n}(( z3Q6w9Q>Yk?h>b+-2vnoqjSO{c0-gT}D&P^Yii6~@cI4M<6kNK2`-~O9tL|3CLe+9mMX|QW7`juSg|aj#Vgmli3|et3iy(j z;0$amaFG0Ct`k3j7PzhnTHsm_u7*X!tc!!H)r!|v(lD;~hD*b$;aUZ{(5U)f2zC}j zYl(vrB#7@u<|8&iM=!zgz68h8*16{I37Byr@9%(g=nAzU1s*(sw`PD9_8hWeFu(2P z%zv!nczQSpdNEXEp%%q7fU-{f(ZEUkQ3*!}7GRUFfk%KMdK8p4<&m_~i;R2VNoRde9*|A zwL>(0joAMUSPxnk?yo0DSGZR8F_2AA_1Z>2=TpEO&90jCZb$*!fD-)S>q(IO8H#xu ztOr)e3&@sLL9T1Y$P?NB+T%}vu6zo*3WbKz0!IxK+YO8a+&)ejGK&*e? zXlMHLmCNaW9>!0Dg6WY+4;OkMF~?oiE8aX%{4c=bM&xcB#X^c%1or6k8f{&s&2a_o zwLX0!c^e+p+QTy}XuU>UPfk7iUx>^d#J3J`K3Jg29OBtqKuch8>X76(I1%mylegTR z&ycRe8&~S^`v0y56)%e~LpVYple{Hd0L%8|eSDCGPL39+s`iR^5?FkD|8b}mLHB@H z>hfcCm=6n}2ws2&==Sy{uB!dQ+WfWydeVtZunsJ75w41-2#{ZZd=RA9;|B^*LQ!RK z1F~r_9IgRNkjUPRb=Vu{4ES@e=+p!Kp1?gg!%^C^A|u;`pZcn6!hwS7PTtD0j)A?9a^{0YiPVg<*wbG=Fu z8t#JKDvJ09RNz#wf+Tn2DO5~dhTMkGhRz(TQP2I~H#e3*35S6SSm&!aNIsK-HN4td z*Ma6=^K0?u#ON#J%)j5!6vJ^)P;ISL3NiT!$hv@vZp{vnPDSms-i-;+ne%f%2~tR4 zfrI4Na4CHp9>Z2!_Rl@|c_O|mIhKL>2idu?hWB{^-}M6i$9mrXA5*E$zXlcX1y~P) z_m{8WnV0vEy{mv8;yeCPpZgH?V# z*Y`X)hoINP5hOXy*Rx&KE1r8C-;`jGuW~8k$tKbR{U6U@(&41*V}+k3@+W9io*;ppo2=nZ*!@jU_rOmDE&>}t zzufgJRJDf2hR}x29RCBo8<`tRpoEWt3TWuxb^-Et=%J=>5NqgK&`Q@d*vi*>(0p6` z)iL(v&;L6rqAn-na0c|F7+nX#6s84v$I(1QLY<>{{{V}$ge{p$k(Ow#CpSN{_v_!o zrl0Et4m8+Fz2b#I1q=a894jw>{eKX>XaTK3Ju-)Ds4^_Po}2t;WcO7;ZX@|CBh|2C zq}9cuW`ZhMB{S(SD+GKfK3>+B0%Mi$@^IctU$$2vG^K)tE^JP|G;i5g}C*oM2R=} zE)Y`0ldEctj18fUoQ>2@=-tTBCmTQs7l8`s6kg7bH)km<$!=?H;o~9$61?gA}oH zZL76#9>YHZGN2z=z(ji6=C-}%ODs3Ce-$itzXmu|n|)_;o^vGguZq_BhBB(yQT_wZ zgk^9AJ7pZ40GC32hE@+Tx*we0jw93a8T^KAE#C!b1NwUC%|9}7+W%!Jc8gV1B3FV1 z5Lgo#0Gt^|;lU_Jv?Q=|a1oPoGFWjO0(WWB+R_=?PT}QCq_tJ%gRr=aS%2 zC?Mtopgj4$_)$IkKgeL~DU3{K?vC*3sTGC2$hqVPBAeioFF;o8lP~e?tV6Ot2F`&S z%unl20nJ%X=5Pn?r$9;Og9=fQs_3Wq{OjNw>+dEq*cH7ce1yc)KppuXSO?I%k&1#0 zlw2dAo-3F+R+oImNiNsxlX;m8Pcz?^;C9X>{}Imf$?xVo*C(GuTXyCr``xfV5YF`Z zDW3Vt$L#yNoZJXXG67VGf|MI1p&#M%|2U3+WqP+i4wV@s(p$n&6h8*kkt@JDkU;N- zlw2dAp3B%At4rP{otUTbBRbflOGW%|B68;c92E1x5^qFN1}6X23t)Q5FNLx2q|Z+Q z%{SuXIm|`A29#qxs1U`7sI~tqHSqK+d;yO42iQe@4uDobDq-zD+;pq{)1ksk0Z zkzTPi0_wSJ%@4U7q^Oeo&}RI3#(@Mrh#y4yZm;hmTLqnvNnUaopRU32Q)Cf)`}>>3 zhS8e8Ai(cn0j(#)2sjc759V+GUG66+sh-@zffrX0sH|06>Dp)1&xa4*Bm#+=o85w#9lGAvwj1!&qQ_=oI_D6 z?l%{ustPoyqJCduwFD&?!gV$#mwm8X)>}tUN#B)INeT;8Pg5<8M*3iTboekB0tan42tDivy)b_3ZAbAnCuY=}USGiRD zw70F`s_B{k*Z?|jr=SEsP6?nrSb{|QF1*F=x-)oRDXi^R@vgW2oJ)RuU;fbreA9=& zCva(4U>Tebm%m0Q_aEz_OLE*(<@{Ap2W_KaS!r1GBUEe{|>lzpXL;sdt{!6ocg%wBZ661Gn_z zQ!l~iP-XkQi60xcBA%P)RBo_qdUa$7sDL$KiOc0~j6%iuMl9c*EXCAx&VW;4KriNh$~pYQ08Y%Y7{{Mr zwCAV*1EDrHvXlJ_uq*Z-5kDH2`M1FSfE5PSuUEdtpaRlezFFe!6h66%@sCLC2<(bJ z^8A}9fD%3hnv!f^VL@_D&zoR#?#*?1M}2xXvM4Gsh^v=~{@g3xeJbR#~+tB2S)|C(D<|-5=orU_Cg9_PJn%98UWLpFWZN$FuoAAlOg! zdVZqUWAlsAyG{aw9rUt46O`aNu)sm`hbib$u&J3&`)!E&vHoXqve0K>0fXdYu)PN~ z$4!}In_Kg%lHQFIKmkXC5^VGJFi5`TEdJD*f*vH67M(3FE2uJkWdB!Ypdbo31eD+@ zu)sm`CO!FAK480}CBo!3YD9||ep zqo4$@fdvkd*P@tFa3{9%>B^{RbS5xeTA12FgJBd?a|fhCI;iLx9IxT1*!J_s(EbGL z9usgR0nM@8!K-X%?2jhC3iZeJ`X7oE5YNCyLJ4<8ua2|>70?g7xNayw5mGY$h{TRS z_2{|&+Z@Iw(D`_f{sG^b2$E}V7lVdZYr*E;Mli14Wk@PD@aYwBEGWUP6+;*bl7C1s ze}FAY%d-~QPoCV>YK^Dx%Rl7iQRB?$UGF?bLRUS_qgJw}PkX%sSez=@N7tVmHb87( zf587n@2!9JBn4DJ8{g0d$yJPhL}EuEX}!yEYDlXZK=$oG4w!e; z!R+1n2;YpO2$E00R>4%Xc80EUBOsm8(?UFtqO?QmvtEk866yRXFh9?(;`6@(3=#z> z*DK&qP=evU5ebqHWd5A>I;VszTH`jNa&tF*%p&44ihM7QvP)JkzvZwV8vEitK7h}LfGp&)nKOX---^HjPp550PbVSI z#^w%~2>1BxgXCvoa~2GQi=dawxAVXXFoS-cycfsbKK&u%2X748JpnwN}*;}Ar*XKCD!QC5joLtC;@$e_IZIHmu z-NA4cPAi}dRi}dmn1gId734j!?FD;p%;9r@bDZh)emM+BmInjDS?^XPNY0_czAgdM zVa-p`;a0CFz*V48_#T}`$2t(#-mR)bCH9AttfN=ZMvAh;LGnf4^6`AH@l6Zl3%C-r zU|NynG|(c;hBvX<1{P3`yW(egi0_ssSRW^W&+tF8WB&b#-=~ODP~x#*Jr0t~S0iI1 zXd`ES3H9zS22jG|K?N-H6&xg=PCiYacGduh%)jQ>DtuIez})Fw1dL)$Y8jJf_kN4E2ORYwSc>-cNK6p zTtV=WphUyL5+u?;dE@<#$e5Yq42CkO@dTf4`ecr?4zeHTo&v?l*Fi4Kg)}&ACfEN= zlvhJK^o2s4XG0Oriy)WwBan^5{g4H>LTDEEb|{27ko63U3euk9NeHr#6+k)+fl_3@ zKnk>kGGff93y`3Kd(^v{wpYb*+$c1T8 z0$U*TId8v#H0TdS$QD5{ya(C)g`Jg<3fDm4^02c2vSA98@Ru@8JMf$Ej=Y-|LdWs8 zen_G14&+-A{0SKdAA&;I0L3`fL!Qd#<0Ae(@1>d$Xhgq>zk`exYK3b_mUvwO&T zg^%clBKQHy;N(|%!x`KQCD`nVEaeq`|9?4+3vvJmgR| zH^(`GV+OJbkU{%JD5BjOU2e;;)Alf?q(zu_JuotL3Y<<5f@Y9$6rU>yC40GHXX9RB zrwCR+ajgR96DWiQP*TdjQi0-{{PXbLnIeuaLE$<^2twa7l#qgMAe15d9kTWeJ9k3{ zjDXZn_#HB&LvJWq!{>=`%yjuS28v)l6vHx|W3T{LrU!e=P*cvZs2Ay9Ctu2JPw%*+l`P74?za= zI|Q=e4k%+m)ncww;4mm;CC`OoSOw|qfc}sP*FqLa3!r3h*x3T5jA|_sr;}?)odVZM zBgp_rC3rU|Cc!$$B3J>W5TqmI9$4UvI;g-YYhK_?q@6*q36OnefwLGg-pp}kK=xcd zzIPs@ww$%XdDcY*PP>aKI~;p+?1OwD@(VbJ*%xvo z$m~HJ&*OML`T^)^m-XYkKLuXFzK4{N>~koAHlsKn#yRBD-Uu0^3!GVyJA`wWZ)MPP zD25|2gc4{&po}XqgpA8MLhf)JpoCy;IHtcAcD{r%xN`~H4-Q|-NNx%{i=hOD{>n%~ z?aeImnqg-Zl)@GW?H+dA#(XQ~qH*H>VJ98(pb&n6;+|or)mdEWAlIWzN3Mc@Kqx)z zWO@{HEL{|Kt}AA3EDk#}A=_&g(N?jgKT}K@e!ma{X!G+Q??hFX)CfEOw;PG!Nh&P) zW|Ff7LhB|ujUg2}LfKc7oYh}Xa!O%2`pn1joiiWLcQT;u%zSPx`OaQXu?w z3_CY(rNFkcBkAc;^Z+_SI`oIE?0l!uxO^x3wtVN1 z@eCa!bs4e}WLG0g<+v2m(5-|ruAYq>5C=L!I`oI!J-GluF|2}8*aGQo@|@F;;^#kE zwVCTWtWNljVb44&?96VAC@qaL zo?{``^@rPXZAUj|BYJ4^J!=Q%LE4b8(`XoRxDl;+mG}Q-aQ)u=9T$wR_=97v-Pxb= z&m*|JhSuab=hH537}*nxz1OR#>FNgqn!g8FK|icB2@HR zuJaQV7jch3mPPwHD0+_DH?mR+=;1CR0K#FA$#r`+$})l+!FdL{uC#L-AZyBbR|9r3i>~Q>18~CpbTw@{v)w0K8RZXGAWCs`u7=SJR1x_Rz&j6Q2PIr zodk=daG%HD zmrw#IZ=xu_*^n2af-=0@(!gSoR0g(p)155B{%V2AOM9LjixG%SHUmnYSBe3yYx__>wZXiN9?S747yprecf)a-O6G{Nn@e7LMdnCl1IU#RG zaYB9#C4f>0{t--J2k_9574G(ExD}(a6%|=8;lnA!hAL4?KW|9$e{u86^VSJlL$TeT3qI?GF?`YIPKEluF{+xfU`>8mdZ$ApRd1ahD{#F65BL=_jNCTA* zxBV~9lP^J8jzSx*rjExK7D-S)7sB1~z`2L)d73b28voln6*rM6ev~&+xT%V6=YKoF zrlL6Yk&B?hPFrz_wt1Di78+_rp$$lVxYAu3#fs7%CHnclYMCoxmHQrwmbl9OGD_h7 zN_Xc6m}`_9D1kz&+cvx>>3g|?qE*;D!52}Gnc#9qG&6YyI)4}qcmNKE26c_ z-4{@D!}#Cyb+{y&v)o;KF3#sDCsBg9I2gDX7YZo%P@Kz`yZ=P-y|mn&g_tnT`7a{I z2)_d;+LGn&YD3itehE8Htko*JCLNq(*KVuK{-_S+~b zrLt$iehB4J`vt^bM7fUg3(6&wYbYw7%iNYbUr)fD45R|(@W1RlE`p*Gmq3mlD7;}j zb}wY!@ZKo>P?R6%`vX`N&PHj1 z(wy)TkW*30pp+&2OElsR%22E`zSe4>-t#WuFRm73EQTQ}{RM@hII;TB3ABQSn^n zw*7iM_sJ1{~LE5TIv=Bn-pL5K`cUj@gWrR z@Azz)yB$gw6gNr-lujrr@oC5rlslY#p3lQ4m$^&*XPLV^N=1~?C}tED*9merl=Uc^ zQM@SYP^O|hgVG0OQZD}Y{}n*|*M7Rp{SnGRG~`{B?I;IO)}U-dnUBIyrlGuul7sRL zNl`{I8MQQD!TqBKCci=?IScL;y~g`yf5erlz==XgA?KpBNX`E}TSLwSgz zxEgw{r|6LXZ9TCJPXKYF{VAT>&qW0h^eO?v8^GU}^d8pM1Nh%Y*bbruQIatQK{T!* z{2VCTQG7@i)XNw6JB(sPUS2Ar_)z!=h0r+OaO-=^-EB~u@8P;)1OyGG3jh0^eH|yUi%SLN1KIm*Vf6D3AJao=5lx^;fw+LP>3ahovZ=LoSZL zKh1^k8H!2}h8#iRj#d=KRRSJ(iunKkay2DhG_E{4kQ+oY-Xc{|w{5H3Jy5QqwA_v- zu=x9H6lI?b`Dqj{$_s>Zzkw*vqHx<_6z;3y{(zi>e2<~jN6~q%rds5H1FtX|aA2AH z0ZP(A-29*@ZhsRWrl7P#IftUS%45XSx=uUrxCxh{hu7nh5jnOY-U{Czi2qhR>ppl9 zpW3_);bRn)=kiz08uA%pzYX~zN@1QHB_1UKMOC0i z%7R8UKyjdS=6}P7kCF>A@0jtcWmQBA9}V>5;pPV@UVMJB8HHJ@;DWh&6R8eLRtp6Ci#AB^N-#G2~|uEs6Tv1F^)A5~#qDOnuTpysfd1 zI#TPYg(bW7O9$6igj;pYs4&#Y?+T`!di%zxLNF$ z&1R14$5<0vMMGEQiI|wbkuCix7i53B$_Zy}8n;%YBo9QZM9Hflp{kU;1LA0?h-zEJ z#0hUfr}CP%lWla_(wN6#%M=YPvYnfRd3Z95*leb_F>GuzwD1d_%_drCxCYtNj`^Rk zrPt)%PMfL)ky;vvD~8kr307mS4z_f|6OeDzW0vN&O7Y0Iy@RbSuekzS*2I<+H=XTi zj>-nW$tx?%od7uylWq=3IEHKkvD#@Pz5wyXkn13pZ0Zw-X$mw_L=BKvWaa~uj+It1 zI(g;utO&Qq zf`nqo5s*kH>hm?oC)Jp>Gg^Kd^1XV@+R9d`xJT5?Cv-Wsg&u5T3tNBDwe9O!5Dry8 zMx+0)i7bvVV^`7L+?tRB-DtI~KzvS0dV}C7(ct@5$&>^@ zB2y{(0wgy)jiTRyjMFKph&{(OgOUy)fti$y2hqHgECO-7K*@HVXEr4tfcQJiq3C;{ z&^$``Gu7Y%O3HDvND;MHVL3b6+uFvJXBmxbmE(hj+0OR1N^!;5=k2jCHAakgiCFN4 zevrc*nDrj^E|1loT=RJV-x8IOugaG|{4wMJ$iV9IMD-11Z$lO+mR**4r`nU_k(r;Z zWZjvC%joMe&cq&{l5MVA~gIGG|k3sP<0D(@0;DW}Z;S+zdmClVa zb(OUj#JP;NCL0H4R~66O-(v z*z~FPBJr55X`R)CS1w|S&iJ_m=CWs{rttIQC+kzRIChE2y|-$=m{m}wB<~RY<3>G> zSH%)_`5*^lI&m1pwUu`38i;=zC8UK(6f_P)d3=kKc_^kk;=)^B%rw-fGT$iIz z&3uItI7W8FAb}Y2 z5=bb9>;cjC(LA4mcw@*FkYEgXkO>ruBDF`y0lv9dUwIQGjP)`uKAL|fJgBzT09p&*|3DVYXh{D6{WJn9%F zTR|cpQE~*ta-5R0HGn)PDY^;b|4b3pXEgWw?rKUa$2-$m*B*K|Esu7y+J=}zqz+EG zv40F8*3%lRSR<=!?vMeU>$kFM!3?$43=t$t3-*s8lZI=-p)sUYJuO%xmekjR^fI3v;Z633oEA;!i~4Z z${9KUa_}#eiYI>t#Pc^Lt3X`$DcKF;$30E{Iph-%XIz|4)Px&vYpiH*TN|~oEyLKf z-Z&9|#n$zzQ!8%Ent&0R+bisnH5zj3KQ+ zEHR`Hh$Dtf2kBKuY&p3vL3Sn6oJTk*O3C*ip%RoN;(E+knvyCY;dDw`gM_M3G92Vg zHFZwGb(I#+iXO9-Oa?DfpPx`#erqemnjf+yrz`_o*_gA8OW4|+eQn8xonYnb$xDu7 zkb|w|y>T#}ZSAY(yd3U5i}OvR`UaeB#DM+4HaKkNA}+VS4&%&CWT;REC z%PDaE2E~KMzEq2%XAJ^wecJ-5bFp^828Dc zj_DZ@t&vHJ8T@mbciE%346Zyc~<-f;m05{Nb%So;*jHA{7blPe(F zY)bwFSqYe*$B>BSV(iJv4zZ=TsVU^-*rwDo&XFl(Q#!!M5tE`Hh+lMoFTeAwyE7}z zRJMYG>QeA45Jwxf0~MKu<7uR$jp{S9Y1cVh*2tBbyBUi1y_`5XhWk0WNXdts zT&3hJC)X+Y5ybZjZT#;bj!l%rXCUe{jVjfIBV1s~{Q|O<$;nwtY@B?fh&l)&Ygo=O z41u5D8)rVIa$rA~Cx%(<&td3nTLc?-=$-8Wh2ICoqZATXKn*%&Hwr_`UvtCZb0tdn z-dL{_W+6%-XybW{;%Jl?@K!Mlkh-?J0>{di|4ejOGv0iuM37C~- z4762b#qgFtI$OhSs~oqKb#bF_yAU1RBm36$5ESD+l?u_?Np60Vl8Ydow-r&<1^2L% zZd=U3~z5LIUkQm4H`r8^n8r68@mx5>#YJm!7@& zwO}wxcvKPiI6qWAoR~qpA1k7ohKlu(_!Ia3ne49-wnl}t_;~hf2U}VBxOfNaI}&42 z74iP#^8A|BrS)i3sX5N7e7uIn@bE-Qw1(rVh6%-(^JSZfT^(u5e58&;?D0{kqct)Z z&*?+a7mAh;Pv&z0G|eZZ4nk?kAv85GAgl?Cn4u7N~;qT~UH>jov3%4kgtsRS&>ujXVy2^TRg6bWWfeiJ z7Mi*i$mW=+79jp))kL*QvFOk-tcJK^DVo*>lE&T~Z?mx*qiu!bEs4zUuwhZ%WX1`$ zO4aJ1|MEHSuyGTHk1g=AUoX@VwCKw?7fMKPR6I|t?E(qMkS{^B4B2q$^8myfL#k9m z!(&KikYEg%3}URL@`%nQB6HBf?oPmEfs3{DU}tR2MtE?rt%b9zlHSTspm?H@yp?xB zyfLIkbzIKGkiH;+7%~sUSy{D!=XnFf6+^xU@n=$>)Gl~T6O2JkL7Y{nlN%%)Ll%Sh zt12Hgm##`|%0$&$e%mZQ>9dM!z)IDIMdyw;?qn_gfBI)Xa=NO;v&ZeY(*KDoDQdB( zD}8S@S*1J*e&>zQiJZHVH4#-;HH#;246-GMZb6+vw#E<_NceFY^+GO?zaB+9K&%ZY z`5a`VP=2DCr5}%BEySEzDB@uQ$k34NtuZPM+q9LezV?eYSBQmm;cts94`zYT(9eiG1H8IK`HkDDuhE zpctQ~zp<`Q>rYMF`^m#$7TSeRb)BP_aT+?cgWaF)G!w4zOW=B)yPhlHniF+>?K!x%oetNt_+RSn z0uAs;*HT-eLsoaRd+3y*nOUi9!V&~uorbuoDUY^hnv6>=7#B%nWoP4ggZo(ox{@Ca z^hVqE__IjwpNqCRXTsHAppN1;fp!QO&Ue zqa293)>{MD3-Dss7+jMddvtsbMqS^28m^`1!?o88xZWt>8jQMrwG^)JU=-PD?s~6) z>nBmy9~Z*45+C*27?;$21%@OPb-l$qeFpQ-8p1!-Q^56H)b%_c=zi!CJCO_5t_57f zQP+oa;F`|IxHTWKGx%TpwWzg}7uJgye0Fa+5-l#!lStI{u@~T4bq-vg#u1jfvcRa{ ziMp1_h3ou9aLwla<1vTvT8=tO=gx-pAll8o=WBLpfyO6CU1!XNYe&8W+I#W8j>r~o zj9Ncf0c&HP$ngRa%`A|}6m{Lh*TFb+k-f)V2NyVoEz-40!2>Le=i&M;A`eyDKvoM~ zNG(#}NT@E8{KHXtBaPi$f}`}%Y}D>75NM4ybQK@E@A($?K4vO)WPwr6mahM>gP2$| zzWsFOE24RUv2aAIs5~8B*ZEkyh4D;1Q((^9M_rf9g6nC1lzxQqPn}l4)%mZj(O65q z;q1oBOMS0EhxKg{Zt0<-F3r50dTEd|;-En3AJ3{^aVL!NC~fYw+GtRipJHIE-y zJ9)P(*v3-*1zhJ#*MC?m_tMxJzN4?_f!hl-$M>&+x6@es0tA-Fk(c^hfxtD<#@Tp3 z2ChcqZu3LAe1S#gkGhWL`&S6ZDH{*})N=*a)%K|C7knmt7#Oyi&twRlj}JtxQ~3$^ zW*!Ww{8YM_PtQSV{fD)j!2aSDFNbSts6bDGGVULy^+JJZ?Z+NsvrN606g`UdcTqoy zHmw{#!Q1&F>&MU9`wI+5DC*j1HC(4Jg=-Er>eMR*T+d0@f0))gY3%F@%+5l7X|lXP zpTf~P3h^D=#rNbL{FE`Wz?#1nb^UlbTyrp#Y@Uy|yud1pL|v2kuKNw2^L_m6;wmta zccQKv`3A9t@7xJ|zOG=w$7`e2_C1R?ZwjhoFTk4mM}az%qprUlwc}<#;uMqGxWHstqxJ3Ln_PgOS(jo}q;4s&AhM&b2l(1KiEAh}5NEVh zYXMhB)b$A8%lhz3fh*X2Q|lJ!aQmq1-~1GLmR|}a^Ci%yfU7g=`YgY0YR)&ui~LIN zW`QNpPrClY@n~d=c<>Fr2b3%j=la*UBJ6p79FO4_Uv~=(V@|YbBlwm3U4C3m!op82 zU!WJBsB0~Lk~8ofW-Z_63Ktm0X;If|&%^Z?zZ{PsYbi&5){&#fjliA33^ri{Tx!3B zMEw#TU7p_2%;(1))E0(2s7mbcOSY_1#7ocd63e+ojn> zWZ-6grxL&AF&3ZDs1n=vLUu_uU>z!7UE-;Z+*8I zgE!{}I?;7Ks-K3J*kY?+liy)i5p;OkE%=_~zRU6YR;;f-n)cSUY}|1D0@sckFn47m z*^edbEj`CuYD=Ah=Qpv@+haSL;YUY_mmYqVbTlRci_edaxj~mx z(%WK;s}_l_kdaezrj8$r=KuxHDlu6rG4m!{6?X2c>=J1<;;XkN-oQK?@Zp45Ix&Gb zOgGt5ShbC|vW0BHB(aJTJ@{nSAYYo`t%^5_@Jdw^3N&l`|7uo=Ew(BoPQM4WkvP4H z>Hpru_~ZoMu8cyqoq7X%i3V=mmR&Kvw%#^pfwtZLUu{d-inis)skV_gy={&EkGAzv zZM&nl?VxDetnVI#_pOC|L^PiSfA$;)wBSUKfwQTF|JG zAmMh*GBYc^<_gHp80%pWErwhMxvhVT!1y@w*Ju9U?CFMPkO%7T>GXyiX(Qj$$zRYJ zyZIjbx-G}>6ztkqw)S;=1icG#cr1Gla?)MM=o9NUFe{B+{KS@Ayt`HPi9dcG%i_L# zEY0vfpkoZHxf9`!;e|D83+6Fqr5my#JEfe2S5bJw`J2CKEKuKGgdN;zI~TWy<*(=4zv~7`LIggpgd}nRxEVSEpFz!EW!5+L9v4Q7Z{SP6PS<`@RT;e;o(Kr@Y zF{_;64e9z>z;-sy$X?xxc{~Z^ZCpq`GyM~aqp2K!`GmA;eT-EMadOg_`uIS!7;*?C z*o6B01!7&o-+tmBeeplW1{m4e>RkX_0ilu2I@?N^>cHS!LtR^g+|a*(Gy!rE`HpwW zddL^DV_wKgIt*s1AIJ7O@x>_q+LqxeNU%P$yn%CC%#h-~?+sf{Qd&bf0(pb*HfLl; zb^?Fw+y>CmlsWd>(o>#=EXIJ%NU)b-&70vIdhRxx51U~-w>4%vx%>-ctuYHhPAYE` zBfyTdwpTFluTxoj*<3T4L55`SHZI(&d$%g5$I@d7Qo3^{v(sA{X{}%eo&GzxnTT|>OpXJC+T+nMJB z^kFOHIr?$(2IMIFLpHW$!6A4h*xJ{YV7LI#s|E|^WK~Rr7}0ax zg*;u)m4r7)+;_CRh}OZM_z$T@nlPa!*KvU32bda@rOTl8dqK)#?SE0m2& z^kgL&f1P+)q#T0c0yp76Le&Z4lZm1{Q3%R@1N>uT+-@)gZ_x^@_(qHsO@aw~^-{r|S6@LcZ`wzO`Ui^nBYP-`4XT zfE?2EeFV9@p6?9g1id4dIaf;;@)^Ce4fDirAF7{HZFW3|0_nRI$wQckjsym zpWyPNCF^_KmRV{ZJ@>u|*E?4EU6B7k#v7R8%fF9Q=Qx22rypSV&ttn!V0QWI&K^Ir z&cqkEip|L`%6>m#`zmfD`_HGi==c?m4!p6su~k-uq-xD|1#g=t^@HNnEzNvV(ef`E zJ^=A&(F==fAXoO&k7tXvz$s`1u6T;rE0|hHg`^k7t>@S16v)N_CqL)d;pBWJ@#D01W!r>JVDc8nSf(JH+MTkUcN5 zi;&|Nw_*=Mwo1j`0*j7P96O3HgyE`6`vUkF%R6PO7=N=B8*>U*gN0kOrKfBU;yz?c zPGePOw#J3vYBU22v1S7(;nk{Jh}Rq-f#{`h!H%~4!nP>sMLow~DOnYYuZ!m3T^Yho z-L^-W8*L0c-*>g#|6@iA2X!O$Eeg70uj zQm{edj^@Fa*ay19lc%0_*_M`9H`y>jWEZy*#g|3%@BZ+lmaXIi@sqfjEB+XICL7A(RCekUti}m|L5IAn+rS;9ob)+lw25r1`@g}q+K(+c zkNHjO2x}fT<0tJEl4|P;Uu#Ltp#=IF_y|`p^_B{m=TRV992XO&`t~5s zmdtw@Z5u9R1F=2};%kkERM_Xstda^b?*s|4ZcVc)CY^!kA8lZ9$+#g7HqA;lUy+2k z-vWt@pgs>JAwGpWBhNB@G%8Akm>&mmEs;a{gpg^6ogfy>(9q{`<`^jz68sE^XW8mu zS?Q)lLZq>4L43Z}Bb|rj;^vH6hdB#vs9E z%-0;v>Lz4r9Ri}Qk{$L4nOdiVSUVZmuj6r2%aaPJcq2$aA58OGQX%G#K#WV}Sew6* z3Nio00~YF2kgJ|u=p=i1$ zWO^vZcZYS1TqdoAOvfY_B#4L8d=VWLGPOPcakOVm@7vPL)#<@ynz=8CvmFRKS|4B8 z8Gpr=Y<^lXOc=O1y{ z3>GqN-%JqyA~`%|HcN$6`~ir@j*qujH2=WGg)}z44`zUG1sK|lOsSCAmLSf>s_QP< z^-)o%x;`HyfTNygG3}NL$?`c!Xg>2@L-Qj-rcEf)7wdL`9$ZH%B)9{J#mDaP;9)|h z!B2yDeR}XRsgU5!AkGym=O+yM5h2syvml}6Y(1>z--Jx9Dg7{ED+;jra%)zbmg-oq4gM^o{u0O-NU&z$@F^FZUv|bc4wMIZ9 z3#B!+KbNVs0f=$2wDuD+wN3-^&6n0SLZ;R?K!OXT^^B0IH3H&X&JOW5KQ@5N)S3Ze zZNnnm+DgcD5xYP%-8x6e)VdkO-&)3A7c#ZheiAb!tr?SqOs#K#_?GaN@NHx!JJr#a zW;zjtYL#99i9Ep`+(7dx4dgOSG91J@k~wd|I$Oxpx*jAvT3X)|GPQmU;v2#IzaZ8y zh|APk7sN4ISj|rgnObLqgooj@H4oeG%TggLECAvgDb1$iQX%GVL9D}N&3_7+<}NZA zxkpNCRUuPr6ObTo&G>lC5;C>E58~3td)7YXe zTmy9AgfEnZY}T!;(q*Ddt&^^tv}Y%H{gZ@DbL4@9TCV;Td&ZkWq{cHKLEiE9I9cA1 z3hCKH5D%`Ug}Ka7p%8OT5Z7>nIG36oQX%H3mVh)Orjgpf7L3a4u78D-hps7T}rt2$@>lAox_xxf&BPMaa~e3lh<-%Y;m= zYq|d@nR%Cxsr4|3aR{6LU(|a_$kh5hh-Vlx{(+PBT_ICzQ8#9y8z+3KkI8T2R*ph7 z*9}3mF0AHlRMA<;G|3Qv#*}r48H5IaYsDLm|%2k<&hvb_Id zTl_2vRUHWB`ZGqz zw8b+(d`>xOD}_w0TS2Tn*+L#06f(7b3F03sV}BGfwcZACwPAno*t8rjQ)@kt&;YSv zW_W~5tvf*cgE`?-l_Qpe`GY7_UHb~e*~`Fgoy8?)iP1tKnR~qYtk4^vy5XN#AcKcGPPC$v3BN!x4yHuN;D0MLe=^e zAmL8z0#EX(kZFfnDm01$J2~#QZCWuP+PT!{8g9;xetEG>C>iKJ#Q& zdKoE`*k&N1zT#H3QV${1*kK@!CpqCuXh%Hrp21`I8BwZ6UHJ66cl`Wi^EKl467&#w!aTB~}{>?g6VJeU`UR7lr* zgIEW%8$5WDkZJHjkjNkdd!Q z5i+gg4G{kT(R@?VBra2H9}sW1RaQLtm?cDN+y)XFCyf6QA~oIw@%0o&^JFekV+)Y* z*i|nh?Fb=K<2(>!FA;fGh}4)d1)t^NH&FO{4-Fx^b-5ShoJ!0Y_vkw~_!3H-Jx6@B zb;Hj($HU(5cjk$=-;H~QjV)xam^1~UzCrS_x9MdlF7crcAHIKiK5tF1=On$ShvC5w ze?Fh|vy9|Vk;EhSO9}P^aU0l6iKwFFR7^oQNqkDt)ea?iDTz$vU=Uvn@q&cH)Mq1z zC+btMVG|AZMM>|&iPuxFq`gA%pP|Tl`0{Y%WuzsUo)#6cPDyy2-2w{gU=z490t(Wz zyym<&DQs^NT0fGFPDbk&!RFs72dL&YD6T#9!umrH-xAu^??J*&@o`>h4f^nao(*I2!8)N+fB)F9>nwucmU8R4@Gz?LUH50_Y ziTbwyvFQE-AX_(6>r@cOK1%XHjNN4ZU64I7*5e?)z105)kUM(*xM$JY7;6O(M+y4l zF3mvZ>*F&BvM0tm10)=v`CsBh=CAc8WMfSJQy>8!9si#}JP)yK_~)cWo)ZdLp4CD8 zF!K**%^jpd%p*X&e9`gfxl$o!KS%&(5gn8YF`oyqY{QdX9(_kD#B6*X(+e|?ZdOMs z#M}lXxP|t85GSuvG8M$XPp@HxR7i@QAR(AV`%XxOm@k7w_Uh4b(}hCJWkD<|I$J8l z+#SSUB3bm#G+8Rd>;nmvSY5=PZr&$EI_sZ!l z?)q}FjL!Q+kYLQ(UH~$!wtRD73uJ3H3l+nwm`5Owt1J0M$XW~bz>4=H??aBrpMW!z zn~4`xnle{$_&0()N6*s>vO~`^0rDrcnd5uBbp~;NHj8lgZIIv5-9Lcr*ZFsleR{PI zA-8V9yhiv}%tcpp|0a+Z3xEB`E+6^KuulnW)_vi`w=n&~)TC+9v5Q6ZbK}g%V(~_1Es2l0--Q9&moOxK2L(G9JBsZ!sgM`lQc5)_*rTMSBNS{&Qh5prb|aw} zmOzPYWu8=f#YBkyP0U#e-T4n>>t-P*{Q?=giwrI{3v;ZL$Dv>!krpQuY#TD|L@16D zEQkghR`U=kCmn{2ok2!ifP#%cD)*sa4`6X==x_NKkZa58G(H`rAh&=_D zq^Vq4ru(ntPMg`dG@L_Muu-LPir5RJ8Rh5Tu1}$OOVeA$t00!<^rTUEHk#R+`ji6+ z#P~QsLilC&fBUSwdl~y8Lr*wqMs~=A)=z@$EiL8ckS)zwO>psPc*3R>)^Z3wz7M$Y z{^ns=J-vlz(kaNOn175}!SFYfP!Vo88y8@CW;=Pcrr=3ed?;PNEUqs~%|UhZn7=HV z!Pigfrs!)lMcCD{_WiiaURTbZiH|Z0z9(FnbuEuYS`j%Sb1{gO?G^aj!U^nRdHep{ z`$g2p_M<0E9>RZAsP6FL=(PG%8)4ovbmwRT;`>q&{1{mM1`W_ho16gr3JoXqaRf9} zgy$NJD95KNij!wRv?}jY|tk7Asy6*CKpKs&C>`$*)BizZN+K zI~pnMhFeeqHnzSZhVO64u7*-hn#5C(o7^9D24W{U0bOB2Bf#RyA>utz^6m_Wa z5lNYkL~qdZXk`#@3~2@ui8*A4g9O|0oE2+8496JvgBTrj7q|%GYA>3QTXX?xjj?8d zgeuc%a)JbR(hTE4!ZF__Si^l{>U|Hy7t^^fKwL3h`6Us^A+F)dvh^MCw)i7+cB3lh ztnflPeqzotpSZJOoxI&lFBwH7!;|ThJx{sO57sReXf|9KVVBP zwB-+tZTt;87JiR8*er|0p-yHlD zGWsvpMA8pX&~>svrqsX!d6RXii3O6d7`0^S-z=yGCH#h_#iM0~P&BO`NDx1M#&=}? zV^;E)7`63s;Ygnj@Ug6*OKB*`!O=9&BoN1P<&(dQsNd}nm9ba+_;s-@Ol-2_YGIR| zi?C1@`=*v%y@pnN7m#cb-&mT<7l2Lx%0_WmMZO+&4$!iKjj4?zhHpo~O>8M-Fz@V>L~eS3OhdB_LZ#;>x<@E?x85_gLIUdLY1P@lUj{>SZndtG}@ z@%F;bJINEbVMo)m%`E$I`~GT)#ng_@J37P1|4;u6=aJ*|8?Kk3M8?rI{~L(YK}q?g zSa9w0e|5fQCjd{3%Ty3c4A}sZD&M^_d+#a zg}59Be`&c>)!YrmWuY6v#~{8t>NLd1?gB{UNqG-;8*(7Vnv#bMQIfyl)YmZc8sbtS z9Zr66`A}ATVI=XBKQMD_V*=iQY{3&)$l*5#045=uUJg&d zaBYyCjjM?#*`Vx#F*mXiqbx4oaYwxV|?Hg&e`V zg845kJ_k};zE7N+2iaGNT3_d}bt&QZi1H7Ah{FHy`#$+c5q>WhOZbgvEa5kkvE)u} z0mN_FVx9OsUM%4^X0e3d$;A?W0~Sm8{aP%^oYDAE#Ba=EosMHXoVDn9Tm?BJZ&yt5 zE3n97UJ|u{oRf!IZcE7CdNg)8h}BBT91tUZ$R~e(Hi3j=X5f7gttR!k1QMuD3ICnj zP<=`&*8p-=qv#2cU?wFlkWcjcv+0oc+gZezoo;vq^0X{A{($<1(E%R%1iRR@;3K(l z&9Iw)2D`H|d(ezu=0J{QNV&)=zQUwj3v!??m&-C&b9-{3b2uq>kHZ$jk0V1@n4PuQ z(&qMbafum@USj@^OH88&W;xb;2QCxGJSS|ah83XRdMv#K>OBP6YL#*rvaza^3$5lO zD&^{swVG1y3^`C;${xs}`chs4*;P%-??4V_3RzyoH+A3y+l8gI#8LMhjJ~7E@)sAA z7iTv%;-$ z4P53WF&r!|0Uu{Lv+-pMKQ_$bJ%Qzz@Kj&0y#2Pcq;Y`gJzIzG{3XqWf{sgNJ$Jv5 zEWQnxbN~vvE58~Tf|8lZT#w-a$ghyk;72vMTx2bFXbV_DU&h!ESuW&xGBFW|zUYJ`+C$X&OD3 zUcn9as~uxbi6uJO7sdbf3R~aFUda%*9{u`+73++3RswSHBO%9UtY?KgW236Kp4G+Q zhL*5-Pe{KWkR8XRJREXZ%JEayv-jYexSreD(aw0N^Dz$-V*Ib`SD(NxWFBcvEV&4G0qS911VR59F(%W0`PRTXU5+x z&Q^DYXGd7^OD{Ve_==2A$nyHpa0-fZv@n>;Y~(V%a_k2Z>CMJ>!$&bp$kciY#L-n+ zjhnbktsOzadhClrrq&}MRz3Efkg2udW(+|;W^|%nkC3T#8%Ve#3%!kwU50FVQhHY0 z!e#2&2PEW_*5yK`*5e?4Jx}7R*kO8d&q}GDp44j^EaCpl+8u5ANXXP$d@IJRtF*d> zOs)GttUaVP9@~?(2eozr@pY5dmxN5M--AS)(weoM%hdWJh}K71F9?}hYrlrs=qs(y z37J|y0P**eR?`kHQ)>>0uO|!lz+>kvLZ;U9AfbWy_cBi46U#EM3x!;3bOmudDT5aZ znFb#PG3vqQ`%)pn4R>Ns?Im-YJyId&Z6KE3(wuQwD#ToN7Y+c6I)xo%^$yw6igy6? zX2e3nG{E`#-OGN+)1_QI0@-3y&h=!5+Pg9R4fElIsdn?DSK%Xj9(BVnN;fz59$EQX%H=KtkX1 z&nx(FmzA%8SKP0lx{(+F5>S<_k_yT4DTqgz6Wmj zN$5KG2*L=fWB9>n>xo??zvi1{!`K$-7I zg_x~D%YkW9S|dihc~g@A5tOaTF0<9 zcoWG{o1>VfTIdJSkVG7{SENFcRK`W9 zfG}4M35A$@foRw;x!JT(D#Uyk#Pc)ryoGW6UC6vQs^K+HAsyCE?nvw?Bc(#juYd$@ zsqQ}^7wGvYR9R9_Ynlbet2mmvN`+*Z4PwOTWQ;-!-;)Y4-v;qtmMyIN1(#_Hhl99q zPU0;zZ;%QJJ_{1S8Ew!LIKii$5ehMP0deB=D_ZuVREYT<5G&6Ayk+J;r9#YgzQm~t z6LTsD=HXHy=9M6RWj-MlV*Z;4U}8jcy|Y3g=3yXy-CS;sREYUFi1SyB1k0zj)m zZOP>xDi)nT>sRplDaI>fq+(Go24a2m;Qc8I)im1AVX5G1_q);P?i8tz7VQFwV6cSw zx>Sg{($_eUu#{$vLG);;5cBJtU>> z!iJ?nvXnlL$1!!~gRqW}@70m=OvvG;`M<(o*azSjpumq@l^>_Svv_6;|CjH}=2;Wj zYvXXQah%P43ildUdFUW{hEJ+_K`Q)S!!Q~Oz8NuiJPx%JLZ(|u)o-zohsrq97^#q^ zzXqZWm%)WEa+wB?1aS_=7h&-VwP}x3Nbr9_B7@ioUUQT0xJ-j*f;dpKScpfYLW2JW zvErvXxY^V+EEHm%27-U^l7C+=&kG~P2AR<%3e~*%KzvcRit=Uj zFQZVorG1a-9ma}z@Hk+GkZE0E5bt1NHMhUaWomsL#DiYuoyFJheI9$V>6Rp z1ywiufcV{P=@fKxy^v{=OCYXJ;v`wT(vPUlr4kO7@86G!LX~hAh((5^+=T2Mf)MuW z!t7GwJCYgpYdX_Z#Iqnl?j>5E|L3LA=dU z#MMB#J~xCyg13Vh`Qjs6=}(G9n^EN#48@2TuZ)q3MZGqGI3Jym>rtrsROcoRIXT0X zrV5#k%0UqS4D~eQWP*IJKIN98Dobxp^k*rnA+OY*rF_MC^jV5sJWDZ{B3L#yHgamr zXFjK<+82p`WID{Bp0F+(v&+d(M&>+?Pe$Bq&@q0S3p9|R!@WRj1Z~O@GE9s7|qp$NR6#PT==OByc1Z#G*BvJ!aN|6 zq0G1jv;Cfs>1-$chAnCs-jhaaO?{<8f;WNiJ>*$5>t`X;;K%=qwJ?mio`-d&kg4?( z5T|Y}cALx8+6@HX!VMs^dA5-0g~~pV@PZ_^cO}k$x1>UvRqc0Fyb!mQ(_o$~6=FUF z5<#>uKa>hFxA+5%kuObFFin>VG4BU)jFbZw|0kDeyE}n+N9qH%PAVk$DoAjo9I(gl zaG3^A262s)1NOdjZIOZT&q12h1F)kl}a( z#3zH9V}?B;%@-40^#RO?UWRD%0I87Z1t40cfwjm*^375q=7S)viL7}pj+sA%Oqamp z4>1!J@XaO!n|n%y1Wy9-lrykh>ydkzRET*Sh<^+VBe&_6kZJDv@WgNY?_3Y-WFb@Q z9*{^n>+D6lJ`ge;&(k2zaY?L;7wsw>Clnwx&CNi3mGQI9v(c_zQX%G%Al^~zCUTqB z3z^n@3dEDmoNHk%70>0ExdQP|V7^(fE)_D3{TRgP5ms|zAudyEa}Y~ed=U|?HuaDS zY1U8>m#o;lS;(~FFo>g)f#uCYm;aIq2`-uthkyP|noU)uLd=apA|B?LjU#=kkZHqS z2eC9!N6&ZifIA$8YFIx4alXh3BZ=v*kZF<{i5OK`h1o4+YF!IrQB$&4Dx`fMfM}yw z`b(JZ5(X~Qz7GHi;EYn@51fv+ON9jg3gW^CuS*bIGKtG{t<(jH;N;1Fsm0`w3JLB4 zVw}Zl=OH*x$h6rZ5D$O(od+l2A9065f*XK1r?AKz1V1BWYJH27#ke8shY#DukEmRi zgk&(MVAN)^fpd{zkdSGHmq9|vAbw>gBoz|;5X6brMJq5jC@cu^83q#3Q5Kn-j=9fIwKWQNy%cE+>vZI zD#_?6WLn8G5SLhJyb`Cl#x{Qzg{qF^;+TY|lGu<1sH2rsNFC3Dct$Yie2mc^A=6O^ zgWww;i*Lf3VdOGx!5|R4wfPQW&Fh6st>18eT$0q_6;~@E6jJd75Un|@z5uDW37IbY zZ$La2HW=27UxiGqg-YUZG^r#0Hf#BsJ=GfEB%c4*$ z=~5xVFM=4WvGR*i^Hw3#;2%Q-yDMaxAvFzSuXo&>DHRg@ zIEWFgi&kK6Aqny62og|ZH$W=HJOae=xU7GUkZJwvK|BZ^%YU6^w^T^*+aN)h#gDff zmkKeT0r9J zHUhC0is}$#;0TCUomw+12!#aq1Zh}@g>has%!QoXPChC; z0C`O<$v=ebX)E~`kR6TXkGdwN$7xf<4-WtHTiM?%*B>F?+rrwfu-~m#J59ZHK6>($ zNh5|nRcG}0$>h64rI65@iW`>IxB;)ME8>}AT`2xkc?aG`$n-$y3ld5dci>BfNR2^| zfH0ab36UD_gE;g%aC51OLLsA*3F1^Y=*^@;%-unZljQy81|id>dX4)}((gC3EkYr| zvq5~5dA~VC$kh58h)1{H5;C<~D`7Z>vXiT^n%qLB3t|OGWT<|F z9+C=aR&wPyJm=K!zLP9M6)~xJ<1BLBhIqlaQ(PGKgb_ zxN6R*SDnk$`W#5e#YdQ5-YgdP@8;c6s7|8a@<12vrPkppqh<}Ekk(HEaSmZYT$!7; z3YpH?mmn_vu0E+I>cg@USLwZ_LK3Y9@s5-CRp*6F8(XRt7M*T&3Yl8xgJ>n?FCMKC zGCfu{gShku0ec~POL1#{r%gwrP<8qwNTej|ybiresLf@XFbl+~->y#^Ed${@OPrTp`I-j(yZkm&i4BK_6eyF^L-HQ zZlZilkny-sh}i*Ry^|;(6AY3HF;4|CmSBbXgMeK^ro9S-xCS!^x7M+8nYMc>h`+6T z#PF_=sa30o71>%mV#sJIWNMuOVrj_7h%c4V?9^dg1HTi6YN`AI5;U-r+c9v)`dp^X zs{-OYlgLW!z@<)msgS;nASRit^ERET*lh~*nSdYe>;`4~t6=FWe^O^L1 z|0ES+{v9OvgC1R`p-_mqA&91;+en3&yMs8+>d}*>Ld-spkm~nFsSxunknklv`g5re z^9>M>-f#1LsStCD4O8-+9$iZ+#M~alrK0;wg_uWx7-1H_6!f%Ii1`H&ZyDy?jHR|h z$aKgzfM^%>s*g&A1YZPks;X~Eg_!>a30>BsE7*lX%#A@JD!P+Yh`BF_|BpmAWDB0y zj*$v6PXn>u=ifr(htdMJH-bZHaTKaUX&s2OC_AwQ$MRkw)Be2=Vl2M;RdoKm5UKGN zNaS`RTe1hoSwfajNCQ$qJijKgr(Q+-s!D~J8}NWso{zWhGkLo^HVRey)`NuluuuT) z`$ougzbKK7Q z6WM}o80L?qLdNkc5Z|ptb_C{(>rx@+J0Rg3s*;`JC+W-$nkc9$84cpSk;rCEMkSl2 zLb99#@&A-4pXuC?3Nio915%g^`?0B1Q!dkfRt2#ni`_cIA!KUp4HD@2$Rw?dLe;>} zKs*`DxC2YEbTcl~bAM{mZ3-U+D? z^IZ@N{(T%iS1sFenN~d;#IM?YP%0$&8c4({gCB3lWg0vY#DU@db%Q;;0kO;zhpv$z1xASJshs9N6|#MqoQ-HRc3PRKOL>mZI{ zDv5rkyAy>fiKAPbR$hO)G6}M#KV8`Z*{eTY*#|jCf4UOnKKj#@-yq|;DgM!`e}1}h zeV_hxW&3v4?+rX%d9jRox-#+~pRQ<5^l`s|HF*n9S6b#w~%R)Fo>W3-UW+$39sXbm(DYK=uA^N z27!3g;{zrYGVLcp0s;BHgxSzjD8$?ZB(h64Pmu~SZwCpUll?dUEEQs|(F@TqPsH$K zJS7!k-U;G~s8P5r-^{xfg{lV?d*c8L8`!tVQm&6wNS65^)^oALa9pwIFeLWD+Ee{( zAr+Ej3W#&B-p}1qA?C{GJPlK1CY?0!dmX3kg3() z59{_KZ~m-C_(vPWhi!8ei#GprkjUF?F>1(2@6TmEY-)sZKrB3mSWZuhkApJaibCb~ z5X2_}`Kps{<}L#iRBo$5T$uBX@8BZmlvGG%Nl&6X{3lAd`3b2I^E43WU-(JZL)fBr zN`;uugZR72SI~+M#1Vf+HG8eR_HG%4sy!YMmkdeT1lj+m%${*pDkOX2Aec|bW;8d7 zLX|NGByirq4x^3c{Zb)W{s!^f!av5syI>zI6k;9+VmZL79>#1R6f&KQhakQaY#^)| zjfZfVT0J1vW2%7%#GSi&XB4UiUIvL=GqB@_(ZGr>p^z5z0nxA=#T4X8g_u7EaX!GO z6nuu_h6;t4?I1xM3fyd(Bo$(Q4J7gw^S^_W$Q2>eUApWrELUtNBDjxKNbnMnz;YS< ziI8dV0}wx+NbGqRH8&bA6cRiEB)Cxq?+`K#4ud#;kiq8v$Jv<&%2faVf9}2R+$+k+ z(v0Prd+kda=`JA#EeMUW6)_@Fma#9zoe)Ab67Q5{NcI@nmooO9A&C;hM~jq(k|oRU z`F_358Lz2t|NQ(>&)4Jm-p>2H&-$TdiJbURo#re_8bSIm;gusvtVb~_T3x^`)?4ZZCV&(vUU$GWedB5xOR{^o1`?q z0`bowvv5x>rRfF=P8la_9&ei%Q%Jg{x)e@$N>kZN}R~W=IS7q!(!_tRnE#0RjaNmV#kNn0L$hJW zKwR_H1QcQ~G*oL@NL`TVVikt#@R62o5F~Ju$E*D)2V%UY48t_KO4Znf_BA6d53@-i zu^r}Ic7)e#2V7ly$KS!Wu-~N@ze+kMA7encwqMqV-ER-17VjL340CA z5}7?n%Who`5?gKVIb%8fjW{%W#+{GL(D%8JNu*^VUx9=sCl=z!@SD&qq#H=|Yhy~eq$o~2|D@=PehJUn9S2?B64&gEpyES ziQ`CW{?$X!cmax3KSwW3?W1*f>`ELc6}CnaIA5v@HB4h<~k`rl*+4$7(IzaUh{h zGy%0cL|VG{kHaCb(QKGLYZOBh`Cqc}|EJ<<%ytd|32ioW857geI5d-;1aVEJNyJ`p zywd~9|vL(%?7byjNx;wI6OHJ z_C1r(b!+G{rZGub^bio=``UDbNJ{e@Nc0Q7@XD<84h5p%t{~xG^gN=67|(f*WpQY3 z`JW)Ri&(83$tj!F!gLJ8*-%MK8@fS$M_!IKO?`tjZ!u13Rj>6mN@X1E|TnE|*uG3!mRxNb&KWb*Jx7tZGijOkJ&=fz zcRy*Fw}8ToHcKr#j=YbOmU(-E1ZS(Iy5w1;rF#%0WbCASKGa&4+z=#S?xf)yh@G?y z#8ybfzDCh!Nz0;(PRAx0MYkX=iyi|KGK>C#15xxP5NBB~y5dJ#%c5I@*o>tO0n)PQ zT_9nzXv@bGh@u|>31;xn>Ooo-tw5Yk9$NcIOZNsy$QT~EGqjc!_XY7B;-NKoIFM)VJN&{8Ma!k^4!l6OtAj1{AI%3$!i;vQUoy`#yDz?~VJ^#h0m% zzR$@@ab2~j&EMx-Px@Z1KZVEcPU$k2;0_QT9?rjaKDK;`oTcl5gc9Dk+!-XWK&BZ9 z5=$U6K_ZR$-en41!h8whUnFx~2eB=b#F4)M!#JV(Y>-$2X$9g-sH~4pvsf1NK8P!! zvh5&&gftg*u7v9EU)UUp5>WO+^hZKvJv1q2yex{gY#@jwUi80TElaO24n^_S!-Ytx zyPChTlAd-_mnCA`BI;}XDPeqrB|R+fIC`W zaWv!CAI}HmzSgimLFpeq-D)@gz=GG{t2r%midm1q zc4euSKVh2+EY&)d#&KFL1RezF$+C_v99WVp=7q^55GQQ?7(O&^JS6YD`4qLyH$MHM|!X5|W#~vYjJqN=65hQ5tPsisJ2>U4zA8hK=VH^m1 zK8V-c-BAvNU1B9#ZrV?AAnbu4&SX3pJ{(`MWG&n~AU0#O?X_1?Ancbw0!b=(9`{HV zla{B?-#~)Nn&_jTJ>MhATWvyfxQ+w~q^ZKc;5zCv(z1|mK+gIv14oKj?s^Ab+#&{TsSrCtY`M&-pQPK4j zh&t+m_)Pm%4ut&yh%L#;y^RB5{|4eRY`V7Xt))8}B$meRKGM>?Zxc2ui5|0Zv?DFuk3nL1?f5$v@q_Oi2cpqc zzQ8C;QO=9#&R0px%nLw#1q!NGzvJPwJk0HfkP4T4vq>60{cNCt>c{Oo7PU zOp_bw`m9jaF^L0V?*XyhOsA?HCBhU4yCX=%*eu694ut&^i2rsv*Ii=^1;XwHV#9nFfNlBVxJFw|Xb#2kAVE~}SPWYb;Xss9Y#a6?jw`Y|a3Jhi zAW>}pp$phC-*F)9V%yQTnd(#wQ^ZrG<*YjxB$QzzC(|N%d%+!A z%N>*h62uE0E}@FPq^0`_NZ4ss(TzLdSR9&F6xfMm=*r(Np(}GZ5S!5z#C_B3O1FAQ zFEpMJhh`}e5L+$&kkl>c0*0=(3%l-d6}*fKg?7+x(*O50?X!R6@CW@WtW@DYa83Im zE*dTs;m_`+{E4^Ze4tMMnNu#ga{XynazBLJ4O%5hWe`hPk|#iH38X7X`-GC;)VbElT#NT4 zI#JxsVHVR~DLYhxN^79hVHlQX6T2Z@2gK{L^R{8pQPJ*QXd(rfx`S!-HeX{!gBT#Z!T4NOh?6~N6`s*YN}0q*Rh z{Ln?FLt|61rTRqTQipHkl(23Ebaz#|b>bhPy))IXTBjV+jpvL`Xl}O77*$Dak+A_F z?%2KYHxjqiiSeN)t$RbqvQ$v(sn9lj52#T#ehS{mNiVV)pg?)^HO7VcSKoQSqsU>V zvf3hOQ+fTRn2aKIp=?1F|+gs*hmao*qZ1x^uHqCj!~2 z$*IdAyK#oYN2e~$%}Ty=bZR6w%UbzsY~uQGNG*K~JBAaxkEs|Er@jniQ}5kDpG<(n-&&2t$)6un9g|W2 z(PPSw|6A|>2F329uNCo&mG&m*9?z;-%KXLLt8dpXy#fVn2vCVKdHxxVp)%DR}}X z;ZVZmMTZkelyG@53&gTb_QxuaNOxIK3?%%jBo)8Ku76FE&LF`LBpLE8PQso~BzhZ( zyb0OngIN4B%{CC%JV}m&_~uIT3y4iglKdSSUB#S-(y?3gHI?!;&AzW-Ie5VweFHP| z3|26D+TlA!{y{na`q)}>T5hkDYq+ZGmxgz#*F!E0M^)=&Hr*F{5itg1JRXS{Ls5JQ zZ6S#7qiN|lAa_7|S)PToZB|Wy(~?fo5TP$NSu+seeR=^HMVdkLu+S571$8Dpw}f>V zU|_mBt_%DW+7?tdwbrMDKUXSeLFmok!I{iYKzlc<9-99N?dql`Y5m~$dKaq@w5Y7fy4chsdDsvBX@+rMjl^eQ9IcVOSI_FVUv}0ZgYYw3I zHMLYHZV!zQOpqQ9?ZQhWb;b{%dH0EoO8{+(O1AEX-k-%^-#80B!}t=%E$D@YE_E6g zorcbZju`1%L5B?97ka6o-+|uEX;SAyFH~Kc;=>m^A-9uEK6hFL3uC^sL{S1EYh_5> ziVAne*Y2FT_&!W?fK@wahD+`fRjzxH{(VYsewQuXdJ-|#`RH%9@hmv&-rVC!FQ_5+ z<(9KnID^7_sTucS=l3LyHGH_|U2PEpOTzcnegg?MkOyLkvq=_b6Y+huMgZZ2B(H+_ z;^aRrEjAR%?NQ`?q~r?qUYN%t>^s1q@$J6!|LMZ{+kM&4C^r5vvBGMN4IA}_dar11 zxoR)L^>&vn4S?jurb&KV$t-K(9)_JK*x6T8H`CjhXO`drgA)9R~cfS2a1fD+f z-u*z3XmkF8B&09F{1n6)C;#`>O)G(obKkJ2T8(iVS%2*{Z4e(p+!@dkWCVu{S~BOZX5|M-cZ5{1LhVI%$GCPP=jP zf45#)?P$IS%`bX?9?fvD9J@y4$MLA~7G!(0sqzieJgfySr&h;G1l ziSda^d-#P5Mb2TQUAB%JWA-xDAe!t(b- z`cLRmdh@S&g3bh~l8~kqi05-TlE>r&*%HuZkk|^D=n9B)sw5SDMkmMr^kjab(v|Ru z%IA>A_Rlo6+zDyk{5chsoyMCQZsum>BLg&szqtjQK%DU+^s#b5r%AY{;5d(?GgtOj zJ&<5i`PZXYb(#dCK>P{4e&Bo+6rIrR$-jVnE{~hiAXSWS(C0!s6FzV10dXggo*+Lz z$gdR{2kqrAcenf$+JpM^4(FZzmCpN!BuN*NERQFosR?3VqxzM=+sI-WIB|>s ziLFq#GjLv92ko3nI_+0zj1&6!s#Sk5)HO@JS`H@%=WjGP*mw?sn+$SRnoK=5cZ*(Q_A?9xO27f8s`FO)i2V{Brok{9pD4s@oz<@jRwKK z;5Xg>+z%y*$it(X!j%f_0lC(I1^hQ0PwO| za2qu3AN{B3($>Eadgwi_C6y-&X{*Kb9@V$y2%JkAtFrM8-?SIOgXVlU0)geYyw;lm za_woF?^=EV9ZGOdf_P8J^w%``R+8eEK)y4{zXuNe^|X71+#YEzq|{9@cXb=YXpL%E z5ufeW=cgL0Rhf#|fx}>+A!MY@)a9Q@=dYN5se^Cv=P~_B^V2%`jsw12I9L&LxXx=mZk4E;YoZG`XpR%cMD`T|Xrd;ZF<=h)dXVvv8xfSqn z(~PRQZ7r)|+e#y)C09kOVcRN0J6YGR4b2;%uMI9^(kQOCBH^Fj zKX1gZA9kx+4qR2ggN(kGs(E!3xC`1nK>47n+5a-PO&2%?1(r-GOb0I@jkBFvr}HZ4 zV3Ini^=HujN2k?*OuMSLOjW3X{-3VOJ(ydrpc5#%9y78!yavy~c}n2opdmBb(*<8d z;M|aqAm48?i#hqv(plP@gH|_ZGf23joFo4P39OZ8refD{&?S%@5LW_e0}@*!a}Biv zxf4drOr2;wzlYtiivw|L`V}O^c1G3fq=lOc;_4#X{xpcYJw0bt?21}{Xi@U^-cttSHl=cNrf@AQq*J3vx{06!w5g50Qf3|T|Evx zG*8`jVZdL7?$uC#aJ7{3EzV9&y@?%bq|1T!8lDS3yR9t%HdUwdf5BIvSGiHCnp^`v z%LA)$MtBcwJblhpew?7;!?_dF7Qw>s7pLJvAQNuB8*4etKgD8Tg_Q%(#nzgaDi@~E^ z)Vmd+w?PM9BAs>;8beZ?MsI;&81iW}<2H>z3akwf_&TYJkD%-qpd+107a0W215VF6 zb5-XYOi}Lw`n@VA8$UOFbop|rBYFs*0Z+Fs&;>11BePM^KCPFNF7i7x4>(=W3-}PN zwd5T=;?yrXX?^HW2X$W#bUSEYN7YtqAGGsD)^9_{+N)Wb&xiKBzeiz;UtdO| z*eLq^I9^_t%z-|6r#*upybg;)PU1}N=RnMdOF_J&lofv|UgM8{1#n496aMp71CsQ@Y-nnGWNv3KG?>f2=&C_+-*D@77e+yk2frS^;aa#l1K6 z?$1F-O(vqG=Rg8GWttI8M4GuE5x>z#hdB`T-yqJB+()IWq){Mj4~TyhI_B=jxa@wD z#kY3}NYFp+C9JqOK~nZ)aymM|PrK0WA}!tLL43vzew(y(SAp1!9c=%R1JSx-1+jz2 zbJ0(bmYMs5#QZ8yANyzyY3c3*aiQo;y$J0u4n)yq?m_0osrYg&?B*N@dk9F>?A7@k z2s@$)dX)y|Z4QK8xlpntG@R|s&KwB)eGpf^Zmgc7zURm3x5uG5$}WM}bQ^xep;MtS z1)`K^LEL`j#wTYTZ<3aqzeK0U5lLUk`HlmT*?KQ}b~t^O*3pQx%sdRlr`xY<_;i{p{iv=v}+n^>Fx({596X8=|w0IMK=KP!KP*p;Xv4nL7XF0 z3}t6tAT7(TY(uxdp^5I-SNLTOuf(C*uX90yBUHymxf!KTla_@%P!v1obr99>vuxvK z4Q)*pKOzDkq1TNbif|y>S?GR@kJr_0RN;7vw5(#JCYV0-oaorZfyjIXBx2b1+Qldk zb}x|d0-9bN3rNf9<$DkpMkX!Ba}=jQWcGl#c{<3jvli|)kjMgKk>MQ3Y?KbU! z90>a}kPvKI-}oa3!Y)-3`|edbTbn`$g3$Sz4mWOfG(&rpLPukC9@sac?NN|2Czj*g72V&Dol}4w|pY{|6Qah4z zXTJv$#&KHoJ*;gyz=6nXEdzUz>V?eq#-wHD*Fj<j#n$SF!YJFy2^hBh00+Xp1>&BghBrY2AI;EOHqZy+-Kj#_ z4U(4bJ`mepavgt@mTskT==<$>6&-rU(V7EM@d%L6F19n5a3JiXAf7kPjUUGobehwI z=Ei4(MBg+ffu0<24ghS-s+R%}7P zzQlpB-v{yUVcWio17TkUaqdvxK8V+|i_Ee=P@z?B=|uNz1(V zRKi%{9?9%QTDp5coQpKkgLyK2LMyXCWfPkFvkr)d4q=^a6n|;!wKz1BDGXs3sm9I04eqz4svuPqRmQa3CuF62xO3 zI1U#D!tM*=T$rl%#c;?QiMJsVs3n##L^AEM8ZmbYo&2JxW<`tA6cYdH`t zh=PP((;0Lp9N>@Jl+H1sSw|}n*Q@GV)M0;@w5($%2%guaevXlrn^7VcrL8bGW4N09 zNp1;8lQ=Z17!2auZ!~ls2cn?|KrCC#Qtstf;3egm&@9CT68e;yV(&v*Hf4b(A@yz> z?8_6RrE7f@dn07*%Uljb3%Y{1R;H?nSFx)<(<4&VzXID7b?WjCl1X*W`G1%;h~sc(9%mBh^92G zheLdAsycKHc7G0pJqsj)?W}tp_CXGWeO(i5XFu5X@{ds<>?Rv@9gI0jgMP7UH2^$m|}6W+4F(=V~+A6nX=T zV_O`W$u5CJ(OJ*nn*6fnz{ym;siL zLnX^N5T$$t;zkpcV6LJ&>!d|U2e92SB1=6zWGR?5- zsHu8_=g&CVhs2@TGY3H28`SL=(KFSa)>;-a3M8;n1v}xs!!FX&O>2&Mb3ceWlZ*Qf z{!Y2+_NPo{F>4qF;$2Q<*msdmD5C|+I6$uBDbms%1>!;ny|WHiPM0_kJgx_1@- zAlXS;X0GuJD$Y{AZFtV@dFb|ro&w#G?kLMYRM6jzTYB+l%Pjoqanc&qJQ)v)48^*d zGhX}&Y^D0H3l@bPK;Fo^c+P&vDzk3T0Z z-Qyt98SJLD(ptK;K%BGKeTlSm-vx=yWOp-Z>0ST{P-E?-p4C#CkAs9~D1Ub}sy}Jz zehd<1*RhARbT5NgW*avuD?LYn*ez{9Y(c|*n*(951BuNt?)Ut{fv_KFjXs!Z*iASP z_CSz`VcS3DK-h;tymM$rB)8F0w!0>XWiFYWNlJ4fNaPdl%Qd8>dlDpI?88EBwU%x+ z2rk2E4|gXm-SHY;0nrrNa zYV9cyJ@q_D_!Gl^hXY}60tq5F-Icq@fv`(Ik3N`V*v&Z*_D~SNVcQpRAndO}qK~T^ zuVC<5UeH?pk+YH}ZTSJ!XP`Ys%HgDC${VRF(DIHIcmMLEY z3EqQ8c5%YBui`*7_Zmq1j>^*$hkb*N*fKNecn(C;{UDaUDvG4`$6nN0PDzVEf_=z! zRO+O)bZ3EB3LCBXi33q|_0IScozaT^(9uGiG;<>dBIzBF(A&CfJ^6RxyFnejCN!t! zRUqECQ`MbD_>ESs3k9N-w?LwY@HUv2U@zxD*hfJu5yQUCfw0TJgux6uvnz5x#euN9 zgZNB)0tdog1QIlC`#}zbeG$YNQO;iI=F(lYE+E{-ATD+tKGM?t5F}hAoxlD11qUMY z_aH;t(CACEbVHvQNgWkA5J{f^@vO(X%2#tU9$+opgCPFr@!AE9nqn`bMMy~l>;(=) z(itGJ2`bhHn{!Wht!0A;fcPh|dxo@ho4ta~e}~<5q@|nL0~H&2-y<#EYakKB?cP&s z=^g^{86`jVs@Bq-4-z)q;;(5f-4P(siQK9Sq@~-sSF*)zxLZj}w|Z|J)rLErv~-jE zU}SJ#Ir@>7?sp)e4Ms<2^`$^`bT<&o3$#ijZ4q?9Na~1jAd)`pL%(h-pjQUsDP#_W zeFns`y?{D=23PoX`%xh50EpYL?Z0p!><0a@OSdamKkV@7q~%6j1i>pswd-gyKx^sF z1o5I_x@P-T4n)z-2cmzrsZIxwc|K{G`EQWuRwHw}K@^D0%RnOY^&g<^XGqEuN|C`B znQS&9DNP@UX94A0NK%^LfrRJl#Tyy+dxvN(-8vw#h4feNmq|)9Q?q~)Q;`zeb2Reu~dpRh@=}pynh;}ihJ`Z5OxQUpu_mf_F)c$-N=u^ z4coqs17TNv6UXs2o@zcJEeE`P6b2W&jt@vnx6o*~X3cMMAd0>W61`SH6)lhV(}X+V zH*%9PL`0hDAkJId+rN^QeOTu$q;E}~WE~G};gpW=NXwK}$6}Q2Gy13<2cjB3h}W>~ zD>xAL_aL#o$~Fumugo~D2|3tO*y$>%`WJ9P%weV@Sv)-?`*H@sR3~4@!}B8c-E<@}1IG)qoKTiEPGQkru>Yz|c>AM@TW($f7I#AUemy|1-&9|Ey# zRDlt>mjuQdw|W-UfW z6vPLYUP)7RDh0ys4HCmI4YJp8AnY3;Hv9x2yYVy%ggp+#`7EA!{2s^a3J!#Q3?yvY z1r!Cseh?&p`J8eO;y~EzKw>yOY1?l3kOE;h28r60Z4?fto}^``OaO`Cx{Jy_%z?;U zY&tpum&#Q33mgc028gpTzb)qn((+KP`VqF|9(MbamhKu5TM?Bp8n+}bla_APk5Tb` zn&@i*s<5HtDHZ z*YO4aHNZO4gk~KtgSc8K=Qym#n?_nTbn8sjX$&6bI0eV+;$^+pbSe+!c%aQJt!0kS zK=43V6nC($K!%M>b!TJdYQ>p8BrP+=KnioFykN5BR~Ns8WhAugan7`ow9NEB5R2+E z1~sM3Nw)Md-g1};?Rt(g<&&0~j)N5Enlk4iq4A2B9?+rIoM|U%nW@|-$(AylsRv{e zBhzx|P$SA@|B1BBRBB$b<@a|(@E%1OU`uf0K>3p_X3xB|1zy*u3jK6qnGxPmTtx6 zsHG$4eV(**$7}LDyBkSM_dEy|c2oangtV4!OAwdg=98B05|F?e<(-Fpx0AG-sZN48 zQEwyM9=`(ZUaLl)M@riYt!2teAW_3@NLsq>Ks-NkEdxkPcLKbL9Oijn4`-IS}(|3r$*6HEDgJT}VnN#wi?#q@RO$3_J4}2g1Gr z;n1JT?jSM4olIJ~Ye9TZaLH#$OE-NrTJ;2%T${9Xp9gV2$?h1^(p?PV zTBRbB(W+gfrF$C0izgQ0I&PAdZt*oZC$7Td9~Y6Cwdn9CKrCy>E$i@dAnd^)wsVH9 zI1u(q5Z4ceeUt-X$3TK+?!s#+5O#Txu$j972f}U(;`}pBy*UNfP$M`H_G}Q_6~o@i zfv|tp8NM-w?7izK5cY#0{%7f0I?V&^K~fsBgE$aLr-JxQdjki;{uadjwb72`^%MxZ zB8cmlVYlEw*glZhY%6V~J-~smmw?z>^3C`?(9xi(a|!$LJZbsdRDliX%sK27D{{&n7qXHfiZPHlbDYth$~HzNSSoj)rk)&IR2-qJJAZdOQcB2N!^NTi<<5K5Y+x z?WVD}f8#);FZ>1emub5=5cV@5fmpiwUE$ihHwVHV3xcP7@Puzk<#Xkvrv(9gmpQ%T zOAbW(Z$M(d8+M^DDG+uYkjN#&?!$qwXM(t3XHLfvvYrEBM?h?U81}Cm2s>pndIo=B zIQ$WE*Wf_d9+2okw(UbX5cbC);khdE5%%mM((;%8Z4fLeCHLX5*3#_);xzJ3AuZi7 zh;26K{gbqG%WuIBFx+;er8^eHH;eK*){&O(4xMaaOL|vw5KBdpdC$8&ejV-d~6;eDb1@O&atY` z4D@-q?OMy@r4dND1=rCP+BKe2P9!Z;E(7tsHSKQ{^E*jtR^Nf9jw7=dNog(wiHudj znaH}2v~XmC=Ge-C=%Rb~qW59biRwiTguM_XX4=;{5O(8zX!R|l z@F^S!`xJ-|HWglTKLx@b1`>eXFPNKI970&d51`d$Rg*aw6vIf%`{5@*@aXqQxQ;Rh zwU+zq1xvJG%FG%nP+xBrB2zwETublew78-Vp zw5<9zNZ844^@!HeeGUXqK2lykY3VKmiIgYT@il4b-U11Km!`Vh#z~_5VG2aE9tVj& z%a_Y9Ykks4I*|jBbSa2uwfgcC+%x%!w48Lx9>G3YrHMX6uH$sQ=3Sud! ziSC?E)@g+2+HYL0aC}w|;|}VYe!koR?wm zN?N)bK|EimH;^~8+HtL=`vFL7mw7L$0k6rt6o+Q>nx4S^+Ms^c4OmTD7E%U1>e-_* z7NCk@q@{ZpB)rzFVv)KuA4{zt`_6=B74txBT!=mCq}H;K=RrcNRTx#+caWBDjqlOC z9cph1dSD`H>HYu`**&d5UPfl4Q(8*%BM|pWP4xch%dNAXHlf+N-XH-g!@ifKEF&w5 zPOQr#pc8310;YnvubVZznxt&8oDvV5F`-$*B#`J1Rc8?nkMpEu6%Ef~VEu(ZL@&xM zo3)VxF~D8_!*<;=>v*<+a(Ri&YlnOs#%EI6I@)zS!oyCD@YO$ZulULZbzr%sBlh0$< z<4+h%u%llmEzABLBs7iO%pSjJE!~qK&Iy|6eL0BVjNj~n3C-rO1i|8gNvI;T*sog4 zLi&J2>zkc$UCk+k-~PYHp;^dlzhNssQsH|r7yQ|4XY~;JD=F;4Zmg`ANx8m=p zqO)1W0KBikK~s?ak2xL9kEbzf%!*-<v;in*3=(vw5pQB1RRJu4pX_c^@P?Or81+ z%`5Vk*3umZ;+v}c%ivxkE!}QcQP&i9za}l+hSyM+A~)-E($dYij+wugCc5#%?^VJ5 z7}B%j)NFm}8yM2uxh*G=mZe++aW*pt*2JO~OKrWc=%2a6hW~A*G0VIP5^1g4FUM95 zy{WY<^G^^b*O>M4Ev=<{7$nretnv5z>9q0OZ4;VRL_mW5)D2z5<9D={LwO~Lx36-A z;MT@_xx5MM(3XKL#B$iec{mZLSeBB^u-<@PXXwgFDV9x!ZVf%ACf`^d0-bK$Iu1hL zH25B9yP+>YH!<|1$*A1WED5_(Ljan!y7(A&;#A-;^+8{a{{`xp_2=wSn?iIE!TiofQ~+<+(nSSKeV^88o3gD z9dzqj%KZi26bu=x&q*>;k=#hq4LbOQis-CMpq;D>UWWd&LBiWm3YM~_SdJz#Ya=jw zJ!)#fm!X{vb)JSD@T6`14cY0|$zXvR{D!s9pnqrP#MMxynFC^JN_Xz69f9^FxVN>NK&lnO5T$peWmr2v`)jLB8}Rr4g?M;8nEfQ) z=t&#fY$G;y5_}xD>o#IY{;hRCbyDk5g>}28ZG!v>($$b(C1=O>d03}4)!W(-OLD)* z+Zsa;=M+}&Zo>OczErP#fxpI0)+wjyB^GI0Ng6BHFCvH$x0kz5OSz>_gM>fib8=3@Dr3>}FC2&~5J%AzOXx$xZoz@D-v9|9H?4_Y#(}WE1MyEY?85g` zAnZI4pJCg3avY`84%p!q@Es5TDn0H*K~Fdk(Tat zo&FG2g3G)xRIOo(&roq`!tB_Bg3{mK!LF9fjAA@-kSqqPY1C) zq@vrfo3@jd*ZaSKgpC#F#q8+Knw+veX_>Mch^r2}?~#`7YLJLg&MD~Nqm<>q*>b4xfU%bDDGr3)3nXCL(>M_JMvw?>TDg9j17Y6=vEUvq*;!5sgxwIt zW!U!a90+?XNaz5sTwh6AUi*Cqf+uSAy7tWUOs%Es0`aHm-LJ1`Tl3|3n>aK(XAnpa zUXfblLultevN*noLo>_wAi;IUQqKxm6o^K52XPxq*_S~3jiipt9EhZklt<^4$4z@I z3w?mKa0^wyp<9vHY7QeUx9=>7r4qZIidsu|J&4W7Te*_f(hY!w4EHu^>Aq4K1Jo$_ zYtquKUj-X%xJyY(w?tL!hYH-P(WIsOD~Qu@U#O?l}6 zYv~REv6xHQH*g@j@+L_5d0xui@If4%#^VK!@f?VxdqDzAjiu}rYEmHVVIaQGculzD zD-MKRAnb2IVxRF+_F68j`~Iv&8~&Pf`-vj_V+jtMV|w) zea1`K>p!fu%sd6eV`l!H1Cja3+Q=}E7Nid&DbFwqKwNBoOH!KYkD!Oxbd!|k01(SO zUdsL{Y3UvTanTZa$1Rf5ET4_u`P5j--hu6^7O%PEM-s2 zF`;=R*8~a8(i%l zAliByBy22Y&&WfEA!$P_R)2uCNVy2aQ-)Wv-}9)}^1RX=Bx0T50CEg-?KId9ztT1z(sV!?M_^dmww+*(Wb6A;^AnZXPkv+VO{Ug$HJ2rrL&9cAaKxDoO5`ukq8GDr{h=??;LBdFL zMlWL@%7L(z&VYAD(=zrw90>a_odGs2W3Tcg1;TCvVmqiWh#jLy%0q84i1(nejQuMP zMBb|)u>(49X6dK2lzHobxDJ}fJ}+a>>Jo?Mu|FEbY12!<^b~>5h(=$+?dCW%lbr*x z%}^JQIsY zc?hUIuRA{oS%u{T&2aaHr56%wb@WpAQIJDf?uYEbvgFga!NBqnNIT0`kU?IPp08!X zn)HPreqNKFdKB8i32$qekg$An5MJeOeHz-v>(i%@l#|;r5Eq*nEwq$o7ZBf7`or)d zlG6MYB*5k)Ewz;95D;$(Uc5e&v~<4&@f+?r($YR3%%A2!*zbb4&DHD2I1sj@ z4fc5nUcKIcwCoixh?7^ZXV_Vbyyro}xHzW8>#nvG2)jRsuMjU!-$+`n*SrH_QYfj6Oi~meoZb$JB${EFqY*z>DN@F#9Gicv4oMQoLnd1)Le5`Xk)e)oG$ng#| z7E|hF_7D6*TIOi!njWX)QBlgWNRM54VB#8VleD=#*IP zr>iCSgblfUkCK*| zdV&0EwC_FWXmwryAA?y9xSG`Fj= zokNeGhg00>yqevRiXUuvpfhQiV-GOAR6o6N0XNBX^=o0UNc_mRjsA#0f`yz zMAFjTqKPp+&Ouv@_3x>#p@qi!_im(Rt}j6%hFi9m*3umU;xX30FCi`6Z#6O2zu((i zYw6Yn2^cHfeWaxu1c?}Zc$l>0zvY{|h>Dmdm-nuhueURS@6*$aOqHTDl!ULVp-* zO#K{)nRzxy^f_M8vqftprStX=9EhX^eAsR*YSwmU6%K^`6i76F!{~Xv{=MV_ac0iW zlR(_*YUu_18d*VFHuf+GKEFrqU!yoP&>v~+KRM3?jOcgFy&rCSTcwt|( z1k=-0Ug2Jsv|Kvb7Q{7;-NB@#I~m0H9~0|~-76r`0Iz>9F-&Xex;90AnUMQtZwqE!~44t`FHw&evMHwLtI{QCgqhm9%sNAfc(`IyRG*?s*VP zIpbGWF+T;OJMuI!)^U5GUFGQK?*x)^W?l~BVecD~MB0osD4X@N+2<m@IItv6DEUL zj4t{d+TWj3eoI=Wyaf{OOTAG4EiI)v93;|@%#9?ac@@OjkGrVUSgoa-2jUvQUDScJ zbccb&%+=_7I1pV_d>o21*RprxK-kMc+@^hp17SBCk4YI1@#q@?D*ShDff9&>{{#H6 z`H)Zc+Y|`f4-z%(tOy6fE6V#NApUQS#p~~KAnc_ePOQ_{ zi`O#`aUks9KwNEf-{=;eXWfAjun_XC$DVQBG$sq zdLJ8b#Jp{@oyU@WMx2_J6rF-C*{2F8VJ&ri(y}kRgIM;Mec7HC%sW&ZnuTlw3ExRm z!;KQvH99KG^@z?2nVTA$m^tKAzy)nW|@T);X)eVY|qdvWIjlA8Lx>?ouRcXq%(-? zb6OL>iKH}(&%`lLe-F?j?isGZABScQKY_$n=rXb%pQWWNV+M$4x!KA;@Us64xy2pV zmz+KAJU9eTky8HjtK?ODsVDe`oggQ@sA)F)dEb zO}~F3hROd5sOo9x?dcqdN=h$6F%jiWL;I(amOXRNVvM50BceH>yfTFX8 zE}=jaeHp}Z!ffH0WPY}w?^2VRE&K_@S6Sty=VdtBf2OspWVqYdy9mH#6YA-jTSw|2gWDJ0!A+2Q{BS50%m8~G=xI3g}PrtDOrTt+Jx#|3P zz^ynms~Gk0@Bja9+rK0g0%MyP8;H!8Vv&^S)nhHIrGV}ug zn@GzttE|R|s?P3o($Y;`gN=HK-NB@#dlm#AJ)NLS?z&cM>7E7&^0wGL>$H~cCJ@^r z>MxzQ{(7xtcWngmG*LAQVc0&jL2K#G0twO*GrhkSCacgTOcKR5n$+C#(I7Fr{Y&q5 zdx1?9h~4f7u^IdG5^34M7r#Jp#v=C7(DMwv2s&iwW6-M%o$@74$HwCG>d-@t1?MfH zV}>3Aea_H9=)#8H3SH08w#`^fZs< zp&LU-IDNrx&>y%HR-9WWffY9v!Y_w@#8~`(TysMwZNc^#i@VE1`;CS0{WLdLxvzzG z8>`<_x1#?H{xr1LSpEJ!G*$!ZmGA{mK(9(%>0U5t8`_u1tX07*#_IRx&{1mt-PP|y z!H&xn@9zUFG*+{(gbo|}D0I59vi&l2$A7GBFS#8XV60~E03B|~tK5Uo9%JLTLSK`W zodj?hE8A~De`u_1FS!GwprLX#&i>bW?XCCc^|020@1(`)=C{19dTn~%MqZo#$Sqo% zem$wKQpNMi6>Np%k%qWQExso_j2XR1JZ%O7+fjUF0dE~Gy_5qn+}DCc6Z6|on+$)j z=leCuJ2AXhD_;p5dAX$JPmfnX+(-1WsE<4=Rte}wy@tf8S;{C7&s)khGAF~anY6sQ zeibA-iaxDg)?RBD1)`zdLGajUlaiPkJ|-=junz=pCmIRYdK)^1&n@a|O77NLR#O$k zXH?^;&w;3>C5Y#%R8`~w%nqG65Oz!`~bTyZT<_Uapqf(UZeS z%bwf{;%}uwdvh|1T!D5SGBMR_GYAI z6WW0IALPGLj)x9cQhnaQLnTL{EtOe252jeW#@{h(Lc1$4cSHMG7kpOpx_ZXM_w0*J zJBiQnz6I1PR|VJNp%wq2ob-P_k8!PZUXLRBV19hF-kW+W+>qfdrOHvI-3S9_W zX+J?@m+Hl8C6x1Fyz9mG741?%>VsgHsxGhVH`wmWE-=|uAgvc5_UheaRs~|&Y1Wdq z2O;*TUP)KhdQ}Ji`ttTb<4LS?NA-@q`{nI1o7JoOYuoj}{mb~v+s{M0ma`rVjUVy! zrS2)vu|>@BhF9z^)(48V@p*1N=V-w+VvUh z(a_!ntb@?Og``uzfZolYkp32OKS>o?mR&$Ctdw^==>hd-<-BsqmFrKtl9N>}P+t#M z{m-1Tt|F6OL3wwHT=8Ql{b_!wawF)a{J2;Ckp`UeZr%p}B0i+|zbuca>AJK8vfKU7 za$flt*@|3x*~8r<^FqExjb%fv-=M2jTIfQ7kIYIS&afm+b(*R24Au!GGDVVpAg&K2 z84FTnpDbt9H}|5SvN7qR@hM5=Ro_85j(^Uw;i`GPQs>=90(>4mr*x6CD2Dr1=V_)| zVQRD%IIg>hA9;HiI>VKk}Ad)d#z%Xi|PSnUNmp>ey_fI(!Oa`%Bkz^rA=r>6=gLp1Va!jZBLz3TgISIK6e2aD@ z*|k25*3R=8?RzX}{_skfFgtd6}s(+UG6Oa!RMAe@CrW;~qkyx(Lu-wd5h3 z24`0@PlI{~d=W+dgnxaIIMByR=imH~5m-jcTm0)mf(hgsUHSx><_btOffPH5LI=t; zwLn~hBzXoT{JJE)^MSl?NHh_|GfI+0Ac40f*##0EAjuCPwuGWnzQ=}*kZB$RagUK? z$oEySt$id~fkcsbtN&xq4}BPW{sK}`H#Wwe_h;iwQuY+}<=s6=V?eg{Fn3UdEx>ejo&nhoL^rCL6Mk-`5gvweZ*IO`L_{-rklr@9-&pwU^@~>2M|wjIb#MiDJIDd5Pu0t zZh*M6j49M|cONEWn%AwRqe0CKWeeaO3px6#A*}^Mv`?SU9V+C` zPEWC;OB&?ml`S#?7B^HESC1}5ZL0vets2%yQr?{0;?|3r7E_D!&?8m;r(3EHLKl1q zdb@6;N~(bwd@RCvlauV~@C{sg(8)FL(Y)i8|BN5fFZbx&Wzf*h{Rj0K*t7S`<^}F& z$R3_pP_6g^OA(<16V3j(yY&grO&_a+4L(G<)a}PG8UIMRNOQdt>gFAb>N&V9eoPTM&N&@q$DXNM8`oYciJ~B$hzl2l4ijY371h?lZ@T zu4_d;kh70W6b1<-kOLs@zB0{8U69Wtox4#tS-b;GqKp1Tr@2Q~mi_}aY`9F5@k2h) z>k>VLL>8OO)>M-bGR=!1;gOQ`28raG1P$ubrT5F0h~Ff-K_ihSHd>MiKcwVaTyIM> zO&6U&Hh}mi$Ta&voD(HE2@**lF%aLoGEMT2m?qwn!~v2YeqW->K$f|Z)YIAKG2xpw z9YCT9SiV0#fe8|dBQlF)S0*PN~cx)iHcM2Jf3$w>9`vAL|(a+hF6nR(v_UdeE(IR z<}5gtxUcFUxod;G)a|UvMoHcRiG3l-9FR}~*>&xoB^ST`PqIB9*=%3Rg3g146G+<6 zAe&^G${_B9${KL81v{{?E-(eZrRQ&;=!s-#{WS%JWb0^XQLd@@l{Z z;%!OKi?)0Q+LPeE24YDd<1|?+OPH_8XOipy`OsM5eh#`@p1SSIHEyT;V=z421k-fN zFM7wRU=y4|9@Kgx>9qFH*jWibQ?0`QLtm)EO_6vGwCzjff-bTTn!8_*s3z+0?(7mp zE^0`7K*NCqt;H_rouFpu5*~&QY*1mXUw{s8P^a2MkA%k8KZ(zWwr$kBlnREj)04f$ zl&2Z0+^aKFm+R6WRGF($e!vr+Tm@egLojO;u}|mu3ACXhxRu z7Rt>iSo|U$2HTFGd33Tbn1e7H50g7yR2y36-A<~g)<2V1&N>>dTk$#dA8qU9LEEOV z|E&jG*;0Mo3R}4l$fkHJ>wSm7KT(dj`+mnjSs)LzM?v(TRQYG`f6PQ*KAYDoc}8(n z<2iJ7H{`(5Gmq9Yp#2j`7daX)TldadRm-7&dd76|YSVLQ;vluQHJbPckoz#-d#l$G zLGYkiy*?q00@3$a@BR*73=-LGlK*I8unjsSLPe|l+TtSn7MHAwzK83lKwJDAt8z(~ z%x)WKlo@x=CCyfY+M#uR7*5=~(YGX9&O_kdY1XV;w^x&RTQvCt#G8<&!ew;OE;HAE zwAa@j?QM&c&Yg51rR77TE;R=?jfyPR0ac^>GC+r8!Q+5blj^%Xue9~PKXf&!&+~aV zDu-*BS7*9OMgGL-Px$u)(gv{tl5Vt)Lg0^o;OIZvSF;1!_bFw=r<<^=f1+Gk-$**4 zHg?4LERT9HE~6duvWnZ5@F_Dnew7WUcVAqmlZf<=9ZliSGu2vxaC8~@!?~x)%hM}T+=>Yzlrdrj{ zE}w&eWy5x0FO3GGGbVUm=Z=eNPoO0FL6w+kI>WHjkJruey-!`)-Mm#qb?&iS6s|?bZFl0H*~ntDi)MO1^#}DO(T(d zYix5-azA`>MEkC$`ukz8|B5eiVXx~@q6CufbsN?rh+h1Ak>WfQIV~QZha!Vf!~;o+ z=03OKjkA?*KI+9(5FhJT&Tr!9d5)eTD{&@KT!fArD)4fG-X|)h>;;M5p&Lja7M@Bm zbG~D2E2+>jAZUFL+lJxT?W~=Tv^XJxzH+RSX!8X=%{evSvB&z)K+$FaGSFvG*to-g zMROi+>}}1>R4(K0G$U<6MljMH#Jy8*6SZ>n3Hu;}ZljSKQY zh}sIVKn&}!$G*@JYH8PYknTpRVBzH;u|6lZgB8D5pbinWkdvAvh72FxP3?JgfuqDS zR*Wm8fJgn&Rhl2_*EES!gzhj}bSK zy=EB?NXgq~@+RrQ#~Ju4AzC#)<=*E*6=f2-D~cC8hFKE!yt~*j$6}o}NaR0{@qeKzxkc0TTU=xl|sAmytCf;qRJdc7miaa?}OnVW^Q5G1Br61R^6* zAkkj4>UfYeMy7#ON}`Wj^xHpfTVXvqe=9a||NaHv|7Y&(>knc2X(zU=MtD}EtXo&~ zvG(Q~MRXcpp!P3{@*jqx{vvM;6n%@bC6J`4FAOjI&KM?6KaNF3{zF(CY0kh0aZzfN z_~=oT`W2<>{H22E#S1gh;>}Muc#G?b9WBLUk2$)AIifl%_@-P8(~Tm%EAAoHSj2~q z!NMaRg~(-yh_pu?gM_2oux{d&M==iX5f46&nu7nt0Kp^8G|zVHf;Y|@Y9nnU$Z#bh zER!6aMco?spsXNPZ*<7%u@P0r5&pQN zrDZ!VorL>nY_N66XfXimNs;n6LUExO`2^Y#i>i~*4t0q@FZ4Biuy7YULN~lBqc&{C z?Wj}j>lRX(_F-&r*onS+|MzMAKV=mo*5Ru!D_dj#Byv~}%a@`ZEFQLIv{j+8g}rTI zdBPEIc}!ebhx%_v{ccoCi<*|I2}ov$SWhyVhr*%~^@{iC6ti`pmA;X?7_lj!Np zb&f>qYomqlHM}{z4kp+lo-cv^6zKQ*`)Bpmh=vlZyEMHa$4RgFW>jo9wKLX}H;SV5 z&>1Q=t;fJjju2kF6>Uo3%Ca{QF@r_(r=a?CaU=eSWhIVCk^dijDM10z_l0;070#jx z4{44~E1)-QCA1PG>3!YRFo?32$cH*fP0h+(RFJKNAJz%UY=BIiBzk~&4~d(fmfZ;p zxgi7_0(W-t`uYa1+=B|h(BV~7c}Wy6D-zM^@6A1VFBzzwkD1ThJJgr^kNwHG)-t-lWz8#f@N ze0rty0+(_Dm0CKAI|X9x>@9koPBkdQdNkMTT&8V~hi-60SqtwMCC|a#_X|rIDl7!E zv=!s) zCC%}nBSq*Y^ejT$xQS+%t|AF?e= ztfQOo4jvXNtmTeGY+#Kqhc!H3SjEMi7@ulGC|2y|@oBvg%!D(W9fgn{FMw z=XC1s&5kktA&id!ytf%Df4yCNzZo5#Em}N}xAtyg5NV$K9C~-p^XTU~devzHetAgE zgcto)AA1fye?Xi@p`h?%{+Om0pH{_o5#F3wmHh@2yy@NJXsH>&;3XJN3_zex% zrTd*?O$GWBDPF-_QTZa=a;yTW^%ijvAY^O;rU@}50U;CK7faXcUeW_{#>)uE&&A6x zqm%8fVtw|tcJ(*>dc3LpT5nnE5?rs(&zn_wTqk#w&NkSyE`3+{?Or zvRJXj(X;Jqlk^bYg`wI@q;8At7`C#Fo;^B?)BCUIJnmW3AUO(;D%GW}2C=Ul&SY4pT?USb{Y2^i2WPQe{chi*FfBi><1}1X_h$#l61;UE`lgNGg1D6X8cYC zEwnVv;Vz((GiEdZ#EqYqFoZ^f)ZsTH3^E<05@Iw#=Sq>6?&P>*Ucz!gK zm;dUFr5}DJfr=SRKQhj9+mRal9$%I$LSI8d%Y7B&CFV7Zm$Bk5EOpxY^bBdKKv3T+ zh71_q(GnvB&RJ%PxA7;)G6w5qtb+0T6v(q`a_{px#?l>P{_F6?ZnUZ74}a>T7jL~T z>kZ4jThDl4oG-BXS(A$`ZtP=0V425{wr z7|KDf;}uQlSbbbyi9r|sr#cmi)JjKlmx3Q2&}={xVZowVc}_FQ8!{|Uar+5&4Iq=Z zC^s+qFLSBcdHMKUteND^Up(Lbk4`9(K0tSoKmBzPIZ95MVbKw(&d6DuR~KX=h4V9q z#e`$!qBW68<(_tw|ZL(+nZPwq~Ld` zaQYtMeiJEe#KU?@b73Rl7B!_=cXb!FIB6}uPMoK|%R7k@__Ecz|IwZJMH}qIX_Mup zF=AaVf^QWn6`QLNI@`qADum7tFoCa!|8B$YcvII)?>$*4=x>-h%1k|7Dj;OweWzM7axT!tthyp2z(mHVONW7_Md1wMiik#u7WD1DAx4BCNASYxgy-QGv zz@T}0F#dEFJ>JA#%Z;cAb%iE z7sPf6X}k`rAklUlh7Zj=L5ZEUWt_z=UZ{ov?w1CbC>DH)J)u{2qc*!EHbk_3%h9Xv zx6%q(`LlD=3kq_waR1ye#0GT1+gl5wAbO$a_-H&!PSa!98#8sE+$VjqNQjnu;gjBC z;9fYRLQKLRYxZ6>=?A?v)+$CGj_n~Ds`bTPCvkc&f~Eqs`A`X6_`2S}8)qN0J@aYOGDX*4vz#VRh>Cp}duigweehx{(e}TXRd$x?K{*uHhMToz(94KvEiPll zr*AsCSe@O)JKqfJDU$YLQrh}oN7q*W*{i3I?_~N2J0Zgpk9F@G-UYuffsm+s5ZBFv z-@%%;XN?F~q_ScFgYNA$q7tv=E?zRm$ z3EAlVkR1^qnz9S|zI`8ROR2HvKZ9tq0JUz}f=ypRbi~&X-S|HKbHHxaVtIDS|8O?x z3!I3kg`%v0u9Qg8xX&P3fmjh6NOW0%Xqgm!h{9tvq(nco(N-QH>XD+Yzkz7Pw-9{_ zZnEVEh;Egl|9By~`#40yKZK|!z&@2ybkPBbZXm7eNOVSk)@mvG^l^xu{1l?C4nwqM zfT&lBUZH5(_&^8UAiBlTTVfA4T<&%5UrP@ zr)nYElH6Ex0-{L)Zud#iw?BpGa&%s-`Us+{1GF|s(H1nGilKGG$B^6^(5pr%`4{Dk zBJ^FXAW>U@(k3bTD|w)V0{>_|M8^g+6`$eukGusn5dD~9a4hwzI6yR16aAM=G(xOA zgThUppqw?J;o-811D`<3ei~IQu7l{-0MQ63I__hLUZy@SL{Qjv2K3P`MZcsxkPq_; z8^!LH0MUL@R8T4`qm4ng!qN(1v~Z2JO49a8i+8omERk3Xc{St;5-4pX0>LWBBhFjB8DlXVWQ`oL}L@izsXB8enyNIfUOqKaq`Jr#ya%>be?mqPE}})uf`@I602^gX(a&kje2qQ}JLSJY0WHdx zqK{M7NJK^z4d|ck<^a(mDf&ANubt?-2&RFsJV4YfMORXSNrn-{WZ1>l7|_;YDSClo zb^@7oE;Zn(0IelbbjVSN?#CbyS832J3=l1oqIZ4-(a)#>krc@UCa`;`hdCIujF4wUYcl4hMkCs#g-8eqW^!n z6!8RQ(IYe=O$dr>Z>`kYNfY4cOPBx;ZHmPmLdx>zHpPauD9kJ>#7eMQc07dUmc3NG z7DBdV0d;$&XguY>Hi#wRqu9GAz?`*G^w0Mo`ZEpX(TH=~u>h@gQuIL*b(7`2Bw89^ z`Fc&1dQ`FsJ$i=**{xXG*jfds^=Y!UKrh8a2>bU~3hp|II}^KU*7nPiUN2cHkt}sH zCJx))0LL}R=3b;gnL(qfn&uccURfKB7M9YY<5gOB4WpDZ77I0NlPqkZgkO$TmZ-v6 z+rEJID=~VKm`_O}k|xKSD9@(BL)K93EVZ~jS)wPji%Oif^$E~~Z@Qp#^Dm(`Lv#*` z>m>$3w=E^0T!d^v2uWp7hT2Y|9|wrqrRZTAXyM;M^ad;vYzYBA>?cK!(+chnnn<^j z=%4`6Xeru}mJ(|z-ul2_ws`>!aA=}rk2<=A?N|xf3X-i2@StB7i@i)*?0Lv^J<(!Y zq|pNZ9c;7!&r#r30iDLjmabip$B2^eaDAj+TSSVHp4evM%6E?8W>LSUTUAY6g?%HQ z&UFTqYfcaO*k6e45fod|oL=+{Nx%=RHWQ=1iR~b+#>Te7j?Kukj_bR8go~aDhs_Va zd=27^38MW{jEl357TDt3cvf%LZ7nX~e9>n0k@a*(gmArxXTl~l;F739Y`X#jEdLn> z*wWx=kJ~0M{OpJYKYS5{##z>9RESUrIP14+^M zzk=J(fq$>_JJ-izru-dzGq_m&8y-@r5TBHQ)-S;zi~JGNt;B*q)N1n{1+RSod?WF$ zIzM|3+SihT2vlux>e>&J_Wbpb-$1;dDo@QUY>sArd<6w;KjFkovGTH7!M8s;dTnTp zZaoDo$}gy``SNFIj|v72hb1ggV*M{#XN#Iai{p8yUq>e{>ssFa4FznWDA4KxcuUo4 zRPALdkbe=XAEOf!^#X4+p+IsIcxWT|YMqPCXn$}kC|W~&w{HFg4Uo_M1@gh9toV}J z&UmUeg>1PB6wM*0z?zS)itUBno(u4qj=Ee*P!{(nHvXVmm2;v3aUsjt~B(bump{l{ z>#Lxi9{LmYji&l0%M-)M4g0Af^*C$6y(@oD+rzwY?ih5y+MpTcUur8C&si`j-T_nL zVHGO-FG3aK#=jlCo*9dZcasc~6)ns#NmbCM%=d7$xS2?Fdr@bNi@`+lT}x;!L^crB zIAQr)jA|Aa3x2UVc&nBOvSG+n_^1(a(lqfR`VmUuT}3Ab$rDE};KVu_(KjKMF>3{ydm6FZDe7BZ!p=W+>|c~S z#9frNZopJxu^Gz$MRJ6=o5s;rlDxr?q%O|;0X=b3#_of}g$;gWbHkLr^Eg|I=}T15 z*%i_N=O2ZQf2IW56IQ?t0n9Q+v74Gu>@hN^ht6ipVl#ijiAd^LcbvthpKj^%)QlO( zIij3SbeAWF{f-lRDYJEjAMkaTtbJpjMl)JcA}FJ?$-EiU$V)HMQn?xz@@;Lz@%U3?A&uWdlK1Fw8v!T>WOVwZLHAF?o~|piegv(`A1tMC`u`QKJF{Pm z*$)dyQ6ICSJs@-#PXB-i>&6+70f;3EC*6FxO3e*sJ-=C9!Ac@)QL~_6B}F=&Dv1O+ z!(?s&Sb=*Id~Wkh<|^@^VnHOYz~MCc{K;L8zQX#%Cav{z*lPr*j~! zq>LIEQ!?=NOS+!a)J5~?S&ZtTW-A5<2P-F-Tf2au|7J7B0-a$!8wcXV-EpId_k%Pt z)enGp?Pi$@5Dy;HGfI6;GPu2FkSidC-E@i?oIl_2V`#!FI0 zGHiIi(hT8TlB2uNZ=&q0(nM6*K@{8P|273p^?4BA7;|NRQ)Mh+#y3Y4-eQ)S3sNcv z0ckD8HQGgpootpQ4#q8HPAmaUXZpHZdVy4-Z=$SY zT%>Cx-i0%*6G7_a=%JbyfOwgV8^p6&x4Y`C3`JQkhZB`5gG>@D^$JJ>%j#YikkZ@S z%|;L#n=S{3K?aB6z_B1{Y^W51oR`Ujq@M*jfr8qcMr0e6N;cQ^ei(APhuQ0U2n}E) z3?B?Ra?l*By+9&aUt>XvWjw3)K$0kBG7mteA0A{eV)cnuNCHu483M-dz~>>fkIi5^ zKzyv#S3v5RVVk!`H`eLypuS!Qa)Mc?F9=nn*&|hbjyOYcC9;4XNrDn~^EX=dnu>i<=;E)`8Gr^z}IqzA|~6WSH@ffHW`% zT>#k*F=Hr(V4uQ6Zgt_3MN3_sfErn`fgn{ZbtQvrXQLw*B>a$ha8`oUFg+iDWH`(n z`yYtbF-!tl^%sFIv0|a^K$!14f_PKRif#a@XMP<65-y!cmD~s7yvtmw5Cq>YP4;m4 ztA7;8!?NB7AQ4P;J;>HUW<{4ls$`>8-zSYP2xq?U&>q!)V7AcpAoczwgG=lEP@r0= zh*~`!#D@>}81bG=sn% z{(dZpWc|2Em9Zdd(*X|ZWDcu7AmK93@z{4kQP#q|V%DIMkXbE%BE_E)544Z?f95EG;@v$|`*C6hJCK;E~9N#YQF(W00h|GGL>KrA3sU8m*WwNeF zmBEA?!B(P0kg+o>K0=xyX9TrtGmwp4&b&>kYt3dnM8&Y*U=%wJ(!gxi0OFKaD&#U- zXY`fD#}E)KmreQf4i}J}&F)zsMQr{20Em}W_83SoBilge&{8#pUM?B2Q@p{dEc+v%QzD7sX+~g_q@x!Tl98iN^gUkq-CAH{Ts${e1 z`3*8n2X#GEs#TX@Wi6|I5C|Q{my8!r&s%O`1maf*of~<b9bB2eW0HGrk|Fl6>22v*{Xgc>Yh+8hhiM$WuW%;Jrb($W-WnDoUuoiI{ zmBj+7-=YW={t*mfk22e19*CPYu^7b1_E+nO_`h^l)6)b(hf#gY?zjjbo6&5k33UgG z#5<#}{XnASB^W8l1=-5N>Jboyh1G{3X{`6hLDZY@vaa7i64k-!vZH#{XULK#*wvkK zJwoO&a~|vj63nU}Kr$>m<3Z>!`g#{5{`goLr3I|MTATx+)og9J2*fT!hE%QwsgR*Z zWD`?O{3?1JR)wjrOjvI#G&Q`uvs2kaU|KSS_NU5yHJdjJI zJPCvjtuD3xOdv1o$74*0#9siR(1dn>z`hCMl-q==Uoi{RuoyZ8nG)8Z3m_RrqpALu zJ@KBU&)y*WxC7qR87_Q2Z@lGK&vcMaj?p6gG>c$^bC-#EE?_yp}j4?qq7QJ>UKl}ThBiPp+;Fu zH7u5D+ofT(>c`JMFISY*#HUcIfn~;*Kx$=!)KbtBC8udBb;ny&nc)whk3r}#M({r% zRjjhEQCMX$zYdQQ(f#9Wt{Rs2r$Np+)SN-xAOo0f%R#(ycUSFh(rhJ}O=urLCZ8=7 zTK2~N6l*~jkhQ(p95f~2rS->MHR z&aN{CyMXBMhYrPi1}13c&5@9~#FnL5AYOI_wHm~;!JO7Nl4iCEunnYyS@K{X7mD%3 zN{S9@*+84Z&VhKDxm)$cwKDTk1jusc|5%WEcCTy^$a$vug}zuRRx(AqAr#53A3p|B zSQ`5S#4SUMtk)Np2g!Q!C7_G}DPn1T7KjaJjJ*0Fh|9_M@)0kEEE=AH5FN(2*$!f7 znWY}2k@db2B#m`U>5nZT(*-T=Ac1&XG9yqW@j$_BE=&iBko`!-K4<2<#fn4TSi<+W z(FK$e&0_pPlqy2IwZ5u30?WBVme>Sj&KyLhBrj{8{tAc=qp#nA92spM>6bzJ`9B$? zm1=zh`a01p(+8xHU2WV763Q$z6~qVooBWXr#H)V*q>_c+vmnLHjGusbFozl4I0X_h z!rY*%B!ioF#)WbF8!@G0aH=Z>tsf~s{bUf~ek+W>|Dq+FqbW*QfRdiR;3_5 z=KJj+SEW0si#4Q&$QZoQs;>tsVv&Clq*(flve^=ZXDw?`$N)G9pA8v|i{7qyoy?3J z4bsFaP5{Yeu2}#Q#hU8^sbRze;$*Aw{UAqJU0+eLG&WG14TRZQ2Alxml#>@(Vh%{1 zbZBap_6;%(tdlDsQ_m*Bbs)9OSQP`2%C@qx^EQMsSR0Rk*kol?{cj-qm`wXY*G6G) zkO~jhV>KO!PK{%H$Q7rn*o`VX8ldjCa2|_xuEsCRd_r zse~LQ;wH1xEkj^wxp+`zmLL=1k!Vwb>Ik81)}ZS_$VP^RVn9wD)T`H;n5#@+O4P5A^DxP5A_5E&d`P{Ho7_D9rf5 zH^FA?p^?5sqS>Cs93W?u*&YQTTV-FVvUMO1Iha#Z)rl}2-y~?d&-^xI$Y#dma2%wR zjhAyE#UX4avJ9m{W>dEZNt2sObS@U8ibeh?5Ib8;%?5GSn5%yXq=;?fzCfiC*&VK0 zLJ8*He+^P62NijGTv9^L8QFVk(4UZTvRl+Q#vr+|lsFDVVRLmlh=-QLbj_yCL@xrJ zk^RuZsz}LTzTX9zB4)-K5cec=qc4KcVFYYY?6ssLi25^^w8O7ek8e;_BghD%i6D*C zM%lzPkPOy)H;9Mr&%6zi$Z}=SuxqRDU=V%JA{uCGw%KRnKw_AuXM&_KvKSJD#W%x3X zDrpb8ilLiMWqOVw|KrPUA(W;gmDGUH;h&bYjpFRptcgbEox{MM-hm$t!jlapvA!S?rFB>ltx9&Uo(9{XkWW2RYhPG{#|hlZ)4( za%QBn+d%p;O>cpeuu=3ehya1s!1nBm#sEQ_Q+B#U5ogx)DN^(vBoP z8KhheYrjE?Y;4aW4KitL%W4xy8C%mO)i;88*-D|y2t1C# zdNv58gpoTz^4TK$DG)cC2)-PF+_7jATuyC}-n~g^HxDI43TPF<#vCAfE7MiP6 zF$<+YW&+DR^Fdrqtonz6%4IU5%3cDgL<@}kunQzx4t=e%EM+yT>>y<5Fy@$JAU0`f zDm4XHO`-VGsnl5Z6rvw3{|ZzSB4V9 zCi43sRL?Tb8jwilznvf_WE}V#oz=t|{Q+d6Szqfx+$rXv`_o8-q0?(NT07^p8_+#K zqR>O=^3R(?K+@!JqUv$0GPjE5sS%K=m*K3*%u*6qtW1K8i!VJ3fUe5Ere>xkDPb~WAmdqKo_6mANo0v*9!P}DPt=kJTtF!^%wFFI z;*|TKYGBU7EkEY;tB|oX)ol_`D#5HL7Q`!`WTndP0tsi63aD>W%# zfz^*Cg^`d^*t1ZRL6ThTp7A^&r_7sF{X-x%toLQ4h&@nv!5IPJ`p8~PVp-AV#5#HP?WQsiFB6<$cRpy~WkQwaK|0xjVZnLSY zK+@Qi?r$Jo=CbfRaB0Cb_X63fK5i;6qDK&7*D-g4L`Rt`%LGwa?;j=^7O)#ZBA63j z0ZC-xSwnilRk!LF(IRwI*f>!020lrp98Yp zKc@UQ{#`&7Oi?LF70YqEL40g#36gHUQPD`s$sK$6J!Jw8vU3KLWdDnxgh)rwFf}LS!K@z zl-dU3l-)q~bm4J@@k^uFc)b9jYBrg6x(m5MrW8uLQ}ASB4BN1XgG?IhMixk&vEDceS8{ZIjjCPkO;O&ISLZPLhlEVG?th9=#;yaUqlNBc$9v2{#&(d&< z$=H!*X}AZ7ms#j05bdxlIrv(C`Xxr!?SMYE?wt)%&Ahf0#3qM>+LJ6i;4Aw^O4mRp zl=*QdNH|+ceFYK)S>qb)2NzH@Gi1mV^h8EzYASs^RZ+IGWzrDH&|x^_c989+QuGBh z^X7-LYlXsqQjbi5XY1J2?W+)S-fFi0FCb^6XQ^6CGExzvPBw7$T`9;-6~KlTK0n~sb-ZC`2-}9J)8Oy$X2PDWJ0Gx53}NRAZ{0XSa%>$ zC0oai0inY%?7bktEUZ?6oRLkWZj3|k-E0yrhm4P{3SI-rj>pQ**#7?j$lXIH^i%}4 zc$7vqd;J0#g(Zw;(-1LoLjvpig*o#Ivuatuc81IhmMzDFl=oyS+X5gv^Yp_Yt=JXt z>mWzjj9*7GY~=p{;!V`MLDuVVH!e+?I|hN&z(S@EK#d0Sve26blE8d6ALNpBkZS6r z@v{?*u)@bg)#1u)wg#nASW0~sB#G8U6#v>XdM6MahNnLSak4GhMi2*6^cTo^X)`T^ z$ETl>A*?lVsS?AYp=$~Tuxc~ZuT>uljiY}-x8L@-+SncuKWg4sq>Z^%T+?YdMg#VLvG^EEM$DQ0WL zaUlG@>~xS?zs-{Uw}-G$IKl>1A%rRpYSz&#R1Bi9ndu`Ck6mvxId8^2m<6Ilo5^wA zZHw@_PR0tIee53LoQ!)TM_IR?f!sdnLXz7CLWhyg#$hh4VC_2qnR+>KXa>tsDwyW) zAX9CuBBAkD5RVHFlN(NLaW7T2Hp7U!2#{ztbMzt^=^bj?ERY15bBL@2@v=*IFO|YU z=F?303CM^L#GH}3&jM9LP9tgn&%)y#EOlFFAnsV$hl3QcXuSa>lvS1hQp2KkDoC1< zbJWU`@Q|0x4D_u1?D@I5B`kR@N3k+inE;7m?x+XJm))RVUjm`Suxs=CK=2H(Dd!9Y zDg`p!aR*4Q+-V~Pvp|kA)ozeh()T1&4zgVKl{z+UN`_)*`wg!^rjjCB%Q;%ej4wDU zlNTvE3?cmTfvG{?fLyB4y{Or2eC8#YVW`xfka4r^)t)mE)NJ^~fvi>cnr_m=;Z7hg z^Yl`X^USc1gE(#y?y1;?6nLG@EU^tFn2nviAaodG2bT^xigYoZI}Dj9Hf4Md;ys{u zl4P2tB1y0Sk8}Zfr6ovcI!Gali~`np78#vpVGO!hvB5w-c}+%(r6sdrG&%LD zUW6G}%ih!UxNvs%!h9)1jhzZTUbdim1|*I3{xy(>8vk6arP2?n81v#ukgd}9r1~e2 zY`LPr2Xq%MoHt(yWq!5HM*d|B!;T=H4D%E*5F~9dTdPe03YXU#RGEv4-KJ*_wf6|t za@l*5c^5Kvx!+9WZ&JEyB{(sYy^EudT*4JKx+E2>z9>4o>k_^6;zC=t^hgD2J&8zB39YwAP%`>NsaA> zX=g37>y0!K(axCBk9eTqLwfIN1Wdtq97VEu(G8hW)}Zwu9!55UoM%IO7syd2a{#1i zA{!H50nK1-JPUG!jgmh>s@cYgEeB!BwuFX&l(EWg1M$hNN3~-~;|pyxlC&{FmY5GA z_uYDc5P1fqA4@GSf$+6vC8=hC_7O-q>&9`AQWQj+`~#p7q+Yd^J`-zkJIe=!kf1|fN#fR$pJ;BT6iy374-4tdkm)C9X3aix zl|-ibe@qY6@e4>2pHrIOkHN|^W+F%=3)fVTt;{}4K%&{!Qw4~JZEAf6;$WHgTaf&0 z?Ce_Z5=bLk`WAvzFbk~)sh0t)xg$#%A>E-8)Dwv&n&y=CC}xW?_v}>= zI*cLyE=Vy8>CZv(*|o{HASJ9D{pX<@Y=6iB5=u@S1@&6)91G-;TcN4AcfNSmqO1rO zX!9VmocVsmJmE`27(1D{H&ca^%w0K5+LxJA<7tp^Heh}S;oS|J50Ci2-d<~EUl7k4 zvz~a66c@`f3xIqq*mi($)rUZ$fY2Mi0qQ~Oq}xdPI}i`+?j@3uk0NWXU98L)&ZdFC zA=JnkWXGi$KC)}dAUA`oW^r^k2!3DKbmdb3qOjrc7KoQ=K1MR(Y#KNZVijh9^w{dO-yU3gdnKCIu zin2fwnT1>+Ma&+Lf`m$&X_^a_OX@|Ee`$;lxI-wHd1xm{mAsweZ_un5)}UI*&|&oT zI1zSpKDYqBzte2j>p`+LN8jL&;UPfo5A{4pD&wh`oL^H4g2hLfah>;gGvanwMC6>f z1!D7@xR^)IX2;>*&G>f<{*BmkHamVw*q*V4@mDNulQI|Prlv2(N2dz1bFvEe#4nC7 zwd`qF5`U$SEhjHOHT7D7lbhrF1@CG9QvCRKV$vh=9rw7Z;+I;)Cw1{5ds^&{_u^+k IzKZYjfBa|9c>n+a diff --git a/control/config.txt b/control/config.txt index d75b469fd9..67f5508c65 100644 --- a/control/config.txt +++ b/control/config.txt @@ -72,9 +72,8 @@ attackAuto_notWhile_storageAuto 1 attackAuto_notWhile_buyAuto 1 attackAuto_notWhile_sellAuto 1 attackAuto_considerDamagedAggressive 0 -attackBeyondMaxDistance_waitForAgressive 1 attackDistance 1 -attackDistanceAuto 0 +attackDistanceAuto 1 attackMaxDistance 1 attackMaxRouteDistance 50 attackMaxRouteTime 4 @@ -83,8 +82,8 @@ attackMinPortalDistance 4 attackUseWeapon 1 attackNoGiveup 0 attackCanSnipe 0 -attackCheckLOS 0 -attackRouteMaxPathDistance 13 +attackCheckLOS 1 +attackRouteMaxPathDistance 20 attackLooters 0 attackLooters_dist 1 attackChangeTarget 1 @@ -92,6 +91,11 @@ aggressiveAntiKS 0 attackUpdateMonsterPos 1 +attackBeyondMaxDistance_waitForAgressive 1 +attackBeyondMaxDistance_sendAttackWhileWaiting 1 +attackSendAttackWithMove 1 +attackWaitApproachFinish 1 + autoMoveOnDeath 0 autoMoveOnDeath_x autoMoveOnDeath_y @@ -225,12 +229,16 @@ route_removeMissingPortals_NPC 1 route_removeMissingPortals 0 route_tryToGuessMissingPortalByDistance 1 route_reAddMissingPortals 1 +route_randomFactor 0 runFromTarget 0 runFromTarget_inAdvance 0 runFromTarget_dist 5 runFromTarget_minStep 7 runFromTarget_maxPathDistance 13 +runFromTarget_noAttackMethodFallback 0 +runFromTarget_noAttackMethodFallback_attackMaxDist 14 +runFromTarget_noAttackMethodFallback_minStep 8 saveMap saveMap_warpToBuyOrSell 1 @@ -386,22 +394,27 @@ mercenary_attackAuto_notWhile_storageAuto 1 mercenary_attackAuto_notWhile_buyAuto 1 mercenary_attackAuto_notWhile_sellAuto 1 mercenary_attackAuto_considerDamagedAggressive 0 -mercenary_attackBeyondMaxDistance_waitForAgressive 1 mercenary_attackAuto_onlyWhenSafe 0 mercenary_attackAuto_duringRandomWalk 0 mercenary_attackAuto_duringItemsTake 0 mercenary_attackDistance 1 mercenary_attackMaxDistance 1 -mercenary_attackDistanceAuto 0 +mercenary_attackDistanceAuto 1 mercenary_attackMaxRouteTime 4 mercenary_attackCanSnipe 0 mercenary_attackCheckLOS 1 mercenary_attackRouteMaxPathDistance 20 +mercenary_attackUseWeapon 1 mercenary_attackNoGiveup 0 mercenary_attackChangeTarget 1 mercenary_attack_dance_melee 0 mercenary_attack_dance_ranged 0 +mercenary_attackBeyondMaxDistance_waitForAgressive 1 +mercenary_attackBeyondMaxDistance_sendAttackWhileWaiting 1 +mercenary_attackSendAttackWithMove 1 +mercenary_attackWaitApproachFinish 1 + mercenary_lost_teleportToMaster_maxTries 6 mercenary_route_randomWalk_rescueWhenLost 0 @@ -413,13 +426,16 @@ mercenary_runFromTarget_inAdvance 0 mercenary_runFromTarget_dist 5 mercenary_runFromTarget_minStep 7 mercenary_runFromTarget_maxPathDistance 20 +mercenary_runFromTarget_noAttackMethodFallback 0 +mercenary_runFromTarget_noAttackMethodFallback_attackMaxDist 14 +mercenary_runFromTarget_noAttackMethodFallback_minStep 8 mercenary_followDistanceMax 12 mercenary_followDistanceMin 3 mercenary_moveNearWhenIdle 1 -mercenary_moveNearWhenIdle_minDistance 2 -mercenary_moveNearWhenIdle_maxDistance 12 +mercenary_moveNearWhenIdle_minDistance 3 +mercenary_moveNearWhenIdle_maxDistance 8 mercenary_idleWalkType 1 @@ -449,21 +465,26 @@ homunculus_attackAuto_notWhile_storageAuto 1 homunculus_attackAuto_notWhile_buyAuto 1 homunculus_attackAuto_notWhile_sellAuto 1 homunculus_attackAuto_considerDamagedAggressive 0 -homunculus_attackBeyondMaxDistance_waitForAgressive 1 homunculus_attackAuto_onlyWhenSafe 0 homunculus_attackAuto_duringRandomWalk 0 homunculus_attackAuto_duringItemsTake 0 homunculus_attackDistance 1 homunculus_attackMaxDistance 1 -homunculus_attackDistanceAuto 0 +homunculus_attackDistanceAuto 1 homunculus_attackMaxRouteTime 4 homunculus_attackCanSnipe 0 homunculus_attackCheckLOS 1 homunculus_attackRouteMaxPathDistance 20 +homunculus_attackUseWeapon 1 homunculus_attackNoGiveup 0 homunculus_attackChangeTarget 1 homunculus_attack_dance_melee 0 +homunculus_attackBeyondMaxDistance_waitForAgressive 1 +homunculus_attackBeyondMaxDistance_sendAttackWhileWaiting 1 +homunculus_attackSendAttackWithMove 1 +homunculus_attackWaitApproachFinish 1 + homunculus_lost_teleportToMaster_maxTries 6 homunculus_route_randomWalk_rescueWhenLost 0 @@ -474,13 +495,16 @@ homunculus_runFromTarget 0 homunculus_runFromTarget_dist 5 homunculus_runFromTarget_minStep 7 homunculus_runFromTarget_maxPathDistance 20 +homunculus_runFromTarget_noAttackMethodFallback 0 +homunculus_runFromTarget_noAttackMethodFallback_attackMaxDist 14 +homunculus_runFromTarget_noAttackMethodFallback_minStep 8 homunculus_followDistanceMax 12 homunculus_followDistanceMin 3 homunculus_moveNearWhenIdle 1 -homunculus_moveNearWhenIdle_minDistance 2 -homunculus_moveNearWhenIdle_maxDistance 12 +homunculus_moveNearWhenIdle_minDistance 3 +homunculus_moveNearWhenIdle_maxDistance 8 homunculus_idleWalkType 1 diff --git a/control/timeouts.txt b/control/timeouts.txt index 928ca2a1d5..e1f84d131e 100644 --- a/control/timeouts.txt +++ b/control/timeouts.txt @@ -37,6 +37,8 @@ ai_attack 1 ai_homunculus_attack 1 ai_mercenary_attack 1 +ai_attack_after_skill 0.5 + ai_homunculus_dance_attack_melee 0.2 ai_mercenary_dance_attack_melee 0.2 @@ -67,6 +69,11 @@ ai_attack_waitAfterKill 0.3 ai_homunculus_attack_waitAfterKill 0.3 ai_mercenary_attack_waitAfterKill 0.3 +# Every x seconds loop the attack logic routine (send move, attack, skill, avoid, etc) +ai_attack_main 0.1 +ai_homunculus_attack_main 0.1 +ai_mercenary_attack_main 0.1 + ai_attack_unstuck 2.75 ai_attack_unfail 12 diff --git a/plugins/NewAStarAvoid/NewAStarAvoid.pl b/plugins/NewAStarAvoid/NewAStarAvoid.pl new file mode 100644 index 0000000000..8a615c323d --- /dev/null +++ b/plugins/NewAStarAvoid/NewAStarAvoid.pl @@ -0,0 +1,672 @@ +package NewAStarAvoid; + +use strict; +use Globals; +use Settings; +use Misc; +use Plugins; +use Utils; +use Log qw(message debug error warning); +use Data::Dumper; + +Plugins::register('NewAStarAvoid', 'Enables smart pathing using the dynamic aspect of D* Lite pathfinding', \&onUnload); + +use constant { + PLUGIN_NAME => 'NewAStarAvoid', + ENABLE_MOVE => 1, + ENABLE_REMOVE => 1, +}; + +use constant { + ENABLE_AVOID_MONSTERS => 1, + ENABLE_AVOID_PLAYERS => 0, + ENABLE_AVOID_AREASPELLS => 0, + ENABLE_AVOID_PORTALS => 0, +}; + +my $hooks = Plugins::addHooks( + ['PathFindingReset', \&on_PathFindingReset], # Changes args + ['AI_pre/manual', \&on_AI_pre_manual], # Recalls routing + ['packet_mapChange', \&on_packet_mapChange], +); + +my $obstacle_hooks = Plugins::addHooks( + # Mobs + ['add_monster_list', \&on_add_monster_list], + ['monster_disappeared', \&on_monster_disappeared], + ['monster_moved', \&on_monster_moved], + + # Players + ['add_player_list', \&on_add_player_list], + ['player_disappeared', \&on_player_disappeared], + ['player_moved', \&on_player_moved], + + # Spells + ['packet_areaSpell', \&on_add_areaSpell_list], + ['packet_pre/area_spell_disappears', \&on_areaSpell_disappeared], + + # portals + ['add_portal_list', \&on_add_portal_list], + ['portal_disappeared', \&on_portal_disappeared], +); + +my $mobhooks = Plugins::addHooks( + ['checkMonsterAutoAttack', \&on_checkMonsterAutoAttack], +); + +sub onUnload { + Plugins::delHooks($hooks); + Plugins::delHooks($obstacle_hooks); + Plugins::delHooks($mobhooks); +} + +my %mob_nameID_obstacles = ( + 1368 => { # planta carnivora + weight => 2000, + dist => 12, + drop_target_near => 0, + drop_dest_near => 0, + } +); + +my %player_name_obstacles = ( + +); + +my %area_spell_type_obstacles = ( + +); + +my %portals_obstacles = ( + weight => 1000, + dist => 10, +); + +my %obstaclesList; + +my %removed_obstacle_still_in_list; + +my $mustRePath = 0; + +my $weight_limit = 65000; + +my $teleport_soon = 0; +my $teleport_soon_timeout; + +sub on_packet_mapChange { + undef %obstaclesList; + $mustRePath = 0; +} + +sub on_checkMonsterAutoAttack { + my (undef, $args) = @_; + + my $realMonsterPos = calcPosition($args->{monster}); + my $obstacle = is_there_an_obstacle_near_pos($realMonsterPos, 1); + if (defined $obstacle) { + debug "[avoidObstacle 2] Not picking target ".$args->{monster}." because there is an Obstacle outside the screen nearby.\n"; + $args->{return} = 0; + return; + } +} + +# 1 => target +# 2 => dest +sub is_there_an_obstacle_near_pos { + my ($pos, $type) = @_; + foreach my $obstacle_ID (keys %obstaclesList) { + my $obstacle = $obstaclesList{$obstacle_ID}; + + if (($type == 1 && $obstacle->{drop_target_near} == 1) || ($type == 2 && $obstacle->{drop_dest_near} == 1)) { + my $obstacle_last_pos = $obstacle->{pos_to}; + + my $dist = blockDistance($pos, $obstacle_last_pos); + my $min_dist = 13;#TODO config this + next unless ($dist <= $min_dist); + + return 1; + } + } + return undef; +} + +sub on_AI_pre_manual_drop_target_near_Obstacle { + my @obstacles = keys(%obstaclesList); + return unless (@obstacles > 0); + if ( + (AI::action eq "attack" && AI::args->{ID}) + || (AI::action eq "route" && AI::action (1) eq "attack" && AI::args->{attackID}) + || (AI::action eq "move" && AI::action (2) eq "attack" && AI::args->{attackID}) + ) { + my $args = AI::args; + my $ID; + my $ataqArgs; + if (AI::action eq "attack") { + $ID = $args->{ID}; + $ataqArgs = AI::args(0); + } else { + if (AI::action(1) eq "attack") { + $ataqArgs = AI::args(1); + + } elsif (AI::action(2) eq "attack") { + $ataqArgs = AI::args(2); + } + $ID = $args->{attackID}; + } + + my $target = Actor::get($ID); + return unless ($target); + my $target_is_aggressive = is_aggressive($target, undef, 0, 0); + + my $realMonsterPos = calcPosition($target); + + my $obstacle = is_there_an_obstacle_near_pos($realMonsterPos, 1); + + if (defined $obstacle) { + #$char->sendAttackStop; + if ($target_is_aggressive) { + warning "[avoidObstacle 3] Dropping agressive target ".$target." during attack because an Obstacle appeared near it.\n"; + $teleport_soon = 1; + $teleport_soon_timeout->{time} = time; + $teleport_soon_timeout->{timeout} = 0.8; + + } else { + warning "[avoidObstacle 4] Dropping target ".$target." before attack because an Obstacle appeared near it.\n"; + AI::dequeue while (AI::inQueue("attack")); + } + } + } +} + +sub on_AI_pre_manual_teleport_soon { + return unless ($teleport_soon == 1); + return unless (main::timeOut($teleport_soon_timeout)); + $teleport_soon = 0; + useTeleport(1); +} + +sub on_AI_pre_manual_drop_route_dest_near_Obstacle { + my @obstacles = keys(%obstaclesList); + return unless (@obstacles > 0); + + my $arg_i; + if (AI::is("route")) { + $arg_i = 0; + return if (AI::action (1) eq "attack"); + } elsif (AI::action eq "move" && AI::action (1) eq "route") { + $arg_i = 1; + return if (AI::action (2) eq "attack"); + } else { + return; + } + + + my $args = AI::args($arg_i); + my $task = get_task($args); + return unless (defined $task); + + return unless ($task->{isRandomWalk} || ($task->{isToLockMap} && $field->baseName eq $config{'lockMap'})); + + my $obstacle = is_there_an_obstacle_near_pos($task->{dest}{pos}, 2); + if (defined $obstacle) { + warning "[avoidObstacle 5] Dropping current route dest because an Obstacle appeared near it.\n"; + AI::clear("move", "route"); + } +} + +################################################### +######## Main obstacle management +################################################### + +sub add_obstacle { + my ($actor, $obstacle, $type) = @_; + + if (exists $removed_obstacle_still_in_list{$actor->{ID}}) { + warning "[".PLUGIN_NAME."] New obstacle $actor on location ".$actor->{pos_to}{x}." ".$actor->{pos_to}{y}." already exists in removed_obstacle_still_in_list, deleting from it and updating position.\n"; + delete $obstaclesList{$actor->{ID}}; + delete $removed_obstacle_still_in_list{$actor->{ID}}; + } + + warning "[".PLUGIN_NAME."] Adding obstacle $actor on location ".$actor->{pos_to}{x}." ".$actor->{pos_to}{y}.".\n"; + + my $weight_changes = create_changes_array($actor->{pos_to}, $obstacle); + + $obstaclesList{$actor->{ID}}{pos_to} = $actor->{pos_to}; + $obstaclesList{$actor->{ID}}{weight} = $weight_changes; + $obstaclesList{$actor->{ID}}{type} = $type; + $obstaclesList{$actor->{ID}}{name} = $actor->name; + if ($type eq 'monster') { + $obstaclesList{$actor->{ID}}{nameID} = $actor->{nameID}; + } + + define_extras($actor->{ID}, $obstacle); + + $mustRePath = 1; +} + +sub define_extras { + my ($ID, $obstacle) = @_; + + if (exists $obstacle->{drop_target_near} && defined $obstacle->{drop_target_near} && $obstacle->{drop_target_near} == 1) { + $obstaclesList{$ID}{drop_target_near} = 1; + } else { + $obstaclesList{$ID}{drop_target_near} = 0; + } + + if (exists $obstacle->{drop_dest_near} && defined $obstacle->{drop_dest_near} && $obstacle->{drop_dest_near} == 1) { + $obstaclesList{$ID}{drop_dest_near} = 1; + } else { + $obstaclesList{$ID}{drop_dest_near} = 0; + } +} + +sub move_obstacle { + my ($actor, $obstacle, $type) = @_; + + return unless (ENABLE_MOVE); + + warning "[".PLUGIN_NAME."] Moving obstacle $actor (from ".$actor->{pos}{x}." ".$actor->{pos}{y}." to ".$actor->{pos_to}{x}." ".$actor->{pos_to}{y}.").\n"; + + my $weight_changes = create_changes_array($actor->{pos_to}, $obstacle); + + $obstaclesList{$actor->{ID}}{pos_to} = $actor->{pos_to}; + $obstaclesList{$actor->{ID}}{weight} = $weight_changes; + + $mustRePath = 1; +} + +sub remove_obstacle { + my ($actor, $type, $reason) = @_; + + return unless (ENABLE_REMOVE); + + if (($type eq 'monster' || $type eq 'player') && $reason eq 'outofsight') { + $removed_obstacle_still_in_list{$actor->{ID}} = 1; + warning "[".PLUGIN_NAME."] Putting obstacle $actor from ".$actor->{pos_to}{x}." ".$actor->{pos_to}{y}." in to the removed_obstacle_still_in_list.\n"; + + } else { + warning "[".PLUGIN_NAME."] Removing obstacle $actor from ".$actor->{pos_to}{x}." ".$actor->{pos_to}{y}.".\n"; + delete $obstaclesList{$actor->{ID}}; + $mustRePath = 1; + } +} + +################################################### +######## Tecnical subs +################################################### + +sub on_AI_pre_manual { + on_AI_pre_manual_drop_target_near_Obstacle(); + on_AI_pre_manual_teleport_soon(); + on_AI_pre_manual_drop_route_dest_near_Obstacle(); + on_AI_pre_manual_removed_obstacle_still_in_list(); + on_AI_pre_manual_repath(); +} + +sub on_AI_pre_manual_removed_obstacle_still_in_list { + my @obstacles = keys(%removed_obstacle_still_in_list); + return unless (@obstacles > 0); + + #warning "[".PLUGIN_NAME."] removed_obstacle_still_in_list: ".(scalar @obstacles)."\n"; + + OBSTACLE: foreach my $obstacle_ID (@obstacles) { + my $obstacle = $obstaclesList{$obstacle_ID}; + + my $realMyPos = calcPosition($char); + + my $dist = blockDistance($realMyPos, $obstacle->{pos_to}); + my $sight = ($config{clientSight}-2); # 2 cell leeway? + + next OBSTACLE unless ($dist < $sight); + + my $target; + #LIST: foreach my $list ($playersList, $monstersList, $npcsList, $petsList, $portalsList, $slavesList, $elementalsList) { + + if ($obstacle->{type} eq 'monster') { + my $actor = $monstersList->getByID($obstacle_ID); + if ($actor) { + $target = $actor; + } + } elsif ($obstacle->{type} eq 'player') { + my $actor = $playersList->getByID($obstacle_ID); + if ($actor) { + $target = $actor; + } + } + + # Should never happen + if ($target) { + warning "[REMOVING TEST] wwwwttttffffff 1.\n"; + } else { + warning "[removed_obstacle_still_in_list] Removing obstacle ".$obstacle->{name}." (".$obstacle->{type}.") from ".$obstacle->{pos_to}{x}." ".$obstacle->{pos_to}{y}." we at ($realMyPos->{x} $realMyPos->{y}) dist:$dist, sight:$sight.\n"; + delete $obstaclesList{$obstacle_ID}; + delete $removed_obstacle_still_in_list{$obstacle_ID}; + $mustRePath = 1; + } + } +} + +sub on_AI_pre_manual_repath { + return unless ($mustRePath); + + my $arg_i; + my $arg_i2; + + if (AI::is("route")) { + $arg_i = 0; + if (AI::action (1) eq "attack") { + if (AI::action (2) eq "route") { + $arg_i2 = 2; + } elsif (AI::action (3) eq "route") { + $arg_i2 = 3; + } + } + } elsif (AI::is("move") && AI::action (1) eq "route") { + $arg_i = 1; + if (AI::action (2) eq "attack") { + if (AI::action (3) eq "route") { + $arg_i2 = 3; + } elsif (AI::action (4) eq "route") { + $arg_i2 = 4; + } + } + } else { + return; + } + + $mustRePath = 0; + + my $args = AI::args($arg_i); + my $task = get_task($args); + if (defined $task) { + if (scalar @{$task->{solution}} == 0) { + Log::warning "[test1] Route already reseted.\n"; + } else { + Log::warning "[test2] Reseting route.\n"; + $task->resetRoute; + } + } + + return unless (defined $arg_i2); + + my $args2 = AI::args($arg_i2); + my $task2 = get_task($args2); + if (defined $task2) { + if (scalar @{$task2->{solution}} == 0) { + Log::warning "[test3] Route second already reseted.\n"; + } else { + Log::warning "[test4] Reseting second route.\n"; + $task2->resetRoute; + } + } +} + +sub get_task { + my ($args) = @_; + if (UNIVERSAL::isa($args, 'Task::Route')) { + return $args; + } elsif (UNIVERSAL::isa($args, 'Task::MapRoute') && $args->getSubtask && UNIVERSAL::isa($args->getSubtask, 'Task::Route')) { + return $args->getSubtask; + } else { + return undef; + } +} + +sub on_PathFindingReset { + my (undef, $hookargs) = @_; + + return unless (exists $hookargs->{args}{getRoute} && $hookargs->{args}{getRoute} == 1); + + my @obstacles = keys(%obstaclesList); + + #warning "[".PLUGIN_NAME."] on_PathFindingReset before check, there are ".@obstacles." obstacles.\n"; + + return unless (@obstacles > 0); + + my $args = $hookargs->{args}; + + #Log::warning "[test] on_PathFindingReset: Using grided info for ".@obstacles." obstacles.\n"; + + $args->{customWeights} = 1; + $args->{secondWeightMap} = get_final_grid(); + + $args->{avoidWalls} = 1 unless (defined $args->{avoidWalls}); + $args->{weight_map} = \($args->{field}->{weightMap}) unless (defined $args->{weight_map}); + + $args->{randomFactor} = 0 unless (defined $args->{randomFactor}); + $args->{useManhattan} = 0 unless (defined $args->{useManhattan}); + + $args->{timeout} = 1500 unless ($args->{timeout}); + $args->{width} = $args->{field}{width} unless ($args->{width}); + $args->{height} = $args->{field}{height} unless ($args->{height}); + $args->{min_x} = 0 unless (defined $args->{min_x}); + $args->{max_x} = ($args->{width}-1) unless (defined $args->{max_x}); + $args->{min_y} = 0 unless (defined $args->{min_y}); + $args->{max_y} = ($args->{height}-1) unless (defined $args->{max_y}); + + $hookargs->{return} = 0; +} + +sub getOffset { + my ($x, $width, $y) = @_; + return (($y * $width) + $x); +} + +sub get_final_grid { + my $changes = sum_all_changes(); + return $changes; +} + +sub get_weight_for_block { + my ($ratio, $dist) = @_; + if ($dist == 0) { + $dist = 1; + } + my $weight = int($ratio/($dist*$dist)); + if ($weight >= $weight_limit) { + $weight = $weight_limit; + } + return $weight; +} + +sub create_changes_array { + my ($obstacle_pos, $obstacle) = @_; + + my %obstacle = %{$obstacle}; + + my $max_distance = $obstacle{dist}; + my $ratio = $obstacle{weight}; + + my @changes_array; + + my ($min_x, $min_y, $max_x, $max_y) = Utils::getSquareEdgesFromCoord($field, $obstacle_pos, $max_distance); + + my @y_range = ($min_y..$max_y); + my @x_range = ($min_x..$max_x); + + foreach my $y (@y_range) { + foreach my $x (@x_range) { + next unless ($field->isWalkable($x, $y)); + my $pos = { + x => $x, + y => $y + }; + + my $distance = adjustedBlockDistance($pos, $obstacle_pos); + my $delta_weight = get_weight_for_block($ratio, $distance); + #warning "[".PLUGIN_NAME."] $x $y ($distance) -> $delta_weight.\n"; + push(@changes_array, { + x => $x, + y => $y, + weight => $delta_weight + }); + } + } + + @changes_array = sort { $b->{weight} <=> $a->{weight} } @changes_array; + + return \@changes_array; +} + +sub sum_all_changes { + my %changes_hash; + + #warning "[".PLUGIN_NAME."] 1 obstaclesList: ". Data::Dumper::Dumper \%obstaclesList; + + foreach my $key (keys %obstaclesList) { + #warning "[".PLUGIN_NAME."] sum_all_avoid - testing obstacle at $obstaclesList{$key}{pos_to}{x} $obstaclesList{$key}{pos_to}{y}.\n"; + foreach my $change (@{$obstaclesList{$key}{weight}}) { + my $x = $change->{x}; + my $y = $change->{y}; + my $changed = $change->{weight}; + $changes_hash{$x}{$y} += $changed; + } + } + + my @rebuilt_array; + foreach my $x_keys (keys %changes_hash) { + foreach my $y_keys (keys %{$changes_hash{$x_keys}}) { + next if ($changes_hash{$x_keys}{$y_keys} == 0); + push(@rebuilt_array, { x => $x_keys, y => $y_keys, weight => $changes_hash{$x_keys}{$y_keys} }); + } + } + + #warning "[".PLUGIN_NAME."] 2 rebuilt: ". Data::Dumper::Dumper \@rebuilt_array; + + return \@rebuilt_array; +} + +################################################### +######## Player avoiding +################################################### + +sub on_add_player_list { + return unless (ENABLE_AVOID_PLAYERS); + my (undef, $args) = @_; + my $actor = $args; + + return unless (exists $player_name_obstacles{$actor->{name}}); + + my %obstacle = %{$player_name_obstacles{$actor->{name}}}; + + add_obstacle($actor, \%obstacle, 'player'); +} + +sub on_player_moved { + return unless (ENABLE_AVOID_PLAYERS); + my (undef, $args) = @_; + my $actor = $args; + + return unless (exists $obstaclesList{$actor->{ID}}); + + my %obstacle = %{$player_name_obstacles{$actor->{name}}}; + + move_obstacle($actor, \%obstacle, 'player'); +} + +sub on_player_disappeared { + return unless (ENABLE_AVOID_PLAYERS); + my (undef, $args) = @_; + my $actor = $args->{player}; + + return unless (exists $obstaclesList{$actor->{ID}}); + + remove_obstacle($actor, 'player'); +} + +################################################### +######## Mob avoiding +################################################### + +sub on_add_monster_list { + return unless (ENABLE_AVOID_MONSTERS); + my (undef, $args) = @_; + my $actor = $args; + + return unless (exists $mob_nameID_obstacles{$actor->{nameID}}); + + my %obstacle = %{$mob_nameID_obstacles{$actor->{nameID}}}; + + add_obstacle($actor, \%obstacle, 'monster'); +} + +sub on_monster_moved { + return unless (ENABLE_AVOID_MONSTERS); + my (undef, $args) = @_; + my $actor = $args; + + return unless (exists $obstaclesList{$actor->{ID}}); + + my %obstacle = %{$mob_nameID_obstacles{$actor->{nameID}}}; + + move_obstacle($actor, \%obstacle, 'monster'); +} + +sub on_monster_disappeared { + return unless (ENABLE_AVOID_MONSTERS); + my (undef, $args) = @_; + my $actor = $args->{monster}; + + return unless (exists $obstaclesList{$actor->{ID}}); + + my $reason; + if ($args->{type} == 0) { + $reason = 'outofsight'; + } else { + $reason = 'gone'; + } + message ("[on_monster_disappeared] $actor type $args->{type} | reason $reason\n", "route"); + remove_obstacle($actor, 'monster', $reason); +} + +################################################### +######## Spell avoiding +################################################### + +# TODO: Add fail flag check + +sub on_add_areaSpell_list { + return unless (ENABLE_AVOID_AREASPELLS); + my (undef, $args) = @_; + my $ID = $args->{ID}; + my $spell = $spells{$ID}; + + return unless (exists $area_spell_type_obstacles{$spell->{type}}); + + my %obstacle = %{$area_spell_type_obstacles{$spell->{type}}}; + + add_obstacle($spell, \%obstacle, 'spell'); +} + +sub on_areaSpell_disappeared { + return unless (ENABLE_AVOID_AREASPELLS); + my (undef, $args) = @_; + my $ID = $args->{ID}; + my $spell = $spells{$ID}; + + return unless (exists $obstaclesList{$spell->{ID}}); + + remove_obstacle($spell, 'spell'); +} + +################################################### +######## portals avoiding +################################################### + +sub on_add_portal_list { + return unless (ENABLE_AVOID_PORTALS); + my (undef, $args) = @_; + my $actor = $args; + + add_obstacle($actor, \%portals_obstacles, 'portal'); +} + +sub on_portal_disappeared { + return unless (ENABLE_AVOID_PORTALS); + my (undef, $args) = @_; + my $actor = $args->{portal}; + + #remove_obstacle($actor, 'portal'); +} + +return 1; \ No newline at end of file diff --git a/src/AI.pm b/src/AI.pm index 502d1978d6..5ef42a19cf 100644 --- a/src/AI.pm +++ b/src/AI.pm @@ -171,7 +171,22 @@ sub mapChanged { } sub findAction { - return binFind(\@ai_seq, $_[0]); + my $wanted_action = shift; + my $skip = shift; + if (!defined $skip) { + $skip = 0; + } + + foreach my $i (0..$#ai_seq) { + next unless ($ai_seq[$i] eq $wanted_action); + if ($skip) { + $skip--; + } else { + return $i; + } + } + + return undef; } sub inQueue { @@ -380,6 +395,7 @@ sub ai_slave_getAggressives { next if (!timeOut($monster->{attack_failedLOS}, $timeout{ai_attack_failedLOS}{timeout})); next if (!timeOut($monster->{$slave->{ai_attack_failed_timeout}}, $timeout{ai_attack_unfail}{timeout})); next if (!Misc::slave_checkMonsterCleanness($slave, $ID)); + # TODO: Is there any situation where we should use calcPosFromPathfinding or calcPosFromTime here? my $pos = calcPosition($monster); next if (blockDistance($char->position, $pos) > ($config{$slave->{configPrefix}.'followDistanceMax'} + $config{$slave->{configPrefix}.'attackMaxDistance'})); diff --git a/src/AI/Attack.pm b/src/AI/Attack.pm index d684dd824d..127798949f 100644 --- a/src/AI/Attack.pm +++ b/src/AI/Attack.pm @@ -34,6 +34,10 @@ use Utils; use Utils::Benchmark; use Utils::PathFinding; +use constant { + MOVING_TO_ATTACK => 1, + ATTACKING => 2, +}; sub process { Benchmark::begin("ai_attack") if DEBUG; @@ -43,9 +47,11 @@ sub process { if (shouldAttack($action, $args)) { my $ID; my $ataqArgs; + my $stage; # 1 - moving to attack | 2 - attacking if (AI::action eq "attack") { $ID = $args->{ID}; $ataqArgs = AI::args(0); + $stage = ATTACKING; } else { if (AI::action(1) eq "attack") { $ataqArgs = AI::args(1); @@ -54,149 +60,136 @@ sub process { $ataqArgs = AI::args(2); } $ID = $args->{attackID}; + $stage = MOVING_TO_ATTACK; } if (targetGone($ataqArgs, $ID)) { finishAttacking($ataqArgs, $ID); return; } elsif (shouldGiveUp($ataqArgs, $ID)) { - giveUp($ataqArgs, $ID); + giveUp($ataqArgs, $ID, 0); return; } my $target = Actor::get($ID); - if ($target) { - my $party = $config{'attackAuto_party'} ? 1 : 0; - my $target_is_aggressive = is_aggressive($target, undef, 0, $party); - my @aggressives = ai_getAggressives(0, $party); - if ($config{attackChangeTarget} && !$target_is_aggressive && @aggressives) { - my $attackTarget = getBestTarget(\@aggressives, $config{attackCheckLOS}, $config{attackCanSnipe}); - if ($attackTarget) { - $char->sendAttackStop; - AI::dequeue while (AI::inQueue("attack")); - ai_setSuspend(0); - my $new_target = Actor::get($attackTarget); - warning TF("Your target is not aggressive: %s, changing target to aggressive: %s.\n", $target, $new_target), 'ai_attack'; - $char->attack($attackTarget); - AI::Attack::process(); - return; - } - } + unless ($target && $target->{type} ne 'Unknown') { + finishAttacking($ataqArgs, $ID); + return; } - } - - if (AI::action eq "attack" && AI::args->{suspended}) { - $args->{ai_attack_giveup}{time} += time - $args->{suspended}; - delete $args->{suspended}; - } - - if (AI::action eq "attack" && $args->{move_start}) { - # We've just finished moving to the monster. - # Don't count the time we spent on moving - $args->{ai_attack_giveup}{time} += time - $args->{move_start}; - undef $args->{unstuck}{time}; - undef $args->{move_start}; - - } elsif (AI::action eq "attack" && $args->{avoiding} && $args->{ID}) { - my $ID = $args->{ID}; - my $target = Actor::get($ID); - $args->{ai_attack_giveup}{time} = time; - undef $args->{avoiding}; - debug "Finished avoiding movement from target $target, updating ai_attack_giveup\n", "ai_attack"; - - } elsif (((AI::action eq "route" && AI::action(1) eq "attack") || (AI::action eq "move" && AI::action(2) eq "attack")) - && $args->{attackID} && timeOut($timeout{ai_attack_route_adjust})) { - # We're on route to the monster; check whether the monster has moved - my $ID = $args->{attackID}; - my $attackSeq = (AI::action eq "route") ? AI::args(1) : AI::args(2); - my $target = Actor::get($ID); - my $realMyPos = calcPosition($char); - my $realMonsterPos = calcPosition($target); - - if ( - $target->{type} ne 'Unknown' && - $attackSeq->{monsterPos} && - %{$attackSeq->{monsterPos}} && - $attackSeq->{monsterLastMoveTime} && - $attackSeq->{monsterLastMoveTime} != $target->{time_move} - ) { - # Monster has moved; stop moving and let the attack AI readjust route - debug "Target $target has moved since we started routing to it - Adjusting route\n", "ai_attack"; - AI::dequeue while (AI::is("move", "route")); - - $attackSeq->{ai_attack_giveup}{time} = time; - - } elsif ( - $target->{type} ne 'Unknown' && - $attackSeq->{monsterPos} && - %{$attackSeq->{monsterPos}} && - $attackSeq->{monsterLastMoveTime} && - $attackSeq->{attackMethod}{maxDistance} == 1 && - canReachMeleeAttack($realMyPos, $realMonsterPos) && - (blockDistance($realMyPos, $realMonsterPos) < 2 || !$config{attackCheckLOS} ||($config{attackCheckLOS} && blockDistance($realMyPos, $realMonsterPos) == 2 && $field->checkLOS($realMyPos, $realMonsterPos, $config{attackCanSnipe}))) - ) { - debug "Target $target is now reachable by melee attacks during routing to it.\n", "ai_attack"; - AI::dequeue while (AI::is("move", "route")); - - $attackSeq->{ai_attack_giveup}{time} = time; - + my $party = $config{'attackAuto_party'} ? 1 : 0; + my $target_is_aggressive = is_aggressive($target, undef, 0, $party); + my @aggressives = ai_getAggressives(0, $party); + if ($config{attackChangeTarget} && !$target_is_aggressive && @aggressives) { + my $attackTarget = getBestTarget(\@aggressives, $config{attackCheckLOS}, $config{attackCanSnipe}); + if ($attackTarget) { + $char->sendAttackStop; + AI::dequeue while (AI::inQueue("attack")); + ai_setSuspend(0); + my $new_target = Actor::get($attackTarget); + warning TF("Your target is not aggressive: %s, changing target to aggressive: %s.\n", $target, $new_target), 'ai_attack'; + $char->attack($attackTarget); + AI::Attack::process(); + return; + } } - $timeout{ai_attack_route_adjust}{time} = time; - } - - if (AI::action eq "attack" && timeOut($args->{attackMainTimeout}, 0.1)) { - $args->{attackMainTimeout} = time; - main(); - } - - # Check for hidden monsters - if (AI::inQueue("attack") && AI::is("move", "route", "attack")) { - my $ID = AI::args->{attackID}; - my $monster = $monsters{$ID}; - if (($monster->{statuses}->{EFFECTSTATE_BURROW} || $monster->{statuses}->{EFFECTSTATE_HIDING}) && - $config{avoidHiddenMonsters}) { - message TF("Dropping target %s - will not attack hidden monsters\n", $monster), 'ai_attack'; + my $cleanMonster = checkMonsterCleanness($ID); + if (!$cleanMonster) { + message TF("Dropping target %s - will not kill steal others\n", $target), 'ai_attack'; $char->sendAttackStop; - $monster->{ignore} = 1; - + $target->{ignore} = 1; AI::dequeue while (AI::inQueue("attack")); - if ($config{teleportAuto_dropTargetHidden}) { - message T("Teleport due to dropping hidden target\n"); + if ($config{teleportAuto_dropTargetKS}) { + message T("Teleport due to dropping attack target\n"), "teleport"; ai_useTeleport(1); } + return; } - } - - # Check for kill steal, mob-training and hiding while moving - if ((AI::is("move", "route") && $args->{attackID} && AI::inQueue("attack") - && timeOut($args->{movingWhileAttackingTimeout}, 0.2))) { - my $ID = AI::args->{attackID}; - my $monster = $monsters{$ID}; - - # Check for kill steal while moving - if ($monster && !Misc::checkMonsterCleanness($ID)) { - dropTargetWhileMoving(); + if ((my $control = mon_control($target->{name},$target->{nameID}))) { + if ($control->{attack_auto} == 3 && ($target->{dmgToYou} || $target->{missedYou} || $target->{dmgFromYou})) { + message TF("Dropping target - %s (%s) has been provoked\n", $target->{name}, $target->{binID}); + $char->sendAttackStop; + $target->{ignore} = 1; + AI::dequeue while (AI::inQueue("attack")); + return; + } } - - # Mob-training, stop attacking the monster if it is already aggressive - if ((my $control = mon_control($monster->{name},$monster->{nameID}))) { - if ($control->{attack_auto} == 3 - && ($monster->{dmgToYou} || $monster->{missedYou} || $monster->{dmgFromYou})) { - - message TF("Dropping target - %s (%s) has been provoked\n", $monster->{name}, $monster->{binID}); + + if ($stage == MOVING_TO_ATTACK) { + # Check for hidden monsters + if (($target->{statuses}->{EFFECTSTATE_BURROW} || $target->{statuses}->{EFFECTSTATE_HIDING}) && $config{avoidHiddenMonsters}) { + message TF("Dropping target %s - will not attack hidden monsters\n", $target), 'ai_attack'; $char->sendAttackStop; - $monster->{ignore} = 1; - # Right now, the queue is either - # move, route, attack - # -or- - # route, attack + $target->{ignore} = 1; + AI::dequeue while (AI::inQueue("attack")); + if ($config{teleportAuto_dropTargetHidden}) { + message T("Teleport due to dropping hidden target\n"); + ai_useTeleport(1); + } + return; + } + + # We're on route to the monster; check whether the monster has moved + if ($args->{attackID} && timeOut($timeout{ai_attack_route_adjust})) { + if ( + $target->{type} ne 'Unknown' && + $ataqArgs->{monsterLastMoveTime} && + $ataqArgs->{monsterLastMoveTime} != $target->{time_move} + ) { + if ( + ($args->{monsterLastMovePosTo}{x} == $target->{pos_to}{x} && $args->{monsterLastMovePosTo}{y} == $target->{pos_to}{y}) + ) { + $args->{monsterLastMoveTime} = $target->{time_move}; + $args->{monsterLastMovePosTo}{x} = $target->{pos_to}{x}; + $args->{monsterLastMovePosTo}{y} = $target->{pos_to}{y}; + } else { + # Monster has moved; stop moving and let the attack AI readjust route + debug "Target $target has moved since we started routing to it - Adjusting route\n", "ai_attack"; + AI::dequeue while (AI::is("move", "route")); + + $ataqArgs->{ai_attack_giveup}{time} = time; + $ataqArgs->{sentApproach} = 0; + undef $args->{unstuck}{time}; + undef $args->{avoiding}; + undef $args->{move_start}; + } + } else { + $timeout{ai_attack_route_adjust}{time} = time; + } } } + + if ($stage == ATTACKING) { + if (AI::args->{suspended}) { + $args->{ai_attack_giveup}{time} += time - $args->{suspended}; + delete $args->{suspended}; + + # We've just finished moving to the monster. + # Don't count the time we spent on moving + } elsif ($args->{move_start}) { + $args->{ai_attack_giveup}{time} += time - $args->{move_start}; + undef $args->{unstuck}{time}; + undef $args->{move_start}; + + } elsif ($args->{avoiding}) { + $args->{ai_attack_giveup}{time} = time; + undef $args->{avoiding}; + debug "Finished avoiding movement from target $target, updating ai_attack_giveup\n", "ai_attack"; + } + + if (timeOut($timeout{ai_attack_main})) { + if ($char->{sitting}) { + ai_setSuspend(0); + stand(); + } else { + main(); + } + $timeout{ai_attack_main}{time} = time; + } - $args->{movingWhileAttackingTimeout} = time; + } } Benchmark::end("ai_attack") if DEBUG; @@ -205,9 +198,9 @@ sub process { sub shouldAttack { my ($action, $args) = @_; return ( - ($action eq "attack" && $args->{ID}) - || ($action eq "route" && AI::action(1) eq "attack" && $args->{attackID}) - || ($action eq "move" && AI::action(2) eq "attack" && $args->{attackID}) + ($action eq "attack" && $args->{ID}) || + ($action eq "route" && AI::action(1) eq "attack" && $args->{attackID}) || + ($action eq "move" && AI::action(2) eq "attack" && $args->{attackID}) ); } @@ -217,9 +210,16 @@ sub shouldGiveUp { } sub giveUp { - my ($args, $ID) = @_; + my ($args, $ID, $LOS) = @_; my $target = Actor::get($ID); - $target->{attack_failed} = time if ($monsters{$ID}); + if ($monsters{$ID}) { + if ($LOS) { + $target->{attack_failedLOS} = time; + } else { + $target->{attack_failed} = time; + } + } + $target->{dmgFromYou} = 0; # Hack | TODO: Fix me AI::dequeue while (AI::inQueue("attack")); message T("Can't reach or damage target, dropping target\n"), "ai_attack"; if ($config{'teleportAuto_dropTarget'}) { @@ -230,7 +230,14 @@ sub giveUp { sub targetGone { my ($args, $ID) = @_; - return !$monsters{$args->{ID}} && (!$players{$args->{ID}} || $players{$args->{ID}}{dead}); + my $target = Actor::get($ID, 1); + unless ($target) { + return 1; + } + if (exists $target->{dead} && $target->{dead} == 1) { + return 1; + } + return 0; } sub finishAttacking { @@ -282,24 +289,52 @@ sub finishAttacking { $messageSender->sendStopSkillUse($char->{last_continuous_skill_used}) if $char->{last_skill_used_is_continuous}; Plugins::callHook('attack_end', {ID => $ID}) - } -sub dropTargetWhileMoving { - my $ID = AI::args->{attackID}; - my $target = Actor::get($ID); - message TF("Dropping target %s - will not kill steal others\n", $target), 'ai_attack'; - $char->sendAttackStop; - $target->{ignore} = 1; - - # Right now, the queue is either - # move, route, attack - # -or- - # route, attack - AI::dequeue while (AI::inQueue("attack")); - if ($config{teleportAuto_dropTargetKS}) { - message T("Teleport due to dropping attack target\n"); - ai_useTeleport(1); +sub find_kite_position { + my ($args, $inAdvance, $target, $realMyPos, $realMonsterPos, $noAttackMethodFallback_runFromTarget) = @_; + + my $maxDistance; + if (!$noAttackMethodFallback_runFromTarget && defined $args->{attackMethod}{type} && defined $args->{attackMethod}{maxDistance}) { + $maxDistance = $args->{attackMethod}{maxDistance}; + } elsif ($noAttackMethodFallback_runFromTarget) { + $maxDistance = $config{'runFromTarget_noAttackMethodFallback_attackMaxDist'}; + } else { + # Should never happen. + return 0; + } + + # We try to find a position to kite from at least runFromTarget_minStep away from the target but at maximun {attackMethod}{maxDistance} away from it + my $pos = meetingPosition($char, 1, $target, $maxDistance, ($noAttackMethodFallback_runFromTarget ? 2 : 1)); + if ($pos) { + if ($inAdvance) { + debug TF("[runFromTarget_inAdvance] %s kiting in advance (%d %d) to (%d %d), mob at (%d %d).\n", $char, $realMyPos->{x}, $realMyPos->{y}, $pos->{x}, $pos->{y}, $realMonsterPos->{x}, $realMonsterPos->{y}), 'ai_attack'; + } elsif ($noAttackMethodFallback_runFromTarget) { + debug TF("[runFromTarget_noAttackMethodFallback] %s kiting in advance (%d %d) to (%d %d), mob at (%d %d).\n", $char, $realMyPos->{x}, $realMyPos->{y}, $pos->{x}, $pos->{y}, $realMonsterPos->{x}, $realMonsterPos->{y}), 'ai_attack'; + } else { + debug TF("[runFromTarget] (attackmaxDistance %s) %s kiteing from (%d %d) to (%d %d), mob at (%d %d).\n", $maxDistance, $char, $realMyPos->{x}, $realMyPos->{y}, $pos->{x}, $pos->{y}, $realMonsterPos->{x}, $realMonsterPos->{y}), 'ai_attack'; + } + $args->{avoiding} = 1; + $char->route( + undef, + @{$pos}{qw(x y)}, + noMapRoute => 1, + avoidWalls => 0, + randomFactor => 0, + useManhattan => 1, + runFromTarget => 1 + ); + return 1; + + } else { + if ($inAdvance) { + debug TF("[runFromTarget_inAdvance] %s no acceptable place to kite in advance from (%d %d), mob at (%d %d).\n", $char, $realMyPos->{x}, $realMyPos->{y}, $realMonsterPos->{x}, $realMonsterPos->{y}), 'ai_attack'; + } elsif ($noAttackMethodFallback_runFromTarget) { + debug TF("[runFromTarget_noAttackMethodFallback] %s no acceptable place to kite from (%d %d), mob at (%d %d).\n", $char, $realMyPos->{x}, $realMyPos->{y}, $realMonsterPos->{x}, $realMonsterPos->{y}), 'ai_attack'; + } else { + debug TF("[runFromTarget] %s no acceptable place to kite from (%d %d), mob at (%d %d).\n", $char, $realMyPos->{x}, $realMyPos->{y}, $realMonsterPos->{x}, $realMonsterPos->{y}), 'ai_attack'; + } + return 0; } } @@ -319,13 +354,22 @@ sub main { my $monsterPos = $target->{pos_to}; my $monsterDist = blockDistance($myPos, $monsterPos); - my ($realMyPos, $realMonsterPos, $realMonsterDist, $hitYou); - my $realMyPos = calcPosition($char); - my $realMonsterPos = calcPosition($target); + my $realMyPos = calcPosFromPathfinding($field, $char); + my $realMonsterPos = calcPosFromPathfinding($field, $target); + my $realMonsterDist = blockDistance($realMyPos, $realMonsterPos); - - my $cleanMonster = checkMonsterCleanness($ID); - + my $clientDist = getClientDist($realMyPos, $realMonsterPos); + + my $failed_to_attack_packet_recv = 0; + + if (!exists $args->{temporary_extra_range} || !defined $args->{temporary_extra_range}) { + $args->{temporary_extra_range} = 0; + } + + if (exists $target->{movetoattack_pos} && exists $char->{movetoattack_pos}) { + $failed_to_attack_packet_recv = 1; + $args->{temporary_extra_range} = 0; + } # If the damage numbers have changed, update the giveup time so we don't timeout if ($args->{dmgToYou_last} != $target->{dmgToYou} @@ -335,12 +379,15 @@ sub main { $args->{ai_attack_giveup}{time} = time; debug "Update attack giveup time\n", "ai_attack", 2; } - $hitYou = ($args->{dmgToYou_last} != $target->{dmgToYou} - || $args->{missedYou_last} != $target->{missedYou}); + + my $hitYou = ($args->{dmgToYou_last} != $target->{dmgToYou} || $args->{missedYou_last} != $target->{missedYou}); + my $youHitTarget = ($args->{dmgFromYou_last} != $target->{dmgFromYou}); + $args->{dmgToYou_last} = $target->{dmgToYou}; $args->{missedYou_last} = $target->{missedYou}; $args->{dmgFromYou_last} = $target->{dmgFromYou}; $args->{missedFromYou_last} = $target->{missedFromYou}; + $args->{lastSkillTime} = $char->{last_skill_time}; Benchmark::end("ai_attack (part 1.1)") if DEBUG; @@ -348,6 +395,7 @@ sub main { # Determine what combo skill to use delete $args->{attackMethod}; + my $i = 0; while (exists $config{"attackComboSlot_$i"}) { if (!$config{"attackComboSlot_$i"}) { @@ -389,13 +437,13 @@ sub main { # Determine what skill to use to attack if (!$args->{attackMethod}{type}) { if ($config{'attackUseWeapon'}) { + $args->{attackMethod}{type} = "weapon"; $args->{attackMethod}{distance} = $config{'attackDistance'}; $args->{attackMethod}{maxDistance} = $config{'attackMaxDistance'}; - $args->{attackMethod}{type} = "weapon"; } else { + undef $args->{attackMethod}{type}; $args->{attackMethod}{distance} = 1; $args->{attackMethod}{maxDistance} = 1; - undef $args->{attackMethod}{type}; } $i = 0; @@ -427,14 +475,11 @@ sub main { } $i++; } - - if ($config{'runFromTarget'} && $config{'runFromTarget_dist'} > $args->{attackMethod}{distance}) { - $args->{attackMethod}{distance} = $config{'runFromTarget_dist'}; - } } $args->{attackMethod}{maxDistance} ||= $config{attackMaxDistance}; $args->{attackMethod}{distance} ||= $config{attackDistance}; + if ($args->{attackMethod}{maxDistance} < $args->{attackMethod}{distance}) { $args->{attackMethod}{maxDistance} = $args->{attackMethod}{distance}; } @@ -442,175 +487,212 @@ sub main { Benchmark::end("ai_attack (part 1.2)") if DEBUG; Benchmark::end("ai_attack (part 1)") if DEBUG; + my $melee; + my $ranged; if (defined $args->{attackMethod}{type} && exists $args->{ai_attack_failed_give_up} && defined $args->{ai_attack_failed_give_up}{time}) { + debug "Deleting ai_attack_failed_give_up time.\n"; delete $args->{ai_attack_failed_give_up}{time}; - } + + } elsif ($args->{attackMethod}{maxDistance} == 1) { + $melee = 1; - if ($char->{sitting}) { - ai_setSuspend(0); - stand(); - - } elsif (!$cleanMonster) { - # Drop target if it's already attacked by someone else - message TF("Dropping target %s - will not kill steal others\n", $target), 'ai_attack'; - $char->sendMove(@{$realMyPos}{qw(x y)}); - AI::dequeue while (AI::inQueue("attack")); - if ($config{teleportAuto_dropTargetKS}) { - message T("Teleport due to dropping attack target\n"), "teleport"; - ai_useTeleport(1); + } elsif ($args->{attackMethod}{maxDistance} > 1) { + $ranged = 1; + } + + $args->{attackMethod}{maxDistance} += $args->{temporary_extra_range}; + + # -2: undefined attackMethod + # -1: No LOS + # 0: out of range + # 1: sucess + my $canAttack; + if (defined $args->{attackMethod}{type} && defined $args->{attackMethod}{maxDistance}) { + $canAttack = canAttack($field, $realMyPos, $realMonsterPos, $config{attackCanSnipe}, $args->{attackMethod}{maxDistance}, $config{clientSight}); + } else { + $canAttack = -2; + } + + my $range_type_string = ($melee ? "Melee" : ($ranged ? "Ranged" : "None")); + my $canAttack_fail_string = (($canAttack == -2) ? "No Method" : (($canAttack == -1) ? "No LOS" : (($canAttack == 0) ? "No Range" : "OK"))); + + # Here we check if the monster which we are waiting to get closer to us is in fact close enough + # If it is close enough delete the ai_attack_failed_waitForAgressive_give_up keys and loop attack logic + if ( + $config{"attackBeyondMaxDistance_waitForAgressive"} && + $target->{dmgFromYou} > 0 && + $canAttack == 1 && + exists $args->{ai_attack_failed_waitForAgressive_give_up} && + defined $args->{ai_attack_failed_waitForAgressive_give_up}{time} + ) { + debug "Deleting ai_attack_failed_waitForAgressive_give_up time.\n"; + delete $args->{ai_attack_failed_waitForAgressive_give_up}{time}; + } + + # Here we check if we have finished moving to the meeting position to attack our target, only checks this if attackWaitApproachFinish is set to 1 in config + # If so sets sentApproach to 0 + if ( + $config{"attackWaitApproachFinish"} && + ($canAttack == 0 || $canAttack == -1) && + $args->{sentApproach} + ) { + if (!timeOut($char->{time_move}, $char->{time_move_calc})) { + debug TF("[Out of Range - Still Approaching - Waiting] %s (%d %d), target %s (%d %d), distance %d, maxDistance %d, dmgFromYou %d.\n", $char, $realMyPos->{x}, $realMyPos->{y}, $target, $realMonsterPos->{x}, $realMonsterPos->{y}, $realMonsterDist, $args->{attackMethod}{maxDistance}, $target->{dmgFromYou}), 'ai_attack'; + return; + } else { + debug TF("[Out of Range - Ended Approaching] %s (%d %d), target %s (%d %d), distance %d, maxDistance %d, dmgFromYou %d.\n", $char, $realMyPos->{x}, $realMyPos->{y}, $target, $realMonsterPos->{x}, $realMonsterPos->{y}, $realMonsterDist, $args->{attackMethod}{maxDistance}, $target->{dmgFromYou}), 'ai_attack'; + $args->{sentApproach} = 0; } - - } elsif ($config{'runFromTarget'} && ($realMonsterDist < $config{'runFromTarget_dist'} || $hitYou)) { - my $cell = meetingPosition($char, 1, $target, $args->{attackMethod}{maxDistance}, 1); - if ($cell) { - debug TF("[runFromTarget] %s kiteing from (%d %d) to (%d %d), mob at (%d %d).\n", $char, $realMyPos->{x}, $realMyPos->{y}, $cell->{x}, $cell->{y}, $realMonsterPos->{x}, $realMonsterPos->{y}), 'ai_attack'; - $args->{avoiding} = 1; - $char->route(undef, @{$cell}{qw(x y)}, noMapRoute => 1, avoidWalls => 0, runFromTarget => 1); + } + + my $found_action = 0; + my $failed_runFromTarget = 0; + my $hitTarget_when_not_possible = 0; + + # Here, if runFromTarget is active, we check if the target mob is closer to us than the minimun distance specified in runFromTarget_dist + # If so try to kite it + if ( + !$found_action && + $config{"runFromTarget"} && + $realMonsterDist < $config{"runFromTarget_dist"} + ) { + my $try_runFromTarget = find_kite_position($args, 0, $target, $realMyPos, $realMonsterPos, 0); + if ($try_runFromTarget) { + $found_action = 1; } else { - debug TF("%s no acceptable place to kite from (%d %d), mob at (%d %d).\n", $char, $realMyPos->{x}, $realMyPos->{y}, $realMonsterPos->{x}, $realMonsterPos->{y}), 'ai_attack'; + $failed_runFromTarget = 1; } - - if (!$cell) { - my $max = $args->{attackMethod}{maxDistance} + 4; - if ($max > 14) { - $max = 14; - } - $cell = meetingPosition($char, 1, $target, $max, 1); - if ($cell) { - debug TF("[runFromTarget] %s kiteing from (%d %d) to (%d %d), mob at (%d %d).\n", $char, $realMyPos->{x}, $realMyPos->{y}, $cell->{x}, $cell->{y}, $realMonsterPos->{x}, $realMonsterPos->{y}), 'ai_attack'; - $args->{avoiding} = 1; - $char->route(undef, @{$cell}{qw(x y)}, noMapRoute => 1, avoidWalls => 0, runFromTarget => 1); - } else { - debug TF("%s no acceptable place to kite from (%d %d), mob at (%d %d).\n", $char, $realMyPos->{x}, $realMyPos->{y}, $realMonsterPos->{x}, $realMonsterPos->{y}), 'ai_attack'; - } + } + + # Here, if runFromTarget is active, and we can't attack right now (eg. all skills in cooldown) we check if the target mob is closer to us than the minimun distance specified in runFromTarget_noAttackMethodFallback_minStep + # If so try to kite it using maxdistance of runFromTarget_noAttackMethodFallback_attackMaxDist + if ( + !$found_action && + $canAttack == -2 && + #$config{"runFromTarget"} && + $config{'runFromTarget_noAttackMethodFallback'} && + $realMonsterDist < $config{'runFromTarget_noAttackMethodFallback_minStep'} + ) { + my $try_runFromTarget = find_kite_position($args, 0, $target, $realMyPos, $realMonsterPos, 1); + if ($try_runFromTarget) { + $found_action = 1; } + } - - } elsif(!defined $args->{attackMethod}{type}) { + if ( + !$found_action && + $canAttack == -2 + ) { debug T("Can't determine a attackMethod (check attackUseWeapon and Skills blocks)\n"), "ai_attack"; $args->{ai_attack_failed_give_up}{timeout} = 6 if !$args->{ai_attack_failed_give_up}{timeout}; $args->{ai_attack_failed_give_up}{time} = time if !$args->{ai_attack_failed_give_up}{time}; if (timeOut($args->{ai_attack_failed_give_up})) { delete $args->{ai_attack_failed_give_up}{time}; - message T("Unable to determine a attackMethod (check attackUseWeapon and Skills blocks)\n"), "ai_attack"; - giveUp($args, $ID); + warning T("Unable to determine a attackMethod (check attackUseWeapon and Skills blocks), dropping target.\n"), "ai_attack"; + $found_action = 1; + giveUp($args, $ID, 0); } - - - } elsif ( - # We are out of range, but already hit enemy, should wait for him in a safe place instead of going after him - # Example at https://youtu.be/kTRk5Na1aCQ?t=25 in which this check did not exist, we tried getting closer intead of waiting and got hit - ($args->{attackMethod}{maxDistance} > 1 && $realMonsterDist > $args->{attackMethod}{maxDistance}) && - #(!$config{attackCheckLOS} || $field->checkLOS($realMyPos, $realMonsterPos, $config{attackCanSnipe})) && # Is this check needed? + } + + if ($canAttack == 0 && $youHitTarget) { + debug TF("[%s - %s] We were able to hit target even though it is out of range or LOS, accepting and continuing. (you %s (%d %d), target %s (%d %d) [(%d %d) -> (%d %d)], distance %d, maxDistance %d, dmgFromYou %d)\n", $canAttack_fail_string, $range_type_string, $char, $realMyPos->{x}, $realMyPos->{y}, $target, $realMonsterPos->{x}, $realMonsterPos->{y}, $target->{pos}{x}, $target->{pos}{y}, $target->{pos_to}{x}, $target->{pos_to}{y}, $realMonsterDist, $args->{attackMethod}{maxDistance}, $target->{dmgFromYou}), 'ai_attack'; + if ($clientDist > $args->{attackMethod}{maxDistance} && $clientDist <= ($args->{attackMethod}{maxDistance} + 1) && $args->{temporary_extra_range} == 0) { + debug TF("[%s] Probably extra range provided by the server due to chasing, increasing range by 1.\n", $canAttack_fail_string), 'ai_attack'; + $args->{temporary_extra_range} = 1; + $args->{attackMethod}{maxDistance} += $args->{temporary_extra_range}; + $canAttack = canAttack($field, $realMyPos, $realMonsterPos, $config{attackCanSnipe}, $args->{attackMethod}{maxDistance}, $config{clientSight}); + } else { + debug TF("[%s] Reason unknown, allowing once.\n", $canAttack_fail_string), 'ai_attack'; + $hitTarget_when_not_possible = 1; + } + if ( + $config{"attackBeyondMaxDistance_waitForAgressive"} && + exists $args->{ai_attack_failed_waitForAgressive_give_up} && + defined $args->{ai_attack_failed_waitForAgressive_give_up}{time} + ) { + debug "[Accepting] Deleting ai_attack_failed_waitForAgressive_give_up time.\n"; + delete $args->{ai_attack_failed_waitForAgressive_give_up}{time};; + } + } + + # Here we decide what to do when a mob we have already hit is no longer in range or we have no LOS to it + # We also check if we have waited too long for the monster which we are waiting to get closer to us to approach + # TODO: Maybe we should separate this into 2 sections, one for out of range and another for no LOS - low priority + if ( + !$found_action && $config{"attackBeyondMaxDistance_waitForAgressive"} && - $target->{dmgFromYou} > 0 + $target->{dmgFromYou} > 0 && + ($canAttack == 0 || $canAttack == -1) && + !$hitTarget_when_not_possible ) { $args->{ai_attack_failed_waitForAgressive_give_up}{timeout} = 6 if !$args->{ai_attack_failed_waitForAgressive_give_up}{timeout}; $args->{ai_attack_failed_waitForAgressive_give_up}{time} = time if !$args->{ai_attack_failed_waitForAgressive_give_up}{time}; - if (timeOut($args->{ai_attack_failed_waitForAgressive_give_up})) { delete $args->{ai_attack_failed_waitForAgressive_give_up}{time}; - message T("[Out of Range] Waited too long for target to get closer, dropping target\n"), "ai_attack"; - giveUp($args, $ID); + warning TF("[%s - %s] Waited too long for target to get closer, dropping target. (you %s (%d %d), target %s (%d %d) [(%d %d) -> (%d %d)], distance %d, maxDistance %d, dmgFromYou %d)\n", $canAttack_fail_string, $range_type_string, $char, $realMyPos->{x}, $realMyPos->{y}, $target, $realMonsterPos->{x}, $realMonsterPos->{y}, $target->{pos}{x}, $target->{pos}{y}, $target->{pos_to}{x}, $target->{pos_to}{y}, $realMonsterDist, $args->{attackMethod}{maxDistance}, $target->{dmgFromYou}), 'ai_attack'; + giveUp($args, $ID, 0); } else { - warning TF("[Out of Range - Waiting] %s (%d %d), target %s (%d %d), distance %d, maxDistance %d, dmgFromYou %d.\n", $char, $realMyPos->{x}, $realMyPos->{y}, $target, $realMonsterPos->{x}, $realMonsterPos->{y}, $realMonsterDist, $args->{attackMethod}{maxDistance}, $target->{dmgFromYou}), 'ai_attack'; + $messageSender->sendAction($ID, ($config{'tankMode'}) ? 0 : 7) if ($config{"attackBeyondMaxDistance_sendAttackWhileWaiting"}); + debug TF("[%s - %s - Waiting] %s (%d %d), target %s (%d %d) [(%d %d) -> (%d %d)], distance %d, maxDistance %d, dmgFromYou %d.\n", $canAttack_fail_string, $range_type_string, $char, $realMyPos->{x}, $realMyPos->{y}, $target, $realMonsterPos->{x}, $realMonsterPos->{y}, $target->{pos}{x}, $target->{pos}{y}, $target->{pos_to}{x}, $target->{pos_to}{y}, $realMonsterDist, $args->{attackMethod}{maxDistance}, $target->{dmgFromYou}), 'ai_attack'; } + $found_action = 1; + } - } elsif ( - # We are out of range - ($args->{attackMethod}{maxDistance} == 1 && !canReachMeleeAttack($realMyPos, $realMonsterPos)) || - ($args->{attackMethod}{maxDistance} > 1 && $realMonsterDist > $args->{attackMethod}{maxDistance}) + # Here we decide what to do with a mob which is out of range or we have no LOS to + if ( + !$found_action && + ($canAttack == 0 || $canAttack == -1) && + !$hitTarget_when_not_possible ) { - $args->{move_start} = time; - $args->{monsterPos} = {%{$monsterPos}}; - $args->{monsterLastMoveTime} = $target->{time_move}; + debug "Attack $char ($realMyPos->{x} $realMyPos->{y}) - target $target ($realMonsterPos->{x} $realMonsterPos->{y})\n"; + if ($canAttack == 0) { + debug "[Attack] [$range_type_string] [No range] Too far from us to attack, distance is $realMonsterDist, attack maxDistance is $args->{attackMethod}{maxDistance}\n", 'ai_attack'; - debug "Attack $char ($realMyPos->{x} $realMyPos->{y}) - target $target ($realMonsterPos->{x} $realMonsterPos->{y}) is too far from us to attack, distance is $realMonsterDist, attack maxDistance is $args->{attackMethod}{maxDistance}\n", 'ai_attack'; + } elsif ($canAttack == -1) { + debug "[Attack] [$range_type_string] [No LOS] No LOS from player to mob\n", 'ai_attack'; + } my $pos = meetingPosition($char, 1, $target, $args->{attackMethod}{maxDistance}); - my $result; - if ($pos) { debug "Attack $char ($realMyPos->{x} $realMyPos->{y}) - moving to meeting position ($pos->{x} $pos->{y})\n", 'ai_attack'; - $result = $char->route( + $args->{move_start} = time; + $args->{monsterLastMoveTime} = $target->{time_move}; + $args->{sentApproach} = 1; + + my $sendAttackWithMove = 0; + if ($config{"attackSendAttackWithMove"} && $args->{attackMethod}{type} eq "weapon") { + $sendAttackWithMove = 1; + } + + $char->route( undef, @{$pos}{qw(x y)}, maxRouteTime => $config{'attackMaxRouteTime'}, attackID => $ID, + sendAttackWithMove => $sendAttackWithMove, avoidWalls => 0, + randomFactor => 0, + useManhattan => 1, meetingSubRoute => 1, noMapRoute => 1 ); - - if (!$result) { - # Unable to calculate a route to target - $target->{attack_failed} = time; - AI::dequeue while (AI::inQueue("attack")); - message T("Unable to calculate a route to target, dropping target\n"), "ai_attack"; - if ($config{'teleportAuto_dropTarget'}) { - message T("Teleport due to dropping attack target\n"); - ai_useTeleport(1); - } - } else { - debug "Attack $char - successufully routing to $target\n", 'ai_attack'; - } - } else { - $target->{attack_failed} = time; - AI::dequeue while (AI::inQueue("attack")); - message TF("Unable to calculate a meetingPosition to target, dropping target. Check %s in config.txt\n", 'attackRouteMaxPathDistance'), "ai_attack"; - if ($config{'teleportAuto_dropTarget'}) { - message T("Teleport due to dropping attack target\n"); - ai_useTeleport(1); - } - } - - } elsif ( - # We are a ranged attacker in range without LOS - $args->{attackMethod}{maxDistance} > 1 && - $config{attackCheckLOS} && - !$field->checkLOS($realMyPos, $realMonsterPos, $config{attackCanSnipe}) - ) { - my $best_spot = meetingPosition($char, 1, $target, $args->{attackMethod}{maxDistance}); - - # Move to the closest spot - my $msg = TF("No LOS from %s (%d, %d) to target %s (%d, %d) (distance: %d)", $char, $realMyPos->{x}, $realMyPos->{y}, $target, $realMonsterPos->{x}, $realMonsterPos->{y}, $realMonsterDist); - if ($best_spot) { - message TF("%s; moving to (%s, %s)\n", $msg, $best_spot->{x}, $best_spot->{y}); - $char->route(undef, @{$best_spot}{qw(x y)}, noMapRoute => 1, avoidWalls => 0, LOSSubRoute => 1); } else { - warning TF("%s; no acceptable place to stand\n", $msg); - $target->{attack_failedLOS} = time; - AI::dequeue while (AI::inQueue("attack")); - } - - } elsif ( - # We are a melee attacker in range without LOS - $args->{attackMethod}{maxDistance} == 1 && - $config{attackCheckLOS} && - blockDistance($realMyPos, $realMonsterPos) == 2 && - !$field->checkLOS($realMyPos, $realMonsterPos, $config{attackCanSnipe}) - ) { - my $best_spot = meetingPosition($char, 1, $target, $args->{attackMethod}{maxDistance}); - - # Move to the closest spot - my $msg = TF("No LOS in melee from %s (%d, %d) to target %s (%d, %d) (distance: %d)", $char, $realMyPos->{x}, $realMyPos->{y}, $target, $realMonsterPos->{x}, $realMonsterPos->{y}, $realMonsterDist); - if ($best_spot) { - message TF("%s; moving to (%s, %s)\n", $msg, $best_spot->{x}, $best_spot->{y}); - $char->route(undef, @{$best_spot}{qw(x y)}, noMapRoute => 1, avoidWalls => 0, LOSSubRoute => 1); - } else { - warning TF("%s; no acceptable place to stand\n", $msg); - $target->{attack_failedLOS} = time; - AI::dequeue while (AI::inQueue("attack")); + message T("Unable to calculate a meetingPosition to target, dropping target\n"), "ai_attack"; + giveUp($args, $ID, 1); } + $found_action = 1; + } - } elsif ((!$config{'runFromTarget'} || $realMonsterDist >= $config{'runFromTarget_dist'}) - && (!$config{'tankMode'} || !$target->{dmgFromYou})) { + if ( + !$found_action && + (!$config{"runFromTarget"} || $realMonsterDist >= $config{"runFromTarget_dist"} || $failed_runFromTarget) && + (!$config{"tankMode"} || !$target->{dmgFromYou}) + ) { # Attack the target. In case of tanking, only attack if it hasn't been hit once. if (!$args->{firstAttack}) { $args->{firstAttack} = 1; - my $pos = "$myPos->{x},$myPos->{y}"; - debug "Ready to attack target (which is $realMonsterDist blocks away); we're at ($pos)\n", "ai_attack"; + debug "Ready to attack target $target ($realMonsterPos->{x} $realMonsterPos->{y}) ($realMonsterDist blocks away); we're at ($realMyPos->{x} $realMyPos->{y})\n", "ai_attack"; } $args->{unstuck}{time} = time if (!$args->{unstuck}{time}); @@ -624,44 +706,25 @@ sub main { $args->{unstuck}{count}++; } - if ($args->{attackMethod}{type} eq "weapon" && timeOut($timeout{ai_attack})) { + # Attack with weapon logic + if ($args->{attackMethod}{type} eq "weapon" && timeOut($timeout{ai_attack}) && timeOut($timeout{ai_attack_after_skill})) { if (Actor::Item::scanConfigAndCheck("attackEquip")) { #check if item needs to be equipped Actor::Item::scanConfigAndEquip("attackEquip"); } else { - $messageSender->sendAction($ID, - ($config{'tankMode'}) ? 0 : 7); + debug "[Attack] Sending attack target $target ($realMonsterPos->{x} $realMonsterPos->{y}) ($realMonsterDist blocks away); we're at ($realMyPos->{x} $realMyPos->{y})\n", "ai_attack"; + $messageSender->sendAction($ID, ($config{'tankMode'}) ? 0 : 7); $timeout{ai_attack}{time} = time; delete $args->{attackMethod}; - if ($config{'runFromTarget'} && $config{'runFromTarget_inAdvance'} && $realMonsterDist < $config{'runFromTarget_minStep'}) { - my $cell = meetingPosition($char, 1, $target, $args->{attackMethod}{maxDistance}, 1); - if ($cell) { - debug TF("%s kiting in advance (%d %d) to (%d %d), mob at (%d %d).\n", $char, $realMyPos->{x}, $realMyPos->{y}, $cell->{x}, $cell->{y}, $realMonsterPos->{x}, $realMonsterPos->{y}), 'ai_attack'; - $args->{avoiding} = 1; - $char->move($cell->{x}, $cell->{y}, $ID); - } else { - debug TF("%s no acceptable place to kite in advance from (%d %d), mob at (%d %d).\n", $char, $realMyPos->{x}, $realMyPos->{y}, $realMonsterPos->{x}, $realMonsterPos->{y}), 'ai_attack'; - } - } - } - } elsif ($args->{attackMethod}{type} eq "skill") { - # check if has LOS to use skill - if(!$field->checkLOS($realMyPos, $realMonsterPos, $config{attackCanSnipe})) { - my $best_spot = meetingPosition($char, 1, $target, $args->{attackMethod}{maxDistance}); - - # Move to the closest spot - my $msg = TF("No LOS in from %s (%d, %d) to target %s (%d, %d) (distance: %d)", $char, $realMyPos->{x}, $realMyPos->{y}, $target, $realMonsterPos->{x}, $realMonsterPos->{y}, $realMonsterDist); - if ($best_spot) { - message TF("%s; moving to (%s, %s)\n", $msg, $best_spot->{x}, $best_spot->{y}); - $char->route(undef, @{$best_spot}{qw(x y)}, noMapRoute => 1, avoidWalls => 0, LOSSubRoute => 1); - } else { - warning TF("%s; no acceptable place to stand\n", $msg); - $target->{attack_failedLOS} = time; - AI::dequeue while (AI::inQueue("attack")); + if ($config{"runFromTarget"} && $config{"runFromTarget_inAdvance"} && $realMonsterDist < $config{"runFromTarget_minStep"}) { + find_kite_position($args, 1, $target, $realMyPos, $realMonsterPos, 0); } } + $found_action = 1; + # Attack with skill logic + } elsif ($args->{attackMethod}{type} eq "skill") { my $slot = $args->{attackMethod}{skillSlot}; delete $args->{attackMethod}; @@ -683,8 +746,14 @@ sub main { ); $args->{monsterID} = $ID; my $skill_lvl = $config{"attackSkillSlot_${slot}_lvl"} || $char->getSkillLevel($skill); - debug "Auto-skill on monster ".getActorName($ID).": ".qq~$config{"attackSkillSlot_$slot"} (lvl $skill_lvl)\n~, "ai_attack"; + debug "[attackSkillSlot] Auto-skill on monster ".getActorName($ID).": ".qq~$config{"attackSkillSlot_$slot"} (lvl $skill_lvl)\n~, "ai_attack"; + # TODO: We sould probably add a runFromTarget_inAdvance logic here also, we could want to kite using skills, but only instant cast ones like double strafe I believe + $timeout{ai_attack_after_skill}{time} = time; + delete $args->{attackMethod}; + $found_action = 1; + + # Attack with combo logic } elsif ($args->{attackMethod}{type} eq "combo") { my $slot = $args->{attackMethod}{comboSlot}; my $isSelfSkill = $args->{attackMethod}{isSelfSkill}; @@ -704,13 +773,18 @@ sub main { $config{"attackComboSlot_${slot}_waitBeforeUse"}, ); $args->{monsterID} = $ID; + $found_action = 1; } - } elsif ($config{tankMode}) { + } + + if (!$found_action && $config{tankMode}) { if ($args->{dmgTo_last} != $target->{dmgTo}) { $args->{ai_attack_giveup}{time} = time; + $char->sendAttackStop; } $args->{dmgTo_last} = $target->{dmgTo}; + $found_action = 1; } Plugins::callHook('AI::Attack::main', {target => $target}) diff --git a/src/AI/CoreLogic.pm b/src/AI/CoreLogic.pm index e61f2af319..4f4fd918c9 100644 --- a/src/AI/CoreLogic.pm +++ b/src/AI/CoreLogic.pm @@ -633,6 +633,7 @@ sub processEscapeUnknownMaps { if ($config{route_escape_randomWalk} && !$skip) { #randomly search for portals... my ($randX, $randY); my $i = 500; + # TODO: Is there any situation where we should use calcPosFromPathfinding or calcPosFromTime here? my $pos = calcPosition($char); do { if ((rand(2)+1)%2) { @@ -2345,7 +2346,10 @@ sub processRandomWalk_stopDuringSlaveAttack { my $slave = AI::SlaveManager::mustStopForAttack(); if (defined $slave) { message TF("%s started attacking during randomWalk - Stoping movement for it.\n", $slave), 'slave'; + # TODO: Since meetingposition takes into account the movement of the character + # we shoudl probably not stop it, just not send new move commands after the current one $char->sendAttackStop; + # TODO: This should probably just pause route instead of dequeuing it AI::dequeue() while (AI::is(qw/move route mapRoute/) && AI::args()->{isRandomWalk}); } } @@ -2889,7 +2893,7 @@ sub processAutoSkillUse { ##### PARTY-SKILL USE ##### sub processPartySkillUse { if (AI::isIdle || AI::is(qw(route mapRoute follow sitAuto take items_gather items_take attack move))){ - my $realMyPos = calcPosition($char); + my $realMyPos = calcPosFromPathfinding($field, $char); my %party_skill; PARTYSKILL: for (my $i = 0; exists $config{"partySkill_$i"}; $i++) { @@ -2923,11 +2927,11 @@ sub processPartySkillUse { ); my $party_skill_dist = $config{"partySkill_$i"."_dist"} || $config{partySkillDistance} || "0..8"; if (defined($config{"partySkill_$i"."_dist"}) && defined($config{"partySkill_$i"."_maxDist"})) { $party_skill_dist = $config{"partySkill_$i"."_dist"} . ".." . $config{"partySkill_$i"."_maxDist"};} - my $realActorPos = calcPosition($player); + my $realActorPos = calcPosFromPathfinding($field, $player); my $distance = blockDistance($realMyPos, $realActorPos); next unless ($party_skill{owner}{ID} eq $player->{ID} || inRange($distance, $party_skill_dist)); next unless (checkPlayerCondition("partySkill_$i"."_target", $ID)); - + $party_skill{ID} = $party_skill{skillObject}->getHandle; $party_skill{lvl} = $config{"partySkill_$i"."_lvl"} || $char->getSkillLevel($party_skill{skillObject}); $party_skill{target} = $player->{name}; @@ -2954,11 +2958,11 @@ sub processPartySkillUse { if ($char->{party}{joined} && $char->{party}{users}{$party_skill{targetID}} && $char->{party}{users}{$party_skill{targetID}}{hp}) { $hp_diff = $char->{party}{users}{$party_skill{targetID}}{hp_max} - $char->{party}{users}{$party_skill{targetID}}{hp}; - + } elsif ($char->has_mercenary && $party_skill{targetID} eq $char->{mercenary}{ID} && $char->{mercenary}{hp} && $char->{mercenary}{hp_max}) { $hp_diff = $char->{mercenary}{hp_max} - $char->{mercenary}{hp}; $modifier /= 2; - + } else { if ($players{$party_skill{targetID}}) { $hp_diff = -$players{$party_skill{targetID}}{deltaHp}; @@ -3211,23 +3215,32 @@ sub processAutoAttack { } my $control = mon_control($monster->{name}, $monster->{nameID}); - if (!AI::is(qw/sitAuto take items_gather items_take/) + next unless (!AI::is(qw/sitAuto take items_gather items_take/) && $config{'attackAuto'} >= 2 && ($control->{attack_auto} == 1 || $control->{attack_auto} == 3) && (!$config{'attackAuto_onlyWhenSafe'} || isSafe()) && !$ai_v{sitAuto_forcedBySitCommand} && $attackOnRoute >= 2 && !$monster->{dmgFromYou} - && ($control->{dist} eq '' || blockDistance($monster->{pos}, calcPosition($char)) <= $control->{dist}) - && timeOut($monster->{attack_failed}, $timeout{ai_attack_unfail}{timeout}) - && timeOut($monster->{attack_failedLOS}, $timeout{ai_attack_failedLOS}{timeout})) { - my %hookArgs; - $hookArgs{monster} = $monster; - $hookArgs{return} = 1; - Plugins::callHook('checkMonsterAutoAttack', \%hookArgs); - next if (!$hookArgs{return}); - push @cleanMonsters, $_; - } + ); + + my $myPos = calcPosition($char); + my $target_pos = calcPosition($monster); + # TODO: Is there any situation where we should use calcPosFromPathfinding or calcPosFromTime here? + next unless ($control->{dist} eq '' || blockDistance($target_pos, $myPos) <= $control->{dist}); + + # TODO: Sometimes we had no LOS to attack mob and dropped it, but now it is following us and attacking us + # which means we now have LOS to is, it we should have a way to delete ai_attack_unfail and ai_attack_failedLOS + # timeouts in these cases. + next unless (timeOut($monster->{attack_failed}, $timeout{ai_attack_unfail}{timeout})); + next unless (timeOut($monster->{attack_failedLOS}, $timeout{ai_attack_failedLOS}{timeout})); + + my %hookArgs; + $hookArgs{monster} = $monster; + $hookArgs{return} = 1; + Plugins::callHook('checkMonsterAutoAttack', \%hookArgs); + next if (!$hookArgs{return}); + push @cleanMonsters, $_; } ### Step 2: Pick out the "best" monster ### @@ -3475,6 +3488,7 @@ sub processAutoTeleport { $timeout{ai_teleport_away}{time} = time; return; } elsif ($teleAuto < 0 && !$char->{dead}) { + # TODO: Is there any situation where we should use calcPosFromPathfinding or calcPosFromTime here? my $pos = calcPosition($monsters{$_}); my $myPos = calcPosition($char); my $dist = blockDistance($pos, $myPos); diff --git a/src/AI/Slave.pm b/src/AI/Slave.pm index ed1c8e235f..eb8877cd99 100644 --- a/src/AI/Slave.pm +++ b/src/AI/Slave.pm @@ -239,7 +239,7 @@ sub processFollow { ) { $slave->clear('move', 'route'); if (!$field->canMove($slave->{pos_to}, $char->{pos_to})) { - $slave->route(undef, @{$char->{pos_to}}{qw(x y)}, noMapRoute => 1, avoidWalls => 0, isFollow => 1); + $slave->route(undef, @{$char->{pos_to}}{qw(x y)}, noMapRoute => 1, avoidWalls => 0, randomFactor => 0, useManhattan => 1, isFollow => 1); debug TF("%s follow route (distance: %d)\n", $slave, $slave->{master_dist}), 'slave'; } elsif (timeOut($slave->{move_retry}, 0.5)) { @@ -288,7 +288,7 @@ sub processIdleWalk { splice(@cells, $index, 1); } return unless ($walk_pos); - $slave->route(undef, @{$walk_pos}{qw(x y)}, attackOnRoute => 2, noMapRoute => 1, avoidWalls => 0, isIdleWalk => 1); + $slave->route(undef, @{$walk_pos}{qw(x y)}, attackOnRoute => 2, noMapRoute => 1, avoidWalls => 0, randomFactor => 0, useManhattan => 1, isIdleWalk => 1); debug TF("%s IdleWalk route\n", $slave), 'slave'; } } @@ -426,11 +426,12 @@ sub processAutoAttack { $attackOnRoute = 2; } - ### Step 1: Generate a list of all monsters that we are allowed to attack. ### - my @aggressives; - my @partyMonsters; - my @cleanMonsters; - my $myPos = calcPosition($slave); + ### Step 1: Generate a list of all monsters that we are allowed to attack. ### + my @aggressives; + my @partyMonsters; + my @cleanMonsters; + # TODO: Is there any situation where we should use calcPosFromPathfinding or calcPosFromTime here? + my $myPos = calcPosition($slave); # List aggressive monsters my $party = $config{$slave->{configPrefix}.'attackAuto_party'} ? 1 : 0; @@ -444,10 +445,11 @@ sub processAutoAttack { # Never attack monsters that we failed to get LOS with next if (!timeOut($monster->{attack_failedLOS}, $timeout{ai_attack_failedLOS}{timeout})); - my $pos = calcPosition($monster); - my $master_pos = $char->position; - - next if (blockDistance($master_pos, $pos) > ($config{$slave->{configPrefix}.'followDistanceMax'} + $config{$slave->{configPrefix}.'attackMaxDistance'})); + # TODO: Is there any situation where we should use calcPosFromPathfinding or calcPosFromTime here? + my $target_pos = calcPosition($monster); + my $master_pos = $char->position; + + next if (blockDistance($master_pos, $target_pos) > ($config{$slave->{configPrefix}.'followDistanceMax'} + $config{$slave->{configPrefix}.'attackMaxDistance'})); # List monsters that master and other slaves are attacking if ( @@ -495,9 +497,10 @@ sub processAutoAttack { if ($config{$slave->{configPrefix}.'attackAuto'} >= 2 && ($control->{attack_auto} == 1 || $control->{attack_auto} == 3) && $attackOnRoute >= 2 && $safe - && !positionNearPlayer($pos, $playerDist) && !positionNearPortal($pos, $portalDist) + && !positionNearPlayer($target_pos, $playerDist) && !positionNearPortal($target_pos, $portalDist) && !$monster->{dmgFromYou} - && timeOut($monster->{$slave->{ai_attack_failed_timeout}}, $timeout{ai_attack_unfail}{timeout})) { + && timeOut($monster->{$slave->{ai_attack_failed_timeout}}, $timeout{ai_attack_unfail}{timeout}) + ) { push @cleanMonsters, $_; } } diff --git a/src/AI/SlaveAttack.pm b/src/AI/SlaveAttack.pm index c02b97d54c..e72843614b 100644 --- a/src/AI/SlaveAttack.pm +++ b/src/AI/SlaveAttack.pm @@ -16,6 +16,11 @@ use Skill; use Utils; use Utils::PathFinding; +use constant { + MOVING_TO_ATTACK => 1, + ATTACKING => 2, +}; + use AI::Slave; use AI::Slave::Homunculus; use AI::Slave::Mercenary; @@ -25,16 +30,14 @@ use AI::Slave::Mercenary; sub process { my $slave = shift; - if ( - ($slave->action eq "attack" && $slave->args->{ID}) - || ($slave->action eq "route" && $slave->action (1) eq "attack" && $slave->args->{attackID}) - || ($slave->action eq "move" && $slave->action (2) eq "attack" && $slave->args->{attackID}) - ) { + if (shouldAttack($slave, $slave->action, $slave->args)) { my $ID; my $ataqArgs; + my $stage; # 1 - moving to attack | 2 - attacking if ($slave->action eq "attack") { $ID = $slave->args->{ID}; $ataqArgs = $slave->args(0); + $stage = ATTACKING; } else { if ($slave->action(1) eq "attack") { $ataqArgs = $slave->args(1); @@ -43,126 +46,169 @@ sub process { $ataqArgs = $slave->args(2); } $ID = $slave->args->{attackID}; + $stage = MOVING_TO_ATTACK; } if (targetGone($slave, $ataqArgs, $ID)) { finishAttacking($slave, $ataqArgs, $ID); return; } elsif (shouldGiveUp($slave, $ataqArgs, $ID)) { - giveUp($slave, $ataqArgs, $ID); + giveUp($slave, $ataqArgs, $ID, 0); return; } my $target = Actor::get($ID); - if ($target) { - my $party = $config{$slave->{configPrefix}.'attackAuto_party'} ? 1 : 0; - my $target_is_aggressive = is_aggressive_slave($slave, $target, undef, 0, $party); - my @aggressives = ai_slave_getAggressives($slave, 0, $party); - if ($config{$slave->{configPrefix}.'attackChangeTarget'} && !$target_is_aggressive && @aggressives) { - my $attackTarget = getBestTarget(\@aggressives, $config{$slave->{configPrefix}.'attackCheckLOS'}, $config{$slave->{configPrefix}.'attackCanSnipe'}); - if ($attackTarget) { - $slave->sendAttackStop; - $slave->dequeue while ($slave->inQueue("attack")); - $slave->setSuspend(0); - my $new_target = Actor::get($attackTarget); - warning TF("%s target is not aggressive: %s, changing target to aggressive: %s.\n", $slave, $target, $new_target), 'slave_attack'; - $slave->attack($attackTarget); - AI::SlaveAttack::process($slave); - return; - } + unless ($target && $target->{type} ne 'Unknown') { + finishAttacking($slave, $ataqArgs, $ID); + return; + } + my $party = $config{$slave->{configPrefix}.'attackAuto_party'} ? 1 : 0; + my $target_is_aggressive = is_aggressive_slave($slave, $target, undef, 0, $party); + my @aggressives = ai_slave_getAggressives($slave, 0, $party); + if ($config{$slave->{configPrefix}.'attackChangeTarget'} && !$target_is_aggressive && @aggressives) { + my $attackTarget = getBestTarget(\@aggressives, $config{$slave->{configPrefix}.'attackCheckLOS'}, $config{$slave->{configPrefix}.'attackCanSnipe'}); + if ($attackTarget) { + $slave->sendAttackStop; + $slave->dequeue while ($slave->inQueue("attack")); + $slave->setSuspend(0); + my $new_target = Actor::get($attackTarget); + warning TF("%s target is not aggressive: %s, changing target to aggressive: %s.\n", $slave, $target, $new_target), 'slave_attack'; + $slave->attack($attackTarget); + AI::SlaveAttack::process($slave); + return; } } - } - - if ($slave->action eq "attack" && $slave->args->{suspended}) { - $slave->args->{ai_attack_giveup}{time} += time - $slave->args->{suspended}; - delete $slave->args->{suspended}; - } - if ($slave->action eq "attack" && $slave->args->{move_start}) { - # We've just finished moving to the monster. - # Don't count the time we spent on moving - $slave->args->{ai_attack_giveup}{time} += time - $slave->args->{move_start}; - undef $slave->args->{unstuck}{time}; - undef $slave->args->{move_start}; - - } elsif ($slave->action eq "attack" && $slave->args->{avoiding} && $slave->args->{ID}) { - my $ID = $slave->args->{ID}; - my $target = Actor::get($ID); - $slave->args->{ai_attack_giveup}{time} = time; - undef $slave->args->{avoiding}; - debug "$slave finished avoiding movement from target $target, updating ai_attack_giveup\n", 'slave_attack'; - - } elsif ((($slave->action eq "route" && $slave->action (1) eq "attack") || ($slave->action eq "move" && $slave->action (2) eq "attack")) - && $slave->args->{attackID} && timeOut($timeout{$slave->{ai_route_adjust_timeout}})) { - # We're on route to the monster; check whether the monster has moved - my $ID = $slave->args->{attackID}; - my $attackSeq = ($slave->action eq "route") ? $slave->args (1) : $slave->args (2); - my $target = Actor::get($ID); - my $realMyPos = calcPosition($slave); - my $realMonsterPos = calcPosition($target); - - if ( - $target->{type} ne 'Unknown' && - $attackSeq->{monsterPos} && - %{$attackSeq->{monsterPos}} && - $attackSeq->{monsterLastMoveTime} && - $attackSeq->{monsterLastMoveTime} != $target->{time_move} - ) { - # Monster has moved; stop moving and let the attack AI readjust route - debug "$slave target $target has moved since we started routing to it - Adjusting route\n", 'slave_attack'; - $slave->dequeue while ($slave->is("move", "route")); - - $attackSeq->{ai_attack_giveup}{time} = time; - - } elsif ( - $target->{type} ne 'Unknown' && - $attackSeq->{monsterPos} && - %{$attackSeq->{monsterPos}} && - $attackSeq->{monsterLastMoveTime} && - $attackSeq->{attackMethod}{maxDistance} == 1 && - canReachMeleeAttack($realMyPos, $realMonsterPos) && - (blockDistance($realMyPos, $realMonsterPos) < 2 || !$config{$slave->{configPrefix}.'attackCheckLOS'} ||($config{$slave->{configPrefix}.'attackCheckLOS'} && blockDistance($realMyPos, $realMonsterPos) == 2 && $field->checkLOS($realMyPos, $realMonsterPos, $config{$slave->{configPrefix}.'attackCanSnipe'}))) - ) { - debug "$slave target $target is now reachable by melee attacks during routing to it.\n", 'slave_attack'; - $slave->dequeue while ($slave->is("move", "route")); + my $cleanMonster = slave_checkMonsterCleanness($slave, $ID); + if (!$cleanMonster) { + message TF("%s dropping target %s - will not kill steal others\n", $slave, $target), 'slave_attack'; + $slave->sendAttackStop; + $target->{slave_ignore} = 1; + $slave->dequeue while ($slave->inQueue("attack")); - $attackSeq->{ai_attack_giveup}{time} = time; + if ($config{$slave->{configPrefix}.'teleportAuto_dropTargetKS'}) { + message TF("Teleport due to dropping %s attack target\n", $slave), 'teleport'; + ai_useTeleport(1); + } + return; } + + if ($stage == MOVING_TO_ATTACK) { + # Check for hidden monsters + if (($target->{statuses}->{EFFECTSTATE_BURROW} || $target->{statuses}->{EFFECTSTATE_HIDING}) && $config{avoidHiddenMonsters}) { + message TF("Slave %s Dropping target %s - will not attack hidden monsters\n", $slave, $target), 'ai_attack'; + $slave->sendAttackStop; + $target->{ignore} = 1; - $timeout{$slave->{ai_route_adjust_timeout}}{time} = time; - } - - if ($slave->action eq "attack" && timeOut($slave->args->{attackMainTimeout}, 0.1)) { - $slave->args->{attackMainTimeout} = time; - main($slave); - } + $slave->dequeue while ($slave->inQueue("attack")); + if ($config{teleportAuto_dropTargetHidden}) { + message T("Teleport due to dropping hidden target\n"); + ai_useTeleport(1); + } + return; + } + + # We're on route to the monster; check whether the monster has moved + if ($slave->args->{attackID} && timeOut($timeout{$slave->{ai_route_adjust_timeout}})) { + my $reset = 0; + if ($target->{type} ne 'Unknown') { + # Monster has moved; stop moving and let the attack AI readjust route + if ( + $ataqArgs->{monsterLastMoveTime} && + $ataqArgs->{monsterLastMoveTime} != $target->{time_move} + ) { + if ( + ($slave->args->{monsterLastMovePosTo}{x} == $target->{pos_to}{x} && $slave->args->{monsterLastMovePosTo}{y} == $target->{pos_to}{y}) + ) { + $slave->args->{monsterLastMoveTime} = $target->{time_move}; + $slave->args->{monsterLastMovePosTo}{x} = $target->{pos_to}{x}; + $slave->args->{monsterLastMovePosTo}{y} = $target->{pos_to}{y}; + } else { + debug "$slave target $target has moved since we started routing to it - Adjusting route\n", 'slave_attack'; + $reset = 1; + } - # Check for kill steal while moving - if (($slave->is("move", "route") && $slave->args->{attackID} && $slave->inQueue("attack") - && timeOut($slave->args->{movingWhileAttackingTimeout}, 0.2))) { + # Master has moved; stop moving and let the attack AI readjust route + } elsif ( + $ataqArgs->{masterLastMoveTime} && + $ataqArgs->{masterLastMoveTime} != $char->{time_move} + ) { + if ( + ($slave->args->{masterLastMovePosTo}{x} == $char->{pos_to}{x} && $slave->args->{masterLastMovePosTo}{y} == $char->{pos_to}{y}) + ) { + $slave->args->{masterLastMoveTime} = $char->{time_move}; + $slave->args->{masterLastMovePosTo}{x} = $char->{pos_to}{x}; + $slave->args->{masterLastMovePosTo}{y} = $char->{pos_to}{y}; + } else { + debug "$slave master $char has moved since we started routing to target $target - Adjusting route\n", 'slave_attack'; + $reset = 1; + } + } + if ($reset) { + $slave->dequeue while ($slave->is("move", "route")); + $ataqArgs->{ai_attack_giveup}{time} = time; + $ataqArgs->{sentApproach} = 0; + undef $slave->args->{unstuck}{time}; + undef $slave->args->{avoiding}; + undef $slave->args->{move_start}; + } + } + + $timeout{$slave->{ai_route_adjust_timeout}}{time} = time; + } + } - my $ID = $slave->args->{attackID}; - my $monster = $monsters{$ID}; + if ($stage == ATTACKING) { + if ($slave->args->{suspended}) { + $slave->args->{ai_attack_giveup}{time} += time - $slave->args->{suspended}; + delete $slave->args->{suspended}; + + # We've just finished moving to the monster. + # Don't count the time we spent on moving + } elsif ($slave->args->{move_start}) { + $slave->args->{ai_attack_giveup}{time} += time - $slave->args->{move_start}; + undef $slave->args->{unstuck}{time}; + undef $slave->args->{move_start}; + + } elsif ($slave->args->{avoiding}) { + $slave->args->{ai_attack_giveup}{time} = time; + undef $slave->args->{avoiding}; + debug "$slave finished avoiding movement from target $target, updating ai_attack_giveup\n", 'slave_attack'; + } - # Check for kill steal while moving - if ($monster && !Misc::slave_checkMonsterCleanness($slave, $ID)) { - dropTargetWhileMoving($slave); + if (timeOut($timeout{$slave->{ai_attack_main}})) { + main($slave); + $timeout{$slave->{ai_attack_main}}{time} = time; + } } - - $slave->args->{movingWhileAttackingTimeout} = time; } } +sub shouldAttack { + my ($slave, $action, $args) = @_; + return ( + ($slave->action eq "attack" && $slave->args->{ID}) || + ($slave->action eq "route" && $slave->action (1) eq "attack" && $slave->args->{attackID}) || + ($slave->action eq "move" && $slave->action (2) eq "attack" && $slave->args->{attackID}) + ); +} + sub shouldGiveUp { my ($slave, $args, $ID) = @_; return !$config{$slave->{configPrefix}.'attackNoGiveup'} && (timeOut($args->{ai_attack_giveup}) || $args->{unstuck}{count} > 5) } sub giveUp { - my ($slave, $args, $ID) = @_; + my ($slave, $args, $ID, $LOS) = @_; my $target = Actor::get($ID); - $target->{$slave->{ai_attack_failed_timeout}} = time if $monsters{$ID}; + if ($monsters{$ID}) { + if ($LOS) { + $target->{attack_failedLOS} = time; + } else { + $target->{$slave->{ai_attack_failed_timeout}} = time; + } + } + $target->{dmgFromPlayer}{$slave->{ID}} = 0; # Hack | TODO: Fix me $slave->dequeue while ($slave->inQueue("attack")); message TF("%s can't reach or damage target, dropping target\n", $slave), 'slave_attack'; if ($config{$slave->{configPrefix}.'teleportAuto_dropTarget'}) { @@ -220,25 +266,52 @@ sub finishAttacking { ID => $ID, slave => $slave }) - } -sub dropTargetWhileMoving { - my $slave = shift; - my $ID = $slave->args->{attackID}; - my $target = Actor::get($ID); - message TF("%s dropping target %s - will not kill steal others\n", $slave, $target), 'slave_attack'; - $slave->sendAttackStop; - $target->{slave_ignore} = 1; - - # Right now, the queue is either - # move, route, attack - # -or- - # route, attack - $slave->dequeue while ($slave->inQueue("attack")); - if ($config{$slave->{configPrefix}.'teleportAuto_dropTargetKS'}) { - message TF("Teleport due to dropping %s attack target\n", $slave), 'teleport'; - ai_useTeleport(1); +sub find_kite_position { + my ($slave, $args, $inAdvance, $target, $realMyPos, $realMonsterPos, $noAttackMethodFallback_runFromTarget) = @_; + + my $maxDistance; + if (!$noAttackMethodFallback_runFromTarget && defined $args->{attackMethod}{type} && defined $args->{attackMethod}{maxDistance}) { + $maxDistance = $args->{attackMethod}{maxDistance}; + } elsif ($noAttackMethodFallback_runFromTarget) { + $maxDistance = $config{$slave->{configPrefix}.'runFromTarget_noAttackMethodFallback_attackMaxDist'}; + } else { + # Should never happen. + return 0; + } + + # We try to find a position to kite from at least runFromTarget_minStep away from the target but at maximun {attackMethod}{maxDistance} away from it + my $pos = meetingPosition($slave, 2, $target, $maxDistance, ($noAttackMethodFallback_runFromTarget ? 2 : 1)); + if ($pos) { + if ($inAdvance) { + debug TF("[%s] [runFromTarget_inAdvance] kiting in advance (%d %d) to (%d %d), mob at (%d %d).\n", $slave, $realMyPos->{x}, $realMyPos->{y}, $pos->{x}, $pos->{y}, $realMonsterPos->{x}, $realMonsterPos->{y}), 'ai_attack'; + } elsif ($noAttackMethodFallback_runFromTarget) { + debug TF("[%s] [runFromTarget_noAttackMethodFallback] kiting in advance (%d %d) to (%d %d), mob at (%d %d).\n", $slave, $realMyPos->{x}, $realMyPos->{y}, $pos->{x}, $pos->{y}, $realMonsterPos->{x}, $realMonsterPos->{y}), 'ai_attack'; + } else { + debug TF("[%s] [runFromTarget] (attackmaxDistance %s) kiteing from (%d %d) to (%d %d), mob at (%d %d).\n", $slave, $maxDistance, $realMyPos->{x}, $realMyPos->{y}, $pos->{x}, $pos->{y}, $realMonsterPos->{x}, $realMonsterPos->{y}), 'ai_attack'; + } + $args->{avoiding} = 1; + $slave->route( + undef, + @{$pos}{qw(x y)}, + noMapRoute => 1, + avoidWalls => 0, + randomFactor => 0, + useManhattan => 1, + runFromTarget => 1 + ); + return 1; + + } else { + if ($inAdvance) { + debug TF("[%s] [runFromTarget_inAdvance] no acceptable place to kite in advance from (%d %d), mob at (%d %d).\n", $slave, $realMyPos->{x}, $realMyPos->{y}, $realMonsterPos->{x}, $realMonsterPos->{y}), 'ai_attack'; + } elsif ($noAttackMethodFallback_runFromTarget) { + debug TF("[%s] [runFromTarget_noAttackMethodFallback] no acceptable place to kite from (%d %d), mob at (%d %d).\n", $slave, $realMyPos->{x}, $realMyPos->{y}, $realMonsterPos->{x}, $realMonsterPos->{y}), 'ai_attack'; + } else { + debug TF("[%s] [runFromTarget] no acceptable place to kite from (%d %d), mob at (%d %d).\n", $slave, $realMyPos->{x}, $realMyPos->{y}, $realMonsterPos->{x}, $realMonsterPos->{y}), 'ai_attack'; + } + return 0; } } @@ -255,13 +328,32 @@ sub main { my $monsterPos = $target->{pos_to}; my $monsterDist = blockDistance($myPos, $monsterPos); - my ($realMyPos, $realMonsterPos, $realMonsterDist, $hitYou); - my $realMyPos = calcPosition($slave); - my $realMonsterPos = calcPosition($target); + my $realMyPos = calcPosFromPathfinding($field, $slave); + my $realMonsterPos = calcPosFromPathfinding($field, $target); + my $realMonsterDist = blockDistance($realMyPos, $realMonsterPos); - - my $cleanMonster = slave_checkMonsterCleanness($slave, $ID); - + my $clientDist = getClientDist($realMyPos, $realMonsterPos); + + #my $realMasterPos = calcPosFromPathfinding($field, $char); + #my $realMasterDistToSlave = blockDistance($realMasterPos, $realMyPos); + #my $realMasterDistToTarget = blockDistance($realMasterPos, $realMonsterPos); + + if (!exists $args->{first_run}) { + $args->{first_run} = 1; + } elsif ($args->{first_run} == 1) { + $args->{first_run} = 0; + } + + #my $failed_to_attack_packet_recv = 0; + + if (!exists $args->{temporary_extra_range} || !defined $args->{temporary_extra_range}) { + $args->{temporary_extra_range} = 0; + } + + #if (exists $target->{movetoattack_pos} && exists $char->{movetoattack_pos}) { + # $failed_to_attack_packet_recv = 1; + # $args->{temporary_extra_range} = 0; + #} # If the damage numbers have changed, update the giveup time so we don't timeout if ($args->{dmgToYou_last} != $target->{dmgToPlayer}{$slave->{ID}} @@ -270,213 +362,282 @@ sub main { $args->{ai_attack_giveup}{time} = time; debug "Update slave attack giveup time\n", 'slave_attack', 2; } - $hitYou = ($args->{dmgToYou_last} != $target->{dmgToPlayer}{$slave->{ID}} - || $args->{missedYou_last} != $target->{missedToPlayer}{$slave->{ID}}); + + my $hitYou = ($args->{dmgToYou_last} != $target->{dmgToPlayer}{$slave->{ID}} || $args->{missedYou_last} != $target->{missedToPlayer}{$slave->{ID}}); + my $youHitTarget = ($args->{dmgFromYou_last} != $target->{dmgFromPlayer}{$slave->{ID}}); + + # Hack - TODO: Fix me - If the homunculus dies trying to kill a monster and is resurrected still next to that monster it will think that it is still hitting the mob, this avoids that behaviour + if ($youHitTarget && $args->{first_run}) { + $youHitTarget = 0; + } + $args->{dmgToYou_last} = $target->{dmgToPlayer}{$slave->{ID}}; $args->{missedYou_last} = $target->{missedToPlayer}{$slave->{ID}}; $args->{dmgFromYou_last} = $target->{dmgFromPlayer}{$slave->{ID}}; $args->{missedFromYou_last} = $target->{missedFromPlayer}{$slave->{ID}}; - - $args->{attackMethod}{type} = "weapon"; - + + delete $args->{attackMethod}; + # $target->{dmgFromPlayer}{$slave->{ID}} - $target->{dmgTo} + # $target->{dmgFromPlayer}{$slave->{ID}} - $target->{dmgFromYou} + ### attackSkillSlot begin for (my ($i, $prefix) = (0, 'attackSkillSlot_0'); $prefix = "attackSkillSlot_$i" and exists $config{$prefix}; $i++) { next unless $config{$prefix}; - if (checkSelfCondition($prefix) && checkMonsterCondition("${prefix}_target", $target)) { - my $skill = new Skill(auto => $config{$prefix}); - next unless $slave->checkSkillOwnership ($skill); - - next if $config{"${prefix}_maxUses"} && $target->{skillUses}{$skill->getHandle()} >= $config{"${prefix}_maxUses"}; - next if $config{"${prefix}_target"} && !existsInList($config{"${prefix}_target"}, $target->{name}); - - # Donno if $char->getSkillLevel is the right place to look at. - # my $lvl = $config{"${prefix}_lvl"} || $char->getSkillLevel($party_skill{skillObject}); - my $lvl = $config{"${prefix}_lvl"}; - my $maxCastTime = $config{"${prefix}_maxCastTime"}; - my $minCastTime = $config{"${prefix}_minCastTime"}; - debug "Slave attackSkillSlot on $target->{name} ($target->{binID}): ".$skill->getName()." (lvl $lvl)\n", "monsterSkill"; - my $skillTarget = $config{"${prefix}_isSelfSkill"} ? $slave : $target; - AI::ai_skillUse2($skill, $lvl, $maxCastTime, $minCastTime, $skillTarget, $prefix); - $ai_v{$prefix . "_time"} = time; - $ai_v{$prefix . "_target_time"}{$ID} = time; - last; - } + + next unless (checkSelfCondition($prefix)); + + next unless (checkMonsterCondition("${prefix}_target", $target)); + + my $skill = new Skill(auto => $config{$prefix}); + next unless $slave->checkSkillOwnership ($skill); + + next if $config{"${prefix}_maxUses"} && $target->{skillUses}{$skill->getHandle()} >= $config{"${prefix}_maxUses"}; + + next unless (!$config{"${prefix}_maxAttempts"} || $args->{attackSkillSlot_attempts}{$i} < $config{"${prefix}_maxAttempts"}); + + next unless (!$config{"${prefix}_monsters"} || existsInList($config{"${prefix}_monsters"}, $target->{'name'}) || existsInList($config{"${prefix}_monsters"}, $target->{nameID})); + + next unless (!$config{"${prefix}_notMonsters"} || !(existsInList($config{"${prefix}_notMonsters"}, $target->{'name'}) || existsInList($config{"${prefix}_notMonsters"}, $target->{nameID}))); + + next unless (!$config{"${prefix}_previousDamage"} || inRange($target->{dmgTo}, $config{"${prefix}_previousDamage"})); + + $args->{attackSkillSlot_attempts}{$i}++; + $args->{attackMethod}{distance} = $config{"${prefix}_dist"}; + $args->{attackMethod}{maxDistance} = $config{"${prefix}_maxDist"} || $config{"${prefix}_dist"}; + $args->{attackMethod}{type} = "skill"; + $args->{attackMethod}{skillSlot} = $i; + last; } ### attackSkillSlot end - - $args->{attackMethod}{maxDistance} = $config{$slave->{configPrefix}.'attackMaxDistance'}; - $args->{attackMethod}{distance} = ($config{$slave->{configPrefix}.'runFromTarget'} && $config{$slave->{configPrefix}.'runFromTarget_dist'} > $config{$slave->{configPrefix}.'attackDistance'}) ? $config{$slave->{configPrefix}.'runFromTarget_dist'} : $config{$slave->{configPrefix}.'attackDistance'}; + + if (!$args->{attackMethod}{type}) { + if ($config{$slave->{configPrefix}.'attackUseWeapon'}) { + $args->{attackMethod}{type} = "weapon"; + $args->{attackMethod}{distance} = $config{$slave->{configPrefix}.'attackDistance'}; + $args->{attackMethod}{maxDistance} = $config{$slave->{configPrefix}.'attackMaxDistance'}; + } else { + undef $args->{attackMethod}{type}; + $args->{attackMethod}{distance} = 1; + $args->{attackMethod}{maxDistance} = 1; + } + } + if ($args->{attackMethod}{maxDistance} < $args->{attackMethod}{distance}) { $args->{attackMethod}{maxDistance} = $args->{attackMethod}{distance}; } + my $melee; + my $ranged; if (defined $args->{attackMethod}{type} && exists $args->{ai_attack_failed_give_up} && defined $args->{ai_attack_failed_give_up}{time}) { + debug "[Slave $slave] Deleting ai_attack_failed_give_up time.\n"; delete $args->{ai_attack_failed_give_up}{time}; - } + + } elsif ($args->{attackMethod}{maxDistance} == 1) { + $melee = 1; - if (!$cleanMonster) { - # Drop target if it's already attacked by someone else - $target->{$slave->{ai_attack_failed_timeout}} = time if $monsters{$ID}; - message TF("%s dropping target %s - will not kill steal others\n", $slave, $target), 'slave_attack'; - $slave->sendMove ($realMyPos->{x}, $realMyPos->{y}); - $slave->dequeue while ($slave->inQueue("attack")); - if ($config{$slave->{configPrefix}.'teleportAuto_dropTargetKS'}) { - message TF("Teleport due to dropping %s attack target\n", $slave), 'teleport'; - ai_useTeleport(1); + } elsif ($args->{attackMethod}{maxDistance} > 1) { + $ranged = 1; + } + + #$args->{attackMethod}{maxDistance} += $args->{temporary_extra_range}; + + # -2: undefined attackMethod + # -1: No LOS + # 0: out of range + # 1: sucess + my $canAttack = -2; + if (defined $args->{attackMethod}{type} && defined $args->{attackMethod}{maxDistance}) { + $canAttack = canAttack($field, $realMyPos, $realMonsterPos, $config{$slave->{configPrefix}.'attackCanSnipe'}, $args->{attackMethod}{maxDistance}, $config{clientSight}); + } else { + $canAttack = -2; + } + + my $range_type_string = ($melee ? "Melee" : ($ranged ? "Ranged" : "None")); + my $canAttack_fail_string = (($canAttack == -2) ? "No Method" : (($canAttack == -1) ? "No LOS" : (($canAttack == 0) ? "No Range" : "OK"))); + + # Here we check if the monster which we are waiting to get closer to us is in fact close enough + # If it is close enough delete the ai_attack_failed_waitForAgressive_give_up keys and loop attack logic + if ( + $config{$slave->{configPrefix}."attackBeyondMaxDistance_waitForAgressive"} + && $target->{dmgFromPlayer}{$slave->{ID}} > 0 + && $canAttack == 1 + && exists $args->{ai_attack_failed_waitForAgressive_give_up} + && defined $args->{ai_attack_failed_waitForAgressive_give_up}{time} + ) { + debug "[Slave $slave] Deleting ai_attack_failed_waitForAgressive_give_up time.\n"; + delete $args->{ai_attack_failed_waitForAgressive_give_up}{time}; + } + + # Here we check if we have finished moving to the meeting position to attack our target, only checks this if attackWaitApproachFinish is set to 1 in config + # If so sets sentApproach to 0 + if ( + $config{$slave->{configPrefix}."attackWaitApproachFinish"} && + ($canAttack == 0 || $canAttack == -1) && + $args->{sentApproach} + ) { + if (!timeOut($slave->{time_move}, $slave->{time_move_calc})) { + debug TF("[Slave] [Out of Range - Still Approaching - Waiting] %s (%d %d), target %s (%d %d), distance %d, maxDistance %d.\n", $slave, $realMyPos->{x}, $realMyPos->{y}, $target, $realMonsterPos->{x}, $realMonsterPos->{y}, $realMonsterDist, $args->{attackMethod}{maxDistance}), 'ai_attack'; + return; + } else { + debug TF("[Slave] [Out of Range - Ended Approaching] %s (%d %d), target %s (%d %d), distance %d, maxDistance %d.\n", $slave, $realMyPos->{x}, $realMyPos->{y}, $target, $realMonsterPos->{x}, $realMonsterPos->{y}, $realMonsterDist, $args->{attackMethod}{maxDistance}), 'ai_attack'; + $args->{sentApproach} = 0; } + } + + my $found_action = 0; + my $failed_runFromTarget = 0; + my $hitTarget_when_not_possible = 0; - } elsif ($config{$slave->{configPrefix}.'runFromTarget'} && ($realMonsterDist < $config{$slave->{configPrefix}.'runFromTarget_dist'} || $hitYou)) { - my $cell = meetingPosition($slave, 2, $target, $args->{attackMethod}{maxDistance}, 1); - if ($cell) { - debug TF("[runFromTarget] %s kiteing from (%d %d) to (%d %d), mob at (%d %d).\n", $slave, $realMyPos->{x}, $realMyPos->{y}, $cell->{x}, $cell->{y}, $realMonsterPos->{x}, $realMonsterPos->{y}), 'slave_attack'; - $slave->args->{avoiding} = 1; - $slave->route(undef, @{$cell}{qw(x y)}, noMapRoute => 1, avoidWalls => 0, runFromTarget => 1); + # Here, if runFromTarget is active, we check if the target mob is closer to us than the minimun distance specified in runFromTarget_dist + # If so try to kite it + if ( + !$found_action && + $config{$slave->{configPrefix}."runFromTarget"} && + $realMonsterDist < $config{$slave->{configPrefix}."runFromTarget_dist"} + ) { + my $try_runFromTarget = find_kite_position($slave, $args, 0, $target, $realMyPos, $realMonsterPos, 0); + if ($try_runFromTarget) { + $found_action = 1; } else { - debug TF("%s no acceptable place to kite from (%d %d), mob at (%d %d).\n", $slave, $realMyPos->{x}, $realMyPos->{y}, $realMonsterPos->{x}, $realMonsterPos->{y}), 'slave_attack'; + $failed_runFromTarget = 1; } - - if (!$cell) { - my $max = $args->{attackMethod}{maxDistance} + 4; - if ($max > 14) { - $max = 14; - } - $cell = meetingPosition($slave, 2, $target, $max, 1); - if ($cell) { - debug TF("[runFromTarget] %s kiteing from (%d %d) to (%d %d), mob at (%d %d).\n", $slave, $realMyPos->{x}, $realMyPos->{y}, $cell->{x}, $cell->{y}, $realMonsterPos->{x}, $realMonsterPos->{y}), 'slave_attack'; - $args->{avoiding} = 1; - $slave->route(undef, @{$cell}{qw(x y)}, noMapRoute => 1, avoidWalls => 0, runFromTarget => 1); - } else { - debug TF("%s no acceptable place to kite from (%d %d), mob at (%d %d).\n", $slave, $realMyPos->{x}, $realMyPos->{y}, $realMonsterPos->{x}, $realMonsterPos->{y}), 'slave_attack'; - } + } + + # Here, if runFromTarget is active, and we can't attack right now (eg. all skills in cooldown) we check if the target mob is closer to us than the minimun distance specified in runFromTarget_noAttackMethodFallback_minStep + # If so try to kite it using maxdistance of runFromTarget_noAttackMethodFallback_attackMaxDist + if ( + !$found_action && + $canAttack == -2 && + #$config{"runFromTarget"} && + $config{$slave->{configPrefix}."runFromTarget_noAttackMethodFallback"} && + $realMonsterDist < $config{$slave->{configPrefix}."runFromTarget_noAttackMethodFallback_minStep"} + ) { + my $try_runFromTarget = find_kite_position($slave, $args, 0, $target, $realMyPos, $realMonsterPos, 1); + if ($try_runFromTarget) { + $found_action = 1; } + } - - } elsif(!defined $args->{attackMethod}{type}) { - debug T("Can't determine a attackMethod (check attackUseWeapon and Skills blocks)\n"), 'slave_attack'; + if ( + !$found_action && + $canAttack == -2 + ) { + debug T("[Slave $slave] Can't determine a attackMethod (check attackUseWeapon and Skills blocks)\n"), "ai_attack"; $args->{ai_attack_failed_give_up}{timeout} = 6 if !$args->{ai_attack_failed_give_up}{timeout}; $args->{ai_attack_failed_give_up}{time} = time if !$args->{ai_attack_failed_give_up}{time}; if (timeOut($args->{ai_attack_failed_give_up})) { delete $args->{ai_attack_failed_give_up}{time}; - message T("$slave unable to determine a attackMethod (check attackUseWeapon and Skills blocks)\n"), 'slave_attack'; - giveUp($slave, $args, $ID); + warning T("[$slave] Unable to determine a attackMethod (check attackUseWeapon and Skills blocks), dropping target.\n"), "ai_attack"; + $found_action = 1; + giveUp($args, $ID, 0); } - - - } elsif ( - # We are out of range, but already hit enemy, should wait for him in a safe place instead of going after him - # Example at https://youtu.be/kTRk5Na1aCQ?t=25 in which this check did not exist, we tried getting closer intead of waiting and got hit - ($args->{attackMethod}{maxDistance} > 1 && $realMonsterDist > $args->{attackMethod}{maxDistance}) && - #(!$config{$slave->{configPrefix}.'attackCheckLOS'} || $field->checkLOS($realMyPos, $realMonsterPos, $config{$slave->{configPrefix}.'attackCanSnipe'})) && # Is this check needed? + } + + if ($canAttack == 0 && $youHitTarget) { + debug TF("[%s] [%s - %s] We were able to hit target even though it is out of range or LOS, accepting and continuing. (you (%d %d), target %s (%d %d) [(%d %d) -> (%d %d)], distance %d, maxDistance %d)\n", $slave, $canAttack_fail_string, $range_type_string, $realMyPos->{x}, $realMyPos->{y}, $target, $realMonsterPos->{x}, $realMonsterPos->{y}, $target->{pos}{x}, $target->{pos}{y}, $target->{pos_to}{x}, $target->{pos_to}{y}, $realMonsterDist, $args->{attackMethod}{maxDistance}), 'ai_attack'; + if ($clientDist > $args->{attackMethod}{maxDistance} && $clientDist <= ($args->{attackMethod}{maxDistance} + 1) && $args->{temporary_extra_range} == 0) { + debug TF("[$canAttack_fail_string] Probably extra range provided by the server due to chasing, increasing range by 1.\n"), 'ai_attack'; + $args->{temporary_extra_range} = 1; + $args->{attackMethod}{maxDistance} += $args->{temporary_extra_range}; + $canAttack = canAttack($field, $realMyPos, $realMonsterPos, $config{$slave->{configPrefix}."attackCanSnipe"}, $args->{attackMethod}{maxDistance}, $config{clientSight}); + } else { + debug TF("[%s] [%s] Reason unknown, allowing once.\n", $slave, $canAttack_fail_string), 'ai_attack'; + $hitTarget_when_not_possible = 1; + } + if ( + $config{$slave->{configPrefix}."attackBeyondMaxDistance_waitForAgressive"} && + exists $args->{ai_attack_failed_waitForAgressive_give_up} && + defined $args->{ai_attack_failed_waitForAgressive_give_up}{time} + ) { + debug TF("[%s] [Accepting] Deleting ai_attack_failed_waitForAgressive_give_up time.\n", $slave), 'ai_attack'; + delete $args->{ai_attack_failed_waitForAgressive_give_up}{time};; + } + } + + # Here we decide what to do when a mob we have already hit is no longer in range or we have no LOS to it + # We also check if we have waited too long for the monster which we are waiting to get closer to us to approach + # TODO: Maybe we should separate this into 2 sections, one for out of range and another for no LOS - low priority + if ( + !$found_action && $config{$slave->{configPrefix}."attackBeyondMaxDistance_waitForAgressive"} && - $target->{dmgFromPlayer}{$slave->{ID}} > 0 + $target->{dmgFromPlayer}{$slave->{ID}} > 0 && + ($canAttack == 0 || $canAttack == -1) && + !$hitTarget_when_not_possible ) { $args->{ai_attack_failed_waitForAgressive_give_up}{timeout} = 6 if !$args->{ai_attack_failed_waitForAgressive_give_up}{timeout}; $args->{ai_attack_failed_waitForAgressive_give_up}{time} = time if !$args->{ai_attack_failed_waitForAgressive_give_up}{time}; - if (timeOut($args->{ai_attack_failed_waitForAgressive_give_up})) { delete $args->{ai_attack_failed_waitForAgressive_give_up}{time}; - message T("[Out of Range] $slave waited too long for target to get closer, dropping target\n"), 'slave_attack'; - giveUp($slave, $args, $ID); + warning TF("[%s] [%s - %s] Waited too long for target to get closer, dropping target. (you (%d %d), target %s (%d %d) [(%d %d) -> (%d %d)], distance %d, maxDistance %d)\n", $slave, $canAttack_fail_string, $range_type_string, $realMyPos->{x}, $realMyPos->{y}, $target, $realMonsterPos->{x}, $realMonsterPos->{y}, $target->{pos}{x}, $target->{pos}{y}, $target->{pos_to}{x}, $target->{pos_to}{y}, $realMonsterDist, $args->{attackMethod}{maxDistance}), 'ai_attack'; + giveUp($slave, $args, $ID, 0); } else { - warning TF("[Out of Range - Waiting] %s (%d %d), target %s (%d %d), distance %d, maxDistance %d, dmgFromYou %d.\n", $slave, $realMyPos->{x}, $realMyPos->{y}, $target, $realMonsterPos->{x}, $realMonsterPos->{y}, $realMonsterDist, $args->{attackMethod}{maxDistance}, $target->{dmgFromPlayer}{$slave->{ID}}), 'slave_attack'; + $slave->sendAttack($ID) if ($config{$slave->{configPrefix}."attackBeyondMaxDistance_sendAttackWhileWaiting"}); + debug TF("[%s] [%s - %s] [Waiting] (%d %d), target %s (%d %d) [(%d %d) -> (%d %d)], distance %d, maxDistance %d.\n", $slave, $canAttack_fail_string, $range_type_string, $realMyPos->{x}, $realMyPos->{y}, $target, $realMonsterPos->{x}, $realMonsterPos->{y}, $target->{pos}{x}, $target->{pos}{y}, $target->{pos_to}{x}, $target->{pos_to}{y}, $realMonsterDist, $args->{attackMethod}{maxDistance}), 'ai_attack'; } + $found_action = 1; + } - } elsif ( - # We are out of range - ($args->{attackMethod}{maxDistance} == 1 && !canReachMeleeAttack($realMyPos, $realMonsterPos)) || - ($args->{attackMethod}{maxDistance} > 1 && $realMonsterDist > $args->{attackMethod}{maxDistance}) + # Here we decide what to do with a mob which is out of range or we have no LOS to + if ( + !$found_action && + ($canAttack == 0 || $canAttack == -1) && + !$hitTarget_when_not_possible ) { - # The target monster moved; move to target - $args->{move_start} = time; - $args->{monsterPos} = {%{$monsterPos}}; - $args->{monsterLastMoveTime} = $target->{time_move}; + debug "Attack $slave ($realMyPos->{x} $realMyPos->{y}) - target $target ($realMonsterPos->{x} $realMonsterPos->{y})\n"; + if ($canAttack == 0) { + debug "[Slave $slave] [Attack] [$range_type_string] [No range] Too far from us to attack, distance is $realMonsterDist, attack maxDistance is $args->{attackMethod}{maxDistance}\n", 'ai_attack'; - debug "$slave target $target ($realMonsterPos->{x} $realMonsterPos->{y}) is too far from slave ($realMyPos->{x} $realMyPos->{y}) to attack, distance is $realMonsterDist, attack maxDistance is $args->{attackMethod}{maxDistance}\n", 'slave_attack'; + } elsif ($canAttack == -1) { + debug "[Slave $slave] [Attack] [$range_type_string] [No LOS] No LOS from player to mob\n", 'ai_attack'; + } my $pos = meetingPosition($slave, 2, $target, $args->{attackMethod}{maxDistance}); - my $result; - if ($pos) { - debug "Attack $slave ($realMyPos->{x} $realMyPos->{y}) - moving to meeting position ($pos->{x} $pos->{y})\n", 'slave_attack'; - - $result = $slave->route( + debug "Attack $slave ($realMyPos->{x} $realMyPos->{y}) - moving to meeting position ($pos->{x} $pos->{y})\n", 'ai_attack'; + + $args->{move_start} = time; + $args->{monsterLastMoveTime} = $target->{time_move}; + $args->{monsterLastMovePosTo}{x} = $target->{pos_to}{x}; + $args->{monsterLastMovePosTo}{y} = $target->{pos_to}{y}; + + $args->{masterLastMoveTime} = $char->{time_move}; + $args->{masterLastMovePosTo}{x} = $char->{pos_to}{x}; + $args->{masterLastMovePosTo}{y} = $char->{pos_to}{y}; + $args->{sentApproach} = 1; + + my $sendAttackWithMove = 0; + if ($config{$slave->{configPrefix}."attackSendAttackWithMove"} && $args->{attackMethod}{type} eq "weapon") { + $sendAttackWithMove = 1; + } + + $slave->route( undef, @{$pos}{qw(x y)}, maxRouteTime => $config{$slave->{configPrefix}.'attackMaxRouteTime'}, attackID => $ID, + sendAttackWithMove => $sendAttackWithMove, avoidWalls => 0, + randomFactor => 0, + useManhattan => 1, meetingSubRoute => 1, noMapRoute => 1 ); - - if (!$result) { - # Unable to calculate a route to target - $target->{$slave->{ai_attack_failed_timeout}} = time; - $slave->dequeue while ($slave->inQueue("attack")); - message TF("Unable to calculate a route to %s target, dropping target\n", $slave), 'slave_attack'; - if ($config{$slave->{configPrefix}.'teleportAuto_dropTarget'}) { - message TF("Teleport due to dropping %s attack target\n", $slave), 'teleport'; - ai_useTeleport(1); - } else { - debug "Attack $slave - successufully routing to $target\n", 'attack'; - } - } - } else { - $target->{$slave->{ai_attack_failed_timeout}} = time; - $slave->dequeue while ($slave->inQueue("attack")); - message TF("Unable to calculate a meetingPosition to target, dropping target. Check %s in config.txt\n", $config{$slave->{configPrefix}.'attackRouteMaxPathDistance'}), 'slave_attack'; - if ($config{$slave->{configPrefix}.'teleportAuto_dropTarget'}) { - message TF("Teleport due to dropping %s attack target\n", $slave), 'teleport'; - ai_useTeleport(1); - } - } - - } elsif ( - # We are a ranged attacker in range without LOS - $args->{attackMethod}{maxDistance} > 1 && - $config{$slave->{configPrefix}.'attackCheckLOS'} && - !$field->checkLOS($realMyPos, $realMonsterPos, $config{$slave->{configPrefix}.'attackCanSnipe'}) - ) { - my $best_spot = meetingPosition($slave, 2, $target, $args->{attackMethod}{maxDistance}); - - # Move to the closest spot - my $msg = TF("%s has no LOS from (%d, %d) to target %s (%d, %d) (distance: %d)", $slave, $realMyPos->{x}, $realMyPos->{y}, $target, $realMonsterPos->{x}, $realMonsterPos->{y}, $realMonsterDist); - if ($best_spot) { - message TF("%s; moving to (%d, %d)\n", $msg, $best_spot->{x}, $best_spot->{y}), 'slave_attack'; - $slave->route(undef, @{$best_spot}{qw(x y)}, noMapRoute => 1, avoidWalls => 0, LOSSubRoute => 1); - } else { - $target->{attack_failedLOS} = time; - warning TF("%s; no acceptable place to stand\n", $msg); - $slave->dequeue while ($slave->inQueue("attack")); - } - - } elsif ( - # We are a melee attacker in range without LOS - $args->{attackMethod}{maxDistance} == 1 && - $config{$slave->{configPrefix}.'attackCheckLOS'} && - blockDistance($realMyPos, $realMonsterPos) == 2 && - !$field->checkLOS($realMyPos, $realMonsterPos, $config{$slave->{configPrefix}.'attackCanSnipe'}) - ) { - my $best_spot = meetingPosition($slave, 2, $target, $args->{attackMethod}{maxDistance}); - - # Move to the closest spot - my $msg = TF("%s has no LOS in melee from (%d, %d) to target %s (%d, %d) (distance: %d)", $slave, $realMyPos->{x}, $realMyPos->{y}, $target, $realMonsterPos->{x}, $realMonsterPos->{y}, $realMonsterDist); - if ($best_spot) { - message TF("%s; moving to (%d, %d)\n", $msg, $best_spot->{x}, $best_spot->{y}), 'slave_attack'; - $slave->route(undef, @{$best_spot}{qw(x y)}, noMapRoute => 1, avoidWalls => 0, LOSSubRoute => 1); } else { - $target->{attack_failedLOS} = time; - warning TF("%s; no acceptable place to stand\n", $msg); - $slave->dequeue while ($slave->inQueue("attack")); + message T("[Slave $slave] Unable to calculate a meetingPosition to target, dropping target\n"), "ai_attack"; + giveUp($slave, $args, $ID, 1); } + $found_action = 1; + } - } elsif ((!$config{$slave->{configPrefix}.'runFromTarget'} || $realMonsterDist >= $config{$slave->{configPrefix}.'runFromTarget_dist'}) - && (!$config{$slave->{configPrefix}.'tankMode'} || !$target->{dmgFromPlayer}{$slave->{ID}})) { + if ( + !$found_action && + (!$config{$slave->{configPrefix}."runFromTarget"} || $realMonsterDist >= $config{$slave->{configPrefix}."runFromTarget_dist"} || $failed_runFromTarget) && + (!$config{$slave->{configPrefix}."tankMode"} || !$target->{dmgFromPlayer}{$slave->{ID}}) + ) { # Attack the target. In case of tanking, only attack if it hasn't been hit once. - if (!$slave->args->{firstAttack}) { - $slave->args->{firstAttack} = 1; - my $pos = "$myPos->{x},$myPos->{y}"; - debug "$slave is ready to attack target $target (which is $realMonsterDist blocks away); we're at ($pos)\n", 'slave_attack'; + if (!$args->{firstAttack}) { + $args->{firstAttack} = 1; + debug "[Slave $slave] Ready to attack target $target ($realMonsterPos->{x} $realMonsterPos->{y}) ($realMonsterDist blocks away); we're at ($realMyPos->{x} $realMyPos->{y})\n", "ai_attack"; } $args->{unstuck}{time} = time if (!$args->{unstuck}{time}); @@ -491,7 +652,7 @@ sub main { } if ($args->{attackMethod}{type} eq "weapon") { - if ($config{$slave->{configPrefix}.'attack_dance_melee'} && $args->{attackMethod}{distance} == 1) { + if ($config{$slave->{configPrefix}.'attack_dance_melee'} && $melee) { if (timeOut($timeout{$slave->{ai_dance_attack_melee_timeout}})) { my $cell = get_dance_position($slave, $target); debug TF("Slave %s will dance type %d from (%d, %d) to (%d, %d), target %s at (%d, %d).\n", $slave, $config{$slave->{configPrefix}.'attack_dance_melee'}, $realMyPos->{x}, $realMyPos->{y}, $cell->{x}, $cell->{y}, $target, $realMonsterPos->{x}, $realMonsterPos->{y}); @@ -500,52 +661,71 @@ sub main { $slave->sendAttack ($ID); $timeout{$slave->{ai_dance_attack_melee_timeout}}{time} = time; } - - } elsif ($config{$slave->{configPrefix}.'attack_dance_ranged'} && $args->{attackMethod}{distance} > 2) { + + } elsif ($config{$slave->{configPrefix}.'attack_dance_ranged'} && $ranged) { if (timeOut($timeout{$slave->{ai_dance_attack_ranged_timeout}})) { my $cell = get_dance_position($slave, $target); debug TF("Slave %s will range dance type %d from (%d, %d) to (%d, %d), target %s at (%d, %d).\n", $slave, $config{$slave->{configPrefix}.'attack_dance_ranged'}, $realMyPos->{x}, $realMyPos->{y}, $cell->{x}, $cell->{y}, $target, $realMonsterPos->{x}, $realMonsterPos->{y}); $slave->sendMove ($cell->{x}, $cell->{y}); $slave->sendMove ($realMyPos->{x},$realMyPos->{y}); $slave->sendAttack ($ID); - if ($config{$slave->{configPrefix}.'runFromTarget'} && $config{$slave->{configPrefix}.'runFromTarget_inAdvance'} && $realMonsterDist < $config{$slave->{configPrefix}.'runFromTarget_minStep'}) { - my $cell = meetingPosition($slave, 2, $target, $args->{attackMethod}{maxDistance}, 1); - if ($cell) { - debug TF("%s kiting in advance (%d %d) to (%d %d), mob at (%d %d).\n", $slave, $realMyPos->{x}, $realMyPos->{y}, $cell->{x}, $cell->{y}, $realMonsterPos->{x}, $realMonsterPos->{y}), 'slave_attack'; - $args->{avoiding} = 1; - $slave->sendMove($cell->{x}, $cell->{y}); - } else { - debug TF("%s no acceptable place to kite in advance from (%d %d), mob at (%d %d).\n", $slave, $realMyPos->{x}, $realMyPos->{y}, $realMonsterPos->{x}, $realMonsterPos->{y}), 'slave_attack'; - } - } $timeout{$slave->{ai_dance_attack_ranged_timeout}}{time} = time; + + if ($config{$slave->{configPrefix}."runFromTarget"} && $config{$slave->{configPrefix}."runFromTarget_inAdvance"} && $realMonsterDist < $config{$slave->{configPrefix}.'runFromTarget_minStep'}) { + find_kite_position($slave, $args, 1, $target, $realMyPos, $realMonsterPos, 0); + } } } else { if (timeOut($timeout{$slave->{ai_attack_timeout}})) { $slave->sendAttack ($ID); - if ($config{$slave->{configPrefix}.'runFromTarget'} && $config{$slave->{configPrefix}.'runFromTarget_inAdvance'} && $realMonsterDist < $config{$slave->{configPrefix}.'runFromTarget_minStep'}) { - my $cell = meetingPosition($slave, 2, $target, $args->{attackMethod}{maxDistance}, 1); - if ($cell) { - debug TF("%s kiting in advance (%d %d) to (%d %d), mob at (%d %d).\n", $slave, $realMyPos->{x}, $realMyPos->{y}, $cell->{x}, $cell->{y}, $realMonsterPos->{x}, $realMonsterPos->{y}), 'slave_attack'; - $args->{avoiding} = 1; - $slave->sendMove($cell->{x}, $cell->{y}); - } else { - debug TF("%s no acceptable place to kite in advance from (%d %d), mob at (%d %d).\n", $slave, $realMyPos->{x}, $realMyPos->{y}, $realMonsterPos->{x}, $realMonsterPos->{y}), 'slave_attack'; - } - } $timeout{$slave->{ai_attack_timeout}}{time} = time; + + if ($config{$slave->{configPrefix}."runFromTarget"} && $config{$slave->{configPrefix}."runFromTarget_inAdvance"} && $realMonsterDist < $config{$slave->{configPrefix}.'runFromTarget_minStep'}) { + find_kite_position($slave, $args, 1, $target, $realMyPos, $realMonsterPos, 0); + } } } delete $args->{attackMethod}; + $found_action = 1; + + # Attack with skill logic + } elsif ($args->{attackMethod}{type} eq "skill") { + my $slot = $args->{attackMethod}{skillSlot}; + delete $args->{attackMethod}; + + $ai_v{"attackSkillSlot_${slot}_time"} = time; + $ai_v{"attackSkillSlot_${slot}_target_time"}{$ID} = time; + + ai_setSuspend(0); + my $skill = new Skill(auto => $config{"attackSkillSlot_$slot"}); + ai_skillUse2( + $skill, + $config{"attackSkillSlot_${slot}_lvl"},# || $char->getSkillLevel($skill),? + $config{"attackSkillSlot_${slot}_maxCastTime"}, + $config{"attackSkillSlot_${slot}_minCastTime"}, + $config{"attackSkillSlot_${slot}_isSelfSkill"} ? $slave : $target, + "attackSkillSlot_${slot}", + undef, + "attackSkill", + $config{"attackSkillSlot_${slot}_isStartSkill"} ? 1 : 0, + ); + $args->{monsterID} = $ID; + my $skill_lvl = $config{"attackSkillSlot_${slot}_lvl"};# || $char->getSkillLevel($skill);? + debug "[Slave $slave] [attackSkillSlot] Auto-skill on monster ".getActorName($ID).": ".qq~$config{"attackSkillSlot_$slot"} (lvl $skill_lvl)\n~, "ai_attack"; + # TODO: We sould probably add a runFromTarget_inAdvance logic here also, we could want to kite using skills, but only instant cast ones like double strafe I believe + $found_action = 1; } - } elsif ($config{$slave->{configPrefix}.'tankMode'}) { + } + + if ($config{$slave->{configPrefix}.'tankMode'}) { if ($args->{'dmgTo_last'} != $target->{dmgFromPlayer}{$slave->{ID}}) { $args->{'ai_attack_giveup'}{'time'} = time; $slave->sendAttackStop; } $args->{'dmgTo_last'} = $target->{dmgFromPlayer}{$slave->{ID}}; + $found_action = 1; } } diff --git a/src/AI/SlaveManager.pm b/src/AI/SlaveManager.pm index 87a5e3a5b0..4dde470568 100644 --- a/src/AI/SlaveManager.pm +++ b/src/AI/SlaveManager.pm @@ -27,6 +27,7 @@ sub addSlave { $actor->{ai_attack_auto_timeout} = 'ai_homunculus_attack_auto'; $actor->{ai_check_monster_auto} = 'ai_homunculus_check_monster_auto'; $actor->{ai_route_adjust_timeout} = 'ai_homunculus_route_adjust'; + $actor->{ai_attack_main} = 'ai_homunculus_attack_main'; $actor->{ai_standby_timeout} = 'ai_homunculus_standby'; $actor->{ai_dance_attack_melee_timeout} = 'ai_homunculus_dance_attack_melee'; $actor->{ai_attack_waitAfterKill_timeout} = 'ai_homunculus_attack_waitAfterKill'; @@ -43,6 +44,7 @@ sub addSlave { $actor->{ai_attack_auto_timeout} = 'ai_mercenary_attack_auto'; $actor->{ai_check_monster_auto} = 'ai_mercenary_check_monster_auto'; $actor->{ai_route_adjust_timeout} = 'ai_mercenary_route_adjust'; + $actor->{ai_attack_main} = 'ai_mercenary_attack_main'; $actor->{ai_standby_timeout} = 'ai_mercenary_standby'; $actor->{ai_dance_attack_melee_timeout} = 'ai_mercenary_dance_attack_melee'; $actor->{ai_dance_attack_ranged_timeout} = 'ai_mercenary_dance_attack_ranged'; diff --git a/src/Actor.pm b/src/Actor.pm index 83e66a0495..2775aca89e 100644 --- a/src/Actor.pm +++ b/src/Actor.pm @@ -116,7 +116,7 @@ sub new { # actor lists. If $ID is not in any of the actor lists, it will return # a new Actor::Unknown object. sub get { - my ($ID) = @_; + my ($ID, $retUndefwhenNotFound) = @_; assert(defined $ID, "ID must be provided to retrieve and Actor class") if DEBUG; if ($ID eq $accountID) { @@ -133,6 +133,9 @@ sub get { return $actor; } } + if ($retUndefwhenNotFound) { + return undef; + } return new Actor::Unknown($ID); } } @@ -455,7 +458,7 @@ sub verb { sub position { my ($self) = @_; - return calcPosition($self); + return calcPosFromPathfinding($field, $self); } ## @@ -823,7 +826,7 @@ sub route { y => $y, maxDistance => $args{maxRouteDistance}, maxTime => $args{maxRouteTime}, - map { $_ => $args{$_} } qw(distFromGoal pyDistFromGoal notifyUponArrival avoidWalls) + map { $_ => $args{$_} } qw(distFromGoal pyDistFromGoal notifyUponArrival avoidWalls randomFactor useManhattan) ); if ($map && !$args{noMapRoute}) { @@ -831,7 +834,7 @@ sub route { } else { $task = new Task::Route(field => $field, @params); } - $task->{$_} = $args{$_} for qw(attackID attackOnRoute noSitAuto LOSSubRoute meetingSubRoute isRandomWalk isFollow isIdleWalk isSlaveRescue isMoveNearSlave isEscape isItemTake isItemGather isDeath isToLockMap runFromTarget); + $task->{$_} = $args{$_} for qw(attackID sendAttackWithMove attackOnRoute noSitAuto LOSSubRoute meetingSubRoute isRandomWalk isFollow isIdleWalk isSlaveRescue isMoveNearSlave isEscape isItemTake isItemGather isDeath isToLockMap runFromTarget); $self->queue('route', $task); } @@ -918,7 +921,7 @@ sub processTask { sub sendAttackStop { my ($self) = @_; - $self->sendMove(@{calcPosition($self)}{qw(x y)}); + $self->sendMove(@{calcPosFromPathfinding($field, $self)}{qw(x y)}); } ## diff --git a/src/Actor/You.pm b/src/Actor/You.pm index 02fb784df0..827956c9ab 100644 --- a/src/Actor/You.pm +++ b/src/Actor/You.pm @@ -473,4 +473,9 @@ sub sendStopSkillUse { $messageSender->sendStopSkillUse($self->{last_continuous_skill_used}); } +sub sendAttack { + my ($self, $attackID) = @_; + $messageSender->sendAction($attackID, ($config{'tankMode'}) ? 0 : 7); +} + 1; diff --git a/src/Commands.pm b/src/Commands.pm index 89dba0e76e..eeac8efc1f 100644 --- a/src/Commands.pm +++ b/src/Commands.pm @@ -6265,11 +6265,6 @@ sub cmdUseSkill { } else { $target = { x => $x, y => $y }; } - # This was the code for choosing a random location when x and y are not given: - # my $pos = calcPosition($char); - # my @positions = calcRectArea($pos->{x}, $pos->{y}, int(rand 2) + 2, $field); - # $pos = $positions[rand(@positions)]; - # ($x, $y) = ($pos->{x}, $pos->{y}); } elsif ($cmd eq 'ss') { if (defined $args[0] && $args[0] eq 'start') { diff --git a/src/Field.pm b/src/Field.pm index 31be75953a..a2614c680c 100644 --- a/src/Field.pm +++ b/src/Field.pm @@ -249,48 +249,40 @@ sub getCellInfo { # boolean $Field->isWalkable(int x, int y) # # Check whether you can walk on ($x,$y) on this field. +# 1.73 microsec -> 798.04 nanosec p.o. sub isWalkable { my ($self, $x, $y) = @_; - return 0 if ($self->isOffMap($x, $y)); - my $offset = $self->getOffset($x, $y); - my $value = $self->getBlock($offset); - return ($value & TILE_WALK); + return PathFinding::checkTile($x, $y, TILE_WALK, $self->{width}, $self->{height}, \$self->{rawMap}); } ## # boolean $Field->isSnipable(int x, int y) # # Check whether you can snipe through ($x,$y) on this field. +# 1.73 microsec -> 798.04 nanosec p.o. sub isSnipable { my ($self, $x, $y) = @_; - return 0 if ($self->isOffMap($x, $y)); - my $offset = $self->getOffset($x, $y); - my $value = $self->getBlock($offset); - return ($value & TILE_SNIPE); + return PathFinding::checkTile($x, $y, TILE_SNIPE, $self->{width}, $self->{height}, \$self->{rawMap}); } ## # boolean $Field->isWater(int x, int y) # # Check whether there is water ($x,$y) on this field. +# 1.73 microsec -> 798.04 nanosec p.o. sub isWater { my ($self, $x, $y) = @_; - return 0 if ($self->isOffMap($x, $y)); - my $offset = $self->getOffset($x, $y); - my $value = $self->getBlock($offset); - return ($value & TILE_WATER); + return PathFinding::checkTile($x, $y, TILE_WATER, $self->{width}, $self->{height}, \$self->{rawMap}); } ## # boolean $Field->isCliff(int x, int y) # # Check whether cell ($x,$y) in a cliff on this field. +# 1.73 microsec -> 798.04 nanosec p.o. sub isCliff { my ($self, $x, $y) = @_; - return 0 if ($self->isOffMap($x, $y)); - my $offset = $self->getOffset($x, $y); - my $value = $self->getBlock($offset); - return ($value & TILE_CLIFF); + return PathFinding::checkTile($x, $y, TILE_CLIFF, $self->{width}, $self->{height}, \$self->{rawMap}); } sub getBlockWeight { @@ -326,7 +318,7 @@ sub closestWalkableSpot { my @current_distance = (1..$max_distance); foreach my $distance (@current_distance) { - my @blocks = Misc::calcRectArea($center{x}, $center{y}, $distance, $self); + my @blocks = $self->calcRectArea($center{x}, $center{y}, $distance); foreach my $block (@blocks) { next if (!$self->isWalkable($block->{x}, $block->{y})); return $block; @@ -336,134 +328,129 @@ sub closestWalkableSpot { return undef; } -sub checkLOS { - my ($self, $from, $to, $can_snipe) = @_; +sub getSquareEdgesFromCoord { + my ($self, $start, $radius) = @_; - # Simulate tracing a line to the location (modified Bresenham's algorithm) - my ($X0, $Y0, $X1, $Y1) = ($from->{x}, $from->{y}, $to->{x}, $to->{y}); + my @coords; + PathFinding::getSquareEdgesFromCoord($start->{x}, $start->{y}, $radius, $self->{width}, $self->{height}, \@coords); + return @coords; +} - my $steep; - my $posX = 1; - my $posY = 1; - if ($X1 - $X0 < 0) { - $posX = -1; - } - if ($Y1 - $Y0 < 0) { - $posY = -1; - } - if (abs($Y0 - $Y1) < abs($X0 - $X1)) { - $steep = 0; - } else { - $steep = 1; - } - if ($steep == 1) { - my $Yt = $Y0; - $Y0 = $X0; - $X0 = $Yt; - - $Yt = $Y1; - $Y1 = $X1; - $X1 = $Yt; - } - if ($X0 > $X1) { - my $Xt = $X0; - $X0 = $X1; - $X1 = $Xt; - - my $Yt = $Y0; - $Y0 = $Y1; - $Y1 = $Yt; - } - my $dX = $X1 - $X0; - my $dY = abs($Y1 - $Y0); - my $E = 0; - my $dE; - if ($dX) { - $dE = $dY / $dX; +## +# $Field->calcRectArea($x, $y, $radius) +# Returns: an array with position hashes. Each has contains an x and a y key. +# +# Creates a rectangle with center ($x,$y) and radius $radius, +# and returns a list of positions of the border of the rectangle. +# 8.9us -> 1.1us +sub calcRectArea { + my ($self, $x, $y, $radius) = @_; + + my @walkableBlocks; + PathFinding::calcRectArea($x, $y, $radius, TILE_WALK, $self->{width}, $self->{height}, \$self->{rawMap}, \@walkableBlocks); + return @walkableBlocks; +} + +# Bresenham's algorithm +# +# Used for checking if there are no obstacles in the direct line of sight of 2 actors +# Do not use for checking if you can walk between 2 cells, use checkPathFree for that +# +# Reference: hercules src\map\path.c path_search_long +# 27.2micros -> 1.2micros +sub checkLOS { + my ($self, $from, $to, $can_snipe) = @_; + + my $tile; + if ($can_snipe) { + $tile = TILE_WALK|TILE_SNIPE; } else { - # Delta X is 0, it only occures when $from is equal to $to - return 1; + $tile = TILE_WALK; } - my $stepY; - if ($Y0 < $Y1) { - $stepY = 1; + + return PathFinding::checkLOS($from->{x}, $from->{y}, $to->{x}, $to->{y}, $tile, $self->{width}, $self->{height}, \$self->{rawMap}); +} + +# Returns: +# -1: No LOS +# 0: out of range +# 1: sucess +# +# Reference: hercules src\map\battle.c battle_check_range +# 3.1micros -> 1.1micros +sub canAttack { + my ($self, $pos1, $pos2, $can_snipe, $range, $clientSight) = @_; + + my $tile; + if ($can_snipe) { + $tile = TILE_WALK|TILE_SNIPE; } else { - $stepY = -1; - } - my $Y = $Y0; - my $Erate = 0.99; - if (($posY == -1 && $posX == 1) || ($posY == 1 && $posX == -1)) { - $Erate = 0.01; - } - for (my $X=$X0;$X<=$X1;$X++) { - $E += $dE; - if ($steep == 1) { - if (!$self->isWalkable($Y, $X)) { - return 0 if (!$can_snipe); - return 0 if (!$self->isSnipable($Y, $X)) - } - } else { - if (!$self->isWalkable($X, $Y)) { - return 0 if (!$can_snipe); - return 0 if (!$self->isSnipable($X, $Y)) - } - } - if ($E >= $Erate) { - $Y += $stepY; - $E -= 1; - } + $tile = TILE_WALK; } - return 1; + + return PathFinding::canAttack($pos1->{x}, $pos1->{y}, $pos2->{x}, $pos2->{y}, $tile, $self->{width}, $self->{height}, $range, $clientSight, \$self->{rawMap}); } +# Used for checking if there are no obstacles in a given walking solution +# +# get_client_solution already does this in the A* algorithm itself, so there is no need to check solutions made by it +# get_client_easy_solution does not check for obstacles, so all solutions made by it *should* be checked when certainty is necessary +# +# Do not use for checking if you can attack between 2 cells, use checkLOS for that +# +# Reference: hercules src\map\path.c path_search - flag&1 +sub checkPathFree { + my ($self, $from, $to) = @_; + return PathFinding::checkPathFree($from->{x}, $from->{y}, $to->{x}, $to->{y}, TILE_WALK, $self->{width}, $self->{height}, \$self->{rawMap}); +} + +# Checks wheter you can send a move command from $from to $to +# +# Reference: hercules src\map\unit.c unit_walk_toxy +# +# Todo this should be used in a lot more places like Task::Route and Follow +# Can probably be moved to XS-cpp sub canMove { my ($self, $from, $to) = @_; - + + return 0 unless ($self->isWalkable($from->{x}, $from->{y})); + return 0 unless ($self->isWalkable($to->{x}, $to->{y})); + my $dist = blockDistance($from, $to); + + # This 17 is actually set at + # hercules conf\map\battle\client.conf max_walk_path (which is by default 17, can be higher) + # TODO: Change this 17 to a config key with default value 17 if ($dist > 17) { - return -1; + return 0; } - - my $LOS = $self->checkLOS($from, $to, 0); - if ($LOS) { + + # Actually uses CheckLos at rathena - TODO: check which is better, both work + # If there are no obstacles return success + if ($self->checkPathFree($from, $to)) { return 1; } - my $solution = []; - my ($min_pathfinding_x, $min_pathfinding_y, $max_pathfinding_x, $max_pathfinding_y) = Utils::getSquareEdgesFromCoord($self, $from, 20); - my $dist_path = new PathFinding( - field => $self, - start => $from, - dest => $to, - avoidWalls => 0, - min_x => $min_pathfinding_x, - max_x => $max_pathfinding_x, - min_y => $min_pathfinding_y, - max_y => $max_pathfinding_y - )->run($solution); - if ($dist_path > 14) { - return -2; + # If there are obstacles and the path is walkable the max solution dist acceptable is 14 (double check to save time) + if ($dist > 14) { + return 0; } - - return 1; -} -sub checkWallLength { - my ($self, $pos, $dx, $dy, $length) = @_; + # If there are obstacles and OFFICIAL_WALKPATH is defined (which is by default) then calculate a client pathfinding + my $solution = get_client_solution($self, $from, $to); + my $dist_path = scalar @{$solution}; - my $x = $pos->{x}; - my $y = $pos->{y}; - my $len = 0; + if ($dist_path == 0) { + return 0; + } - while (1) { - last if ($self->isOffMap($x, $y)); - $x += $dx; - $y += $dy; - $len++; - last unless (!$self->isWalkable($x, $y) && $len < $length); + # Pathfinding always returns the original cell in the solution, so remove 1 from it (or compare to 15 (14+1)) + #$dist_path -= 1; + if ($dist_path > 15) { + return 0; } - return (($len >= $length) ? 1 : 0); + return 1; } ## diff --git a/src/Interface/Wx.pm b/src/Interface/Wx.pm index adb6dc88f8..1299bf91d1 100644 --- a/src/Interface/Wx.pm +++ b/src/Interface/Wx.pm @@ -912,28 +912,68 @@ sub updateStatusBar { $setStatus->('aiText', $aiText); } +sub get_task { + my ($args) = @_; + if (UNIVERSAL::isa($args, 'Task::Route')) { + return $args; + } elsif (UNIVERSAL::isa($args, 'Task::MapRoute') && $args->getSubtask && UNIVERSAL::isa($args->getSubtask, 'Task::Route')) { + return $args->getSubtask; + } else { + return undef; + } +} + sub updateMapViewer { my $self = shift; my $map = $self->{mapViewer}; return unless ($map && $field && $char); my $myPos; + # TODO: Is there any situation where we should use calcPosFromPathfinding or calcPosFromTime here? + # Maybe a new Wx mode? $myPos = calcPosition($char); $map->set($field->baseName, $myPos->{x}, $myPos->{y}, $field, $char->{look}); - my ($i, $args, $routeTask, $solution); - if ( - defined ($i = AI::findAction ('route')) && ($args = AI::args ($i)) && ( - ($routeTask = $args->getSubtask) && %{$routeTask} && ($solution = $routeTask->{solution}) && @$solution - || - $args->{dest} && $args->{dest}{pos} && ($solution = [{x => $args->{dest}{pos}{x}, y => $args->{dest}{pos}{y}}]) - ) - ) { - $map->setRoute ([@$solution]); - } else { + my ($i, $args, $routeTask, $solution, $set_route, $task); + $i = AI::findAction ('route'); + if (defined $i) { + $args = AI::args($i); + $task = get_task($args); + if (defined $task) { + if (scalar @{$task->{solution}} > 0) { + my $attack = $task->{attackID} ? 1 : 0; + $map->setRoute ([@{$task->{solution}}], $attack); + $set_route = 1; + } + } + } + if (!$set_route) { $map->setRoute; } + + undef $i; + undef $args; + undef $routeTask; + undef $solution; + undef $set_route; + undef $task; + + $i = AI::findAction ('route', 1); + if (defined $i) { + $args = AI::args($i); + $task = get_task($args); + if (defined $task) { + if (scalar @{$task->{solution}} > 0) { + my $attack = $task->{attackID} ? 1 : 0; + $map->setRoute2 ([@{$task->{solution}}], $attack); + $set_route = 1; + } + } + } + if (!$set_route) { + $map->setRoute2; + } $map->setPlayers ([values %players]); $map->setParty ([values %{$char->{party}{users}}]) if $char->{party}{joined} && $char->{party}{users}; diff --git a/src/Interface/Wx/MapViewer.pm b/src/Interface/Wx/MapViewer.pm index efaaffb050..b4c91dbda1 100644 --- a/src/Interface/Wx/MapViewer.pm +++ b/src/Interface/Wx/MapViewer.pm @@ -45,6 +45,7 @@ sub new { $self->{brush}{text} = new Wx::Brush(new Wx::Colour(0, 255, 0), wxSOLID); $self->{brush}{dest} = new Wx::Brush(new Wx::Colour(255, 110, 245), wxSOLID); + $self->{brush}{attackdest} = new Wx::Brush(new Wx::Colour(255, 80, 80), wxSOLID); $self->{brush}{party} = new Wx::Brush(new Wx::Colour(0, 0, 255), wxSOLID); $self->{textColor}{party} = new Wx::Colour (0, 0, 255); $self->{brush}{player} = new Wx::Brush(new Wx::Colour(0, 200, 0), wxSOLID); @@ -136,20 +137,30 @@ sub set { } } -# UNUSED -sub setDest { - my ($self, $x, $y) = @_; - $self->setRoute(defined $x ? [x => $x, y => $y] : undef); -} - sub setRoute { - my ($self, $solution) = @_; + my ($self, $solution, $attack) = @_; if (defined $solution) { $self->{route} = $solution; + $self->{routeAttack} = $attack; $self->{needUpdate} = 1; } elsif (defined $self->{route}) { undef $self->{route}; + undef $self->{routeAttack}; + $self->{needUpdate} = 1; + } +} + +sub setRoute2 { + my ($self, $solution, $attack) = @_; + + if (defined $solution) { + $self->{route2} = $solution; + $self->{routeAttack2} = $attack; + $self->{needUpdate} = 1; + } elsif (defined $self->{route2}) { + undef $self->{route2}; + undef $self->{routeAttack2}; $self->{needUpdate} = 1; } } @@ -722,13 +733,17 @@ sub _onPaint { } if ($self->{route} && @{$self->{route}}) { - $dc->SetBrush($self->{brush}{dest}); + if ($self->{routeAttack}) { + $dc->SetBrush($self->{brush}{attackdest}); + } else { + $dc->SetBrush($self->{brush}{dest}); + } if ($config{wx_map_route} == 2) { $dc->SetPen(wxRED_PEN); foreach my $pos (@{$self->{route}}) { ($x, $y) = $self->_posXYToView ($pos->{x}, $pos->{y}); - $dc->DrawEllipse($x - 1, $y - 1, 1, 1); + $dc->DrawEllipse($x - $actor_r, $y - $actor_r, $actor_d, $actor_d); } } elsif ($config{wx_map_route} == 1) { $dc->SetPen(wxWHITE_PEN); @@ -745,6 +760,34 @@ sub _onPaint { $dc->SetPen(wxBLACK_PEN); } + if ($self->{route2} && @{$self->{route2}}) { + if ($self->{routeAttack2}) { + $dc->SetBrush($self->{brush}{attackdest}); + } else { + $dc->SetBrush($self->{brush}{dest}); + } + + if ($config{wx_map_route} == 2) { + $dc->SetPen(wxRED_PEN); + foreach my $pos (@{$self->{route2}}) { + ($x, $y) = $self->_posXYToView ($pos->{x}, $pos->{y}); + $dc->DrawEllipse($x - $actor_r, $y - $actor_r, $actor_d, $actor_d); + } + } elsif ($config{wx_map_route} == 1) { + $dc->SetPen(wxWHITE_PEN); + my $i = 0; + for (grep {not $i++ % ($portal_d * 2)} reverse @{$self->{route2}}) { + ($x, $y) = $self->_posXYToView ($_->{x}, $_->{y}); + $dc->DrawEllipse($x - $portal_r, $y - $portal_r, $portal_d, $portal_d); + } + } else { + ($x, $y) = $self->_posXYToView ($self->{route2}[-1]{x}, $self->{route2}[-1]{y}); + $dc->DrawEllipse($x - $portal_r, $y - $portal_r, $portal_d, $portal_d); + } + + $dc->SetPen(wxBLACK_PEN); + } + if (!$self->{selfDot}) { my $file = File::Spec->catfile($Settings::maps_folder, "kore.png"); $self->{selfDot} = _loadImage($file) if (-f $file); diff --git a/src/Misc.pm b/src/Misc.pm index 4eef1a14bb..7b7256cd22 100644 --- a/src/Misc.pm +++ b/src/Misc.pm @@ -29,7 +29,6 @@ use Compress::Zlib; use base qw(Exporter); use utf8; use Math::Trig; -use Math::Trig qw/pi pi2 pip2 pip4/; use Globals; use Log qw(message warning error debug); @@ -70,8 +69,7 @@ our @EXPORT = ( visualDump/, # Field math - qw/calcRectArea - calcRectArea2 + qw/calcRectArea2 objectInsideSpell objectInsideCasting objectIsMovingTowards @@ -141,7 +139,6 @@ our @EXPORT = ( look lookAtPosition manualMove - canReachMeleeAttack meetingPosition objectAdded objectRemoved @@ -544,64 +541,6 @@ sub visualDump { ####################################### ####################################### -## -# calcRectArea($x, $y, $radius, $field) -# Returns: an array with position hashes. Each has contains an x and a y key. -# -# Creates a rectangle with center ($x,$y) and radius $radius, -# and returns a list of positions of the border of the rectangle. -sub calcRectArea { - my ($x, $y, $radius, $field) = @_; - my (%topLeft, %topRight, %bottomLeft, %bottomRight); - - sub capX { - return 0 if ($_[0] < 0); - return $_[1]->width - 1 if ($_[0] >= $_[1]->width); - return int $_[0]; - } - sub capY { - return 0 if ($_[0] < 0); - return $_[1]->height - 1 if ($_[0] >= $_[1]->height); - return int $_[0]; - } - - # Get the avoid area as a rectangle - $topLeft{x} = capX($x - $radius, $field); - $topLeft{y} = capY($y + $radius, $field); - $topRight{x} = capX($x + $radius, $field); - $topRight{y} = capY($y + $radius, $field); - $bottomLeft{x} = capX($x - $radius, $field); - $bottomLeft{y} = capY($y - $radius, $field); - $bottomRight{x} = capX($x + $radius, $field); - $bottomRight{y} = capY($y - $radius, $field); - - # Walk through the border of the rectangle - # Record the blocks that are walkable - my @walkableBlocks; - for (my $x = $topLeft{x}; $x <= $topRight{x}; $x++) { - if ($field->isWalkable($x, $topLeft{y})) { - push @walkableBlocks, {x => $x, y => $topLeft{y}}; - } - } - for (my $x = $bottomLeft{x}; $x <= $bottomRight{x}; $x++) { - if ($field->isWalkable($x, $bottomLeft{y})) { - push @walkableBlocks, {x => $x, y => $bottomLeft{y}}; - } - } - for (my $y = $bottomLeft{y} + 1; $y < $topLeft{y}; $y++) { - if ($field->isWalkable($topLeft{x}, $y)) { - push @walkableBlocks, {x => $topLeft{x}, y => $y}; - } - } - for (my $y = $bottomRight{y} + 1; $y < $topRight{y}; $y++) { - if ($field->isWalkable($topRight{x}, $y)) { - push @walkableBlocks, {x => $topRight{x}, y => $y}; - } - } - - return @walkableBlocks; -} - ## # calcRectArea2($x, $y, $radius, $minRange) # Returns: an array with position hashes. Each has contains an x and a y key. @@ -648,7 +587,8 @@ sub objectInsideSpell { sub objectInsideCasting { my ($monster) = @_; - + + # TODO: Is there any situation where we should use calcPosFromPathfinding or calcPosFromTime here? my $monsterPos = calcPosition($monster); foreach my $caster (@$playersList, @$slavesList) { @@ -739,6 +679,7 @@ sub get_dance_position { my ($slave, $target) = @_; my ($dy, $dx); + # TODO: Is there any situation where we should use calcPosFromPathfinding or calcPosFromTime here? my $my_pos = calcPosition($slave); my $target_pos = calcPosition($target); @@ -2538,127 +2479,28 @@ sub manualMove { main::ai_route($field->baseName, $char->{pos_to}{x} + $dx, $char->{pos_to}{y} + $dy); } -sub canReachMeleeAttack { - my ($actor_pos, $target_pos) = @_; - - my ($diag, $orto) = Utils::specifiedBlockDistance($actor_pos, $target_pos); - - if (($diag == 0 && $orto <= 2) || ($diag <= 1 && $orto == 0)) { - return 1; - } else { - return 0; - } -} - ## # meetingPosition(actor, actorType, target_actor, attackMaxDistance, runFromTargetActive) # actor: current object. # actorType: 1 - char | 2 - slave # target_actor: actor to meet. # attackMaxDistance: attack distance based on attack method. -# runFromTargetActive: Wheter meetingPosition was called by a runFromTarget check +# runFromTargetActive: Wheter meetingPosition was called by a runFromTarget check, if 2 then use runFromTarget_noAttackMethodFallback values # # Returns: the position where the character should go to meet a moving monster. sub meetingPosition { my ($actor, $actorType, $target, $attackMaxDistance, $runFromTargetActive) = @_; - # Actor was going from 'pos' to 'pos_to' in the last movement - my %myPos; - $myPos{x} = $actor->{pos}{x}; - $myPos{y} = $actor->{pos}{y}; - my %myPosTo; - $myPosTo{x} = $actor->{pos_to}{x}; - $myPosTo{y} = $actor->{pos_to}{y}; + if ($attackMaxDistance < 1) { + error "attackMaxDistance must be positive ($attackMaxDistance).\n"; + return; + } my $mySpeed = ($actor->{walk_speed} || 0.12); my $timeSinceActorMoved = time - $actor->{time_move}; - # Calculate the time actor will need to finish moving from pos to pos_to - my $timeActorFinishMove = calcTime(\%myPos, \%myPosTo, $mySpeed); - - my $realMyPos; - # Actor has finished moving - if ($timeSinceActorMoved >= $timeActorFinishMove) { - $realMyPos->{x} = $myPosTo{x}; - $realMyPos->{y} = $myPosTo{y}; - # Actor is currently moving - } else { - ($realMyPos, undef) = calcPosFromTime(\%myPos, \%myPosTo, $mySpeed, $timeSinceActorMoved); - } - - # Target was going from 'pos' to 'pos_to' in the last movement - my %targetPos; - $targetPos{x} = $target->{pos}{x}; - $targetPos{y} = $target->{pos}{y}; - my %targetPosTo; - $targetPosTo{x} = $target->{pos_to}{x}; - $targetPosTo{y} = $target->{pos_to}{y}; - - my $targetSpeed = ($target->{walk_speed} || 0.12); - my $timeSinceTargetMoved = time - $target->{time_move}; - - # Calculate the time target will need to finish moving from pos to pos_to - my $timeTargetFinishMove = calcTime(\%targetPos, \%targetPosTo, $targetSpeed); - - my $target_moving; - my $realTargetPos; - my $targetTotalSteps; - my $targetCurrentStep; - # Target has finished moving - if ($timeSinceTargetMoved >= $timeTargetFinishMove) { - $target_moving = 0; - $realTargetPos->{x} = $targetPosTo{x}; - $realTargetPos->{y} = $targetPosTo{y}; - - # Target is currently moving - } else { - $target_moving = 1; - ($realTargetPos, $targetCurrentStep) = calcPosFromTime(\%targetPos, \%targetPosTo, $targetSpeed, $timeSinceTargetMoved); - $targetTotalSteps = countSteps(\%targetPos, \%targetPosTo); - } - - my @target_pos_to_check; - my $timeForTargetToGetToStep; - my %targetPosInStep; - my $myDistToTargetPosInStep; - - # Target started moving from %targetPos to %targetPosTo and has not finished moving yet, it is currently at $realTargetPos, here we calculate every block still in its path and the time to reach them - if ($target_moving) { - my $steps_count = 0; - foreach my $currentStep ($targetCurrentStep..$targetTotalSteps) { - # Calculate the steps - %targetPosInStep = moveAlong(\%targetPos, \%targetPosTo, $currentStep); - - # Calculate time to walk for target - if ($steps_count == 0) { - $timeForTargetToGetToStep = 0; - } else { - $timeForTargetToGetToStep = calcTime(\%targetPos, \%targetPosInStep, $targetSpeed) - $timeSinceTargetMoved; - } - - $myDistToTargetPosInStep = blockDistance($realMyPos, \%targetPosInStep); - - $target_pos_to_check[$steps_count] = { - targetPosInStep => { - x => $targetPosInStep{x}, - y => $targetPosInStep{y} - }, - timeForTargetToGetToStep => $timeForTargetToGetToStep, - myDistToTargetPosInStep => $myDistToTargetPosInStep - }; - } continue { - $steps_count++; - } - - # Target has finished moving and is at %targetPosTo - } else { - $myDistToTargetPosInStep = blockDistance($realMyPos, $realTargetPos); - $target_pos_to_check[0] = { - targetPosInStep => $realTargetPos, - timeForTargetToGetToStep => 0, - myDistToTargetPosInStep => $myDistToTargetPosInStep - }; - } + my $my_solution; + my $timeActorFinishMove; my $attackRouteMaxPathDistance; my $attackCanSnipe; @@ -2676,7 +2518,11 @@ sub meetingPosition { $runFromTarget_maxPathDistance = $config{runFromTarget_maxPathDistance} || 13; $runFromTarget = $config{runFromTarget}; $runFromTarget_dist = $config{runFromTarget_dist}; - $runFromTarget_minStep = $config{runFromTarget_minStep}; + if ($runFromTargetActive == 2) { + $runFromTarget_minStep = $config{runFromTarget_noAttackMethodFallback_minStep}; + } else { + $runFromTarget_minStep = $config{runFromTarget_minStep}; + } $followDistanceMax = $config{followDistanceMax}; $attackCanSnipe = $config{attackCanSnipe}; if ($config{follow}) { @@ -2687,73 +2533,115 @@ sub meetingPosition { } } if ($master) { - $masterPos = calcPosition($master); + $masterPos = 1; } } + # If the actor is the character then we should have already saved the time calc and solution at Receive.pm::character_moves + $my_solution = $char->{solution}; + $timeActorFinishMove = $char->{time_move_calc}; + # actor is a slave } elsif ($actorType == 2) { $attackRouteMaxPathDistance = $config{$actor->{configPrefix}.'attackRouteMaxPathDistance'} || 20; $runFromTarget_maxPathDistance = $config{$actor->{configPrefix}.'runFromTarget_maxPathDistance'} || 20; $runFromTarget = $config{$actor->{configPrefix}.'runFromTarget'}; $runFromTarget_dist = $config{$actor->{configPrefix}.'runFromTarget_dist'}; - $runFromTarget_minStep = $config{$actor->{configPrefix}.'runFromTarget_minStep'}; + if ($runFromTargetActive == 2) { + $runFromTarget_minStep = $config{$actor->{configPrefix}.'runFromTarget_noAttackMethodFallback_minStep'}; + } else { + $runFromTarget_minStep = $config{$actor->{configPrefix}.'runFromTarget_minStep'}; + } $followDistanceMax = $config{$actor->{configPrefix}.'followDistanceMax'}; $attackCanSnipe = $config{$actor->{configPrefix}.'attackCanSnipe'}; $master = $char; - $masterPos = calcPosition($char); + $masterPos = 1; + + $my_solution = get_solution($field, $actor->{pos}, $actor->{pos_to}); + $timeActorFinishMove = calcTimeFromSolution($my_solution, $mySpeed); + } + + my $realMyPos; + # Actor has finished moving and is at PosTo + if ($timeSinceActorMoved >= $timeActorFinishMove) { + $realMyPos = $actor->{pos_to}; + + # Actor is currently moving + } else { + my $steps_walked = calcStepsWalkedFromTimeAndSolution($my_solution, $mySpeed, $timeSinceActorMoved); + $realMyPos = $my_solution->[$steps_walked]; + } + + # Should never happen + unless ($field->isWalkable($realMyPos->{x}, $realMyPos->{y})) { + $realMyPos = $field->closestWalkableSpot($realMyPos, 1); + } + + my $targetSpeed = ($target->{walk_speed} || 0.12); + my $timeSinceTargetMoved = time - $target->{time_move}; + + my $target_solution = get_solution($field, $target->{pos}, $target->{pos_to}); + + # Calculate the time target will need to finish moving from pos to pos_to + my $timeTargetFinishMove = calcTimeFromSolution($target_solution, $targetSpeed); + + my $realTargetPos; + my $targetTotalSteps; + my $targetCurrentStep; + + my @target_pos_to_check; + + # Target has finished moving + if ($timeSinceTargetMoved >= $timeTargetFinishMove) { + $realTargetPos = $target->{pos_to}; + $target_pos_to_check[0] = { + targetPosInStep => $realTargetPos + }; + + # Target is currently moving + } else { + $targetTotalSteps = $#{$target_solution}; + $targetCurrentStep = calcStepsWalkedFromTimeAndSolution($target_solution, $targetSpeed, $timeSinceTargetMoved); + $realTargetPos = $target_solution->[$targetCurrentStep]; + + my $steps_count = 0; + foreach my $currentStep ($targetCurrentStep..$targetTotalSteps) { + $target_pos_to_check[$steps_count] = { + targetPosInStep => $target_solution->[$currentStep] + }; + } continue { + $steps_count++; + } } my $master_moving; + my $master_solution; my $timeSinceMasterMoved; my $realMasterPos; - my %masterPos; - my %masterPosTo; my $masterSpeed; if ($masterPos) { - $masterPos{x} = $master->{pos}{x}; - $masterPos{y} = $master->{pos}{y}; - $masterPosTo{x} = $master->{pos_to}{x}; - $masterPosTo{y} = $master->{pos_to}{y}; - $masterSpeed = ($master->{walk_speed} || 0.12); $timeSinceMasterMoved = time - $master->{time_move}; + $master_solution = get_solution($field, $master->{pos}, $master->{pos_to}); + # Calculate the time master will need to finish moving from pos to pos_to - my $timeMasterFinishMove = calcTime(\%masterPos, \%masterPosTo, $masterSpeed); + my $timeMasterFinishMove = calcTimeFromSolution($master_solution, $masterSpeed); # master has finished moving if ($timeSinceMasterMoved >= $timeMasterFinishMove) { $master_moving = 0; - $realMasterPos->{x} = $masterPosTo{x}; - $realMasterPos->{y} = $masterPosTo{y}; + $realMasterPos = $master->{pos_to}; + # master is currently moving } else { $master_moving = 1; - ($realMasterPos, undef) = calcPosFromTime(\%masterPos, \%masterPosTo, $masterSpeed, $timeSinceMasterMoved); } } - my $melee; - my $ranged; - if ($attackMaxDistance == 1) { - $melee = 1; - - } elsif ($attackMaxDistance > 1) { - $ranged = 1; - - } else { - error "attackMaxDistance must be positive ($attackMaxDistance).\n"; - return; - } - my $min_destination_dist = 1; - my $max_destination_dist; - if ($ranged && $runFromTarget) { - $min_destination_dist = $runFromTarget_dist; - if ($runFromTargetActive) { - $min_destination_dist = $runFromTarget_minStep; - } + if ($runFromTarget) { + $min_destination_dist = $runFromTarget_minStep; } my $max_path_dist; @@ -2762,112 +2650,102 @@ sub meetingPosition { } else { $max_path_dist = $attackRouteMaxPathDistance; } - - # We should not stray further than $attackMaxDistance - if ($melee) { - $max_destination_dist = 2; # we can atack from a distance of 2 on ortogonal only cells - } else { - $max_destination_dist = $attackMaxDistance; - } - - my $max_pathfinding_dist = $max_destination_dist; - - unless ($field->isWalkable($realMyPos->{x}, $realMyPos->{y})) { - my $new_pos = $field->closestWalkableSpot($realMyPos, 1); - $realMyPos->{x} = $new_pos->{x}; - $realMyPos->{y} = $new_pos->{y}; + # Add 1 here to account for pos from solution so we don't have to do it multiple times later + $max_path_dist += 1; + + my %allspots; + my @blocks = calcRectArea2($realMyPos->{x}, $realMyPos->{y}, $max_path_dist, 0); + foreach my $spot (@blocks) { + $allspots{$spot->{x}}{$spot->{y}} = 1; } my $best_spot; + my $best_targetPosInStep; + my $best_dist_to_target; my $best_time; - foreach my $possible_target_pos (@target_pos_to_check) { - if ($possible_target_pos->{myDistToTargetPosInStep} >= $max_pathfinding_dist) { - $max_pathfinding_dist = $possible_target_pos->{myDistToTargetPosInStep} + 1; - } - # TODO: This algorithm is now a lot smarter than runFromTarget, maybe port it here + foreach my $x_spot (sort keys %allspots) { + foreach my $y_spot (sort keys %{$allspots{$x_spot}}) { + my $spot; + $spot->{x} = $x_spot; + $spot->{y} = $y_spot; - my ($min_pathfinding_x, $min_pathfinding_y, $max_pathfinding_x, $max_pathfinding_y) = Utils::getSquareEdgesFromCoord($field, $possible_target_pos->{targetPosInStep}, $max_pathfinding_dist); - # TODO: Check if this reverse is actually any good here - foreach my $distance (reverse ($min_destination_dist..$max_destination_dist)) { + next unless ($spot->{x} != $realMyPos->{x} || $spot->{y} != $realMyPos->{y}); - my @blocks = calcRectArea($possible_target_pos->{targetPosInStep}{x}, $possible_target_pos->{targetPosInStep}{y}, $distance, $field); + # Is this spot acceptable? - SPOT: foreach my $spot (@blocks) { - next unless ($spot->{x} != $realMyPos->{x} || $spot->{y} != $realMyPos->{y}); + # 1. It must be walkable. + next unless ($field->isWalkable($spot->{x}, $spot->{y})); - # Is this spot acceptable? + # 2. It must not be close to a portal. + next if (positionNearPortal($spot, $config{'attackMinPortalDistance'})); - # 1. It must be walkable - next unless ($field->isWalkable($spot->{x}, $spot->{y})); + my $time_actor_to_get_to_spot; - my $dist_to_target = blockDistance($spot, $possible_target_pos->{targetPosInStep}); - next unless ($dist_to_target <= $attackMaxDistance); - next unless ($dist_to_target >= $min_destination_dist); + my $solution = get_solution($field, $realMyPos, $spot); + + # 3. It must be reachable. + next if (scalar @{$solution} == 0); + + # 4. It must have at max $max_path_dist of route distance to it from our current position. + next if (scalar @{$solution} > $max_path_dist); - next if (positionNearPortal($spot, $config{'attackMinPortalDistance'})); + $time_actor_to_get_to_spot = calcTimeFromSolution($solution, $mySpeed); - # 2. It must be within $followDistanceMax of MasterPos, if we have a master. - if ($realMasterPos) { - if ($master_moving) { - my $masterPos_inTime; - my $totalTime = $timeSinceMasterMoved + $possible_target_pos->{timeForTargetToGetToStep}; - ($masterPos_inTime, undef) = calcPosFromTime(\%masterPos, \%masterPosTo, $masterSpeed, $totalTime); - next unless (blockDistance($spot, $masterPos_inTime) <= $followDistanceMax); - } else { - next unless (blockDistance($spot, $realMasterPos) <= $followDistanceMax); - } - } - # 3. It must have LOS to the target ($possible_target_pos->{targetPosInStep}) if that is active and we are ranged or must be reacheable from melee - if ($ranged) { - next unless ($field->checkLOS($spot, $possible_target_pos->{targetPosInStep}, $attackCanSnipe)); - } elsif ($melee) { - next unless (canReachMeleeAttack($spot, $possible_target_pos->{targetPosInStep})); - if (blockDistance($spot, $possible_target_pos->{targetPosInStep}) == 2) { - next unless ($field->checkLOS($spot, $possible_target_pos->{targetPosInStep}, $attackCanSnipe)); - } - } + my $total_time = ($timeSinceTargetMoved+$time_actor_to_get_to_spot); + my $temp_targetCurrentStep = calcStepsWalkedFromTimeAndSolution($target_solution, $targetSpeed, $total_time); + # Position target would be at if it doesn't change route (and is not following us) + my $targetPosInStep = $target_solution->[$temp_targetCurrentStep]; - # 4. The route should not exceed at any point $max_pathfinding_dist distance from the target. - my $solution = []; - my $dist = new PathFinding( - field => $field, - start => $realMyPos, - dest => $spot, - avoidWalls => 0, - min_x => $min_pathfinding_x, - max_x => $max_pathfinding_x, - min_y => $min_pathfinding_y, - max_y => $max_pathfinding_y - )->run($solution); - - # 5. It must be reachable and have at max $max_path_dist of route distance to it from our current position. - next unless ($dist >= 0 && $dist <= $max_path_dist); - - my $time_actor_to_get_to_spot = calcTime($realMyPos, $spot, $mySpeed); - my $time_actor_will_have_to_wait_in_spot_for_target_to_be_at_targetPosInStep; - - if ($time_actor_to_get_to_spot >= $possible_target_pos->{timeForTargetToGetToStep}) { - $time_actor_will_have_to_wait_in_spot_for_target_to_be_at_targetPosInStep = 0; + # 5. It must not be the same position the target will be in + next unless ($spot->{x} != $targetPosInStep->{x} || $spot->{y} != $targetPosInStep->{y}); + + # 6. We must be able to attack the target from this spot + next unless (canAttack($field, $spot, $targetPosInStep, $attackCanSnipe, $attackMaxDistance, $config{clientSight}) == 1); + + # 7. It must not be too close to the target if we have runfromtarget set + # TODO: Maybe we should assume the target will keep following us after it reaches its destination and take that into consideration when runfromtarget is set + my $dist_to_target = blockDistance($spot, $targetPosInStep); + next unless ($dist_to_target >= $min_destination_dist); + + # 8. It must be within $followDistanceMax of MasterPos, if we have a master. + if ($realMasterPos) { + my $masterPosNow; + if ($master_moving) { + my $totalTime = $timeSinceMasterMoved + $time_actor_to_get_to_spot; + my $master_CurrentStep = calcStepsWalkedFromTimeAndSolution($master_solution, $masterSpeed, $totalTime); + $masterPosNow = $master_solution->[$master_CurrentStep]; } else { - $time_actor_will_have_to_wait_in_spot_for_target_to_be_at_targetPosInStep = $possible_target_pos->{timeForTargetToGetToStep} - $time_actor_to_get_to_spot; + $masterPosNow = $realMasterPos; } + next unless ($spot->{x} != $masterPosNow->{x} || $spot->{y} != $masterPosNow->{y}); + next unless (blockDistance($spot, $masterPosNow) <= $followDistanceMax); + next unless (blockDistance($targetPosInStep, $masterPosNow) <= $followDistanceMax); + } - my $time_target_to_get_to_spot = calcTime($realTargetPos, $spot, $targetSpeed); - next if ($runFromTargetActive && $time_actor_to_get_to_spot > $time_target_to_get_to_spot); - - my $sum_time = $time_actor_to_get_to_spot + $time_actor_will_have_to_wait_in_spot_for_target_to_be_at_targetPosInStep; - - if (!defined($best_time) || $sum_time < $best_time) { - $best_time = $sum_time; - $best_spot = $spot; + # 8. We must be able to get to the spot before our target + # TODO: Fix me. The target does not need to get to the spot, but to at least 2 cells away to be able to attack us, so take that into account + if ($runFromTargetActive) { + my $time_target_to_get_to_spot = calcTimeFromPathfinding($field, $realTargetPos, $spot, $targetSpeed); + if ($time_actor_to_get_to_spot > $time_target_to_get_to_spot) { + next; } } + + # We then choose the spot which takes the least amount of time to reach + # TODO: Maybe this is not the best idea when runfromtarget is set + if (!defined($best_time) || $time_actor_to_get_to_spot < $best_time) { + $best_time = $time_actor_to_get_to_spot; + $best_spot = $spot; + $best_targetPosInStep = $targetPosInStep; + $best_dist_to_target = $dist_to_target; + } } } - if ($best_spot) { + if (defined $best_spot) { + debug "[meetingPosition] Best spot is $best_spot->{x} $best_spot->{y}, mob will be at $best_targetPosInStep->{x} $best_targetPosInStep->{y}, dist $best_dist_to_target, it will take $best_time seconds to get there.\n"; return $best_spot; } } @@ -3448,7 +3326,7 @@ sub updateDamageTables { $monster->{atkMiss}++; } else { if ($config{attackUpdateMonsterPos} && ($monster->{pos}{x} != $monster->{pos_to}{x} || $monster->{pos}{y} != $monster->{pos_to}{y})) { - my $new_monster_pos = calcPosition($monster); + my $new_monster_pos = calcPosFromPathfinding($field, $monster); $monster->{pos} = $new_monster_pos; $monster->{pos_to} = $new_monster_pos; $monster->{time_move} = time; @@ -3476,117 +3354,6 @@ sub updateDamageTables { } -=pod - } elsif ($targetID eq $accountID) { - if ((my $monster = $monstersList->getByID($sourceID))) { - # Monster attacks you - $monster->{dmgFrom} += $damage; - $monster->{dmgToYou} += $damage; - if ($damage == 0) { - $monster->{missedYou}++; - } - $monster->{attackedYou}++ unless ( - scalar(keys %{$monster->{dmgFromPlayer}}) || - scalar(keys %{$monster->{dmgToPlayer}}) || - $monster->{missedFromPlayer} || - $monster->{missedToPlayer} - ); - $monster->{target} = $targetID; - - if (AI::state == 2) { - my $teleport = 0; - if (mon_control($monster->{name},$monster->{nameID})->{teleport_auto} == 2 && $damage){ - message TF("Teleporting due to attack from %s\n", - $monster->{name}), "teleport"; - $teleport = 1; - - } elsif ($config{teleportAuto_deadly} && $damage >= $char->{hp} - && !$char->statusActive('EFST_ILLUSION')) { - message TF("Next %d dmg could kill you. Teleporting...\n", - $damage), "teleport"; - $teleport = 1; - - } elsif ($config{teleportAuto_maxDmg} && $damage >= $config{teleportAuto_maxDmg} - && !$char->statusActive('EFST_ILLUSION') - && !($config{teleportAuto_maxDmgInLock} && $field->baseName eq $config{lockMap})) { - message TF("%s hit you for more than %d dmg. Teleporting...\n", - $monster->{name}, $config{teleportAuto_maxDmg}), "teleport"; - $teleport = 1; - - } elsif ($config{teleportAuto_maxDmgInLock} && $field->baseName eq $config{lockMap} - && $damage >= $config{teleportAuto_maxDmgInLock} - && !$char->statusActive('EFST_ILLUSION')) { - message TF("%s hit you for more than %d dmg in lockMap. Teleporting...\n", - $monster->{name}, $config{teleportAuto_maxDmgInLock}), "teleport"; - $teleport = 1; - - } elsif (AI::inQueue("sitAuto") && $config{teleportAuto_attackedWhenSitting} - && $damage > 0) { - message TF("%s attacks you while you are sitting. Teleporting...\n", - $monster->{name}), "teleport"; - $teleport = 1; - - } elsif ($config{teleportAuto_totalDmg} - && $monster->{dmgToYou} >= $config{teleportAuto_totalDmg} - && !$char->statusActive('EFST_ILLUSION') - && !($config{teleportAuto_totalDmgInLock} && $field->baseName eq $config{lockMap})) { - message TF("%s hit you for a total of more than %d dmg. Teleporting...\n", - $monster->{name}, $config{teleportAuto_totalDmg}), "teleport"; - $teleport = 1; - - } elsif ($config{teleportAuto_totalDmgInLock} && $field->baseName eq $config{lockMap} - && $monster->{dmgToYou} >= $config{teleportAuto_totalDmgInLock} - && !$char->statusActive('EFST_ILLUSION')) { - message TF("%s hit you for a total of more than %d dmg in lockMap. Teleporting...\n", - $monster->{name}, $config{teleportAuto_totalDmgInLock}), "teleport"; - $teleport = 1; - - } elsif ($config{teleportAuto_hp} && percent_hp($char) <= $config{teleportAuto_hp}) { - message TF("%s hit you when your HP is too low. Teleporting...\n", - $monster->{name}), "teleport"; - $teleport = 1; - - } elsif ($config{attackChangeTarget} && ((AI::action eq "route" && AI::action(1) eq "attack") || (AI::action eq "move" && AI::action(2) eq "attack")) - && AI::args->{attackID} && AI::args()->{attackID} ne $sourceID) { - my $attackTarget = Actor::get(AI::args->{attackID}); - my $attackSeq = (AI::action eq "route") ? AI::args(1) : AI::args(2); - if (!$attackTarget->{dmgToYou} && !$attackTarget->{dmgFromYou} && distance($monster->{pos_to}, calcPosition($char)) <= $attackSeq->{attackMethod}{distance}) { - my $ignore = 0; - # Don't attack ignored monsters - if ((my $control = mon_control($monster->{name},$monster->{nameID}))) { - $ignore = 1 if ( ($control->{attack_auto} == -1) - || ($control->{attack_lvl} ne "" && $control->{attack_lvl} > $char->{lv}) - || ($control->{attack_jlvl} ne "" && $control->{attack_jlvl} > $char->{lv_job}) - || ($control->{attack_hp} ne "" && $control->{attack_hp} > $char->{hp}) - || ($control->{attack_sp} ne "" && $control->{attack_sp} > $char->{sp}) - || ($control->{attack_auto} == 3 && ($monster->{dmgToYou} || $monster->{missedYou} || $monster->{dmgFromYou})) - ); - } - if (!$ignore) { - # Change target to closer aggressive monster - message TF("Change target to aggressive : %s (%s)\n", $monster->name, $monster->{binID}); - stopAttack(); - AI::dequeue; - AI::dequeue if (AI::action eq "route"); - AI::dequeue; - attack($sourceID); - } - } - - } elsif (AI::action eq "attack" && mon_control($monster->{name},$monster->{nameID})->{attack_auto} == 3 - && ($monster->{dmgToYou} || $monster->{missedYou} || $monster->{dmgFromYou})) { - - # Mob-training, stop attacking the monster if it has been attacking you - message TF("%s (%s) has been provoked, searching another monster\n", $monster->{name}, $monster->{binID}); - stopAttack(); - AI::dequeue(); - } - - ai_useTeleport(1) if ($teleport); - } - } -=cut - } elsif ((my $monster = $monstersList->getByID($sourceID))) { if (my $player = ($accountID eq $targetID && $char) || $playersList->getByID($targetID) || $slavesList->getByID($targetID)) { # Monster attacks player or slave @@ -3924,6 +3691,7 @@ sub getBestTarget { my $playerDist = $config{'attackMinPlayerDistance'} || 1; my @noLOSMonsters; + # TODO: Is there any situation where we should use calcPosFromPathfinding or calcPosFromTime here? my $myPos = calcPosition($char); my ($highestPri, $smallestDist, $bestTarget); @@ -3931,6 +3699,7 @@ sub getBestTarget { foreach (@{$possibleTargets}) { my $monster = $monsters{$_}; + # TODO: Is there any situation where we should use calcPosFromPathfinding or calcPosFromTime here? my $pos = calcPosition($monster); next if (positionNearPlayer($pos, $playerDist) || positionNearPortal($pos, $portalDist) @@ -3972,6 +3741,7 @@ sub getBestTarget { # more time and CPU resources, so, we use rough solution with priority and distance comparison my $monster = $monsters{$_}; + # TODO: Is there any situation where we should use calcPosFromPathfinding or calcPosFromTime here? my $pos = calcPosition($monster); my $name = lc $monster->{name}; my $dist = adjustedBlockDistance($myPos, $pos); @@ -4597,6 +4367,8 @@ sub checkSelfCondition { return 0 if ($config{$prefix."_whenIdle"} && !AI::isIdle); return 0 if ($config{$prefix."_whenNotIdle"} && AI::isIdle); + + # TODO: Is there any situation where we should use calcPosFromPathfinding or calcPosFromTime here in these checks? # *_manualAI 0 = auto only # *_manualAI 1 = manual only @@ -5150,6 +4922,8 @@ sub checkPlayerCondition { sub checkMonsterCondition { my ($prefix, $monster) = @_; + + # TODO: Is there any situation where we should use calcPosFromPathfinding or calcPosFromTime in these checks? if ($config{$prefix . "_hp"}) { if($config{$prefix . "_hp"} =~ /(\d+)%$/) { diff --git a/src/Network/Receive.pm b/src/Network/Receive.pm index 8f373d33c0..68ca387976 100644 --- a/src/Network/Receive.pm +++ b/src/Network/Receive.pm @@ -1267,6 +1267,8 @@ sub map_loaded { message(TF("Your Coordinates: %s, %s\n", $char->{pos}{x}, $char->{pos}{y}), undef, 1); $char->{time_move} = 0; $char->{time_move_calc} = 0; + $char->{solution} = []; + push(@{$char->{solution}}, { x => $char->{pos}{x}, y => $char->{pos}{y} }); # set initial status from data received from the char server (seems needed on eA, dunno about kRO)} if ($masterServer->{private}){ setStatus($char, $char->{opt1}, $char->{opt2}, $char->{option}); } @@ -2072,6 +2074,7 @@ sub actor_display { # too many packets in prontera and cause server lag). As a side effect, you won't be able to "see" actors # beyond clientSight. if ($config{clientSight}) { + # TODO: Is there any situation where we should use calcPosFromPathfinding or calcPosFromTime here? my $realMyPos = calcPosition($char); my $realActorPos = calcPosition($actor); my $realActorDist = blockDistance($realMyPos, $realActorPos); @@ -2884,9 +2887,9 @@ sub reconstruct_minimap_indicator { # 0ba4 .24B .B .W .W .W .W .W .W .W .W .W .W .W .L .L .L .L .eL .eL .W .W (ZC_PROPERTY_HOMUN4) sub homunculus_property { my ($self, $args) = @_; - + return 0 unless enforce_homun_state(); - + my $slave = $char->{homunculus}; $slave->{name} = bytesToString($args->{name}); @@ -2901,10 +2904,14 @@ sub homunculus_property { # TODO: we do this for homunculus, mercenary and our char... make 1 function and pass actor and attack_range? # or make function in Actor class if ($config{homunculus_attackDistanceAuto} && exists $slave->{attack_range}) { - configModify('homunculus_attackDistance', $slave->{attack_range}, 1) if ($config{homunculus_attackDistanceAuto} > $slave->{attack_range}); - configModify('homunculus_attackMaxDistance', $slave->{attack_range}, 1) if ($config{homunculus_attackMaxDistance} != $slave->{attack_range}); - message TF("Autodetected attackDistance for homunculus = %s\n", $config{homunculus_attackDistanceAuto}), "success"; - message TF("Autodetected homunculus_attackMaxDistance for homunculus = %s\n", $config{homunculus_attackMaxDistance}), "success"; + if($config{homunculus_attackDistance} > $slave->{attack_range}) { # decrease attack range if necessary + configModify('homunculus_attackDistance', $slave->{attack_range}, 1); + message TF("Autodetected attackDistance for homunculus = %s\n", $config{homunculus_attackDistance}), "success"; + } + if ($config{homunculus_attackMaxDistance} != $slave->{attack_range}) { # set max distance using information coming from the server + configModify('homunculus_attackMaxDistance', $slave->{attack_range}, 1); + message TF("Autodetected homunculus_attackMaxDistance for homunculus = %s\n", $config{homunculus_attackMaxDistance}), "success"; + } } } @@ -3013,7 +3020,7 @@ sub homunculus_info { debug "[Homunculus] We received a homunculus_info packet while our homunculus is dead, assume it was resurrected.\n"; $char->{homunculus_info}{dead} = 0; } - + $char->{homunculus} = Actor::get($args->{ID}) if ($char->{homunculus}{ID} ne $args->{ID}); $char->{homunculus}{map} = $field->baseName; unless ($char->{slaves}{$char->{homunculus}{ID}}) { @@ -5474,7 +5481,12 @@ sub character_moves { my $dist = blockDistance($char->{pos}, $char->{pos_to}); debug "You're moving from ($char->{pos}{x}, $char->{pos}{y}) to ($char->{pos_to}{x}, $char->{pos_to}{y}) - distance $dist\n", "parseMsg_move"; $char->{time_move} = time; - $char->{time_move_calc} = calcTime($char->{pos}, $char->{pos_to}, ($char->{walk_speed} || 0.12)); + + my $speed = ($char->{walk_speed} || 0.12); + my $my_solution = get_solution($field, $char->{pos}, $char->{pos_to}); + my $time = calcTimeFromSolution($my_solution, $speed); + $char->{solution} = $my_solution; + $char->{time_move_calc} = $time; # Correct the direction in which we're looking my (%vec, $degree); @@ -7189,6 +7201,8 @@ sub map_change { $char->{pos_to} = {%coords}; $char->{time_move} = 0; $char->{time_move_calc} = 0; + $char->{solution} = []; + push(@{$char->{solution}}, { x => $char->{pos}{x}, y => $char->{pos}{y} }); message TF("Map Change: %s (%s, %s)\n", $args->{map}, $char->{pos}{x}, $char->{pos}{y}), "connection"; if ($net->version == 1) { ai_clientSuspend(0, $timeout{'ai_clientSuspend'}{'timeout'}); @@ -7241,6 +7255,8 @@ sub map_changed { $char->{pos_to} = {%coords}; $char->{time_move} = 0; $char->{time_move_calc} = 0; + $char->{solution} = []; + push(@{$char->{solution}}, { x => $char->{pos}{x}, y => $char->{pos}{y} }); undef $conState_tries; main::initMapChangeVars(); @@ -10189,10 +10205,14 @@ sub attack_range { $char->{attack_range} = $type; if ($config{attackDistanceAuto}) { - configModify('attackDistance', $type, 1) if ($config{attackDistance} > $type); - configModify('attackMaxDistance', $type, 1) if ($config{attackMaxDistance} != $type); - message TF("Autodetected attackDistance = %s\n", $config{attackDistance}), "success"; - message TF("Autodetected attackMaxDistance = %s\n", $config{attackMaxDistance}), "success"; + if($config{attackDistance} > $type) { # decrease attack range if necessary + configModify('attackDistance', $type, 1); + message TF("Autodetected attackDistance = %s\n", $config{attackDistance}), "success"; + } + if ($config{attackMaxDistance} != $type) { # set max distance using information coming from the server + configModify('attackMaxDistance', $type, 1) if ($config{attackMaxDistance} != $type); + message TF("Autodetected attackMaxDistance = %s\n", $config{attackMaxDistance}), "success"; + } } } @@ -11076,10 +11096,14 @@ sub mercenary_init { # ST0's counterpart for ST kRO, since it attempts to support all servers # TODO: we do this for homunculus, mercenary and our char... make 1 function and pass actor and attack_range? if ($config{mercenary_attackDistanceAuto} && exists $slave->{attack_range}) { - configModify('mercenary_attackDistance', $slave->{attack_range}, 1) if ($config{mercenary_attackDistance} > $slave->{attack_range}); - configModify('mercenary_attackMaxDistance', $slave->{attack_range}, 1) if ($config{mercenary_attackMaxDistance} != $slave->{attack_range}); - message TF("Autodetected attackDistance for mercenary = %s\n", $config{mercenary_attackDistance}), "success"; - message TF("Autodetected attackMaxDistance for mercenary = %s\n", $config{mercenary_attackMaxDistance}), "success"; + if($config{mercenary_attackDistance} > $slave->{attack_range}) { # decrease attack range if necessary + configModify('mercenary_attackDistance', $slave->{attack_range}, 1); + message TF("Autodetected attackDistance for mercenary = %s\n", $config{mercenary_attackDistance}), "success"; + } + if ($config{mercenary_attackMaxDistance} != $slave->{attack_range}) { # set max distance using information coming from the server + configModify('mercenary_attackMaxDistance', $slave->{attack_range}, 1); + message TF("Autodetected mercenary_attackMaxDistance for mercenary = %s\n", $config{mercenary_attackMaxDistance}), "success"; + } } } @@ -11108,16 +11132,14 @@ sub monster_ranged_attack { my $monster = $monstersList->getByID($ID); if ($monster) { - $monster->{pos} = {%coords1}; - $monster->{pos_to} = {%coords1}; - $monster->{time_move} = time; - $monster->{time_move_calc} = 0; + $monster->{movetoattack_pos} = {%coords1}; + $monster->{movetoattack_time} = time; } - $char->{pos} = {%coords2}; - $char->{pos_to} = {%coords2}; - $char->{time_move} = time; - $char->{time_move_calc} = 0; - debug "Received Failed to attack target - you: $coords2{x},$coords2{y} - monster: $coords1{x},$coords1{y} - range $range\n", "parseMsg_move", 2; + $char->{movetoattack_pos} = {%coords2}; + $char->{movetoattack_time} = time; + debug "Received Failed to attack target - you: $coords2{x},$coords2{y} - monster: $coords1{x},$coords1{y} - range $range\n", "parseMsg_move"; + + Plugins::callHook('monster_ranged_attack', {ID => $ID}); } sub mvp_item { @@ -11775,13 +11797,13 @@ sub skill_use_failed { Plugins::callHook('packet_skillfail', \%hookArgs); warning(TF("Skill %s failed: %s (error number %s)\n", Skill->new(idn => $args->{skillID})->getName(), $errorMessage, $args->{cause}), "skill") if ($hookArgs{warn}); - + # Ressurect Homunculus failed - which means we have no dead homunculus if ($args->{skillID} == 247 && $args->{cause} == 0) { debug "[Homunculus] Ressurect Homunculus failed - which means we have no dead homunculus.\n"; $char->{homunculus_info}{dead} = 0; } - + # Call Homunculus failed - which means we have no vaporized homunculus if ($args->{skillID} == 243) { if ($args->{cause} == 0) { diff --git a/src/Network/Receive/ServerType0.pm b/src/Network/Receive/ServerType0.pm index 801dca4a1d..eca03d4ac8 100644 --- a/src/Network/Receive/ServerType0.pm +++ b/src/Network/Receive/ServerType0.pm @@ -1398,11 +1398,13 @@ sub skill_used_no_damage { $args->{sourceID} eq $accountID or $args->{sourceID} eq $args->{targetID}; countCastOn($args->{sourceID}, $args->{targetID}, $args->{skillID}); if ($args->{sourceID} eq $accountID) { - my $pos = calcPosition($char); + my $pos = calcPosFromPathfinding($field, $char); %{$char->{pos}} = %{$pos}; %{$char->{pos_to}} = %{$pos}; $char->{time_move} = 0; $char->{time_move_calc} = 0; + $char->{solution} = []; + push(@{$char->{solution}}, { x => $char->{pos}{x}, y => $char->{pos}{y} }); } # Resolve source and target names diff --git a/src/Network/Receive/kRO/Sakexe_0.pm b/src/Network/Receive/kRO/Sakexe_0.pm index 49d0a1d5fd..5f13ab1013 100644 --- a/src/Network/Receive/kRO/Sakexe_0.pm +++ b/src/Network/Receive/kRO/Sakexe_0.pm @@ -1376,11 +1376,13 @@ sub skill_used_no_damage { $args->{sourceID} eq $accountID or $args->{sourceID} eq $args->{targetID}; countCastOn($args->{sourceID}, $args->{targetID}, $args->{skillID}); if ($args->{sourceID} eq $accountID) { - my $pos = calcPosition($char); + my $pos = calcPosFromPathfinding($field, $char); %{$char->{pos}} = %{$pos}; %{$char->{pos_to}} = %{$pos}; $char->{time_move} = 0; $char->{time_move_calc} = 0; + $char->{solution} = []; + push(@{$char->{solution}}, { x => $char->{pos}{x}, y => $char->{pos}{y} }); } # Resolve source and target names diff --git a/src/Task/MapRoute.pm b/src/Task/MapRoute.pm index a35f0b2aac..830f104af6 100644 --- a/src/Task/MapRoute.pm +++ b/src/Task/MapRoute.pm @@ -89,7 +89,7 @@ sub new { ArgumentException->throw(error => "Task::MapRoute: Invalid arguments."); } - my $allowed = new Set(qw(maxDistance maxTime distFromGoal pyDistFromGoal avoidWalls notifyUponArrival attackID attackOnRoute noSitAuto LOSSubRoute meetingSubRoute isRandomWalk isFollow isIdleWalk isSlaveRescue isMoveNearSlave isEscape isItemTake isItemGather isDeath isToLockMap runFromTarget)); + my $allowed = new Set(qw(maxDistance maxTime distFromGoal pyDistFromGoal avoidWalls randomFactor useManhattan notifyUponArrival attackID attackOnRoute noSitAuto LOSSubRoute meetingSubRoute isRandomWalk isFollow isIdleWalk isSlaveRescue isMoveNearSlave isEscape isItemTake isItemGather isDeath isToLockMap runFromTarget)); foreach my $key (keys %args) { if ($allowed->has($key) && defined $args{$key}) { $self->{$key} = $args{$key}; @@ -103,7 +103,15 @@ sub new { $self->{dest}{pos}{y} = $args{y}; if ($config{'route_avoidWalls'}) { $self->{avoidWalls} = 1 if (!defined $self->{avoidWalls}); - } else {$self->{avoidWalls} = 0;} + } else { + $self->{avoidWalls} = 0; + } + if ($config{'route_randomFactor'}) { + $self->{randomFactor} = $config{'route_randomFactor'} if (!defined $self->{randomFactor}); + } else { + $self->{randomFactor} = 0; + } + $self->{useManhattan} = 0 if (!defined $self->{useManhattan}); # Watch for map change events. Pass a weak reference to ourselves in order # to avoid circular references (memory leaks). @@ -163,6 +171,10 @@ sub iterate { my $min_npc_dist = 8; my $max_npc_dist = 10; my $dist_to_npc = blockDistance($self->{actor}{pos}, $self->{mapSolution}[0]{pos}); + + if (!exists $self->{mapSolution}[0]{retry} || !defined $self->{mapSolution}[0]{retry}) { + $self->{mapSolution}[0]{retry} = 0; + } # If current solution has conversation steps specified if ( $self->{substage} eq 'Waiting for Warp' ) { @@ -176,7 +188,8 @@ sub iterate { warning TF("NPC error: %s.\n", $self->{mapSolution}[0]{error}), "route" if (exists $self->{mapSolution}[0]{error}); if ($self->{mapSolution}[0]{retry} < ($config{route_maxNpcTries} || 5)) { - warning "Retrying for the ".$self->{mapSolution}[0]{retry}." time...\n", "route"; + $self->{mapSolution}[0]{retry}++; + warning "Retrying for the ".$self->{mapSolution}[0]{retry}."th time...\n", "route"; delete $self->{mapSolution}[0]{error}; } else { @@ -252,6 +265,8 @@ sub iterate { maxTime => $self->{maxTime}, distFromGoal => $min_npc_dist, avoidWalls => $self->{avoidWalls}, + randomFactor => $self->{randomFactor}, + useManhattan => $self->{useManhattan}, solution => \@solution ); $self->setSubtask($task); @@ -287,11 +302,13 @@ sub iterate { field => $field, maxTime => $self->{maxTime}, avoidWalls => $self->{avoidWalls}, + randomFactor => $self->{randomFactor}, + useManhattan => $self->{useManhattan}, distFromGoal => $self->{distFromGoal}, pyDistFromGoal => $self->{pyDistFromGoal}, solution => \@solution ); - $task->{$_} = $self->{$_} for qw(attackID attackOnRoute noSitAuto LOSSubRoute meetingSubRoute isRandomWalk isFollow isIdleWalk isSlaveRescue isMoveNearSlave isEscape isItemTake isItemGather isDeath isToLockMap runFromTarget); + $task->{$_} = $self->{$_} for qw(attackID sendAttackWithMove attackOnRoute noSitAuto LOSSubRoute meetingSubRoute isRandomWalk isFollow isIdleWalk isSlaveRescue isMoveNearSlave isEscape isItemTake isItemGather isDeath isToLockMap runFromTarget); $self->setSubtask($task); $self->{mapSolution}[0]{routed} = 1; @@ -385,9 +402,9 @@ sub iterate { solution => \@solution ); $params{$_} = $self->{guess_portal}{pos}{$_} for qw(x y); - $params{$_} = $self->{$_} for qw(actor maxTime avoidWalls); + $params{$_} = $self->{$_} for qw(actor maxTime avoidWalls randomFactor useManhattan); my $task = new Task::Route(%params); - $task->{$_} = $self->{$_} for qw(attackID attackOnRoute noSitAuto LOSSubRoute meetingSubRoute isRandomWalk isFollow isIdleWalk isSlaveRescue isMoveNearSlave isEscape isItemTake isItemGather isDeath isToLockMap runFromTarget); + $task->{$_} = $self->{$_} for qw(attackID sendAttackWithMove attackOnRoute noSitAuto LOSSubRoute meetingSubRoute isRandomWalk isFollow isIdleWalk isSlaveRescue isMoveNearSlave isEscape isItemTake isItemGather isDeath isToLockMap runFromTarget); $self->setSubtask($task); } } @@ -493,9 +510,11 @@ sub iterate { field => $field, maxTime => $self->{maxTime}, avoidWalls => $self->{avoidWalls}, + randomFactor => $self->{randomFactor}, + useManhattan => $self->{useManhattan}, solution => \@solution ); - $task->{$_} = $self->{$_} for qw(attackID attackOnRoute noSitAuto LOSSubRoute meetingSubRoute isRandomWalk isFollow isIdleWalk isSlaveRescue isMoveNearSlave isEscape isItemTake isItemGather isDeath isToLockMap runFromTarget); + $task->{$_} = $self->{$_} for qw(attackID sendAttackWithMove attackOnRoute noSitAuto LOSSubRoute meetingSubRoute isRandomWalk isFollow isIdleWalk isSlaveRescue isMoveNearSlave isEscape isItemTake isItemGather isDeath isToLockMap runFromTarget); $self->setSubtask($task); } else { @@ -564,10 +583,12 @@ sub subtaskDone { field => $field, maxTime => $self->{maxTime}, avoidWalls => $self->{avoidWalls}, + randomFactor => $self->{randomFactor}, + useManhattan => $self->{useManhattan}, distFromGoal => $self->{distFromGoal}, pyDistFromGoal => $self->{pyDistFromGoal} ); - $task->{$_} = $self->{$_} for qw(attackID attackOnRoute noSitAuto LOSSubRoute meetingSubRoute isRandomWalk isFollow isIdleWalk isSlaveRescue isMoveNearSlave isEscape isItemTake isItemGather isDeath isToLockMap runFromTarget); + $task->{$_} = $self->{$_} for qw(attackID sendAttackWithMove attackOnRoute noSitAuto LOSSubRoute meetingSubRoute isRandomWalk isFollow isIdleWalk isSlaveRescue isMoveNearSlave isEscape isItemTake isItemGather isDeath isToLockMap runFromTarget); $self->setSubtask($task); } } diff --git a/src/Task/Move.pm b/src/Task/Move.pm index 3f23edf9ed..b2706a89ee 100644 --- a/src/Task/Move.pm +++ b/src/Task/Move.pm @@ -158,6 +158,10 @@ sub iterate { $self->{retry}{count}++; debug "Move $self->{actor} (to $self->{x} $self->{y}) - trying ($self->{retry}{count})\n", "move"; $self->{actor}->sendMove(@{$self}{qw(x y)}); + if ($self->{sendAttack}) { + debug "[Test Move Attack Buffer] Sending attack with move.\n"; + $self->{actor}->sendAttack($self->{attackID}); + } $self->{retry}{time} = time; } } diff --git a/src/Task/Route.pm b/src/Task/Route.pm index 3b32b7131f..afb99f96b3 100644 --- a/src/Task/Route.pm +++ b/src/Task/Route.pm @@ -35,7 +35,7 @@ use Network; use Field; use Translation qw(T TF); use Misc; -use Utils qw(timeOut adjustedBlockDistance distance blockDistance calcPosition); +use Utils qw(timeOut adjustedBlockDistance distance blockDistance calcPosFromPathfinding); use Utils::Exceptions; use Utils::Set; use Utils::PathFinding; @@ -107,7 +107,7 @@ sub new { ArgumentException->throw(error => "Invalid Coordinates argument."); } - my $allowed = new Set(qw(maxDistance maxTime distFromGoal pyDistFromGoal avoidWalls notifyUponArrival attackID attackOnRoute noSitAuto LOSSubRoute meetingSubRoute isRandomWalk isFollow isIdleWalk isSlaveRescue isMoveNearSlave isEscape isItemTake isItemGather isDeath isToLockMap runFromTarget)); + my $allowed = new Set(qw(maxDistance maxTime distFromGoal pyDistFromGoal avoidWalls randomFactor useManhattan notifyUponArrival attackID sendAttackWithMove attackOnRoute noSitAuto LOSSubRoute meetingSubRoute isRandomWalk isFollow isIdleWalk isSlaveRescue isMoveNearSlave isEscape isItemTake isItemGather isDeath isToLockMap runFromTarget)); foreach my $key (keys %args) { if ($allowed->has($key) && defined($args{$key})) { $self->{$key} = $args{$key}; @@ -131,6 +131,18 @@ sub new { } else { $self->{avoidWalls} = 0; } + + if ($config{$self->{actor}{configPrefix}.'route_randomFactor'}) { + if (!defined $self->{randomFactor}) { + $self->{randomFactor} = $config{$self->{actor}{configPrefix}.'route_randomFactor'}; + } + } else { + $self->{randomFactor} = 0; + } + if (!defined $self->{useManhattan}) { + $self->{useManhattan} = 0; + } + $self->{solution} = []; $self->{stage} = NOT_INITIALIZED; @@ -198,14 +210,16 @@ sub iterate { } elsif ($self->{stage} == CALCULATE_ROUTE) { my $pos = $self->{actor}{pos}; my $pos_to = $self->{actor}{pos_to}; - + + debug "Route $self->{actor}: Calculating. Your pos ($pos->{x} $pos->{y}). Your pos_to ($pos_to->{x} $pos_to->{y}).\n", "route"; + my $begin = time; if (!$self->{meetingSubRoute} && !$self->{LOSSubRoute} && $pos_to->{x} == $self->{dest}{pos}{x} && $pos_to->{y} == $self->{dest}{pos}{y}) { debug "Route $self->{actor}: Current position and destination are the same.\n", "route"; $self->setDone(); - - } elsif ($self->getRoute($self->{solution}, $self->{dest}{map}, $pos, $self->{dest}{pos}, $self->{avoidWalls}, 1)) { + + } elsif ($self->getRoute($self->{solution}, $self->{dest}{map}, $pos, $self->{dest}{pos}, $self->{avoidWalls}, $self->{randomFactor}, $self->{useManhattan}, 1)) { $self->{stage} = ROUTE_SOLUTION_READY; @{$self->{last_pos}}{qw(x y)} = @{$pos}{qw(x y)}; @@ -214,13 +228,11 @@ sub iterate { $self->{confirmed_correct_vector} = 0; debug "Route $self->{actor} Solution Ready! Found path on ".$self->{dest}{map}->baseName." from ".$pos->{x}." ".$pos->{y}." to ".$self->{dest}{pos}{x}." ".$self->{dest}{pos}{y}.". Size: ".@{$self->{solution}}." steps.\n", "route"; + + # Changed in pathfinding.xs + #unshift(@{$self->{solution}}, { x => $pos->{x}, y => $pos->{y}}); - unshift(@{$self->{solution}}, { x => $pos->{x}, y => $pos->{y}}); - - if (time - $begin < 0.01) { - # Optimization: immediately go to the next stage if we spent neglible time in this step. - $self->iterate(); - } + $self->iterate(); } else { debug "Something's wrong; there is no path from " . $self->{dest}{map}->baseName . "($pos->{x},$pos->{y}) to " . $self->{dest}{map}->baseName . "($self->{dest}{pos}{x},$self->{dest}{pos}{y}).\n", "debug"; @@ -279,8 +291,7 @@ sub iterate { if (@{$self->{solution}} == 0) { debug "Route $self->{actor}: DistFromGoal|pyDistFromGoal trimmed all solution steps.\n", "route"; $self->setDone(); - } elsif (time - $begin < 0.01) { - # Optimization: immediately go to the next stage if we spent neglible time in this step. + } else { $self->iterate(); } @@ -300,9 +311,9 @@ sub iterate { # $actor->{pos_to} is the position the character moved TO in the last move packet received @{$current_pos_to}{qw(x y)} = @{$self->{actor}{pos_to}}{qw(x y)}; - - my $current_calc_pos = calcPosition($self->{actor}); - + + my $current_calc_pos = calcPosFromPathfinding($field, $self->{actor}); + if ($current_calc_pos->{x} == $solution->[$#{$solution}]{x} && $current_calc_pos->{y} == $solution->[$#{$solution}]{y}) { # Actor position is the destination; we've arrived at the destination if ($self->{notifyUponArrival}) { @@ -403,6 +414,8 @@ sub iterate { } my $stepsleft = @{$solution}; + + $self->{lastStep} = 0; if ($stepsleft == 0) { # No more points to cover; we've arrived at the destination @@ -445,15 +458,11 @@ sub iterate { # If we still have more points to cover, walk to next point if ($self->{step_index} >= $stepsleft) { $self->{step_index} = $stepsleft - 1; + $self->{lastStep} = 1; } @{$self->{next_pos}}{qw(x y)} = @{$solution->[$self->{step_index}]}{qw(x y)}; $self->{time_step} = time; - my $task = new Task::Move( - actor => $self->{actor}, - x => $self->{next_pos}{x}, - y => $self->{next_pos}{y} - ); - $self->setSubtask($task); + $self->setMove(); } } else { @@ -488,6 +497,7 @@ sub iterate { # If there are less steps to cover than the step size move to the last step (the destination). if ($self->{step_index} >= $stepsleft) { $self->{step_index} = $stepsleft - 1; + $self->{lastStep} = 1; } # Here maybe we should also use pos_to (in the form of best_pos_to_step) to decide the next step index, as it can make the routing way more responsive @@ -521,18 +531,8 @@ sub iterate { @{$self->{last_pos_to}}{qw(x y)} = @{$current_pos_to}{qw(x y)}; debug "Route $self->{actor} - next step moving to ($self->{next_pos}{x}, $self->{next_pos}{y}), index $self->{step_index}, $stepsleft steps left\n", "route"; - - my $task = new Task::Move( - actor => $self->{actor}, - x => $self->{next_pos}{x}, - y => $self->{next_pos}{y} - ); - $self->setSubtask($task); - - if (time - $begin < 0.01) { - # Optimization: immediately begin moving, if we spent neglible time in this step. - $self->iterate(); - } + + $self->setMove(); } } $self->{route_out_time} = time; @@ -543,6 +543,26 @@ sub iterate { } } +sub setMove { + my ($self) = @_; + + my $task = new Task::Move( + actor => $self->{actor}, + x => $self->{next_pos}{x}, + y => $self->{next_pos}{y} + ); + + if ($self->{lastStep} == 1 && $self->{attackID} && $self->{sendAttackWithMove}) { + $task->{sendAttack} = 1; + $task->{attackID} = $self->{attackID}; + } else { + $task->{sendAttack} = 0; + } + + $self->setSubtask($task); + $self->iterate(); +} + sub resetRoute { my ($self) = @_; $self->{solution} = []; @@ -568,7 +588,7 @@ sub resetRoute { # This function is a convenience wrapper function for the stuff # in Utils/PathFinding.pm sub getRoute { - my ($class, $solution, $field, $start, $dest, $avoidWalls, $self_call) = @_; + my ($class, $solution, $field, $start, $dest, $avoidWalls, $randomFactor, $useManhattan, $self_call) = @_; assertClass($field, 'Field') if DEBUG; if (!defined $dest->{x} || $dest->{y} eq '') { @{$solution} = () if ($solution); @@ -595,6 +615,8 @@ sub getRoute { $plugin_args{dest} = $closest_dest; $plugin_args{field} = $field; $plugin_args{avoidWalls} = $avoidWalls; + $plugin_args{randomFactor} = $randomFactor; + $plugin_args{useManhattan} = $useManhattan; $plugin_args{return} = 0; Plugins::callHook('getRoute' => \%plugin_args); @@ -611,7 +633,10 @@ sub getRoute { start => $closest_start, dest => $closest_dest, field => $field, - avoidWalls => $avoidWalls + avoidWalls => $avoidWalls, + randomFactor => $randomFactor, + useManhattan => $useManhattan, + getRoute => 1 ); return undef if (!$pathfinding); diff --git a/src/Utils.pm b/src/Utils.pm index b5bebfeb51..d4085f9afd 100644 --- a/src/Utils.pm +++ b/src/Utils.pm @@ -38,9 +38,12 @@ our @EXPORT = ( @{$Utils::DataStructures::EXPORT_TAGS{all}}, # Math - qw(calcPosFromTime calcPosition fieldAreaCorrectEdges getSquareEdgesFromCoord calcStepsWalkedFromTimeAndRoute calcTimeFromRoute calcTime checkMovementDirection countSteps distance + qw(get_client_solution get_client_easy_solution get_solution calcPosFromPathfinding calcTimeFromPathfinding calcStepsWalkedFromTimeAndSolution calcTimeFromSolution + calcPosFromTime calcTime calcPosition + checkMovementDirection + distance blockDistance specifiedBlockDistance adjustedBlockDistance getClientDist canAttack intToSignedInt intToSignedShort - blockDistance specifiedBlockDistance adjustedBlockDistance getVector moveAlong moveAlongVector + getVector moveAlong moveAlongVector normalize vectorToDegree max min round ceil), # OS-specific qw(checkLaunchedApp launchApp launchScript), @@ -55,7 +58,10 @@ our @EXPORT = ( our %strings; our %quarks; - +use constant { + MOVE_COST => 10, + MOVE_DIAGONAL_COST => 14, +}; ################################ ################################ @@ -63,90 +69,69 @@ our %quarks; ################################ ################################ - ## -# calcPosFromTime(pos, pos_to, speed, time) +# get_client_solution(field, pos, pos_to) # -# Returns: the position where an actor moving from $pos to $pos_to with -# the speed $speed will be in $time amount of time. -# Walls are not considered. -sub calcPosFromTime { - my ($pos, $pos_to, $speed, $time) = @_; - my $posX = $$pos{x}; - my $posY = $$pos{y}; - my $pos_toX = $$pos_to{x}; - my $pos_toY = $$pos_to{y}; - my $stepType = 0; # 1 - vertical or horizontal; 2 - diagonal - my $s = 0; # step - - my $time_needed_ortogonal = $speed; - my $time_needed_diagonal = sqrt(2) * $speed; - - my %result; - $result{x} = $pos_toX; - $result{y} = $pos_toY; +# Returns: the walking path from $pos to $pos_to using the A* pathfinding +# +# Reference: hercules src\map\path.c path_search +sub get_client_solution { + my ($field, $pos, $pos_to) = @_; - if (!$speed) { - return %result; - } - while (1) { - $s++; - $stepType = 0; - if ($posX < $pos_toX) { - $posX++; - $stepType++; - } - if ($posX > $pos_toX) { - $posX--; - $stepType++; - } - if ($posY < $pos_toY) { - $posY++; - $stepType++; - } - if ($posY > $pos_toY) { - $posY--; - $stepType++; - } + my $solution = []; - if ($stepType == 2) { - $time -= $time_needed_diagonal; - } elsif ($stepType == 1) { - $time -= $time_needed_ortogonal; - } else { - $s--; - last; - } - if ($time < 0) { - $s--; - last; - } + # Optimization so we don't need to call the Pathfinding just to get this cell + if ($pos->{x} == $pos_to->{x} && $pos->{y} == $pos_to->{y}) { + push(@{$solution}, { x => $pos->{x}, y => $pos->{y} }); + return $solution; } - %result = moveAlong($pos, $pos_to, $s); - return (\%result, $s); + # Game client uses the same A* Pathfinding as openkore but uses and inadmissible heuristic (Manhattan distance) + # To better simulate the client pathfinding we tell openkore's pathfinding to use the same Manhattan heuristic + # We also deactivate any custom pathfinding weights (randomFactor, avoidWalls, customWeights) + # TODO: This 35 probably should be something dynamic like (max(abs(pos_x-posto_x),abs(pos_y-posto_y))) + my ($min_pathfinding_x, $min_pathfinding_y, $max_pathfinding_x, $max_pathfinding_y) = $field->getSquareEdgesFromCoord($pos, 35); + my $dist_path = new PathFinding( + field => $field, + start => $pos, + dest => $pos_to, + avoidWalls => 0, + randomFactor => 0, + useManhattan => 1, + min_x => $min_pathfinding_x, + max_x => $max_pathfinding_x, + min_y => $min_pathfinding_y, + max_y => $max_pathfinding_y + )->run($solution); + return $solution; } ## -# calcTime(pos, pos_to, speed) +# get_client_easy_solution(pos, pos_to) # -# Returns: time to move from $pos to $pos_to with $speed speed. -# Walls are not considered. -sub calcTime { - my ($pos, $pos_to, $speed) = @_; +# Returns: the walking path from $pos to $pos_to using "easy path search" +# +# Walls and pathfinding are not considered. +# Obstacles should be checked using Field::checkPathFree +# +# Reference: hercules src\map\path.c path_search - flag&1 +sub get_client_easy_solution { + my ($pos, $pos_to) = @_; + my $posX = $$pos{x}; my $posY = $$pos{y}; my $pos_toX = $$pos_to{x}; my $pos_toY = $$pos_to{y}; - my $stepType = 0; # 1 - vertical or horizontal; 2 - diagonal - my $time = 0; - my $time_needed_ortogonal = $speed; - my $time_needed_diagonal = sqrt(2) * $speed; + # 1 - vertical or horizontal + # 2 - diagonal + my $stepType = 0; - return if (!$speed); # Make sure $speed actually has a non-zero value... + my $solution = []; + + while (1) { + push(@{$solution}, { x => $posX, y => $posY }); - while ($posX ne $pos_toX || $posY ne $pos_toY) { $stepType = 0; if ($posX < $pos_toX) { $posX++; @@ -164,89 +149,145 @@ sub calcTime { $posY--; $stepType++; } + if ($stepType == 2) { - $time += $time_needed_diagonal; + next; } elsif ($stepType == 1) { - $time += $time_needed_ortogonal; + next; } + + # $stepType == 0 then $pos == $pos_to + last; } - return $time; + + return $solution; } ## -# calcPosition(object, [extra_time, float]) -# object: $char (yourself), or a value in %monsters or %players. -# float: If set to 1, return coordinates as floating point. -# Returns: reference to a position hash. -# -# The position information server that the server sends indicates a motion: -# it says that an object is walking from A to B, and that it will arrive at B shortly. -# This function calculates the current position of $object based on the motion information. -# -# If $extra_time is given, this function will calculate where $object will be -# after $extra_time seconds. +# get_solution(field, pos, pos_to) # -# Example: -# my $pos; -# $pos = calcPosition($char); -# print "You are currently at: $pos->{x}, $pos->{y}\n"; +# Returns: the walking path from $pos to $pos_to # -# $pos = calcPosition($monsters{$ID}); -# # Calculate where the player will be after 2 seconds -# $pos = calcPosition($players{$ID}, 2); -sub calcPosition { - my ($object, $extra_time, $float) = @_; - my $time_needed = $object->{time_move_calc}; - my $elasped = time - $object->{time_move} + $extra_time; +# Wrapper that checks if an easy solution is possible, if it is then return easy solution, if it isn't then return client solution +sub get_solution { + my ($field, $pos, $pos_to) = @_; - if ($elasped >= $time_needed || !$time_needed) { - return $object->{pos_to}; - } else { - my (%vec, %result, $dist); - my $pos = $object->{pos}; - my $pos_to = $object->{pos_to}; + # If there are no obstacles between Pos and PosTo use calcPosFromTime to save time. + if ($field->checkPathFree($pos, $pos_to)) { + return get_client_easy_solution($pos, $pos_to); - getVector(\%vec, $pos_to, $pos); - $dist = (distance($pos, $pos_to) - 1) * ($elasped / $time_needed); - moveAlongVector(\%result, $pos, \%vec, $dist); - $result{x} = int sprintf("%.0f", $result{x}) if (!$float); - $result{y} = int sprintf("%.0f", $result{y}) if (!$float); - return \%result; + # If there are obstacles then use the client pathfinding to solve it + } else { + return get_client_solution($field, $pos, $pos_to); } } -sub fieldAreaCorrectEdges { - my ($field, $x1, $y1, $x2, $y2) = @_; +# Currently the go-to function to get the position of a given actor on critical ocasions (eg. Attack logic) +sub calcPosFromPathfinding { + my ($field, $actor, $extra_time) = @_; + my $speed = ($actor->{walk_speed} || 0.12); + my $time = time - $actor->{time_move} + $extra_time; - if ($x1 < 0) { - $x1 = 0; + # If Pos and PosTo are the same return Pos + if ($actor->{pos}{x} == $actor->{pos_to}{x} && $actor->{pos}{y} == $actor->{pos_to}{y}) { + return $actor->{pos}; } - if ($y1 < 0) { - $y1 = 0; - } + my $solution; - if ($x2 >= $field->width) { - $x2 = $field->width-1; + # If the actor is the character then we should have already saved the time calc and solution at Receive.pm::character_moves + if (UNIVERSAL::isa($actor, "Actor::You")) { + if ($time >= $actor->{time_move_calc}) { + return $actor->{pos_to}; + } + $solution = $actor->{solution}; + + } else { + $solution = get_solution($field, $actor->{pos}, $actor->{pos_to}); } - if ($y2 >= $field->height) { - $y2 = $field->height-1; + my $steps_walked = calcStepsWalkedFromTimeAndSolution($solution, $speed, $time); + + my $pos = $solution->[$steps_walked]; + + return $pos; +} + +# Wrapper for calcTimeFromSolution so you don't need to call get_client_solution and calcTimeFromSolution when you only need the time +# Used in Misc::meetingPosition to calculate if the target would have time to catch-up with the character when running away from it +sub calcTimeFromPathfinding { + my ($field, $pos, $pos_to, $speed) = @_; + + if ($pos->{x} == $pos_to->{x} && $pos->{y} == $pos_to->{y}) { + return 0; } - return ($x1, $y1, $x2, $y2); + my $solution = get_solution($field, $pos, $pos_to); + + my $summed_time = calcTimeFromSolution($solution, $speed); + return $summed_time; } -sub getSquareEdgesFromCoord { - my ($field, $start, $dist_from_center) = @_; +# Returns: +# -1: No LOS +# 0: out of range +# 1: sucess +# +# Reference: hercules src\map\battle.c battle_check_range +sub canAttack { + my ($field, $pos1, $pos2, $attackCanSnipe, $range, $clientSight) = @_; + + my $distance = blockDistance($pos1, $pos2); + return 1 if ($distance < 2); + + # hercules conf\map\battle\client.conf area_size + # Here the check is done against area_size (which is by default 14, can be higher, eg. 22 in OathRO) + # Openkore clientSight should be area_size+1 (by default 15) + return 0 if ($distance >= $clientSight); - my ($min_x, $min_y, $max_x, $max_y) = fieldAreaCorrectEdges($field, ($start->{x} - $dist_from_center), ($start->{y} - $dist_from_center), ($start->{x} + $dist_from_center), ($start->{y} + $dist_from_center)); + my $client_distance = getClientDist($pos1, $pos2); + return 0 unless ($client_distance <= $range); - return ($min_x, $min_y, $max_x, $max_y); + return -1 unless ($field->checkLOS($pos1, $pos2, $attackCanSnipe)); + + return 1; +} + +# Only God and gravity developers know why this is done this way, but I tested in the client and it works 100% of the time +# Probably done this way because the client actually calculates distance in 3D and takes in consideration height ou the GAT file +# To save processing time the server just removes some distance (0.0625 in Hercules and 0.1 in rathena) to compensate +# Bound to fail sometimes as the server itself will fail in some cases +# This actually makes it so that openkore can target, in very specific cases, targets a bit further away than the client can (very large height diference) +# Reference: rathena src\map\path.c distance_client +sub getClientDist { + my ($pos1, $pos2) = @_; + my $xD = abs($pos1->{x} - $pos2->{x}); + my $yD = abs($pos1->{y} - $pos2->{y}); + my $temp_dist = sqrt(($xD*$xD) + ($yD*$yD)); + $temp_dist -= 0.1; + $temp_dist = 0 if($temp_dist < 0); + $temp_dist = int($temp_dist); + return $temp_dist } ## -# calcStepsWalkedFromTimeAndRoute(solution, speed, time_elapsed) +# blockDistance(pos1, pos2) +# pos1, pos2: references to position hash tables. +# Returns: the distance in number of blocks (integer). +# +# Calculates the distance in number of blocks between pos1 and pos2. +# This is used for e.g. weapon range calculation. +# +# Reference: hercules src\map\path.c distance +sub blockDistance { + my ($pos1, $pos2) = @_; + + return max(abs($pos1->{x} - $pos2->{x}), + abs($pos1->{y} - $pos2->{y})); +} + +## +# calcStepsWalkedFromTimeAndSolution(solution, speed, time_elapsed) # solution: Reference to an array in which the solution is stored. It will contain hashes of x and y coordinates from the start to the end of the path, the first array element should be the current position. # speed: The actor speed in blocks / second. # time_elapsed: The amount of time that has passed since movement started. @@ -255,106 +296,213 @@ sub getSquareEdgesFromCoord { # # Example: # my $steps_walked; -# $steps_walked = calcStepsWalkedFromTimeAndRoute($solution, $speed, $time_elapsed) +# $steps_walked = calcStepsWalkedFromTimeAndSolution($solution, $speed, $time_elapsed) # print "You are currently at: $solution->[$steps_walked]{x} $solution->[$steps_walked]{y}\n"; -sub calcStepsWalkedFromTimeAndRoute { - my ($solution, $speed, $time_elapsed) = @_; +sub calcStepsWalkedFromTimeAndSolution { + my ($solution, $speed, $time_elapsed) = @_; - my $stepType = 0; # 1 - vertical or horizontal; 2 - diagonal - my $current_step = 0; # step + my $stepType = 0; # 1 - vertical or horizontal; 2 - diagonal + my $current_step = 0; # step my %current_pos = ( x => $solution->[0]{x}, y => $solution->[0]{y} ); - my %next_pos; + my %next_pos; my @steps = @{$solution}[1..$#{$solution}]; - my $dist = @steps; + my $dist = @steps; - my $time_needed_ortogonal = $speed; - my $time_needed_diagonal = sqrt(2) * $speed; - my $time_needed; + my $time_needed_ortogonal = $speed; + my $time_needed_diagonal = $speed * (MOVE_DIAGONAL_COST / MOVE_COST); + my $time_needed; - while ($current_step < $dist) { - %next_pos = ( x => $steps[$current_step]{x}, y => $steps[$current_step]{y} ); + while ($current_step < $dist) { + %next_pos = ( x => $steps[$current_step]{x}, y => $steps[$current_step]{y} ); - $stepType = 0; + $stepType = 0; - if ($current_pos{x} != $next_pos{x}) { - $stepType++; - } + if ($current_pos{x} != $next_pos{x}) { + $stepType++; + } - if ($current_pos{y} != $next_pos{y}) { - $stepType++; - } + if ($current_pos{y} != $next_pos{y}) { + $stepType++; + } - if ($stepType == 2) { - $time_needed = $time_needed_diagonal; - } elsif ($stepType == 1) { - $time_needed = $time_needed_ortogonal; - } + if ($stepType == 2) { + $time_needed = $time_needed_diagonal; + } elsif ($stepType == 1) { + $time_needed = $time_needed_ortogonal; + } - if ($time_elapsed > $time_needed) { - $time_elapsed -= $time_needed; - %current_pos = %next_pos; - $current_step++; - } else { - last; - } - } + if ($time_elapsed > $time_needed) { + $time_elapsed -= $time_needed; + %current_pos = %next_pos; + $current_step++; + } else { + last; + } + } - return $current_step; + return $current_step; } ## -# calcTimeFromRoute(solution, speed) +# calcTimeFromSolution(solution, speed) # solution: Reference to an array in which the solution is stored. It will contain hashes of x and y coordinates from the start to the end of the path, the first array element should be the current position. # speed: The actor speed in blocks / second. # -# Returns the amount of seconds to walk the given route with the given speed. -sub calcTimeFromRoute { - my ($solution, $speed) = @_; +# Returns the amount of seconds to walk the given Solution with the given speed. +sub calcTimeFromSolution { + my ($solution, $speed) = @_; - my $stepType = 0; # 1 - vertical or horizontal; 2 - diagonal - my $current_step = 0; # step + my $stepType = 0; # 1 - vertical or horizontal; 2 - diagonal + my $current_step = 0; # step my %current_pos = ( x => $solution->[0]{x}, y => $solution->[0]{y} ); - my %next_pos; + my %next_pos; my @steps = @{$solution}[1..$#{$solution}]; - my $dist = @steps; + my $dist = @steps; - my $time_needed_ortogonal = $speed; - my $time_needed_diagonal = sqrt(2) * $speed; - my $time_needed; + my $time_needed_ortogonal = $speed; + my $time_needed_diagonal = $speed * (MOVE_DIAGONAL_COST / MOVE_COST); + my $time_needed; my $summed_time = 0; - while ($current_step < $dist) { - %next_pos = ( x => $steps[$current_step]{x}, y => $steps[$current_step]{y} ); + while ($current_step < $dist) { + %next_pos = ( x => $steps[$current_step]{x}, y => $steps[$current_step]{y} ); - $stepType = 0; + $stepType = 0; - if ($current_pos{x} != $next_pos{x}) { - $stepType++; - } + if ($current_pos{x} != $next_pos{x}) { + $stepType++; + } - if ($current_pos{y} != $next_pos{y}) { - $stepType++; - } + if ($current_pos{y} != $next_pos{y}) { + $stepType++; + } - if ($stepType == 2) { - $time_needed = $time_needed_diagonal; - } elsif ($stepType == 1) { - $time_needed = $time_needed_ortogonal; - } + if ($stepType == 2) { + $time_needed = $time_needed_diagonal; + } elsif ($stepType == 1) { + $time_needed = $time_needed_ortogonal; + } $summed_time += $time_needed; %current_pos = %next_pos; - $current_step++; - } + $current_step++; + } + + return $summed_time; +} + +## +# calcPosFromTime(pos, pos_to, speed, time) +# +# Returns: the position where an actor moving from $pos to $pos_to with +# the speed $speed will be in $time amount of time. +# +# Walls and pathfinding are not considered. +sub calcPosFromTime { + my ($pos, $pos_to, $speed, $time) = @_; + + # If Pos and PosTo are the same return Pos + if ($pos->{x} == $pos_to->{x} && $pos->{y} == $pos_to->{y}) { + return $pos; + } + + my $solution = get_client_easy_solution($pos, $pos_to); + my $steps_walked = calcStepsWalkedFromTimeAndSolution($solution, $speed, $time); + my $pos = $solution->[$steps_walked]; + return $pos; +} + +## +# calcTime(pos, pos_to, speed) +# +# Returns: time to move from $pos to $pos_to with $speed speed. +# +# Walls and pathfinding are not considered. +sub calcTime { + my ($pos, $pos_to, $speed) = @_; - return $summed_time; + if ($pos->{x} == $pos_to->{x} && $pos->{y} == $pos_to->{y}) { + return 0; + } + + my $solution = get_client_easy_solution($pos, $pos_to); + my $summed_time = calcTimeFromSolution($solution, $speed); + return $summed_time; +} + +## +# calcPosition(object, [extra_time, float]) +# object: $char (yourself), or a value in %monsters or %players. +# float: If set to 1, return coordinates as floating point. +# Returns: reference to a position hash. +# +# Walls and pathfinding are not considered. +# +# The position information server that the server sends indicates a motion: +# it says that an object is walking from A to B, and that it will arrive at B shortly. +# This function calculates the current position of $object based on the motion information. +# +# If $extra_time is given, this function will calculate where $object will be +# after $extra_time seconds. +# +# Example: +# my $pos; +# $pos = calcPosition($char); +# print "You are currently at: $pos->{x}, $pos->{y}\n"; +# +# $pos = calcPosition($monsters{$ID}); +# # Calculate where the player will be after 2 seconds +# $pos = calcPosition($players{$ID}, 2); +sub calcPosition { + my ($object, $extra_time, $float) = @_; + my $time_needed = $object->{time_move_calc}; + my $elasped = time - $object->{time_move} + $extra_time; + + if ($elasped >= $time_needed || !$time_needed) { + return $object->{pos_to}; + } else { + my (%vec, %result, $dist); + my $pos = $object->{pos}; + my $pos_to = $object->{pos_to}; + + getVector(\%vec, $pos_to, $pos); + $dist = (distance($pos, $pos_to) - 1) * ($elasped / $time_needed); + moveAlongVector(\%result, $pos, \%vec, $dist); + $result{x} = int sprintf("%.0f", $result{x}) if (!$float); + $result{y} = int sprintf("%.0f", $result{y}) if (!$float); + return \%result; + } +} + +# Only God and gravity developers know why this is done this way, but I tested in the client and it works 100% of the time +# +# Reference: hercules src\map\path.c distance_client +# 956ns -> 618ns +sub getClientDist { + my ($pos1, $pos2) = @_; + return PathFinding::getClientDist($pos1->{x}, $pos1->{y}, $pos2->{x}, $pos2->{y}); +} + +## +# blockDistance(pos1, pos2) +# pos1, pos2: references to position hash tables. +# Returns: the distance in number of blocks (integer). +# +# Calculates the distance in number of blocks between pos1 and pos2. +# This is used for e.g. weapon range calculation. +# +# Reference: hercules src\map\path.c distance +# 650ns -> 580ns +sub blockDistance { + my ($pos1, $pos2) = @_; + return PathFinding::blockDistance($pos1->{x}, $pos1->{y}, $pos2->{x}, $pos2->{y}); } ## @@ -381,36 +529,6 @@ sub checkMovementDirection { (($obj1ToObj2Degree - $movementDegree) % 360) <= $fuzziness; } -## -# countSteps(pos, pos_to) -# -# Returns: the number of steps from $pos to $pos_to. -# Walls are not considered. -sub countSteps { - my ($pos, $pos_to) = @_; - my $posX = $$pos{x}; - my $posY = $$pos{y}; - my $pos_toX = $$pos_to{x}; - my $pos_toY = $$pos_to{y}; - my $s = 0; # steps - while ($posX ne $pos_toX || $posY ne $pos_toY) { - $s++; - if ($posX < $pos_toX) { - $posX++; - } - if ($posX > $pos_toX) { - $posX--; - } - if ($posY < $pos_toY) { - $posY++; - } - if ($posY > $pos_toY) { - $posY--; - } - } - return $s; -} - ## # distance(r_hash1, r_hash2) # pos1, pos2: references to position hash tables. @@ -469,20 +587,6 @@ sub intToSignedShort { } } -## -# blockDistance(pos1, pos2) -# pos1, pos2: references to position hash tables. -# Returns: the distance in number of blocks (integer). -# -# Calculates the distance in number of blocks between pos1 and pos2. -# This is used for e.g. weapon range calculation. -sub blockDistance { - my ($pos1, $pos2) = @_; - - return max(abs($pos1->{x} - $pos2->{x}), - abs($pos1->{y} - $pos2->{y})); -} - ## # specifiedBlockDistance(pos1, pos2) # pos1, pos2: references to position hash tables. @@ -1145,8 +1249,11 @@ sub makeCoordsDir { # Another 1 byte or 2*4 bits are reserved for a clientside feature: # x0+=sx0*0.0625-0.5 and y0+=sy0*0.0625-0.5 # Note: if sx0/sy0 is 8, this will respectively add 0 to x0/y0 +# Reference: hercules src\map\clif.c // client-side: x0+=sx0*0.0625-0.5 and y0+=sy0*0.0625-0.5 # # ex. walk packet (4 + 4 + 10 + 10 + 10 + 10 = 48 bits = 6 bytes = a6) +# +# TODO: Maybe aegis, athena, cronus, brathena or other emulators actually use this sx0/sy0 argument and we don't know sub makeCoordsFromTo { my ($r_hashFrom, $r_hashTo, $rawCoords) = @_; unShiftPack(\$rawCoords, undef, 4); # seems to be returning 8 (always?) diff --git a/src/Utils/PathFinding.pm b/src/Utils/PathFinding.pm index 40e0b0eee1..37d52df7dd 100644 --- a/src/Utils/PathFinding.pm +++ b/src/Utils/PathFinding.pm @@ -75,11 +75,13 @@ sub new { # Optional arguments: # `l # - timeout: the number of milliseconds to run each step for, defaults to 1500 -# - avoidWalls: of walls should be avoided during pathing, defaults to 1 +# - avoidWalls: if walls should be avoided during pathing, defaults to 1 # - min_x: limits the map in a certain minimum x coordinate, defaults to 0 # - max_x: limits the map in a certain maximum x coordinate, defaults to width-1 # - min_y: limits the map in a certain minimum y coordinate, defaults to 0 # - max_y: limits the map in a certain maximum y coordinate, defaults to height-1 +# - customWeights: if secondWeightMap should be used during pathing, defaults to 0 +# - secondWeightMap: An array of hashes containing 3 keys, 'x', 'y' and 'weight', for all the cells which had their weight changed, 'weight' is the weight of the cell, defaults to undef # `l` sub reset { my $class = shift; @@ -102,11 +104,18 @@ sub reset { $hookArgs{return} = 1; Plugins::callHook('PathFindingReset', \%hookArgs); if ($hookArgs{return}) { + $args{avoidWalls} = 1 unless (defined $args{avoidWalls}); $args{weight_map} = \($args{field}->{weightMap}) unless (defined $args{weight_map}); + + $args{customWeights} = 0 unless (defined $args{customWeights}); + $args{secondWeightMap} = undef unless (defined $args{secondWeightMap}); + + $args{randomFactor} = 0 unless (defined $args{randomFactor}); + $args{useManhattan} = 0 unless (defined $args{useManhattan}); + $args{width} = $args{field}{width} unless (defined $args{width}); $args{height} = $args{field}{height} unless (defined $args{height}); $args{timeout} = 1500 unless (defined $args{timeout}); - $args{avoidWalls} = 1 unless (defined $args{avoidWalls}); $args{min_x} = 0 unless (defined $args{min_x}); $args{max_x} = ($args{width}-1) unless (defined $args{max_x}); $args{min_y} = 0 unless (defined $args{min_y}); @@ -114,9 +123,13 @@ sub reset { } return $class->_reset( - $args{weight_map}, - $args{avoidWalls}, - $args{width}, + $args{weight_map}, + $args{avoidWalls}, + $args{customWeights}, + $args{secondWeightMap}, + $args{randomFactor}, + $args{useManhattan}, + $args{width}, $args{height}, $args{start}{x}, $args{start}{y}, @@ -133,7 +146,7 @@ sub reset { ## # $PathFinding->run(solution_array) -# solution_array: Reference to an array in which the solution is stored. It will contain hashes of x and y coordinates from the start to the end of the path. +# solution_array: Reference to an array in which the solution is stored. It will contain hashes of x and y coordinates from the start to the end of the path, including the starting pos # Returns: # -3 when pathfinding is not yet complete. # -2 when Pathfinding->reset was not called. diff --git a/src/auto/XSTools/PathFinding/PathFinding.xs b/src/auto/XSTools/PathFinding/PathFinding.xs index 06a3bd100c..eda9dfba51 100644 --- a/src/auto/XSTools/PathFinding/PathFinding.xs +++ b/src/auto/XSTools/PathFinding/PathFinding.xs @@ -1,4 +1,5 @@ #include +#include #include "EXTERN.h" #include "perl.h" #include "XSUB.h" @@ -19,10 +20,14 @@ PathFinding_create() void -PathFinding__reset(session, weight_map, avoidWalls, width, height, startx, starty, destx, desty, time_max, min_x, max_x, min_y, max_y) +PathFinding__reset(session, weight_map, avoidWalls, customWeights, secondWeightMap, randomFactor, useManhattan, width, height, startx, starty, destx, desty, time_max, min_x, max_x, min_y, max_y) PathFinding session - SV *weight_map + SV * weight_map SV * avoidWalls + SV * customWeights + SV * secondWeightMap + SV * randomFactor + SV * useManhattan SV * width SV * height SV * startx @@ -34,161 +39,324 @@ PathFinding__reset(session, weight_map, avoidWalls, width, height, startx, start SV * max_x SV * min_y SV * max_y - + PREINIT: char *weight_map_data = NULL; - + CODE: - + /* If the object was already initiated, clean map memory */ if (session->initialized) { free_currentMap(session); session->initialized = 0; } - + /* If the path has already been calculated on this object, clean openlist memory */ if (session->run) { free_openList(session); session->run = 0; } - + /* Check for any missing arguments */ - if (!session || !weight_map || !avoidWalls || !width || !height || !startx || !starty || !destx || !desty || !time_max || !min_x || !max_x || !min_y || !max_y) { + if (!session || !weight_map || !avoidWalls || !customWeights || !secondWeightMap || !randomFactor || !useManhattan || !width || !height || !startx || !starty || !destx || !desty || !time_max || !min_x || !max_x || !min_y || !max_y) { printf("[pathfinding reset error] missing argument\n"); XSRETURN_NO; } - + /* Check for any bad arguments */ if (SvROK(avoidWalls) || SvTYPE(avoidWalls) >= SVt_PVAV || !SvOK(avoidWalls)) { printf("[pathfinding reset error] bad avoidWalls argument\n"); XSRETURN_NO; } - + + if (SvROK(customWeights) || SvTYPE(customWeights) >= SVt_PVAV || !SvOK(customWeights)) { + printf("[pathfinding reset error] bad customWeights argument\n"); + XSRETURN_NO; + } + + if (SvROK(randomFactor) || SvTYPE(randomFactor) >= SVt_PVAV || !SvOK(randomFactor)) { + printf("[pathfinding reset error] bad randomFactor argument\n"); + XSRETURN_NO; + } + + if (SvROK(useManhattan) || SvTYPE(useManhattan) >= SVt_PVAV || !SvOK(useManhattan)) { + printf("[pathfinding reset error] bad useManhattan argument\n"); + XSRETURN_NO; + } + if (SvROK(width) || SvTYPE(width) >= SVt_PVAV || !SvOK(width)) { printf("[pathfinding reset error] bad width argument\n"); XSRETURN_NO; } - + if (SvROK(height) || SvTYPE(height) >= SVt_PVAV || !SvOK(height)) { printf("[pathfinding reset error] bad height argument\n"); XSRETURN_NO; } - + if (SvROK(startx) || SvTYPE(startx) >= SVt_PVAV || !SvOK(startx)) { printf("[pathfinding reset error] bad startx argument\n"); XSRETURN_NO; } - + if (SvROK(starty) || SvTYPE(starty) >= SVt_PVAV || !SvOK(starty)) { printf("[pathfinding reset error] bad starty argument\n"); XSRETURN_NO; } - + if (SvROK(destx) || SvTYPE(destx) >= SVt_PVAV || !SvOK(destx)) { printf("[pathfinding reset error] bad destx argument\n"); XSRETURN_NO; } - + if (SvROK(desty) || SvTYPE(desty) >= SVt_PVAV || !SvOK(desty)) { printf("[pathfinding reset error] bad desty argument\n"); XSRETURN_NO; } - + if (SvROK(time_max) || SvTYPE(time_max) >= SVt_PVAV || !SvOK(time_max)) { printf("[pathfinding reset error] bad time_max argument\n"); XSRETURN_NO; } - + if (!SvROK(weight_map) || !SvOK(weight_map)) { printf("[pathfinding reset error] bad weight_map argument\n"); XSRETURN_NO; } - + if (SvROK(min_x) || SvTYPE(min_x) >= SVt_PVAV || !SvOK(min_x)) { printf("[pathfinding reset error] bad min_x argument\n"); XSRETURN_NO; } - + if (SvROK(max_x) || SvTYPE(max_x) >= SVt_PVAV || !SvOK(max_x)) { printf("[pathfinding reset error] bad max_x argument\n"); XSRETURN_NO; } - + if (SvROK(min_y) || SvTYPE(min_y) >= SVt_PVAV || !SvOK(min_y)) { printf("[pathfinding reset error] bad min_y argument\n"); XSRETURN_NO; } - + if (SvROK(max_y) || SvTYPE(max_y) >= SVt_PVAV || !SvOK(max_y)) { printf("[pathfinding reset error] bad max_y argument\n"); XSRETURN_NO; } - + /* Get the weight_map data */ weight_map_data = (char *) SvPV_nolen (SvRV (weight_map)); session->map_base_weight = weight_map_data; - + session->width = (int) SvUV (width); session->height = (int) SvUV (height); - + session->startX = (int) SvUV (startx); session->startY = (int) SvUV (starty); session->endX = (int) SvUV (destx); session->endY = (int) SvUV (desty); - + session->min_x = (int) SvUV (min_x); session->max_x = (int) SvUV (max_x); session->min_y = (int) SvUV (min_y); session->max_y = (int) SvUV (max_y); - + + srand(time(0)); + session->randomFactor = (unsigned int) SvUV (randomFactor); + session->useManhattan = (unsigned short) SvUV (useManhattan); + // Min and max check if (session->min_x >= session->width || session->min_y >= session->height || session->min_x < 0 || session->min_y < 0) { printf("[pathfinding reset error] Minimum coordinates %d %d are out of the map (size: %d x %d).\n", session->min_x, session->min_y, session->width, session->height); XSRETURN_NO; } - + if (session->max_x >= session->width || session->max_y >= session->height || session->max_x < 0 || session->max_y < 0) { printf("[pathfinding reset error] Maximum coordinates %d %d are out of the map (size: %d x %d).\n", session->max_x, session->max_y, session->width, session->height); XSRETURN_NO; } - + // Start check if (session->startX >= session->width || session->startY >= session->height || session->startX < 0 || session->startY < 0) { printf("[pathfinding reset error] Start coordinate %d %d is out of the map (size: %d x %d).\n", session->startX, session->startY, session->width, session->height); XSRETURN_NO; } - + if (session->map_base_weight[((session->startY * session->width) + session->startX)] == -1) { printf("[pathfinding reset error] Start coordinate %d %d is not a walkable cell.\n", session->startX, session->startY); XSRETURN_NO; } - + if (session->startX > session->max_x || session->startY > session->max_y || session->startX < session->min_x || session->startY < session->min_y) { printf("[pathfinding reset error] Start coordinate %d %d is out of the minimum and maximum coordinates (size: %d .. %d x %d .. %d).\n", session->startX, session->startY, session->min_x, session->max_x, session->min_y, session->max_y); XSRETURN_NO; } - + // End check if (session->endX >= session->width || session->endY >= session->height || session->endX < 0 || session->endY < 0) { printf("[pathfinding reset error] End coordinate %d %d is out of the map (size: %d x %d).\n", session->endX, session->endY, session->width, session->height); XSRETURN_NO; } - + if (session->map_base_weight[((session->endY * session->width) + session->endX)] == -1) { printf("[pathfinding reset error] End coordinate %d %d is not a walkable cell.\n", session->endX, session->endY); XSRETURN_NO; } - + if (session->endX > session->max_x || session->endY > session->max_y || session->endX < session->min_x || session->endY < session->min_y) { printf("[pathfinding reset error] End coordinate %d %d is out of the minimum and maximum coordinates (size: %d .. %d x %d .. %d).\n", session->endX, session->endY, session->min_x, session->max_x, session->min_y, session->max_y); XSRETURN_NO; } - + session->avoidWalls = (unsigned short) SvUV (avoidWalls); + session->customWeights = (unsigned short) SvUV (customWeights); session->time_max = (unsigned int) SvUV (time_max); - + CalcPath_init(session); + if (session->customWeights) { + /* secondWeightMap should be a reference to an array */ + if (!SvROK(secondWeightMap)) { + printf("[pathfinding reset error] secondWeightMap is not a reference\n"); + XSRETURN_NO; + } + + if (SvTYPE(SvRV(secondWeightMap)) != SVt_PVAV) { + printf("[pathfinding reset error] secondWeightMap is not an array reference\n"); + XSRETURN_NO; + } + + if (!SvOK(secondWeightMap)) { + printf("[pathfinding reset error] secondWeightMap is not defined\n"); + XSRETURN_NO; + } + + AV *deref_secondWeightMap; + I32 array_len; + + deref_secondWeightMap = (AV *) SvRV (secondWeightMap); + array_len = av_len (deref_secondWeightMap); + + if (array_len == -1) { + printf("[pathfinding reset error] secondWeightMap has no members\n"); + XSRETURN_NO; + } + + SV **fetched; + HV *hash; + + SV **ref_x; + SV **ref_y; + SV **ref_weight; + + IV x; + IV y; + + I32 index; + + for (index = 0; index <= array_len; index++) { + fetched = av_fetch (deref_secondWeightMap, index, 0); + + if (!SvROK(*fetched)) { + printf("[pathfinding reset error] [secondWeightMap] member of array is not a reference\n"); + XSRETURN_NO; + } + + if (SvTYPE(SvRV(*fetched)) != SVt_PVHV) { + printf("[pathfinding reset error] [secondWeightMap] member of array is not a reference to a hash\n"); + XSRETURN_NO; + } + + if (!SvOK(*fetched)) { + printf("[pathfinding reset error] [secondWeightMap] member of array is not defined\n"); + XSRETURN_NO; + } + + hash = (HV*) SvRV(*fetched); + + if (!hv_exists(hash, "x", 1)) { + printf("[pathfinding reset error] [secondWeightMap] member of array does not contain the key 'x'\n"); + XSRETURN_NO; + } + + ref_x = hv_fetch(hash, "x", 1, 0); + + if (SvROK(*ref_x)) { + printf("[pathfinding reset error] [secondWeightMap] member of array 'x' key is a reference\n"); + XSRETURN_NO; + } + + if (SvTYPE(*ref_x) >= SVt_PVAV) { + printf("[pathfinding reset error] [secondWeightMap] member of array 'x' key is not a scalar\n"); + XSRETURN_NO; + } + + if (!SvOK(*ref_x)) { + printf("[pathfinding reset error] [secondWeightMap] member of array 'x' key is not defined\n"); + XSRETURN_NO; + } + + x = SvIV(*ref_x); + + if (!hv_exists(hash, "y", 1)) { + printf("[pathfinding reset error] [secondWeightMap] member of array does not contain the key 'y'\n"); + XSRETURN_NO; + } + + ref_y = hv_fetch(hash, "y", 1, 0); + + if (SvROK(*ref_y)) { + printf("[pathfinding reset error] [secondWeightMap] member of array 'y' key is a reference\n"); + XSRETURN_NO; + } + + if (SvTYPE(*ref_y) >= SVt_PVAV) { + printf("[pathfinding reset error] [secondWeightMap] member of array 'y' key is not a scalar\n"); + XSRETURN_NO; + } + + if (!SvOK(*ref_y)) { + printf("[pathfinding reset error] [secondWeightMap] member of array 'y' key is not defined\n"); + XSRETURN_NO; + } + + y = SvIV(*ref_y); + + if (!hv_exists(hash, "weight", 6)) { + printf("[pathfinding reset error] [secondWeightMap] member of array does not contain the key 'weight'\n"); + XSRETURN_NO; + } + + ref_weight = hv_fetch(hash, "weight", 6, 0); + + if (SvROK(*ref_weight)) { + printf("[pathfinding reset error] [secondWeightMap] member of array 'weight' key is a reference\n"); + XSRETURN_NO; + } + + if (SvTYPE(*ref_weight) >= SVt_PVAV) { + printf("[pathfinding reset error] [secondWeightMap] member of array 'weight' key is not a scalar\n"); + XSRETURN_NO; + } + + if (!SvOK(*ref_weight)) { + printf("[pathfinding reset error] [secondWeightMap] member of array 'weight' key is not defined\n"); + XSRETURN_NO; + } + + unsigned int weight = SvIV(*ref_weight); + + long current = (y * session->width) + x; + + session->second_weight_map[current] = weight; + } + } else { + if (SvOK(secondWeightMap)) { + printf("[pathfinding reset error] secondWeightMap is defined while customWeights is 0\n"); + XSRETURN_NO; + } + } + int PathFinding_run(session, solution_array) PathFinding session @@ -196,61 +364,63 @@ PathFinding_run(session, solution_array) PREINIT: int status; CODE: - + /* Check for any missing arguments */ if (!session || !solution_array) { printf("[pathfinding run error] missing argument\n"); XSRETURN_NO; } - + /* solution_array should be a reference to an array */ if (!SvROK(solution_array)) { printf("[pathfinding run error] solution_array is not a reference\n"); XSRETURN_NO; } - + if (SvTYPE(SvRV(solution_array)) != SVt_PVAV) { printf("[pathfinding run error] solution_array is not an array reference\n"); XSRETURN_NO; } - + if (!SvOK(solution_array)) { printf("[pathfinding run error] solution_array is not defined\n"); XSRETURN_NO; } status = CalcPath_pathStep (session); - + if (status < 0) { RETVAL = status; } else { AV *array; - int size; + long size; - size = session->solution_size; + size = (session->solution_size + 1); array = (AV *) SvRV (solution_array); - if (av_len (array) > size) - av_clear (array); - - av_extend (array, session->solution_size); - + av_clear (array); + av_extend (array, size); + Node currentNode = session->currentMap[(session->endY * session->width) + session->endX]; + long current = session->solution_size; - while (currentNode.x != session->startX || currentNode.y != session->startY) + while (1) { HV * rh = (HV *)sv_2mortal((SV *)newHV()); hv_store(rh, "x", 1, newSViv(currentNode.x), 0); hv_store(rh, "y", 1, newSViv(currentNode.y), 0); - - av_unshift(array, 1); - av_store(array, 0, newRV((SV *)rh)); - - currentNode = session->currentMap[currentNode.predecessor]; + av_store(array, current, newRV((SV *)rh)); + + if (current == 0) { + break; + } else { + currentNode = session->currentMap[currentNode.predecessor]; + current--; + } } - + RETVAL = size; } OUTPUT: @@ -264,11 +434,11 @@ PathFinding_runcount(session) CODE: status = CalcPath_pathStep (session); - + if (status < 0) { RETVAL = status; } else { - RETVAL = (int) session->solution_size; + RETVAL = (long) session->solution_size; } OUTPUT: RETVAL @@ -280,3 +450,346 @@ PathFinding_DESTROY(session) session = (PathFinding) 0; /* shut up compiler warning */ CODE: CalcPath_destroy (session); + +int +PathFinding_checkTile(ix, iy, itile, iwidth, iheight, rawMap) + SV * ix + SV * iy + SV * itile + SV * iwidth + SV * iheight + SV * rawMap + + CODE: + int x = (int) SvUV (ix); + int y = (int) SvUV (iy); + int tile = (int) SvUV (itile); + int width = (int) SvUV (iwidth); + int height = (int) SvUV (iheight); + + char * rawMap_data = (char *) SvPVbyte_nolen (SvRV (rawMap)); + + RETVAL = checkTile_inner(x, y, tile, width, height, rawMap_data); + + OUTPUT: + RETVAL + +int +PathFinding_checkLOS(istart_x, istart_y, iend_x, iend_y, itile, iwidth, iheight, rawMap) + SV * istart_x + SV * istart_y + SV * iend_x + SV * iend_y + SV * itile + SV * iwidth + SV * iheight + SV * rawMap + + CODE: + int start_x = (int) SvUV (istart_x); + int start_y = (int) SvUV (istart_y); + int end_x = (int) SvUV (iend_x); + int end_y = (int) SvUV (iend_y); + int tile = (int) SvUV (itile); + int width = (int) SvUV (iwidth); + int height = (int) SvUV (iheight); + + char * rawMap_data = (char *) SvPVbyte_nolen (SvRV (rawMap)); + + RETVAL = checkLOS_inner(start_x, start_y, end_x, end_y, tile, width, height, rawMap_data); + + OUTPUT: + RETVAL + +int +PathFinding_canAttack(istart_x, istart_y, iend_x, iend_y, itile, iwidth, iheight, irange, iclientSight, rawMap) + SV * istart_x + SV * istart_y + SV * iend_x + SV * iend_y + SV * itile + SV * iwidth + SV * iheight + SV * irange + SV * iclientSight + SV * rawMap + + CODE: + int start_x = (int) SvUV (istart_x); + int start_y = (int) SvUV (istart_y); + int end_x = (int) SvUV (iend_x); + int end_y = (int) SvUV (iend_y); + int tile = (int) SvUV (itile); + int width = (int) SvUV (iwidth); + int height = (int) SvUV (iheight); + int range = (int) SvUV (irange); + int clientSight = (int) SvUV (iclientSight); + + char * rawMap_data = (char *) SvPVbyte_nolen (SvRV (rawMap)); + + RETVAL = canAttack_inner(start_x, start_y, end_x, end_y, tile, width, height, range, clientSight, rawMap_data); + + OUTPUT: + RETVAL + +void +PathFinding_calcRectArea(i_x, i_y, iradius, itile, iwidth, iheight, rawMap, solution_array) + SV * i_x + SV * i_y + SV * iradius + SV * itile + SV * iwidth + SV * iheight + SV * rawMap + SV * solution_array + + CODE: + int x = (int) SvUV (i_x); + int y = (int) SvUV (i_y); + int radius = (int) SvUV (iradius); + int tile = (int) SvUV (itile); + int width = (int) SvUV (iwidth); + int height = (int) SvUV (iheight); + + char * rawMap_data = (char *) SvPVbyte_nolen (SvRV (rawMap)); + + int * limits = getSquareEdgesFromCoord_inner(x, y, radius, width, height); + int min_x = limits[0]; + int min_y = limits[1]; + int max_x = limits[2]; + int max_y = limits[3]; + + AV *array; + array = (AV *) SvRV (solution_array); + av_clear (array); + + int offset; + + int value; + + int size; + + x = min_x; + y = min_y; + offset = (y * width) + x; + size = 0; + + while (x < max_x) { + value = rawMap_data[offset]; + if (value & tile) { + av_extend (array, (size+1)); + HV * rh = (HV *)sv_2mortal((SV *)newHV()); + + hv_store(rh, "x", 1, newSViv(x), 0); + hv_store(rh, "y", 1, newSViv(y), 0); + + av_store(array, size, newRV((SV *)rh)); + size++; + } + offset++; + x++; + } + + while (y < max_y) { + value = rawMap_data[offset]; + if (value & tile) { + av_extend (array, (size+1)); + HV * rh = (HV *)sv_2mortal((SV *)newHV()); + + hv_store(rh, "x", 1, newSViv(x), 0); + hv_store(rh, "y", 1, newSViv(y), 0); + + av_store(array, size, newRV((SV *)rh)); + size++; + } + offset += width; + y++; + } + + while (x > min_x) { + value = rawMap_data[offset]; + if (value & tile) { + av_extend (array, (size+1)); + HV * rh = (HV *)sv_2mortal((SV *)newHV()); + + hv_store(rh, "x", 1, newSViv(x), 0); + hv_store(rh, "y", 1, newSViv(y), 0); + + av_store(array, size, newRV((SV *)rh)); + size++; + } + offset--; + x--; + } + + while (y > min_y) { + value = rawMap_data[offset]; + if (value & tile) { + av_extend (array, (size+1)); + HV * rh = (HV *)sv_2mortal((SV *)newHV()); + + hv_store(rh, "x", 1, newSViv(x), 0); + hv_store(rh, "y", 1, newSViv(y), 0); + + av_store(array, size, newRV((SV *)rh)); + size++; + } + offset -= width; + y--; + } + +int +PathFinding_checkPathFree(istart_x, istart_y, iend_x, iend_y, itile, iwidth, iheight, rawMap) + SV * istart_x + SV * istart_y + SV * iend_x + SV * iend_y + SV * itile + SV * iwidth + SV * iheight + SV * rawMap + + CODE: + int start_x = (int) SvUV (istart_x); + int start_y = (int) SvUV (istart_y); + int end_x = (int) SvUV (iend_x); + int end_y = (int) SvUV (iend_y); + int tile = (int) SvUV (itile); + int width = (int) SvUV (iwidth); + int height = (int) SvUV (iheight); + + char * rawMap_data = (char *) SvPVbyte_nolen (SvRV (rawMap)); + + RETVAL = checkPathFree_inner(start_x, start_y, end_x, end_y, tile, width, height, rawMap_data); + + OUTPUT: + RETVAL + +void +PathFinding_getSquareEdgesFromCoord(i_x, i_y, iradius, iwidth, iheight, solution_array) + SV * i_x + SV * i_y + SV * iradius + SV * iwidth + SV * iheight + SV * solution_array + + CODE: + int x = (int) SvUV (i_x); + int y = (int) SvUV (i_y); + int radius = (int) SvUV (iradius); + int width = (int) SvUV (iwidth); + int height = (int) SvUV (iheight); + + int * limits = getSquareEdgesFromCoord_inner(x, y, radius, width, height); + + AV *array; + array = (AV *) SvRV (solution_array); + av_clear (array); + av_extend (array, 4); + + av_store(array, 0, newSViv(limits[0])); + av_store(array, 1, newSViv(limits[1])); + av_store(array, 2, newSViv(limits[2])); + av_store(array, 3, newSViv(limits[3])); + +int +PathFinding_blockDistance(istart_x, istart_y, iend_x, iend_y) + SV * istart_x + SV * istart_y + SV * iend_x + SV * iend_y + + CODE: + int start_x = (int) SvUV (istart_x); + int start_y = (int) SvUV (istart_y); + int end_x = (int) SvUV (iend_x); + int end_y = (int) SvUV (iend_y); + + RETVAL = blockDistance_inner(start_x, start_y, end_x, end_y); + + OUTPUT: + RETVAL + +int +PathFinding_getClientDist(istart_x, istart_y, iend_x, iend_y) + SV * istart_x + SV * istart_y + SV * iend_x + SV * iend_y + + CODE: + int start_x = (int) SvUV (istart_x); + int start_y = (int) SvUV (istart_y); + int end_x = (int) SvUV (iend_x); + int end_y = (int) SvUV (iend_y); + + RETVAL = getClientDist_inner(start_x, start_y, end_x, end_y); + + OUTPUT: + RETVAL + +int +PathFinding_get_client_easy_solution(istart_x, istart_y, iend_x, iend_y, solution_array) + SV * istart_x + SV * istart_y + SV * iend_x + SV * iend_y + SV * solution_array + + CODE: + int start_x = (int) SvUV (istart_x); + int start_y = (int) SvUV (istart_y); + int end_x = (int) SvUV (iend_x); + int end_y = (int) SvUV (iend_y); + + int size = blockDistance_inner(start_x, start_y, end_x, end_y); + + AV *array; + array = (AV *) SvRV (solution_array); + av_clear (array); + av_extend (array, size); + + int stepType; + int g = 0; + int i = 0; + + while (1) { + HV * rh = (HV *)sv_2mortal((SV *)newHV()); + + hv_store(rh, "x", 1, newSViv(start_x), 0); + hv_store(rh, "y", 1, newSViv(start_y), 0); + hv_store(rh, "g", 1, newSViv(g), 0); + + av_store(array, i, newRV((SV *)rh)); + i++; + + stepType = 0; + if (start_x < end_x) { + start_x++; + stepType++; + } else if (start_x > end_x) { + start_x--; + stepType++; + } + if (start_y < end_y) { + start_y++; + stepType++; + } else if (start_y > end_y) { + start_y--; + stepType++; + } + + if (stepType == 1) { + g += 10; + } else if (stepType == 2) { + g += 14; + } else if (stepType == 0) { + break; + } + } + + RETVAL = 1; + + OUTPUT: + RETVAL diff --git a/src/auto/XSTools/PathFinding/algorithm.cpp b/src/auto/XSTools/PathFinding/algorithm.cpp index d8887ebc5c..ec5c9d03ef 100644 --- a/src/auto/XSTools/PathFinding/algorithm.cpp +++ b/src/auto/XSTools/PathFinding/algorithm.cpp @@ -36,10 +36,10 @@ CalcPath_new () CalcPath_session *session; session = (CalcPath_session*) malloc (sizeof (CalcPath_session)); - + session->initialized = 0; session->run = 0; - + return session; } @@ -51,21 +51,24 @@ CalcPath_init (CalcPath_session *session) // Allocate enough memory in currentMap to hold all nodes in the map // Here we use calloc instead of malloc (calloc sets all memory allocated to 0's) so all uninitialized cells have whichlist set to NONE session->currentMap = (Node*) calloc(session->height * session->width, sizeof(Node)); - - unsigned long goalAdress = (session->endY * session->width) + session->endX; + if (session->customWeights) { + session->second_weight_map = (unsigned int*) calloc(session->height * session->width, sizeof(unsigned int)); + } + + long goalAdress = (session->endY * session->width) + session->endX; Node* goal = &session->currentMap[goalAdress]; goal->x = session->endX; goal->y = session->endY; goal->nodeAdress = goalAdress; - - unsigned long startAdress = (session->startY * session->width) + session->startX; + + long startAdress = (session->startY * session->width) + session->startX; Node* start = &session->currentMap[startAdress]; start->x = session->startX; start->y = session->startY; start->nodeAdress = startAdress; - start->h = heuristic_cost_estimate(start->x, start->y, goal->x, goal->y); + start->h = heuristic_cost_estimate(start->x, start->y, goal->x, goal->y, session->useManhattan); start->f = start->h; - + session->initialized = 1; } @@ -77,51 +80,52 @@ CalcPath_pathStep (CalcPath_session *session) printf("[pathfinding run error] You must call 'reset' before 'run'.\n"); return -2; } - + Node* start = &session->currentMap[((session->startY * session->width) + session->startX)]; Node* goal = &session->currentMap[((session->endY * session->width) + session->endX)]; - + if (!session->run) { session->run = 1; session->openListSize = 0; // Allocate enough memory in openList to hold the adress of all nodes in the map - session->openList = (unsigned long*) malloc((session->height * session->width) * sizeof(unsigned long)); - + session->openList = (long*) malloc((session->height * session->width) * sizeof(long)); + // To initialize the pathfinding add only the start node to openList openListAdd (session, start); } - + // If the start node and goal node are the same return a valid path with length 0 if (goal->nodeAdress == start->nodeAdress) { session->solution_size = 0; return 1; } - + Node* currentNode; Node* neighborNode; - + short i; - + // All possible directions the character can move (in order: north, south, east, west, northeast, southeast, southwest, northwest) short i_x[8] = {0, 0, 1, -1, 1, 1, -1, -1}; short i_y[8] = {1, -1, 0, 0, 1, -1, -1, 1}; - + int neighbor_x; int neighbor_y; - unsigned long neighbor_adress; + long neighbor_adress; unsigned long distanceFromCurrent; - + unsigned int c_randomFactor; + unsigned int g_score = 0; - + unsigned long timeout = (unsigned long) GetTickCount(); int loop = 0; - + while (1) { // If the openList is empty no path exists if (session->openListSize == 0) { return -1; } - + // Every 100th loop check if we have ran out if time loop++; if (loop == 100) { @@ -131,7 +135,7 @@ CalcPath_pathStep (CalcPath_session *session) } else loop = 0; } - + // Set currentNode to the top node in openList, and remove it from openList. currentNode = openListGetLowest (session); @@ -141,7 +145,7 @@ CalcPath_pathStep (CalcPath_session *session) reconstruct_path(session, goal, start); return 1; } - + // Loop between all neighbors for (i = 0; i <= 7; i++) { @@ -158,14 +162,14 @@ CalcPath_pathStep (CalcPath_session *session) if (session->map_base_weight[neighbor_adress] == -1) { continue; } - + neighborNode = &session->currentMap[neighbor_adress]; - + // If a neighbor is in closedList ignore it, it has already been expanded and has its lowest possible g_score if (neighborNode->whichlist == CLOSED) { continue; } - + // First 4 neighbors in the list are in a ortogonal path and the last 4 are in a diagonal path from currentNode. if (i >= 4) { // If neighborNode has a diagonal path from currentNode then we can only move to it if both ortogonal composite nodes are walkable. (example: To move to the northeast both north and east must be walkable) @@ -178,15 +182,24 @@ CalcPath_pathStep (CalcPath_session *session) // We use 10 for ortogonal movement weight distanceFromCurrent = 10; } - + // If avoidWalls is true we add weight to cells near walls to disencourage the algorithm to move to them. if (session->avoidWalls) { distanceFromCurrent += session->map_base_weight[neighbor_adress]; } - + + if (session->customWeights) { + distanceFromCurrent += session->second_weight_map[neighbor_adress]; + } + + if (session->randomFactor) { + c_randomFactor = rand() % session->randomFactor; + distanceFromCurrent += c_randomFactor; + } + // g_score is the summed weight of all nodes from start node to neighborNode, which is the g_score of currentNode + the weight to move from currentNode to neighborNode. g_score = currentNode->g + distanceFromCurrent; - + // If neighborNode is not in openList neither in closedList it has not been reached yet, initialize it and add it to openList if (neighborNode->whichlist == NONE) { neighborNode->x = neighbor_x; @@ -194,10 +207,10 @@ CalcPath_pathStep (CalcPath_session *session) neighborNode->nodeAdress = neighbor_adress; neighborNode->predecessor = currentNode->nodeAdress; neighborNode->g = g_score; - neighborNode->h = heuristic_cost_estimate(neighborNode->x, neighborNode->y, session->endX, session->endY); + neighborNode->h = heuristic_cost_estimate(neighborNode->x, neighborNode->y, session->endX, session->endY, session->useManhattan); neighborNode->f = neighborNode->g + neighborNode->h; openListAdd (session, neighborNode); - + // If neighborNode is in a list it has to be in openList, since we cannot access nodes in closedList. } else { // Check if we have found a shorter path to neighborNode, if so update it to have currentNode as its predecessor. @@ -214,15 +227,24 @@ CalcPath_pathStep (CalcPath_session *session) return -1; } -// The heuristic used is diagonal distance. +// The heuristic used is diagonal distance, unless specified to use manhattan (to mimic client) int -heuristic_cost_estimate (int currentX, int currentY, int goalX, int goalY) +heuristic_cost_estimate (int currentX, int currentY, int goalX, int goalY, bool useManhattan) { - int xDistance = abs(currentX - goalX); - int yDistance = abs(currentY - goalY); - - int hScore = (10 * (xDistance + yDistance)) - (6 * ((xDistance > yDistance) ? yDistance : xDistance)); - + int xDistance = currentX - goalX; + int yDistance = currentY - goalY; + if (xDistance < 0) xDistance = -xDistance; + if (yDistance < 0) yDistance = -yDistance; + + // # Game client uses the inadmissible (overestimating) heuristic of Manhattan distance + // #define heuristic(currentX, currentY, goalX, goalY) (10 * (xDistance + yDistance)) // Manhattan distance + int hScore; + if (useManhattan == 1) { + hScore = (10 * (xDistance + yDistance)); + } else { + hScore = (10 * (xDistance + yDistance)) - (6 * ((xDistance > yDistance) ? yDistance : xDistance)); + } + return hScore; } @@ -231,7 +253,7 @@ void reconstruct_path(CalcPath_session *session, Node* goal, Node* start) { Node* currentNode = goal; - + session->solution_size = 0; while (currentNode->nodeAdress != start->nodeAdress) { @@ -251,38 +273,38 @@ openListAdd (CalcPath_session *session, Node* currentNode) // Save in currentNode its index in openList currentNode->openListIndex = session->openListSize; currentNode->whichlist = OPEN; - + // Defines openList[index] to currentNode adress session->openList[currentNode->openListIndex] = currentNode->nodeAdress; - + // Increses openListSize by 1, since we just added a new member session->openListSize++; - + long parentIndex = (long)floor((currentNode->openListIndex - 1) / 2); Node* parentNode; - + // Repeat while currentNode still has a parent node, otherwise currentNode is the top node in the heap while (parentIndex >= 0) { - + parentNode = &session->currentMap[session->openList[parentIndex]]; - + // If parent node is bigger than currentNode, exchange their positions if (parentNode->f > currentNode->f) { // Changes the node adress of openList[currentNode->openListIndex] (which is 'currentNode') to that of openList[parentIndex] (which is the current parent of 'currentNode') session->openList[currentNode->openListIndex] = session->openList[parentIndex]; - + // Changes openListIndex of the current parent of 'currentNode' to that of 'currentNode' since they exchanged positions parentNode->openListIndex = currentNode->openListIndex; - + // Changes the node adress of openList[parentIndex] (which is the current parent of 'currentNode') to that of openList[currentNode->openListIndex] (which is 'currentNode') session->openList[parentIndex] = currentNode->nodeAdress; - + // Changes openListIndex of 'currentNode' to that of the current parent of 'currentNode' since they exchanged positions currentNode->openListIndex = parentIndex; - + // Updates parentIndex to that of the current parent of 'currentNode' parentIndex = (long)floor((currentNode->openListIndex - 1) / 2); - + } else { break; } @@ -294,29 +316,29 @@ reajustOpenListItem (CalcPath_session *session, Node* currentNode) { long parentIndex = (long)floor((currentNode->openListIndex - 1) / 2); Node* parentNode; - + // Repeat while currentNode still has a parent node, otherwise currentNode is the top node in the heap while (parentIndex >= 0) { - + parentNode = &session->currentMap[session->openList[parentIndex]]; - + // If parent node is bigger than currentNode, exchange their positions if (parentNode->f > currentNode->f) { // Changes the node adress of openList[currentNode->openListIndex] (which is 'currentNode') to that of openList[parentIndex] (which is the current parent of 'currentNode') session->openList[currentNode->openListIndex] = session->openList[parentIndex]; - + // Changes openListIndex of the current parent of 'currentNode' to that of 'currentNode' since they exchanged positions parentNode->openListIndex = currentNode->openListIndex; - + // Changes the node adress of openList[parentIndex] (which is the current parent of 'currentNode') to that of openList[currentNode->openListIndex] (which is 'currentNode') session->openList[parentIndex] = currentNode->nodeAdress; - + // Changes openListIndex of 'currentNode' to that of the current parent of 'currentNode' since they exchanged positions currentNode->openListIndex = parentIndex; - + // Updates parentIndex to that of the current parent of 'currentNode' parentIndex = (long)floor((currentNode->openListIndex - 1) / 2); - + } else { break; } @@ -327,78 +349,78 @@ Node* openListGetLowest (CalcPath_session *session) { session->openListSize--; - + Node* lowestNode = &session->currentMap[session->openList[0]]; - + // Since it was decreaased, but the node was not removed yet, session->openListSize is now also the index of the last node in openList // We move the last node in openList to this position and adjust it down as necessary session->openList[lowestNode->openListIndex] = session->openList[session->openListSize]; - + Node* movedNode; - + // Saves in movedNode that it now is the top node in openList movedNode = &session->currentMap[session->openList[lowestNode->openListIndex]]; movedNode->openListIndex = lowestNode->openListIndex; - + // Saves in lowestNode that it is no longer in openList lowestNode->whichlist = CLOSED; lowestNode->openListIndex = 0; - + long smallerChildIndex; Node* smallerChildNode; - + long rightChildIndex = 2 * movedNode->openListIndex + 2; Node* rightChildNode; - + long leftChildIndex = 2 * movedNode->openListIndex + 1; Node* leftChildNode; - + long lastIndex = session->openListSize-1; - + while (leftChildIndex <= lastIndex) { //There are 2 children if (rightChildIndex <= lastIndex) { - + rightChildNode = &session->currentMap[session->openList[rightChildIndex]]; leftChildNode = &session->currentMap[session->openList[leftChildIndex]]; - + if (rightChildNode->f > leftChildNode->f) { smallerChildIndex = leftChildIndex; } else { smallerChildIndex = rightChildIndex; } - + //There is 1 children } else { smallerChildIndex = leftChildIndex; } - + smallerChildNode = &session->currentMap[session->openList[smallerChildIndex]]; - + if (movedNode->f > smallerChildNode->f) { - + // Changes the node adress of openList[movedNode->openListIndex] (which is 'movedNode') to that of openList[smallerChildIndex] (which is the current child of 'movedNode') session->openList[movedNode->openListIndex] = smallerChildNode->nodeAdress; - + // Changes openListIndex of the current child of 'movedNode' to that of 'movedNode' since they exchanged positions smallerChildNode->openListIndex = movedNode->openListIndex; - + // Changes the node adress of openList[smallerChildIndex] (which is the current child of 'movedNode') to that of openList[movedNode->openListIndex] (which is 'movedNode') session->openList[smallerChildIndex] = movedNode->nodeAdress; - + // Changes openListIndex of 'movedNode' to that of the current child of 'movedNode' since they exchanged positions movedNode->openListIndex = smallerChildIndex; - + // Updates rightChildIndex and leftChildIndex to those of the current children of 'movedNode' rightChildIndex = 2 * movedNode->openListIndex + 2; leftChildIndex = 2 * movedNode->openListIndex + 1; - + } else { break; } } - + return lowestNode; } @@ -407,6 +429,9 @@ void free_currentMap (CalcPath_session *session) { free(session->currentMap); + if (session->customWeights) { + free(session->second_weight_map); + } } // Frees the memory allocated by openList @@ -422,6 +447,9 @@ CalcPath_destroy (CalcPath_session *session) { if (session->initialized) { free(session->currentMap); + if (session->customWeights) { + free(session->second_weight_map); + } } if (session->run) { free(session->openList); @@ -429,6 +457,237 @@ CalcPath_destroy (CalcPath_session *session) free(session); } +int +checkTile_inner(int start_x, int start_y, int tile, int width, int height, char * rawMap_data) { + if (start_x < 0 || start_x >= width || start_y < 0 || start_y >= height) { + return 0; + } + int offset; + + int value; + + offset = (start_y * width) + start_x; + value = rawMap_data[offset]; + if (!(value & tile)) { + return 0; + } + return 1; +} + +int +checkLOS_inner(int start_x, int start_y, int end_x, int end_y, int tile, int width, int height, char * rawMap_data) { + if (start_x < 0 || start_x >= width || start_y < 0 || start_y >= height) { + return 0; + } + if (end_x < 0 || end_x >= width || end_y < 0 || end_y >= height) { + return 0; + } + int dx; + int dy; + int wx; + int wy; + int weight; + + int offset; + + int value; + + int temp; + dx = end_x - start_x; + if (dx < 0) { + temp = start_x; + start_x = end_x; + end_x = temp; + + temp = start_y; + start_y = end_y; + end_y = temp; + + dx = -dx; + } + dy = end_y - start_y; + + int absdy; + if (dy >= 0) { + absdy = dy; + } else { + absdy = -dy; + } + + if (dx > absdy) { + weight = dx; + } else { + weight = absdy; + } + offset = (start_y * width) + start_x; + + wx = 0; + wy = 0; + while (start_x != end_x || start_y != end_y) { + wx += dx; + wy += dy; + if (wx >= weight) { + wx -= weight; + start_x++; + offset++; + } + if (wy >= weight) { + wy -= weight; + start_y++; + offset += width; + } else if (wy < 0) { + wy += weight; + start_y--; + offset -= width; + } + value = rawMap_data[offset]; + if (!(value & tile)) { + return 0; + } + } + return 1; +} + +int +canAttack_inner(int start_x, int start_y, int end_x, int end_y, int tile, int width, int height, int range, int clientSight, char * rawMap_data) { + int distance = blockDistance_inner(start_x, start_y, end_x, end_y); + if (distance < 2) { + return 1; + } + if (distance >= clientSight) { + return 0; + } + + int client_distance = getClientDist_inner(start_x, start_y, end_x, end_y); + if (client_distance > range) { + return 0; + } + if (!checkLOS_inner(start_x, start_y, end_x, end_y, tile, width, height, rawMap_data)) { + return -1 ; + } + + return 1; +} + +int +checkPathFree_inner(int start_x, int start_y, int end_x, int end_y, int tile, int width, int height, char * rawMap_data) { + int offset; + + int value; + + int stepX; + int stepY; + + offset = (start_y * width) + start_x; + value = rawMap_data[offset]; + + if (!(value & tile)) { + return 0; + } + + while (1) { + + stepX = 0; + stepY = 0; + + if (start_x < end_x) { + start_x++; + stepX++; + } else if (start_x > end_x) { + start_x--; + stepX--; + } + if (start_y < end_y) { + start_y++; + stepY += width; + } else if (start_y > end_y) { + start_y--; + stepY -= width; + } + + if (stepX != 0 && stepY != 0) { + value = rawMap_data[(offset + stepX)]; + if (!(value & tile)) { + return 0; + } + value = rawMap_data[(offset + stepY)]; + if (!(value & tile)) { + return 0; + } + } + + offset += (stepX + stepY); + value = rawMap_data[offset]; + + if (!(value & tile)) { + return 0; + } + + if (stepX == 0 && stepY == 0) { + return 1; + } + } +} + +int * +getSquareEdgesFromCoord_inner (int x, int y, int radius, int width, int height) +{ + static int limits[4]; + + // min_x + limits[0] = (x - radius); + if (limits[0] < 0) { + limits[0] = 0; + } + + // min_y + limits[1] = (y - radius); + if (limits[1] < 0) { + limits[1] = 0; + } + + // max_x + limits[2] = (x + radius); + if (limits[2] >= width) { + limits[2] = width-1; + } + + // max_y + limits[3] = (y + radius); + if (limits[3] >= height) { + limits[3] = height-1; + } + + return limits; +} + +int +blockDistance_inner (int start_x, int start_y, int end_x, int end_y) +{ + int dx = start_x - end_x; + int dy = start_y - end_y; + if (dx < 0) dx = -dx; + if (dy < 0) dy = -dy; + return dx > dy ? dx : dy; +} + +int +getClientDist_inner (int start_x, int start_y, int end_x, int end_y) +{ + int dx = start_x - end_x; + int dy = start_y - end_y; + + double temp_dist = sqrt((double)(dx*dx + dy*dy)); + + temp_dist -= 0.1; + + if (temp_dist < 0) { + temp_dist = 0; + } + + return ((int)temp_dist); +} + #ifdef __cplusplus } #endif /* __cplusplus */ \ No newline at end of file diff --git a/src/auto/XSTools/PathFinding/algorithm.h b/src/auto/XSTools/PathFinding/algorithm.h index d8d78a4e48..d5e11ac591 100644 --- a/src/auto/XSTools/PathFinding/algorithm.h +++ b/src/auto/XSTools/PathFinding/algorithm.h @@ -8,14 +8,14 @@ extern "C" { typedef struct { int x; int y; - - unsigned long nodeAdress; - - unsigned int predecessor; - - unsigned int whichlist; + + long nodeAdress; + + long predecessor; + + unsigned short whichlist; long openListIndex; - + unsigned long g; unsigned long h; unsigned long f; @@ -23,32 +23,39 @@ typedef struct { typedef struct { bool avoidWalls; - + const char *map_base_weight; + + bool customWeights; + unsigned int *second_weight_map; + + unsigned int randomFactor; + + bool useManhattan; + unsigned long time_max; - + int width; int height; - + int min_x; int max_x; int min_y; int max_y; - + int startX; int startY; int endX; int endY; - - int solution_size; + + unsigned long solution_size; int initialized; int run; - + long openListSize; - - const char *map_base_weight; + Node *currentMap; - - unsigned long *openList; + + long *openList; } CalcPath_session; CalcPath_session *CalcPath_new (); @@ -57,7 +64,7 @@ void CalcPath_init (CalcPath_session *session); int CalcPath_pathStep (CalcPath_session *session); -int heuristic_cost_estimate(int currentX, int currentY, int goalX, int goalY); +int heuristic_cost_estimate(int currentX, int currentY, int goalX, int goalY, bool useManhattan); void reconstruct_path(CalcPath_session *session, Node* goal, Node* start); @@ -73,6 +80,20 @@ void free_openList (CalcPath_session *session); void CalcPath_destroy (CalcPath_session *session); +int checkTile_inner (int start_x, int start_y, int tile, int width, int height, char * rawMap_data); + +int checkLOS_inner (int start_x, int start_y, int end_x, int end_y, int tile, int width, int height, char * rawMap_data); + +int canAttack_inner (int start_x, int start_y, int end_x, int end_y, int tile, int width, int height, int range, int clientSight, char * rawMap_data); + +int checkPathFree_inner (int start_x, int start_y, int end_x, int end_y, int tile, int width, int height, char * rawMap_data); + +int * getSquareEdgesFromCoord_inner (int x, int y, int radius, int width, int height); + +int blockDistance_inner (int start_x, int start_y, int end_x, int end_y); + +int getClientDist_inner (int start_x, int start_y, int end_x, int end_y); + #ifdef __cplusplus } #endif /* __cplusplus */