From 2d33156bb01161c73a45908edae835b6efb806ee Mon Sep 17 00:00:00 2001 From: "petethegoat@gmail.com" Date: Wed, 20 Jun 2012 21:11:17 +0000 Subject: [PATCH] Added ladders. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3880 316c924e-a436-60f5-8080-3fe189b3f50e --- code/game/objects/ladders.dm | 69 +++++++++++++++++++++++++++++++++++ icons/obj/structures.dmi | Bin 94651 -> 95618 bytes 2 files changed, 69 insertions(+) create mode 100644 code/game/objects/ladders.dm diff --git a/code/game/objects/ladders.dm b/code/game/objects/ladders.dm new file mode 100644 index 00000000000..e59419caa82 --- /dev/null +++ b/code/game/objects/ladders.dm @@ -0,0 +1,69 @@ +/obj/structure/ladder + name = "ladder" + desc = "A sturdy metal ladder." + icon = 'structures.dmi' + icon_state = "ladder11" + var/id = null + var/height = 0 //the 'height' of the ladder. higher numbers are considered physically higher + var/obj/structure/ladder/down = null //the ladder below this one + var/obj/structure/ladder/up = null //the ladder above this one + +/obj/structure/ladder/New() + spawn(8) + for(var/obj/structure/ladder/L in world) + if(L.id == id) + if(L.height == (height - 1)) + down = L + continue + if(L.height == (height + 1)) + up = L + continue + + if(up && down) //if both our connections are filled + break + update_icon() + +/obj/structure/ladder/update_icon() + if(up && down) + icon_state = "ladder11" + + else if(up) + icon_state = "ladder10" + + else if(down) + icon_state = "ladder01" + + else //wtf make your ladders properly assholes + icon_state = "ladder00" + +/obj/structure/ladder/attack_hand(mob/user as mob) + if(up && down) + switch( alert("Go up or down the ladder?", "Ladder", "Up", "Down", "Cancel") ) + if("Up") + user.visible_message("[user] climbs up \the [src]!") + user.loc = get_turf(up) + up.add_fingerprint(user) + if("Down") + user.visible_message("[user] climbs down \the [src]!") + user.loc = get_turf(down) + down.add_fingerprint(user) + if("Cancel") + return + + else if(up) + user.visible_message("[user] climbs up \the [src]!") + user.loc = get_turf(up) + up.add_fingerprint(user) + + else if(down) + user.visible_message("[user] climbs down \the [src]!") + user.loc = get_turf(down) + down.add_fingerprint(user) + + add_fingerprint(user) + +/obj/structure/ladder/attack_paw(mob/user as mob) + return attack_hand(user) + +/obj/structure/ladder/attackby(obj/item/weapon/W, mob/user as mob) + return attack_hand(user) \ No newline at end of file diff --git a/icons/obj/structures.dmi b/icons/obj/structures.dmi index 60275e75a4da611992017a7ee3e5a7dc82a97e0e..fa8bac4085af1d81de7c3d512b08727568ab8710 100644 GIT binary patch delta 11619 zcmZvCby!sI^Y)=pQl)EAkq(uVTBMXt1!+M_Ql#rp0@5W2OE=Qe4Wb|_-JMcPHw(+Y z2S2~>fA1fh>)MM0GtWFTbKi5%HZ9`?An{^YKy6QLU1wSI_hwGkj?UH&_5k3X`YEx) ze(523aDR`M?smI7yU+O9Muyp$uNkR9$7PGC4cLyLY#wW7^vsWKkBTm_yn% z4YXcM+5G5%ouTh-H(vZ2^+SjFuj^@_Uh<6C>QV7D7;<&Wu<1SL8R_h+eBjGYgsj&h z0$(KkNIdorp2s{wHjd=q*c!1R;IZ+pT+O`&A5z5w`U6fPn&opY*C>(m9;Whc%avD+<8k%U=@{Ntc&=MDZTEhmFx=|o)7Z; zVmWr6Bt8+Yfq3rnu~|otrc$f>#Ti^-IdWA@Jd%uOglYwSE8nOh_5?9y(3f{IIoKUgF)15ycC3`P-el!x&~n*3l{f!V*6$~yy5{G`6y=yRT!(DC z*%NMfkk6T%Oe8Y0*i?w$!11$J%AVAzpZSz=#n*3!=qFnCeR?LdXe?c1qr9a~j!e;D zQLb>WAEC-Pd@D_K4i`4M=~I;GfIQ&CjW2y?wQZ^x=zv}4 zfQ@DO9CW`ko_ysc&rjDAXZNc17ENd+PS;FC4<6fH3TeXX{2T9>;Z}sRB=)=lO}{Os z?V42TvaFjB)xFW?bsP^Ot%oVFRW$jmA1>a;zN=c%K+9nIzUtA0-~MbOccgsEBz#4q zt5N@}cvKD!{@V-suTKh?;qTcK9%rE|$8g zJ2E?w+j!Gd!UCcBkOqI=GZn`#s*fqhwTI5?D=X4T9+8C*VXT{P!%pJ!#>zXKAJmqq z5zvmmaA<3?^nROtBfI!8s_o(yxI02@wwj=y7Qn0y?5)3t$Kr?M0tU@QAf_{^Bq7+z z6103{HFY)bM7oDRoduXI-Y09a8{_4rXfr#suyftf)^X}nCdj#~hyG66a!!;;L>H=E zP1Y>s(Eb5g=j@ioInLUjx}1Q4gPU&*kQikde(8OBqq+86{jQ_UuTFAGZ@&r&mix6u zAMLgrtScj@=*fV-Lj^bjz|Ni!mx-1FT5oM5307MN^!-D^H^pAbY9VOEKrswS7Lf zO3?GCjQ+Z zZEa=`2xM=}+xwWkuCScbnE^h3E#2`-tZRfu>(>hP4E2%!CmTgQ;-UQ9y?i6Gvcg{IZHke6@Q z;LTsXxvKs`WS5%jKOn{ zlO}p2YA#O6(e2sR2PTpinIz+97U1zMC*;wzUB=FoG>G)yCMCJ`O7w1r$7Ltumg7&j zIGOFx+OaxrmSFeXSu$unxhmWc2-_Cc_T8gyD|+}Uy(Ww4xesAu6cIpNOdUOvHX!-g z&29I4gn-?NNEH&DG(V`)hUDd)B1q>mHqy&JEMvR49H&)bNk4`~S?ad9=j;SMy0{AQ z%xyeh-&WCWH07XFF(g=$`P8N#&C zCY%NR{H(Ey-gMO8&Dog4^ZVpl>$FGimYNY=< zgO{G@uhr`gF@v}z4&B7w4I|`X(JP-Fo3}JCzxkiIT%nmMOPVuf_A{F6W{WJ7eTSzc z7frAL(x>F2UX0n*tL!ZvK}zu3Msz>)w@E`~gQ}}^Na^~Q>v@V?HkKlV+*4#gvgcbTa{gAyvWDEh(X?Y+)@MI_k^G{N$xF%ZTn`I)hG2sK!p=f8J*l~?~a4%FL9 zRpnVmw&bFptf2OPRx#iyh5cByu}fXJJtOPb1igfOXu0y;5I%$?a1Jti;FGBRgsBQd#d7=tpF$Go80C%A)I6cUMK5J zpqUa{LD3pLru1TEuLmT`7GwH>rS$df80(uoydCoPRYK)u{vy{fa=ftoq5a+o0K?k7a!2^ z<9O|X8Wbnj%iRtprXjLLWPGGA?$kQqzn}rNx(4MD8`qd`mGT8n6C!25WoZ?#B>9@7U7hH*Z zrpxD{TYL9=-m_df4o177L+DdE@}Mxm#V#q8&gO_RPN)Bt<+k#f+CdIFwfJ*fHJKYA z8~9K>4nOXL{Z5i{yOT%b&YL2~E1UPy8=S^i;F5EwtTV^%F8z$eY?K0_#oBJ<)mrC8 zI!uM`;JwR7j%`<)5Vgd}2Ld@NX4)rqH*QWZ$|(4xxP7bjTV-G75_-@vNpI>vqhecI4Q|nHhhjljJW;$PCG0(Z4 zWu0kE*44-)1-1R_mEQhy$K29&)9zKDlkf(cdSqMWl~1$Vlpl6>$njMkA$mH zdaFZYD-_TbmO!n8ln3YilC2<@Aj82mYXhSa&u@A#-2SoCP(QEdKQG%sFFjJFq&{nI;E6c6|&o}ZuW810J7W<+6Fr9K>E z9qGgP*&dL4pen`5*-8H5w;mz3n@EL~56FN*hfPNuKg7c~4`BfvXRmW%b^lkr%?S6C z=I1V4Awwt}JEcKz58}I6YBQlGsK7MKCl0ELdviKIr!=uJm;+kfyWVWM6gEZ%*eExw zR=DVz?&FYiMw-y$`-nL{;mgnA z03zp3g5}{m$I6RZ@SXAfKl*xG&-+t5NC?o@ZhV#4?H@q;H1UOG-rdT{4;`M&Zy+|z zGJVx2ne-Gw3HVVgerp|<4DMiEd6-D7MjqYaNr=B366o8Egj1APU#aiaz4^T1 zp%gA5)_<{CZ?exht$vP0nD?)}W=Pmm^cYvnXpB$r8q`m1;`%{!)Q$8541ge$31L{j zI|$YQtwR&OY=HcG( zcRx3-FuSL+eBJ#aEYP0rxtZVEAR~S>$BSA%t$ipUa}k-&@*IzrqyJrM(^d_&f~Cr* z{2kAx@VBCtBGpy0O=%y=v)#f00SCqy201tlWhOU$`tVrlF-l7wlash4BWh#{1^r5a}lv z0GvUr%}UJhsc@ak$0(E@>W^hpgiIc+=lFxDP&!JxLeQtZ>Lt@P*dCDh`}0aNz;&%> zoW@(qRNB14mFwMF-CXYuL`n>BP~{AUlJ+~XcJ(zIp3Nfih~d6YYmUQp%E_y|JhP?d zY`sTSpbS}puK*dY==;I5fL5UomxW2Fp#2TG%#82 zP+100KeIe|;L!X#|F1I1`pWYg|IT#Q%B;@3%zA7)TN$qKS!DJW1VnT5K)Y(n1}9{# zMmc%RfkSq~i*=@Qf8_KKhuN-#NFWb{MMbklKF25MIC~!Tk%a`Pc-Q>gKTfUZWBY{ zJSHdZBBMsTkAW-@I>~h4`2F6vM=I%vfwI-4x`w%#jhLm=3im1DIxf4B2S}=of8b>& zGIJ*@DzdJ1oGI2UhR3QeKg%JdYuH?`0yMb z#d9&(6>v4bYa%$mOA`aacv1T$81-vcf8a<>Z`@qnVAByPIj)&oD;q+!hSrpRSo#pG z=Xv$bt6{Ej%D20ltKawXuU_LW)BS_x5M?+3+nI1jUOahY-8Pt-9%pautcydid!w67 zfaF}&I}@|OoJrEwzi@Zv(V}|~nG{4Vs8#$G5b1n>3~R>}z+1l@5@@!%NV|!$r6{>M zs8qBLX374fQ6>8PP<=8(;@17Dc z&sy!j@G{l%V~N5lDLWPdvSxpNQCjeM{&}|{UFyny z2?Px%!C*G}MBn)ZZn4fcOejL$JRXX(viSC9rqVIbv0;ZH*c65@uY;Ck80j6*zR6(Hv){wCDm+8^Ezi%bhV~@pUvDd0 zlH_-t(D%MZqe2dF$gSz(7)9B_mI`xmf%Zi=VZ4agZL#dApd|Im;vk5`f2B~dmQ|F2 z`MSlIp*NpoSNpDw>N!E&_CE0DbG+`;T=iGAAI|b&+_R3&xE$^M62nzkK=+A5foS;{ zCzy_j%BRz8a6?3~Wj}mZ-7SxTXzpjfkHnhEKOqcUHpDDKHMiWW6tn5Pv@XD-CY$B7 zD>SQqhDBHaW9Kp1D?sFlra$r}CUT#`K&=<>`}LJamYn0-^oA#7f;8Fpq2v%MJW29F z>Brw<7JB!cvI$jNEttZhACR1bAA0PLw1#*h8F_k_1NNb=uMV+6d3cmt=PY$OBAfm7 zi4JT(T!EKwLMn%QKESxzDbg6PK42n?t0*IL*gEvN$%vQtR~p^kOmT9c-C}zQFxk}Q zw^JOrWe9*P+;@XQgCdk3X#$z!kIEd+!-EL?g5FdCK=1fesyJU*Hu&2tX>0Y#u2kRv zG2z_=B67fQ)atvGx$p#8&tf*L97UE(NvOEdUECR8VfB};f-aH};FV$yQr8qmEoQG+{wD}`Qg_C{7p(ZvS_(ABqU5p6PYVw9Er?xxMI^_N z;Vb8~YCfWvxr;_DkOpv8rx?^qXXdum3n1+^Oq0!B&%FFmtTUUum_Ja}#-x z_KG@Xsu7P6U`HJl{9Q@>sI|DcZ9aRi<3ks+(JQf} z@H2Ebh;4~))iTB6%RZ%O4m9Z7&c~9Xm{|gUtO~I`@D%qYgz)U$e#@}xFsDFPW?~o7i6|c*;L&cr3i0%2{!8v|D{5ZZRZcK zaWCo7eHk25k8EJ&?=#FGbwj`EE@-Mcts{KS?*<|!S4`AHcB00q?e zxm-UTA$Yl=k->D*hVQFiLFYk@VTNJ7d_w+Lnf;Aqeu~l41kf7^_gH1HoJ0viVjzLB zUUvMIQga;YZ{7p+FX@2hKi~F!Tn5WadyuwJvXTOhME8DwEt!UlYEkHqRY>?fMhS-4p6E-{m5;*7IozI2JHY zU2xRcESAQ7E3|m=o(qz(3O8h$XGGBLMu&U*a^tayT@J`UB_PS}bK3XEi%I0y0P(w* zutB=~**+H{>Hd%IEKT@iZWE^YqP~+wq}D=@;0vX+PR9zrh{h_^j%yWw_Vu z)XVpr9gjS-w{vvH9$XzoYIe6_3}cN)Dy*0Y`&%?kXZO-fmxo}Os4Aa#spb|GB5rMa zvTazuza-Ti^mdc+-`Pptbw_9DY%=-mu=Rm;!p)h-qaRl<8cEvLz^j#1D4fuMw9F<9LAh&zt1#_UT-VeXPfCaFjD9b8HdLjcxJlF;t}g30;271#)4cy6ImqsQ-*}_?9UZ%_bYxFdwSEcgaw$U@aKw-qZ6|I@e?gELdkQIhsj@;EkZu?? z?uyZSIgj(vXcqk0LJvo`n&bL8w4g|-zxcd@M8D<9D9x zrhZ;vD9!uM&0k!Ef5o{?PcGM=(vnjEvcZ1#%_sFkko90r5@~Rp6)h@?D}2%70;=^1 z8K|&-PW>Q}-th=G5_~Cuh<~o*Q?uAK?>qBIQg9Ggisjy|;&OxKvf3zWvKVHu zQ7tYHXrrKMLPAJxlcIMPCp;$z@$G|hWV+)+y6j{TQ57Y^EMB3yC$AD+l5A&-s0Hcj zd#ShvKn@vebUrC!{i2#=v>ivV-lVx42B=W@0;b8>2^U!40Pa4{!$uSTUJWntA3j-} zum27gKffuX{zm9Az+8{}c3y#~4aBhFH?haM z?0Wl|@4s2yNqeno`tdn=SjN?_y@6;;G#j*=dGo7w!&zl5V&?m$k&;c|l`u@(<<-`9 z&rpNn2F7t4bm|>FvELaw?vdrpaPWTLFdUask|y%&d#J1|yU_uchMP|c(#;|9F`e{x z%HLG)uc>i?l_Cx>K3)2=B`;>K*`ru~#OnG4DxOW~jHL?_#m%Bph&@3MOV;qyp8h7M33o!Z3xMAVr$0c*cFuSzh9>zb>fHycO zz^Z*=N+Z4WFH?+56T@sS3c%{a+&h5lu4t}G{kD;+jP*}Gj3s^i}GeXKEsoo7V?zV9iI3Cj|YJFwgT(@X$AUk_9g0_vQuIpKh*PNTa~~ zs;-2tR-_5mtHSwK!>f`3z+%S|$JR@L`A4emGBk%an^ z=UmAxmyas{20m`CE>@H|Y)Ly1cDx#T#qwtD1iKw$>#LNM${&xja5Q&$T%)bmCr}Vb zy@%idvm#zKV5`YS4G^vcEetbGj19>{SqIk(mz0TG}EZwa%V*XWuWdfb2)&u#s8 z4N(fvJUAY=J0HMvx0rBL;)M(SkecJ2Ef_TadjO=ikcNm+M7MffOAZU&YCC|R@VvWz zQ@N`on_IK81ZrRW)j}1$ z3TAf1#cFZC{!mv|%Ryk0-gbnw17h6TPK7-TY4qqPKB<-8^TJ%F)b(Zitm3ZljSu;p zem?Cz7t@DVeRyjeWU(}R)ogyJ(Dz0!b2_S;nLO+8r{oyuJdVwVixt2eifR@+@9Mm; zIy5|O@>}qpY9aCnmEyLp_w?d(V|vp5dH2=2xc+=@UO`{Auy4JV7&%>YLt1+5*q$Apy|jBSHfjbn9+C( zouf+kqCZ6^sOxtUAZ3k4OpyWoho1#^RlUznEbh$BZAn=64HYze#atQP2CipZ4M?;h z^{Vwehg7N>O`7Rz7qS}j|*kIs<@-%U@$^*f(4 z`v7Ftw>rF1Sm&w=J%j$7F~l{|3UHs^GBArxo88^tzqcli2Tv2q$1WXqwoeiT2Y1amPgGD#*hqA`f_@={ZMc;rmQXRTra=@d%INl_Pxcx ziF;&4kRI8F)NV+8eSBuOkG=fctKX5QR6-oc=}E=UJGK)-Ow4(9mV4`^lzaTagntZ@cqP4%ds=!2@m1phr#(%gvHNF* zr-r4#yR50C;MZyUw&0MZvC$U@{o`*u83sY?Uq2~*B<@B2YE@ac`f`^p*d>ME={vLz zLo;bx-#Pe^82pxMFNos!cs(IqP$`DVKFd9@LrQd7zw(H!t&R>Vd<&UI!`2%tV=5+6 z7!@fh{qVWO#GY*^3!$?I>j*br8qR;C<<)Iz)aB;&r6M5n^$VxwTj~{7!gis;0{fee z$Mhe8S2`M+2XDWxkq8sZU9I(Jz^%rMr9a%H1eG#9`c(f|=h*TbuM6YF+S3kuK?~;C zwXLmEetS0q37yH^ZJ(h8+Nk0+PKEi(T6!0Bzi>h1rd<)-nz-A|$rWf%RiK)rplH@o zuPnpCHqNiHA0%GAhGCx1Zxq1k8<|xtf>TcPkE`qIyx`?Vh7684`YdZ#rArq5Z8s@7 zwZ9V`q335OZUD4*zLwTM&|yHBGWQBv3N)4&{I};;A;cSd;r+HloDF!W)0c9+cOkI+ zfoM>yi^s7DT|8S1DZ;5##~;UEf(e`&htm4N1Ho6)4|--YIJN z(VxCNr1J7|IzP8S^3{H#l|aM<$geU`Jw!;PCxnN!E}kOzRv70thCe-xzR>^Hn+`%Q z7KT!*7wG5roPB$G6kbO`lcuwai`i7Q{=03xXQ}13R*qF`#?ZZSE@7cyN|Mz*47VnL z1v1b(M75V|0ZYUO`b?}x;&DD&ngA`P2te=|t`OjE({23V84fS(8Lsc8O+WWzaV@7z zui3C~-+K{tZ%fSHmpJh!bWGr~_5#%pB5O8ywP|%EAuxm**{MS~H4PUWEubnV=3ZD* zD5c|e>er{Bs`%|p-)YHNP9_{7fq^2Vev51X*7BA2Q6`sk;-{v2Blz#+)?Ea_Giby` zJ=j8qJ*0sjk9+Q=N^C5XcmmAgmTK6jU96b67J%nVHZHp!MO0h%OJ4gp!pHV#dM@kY}{yCBuvxMOt5-}cfWqQtW6}( z1h=)di9=6`$FSxPJs81EV|>zQ9AwhL9AJ1Pb&Bf@eW~Z)_dLi+o_Gsqpi6hYz}Q#L znXJ;yp6FahR{J~b=&(2uH=>1U-OF!&qT}K4p{VyB8itEAdq*9bVu(Th{IwZEg|fN zbTXJtNexG$8OZdHto|%mP*V`6(9ZOhm0#EX{aeoU8%`hNF+#dpd$FXXOHUR;DYBFY z6Zwo;FNErA*SEK~&n^$mDyFw_MAgd2@87>K#%lNCU;4@OTAfqp6)fP8Fy;2QT7M9= z%=E>+_mo|$+8BeX@lyfM%~XLD@}$KitcTk*AD{xeHmy-Ow|fmeRS`dvL# zfTkCI*{S8*MwZCq$?ZjmZ-(jkpMR7IyJY^N-HwbF+?S41K_a>|9D`^7h4`mj8!hl4 zf8oM^fs)Ybj||(*mO~c98}>cKs=m$tdBnM*js|4?94)NkXidbo2JFVh2zwVEw`8#J*Z&H;`QM4Paf3Dq zn2GN_lF@HL?YFA!SIW%SIl%Pv353$p5)*@0avfa{uLuPYw~DW%may4N{~Z<-Cenrj zugO2sPVs>agXP0?%3?=jV`Er|4y@3(008Kexi2wBz(5qOm%Xz8plNjV)UnZx$WT7wcZDGu| zU*9_y%P+SN&gbCz2W0hAOyhd?a5rRM(ye~|U#dL+Fb|j%7A%AevwoK%tR+HQ80ft8 zylH6tf2jxsBj{;`;re1WR+Iq!znlY}s@(lcMGh?8CQ(=T?=|baX&my+rX&3ltv&zN zXH_zAJz{PC0p26abdRZvhQf9Fx&HgTApWd<-7~x3(>bqQbT9Hh`*;$N9uO=3KB@|W z^s!UW!}=rdfC5gMDOnyCpok2S$uvAej$=YjON}LIXg&(9JG30X)Lx?{4!)K3zsxnC z6k>$rDKlLO^;(tg_pX`MvO4v?O2Pro?Ko)xYUxk9U)B1m+y;S%=F`r=!e|2cQVKIo zHh<@V^01ECL*)Ghn3yCs&C0{WL4oJ3C~ z)*jr6C&M?b>42%$JN-5NlV+8hcH%gqlO_EjES7llZ;R#G506(0({2e3>mScsie^>t z)2r@73LM)2$Zt|8h%te-w@YhJ#59`_#7EyR=eEUu8H68xjWe3_3f9qs*Df7)BODTA zAjJ2yB$dC3KNQ=QGyFpDzZ#`mPXx!9B-tML*W{Ty1&`s^KCv!|e0{8NaJ;YEyO}Gz zSDRZY1WnD?i~`F#K-u&-deva{M&s^djVQw!92{E&k>D0)f`!h^AHLuQY9^x_4b2TK9r9tkFNiH&zACo2bsy)Oaz s_(?O)g6h_=EA^?xsGgYAPOiTpp<}wG$RP=obWQ!AZ}}_W6bUg+(Z){E{<+^1Wfod8lfU<27BjZJ&93Bl zpaeB!-h8%>gu^ZeI1HyI@Z^TrQi78~j}m4qubuwR{=A9rj0-Lz;>Vx9_IJ+hXo>df zzc}D%(FT+9QmngaEv`^>M{{j>h+pP%Poid-@I5m#fjUwm|0*qZOO^XUf$vRaXN~c- zU6(e;>^lw0tf~Ljd{*c%AL0CSNQviV(^dUxh3$`_*@u+S_2q0hlu0E6EAstK#4d@IuqDRHRS_rD`0+z&H|uP}%5xqdnj_PF;j2uHcU ziZRErk2AhUxweLTsBLg~!2{zTf4aQLR&;ME3rVl$3S6H>6nKd@V@+pjDz{t`D4PLWgaec0KYgsX*)(Gq#^Wp&m{W0tPF)_^FfZp#W8c(ZF zO-~ig9x%rTNdS@zLH5K3VG&`NuOI7JViU@ilrH7g7!t#bA&A1d>=tU9lj?7@3Tl$I zcU}kQ)jYt)$R&BIhjssfEkOr1K_d%)@^rQN>GgHew1fF>uL)ma$;R2Lpkn$9#I#ju z%cKEPAK{azV5FV6=}HPTfIg=?V*TrUCS1m&WGuyRIcAV)Wz@*%TZ1(A_1#!;^s*>m%Q=ztKXhBIA1?s(Z8O&l+UZI3+Qh=m>g7N3pZmet4nP~ zes)F%-Bn*dN2FD8@B{XXt3!qH(wG2OZ}1-K7>B)!Z+H9i-MWieFj6`bSwVvftS=xr z>j!4ILRJLJb@TfM)0Q5^@lSMAOPN#hH?rHEeoPMTJa%a(JjT_l@br;IhQFPUDdhh) zGvve)1*<`+ObF1E-TaO$-?!ZA`f;q?DDU~3ME`e!_ZC;jQ0>c=IwCU+e2weJw#h`b zocIbR6Nd?L^qHOupuWD$7|9bd?jNRgEnRs(_6|0h7DF)no_wzQ3jvpnC}n8BLQ9cfxB{SeL^6WqnEn2;WAV(+t-5*AL6ZER=;xVfVG!M6ZGx+WR z8i1DsFB+RGGQ8@<0pRI`oDaFQfBk6=-Naed6=_PSk-~x?!Kk)Iot+2Ub;`k5WZJRG z$xdQkes?{wFxo5c-j`N;4j1lm@SMtsckl3{3TA%|Z7a9gjWj~tl-ZGs_%ESmcVik< zy=zc6e>x=bHLoRXW(-joFP*C9Wbm=2{WtZG_5_efnU9C}f;aov??|ym=!%J}sfl`c z*WCDdDzZvhfrx#1b;t12fR<2kd>y6t2xokQmM8^^B7L8MoSokumFTVgeBFa`bqX*@ zf~Kx{+U$&l;4FT#LvEBkI4V;@JhgZ|8N%0reLlG0JM?xwZBb{Y^5TyHD(uHY*IX82 zUS{T}v*I&IiWYc?TkRz!m9SHpuD*H+$83k@(2wFiP_V5v$xo4)^uZV0^_;WGmDHh< zuB0q8TEC<5{8^=DBULSf;jgwYnaN5F7J2(Wt_;x@eqC@suv~_fH)kb$^~qkWwe)Fs z^voihy2t}}3>;D4AKPSD8xDzipE2VpkohaTv8SD{)~39>7HZzkyigE&2Omc3fk<4J zMl3vpfY%oF2g7*a34gHV?-Ifn^d9$}X(#~qj!fzj@jT>ug6@wVlke~B= zM3AXjB(i>nMl}r6#k~9>^-?`Y7SVO{r}#N()`ZdZMvI7iI3zK>!4;W{vT_ zp-a!k@@pDGyeYtQG$bkF>YRB0{H*QNuJuf-0TEf}TdKj%Y?g-wC{GCdmU<$e*f+uW z#m>P0_Z$W7{+whHc{moOw3l(*1TTVk9SlW(ZavOj*nfup4I4)L1-p{6!IS=DkF%FGmzAv557Be7 z-p*a6;7U5ZlY(BbD=wDQ3H7F&TWdxO!9P(Vq|A4<*zm9ioBN0QMeEWRrSX+2CP7E)RdcMWKQOAd4cdbpw=d*B? z7b&B@Xkecbjp60;j|AIdB@Vn^cLcE%GIV9N6hhJr59OZHa7auQX+rJ$be;7`w$=L- zayKjBR)Ziyr*+wcioKEiV`qMexn%|1GWzz2NBL>q1fo3Crzp|Bx2&EMkdr*`_q zc1@cEhSYmr%z86gaDKRMel8fD(xHm}^LtKr(P zpFbZYoSkRE?e%RdRxMWZGU6b8jb3LM9irkx_W-aAVE$lp?L$Qp$D-_XbJhpG{$1nU zCV1tZXt)}>M^Vc)8Ti*|m@e#;xErPm(z}<_wZ_DxJ>ExWjXftr_)}tlP5m&}rQB{Z zwaRf#V(a4sGrYxwHe+L<1?d-qUTZpakyz@6@T)-HSpex0e<&AzYi5= z@a5TpRiGHr&ZUzSFQB_N8r_R-eHeiUD8tx12cQN17Nmi^v4Ec%>_PWNd!zdz|MF;$ z&f=aK{>BDf6xvTl@qtF(OqQJoaBvZe25)9S8wvYKx+(OhBYOz+?Ya8pb|?3eRF(>O zBe0JWp$FQ#vFHfd=`IA{flMUx9e}tJF@8zr^JH7 zk%`w5`(ju7i5xLagW#lbqL=82&wU$1!tQwX+N+2?t_P`u>ARK959HD5LQd)%j#=!de2exgx@g_){K%o zD9kxpDT0uAvqHRgM7*1iYqxTCto+@n_+DBq-(h*lF(&3KmC}*$715v3*014IHp)YS zq{n_`L`aKj>?ERD9;7uJ>0@-Xu6|fHoK{@YzE&NYJqXbek4sDhwYK=%6V2I>mlu(f zlgl%B*7OEzmnorp-NGd{mY&9rl051yu40hCDPWLC&7@{r&JRHzV7QAIb!aL$3}L39 zASU;NheoJp*b3I7AG;$2CpGYqbtn5TpFS-YQ+f1qCr$ud^!7QCJdlk0to-5=^brKP zxqGkQh!wQ*c?t@nOAHav?0c?wvA}r=Zz}fX@@rvp`hJ_AveC95Ow!>SoOBJ*T7Eze z5<-tIt8I<@sS8mxkhn=n<<_@#C{$ydIAZ+mYRhv8KQm9R^)}Aef9A2{F?7*ousy5s z-L9k*pVHwI{a&)YC3FRVKBYfHZc zh8pj893y}9>ny}24Eq>*?D1wR(OIEXy&GyOCy5{9N$@-cmn&-XWYIdmqwNs5dnw*t z+dP>~@@eb?lLu2YW%-n$nGRh08utQVlrtLVo_9wMWba@p zxz;|Ik<+P4i1L_ap{e~2umP6W$@#(b7A&j#P%r3B%uOna?7&n(rs_v{Mmz~EcQ=go_t#A8w(a~kx?%c-N?HEIS_p;LVM)fvs1I*hS&TQC68_UP5zMg!E ztIdmGn{Dh6Qgr}cZ=Ka~p9H%F^4#LAoehxv0aN|!nW6MyIt~w6LG%b<2@ONDFHERz z6%zVX)Np&W?j`s#O;J3v;W$Y)vbyv$FBQElxHXS4vGl!#TH6jAcA>NSR)%2W=T_99 zE#h_N;~(|R5951-G=?0RWfWV~d{H|e4IaHHv#Hq1kIvZS;#$Ze?NL5C0wswPKto(? zE~n2|5bzJa`hs(t5P;6Fp9ZlTH%m(c_&CP)WdX`y8OE3!ky~IP(?IoQXPi!IW8SZHWISKvnb{;-xzGsx8|DNa2q#nK5;0F zAbaRLAFl9zUi=b$m9&78czCY1Ez#?M&La#8B@m2|C}5Ude{%%kD3T zB+%%B0_LZZmcTNkS2NlRlJwX?DYtuwV0{t&f4Q}?l3*K+d+7p``yVFKRut9aR$q6k zHRy2(r(eb~^+Lz9^cBs@td4p3`%Kmw@+deoDV3+}5XOERess3p=|_r6KA62}@Mg>1 zx2>n0R3xuS_Acqfn5Qg%|NiO$W!+LgoaetM6K=dzPf#jo8kIl?ruazeos3oGb>9}c z+hm_^Opn&=Enjrn-*xTI6f~&WI@)#96E)0z93})T|9{0Vo$;_Cbwf9~Ur$r!(*syE zZD{H`*H`ZM8Ql`wfkr|!{4GX}ooF3pi20pvRh}C-D&g}L$`=_q zJeZ7jL58lPftHm)@Jya@NG_Zy`&X!|%{Z|XwV(Z^{~_k(;#^7H!C$p5oc6IByk|rJ zaJ!sI@T-uga;oL|JB|~6TX?ICHf`ui4^L@0?dY$JC}1V2wOY?YhdDTGkTfX^5$0?u ztF8QC!ej6Si{zOSlgIHAli=LKQ4>{2Y(BcHZR78)C4X!IUDG`{f^wZ%0h%O`V|O^q z<_U)yz9O!Q;=`Qw(>^}{5U~1z50J`e2{{F%Z({vqq`-e7^~A)aDjWj{Om_=rH)Ik8 znC@2o0*3dctJUMkKxqe$tGM~NKVl>F)WomxS20Zh5-kmacWx+j&OsmJT9Cd}A}rCj zgx3ApI;TF7zbQFjkHPmONNp&G?(U^O{57&g(1()}EULo*czF50sD-_LAOz`hYDa9A zi|~2|$ak6y2eM)lc(yF^8CNWZuI99~zUdj#f;)NCFHV3M?f98rKZN-oPk;|DCd@5ZnwZ9DS&yGFC?&iyveg z4|!5j9%<;PR!YfK4BMr)iC-|T2mpO$9UOzr7@yQxto*VU>vVKKbN>3BNq9=3c|P?*o`q9gn4Rx z{&-0U*m%Z1tfiZU2gt;(5#Ae6mUd+a=$q!}60X46?`#+K82i+0aLlldq&IQ*MA5+U zF&ec!W%GBQ+4lWW^p3Pn&FFrFVT*SqSNf%u?Hhyb(+`%$?AZYfKL+r}*IR{T zwifVZeQQ7b;7`BIg6GvVyjh%WeHcdk5HGU{{#?)%{+#zMYN4hPdizb~a%2!5c#K6s z(hR!P*7Km_7>S1IJGy5cG~v18nhTrGFLt=^hYVn}j#>JIT|3gZVv_9YBWbJzhR)Q&^18oEMtsFlB2 zJNc7jJ6FcNo!-@Wbh@)NYSvHs*y`4&{>f&9g9gdiZUa;>mf0ypS|QcsEwgeLShY>J zd#|MR?9hzcHDPZ)8&A|n2)5p>YZ%w?ABql;5gz@dR9fgGuu; zjjn{)G-Epp+T2?-B7TAN?7!}5mUusn2<6^4rS{vNV;lWS&@~|h%&*rMPrzbgl73Fj zrR4Tt(4UE2f8$S5E+C={JL|z%GUw9i)i6vh=)o{@5lOS46(_P>%@d~P(q_RAnB`>0 z1fJ_RgTG3B4lDtQ>i}~3>ChZv>9-x)oN`;j1fZFi`ZV0Wk7|6%P!L| zqivAH$s%3aRh}LXxGCw$DYhn5zDDQ!S~{pjH>qZoR@*n%b9x@Xut_bw>MaKVTkZSU zuk2syRoQknkHf-R6vAnGJW5bJ2F`ZCKVc(!+oVhsDNL&S#3MUlx?U#Yi0BP{e2D^t&lvV?e)=1L;62VM!yFH zS>B}y^=zD^7VG#y@c`nxhURyjIpFU)JA~l4P0_OEQwQRQq?0ODVu%A zgr*?Sg(&h(oNnREM2lNi+3R~SxJ5MYnG1dI(~znHJwVsT38w*5^zlTy?ZJciFod@U zCKdE)%gyY~=7-*}`fIE<@2(j=4~7n2>(4tmiJDKZS4uy^hFWzu-9Bj<;s(JCxvE+Z zf8H7E%xL49QKln5@4XnL84@2i?yTDGzW26k1a-AJyX)M1K&Nnmju-ITQHy5!#0C6# z4Oygl&4hx-BF}S&+D0tP3!ls9^wdH{Z!FMU6=|AsKH$FaK=!W6M)z^0tFd}%j2puF z+S)1+AGoE5Y_{0Tb^w5=LQd+{yRT~{9^UD*1;%pd#`^Qw+~uzFw0G5K#Oa5&cip_n z!d%)Pnv`Zb&Z7-LgRkgj#CZCe|Bj}Rd}QRYQ@Up@V{XpEpKs4Q>pm@*_zslau^b|V zC`RPBax~&gn*6FY7uHKeV2b9;Bsta2Zq zXAyqIdUG6OqA)-f9O4vm$^Gd2+r6%xGL}i_9`&2KM)?aQDD72R-0I-8(&X}(3>HR> zfEZplj2;IdX>z;81}!$#7prwj-LEGgKYXvd@ERM74L%9D7*MUeX&Joiu)ChW3*0I! zX+v0RbK1P$#Z)_RIkT=)a5k#1QnEE}C~T)l1*t`(nbQhjw0D);-j_TnKVD{Q(mI6z zPi6%tFTpvGdr*ZHRf4%}=wG*3;O}}pRPhtYi30|6M z6-AMB>RDL0-U(RZnyDDbtl*e~I+%m@Tt6w9j-n{=i!1qJ-@T~@&6nlqtNl{(ZBYD; zCNr?o|Ez4FJJ)+2ISDH(G%^6I-l5XQ<_9ybt~e%=V0tph)>=mvUEe7kpG!zQ_jJM3 zRK|;N_``l&Oziv1!Yt3M9UnOA_VHUH+!_V22W|4yib)AM54EVIg3vu4fmltH_P6 zMGPgTx_1nhE=~zd9kvelV4U|hhkF-XcOM1)th&L#pKcYQAsxFO606>6AO&2l7xNVw zmR(~_wGL+&?f%B+ul=C5oyKv`WAk?h=&>W_*R<=m6=-4gc7I_5KlUPt4csNq##h-- zTh0$t?<6O&z^Q{Q1n(88(j9^ej6P%7>W*n=BG?j6}Gy-yK|3qhi0*-jh5q<&|w{CKJt|rAIYAumlzqu8hJ|c8ct3+0ZNEec*G_2c%rO)OZ#|oxh{I9zfJQ2UdW> z$V5pM5&^Vc)>P9qjZzi4W)an}ynJZ7RR!kKYGK?}y+%bH}Dyc5JB2{rBJSu-oNy$Suc1{LO_7s~KN>Ji)_QKBs?D^sw+J3EBV zu8Rzfk0Tlg)OTFG>b98Y(RZeMU53GeNzqL#68k62`{CsDzhbiJAn)T$>m4o5@FKiX z*o9k51`FO@ifo)#kF=oO`7al4Ur&J;w~dcr>(weJ+b3Va0sUum(=COtyf3X-lRlf(aSx^8)%~P zTF^D`@j^6#{Ag(WvG+za85`iID0NQQnahL?-kZNF31)YO^VX5t=^MSDB71KEp4kMg z+_s;(kh~pY_sON)6$Vtw8L``7n~UcI;JOz{2+;3dwz}kY>YCp_Koec|XiD)X=H_lS zzmi-Ox>bW?sOWm0%>fG(M71|N9+qFxK{K1~^Q-1wyPW_u>2yXURbwF4dhY185g{;q z;{eoLQl>_|*rVHxk@9*A^7v$)ok83~$!fb8m0j*hED8KpFX*2s(a$+DW+`@!NTy64erD5UR8jGpRBd|9rGU~c zFHYb~QCk~#`N`4Qq25HOZqL?dxx7l18?TL-3GVOCwRPaaVQ&=pt*-C=#sF30eA^3R zn()gM{ve9Ger~Qlg_kAe*hR(4PUtI8Aah+Ww z08iyCw6L;#z14_Y+`YhOf<_@P0ZDp7iRV5C{mW^2vDJ5GL>&O-#_{X&2^9sUzc&pZ z>nuCjaj~lEX>Fcqt(*i| za-5h^liy;C&t;?@rT7HS=@`ms8QAOaIVR*qu8H9mjgNT98`}f}?onhXUp5nQ$RZESPLKm9)<1GD>>#bh0{<%%*HH!(B-!hn+}On@UHF(4ePY3>njFE!SPRY6>|m zrM`135#=J3ay6t1@L?`P22LN)J&|c9ylaM84{{+Rl&1U&X@|bMh>?03EA>)Nfo}KA z3q7*z&3PS^8EF4pxs~@YFxO|IxmR?FcNSv=FK2kY77fx`yNxU}cm?LMfg%B%Tj{RF zJzUyb1aUVPf-*n95r_-IQ>v7R3bI%8DWJ zT*{hLoTx3nv7EyJk^T|+Qfp^9vgt_!q+coCbx+(#gDhC|Fzq!P`ZfmNVvZz5maV({ z<%8o*SAHYVtKkXuGI*x;6&pbNu>+byHGJ>sjEjT|sj9qe%gFjkb?yE)Kzaq4`IaMqdu7p>Fkmb@z~rWkgb`-`(N;3QkFJ~z70YuJ@?M+ zeO1B?QvYY&)Uzb}^+Ti^b=up)U*^v_(J?icuv@cjOp@DcVGEQ$YCyBE-d z@jo?jU#$ZFj91kQ+@Hl-LW(_PK9^X;JGA-szcCGy9RsX-%eN4)8jU3e&#KWZ2OYR6 z+w!6^bQJJ&hu^HZL3V7?)c(zL)ff1AF!?x+X{Lh^7w}`6!2ocIr`!@s4ARLqWpzkB zg*3&BCuSJAOO-2bh`(QVS7)Gvs*1Az>2nVE6Glz*dJL+UyIRjzt0bT8$gT;iwA{{B zV7Gx<-dOa_eg`AO?FT*J6Hy+EzV8;A%rp2l3N>FUgRY8E^}aRa|GD&_9DluAKmYrM zdR3f&4VQxh8b!Yqfq#j!fZhK8N#f@G;+79!3wQnQJpQw5$$3&ss(tsSJ^?wJD4O7BcJ)g`D zwf|n~pPvsVu&Q^aLlspP4E?B#$CNm66_7<9@g6&mg-BX-(=Ksa|F0Bu{1=7u=X6^# z&mAFa@czF&HKgG&Q+Nhs9_s~8e6*vgGSdvk&V)VkuE}!cpJ<-kE{fqeg+9sMcvJ!y i)qO|b%>6GE7_K2Km_@nsFg0NSEppPzQf04=0{#!uiA87t