6cKlWJo zG{D;R2U82YDm)F`1kP}3_}Gc7XL6oH^ZNGgg2oj9%d>YtSpP3H{8@4sb`GrA>;aLC zJ`esf*4XDNM+-;S5S?K;H)XOn_44n{vCX4azI>jp&gxxwZdjCPSVRS!&?5*C(64-< zu;dtvE0iaTHzphx*Fkd_I|s)1Lj($)N23$KlCN)666iH2<>btLgguUh3aaZd=l;zG zc511e57e>~&PJUuPl%emg&Yk3i(n#F3;S+X#H+y`Rp^}9=4rggAGr=&d1=2VTc-S0 zg9?=P6GR*hwrnsUE+&(rh7Fjw zNptDcT%r=@0d=QQo=@+>C8afPmkH{0J1gBko^&)h8ScH6Jc}9*XWtZn6quGQ6ZPP+ zgw~c$cV(XBuf_fEsIwxvVM#18ET{~5H>FTQ&MR PQhUN1ArLF3Yz$vO#Tx-o(7ydvA8K$SJy<^uOR;* z#o3L4ObXL&1`Uv&?Xx24(z#^1K7|jroy76+IkW7?13p0JKGp}zC-*aj4R`FM!OlQi z)bZ^!x7vC&y&mC|@t~Ijq~q?1P%QYgRXWvJIo3=dVvOCrQMQna8+M|R!r21>>{=&~ zSIe$EfAfsimoW~D&MB#8i=C@LG}9k3# h;lCb zvZc-0;IKsN^g=~kM&ZQf9QjD|KG$cJ%^$yaJbbK_%Z0FpH9k&w%3DwB2Z4bK-^eC` z >}BIlm
3l!W=1%c!0Wsy`*uXB zd}Wn0lucvA p* z8 $w@o0h|Hy0t4%nwTEl!@`lV$yu-cf-i|fbr%4Psge8>!!OU5+hSE z%ja{Xd `#~_Kj0f`O9-_KdpwJ`{FUx-UO`miCo9`;z@ z9yB*hF>OmxqHjKY`v0qq3g_uatsq P q#F30 zp}%O-MDREq_foCvr9ze) 1J^dNQW!_KVk6m95nvW;PwYg>*In>p{CC94fY%Lm z=o>?Bd(W#U-frx4M;6;kE8}cZZgC 7cc0-OifM`aOQZ_1rVW`PCNHsbK zVBkFm&0Px8F2s|e!ivA8yK}r^uf8&We%Ok3+8 !Lux+Vds!E&yXSikfipr#M)Ayi-wdVfFwZ1~?-OHMZj4D7R1nwLGoAJ60@ z4ooQ`Ps9QVT3zYXUWLHT+wDrlm%}|ffC#3tKS}KbrV|U)*WdYqPYv+;i{ bm$f2J7Whl}UFieoUd*`4*&adAmv@t1|bT8cj7 z#F%-)|6W|L|98%UZAm%zQF@6~MVn-l!g<^$)h|$Xhpq_&6f(BZS?pVlj(S|4z={B! zvF?Ad2Ffq!QuGT_E(6eaC7_4b$^`%!!oK}sPxAS{nLTS@(IimeDycnGjaJB;YIxP= z^x-epAZ`sR_b*aYSX<^76+x5X F!-}lgyAq5J?+W#nu!p^H=e#j}GRr{mt>9nE{nSnIf-Q%aCo3VtH)%QS33P zIh<-(Yf!Nw&$^Pp6?2iWbR__?+$11=Vn9Ir+r$`^HI=B#VA4-+WMX4uX&TV^;GXB^ z<`A_J^EYx+oUVl0i@pf2AWHQPq4;Np6fanf2@RO?jNC68Q;&q^i2k;|Sm-Pla>^Bn6t&=vM>FfH|k&V#b$YcOsBff&iW)W24ludQ*2MK2uk8rUc=N%r~(tUEc3 zdYYSmi(<+}KiJoW=Fmk%8P#C)9zyhHHXrz}%%i22b48dAgdjA<;b4PP7zJaZ$+s>S z?jlmWq^_|?>~wR*e69V_Xe&)G9ZN?;Q~c;2TqFaF?!%kUy)-L7aBrdL>0R0HKQ94C zoOL=4e|Yf5lFpdzq BZmcXk?qZM0vK*$6D+0kEi`t1oA73#*QJEFxJoE zX6KTHqQ*I{tq-zl<(QrOQ#!=4x8s5WcnfRT8u8Q`+v{RBBb0!_q9z$0m;UjG*bE~_ zL`!Y!S7**aK{Daf!pC2icRxhZ6H~fxmc9%3p4;Q*1%CHj*V+SYvKznz)mvZmX|+36 zxrCXV4M;GkJk|+#0%a~4dKcH!g1)>YpLYqPTQVGWoV{Wo6g^J=FWeOT(=Pq9RhuYy zNK@B>^`0#bmG5tag3i;opb)vqnnIsb`J$m)q+Bj5Fbwsd|R%)Ofe`iTUow9 zh@Th^r=j x`l1FQ+w0l)BbUvIBH5R6giD{`NnwcD@X~ z?z;!xr2AkqFVi@liR_X!5EBA54SbmS6pT5qX+}P9zt_FX$RB`g_9yk}#6Gkf2ore& zO$PH5EE5P;p=rq}A#Tlo*Q6e>`yTWX1Ye)GsHlbJf<2~k_JF(;{dl^9@lfrFzV>Fh zspD8LPCRU4v#x&_5ySEh1@xdE1{tmvL*RzkZ29!=D}UA67-=DpmMQxhiY C@>>zBT6* k >RW#A zH|CO~%#F+Thw+CU%?T&9ys>OqLvH@lIYQ&H5#eb8-9Ay0@FHJL=t6I`kj|&G cM1&TdY>T03qR$9ovuek!3=u!n(kCB`3c*< z=RPbcdTrXO_fkW3f_m$W)-bJpoi)mEK-Qqlb*+(*A**Th?Dx!AcN1c5WjXl6NxR|n zq= ^z}68sM)ANAP}9FCfpDNBH;#J zAWCxJ2$N_T2H1QJGBWjrJ3g}aarW|c_VfUO0y2}oHBvuTg+$H$2#r@ensprh$}czw zyHL&Yn90&qwEPLbXEsbT9g?}uad0T~k-x4yT&{mC+U3#?8RO=Y-lvwnLE)5&sjT4m zuz@Z!zcNN%G2I8gunI^-=hGM$4aGeH(~BOY`-Rz`hgJhsuPsusY{AD@jGr*JlAY;J z8hkaem%VK^yu92{j(aO_rocDBGcMBOuZ7X5QA+C7k`WkJ?%C7wSFHgjaVGuVY;{*N z`~+EK4F;3{CS_z)GLZ#=*qOE9YDNK>Yg5(_*-i4uHxY+d^2VRWF+EKkHy*E@R~d-M zxQa+c;P=|6tf(`N^kL3Rw}=A+6d86Q&~M6<14sI#Q-;ih++gcT3Y?)1)Psd|`Iqg! zhc|U2^4^Gat$ij&TOOXK&QtW7N*h _>4pE7ER57oC+Cd7ocEPBW2JIqOLd-k6maCkMCk;v%1d6b}h^7Q+5?_;oB$bs0G zuCB%whH2Cpktpvm-9(kCI67>vdSZ)ctNEzc#Y+SA#8ZUlBUIimi27KZpG~h4nD=0O zP5|Ls8?rMCN`R`YM>7mG+s~?;E-Wm_g&oU%dknTzARkhRB&Cd1M)Oi-Cof+p3OZso zHZj@S#)>XXHwOnC;!~>|8sb;h?wh{0imfFLs1rqdLDj0dmN(}*r5&rPsuq$>td`XW zLE$D=ffrU+S3zNl^f3(3b@Rg^m6Zz+h$ZE1e{E#W?xj+u#QCvm`+$XKKmk3Qw#XAW z6{1%@<;&?4ugBZ1{Mb2kDxPk+fRl1f$ta8iesK&qQk}9f#h^tQv9;yhw9}{XG2`T> zadwb224WGqa&OUNZ!uso3n`|oY{k?vMXbAva=xgly2x|U8TEZhqpE;Debk`B*w&1> z LG9kS}=LS4!8$+UU z0z1@t>4$jE=^XSzS<&!dwP}aO8>`>F&qzU~!`DHxVID)F!hPD@*z+rhOGreX9PQgX zIFOl;l=Gf$7woq2aLCXuHLUM__Ps%NerI>f0*1#!HZ9)7Pdz={O(otP1Ce&b=nKug z_ukIjx!b?=vU0W7^MJ7T?)Xbvu4(jRSpYBUq4}OBRaT$7ySw)uzT%)yED3QYl$f|C zJm#P}YIs8OoJ$U!|AtY{CYaBQuvbQZUu`H}tjNZySFg*CCc6{yCcJWW-F{=bd3|9Z z_tyHhT=XZ$!)ZMe&}BBZ(m)Y(te (0I=O8efjbG%IR?XBP>Cv2kZ0qKrOTn_T{zl)5zwSp5 z440XROG%+!M=OWX2o5~OT7SfM6A#KB6iT+Ds;Y7BQO@qY-)9e25EZ*5hk>^QQ#QA( z{DK$ugx|`_dR+>)y$peUjIg;J&8|E=QHMcvy$LH^m|!}_=O4(rDQ$^@!egLemq#lt zAE8LwPUdI4pt0r0+% &?62IXuG0>r>o83IKZZh{J zIcVJyzq^GTsJY>18j+qFGyMYt&x5ZsYaE81Dsy|zm}VB)&a{LLZlw%A%#Q6?;tT)j zY*KEGpF1fFQjv{!lc50(NcDz-RAn+gpHOt}oD%Y`&-6p#wxg>?`R-kpU=kre#s%_% ze$a8FvJvGxyPf%o_U`_JFXrwdfKz__&buP|{Yg#8hA=$^JxAMABhocYyA09H7I )yn&W`tii>-q};-eMQjhuOe&{Te|soJ<#x~SHe}a4(?N1TU!D? z#j&2DH6kLSTm6B LHmwd~j8>B$j^Tg<&z_~1aqttf~kXHeDR60U!U zjJpb)XAFR%SG|#!Avb3;?oo5l#EUv>S~@zlQ9t0__Wb<%{ZNBsD15Iy
Q zJ*&aS7p}_hd3X#dQef_b43e!qvmGvTglz-0Dt31N?1xBcqR<6&Alg>dDyM#Hj^fxD z?qW7(dth9(6Zbpg5 #Vym?!TudV?Xc))FpGtk@27>h=9ID zRh{_`D$!{%aQvv&ll^^oEIAo4upNKoaWG7Qve*NKI|;ri=Cn0eT_e|eTV%g265v_Z z1y!DExM5`lG1~}~U2aGK7#|Y4R%O}9N?3J8-42?CAR3G9dr6CN#yUSkVX`Wg>Lo^z z?i1_zM%U}}Z+Y(+%X>ySIr6z!=7Zu__Tn{fX(k+>7g8haNJpEz-{UglicH}3kJUsC z#m2+L%B(#lU^Db(1v*9lFwcLOCZ~8~EnWzXhD4a~B3EH@!}vRDqi4l!83rXxY9tp& zpA~S%Ja6iDcXh>{GzT4}1S3o*S=viPX0T(oIoleYt&8gpz=G>>RE ddiZT9l1geOxk{_ z*a`11b+(d*n|kc${M5SXByev7%y`uZ5yHdDNDv^0Fkb5f@$x!eR)xQ%1;@s|vIQ}| zkf7z}HH;>K!@r7!$7-_vt3f%j 3N}aQw>;2Z*Mx#B18`%O8%q z9V8Bb%ejZH->1)si;LsLmJYkjZu1p0r*xqqkETRSD8)^Lg%bT5Ewn3Z$8QU~96yEG zVQXB%9!Rj3_ljURV4MV!o{pC~l-@FNj(4|>t|zB2o)R}uN>5Y3-3l}vU%sf%Zlhm= z!xfP0vwc|#)hxem6s-!2@|GA~_iK8V0$$4SZ1FCdPd;IUQHJdF%5rY#h+b!Yvc4tA z{3OjhJ+Xo*$i-Rto)9yM8=_YTC9uLgfti|V-dPAtt;?%06F>DK>N?rkkpjMoakqDO zr#mA~Ti9u|J9ItDoXf9K VRK57%>ssSoF; Ea45UxXDef;ImxY>in8UOC9Dp8^to6ZG-X zV#3kE&zA^ZQQ%Fv x5bcK71;y>pdO-ktoWHb3? zxKETKbM2K>sAX!UvKxF?n(m6EPAyiaMC~N(2U<8X9*$$4>F_To&j9L)gqO2`ui-PZ zjG7tX7dwE7Ik~x&^P~ADFy8pDmpD+!!lF|_iSXE I# zGN5OS8r3>Uba^n;qr?9=M47=xK`@U#7vQso$4re7D2?p-M^MrZ?85Trz}%o-z DHm96Y=4iepXp8=_g0wQ$zTH0}c_u`I+>s4x!xtE&HIt0G0 z4!u67XGSk?mfn>tJupa07Yvl#4B+VYL4GZ9#v62x25S$Cy?HoUBLpO23z3*RMSaL) zsL%3Hpg=0Nej*tl{BXy%Y0<>SCELy@o{J2u%4$g*Ff{@c joU g6O@ zQ@ pB9XAFc kVv4+5!1OzC*wVoIXy?^w{ z;OrK~xjek=Uu@p7L6B-%fV|B)YDXThWW9L72vU{L@>fYLFr;GgY)%_mP 9<#b)z%Ma#NU1rWPDJ~x2EC0+_o({BrY%%V} z?E3ymoXV*L_x54agxxZ_Zaug|KtdP%&@rgJ2k)cculmO~WV6dK2s9l_w7%l`EZk(+ z57G;r2c(2w@E8HELdEl|3G1NLi}&G-(r<2HfSa6Ukn1;d2E1beU>0FD;8HAx&b!*# zrNHj|oG)6xSzd6p4B4`0+~c=e8 P zh6AUY5n{smLXY2k T`6JS+k7M%_?do<$+Jgum?s|`$ z6_OYUF$1ZPM v*vh&|v= z;+<~*n0? !tQ`~Z$G zHg2?Zwm+u0GNDm5Ak0lYN^Q3)pq$!&F|)nBz0E*`hwOT?_IzTi;@!B0cF3qdtExLC zb>3UlW@B7eE9y_83FD;rf8?Hjj(J#ryc)c{Gz!mxhHUh(UfcF;y@=hvi(O8l>jWCg zBAleabYgy{$4WiOMN0BQYnoyhfW5x%Zb}e$mR=){Csn%u-q%HFbKrleCX)KN(76qI zx?Wyh4rhknz|rU_XKQdt;}8f^8<5|fv}@i!gD=DXJms2kA%3Zf2la){?}TXnMl^jm z9|fZjHnPweP}hm}L0ih6%@-5vvP$AN)Ni~`(x%N_>fRg-nPd7?Qx30<1|}`e^Qj@T z;$Bi$>B|)T{LN~2_J+#DA}2iyXQzqA3kta Z*gw1nW!QmeQZF+v=;BPRJQatov<+Sp{pd zad14{4ZWC9xhh=&J;ynpE{?Pav95vl89$lAtfh0;2w_8~wQro$P@EQwaUbO{IooS? z+%J8zg!Yg&BB!7*C^548k>Nm%Be_1qwC7u4omOau`?^&Z9X?{N){D7{{Y{}XNa`Z3 zb6I(i5%ximXlKTZhKR2Xu1f%}O^y4@`Knk)Q{5ljw=60UgL%U>v$P8gWe3=W5#ON^ zfDRi~oBlQr{A^b(+Ci}t0ZQszwpAI}4&{hW{IZ2~GK9r)cC{Lo x}qi z4TyDDI@L%0IOM$ALf6)(8a=WR1%_Hbw^{+BfI*#|o$C^;ifeB~K3Dfn6*`epQnJ9b zjyI7{WYLj)(jk1Tmko`07)Sk)kKa&pUlWW?I&R;P;X=i0BY@OEpzwz={ilikpCkLf zdxPb;II1|dl7HxR>!;>qRzY(fCs}D)a6@IbUVmnQN`g<)TRg~RxB1(#dEY@ruZaBl z%2Bwl{F)w{>Gfo>t&t~MN~bRYQ8*0Y0@*YZTKj(edf=e;L85u~r_arw&~FFC*|a~B zf7|lx7V7E^rviOfpsDY9@IC^^6?}_Qbw0A#-1Ky6e+H#OVbi6!mqqr1mg`K0#Ac=? z)U(h@?^r`aVfxm5=~*smadOARIF(De!NGx9N^ 6z8sS=y1=)^C zL >RgM~@7PM@I1BhTDh%`_;1bQLpf-*3j( )tqb1avjDoevw7I>lyHvUXlN z)=J`is$y5( U~j J~GeWB*ENQ zIgz?uGYZ&b{;IsM K$_#N0*4%i)rWl_!>lPcVa?52 z2Qf*7SwtwaLN2mIYz`-Alf(r}Qc+~fk`J`L6SSo1%@8?6#~sKS2g$48e7<@WAM~o2 z6NTiziY{j7PS(C)YlZkqFtsH*=-}MOye&jhZ+XV#wKEThj0ie7NXi!1PY7ium729a zYgM^c0yGEW!ycWT2+F~CjNiq=|9oD$HMwL_Wmxi#fXiLj=zH5_%L_G>$?!w%w}{MS zzZyYYuJ~X+) MKv1a<8COON_K9w^D^u zb7sYKaY_VgNf-Q-aq}8shceBis3J#fHKv925+%~sHc9zlia!z6j1%D=?>hTlveUP@ z>D4O{s6FgrV 1@aX$R+dj+0>@2Kn_%r6PwUpD zZdDiArw&V(qa!T%?@HeGt2NIeYXhx#)8;(?I}<&jno(R!FKn+70`fYNyqk~wg`=5= z>cjN&rR1O8FVe-R+5cFX{!#$;M_nRxDy+>D?goq2mdT(irwvPS%r&}BqNxt~JKz&^ z_`x8*MBo}@lap?2uyYd>Np=0mX%jrJYB|~k7;2?&&DpU!ympLgD%_2LrUPh7`qhsZ zYUK}tz%mKSRkAP301w3bNQd4Gv+XRh8XpS2tjdF?%l4m{!2 j5Z|KRCj*|wcU1YKw_CFpZ4g#5WL50(G zH>`?J7c$l_m%?h8*4nqNq_qOxe(%oi1J~K+YE-Y_tM_QO=PZo6-5e#HL*9Yb%Us=$ z%vpZEKuLWj6B84I{ARA*93z|q@)2>f93}ZMnzv=eGu1cwqxlQaw1#n_?g$FL`dN~J zQUcM9I-ViUY-j|-k$S6uyVYI2D{3l)g%ucjTW^d8PCPbOu>#tiMB^y4)QX(xE@pjB zLWiT57o;swn4O2LX8d=89~wee_tN*X-QXI$1-;Y9giy>4O4TI6gu@`PAu`~i-iUr* z%PQx!fSC*_Tg0=->Cv8sp~e7FQ!tRqIL7ClH3|%uCvc)A K)F=r*V<=Ju1u0RAC`yrD z1SwIZNr?uI79pV@&7hzmB#`6Yo4b4W_MhFI+1dTRoo{Eep#{(sX<>6g5DyQ}rsKKH zR7F$0g@pw&nLIc+I5#&}QBm>s?c37Q(r@3seg6EpwY9anx_b97TkuXjZ^&6kXCCvp z5#ODpGc{ca$Up94@wMISg3id3%*7Ry)YzL%|9MhR8{Ygx7-e4FulsO8!EFN0bR@Og z(yH6%BCRiho)*$EVbrQgKsRM|D&)PW4an@wd_=r?x4NH3pY6TYS2OBCn;1Uh;Zmdt zRB~YRC*5AMr({ySt>zx|?r~G7GWUt=l1POfJYtm$EFQSKxWx+kIPui`cxMQHfp6e& zp`AS{v#f4CWx?3Z^d%(U^UU(E!fiPo9wB9 B=*_*K-4@lL$+Sho@>+cJu`< z*NE8+KT9o+^3$O_i)cLTA%ZZ3lYZB5CGJxTBvRuQ0-rd9wteaIyiY1@)Ld9%BqCnI z)(1ua7nE4!RyynFlC)@~kB-J1;C*B7`8N74J-?nT&-2XnVH#j!$cAPA3?9L%1egZo z)UE6L=W2t=qgXYx$*td63t4mqh^S@e4y1_%Ofn>iB4!?u6+vZ+&pR4upG$Mw4*N@= z`>}eccquzWCd%(t%Qkj0- =`8I+y>D1c|vd*keI@NMM<$Te%dH@yHyKfC7M-O zckFw(w>Fr@!m@&9gE|Ilb+EfrxrrqRuyPfDV?6&S ^35lxrcEBx)zr~z`Q!fxm!F-nt-Y{ zt)lxobb?l+V-+qrnfSejEs0~|IM-r>vCy>-!w8H6_vvzA>U2-W6aG4^9Eia1>7=^T z5ATKC(%zBY-v;okc6ytp1N&o6 g_5p6& NuZ9t=$PilNx3o zroXFS5Iw%w7?WLgB$y^;>D*|a(N_@~z%3VgQ2(mQjgS;xIaosu4eb*Ej8uhXqyXoZ z(^o6{8C)pu +9|VPI0^&a=gf!Yn$kDqp)ga!ID=0R8iBt=Y4rx zX{n6hJ6phrf9%NRH3|^Y{v$li@!-{?gMShH#~(=SZV1j;eGLf<9z4S-@4dJdKEbhn zE;o+70e?YsA=BZ%4It}mB7*BRXW5^8bb3|K=JooX(v6|&N%#G3m8aAsK7B_|{g}Y0 zXD_q6>fZYeR{J@r{30_^^X--erLYr+J_DhCe8&VHn>*WI=5VHLw^;3PNp-ut(uTKp zvq)Z=&>pI^Z{Q~;6ozMFBP$OH-wh~-f^VE1)C}XesG~ivW~ BK$95fu*@k|sx!l5lnYL!ec5-aT5(I6AF3ihn)n+I*#S-H?ujF&a$IM!R^S)Z` z?FGc3=vpAM(vEL<5%LfJ|3*%k%NW`;U*uJUAItP47jqN&Y-Wbt=qQ x#95sY&gdqJ@Fypli7JJ&(Y?9|v6cJjN&;UN`}VEk# &B&J1pMDC7PS&W>UWuGKu5YGq*=QfUt5uv~$1)8im8;CD)9O2VYP9dDYRHdg zCS>k(w+0p%#!t5y#{Z@V{F#33{^l(7q;hEh(mX^rGx-_3w5rBcDJlPj+n@wo%Jz_t zpq23ZZuGb>9Arn@MU0gV(fgJ0mozHKdorsjvl{i(mE_i1YKCt;!$i7;w)85n|H7iG zdI4Iwz^MUuJM2<+9STCCtRj55j7vZiYkG7KIcYpcVduF1Gyi`fVZa1Pw0sS;hSoSH z-BHIZZ$aD4{(8CZRY-bOw8qZ~^2qgO2GTEuIxNr0N7a{W7bpuasA-01EEmoDqsOi{ zgk2?}u{hjS0*>6SCboMEUNP+8bpU3_*Q`m`Z;}v^y>I^0q7V)uYXt0zSO(H<-hZh# z LOvvw^o}>>O^0aBrdB8Gkt%rgm z#9T{F?se0>@g;KisuCbg#-*XV65fOK(X}goe&&B$MSykg58NUqn|u+i`5`R&J8P7U zV&vxb08u3|Mcl^li92j({>J_AeQA#wkFhDwH}OANAfWPt#OVF^&WmP6n`Rr;*xX`) zQSBo+)@g<=X0>QLFQ+H`6pe7EnJfKBxwMP`Duy)RG+cvz0F{#H5@ FbZ~V|g|Vd*vkD}t$Iq}QCJHeVRO*ku zX@}aQY~aj2hGztgY@@STG4*3_@?;#fLjCfphEER|DWsvV()?+KdzJTS#U`rJB&Ff@ zb2r75E&n*G^b;C-)jz(kJ#E~JaHZ3i$$i9=b @xb0{Q?t978Gv+h~$(<7~fYZ#7CUn^}e!?!9B+7-Jj)7Wh0Eg%Z#~A!6~|?LhDH%a$mrL+2sxf6G$0? zcj|ZLrnnP(RW^0EBYC_f&R^qpN7IS2qTKTB9gRf%TPJzyHcKYJ8ihJt09ykgi{yw$ zjUNW|KRmSI9juqG{Wj$>=@59)prdH%)sHV?o7ZKhlOS)N+JXh$KYh74hcUM01%#7l q2Bdz0f&IxApz8?ewR^HXv Y9$^!a4TM8B$L>+S>N6Q|~=;CJe55^CUZ_{$N&e zN+vzL_M!q=Yxd=9PVo5?v}12lZLA%y%{QkSsvjNQ8C6Im_sn&Fzt_}CD7sO0QG 0 I-=wzv*lSG@NA1D+EqJG| z%#jjd{?gjgH_Ak+7VJhOM3tYa>vms=E_jnH=&$Ks_|}$TJuPE;buw6O-uCeOCF^PU zyVKcQ56D5;f}aYxGwJt~uDpXN&BhCkEffKZYMDT z6GGhwU2quBPdfq`bzqTCWxfVJ 9CQEszLs2Zb4b{d==H9KE!&AsxV3d_6ZzNU=RAjt2oe73@Im?Az6nL8$q zpI~P0foShhWnW$j9x^e84mJA30s21oBkfjyUf}H*x~y`QA(q=mDM%;7k_UUGrFBn*=&DKIc9z`53O7x=eSo@NlN% zMrb+e%1HmpBZpk|49R$zVWhK#IPy-sS%OuS2*KqP<@&|Zg8ipoXJpJ} }2X zgw3 %CR36E^sZkFE4*drW-C7sJ^&r =ou4b~`-9)+gn%=U|4g?*`gh5FU#ziJ5MQnjdxI<6aH zjyjI{O1x9tK xx~VgphZgK}x=&l}gpdbCXcLH0v45TY7j-(PVi_A}^zmzq4omfsemGWM z>&Y9~D)^kO?jKjrD|B=6A8p?dsfeopY5`fy1jWU{7_qBbLjT=BuZLetoQ=fE9Xy(N z3QbzCO#G9iEr`XbF3d9=5N}*aB&8kA)4Oo~-S!RPiXUQ%b3eqg!1agG&!^_8Jpu}0 zfu=;%WF8C0mjp>)v>KKbv7Cg7pbO+)V#owGGIsO5qhh)%&(nj^PLqCR!vF@|ZA!}c ztPL5DSCZ^BMXvz|zK0-`u|f9PHy{<*)9LQvF@z}A+w~&%5q~F-CgHWY8t=d2{^W2& zR9HX2(}H@Uc$W%=^;X7@f9&JGl>CpuKY|gWX)(qL6N;7gJLT@`%_Y2|UOkDVRO; z6J+S7ZpGH#?rvyBE&=O>J`k6ybvmOrYiWOURt)wdP)2%-u&^|>YjF+}CCV^iT!MpO ztW~i=q?QY@#c*8KLOj9hmr39sxh{J*WExN|k}{@gL5S>Gu{x9WI!&vWV0~6y=xWDU zvi?H5=67FYTg01S5ew|O5{0}8{jk!)d0x(1qi@$GW=e&yf2DD=@&(XKYwSUTYo()U zpM#q$wuhjxPbkuYZ-Ql*YfwCixoT&2O>0#qXKvI{UK?Tsz-QX>uB2UPmH%uWIC8-^ z4%R-J#{;5y3IX?j?>v!PX_ck2JUqM*sD*|*>BG@U6i8&$dV`4guNM9V?N%V|JFkM8 z{PK*AF|ss$9hJ*MjYJ|QSvg@G;UiODzE~t{-YyOojh^9=RoadLN8vM~XrKjo!fq;b zgZaH!z%_Geudm&~34LEu9e_gl$B(g*p!lNJE=~>jgHYH8ws=O=N7-AaPh_jb^D^33 zrrCN!O)@-jKnmQE-OmrJA(ltDP$c($k(u{uiwMMdlLzOXhGf?MDLK`jPv^JxES-zR zwM2pz;3e$ETi>O{nw+ p-9_r_nHhg*0W&GG z00+p%bVVMrdSs;BpS+an9L{5UVJ(&bMIE27^7B4U7<1oO9b8Z5R``+jWRaOVqI5&G zhO>z%H+wWw>G7=K6~;siRxSs4x_tYit7?I~AbmW?>r!42xN^(aIZanReMeGF0MF>v zaTh5yt4!BcSIEA(4FeBJIm!#JPTmD#^$)6`y7#wG;g%BzOQc8PwB(v#Fnb8lpWgiJ z_aJV{X5;-2MKPS__ridvTOVXG0s4K(Zv(HomdPmvrCT(g;>j tZrN^`5kG&Az7zv&VQ2@w|sT(Eox`(D=EN zcR)mcb70@k4{q6vKe1ea$mc>`NX)b5o#V&vPy=H(6=uw)qSQ#n<0Tbqp=?w^+_+X{ z4ld6RfhAAgLNrGzyrzrV`TEan21tRon=u{*breQMEej=y4u%s#?m}k{FEt|2dKk>1 zzE28DvR!m8few0k23f2;9X8r@r1MxK9vVt5MXhdOE_Gr2r#Gj?w%~?Ji0)c@uOe$x zuU54_sw5D)M)(|qod(BhdKy*@I0opfXeJxt(?uRaF~q0l88Exy{=K{oA#ynq>^ZAH kf6}Yyx=+>L8xE-Og_^{(jDmAxg8v5K=m58`wY_xzFY=%EUjP6A diff --git a/modular_citadel/code/modules/arousal/arousal.dm b/modular_citadel/code/modules/arousal/arousal.dm index c8d4ea191..5e37cbbe7 100644 --- a/modular_citadel/code/modules/arousal/arousal.dm +++ b/modular_citadel/code/modules/arousal/arousal.dm @@ -437,17 +437,9 @@ if(!remote && !in_range(src, L)) return if(do_after(src, mb_time, target = src)) - - if(!spillage) //hyper inflation - var/obj/item/organ/genital/belly/B = L.getorganslot("belly") - if(B) - if(B.inflatable && total_fluids > 80) //requires a big cumshot to expand. - if(B.size < 3) - B.size += 1 - to_chat(L, "You feel your belly expand.") - else - to_chat(L, "You feel your belly strain.") - + var/mob/living/carbon/H = L + if(!spillage && total_fluids > 80) //hyper inflation; requires a big cumshot to expand + H.expand_belly(1) var/obj/item/organ/genital/penis/P = G if (P.condom)//condomed. src.condomclimax() @@ -673,8 +665,6 @@ var/mob/living/carbon/C = check_target if(C.exposed_genitals.len || C.is_groin_exposed() || C.is_chest_exposed()) //Are they naked enough? partner = C - else //A cat is fine too - partner = check_target if(partner) //Did they pass the clothing checks? mob_climax_partner(G, partner, mb_time = 0) //Instant climax due to forced continue //You've climaxed once with this organ, continue on diff --git a/modular_citadel/code/modules/arousal/organs/genitals.dm b/modular_citadel/code/modules/arousal/organs/genitals.dm index 394fb0aa4..bdf4d7856 100644 --- a/modular_citadel/code/modules/arousal/organs/genitals.dm +++ b/modular_citadel/code/modules/arousal/organs/genitals.dm @@ -229,7 +229,7 @@ if(!getorganslot("belly")) var/obj/item/organ/genital/belly/B = new if(dna.features["belly_size"]) - B.size = dna.features["belly_size"]-1 + B.size = dna.features["belly_size"] B.Insert(src) if(B) if(dna.species.use_skintones && dna.features["genitals_use_skintone"]) @@ -478,39 +478,39 @@ genital_overlay.icon_state = "[G.slot]_[S.icon_state]_[size]_[aroused_state]_[layertext]" colourcode = S.color_src - //sizecheck added to prevent rendering blank icons - if(G.slot == "belly" && G.size > 0) //we have a different size system - + if(G.slot == "belly") + size = round(size) genital_overlay.icon = 'hyperstation/icons/obj/genitals/belly.dmi' - genital_overlay.icon_state = "belly_[round(size)]_OTHER" + genital_overlay.icon_state = "belly_[size]_OTHER" colourcode = "belly_color" //creates directional layering by rendering twice. genital_overlay_directional.icon = 'hyperstation/icons/obj/genitals/belly.dmi' //Added directionals for larger bellies! - genital_overlay_directional.icon_state = "belly_[round(size)]_NORTH" + genital_overlay_directional.icon_state = "belly_[size]_NORTH" genital_overlay_directional.layer = -GENITALS_BEHIND_LAYER - //sizecheck added to prevent rendering blank icons - if(G.slot == "anus" && G.size > 0) //we have a different size system - + if(G.slot == "anus") + size = round(size) genital_overlay.icon = 'hyperstation/icons/obj/genitals/butt.dmi' - genital_overlay.icon_state = "butt_[round(size)]_OTHER" + genital_overlay.icon_state = "butt_[size]_OTHER" genital_overlay.layer = -ID_LAYER //in front of suit, behind bellies. //creates directional layering by rendering twice. North has higher layer priority to occlude hands. genital_overlay_directional.icon = 'hyperstation/icons/obj/genitals/butt.dmi' - genital_overlay_directional.icon_state = "butt_[round(size)]_NORTH" + genital_overlay_directional.icon_state = "butt_[size]_NORTH" genital_overlay_directional.layer = -NECK_LAYER colourcode = "butt_color" - if(use_skintones) //butts are forced a colour, either skin tones, or main colour. how ever, mutants use a darker version, because of their body tone. + if(use_skintones && H.dna.features["genitals_use_skintone"]) + //butts are forced a colour, either skin tones, or main colour. + //how ever, mutants use a darker version, because of their body tone. genital_overlay.color = "#[skintone2hex(H.skin_tone)]" - genital_overlay.icon_state = "butt_[round(size)]_OTHER" - genital_overlay_directional.icon_state = "butt_[round(size)]_NORTH" + genital_overlay.icon_state = "butt_[size]_OTHER" + genital_overlay_directional.icon_state = "butt_[size]_NORTH" else genital_overlay.color = "#[H.dna.features["mcolor"]]" - genital_overlay.icon_state = "butt_[round(size)]_OTHER_m" - genital_overlay_directional.icon_state = "butt_[round(size)]_NORTH_m" + genital_overlay.icon_state = "butt_[size]_OTHER_m" + genital_overlay_directional.icon_state = "butt_[size]_NORTH_m" if(S.center) @@ -521,21 +521,10 @@ if (colourtint) genital_overlay.color = "#[colourtint]" else - switch(colourcode) - if("cock_color") - genital_overlay.color = "#[H.dna.features["cock_color"]]" - if (colourtint) - genital_overlay.color = "#[colourtint]" - if("balls_color") - genital_overlay.color = "#[H.dna.features["balls_color"]]" - if("breasts_color") - genital_overlay.color = "#[H.dna.features["breasts_color"]]" - if("vag_color") - genital_overlay.color = "#[H.dna.features["vag_color"]]" - if("belly_color") - genital_overlay.color = "#[H.dna.features["belly_color"]]" - if("butt_color") - genital_overlay.color = "#[H.dna.features["butt_color"]]" + if(colourcode != MUTCOLORS) + genital_overlay.color = "#[H.dna.features[colourcode]]" + if(colourcode == "cock_color" && colourtint) + genital_overlay.color = "#[colourtint]" standing += genital_overlay @@ -549,7 +538,7 @@ if (colourtint) genital_overlay_directional.color = "#[colourtint]" else - genital_overlay_directional.color = "#[H.dna.features["butt_color"]]" + genital_overlay_directional.color = "#[H.dna.features[colourcode]]" standing += genital_overlay_directional diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.dm index e0d8e8417..95f58780c 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.dm @@ -412,7 +412,7 @@ B = nB //If they have & opt in, increase size. if(H.client?.prefs.cit_toggles & ASS_ENLARGEMENT) - if(B.size < 5) //just make sure you dont break sprites + if(B.size < BUTT_MAX_SIZE) //just make sure you dont break sprites B.size = B.size + 0.05 B.update() ..() diff --git a/tgstation.dme b/tgstation.dme index 1d242e4fc..b134bc3a4 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -50,6 +50,7 @@ #include "code\__DEFINES\food.dm" #include "code\__DEFINES\footsteps.dm" #include "code\__DEFINES\hud.dm" +#include "code\__DEFINES\hyper_arousal.dm" #include "code\__DEFINES\integrated_electronics.dm" #include "code\__DEFINES\interaction_flags.dm" #include "code\__DEFINES\inventory.dm" @@ -3141,6 +3142,7 @@ #include "hyperstation\code\modules\antagonists\werewolf\werewolf.dm" #include "hyperstation\code\modules\arousal\arousalhud.dm" #include "hyperstation\code\modules\arousal\creampie.dm" +#include "hyperstation\code\modules\arousal\expansion.dm" #include "hyperstation\code\modules\busy_space\air_traffic.dm" #include "hyperstation\code\modules\busy_space\atc_controller.dm" #include "hyperstation\code\modules\busy_space\loremaster.dm"