From eefe1db6cad648375b56f9ee708e9aeb900c8fc9 Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Thu, 13 Oct 2022 00:54:04 -0600 Subject: [PATCH 01/22] Investigating crash from renaming timer --- examples/fire-bullet/CloseChest.wav | Bin 0 -> 10628 bytes examples/fire-bullet/PickupAmmo.wav | Bin 0 -> 16584 bytes examples/fire-bullet/assets/Ammo crate.png | Bin 0 -> 441 bytes .../assets/Treasure Chest_Closed.png | Bin 0 -> 289 bytes .../assets/Treasure Chest_Opening_1.png | Bin 0 -> 380 bytes .../assets/Treasure Chest_Opening_2.png | Bin 0 -> 330 bytes examples/fire-bullet/assets/thumbnail.png | Bin 506676 -> 173511 bytes examples/fire-bullet/fire-bullet.json | 9953 +++++++++++------ 8 files changed, 6836 insertions(+), 3117 deletions(-) create mode 100644 examples/fire-bullet/CloseChest.wav create mode 100644 examples/fire-bullet/PickupAmmo.wav create mode 100644 examples/fire-bullet/assets/Ammo crate.png create mode 100644 examples/fire-bullet/assets/Treasure Chest_Closed.png create mode 100644 examples/fire-bullet/assets/Treasure Chest_Opening_1.png create mode 100644 examples/fire-bullet/assets/Treasure Chest_Opening_2.png diff --git a/examples/fire-bullet/CloseChest.wav b/examples/fire-bullet/CloseChest.wav new file mode 100644 index 0000000000000000000000000000000000000000..5858fa08eed1c0bb5fea92d53585e69cb6dab3ce GIT binary patch literal 10628 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

O7Q486j4atoKC^Sz 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 AMF0Q* literal 0 HcmV?d00001 diff --git a/examples/fire-bullet/assets/Ammo crate.png b/examples/fire-bullet/assets/Ammo crate.png new file mode 100644 index 0000000000000000000000000000000000000000..37bfdb12bf86cea4228a2a427b1f5f425e17a9cc GIT binary patch literal 441 zcmeAS@N?(olHy`uVBq!ia0vp^DImckhAOyZ27nymi5W z!ww-CXD(h_wtmN^U5C=j+8TOi^~_lE>GPMFOV<7W|9{i9n|-U-ns~<9MbCQ<)X!ZK z(Kk$v}YRf&$Cg4IC>PIRE|6KgH62 z@N$oL=y%3nSKfPxCU?9Dn6i|ct1vZEChUMfs-vl-^6~|9gl8rPoWB@RS9-NF@Wjqn z6?bRV)S7ii%__As_tEWoSgYXB@JH*D0EYmO!NAD$B!9x~x3QBQ*WHW%KAXqrr|IRm z$&SBfvOl-G+cM$e@t&7zEiu~;dhg;?JZxsMWVV1&eseL9^KWViGZPEg5DkULwrO7G zHCLG#AtE2R1vn3JEQ+9zMSPP~#bi(56Z eu&O2b0q5f>E*j5H&&UUQpTX1B&t;ucLK6V|r^o03 literal 0 HcmV?d00001 diff --git a/examples/fire-bullet/assets/Treasure Chest_Closed.png b/examples/fire-bullet/assets/Treasure Chest_Closed.png new file mode 100644 index 0000000000000000000000000000000000000000..e1cd67a728418a924b2c30e64c547232808f2ea6 GIT binary patch literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYe6id3JuOkD)#=e^0fs=v!8=fwX zAs(H{fByfsKkUG?jB#tNfki`WM61!FPbx>RPQK1Bx$+r?>6;kOP!M$G= zedalT?!Eg(=N@GaD~7b6S+&V*F@|DQA9W6I{`^}~hw0OUBy}?%rBi|~?u}Fb**9fX zvEGmXfiC+$O4lMD$rij(diO=jYfGt!MZ*k%1uL1Ch|g7DajeRbpBV@ab7omP_{B|c z1cHYb51-b^`O@Ofr*Mk#MC1n$x9IrWNP|rZJOYm`E(tB%XDBAAR-xo_zU@fE!pXes eu1ZT-85oM1L%iIW7-s1pw6o!ABk~xFD#6~)S3E50C^#)$LmY%>%dyHoB2}(}j z8)RvNHxqmUyJ?mz?a-yryiO8MXsoBikOu-Gp5FiI@jp34glmR-RdoP2wiiNQTD5Gm ztDW8eLSIr-SNOP}bmj$%65DdA?{q>C5o-mWpx^H=)_Q-oD1%NFMSa@KwtDVr7q(n|doTMo7 z3~vulth!bmFgdynF?)Gt)pXAJh`6Iz3DxI_w7*TychrgR%=&_9-rU+BUt1at1cU0I^G*|6kNMYy#WM^(wL*1U$Etw0H)c$ aB>n*Fd&!R|hBNd400008`cKAe2r-gD$tx{5m21l`&%AB+xf{`^~V z36HGgyt((!CkRex59QZ$pD4p*wCK}+|C|{t+dcf^#8+F*I6UENVlm6nzzf<3+QQ|Y zT@aR5ODttM%BS(~1NZ6*jY-UfD;IV#bF?xjI(!ybuoK8?_}V1bCd@NoOM|YU(3!Ry zpDZmK7UleS@i4V*d0`vRaXq7jES2jSq?@PyvuAth`aE!x49|m4rYHFlfWV?`B4?iF zE(@J~6S)@x?GjAYyU4fU(tq~=-ZOr*Yfl$Q7gcU%b=e{7&v-j}Oz&9q9 zDwx0p!B$M&0R%#Ad-{j!vMDeGfk;5&!U9UJkiF($56lk@_dbsyi@cWy2U9Ln+bb2* zot=8faLBj@QZjW4*Mw=X+cX#uSkU{*)?58xOrseKJ&-l^O(3 zZHjA7<<6nu*l(>$vZ6Co4crtuKA1+D-wHdNH(9L;$YmgLQ_{+Q{zmorTfs`+#zSc! z_ahDz%kQ=@f$Ix?#XlN;HvH!mxPxN(w<=HFVv2yI<^NXYcMDJ706+Y$@MlXe_%Zku zpAG+2`Hy!0y|dp{{`JzIUHz*ikTgj8?^XVzGthuw7BD5M&#!&+sGv=M&yVUeDEVog zPghX#YhOy>r$4Lwt^l7&{clzNsQUl*eRuzx+eL|o)>a?ut!A_qWdY4VVu(`lRGZL* z);>NYc1Zq<%D?H- z?A}wAmn`jG7$#a8H?SQml6}~!`?W(7i#SW5Xdh!>;uIYI{O1bOvfqEr{oiQtf0+5x zjQ=1DKp^-`^`<}8=h-mZ@Z!U*!8v10>*G*9DiZn&j@xSNef0d+hunZF7{>+X0@2MT z5aD856UBMR*N$AGN0n%lI3fL?=Yw3i3%5&}Ld4z*A`}+N=1xjOR#hqkl=tHfv%Gf| z+$cI(jz)tAGdd{}o=Wmo850C&CrwtW#k1;M0dijE562Osd-|r}ZGBu4f+Cm!wq`0A zLo^}Ke)lJd^O{31wV(P>4~LK5xo}rQE`9GkVDUCiWi;89zJ0^bJZ-RNZ9wBI{6*B6 zH#(iv7G%inV(v)nsWjuJh@TL2^RpHe>4^A|suWI5Dl_ifR;5AE!D*zRW(O8o1t&cI zt_dGS=Vx%v-N)-IN*1viuW$A43*ciC%twkL@RmN}Yh*-o-$626+(|-9uzpXf75H&X zj;|zBbf;+@I(f!<;UoP1u4pjq6+nX2d!%%q7EMu zP5&$_q<`K$Rc;shqw-%>|9Ih_pEGUf{1|9Y`{SSG_pW9Iu-=I$uF7Zs_Z{f+VjNI!}Yd#NkqJ_jzOY)&7lXv9mS2;BC~ z!4u5@-YH)cF=9Pu>u9cU#OtJENXDYzFhLQ9_IMjjh5%7gNdcxkqk}O9e}&YSzM))` z)(|DrO?a8$`S4*vK{wF`O5(n(j~tBWWwSlNS8Wac18lTORRdsPG!F%$H^8ED&RTNO zat>Jf+^M4g)O>ipJ^^|>jCl(zURy+qDval2+u=eHQIN^Ym;4^pB*$Y4HA*SBP931# z`r!RDx1=C*-`w774%#0KeYeF>@wD2D`cUzO;}R%G*+b^c~@ zqt45-aoVZ){>2F>KaGo{eg$y-*U$|R_bNb=@nz+3S4M6=!LVvYsTuf7n@0F8$~?$8 z!v9>Xr{~`b_J3OMr}YmF{*!(F$qoOT=j}`QOkI>rJ_f~Bjb@^tmf{hCdG$G{x0)RM zC>2_9{J@x(gV_K|wptuifM_Q63jSmT<REQMGb z4lSIV)z0I}mdfGOvfR0V)sv1>G51~cTr9fURIjRkHXP{GuQvi^N+hp_32KnaRoT;D zsB5{cOv7JNUB4&9CJAzSo?@l;&LqW32+L2JizQI?a8J-on0b45n6Zpa)b{^%Ur)*oL4uy-uJwE8XLxW`Srnueoo{-ShXf zKR5@T7eT4m4EO0nu_3<7f>S%r|B8wv7hYy|JAxWkCb3^Oc%YA*bucbQqjb3R2aB_s zVXQsz#0ehSj38^unIgd6s7R5Z8`cuLjhiiY=**cm%r+v*=V|ZX@+0q}vdvZ)0s{`x ztC|qg|CMG1Cd5uN1~b7rtN8+=P66gg=(j-(fn|0=E_AV{8q6_FA*RCT;KwCO+lXWQ5BRW{4D?{Hb9$%ixn>Z4sVMCbkvg6Q^8 zZuc`K%N>QwuIDsA*SuL7XzSlve!7=TuO|U6Jjj0|jbqj&V@7;Y2kgi>zVpiysV9i= z-@SmiD0lFu{Lci~)7?_Xf3XSuJjgBR6Yr&;|deHTdVupACz+ z!Y^yWW|qnl-hHz)_|Ny!IlGw=5CHZ8Wca@ooSa~4<-rJ(mo2%Vo5RP`!j9<8T9p3~ z@(w-BPlBW>nDlScpx+@9)kVMO%Xs;3P5yiHPxt?P>A$4|(Gzx{^!-n2{GB$xpSXqp zL9xH;><=qGU!*HOc+_t2<4bo&T3%K)@~Yeqc%vJRdhgc;9nh!xdq<%wZ|s56=6L~3 zQD;%G<)#+#iu%1mQz8D{nXU{>vNNC4a4|E&X{}SFwgXLr^ z6WL@yi*J-f#t7VAFzUu#swS=REz;exrHWsHL8ewcr*Cw}tJOXgh-*fgdQ}qU(z#7y z3v=;9qD`y>s$rC_HwUpTSYDBYvErjfu6p3QNT%1Y;yWjR*VHw$mqBJoFKb{&P$R)4 z@|tB^PmhZ}t*LFP3(tv_onP94vHhIX&a(u*2iqy2Wz&T?`&Ls7p)$_`t#2k-xd1P( ze;#E1Lx?3pbJ6l!^;CgLAW)<6+!jdR7QsZKjaM-Y<}D~l-~MMA{!c#n=c4|8{x3H9 z-z@NdxA@*PpflY^g_Zfs7N#?S(9gQ@m+VSq5}DxnMzBjAERi6e>G8};q39bn+|53D~jQZB{{KJP=1qrES~FMuluv}xQr@e#@tRlRB4xDGb= z5GVM&1Ba{xb9d0??0l#{H$k=|6Ru>@2@aD<(Pn>e3c#OdU#uO?b9S~Vs7XPQgDE*v zd>)Jv2*^-5fM1-65oV^GMBO z!|YpwSoH&bekG0SF!_G&*k!-jL#V<4A)S3lU!zc*Ak&|&g^57PHy|zgq zx_HZJ!DLN^?AxnTd~8WJOVa(_8_2``IH>goTsaRgqD87afKj}y{AuGYF@4M|QjY=L zb-!Dz@w>Ja?8gDh=5atNp4F-mTOpazpwmoQ=EH^X{cagjjiQ_fXZk_(T7`6@*2;?o zKc~$dcfeBfk`eL|=lK~U?z=sJJndif=f#aRHCK@(HyEq-tzlnVg7K-P>N+AM2=%~p z-by>5s&MLxAO?Vz#q3)}aB5`|z8yEFnqr!(cfc%Je*hDP%v)OUe1Xd>JvS@VuxX1n z`A>=W|I0U9wS@d+&zx>g54|n3<3(pA1}0p9NfaTr$snw7Ws{VRFXu!c!cHOzmlkMmm9B#+d3GT|#@Fe}K)rK;2oSM6PJlGS-J z32VH|?tn=BKy3>GuvTV35r`^1^DJBQ~9M&j%Dd%T$DWFo+XwXu00 zrUCAT{jEoS=HXFaA55 z=1)uKe%C{xG2BEx)4v&q4B;2H1*BREJ{Luf)}|Hth6|B`51aWmjmvE`@FOA3gbDbSG} z75Q(Ce&OD8N|Ueetb1Zf$Msb?+3kBg;gqQ>Q5x{6XM4`gugMTHDOFKpX>wDej63;# z)eq30RW*BcTJkBKYJFeF*ic-}-U5TXe~A^=7QOs>=W8`wv5G7xhkg5gNcm+(&m;Wq~!!@BM*_&Qqujz=bx<%J}yF<7$nb`$(zXw zrlxhPG4J{sLs{Mru6iTQGW&{Jr*)_H)f1w<*MM@gdi3tl=Rx}I@QMw7OF2CHJ>{g;PHo63B$x+Zc{3l!e^ zL}%(hok35a;4jw@rLVK!U9wYP!zCgQZv4-i(C%zT|xG4 zzqg3Zw+rl#p0!`HS|3Zv0V?k(K6j(cQXSN?$~g2oqRUVh>r_GhKDjWBQTTv2DcIz) z2(_wocz?ST>U9&bKW!xT(?O?H6m;Wob}`!gJUl7%?8BF2`n1OgzS>`Ea$v!>+IoAY z>7If&A~^%TL0=OojVM+(aCE0OR+p3wn91p0Nozy6@qLyTOsBi`xLJoSzT%@rb@Z2M zgvVRrKKVhPO43nHQdNS0$&j|^!yVez;(_i^2A^)DH`f`!3Is1!KEHRy?(O$1fom~2 zlo#gVrm7>MmK-rMuFvt@*b|wvzH6_y{M@0K+c#l>H%)-Z=e(is`B6e5c{|(gc+_cp z^^1DnXHLGf2GqbFofi$%%*;qPr$c;pmjMBWX0^h><1{VSmJ3+n9IhKLS&X+j!f;Ia zeD02eS@Pu#jI*4U@v$)zxVh|~><9;e>e}ea^Pm0!J~(^1*PEk@;~0l1r=ZpF1g#53 z-tEo-t`B4~INY0b8s~yOyk@@EQj5T`Fz=oQ0}u~R|?A9rK)@x-N>9*r)0d)rV{64 z^B%C$C_1r;iO5EVh7U=n_LrtV^z(E1IEmfx-g07maof)An>t+ZI5JrX`@^mL7ka+H zCMnaXf_1;xbMyAUJXx2#YwmLgPhEE>f~#a@&F4x;fwa5b=)r-FGF6%a>%$Nf<$dRdGPP~}gNARkvMX`Sgh5C>BBS7#2$iqVscX51IsQ5|X|W+f5HS)i zGn;?oFZJW+}Tv&EH_6ic5XRkL+d|l~RFrqVmlI7J}^L3XS5r>@tSXmY3Zc4R=mfm{2 z$z;gefE4$#y*>8q1D-jJgoI3tvu3M$`A4<5LF)pYiB$sCU~7T-o3FYRhC&||5MzVM zbqtMoKIILmv)a!!ExLbE;q$AMML{RaZZk&*&~^wS-8TZSD|w3ZlKS87a#_Oh!Aly{ zd{lQ2%4GtMZ%5K;;#Yv9U#;0DRJMiT+w-3~2O6D|R{?8&Fs4kO(%ioae4j9P!F_Mf z#$vM_U+N*lZ;LtHFc2JHI>YKQ(&@L^WY_22dX775@FP~5>sMB($5*m@D-YSS8Ao({ zPGjpZu)p2FuH96J;(f3b5567TJJ?~LhwIHS9EL1u%?lx~=dw=I)2fl~CG&NXJgwGg z?q48{4A8yTyaYz)(9X~e_N&%wxwD(!tkbzYuq1q9VLdGOj<1gNS4wAH(1*r}~E)AL&*H)@F>3@?xnJNbCMSW7 zQB#ZC`Nq6HYMXw)&$tbMa))#X5f+Ll_OUNN9|UKsI+#y^=?$`_=m{7 zj1chsS`V}7Hl(=<+XjzQKj|h4FrUnsUjbE6Lmnfba4 zjP^GOJC8iOsI$P+j8PaxGELM+ZhwaAu&=jIMLg$pjM>SR)Y0U5oj>t;K9!Bp<5(p) z+zS%eFTx=R~}+ z^fEF%EjS8tH1IC5?t3hHK{wRlKKdH+b+GTp)@o&>i@&NdR; zKBukwVw8ie#%rghCcE2*C=8rq>y&iG6N}R_12iJaj*d5t58V5U-}xY+RZ}W9+|{=0 z){UBmfZ*E#H|Kp#Y=ZvWGSfGTm1w4W#eDlROxHxU>Hgk5!5@HgH zJja0Oz@cB%Xr0h+%24>s#X8C%1SFk`7pzxT$BJTu{T?@GcypMsNl9^W=T|dTb6!}6`88>` zvY|9&zCp&c)5u{SOQtzeFh-)+XEUd_cH+a4c9NRT=^$7~e6&)C>(TV)5Oi?oBH?s6^bFr&yhMo;OPW_?KTZjd>EJ3AdRwoCy>*LLB zt!2|qfEzu%IQ|hNbfst|8s~FR(y|)|cmpryUb7>~*KK`) zVzq$B>-94a;2Jzb-FwSceNqP;tK?ck2X}YMXNyO`+Npg4grpGjW*`c3@|25dNXLB2 z9j9lfpY-srxW@Rh`C^NKg^pquA^$G=1HO+s`7L9bWd87f<^pg>6uaHZx4oea#11%6 z8cTiWHB(Sog&dyN;MqG@p^xD(BayZNbNXh&#I*Z5j6JJMR*TWDy+^X~G6PY)dWHpt z2W~(x{ez4KJ*jDy_;{G0%WGIMm|=i>f9_+KO*5_F=cik*#Mmr?l1Z(BgSx2A!f_nwZ|~Dn`+}~K$1mPB*pCb?0{CC`h#|3onot=spU~o zU{)hZz3ajE{g-vyji(8RKjudk+)>j}q*EG6Z?&g_Dj6NSDx$_R^XMAxmAER5o1J%H zrmOEwPk-sgoX*5Gt{s>Y7k8Lw5e2 z!f?JHmY{Z@H$65LbscI8=R2b1;0hhk*!8><+f|Y!m(%{{)TdXDqm8$Q^D} z!nv;2QODERlU|alM-FVh^bcLg*efprDI}*{*nA&OW;+8XPHK9xn&)c1lp=_m?Ie1f zcWO`9(=~qWVePKk1ZgzH!nGnt4H9Sb%WO7%Xps8?z4c=xTr=F-t!)NaVZAa&&w@0@ zvZ%1&FWTHBrUJujSoH@M;eCx_7}R85^&=tTeM<*^n^sCO$yJ6aXPYs`H8d?K47)beIgU>aUNVc6pz_2+e- zjs1HpAVQ~WHqP**Q})EXJ@J|bis%T#dE4fedFzClF zvSp`FjkgpxNDNy@yz$wMV;m7a9g1cF-AhwE z(zg!z8Pm>vVXUEU%~B5olWewiG92d+Gwxrq&Ci>P-qut)tFDAC}y*8oFNa(3ana*zpJha_qgUs2t zPkS4u&Ua}t2D)7>-KSZ&VXI9Zdjk8wGKt_{r*+9-{3fGYc`9m-0q9YYMK9OmoiqSJ zYIyQZw#?Qknw0a~%I}z<5%L6|y@4%f835Ubag%Mn^i!i*bz)#6lF#7rk$#8pnA1Yw zc1&r_?r`8925LM{d!4~L|2Q?TdVp2r^222J`Z9(ynz$Sf$!vY7hTx*F5ki=Ye!wTD zG}h{INcwPWd*ycC``A04=eHJTp3bxR4-wyOU9=djF7UVJ z0(UtMc_)$sXa&_@G!)7{R`T3_ov2GU)Y~e!rn*DXL=|6d?Wgv9uViMaeJgcw!DKf5 z5%eN%pG_my%A@kwDr- zQiNf2tS?H0o1IMFOE}pMYsr3x(ArWVx*c`bj}~Rrd3)sKHhGUh<#6k5S;{JO!uUx{ z5j``)xZCqWHaOr-rhV3Jjv~(`RoC6g^2x2;&=}+(%!ezynnxmW^ zv$vO`s>I$hQ7cPBow5{m(Q!qTq0V|x-KECH(NYRxD!f-TDHUBl!)NI;I_&t#OwP~! zWy?=$iWskacH}abN$I-Yp^^}h$*-+205_vVAqYu$S94nja!W(!-j{tk~#q4(B{Pw|fawYKf!5bk`E`R_E~?CP~*-2<=P9duu$< zDO0~BV@lPWZRQVYD@L?4I!$%Tw!GDJemG6A6!ps=)B@w~T@bye=y(`EFLt@(S|H@n z7yns|}4(9AiU#In*-9s3L_3?H1)(Ac%F^=jRToOL1Gbf{I#mM0#9VhO^U zy?$LjSL1}Hh;Fv%rYYGbkl`tRYNdw$SFrZ~-kp^ui08d2z2nl6`gNL}#HXPkemJIt=BQaOViLQE$3QoPv)iKgB0(EF;A;YQ8B;)Q()g}PQ zD?UaVe>~ypmQ1i&Y#^iw)>Av3vD7;|F&cb<7b-V=)j{YXHT)_<71W>{9Mug9*org> zlYU8VJ|?9BV=5(xzSKPJik9sk>3~qN>8tl_x}xJyLBQqXN@jKSmpMW2hgZK!H|Z9T z*DI$Mk6&!*d%lZZ=4@!=U;Nq+Fbo+9h=2lVbFZ(A*R_x zlDce(X3g%U+RQ#iee_T=^j4_iMn*)FC+SX6huLS*+_oa#-hRQDwpXB=+%_?c0{QaB zCP3w7teT z95?CbwwQg{Zcg{giRL39D}2P1IUk#RrSPccYU*xs)>tfr!fGQm1PZcsYgQ6~Kkz$jmLnz+xU<|vkh$sBf9W)Z}{n5*Ddctr>}^)7Q5HkAJoGs0aNs5-%Q`=)D-vqxZYO zCc9Ij=nf+V6<~vA)s<~z#G{}AO#W;0d<&DT$nSK3x&qNgkFntMf^{(6PJ z!)K`C4VwS9I(^XWmr2-&N-yg6#EvS!{JkVbYTL^1SrGy-KF z8kWVKN~^jL0tOGkul{a#%l&?e{^?r;c!$10c%YXCE4}~@tDBYTGbwoQ>4q(I+Oijt z+RX0n5kN=nH3@LpEO%xsyJI00# zx@Y8N;-mx{>Dd&BG-joPOox=8_8mj2p--0>yp3;0E}8y<3r^bK0f!N|d!3XurD}!SJWh zC#a~}l1SqF#$zsRu!6$tUdxEOefMj-iA#TgM>*fvZ#3Zd(o&$n73h+=Ghrq|M zpzuqErg1vJQW#f1Q_p^Z=Opy&vC{hzaCn89ZlD2@{KnB2nzn}TlQB-!Sg>2(^2 z?DqB`C?0?ZiRfH|!>t9&OZTKi`p{>e1)t8gGu7#2+S~yK%|k>H)V%v+8*mV@TQ6Rc z4voq&Mg3*p(`$kDLw(Y#Yz-ck`!zxP*ECEV+Su@I;_eT(f~Q7QLyzdAXD90!BF{2e zUFg*IAp>e0D()AlSj;92T#i=(aGC2lT#KM;4y&Ph$`xTu-k0C?{Gl>mPvUlA_hnqUG$CE)LYW>9jWD5&Qw#yjNXUcjw%xn`4Q80vV@Va-)Qlkd6sKHcCbIE> z_YHllKeg|{7@wxcWw42{v5^taMNS}YqvFT0JE&-vg0dAt1YM+;Vh?9cyK+;$$doB9=zUh2!|H_{4jsQRH$OlhBv<<%_~H zUm0oXhD6gzb-yZ$;(kHMjlt>s`Yr2u6chi7&(Y?2 ziVMYh5^2_va#k^TuK5xajpcdLO!ds;lZEJ4-8C3r>sO5E2j**aA~+25e$`NW&MXqF z8vxMk={#0USQ0sCZ%-;CW`Z3)zrU6A#pQYtb&OGZb|!U)XLsk9!)YW8`d_Q$UL+C@PcyZUb@P4m;P$RCMV?6%wSirEg~gBb$8(a#Is z{$z$`Knk?tRLcR~TF{t5Ti`pl?rv9ryVN%}2ar zg~zi_^-OOE{d;-}3(dAWZ9I+>`J?rwH~gdX$P=wJbXx*O+NEIdS?v%usynN}#%<|W zk3SYgdm8PIdpe8E;fL_Qf8LZ);C0(LxqluC$LpGeAwRjAf1=K9B-YE{5MxpzoZUgI z`kge;H;kfqm+jz#U!TeWzZ1V08?%Q_tmHEyUa2OBHy1!yO&}XbP#QY8m@Jmsckn^q zU@%-RE5xfS-5}b;@uT?=WdxS>n;{MV4f-<2{+!&a?gOtkxk#+otbG}`XlXx7r>wY1 zs8=}@8ZiMenmdG9Sa*aW4``gagefyalhuyCTf5LvTsc(p4kN=l%i&MkJQ}~Ev1W4{ zsZ?NI2ics9w=b3PhT`5JxlnoD{|>ene%)=8EyA2H^e;+qm@f1$=Z=vJClrwv4*asC zXn_%D!3DCiaIr$nWCb!qycZivKOhh2zJ#+eHr**v&dv`IG*3{V0%iqN3XVn^LxPG2_+9UvMIIi+`F!{rb_?+14LcjFZ1(z30FDQ|!5i zUdbJu76>JRTxb+PHMkn9s&`3A5yy|qUD=caYAE--hNHd$7;Kghlv4z}D{<6AWuA&! zkVaEGU|CZv)Q7PN`ulHu3xPNh(oh@BwQsr6mD4j8NvQY8HBwp<^VZq#TOSX-gJSAE zJ)5C9Vw4oBy#;0JOYjiiGAjO<(_hRQ8x_pS)8nAmu1BeP7%;LMI&2fl8`KIrN(SbQkuNoyDERecWEtxJrSv$bdhRs3nKvWZ~m2tM-Wj~5?3DPn^3 zMbRRjjm&PUukYP{1k=!+=ELzIzQ>Gz{JCD-Ti$wF%V6qWb%3u(mm%;mNdl@U!Q;^1 zM!Bm)2tKWe+!)4K3x8%V}edKO}lcw0N2dG z0Amz3_lOW^-ebuz)?_Pr{#~ktZl^i68)T0aetBucA&*Nq1=`eQ@kd{tLDgn(j}egd z{=qk`5hVsx6Bm&T75%KdevtkPMRB?(ADU0hePeg5qnXTi$7=I^ddQiS_ArxA4>l4g zoJ$NTia4QO^Ib->;rTT&bz!}vN{tPfC7=uA%7*70!F+&)>uI73Tp_A@5GNjZBDHK*A`=fY2gD^pTzkLex;6H>RSA78)s-JKJRVAFI%bAA2wp;KC& zp1Rxe6q>y=37YIHR(>)ITLM#Z7KuIP11ZHOZ$h5yF3=6G zlEJwol>7DG;*5mr5cqCHo6v{QtAHSr2M|ntkMmJDu3gk5C({}udpA7c+<@}9I&!d1#3a`aNqumew zFueFlZ@?ACn46xE<7&f#T%$3 zkkaMKs~38y)4J`ueN6+2XeeZ`!I=dt+>F7t(KVn(*P2zR6LJW z<=U+_t>2LA%Ik8!66X=pXrT@1U?sRvIyK--o8o+xt)F>D%a&%7d`dAnh2=0c6l66Q z$Y^lL$8tvpU7zgI9Vz8GcTaUa8aG=Pbu6hncHIcpf-v?22Jq_hLJfmc0pJja+2R&g zKTb27ODUZj8_#-Q+B0kp?;hsArGx*EdGr6ORjmlbHt3sy;5eW?!e>iSXA}CK>9+LC z60p|KvPe`-<+Y_4e{8r+DY~Erk}YDS%OcX=myf<4gX$LoS-F3%<${TAgwc2`%nNq6 z00EHH4jz45($}puZ^)^c5xx6ue*hw2f}baV3=TS%$?%dQq@g0InWUt>$lc{=;`448`_m-AOwqLuipx?^#TdA#4cRV`pQExE6PAR546 zxh@iY`6F8(7he)`_&%oMkdI6&Xyw^{=S$ z0D`!OiUNn0Tr_XMyDTgol9Mxi@0hDd#AoL7it}`%8g6-&zp^lLS5)RJ>O+~j z%V{oTDHr4{9fW8rg2MGNm-WQrDr?ex_+tDWPD(eAn(lM>de456S_nm}f;93BsF(_= zsbyUj)m+bEo7mb$_s&uS3Bus{QyMJZ(}>q=5Mt!8>P=e~zT0m?C&mWhy~~||;BmW2 zaa=;NAnNuy><-#CalJP!D{K@cJHz9*KA3- zqrsE>Y0t@lm+7PSQ6R|=|km^J@TPTjM$Zx>6Tdy^@V?v0dqxGD z7>?r*eKREc!~P-GB|o?%4!t@?b{u0N(uV^91?Q6Bodw{Ug@5%9Rq#{9r@Vfx3BWlM z4g;4AZHmdjYrkpzO2K!BeYZS)o5kqn`|2Bp)Uc+a<9n2p3jv_>U#x*G2K^SG;lR;0 zz{ZF-P>{1z@K4T&CzC!RDF`MUNGHbT_CO)exMzxRl7K(IYq;Fvf|3vy_g}-5t48P8 zUG2Z#i@{o_l@sbyJ&aWp{t_Ll;<7O}p}czm035QZ4H@0g58Kl{VURqGlMuYy09=#8 zY^&P+ci8oTowC}zALj(62(+3cPoYMOUSzv-BfTYzXzQd4miq9SjW8G$kI7)+my^9r zl%54Q!!bh7aON`ey~aiHrinLvRw@lHP6lnhFPmLjfCqG@1^WSA1mFO7IcC9Ie7n3X zIAynTMzJl=D)r?6hgiMEJ%JnCS?f<9jDCUts5rk!QYy(bsybB5#NsumQ5~Su`drfB z>Yxj?!s(B8QSCjd63K{CUXxoCkmRFqA65=eJ3$!Jm zpsHVOfbDj(3Yk^WhPZT#hoM+H;qjCSSa)+LRj2wc8G|FS0__;x-`qcE-55;4;QHIXu~%HWcT9G4Ko zB=y1Nc(fGo_V;kZqAdI(R4$*_K@n&XJF>k)ob`m4zVEH!GN&YNrx15iW#VEiojM#_ zhpK$w6)FpLo>vp)3Ym>eJ#^WYs8(B_yNHSZbm9N8WTFCTym{yfK@nRv1M71=961`v z=auC)VbhDbiNv>)7IPvn!|(8#JXtk(Hs*yubQA7(<032_ZeeUmY@zC>ztA_tr)t#e z5(4Utg2QHYYmY&{zPu-*(C<~1-V!?K;0enE1>bXM>&u>&`_Y@V*lvc7!8nyLK5d{%}XQ!S~*y4sXqdBau1N8e2$ zeS!C1=;oXRR2V(g7j&hItbg!7B|JnAV3R%OHFq{bU(H#Wne4cJ!7^NZGblo0GT5-x(O=T_Jfixzm7aMI_^sC>1@G+ds zw6}buhK^K%po^NpQ&Tp!Mj@O`Z(oFhdNRt|Fav(!_8Nm8|G1lAe0K|LKn zTfFi!<$``nfNq|1`U%Bi$yU<$9gAR`KGzqd;l4M_+BjlxN%X!s1XR5o=~FZ&TADp+ z1@)}ou3|XN0 zayG)<5g+_t!iR6>Gr?rw`g*!1ym;{1b=>0RtXGf2PY+zQ{imemKa(&2x`Lk#xBmT< z+kc*3y49=CY+K%3!Zdm_nfmns??FmJ;)U3m;y%FNT`;Cr37a@>8y-&6I$Q1Ak~?_@ zwvr0?MQ?&SqWFLa4ryAN$Jdkt^m)KV2>rBRLW$H_@!=VM?kDfSm<*1fQoz255*n6mE-peje4YYD{&;*&ft-({$PvK@-Gv|x z)Io6>84N`p<2lO@(53@?5xA_)z_M4j*==UIWz{Su zVRyebUt5IHsI-@yYkO8Fl%3rbd9fwmIld$!7h|kV3;xW`;=S{Z%Jm|7=5$InsdBX3 zh_67wDPe4an?qP;takBv^*+lhPS-U@PeFToiDaluW@h5W1}~eXitXWXyuM9ZwMOf< z^f>|cE;nxP6HFX_UeH#14rY&XGv$0_xGn$|21#MY`YaxQ#?%?_wZlfw*626d4b%`o zs4So_!DWli!3Xp_TXn2e|`M%MKjOs>&&B&D!IM;;E#4|sYw=7 zhp8Mc>%Te(M5S~2dVkEBb%)@|d9@yJ1f9L`LaV4c?tvl0>#^8()PhK7ne?dAL$?lIGKU;l6 z)_95cJgyw_y}~_FM3Vg*+fb?l$2u7klL*9WBH0S5_?76FWQ6cEMs^_WdTVrjH?jt) zeGWGeE*`~6-sXd%qjAw{2+vVJ`4fAFVt+U0?45^Z3`Efj=dl9)?N zpI(KEk-zsiFdtj(;D#Eu;#?z&X>{9#;+DH4Cco>#Fd_EC58fm!Qg4lM50hWrTqbte z<9&PYD^)q%kV709yxYY|xCX>0mzLilvvA6CYjL>{#|0N#b{L!YZmk?eRBe{V=TC!% z#h{WIjb6O8TqufwU|Niu^8k6)d|%RAtvi1D~b8$H?_Wb zxh;QQD*5dvM{xnV)dAOGtb*dhQOw(C!!oeL1zI&_^5=nD{S&cIvE=nxh<4vF`X%GY zik1LzL+oKuP4wX7Nu1_Rk{+(%NG>tg3u@{q8weqf^WvwN+%E5vHM0Zt77m_^==GFg z1D9=%PL@q8PSm!>F_XaF4mS|zW#U}VPsu3zv3RfbmE0^%^o{l6T4_RilqsyYlOXr* zZgsJGyVE%bq{{=oppb{tb&El$C3c&|n4{wRIeMQ#pIvP7js%t&LLL`jG(fQ^qYI1)suZcmQfRB15bU z|HkPAo8JI8M(h5{;i5=%4P}ZSH+`b-VvpyuMbL9tNrmD`%MMo6@&$$RdY{KEa%Hfm z|DDT+-V^IQ8i*)0>64hE)U{Z3E^?5TmP`P7frh7Sg!{atadLV4G`0OIUjY_};vrHO zNd^{aVN;Uqg-MK}g1q7}LVXP4H0B*1AqLI4TBZ5L=X}}L0@B*qMm{ZVuM8kihND~W zu1HU>TQ3eZD@$4=agP0cS68b4KGjVB08YR1lK30qFSY{(h6nIR0|fMaM5x|1IZ6U} z^l)|PYPO#`W(R)CQ~@#hWHrXL``Fji-#$kD`Vezu=uU|v3mjk|<~PY0OJn{ZLPC{f z+vu*Y*ZjYkfzYJNj43u2+%v1igig+zFU8A$ya>CCCjnkb}3 zBj7-Jth2iH#sQ@zQQY%~Yn0ka=N3IEG;I-`);5>UUP{i=T<3;Ko?0wmJ%)sk55Yx8 za!24ZBO$EdhkgGgM!F6-nxt|~A=5y^FV)Z~?Svr>?8kFPXr`4!;ogeC5r_#wnwgj~NI4|@~ zBaix2&7=7?KUv*MR$74EXTQR9_XFN^Pb%B;uPjGlY;As< zs!(THZEqr%)(VmKZqbw2a19RFT&FQva9PC6_H0v*erv2@;j42n<1@fJDhCNJbbWXGxMla)ws}>h<35e(U}Jdh0FM zlAfOKuI{c==j_^b&K|0xH4iaa<`dOGY#8V5CNEA^-Y@;2mWRN^X!Z)}!^Ai?0}9>n zdGQa1*svbODd~k`?Ala0(`QOU7P4jhfv?;}E-Lf?TCx1^TR_wYfi5Pwb{3Mnl2@9) zcnIIl(jjhEb=)IUR}}Nubi6Jq0#EPNr+|Y@O>sUuYTDaZ-Yoll%I;v-BL(6xIE^L(RI(49)L7^y1AM1~i>~X?fncKt-Xsv*)GPkVcXu*!FQwA8;`(QuWvFH`uF;w-#SIVQ$POPvoLr|%MULJ!)29|?)L2~ zToKneoTEN2xPG^aS!6qvq3?S1zV9KSyMZirBcB={--g*hF~(T)5Ekuw(x_vew(%yi zRgUIw^hfyA{?pS$dNr=*3w?_?LM~L=rAE4ID<8xq9v;g-qPY|ob@j4us%k_Z@S|6i zTsrp&c$e0F%#yt*n!|386?`M5ncw()gg}FcN&%69wj8R#~bzX@jWB4*IwDA`G$4Lz37^Jz!my^cK zzErJZ5=6+1j!7UZ$orRdaUt=eTcK7w>e0r6f84lB^KyGCL~&dP0B=m*8!1xO;vRd? zOf?tMFZD)BPFA|iE-+~fSfay$Rta>&d4)@|>uXH3vdW0P)$7H0$bh(fRCW)aimw@? zG&+HIUz4R8#b$L6MVWTtR za!B-iPXdVT*=3!aGo}*5q|`!{!fuC`B3RnYwLzLh?3L?-&9gQ>fn z#R&bjIH${co=g&t*>R%AEo~}`;UPvwkGxm2eYZ4i+lrnSS1Yx#Tgu&+`2H-dL(pR_ zZNwN+U&rKYF>q3L7sA7k_cDCkBQni3T;D~GzQ%=Jsd(dyOL$+5#P`6op-3vRyj@)| z6CbpL#q5Gyc@;_Ztq9Xs!cKnLq@V&Yrjfo2c7qJ^-3h1YE1AG4SZA?p;fc-r8u(_hWKNR*FP^%!U5H&}+Nis`b8B1`C zQbnH!>MSoG@mn`P4z2pAFgu&mdP~zL_X`$&lmbUjn21<_N^ffq_c!M#<$kKvN5&?D znI}kO@{PG|op@JR%hmN`=dfYM?nKmf+WGfgRS#Ics;ZNGz&d*;jZ1usu#Go1_b~ki z&+a;1G_N(AC(kjDoKsg#Y;zw9DZlvuT0W+nk}NA760SoqhvvJnjA3~!hm`<=fDooc zPA91ZGe3)jgsZX%T!SBl<*C^^YcxzF9;Oz6qDr--+wK}nvN(rg`z@bT1p&|XtEDqfS!@`dn=Se7X~V%#|&UoG_|Gh%q$-n>`p zOS9Pr06@Z=8>N-Dj2iFvvP&)Vm@$I)?LJ4XMvZJX4He&vVJAtwKh$;x-O;VySjLH9)kB9 zjhIZPy&^D!O%{e9Bc3ZDnG<%SbX@=*J@<9(`)nr3uw!K@pWk|qP^%-pd#}h!DeiJO z%{?vdIdKelpu%AMCs^X?wHdR|i^oD^=13zdYHD&_N*mn@J{qZ@;KsOX1Bq!2WkeQ1 zK!qMWMY!69$9OQsAnuv?&{pb~;`jTfSn6|rkVB7nmzn2SaHRBWT$yA)wbSLjFXMXc zb37bL64J_>ZG)wvMi7N9dkD$*02zqY+?`}kHy8sAci>bBBId6~b}KU1M#h^4vL4nv zT}e#xGZ^9^qrUu9RsHoD=LuSFP_eU&D2rgxsaHbLnA615dlj|-%FIr;sgr)|mIzW# zIOWht^pQ^R2D zT^Tyf`Js3pt;Bpipg>KIi;eBh$sOkJm6%56divHUI3{0oNynAZ|2F~XS1?*Y#^LKA zPBuGv+9NqnNlBS?n0l;3o+}6>kn9h-wo!lH9Urp8S2@TkPcgY*=&H*S!c)h4q zuhK>I=qLh(@Ebm_52xaAADyMgK1Ka*@eszCdoQOBidiqyK;B4xWk?a4FG;0P-)OX^ zy?t(gt)SahYU9C7Bq>pR`D)k>>O?vT6jWEN8G!KGRH5;plVti zD`fa++0v#vW4`u?V8mm8rTzU$=>0XTNiPca1-^TxT~1>{*x@?`%1+0t+-D$IwDeoDN~quI)gO9d+k3A~ zD@x)zEec^hgYUEHhY`6^fl6cR!52*2n%SgB7}fZtj$N-E;zwdf}Sf+0}9{fI0@L>nG6u~7jPauTf@W^ zU9vBg68m9z(sdH}B>+_B_*2t^Ot~F}22YXB`WsO?F4Wi9gc*n!ru!RY-nuM{Nim-+ zeeq~zW*+3pa~*ndZ9?iPJPp3ux&(t&WD1D(> zUD!=xYhsS=$WTh$GV^cH%eIrL+_Rs6swb$WUA-OqREpGYhVMI?tXY7{1Ut6=w~YW$ zp&g!8rd~KEqww6UEtiVu5y)1n`05@8Et5N8)2+o}h3GnhY6$&$(L>FCpX2n>)cTXX z7SY6PmkFk~3_G7>VsScJ;#qW4vhYS06vQ=ZM~L7Yo;DglQ&-Kb0M7%-YuUiaO7V#< z#*@W%)=Qt4`B!&tbC*%L#CM&IgeP33juC2QV0imDL%?gd_~EYnQR@K|*St!D|lt@czsG@>$oIiTEM#!bdy;6V_TJK6L`;6sbWXz~@+m4lG!|pW& zBk2;7>1yN=-22><9^W)F!aC*Kxo!%3>^@YZ<~FBQ!&?z}c!G&;NB*VoVPu7pWGsexZS`0*CFZ@Vt;P`X?rUkOY7@o|d#Nu?nJ z`)*D9qmU*_dF;R|^;BN?+7*rx9pxyrIRhp0g}F$Aw{PI~yKihNF6)>vHg~jIS~oty zxin|K`0B|Wl^Olq4LuRaf!Y)U=c z#BOP4!KLAq5IH7b7~2whT}96$zHuCmd`R*>oEcf^Xk+o1dTu?%$lib=|5V#%>t*|AUie8x2GAW4^Vkh)a=g@Z zbMDm(kD96ax22JiZzQHLy773EctR|A7U&FYhOhW>aOT86e5It@!z2sV1Kvm{l#p7# z47T7~%FP@uns+T-vg?hLr;k*=E0xF};m~=ub7exRzqN^;k)^@3EDdLcN6qBcJo|+B zPE%8sR*8o>3P-mYkTL>{s_uMK73SwFXv}J7I7TJe3W$q$=$gdMVrD0L>Nt2C%6m- zw7YxP`OL}#esGA+MXq?IbRM);W+%3~fztNSj6lVQ&KpZq3n9z#X<1$REvBUTBi4sG z8_}fS&&2g0lWidHlwCjaMOv>~o%1b{4<%jw@Qse^A3@dT10)zdBOBcbsJ(VmGfU4b z2ymtnNP2mQ$u*Qx3aQkE$EZ{eJyu0$#_PG0U3TnZKJ12kN+n3_rn@u<)2J}-taWXZ zZaL-dQ%>bkVYo>iU)Yi&%5CkzO=2Z|ACz`xX}_^5jgP){{j@y|?k(l_VraVNaTi&~vU?7uQF=y?!UrX5#@a^r#HCxI)17leEUzr(hh5 zrb^x8M2EfM&<}N7XMW?1ZB4RFi)(`9n3)9qAS%!*w`X+!aLZmW-{MQK5wsP!i)FNz z${lRE`G!MTP5K#K9)CJbMNy^CwNDEP0_L*=&kD)TKUh;s^hm3+1OY%^O7dc#BO&S5M5*E%@&?rY(sh1#?^ypqdr4V~;l>j5HxE+S!G zb2|8jf{(^4yl7B3uf}x00vI~i@$`e?w8nb44LOx--<+9~BTjO?s=Jk8macl^yB&^N zbfu>1JU;4}&?d^6`j;AJL*5z3M+;J$!=RLpPCjTbDc~SO5yXh~B z!{~qLzTABCb~MWV42G8Jw=QIl$NxM;kwe!XnVm60>ACKaS28+`vYgsNwSk_Y5Xx7+ zBFa|TKKhk^Pg=*BswKSni`I-=>?b1mSn~vBY{*R6r5Jl$uEP74+U^XwSH3jUd1-OQ zuOrtV5BG`9pM4!{Pzrsdlp)N!M&opYBDNanAUqX&=n!Wk(-%aSreID#l5Y{0+h=B6 zl%6DT^p`&8Q`V^wPM3#;cgYsGg^yF;>y(R9-#o|nHFIRaF=rz?=KOn%>Vm@nQ@ zbl|m@Gdn$H6f=#d#HFa7jWsA=<-Nz{wjsx}d3=+;L$SwrdYtnhkNHqcDdS<49I5Q8$$X6J^eSr&U+cM zZ5dVGbY}-$7wD%+>&LS`U==B%nkx?4pXa?wk`#nA0@=idjw-pXmFlAjzB{zwTa@~( zwh1&2qp8s)0u@ong}lnJVYo=8jt_=9hdTtFsFv=QU9rjYw&)wzlVI4!Op_?R1xVG7(S*ZSudSS16~-Qz)Bt<}Yig?1Z&e>mKx zSstvp_47VF@RGPKmfAx~2HH-)E9-X0hJ-3ty6$u>wk|Kpgl%b-dVMsUdHEv}1fsum z>y9vC8#cYWOguW1zj6W6Ln}dMW|P<(O>`h{Kt%xK^>v2&4kQn)^?*8dq5CP-ck>~o znaJ+0$OQcm_r2LI26l4}m-_vD%xol80rVEt$?xDg9@66?vs&>>6K(>!=Fz2pj z5FkY1Mt3+Ue7)6QJuKV!mMme){xIT{d*1k}8>@m_d8#1^APTh$S9-*u`RtGmzgJXFJ@Fl6RmNfLa@VkKvDv^6dhh3jF9!M za)p?kOED*-ENGviSdl&g0ti4LP@C~F4lfXCxP4wfIf}M$8>m)1s$O6|8yj{&vTmVn zjxrH?2XTD1M745-Dw(Al;uy_$r#w$|6+>hIsS0T7kD_Un$clAu5Hu@}q6Nz_u^@c` z+N&hFFaeg}a&)-!iUCiF^>`yp$X*LS9kRf0T<(GYM)dJY14!LKqpSBk*qqd>Q|sk2 z+Aw*xe)7hs+@MMr1MbW-y7mLqx&}(QBn%H^YCLo5%`K~bBj|zVo)ERN%Dpq6;?urW z0ZMv>lTiY@c89GjL6V74b)vN;l5W-k6x>yZkMBIvNQ6n^|JEt|rvd+D@o{uO`rIJ~ z-Xh%k__O&fSl-~;^{fn2BjNH)Lw3Eo05<)4O1H(`2(PTnPF#OEpV14k<`E<~O5m43 z@xc{Q?*f z{8R1E`VtJt3SbgK>v55)-2L^Il$I!b+4S>c4-2RuJe%(VVUPt2Cm|iH>$dU9O1O7W z;5$C#@9HdpE~oYGg)XPPNMA6;Q*@ZTSFeiK-~bXuS$cDt+jMh%gvw+Ym9KPQ|FLB< zLR)vFHr2v($pT0KposyU#%Wq!R9yUf?|P)Y1|yQmh_CRXA}@%0?y`arb`$tqkua0; zd=D~^NU}_wDcwlj1h=xCykfVwxvKNQ5U6*JF`cNI$c@mO%|ryp8elMVX*1HAA&sn= z=xlMkHv-bXOZ+!1SSWl?hr9c+h6tcKiPqL~_ZD2%$1K%apW@=gS;uBEtg2=h(|9)D1Pde+dBZ^P-L?(8w*Tup}PARz`BslZ09Cs-c5(qhKB9{U$1)&8SjDIqrjO!dW8Kv6r!*VGfcGhxyJ=}bG2(ChD(cm49yir*J+_0fQn? z8UIcj@Xup^eg4mLLcb&Qy(f_zPvZPJO(=^)+f+b>-nL_TXsaL;7fP=Ov{4~u3Jg>v zurfUBZWo#;>JUOb&=Bc>CF3t~ z!v%CYB5=}pr-9gKK@U6_A>=9Dcq?vdWzM8rk6`sm$NQwhuR!i|rQ(`4eHW1Xw3iCU zc+e4H$-_gP(MAESpOa5cET^$neC0*_a_*@aK5*>rWI(bKNO%GrVW2`vVdo5-WSomY zw^g--aMzJ)geDMGmQT(%Zb9n-f}cWc!9WQVrL&xGw|{qC25I$%ug#5r%0vA(FZus{ ze-#1Hjkb{6h|x^e5{ibC0Jvq@k}(A4N@lAGmvumChE?@K&FcwEQ=$=hJ-5fJ3Jufj zKnawJGFLNsh{P~u=hdUa&l2T0DkZImA3f=}M1ePL_1#%cM-Ih{h}t%RYHH_!fi@*uuSj9MnZ}Z9=(ErbTU{UqcSH9lIkMJS;pwGLHgVz zyQ-?SA-E(XJEFaxXO>1{Cs)o+QrAm|Cp8hJgCCs9=EsBKybvH&2HL10C9EWpq;$T! z7Iy&f+!^UB>LBQ5WH+F6F8Yl4ZJJ*Tjz5332N9)y{&LR+sCJGr_rJpJc+jrcEiwky zw)(s2n4AsHANTw*zL>@_)Ad{LpOx&beX`S?_ha-!ze7Yo1H(i{y~`8K53T8e65A3W zK?v}trI4ON69}L$E=%>s$i7NrdR3|*HXzF~96}`&jmv7vSFIbg$+0NubVeQdy;nx%-Buq0@9%Ks0YGsTmQ5pmZi2#1F=iOa523m@X z&xM!^TR3~n7C~2YmxA&VrDw#A$D>YZ=S*tKui{Ka;Fxx?33%>#tT*2ZJZk2j?D@cA zJNs<6`6;LH@Wh*>0jO=VFHaOoEK2N*gXQJRJacmzg4dOx%XeP9*F~;c9&@6iL@VtH zuwHEb@ygiCHg53J^}A4-4z|I_?uG`Fz{?b5dz|X5oNL~@c^ld_$De3UBklBS_Pq~2 zGKZjZMSX>OL@Lv_OF`*j(X6nnIO>JSUF900!m^f+eTpX%<-2U|22$Ij^=IqeaWVDl zC*N9}^RMuK?cSY(^_|BTLS~oR3x?Fs@`n%Tv6odZb=7Z%h z{i)XXGbQM|N%aN%?;Rcuo8rc_>Ds~+PO#kRZ@1_YrOn)g$%5DAj)OdM*G*|GX7xFh+jve*s>mt=1y4lyvpXQ+zS2-)x_|6Ie3TrN96ax`kz|4gPnl_ZQWLlK z7<~@UvRx#9Ux1d2mJ9SU;v)304+OfCN7J_1yiH=K^FDG5({t;mr!;+(x~JPZ=T~~Y z@Ot6*!L8lpGs<*Q=T>rY6Mx)>J5JBeVBLw$%R%NWX%+9QWY29#n@cd9<}8xqw}w1YH9*b? ztM*ko#Uk57ufj2-q}zO@|l4uy* zPVCo1>uJ}kJ(uGjM;2J)YbW<9xIk9@5$%pr?rT649Tgo{2Ny;N;Pa$w%aM2r;}K)G z1_Bs%5|&)OljO^upq7p^b>G`*WRv}}M#j`__qjFM8UMwcmhxt|p-ra)` zf*DGVJ%Zc0>n*}hIh`tT7FM;XTj<#7Na0+cv_2e#5jN{W8GQmm=wINNMP9!mE!Eu` z-YPNsSy3xQLi_{R>N)Tj;8js7Xq7Np40o-yb?SAkvDd_XT}@I8FQSa65pAY-h*~*B zrP8pkU@*J8q3uW|#C1uU4K^c?;mTbV$E4=7nsRcWe`$^7Sx|=770~RDa+HT*So@j^o0l z{${5CVx+)0ww(i73%%BK#EyGta7J&y`l~xy{=>pAP9=qSEiRGvZQdCmJh!SpTMKTQrPhDwLNgIud6=7Pxl*X+>;`J9Ly zkGfh9)7R{I_`vvo?45n7AKkwi$)a}=HG6n_cz<3;=JW3Th>2}wQKEmn@HVL1F7$3r z@j3g)nGycJ$;Y2556c=2?VfCEd#N{9T-$Q2nP|0ujPvixc7GMJ*UhT*%B*wiOx;>3 zKFyA&Br-suY?yIJ@#xYmsq(8$=ilyT|I(ww7_K{b+(TK;uYz~C*3Z6TWa1+uRkqDh z&nZfo<+tLAk1C^%FZT@T?(-fRY0@NfTB*LwYLN7-d}|oc`c>~l)fU_Af#&jcMd|#9Wulj`YK$x_uT0YsTUfEB6lBB_}?zA8SUgT8t;^9~9Et zj@R;gw^fbr{Ro{5sqriHIi(!nh0{Ji**|308m!{4KVE*puY&$o(kD5!O&~s(f0KB; zh|{<+IAlD;uwD8p8V^(VbxB4+TEPfp!CcxK2UtC=!%08(LiNw`U8M$hn@xzcq$d=x z9<1uzsNIkU*CL^EE>ntgI*lkWHb{Q6a2V}U_x)MSJQcNW%VsnV{Tu4U`q1-0`wt`h z`SG>bU$Ip8KP)x>3Y9*z! z?+!SD@}By;YaoPYzb3)~e!El(SupO2U>xlYte!H6y))yn*G~Rqn2w{hwG|1XrDwLo zALO1(L*-donA_APV>5~47YU<||Uo&-Sm~3SCOcH<~Ildlccm?r7`uU1bkigbY zY>Vgsq-!t;WR(+gQl@`U$HD7`dmc(qkf7HurRXm%`XqDw3LAv*V_F#G$n zFQ**8`60A^(u$Ls=y~aYgEZcT8*#n!*GAc#RhXMiIsJ4nKomUV#X0n_lrGZxO;+{* zn@vu#Z{WfNa9>~aC*7%cpyzKNvdRzf@}5f8vwK@*S1KxOP8#d9ocmdWKi{%J(|cpE zhM?-CL8rcG4xOSgz)2_={jl24zIib}daK9BBkJTXiggP1i3_s3I#k^WuFQ*NNC*$( zP}nGXvfR(^VX(33;&X=Yv!Us8%W+rV2>+`B#a)(mg(-h@3a3iYISWQO3psBw4%1JF z3$;FQEeiSQu7`K|8K3kZW(0b{Q?rIvm45lP%W+T?b$+k%a-OvCMN;bhcYe~@QzZlB z^=W1ni5q#SoR1?aNxk02&DLY-#nfUE@}DC=oLU@;g8Z5g{Xap`ZjJ9b z+BF#CleS+PpELZ!vHW$~>eCX}gX;P-jNi`Vr*kT$LLM>D5&z(G+d=n#V$V&1Zru~LS!8Vz=B0Z8`h9?Z%tkHU+Z$A; zTwsHF!J&HzLjdm^mjUScCZBKZlj2@_wJ!qc1Khut-UD@kSR0~*=fHLGZ>y))GCtBk z9=TccQUGGDK_v-g^vmeKZiN^nY0pPeS#ivy$(E(bB%ro~LC5}Lhm&V3-DjI(r(Y%+ z-A?FinU4pmeat$jJ#&3`6{ZCg?uWYiIrM)R3(C1oJMWi>opnf>b`KRF{o*2iT68qe*F{Y=F>ZJ3 z@w+Z2sy=fIUjIZmt}1nk3Qd3YiJCjz(#{oq5k>$YfICku)k zsM|wZd)qSBm*LG#r{M`&KCR8fD!aiG0S?^DHF}MU<|nF@61ZM+1EY^We~wOZmGJ2k zgs{?RogL4F?uAp>l+$EOD~|iMIdR%$8!Gwq?dN{QM$fbPtLgb82G+e936QCy@ipINlzn47H z+0%E|xdagrs9h5-Q-xMzj5fb)uNtVt7%fY+1GiP5%k$Kl{PrM*;a0iwv%om>b^WiD zLtbmoS3mI~yDuXj>U$pZiv{`a*8B1yP`5{VfwAD`U^6GJU|fu;i-q{|v6bOb&1!Wg zBGA}A+V3pxrpW$KP-F7ZG@pB5RuxyqnfA!$@cEWyHCBFh-TRL}e3K%5M$r z0^;P6PTWTT>s#47=PfQFPQ#+w>896 z(?c4nUv-Ff&)N{@2KK#IcY+q5NuFe*{^9es2@rukj04jwiy@UR*XZ@xoX<(yj3?M^*z@iQHzjA0WE9{wWa-i+Q-z9R$Q@6o9Q!1E_&G{OghnuEntm?-dAAIb3o!Sw= zVY1bwey@Pt-+GU%`764OJB*@P<}qao>uca=OhXxFps{X7GH9cGU6-3R77C2tnZfLo z5M#KF1a7$Hk}p5Z5y@u%}~0a8H5dPQ4Ru7&C*7RSLkys!g8<%DS=z z_xrTktI!1{uMo?lnrJSkVUt@6tE6w1-0$>4SM|Ebw3P`?vgl8O=lT-~-0sx#4w&6> zRTTH~XRWCX5W+kZH`O{xf9Vq+XQwmay@81E(9GB?ejxx+Z0E-6DZ(*Bd@l4mA3=~~7NY6x6n^_3mY^jLl*$e8x4F91MGf%DN)6OOJcK$|Q4$ zf;ZJ}{4`0w0x?5kya!cg6@k;NrnuhFyL0x7I6kzx*L(Z@JO20U$4)7{@Px$h^%hTG z&f@OcgMC^CUx^;}oBQDTAF0tZe;uF)2UW8`wG zR{**8Y{f*FINCMG)f1h8Ypjp>$@ z{@q|YK1y9GY>ohtG%GRyLV7r!{6*!ebfzQF07j;b%-R)7rS1hkl{O2muJt1@9L=6eJO#|3Bz8D>q1=s4V~wtJ6|Bf1~YzKZnH;D9|mBpU4UKiLud!BweGUJ zw2dS+9ivTy+*P6~DQY^(Nr;Z$n};ugTE9|mxKA!+ZtOg@rM=@ovvPG>prI8~>D@)8 zeEx*X0(eXlVFiWl)yM(ucEH{ z!QA6SB%P2g{#XKoeDd=VFYV#+tbF_5!rr;ZKzMW+?Z6liI|HyV%r<{p=It%3OZfvyk7xKFGK&ri zG%PsOM-bAD*3lUEr19TDC#m)0TB(R>E8Bp^<`^Wg3YKJxSoQoA5n`???^+h&t>P1>@G#__f$}a*%c(4>eeWPSdy9ak^xflShfv=8vc(Hq z4;)!>9DHO3x%P>586O95V%t&9_zF>>XgV@JxZj^g*-`UG4z<+wFK+f3a`@_U9Xa4; zM<^Yv2x`3mZu{fbK?J>n=DJ0iQk#-zb&c{i45HF#jDl}U%9$)bnNBe=I z(8@`$1o;)kHhTN#sXr)MLSzc(%yUmsE?Bi|X%$z&)JEUhaK{$La_hKH@WD1Aa0tY@ zwqbthYNO4L-v?t%L1(@uctt>d-jNsHh7e5t|ME7NW@(mbmgjx`m$xB=UpO-;^p}f4 zIJVy;>Yr4uxRJOKDi0z${q|dbdA$~OXe9eYJX3G#TMs6ZskgSdqQZuKPz2d?)bHfN+Zl>{d_8^nv$3Ds^{R5!OHx;Kj~Hlss3>tW z5dco<2RQ&>p#=!6CN&tSHaXSf!~&KFl)&8}R#pE64E@75{0b`n0nh$%+&@P7UmuIF z{9~?n-sW~WmRWj&tOl8r>R8BJcsb6Dqt_C}$0|VSsE%>wW@_EhpexX()t zO6Tx{rv@~yDixUDiQfvAgX*}z4!vV9$EK8VRz)o3$xX@(7KL#H@*?i{!-I3=;uGxbExz46(J5oYyv(FZ2feAh|Pb; zW*~b1{V+(l720_le;~I1g3bOqY#|)k-E+g+skcJH%e4vs7Pj2P0jk5DDcR-M-;}_b z{=~=3a&jMjxM@CdnBRnHel)j|ZPJ^_(@}pR1E6k`_Ccvj4o@RfT)Ah6k90}viP>uH z)qAtOKL^2!{P!;qgJ34ZbXIz{MGMR_y*Ds~Uj|g%tMq>(cmD5a%^l@#F@WsU_3)VD(71 zbJK^d(uXOKgGua^q9=)!{N3;Ck48UnBuMY3ojtWqDeJ;4H^y2iK?m!*eUw8Z)e9x) z&Uh?fZZG6BUd6DjTr*8X`!B;`ffmt^Y} z<3M#5`LJO#al-b+Cj_Rd^omDw^{zxRLPy zSv3D{6(biQkqszsrnrm9tbYyx1a}wv7jZU9W+ih2W{v+fnHjbkE)|Z_57x}TL7hn9 zqB!Na5bGHQ1Hfw_k2Jq(NWcb{y@JbgnH!jT?HA+`>_D~}ib`MVqd6{%mEpJ7y1?LW*+W>T;+?9y z_wPhj`^NcpR-uC>((s4)Z8he)DB(^_$P_DA;CvAr((hMA8(N>tmJl`*z`;~9kRJ@~ z0klyfM=3U#^`-I@9-m4aGprsj5-ZBaVyAoud~olqI7XxX)-DJhx(={!N%f?azU7=l ze>tMRQ3L-|@AYd8{_W&H0M0K5`fHs3`uua)r%a%d*IyOHU|+5!T+@ToP$g7Z>!QqY zFDshq(Ga`f>h{otTO|C5;O|LPp`;k36cDH_IN-xJJK4gKR(L07G(&owXnR>vK&XhV zFWd4}ABcOZxh+@Sb;1%{jcmpZtde~Bc4sPwHFpN?_2Z9v!`iv5##L@tt>v{hmy;t{ zFKMj99fr~!)ZHSf6VP$(%E?&GJ><3$R(cQqhD~n*0%m zEJJJLmE~-#IbL16Iq(FghVkX^hh3jKK)dI@QP6@ydw$@k(0o+KNQGEC{@U1(=z0nI z{eJwyBkZX^i7U%B?Xk@#Mx@2-13q~^0O~|hrTm{!oW&0(}@OSl<4Jw(2)1bjThI(CO?&fwQJPTV$|ISD3qgv zZ@=^hFo0`R#W_tP@s@TCPtg5Kr-}sl0&h=$>HpUG|C{5WQ0|8RFe>0CTS(VC?oK^w z;u!#ou|6h^-Ey`Ik?qmeJnrtqVGcSYc_2>#E&9El?NdVHj$CP*X86eio>s!uSpuz8H1&xiCs=N$+~@GsMm z-IuN+V&-!X4dOFQkP-YFfS4Cxa+*?%a`7ujMiZi?MUbGs z@h3RwA_Dy<^>)!wNT0hA7di&nK7`1JTF!1$Z6ra{Un2qsZU^<6#)Vl1Ri^{C$7lLV z7orP(wfKmUgTra`CM#K`hVXcGhEUt|SEX^S?{gY-Ft0=cuUrG3P5;ij@eIj`I{}?{ zP69fce6+gGTkVi*;0V~2^I-(O{W}i{c7WqAp6UWzA@=->?Ys|Em7D`u2va@y&D5}t ze=om#3md2%`(OgC=#G1E9&%g89Mue^?Fy6h%@-XY!%0>-!Am8jn5dApZxq z?Xx(%H+avJVSfc|@OpfaewysXu)TO;?{Nq1ylacBC0o02O^m1=he{af3GQ|*jgB9y zzLq#xN1s)?LmfNcD&J>mOn?4ze+_zYAHd)_&`RYjMBgM8G74p7WUP&pEkl*t7gOHe z)~KZ!+S$<89$5o^@}DPu)5#XZ)OqB1>a6!({N|yC^J!Ku)z@M^LO3oBy1ngNY`4OU zHiymcdwGM-msl<-O$zXDFQ%)-=pcoLUpEG8Fzt-jKKM12EjY~!v&mM`T0mW52`=s zP2F(L3iuG8+Jnim9A6S~n*3=xSkk;vUluB|xp{T(JxF72pv|zo!{8;;xpH+?F%7K& z_hTbN3k&GY6Fv71v5dhJn(CxP_ZPBK{YQ|Ug`Q(FX z6uH*j{SvSa>KYGwXnD%?&DPutPF8TXnL%svEgyL=+!n|g#tua|BHw+YrK^QF_~`OW z8g%(|Li{(+&A&&=Zg#&dSGU^PxG&3USg4v&vSW8~);cS@Ms~L;xj|QFDDnX@bCHNt zQb;k=ZQMqY-isE_KHs`{ZQ$BJoyYm`JrA7@6Ubn%RR|bz;nwsGrzqXI#ZJ$+MUIgD zO2=ZIp7mf);TIhH2W$K)+hFx#e4i z4$D#FBWo{*?edmIDxDW1_eiPxFm%X0`Uzh~>%W`S*S-=bbnyBjc?DrIpy`k95RhiZ z&4s_z*2Tn>H_he2)KpRTo;f5lIXYTj0g<2z<}jc=0U z)hEXWOB)zD#_RdF!tQU~fv#QdbFi1e&lzO)n1&0Le-*QHI-a(4v<>LvONq4+)^>mB zv=S1Ock=L9fL9M$kg@*mZZJp5X4HfdmwNnKUhnnw1OH+jf7>R55A7k9?hK+2g@_#} z9E^|N_UCVx2i@pc!g9@B3|q+ow<|i7d^|1c6mYdZ;q7F~V0D#_^5uJZgG#KmO8m%( z@wM9U3@1JoV2Gx|lkz9tn-pLl!sNf9DeZM-XM7LDN9oai|4nC^D2*yt!b?t~x0diL zXT>#<`+B1Vf*ia~Wrq0M8K32$G@XLEb(9|sZlr94y7Ze9#oJzfNR(C*aW(xzZQEF^ zj8a6&O3uer-R7oyd?Mn-@%LRU50kx?${I^PEXba(E$Iq~xhcLvu!FxBiq6M6A|`tY4(Pm-- z2n!ndZNLOzwd|K!d$tc9C!L1mS=7$M$8O)*Vf78a95*mOOG+aYoxX$}C@Ke1N!Vvd z*K@UvZaa`~FpCF+Mc3~I!fFmG-Uh}N7S~RGXy535jgO3JHre}CpQ($ zhP=F3=QnT;E0G=@EmGHA5B&i=*ol4V5x#Jq!uHTHRTbt(S_hwj0^RE3c(rM7DQ(p4 zfdp-LUEKQ^B@xZb6o86fSJ9ZbUj0aUs=#&iKFFMTVen)|D&+%ue8BmO{2ArXLn|WS zU&PE`5p(7JTy2RYKC1KbV+s*m%!L5#g}y#t!4A;*_Rn`B^5OG8`(N$KeX4|)FRP4c zSPNecQiJYC7xXS)XN0Uq@fKCZBYHl%R(fR+{O}C?ch=Z>9J`n(|3q--J|2X6vBw%z z!f%r5?cCNc|6tnp)c%xMjk~EgmX+%rJ6P)Vu;|H~=g;0ts7PUMxjXb%J~^IRGFRKx zyXH)l*;PS|k7ChrkR>-8u3eS2u$3*%=cGtGC8@e&QQ7)^CRgmOA%EOWtNkbWrAZBL z8dwYTx6v$&600|Z*T&hFbh_KTJO2+|Ul~?a*F}5i4oN8qB}76=>23k(4naUs@%Tn%^<0RQ_1Usl49Krrt^Xis9D9lH4zd6S=?Te}+eDxOLw~|S)Esk(z+uqA?lXd z{J@+rsVczki~$7fK?7CBg@boG)~li-Y){O+Xw|RX z4PGcqEm~iVS?e_wyix-|Y+Yjz)1t0GiAA{NlwAt_U-$+=H64VNk7*nv8sa*7^OUVP zZ6A|+jq~>=N$0Ia1>n*a(k0oa8#JNG#*W$Mvk!TBB{f~=%(4cneDw5E%AN%lZ&|+^ zc&u!%j-?O=*Z-<13&Q)66Hh2LR^9P@?ddGm|KxkH4Yxt)c8`$$z9~3>wbS0A?thf? z@kKEHzqA=Y4UX2Gtd7E^)D;q{aq{nN1b2}qDsL=o2`v%4g3eVDPezSp zw@t8P^mBt4_J8j`U_7?~=dYh2Kt72RXaxY7O(3yjgW`rzO8|{D{&z2yW@*OD)<)~V zp?mpF@l5ef_I2V@Ya^p^;KqkjY7yq@VuF_>G~)1ZW3Jd>uFKBxkdeU@)f-wYI4Mw1 z;HfAMy#Bw4_5r)hGZJG@OgGS%SO0`oH&3u2A9XaYM8f-U3M{zk4#YUprWv4M8i<^v znELV$>?$Jycz*aVHu|?$aDw&^>wYq83TE#iD6ejNw3`$Fo~_~B0x6smB3gSlDIoGe zkmdQ~tPHQ5LS4g0_c;O7`hTtlZU;8#Up&&5RXm#9o-uZ{^w}>PQw`vzMh5XX)Y$!W zeBn4^uBs0JCyJQhfT{}tXCjDbK)8{YqK0oj*s5`FD&c6)txRhI5)q|@)Nb3npT7LF zw0ph6Co74&4?W7lzdPUm-`z;eIb#Vo1fswT&2DsR zDbAjzo#8CoE%5!sTZkxZ&RD*20wbT6Ru9d{T|3>%^8_$+WlpzDqoD{|Ub;2PJ1o>9 z=|Sxe_SXu#2;*eK#AyE(=?Pfbn;RuZDVA(B;8oUOCglJ@S+N7NmU zc1{x!PLPp+0y#eaX*;0}8A(`*wwUybK^Y~O^qIU)pV;FOs%%RH@|`MQ*3R1wX^e4}XO z@ORTbO&rx zM@0X8_PdPuLw#*sYL=ot{@8-9Xqe1ad2ZS6Gew-&{Poe)Ana>m#FSY52ky+$V;zbp00g~V&?_OH2y3hIynnG4^=b{(>F`~VHoA}LNLb)v1{NT- zb;tY$uk4%Lq=QhhH_Osey7?OK2lEiatc)Le3D}HON!es)H3WqPf_HOcf2qDq#_d!z zS+;ot6`tfP6j&V^gIy+_6()_=r_uYMLPFj_6J=a@0p}-D%G4Q7f8}6VV9Rpk$b1L( zOU|RbnA%m&%C%c)l?(x=^5N|wYXzA7zw|`Gr%F?%WL%b6thW_WY6YZyxG;vmJy-1k zFxDP)h(t~%8B;j)BZkvnhdZ!cj3MPKaR-AYXN{YECE1W$EEW4!#pSWRMG}4jG?B4S zVHh{BkadMPz9fbDnDrB`B(WL?vh%^RI(NM!7&KED#zQ*}3j~{5>Gs-LzDD)aWYVJZ zuOb3&Cn@;>3gV8}z3Ajew# z#+d`6EweWf79LT@YVJ?(A}(cswox81a-D_$4`kv$xs3zxi{9#502NW;Tz1x=u-6^| zWd-z_eCf#?lPm*@v`qJzRXD}mW574N!7b@ zR0tl2+iHwjloE<~7{Hg|#sgz-Ba9zvt1_}<0CM&AI_tTJIO1C_m#1g;`bh4&W5u z-pvkkz3z>(Mkh1A>RrSs^u)+a!MZ94Rl4P!x1uRDPDbmwwGH~7@>H}NgS(o+gtrI@ z%!S;{Y-7QvHkN+)=mB;DANxQJAywSTW!AaB8ylh^4$?LuZB{yWBYE?>6=a`=G?BXS zNpAz{kgoVvcK>qub{>%j7d?GofQ5p?@Z2(mL9npy)k)OX9bgj>M1C>w#iRG5|Cm7fU4)wxJ0E3t+r@kp@yEJKBJ@OqW_it=r4ib=)Lj%ql-0MP%PN|bY9t;CPyl#BV+xexo}7_; zL&ELIT?{zrrDrQeTq?|jZ%Ro-Z=MCr9gJ+`$0h1+G+xW8H&2`J~%z1wdw z4kQOfOh~1~I^f?!75t+gi=dI11UY};BbcVN8=msi`Tc#B8|jIyz2$|PwG=x1|3Mo@ zhPjJ2^SFF#<=5A~4iOgN{G3-xa+^%5$`nSMzzE>)25D0X@YFl`i(f>&&`6NE&ha!H zY)?CRiHWjm;&+{r02@g-F(`g%#e&FxHqJngc?V`_R(7~jL{N9OOf1z$S0Z<?-qMRTe=G=b8CXPllA@GY*N)GtvN#;Nl*2GYx*Se|`+dR`3`2 z-&!D8!;})jO?uSta{cxn6T;L$rVRv*i&R}1Q7-;+qQamSN^|FXsUT?Xr-uuWX-vgR z(a`e3t!Ov0)OLwXq-{z-#VH2{NY#hRiqDY11~RIQcxfsn-tX+*oD-s3Ir-V!zdiGL zxVRF3H+lD7n*hif3rj_?>_3ek)i9}!UJKK=%)Wj8lcM@nz@QcvY?icg7+ zt!6h75tyw328hC!glD>nZk5s7p57K{568TJ(XE%DpHaj?EKDhc68%FD$?0zYN{$Oe zfMksv#z9o5BBhM^Za)^b*~3A(0S@J0($dS1>o6RZ$}AyoI^hFzU#QaJwJ(3aH6IK8 zL|on?0n);D43L<}oBixMQ*NgAUx-GPa&X`krwa>uzMHG3qXl{HY1cd{-G4FhtweJR zy#JRp0K-!@vD$C}qwFqf6~*~E@cziF77AlytS z(tXuAk5kC_2$On8ujEKaUr(2~+-hA@FL5%>XO69ly^TR)WZ}5)fB;6IQ?`5AT|~e4 zq3j-Gdv*OtbC9r@ohK!?av=XeiTxWaZj9BQ!`RYLqPjrN+(&Q)@sAj=?;&2>k$*9? zVgdQ2X8D>T=I!d&9yMhuRZ0W{!p(yDPrOFo3mZ@DUE36TogR#OEv$6yGSE(`>1+Go zvm@Mm2v{F!ljbN{;!USGiUu0OLQ#Nc zzNzuUGE5N{**l}@z#i9m_j{ru*k&tA_Xr{b56_5pdkd9AJEeL_G-Iv!_QJc=>JE? z0N6w%|CQYMC`!G_TFK|2%lSuHOlv%yp6q;$vQ2Uy!qt7+rqU*EZB;F8-9h&M;qO5B zp+dZL-uwQ&_Y3&-^&K!+16Eb}VfVS_Ku0O129)hQupbMy@hyFGND+nWWZlbu3Qm}- zQ|b?=a9tn$GY+r>ka9#x6S+qN(WWnduEXoO=_P^`G9d)8W$+K+FXfiV!M6#X z2X2F~_f?IN5E#TFVIY~m`@U(1Mu4RY=S{@hA}w7{QmUyzHaG?YGBMUOgQkk&h}8(8 z)YkY|&quc8{KrF9>HLcpKNi1CUgQ-hjZDwoffYjx&i049J6C`5u&QXE_=u9ig5Qjc z=7zN-5|(gp73*ybz8VJlu8>zz+3&`mC>__i%7z-2*s`t+T%lk0>Xp{fL z@4%_V8pj&9*MWdD?l(Y%#~v3qcYuKjVe7V-!`BZa?cRE3`cl9{GuRJE<~JD)8y3*Q z^UyGfGbyIce7?$$@Z9h*@a#6E0_15yRc2aRmc&_r}A+G=`$!OdL&=zjr)!#cssjANr86g0L#6~%U zO~{2`Th*<)RAm~fPoM4fj}i`!@vZ7JGum66n7P_M7fSX4v$(+2|3DA8 zRP$fYaOOh1RIBijYyajPa2K(OfotPADUWYgUEq!#J80^L`wu9d-ch7l)9QnbX{@8H zgCbHYe^-#XoeE<=9YUEr5$-d?J?i#1u1hIRJ;e87dp72hfgODAsn}!lUdvSJngqr$ zU_PK9^v2OrL)+pt1zfp>fuc`6`a1j!jvi%+C%kDHLp!@O@1l-nA_xLw_KURIYn9+h z_N~Hi+pw5rmQ1;Mv;-Fkwu>Q6n1CzcAM+&{0@lMOsI4=fN1FBS9TXlUJP~rP#0$OE z(}lC6#?v)}pqj|@@*2vTI>R0)s}CfRAQSXip53;(j3PJ)20FYScwzW3X&>hYEzU>q zK~Nlsu$;qGZCii-Gf)Narhv$DS*67w1TTV<9Tl}C(wAKp#WWmtzkU&2Hu}I<=;#-O z<*7O*hRh`z{>AuaBOCBXK-EDJsGGW!5Y`!`wyH#1^C~J@OG8~}p1x2~u0^H-@xQXl zYdkOxr0(|}h#i|rq%-kg<2HNL6e>nsAkj2Hj^r31O5lA$X_I@cI-8nKG1@G|?ZVy3 zkt<9e8^2b424r$*860pj8XH!=R70S`0Jo)=EOBb|U1Dy<{F{~kfUa8;03yhrT-~iK z+GptSl=ICOd>H83-9^fMo9?d#UiSh@exl*tU48ss>uD^7&B$~nf%h)zOcx2Q#O)ua z)0fyqax=VID&-BgVB@@u6qIRgVrPh-NZ=^<$%jTKeVm8EHAkjte8WEWSYKjtinH}_ zoUb>%tYzB)zrQn}q`!5~(6O*|kD0|9eO$v#xd1De5lM&e;Xt58l!$CXsthXU3ZM9a zh0aA?&Tt@si%mQ1^x?0>~^N?q!ezoD$zalGj(_bwu_0H5)9x5f!K;TFxLcF;NXljW z4crK`-n+y5+hxE46Yh>gX-{xD`a2Tp&j-30L?l#=dwx{ zNQ~sf8&?0p0002orkLAZ2Y-8vO9E@(Klv@Kt?e`0PGg1+W0-7wLZ{K?*Gz?ALPZPg@;-8i6CnYoE&C9m%8}a?J zQBXw$s{|pfk~NLYK=X@AkK2fqZ*}u2qh+zQCS~ybx{hHx(_(OR3KEpK_M|`1GymPA z)UgSTlV6+9Nl0>tNn$>eip*C2l#*?f(Bq)C7IP zLh569!TcnYGYWciS<6y48&2R&2s1P ziM($Z<(8QZV=tHirr!HPgITyjbYA?Rd7YYI8J+jIqAV zs9eMwix6##Ht*$|`%?YBtA<-|u5(N#s+>mLaiG7%r+DziYtF0jt&Mqa&$PM(&bQ+LmOee{n)+*q&lM7=Pp4iYt=bKC0 zVQvgBm_+_0?$i<$Fl}SrYF;S?utAa$Np$5w4g;;oH^}dDyNcqwV<84(>G0ARok+G7 zLB>-L`5jYkb?F5B9d#;onGi}5K%7JmQGhH8!fLJWF!FJ+zZ9_|1&T8ewZbonUig|! zbv$npK1op~Iy>5;=p<*aG@WjM3N2#lW+NC#AU*>MOoj%g_Yol(o0 zbi@ca!lEc2LH<52o+|TpVwUE9spVp>H=p(<RNED9FcMnNG!o4_H|Z2A=BNaY)dBOmGa)XP=pFNB!92#D^^)je5iYeq_#H!sNy+ zJ-dzBzUk)Ud1e-izq1^$4pgbB+3YADKGZZ33DFVHIoeS^wyP>oiUQIiP!pSJX?+BI(15qJ$&yRV&e`l(_s>WK zDndGXc(MO#do%O5;yJvpY*`8=dIG4V4f(9+p#We9n&Nass%pT@)FPklXwqBr+_1LX z&(gd4*%X`vP(to^Qpjtvf*DOygSD=q9`C1)VOiw<6Fm%8IesUFo0E-B$!|1vauteF zF)fl)P(t6X@)h{}UQ75GRZ-GnKzdKT4s%1#v%Q>9_sUE|s$*sn+j~aMjX&P#5rLAc zR$=P#Ts>#qaT7m6)C%hA@pozw)!%43;+ik&`Cky%wcnJ^=p1&{Y?^^8q2cEwIY>R$ z`sIH3F6v;op+a;(sjY57{ndccNA>BswzC8m#LKz0`TFB;@3mVh_F^yhUwzIAXpUh7 zGSA2F`5I^@9d}@iVa4>?ctE@DS)iD@{JB!d#%$+U^o0z4+qDSeC;B=(Q7Qw`sQUZd zQ~pLg8KpbwC;r&MKxP9Eyi;g$b?!f^Xx-bGWHnKHcnW%eR$2g(&bBKvv%d`LjhJob zbuyuqM@ul!GaMsVTS3m}0B?TgW`<#39&CF2^`2^5aR3 zJ=uPuL0G!dY*{>VZS4iibc&vFzum-b=R2ao4CKX3U>INw=0WnnnQfkSP@LR+{}VU+>*HCE}n#j3q=g z5Iw?qHa=C9&K;AZq#Z~A)7V2B?f+bj>JhpvrkVS%Hri?f%E}+wq!XhbwINQ?dOnn@ zPir&Jd~+Y;eBE_Ig^wKchcrJCxwLl`PRc`quw%>U``>d-fkp<-=oL{1*LiN}L05ja z6;zgrftpG22ZSo#e~<)_-ai@wNRz@4kM6=yq? zEq+iXN+5Czg7Eu%Klyv{nMpDKy5kdz$=9HOaw2`RtOeFXJHHDr!`@A6a{!zP-Y=N9 zNdtLIiSRWEG=G7nEks1}Pt>3S(Y33S7} zCWY;ovv>FL4;cD@k(GO3)Zty{&B~4p;K&NR)D6cK1?&87Ld*zM6=yc^K3zt2(Gr;8 zxu(_3*ik+=MspAe00`hmb^`OXSl$KX_jCW!``s&}eJQe&hdpp)m5Bk+X{WnRH#mU@ z9Ngk5Z9DPO;jc0&Ejn@p|Mh76ra=Sd^4BD|#~;u^Y-GoQR@{S(5@nf#V7 z-WxjLD8vFe)4k3z@LgODjb!evZNRgS9h!K!{{Jd{W1H2Kgoku5sH7fCO5R zGnrM^9Mz@JXRQewuYu`+ty|})X>ypQaKSEh$_BzQ3jwTGQ14-ui*8dAHbQz9Kq8E~ zq9uDipxmgzECUciO_Hi`oA#XWi8O)0@DBW`qbrHGb?=B1&*bN$5~ScODt=yhEa<7Q zGamlk-)fK<-iKtqH-TxeVglG>brMz|`Do+J{)^HcRV797NNNajt(eA5p#_R$X>HjVU+@?a zAjY{x>Msf~ZO^C$3EU9M4zrwoa(sg-AzOtd-4rU{z>{H>5HQ_d8?7`J>u3QA-Qcm2 zQEU3dEDG;51gd7Js}%u>kJq&`HVdrhpA)AGE;-6sn5F?KaoEmmcMz}%8iF_7nwy{f zLG@awy@v*L1<3m^F~)%cr_u~N2Gu2#qRnG=?GElNLa{<8eSRKo)dJ<4x1v+|lNE0z zO5DH}$%dRhacDuUear6yfCkX?|LQ4!xCUHB_}gCb*OI(hv%Z)on)+_7H%k`12nHoZ z*D~SB8tgX)3l1y6_NjRG0F2k*m%7*}ffT*tPX>Of5ho%;u@&3My@_IrDQT40U6cO+iEf5SwW-8duMH#zM3cecy`jxzN zlqu5Sb86Il7^(tQn$-?+s590jRi=0>JHt5jozb!%t@1jk%rz`>@N| zXN?-}tamd6PWwf6=0L7}k!BEL0(v$1d%&Twa)qRJ4zVfsiC`VE{MprQ3Osi=DGNLi zKGCl>)~}Y5bKz34i?bBDQ(Ckfvt zX1Hl7w(owZM1s68{90u{s1Asjij?flYr3t`jskEn;&n+&f<&w3tvZ*5U9vc9AHhASTzm#PLRG3Kh9Sp0M*EErL7wp87A$YDEVa$7UB(l zdz=Z>wwSs_|f&QVP zX$bz<50lNXS9uyQZo*yxRVs*x`fFA8z|kf@Ue{{sXhM4L9M)?h*kOUl(YJ-Ez>I-# zy0R9wEDgz+=Gby^+)$x)bBbip8mY7hdS6^NO#?Yso(YaNyNdDTvY7^GIcjwW73=Ew zUQ(uGFF4%Jxx5q0bu?zVtAUo8Vr%{Gv-e`Bas?qQ$*_SeVQltoLjjmPK!AXOLaTH# zuSeX5ThAm!GntBiqJhRB@BxzZh@?Hj94emlSW1L45vRSmXLW%(eJiTFjTYV;!(L$nELM;$YnCwQ#eHzI(A)hLMMSAp%X$2fPFsIc ze|A&>e4^RYcKe%CCP`O@uf{JCK+@?aSI<^AJSsdi7*_{?lyVbn1l)9#71&a$f}i786Cj8)-?sxK^2UDJX5 zsBk!%gLa-9e`wIT*^@ny{ZgOugdg>N=~AnTm+3%l8;dJQG@L)~dvIa_AYX~rrJ?*H zIo#&pxe+8b5aw=YLH^W_{w(k|^0kkE0fBMeA2Zx4(_WeuJLw6jcey4k0TB>!TG;RK z`x5c{NQ~BZG5S*MEFW>|qNm;`Gzi4AQH4lKA+b*J5|#Gjq!-asQ`4QGsI|GtdzI=+ zy)GAO;=X{s4m9q#*;7X|XPt=T)!&X4!io2a`DxsKVpEUqv3S*L2{mTBXuIlz&LVHM zfiXci#jEToL$}q9du&Z7C6YGUZ({B^+L6z8Q&qI^Kdq+lhcclXY~kBLO967h1%%&SXB>drNNovZnLgUK_p{sg%`#K8J^NN zR^Jo3t85FBT0io9N*t^0iQKxYZ;xRKD(iMBV(kU?Nj^`DQk87EllIVV_Yto4I3bi( z>tX_rj0Gk2o)6XKPIYOzzTO++q0iOt#HQkueR;E)>EHV}MaM(7{cSsn^M09nf@lGg zCp*5!*a!%66pu($k%?(APagYd(C6JF`yTDIdG6ofEyB81&94ly^{Xo&=pDNr!aeh4 zXyR@UXzTgFKIoPT@{dK8|N^gF|!))*%MbMV*)S5@{o2@XnT;y|Yz8x$YbBi1CPj2`sB{0)B*lJ_2vfnEu z`He=lj@}P$t?Ca_Mh0hs0h{~JbPhcBy+*w3GrF=1Os((+BiBAG;r;Vt^I6rlOz;v@ z+tH7b&0wlc-F(0_A#E2=@?lfFTACx8`jadrShTV8E%%}I_4`<7&-#i5z!b(^t%-P- ztejKEX5PbRb8o%Lt~fLKJ{XonEB2tG__Sf7TinFLte6BQ4QTIEBrQO0=a?MF(E-QD z4H`b<%`d9yDSY^`&RVoYvCPo3IKQmUE)hI2_N%>b&!}VZ+7b-q#ed)1~_oqF3AaT-eQ?@VN@eC;opxr>)_~14+@X zLINR>qZ07rV`B+C0QNe{{q1|Y%T-v$)lVv@i=T?%e@B4iip~|EVGX);Td83J`UFr-vD` zopMS-`o~12uO9TU6%wSd*O^=QlM~Ele;9JD>LiSKAawDSp16HHTT+4I0XmrTtF2|E zrS7fOk*jrs`E(1=xDrCNl(g&mTOTMGC8y|6CcVE$MyxPAr?%!p`2MIaT4Z;JP7FJ% zB;|GOjoA^p^fWcn`sX!f;ZI%8sF+$Dfht~9;)L?SI$uF7&AKD1FzdO0hjB2HJ8La* zUJ4QchS(qo(K3iMN@@P8Ncf_5tW0rbjf=tuM_xY`26@>&q$PvI~A5f3sH@W>I zGRzPo%Py*dt2Sa=KG)&<38d+&>(ch4?*f~%A}#o>r~I3Gmo-==oF@fzI4S9p@zxFA z(G4v@apgwIm%YzSaC@4KMF}f^kh9KI73^pFHS9!nBUwnK0}?c2Mb({3c71%l9Klc+ zL>*xFZUof>P0*UW%K~XTv9>_}M7nQDtDY&`0)O{|OrF*q%d(AYU6vpxD7Fi!CFW8r zhx^iu(UjinY)S%B@!-kpYE*2FPcb-IgKkRa2IrIBCbM9ol62X){dn@hvy0wxqd;PFm*mcXM=vAY zZS%5#i&7Le5XCcDRLI)C2-Y8ts)FZ7Honp{SxYp4gf|iF# z@oey6Hw_ZyBzz4&-4@rtJ*SR%-I{NHbSL89ZaGwu`k{5I=Z1-#mDz!k>hNJBp~~mF zg&8|UQ%7OEMVX_%0a(7(z)8I3$CzGD1Lva72(~BZ^7LLzbV@4| z(O)+TEZ`NYe*0TE*fAd$T0LQURkY# za=S+Q8^)hR8A+@HJ8n)iS18s41`@ycU# zL_J&S<_wIiykhc-9z+Y@XKCq$Prb>2VFMO#0TIE>szbt@%3@#&c*hlSDhGPuDNXO$ ziHAVQ7nsms#0Bis)%$8Bp!3_%$;lt?i9j{j&g9(jpUHo?BUA^gJh0|=+ZKc1(BNcw z@XED0yavM(6@lqeztej=>(h>3y}@WdT}dFU?Rf7_^--Afr2l0a!h(g20`I!9w)3VS zwcUsadX7oHz!R?4#49p}O-B%mN>WPi0=ft`>yKMPo#2JAP z1VSL6%IyUhF2DV-q8el^2QRF0#Foz5Nmp|=(Lg&r(SXDf7DCs{JtL-2&xM8td$Fi; ztvj_0!@z+U7cAQh6&+=4%E7l59TnCnMf#y?vFH+^9ZO_`*YU{|z2~=FAwto!9A=F~cL55qyOFY3Zik6{wM%H^p(ftlj_e=p7P zOBJoU`5zDeK2&V--HJ2NC*ZG@tU4JA zHkRp=Fca-OXGnhH-0P* z!Wtqpf$;2MJlJrdEaqY2`oiV)%ck1ql#2-;Pu4%l6M}$-k6)zvlRg_s(JJxW| z(WI1hs7!~xqQV+-u@~V^l>yuRK=`2qMa49RNU#~&{h#+Ocqd(#uw59M;_`_lR*b;A zvRuN%Q5>EO4^_m#z+t?c4@&wy-(4+?xtyx9W>Hf3mcXB{9*yw@}@xoRt8{qAfJm9P)G@l2XFp@Bbx@^6NRDxqz+l zS1(5BPdN;ncku)9ZMFA^L0dQo-GoU+6*DtM+|d;z$MZ$*7iMj8XCt{oQxAObz8${Y zm3yC|*0$4@rlwwVqGHn$$xClG39%1BS~nn;MA~TQ54z2lkWUE9KShXL7%bhmlPA7% z+2W|5UlqpshV<%=9`+YAP_&ZdSwSjAV(9sPIMlSch`uUpeV<|=zf_j3TVuv}owlU5 zmRFHyLTX27vZayVrbGUU+-74zi|4(ED#6a3;beLF{#=10c_owlYrhGz$L-hHiu!N7 zGn{!$_>pq?i2^)P6MZU{Qk_MF$n{A3_uke}@t(iCU#_1B6ENS(<&)xeW(461IQ^ge z1KGbK|1w%iU|{CpDn>jX&s~iM+0Urn!!U)zIL;CchtWg^?%#*UV>mMi?DJFM@xE$`_G_Nzp+$7}E@Hbbc)IXn|d3S*P zH<*Fo2{%~42?1pKPe%9~G9{!xm;qjj0InMe<`wRT(-)SytM5ce0bwCf)&T;XW<{2qOtJBqoj% z^#=nl6GzWX1=ZRt3=71>YL(NoIS!dW*r1*<02fv{Esw7!lN5u4tUnPRu0y+L3<*zK zQMJRk-;6u^!-DrgW;d|WypA?w#Mn_erhHk*sln^gH~JA5hKjL?jDT=l{|I7%Mik(d zGj$|%_tl_}T~L(B9Ti<(IE;);4x_;Su$)mp?l2<(@rE7(3_+Au+Otx$$m8$%OAX(K z_Ov)`(7Fdjr*`%Fkn^c8!vDq*s1|1Lx>_q+&3oivO3&5UlqK>M{ktKTAeFbGwGa}M z54?;Px+3Kk{uK}q)J!J2r;cy4ncDG`I)38o@hsbAONrn5w?gf-b_m?WZsQYNJ_gbJ zFB$-UqJf@fLf%|<=>05F_*FQ@PkYlT&&=+zftJ2U*~i*M!_1{G4#AO;uki>FD3`R3 z`#@FLTRaWpLxU{f%RWsm!@vx+#4S7b75`SnQTK>?@8eE+m+HKW^RCrLWn*`M$HR9+ zIheSig=6Hg*ExBNK~wjYj2gaoXMXmbQt;$Qh6$Hfccf`K^3%6M-RRsB7or!X<7+*a zu2G*`gB%#0zuO3~7 zZ^85N;&W7(J~}=nB?GJdBM{otErp&HYIR{_Dr$LfBSw|9cH=Dg5BeMP z{y1ROYFL&ZwlAzj(uieC+Wr2BueI)GRCA^uY2FkGvVQ~7J(FDTi*Nbx70n%b&yI)I zS^qgV{eB=x(3BD4`jT3|v%|DSOV^K&caOZw!;9>8ct;Jw#~ETiVBqw>lX+<|^~6#Q zxS4xjAt-Zz3^QedaNJGtyPr)&44!X3g&wB3woUO|S8gyXy688k6{*`8+&DdA+u@sb zKw8FtEG#2%F@J-!ki)GbBKtH6lJcYNN7vT*Ds8odR{eX=R(vSwVTjW+(tc`{{W5UbRsnVJE5(Dgtt`wU~HPp>dFb z?z-*^psYrC&==Gl@Y}v&Xr>g0>{y4N%B8RqWDwm+BqK`6{uz2C%PVeqG!}0v^Kq=a zgC6@z*qQ_9XkpEJt4cG@LL42^jG6U_0#z`9U$>$Rtc;hu`7s9&3U#MF25hu&7Qzh)>(|2H*Prnkss)nR&A?Mb~F)<ChBuOZN-xa64 z3EaLm;#?uj)5-bHEeI+wGMJfhdAwVkqPN;WEjq$86o(J_BvY%sw?8CY#W>tw?#~f8 zNF_ABgo?Bw7z?}CDFSe~{|mJC5ev#| z9zPr2m2vzCTnf$c*P%P1_$`XOh5k_Qx{;j0-36R5ENK%t3kXy~Uo2?w2wHL<{9`s| zhPTq(#S)7LCc4jy9~&*X2~?sUXJ4b@DQW)~p2EQ?2qOUJp#F=NaBDF9mL)Z2ULjW? zX*A5Nw+rqD-Sheyd-_^TSsVhPzJLstHAT`(Bj=%7pb1isNOCb*^Z|5s?O%zEc3uGp zcYA~cC*p=dnP<+iY^2-juw}{@5;eNm}i^h!u_sHb)v_;Q1?`>pKh6^s&F8HD$c8ys|W; zbzW%9x#A{Pq}8+|;9Z|wk%4`nL7!u4G8K9GX2szfB^WX_6r@0t%9 z87j~tf}ZEM@WZ!q@naQ_q0E(n*YrWDGLlqsyCYY=Q=SKvP_j{{!KmZAE%&~=uawu& zc`eixN_0Ka)P9J6Q0sD96impM$s1vwd-fQe;yb(bCz`9zMnM*d09or?%I7G`darJj z9(#_}N16H3gKm5N@cG9(rx@6K7H5nKq;2k_=Q6liA`fpOZF6vM;fd?e$#hAYAex}p zmV)Ez&!}6-A`0+>{ntm|KvETKd%%ST>#=-;%|S_SI%ZSb4ls*TC;f7@#U&o=6R(IN z;hts6dk*6KrkH{D&W>%G5?!3#hchi+!S0+u1hK*Q<=h_`N!DIwxjI5>tF9TlO7Q); zuCu9J^*byE0d8>y4&c83|FComWDqU(kYOSh>jf)a>(%YoBaa5Lf07tP$0}jO2&+H0 z1&Qp|j17BuTFl6Fg}oQUt`NA~sECrfr64%LcpruDgJ`H?;Ka^Lu%cukun3xS_ExnH zTrJSP7VdtDcfnT|JEn0Jd4VS5KZ~4(OIG3#xT1OOLELEa8W*d`A*z2Vn>t7fk4&&A9x*83DkJ6zB&BE>y&h`{3Lkkn-0hKlSl==Vd+ZNWEP^xPYA3 zk!(>3pBFqsQP6YYdsFIN?3yP<%Q$c+C~K)bl=fgXltO6S3Xs2sP*%)F!YKf9fz~Je z9ZeNATj~Yyyn>)8pC{Zg!^?)3*A8v%wZ(Ny&fV7LEb9fEW8x>8TThFucS~$HNmfaI z09RVKs#yx=%9%*CZ;Ff8_&DUWsfTu6r(e%fKf%hyHMFwH@y`8T4N0Bz%U;8<)zl3> z)8W|~Ksnegd7_Nj49P@)3tsQ_oO}+hi*WtSIR-Lw4Nbamieej~C(eJM*{4Vi!H$j> z!=^Yw+W2q@@Dmy#mu1iU@KV3;9uO*WlA=Bq29ytsOg$iZ-u42lMt~FoX@3-AHswww zpK+$R_6ae{wU$SYA4@*(dGNiV%A%*~1Cs2;?~x4HLk7N;WIY@h&HT(fxQh()4ZF^i z=otB+Za`IxeqT`Sq2&cvF-j1_#_`YzB+9kKg%Sx1zW28(!mWMZ8p8jiZ19%|wWNsa zkF;c*FbA)&eiQ_dZk~qtIjU(ab3a6e*{=f$BLqk%#$D2d<@e_-wJCl1uCx`QS_ap06dO~0JE5r58^e0$@AarhQ&jXo{9l#iz;P(tn@7d0mx)U;(Jv5m$ zEIuPa?9VrIhrVI}oeMkb;z;~dE49s>aIDH3(z@nnVLuC^Pa+Bo?0S;_?!LuV#_P*y z*-WwxrLhCZMta`7Kt2P2t7c!Hn}06!GeUzYVdlIj0lRxkpzP&x*t94rM#d?XeMO$f zUzVqo^SmOZRANKB==torf~2-Sa_|sup+gaeQq_*)MCQi7|+hSa%y$LD2Z5 z00MSrLO-yp;mvvjRt&`?n(J5bg12os&}TMI?B375v6as8K|JEc z{Q)Mwz|Xe_1sed!xO-$xXu)nyIj8HH1m``la$DE1Q;1eGCY>PtajNGtPe@a;qG6Ta zmQ@^P*a)yV5&zy(w0u(Vvu^_~F0RvXa2S2Y_eDmNncE8+TSKVu@$q$Y>_yyM4e@7R z0X4h%enDYZIz)FW?s=Z-h)gG}QkF>a-|~$;(~+=df{S6W6|l&XLe7J@C*Z?)_FT!A zW{qpAQU<|9^K#}I*mvNxNg9%V@NC`C9c0hx>|Det#nn1#@~(4zD&AyvuktC0JIDF1 zF<)qB*s80uxEx$5{)@}t+tQ4kWuBBd zQC`vb#mhzR66r9Ey`fReXv8Z0+e1NiW+q;Exge^`4Xy#_go#rU)r7}w#6zTB;c4~--l3Yf{cL@l>f||{_HVc zxN31E8UT0rprW<$eR+ot2q3kqAxx~OWL|vG0d|`tGk;RgHC&zZWGyeTl--mHw#LSe zqCnnNgxXY2Ns0s%SnxKhMeSgN;cY-Yr4$`Wcw*qCps+%hyJX*q4O!UBocQQ!lQTFy zEd5Mi$dn|P2^)gz4N*kn=T|>;P%ct`Q%pmSa4eiQASf4>T|^6q^AnPPJQddshLC6#+XULJXU zy?pvA*Wuf9x0rTP0#6O8?yeR3Jed^y;ryl7*qH zrR&bAlhdDnd%_Qa;3888EXQ(uKr_!%ty_zI!iG759JrsTSGEjW9>bJ5X^l%B)CCSnK_-Fsa|AaD{^pYReUQ@vl^M>D*Ta z);xY5CJ1%qXq(O{+h&H&?VRFKw%P$$^GVn%B-WKmoe2*9%KLuxI^g_xN%mzQ5wa~J zjJ}n@B&65I=p*S{HsmLUsxJ^qKZqH)PyDtJHxOhAt2#4l?^+(i?!0tu<5^Nfi;Q=G zekgO(NYR(hV&mBymD4bM7kS6KpLf`JET)Vqy$vD zTRH?Jq?D8%8l)RZY3Tt3q`O3Vq~p5=@B4n<^{)5hFBZsh=K5XdoPGA*=L~Z#zQmig z_*A(`Du4>{CCA>S)h09*KYygf(AxAV>X%L^aunO{&s3dHY|U@`+}CZQS-ne_gEJIQ z?$jNhsaQlWAG@GK@$MUx@l%8-$Qi!pH*}*D!6UARr@s&*9DNNoCzZf7jAdAwBULTtLw^d8qj<8Jufd!Po)OS#O7;H7&FgI z$VjQ*hy5Q+BBBZVTeKedcb{P)h)_Am&J`q?$Ku)G*VkJT-1+-WHdB_ZDacctI#XPT ze=C~X%RAsBih1+!ds^*t5raD)02z7o*fCo8SX*^?;`P9bwW%Qr~xy1 z7b`2xZHIIQ`_OMW`wb-W^=!ydVzzN6og@i|;A=9>EKP~$4WmK(F0Zzq?!#YUEB$C2 zzO(s+)VJ@>=9g}3J3Amsff6LR3fifciWInOQLKQk0%Q`-Vyj-UTm6&iUj0vHzlH1T zAbLg`M$aanP0se$WL9NzEl-J+|%g!=#cn$pI7{3rvt_Mg-Tip~^iHBA z)UptVku?u^`ou3OxodB5QoI$mMae~Vx7v8*T}miSgo<`IxNvKLoREl^T9&z@yh?9n z4JslKNOnzpCXvMJ&*b;vYLas--PrJ3BC>_-vsqXia*ZZ<9@XY|ET$y- zG5pv<6XHet5%RMi1{8Q9AQxfbd%!tR&oZoxVu}uJCX+nEMgI1u`ctihA^W(YUoCjRl4)taTKC364(!HcK+Ah;A#Ee}-knJdkf6JQV0q zFGWp%iJ@YsLD(RUkii!>GW6{}_M!6l#mGZ;R)o<=-TQuVyet)4(65de@HO ziKcj#1W&F0t+AzjE!)&q!k4nRGO1RbF^Wp$MR$gFCXWK&ac%offAKxJlYYY4+9y!m z1XeQPIL!&q~|noLH9 z_hHr`=E+In@3QCZ;;!00Y;?&v8x$7Q%8xkXw5mUjs(U14W9FtJrgl%PcQ`D2VM#f*TD z^=jpxlkPbe_MjCLmFb;m=dh2*)c0QLJP zeT!H8e@WYd>PLHFk;i%%Xp(huoUkWawI>O%z;y(7T#b$3k?U(w^N@TvVDV)S? zP$Ea&EHC;7fRP+O9?eHo$o(t#B{=S*#pZ{`zARc|$KIkBThzhk7gnVm5 zg;k~pc~?tJmAQ_(DbEKNai<%`6!fpL|KK|rMNJu`CpQ!rAsxnBHetrqOH41;pHp0r+atDn-~CX&FO&%-jOLjW zVabg=$-^tRak~_JCa}F`Bi)i__S~M5+%shc+c)X>G9HQ7lkm2m`x}w^Wbb#uz9HER zB*W!6PBkDv3tJMSyI_qT|I&|{m7>z|lirY|z*cW{S0ya5X_3_2@<@cu7v?OF3E|(V_Qt|s17gR zJenuWSX|`tC0;N`g9vH>mGstYfH@reCTo?k$7z(@s%-g>EvWvv%x>|IV7-_lQ$}IR z7}hyuqlpt^c_1J7Y`Zo6sqd-St%91nlz=tyQR#c7Hpoc4HZLp$Sq;`a@H$1${}(}g zP}6b-09?dP8a&ParAPn0E&l}(;#h$?kARBJM3Svn^JSq|ePY;{pl0tAfDUGtNTcFl z=M`DzHZ&HJERxY#N3$?J$GY5hr}$R8|3sk~!B(>chn#mg>cy%C?f9_#hX z=5#{SPr5GK!{A+JFCIs(T?vu=p48*>rw-;Jkm-;V{O&1fv2hL!Qpv!g3=$K><0zf@2Y%<;0(?f~exKhX#GTlD((SuO%{&Zh zH6m5fPV&`vPR`Eo8>#4_R9lMlC0yjpy_V-WPl|Ll1P>-0aI+pX&ZaVu~*&|pA1yM(8WIC>bKhsQrR zJe-yth}iZ(U?cxPMt%5{B4mfou!Dn56w~-ZDL69M*d?i}wCokf6QUj-3rfQd_dDON z?-!q{5J;5DKyX^9B+EYSR)oyC{R}VmxMa-0gvtVveHax6__QTDc7ATEy#yb0Xx(r& z@}1h9^5yFW79BzgZ+8C##v!?jh{WrAjPZ#%5(O)VO&L)ezYmFSn}vV!3l2n32k-!Y z8#iz}{$UJ(uPV5B`+`K11=HIQ z0vspAJ*?OxjfsUEiT9MwgQ%S^B(g@(FlU(cxG^BH1bwdRlTy{qVeDk*!;Gt-tkd$CLCi9e|w$<6bM1@X-uzU0Dv z1DEFBl{Voyr+#2)w00QRl&D*Vn<6ltJikAz=)ut{QkI&+fgjkiAHbw0ef~51%Gga=>n~Kg3-(THzs88*3&m2ThDM%wC=CbfyRW26zIfe1DT+FxX%nUF!d|*w{1h!96&0svYq3!H0h#rCn!L$~%==d3+ ze}CktA^X_FCemfWphA^{aQl+2f^9&DT7_u)O6X0BUiq9poj8ePqY*xPf@snBJ9rFe z9_G7Le5%|tLfut1Pdm`)TJB}U))qzOSAm zm+lnhQ7^{g>8#}1aYL#;67|$qNKLcgkKSM0uhBh>S)tH*t7$eP+OSym2*7e#b*$^< z^Jy5-dcJ#yKOQRV@p;UPEj(c@iN*X1cEo@FZ{oY{?*0ppzm;aQqwBVvBk-}jnkS}6 zcE^qv*Pg^MU*3!n;VW8w<#&Z~G$tSE=iPcZTzVG<4n%tRWy3xSNJEG?y0h64 zK}iFmI`z_V<}09&ueUjbsgS>^ow5)l#?cxyj@_zpAhv*;h}*~as)F91+JOG}fTYx? zc4)}H-aajbJ_>%;76(oj=!7oZFLWFe$ml0P{T~FK2Gb;EpY`Pzsdmwh3slT$g%?@wtXm2$E+kQWSTy zZWgpiBm{#)0m1E9yTk`%QeVb{UUC75;Lq%dXCgX|=a-NDTN;J@(}DM|pB0+#L+20L zA!VAW50t|>@g(@dDPyV)qRx*4-Rt%|&<+&9e`CPF#V;9qA3ycp$LazGkDHXf^0mk6 z*ic~gw@|}zWilfFu*6Dp`S92%j1>uOkVUj_Onf^rK`{_?e`KKi9C z4KXl{vJQ68tHC}O7*@Z?&juyg$n00jT3C3*2d}ldsPaW7$o=|XOq5jbAODG0!+inl zhT=L@0et5m@OR{oNBCZEZ8Wk5gmvw1p}a|Iw4YMQustyk`_ncMY-!f0elmW&GeP=NIF#+&FBpdw)i}N*kb=%0Jc`Xe90Rf!-a> zncpSfZ$0hfpaPKGsWF6IIW_GlJK*0G{ZAVBmrMA+LeAnwoh1h>%l!od+27lV6ksNQ zR^Se2rd4h#T0VYQiUv!D;@bskE(pVHsD+lXkaU9+zLGr!aT3|v3zt4Y-dxR9-Jt^q z+Hp3dKbz0u$}b8yz74{%ko{ONNsxo{ZX2jl1K~C0kZ+Xy=VG|yb#UjShS+=WU5J&$ z6MwJ1iudM8#d{(2eq7({bD~z=!3N5LmEj2;`Z{z<{J8vL=!-wmhFAZ6x*4XaEZbj5 z74xmFuZM&s=-mm#^hxtWU40Wk_1ipy>s_RU1XS?#M3d{1eUGuI^CJKZJRV5YE!dJQ(+PD-t2?nOL|%G?T9ABwZftgoCRV;<^(F_t>0wNms@p@@-79--1x5HC9o zGjycq87U8?tE{Kw>zAG`e!dme5zeM_mKawmK!pO|m)0Y`+e6C;Hxa`)aS)WAY}58E z836$@7*=(v4Tzk1m|W*g&mg?d3M56@fn^b=1zUD?bZjJ>*I9Eq~p{&%^n%-ZIVeH5g|a7}g^- z3#Iq*<*EVkw4plHqpf(77BV1yuCTZTnSNY7&`}gQY1<3~2HK6(cOiW#=27dkSTiJW6+F0wG~}4OD*Lr9hn{kSp+@Qw&M3YeC=Ndl8N4t#Owx$ zNKLj~VMA9?$MdhX@iV6~UjruOn&W}(QcV%0VgKug;jdE6cXDywjXC#$TLPN(CdcwG zHe6!_dF4yI0%gvO{&~pBE3Zh1>T5zgOrGEOGu&T;O!HTC@(oE}Rd)14rkU`d8~kXn zF*I^XKwBN{cW-RwbWqo)4EszYp@`{H<$kn#S32R|j}A>k$H2)CXWa3R;nWrTNsufM z&rACf**ZY_)Je}sFXNN`rzE!z_UBFz@MabxAq~)3hCx)Enr48Bfa9y*lkohp2gGOX zSHX7c#>lFuBcOYOF2cnTo~WN8d**^6vKc2l{!xOZYhUWJG&fGS>&Ol3vfjNz;n4gr z!8DQr><}(u{__}qv;sn^(ZD69PM}>NK}x``ntJBH0;B@9;%K{yh%;E3x0iv=ePf$J zVG;YZMtg(t?Pow0z4ZbZe6C?r#YhlfQxi&Xoezy^++!CRH95bD4WCHz=)cl!Yp?E* z!)9k2bo3kIuX)v2Cv)H0(_P4)|Igt5zM1He1A*O=b5AE?=0)VYnmf)WFv_=>tPv<1 zYIs`VY|0pL*k<^CxWOd=Py&>gA*}yt(|;Ymh)nX=-S-bPx-DzBZ7uK#ECh=L4ZTP3 z#R3wW;5rSt&aSou3}tRF7L|>w2-H)lE<1!)Ppy=8GMkT*V)ju|PL~qeIfZi0@7@zQ z`~r;X_N5VL1@IH(v3ac3TIt=(LjNNukTLs4-Q-_F*a|hL43Zn z96i8$kKi9=^w#O~64y6EWenaC`-}{}uZO2tzb{HM%v-(oK66;Hx63LQglZc;j0w1jk zZ#uO3F~`FWzmQPSYiOKP{YN_BF<0C}K{RPkqQ!@gUK{Bc&AiV#v?U==etP&@3Mie@ zt2iNfoex0Eix zz&t*oP3Dr2RhRzTjKG&xE#y8GIah5z051}Y5YD~#JlJP;cyF@3t%cUzCrd-5gc zh;kFN%n^tXq6Q@VtxIyyQ2z@142%8-KF?;c3aPs6ez76jIUBL~@O&M|fWyRW4gb(U z^zO&faSS>h zW!O-yr4&H9hh5VEF+(=P{DuT!JJ`I!f}+U@{dKD%nw;BLhhWhVWW~R&?d@$xK)1n7 z!VtBPgC`VrUaomQ_{O+kQ>s0Z%aU`v10B;>VPOI?t<;XsV8fZkLx4jAKDoC2Og27< zyl|Et{)RS2nz^>vDF+v|Gi){X6=i~^Sg#ncp0I_-c8&x&3{;?21KWvCXQ0l;E|KB$ zY5qUo_$w^3nfKp}-G6=Y8p3|uCi0B9Bytism0k->DfHL@U(KUmDzj*xfpKY{Eyt%I z4zujpM9yFK)1yQlRJBtY{$OsWAPay1USBU-$GxIpr znA?IQfb>NG=^cy41ytB*H*)pW&rX-$OgY63kwae*z7YPQNAaFBz%ZRJT?M%F4l+p| zpdkVCD3PR5^IL(k(|{BciH<9rb7CJwYhWrOxMQIW)BVW6$;#^cl&Aw$;0D$1=TG8r zno-#C6X}kxJ0ysE?2n8A1p^dgVSqV+)USANuwS2kJgQN;{Jpr|6M~Ej74q>Vki>H2 zLW5yRLu@~xz@mEwB&bP5=gZ&bTmRuWxPmlP`K2?foycrWok>HQOP2fA?>y18vJ^i- zGD{}1+O2*_Dcr(?K%Z<1de380?X~nNNeHK?djw*c?$b2jO>t#0)BXl@32I-J{Ol}KtX#Ds#K|)+cu4^Q>MUQIpAYce|Hq%KubfR4GlALT z>qaR}H2%?y0B5t`POe*-TMLg$@ljQf;q@E7XjP2NkiO z8MnxQh^$04YY9gQ;WgDthQ6YRJUwXkE>0kksaj#jER9I;eI@Wu%fM7u+^|y~#hefn zY=8o*j4{vlS^s!-UWq;Z)@N`KXNW`W)=K{W6FvWM1y`D20swHyT0dOLf2jc2#0P|U zDUAhT$(f!$N^lEj9+g<-4o6~m6oM{~;q}YSdz)>1!k`WEM+5G%)0HP`&s3H4uET!D zbpRU0ka=!}HNdOC>2Y_r)4i$$w6Rnfw`Rwg%k`2Wa17qO`=cS+BI4w9?MhVPnze;! zV)W4pCqJLG&6!4hM&R!90(hWhX3=zR6V)(TR43A!!Mkyy61Oo2~J z)uSJp>YV87h<8-Y>!02@9PJce{aFeK5Tv;qarFMjR<2~)$&Eyk_N*Sg&n^bQR^)oEhn(lDA#Y+BVMD79S+^pf;-x>Gu{?D*6c5ZIbWh3MJCQfRoRdZC1Arc@ zjoj(|^Q=*`I7^1VmwX=(=@N)mfHW7S2O+Yz7zTl)J*DJ@!QofFOBbMmyuLU@7)P>V z59VF~a|38x;PhZX7kSd+{u9W~RN0T-grIq3wsUNdv(1|rszq*RZ+olss1!EVENlrg zW<}6Qxtbu04}plDe%^q}JoJp}Lm&pUE<8u^M2wcKb}pl;c%CtFzR`E<%9@G>@1^(j z6P4CYB6L~URc9r?TJaH2D$|VFdRY1H(Pi-~<9E1*&ysb>^6z5taFPbL*srV!@+VxE zFX%FgHDLou&;D{eb_o4^^qkD7@!3x81AvBC*kZ5Zl{|U)8slnT&Y6hxUC4T*mwlsp|LHf%n_OkjYxeF7=`C1}*=T!!OHU6$q@3p3MHT?%Q z8(s(84m5Wx#JQ;s9MgGxYh9MYPgrk$FTa6h#QB~8AHJX+0_Qfzw&_~~>w0m^8Om3u z74E+r7MK?VE&>&wT-F6)4VGG6E9IY2@>Birw=$@DI0*g2af^f)ClTtFJ^;a zXKhNkn5!KlwL*D6>G;4zowXB~NzZ{ceX<*Eb7=K@i0dssv6CGg>iTwG*lnRw^tJB_ zKerF>tMmE=c$K&%#OJ`=XB0Ah_)0IdB#g~JJ;PDw73J0uatN6#?C4U@9t{E2lk`eH zO(1AvKu}w@j5_z9LBcU}t}vj{&nKle01QCD8g&$yww>tus?e*Ql7*P-lx;6`XvyS+ z%=$YS4a}-7Mlg*7sI^g{@>lotn8*jN&h)6G`SDsp_e7W1 zE?bUD0<@`%qu$FOEU|1@*TA{DDkZR%UeWK9jBZr$ zy#cLIvxK=WsN{)hFC^7P9zg{X7RzmAeo~sDoEW)(k{2oTuievz_|&eTM!wZ`oyiLe z4+U0VAMF~~Wz3si#{@;i{`|8(_R?&2{JXH#A6v?zg0eSH$cskz!mMWOA-@w4<7Qeq zZ12_0c^%1jMt0R(z;MW?qjf~maRsvL-Icd@kvB>EgLsADJqQM0>zozLg&cj0fscsY zg!e4ufXPz*6pMaD05LxC~rU$nn7iz5 z>S7O?tehvaMbhkB)l_H<_6IMr(N@jbG7TT1^=_drdTjsgQw=;@UuG+ z@`IW)bR8#Qvf8*BeAIa)V`lU#h=JqzA;3Gp5Dv!kZ#_IPMhE$6kGNUrEF&%m2hb0>6PIHWOl2@{k`uoJ*q$H6|*ijo)Ef~55(68?v z#P2rt6S4*zkcc#=Mue2+HYyW6K2#^XADZTDw8@L)Xq%zh40o=70i#2js>Pa>`&&M5? z)N(b}lqePBlsk6sY#wOILz*iB0Nzd*_gbfk{1kNpu#7{=N_J7yrY@-@r#k-3j{sKF z{^L*bGT)(JnLNFTaG~!b@4tlL>}JQJP!(@>E=|1%0@E%B9>+!o_G+PjX+SZs`5^rs zaoQJ}k0`KF`LG2X;mAt(f_=db7+gWTMxfTuHY%QU0-e~C(6ew^W7@U6sk`15c%8DK z9@vW7Uq|I0gQPW&{D=LD+|Z%s&iRnlNwX=irnE=6zSgslt`}Dmo^RwZfzjX!V*y%M zz<<85Vx!i<+u1J_U_F<+W4J6|FZ0jx2w*z^^FQBJebAuo>jfzi-Ak%Rb%8SJ6l$=>MG=Mk((!+E znH%TIIC7JXiBx?ua8JUy8TTB3C$2Xkg8m5yJz#;z^6yz{Ou#SS4zvHO{{JVK{Uf5^ zvip#4OE}PxSXhyX0UD2lmh%Qj2c8v}``!Oe1Yl&@w`Y6(5YI^TNTfXw>f+^t^UTta ztMwA)J-j5}5#@;ChTg9H<8XDa-rPDvW&>6tP()?s6&#%7e(yj$vprr(G%w|f2?1IS zNMtP@D$_rm^$V?OFHH>OKDp2X7xwfa5Yya;LpMLRi`hGWu(AkMGb28P<+kJxUB)M? z-ScMYzx0kRe~c3L_|dXmOOBU((ox9=8!xchK?%%Kd<1R^r#z~nnbvmj?CP191Qc%$ z`yk2bfYkVpWJcUAwEL1k0oLC6;R>UwjCv2=TO$^9j~ye=@Gi{W<}Qo|J1PAbf2FJ> zK;4#1Vuy)p&wzgY5BK)veS&P09)7B4hbtgGZR=lbm6URpB$DzKjZ@5bJx*^vFVH!C zxmGZf+bm!C3D}aSolFDo?Io2k4kM;(?Ck|_R_;m2XHGpQ^=XoAiyxV32~sn^e01#y zcji9jIDfn&Pn@{L-=zGJTh6L=T|Jqmc~x zzbyN~xYayQ4DoN&lcvb;7}>O#irPmoAw1}rP}>wz<{77~D+^&>T#!C-!cD7{-7B4A zd#e~xf*cG?THfoNap9;ow~?`cRw(n*Gb|`DhJoYCaeE%* zyzg7Vw#1%=li?v4W<@+O1k*uJC<$0ihfh}%#zEN z`U4WZC-aO7bK2>-%AI+hEHHqqt(0y+J0a*y0l;&&eA2%J&OSqwr#v+VmL%3aIObBk02?b2 zNUI;C)Jt71e;;-kxjHY;UVFtZx+PBgjmfIeoWu^*8Pyff(}Tf6AMYB#7A|$_I_Sg1 zYMJn}Hb~kGFdBr8Kce5`y#crtOOS41blAb~j>R3bnc|o$H$@}-$9)I zlEPhBKhe5?9nl!4mx}sM_i*F%jl;7CSWpRahIN`~8(b)j9VS%%iqAjc4+FOPhs9bi zc~O537W*72g}z~z-0el`I~KN0YDRkMz&G0oCdv)Q>EDjWIuu`J&-ZWFUXvVsLvDAb zT^4CXB|Bs4CjFO{LyW*gk#gJzO?pR>xo6XZTfR=Pn7i6Ia=j33ZVW3SK1^BNF6MZc zeTPz6qRw~j(W$YB<%NO#g*oZy!7dkfS+p*hnZoethgWdgkm)AE>W^&7f$LuVGc&33 z&J-MXr<#CBbb=^j56maT{!kn(U0~Y#Xl1FJJ|Yd(}VLnhkA861{OUCvyTu1QlO*>89f*BpArKnXR>U3w#17;U5kWag_gpp?|8v?GgWN*1#`ky9bjg zA}8y8VlR+fj4OXXO7eQW?1yd!Y7FR}g|z&@=f>bU&ByNJ5!`HKm*?kb%ze&%^j#uD_fmkH zfrv&u$PA_H;#&W zN_xIv*{iNAWj8R2aV=s#R(%>;e!As<2dUcr@t?s%6vYBF%nv!-!@57Hs#S{iQNn%Q+o^^OXh zFOshjrw=0*Wc(eb0xcH1Vq0E%(9EN&`H>rvTXQq7AnZFrf4cuGx6Yn$ z`$~6ItfF4XfBrjEe!}zRD>wJ*5QuPHLBjkmDeiZMR&5_3$?xCGj|leQSvK(wEoVjy z8!?s{d^_l&1XAb?|KSZC4fRDgsY@V3UKdJk%O%efnZN)qwZ|>5zF+r^gp1 zsn&MP#lpbeJn0TbOQ+2gf_YO`L2@f(;z`OXG-fAm&}q_VFF=AQqqB6`Ivn?ICqmS~p# zXgrxupD|r2Q@#r83)g4EcTA$D>cHVFKk?F+)Dy-d~ycP1C>sq9(R}ie01czG!oGIB`2gU zcI>r_Hv;qu2c5fGzj#|=ewccYZ1JlvK0mwp0$OG*dG2fq+RS%R#x!K|1T^4SS^@L558#v=26aw30-qihlC$wej_-#Liuf%%al{T;`cg5}ESeMX z%)c?U+`qjD<7v+pTCfu)r*26Ps*KsFD?PcSVbwlvQw<+f^l@<=g8=6dktDN)bIkIQ zkrEr+kY371aU0mII1s~};Ope?LNKs+fZwoAOYIqsnBJU8hopxV7~zd{&ddx85o2JZ zW8f7%FV5TayW7BWKfm%M?a))wu%>9 z)0j*AW=4+%R+(wQ zU$W12!52`E5(p%Tz_?UvB-n`2lEZRtKCY&8W1w|?Q-}eqJI0iTD;}#5VL^TLM8)5H zvX=#qeO2xmmi&CQ{$bzZoHK6JGS`@%hT*-vD#?qnd$t+4V3y6`g?C@m2L7lQl8ci@ z1#h639umAIUUZCj_snMn_b>2-_&&$q`2gky4gJOdoI!Gtw|V0!DJdxv*k1Lg>J0=8 zPxSMwby=(*dq(5)mbotI)7JKOshVwsx%v)O3aSo7ccVy9FEI+LWWZAp6zK3peZkae z3diVmqjHI#G4Z8+c{}(_zrS99XRzZ&W$E#wvJ$vT8xTC^Th-XYH9LXqPh&td>&fPR zb>OR(VQP^SBA}O2y}<{~7IwF^fA2zu^{*8qg*Qdso%i{p8mU)s+aer+0MS#pYJ4ieSg!>xT3*zUd+s*gWngT&vi z_O?y>hj0Fe2KozlkdEIM+Sh`CJ78;4rfmPMRP;rdvEt@1yRFenLhpxM*LmT)40#y_q%a=8#|jMz%%Qes zE#@w&4wA~4`%zEz#*>o`l3y6s+j?m|dma)%EUs;f1C4$!ujp1Gw^EZmOB(I#xYbh; zw94j734j--k6`PwHSfmkAPmz`Ln)Ky-|qYBFEtd+8Cpc&F-0xvtZD(LYVsiPfp}1> zf9B=(`S5c)s&ItiF3XcUQ39-$*HF6rYv+_Fx`&m0NrhA;+Ef#0zOy+93SMHI2w%Yf>oZgk+lDF z-JMMlyq%Sz+AWl!xIz0_{#Fm=AAj5% zv({5<>kIqAfCY?*4E>;2=h}0587COxUq=s?v_@;3qVL;4*ue^+d{#dn%jQ^hG_a<3 zBY?>i49Szk`p><#?&a~jztV1gKD^(-p_kM5DEmwzSA#Jvt}|BXGLUQCP;2T{o|M`k z$C_>^4T)7!4RT5YZm_n!(F)r(7&%=lX3o61efOT)e?~3<%?R<_@Lo6Sqg`RU4)r|zD- zYs+|&y1KD?-MlgaR!d4;VMjsqzQ7zT{q%_YJPG?wjUZ{zL7`c`Ar_C|j*S|*@NGZi zg)rb%eh<9Lz-|V*Z9RH`^3RgD;d+q`-6 z%Z_l+tZFTF&P2fWB=u@XDCOv8VOVsHt0`x@R=4=Q$!!~xFzR6numTwiF0;nUZI~l z6K>i_W{Xt?t452;GogJ^U8%l_X^Qp!d})mRMJ`3SK=g+w+9CIF!^2<|3Ub|&nOA%3 z%-xU@0t1XD!iSn+By65+JQ)AH%k=wwg@Mi+?Cw9g$+FQb);?o-di(9Z6`etxhqMI+ z+UAlbTCd@7Bhhzssk4ug!dxHcD7(e+k$h<-&Eu7;`a8SMTwc(+sk7D52RHi_(Me`3 z`@=MU!!+3>6QlzzDWM}eg7qQo;Q0lw#}Y#m%lNws1EU8L7E3<7-{{ak(uojveG0JE zAsH_1k7AQQ8#;Npc%ip0|j02#lj>~v{a~G{wkI4eknLae(^aR z?Hx0rLy-B7>!ymd=jGO^J?-sNOlAnqt94!&FNA##Wn1e^j-{HcZ{WFq4Rg zqS+iSk8DSuX+36#U9(aN3q8f5VyNHB=&&mr$;W*p@fp?PloOZM+w%^bp7L3}XMByB zIiZ!fr22e}xpT^5VR^T1Bqu8gXPHHVrrmjQTgXNI7WwTPq)2Pb=$v5u-r4@X#Y|1P zMc@l6SP8};*-y9~nxl8NPB|XaM5pLWJ5}#7srGG(Mv+wfB)9@s5t8yNb_8Vv4;vO1 zHl@-2 zyh=F~PJkki`o1~wm)(%n`jEaP*~~JBx3PfpgiU>8slsG>4zsCsAMv);!E^OTn#z;$ zsCnTDr8(wavY5JE#WW?d0(LK|=ynn(1tl!T%+DJgOlFbKw=iJYJari9l~`GbJ1K__ z0upig+W!r~pnoF~gemwTKH|6O#Hpd)32Z5}YWYW-r0fQKZ4g@@{Se$0y}pc0&d*q$1>$!9b2bT zxPO$Npj-Y(SWWmQB1@7KkZ@O$@NMg7k08#4lcd3Va+Or`pmbBh9uI%T4Sd`W?u|r{ z%h%tfoRk%4@>k{4e^U;Pwt2N>nPN?H@JmRnNDTz9!!T@Eaa6W+oV4;tIb0~HcSqhK zo%dFG*Bty78s>0FSKYw;b@uVuJFF))#81#e#*P?UMHV!z3nRGhd4?7S_AmERQ^}!K zXOu$>$h$>84Loaj5qqj9-xk=U)oL6UdbwU&{Y+eY@T`ezylkdbj2OAv44IdG7?H#1 z5vlBNk}~EwNDAs>9BydfF(3F`qvOYC5Onc0UNb@Zg|PA%E8|qIjBjQR^y%{$=7PQl z6fr1~ikAsgvr&TIwwRFgMxb6DLc~oQk_@NsAvk*joP=7Y`!mZ(&QHJJCk&!qc|61w z_6eCcgOA~E)3N)50!5+?G9+1EzvoEP-v>VJii-5vA`P=`+Gb{Fd)=IGo_Q*7s&>Sf zu87ef!-;}ReGEItHSE5XoUdQaI7e4@d%z0=t>`f`K10%IO$rkh!d)#nPkxAhPf>lC zeRp$m=1A`BC7--=yH;x{1vZRmpzF<2Gi0vTTmm11p2l+knyi>2Y+*U<%^P@^M(KeB z7H1i_P^cClnW5A2N)cr!7GT4a6U)YpURzka*k`WU!eqA2D|IC!B zRU8F9nGj`AMA3hq2ye6HUg~bi?{xIqCK;kReR&Mn2Qe|iZH6=1m;mY5uEMQixLhGY z104adl@4S$h@pE-juB|zF*kb%pyPSCQH+uzKKbO{0t-@!QH`D88y2e+^HjA})5717yja#8^_PeB7KgW4h2%lrbYvEdYK!W+kkz0Y zbAp_B=MO32EC<_I{^lY!{c4-AiN|inZ$DIHz4A~00ofTO_ftr1g4nKo_u%Eh7>~$h zz(RReEh?co;*QNFgc0o+d9Xs|5x_e?8ShU?955Bgd#G~|Bj77 zGexm}8 zb8xwymi2+{L9v?l0E5j8s)E}*jqEnhVvQY|NjCPG9kqs_ujhM)q6psIrZ>RtwB^7; zQKpOhW&-+|kKqj!0c1L@m$!Y44c{|W`TkmLns9JXQ!R)*C9;h;f3GL#+uu28V#`rN zrhiCPIp_S*pM@p4`x{mcK+FlhkgDJ_DC8~Np;#cKK!!6o&bQaRJraq zky)dofQlM`WA0KsKf=8`nP<*)7#sm05y@)?WH!a(JY>P@s^9Vt6;v5eRD zr9b%hGun{nj>?XQTOF15NO533FUsCkF0PD;Nw&^t9{l<94()7ve7DtL*ZZTr;U?9Z z^Y}}a$PS2@2a?{m=*+b<+F<-Qx0(N+K!vlA$wYU_vgS_ZO6tTi6{s)O*wT-j zLF4!yyus0s{$?A!vNI2UOiD(ApDX15dxZ^nET>MKeVC9u-R@w(YAj7EoL|4=Ey7kf z{2;^VVe;j*&j%>&J@Ifr0`r@7LhqZ5%H^ID-XB@x)B{Tj|x+kdy zm~j_M>Kgvk{dvPHSTJE>9tWnSKoDRYD(nW@6rV>+GI~`Lq!ZXVBVih%SS=;l=jYfv z9wwGYqCFuxz=tVy(AE$x=RWql=aJo8j{3?)p5%0`nnqEHIb?W#$hKdD>oI|QrY9Qe zW-k^@0*}_44N1=y-ds-a0&W(o!u|MG-Z5s!MoD7KVO>We$Q0Y`fK_!2~fw8Qk&F*#p zcg7Xn9Mbp1IO)~=MNUpyKBgwkIrMzwp@Btw_eiJw14f(9_{XKv$!sHit>hcc)f+iY<+F53DbrE-}) zCmVJ>Rey0rUYu8oxcO0v+nvflXScf-AA>wnmA?xZnc-k8i9y6AVISEZ^?%BJfn+I{ z#9I|%vo`w~Tks-F3z^r??GFA#eyFk&hDR{dh1c(C3}Tuli5Ra}tPd!C;JuV^e{wGM za-@})3g6=)%NqC(^rdN5kSclpqzg(Je5n6S>|m+K_%ZkSm>86#C^O%|zneX?hZ|iyBofX`+lBxzu!JK ze+&oBvDUTL`Kxm+fb!&o;aL?lnP^@y-4XGqxcj*^EvU{vxwga_v|_515KlTA`UemI zo7>}7k52dhA~~XBF@aV}(qiaO7|`t9e$3d8tHStRxdlRyJiXuR2&UPLsmBke;wMAiah>C z2QJXZre=XIRHMk|Gt{eoc=w#67u+(b$n5ek~D+n=$Q7JHk|`|IC8w)TgE&r zf!S(6>j9gKY#254D&)zV^tk5et&>+G-Ld2uIKL~uw_CGETW(!F`C7DERqAf4q4ITO znwY}Utam7i)+wXo5?#|E--z0^dGp>FzZvsg4&yo!n zFR+uMY-WI(XajSfG6ug5QT9Y$#LD;8P=9*h`71&b?0TR^&d!Dga zXY&@=Fdui8|1oFL6m+ESvpmC|UFv=Fu_ZqMJ={paezn3g)c?vuw>O!)!@OC`5!u?@ zPb3|0d9|Bwe)E$>wL{s$-y_W`kC&8SE>m|!sYmQj?gUfHXWA1e`VjLGH4wn+b*g&S zNcH^KrC$RJTanh^`)*?3()L}T`=zjEXjjLAbYqz~o+F!#(sez{>_?NG(Vn6Q<%apwou}V zsmWub!E3!L6uWMR9yof*b~zHg{c)^RJtzb z6Hf=n%>yI;vHmC!=}*qjnnV{`4v*Is+wk?!`!1jJU5^#L6zjEBG}%Mb_N6QDDBd0R zMMF%HG|~%t7xzO6n*1AwCx_n89yfyUXr3&|q>oJ9tirEvakzMcUS zl&-2Zpjv{gXGD?WKa$514`w)>rbYt2Vo}WfGBr>quh@kH$H)#VVV(pzi2}812_GQ8 zfMTtqL0kCukqaQ^NV>P;!Q-$ff#-%7fndE}TttZ?QGzMtatD7a{`4JbM()`OXL#6Z zrmRNOG%3GNnh2XFpJ*dM-h(PcJ0;7MJWw_9ikcYzBK^H>hGF@h8zGBWIcu)uKV{+5Z7`|J8T?;YR-v zKn9<>GZOeSa-HWYi{$#mS_Vimbzi{ILS<+;L zS6)tNH7Ej~0pV8y5G+gBZdx?N*{qhQUNuIafn@;oHizLJ7|bf05W2ud!$L8#ohSgb z+-t%E8#bcis;!yf(YDPJeDzUgagpNC*5tSbl94O_nAs=Sxy!B{ASGqwtKqvRGbF_RYIwHxxvQyr?Q;uZrDYP*Dn>>p zEqp7`tS-@NaCsdduwp7&cP2Q|v);tIKQkuCGkMwF=D zoeVbe*6rH8txpWhLff2|>RhP5I|^XP{SGugWmTIN_#T#x*J*dwQ!}u5Q~W#d1d=15 zR3Qtq6$z4HYv7Fqy0hI6gK&)NEBYZt&e4b#kI|f*C4}9W5)z;5*&}nlewwBXJgAWz z(B4i^3}`N;YbF)37lsNbG_S%-m0$OAT0?CELAnqg!iY%0OK01gzg- z|LDAgAzNI{54QBM(Xy~*%xEm^^jEgx=GC5HJV0B;M-C&;8avB`l63L!;?OL@vHfXY zLR;Bo?0~~)`qJyEIC065-PGGX(qxHwtq0y0zEjKD7;@WDyVJ@3=wYIHYLsc@x!RLr zXg8c6kR@(Vd?d=fXZ9q5I)hWc@#sPHQr*R;vqqdBUL$c9V0V6SwKYD4)~&462@)NH z@F-D9qi2?Ssh~{=<7x{Yzf&nX@cX4?9>#W@3`W!0Y7C2DU6Nj1ntC01?viDB+Em@9 zYd0&!3(R*b!R&3DyBIS>yzU1eN5z;%-ng(o?(Dl` zpat@7eFh4x)T{PHdo5b+_>$$~sJg#I8iZSgga5n%D#}l7`{!Tr&%czR%D_D0@Z?|#G>NDd zWm+($q(TtR17^*QyiNnksf$8|*+8-Z%=KEStZU+!N%O>-k0-g9;mokZ2sVy>&10BZ z!r_x4L-X6?%cAl%Gb2=d=M6FEj)&!tOy9b?%O~-nvODM1mjOMM(jha?-6t_O+n>Gq z^iEtU^nTxn&O>EDnIL0pw0X!c>K%eS#r09sEb!Ff#wel`OiGf!bVuR=c1Co%5Zh~! z2_@^8^L~~4r=rqvA?6gK31|z(n)^qzhYZBNWQl^ySKi1a2-2X(>fEjZNJ}E==$Ts? z5_DxpzU6U3npQ<@jjxkFVlW6YJX1Ih0az|fKfTB9?RphssTVzHCn{|0fqQ>HwIP8) z!X`%m9{8LC|NAO%v0e=z5_vtS0je*fo-8Fk5A$&L_%MKDhMZp4vQ=URGWPPrlnPXL z?{!jGIl76|OrwaV6yUSX5ztZ>rTYCd!@|V!8{5Lk+i!r9CNtlDc z^s1!Ff6H>@QN#R8l|H83@Tu46$|CECD{nBHGXi&&dHG6u+yqE)bJ%9W?9jh3^FDqxmRQrjBUGW2N5c=dfErDZ=Dsqmg_92E5u zjS*JCnO4E?Kaub}Zvb>Vp4u=cT;o+$h9`}5#YgpoQAt?_4=oZ=CNCaG*s#w^%|@mY}enYOB%Ec*5b|56qe z)g;IwEv#+x6w|&$cB1FWj!EphpJQfEK7`(y4Jtx9UWqD`Wl)J~{^tIh-fuV!)GsO_ zz4=*JZqYK-F%#9r?PoS)>;mI%;UZ>HT1`?|VkiQB54~W|=4b7Cp?E~1xkGPT^2st5 zEP87-o)r91tRni4$M6p(AEFNz_^pEG;%sKY0%et5(-6FBK3ZxPP1}3nc=ujO^lXJ; z@o_+#7}yJ2*^N|V`%aBtU_=uKR&qmj)91n8ee;xu8N+(GUB(0U zSMqOO)PUq)q=pEM`FYYygX`MN+)0>2NV@>LTMW*R0Li3W6r65pMe;eWq~bXy9P)@n zO(ni$rNlN+5npW7@K~z+LpGOKUbqSx@Q_W--Z31qm)Zu1ik7i{=mHKbCD8hf7fi!r z7L~LiaD2T<0QuuMeJkKA$<1!|M5zySCwUg}uN4pq_Uu8iND=ym4?Kan{aU&R{M<;d zb8>GEQS`L8@!z;VZ7)jdw`Wk?Z~}J0k^>*5p?@T(ZtDp3tO|?Nt@d0#4+h=(3=1=J#4Gq06yX$PwToU$E za2@N{xr%t&c1=tT$K81@gkb4MMkq6;^@wzPEi{RK!6OSG%<*7%FXNij_bGt!+{j(Kv`L^2Hc@2Y*O})Sza{|2GS;J4B%TLwB^y zTc&ees=ZB8E9K1l&tfX931dO$lt^R+eK09io-|F4Hw;w_8}euUZD(R&G<*o8l;5jVeMm^Ma z1xfgXls?0fdvgrSd!;fMg)D&fOki$l*B4{XJHX+qe2Urd6DrRX$f~w|AOvs`hvK^I z-XhuKL)AWR#DO%ec+nM_su@q|YcZr9)=nM1-($AwdwZY7*q-S>kZk^tO0=xoH@ZZJ!uY>sd-*^8p6931{0Q|&%);h0$Q{4!c-F%IC zNm10_0D3m9I!t9I)J@CPru=|kw2`JPqnkM7Yz`9v^sM@rAzls{`EPBuGaQY!+W_$J zc8qQ9lQunfXV4D}OADnUzFG8?#>;)M;eA8f4WOF2P0G!)D}Ze-w48*aG0#ErTDh}g z@}4C4s%j?%tTpVlg-rqo%5O%vub)V1gU#)pxGBGa3#zDo1O>)lwe*NIi?;N9GBhQ| zSH(XbOu={{iZ_Qi$WuRp(2x@t={yF_yV%!4jw;Xc$8P8a=LnoPEXHAho8L?Edd|8* z)!ZR)R`6i$7jYVv5_Gu=1=B4e*e`Rfbi$n$CPS=<_qIJ{c0T7k%2W+@3b71z5`)7T zwZD^-ElXvMVQFEYqS@!I%S;|&r|mO8Q{3pWYWNbW@tQ4J3{%Xfcd0jq1IkvH!3 z!H^X<28{!(e=gCzGza>EnVny-aaTgfn)Rc&M&D+-S846*vjFk>!GM1qq<;~;A9f#NvlpZ7I9zF?oDQOqaf4P9E@a3l$6d1fnV+rTjjqJ`R z8P*je`uq7G-vrNy^^k9jx3G=jsc~O#?6VGhyjv_O!7~7iaM6|@61;!`OUKims8uIc zQ0<=ig<3aCAR;|h{IGMK-(?B5^P8wb=SO+&k>_)OJ?~hI5>HrgK}R6vCQ}0bIFQp3 z%8Vsp$pLNa;CgD^f-`45`$6YSK9_g&geoKsYlPYMM!#P-#|O@T=;h<|{gxPYUqO5` zfU0o24x%^rB4p*yWxu^aa>hDx@|lw zFu;A?EAui4-PVi6&8;p&Oj$=&VpTo(c0yD8=9ewa!^eo5cipa%E26QVG(43W2jLPq~1JYXA zY}w?2jN?6qurxDHqzul9A8>;g0Fdn*36Ir*waoe*~9IAG4OCm=}Xz$G%5${@#jHrz528j=%eD zpOg_Qn~$=|0N56iHcXj-;gwXz$Uwm91fWyvHg?S=`Q5f^ld-W>fHM@rlQ>e{g=X@^ z-GuLU3fLouRbgNCPhnq~st!M<@HstVJKrRI$IOQNOF#nnl=VV^K3Qy~eVYKriqV)& zZJV2sZdP~C(|eXXW&4l@Npty;T_ik$XtTY{83@@+Bf?5oIhXrzf#h&4=HU7L60oV? zpVPf}g+Dic7w3h1XsvyDrZ`*mYCTihh$}+ysRDKfXn+6hd@-fr$9$fOM7cTkg%Qa8 z%o_%Nf_$9eFf9O^#k11Q30D75Gky}WcA$Ri=S!fA&(1Nxl1zAVDY|KMzJQj^hi%lr;qM-Gnp-lJxN z-GW2O1r^Vxz#YsF0IcIqq6~Q-*SibK>W5Ucb>Y6TL_xRW`4136w8dqbrS5Nd_~tKi za9P%IT;)cD`~@nspNCT7oKzbV9Z*)pC7S$+!eO$qssDD-yztCwJL}ZT_o(-_!jF4aK zRlZUwTW#NMDdoSLJUWz_S`v&s*Eq^*E<@apLI6*+D3#L09oov(sS2mc^PgUxg>DWMuZ|sFfqS z&K1&5W2s0$)KF*1f6a>B=`+Xu$|;b( z#vSXBVu=KDD*Y9Id9+y`a}ap^n*VA#EuLC!v5a$CcRL+P17-^jooZ8eaF-X4AMY8c z=wa-eEgL-`>=!(aK7P4s??HPV&zMV(9ba~X3W4D3rQ|u;u#~J){;Cgm+oT!HqRtkh&>n?hsT{T zfAROLS?@u3h{q2?kECCGERRyMx3#(Vcp%vGO_uS9nvK>CzVXOcZhP*}^q)!{TZP$C zfxBI&N1J7Qxi`JLf^KSaUO^uQyh}w~?4KNOrRb|K!_hmR#JPofADv zEfRdw3rwf$K#!n687Y`LFQR~Yb)3fJU>mg%5?+`lWajr`#e@Z2u#$aM)w`=(qoW%j zT8d_FxsF2R9%rUdjd5Bwo2Nv)@{Y-Cf|ec4IXqUe<+*OXz&bNJkV)5}a{7)n}usunwZZBqFxA zn&qExG!{iDI5e?t|7>Dfh|)NsXshIi0zSi0c?3{uc3j1`ANiO4>UG1i8^0RC)exG5 zmC;63q3%U!w*~5urDAk`n+DP!aqHyP9E0p{Ah=`%2^|(lG4bWi?~3@k6XToVb~vrf z!-G4vPMmq*In0Vncl5u zPu+QfHwYo8S#2?3BCHNfT~7n4Hx01I0v1Qwo6Ru;`ZtipzGHsow8Lvk!S{Y4 zwra#TW~$#pPY_SB2UEU@c(#(!P(HZW5quYk)B5Ag=u4khSfH32`3St2 z{Y(i9E2UDejb#XW6?Q0yK*^wT!3XYx;8sIZNL;ll{PY4)qYvpCzl~ zF0-7qCj66W6HmTZV&xS@QXlOI)jP;qH23~h^Ry*nCW#E%>jw};TF?KeHUAGA@BgMA z_>#)_fG8+lM~a~DcgT`;7s|yITL$4MgVv`l{m=B)DGKL`D1Fk836&1K0R3nd&n5-J zLzEHzm-6Gm4Cr8HWo4b&UwB)~I2lEWyII7`rsiT>)*1jlw17RrRcSw@Z-@?j{}PF4 z#+ODC%7r=Q&liTkKj!e7H{j9|H-F%vVB>xuyKMnS#Fyvv(y+0!ngZb{uFyD^z?3ZT zvoJvVJma~!+z&6+AAaQatm!M`Iyfw1O9}Jfl+cjW5Uf<|SNxUCpp9bEjk}>_Txq-Q zP~_r(Bin!@z0TOr{pS8rDqD2SBV^3OWU}1g8z@F@L0m;i;EY76=ZI#b<=?C_y6=~? zi;5SpYMr|U`xC!Zbnhwd%^c z+pgDy+!*m-@_}4bePcsFik}d*1Q@=n#Hk9!V_M0I3%c?a$Rd$u0MKKj_AWB*M*PhG zrGtY#c`dLQC&P1;hnfy%w0z(o0C_2 zJ%oGO&w@n_U0y;>>j&^MX{HUf^)f`EBj1LjSWj+t9Z$>dc8Vd1{f`TYl1^_S-Q zbOyK#FVP6ea_Ixo%^?qNI=6O$H}JjPi*Y9W%Onc)TGF=tSg^cpFb|N9*&Mav;)VR# z9+l9YO9Zg7K;Ks|1O@32{C~r&v?2oFAlyoW|m3h(g>how(zWt~A~K0Uwhm8|hE& zp4mXgVXk*-1i7D53$RPVbZ?~^102BqHsZfYqHdqT z)AtIgIOZ59Cw2B-Hj@`@jYH{Gba^{`lL3|f)sbPk!}}U&bs>G%`+S{vAX+Rf=7ZMCgmAf0Nv zNy7ArdwV(0Wb2Bc^F8^6YT;|*0PMc7w!boZ*U zJR1yAv45;BwwqX!Wo=2;?;?N&=ALwsk$xFt4j6#%KiC!sxy>Vu*?eR!r%mGU=)l>b zaf02$$=cu>b@vAq#SdDG=lZ?=oz)%Gelv?l;n|&j0s*{*?AOHe6h2up9-W|))o0bG zuc~j!bJx{rohNd`#_RQDCjJU&wnaz&u4nN~|{^Su%r!6Xc%5)35$Rg@;mCx`3Ai#M482eRi) zG}Bi;1_}*!Xh`};1}Wwsy&c^9VrfH{uQeHLY$|K%|RYvwL%4J>S=O8L~oEY8lIH?=rKzw1wmT0r#6c zMsMC5(AnKo#-6Ig#n=b?&3L21yAOI3mAm~L6+PEKB{Uqn)}iWn;@=4hinG~Q?j>sy z$!IQ^tizt!aaHpmi+8P}Y~mY|`-tBTs8rHE#{U1Cg!wlr`(JbT{}=xMXCJl16}eh4 z*u&lIsx+r^-u#OQR;Efh$iPC=0TSla3+VwPt+E+HvG(2q1Xlts_Q!dB43t6f^SztZ zAny{b2y7qtTlXH!o;;)}-bSX)z=`YbobqoX zQ4uTF6a(VI?)O7JC%ULy;pqIcl$NdR8D6&bzZVQ98i=C&+D&I94A_e+o~mgcvWDHd z!p@}hi^U&OXZ8KNuk7CT`&2CLPORrXAQe{aRpFMDh1<@@dE>jUr_82!4a1KatS=ml z4)oME(gyE)GO&dGACl?r;h3j>ot+0&6o*%n{TqbZ>B^tHeQnsy!MF1cn4Uu<_I32N zH(6Kg!9R~F@e}?{Wp8dd>?IlB|Mhk&GUvAhNU(LE``3PkQQcppp~vnt7DJ%agpv2D z6L_Sv?+~lpQ)^K{*Yd&`6w_y+z%1!7M>boO3*;SNn|@ruN2;K6zR zHmFZqYy*Z9{c^{rY6_#*!;}+Asc&Yt&JBWDG9|l@LP1)~lJ*2xz=&`0jo>X8N7uqfaL>iZv5Se% zO%&kw?SuXE}D&6@SEl0tX-XBTOS?CIkYy247ZVu5mM zR-xjeM@w2Z2eMyZ1`Gx!CbUs5=h4f7vy1Mxi+1Q>&}KG!#?^Y zj~zza-D8a}dm50#C){Pf51sq$EYJ8a4XS@7@nz^Ie0>bE@m%*hiCq8}d=4GAl>IcU zEU>DF#POn2M@88^KE-HX5F%MGEa~OSjjN6-S`E2;V3|Bfg~Bfyh``qqRfrq@@%ePk z9vfue13}dJL)6`XrIh)i2GN;7UNUIXdpd=ZxK*Oio(gb@55*84_G6GH4dvHXJTyUz zQ6V3dL63Rt#c$`I9l!r+IkIR2HPS}?#nU1E#oPIrYkQopK95_>vuPC_>-H%(My?zz z;;k)G4~TuX2NFYSsL?Yz=5k#MrJVAj8VwUB22|<|F;1{ z5JWP~!g%Wear5)3i5y`3{D znC>q$0p(HI4DTM!$RPS)TzRuFQRip3dqtvMs)S!N9AQZiN15V*9T?ZpmFM2hzwxv8 z+}D8Bh9Lm$ifE^*4JjZXy`=V3zku^$;`c_LA8hRVL)q81O+V7qtLDqUcoa%L<{r0p z2;WVLpk_Ntv?d2J>6%qNdqwdjHG6jjCvk@iQw8PNfp<2DFOtjcd9WSrJH3s|`E%5H zH=71{>G^$2&rUTl;wCg4aX}vhn`i``$dOt<|LnsRQ_UG+p&S*uu^$djfke}9hWv#0 zS}TBnzMuCpOn_$s(bUQ|lEnqKn!QfrQ$uEvdsV6&(P-)-p|=!+D_&oum)d0mz@Dv| zsbs9_V2bpKvMc+P^(pIS0<)rzG?JI@4>?Q0I0jz63TleNdHcm^j5b$SINcd{&M!9W zRA+8lIH2_>!FWXdb485%qbZFlIQ_Hv$N@BKlNnE^+yWwqmdYxBV3sn zxRQ|~M9Lu7aT5GE`-Ak>LU?IH&r1d#v^D|#Wbxh&azO)J<7d8oW$sm~L|WeCZ%h`` z&svK)Ic8UGwSfEFyP3|DhRdAD7QOowhTO|pN}TaipV!+bYY$pilrJS=Vt1`yV;3~3 zZYbj$96sKf%83nnESrX_*JQHj98yUoczL@^%D)KpZ-W)EwZ z>8>p*YM%I>h_NNC#Y+Ws(&hZu>7KBv&9Ogx-mqzPgH!}^jHJ#n&0LUmRDl9o;kiYCOzGjae=V$0|Iq2;xIVXF zvwJ`O^F$%}JQDcP`g6ro-$Y#p;%7+G$8s5s9J*#7(!6(k;!8LK@ z&VquAWljI1|K1@J;opwqh+N?mqM1=JsjzriFrFm3 z#tGaiENtGNl$FJ8d~QW0G~I7vf19;uL8@B_|0-6V-DwVF8)NdKK{oGXY{>)O?3E!~ z+>|))ij945Lpe+)^c(-dz|sqj+5PZ@BesC1m*#_w zf`!rgCoZS)l*Eel{uEKWaUD@EulpE5&ub?VHb2*Htx^NPyXRF4oe*T>UqGVtsNFaG zD2CxxyT%E2o%1UEisy4utaaGqZ+Sq%WbVf!cCk{2<;Pqvj%WV#Bp`YdO=atXf*y_% zVW}@{e&7D$iYn;G9YSl`gwe7zW>h=W8Uw?SP|uh`1&4AZIptNdXn_zJTI7??ZPHHb z&&9tkA3`7ve%2dz+2I%8$Mt?mXnQO$-il2=y-X4}!1-hvy*4m|T+|J;@-P&6-E~dw1|34M^KZW_{{mPS!-fJF6#MOdD z7M(5aOhli<#88!1Rzy@f>?xQSu$y9hdrSf@xaX@lGEQ$`UEh6XFzhvPxf}V~+)u|X zLc?z#&A@pdZKa~Eqsp9H51S0N63 zsuAi)-~#a^AFhO%=)Wbskl{jd&DTXdjap@#J)6U;a?ZtId#Ruo7w?BQ)mVN{h?Yb> z2a?x-r@HKN;7hSr^{LcVA27Egsw%uqfn^WG;;mqO`x9Sd8p%#_psV$V}V*_|&Pj0M`@3!@bL--J2QInSq- ziYUZrGIc*se}z?zp=lJLlf_n+C}$PVc#x3&M}9;I#?Yt`;{c7BqVFdMwKN#F0P0&y z#qF{6q8_Zts-Fd!snP8<`k=WVm*9ygaF1BB>FmPp6Sza~9Ts}tgYml&8j*56F04M3 zoICx*wEHvxsZRomKT@yzZ`-O7EXA!_Y8x>_B*SMy2B$b&*SILD`Nw`PtcTZs+jk-= zCUj*>ICuRAsDu|Un!FZSC17JTtzx8|dvZ$?Pk}gSVjLpqR~_ec%Ttj&2`25G-Qib43(J~>hozX$lpYxiOlNnvrd%x5n*1mVw`ow1>1xuCc_+1b9hDT^X2 z-UE@MG5hROVzY22sX8*&6?T_NTgGUjt@uvoBXm=V!eFJ!p&WAhe9puBzm4RN)3W*g zU9!9YE|6bQL~S2!24c}_wG8!f6EPqSDanp2{Ejb+fZ|BI8sgXGbWca}SwJ@$hH9~; ziai)Ej<#uH3Y*7bAiFt0+4Mbhf^m3(yCA2sCMY~OgQ9MmM&|T_#vX2bqW`jan{$5G z;DyP9hKd(wqKj!Rt=t=o8&sWd1BU&(5eHivA9BoB_kD^@Pi++(;#;fu(x9t-y`^zq!7?-nUXe?l%1RpLv>I^J@w#t`mwJ+E(?wbzXN@&y) zIxWgce#;W!q{|CX1DexQy|Cx6q-I8yfP^EWt0$BIN2B}`Z3t^;Y$0IXoh9@SqqCPv z|0bmq_}MN}B%@P=c2|>xy6J(d<;=7chdHPnOYw7rqIrK;!k%qo*qRLftghs<@!gG9 z#A-l4mW;te{Bqh3L>+v95;D7t?cBaCf)t1P4lnqPc`K7ZCY_0 zUU7A882hE`dwKb7E6qB9d=I=(n<%k0AP$96Gc{C}pOc=^Dp)f4jkM_+3IlfWYR+Jz z!c+C)I>yt>#hd|n*HA!yKB%auNJ?3_ap|^p=I9hKXzT2dl-K>=} zK}F7U*M#;X2d(O@^Jpa>7m%gcb;oYFp(oKggT74gom$Dk3r~(s5Be1ZMLycR+?F>z z?x=o3Jmm@r)p~mz8ptq)hW;<7md7ZFW(4@i*Wu0cl7z~F~W;k7gr#{mk)MPC3l&room}u%NhVLc2 zdC=#Qe%frRSUSZs%WbL_kQlDmTY^vH+>bddQdBpU`0Jn0K*;YmV?5jAqEW`(d>V=m zoLZ&enllezu7*pBR%`uYucQ6Cophuu5n6D1A`z+qE)&;HwbQxT;m#X>o=Tad zVHQQ(c&17a`9iBJA5gl2(Q@0{wLxlyeB=6tH6~L@!DtpcGeU^chInW z^}?NZpSULa<~aWA$>Mf1;o|6*v}W}g=z#*e!9(cTP4Pz;y@FX6cA~h{u%0bKvkT1X z38&_x6_f*g>zlvfT z@FflYWw|iM;DES1_&QGnINv2+2PtJ*ziemWq_43dS_SFvDtP*K^dg}Xj&dI0=R$hf zaWyzWE$Rmbv-@FN-3MrQICX%#5%!xGUrFwp&WA5h)#2c;oW6$ccM(ep>BaR&bX=ZW z5CiW$`dC&tc-{Qr&(U8$t+dU38RqeT<=_a_@&cvxhY^@u@dGS}HO_n>jo-L~jf!dxm;|6L zGau}!*^nSnbUut;1dxR+y;phf#I>y32)+Pqdk0CnqlurT(EV@+vHZ|%Nqvq&PBs?D z4ripVlS{^DkxNcR(Kz%3952I_25*eeCLdag`wPyzO2&D0`#_AHM&+K;iE}@x!jbH^ zB-`C+uzenymk4@+UNj)RhcS3Ri=7SiCDvpf_ux=G`U8>vL{@m3`nxZEoY8 zO(+p}`oc8Vp(jn8x)ipM$j`}X9{ed)G)FnyQxC^}(S|@JfLj;Q|%EQqgPk#i;SEsL^#T^$n-0r|yk?XLaqz z_q3BY{9Dd2U8Ea18QZlJQ! z;NVKs;9_fholvolnVc1uVhJ=l&+qg9jpF>WCq`a)P{SXOjZ|iTI9<97VF-!0?w>_F(#eZf^PURPH z#zTxc14lpM_jUVo8UMkRltotGW_2Hko(syoozTrg&(H&VCu~9oW`q^7MV@hi6AS{aU3MESJKu6Ty?UFgVphRv(0jLB3 zD$aouJ5+X*cW5ejO`=8Cpq)PE_@b@Admbv!q5K|tKesduyASlVm^KbEYN!wAUAB@l z)(36hO)QLaP2&E>#c$u+^XS{FRon}fDS}eQl68fko4j^MkwY9+ef5KT;f66Ht8c7E zG`g=O1c-H4%QsWO(pUuypNNYP|Z=Pt7EPgu%QZ(La1W_gYVGRQs2-mw_ z)Mr~#L1W7FV}{uKcNCrH*|pcuYMnp^A$(w`aHarf{nO~M z?rE6sp9COcMt@0lWdOCqilsY#f$B2N`r!}a@7OBrur@+}=QG*$YM9}1f+VW*j z=P|!19Ka=}QyZ;FJQ@turwXML8&`3EM5R4g)^hM-lvtJ#bG<>jVMK{Z@csspkzQd`HMS)1oT1}G` z<>Wl%0^^-=Yz-qXRM1Zn&Lqh$ZntE z4Em}FL;11s2H9JYoUeZ%o#y3b(Rdw*QMoS<$qn{P|Sb;q4QhPiEX1 z)+s7)+;Y|bEJUJiUZwz=wBpMx#nVf=TZXZ>-i4L6l*-{cjy>01LtK(F;bd`hA6|7Lpe-X#)c1)N zqdl7GR~oc?UgQRXOKZ=#A7>^8q>Bw4ndEk4XI*lScKI+>kC(?ZayB%>)I9Gck^O}l zy-|ub?j2HQj)9cJV5S@XFA}16WhAQ3yU(7re{QTUn;`47?4OSiB6dC(+wk5=sk~pf zJ8s*>e@S8abH1XuvRV%Pvgy~IySwe#$i&!y&X|DTo1Gi0jB1zQ`>$V6wK2nf0}OBe zQ|$Jq5h_hHij(Kb<4HDC7EL~l?fV}Q+j2Q$L(T;%WojhmpyUD$KK0by10lh?U37s+ zMS;kve)x}ikx~>}b&*+)6L(o@vHG9Tck{y;yKBv4y^QVne5NhJ`WY_qrJP6_j*MXUvk;!0C&toTIAOS1dF-rbQ5J(M$*TKkn~&aW|$?vI%1 zQrDxPPtW@Uu)3b>w_|_*4(IY_yX`B^#(K=V|97h%y$7+s=|`nI8TpL$Bmj#LDd9Ef zVa!lfXa4`A>n#JKY`?AX8M;9b>5`I0x*0@7QbM`~>F#C_0Ridm?v#`sKi%4SQ`#)!3NnQtz{ z^yxxa^OdkYztMSy2)L5q{Vd1-S^1282YY1YCKua|1#$%&&$q1YfMGE%}Y?0AZ0s7-7XBixhcp0Hi5WT?MxtG{omzxiQw z3$2WOMq97Cu62LuER1{U&Zz&o>+@-9@+qwxtaTUGy1L{$JXPw-ho)OaS7fhcujuji z2A?`Y8-*@f?o~TmepK#gY=TH>(HYH4#nPCC3w)uu%$Z}?tDy`em5w-u+Z2u%mydA-uFeqKU61f3�U}NhEhz;PbRIL+UtjbHt-#V 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%0ARBSR^_;#uf{H!i^pRMhuS8@UxjqdFG-FW!SZp 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 G+`j>e!VYf$ literal 506676 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�$Hli}TV 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

O;rC|DA@;n*rmU@E4b}3;^M#efAaIc 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 Q8J$Zf(|4&k)N9oL0YI`VsQ>@~ diff --git a/examples/fire-bullet/!REMOVE/GhostFire.wav b/examples/fire-bullet/!REMOVE/GhostFire.wav deleted file mode 100644 index 4f75a0debea6c67da545382532d7035ab6b2469a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24664 zcmWh!byQSu6TaKMEU>V2cXxM-pkRQgV4)aT*xlWQ*oi+>6a}QaySrJM-37LL@3-HX zbN{&K%(?fy_nnz{=9zictqKW=+71A*{xQLO4j$Jd0RRAzOHd{N+};EMpa2O-+;Mz| zm0Sk^U;qYC1XKZizzT2y{D4qkwOqmgfBBs$pbUt?39ttI2fhL?fV;sc&>wUKok1Tk z42%PhfzQEWa1Mk5_P|cy2~Y;i0T_rOL=A=f$W4BL12(U;2V%E zU*Q7y4ZII-0?j~~Y*bb!E0l?307wGO!Ei7I`~Y@=2)WjJ;1rMsVO&G1_S|XfJ`6*cnjPEjsu$jcYp$nf&aWFg|bOmk8HQ>uTM{k>r46!=-~}KKVhL@5K7d)nGvETa zIs$`ef=|NN!P8(x&~nIM;1zgP)+4Qxbc>PVB#~IyAiN>W5~_;wMfb%ICAm_T{3!xp z74$YN1O6Vd138a$L2W`gp&F6eNJoS!yd6q`eg#ayENQp|DP9()2>%JZ1quQiL7HH- z&`(4Y*-PF_O~67R3|a%zMSMs6MV>`TP!4Ey^k0+|xf>?Dt+IPfX30g?v=;Km4bWDhbDbqO_&{E9R~9!6Y(?}Qmb zTL2KOl0B9llbjJ}i14D@qG-`N(LIq+^h&%(5+hwL^8g(HbBGFb37QEDfmgxca2+@a zJ_Nf61ED*iJ0UHA4e$_T$+pYJq|P##bV%AF?Ut@c_2v6>Q*Ny=x%FO<@BftC8Z&_V zz&`ms1)zZy;7jm;Y@1x`ob0o#Po@S2gY95EFb^DnOhSU8&!9sv5GH|j%HM>Br9i78 zcOW-_vtWwswDg6fOYAP56+RT65`GfmMLD7;;%DL+Nt|o~+z(lVu7Te{EFrTyjCEz!!0%*=DS}Oc&-^<~mj$`xSSN ze^0be3d&$mF1!F`j}5|)5*CT(3K0rD#2SJr9*@0^%7YVO2tX*oh}Q9$92x5>D~UP2 z!diLH9A$msOz`dqoWx2pB!mqsM*3m);o5Lk1UPXG5k<5mbl?OS5A+Hm304HaWbxt| zL7?COkIh+R$Frl^_3T2Amj<84I+dnKoy`uNHx?EdKc0O5P?Xt7MvF!k{yHWg*`@|!hkqD@s2_g z=`HD-Vin0&0mKJmby1lxML;BV6n*2JWY@0zS&C$Uv^rWmy@Ekq&Sb%O)xv7A6!d_v zMJwVrD4R&Y%?ohvF! zB>Ldu*+tRf271C$<4QL>o*yVq0I$HVqd;^Jo}l2ZSfX@JIYs%S(h<@JqBA}M10at> zn`KtwZs7asl zmIu872?pRGM0!As5RC|={3Co%{x*Iz*N^v%?;$i12TIR@Hjok6PUL^+r&uLCh46wP zP`IUVhS-nK#_FTJ5k}A`AV=aVgz)Uy)D@d$Ky>`BMF`+AA_k;X9TEM}daItL%F#ziDsg z&P^Yt-kt25JVL!Sojun>t6W*lbCaxvUO=qF6_PHfB&%=Ja?_dC3D(io?$fwP@lbXk zzD8$24}%Ycv+Ud@i^Y?(Wm5%HCDbXZ)%3mD#RbzPb@l;Xk2o13L5Aav72{OO)Y{Zu zYi!e`XjZBppjeP~NR@akv;hn%TM=k;ikDeSU9=Mm?76LT1#_?kC)$;zH_R|@qOe{X z1}#7`upKxd@rB}T<#Mu>N)!35asI{PhCbH!nKaf!`* z$*N@U<{syd3GYY}Kubsp>?7g>YAdD&+l1SW-;43UWTSgg8Aw;e0~iKU3?|7mq!Z#g zQJ+v#cw2ly{6;(}UL%>5JeMZQD3FVgQHT@tBD4TXmD^Ch{M;@FBS5O`n#@7AEJBJ` ziL=FC5~}2#bhoS<^ntv9w!((sxri8K5z-hd!JNXpL!Uw^BG14ppdTUjV7KIr=$(MZ zd&Zq*Dl(f_l$mo(Pd1EeDYvIxqC6=Dk_5kw+JG&^pCH95-BU)8tCgFSj1;LvKZR=C zIH~}40`wF6@blQ?%U|eviwEal&ZW=2m?zC$U#O-3Te0CHLPWtH+_q6+3Das%KfisbY!K^G-6^HkdSt}(?i{upl3eL8VIk@0xB zmb*a$g+0a8DI}=`XnfW-&_8Z?#VEk2z<{lb&^@ZbAZHTiP$NLIki$}6o}IrwWirkj zh7BbTIt(Qb`HY57CeI$HTd_BZ3LxnSI=)<)s;;f;Z)k2(V!Fz#%(UJ3fdN_PfttC} zL*gn_Ip{24te7ntO{0!2lfu}MsujsGg$fz%Ux6l3B{Zv8B(Uz9dwTv zo-uJSyJL3F^qTP{gD@SK`lu2f-vp19z7sxXv1sC%$%(EJ*5KBGgM(v(Z-?KERZth_ z=!|EaG{F_{G%|qjMR}+C8XbtPqd|a?rg5$j$N{0kloAP-F_++>AY3%XA+G$Pt<06oADUg7j+lNtT|84aH%n_@TF=_VD;Mnob>You zC2S|bR*^tnr#eR|Q)^OFR>6{El%OPSLMcX!;6e6+BjR`ghAU>SUDjeGEU#T^V)QXi zE&W_R$o$KG&6f(lNKS+Mpj#0h=tZnDwi)L{@FP-*N(#+HEU^Xi4Q-7|MjV9sK$d04 zrA=ZB(IFSTlGWB!fR?9Ml!x)~R z2T%s+v-nbr);3}ocD~f*<(n(Q-EX)J~gqX?B zh_HMUcHQz4J!_G&U^%}sw{t#jMm8I{;6Q)29K%lFiv=yxRHzf`Htv|hh|(_=vWAw{ z2JJlUU~QxpMkAi$sOC*>R1jg=h#{a`4CO1aqn30R(`LJ-#wP0~Tt<(LejLl0csb=f zca&zalEK{0_mOJAn$V_1g7OwhtLA!LuKs7k^+qV88iSX5mHIfHXX@w3b3_P+1^on? z2$xw#jHS8csnT)Yh}z)q{w@951N6aykpmNR)15P)Xf)iHRjUSQvGt0K zE}1%+x0}aU`B|)&%`${d|tKDg$& zo^fG2I@xWsj5D7#NY|`UK8BltMvAD+SVqDOe(ZifyeqYJbJMPd=DONCa>Jjd+ilmo zZww|*{G7_9>2Z1`FAz4wWVx5e7{JX-Z4w+?UHERD?r%NLxno>o98cRkG%M0K(b%Cn zN68fvO|xVOKuv!rFRA*@bXgRY&gVbpmv6}4^bnIDRv#x5RSvgaEBikJpP zibkt`nb~@)Mf*gT4EL{|5ndlWKe?y5E?B%vg$_sb zNIL#CKdt{+L#(c?>ZrD;yI)_{tkk)$|Kr%>S?uxzf3M^eVlNRxvC{o)5@fx{?y+;K z`wlOvH_33sf?Tb@@?YP-H{jci!ihk(7uy>+#reMB)!e{V$S4E3M6QNG0`edb6 zCAliLMp~=b6w-dV_ru7!X*#`{yFs)Mb{Oxf@>qMVak$l12bNQcdyQAW&nI6^-*9hN z4`sIy#{zR-*>Tnv<2H@`iG1g@3g}?Z(Du zZCyRg;npc{x(fHVumakQdq>7=FB*}oh_-`HZ`{4SGkm-K{`p1w=6hfFFmd^3x7q@2 zsHpi+2_O;>Vlkg(v)DQb4lZ<|I@UJ5uO(FdD!*TrRn}JCSShMm*I3e~-5WC!H2rTr zn&~B44U5L>sXWv^YFuY_-FBO^r-#)0xgX14AwcLC=o{k|;HKfowPG8W=+~)7D4s+g z0eADRFqWqcCzA)0x?Ed?bq!U8<-?`cWd>zY<^L*!YgZaSwR`n#83HHW7pbf+@fduF zKvsI9k!FCf$hEuf66dMuo8|k@|4x8Oz_f_CwKdKiv~lX=11iz>>^}baFJ6_ zOPo4C?9`Lhif=emx3g+j`Q6gVlH^kJa;2)3nxw|@HlN;oBR;SjU{mrQQe z`ey`K-E;WjROe3fmijRQ{saaE?)4A#MS5ksCO8;aQH&F`Yt#;t>QD?Bkr&Mvp6(gR z9?b4aX;G;ET;*3TEEy<9mcB2IFZZglt21jRb%ykMjtox8Xg4{LQcI+WC{qg5)Hd92 zfwCWPsq*~gJL78|5Er;3FgO6^_t$H!+a0G-n*=ix{SE3E#eL{kpsn~3OJk8Y89HR! z-P)qjtWpP5EtN4!&?SK-A4^wPxK&%#tGCcP?+gr%m(CrbmvBO)i->DPx+?Vl)@t5n z`^NdP$4j4g{x1TP0!jiz{`!9I-jVM6oxa+*S)4c2(+VWR@K<3oqP47)r5&?B$5Q&c zJLpY)wcjg$R-(%f%KzHlQds%VN{3qaM)S7i?h`|wCSw*(FqL@gWZ#iIq6%e3C&Wa} zdfMiyQ;hp+?=^nw1J(w524?%I`(E@~a7%K+*iMuAq04$ZDr` z51WiyS=%H#GF;zz9`FhGv-j8VH}m=C<>WEo^3LJ8b*pKD{&TI*DyxYw+Q)1%3)w zuGFdiRBzsdVz$K^v}ZZ%yI=AIyx)00@fdawbsKVi?eN5=)qI=LE!{`z#>zYK@d$gF zkk`IUVBDEqH*s~yrZ>4Gx@Ar4iKeX$#QLXo^g68u{iZu@&pJ2sRtz?bZJyq>*tVk2 zeIV9`7NS=vP7CUE%4^7UwE%4&{VpSh>2-^HRu|1LSj<@zSS*|0Gkaq4P9Lo+ z)I6j1l)R2qhm#?1!60C=Xn?zc$)Z=y_e?*SxlC;xzc!jN96FRVNEkdYIy_o8W;ubT zZki^~&Cv#ylv$6tfkIuW8blW%M4rG-5G)nL$qtl0b!)BH>N=XMwY0SFX}{2R)jq1V zpW>jJPOejWOR^xI!(B#+;TxbYz*@<&P>a8blgL@kTEB8_iAq0Bi&)&XaFk)lP-X-& zav4cWTb3WLT;bO6>;<*Lv*Jjp8(0nTfaSp*kl#^c%wg<5Tm@zqb{V@3_ZLUSF>ymU zD)Ks#guIEEhFimTz^*_y$?Bwb(liMu-Xm@oQA8RdBaxG6wP>H{p{PW(S;mt+1oePl za=arKVhv3|6`;f@6SSvXOwck^1r~y}!1$sAQJzRM#2m~UnhNk_yQMR74 zDiYNwt!ZtNZl|uP9!c+k?q?m6L7*N%=Y-}BwNRBhMG|ole+)eXiw0{%Yk2@`mVsH| zPWw&rM~#QO2H^edPG-lWj@FK!orc|xy`BAzeau1Yu>tDToEM{$^;nQ42B2Z+qr^RA zWsN<$5k?i}W;QH)CFhH-*6tb}6rUFFEU#J*6}SJKZrjyadRPV-Fu{yKW}lO?2D!Vtdl|v@K6ICarM@ zA$Y4ho;0&GxT<;|dsMcWb#!)gsJ?wmgIgIpH#75c`t1+>uP?kDcwYWY<@xXn?5nhQ zC%(|Xwf?To|5JIiWvYLC%4=nU{}^ts_)7b&xw3PgZ^f!(YfEB>68(MyghD~cPg&p?4;@)X@$@IJSF=Zm20~z8^Gn}SrLl#}c zrlR`5%3sCk{M|WierQ7f@VDC?kZ971|ROvNW)*{B3WCUg#T5rlBhutt{8F?P_>7R={&Q&ChSY6-P{ zYRk;lx#k7tV(wBa%aUIvJ_-0EMsfOzE~*&K+q&-!Jx!x5-r8q5BAnBlcRBBJdgDN_ z%d|gaea39uAX^KqDj>c=X+h_Nxy+9XO_NbWYr1zgE7#sDpDA+8znQy`y*oSdcU9Jo zY=b;;(MZLg`W@{hU6>KtjQ7fr=p7=S#L{RnFtw(;@O<^dqSo%-czDaVZP#`Rcfk_h z?QGfha?6L!+8cI6+z8BYXV{!Kyg=DPN`sa0qzhL^FLY|uT`&He`{3vIFRJfoFTI|t zKh1rt|HR~3N$S9xq|ebm&gQHsbgmJ#A00WkP|CA~KULhQZfTO@Aoczj=D6!|6F*Ip;>KO4W-j#6xghY4u3nep8{FB;WqrNxXK z6xc#&w^8ry;l5)_|GZJH2+pbNz=PtV6uq*UhrC0g-IuC=t|8j z94>iK{V)0T2djs>Mp~?0T6=4)Ao60!<-q5@Z5{#6SX)0csQyKbC(76GM-eAvKlzr- zdU;(zB*ryS8=zoy-BR1~R%Q_U1{cTv%)2itmg&QOp(621 zq$t&Qnm_cm8)ujwvVLb*=4R}f;h29Fr$gSMGw=K7#o1j!aP0DUEh zT+*I)9Ln$Ls826HpCA6m{l}j4g-<;n96s!MZTj}ahgDyn{_xDUEcUB?-0-qz*JSn5 z70F(#zgnNM&|2FwIW%`&-PY5)za`tIKu*n`p`FE?4LtQJ#VL7oU%_@_3@W_C>!ZzY zT_=(&I!ur<&mAB&$%=))oxXg1XZn2e{Vg{GuNqtiE{|PFyzYHx>Cx7-#LuI@UKYhy z9qw=(PhJ|41`+mZVJxlf!+qkytv045oZ0g?+2ZK7!;&LyM+Og>9cbS@n{YoSeN9ym z)!or%Uf)?|4Y~kwkDIlye(YO!XQQCPr!ct)@^9o1_V<&_l+27@=6`1LnZ?qImAYT8 zO1)DddrF%_P{koR1≫E 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 diff --git a/examples/fire-bullet/!REMOVE/HealthOrb.png b/examples/fire-bullet/!REMOVE/HealthOrb.png deleted file mode 100644 index 2c95548889ee3f6f3831357cf9dfb0cfb81d2a0d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 78 zcmeAS@N?(olHy`uVBq!ia0vp^Od!m`1|*BN@u~nR5lY6EFY( diff --git a/examples/fire-bullet/!REMOVE/Healthbar.png b/examples/fire-bullet/!REMOVE/Healthbar.png deleted file mode 100644 index e4a52ca8fda7224f35bbedb81471e5a645e171b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 153 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 k33)>2P_XM_^iYe*@!dPi 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 diff --git a/examples/fire-bullet/!REMOVE/Upgrade_Armor.png b/examples/fire-bullet/!REMOVE/Upgrade_Armor.png deleted file mode 100644 index 9db391ee668110d856dfea7960efdaaa3ad84845..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 275 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?3oArNM~bhqvgQ1Gay zi(^Q{;kV(Ad<_abkN>}aSU*F;cLKxfU5n%*9vwZqHPyn+>o!xE-fxi@HzwaOp2dc1 zQf%wb{j8ahpO|VJ&uycW^tASd5APz0kJk+ki@s2G6pH@%)_OC`cXs6mxB8Dm$;7lM*Y=2vXf^% VO1i}aSU*F;cLKxfU5n%*9vwZqHPyn+>o!xE-fxi@HzwaOp2dc1 zQf%wb{j8ahpO|VJ&uycW^tASd5APz0kJk+ki@s2G6pH@%)_OC`cXs6mxB8Dm$;7lM*Y=2vXf^% VO1i%5*`n0kWA!92cFk@>;D@2QMw9Qm^|KMEWO7FA++xpKwX7mN+n^I09m<0}su zJ=O7J+`yB$v#xuGy5^rB3Y_Tu6{1-oD!M%5*`n0kWA!92cFk@>;D@2QMw9Qm^|KMEWO7FA++xpKwX7mN+n^I09m<0}su zJ=O7J+`yB$v#xuGy5^rB3Y_Tu6{1-oD!M&#h#CX zBz*)HGT0VsH%K$dZVYTF_h-Fe_28T7>a!Z#*E40&#h#CX zBz*)HGT0VsH%K$dZVYTF_h-Fe_28T7>a!Z#*E401p_XYF=L zVAmJ_(L9|?B5%jT=LfGpyU66uc`d^0^1S6SjhC$dPnuvVK4n7rwms$3eob4*6#g^g z=z}$COA5k-i!8jR*jZ+7T-flX^DWDtrMuMRr2bs}&5>6a0(1$3r>mdKI;Vst0NBS+ A=l}o! diff --git a/examples/fire-bullet/!REMOVE/Upgrade_Power2.png b/examples/fire-bullet/!REMOVE/Upgrade_Power2.png deleted file mode 100644 index 1bb0acd72fd3b65216dc4b070eb9ebbb6d932f7f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?3oArNM~bhqvgP_WL^ z#W5t}@Z0H*Tn7|*SpNR6{$%gX-{`vS+Z5gxY)2mV7*4Wid;DdFO4LI^!>1p_XYF=L zVAmJ_(L9|?B5%jT=LfGpyU66uc`d^0^1S6SjhC$dPnuvVK4n7rwms$3eob4*6#g^g z=z}$COA5k-i!8jR*jZ+7T-flX^DWDtrMuMRr2bs}&5>6a0(1$3r>mdKI;Vst0NBS+ A=l}o! diff --git a/examples/fire-bullet/!REMOVE/Upgrade_Speed.png b/examples/fire-bullet/!REMOVE/Upgrade_Speed.png deleted file mode 100644 index 02ba6f97343279041c3e1f479afe487f3c4f5717..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 234 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?3oArNM~bhqvgP;ic? zi(^Q{;kVPgxeh4sxD@~Y{G?7-uSLsjX3dt^lmo6u&)9hV5t#aK3HOzCznB!l1D8#o zZF5@v%Wor_dEGNC*RrSSb1bNhR#@_3syWLCwnW}`#wbVm&owGBpW3!+xg747yDb{` zur}91MQB~+42C@qC-L(na9;0wyXAI3mIbF0E5pk&mP4!wH?yRUOssuZ>3?N)#g5HO eH?H3Ir8BQsLp#mMUZM-=P6kg`KbLh*2~7Y@gX diff --git a/examples/fire-bullet/!REMOVE/Upgrade_Speed2.png b/examples/fire-bullet/!REMOVE/Upgrade_Speed2.png deleted file mode 100644 index 02ba6f97343279041c3e1f479afe487f3c4f5717..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 234 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?3oArNM~bhqvgP;ic? zi(^Q{;kVPgxeh4sxD@~Y{G?7-uSLsjX3dt^lmo6u&)9hV5t#aK3HOzCznB!l1D8#o zZF5@v%Wor_dEGNC*RrSSb1bNhR#@_3syWLCwnW}`#wbVm&owGBpW3!+xg747yDb{` zur}91MQB~+42C@qC-L(na9;0wyXAI3mIbF0E5pk&mP4!wH?yRUOssuZ>3?N)#g5HO eH?H3Ir8BQsLp#mMUZM-=P6kg`KbLh*2~7Y@gX diff --git a/examples/fire-bullet/fire-bullet.json b/examples/fire-bullet/fire-bullet.json index 7bfbb9ff6..170471abb 100644 --- a/examples/fire-bullet/fire-bullet.json +++ b/examples/fire-bullet/fire-bullet.json @@ -1122,7 +1122,7 @@ "metadata": "{\"jfxr\":{\"data\":\"{\\\"_version\\\":1,\\\"_name\\\":\\\"Powerup 82\\\",\\\"_locked\\\":[],\\\"sampleRate\\\":44100,\\\"attack\\\":0,\\\"sustain\\\":0.013461135465436147,\\\"sustainPunch\\\":0,\\\"decay\\\":0.17404619835517798,\\\"tremoloDepth\\\":0,\\\"tremoloFrequency\\\":10,\\\"frequency\\\":1000,\\\"frequencySweep\\\":1100,\\\"frequencyDeltaSweep\\\":1300,\\\"repeatFrequency\\\":0,\\\"frequencyJump1Onset\\\":33,\\\"frequencyJump1Amount\\\":0,\\\"frequencyJump2Onset\\\":66,\\\"frequencyJump2Amount\\\":0,\\\"harmonics\\\":0,\\\"harmonicsFalloff\\\":0.5,\\\"waveform\\\":\\\"triangle\\\",\\\"interpolateNoise\\\":true,\\\"vibratoDepth\\\":730,\\\"vibratoFrequency\\\":997,\\\"squareDuty\\\":50,\\\"squareDutySweep\\\":20,\\\"flangerOffset\\\":0,\\\"flangerOffsetSweep\\\":0,\\\"bitCrush\\\":16,\\\"bitCrushSweep\\\":0,\\\"lowPassCutoff\\\":22050,\\\"lowPassCutoffSweep\\\":0,\\\"highPassCutoff\\\":0,\\\"highPassCutoffSweep\\\":0,\\\"compression\\\":1,\\\"normalization\\\":true,\\\"amplification\\\":100}\",\"name\":\"PickupAmmo\"}}", "name": "PickupAmmo.wav", "preloadAsMusic": false, - "preloadAsSound": false, + "preloadAsSound": true, "preloadInCache": false, "userAdded": true }, @@ -1132,7 +1132,7 @@ "metadata": "{\"jfxr\":{\"data\":\"{\\\"_version\\\":1,\\\"_name\\\":\\\"Hit/hurt 63\\\",\\\"_locked\\\":[],\\\"sampleRate\\\":44100,\\\"attack\\\":0,\\\"sustain\\\":0.09,\\\"sustainPunch\\\":0,\\\"decay\\\":0.03,\\\"tremoloDepth\\\":0,\\\"tremoloFrequency\\\":10,\\\"frequency\\\":700,\\\"frequencySweep\\\":-1000,\\\"frequencyDeltaSweep\\\":-700,\\\"repeatFrequency\\\":0,\\\"frequencyJump1Onset\\\":33,\\\"frequencyJump1Amount\\\":0,\\\"frequencyJump2Onset\\\":66,\\\"frequencyJump2Amount\\\":0,\\\"harmonics\\\":0,\\\"harmonicsFalloff\\\":0.5,\\\"waveform\\\":\\\"square\\\",\\\"interpolateNoise\\\":true,\\\"vibratoDepth\\\":0,\\\"vibratoFrequency\\\":10,\\\"squareDuty\\\":50,\\\"squareDutySweep\\\":0,\\\"flangerOffset\\\":10,\\\"flangerOffsetSweep\\\":-1,\\\"bitCrush\\\":16,\\\"bitCrushSweep\\\":0,\\\"lowPassCutoff\\\":22050,\\\"lowPassCutoffSweep\\\":5900,\\\"highPassCutoff\\\":0,\\\"highPassCutoffSweep\\\":0,\\\"compression\\\":1,\\\"normalization\\\":true,\\\"amplification\\\":100}\",\"name\":\"CloseChest\"}}", "name": "CloseChest.wav", "preloadAsMusic": false, - "preloadAsSound": false, + "preloadAsSound": true, "preloadInCache": false, "userAdded": true } @@ -2853,36 +2853,6 @@ "numberProperties": [], "stringProperties": [], "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "UI", - "name": "RelativeBulletSpeed_Text", - "persistentUuid": "2519a318-609c-4596-a49f-63dffc80174c", - "width": 0, - "x": 48, - "y": 578, - "zOrder": 102, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "UI", - "name": "RelativeBulletSpeed_Checkbox", - "persistentUuid": "90d01712-42ee-4207-88fa-44f3e2eaf2a2", - "width": 0, - "x": 16, - "y": 592, - "zOrder": 103, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] } ], "objects": [ @@ -9993,27 +9963,6 @@ "r": 255 } }, - { - "assetStoreId": "", - "bold": true, - "italic": false, - "name": "RelativeBulletSpeed_Text", - "smoothed": true, - "tags": "", - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [], - "string": "Adjust bullet speed \nbased on shooter speed", - "font": "", - "characterSize": 20, - "color": { - "b": 255, - "g": 255, - "r": 255 - } - }, { "assetStoreId": "", "bold": true, @@ -11270,53 +11219,6 @@ "absoluteCoordinates": false, "clearBetweenFrames": true }, - { - "assetStoreId": "", - "name": "RelativeBulletSpeed_Checkbox", - "tags": "", - "type": "PrimitiveDrawing::Drawer", - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "Checkbox", - "type": "Checkbox::Checkbox", - "Checked": true, - "HaloRadiusHover": 0, - "HaloOpacityHover": 128, - "HaloOpacityClick": 196, - "Enabled": true, - "IsBeingPressed": false, - "NeedRedraw": true, - "IsHovered": false, - "CurrentHaloRadius": 0, - "HaloGrowSpeed": 0.3, - "TargetHaloRadius": 0, - "ToggleChanged": false, - "PrimaryColor": " 24;119;211", - "SecondaryColor": "255;255;255", - "SideLength": 24, - "LineWidth": 5, - "BorderThickness": 2, - "HaloRadiusPressed": 0 - } - ], - "fillOpacity": 255, - "outlineSize": 1, - "outlineOpacity": 255, - "fillColor": { - "b": 255, - "g": 255, - "r": 255 - }, - "outlineColor": { - "b": 0, - "g": 0, - "r": 0 - }, - "absoluteCoordinates": false, - "clearBetweenFrames": true - }, { "assetStoreId": "", "name": "UnlimitedAmmo_Checkbox", @@ -11931,17 +11833,6 @@ "1", "" ] - }, - { - "type": { - "value": "Checkbox::Checkbox::SetChecked" - }, - "parameters": [ - "RelativeBulletSpeed_Checkbox", - "Checkbox", - "no", - "" - ] } ] }, @@ -12190,63 +12081,6 @@ } ] }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "Checkbox::Checkbox::IsChecked" - }, - "parameters": [ - "RelativeBulletSpeed_Checkbox", - "Checkbox", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::SetRelativeBulletSpeed" - }, - "parameters": [ - "Wesley", - "FireBullet", - "yes", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "Checkbox::Checkbox::IsChecked" - }, - "parameters": [ - "RelativeBulletSpeed_Checkbox", - "Checkbox", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::SetRelativeBulletSpeed" - }, - "parameters": [ - "Wesley", - "FireBullet", - "no", - "" - ] - } - ] - }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [], @@ -23443,7 +23277,6 @@ "colorG": 16, "colorR": 189, "creationTime": 0, - "folded": true, "name": "Take a shot (if triggered)", "source": "", "type": "BuiltinCommonInstructions::Group", @@ -23830,7 +23663,6 @@ "colorG": 176, "colorR": 74, "creationTime": 0, - "folded": true, "name": "Reload gun when needed", "source": "", "type": "BuiltinCommonInstructions::Group", @@ -24584,46 +24416,6 @@ } ] }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Add the speed of the player to the bullet", - "comment2": "" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "FireBullet::FireBullet::PropertyRelativeBulletSpeed" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "AddForceXY" - }, - "parameters": [ - "Bullet", - "Object.ForceX()", - "Object.ForceY()", - "1" - ] - } - ] - }, { "type": "BuiltinCommonInstructions::Comment", "color": { @@ -25399,101 +25191,6 @@ ], "objectGroups": [] }, - { - "description": "Adjust bullet speed based on speed of the shooter.", - "fullName": "Enable (or disable) relative bullet speed", - "functionType": "Action", - "group": "Firing", - "name": "SetRelativeBulletSpeed", - "private": false, - "sentence": "Enable relative bullet speed on _PARAM0_: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "GetArgumentAsBoolean" - }, - "parameters": [ - "\"UnlimitedAmmo\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::SetPropertyUnlimitedAmmo" - }, - "parameters": [ - "Object", - "Behavior", - "no" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "GetArgumentAsBoolean" - }, - "parameters": [ - "\"UnlimitedAmmo\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::SetPropertyUnlimitedAmmo" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "codeOnly": false, - "defaultValue": "", - "description": "Object", - "longDescription": "", - "name": "Object", - "optional": false, - "supplementaryInformation": "", - "type": "object" - }, - { - "codeOnly": false, - "defaultValue": "", - "description": "Behavior", - "longDescription": "", - "name": "Behavior", - "optional": false, - "supplementaryInformation": "FireBullet::FireBullet", - "type": "behavior" - }, - { - "codeOnly": false, - "defaultValue": "yes", - "description": "Unlimited ammo", - "longDescription": "", - "name": "UnlimitedAmmo", - "optional": true, - "supplementaryInformation": "", - "type": "yesorno" - } - ], - "objectGroups": [] - }, { "description": "Change the firing cooldown, which changes the rate of fire.", "fullName": "Set firing cooldown", @@ -27516,78 +27213,6 @@ ], "objectGroups": [] }, - { - "description": "Check if bullet speed is adjusted based on the speed of the shooter.", - "fullName": "Is relative bullet speed enabled", - "functionType": "Condition", - "group": "Firing", - "name": "IsRelativeBulletSpeedEnabled", - "private": false, - "sentence": "Bullet speed is adjusted based on the speed of _PARAM0_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "False" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "FireBullet::FireBullet::PropertyRelativeBulletSpeed" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "codeOnly": false, - "defaultValue": "", - "description": "Object", - "longDescription": "", - "name": "Object", - "optional": false, - "supplementaryInformation": "", - "type": "object" - }, - { - "codeOnly": false, - "defaultValue": "", - "description": "Behavior", - "longDescription": "", - "name": "Behavior", - "optional": false, - "supplementaryInformation": "FireBullet::FireBullet", - "type": "behavior" - } - ], - "objectGroups": [] - }, { "description": "Check if automatic reloading is enabled.", "fullName": "Is automatic reloading enabled", @@ -28314,16 +27939,6 @@ ], "hidden": false, "name": "ExponentialCoolingRate" - }, - { - "value": "", - "type": "Boolean", - "label": "Relative bullet speed", - "description": "Adjust bullet speed based on speed of the shooter", - "group": "Shooting configuration", - "extraInformation": [], - "hidden": false, - "name": "RelativeBulletSpeed" } ] } From 0b53c3e18420552573ac1cea776b153c8fc23c99 Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Wed, 26 Oct 2022 20:58:14 -0600 Subject: [PATCH 18/22] Changed wording and prevented firing during reloading --- examples/fire-bullet/fire-bullet.json | 55 ++++++++++++++++----------- 1 file changed, 33 insertions(+), 22 deletions(-) diff --git a/examples/fire-bullet/fire-bullet.json b/examples/fire-bullet/fire-bullet.json index 170471abb..0b9c8e4ac 100644 --- a/examples/fire-bullet/fire-bullet.json +++ b/examples/fire-bullet/fire-bullet.json @@ -27090,7 +27090,7 @@ "textG": 0, "textR": 0 }, - "comment": "Verify that the gun does not need to be reloaded", + "comment": "Verify that the gun does not need to be reloaded and is not currently reloading", "comment2": "" }, { @@ -27106,6 +27106,17 @@ "Behavior", "" ] + }, + { + "type": { + "inverted": true, + "value": "FireBullet::FireBullet::IsReloadInProgress" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] } ], "actions": [], @@ -27728,34 +27739,34 @@ "name": "HasJustFired" }, { - "value": "0", + "value": "45", "type": "Number", "label": "Firing arc (degrees)", - "description": "If Bullet Quantity is greater than 1, bullets will be evenly spaced inside the Firing Arc", - "group": "Shooting configuration", + "description": "Multiple bullets will be evenly spaced inside the Firing Arc", + "group": "Multi-Fire", "extraInformation": [], "hidden": false, "name": "FiringArc" }, { - "value": "0", + "value": "1", "type": "Number", - "label": "Angle variance (degrees)", - "description": "Used to simulate imperfect aim (Range: 0 to 180 degrees)", - "group": "Shooting configuration", + "label": "Number of bullets created at once", + "description": "Multiple bullets will be evenly spaced inside the Firing Arc", + "group": "Multi-Fire", "extraInformation": [], "hidden": false, - "name": "AngleVariance" + "name": "BulletQuantity" }, { - "value": "1", + "value": "0", "type": "Number", - "label": "Number of bullets created at once", - "description": "Multiple bullets will be evenly spaced inside the Firing Arc", + "label": "Angle variance (degrees)", + "description": "Used to simulate imperfect aim (Range: 0 to 180 degrees)", "group": "Shooting configuration", "extraInformation": [], "hidden": false, - "name": "BulletQuantity" + "name": "AngleVariance" }, { "value": "true", @@ -27788,10 +27799,10 @@ "name": "ShotsPerReload" }, { - "value": "0", + "value": "1", "type": "Number", "label": "Reloading duration (seconds)", - "description": "", + "description": "Object cannot shoot while reloading is in progress", "group": "Reload", "extraInformation": [], "hidden": false, @@ -27880,8 +27891,8 @@ { "value": "0", "type": "Number", - "label": "Heat increase per shot ", - "description": " Range: 0 to 1 (Object is overheated when the next shot would increase Heat above 1)", + "label": "Heat increase per shot (Range: 0 to 1)", + "description": " Object is overheated when the next shot would increase Heat above 1", "group": "Overheat", "extraInformation": [], "hidden": false, @@ -27890,8 +27901,8 @@ { "value": "0", "type": "Number", - "label": "Heat level ", - "description": "Range: 0 to 1", + "label": "Heat level (Range: 0 to 1)", + "description": "", "group": "", "extraInformation": [], "hidden": true, @@ -27911,14 +27922,14 @@ "value": "0", "type": "Number", "label": "Overheat duration (seconds) ", - "description": "Shots will not be fired while overheat duration is active.", + "description": "Object cannot shoot while overheat duration is active.", "group": "Overheat", "extraInformation": [], "hidden": false, "name": "OverheatDuration" }, { - "value": "0", + "value": "0.1", "type": "Number", "label": "Linear cooling rate (per second)", "description": "", @@ -27928,7 +27939,7 @@ "name": "LinearCoolingRate" }, { - "value": "0", + "value": "0.3", "type": "Number", "label": "Exponential cooling rate (per second)", "description": "Exponential cooling happens faster when heat is high and slower when heat is low. ", From 9c9da1245759caf518b97387daf8485e25e6ff52 Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Thu, 27 Oct 2022 08:22:27 -0600 Subject: [PATCH 19/22] Added actions to reset stats --- examples/fire-bullet/fire-bullet.json | 304 ++++++++++++++++++++++++-- 1 file changed, 290 insertions(+), 14 deletions(-) diff --git a/examples/fire-bullet/fire-bullet.json b/examples/fire-bullet/fire-bullet.json index 0b9c8e4ac..d5670f833 100644 --- a/examples/fire-bullet/fire-bullet.json +++ b/examples/fire-bullet/fire-bullet.json @@ -12211,6 +12211,129 @@ ], "parameters": [] }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Stats", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "MouseButtonFromTextReleased" + }, + "parameters": [ + "", + "\"Left\"" + ] + }, + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "ShotsFired_Text", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::ResetTotalShotsFired" + }, + "parameters": [ + "Wesley", + "FireBullet", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "MouseButtonFromTextReleased" + }, + "parameters": [ + "", + "\"Left\"" + ] + }, + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "ReloadsCompleted_Text", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::ResetTotalReloadsCompleted" + }, + "parameters": [ + "Wesley", + "FireBullet", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "MouseButtonFromTextReleased" + }, + "parameters": [ + "", + "\"Left\"" + ] + }, + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "BulletsCreated_Text", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::ResetTotalBulletsCreated" + }, + "parameters": [ + "Wesley", + "FireBullet", + "" + ] + } + ] + } + ], + "parameters": [] + }, { "colorB": 224, "colorG": 16, @@ -24822,7 +24945,7 @@ "description": "Change the firing arc (in degrees) where bullets will be shot. Bullets will be evenly spaced out inside the firing arc.", "fullName": "Set firing arc", "functionType": "Action", - "group": "Firing", + "group": "Multi-Fire", "name": "SetFiringArc", "private": false, "sentence": "Set firing arc of _PARAM0_ to _PARAM2_ degrees", @@ -24944,7 +25067,7 @@ "description": "Change the number of bullets shot every time the \"fire bullet\" action is used.", "fullName": "Set number of bullets per shot", "functionType": "Action", - "group": "Firing", + "group": "Multi-Fire", "name": "SetBulletQuantity", "private": false, "sentence": "Set number of bullets per shot of _PARAM0_ to _PARAM2_", @@ -25586,6 +25709,159 @@ ], "objectGroups": [] }, + { + "description": "Reset total shots fired.", + "fullName": "Reset total shots fired", + "functionType": "Action", + "group": "Stats", + "name": "ResetTotalShotsFired", + "private": false, + "sentence": "Reset total shots fired by _PARAM0_.", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyTotalShotsFired" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "0" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Reset total bullets created.", + "fullName": "Reset total bullets created", + "functionType": "Action", + "group": "Stats", + "name": "ResetTotalBulletsCreated", + "private": false, + "sentence": "Reset total bullets created by _PARAM0_.", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyTotalBulletsCreated" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "0" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Reset total reloads completed.", + "fullName": "Reset total reloads completed", + "functionType": "Action", + "group": "Stats", + "name": "ResetTotalReloadsCompleted", + "private": false, + "sentence": "Reset total reloads completed by _PARAM0_.", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyTotalReloadsCompleted" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "0" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + } + ], + "objectGroups": [] + }, { "description": "Change the number of shots per reload.", "fullName": "Set shots per reload", @@ -26026,7 +26302,7 @@ "description": "Number of bullets to shoot at once (evenly spaced inside the Firing Arc).", "fullName": "Bullet quantity", "functionType": "Expression", - "group": "Firing", + "group": "Multi-Fire", "name": "BulletQuantity", "private": false, "sentence": "", @@ -26122,7 +26398,7 @@ "description": "Firing arc, in degrees.", "fullName": "Firing arc", "functionType": "Expression", - "group": "Firing", + "group": "Multi-Fire", "name": "FiringArc", "private": false, "sentence": "", @@ -26647,11 +26923,11 @@ "objectGroups": [] }, { - "description": "Ammo quantity.", - "fullName": "Ammo quantity", + "description": "Reloads completed.", + "fullName": "Reloads completed", "functionType": "Expression", - "group": "Ammo", - "name": "AmmoQuantity", + "group": "Stats", + "name": "TotalReloadsCompleted", "private": false, "sentence": "", "events": [ @@ -26664,7 +26940,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyAmmoQuantity()" + "Object.Behavior::PropertyTotalReloadsCompleted()" ] } ] @@ -26695,11 +26971,11 @@ "objectGroups": [] }, { - "description": "Reloads completed.", - "fullName": "Reloads completed", + "description": "Ammo quantity.", + "fullName": "Ammo quantity", "functionType": "Expression", - "group": "Stats", - "name": "TotalReloadsCompleted", + "group": "Ammo", + "name": "AmmoQuantity", "private": false, "sentence": "", "events": [ @@ -26712,7 +26988,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyTotalReloadsCompleted()" + "Object.Behavior::PropertyAmmoQuantity()" ] } ] From 0c4c24bb1ed6a8946089283ef6c790ea11945427 Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Thu, 27 Oct 2022 10:37:00 -0600 Subject: [PATCH 20/22] Removed periods --- examples/fire-bullet/fire-bullet.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples/fire-bullet/fire-bullet.json b/examples/fire-bullet/fire-bullet.json index d5670f833..d4d7c0e8a 100644 --- a/examples/fire-bullet/fire-bullet.json +++ b/examples/fire-bullet/fire-bullet.json @@ -23279,7 +23279,7 @@ "description": "Fire bullets, manage ammo, reloading, and overheat mechanics.\n\nFiring bullets:\n- Cooldown: Time between shots (seconds)\n- Bullet Quantity: Number of bullets created each time Fire Bullet action is used. \n- Angle Variance: Each bullet trajectory will be adjusted by a random value within this range (degrees)\n- Firing Arc: Range of angles (in degrees) that bullets will shoot. Bullets are evenly spread within this range.\n- Rotate bullet: Change the angle of each bullet to match the direction it is travelling (enabled by default)\n\n Ammo:\n- Starting ammo\n- Max ammo\n- Shots per reload. Use 0 to disable reloading\n- Reload duration\n- Automatic reloading is enabled by default, but it can also be done manually.\n\nOverheat:\n- Heat increase per shot. Overheat is reached when another shot would cause heat to go above 1.\n- Cooling rate per second\n- When overheated, the object cannot fire any bullets\n\nStatistics:\n- Total bullets created\n- Total shots taken\n- Total reloads completed\n\nBullets:\n- Each bullet is assigned several variables that can be used for advanced object picking\n- __FireBullet.BulletID = Unique number for every bullet created\n- __FireBullet.BatchID = Unique number for all bullets created in the same frame\n- __FireBullet.BatchOrderID = Unique number for each bullet in the same batch. Can be used to identify the position in the firing arc.", "extensionNamespace": "", "fullName": "Fire bullets", - "helpPath": "", + "helpPath": "https://gdevelop.io/game-example/fire-bullet", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWJ1bGxldCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xNCwyMkgxMFYyMUgxNFYyMk0xMywxMFY3SDExVjEwTDEwLDExLjVWMjBIMTRWMTEuNUwxMywxME0xMiwyQzEyLDIgMTEsMyAxMSw1VjZIMTNWNUMxMyw1IDEzLDMgMTIsMloiIC8+PC9zdmc+", "name": "FireBullet", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/bullet.svg", @@ -25716,7 +25716,7 @@ "group": "Stats", "name": "ResetTotalShotsFired", "private": false, - "sentence": "Reset total shots fired by _PARAM0_.", + "sentence": "Reset total shots fired by _PARAM0_", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -25767,7 +25767,7 @@ "group": "Stats", "name": "ResetTotalBulletsCreated", "private": false, - "sentence": "Reset total bullets created by _PARAM0_.", + "sentence": "Reset total bullets created by _PARAM0_", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -25818,7 +25818,7 @@ "group": "Stats", "name": "ResetTotalReloadsCompleted", "private": false, - "sentence": "Reset total reloads completed by _PARAM0_.", + "sentence": "Reset total reloads completed by _PARAM0_", "events": [ { "type": "BuiltinCommonInstructions::Standard", From c4875273b60bdcf6d2e235fbf0287a61447c5d96 Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Sat, 29 Oct 2022 20:11:48 -0600 Subject: [PATCH 21/22] Updated Heat to be triggered above 1 (but never returns more than 1) --- examples/fire-bullet/fire-bullet.json | 51 +++++++++++++-------------- 1 file changed, 25 insertions(+), 26 deletions(-) diff --git a/examples/fire-bullet/fire-bullet.json b/examples/fire-bullet/fire-bullet.json index d4d7c0e8a..5de57c59f 100644 --- a/examples/fire-bullet/fire-bullet.json +++ b/examples/fire-bullet/fire-bullet.json @@ -1732,17 +1732,17 @@ ] }, { - "b": 209, + "b": 10, "disableInputWhenNotFocused": true, "mangledName": "MainGame", "name": "MainGame", - "r": 209, + "r": 5, "standardSortMethod": true, "stopSoundsOnStartup": true, "title": "", - "v": 209, + "v": 5, "uiSettings": { - "grid": true, + "grid": false, "gridType": "rectangular", "gridWidth": 16, "gridHeight": 16, @@ -1750,8 +1750,8 @@ "gridOffsetY": 0, "gridColor": 10401023, "gridAlpha": 0.8, - "snap": true, - "zoomFactor": 0.6549999999999965, + "snap": false, + "zoomFactor": 0.8149999999999966, "windowMask": false }, "objectsGroups": [ @@ -23276,14 +23276,14 @@ { "author": "@4ian", "category": "", - "description": "Fire bullets, manage ammo, reloading, and overheat mechanics.\n\nFiring bullets:\n- Cooldown: Time between shots (seconds)\n- Bullet Quantity: Number of bullets created each time Fire Bullet action is used. \n- Angle Variance: Each bullet trajectory will be adjusted by a random value within this range (degrees)\n- Firing Arc: Range of angles (in degrees) that bullets will shoot. Bullets are evenly spread within this range.\n- Rotate bullet: Change the angle of each bullet to match the direction it is travelling (enabled by default)\n\n Ammo:\n- Starting ammo\n- Max ammo\n- Shots per reload. Use 0 to disable reloading\n- Reload duration\n- Automatic reloading is enabled by default, but it can also be done manually.\n\nOverheat:\n- Heat increase per shot. Overheat is reached when another shot would cause heat to go above 1.\n- Cooling rate per second\n- When overheated, the object cannot fire any bullets\n\nStatistics:\n- Total bullets created\n- Total shots taken\n- Total reloads completed\n\nBullets:\n- Each bullet is assigned several variables that can be used for advanced object picking\n- __FireBullet.BulletID = Unique number for every bullet created\n- __FireBullet.BatchID = Unique number for all bullets created in the same frame\n- __FireBullet.BatchOrderID = Unique number for each bullet in the same batch. Can be used to identify the position in the firing arc.", + "description": "Fire bullets, manage ammo, reloading, and overheating.\n\nFiring bullets:\n- Cooldown: Time between shots (seconds)\n- Bullet Quantity: Number of bullets created each time Fire Bullet action is used. \n- Angle Variance: Each bullet trajectory will be adjusted by a random value within this range (degrees)\n- Firing Arc: Range of angles (in degrees) that bullets will shoot. Bullets are evenly spread within this range.\n- Rotate bullet: Change the angle of each bullet to match the direction it is travelling (enabled by default)\n\n Ammo:\n- Starting ammo\n- Max ammo\n- Shots per reload. Use 0 to disable reloading\n- Reload duration\n- Automatic reloading is enabled by default, but it can also be done manually.\n\nOverheat:\n- Heat increase per shot. Object is Overheated when Heat reaches 1.\n- Cooling rate per second\n- When overheated, the object cannot fire any bullets\n\nStatistics:\n- Total bullets created\n- Total shots taken\n- Total reloads completed\n\nBullets:\n- Each bullet is assigned several variables that can be used for advanced object picking\n- __FireBullet.BulletID = Unique number for every bullet created\n- __FireBullet.BatchID = Unique number for all bullets created in the same frame\n- __FireBullet.BatchOrderID = Unique number for each bullet in the same batch. Can be used to identify the position in the firing arc.", "extensionNamespace": "", "fullName": "Fire bullets", "helpPath": "https://gdevelop.io/game-example/fire-bullet", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWJ1bGxldCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xNCwyMkgxMFYyMUgxNFYyMk0xMywxMFY3SDExVjEwTDEwLDExLjVWMjBIMTRWMTEuNUwxMywxME0xMiwyQzEyLDIgMTEsMyAxMSw1VjZIMTNWNUMxMyw1IDEzLDMgMTIsMloiIC8+PC9zdmc+", "name": "FireBullet", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/bullet.svg", - "shortDescription": "Fire bullets, manage ammo, reloading, and overheat mechanics.", + "shortDescription": "Fire bullets, manage ammo, reloading, and overheating.", "version": "0.3.0", "origin": { "identifier": "FireBullet", @@ -23310,8 +23310,8 @@ "eventsFunctions": [], "eventsBasedBehaviors": [ { - "description": "Fire bullets, manage ammo, reloading, and overheat mechanics.", - "fullName": "Fire Bullet", + "description": "Fire bullets, manage ammo, reloading, and overheating.", + "fullName": "Fire bullets", "name": "FireBullet", "objectType": "", "eventsFunctions": [ @@ -23657,8 +23657,8 @@ "parameters": [ "Object", "Behavior", - "=", - "min(1, Object.Behavior::PropertyHeatLevel() + Object.Behavior::PropertyHeatIncreasePerShot())" + "+", + "Object.Behavior::PropertyHeatIncreasePerShot()" ] } ], @@ -23692,13 +23692,12 @@ }, { "type": { - "value": "FireBullet::FireBullet::PropertyHeatLevel" + "value": "FireBullet::FireBullet::IsOverheated" }, "parameters": [ "Object", "Behavior", - ">=", - "1 - Object.Behavior::HeatIncreasePerShot()" + "" ] } ], @@ -26460,7 +26459,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyHeatLevel()" + "min(1,Object.Behavior::PropertyHeatLevel())" ] } ] @@ -27867,7 +27866,7 @@ "Object", "Behavior", ">=", - "1 - Object.Behavior::HeatIncreasePerShot()" + "1" ] }, { @@ -27998,7 +27997,7 @@ "value": "0.1", "type": "Number", "label": "Firing cooldown (seconds)", - "description": "Object cannot fire bullets while firing cooldown is active.", + "description": "Object cannot shoot while firing cooldown is active", "group": "Shooting configuration", "extraInformation": [], "hidden": false, @@ -28018,7 +28017,7 @@ "value": "45", "type": "Number", "label": "Firing arc (degrees)", - "description": "Multiple bullets will be evenly spaced inside the Firing Arc", + "description": "Multi-Fire bullets will be evenly spaced inside the Firing Arc", "group": "Multi-Fire", "extraInformation": [], "hidden": false, @@ -28027,8 +28026,8 @@ { "value": "1", "type": "Number", - "label": "Number of bullets created at once", - "description": "Multiple bullets will be evenly spaced inside the Firing Arc", + "label": "Number of bullets created at once (Multi-Fire)", + "description": "Multi-Fire bullets will be evenly spaced inside the Firing Arc", "group": "Multi-Fire", "extraInformation": [], "hidden": false, @@ -28057,7 +28056,7 @@ { "value": "0", "type": "Number", - "label": "Ammo quantity (Current)", + "label": "Ammo quantity (current)", "description": "", "group": "", "extraInformation": [], @@ -28108,7 +28107,7 @@ "value": "0", "type": "Number", "label": "Total shots fired", - "description": "Regardless of how many bullets are created, only 1 shot will be counted per frame.", + "description": "Regardless of how many bullets are created, only 1 shot will be counted per frame", "group": "", "extraInformation": [], "hidden": true, @@ -28168,7 +28167,7 @@ "value": "0", "type": "Number", "label": "Heat increase per shot (Range: 0 to 1)", - "description": " Object is overheated when the next shot would increase Heat above 1", + "description": " Object is overheated when Heat reaches 1", "group": "Overheat", "extraInformation": [], "hidden": false, @@ -28198,7 +28197,7 @@ "value": "0", "type": "Number", "label": "Overheat duration (seconds) ", - "description": "Object cannot shoot while overheat duration is active.", + "description": "Object cannot shoot while overheat duration is active", "group": "Overheat", "extraInformation": [], "hidden": false, @@ -28218,7 +28217,7 @@ "value": "0.3", "type": "Number", "label": "Exponential cooling rate (per second)", - "description": "Exponential cooling happens faster when heat is high and slower when heat is low. ", + "description": "Exponential cooling happens faster when heat is high and slower when heat is low", "group": "Overheat", "extraInformation": [ "Linear", From 9cf9042c4f5ef6d6df9ee5e7a375b4a1c3f0f914 Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Mon, 31 Oct 2022 21:54:56 -0600 Subject: [PATCH 22/22] Final update for this version :) --- examples/fire-bullet/fire-bullet.json | 439 +++++++++++++------------- 1 file changed, 218 insertions(+), 221 deletions(-) diff --git a/examples/fire-bullet/fire-bullet.json b/examples/fire-bullet/fire-bullet.json index 5de57c59f..eb2faa5d5 100644 --- a/examples/fire-bullet/fire-bullet.json +++ b/examples/fire-bullet/fire-bullet.json @@ -11407,125 +11407,6 @@ } ], "events": [ - { - "colorB": 224, - "colorG": 16, - "colorR": 189, - "creationTime": 0, - "name": "Adjust firing parameters based on sliders", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::SetCooldown" - }, - "parameters": [ - "Wesley", - "FireBullet", - "Cooldown_Slider.DraggableSliderControl::Value()", - "" - ] - }, - { - "type": { - "value": "FireBullet::FireBullet::SetBulletQuantity" - }, - "parameters": [ - "Wesley", - "FireBullet", - "BulletQty_Slider.DraggableSliderControl::Value()", - "" - ] - }, - { - "type": { - "value": "FireBullet::FireBullet::SetAngleVariance" - }, - "parameters": [ - "Wesley", - "FireBullet", - "AngleVariance_Slider.DraggableSliderControl::Value()", - "" - ] - }, - { - "type": { - "value": "FireBullet::FireBullet::SetFiringArc" - }, - "parameters": [ - "Wesley", - "FireBullet", - "FireArc_Slider.DraggableSliderControl::Value()", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "Checkbox::Checkbox::IsChecked" - }, - "parameters": [ - "RotateBullet_Checkbox", - "Checkbox", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::SetRotateBullet" - }, - "parameters": [ - "Wesley", - "FireBullet", - "yes", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "Checkbox::Checkbox::IsChecked" - }, - "parameters": [ - "RotateBullet_Checkbox", - "Checkbox", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::SetRotateBullet" - }, - "parameters": [ - "Wesley", - "FireBullet", - "no", - "" - ] - } - ] - } - ], - "parameters": [] - }, { "colorB": 224, "colorG": 16, @@ -12212,46 +12093,59 @@ "parameters": [] }, { - "colorB": 228, - "colorG": 176, - "colorR": 74, + "colorB": 224, + "colorG": 16, + "colorR": 189, "creationTime": 0, - "name": "Stats", + "name": "Overheat", "source": "", "type": "BuiltinCommonInstructions::Group", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "conditions": [], + "actions": [ { "type": { - "value": "MouseButtonFromTextReleased" + "value": "FireBullet::FireBullet::SetOverheatDuration" }, "parameters": [ - "", - "\"Left\"" + "Wesley", + "FireBullet", + "OverheatDuration_Slider.DraggableSliderControl::Value()", + "" ] }, { "type": { - "value": "SourisSurObjet" + "value": "FireBullet::FireBullet::SetHeatPerShot" }, "parameters": [ - "ShotsFired_Text", - "", - "", + "Wesley", + "FireBullet", + "HeatPerShot_Slider.DraggableSliderControl::Value()", "" ] - } - ], - "actions": [ + }, { "type": { - "value": "FireBullet::FireBullet::ResetTotalShotsFired" + "value": "FireBullet::FireBullet::SetLinearCoolingRate" + }, + "parameters": [ + "Wesley", + "FireBullet", + "LinearCoolingPerSecond_Slider.DraggableSliderControl::Value()", + "" + ] + }, + { + "type": { + "value": "FireBullet::FireBullet::SetExponentialCoolingRate" }, "parameters": [ "Wesley", "FireBullet", + "ExponentialCoolingPerSecond_Slider.DraggableSliderControl::Value()", "" ] } @@ -12259,41 +12153,61 @@ }, { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "conditions": [], + "actions": [ { "type": { - "value": "MouseButtonFromTextReleased" + "value": "DraggableSliderControl::DraggableSliderControl::SetValue" }, "parameters": [ - "", - "\"Left\"" + "Heat_ResourceBar", + "DraggableSliderControl", + "Wesley.FireBullet::HeatLevel()", + "" ] - }, + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ { "type": { - "value": "SourisSurObjet" + "value": "DraggableSliderControl::DraggableSliderControl::SetValueMax" }, "parameters": [ - "ReloadsCompleted_Text", - "", - "", + "OverheatTimeLeft_ResourceBar", + "DraggableSliderControl", + "Wesley.FireBullet::OverheatDuration()", "" ] - } - ], - "actions": [ + }, { "type": { - "value": "FireBullet::FireBullet::ResetTotalReloadsCompleted" + "value": "DraggableSliderControl::DraggableSliderControl::SetValue" }, "parameters": [ - "Wesley", - "FireBullet", + "OverheatTimeLeft_ResourceBar", + "DraggableSliderControl", + "Wesley.FireBullet::OverheatTimeLeft()", "" ] } ] - }, + } + ], + "parameters": [] + }, + { + "colorB": 224, + "colorG": 16, + "colorR": 189, + "creationTime": 0, + "name": "Stats", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ { "type": "BuiltinCommonInstructions::Standard", "conditions": [ @@ -12311,7 +12225,7 @@ "value": "SourisSurObjet" }, "parameters": [ - "BulletsCreated_Text", + "ShotsFired_Text", "", "", "" @@ -12321,7 +12235,7 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::ResetTotalBulletsCreated" + "value": "FireBullet::FireBullet::ResetTotalShotsFired" }, "parameters": [ "Wesley", @@ -12330,64 +12244,39 @@ ] } ] - } - ], - "parameters": [] - }, - { - "colorB": 224, - "colorG": 16, - "colorR": 189, - "creationTime": 0, - "name": "Overheat", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ + }, { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::SetOverheatDuration" - }, - "parameters": [ - "Wesley", - "FireBullet", - "OverheatDuration_Slider.DraggableSliderControl::Value()", - "" - ] - }, + "conditions": [ { "type": { - "value": "FireBullet::FireBullet::SetHeatPerShot" + "value": "MouseButtonFromTextReleased" }, "parameters": [ - "Wesley", - "FireBullet", - "HeatPerShot_Slider.DraggableSliderControl::Value()", - "" + "", + "\"Left\"" ] }, { "type": { - "value": "FireBullet::FireBullet::SetLinearCoolingRate" + "value": "SourisSurObjet" }, "parameters": [ - "Wesley", - "FireBullet", - "LinearCoolingPerSecond_Slider.DraggableSliderControl::Value()", + "ReloadsCompleted_Text", + "", + "", "" ] - }, + } + ], + "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetExponentialCoolingRate" + "value": "FireBullet::FireBullet::ResetTotalReloadsCompleted" }, "parameters": [ "Wesley", "FireBullet", - "ExponentialCoolingPerSecond_Slider.DraggableSliderControl::Value()", "" ] } @@ -12395,44 +12284,36 @@ }, { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + "conditions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetValue" + "value": "MouseButtonFromTextReleased" }, "parameters": [ - "Heat_ResourceBar", - "DraggableSliderControl", - "Wesley.FireBullet::HeatLevel()", - "" + "", + "\"Left\"" ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + }, { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetValueMax" + "value": "SourisSurObjet" }, "parameters": [ - "OverheatTimeLeft_ResourceBar", - "DraggableSliderControl", - "Wesley.FireBullet::OverheatDuration()", + "BulletsCreated_Text", + "", + "", "" ] - }, + } + ], + "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetValue" + "value": "FireBullet::FireBullet::ResetTotalBulletsCreated" }, "parameters": [ - "OverheatTimeLeft_ResourceBar", - "DraggableSliderControl", - "Wesley.FireBullet::OverheatTimeLeft()", + "Wesley", + "FireBullet", "" ] } @@ -14695,10 +14576,131 @@ "colorG": 176, "colorR": 74, "creationTime": 0, + "folded": true, "name": "UI", "source": "", "type": "BuiltinCommonInstructions::Group", "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "folded": true, + "name": "Adjust firing parameters based on sliders", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetCooldown" + }, + "parameters": [ + "Wesley", + "FireBullet", + "Cooldown_Slider.DraggableSliderControl::Value()", + "" + ] + }, + { + "type": { + "value": "FireBullet::FireBullet::SetBulletQuantity" + }, + "parameters": [ + "Wesley", + "FireBullet", + "BulletQty_Slider.DraggableSliderControl::Value()", + "" + ] + }, + { + "type": { + "value": "FireBullet::FireBullet::SetAngleVariance" + }, + "parameters": [ + "Wesley", + "FireBullet", + "AngleVariance_Slider.DraggableSliderControl::Value()", + "" + ] + }, + { + "type": { + "value": "FireBullet::FireBullet::SetFiringArc" + }, + "parameters": [ + "Wesley", + "FireBullet", + "FireArc_Slider.DraggableSliderControl::Value()", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Checkbox::Checkbox::IsChecked" + }, + "parameters": [ + "RotateBullet_Checkbox", + "Checkbox", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetRotateBullet" + }, + "parameters": [ + "Wesley", + "FireBullet", + "yes", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "Checkbox::Checkbox::IsChecked" + }, + "parameters": [ + "RotateBullet_Checkbox", + "Checkbox", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetRotateBullet" + }, + "parameters": [ + "Wesley", + "FireBullet", + "no", + "" + ] + } + ] + } + ], + "parameters": [] + }, { "colorB": 228, "colorG": 176, @@ -14749,6 +14751,7 @@ "colorG": 176, "colorR": 74, "creationTime": 0, + "folded": true, "name": "Update text", "source": "", "type": "BuiltinCommonInstructions::Group", @@ -23275,7 +23278,7 @@ }, { "author": "@4ian", - "category": "", + "category": "Game mechanic", "description": "Fire bullets, manage ammo, reloading, and overheating.\n\nFiring bullets:\n- Cooldown: Time between shots (seconds)\n- Bullet Quantity: Number of bullets created each time Fire Bullet action is used. \n- Angle Variance: Each bullet trajectory will be adjusted by a random value within this range (degrees)\n- Firing Arc: Range of angles (in degrees) that bullets will shoot. Bullets are evenly spread within this range.\n- Rotate bullet: Change the angle of each bullet to match the direction it is travelling (enabled by default)\n\n Ammo:\n- Starting ammo\n- Max ammo\n- Shots per reload. Use 0 to disable reloading\n- Reload duration\n- Automatic reloading is enabled by default, but it can also be done manually.\n\nOverheat:\n- Heat increase per shot. Object is Overheated when Heat reaches 1.\n- Cooling rate per second\n- When overheated, the object cannot fire any bullets\n\nStatistics:\n- Total bullets created\n- Total shots taken\n- Total reloads completed\n\nBullets:\n- Each bullet is assigned several variables that can be used for advanced object picking\n- __FireBullet.BulletID = Unique number for every bullet created\n- __FireBullet.BatchID = Unique number for all bullets created in the same frame\n- __FireBullet.BatchOrderID = Unique number for each bullet in the same batch. Can be used to identify the position in the firing arc.", "extensionNamespace": "", "fullName": "Fire bullets", @@ -23825,12 +23828,6 @@ ">=", "Object.Behavior::PropertyReloadDuration()" ] - }, - { - "type": { - "value": "BuiltinCommonInstructions::Once" - }, - "parameters": [] } ], "actions": [

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%0D7G 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%0D; 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%0DZN-aZW<7 zi};SaxyQhhLs_itER203CN17LgYK`1!m*jyS%Lmr2z_&xq4KA5A>SNN$iJL`W2k|Y z=%Ep)VFGpT8%v{X*huMKc9AhKmwhpYTgo@Ybv5YoNB$P_=z}-1UdL0Cs{LV225ga` ztKG!oJ35ad?r6|&2O9HSjzbUZn6F*&W&kr!6r4AhG}wOB6PE4>=$$pjd{?zzJjeqT z3y%GYv;Kco%98)iJm_rWVN@?BqB+3Gg1Qx;{b)m&4@hjwzAsxI^*!WwnsyIPlpNjg zr7udJ1RBQKX}%}LYZaMft*QtwEZX%)M^i@*LEOIZFp~ac%NGYZ@nU+7R;F$}W|aYK zh_y;)C0TMz0RZN%C#ChK9eV4?Pc`7+8sabR=vN;3%>`)780U)IX_B08B?=jqiwWz8 zN8~U*Vv+SmZ+N_KS05(ZJm+2f`!J#=tRIgvCng@}W*y*KrBN*XHTrKz{AS@8Y0iX> z6298>8g!>@$9z`Uc%ErBzb!@^r7*%#AUXMToW6qxO-}?~K_L%X*4Pn-`-xf@Ex|@4 zL14*8?VgPT>~FfmaX3IfESK32 ziTJVBL{%mtMD1SB-}{9_HWN4^JY7H?o0rK+>D^y&PgfvtH6rAOr}ymzrR?#lt?CCc z@en46joy3?AtAz3Yg|$Mnv<4nrq)E|W-|^NZX9;JO{m+N>KDCy zz~h39)b7`e7N+ZP^M{J3Ts*xGo%;4dFy7Tdg6sA9TYRc`6`7F*7}6Ywu>>_g(cFNsr6JC1385y1$5TcQGjb>O$vgAGzj* zJF7Nyi8T3+?)*QhzB8(+E$a3p1PDD8=|!pqrHC|XDhMh~u2(@p5^NafBN&8Y{(vL#? zjYXcKS2-UPH4cguzm5Dm=^%HEb4KQoMOLLHQR%^FcMl^TFS?xVg5i&kKJs`3K^Y?j z4f$^W0nTZ#0UByNiqzpDZoCKUA%(9MN^@UO2{q==A2GAD3>EEj@!f$0ODFl7 zf2>DMN2b!>chJYwmp9}kf16X>--{U8P*RZzIp}+mzxPVkCRoRJ{rJ5UXg6EyFR@4ScNTLtr7oZ`LZPCc3X>~(b$2&N^M4r8-ZsQa zG3w-_MJ4i+CgTP3JwPnJ{&kBRdb7vTg7q#Z-9Dn^Rz{^ZT&+>wv(7bP6<|y7UoO`5ZYny$Eqcf3Ge?YyWI>fxK0EL$J% zE7`sG+-+%favZmi>NiA3#h$LcGFm5Z+}V`n#aTr@Ag1)L#Qu5Nx0lwib0 z=b6QA=N63~*Nfa@TnoOY`5{XE$jfg<2a7I6`dtxIMU)@h&*!h+8>7x@Fp^HM$U%j|EU7w!P>7ki7|J$=O*MQ z$6obV&KYiPxF$i~9R$WYY75=?GFwS0er8Y)Lx5MvtU`EYHrE;i^#MUJ9Ke3fpFU3F1lT}e+E zroP+l3!&+OiA_fg64BE0B5Wc+a;LPIzUnLozb)BdnjLcyi z|0ZxtGIb3pee`nYTP~F4D2n*YQ^ye$V~ZXy6nXI`@~Gc@!!dLdo@fj++LF08wiVY6 zkn3AsdQ;3?Z?@D#Ha8>XqR zGY>m!lG8Qg8wN;L-AZ5YkdMllYG(2JhG&$)1v8T#UgB(7&h7O54Tr zrqYI=t})JAx`G9MNQeu(0-#D;hBFFQ9wna1h+h|mEp+cvk&^legIYMj1ZvS<3|(*n zus=9Sf)hCJMOHZyzh;gd+EQ1vbXdrdXY{m?s|!O#>kHz{zMvF;OOd5QxUx>iBaK(Nor5!5+IqUz) z6M!@61&hCnjN?S6R6-|E4~wmLt>~gUN8zIPW@3rDsNc${-%rpOBW?o%mO$>lPu)ToYUhr)>dCKgvVhFo4POy0vfsad% zT_4q5jM2%J|CG=jm~f(0eyEUN=s=TMwjz*UJ(ptfOhlPG(TiOWr}3QBTXI}O&^ zI;VuUxkwG+rWZWcI<1fx=UCb%6k;1yUc4%`11lIdk`O6Qp&^aqbuEr`6tunLeyyI z6OmJP;-X3?#@cK?A(58n6Nx>#H`}O}OR`#q6}QjZs}>WzGll<%MoA*%!U_)CLQFJ2<-q^t)_@TYW-~%YdsTw>Vx)k&m>ukxav(HM2vQLuCrfF$Z z<_s_;@0!w}p$AdF!9bVVgs!Rq31n6U?g&(Nlv0!Jry@ET!UffzWPatL+@cxsQM4%` zKsG}WUc*>fg2e?rb_0^8i-2E8yPzI+L?TaP#`C%g;A$`Ndd~znjwhklNtz->alX;y zLI2u@W!KNeNydjs7d($(KcIh5=1YTDMjUW#=?mBPy)#CxDA(KX9@kiHQW0c?yCvrB820-j=0%a ztU&cION#xV_y})fuo4L!E0PIs44~6@M%_J3sowA~Nyre5G8ec`Y;Zz^=80-ts1wYV znL$>b_?vF)ZI{PAHxJgUmTMRcSwXo(rWr%unxHiR>~6t&(z4 zO8AQDNtXUP^wC%4G8zBi$?=+z9@5$$-Lq3vQ~Ypq8Nmdi-NMFBu5(lRndgb~$P|UrH4_rw7?1U?fBM5l;l%H- zf+6axrOwm!efp+pnY1r6RGE&*kZjeFt_}GlJEqzARdK+AJ}$VK*!1)Q=dGcxNTYzn z8gniZ#Y>f`aBqmZ^53OSh62B_SuY=Vog5>c0n=&_zz^eN60nJ$7d;{#RR+RtqLZ9U z609eUoP+jRQKEyB`?osClL>8PHf56Pn|Im4if*Djx~bWY{j$}Iwf!_imFJD;#>8d{ z5{1S!ZH{KG)}u`m^j|FV&?Jgd_5FSb0h>k0CultZbWpzG0y8oeZxY9n>D^ou7urTY z1i-o(7uY1SgQATDe>2QO$l}g3kIOoViON5MyKVqvfO91Q#UI4$D-z(Ic--$7^PV6K zW8<%Red+aIyezrIoS{@iFGOZ1k*APp;eEOqihTQnxK5+((g&6%Ln8)XBs8V_oEk8+ zreD}y(!4z~4L*K%3%2-G@CHm&=6P}4E@9^5ETDaPo-qlE8#jb#Zi3O$V=a4*(a zyJwU(`;vF_KJ1Z8F;P3TEK5fnUCK2S-9z}tdhjjdxbs0U4CkULp$1d5?+L8?(S*m3 zSq>0~zd||L#GekV_~7;6$6Tk$?`dgB;l$jQUHD_z_ z(IUI#@%`cNtj$II)L7$T2a(g*oM5gEHG7J>FtXw<_%>|7q)GR--x3oqb{6=>a%!aa zbcO(Xc^FLq%hqKH_OuPW;!YsKfkbIaXRz8*N_<&UseE{Q1l@%j-hEY0+6EUamkZ{t zViH6E)Ah6yt09$NaJ8qB_%7l{_`oUHAzi|-9ow?o?b?rOOuR8>pFH3G(dVx+U@302 z+gIV)+wZ5;dlkdu&Jl*4fyBO~=%(EHi81}Ma6QVxmkI)pNywS; zt#E}+H~R&t{~#WUu;0dF8gg5k_sL$b_&M(*Pq;8f6oj@>8N@{gO3X`1TArE_l1!50 zzJR2?uLemlD@m9OfU|HY)QqkvvtxfN;H0bh*q_R=s>~Uc&~Fh^zyLtEhI*8^Gn8pb z!bskB@<}Kvn+sm22cX~`0A&#ZTCu>vO(KUt0I2N+N+%pXNu8XD9B!Zj8ZFBn%1wa_ z4JySF{Gf;02$yu&hCnRuB!eEo;Wyw^6j)^`MCMS1DEk&B_cPB~l}dk!t5gsB4|$0A z>j@Po{I|h=Qa-&qge40ac@vIF9sG!K(dTaf^tZV$no!Z{5G;$2_Vih!q>_yeChihF zd^!K-Ny1+lk7raWLB;EFR2~Kq?;FE1`pB1#A^GdI<>X=6(XFN!l3;vsHy0!bUI1kw z2@2L0X;A&I!F~YNP5>hm58Sp7x!sO7;K>I$@BliUOXny><}G*ZgLH`mFdxWB_PpfG zh%d=$@Fa81bnmEt>}q1l3z}h1z3=PGpL*uH*4cMW@LyGn&zzn9DDb~t0GdhLrCe*A zFiHxFebbhnWQ{g`Xf2X(0_`p!YtBwqP_?(YNz8;6mGIcFon#KQI8(Rb%mpUV7)s)~ zp>Z{44FU&)N8t}t@4(!F3f@h9@F50aZKu)SQ_zoyCDYPL=X9cg zFGgC+yzQQa=5qPEXe9$bL^@Kfv z6~w3T(Tj!ySpbqsi6|x5(Bj~es6IrlA%DYRoLJ&6{YWG!6&z+`fCx}v7J##OQd^1; z&<^&%8GK{7^0LoXZAj4!9hlD$^});;WM~HcH5W{J1DQ7O_2mk)J}Qp3%S^Q1Me9Jv zTBUEGK=mlZLmVfq=C)${=6z&IyCqbQ*nv4ibdHEz1gQ|Th;Vl0In3uFiVRIYRmia{N6mIVrtKORQ?(yxZlf-hy`s`kimv)%WS#a%-M z&jOorz!07Bmk^yHpKS>Ji-d1Li;r2hT%li=urlm?NGF5Xp9h7KPy}NPGusqBn|{5t z^RRfyBdR6T6M*c0sXOwykD{#P(nF~Niz@4!J{=ity@f(}X3&pKA2Viy{|UEeu^&@E z0c#GeV4@xzqbTzeqS5JQibh}(7rN(YWpHWd@JLjLXUgEGLOKlM!a@fY0j0oL%YOk! zkN^i~h_IUrPJp=k?4UW#SrC5hr4foQ#pId@=PPpWx2Bl$z`g%exi`e0w(un#I5}pM zIYYP2ikD1}D+PO_NUtX&y$_gVdMA}UI)QqqzH|R(^Ig$~p5617zmRE%PLVICN0J>M zoG(s0CK>&Ie=jmqCZsQg{B6(H+TH|;-!BiI2{k_1gjA;iHKg|XXzj49)&pN}tsUp4 zCbi8X&gxuwko-LG*LB&V*~;Cb{ya9j`5)Dn_!@iqrV6CYlaN}ugfAZyFQ%pt_Z#sP zeBKHtVRMGGTe1J)KLn_O%f7Rp(KepzLbV-O>=G7RQe3Quz;UxRHoJkJ>!UoXG!8NPs-)~?WM~x~6vQLq1Cq&};SCbZ2$A>nvFSyYdZ+nk`fFcS zDXqZ$c$I_o4LEAr96{OBr+CI8An6#6Kk>uk0&>n1m|Q#gM#qdlK8EDRTnbxfi%A*T zrOEz|W%jx==sy$MU8HuAq7=Uoj_{LSAcUm;ab{{Vk8KAB$l zZ1TjQ(IxExc!RWHAX-iBT2$?bxTA#@%}vBD4T}=g+l3=LPV4TbKP$a>kR_coRH4Q8 zrZEEl2Y3rZ+on8lEwC7zN5ab176tFXc)r)4*&tvlvSkrE39x7TZr@-5x_bk+ongWr zbf4Z;@64WaIk$~W%Wi>T&#HC}zoZkF!PHW%DtJnFdf$r@X!>%nWQK~hmwY_qpC)2k zViEB?J;wU}V#FxgGzlZ!q!@~F--(Gr))2%|iu)0{eQF9??5)21Go`z(w)sKSv)mw8 zzLsU#L7{4#NR5{brD}uHr$U=)FD4F#(#!LKP);A=COF+gr%&D=+U*;w6k02udxOFy zdBfArp3;a>BlV_9eKem!wNOQUfQN0h+MLZl>CD%1@I{cvew++)Wk68rag16!`1Pj8+9w2#($#G)yaMXNG+;ySWA+`POsUlaH{0{C6ZbEa-7e8dD!7`W*}iuw zP475eJu>rEXWy^3Y)sKTv^wI2htkVH!Ts;k-nprUIz?4=96*WfR9knSf~lM=8vZUG zTVApjLvmc$IQQSZH|E^2rsO4X?apMy3x8*SMN%@&p#UK4Bv3#2l%a6K$l_`x=*RR)Z;7;AGI7-M}Fu`#DEk-rcMRws-YD6kGzziW9JIrG-CVO$0v zS8PzTnTZddYx`2%;DObq8AQofjTGtGqY2Hi^c`)dD~u$$TC!CSUnUKBNQqrm&W$R% zka+l2!QDaemXPYK7XS0aH>$-8!K^>a|G~LjAPw>2hSvdgY00_AjPza1a0E`2{Ra_c zB~A!KHS+?gK!R`?WnPe!2FsvId=qpACC(-xjAP^#y~S!zn0m;H95(%@-KNAvxYKjO zV`#VcK(tE&(eg%+AKg>X z3C=BGqrrz6_mvMH2UR*U&j8q5Va#T8Q$m124h7mnHa;RirwH(#{+l^_SQi|3(%Sdl zk>N?`lGI6sP1HCCov2gfKL3T#%Q`P^nRX~p(rB<@iHW#Dj8S9%RZ?s#-L2dsjUP7B zwWJs$0feCi$2TgYCR9ap3Ap7B#C^kVGs?;o!D?Z7Ufziwb9hSobFj8{Xl`9A_Pg$^ z2kPN2Os)dAy$TI6=fShqfllL+MP*|w1{-v)8@X30tjsqh%bK{l2i{Y@ZEX58-7Saf zZy-%X2<}gXQ#hY*Uo+&%hg>#5Tz4?ZI+8s^4G;=qO*Dz~{12<7zJvvg$UA)Y-{0By z!Paf4o94_1E5tztLEBF%_v3VtKA7}Tc-3V-)<#DvA>4CR{%l7`LDYzG>C(kB4HJ6) zUw5vP4|&UV#4akR29q|;k<2qxR!s}`yM|7LDAGrXwtJMj=Lk+V(dpya%DvrZ^S<=b zPY!@A%0tj!9*(0@=MtgHkblu1*&pct5I$ph*aR|};*fi-;GrW;Kv8)DEi&vUAJ4;b zf1xzS;5pq#cOO>rP;D+d;voj`T{0b{w?%(!&ZX9##yNy$fw0${h zCYUbz)lwPG`tAdT8hZ&X+Ix;iga^tT>P;3)2k2LP~$~3<`e#cq8?4LTvti) zSgigzfpunvAI43Xe+@*l!9rrUB=1~YOx$r~3rynpj3@c>ib zZ~GtG1~(Uo6tqG^;ySnw`W%_uW-k+%UN#)N`oxp(e#pioVRJ%=M z`cngi)8(7`I;&o;U>|LT4XU*AgRg}^#QrRS>W`N^?&Um_ecNO8Mdu9<;q^Dhf*fEI zBHFQ{P(gY;AX~`j0p?l)kho26(z}tB3cxfyg2Fc;Xfu&DVxYf3T@8}kNqZ`oP{)tz z+_*O-o&H?4=gpz&ug_gw*MHgX{PJ7IMt`;dZ^GWtRw4`QA_u^hYK7%tOu}H-ab@J` zAj-Ldss-LlvS$2ECnhugn!~@LC8ikHesdRLZ&~AB37PI{-l_Jhimv!}!0&vftYUUJ z7hSi(@wZ&L{KHsPov%ElIxaO2A1hRFgUdge*;4OH{7rW~_CLkD%OE@MTH}K0)@Ga- zB&@sjK6METD$-Hn9!QEoAf*<*_fZkZfdAHWnZOM7zQYacSj^qayWD*)I{96vQ$dpA zF?;Wky^7W@B6nmie&Ulb`&%RUdP@ZwpK^V=LIzx?m$s4qh6Wv2Z7BAf zApDpDNYAgdG%-oSnrKvV3ViyU$z@47r!>N?!+V{)1rID}7oES-ER!dYv#RFyardbr zy76Ut2g%$qksXo&9}TzoskXDXxkey-D`zICf?tI>mtMSQBgu&QX8IrKoM%~$zS!v?uRn~Q zuQ!PgF;OpE57VSGU{x03+`uh-s3g~05vDz21ngxi-+_P4L$L@NoWLqAVHF_7OU(TU z-~)_?0T$2rv+6Ik z7@31LxrFIw*XxYx`;=)zdU^NcdBR65~#G%;XAK(0`+?YI_tUSA^y^ZQl81udgH^Jt$2fDSVn6#oxliC9pF4j9mGHHfHB1}c!ZXw-v^2K(Y&y`|U6rw2S8pH6@Ci4t{N zJlqD}w7`XvOqh$3`u3yZ;`)?u-?Y>8&6w)TbbIu>wY4F^!sqY_f`eGpD-psulvX4% z8#6xGbezY17r24XNRM9qr~JXw(N(*YuGk>^fQ_C>ib?rV9oh0% ztypK&goGPvr{bN7gj0SV)p0hVlWk|!=nJ=C*Tk1RCP;}{wYvfW4H+M!Zyq^hWYGJm zqG{2wcD;X)U+D{Fq?y-crUWPwg3qz5M10n^Z+DW zA%_et1HBfMQylq%T$wJy)JIaf|GX3BB-XDaeT2&m_z+!`Kc%5s4zXQ=~uaMsT&>tx(%y<8cLw- zXUuukKD_F2TtUk0U>rYTt-m=a$>D2DwlH$xFm0XEtl=MR)}lL7>N(*3L+@Su8Jg`B z^*ING@X8RpmdGL?-9KW1okyp~i2ZW!@YsXC+s$?eAif)NQACB2Ssn~RxMxD|KqHPw;)(kZIC170FH99q zBnHzKGJ(6D{%d+2DocZnQI009!)0}4b*iV?;_E-IgdNaK0&d3(A~%Tv`BK(_p~_Kb zN2ijHSCw$*iMLh=v(KX82DE97U+scfVjAYqAnzz!Sx?()mqOGl3?W=J>Y6~QHRt9e z62oibzb_k>{tpjDNkHPV*FjCz016kj3gDs0BcnufjL@1~1`&YHAS z!`OlmQq<1}fM+5Lc@zzH>r*Ob`@4?e{2SNM;uoM`bM}+cN)e!#goyDq>+*uM5t@N7Q zF(GU9=~mz63x=E@g+1<|G)lgTQ2=+M({ljK1N{Gze6fBYYwEv8s1hpk-{wb*;8v^A zgdiIWhChfZb-&iNkvM1OS6+&4$+*p~Q(+_iB9|#m?Z1Pj_E0ZRI0t6*>{#31v1)qo(g|(0M*8XJ2m8K zh;nXh?)9wb>OgSH{IM%lC)FTR-U?NKW{zaG+%6{{vNk7%?&=%ThIAkrjHvWuNFge_ z=Y8&BN{ZuZ08`+4jA7VS=nN^Y@xb1|8U*MNS5f#Z3ijDQMw}Z-w-SKC7%6^2_;O?b z_1f!owhAzngoZJTqJtk%6d` zPS}(dq`O+Mk+f^RR{?V$+jx{&^lmIhh+^`B_WE0HaalBK^=VfJKLNO*dwF*Kewz3) z-{!DmUSsoQ^bJ_o_pZx%qPESKEujn|N37-IgAakk*-%pK#R>jFW1x~KFJZ+DKLP>) zRv%iJtT2ZbEJH8Q0|enAx~AN&@>^KQ-OX&^qw<|+`UUbQsv8~VMvOG&8r>>C9@BVT zz)a%CwH0-qr<)jtg6{_x#ED)Y$Q|Rfq!CTJU|2y<4YhYCz+s5wsU|xpjE^sRo5KvSWH>H%y0$;H#;E6#2 z8}cQINFM#L#Er*?&tPcIi6Hqgz4##Tk6{Qx%U~(YgUJd}$d(2|=Z+@3nHBm>ouxOAkNZFGCFv{{oQK8 z?vj7_wtMl*&gl^Oo%}}fTB93W19cIr+|ub1rRU9B<&h-ZO4gAJ%o{@${PAR+WDe6$ zNq}(Q*QvZ-(Bc3aGzhqk618RD;iKuVh2W-ID0F-YTeLjbygV#H@Kj*AIWuy2CUtn5y!-lg6p`dPKSdwszLysBm0JMfq zD|mVrIA*iq8=TBIa~NXQ3KI4&5APs&f-ZG;*04Lx@F2wC`qJ`k<8=yg>x1V-V#SQ` zU)T>0&wq82kC0au>P3e6@P=|kIV1N~g?9#*tUl;Izi1KY7UMp)nx8a`kiWikh=-LP z%g)zlH%oMU^Z{aUz{plj3)zta#Oq`T7e;~U%A}T)r=D;ENcK8)Wk((8d8(g7!V-Tb zRI~aGw6kMo_`Z*;msqghGh=o@j^}pCLv=B$VSKPbsL9-}xe?!*u#{iNQ&J74gyoVE zls7r+A$JXySjRRgq-F{?-Va)@+A!n+HdEj$xeR57Q$vdAuDc-OelEa9*KkutmYw-w z9y-Xm{N4;2YmfUyENo=^ z#hdivKP4%=!5jxIk80DWS=oH1pRY@=$7XNy` zOkvy_kEQW}t!O8H47EkYCx2uw+wZHpDL?Q&)KyxEQxH>?r}6j@nL4N5;F5y=y-#?6 zu-dbr93eO)ypnCqYkgxLuP#^?*PW7 zJx~k`fO#;I4U#wpM7be(vp_M0k)p3B^=t$dJgYy+?jrFT(#l!`*g8<>VYye^w_LZ3N#= zfUyPOE9Tn+1x!^S04$F5k2r^h4}kPXr!`0up3!ZQv?Uus$R&}u4+?Rq!Do+4HM9i0 zdu=#g@2%ds_sXpKz7CQCBrUhG&w9eo?{E58**f(Guph}l1&M+6aSa8<#=rj83vga$ z3K6<1@oHYW5F>42-bWWQjHFgbLFPZWLid4eP6-ji(iZ|&!|p?6t>6J0P6Y(lzBY1X zrs8rUu@oAY0HQUBaT+g6l*c|Qym6mGwjk-x2BadAljT(#WiE7oUQ^SB!D5`1ha%Dy zGBKVyTInNij8$%4IlODOY9jeCI0RuU46}J?V2JuXxh}r=F$KsE$R)t@9)R4!IMx0+ zhI2Ae0s_sp;201i&8(QHWrX$;Fi@Kz-*{RMYf>hBWEphS1|h3@0`Q8})#b0lMqb}XGTqiwtG0fA^Fci;=(J(va8tagASVOi{SZew zvj5HiwL6i9hMPOhNnq&+u&rMJkd^)c{uWSK1J@V6Z0M z$s7R*CUBx>j8hG$6$3}vJCKzZ8P0Nq9ZOg-!V<@E(RbwTfq|h z6-Fygm#By2bf25o~T7*Sl|AyvOvGXb91;!Ro`t%XmNxM=$cVB z;IqJHAp!UxTce6+oH1WdC|9ODyfasL;Ir&xY%?E^_`GeKc1E+_F_)1YK2#c8h4H+? zNyX-my!`i5bGd!?Dk+U_kHT#8R1ZmoXolI%ed6lu+DRA7+i%c3@F1;9^$?#>Rb%L> zh=W%pKmH&O^8)l%zXupB0br}-W9K777h~|Ez~d15v5B~wyv^Py8DVsD;m9S$K{RJ> zxB)oPabaL|6Ga1z+u#_WpJuW$9&a47=DyWPvc1_NjdI+xzEw&~yJ$$QD*W#8X<6{* z?b)5OB2S@s1w<}{b;#y-xHWutBG&F(hIS(grHMk+q25 zg~8flZ?|2wkAB_e`<}jE_RcKqatQZ@8|uQmtwUiFaT5PQzE@fP*|QAN8+}; zqWEsq;k&gFzoOD-!>hZkB0jw}rZcSWwcv{@`wRL~r<>59lEfFUS=bWAPp=20GnOdo5R`32{3n6QE6#Wz*&jZ1q%2sn z$?Gq}X0SS4uJeXqxIw!*TvKaf9{|KWx)m(C2=2>wuLyiynCA@#k%9yjfC*S4^&qQ2Ah>wZ(=G zl|5tPTLej4TZ|!S52OjCY=c)v%5H~`tJ_*>#Q7xly$vt@Tc$sId;5n0$lV}(D}uF` zY3?*&{oBqtZe#HQ8H#2K0YJq$n!OvGs!M|7&Tj);fuRDxiyJ~=&iwnfpb z^-UUFs!LFlLGh~fBPorU++#s@`tg@ny_8R0w)lB!{ULwzG{mZcp#QAc4@<$9#;5 z6Hv^iU(W*HC%UIjlLf8O#Rqeq*e^h-<5MkOj+Or}141@m*!Pi@M;PE?(O4pnWig+- zkAmpFv4|LXe?*hp<+F6+{`+_2Puc73V;Tv!sSB&3wMfTS)_ELHP^1{qgBx-Vcb9U% za#Q@REl8i)X6qwtAc@IJR?og7N=To4{Gu3?BIgaW8_vym-#X5IzZpm4f(>QUh#nC8 zi8-VMuv7Lr=gIYDu7Qc0%iws!Iju}VpfbZnataTflSIyl6IH8O21k?P^a+g$3|)(-}5XH;mJhNp_zIg zvG~D$qkN6`BAXjZKe@SZU|I$gWs87ogU*V+bJ$Adt2~hRwpTVg586Xyzmj6E3BhYw z@oW_-LJ$~x2P@lH{MY>Qeq&e!viOUSgQGaTlp(tz(6F?H!s*dh^7zL*;+mp@ZisFm zEHBDmPqWr(){Lr7!tI->p9>Pi_h+lJuPk;bVVUj4Is4|Hn|7gfySe9lm)6aCV~Xk8 zRm|$qmD7%$xzCf{?>Bw*v({G8gIMC!ds88BpsjPlpTL9_!Pb?FQY%AL*CBvSfi=1L+X#p4L5&h`ty5D1 z5k{vNfL{Yf8$h?!;)4*mogg0rt#E~9kG%MkZtb$?qY9zsWY$ONBB#sNPB+I+V=ahT zKl|NG&BMkGLX%qpZS#YfpDZGyi?{NjSeGM=jnZR`IzR&jf}CCklhxJ<4W&B*b{DyC zJUAC@@FfpyhYQHr=nY@h6CsT0Y~}Ib#s>RqA^DXFvI?UP@Gs72QGolJ5ny)5zqn77!_=S&S@KXlnAa;#(35Cayco z(Oz7dAF|XXq;`&z92Ubjx(sOhzVleqHG#)nl^wM|i+S1O_GRNY?T~42-x-Z9;Fk*E z0>y;gL#yV9x3&C!M~8+z`dNRu+zC-djGz162YLyOR+&Tq%@Y@b5f#(e@^pd7n{%^vC^IRLM< z%txRq5-ctWz=$!T8&nH26*N-H3gCiGnPA~T6|2BXD#-qPO)1V+b&;OCS70>nkzVu1 zON}3oKA2jU;E}?N@5e-`DG8V*?aVc?j>#Nf>4vFCw^)O$!4~io@RqX{jJDoGl>G`& z^P-UZT%adk#Y%17*m}OOp^4RO+P%7hg6`j-8d&3oFM_N#{V!*`15ueZ*dIOxg6jgf z%slWUr>X8=^k~>M2KX0%u{}G;(vZvRym^7Gz4k@+HQnbv6*KMiJ5C! zciUTS$WzBQf=r1PoAaq?3N-rvkyAT4OOy6r9j6YF2HEygB`gqdQ`Uj|dH*P|$d!F& z+dtv1_4L+7j$Mw9!Ufz*Rrk|aep+|#pX>x$`-sOii_7Rv(I}K9XqeQc-=EUvA!bj{ z$M1^)gVgHqSzI-MSZUONaM~He#s({PrmYLi%(I6aj4K>c?42d2*1O`y*ZJWfSyuYg zp{;Kcgn~+r_gV-JUt-npQYt}rZvF2j0IJH;KqOW&ewx9#$d>w;pSee|`g~vIO;~wO z81$TU;St)gJxD1`dJ7Pv1?U|EQbn{j$1Q!c89v*OJeU8<%ixc9g78br&U|p)KTmhv zH4Hwg(l_M2_i{Xd&GOqK#!@t@wVF?9b0pEDe`IbjUw(O@qDZtP!alGAt(j9{U1wbS5w z;+`PSMQixo)9?E6_TcHl+r`y)S&<&^>G^vkc5TQd=x4&J5=c)>;SxiAIr5^{_N6<* zyips%RH{vcbXc zES5bTM&>D;nYEJiGf3M01Fi*isevI!Ji7WKdZOVyW3E>R0xH{Iti~Z~L{~Iaq#j-4 zwq&1*%wcY$y(wkcz^iN$ln{@b+hNO#skm~g75uG00@xa)IiJz>3rGU7W14=iig|5>#%}kLW&F1-rSiN?*;Wxs29;ph4l3hG*s)~_z&gGu2G{8 zbJ|UD<*WNYEzF+SZp@j8RH85NbAkYVLI#hYoW=sR{2)|!akW~DGih@RauZ^Yf*~;= zURUm64~f8+r>S8T&A++v*;a$zu!tEmn{g^Iz<5J6WL*IS;UbknzS48VcDqr_JMMpRr=DE*}A;joQq|X;bS*ANGmV zU3Bdf40Z0Z>(cAJWdHEz*L|CFsu%}q0DDEEfalzr~ z@rspTnLMu_%vlRdF(vkch1~W@Be(OzOX@(S`z--I71=u;584uFq zfx`wo>&?)JAzRTc_Tb+Cn0gh+{1%4b31gk1X2LV}U_srzR4KWTuq)S!4F}_h(Qofu zr)^#1Yf(dDjn26l^*PL|PqPlGBR4{sOFyRBcg5q|yPDG0L>i#52I}jh1|`WMQ}>~oa>zCzXnz}RA~u>4qVPUaN!Gc1f2p9IO-GLSgJY? zb`}{33pM=d(K%W`J*{`V-}c)`11HD@$jFYdA@FaFq6FCLL)I1yfaP=-S^8X* zUo=A=u*5Zo2j>cAPH^Hw7MQvan{aY9qwlHmi%^ zrti5czUtrXv&|G`tel|xb(rck?p5jYf{*^FZ5O*)hN?G#DUNQC+t&pFv3}j$aYcRn zWv2ah904|buS6@qHp_VSq+WG`SCJjt7==_tJDi8X zAg$f=RUQ&oGr=ND?~>wdqNDk+CS=Jlq|f_!LhCxnb2sbV9(_#}7ZiWh->grV z4{_@6SDNvq#k(GQ{CQ{^B**H3ICP9$4L)Fm0Ym}@3{*{L{jE(WO$eCf0Uoh1eIr0< z17iYGi6_`A&&}I@uq2g_&@&GW(_hM-TNpd1fjkyCH)fF868(Redh@Ut`}dFgGt*4_ zu6-quNQ-FEW~*$;UW6j8+6a}FnF>i8LeWOqNu^Y@%xFa_iL}s6dsLdyHZ|LGUhd!b zd7i)S<35i2?%?XWKA-b^pYQkUERNkkk1$|}t`l8PW8O}@u&b?%O5>jRu4=RpHnhET z%2bn`$T0P1_p_I-QZnc+sryMdn<5(Z9MMY$0!681(7L%lM zi&~fQ9`UWI2J4Gh%H5fYn(Wo?oEgaDiyWr(x=_~gqNb}rSjVZr(rn&0LARt~sIg9i zQ-ZbcHfC-Sg@1|Mc$IPnMRg%^7;6=vB4-W6sHFpUoGeq^4|-&6z5MoV*KTdTnm&HS zVYGx;nJ&QavAf_QmcF$M+DcI3Ez#xK$%(^uHmW#=2~=<@5A~X^A2Vw{Vm+;qc1U}l zIm|M_-*O&|q7qd2MPv>d5Fze7>a`BK!7!{Jg##jICGG#h) z_npPfpVfa_)``r{eGsuayEkPc{fyjN6=q`zxq|HsjjmS5zX>I6O6qu6dTQMCmm4yr z4gqV{R78e74K15oTob6YB5I8Q{?Pd)>wPq2bzc=^G@8BRX>4AhaPOm0iI2ePOYIwu zm^GY<{<)cS!2;1c5$mV4rq5?1=ftSqx6O^N)9m+yQB7ZBM&=$iM!C2TPJMsDoO`HZ zXZ`)#!c08nWj@Rf;UOO^Bjud;=3hmjUu4M{J-nlB0sLx^8)pQlF6O8pC{LwLuT@26 z-RQ??Ck1&%%hfdrukLs(ms$u-rhfRY-MBGt&*wv8p?)t2^cO^cX22xaC!M zs9k?!H93p#wzYzcFVE9L=j&;|ajYFlKt&Uv&xPaM!oeh|6zyf(C-8#5qUQl#`{(`h zmCJ+^8#XRlP3H{uemNmRJtW3LwXWi1=1+<@bF(*A$yU?nS&RFz;Cml&w>SfYO+)CCU7M^#U4)d+8V`Km zzK#u*fSe|tP$3?+ML=Cg;ZYMC`)vf7vw=pl=8djuQ3vJ@+$^<96X9L<=e`{XbOBLU zylbJJF}L(zoA|c}o5sFjD|S;(a9-o-)z%ne)Yk*68im7eeUL8qCg{)-l!!@5(HfiG z?*$Wf;mp_uy}W;QiVxCY%@z=O3x0fG9HUecnJPkqYi9l?ajz+&#EDTSl)12k>b?|; zx_1u7L9lp$a|@(otZb=fn#MQv(k`I#Fz_lc*i{I`po0?B*T(~+tEG0t>>9o$d}M8O zY8Ew2EY#hK#w?8~vq%OLu%~e4h7wX2v-Kof@f7f!D%e5QlMb>&&c{p2BpIgL(aX>> z18RW*in?)S*FKSZWx5O(nYHp)rpmRnH^{H98w}Cz*f5xU&lbJDhWomv%~IRG6_0v` zT*44p^-9%s_1F&+A7%|YIQ7iA4FlGvc;gO{0j^P;=lQ<>D!%1O5wm~;!pu1^MnTX= zSo(-i!7rKPzncxlW0MJ*AyV^UrwLRA?^hx;oG0ka`HP;yIo>n+ycVV0WWl8>$Xkgk zUot_nj0pnSGPlEaN%cw~x zV4S*mFpg9sx#Q^0Ohp{__!wDsxS)xASIGs@>vBtiF3^||qor;W3q3cq(nN3}-5Y1{ z8JkZ%&Y^5iA=ypPvR-i$?06o{QfoYg#hYnQa4gTNf4wx-@r(dNjB)DHZnbjr2Qjg` z%&(UEE$(0HZF)tfBrRUBf6Y%z?GBkA2$@ii9fPMP`c6hYwvOfXmG^U14~4~*@3nUz z1e~3kW140%O})qFBuk?9_<^(r#fA7@OperiMFdaIL!8+b_V<$<0Q!WNU7js4LUS{? z^q-RzD^tKCA^VDJu@q0ww~Qd@yHMv_FE(swLZNk1m__R-Fg8m_kZIY6h9{X;C1N3S zlh+&7iu-VdCtD2yr;GgvB~bF>s1C{?=cYX)(gl-%o>1QMpCzIEDpr<1Z=h-NS&g9e zsv_607q>tThrPjkfz}J}XnsPB*jp#P*h}Wjq6^hX+X(s@R1Yy$$A@9h-apPw-RiJj zFCLfP$X~(K?Ee~-nH|3=oc(9;-RZ}EOKwZlaUw;l>_0Gk_9Qw2W~za%3g@|NTI|i+YO&s& zsa@4<#Xx?4v+I2178bi)m1VbZgaV;&r>dlgmlZQ?&w;~~9O17EtEc3FWoCh#DcqiK zzI^Z=_wcgr9{t+QXEKl)EPlLycXsmhg9%q%6xfa`4Uk)tA!|%lLV9@ZMa4Jf9b0YDi+IXp zSieBNAOEcY_O_b%@Ofc%6Hq>bZt8(6KZg14)Ip>HjbsK-b<)^}FlFsNb8fyB>qc&& zh-Ly=Gw6yw@1VMDV!bd&*mS3uvmkYcVtY~4GNh@1<*F}DPaQ1xPjRXHL;E?U#fjX1 zl~Uh&i<4-PGRXJ$+|s%uH7|zt3@IJP+&~Z3u#bF>RMd9tc1u{fZj*8BZcFmp+D7%t z==6d1Fb(VD;lGU|-a1qF#XCBEX%#@F0yGBV1iUA!$Fg|vk(_1E?GEB^VKv1B1n1b8 z^E!GKs(N68YODco@!aSCK7XGf)`-*vCB7cf4fxUEwDsXvpM(WrI99Me`r(8ab!&81 z9a=uLr!+SH5##RK-rv_M(!_Us7cx}T_06FUG3f#u>^Upyuv<_j2FL)<-6B-#&##sShd%)tmOy)9YS;tT z^Q*r5OWa*L-OjGHP`Qvwrprdlpuj^oh&oW@@rEU&+7i+wROv55wOWTN*2R5ue=wi- zaJ5VA4U^OA*sx3;Nybugq)ZmN)XAEkh3JCGQFfSL3tH?BUX`{W9VT**u>a5twJ_79 zsII=#qay@TtN>%3D|&IAU@PDC(rT^nQsI{Sd&tyMROt+;HcBsYmY^(~w*K0=_RVW3 zS2AYs|3Zm(afXsrDUuN^hKtt;-!1J*_4ZF>!+tP)9#S8xWeX~iDc|m0B+@rJW;Wh4 zN6-7pF7^&vyB6$bo%*s6`S5bbq}Z)@ld6Xq?5A5@!0y1c)x*lF*QA`;ue^F(=&KV* zvW>S+m4DCb6W1H0I0y4VJUnTd4sdj>;3a3uSLem7I`h)R>inhF}R&?Z>8v@PJg24V6eY zfo?#8YTZp)hQ8ZiFspO@|FVa3_WCHXuRs@>5=k(gt91oBN^#S0!|DO&ywjfxB|Px4 zVuY5%MOp;w0wQ%Nlp;$`wW7+QIjQ!PG?bY&?&4bUlHjHm4U?Fkjca;bqz-(4+u`j# z_UJ=Ue(GBo_*wV7gC9S@3X2+P^A0%`NBgPna-#OMsA&ljwbxL#&Z@Te|6$o>7D>`& z>UM41-nZ{nGJSerne|b}!0&d5cQ7`O9YH1POqdI%_B==Fq#S2XGhH!bYuo39)MH_s z5PS*vmCN$;X^xluxYhQQ8K?-9vCs+mzy$Unl1X+*4YvBd;IcCxW3x;HRaCeOGrJyQ zhooZo%f_^6Epoqzx|&H{|A!9;v>xR>3RAMI-N0CGEcv$1)d=ZK41UBZbyHryhPiv? zYD8~2mVS2bPUiqK`dCTy9jV$6+eVh-f)Zif6?mg@ezl`N=Oc(NXVUe-TPBmpHDE55|SI zOQDob#5hizps9Z5ee>i0MnN%@ZR@8hJb#V*)N7>7eQRqN5}25tf+VUwa)I1BdP(83 zcW59ME)oSWu&))0*6C3%dGtLR1T=O4|89SQ6p-@`QGgWhFwRg2OFJ%fC#@wAO!dpI z`sLCWAE6J%-WBE)s-s~04Lyia3nn@4PD0(VaP^_nrM?$OSbrB^e}+}_5>d@KmW-@z zna1|wpMUGVm!`s+49^AaregTHNAS+?{ z-fN1>*A4Y+yKp1`_#%++Drb}Lx(*wXA700skJV_f0n81)5d6~H;KlpE8cFW~@=FPr z%ruT}l}Y`Sdv1Bd?f2>ZMya<_imFqcyvU7Sq1Rq|^+qA0nD``mb;O9xF}K=i;; zIdWtvi5A74STTzMUH-JSf+ikIIfxNypodFFygjbLP2Im|QfCeaZ@!k{(J}oh zT1eW&oX1<;WBOhR^Q2i6In(mJj_-rNAo zYk89svJpPwBQf(5OR583+!-#4pK-}qQITiB;u@H-#?M0W4X4ZvSb|zf^9jS4MlV1iRTVFo#cS@sdjvXJH ztA+cn6ua*}^OBS?@W3QknvXWvkXndjwji?nqT?=Hb5bEb-JL0G^J%NE?WuGn<)d1R zvp4Y3re73-qN&C!(Xpkt&>zxdN1Ik9D9c>J!9_^-C!$urF`dQ}?W4#4hMDZTR~f#> z#&!8-x|P<>g!1AMB8K(B$}>~1>0(5-VeUAFoxJ?YV+w|&|wWrIqiD=U zHn*|GH8xy2cwhQwXz|80Nl7R@h9(y(pZ?6R&;E9&%j~T<4S-dxl-zXOVN33%E67(W zHv7c1U$T|1^-$`{&*5JelKQ#Z#B%=5bIrnG`+K9v z11=^1Mw^~elIxX1F8i(wO2DeA<<~bCDkB4B+g^oTWD}`xg146%YVcTI#|1*=1n7NR z5nPTf*mpR9d6X4&EIF?e4&`+!qRBOFKC(K(M~G;we=T?Zt3h&KIE;aYm;^jIv(x0ADn@%J|&!fs4$r;&O zQK&dBsDMB}u4jiLw&EFkgh7)m@L|Kj;lB>Gw)mZXm7f?D9BQA{r5<;l88&j(vuRH| z+z1F_DPZm~DkII{{#~daM!nRr7$Tf+dBe@Z0`z@;`B7MufU*htsO} z>#Fpg=lLlsuI^*+=**K*>Jdq7&@C2DJWupOm6xD3`D=9}M-0a}EdtUt%mp)Z7!{el z`fnoto>M}-3Il;{b}jbK35+zQTUEIYXL1i%eSRae_C9zmOvO3f$WSqASw5q){bJj1 zhxfzXtMxY-p-U4>o6leWi$o`MA2N04-ygo%c=W}RL-z<4Qyc*{}YEU>?@(G?Ag ziCQ8PVAx4eRY1F@FHebT`THCs5glY;a7-lg`GrG!b>0mg*z;tVc~=k*cnvY(mVNX| zfv)(f=8XA(vazm!vRkVn&>!{8>4zxseDxC4qN4d>ZnJRZ=68XRE}*qOs&SPK5l9{m zaCj+{5{NE$1cn0b7t%c2c3N3kJFyNW7&<6F*O0%Ru&M90L4P6d(d>3l4wpLuTpP!6XvIdM+c# z;y}>QpTD5Ok1+khgy6G@AGp6PeKV^qx9oGiMJ!%n?=X-A_vYX(`mb%3#LAXN*IaJG zENsQhEJ=ijhO>!eh7#X$XG-)z9Ak+HRl_JD+s^#h-R^~_*!P6b@PccfA7Bk)#zCKIwbZ( z>9*Ox!(MTzzC9Gm1A^O4smOkcNs|ug&Q`w(+IJ_(^7(JKHs^8fu6WMjsBVNha8Ga8 zi248)q?TLWHE>D=3?ZaoZp>QOqECT`hK&vQtKuSbyMa&Wq#5#&=<(-CZ0$tN(A{8L z^^|LsFAeu|9P@fE*0*7A8dMOl=3YZ?L83wLfBZ!W3~t$ZmF z`ll>m$r?7njY?xMAjnfM>B<=_l@4oTKHDncz?$(slNTm)@0`e<{i;T^Lsuu4E^GX} z7hR&qduv$lf2q5*H?KoBLd#(HcDok+)i-tRKYJ=_=Z`3AUlMfN@bfONJihTOXgY)Y z)8nox1eJ=VR~d|2EBxOd#q}+7)s|k>FA29cY2U_TDA64Sw2lHB4)=37X%Q58<6r{R z=%!RMTZ>TP1k39XdoF-5;i`!Kgc98%IWv;f{Vt(Lx<&P6%!qFI=eGcIarNH(cS_*ymWy&j))1vPN|Mba42czZEWrwVZ23e7YR9OvWVb~5D_9a?xnR=y-u2}+HwDp6?#8AN)S$BKF_IsA&;OYeW$ zer#GgU+#2%ZdCAGv}~{C&gFXwCF;&-*$N}U_t4b2@8&BFPT*Sp#IdUB;V>IreV3xe z%AYr98e_PDz(f{XB!zXVeSv$$nB$2_={^TAS@;na*iml;`mk9YYh=VKi3CIF=R#DM z3&`^8&;xrVwrLwqI- zL)mkvo6^k+XMU_*K$dUzcwS9wcDs|+eZoDdvFEP)laMRdq$8>?(j#=B>{B-;BtPX= z1P3)0aoP0?Jrp$JTov#u-s%D$9P_%o^K(s~QQ`z{ zm&*qqF_vc=ept)!El7;HZLK~Thb~i;rdNinHIO{uO6pg1+iNo}&eqU&(Kf&TnYYaPA>-!G z`y1{vbu~ARiIH)E0|a`5hP%L7@f-V&Yv>)O9)V99!n05s6_X5Jv6^CO>$)ypy%p4Y zNIaibArZ*69>||L6-T-6LJ39WB~ZO{X9K@K#R7L)V7EWV{_e+_dS-&a?@P@I#?hm! z(6~Gn>*y38-e4H0!ysIu?(4L6(>g`u?Q-m&a9ztY7ohubf>Wq88S&^wJ8Aq}6$)B6 zLCg4t_2rVVQW0Yr_@dqy3b4x$6|P)K$cAklIkt43%q_wtsXSk7QOP{!9EEhAC3-1E zYQ}|LW0;ztU5xJ<;BkW;m9th0Z=%pk9O*R~xO*zm%q$p#q{mW2Wm&eYjMDX=StIga z$KN9}Rer?HGLkWCLLOD-l#x@uw5~#CR()|v(SS^E-|ESjTV62*UWjFkFaE!t3uOB; zzY9TCcTnt~;zz@W3zU4skuu2pAEH9LR3pa_TBf# zLqy}~l}roUeuFmNvId*E_}NKeSc#3KPlFh#S0qLj_faMu_l z?ZQs9`#qHBW8ptu_>V6N8%Q!uubdyw*b+4o5*7FUd-d!(kKPMotFIOb^3HhXfOPS4k@c!ortr)*Ab; z1ln*J$wm*+*Z07y0b@d-NO|Ywz;EgM=!i5@6NANhj7uBxa`q^&(^j^4oKu*VRlBT9 zuv<;XM>~C39<=`Qoz$d=oSqA9zwhlDpE1bPoBhjd4Vx-UdwKYMs%i8a_j_$3HW#V& z-17R9u>ri7uq=gS$T=Et6g#D?UrNCBy#TmS(y+h+mJ3#KuIM*^4xZ2fS^T}-0!8SF z#H&l`f0hnCI3f{bQQ;i#tMO8Q8D%VWxUW9NPaQFgNuh6?pH!w(VOnqPfcF&V&1=wKp%wCFty7)n$m?*vMPq@R zL=p^D$H3stY<)Ew_=MTI9E;=I&<@Rg;SC8CZoBYzMNduX1pSg0a4DjZ(h|c0kxwE( zTbVUTrqlvf4L`D)PDc?(q|kHB5k5wroaFXShT-XP6S&TOp36-?ga%3l>MjkC-@#CX zU&tbYzM+|>M3$$`vsp}X0f9`6N_&ALSM?RxW0XSZQSU>50?X{*6$ttf4y{q46%W#n z6{EUo)BPeh@_QP^Lf29OM)GwRU280?Bb1dvUrFJ@_N(l{m}i5*H(rZw5o1k{X}f}X zrlXj#?Jo99eWZZZvS5q4P0a_kqyuMUuYT7?(>VsmGL9OI-A{YuG5=u>`>x3 z(9OHJ;Y(=Tj53nULW}!0#G2-wy}yB;ms)>T^GE&k7+v^C$qlE#lbs2#4mT)}#281F zzJ5)B8$cXzL_8H7{Hcvu=QMRBSv}e}&k$C~ozS%G7ICa?=hhLo+fGTp+c#GzyrAT} zI9Kcj#(U{gdNHT;iDwmR6HVxZSh=d0ceLtUcQ_dqb5(YZ3Dahkivt^OY;;g&DLHi!Xt_)=G0suM$zKFoyb{Ay1HeXZx;#8b((?s+w&jV#1o1@;Fy(Q{I|ts_yXFEA8F$}=f26k>sY6(|CO9Q_SQWm zQ8s(`zzi`KdcN5t(w{J8{;OIEPHibdqTU>a`_sjuzfwB5pTDJ8K(*`{%{KSz`a@A?%O52wep2rbo`;jSH5 zWa7S;FhU9&EE<#GM{)@Cz||}^?)X_;ddQlpmmLPwz|D8BSdwdGe3Oc$q9zVjD=dzC zEZ=(}=2h60&rfN(vC^XJq}#%;>udk68O-7QR;+9=EnKK3y={x+AhOV;lJ>z^HwXGS zyJ*fMI0>Wvk8EPBlRc1dueGVcdVp2YS=&v?;^s~O ztRhT2I+fDX>bNkpnm$;!coY5Mj>m5@O%n@FNbmHBuM8wpn%}uvp{U%0sG2`K;PZ0T zUnxFA>h+)|pQ-u!47Wo)f0Pbki3A2*Qqun9T$!ti(_xt+@(IpUhG8kcJz4u}+N}k5 z$NhqfFHYqO22TkR?+6!vsrPE%@z1{3WMiJv85I|ns&M>|jm zkB&SlC8b6z%Y}s)7|3HiI-LjMP*hCT}(j2M9nY z=+fB38OE%M952@t*lTNnU|5;UxJwmt-fUvKPwh8D(BH)F!c(*RAw_krZ@CF~DfMTQ zvZg7@gvm#woF#@G_!bwzs3iw z0&7}`ZczvzP14=80W zV;?!20jGy03V>WE7=wNJ4T4lKmb>Ll&>khjGak_7n}Pk)$3(w0V7gcmQ(b0J#M7$0 zoG`R=1H;2%!xqMlfxuUDbLsW2UwO+IA#t{Do^sQB7S{O?j%{yr$Xop2wh-MkfFlnp zjp27*>SAh#RfX$88)seW2vn8cj`r+i9A$jJ!sK_cZ@G=@;T*&DHXL{N#@ALBqK#d1Zx!kE>>z)yZsk(e_vEgv}``Et8b^(_!)!f)EYTYVs$Ju*owkOHU#mw!Qu+ER^L9SiPZE5v%JtPv%ga|bWqofG^7Gj+RkpdX!B zbl>=pTtua7&E(dUSW1@M+2Z#MMSHhk^wN_vm9OQ>{q6K-@Ie7P*dQ^m{rC-pe{Z2T|28K2 zLHp2zGwYZw(BKIY>8BusO&%yP9RL22KBpxJ9`)Ng)3Tiq&tjkCt<73%hMyeP;muAh ziiPD6T7*BYdW%EvZ1UaE>)8)~2gfal>S!xMEoG?M3MerY`&W+-WZ!Q;;Ad(j;TSem znA*2U#Ia&%Jsy8g@=L2@fDlHTeG0v_fvBF0*}U~C@1r7;@2+!pnbgwE4pSVI<~as` zc+3xc9))Wk$YQ5Kic8h_ukt$s(SKJ}FvHXny*%;n2})31NBu&T`F@gAi2(lgHQVnS z{9I7KPM<7=%DF7ha$!R9*-SR5uqvg$Wp)|q#-)nSjev$7l}=j`@Rz?~a# z40GC^D63DJsg8|&xvx~ZeQhe`A%HE}_?08t<+9Pbb_=qFJA&6zAAtB%7Q&x?tRRW4@XLV>DmR0Rgzpmk;E)!?tMX7r+|qVMFp% ziKID5E_edqcpn=a&`zx&k#`BdK2Q?sw{7V6B8msdVNA*YJuv~&7?J+> zqGd_clJgTa5h>GJLYanV59@cx?PhG5RIBe3sp1b#Zmg@{Iv*|r06;^v*cpvjmbIH~ zbWyxv-C=1?)W_aczw2mkT_}Mjk7g1W-$(eeoX9>(=&FT|Ng;EF3j!B8Xv{1@`uav_ zK-_NrGPhjSedms=!=fJ6$eTZQx3kTrsvN==GIVN3)?a{oYxNf%6Jj38lJ4*5Atl~y zQ95i5n3ChQ6tZ?KG5m=R;tI`qZ(#^T1Rxq1Iju1YuKoZZTcgSkqJSuN$PO{mhe@Yi z8ySvgO6!HYPvc*w{)+#W`jn}cIi@^N{b*NgdMI2%$hLm`7|)pA`LTl@P&a96ufvbTX}s7&bC0 z^PIzQ&eYVMdSXc0@lZK0XH3AY;%AjUj&t;PyN$6>RE6T+ix2zKQYeq_{JaIrF``4- zd*=Qwx~Pp0URv!1BIjI%HD-N*YA8aUp_nV-sBE(Bvrlx&E2 zhm%XW^8)6UA~;cOtx@v3w<#Mrv>5Eigl@#Y3){ri(9FcDrPooLVJn;#ug0EVc>RAp ze#jd`|ay3$;xiFNVa0mup zm^8ATGZDlHNrtSYTJ*>YLW?8ENczXJCFOPWjd65O>KBnt5#3JcJ+=`RWT{)8 zT}f&kqBOBB&%V7@Z6nS2s@wOpG5WEj(7g*v8|DS+{7Hjq$vy%m=C&Dab(JpP`ankXJoQQLos6?0`4&qRWC2MS_CFV(R%3!N zdraq>0EIeQyS$B$LbT(rynnyiob?Ka%hgE6>59RiqBQ4Q>7 z(Z4?Wb(Mkh;rBFys~t;T=Tvv@alAx$GTskq?Ef|K%M0DCphj3M@otsaaT(y#7<@DQ z`{rdwfg^`2(8|i-OgfR~X+&>s)WcUDli=S5kt8?^Rm!T7H>Z$ZDv~QEz?NM{tCr{e z?MtIA9O$2n3^POxGM%bONQv(!Kz+q*Js<$+QGgdt9`WI`yq56-4)qy`P?UJXqtN`V zSvPy9hSolit$Gx7P{Gv{upK)_|2;0He>9zv*#c!mi-(O~5+nnkKDfvx6j>Qm1Imm` z_NUqmm>*^JUyP&HnT;M5kB0S=XDGtLu<{gJHOmOOe~go_2p^^#IcFLWw=7jba=}(< z*2XZuYh71zTi!`}6S)OK+lH8LJSN#b7E>wZm5D3ZK{Arro2vE;j* zs?I{u1&8_q-~R*Yd5r<=jNku9GrW;TE$d73h4pxof(rjz3oB`@aClL)OP654a%{Tb zXe&x}ydVVG7zrV&Q|CypbTp3SBI=lMm$APx$0Jo^>)BkDI6Fp3(j}?g|8FDxS32EC zV8H!;ILq1Ffl%r#(AcpMc??k;ROT}W>vOn2Q~4|sm)1bd_%ZCrADu|G;VqQy8+YI( zRJUkm@!tIZ#7(#yM_68_=okbTF!ZW(8CTU9#cA?)UZySFN({dZT~ib@i-PBPp!AFM zZsaTgCAZ&to_T!hzbmD|#tXe@pzUzd?7%qPpcR4H@>K^^bhqQOG0`6am#r$Y^)YxF&Wbw`ODgjEqWluuKZ zjdBd075})O>7^D8VKF@EIo?g4cR_%@dL8OXB*7lYu^SAOo~ql^xrF&5AhGYeG$|~f zRzx7B6?OzBQ~+*Jsk>?U>@RN?Z-^z^jxRVm0_u{P1Y z(P>!1<{K}`QTcB(tYR$f)l5ZJ?W98cLe}b6$2fQV1xAD|tD1cT#Lf$}RxBx0iE&R^ zree_Tv1|jxjUHG|IwVQ(SG0AAShNSBABPGqkV0K z)O+)}+e@w;*&wJjf1mtZvec329=o`x`CQ+I!p$cma_b&*gjkxQ_zzF3+f%+(b^Lz) z_WSQ+&%@76(q1lf^j3sSS{Z*CFWQka&x?Wu6k{Tz{9{W_ibnbPNb`r5zKs_~Mt7w(S}um=LNnOFA0(*G=k+SpBDVkkE_Muj)hk*y+pBz;(4(Dl-WpA4U#Ci zOLJ^W&QrLiUfHE2#;0X$MH{~Sl)HI~`QjJ&DB7)8GYMxF{p$BeBHBZVgY1r7j9WU(Y?&V`Cv18N99CnSK*e(#`}@F+OMwZ@EArq__0Z!Ee0C z(fe^18KzF?kEs&5XnCP?vGa*>oS7;wiZy5LB8y(G;F;_`Sl`{u`rgzt554@ej!8X1O3%c7Yr6>XWL1%@AA-jk zc+8ZlMWIJf^wJfHLXccR5jDF}RPhp}%b3@`r8{|cMnbTpGMRLAH0?8Sa+WwviwRI6tU%>wZ7 zdrsQfSg;bxq6VN8rD$5rU*k?+QY;^BdRtk@J5AybIt6RaC(`HO&fMD7VAF_W_(K5) zUJY`B20v4SJOibffZLtfg4Eg4!`JFge=d5O>XYL5Xir;wMQlPX?YvObY0l5}a{UIS zjZShT0VKJ&Qw~|*P$v6u4hT`74++rc4Uc7fi*4SzcU(xJ)lWM%caPcj^>_+*x-qrR z^~Fq2`-d8u-4%*@Qr(~k)sMq1FPfmujbcaDCbp?P#{o}Y1AYmdvp6a1qW^x0)7>vc z*La@P?n|T6tp2i^yt%LJtSeYOWme{=m)^hQ@1{)Xg>4r`!X_5%hwlBtV-bjT@jl{s z4xvmU^m&G=(Q~UbbzUwPTJmNH31!bV)h^0A{a(d1fnT%NuW-2*>|nwv^~MfUgq8|_ z@)KxU%!rc2H}Xw45P6%%pi*|VnmYQls5NxTsdR?j_nJKsXuXh`HQP^Sx@Jb{*^bTi z?)<;HR^JGX81c+)Q1&VU*z$@LuQtg__AX8+}F-K3-Va8L&q*R|q z8>mI!oJ6}Uc;-&1<0?fNnN8{UT^x}KPyW@`+OC9(nTmnjS;NB=4W7wG#`h1E3Wyi_ zroko{sHBikcJ<~zqq=5IxEkZkEO-q93?pMy{)JUxsvN$Ekp}dFM0fzCQ#jr$7s_5% z(`GkMRWLNX+vOH0z9dBMta|~qdhmC@0V?$Q?}^ES;LY&G<1=Dv(5p9__TeqByL(mT z40#XgiDlRD4;HD$?PYAi$zdH>rBFhoR6|*`xv<(eVb(h2&x+AD?k0ZZ`wH+@AJ2Ea z#bR6UI@wM6(?YwMPc!&A<^QxH@W)WX+>!UMvCNAu7;jwUuosSA&TO4*$5T@;;e(E_ zozC+EeUZjCJiUBtOwjn~=!J&5zJh0`+mZ;J`W{N}`;qf1q%z69*JI(yu5WFZpdM<# zoIhZ+3PZ;n2yV9k_W{EHDj{ln=4`=7?N|U|$tB-Nu9-}v_qvu$rA1S+^f*bev`7WQq`dsMQ&td;a~-;^zej-31N+}zlQZNm1}DSU5D*B0)$L-|qA9IMUL825wv|`+G%om`EU@x5f6hdL4KU`G3hpWaYFHx4 zbAta3M^%T!@KGIPI*o$ZSHvoROr^72mUdGnPP0~hU6^Q>g1=reNrC9r26KB9bQ?y3 zC|eQHGnpaxggFx#4xG>*ZLL3}*iNf>7jzZK%>n$YSo{s_?cnnbLoWnj5sO|Nc9h|G zw*h;nH!TsuyUbEGUbquWsok|u++VO5Um>j)M-|DtH^#AXDzQ;!ls$uEa048JU!K&# zkY=0{8-9iQ{5plC7;6v47@-Vjy4)XCi9TJ=aXq1IhCK0CpRVZc+-t(RUUVyOUidYd zVDe`A#XX5G}tJLQ1v)~8~M)TZcQElkyg)w*F~iJ3+ta^ z`V8mHK~1 zE7}5TULu-sU}hyJNBtR|;3NUQjC0UX4C(>+o(Xj6 zrMATu*5}qKH(R|uzhr>XM0LF|Z5%ujC`YoThg_36jjfG+vnbt2RAsZ<$XH6OoAI2< zKILs`r)%@1$c{=v)LkxR$~ZH>qs%4c>Em&78fsZej4dfy9)DDmYEp&QOBmN|TCw4a zuh749uS2q@5)5pCWNt=~O=SrdurP;UGWc=Tl z4h3zS_L&QGYCS1@NcF18w_F$Mw0uf^f&xojo)?x)}q#V@Z%sLn|%V_Uh zhey4_I1<#dtm|sHP8h1xutxOI4=}HK0mVIn{ap_ojHCFW+l{Vas8<5%vEPcbJo*es z)5VrNL3&S<@S>PyGU;ucD_TKn1jThXEHsfu;9>Yk)li;Qm4guV&!2iLBWXPqDsAua z8{Xb$Rl1rk>hL-bg@uY1KFyI4+=ROU)}Zjh&bfPQ@y2!=?Pbg)W9Ez)Wl+w(`3Q7m z9%DA{LE$B%Y9K)1JD zsa4;$$L#Q1;~N(uy1zY)ji;Q>%MmKfqEvbYYToJKu~@A;B&g4%Ju2 zPOI0*Q00_b#;^U#qw>w?oA1OgkEv5*En}E=^Oo7$?C1})u=yGF70+l)BG5}P(_4o* z?~o~Pcnwdvo6_*l2k@G^DuJ>cS6;fq@{51pS>*$_f4=e5j;UHD&Kl|q{4wgajWZ#C zMI0~0msTRwyMTEgVA-Dc$D z6J0{OD+Xk|4}08OB$j=np=Eo`KFS6}&JZH^S$T894P~NZv#6)BJ;ste&3Lk#L0D2m zi`0KbjC^U759i!pr^l2fm-1;Brr$WTxSb#3#uc+kT`lZ0lU9m*2MWBg>DmbbqWQh& zxpuI;2-HW3r1K}fu)Gw|V;Igq@bB5J{cCsnqNl@!HOo)CbpNcqog*D(@!9D2R6_sc zwZ*(IjHVizwccCg%w>(-l0#~7lrVupJ>D}Rx3X z%7e|FqM#s&9@o*#kmo?bn}Hl!9{ShXgNDS)EkYdSW|S#O%3Aw_j9g#cTy)-!?*)lEsMbMZ9+Y`Tq_?v3ExZ#}e(` z6bNjkOc?k2dvjO%a6NHu1w@Wg@Qg`S5dTir6PTSnnF=U zZcB5|;R>%ZTh}5lb-tb?^~6BV6dv69caUW(&P~x|s6WR0#G|$Lm8aEG8pJb~-|Nw2 z@1z4{A-Gn+O_%dJ9j+4zkXt_U9Pn;g6SOrrhRq7B4*Y!z%=1Sc&H`At@fD82kiAU3 zV0`1$c^^m18wU3KTwaY8v6@u5lpLXB6UedOHtE zMGw+_mM>?Sdvl_7b(?iYssFl2Au|%;kED`>c*O_mE0U z9h+~GL*qxP!~2Nrz!uAihBrs$IJr&rBd#62SX33xixp zdz>lvc4wEa-?Ha-_?1Zx9kL({JjF`Z_~)V*RIudz>c{+=A&nmU{9BRg?+U z*nf|kL=?TSJP;6gxv}ERLF`@a{{$qeK8U#YjJ?8&8z`pB8Ej+(4;nmC_u%*GQGc-I z&6K>Q)2v2#irJmZn;Zn{Pr8+;+$5oMvpqujym_hFUc`FRhzvjHGGVv z)&6TnJ~d8z8GZir?exQ;<%)t81S)j0n9NS?vSszy+LhHVKVGbTnC-GMbG*(Z>}2HV z^#gb&RmGw887#+0Sp(^5<*(ht7O2*Jc^~8SSF)o{%4XLwU;1+_Uf+;4e32FKutVf} z?Y=ABG22ljM!%mT7x%ZoxttrMg90<7B?`Y(cmpJPTA;&_#0*D`QYzFz-ljs`e_vMC z7{aj~+$ETXX!@z z%l|(FAoYjCXWL6`Thiv6mVcaE#i9Qk^>)T+6aT(mmxDhuM` z2`19S9tw68SgG(MK0*drJ7b2=876z61#|%yd&xj$GCg7^T;1)@nLr~20D%^`uu4Cs z21stuqH`ng{<`DC-M9B_LH%w(HCr7axw_ z%Q<25WnY^ZvOOM6F=GZD0%DI{+lRc+o30zVFh~+*jyY1|SvP)P*{=KlLd<=8$`%_m zRU&$ft`Sy5_JKAbmr8ipSypq;Kg@TEG4OxJU1vR#$kP)irdNt8*M_KNvhcQ`iKan; z)h@hX)4eKIx-=2{35BG;WejBKxbI5iN6rnB+)c}ErDaz&KWiPU z3i?kq&1$QxoYj(-Ei>}*ys0!O@dp&OL#?)PXxtHMHne=Gz5wQa%0K9EJAG}m#$#*z zu?w!Ne_l7D$pTCZio+=O=5YwtaQ1LB1}D@|GQsrvuM15?y;5qTO#tE8CrbCdk>E1 z+EuN5;S!CLDTi~<-IFFB20%d!`Ro<^sRlcI#Xq5i^zMUhqr}vITdh#Q)tats#Ia73 zi)DH7G;d)PPj@jG9v7#VJ%1i2(Olu9q)(48Et*+IFVxpw{3*RA^+H*llA7o!)xUej zh@mOW1*HS|(7OAx5Hc$S+$0FrU~b&6TxHoLu{QHnNSb5B8Ro@$YIb$&SV@X@QQhv- z`flnQW&E0a9_fEAOS5`uQhTB$-q&Eov(qQr1yy=wJtGEjEcDMY%LRZRl;c46@6E%R zYIu989yNKpyILt15iX` z$cF$%p*_IA_6IgQU>Z|NsW@9-D|aYSB3RsBin${4$&wIjWXfc-L><xi?>#o;=L98!7lwEy~7ovxCqeOBDMe4b<;=@x*? zWv83X5C6F^zmi&6jZfhB{_M7R@W72U0WQWMzmy}c-E3hE_h!yZWN3^foc8OeIJgFV z8W1KLh~Fb#W!(!@zAP~)@D zZ1jWAK>T?pUCnzwg;BVf*|C_yWC{2jsZdN(n9C{MT^20kd{ki8YV^J2qcpjm^i#3P(NSe+N_{JhVtmklF3Ib? zB(P?b+qcEVQR!yhsc4I)J-3{jb#;G;9|p+(Kt)F)vV|uKIz*GL;3JP4Tg>KSG|H59vgun-P983La}o)yxAbKS_aJhdLnsL zUF~>J)170`?Xt2DuRdCRbH(q7ILeF{uJ41j{1=ch$(SS^MI-HxP&JS%ydjO-{drmXz%y4UN)e8t3#-n#<}$7 zwj&9z&hTtb8+4v)=Ot8P=vlu(X%~ys25LPF!L$fG4Ewij*iNV|WTbBg>3VE;I0q8Q zc^JYh7Xsms2{6lE!difnK?WczudFWmr>krx$KM{(H`9+ycnB#HW)rf!tA1Cf{7;q- z_PdAyJz)Y&DLPDT=!x=NPP|R|!hV*gmcv$F@|V;Xx}Fubmwy+$nqS5QOg^(=zi=j4r>;vQcY)wDd=%63eBS(o z%)sycEe9-RR_hj2a`$~XN;IUYe9R@c-&30esM8p6)_<9Q$g#5df3P<oG9&f|s};n%FRb!ny8wd%gU6V#`wLSLHFssM}HB=2V^ir-Bm@ zY>9<{voIpaC_ock{{{5mtH4c#?F;Q{kAHOAcgKH&pZwm=Lnv-YwL_P7&3BLeMOtsT zh>t7Vn(Sfo0vSMYV`!Si(p->mq&D^R4VxW*x5Obd#x z{~Q!55IXt11@?(#+}X1oQ0`##YWv~|;(4)@cO`3OFun;hM_!dKuGPb>5VVPLac7(H z#0%l!D`hQK9LghyIjV~1yCfpnik>>m{?_-`)D8r8FecqVuq#0BQM0YV$i$1zTWJ-X zYB!)GK#<0i?u-u`Y%VgVl<P199JB7uO(E6MHyG& ze-7D?pH!`G89$*x?~_}D0POQH=`DSEVc!T`dCaKrfM$kE)rOB^v=P1GYOaC}{TD4oeUy6_AEWI9djzp^&4#d52w^ z??&#J6uIy@!eY{Px?+be@h9uDq34~KE3MyD>D3=W20#0;AR=)9ZKB_xLAZzp#TKAx zt@F?F6URB5rM_)JtSs%Y>E&l*y(QYha58uy`O6DTB-hg>+z$un4S(dOG7WTNe&tjhEY$n>{fqm2#JfnNIbY{EWUaVn z_s+GR@sFy%^BON8X22$IBMc2>Ra9in?{}};%SnUr_i5eYpkE8HJ8lPDS6vP1yiAz7 zEhu_AM$k63g5mM4m!<@X+CIMk)*Wie<6d2PmD$ZSsU-F%JiX)SQqv@9a^&H4uZ!lP z-Pb+$+o&<@^fwSueg#7BMYjN%VGg%6Jp>{(Z@lri{yD9I;0)>YNu`tA~YQ; z4i4q&*X^tFbqXjMvwwXKh^!If6rt%OGI+x$1-~EXG!S|2^F~z7S(JB5i!Bu}&p~tM z2`K1fc$fhNBI(`Ii2@$j(1GdB9hf<+EqkH?NdN?H1q!frtmkI(nBMmf81a$^_@if0 zZYJ31xL-qVzsC8I(7Smsb%4^7pjfoaIAW*4$5k~O_Jrkcb7eg3ULb1%?pl9zoV26N zC(}+R$#%7A&$=BD5ha;r<)1|pYCK*~7j8My|BMA2mm?y;^Bk0TBc+@^ zE0A>#8s?&af*#vko2w?$bG(oaF&HymW$WPw||bVC03SSuf%JB;7V?F4?CM|GVG~v0TY!mz14EbHvtWLjo9vD z#CLa46d3%OAoBS}Fa%>xCokm`@D^mc@FK$P`x9W@w1N9YEWpEa96k^zz@89BR=8`0 z3#r-MM~)&mHId~^Ke3C{;kTH8#l{nftLth5eZzcuwN???5^6Z1r7;w0cyp2`O4h7RyhA{M_64}Fh&AvtcclQt*3 zkX4_&c?C_ExlYmKZ&bJ%@|B%7m2mOXUu=1CcL|#+ISV0~B)GwX z$7Dqf_NHrnetvB3DBm+WOBKF3yWMPMqEUK}eh|}e{d>5ea4xO3mhK}_PIqb_DqRI> znSCMUjR#lO3%%(^ulo){s#lt$#7|~#+Qbn79ek8W{UQf_(}duB7o0i6-9~K!l27tB zirTTKVd1DqycvGqXyMM$;u1~-nXxMo3Rj#4R$WjeEdloUtNj%fc<4rHxa2O*#-EHF zH%x>dQ-TW8n#mVo(w8QdU%?JV?NH*uHf}MKjCBV?S)#=BXl`#%XMha_LxCUJT$Tqpb{4p8 zgo*~-!};#(C|pVc!I>W^DS}$4=B?UXzOh^$#dr^u9g<9AQDQr>bno@E@2+%|_LSI` zfm)UCq*wFRI{+Wk1%;FopWOYIAJqH;R^mq#9YXPw4A!>uFh87_UMAtkk3>Y5ceSfc zX1mz@UU^9Mo3XWAEWJ>H|J`V(W^cn$=aO`DUVd1?0=w8mT*(kmTfN0mJvZN&2kd>DL-J1 zaAUsv4WJjhLO($%FbzkcL3HsLV3tIAVZ{JH(XuoC*Ny3adVKA@zBJAe-EPRmE@3O- z)Te6%W|O!6hkw5PTg106=ji{4(n=}coOQ}h&S1xe>}nCHCR9zb5|MX4RTTO8+V$)`eYZ1Pjre0<>3>Rp zfYF=b6xo21|73_taHl4s%2@lfS6o90o+;0Nf$t10#awrKcH6pH$qTT^7~^roLi^z|_A6UyoJE~Dyn~o1?QV0-(CY& zK0Kfg5P4Dk%}@t`fo?O;L5*OmZ94|%-fH`zi5v;K2+RfHsA3nm%}W(lxd9?zdIak* z`&{Y#cYnq14Eb=s>joVMR|ZK~C^%)hh$DRHB3}I$on~k7aC`|Kwc7HGSH`aRwafa< zx-~arSh)HJvShB4%+Q4SEa6x4eQmT%=A9TwAxTH;kSa*w?5LJ1uIleOhB6orydOQp z#*Ka0i>nZHOu8EEdKH0F%z8ivM*m|FGjeEi-wGgr&L0KQqM-CC!^0kQg>onEQVlWm z9)O_OJ28|yRfHaNDIBSN4KgGN4$xx%RJGUE!Ru(Cl|H}_dD&gBIdb57LTxMgPx_sO zM9+mArm~NuZi5V29t=C5*E_)f=DtJM9)4;GczkQm7@Vn2`{%!_MN_TDtOZRGqO|JS z6FcH0+L%j=E0y>Ho8OOakW*UY-g_}Guse=^p*u`AEcP*e9>zbE$J5*_JtC)Fc_0gR z%sd}@dH^#)0u{JjEgrrwsQu{`?e$ z3uuaOBl$d_6PT?8y@hPfO7^~eqyHKGnO-<;wGm@9k(McO``9*aQEg`U&vEs$uP(G* zA)P(P8hKT?sF_3}Tv}DAIw;E@+e4vs{?|1W+JOJn_`d)3C$Wu|lNoO&JzghxJuf0t z2S)qauuww$n~$Q*3lyt4uG>HXhTJ*isl4E3Akw-UIt>jS`7}EqS#ukb)!$H&4w4}H znH8{l!4K~kYzz)?FVQw0Z$9=hX(Hz&nnK;~|k?d7!UAR2V=(?)W{*Oo?$aYfIavcs06=22by2H1~jN&T!t(O^PC#&jDpv z18f>C5dnwcq#2ux1~pSG(#{s!NioF9g6$6H;cB=fI-F607JK%c=jWZv0v=7FS zRvKsnU#jp&P9At;xXcf=Ln_vsLe`_6B;J*D!^4Azy&`uD0^69;9QubzGe(_;iPw&^ z)21Dh(7T5hjU$AEyk!p5rpgF1oCNDr+fJ7{N^Rn&6zS(a`6+{2wMOg!u6&L&d}y@f z5r}?%0d_7?NP#Q-uHO!!>5lNi@q)llY%h~_w6D6vd2Gd&g9m;+S-CTfm5KbdQw=?G z+G=-i3b$vBK)%0+ZHyw8&%y2~%yA!EO3~gX!~XrXXf6ZRb?ZTbZ}*+wyQWQ}rcK2N z*u!wYC5mcm2E~qZRIjZU6du0ooeM>|nzBbcWtc8Qe+yI%UO>*1gWU-Qbm^6cw6p0} zQ(+}%H}nZi?A23=b%~Fi;D+~3Sz;yi|4P)OiG(hG;_?pxq;CpCsq%-D6BZz=Taf6a z%n39Asn1yjGQ@NkV-$#S3Y-kS^%EEZO_zvAo909w#g3=(7UkK?ghkvsi?iN4CfVQ> z1}FAs$@wUpVlx`-pNBiKz>^=!QVt2B+5t^4NREL*l-|Nefvn`(au0_;V^}NZ$hLvi zPN)g5#w#)FqGnN07U)b(z2PNKz*^$55`OXJGp)NA0T-s1Tdw@ITY3yLm;wwTN<`DR zh7zMcLi=8db|~-{mGKU>i2_{xEV)P?qz%oscmMtXCAe>ki9W z$ZW?HD#okdY2?p!HxmGbQbcpc;0(yP1`ClIxh2jq6{1(FCV&P8^8Cn+N&+Nr_+T8% z+kH&+Qi5IZ@n=dKJH_fyz$Bjq!Li?an2}&Y`Ec+}t+iM8&eb;tvVOIpR_qalHvYc3a<8|4?)(c&bu16@|0ot`aYSto zw9ezWT7x(uZQ{NtIWU1@#-r|mY(zs*D|aM>qKaY&0D2-+R~oY26^UL@WCx8@A@=fw z_HN4@Up~s6B!UhdZI!;UaQ=Qnd4V*4U*V+ig>b1G3jVNY24d zw@L2DNv5d~X>8z{JHA2V4*vxGJbw~ydM_RDXYcSoCL9?m0vC4?J$_>-MF3Jkuo+M5 z5+uH87eM%rqUl!-f#5_I=`3WymN@pPNOMCNIJ^MN;*dKiTgOO_RO}m6WUs@J&TxZX zQ{$rof1`$C|I?+_Ew=>N4<(6C+|t;M7t%%TD7`3gzuOHJZL$AF?kno@SM-C=B?u^Y zN}At}f1putTrKW@aenPb2kgmrXW<<;`DRLXsT_ajRkK)tAt(*ih0bQM=qt2G!>gUA z#tpNKA>?=jhCYZPSGYafUoDncN4eL@pXQys;nz#Y!KDmDj|&a(L;nW!2Om+9cD!JX zE6{}PRuOQlT&l*LJ4>BavY9L23ET->gE)6fB&GkS1t{4BOlgeC9RMPcL+H}jSuYl_ z(oBurD7P{0660O&r>_|zXWMG8XyLe}ix#vQlMn`Q(T>5B^Sq^Bk<9Eo2zH^SL=S(y zvnGG0{r>B;sdKEXtG(E*UKbaN_Gdd(E}OnuOjjm!Z-q`ZsrX-6km!0Lf{?pqP2fl> zO&(5?&v4f^nSgpn@zs+pw~TmNRZIPaYqY(Kf&5D>Igs2`x-vA&`33dk10SfN8 zr&BWiDXY2=(1MzcZs2mJCK#eiQ}HiFn+uLR+#}Y$G-QW1l`N>$mq-y^gj^Gbwmmjp zNt}Qv*#u19crJu|9a6jtm&5c_;(yrN5RwtE?K!gickGUn^5>U*p>kaE>z^MT*0LQ4 z`O0xP`AUu2SI(`ZYu*62+TnB)0|9tO#(bVwHhaMC8eb(L%0UR(4~P+4F{NTAYuV!iclg@fudjV{acfs<$*G%vw)!pS294PqMkElc|YU))u4|eH~AZfK^%g6kE(e_+Ip zL(IY+&hqt1FCF+Dj&z4~_n}Cp51(<>(rto7g)6`cD($h|qQu2qtQAjtH4z$Y z83UX{3MhR<&5n8v03@WPz~NL$qIez;h1Uf1XrN=mMrn!fH5sR#=;)HuY!%z6gNqWUfHf7SaIJwJqc4Bh>YYjXHdlGo|&UZ($ zgN!}UA~yH6#b(5M+R6eVc4z}v-oUdGu3Ie)?Ra2(LlNI!Py;wLXdT5~20CJ=_E)|* zKXrU0^VNF4!u&s_>>WZ!R-T;q%wxbkE^|KL0$C%c{+Twl2IO>MI4T&UV#BHH@53E$ z=p0(z21gTe3%Tb5nxUGpC-{*SA8fulP9BW>qYr}5`GPrZ8DhjVKLu8#7*ynrecn4S zVQ{ip_W+%0j>5rIB_oJDP~v#%ffo&Am7OhQRVdUm0VjDuuPAb}Y`fG_S&O;&?dOV- z@4R=7BYim#Vc2lVll(!56V1`Mxy|on^?D_4g&Ejy&CYzmZ5B|zs0N@b%0gd$da1M$ zU8P}f;}-;@{vT%fD-@$wk=|#%fBg5m?WEKHO;-!R%I?NEA7cF+t`?)eL%n-=P>4tU zI1=LXbnbN1<&C2Kez)?8AXfGkGh7YW4Z5mO{rb zikEt0B6C-OXBLaJg3`lo{nP)|;K7M~5;HnQioQ4a$n!rR^g9MFH@=5#NJa>!#DA&q zq*7=7vs#OLb!&FNA2**l#|h51l{llWE^x(tfUrX(u_4m;)d%A%(kPrq7+?sB!u}(N zRxO>x&D#)4zc|l9123N;w$~A0^FoT44(;vX(Rk?qw-Dh@=H8D3Lt8&R|2MZh%^V<| z@KS$=@AncEySRB|Rn54aO%5kS8_oK`2xA6P`Mk>20*@T&Teapd^17Yey@R&2@I0zM zsNK^hpa4!7TJOtd_rUQHISRI` z9tsd&eg2fc#Z82$T?w>eNoN72a2D>bf?o!b`jCGVKnfrg0f!R8QH+03Ami&?SZsui z$)(Yfvs%C4)c*4W`(WK#a~u>Fu!KPd?48C}t>yQXYRmP0kvpsqC=2_$Flf4m^zt89 zdh`cwvv-g!!iJBWs%Z;zsH694GCZ@2lw5RT^j)?j{vV6R^KSLs-;jD2jqK1q*rk zjiATpY!BQP0n)CM-l7=cL7?`jCx~`W!Qk>taF>?hQOAH(3~^q>A^y5fI5V^u)IL!r zl3@GsVFT=sLU>3;ZCc{wVJM-zXgZWQA#k0G251LZd#<)lbAuh?Q6NNzQ0m8XH^@Li zu>*inRaqh6%Y56mJwqW69({dqweg53l7sAAy_~OW7o+qZLzlL1Dhe)jk>e-OY>vSl zuu6Q@_!Rnb)ne^tR8gdqnJ9Zi>lVowznYRQNQk%W?aEhL@yzMv{_CZ?fz`iG0RO;- z=OG4C))1e2qF^0-XuVk6N$)cQ^(|%~OBzji`oV3gP@9sErc22KvuW;Q|Ba?EOQRuz z(6QxyIbB^1423%I$<%JGZ-WrP25MP23<0=B5KJp_hT>tNr42lHQndLe#Fm_Q8~ILs zl74<@fE`^9wYS88&0}4+#sv%q_S<9!K`)$3Rd{UE?++_}K__5eC<-bjMw3Q&y&fnc zN5j6C_ej=fqxB5L3o{V3v?)1#ErRKi4p9`oQ^2EjuP|zk(tO@Z)NDxHwz8r6tvrdqc0_U8uM2>CtR@(K;zU;zF%^=wq zMcG*iGk!Y?F)Nx&wFOPGNLm(K^6DE39ZpnTrkBYf;90Wrf44CO%to}yJ9=LOE znVZjN2lIZMBt0F#C?Uj#)7`Fp5 z0z|0U(DWeJ=UfEmVMKNDT+CY{bo}ZRMZh}?x~VPWf8o*?JHAktJoGkeVMBt4G$ZP$ zV?CrIH@v$=cvQ4laCUrQ(tt`EgkJW8BlN#Fk-ONH8~NeeUgFXm5Ju7`YC+9Ac^Jx= zr&U~^u{@v^?kgiO9l(JN7$Y|9==bi{y)B_tChG=>(r^L~X9I%`p!g1Q0t|p{Uo&?i z;UI{1hND|;48JhA!ax`?9?&aIeQ<_x0?a&6ocDZzRA&jSAC^RtFMyu6pFupFp1-h# z7Af{YL3S7Sv3esX<`uW0i^!3Tn363;WRF+1s-NG&VT5!;2>2mi{IxZ-v}S<&ez;F? zfuDjm1ZJ;T9}Ll(9W`ZIeL+Jp3S7C-KG%E;O&{-2ZkS0pbKb=1SX+mk zp;DX8%FHd_wM14Un8}#-&3b^@=X-&lvUdycke z7pxwvKt>-MmT{gB=DTf!PjmU@@Dtt+I?`o&T??@2gf7*q0>B&nr^i?e2N4Byd#&-$cP z2tOZ)0x%edt+3Jz>}T7&@cAAGVnvmqzT-T`EH# z;NC({yD68Ob?52Jfj{kST#KN@O2<~kdc}o1$nE0G6Mm8km3iAJG}#%L7Y@xb?NYPZ z<9>V<_&Ajn=!FD4H9)-*Fq0%Uu}Htc5E=xkgY8E6pWT+aAaM*E4)X*+4$-UcgJ?tq zj2KYPPJ4Ah!YRuUhw<-iLc6PHw(EM{4`$`Gt7NarSKtRg^qaquO(X6!t^g=C zfS%-lI0yqJ6vn`K1+fhTe!gg&?L$<)WQHsnx~R%?JhuTIIEZuw1#>7GyjaiMIF}_( zKFo9apilblpLIC{AXma|0Pbe(;kuoG2bH%otK* za`(C8q!7j$BzXr2p%drUJ}-3ht$eX2S8*ugdmq6GHLLll(5hFmFZ45bNG^@!YQeFR z3sAe%4F4S-ifa)^$?qVRb07_6k=ya-vz+2ldfnSCtb(Dh+^Ly)FRZlR-Ymux zGEdz#tzY!Dt=0?0XmVQLsk--vJ*Z20ApOWQ(>(57-7SdVVEU0GW(S;x(ZY)ddACf; z%Ea`YYtKrnoo(iytsaha&8v;Ejv)Ne^;t+Jb2OjUvNBc1d}lLNWD+lfUJU8iAgMF4 zp8IshVBh4F$G0=Xv*{a^i(m3nTx`n(Y7YybRMR#=H>PMJ^k|Di@KLcb;eABWLll_@0^Ju+3)L%rQpX?=R1@<*$-BRqQvr zrc<*y3k)yRIudY26Lk*@BSB7Li1iOZ5n&7pfj|>LJHSWT!8QPqBi>Dx<&e$l6hd;ie4qiNK$>_HHgkyNuMCgn z^%|QOMwvu3&Wfj8vc_?$Kztplqlj>P+wc?YihXOMxo=^xh);{iDff!J{0c+=rJDYP zpWJnZ+xB#sPVItiPq|n`j9rhN)vCaoL&q{eFSsDU4eZCj((+n9>pkyL_y&YPON(s) zFGUAX8iCn0vUWqZd#VJyW*D#l(keNyI?kkx1_eu?dn7t`QG$ddxoHQ!0XeWhuXaZ< zRJqwkn0Ry1PML_pAI0D@;|1War^*sjmR8W*w_;Z6B8sT_6f8}pDWY#m)RL9Ae;J~4 z!y;6UZ2;+4>&@5?>)^msS1)bxX9UZ_67O1+dOQp0r<(I_VOr8 z@lsez{bmUy4avwdi~oIkG)U(sU0^7PlOhgQ;TND?52OH$*<;+^AEKKGwUAb;dokhc ziO;Lr+yD2WMUhmfqmU&URuDY=nbIn2@l9A6uIn-EX_+!lCPp9jJGlS!ah{%NFhigj zNY>~|#+FyX&zQ?7P$Ihi=Jmct;uh!JK<@o*Z9V%yV}g(k@D!ma29y#(dOLKjhd7!a z;%M%3hH`^t?p&p}IDY=j9?G4DzYqbJ4D$%HSf{R1(1YZ43@$nrBTyyWo-MY2d=#Z~ zM)`>LgE5Q9zLRQBcyT-x$X+V%x`*2?uN|X1OaIC zqz-H@{+R9yJ#m`NB6Cih!>_b^<#m^45Oj^-VIB-;sggVMDrCY(qqr}3xeWzV0GYeds&@7wwfZK)sGIA+RJ^U@W&9v zF#r1}UQnAN*#l*Dj06g;xc?RfTaLoXFpY(YWQb6XfZ+JK5bAE60FoQLG~na2_H{E( z3i-d2b`mIJNPHBUQyNCAOjK7$KhZi&bCA~zOL6bv7# zbUCJNFC|D-AmfyX5e&P445O+vn4oY!4ek+er+ILk+*mTM=49rw!+B)ahJqm zvSei=v_&p!3&j@kiV!2dhlyOs91Lr3I&o161a52dfVUD2@?bAT3eA%>_ z%mik4NU)zyk4c=Z?UKL#&rl&yOhRH%=+OPU_e(^keMb92uJ-|oL4{BeFi$|4ArCB& z*18{a8J|>f;+xswr!~Gb=fRwinu#+nWJPXRGtXAwwe2yRT8HJYcx<>f?-M4B8IvCv zDxxM)TLT>EkCr%G;L)eR>p+fghMNq?weLbtU=Lgv*=?CR{5Z0jA3@u}!3(XrF? zvYQRZ@PBGhM7`XyG( z9%YV%C4@!$Mb=hHMX@p)T5;w0#E!n{`eS#mAE5VX3K122qC7$PSS7)=jj_qfWYjno z!=p?l;VlC}lB&QG$_z$PT*TOB44(QamH+)Ffx|~?EFXaSqn}%?=ysc;Z-JA`kIlrR zItbSPJ5x9BIt(pIrV@u9Kb9@)E{RZjCOxTZsbIY2%BE0ZTa(SZ#}{fij#{Ui!PZcoUi`Z_}BkzOl+M_XdSpEk?qS-&4JB%x#;~ zV(X5%@81RIoluAvWe#UJ)w+9Rw`^1dPtv8N?xXZ~_>sE=_Uhv1#<5X`h}ib*rfziD ztlix7VyuEV`;B;~EI*?5ZnkAAII6jBX$fWek3!lWisUs!;L7%;>!Os9GEu8LmBc2= zPixRDE5f=Za8=n6c-!ZuUVkGpo{18YMtPj1k%WR+bAH~0K zj1P357A3ngAM<&B6%y-y)O;%SYIBOAtNwAsRe!(H;j+Z;ORd|_ZOl6rnRvOQ`}Q<@ z2Z}%)UDj#q#VV_1L+9HZE^j@Pqie-;3`Gi&yyCUjgY*_QDxe{Bm#%X4i-_94X}4wr zEQR;v&g&@p92$c0@u-n&o2`N^z{poQJIccyXlm}0v&WHx zKv4-3^cM$f!lvDNX5c|A-)MV@Uy{|EN=Up>#Z3Mrlh|Nfs1a{(#ZP}HF|xEbKBi@` z?rTWxa|N6FeO1u`jQMS2(Q!51%CjAT^nXRYm^SiqLGG$*nXlCKj5mBAQxxC7TkQ;t z6zTSofSH)b9Y8*YCZ0fsPl=0lt=zKo6Bl_pXgM@E$J#wv6){4L(y^Euwx93X-#sij zbS!IB$;KwCFUL#wa&g@E{%MghU{kwS0PfDh#hf{7{cbqYi88E%e)o=;X+mcxlUQ-P z_39NOPkWu=F-krdz17HuZx!%g&ZTDG*6)7p^W@dq(XR*mIN_0avtGG`@TK6JYFVFI zA<;ZWVV1kjs$7A&-d?u;*T+Acum`w(|J9Rr6rF&MP=PmJ zcla?a{Fw%NW?$IW=Lz(p?3=wM|G~Z<+u{;b3I|E)n4!tf!jhq8DN|2EN)n@<&`n^~kaX|j31-M1(BKw45O7mY{ zrA%NbiJN$Q6BG&jmc=(tG&QB)irpvY+(+%h_#PVE>5p42U)fd6dFX`6v*EnNz zF|oHp`{{!_DqsZg^abIc!*M#-PH--Jdxu-IXLobLab#P2KbASGBUH*@->~v&MU`>I z1zH@wu3_3o#qX|-iIJ-!FzqFGt7!&H)!4ip4B)X8n5l?mWg@x$T1H|G)J-6X)+CSc z3jpOzN_<2XvMXZD8!c46#JUj9a<uD09nGlka?qIWPsj3yoZpRp50RW>Y*!cl%e3CE=Wt z1fiz_k3EcnS{09^j`su7Ge$R5%sGYW+`%!z{DPN;9mSvm4^0cQ2w2963S*gHPK<4v37XD`GW3t0rBmdibmLoK_Y z>}PG;Xr_7(J)TL5Pfn)*}MJtovKSe^}8j%J|C=a*Kcj) z!(p1p_G&_nu>H(SG1cUy#Ky|KBjD6)l{4lgBU<)*U$k^2?BTn1wQgy1IGJTNm6QSw{y>z?~zUut1n?tVd{PCMPxlb|u)*G$G2bV3KhGu=%7>j9cb*cXA18ljT-dLbn^GRSPD3viOs~_0j$t#rq1;}`@NloYaRrm3KTIxJb=X2 zTKxT~F^47gvMJxq+bq(>g}zqu@s4`0u}v^$^n>EQm!G@;qgE%*a*Cwh5oKRj(N3S? z=zd<^_V~TSP)HY#kW|p{w)3vKVT!FMeWxSL%a*IRd;;O4)%9igsBO^9NFJWSoXzq` z5GVXycU{(e@vvEIl~muwAu6k9ZejRS(n^Wc$=p`@n&DTfVSJMD-V9UXsq#>5%m~lv z0z`M8CxR8pLl`)w zhJ}7U%l-CAGL~e{4L>36A7?( zVCc!o+}#P6gEuo^Bm2k(a7^%>^ODz!I(L5l^Cn?LjJb5U#LrT#C-^ce;P=vhI7c(g z*H$?s$tg;2=H%g(&-IkYSi7xcz<60?zkLXyvX{YHdBE2mY!@{CY82nHrhz&&F<-C|BKHI ztz{mg>ZaI#R^j?=&R*+-&q4?}v;-6c);S^A zE!)TKmO+KFF_)Nt+}P4`@1`Ix`-Q$c6$E{~;_C-G_K|sjn7xfhhD4Efew%|)>^Yv6 za89qr#^O+U(xwj8Kb6q}RjNMeuOz$O+WQ)59;&%nsf@`_KG`u$(N^0Mo>nVR&uy5P z>FabXIStmubS>VG8hmFfofmPZRwWgGG0LKr)~JscTXa*2u~xEqp%SG%xuBN#bfFp5 z&$5v8^(ooCH{uBJ+-qAdKhiBOyhZOb-_riwQ~|3SNmoZETU9vmrm-3zaWnlZN+iUc zntpI5Q{XXaeAA>L`j)u9o_QeSMroYwjik^#im91BW_}AF&);0*$LEcXE;%%^;$VDD z?On_ylN!2_kGeVjI1;*b)%nQho1}^AbxoPR6uXQf`+oPyk@s*K^bYBgT4`Bw_ovkd zU7~&Lb6V_GkRkn=8(qHv+-l$scDt(8fH~I^sI_~9!F1T8 zqw#?>7ZVc*6kwjQXdoI&;oS)Q+@-`HB-!hroqnWeay<{YT2JHUJ& z0a7fZ=lSRx!aI=@V`hZfayuI5`7)Dl)=MaKp0DJ3LZ~_tal4KNt!3klc7XqnsW*>@ za{d2+?^%o~dt_fzs*^0)8*4(HQm4}?O3X;1EJK!&ZDt6S?Wk{&Eu~#qlE^Z1qp0jD z#x^skD8r0w!;JA<`u@Jp^Stg?@=sZ=>%Okf=lyvvEgmr6aGA)<^HBY+J&v`d|xs!rnrs`BR(Ua)AFvPpQ>zLco9{!EfuURJilN zJ((#*%cZuB3BWlbxLjc)i-~Jo$dOtw!v1>r)Lws%uWs6_EX~YNzC+%$` z*{HBH63SYrbdY$(Sg(?PKkS!CfR=;4UW4-Vkzuh|picM0AvkS>J{mRY--~+NZkM=3^agY2OW^rTauxLOr5}_;^j9fq2*keJ@36X?VU6Z;BZV zLRc6xoe@iYxD@gRC+K7U53G0|EX;RBC7@c^unB`NW@W%t78UczwQJ> z#c?$G`6rVf5|vxdPPo2Qr7`$^_cyBtEsk~N(N4t3$Tmg@CAbHS}(iqULK79Dy%e^-x~^eU~~V$ z4GtjKhRiVPhO*AfFZnShiW*puH9Y2Qi@Q7?u*N9#jPl$f`Ys8p0h>W}%9pfF{nU~T z_wYxzDJUV~gcynwA_|y_L_#xQ5km#!Q^3#1R0pimwKgP-M$W}Q-6~DF976%*idq|Z zWI6&OoC0v}f1$l~)D$Z3Lf2OHjBNE(t0>?s zKz~6x3lg{M$z-LUl@^Ujv9E#Q`1*4KQa`6B9b0xbjRM9im7R`K1WEE^zlw^k&(dI8 zRJcy90VBxj$5-&;aRnISr*A-bGKMs=5m`N5h%wRqLyj*pIeL+}+5|KwLYv)b;M&4J zlKp6~PHi+Nyq!C5m9j9Kj%44Kgz_T+#<>n_A{dfe6~zfvf)o=(2&d~m(ibJe_drA- zy_#x_*t|}c`Y)us{_z&E`E3PE0g4RW_^=>7O7KR9&c5_lFgB_D#UZr>p?~8 zT42*OFlI{Gjo~K?qMzy+Tom;ch#e~Qht*9#$#3+ z>5aAot*h%p6{k-lCcY$6=71;SXGYS$LpCk0O0^@2rL9i|{AI?JSQ+j}y!w1-UC)G3 zi-X_dtfpM~%p+cI3kQ1G3M!R*gY`CGnJ!1I`c3dwx(=Fd8hn-_duECJq1d*`ADP+X z%8px{M5~IqqIjYr1V=M3d~xkQCWL`5%(=g`dX}x07V2zycnk4r6C=m3{zSX-LYlMH z(Z6EImtEO4i-u{G^`jY3B;AZ#Onax9#evF&#e)r%^BJsSoyAUXLA)GBuw=(iHdOnv z(s2CLl!b=qS@3H7ug|)R>*O@_8E(Tw0*LduW!IAiZ_mB-H7p)r^-}%9ECmn>$j$+* zD=jF%h1Dk6RbpBFP#3#C`9VS35xkQS`v#@_G^E(dK8vV%Y!8*XMWSClg@jw7kZsWK zIX4P&ix4mW#$Dc~3j4E&>46JdcvZ@ory6}y8+}Ga_#^Vl(@QUU1o5YK6Y8hyCX0V= z(YhkPD01$6hv-*XPJ?rl<8>G1X{cYZUXK@@T+jed*@<6#>qU4hRj=mAZg7{6GVDV- z4`^j16h82PH6ih7ycTskmhml(>g=D|xq+7*EYxf|4W~Sj>v|$~I5X+HMJ&p)PrE(;T<9Ib;?;Q4VSpbwIH{5xDv+;bbg2Tv6EY zA=3bTB!MO0y>cRfZX(hDC(tp2d+!p|8POi5cX;Hlmk$txKIPxXuRoM6cFhUle(r9$ zB-#;G;||3m*T0_P@3|UKx2%71E1mMF)jB4s&c12J=vuv3uf>WbqA~wbSyGE*FYKYK z24}6(=ly+CM;P03VgBW;RhoB`aZg*C9{2C?z)Gj;6h~gr0q#QjzA}p$m6&#Vx-%{Y z^axUE8UgG&YJcW>{gsN~`I~yC@p(f7-_Bhrn2`fvV_p`Qj#Lx2bRBB)v%T26!&3p0 zk(}m1QOagirE@KeyfRHaP+P)+{In`7~mx;=!!e4D!<4Z5`|J6~Eb3c% z)*Bjca^J|>>ip&1#)#D3X<#=*+G82Hxk4*Pb0CdEioVT)^o*i1Y8wjcGS;g0{a-yV zRR^?KC*ne#542^(J{n!pO9yumz5%=!d^4?Tzwh5b+&eq{buD-|OrSio!BcBXVIXi! z3jEH0dup`*xf!zLYQQ6tktzMyne{jHf6r}ys6W}tr(pKAVWb)z-#kdGBG?(3BWo3B zR?;&lz-KZ77ae#_S*&A_s}>|Q@M*oBnAM5kpH9<&t@%=sqQ7+?OpV3FJ3cs12=Tcy zID2ScDA4xDxUxdNnp~EwqW(U!np)0WY0y>K^XK`km*~4LNnbV)MJcW1Ct&t0ySwpn z&o%iJH%9Pg>l%CtCRJk!?n5}B0KY$gQtrLzO>VfhNC@R3UtCjkW^)wa%0*+t^ z{$5N}#}G}CWG9G!31aJsu{)KaUh{y*OCp*7w^<|XfCNs zRSab_XWJ+QbWL~|qshg}!C!Xfz(btG3$h`Eng+e0q<3oQ<-yM*|wN;I$Ys zCB3K^aNF&LW&(}&jJ47;JEwkq>iKbQYmKy4vzJND^y3l-&8}Q_gjjDu>=AD%cB7RH zWmS)-oeVqPmTAON)v#2Ov20F-OcWBpeVLTP{r%#JnDR;)h7;jRJ)-aaNusi8r`0D$ z!Pm^tLRovSD|O=)*jR91YD#AwO_^rOUisi$P7;>S*Q_5P0A?kq`|bQ%fcu!_X|U3H zEQV6CKac+Zs?yCG7C_j!-w`|Csrq_g={ca~j?1oHQ2Q>ih+BQ)!v3Q=-Yy#_jOGi( z7u$sa$IZwnh?Wm;jbAT$dJ#NK`efdWfcGn3mAk%37ZEx8*(Z_IgHZ56DL51>DZ6gj zKmgHw7`CDw9S&T2Y&~B~(8U zVVGRzSK(~KeNbwJBTq?UOI=*7D}m`sO~9#R!`m{%(g}(}gX1`IwhF(leE_9jGg0ke zMwOc%n=t2vcJF$d!AfR9(vgV%51zlj&OT`Pnk>o2lM!@HTYYh+zoPYLyHCMz{}cJ8 z;)ygPyI?;`x9-~@3r}6fl(%+zbEMMZUQcH0&gTegOCK4@&Owx8r5rkP30a4&Ki98+ z1!h`KuDmypq4b+1$VRmXATqb0rCaQ8?k0Q|ZiAvW4x!Qp>9#A;J_VuhyCuX;W%c_! zhroZr6_Q&Y^WWpLLe$02ibofKuBq>*6INYA5WC}wH-PVdpYS(TVavr!i^5K@CkB6{ zQY=>ZUmB}+h!nwj;P^$%*@nx;g3LO+Ez%ZeGGkx~Q1iD(G$Juz^-BCqAEVu&>og~`Lf z(T#4t^Cn#20?(g_g7jMLDj~~W5li}#czJeoh}Qpqp|F&Ie^5CIOdjJtYsNE;Bl(&) z0`sT9T;K13++oi0i!f(O|1Lur6cD-DhepO7cP~>^$*4^t}9q@T@vZA#d)A- zv?!g(+^o&JsU&){Pxo#r6~DcVzCt&eC4H2HGGw3-d1SdBuR-5z-goUGCQe&l5Mg4A z|IVM#10B;1WJt+ZP4?}tHt<(v|40c-P3n1VW&4`eE``33r1X@xSLbM35lPZqmJ{)cjZLoe)kn8Kvx-U>Kkt9zJX` zW&1`zx}!SIX)JqZk8f-8Xhx&~DI4NnZI~mFznke6_k~JVIYFvIAI-$i#VxkDJGj$XOjp2p3-r zl|55U+VjcbQDWH05sU2p;|kEy;!y#XV@mY{6ST@jc6mQqv#G_QKVQ*ERm{^xK&xzi>n?H+eutLTm5)8%&+-aSMTRI(uCow_^Q{S zB#c;h`G}NLx&qWTOU`2Jw9dSS1+_75z@}p)5VQ0*7Q&z0-)2$9Wu;$th|*n*m_Wf> zk$@=&{E}Z&oMbJf(5Q_QR==za=hIosyOQZ2rdj78Mb=tC()isW#x!fDNGuIvw6Zcn zltP%0&~m*gRz>Km)F`t4 zSgVUQccUx=#q!*bszFGxKcYhRaQ?RZn81`~&Mv$E}^ z9-IQfA0U}?S7E>B0&a0pqwLt8Mc`%eH=sVZ*R+vtB93inydcsy4{f!>cY;_1U@HAv z!$WKVQ#VP-_Z8(1w%!bZ@i0jU*~Kos#2dM90Z#OSfYk;ALQFdhG98i16Q^CJ9r ztpBb($iW~%NM?+M$kjPZxyQH#L!kvb0A4qvRp{_1NA%O7eF5Jp^#-9IDSIu<4A zJJOm}r+GoLn#4{g?25MYMVp0b?OCjmgh-K@wa~DNHjfdlw*y_cMYaaaUG3QjaS96U zjH4cti2Cqa)mT#xz$dtS_+5*6uTRm=VJRLdH(I)9@jQrB1&^h#IPaJq=SZb9u2MEf zby@vYe4KJH=n974`z-)l1CRc>bu#f5!(-?pne-ixx5--W0ya_oZB=fouaUxrTojz0 z;{PA3?0f5j>NcOUPd%NgH1hc+@u_Ckt9A3VbQJrfF~rQhAQ^rd&HRI!{6fWB8LqbE zkNiQQDGPyj(M_I3j366gn}gsNkl^xoc4%M*FTb7-JaZqiyqXC+rBV72u=VdZ_`e74 z$swr4yZ>xjVu~GgEY?N&kc{y`|yo93$p_Lo9VYxr$lk{#=FOafdFIAQxRPIaI!oK zRZ|>*b|l!zp$lQzsE$&N#8Bi3*_6?er>nHd#V?}C3Eu3Ffs(Kb>uDUnfB*v+ zkzYwof!B?PHrQ>!wl}jbRmI!6?GV=TW9I)+AW!^bPC0=LK?3taAc3wlkEt|`jfi6@ zrZiq6+vXkTtc|Er)fL(Q0e&2RVqrP7qPp1bZe)g*n1+UU!!-%&g%D#YY_p|bgCO>N zx5b;;wr1A*u2f5*Yv7u6$gG9>8i!CO1KZAT!AcL&(|Wo&6)(;mPdB}_U~M$ac)8b$GUfi`7sGumgvp|x>I$$ ztI9IxYn2Q4^<%TNI6WxJ5pq8JA>jg$0ZPExQ}(PJZk5!|Eq$_`8I9Q{qB92L>PjM$ zu`%MXi1lLMxQE5|QQ`$e%@6@PqKYc;RWQ8cIu|tGmmdIMQbaIOttSpMu6;AWkRhR#L{yr}jTQ!fL)K%c^1DSF(zs}87l)V|DXv&M)KPJE1LvHP@ z_oP++(@Zko*c2`ir5XU7!oF5+00NT!vYQ^;5DXQ$)tK#cRoHNs%-yv@b2QC(o2bxI zblKwZ(bXj^GFyer@|6{Ng?(*4JqiS2eh4!Fe?WwVX{PC99wrWb%zgIBB*&6=>H~k` z>uP~;5sYDnPdh;;_h533H%6NbAcGyCc6IR%3On5reVr1rQqeP}e7HFzV5hT1+bH*T zz6)-2ZU9Fwp_i4u@i@-bj5(!xlLm5LD~APQcYeSB&9Ge@qyDYc4@7zV!}+7U-7NzhX+wxTUtjs zWgLpC=re3UDW|N1KNx}@Uk?uQKn}MQ^lMsWI2e4f*3+uK+Er}BuYcO}1%dX^*;p+1 zh4Frp?Gxet_P_;A_12Nh8TkxavO46mo1jjOX&JV}4m)yDiwH&#LIC0bQoeJjqajM= zDADz&$f2(<0YQEeVE1q;NJw|D|I*Y1^wU%9$kAH~RV(8-bfu|!ai10MzneoGM- zvu$$M(&}^H!=^GR79ZB$c+yV2T&+tAT$ydLBeuU>>xZD=ojajJ>C~Bn*WjK4_?m2e z*2ScYXz!bplW{lQ%zk~WioL_$b(J>D8|oCQIIQUdLBhHDFoq~%l;m+nK)R~Dmd0IP zFk)QtfIWk@iXx4N=$69MZ;S4hKR{0u9 zDKxm?78Emk(#Yz&%DqdBm3K21yw>9GA-Kif;)x;;I4HVfA+6e93kh$I?081W!FUev z2ur+`i5>a6AC8H`p*&pv@@(W%zPE$>>n+oSla6l+da!z#9-nsvJeyWCO#hlP4GAG3`sJXQ zY1Up<#5AhB7o!=UioOyHuXYD)?WHl9@tD;uloN&dkQ+16;6!knBqdb&#Lc1}A(rSQF z2%I}mMzm%N%jET%8^UW`K!D`L*so!Oo^(smC#XVt!E)Cp`**4KWCFoB@zX|H_5_lqqV2AN zY2#XdA2oa<$iBE1e82?w=UL)GXD9}eEl#*S;Cj^b+T{MW@*+URaCnV3{M6rrIOR)ghNw`{Fow#9twNy#nzm6090` zqf8=MMb#3FMnIB??jAsKswpW`fHX=};u#Rp^OM&lU@ufu84ek}RT+`43JZp9;Bk3z zVQ9Cv1mjw-P%07#lF7#$N$TQwP1U15+J~#7PGPMzl9(I%0PLg1SDiKj(=sjQV z5mi5DHL?{ElFUFzbiImf5gK{<`pg=jv;%OjLie7S2kanUa|lZv2qL`PoWJpk#ZPE- z_u(^NSf9Tn)m)@ljEKB!7jLkK6jy1C{}`!IW<{(fRY5yLFqIL{{1YUY^781@wkwfm z0rm|7WS=0cIq8(hT>7*~#KJ=TR~3yyM;xX_K{7WH@D{X1K5)?tsSY;wx6^py*{+Il?rouwmZ5&cI<~QD%s>#nRxGVL zZZ$I4CH*3IrEI|4NtHHQ<9G3aiLH4q62B?laWW|N6=kYoH(+^4%hn8OiKQ=s?}l;= z6=l<~8V)`>R%T(!Z;sa5VFp)EjjieP)Zp|Ao5id0pv+|OS1ARorb#FvdH_utbG~>4vUmwELPVG>;b#+q5s(5_C6Q-Q)eE@rsJhX;aDTkh1Sz z_Y-}UDZ1_2x_s>wCx`1%JNpOdT-^4`m(O0lo(a>XS>D-R`7_eZZK*vSzb0DSfsO5z zqK>Dtx7u4G)ccI0Y%thNiNi`8m`Aku8JgqyZ)egW+QA~?{$Y^MK4e@#FJB_L0XM_z z@yWAYRs*YfUmED=Q85;O>|MO$!0wO&k=H+dioUc`E7wRW2p;f z9}pDp>avlwLot-BS&w%VcgGPqHnA$2kViYAynJ}na9R-Y&NeY;@=62kQR~uGzl}5l^IROcOF)-yp^S5>DD8*w1 zCc5)TqIS(8pF0j^WgO1t0@~&vq3;fKpOKq#bBiRVr`vdy_W9Sy`;$KQhSO^i^N5MR z(eNJR=`>@?z*j5CS25(MD*OlLbU2j#QD$Y^CsccUGEbABh_cBkpS>zmNtqf(0weH_ z$9plS8}SNj`iPL;4b(1&{JA%3Sdzn6lj{k#79+6drzHu5(WIyf3OScHS59N4=J=dl zT{O^V>>A6bO0}nZ$<7TYX5uW$t0iiw5$O4C81Uo7K=o|7?s@l9u&OjG-oV=!-PrZm zclFT*a(3&AhL&g_mh%&#DJBx-_!gF{<|Uq@ zM!zN1UF%>PPczkY5v(V75uv~gug@@vUU$}1xI1UkPb}_~(1c2FLSp*Ley)u?(e5tM zXS=3|)jJ_V`u5w8i&)(NC&9pi^`C`<;GIChy+090g6y878e+54S$@zqZ286jY5 zMf|ZY!z7ya;;BYfw;aNClsGBH4nR;Wk{Q*_kJVMi^Hp{&zWE8!j)kb?z^6X_D3K!g z%lIVrC%?IM;1H=9kr?zu?YuByJip#BW&2dVtm_etFuvMe-6D(XTr5QV=AjC4zluT3 z^H5Ec#}ZVD^_QmXS`wURBHFhUiOWC3`eP_gXwypaW~dZ29QuUKV!Mm)=4p$pG@<4i zU+k4zBQd2NtVc-ND{$!R7Bm?+zS-#Xi=VWA#;=uoxBg;`a3<#*O7qY_sZGwI8m z#JylOr-Skm%Bu90H--yu!~u)Na4YnPt;C@JAw6i%o_Mk=%9@YUm|7Z_2wXj~Y1#S@ zVY2lu4qy!7HBs@CAKynH?ZzJz<=C=i%-j2;OF(FUxD_O{9&Vq7?6M zd&E%7SKWFPN$%G_5N?vRZi4g}OYza>{d`{l8({NODY0_)QRp4ksKzm2c$y z7CIFc^&r~&#g0>~#|pwv?M6(uvw zDH?j^$#tKRw(u(L%T-MRHol}su50vPWq)ko2_SdclKUbU|4Ck-GJOxxfVdjocdRqA z+EA?Vp8Y*oy8{RW_6{WTR#vsLz-Hm_|moFOP@dvRe3yUw{xrW z_vQT7&4xgyqD8d-U|3_$S~tUb;#Gq84hvO<8EAPN!aHlPK5-;!s z5t5&G?>jeFid?nOrV}EDVjsSf=&68^f{C4*S0x4HN+f!U@An0fpMI562qE!KAX2~u zg6ZQ3-WiBTZ*YbzrIBD@M{Zl+7f%sq-i^>se46k$!K+?@X)X4S|B*UlC2P}IA=mvD z>0Fc@fgBGrPI)U7^DWa|wEDzPlItYMYD>!;iw%3?lP}{+HhdLF9VvkgIXtPqCb-_` z+D#H`sprLZO~#yiXV*Ipqu2o`iizpzQzWM9UnQd#(%$8TLIiA($$yHC| zQi&ymvKtWpqGeu&F`Ujq(Yq;Gdwu}D4#%9FC?B-8h53zN@7$r2olR?LEH7@P!!Umb~q6P#wPsbvm zL=kJKYXjO`18zaa(;oD3%O0Ft75)1B0&k9AO?myxrn$L@cg~*Qa)vT}RhIO?i~03mi;4l<29CxiZdwsh zouAaly{HM}dzS$0a?!z^UM^6&L;n?pa<+5Z%0FQPGelK5N=cRmjGS-sL6B`AS}nvU zfxm78g1SE25)x|2P_hT1z7VCiHpk07Lg$fg&oZ!+SKa-G`0qly^=2-!yjPpt{XZ?> z-hQuYXUawjRGa%}7HyE){P&bm-oFfb5nT!CB^BSu8lPM|(dB@PcYS3tTv;~v^h0P4 zIA8H`(DPCMM+qy$1v zcIuqaIfw4iA^L89mCU>_JCL==&A0+z#*l%7&<<1%ilBm!l49FOKw53m1n;%$z*XEp zw@6HQUNJ;LXaizqE|w38+0gg=I@M}Js?bThe;;8T9N9I7Ao^LhS4GGAcpGKJ`;Ii! zw)M-&yT-%~?O0h>cd@NwhseCOBN=a1oO*bbdi(diS|5cmnwi_IL01-jn(YH#zp^oiCt&n(z2X z9ie{|b{w2@gYlKYd$oCrz^+SKKmr{2G(@AD3Y3YY+CW|*khQbqtKT=EDs%)%%`Qge z%&(qw+HPcVMW_6WZy8kGq-_gj;>yzrpO<6U)=H6vXLd^7#_+Co_g_E+@M9Eal^N5i z{jy$;8uSe81nl0t_4DTMk z#dv+993N43=Yg!HvegkQ3C^JYWY0I)%o4Y~JoJZhksyy|N33c=|4r!GH4W zHc$*XP^7c1uAq7&hxNyGaUVpJx| zWzDd#=uftx8ToYy%h`>MrT&meW2sxjZ{vT_9py&0?Y9fyw>@ed zHMF3pKn5c-N|%?o8ggsTr3e_x(wo&?TZ%HB(BYmD5NIOD?oPR4$x_fsMWYnDhBu;F znxMX{-(sKionlSH?6o{A!`6$e#H5wynvg{k~e#+Bn zXA4JZdt$S6(mL?-^*hX0HVqRs>vohg$ddiVsG1m$ee5C3N+g$|$2;*d-tJ{lpJD#p zf9EQ9?qd_zdhR~NknJo{Sk4R9hY8^T`L)savYd(aqTkvO%IDaa#7)+jBh`=8;iBpf zBI8>V>36bp&psxuMMLVq#%lk*Ok|?lraO%WJL>PqN@mI=67`TzL+v9k9l+VPYsm5R zpa$KzOs4XJlIa+gc&2?$^$JZ@G_z%jlz5u1{p(aSp0Qfej#pmQ_cQUaFQ?Ep`>eG@ zh35kjd(BmKkNQ1}+gE8Rxi-vFg`A_T| z0$5^x{Pj?-^A@UCOmc<%E<3(5-HNcMs2R1SVJCi{ttE@ z3MK`V>=eYG_!^d)NudV?i-JogCq^=i$fRw;-9~e6k!yRPGqjRXLoS5Dl$VnS3{&#` zA@x2fsPqujzCuce3;-pi7rj%Wqy# zXDtl99xDnZ8_tMqstG|Jh_S+J@xdrvWf!~NQi52p;fAl<bEB^C8F2HWW zu!iK_#KGorU1g-V3?4N6o1vE1+^|oA05J>3K?#q@BSC;j zfmO_+yaa~)5E1C|^N7qDPhd%H&Tx%Ul!r1UtlYk%V|x=CBhSt6VBtULmi7Nlq2ENZ zUBSC8Mv-^kSLPINAT7&5H+lHPcZ^X&{-dF;w7K9~(lZ0BS~bb!)`v6;i)7bG|A}Aa z+z$^Txqp6LIxNY1*iE`cVV&?<4ff~Pm5i1p&`xb$u9wDfW_vZlWN{6<9+VDKPj>%GUc^P@fkg*v8r+Kq-n|cTZs3 z-SHJK&md-)$9qo@-ytsTdOts60WuJ-$GtAT7y7xY-)xhVawn)mcx!DWp_gO^bqfx%Xb zuOEJs2*PiOyU=flqHp;%U{0P}4kka=t|bpB)U3v&4AJikmI{q1D#BZKDVNvE(#WO2 z->Agym4F&GZ?)vN?P z)9bQp3FeF3R9%?$!=0{m_tApj)44vb>6W{mJd(L=R4hNw94-1{80$0of_0uke|(f2 zt1}ARrwY$mgDx}5x|ek0$;2#mCjAZMjkDeRq6;T2a$XYo>X}N|K$;t=ZjU6XZY_w$ zp`Nl1SKOZHO&(EOv}1KmY(omZ4^tY)K%? zld!6oKAYOkx_>RYuYtbp)3QVixvgd?8%aRNqpYHiMnJ?1yDYm;@*X8OHJ(B6h^`38 z#ew}4Vq>w^yCF#(-gAhzW_%tJ3i{Q-CI=M{Z3T)_Rpjv@{Dgf(zv_6w4J5vgG`)Z{pF0) zjd7d)A!0h7o5tKTPLN|u1(vv3Z%>PPWZdP#;JkQBA9tU>T)U;H+36}J{vC?_P#i|S z`mS)M{!Qq1nb0<(bmqkc%e>0Hp&eloQM<}YVn)s0WTQ%$saIale7H!F$eiL= zs5ATYa{}y%y3wz7zHYv4h~G9jf`+qS=>0t9fH%fT3O{zTGzg-flYV`IHlMrTn38fH zpr1Iq_K`pF*8p8zbVJ0_OQd(nLctKf&6ThjAys7XbKxPS8YPH3s9^e%+GWH5W;+F8 z-BnZO2}7^elp^N-#_{(J!9fI!hjtD;cv1%CeGwT@>_$Bu?P_P2K`}qpr7$yg!K!qw zb^7vpeexVf*@=$t^f^5s+Tv`BSDI4l%$!>mDrob*va>q^F6kw~__e|6*spU}=9&#x z_pQzUNb&8Ps562rH*So9Vm%?=^CIrg{oVa$hL#zA5?5LU^+bC>F%ZTzV*a@{dNcpl z9f;jgf}lK>qHf=lAPxEjAKjsx@5qTx@0!$zyL-?(nJmc3j_4p^xl6l@W-yKa zA|qLs@K~C{1vXc=Al{i6iVGShv)7LwP3ZAP%B>$BJuO@WrtZW`w}|kyJyXyBOlQR* zsVOpMlzSWWq21QDuTJh-u}U+(;_YX6rJffL{>S@;X7f@UfX>g2<@nXfGmtds`>%;- zZ|ca#>WZs$gekePszj1fc1d!67%CSFlzQ87Bdp)%&7C6}t$SQ3Ls3N@;_@hxM!6f+ zbLi)-#G*3exazM@p7>#6tLHwhOsn!e{^Bh~lCy{Cq__W>`N_nKfxLvf)!&o_N(lCM zA1i&)@`hx3P%q+nE%{xv-u?W`4@@{KVsUiO?j?!95k08o_OzOsSo*!PA&7Q0?P_qZ zAX>>^#$nI^Q}?P%DPs0UjqhiP;fKj($foQT>DxVB-Kvj#L2wEK6WrL)kou4ViC*A^ zf@tT|H1I`CsmI`i&b4f;I_1&?cAYxnhOsWpObeSTNV8B?)e3 zmjQ?MMwZ{v`0y1)ZoxJL90*$GpHP(gBu33I;@SIF3Z3f} zI9U9HI=l!p%=)#Cw5uXKw`Fy$49iVD7sScf3&Zvk%g+mIJ5RN8X&BgBHfXK(Y?02Z z6C?FoL@KR&Qy!>Uq8EupP}#0dm3?^sd1og(oP(iQeJR85;;)tkp{7%$s0n*PlEMPN zx?5=Y$3AvPM{c3I<#)gs*!IM1DRnCES8cSY!`1qk3n}b) znyoXtPwG zY29N^e^t9^C64EI_!t84g{PP>9GMx8lE)4wjL@F7xjCMWnBFu%lby`9#n*@n;zlq= zKT%A1GJXB+=_*AjyVzGo^gL%}cD!F%${ zWOIABYn@>*0B{PLRavNh?+Jd4Ze(Ap^2U_jtC@vw30_(o<5OB~Wv0|Swxtz$o`mWn zsu1P98<{FAp=B9n0EHX=_sL`rV)pZB(7tlq<$t0#G3stfE;_5wqMa$Uk|Gvqa}Mq8 zN(U0kPwF#FX#jXZA|6TE#u-6RJ>rN!wB<(h1Z7#Ge|I-3a3#)LyxjPT3jd3dlEAT zGb<5y=$%Iho5ZFOyifbsml1^QZF#-gRrkF0X)<0U%0N)fjhb^My4h!j^u`B=FuaqA zXKMe>8477W^J@EZPqE0SjcxFZB2*WB!Uil9K>VK#Wp}YHyMkDS7MjYc_H%({Q{MB^nw3s{JiQZdbq7=&RxKD)07da z^4q?Dk<;e+^Oj8Hn^`5ktC#qKPW+_ZW#QmhBNO-gf7uRMADYAsuSB#<7*7~(6>IKI zX>Ptp{D;MLK1}+-UoDGicto^QD>yZ7vn?dX3L{u$$cDW$r;r31;8g4I&FmTO^g-Si*_XxgwLknkcTZ&}z<+>fB?4#pkDjE;fQnEIuMaLs1lllxy!EVy#Ne%ZSw*$Yk z{*2x7me6;DX@oSyNow8k{gk73x7r!prEsWgBP7sdKQyOoiyFC6dGMs={i#0nxfnL{ zO57^dBn&Fdn!K%+Kk1 zubJOl6+FNPT$^Dzd%&!{oOV)x8_*jGUS^_&lNN~+NCHtivb$`<#z9oZQ922rfKmcRI%yz9rN}r4iWI>P5)dWSB!GYl0ycuQ1SvsUf|LYO zc#r?*eV(;geB?uNIQM<+{oDJ>|8Nm+xAMBAzLPF7Smm1P|Lv1>W$|WdR`je{e+Ks?ylDpx`Wy+;{8TLyB<0>B z*Q;hPcZAuH+UOr7h%?d2@9&n0I_%DLQxa-B{3yl96twq@!A(bgE3u(!kfmI#=)DAw zPwq*juGZs_WiQtGZss67ZQ&~M;O$mACte+XS`H5;TEy`?osuri(;DtvmFIAe!K{Cu zL%KUbmj??PdB{H#yHh*=AYKj~!)Wt9?wNDdc~gHa7f3LiTYzx9ZYNw)-!pMi1N8Yb zSP~dl96EOkrzHxw32(bQUc8^?>C;xzW+{P_1_bxt&z}dF**B9inBeVg@2B+^#qrIS zlZgA&!>(iX%i0}*4)bI z=i>b_tFU~GeNN)mM*i%r@%_&%Ur4Nd z7zqr{_SgMrSXuPuW${y1$Cyeqc|W1%RigCO^KEU-RQiLeKSQhNWIZEBDuI%&q@l6i zMsnl<3Z&i|eI!yUdojk2BC!tcmy|{_5i67_Ux;AOO}ly1Q;r0YOH! znrEjjci7Ci$=>qKRS%=|$RZ{F8;H@i1P0uDSWCZen&zMkRW>lTCFEJWWEAeJ$Eg|p z+B|x6wg<8L<=l1JN&T`vcsXe_4-VazTG`HU&6}XsnhgX)nI1jApK`G3kp6cTHka@m zTnLT1m!rO5U9)O^M@p~`q5u%4hu(?;CgH)mFo{f09d>5Ht~{3wj60b{b;CIDXD|1N>xCdIjAWVK36f46#@ z)Yfu1uc~H6A~Z~NVMB3`>eL~uf88K-1Cd{zaQ!q&dQFO_^%viBC+J0{J9~CJPI-ln zO=>x#vNy67Wp;+AAtilaGFM?=N0X0bBc*Oheg$uBpOkHMEpKqqKo^gl1r5DHBJLbvyu0H@RPBxp+b8T=+@mY>e@XU*;6922(W{HCz z!!Ib%`|Oe-!v$6*)=ARj*gR5Qa?VVZ3)BaBk-{H&cd5zxt6u zqM`FFb|>!T%AftpmqmZ^3tuihwG}lztSoydOzv(cWl(j3H>`H8Egg&BY_2S?B(T%# zd(`5$Qu)cIN?Y14lW}{#=48b!AE%+No(e9#e5yXR&B(QoG%l9%Gr_+02G^O6e%m9C z)c+sv<1Ws*b)%Z$eata=A>N+H4+ftQ@Dz*QF(y1ONpujDq~PWrm$98vcxA=`EH*f- zN1KAbz9DEoeW>BL&_ZKiP3Ma6#4wfIor9yyA~^G@V7c7!yrR=GX~E^3Q=!RL?7Zv9 z(RH)MiD56+p1W+@S}gtHitoQG{d*y)bXj2NXhmt41mD_q3y0Ad6BvF~i@kLZYbVa}RR+ZuQ=1DeMq8^V;ofnxAt?uf z%3?`u;*A)DRrE7Ed_hwc?WJu7U1z1geHY|au1zTP#?hqe0np^RPT8}i(e9(ZkTU%` z5vDf$cov=T13~*Wavnn4o^%pq9$Q`eHS-UPB$_7$v04~H<1+BF9lM=8QP{sntPAn( zMXB%QuOBdN%P)qf<+4s@j5q376Lg@VnQ6Wf(d}kBL5t1h%Qd-|tynUgL&=_L0hiW3 zD00-^9#%VF#`fRAu0F*GI_Zo=q}-C)f=;Q$2@mmls~J*kK>?O(zj2SqP`GHRJT++DB{Rp{*V%YHc_R9Sh+0?Uogi@tcua?a)g346}n z6Dw37cAE0aF%KBp;Z|nOoLDB%2?Y)qobT>Cc>i$n}YDx4}`a_0f+K$u*}8_;i>YToj|HTwO#kB)zU&Y=Shi7&r>y&-C%W0` zoolh3Kdk0A9q9gz!xEH11(mYkFKWll^^fwDx{gdaGTfvE6*$K7UTFJ=A1W9*nz1+6 zbozXc(VOKaBKlmsC;&RD@fHw1J}AU&V5=1mnQx`0V=&h<-o`;q}Hb;euqSZ z9iDYbh>JKe#Lgr=19v;PGS-_!XYjx1PXVGUcty*Z+gKlBPjk4_(@x$#zddy)X$itp z1^xrD-a6|rBl-|E4~t0YQ?DG~*qlY?rg69f|4odk!V38^*Oy zz4<4^7H~3S=G=(UjavU4fK*@bdmUT?noPE}DJqNp=gP@hM#yg~ErCoE3w$JO7(!5) z9w%U_JD^{d8CPWb&NHoOJ>P-F&bd(fVItLA3MVP}h+0s?*ZlB;Fk3*}1G)ZNA(AJs z5Wh`!u&MinErA^_VaO!GJ5*Bo=^wBFo~>_QL{bSB_cV~#Mim}Gsf+9Atb_NUqYJie z`wSUJ2gOptg32GO7#bokt^YNu)@@#e9cM`YD0lI*$jJeE*0OMu~v7V`4{OvhDJ0d>zEY4((g$_h= zcT8mx$HtXxTtD^2r$6pRMR~|%v_TgS-BKe4$l)G;>vcv;rUo>`?~L8LOZe#v9rTP9 zR5Y?i^0SjwnPeZeSv0K=DJ}YIwUCGe#pgc8hH{W7wI6vo6C8gb=`I3H;R$E?G>Teo zxG~SIycW^S+HkZ;f@nv^pFD*bScXTr9zOzu6$O0R>3ZhG=`^g^qvyiW&wSSD7J6=; zRhe6{K={!(psP;kqd!G9I5A8KwI3?R`Y%Kb)7yk!e}Bk22-60_8`%_Y7mmAp>v`J$ zuNd6-p*lH2c*44PEVxt25|q=>IpE4)O@XlQEr)y17nH>*pyIfl5Yby0i#0j24Z@nZ zzY(Trq;x?z z!o6@>r{4d0TR{PQj1pikE&)0m6>puNiV+M{pvjLNGTc#bNV_X$EG4eb{0AD_?6jh= zAZX_V<7Snb%|0pH+ps`1Fa$7yw{Y_A40IOJ6w&IcB&S6S*Q<$Kt(ahPh82Y}rx-M= z9# z&v?AIKd~vd+-=m{&%Pagk#ueUR^8qn>|VMA)7Nm^vgeW{#`3GmtTB78AphfWNA8}l z1suM;pMblAi;nFzT6$ zEYeNh^tZdR$o;qh^}XJi93?a1b8|B-F|#4m=(Y2TbQRFIXJ{zI-%ZTFaT|JCJ{nio=dw zw9cfy`r=JvgjVpIHeVyd9sF(nyuY^jbD+?^%%Mr{9@JZW3Q~KBAO_5;a&#d0(L;!4 zEUWABYtX`<9%8@#pOfaJFzicRE#8UyskYU#fBO^EyLAA>%UCbK!%qxB`;y+O3}ftK zT3hnK!SM(LrDbzkdG3j9hT3bA&Bhz|pX>fPnQeE5+pZnz-=#R9w03Y#da9&rhdY&x zSlTEk_dM=&Zmwk+pu+D*Mg5b%c`LZ=j}+OnY*5Ee0V&6?qK`IY`=tWV~ zKb(~e;uuu$Vqm;A;I~%RdJRZW{C`hY;m$D5Ekl$#?4{=y$?CjsZKk@Kn(dbcRs67n z@~_1N0AaGxD-@QT_JY{r;%qnxXwrf@6plH8nIQH_E%olh;x;4q;?_S$A%}lfIoHjD zbl_7H_}iX-uer0S8U`;8Ut4-FF(=WeHTaBWir7f)q5mVm$WCAmxdMWl;OK*(U3O+Z z0){06jc7^q2@}oXE3n~b!Sqf4o=yKRFROMJP5!5oycdGGb?9Gjh(9EH26uePEtxEE zP8(Oc8I@sWVuvv6SAiuxoD3(hi2w!s3F$MrMXOJ~ctW3zZ4ZZyPmtAV<1xqpP$&t&GMVb51)j zrA2JKJL%e@tQ?_wJC_H6=C%1KjP7@9gMPU z0<||pNO3$5t{C9)xdGd1Ck$@v{=Y1Mux$G)dIP_-%2>qD^il`%@EdoKC&#y9Kc0Ck zOKe-WQ{yFH6LcPZc%|nzlmuS-TLI3~cH`QXt{#PDixfb>X;K(+@; z?G*Zb{olI5Fv{)zTAbXF_0v#r&%+n%?&UWqlY81kYSL?2!-t$C4ZtIwMM`~IeD5zq z!JFiG$g@}%M)l}&*KKPkv~!LX@omfQwy^lQ4buec{&nHJPXb^s1qZdPAs|6jfyXZd zOJo4vK^Sw7f=!zQh>R{*Vs=3M_tDg#s4%E}Zq=5bH|?74F|MeY33}NuIPTJ(Yk(~Q zCYjWEw1w|^j|zs^gl)T0n_Rn@Vr`TUi(N6FhUK1=+tgN%=?AU-tBaJj*bj8(`%^y+ zTK}ht%9#*fUIEW#CRpq#;UPV=;vgP&p3eT+IDKSOclq7%m=F6-G=+`F=V{wLQHrl| zHU^q!_@BSFnYfShlm0nXPiU6dDmu@;7D-+>tt~Db>NH zRf1&ixAx+)W|OEZQeb1``cbfg`o#jb&dO1%ob3t5UpA|!K&7}qwbm5BS8#j-4S&1T z=xmaOT>jgDUj2@_H}B!ffa(3F@$?JEBD=8Z`d5UU_sMd7$cUZ3cqiUiv2DiY5zR(5 zMUq?gCj0+$w>#d{sS}QQFdUWhleCWK zhBKD8XOJn@sxL(CY@wNW=NAHX=YQsrzgeWqos6B$hnTP+1=iI-a`jt2x=XFE%%S{$H zj-%8To0@SY`2#f3c`UW~8Q-(rFQv3T2?vvwv2$lc{5NCwi0gRbY37f3iTvO(y zTB`+6dtl5R5YyrX1i_uWmW*bo&wDGI8=nFx=E;wH|7i%lHtw{;V{+Zmde_BY{J$o3%A=fnHcFs4lZo4|( zddBi`JK<=~8%?^B%@{I|6x}QZxvlUmoX1*yE?!qjIF|Dhi1VgMg;l6eW2AGBoRzUl z@>Rq(Ul5OG|Ly7+URAiZ+0ZgO753slNC-V{`X-7b8&@1dAcx0qHten_E%sNiUV4Rt zL<}MKtMIFLm#GLMOQgUZb)^8ec~?)XY{`kyzAH|$RREeb z2u0zZnh+|C|Fn%jEAAJgwd9ZN$T-4iv|$;hQwDi^Ssy@1)&(p^a6ty~uMXdG2l?q+ z?Pz0!U^Z(d{1n*nYhAChqeaHWbm8a6Oa54@%eA+dkVeS|=VAuD$Aku8n5yhC2$~Cn zcy5*T-xgX905(hNVZSfi8xAy2WuWYo1Yw(T2|`PotW8U0C=uHfp!y0a0~zg?q==IQ z5#x#lJVO;-@YYd$aBYT_*^LH)i0|MD3=`9544lBv(D7euZ@F%ao z?&QcC+VKudaB@;<#?Pd6&!u?`?s^UGRy(#PIl={aNf74AT_79fhd>x?gKC1jBV?$4Q2p zxB0t&l!9MmJU=S+z?^%MgPS|jbO$^%lZI3S`v1lZ3))_whmSdFN!v)<;f**8_kTnK z4-}wzPy%)S|L74W_JHWe9w4Dx)fDs!2VnxvS_ud?UHw_3E{9>y|55iTq;^F7Nv##} za)gCN+GW4jc1k`+QM#+GXs!s_sn+Evt~cSW)xiu9!yT>9*b)E$6BbHBt3z<^G8W5{ z-4{rZ_IHRA!dBO)EVmyeX?q5(KZw$4o>2d|fOC8a&9Y-Y?WZb5&`9|2D)rW^`bStozmcXdH+UIAp`n9^U zHQ%GjFP>z$wg-Hh35OsrZyoF{bV0(BKYmEUiE*&mhG%p)?QNpofxB68W$VSYtK>>U zrui44+Y&=A8%xQmOB!&ASUo&XdlPtIaWTD{eb^K~pp!rNI@Ee(>sw{1+d%qeqb+l4 z-Y;xWIxy;vGZG^lyZJV1e##uR@@oCmPV1Jp%S$D9lH0>SnMM2fQkq$GfO&$y79Cp%b2+$GoI(9zWHvcue<(JmTTa+v zcL`#<>HEHb2iekx@V#u3S0Sksd&rNul!yue-0|^4#WEYT|2FfvfU2u>l$pay` z$zH9uE|{fFRXq6jdb_qNOwSM!^EkWm;bA!V{s+(eMTFc2$TU`z!NOoWD~iJ247f9C z>a+^$;UWrDbpOw=HqtJ$xlOSQH1kzFahG;Qc#o|}!@Jc|VabpS3j-<>LVIxku+b4L z6HCIG-OU8q9Z&K|mr>wH04Bk!=+eN^@S#MRKA($UmMa7NFvht2M?bV<r2U3Iz-nJWn{1b0F0(85_@4)=%xKy_pgfuiwW26Zy;jZ=Hi=>_?yJ z59?HoUF|-stdI?G_NG#wjd~J)<_eoEAQ!u4NvX{oOB>An7Q~{Qc}l^1X(v@!O5|{I z2nx;B#%=wq=dX1UMnA%ZB5mH%^m42t%z4wUgSz@ zS0!mv!21(GKqH?(aZdT*3rknv50(IhI&Bs_)S*s^HorKDFp|XmnN(8#JuCQWyI-5l zUepK?i1cN$eE~P_=0zIsbjlgfTET(YS_8Tgu-_VIZeI5r0|&j^aGA9rAF9+VIXi~V zFYV3i17>bCUv0^Lk2cwB7XX_ithmAZ-JodW_RR^L8Dg%#S~(8)^hp+up5ixVjiL7eA?H^&5JyKd zv#!dWwSNtLX;w}~EZ?}9xR3v4b`$B(V+h%^l{79RXa@=EU{YUw-={ zffUi*_&xW-Yy@e+Ia)IK!TXN}#O-2!{38NTZtp~iJ&7$giy8UmuSzM zm@dCCe(sJwm9dFcWp+7?YXABmEH};=X?@mG*v0v4P`V}Me3=P*Ez%T7`Muqu+m! zHEMRE&hf6!M_EgyS#T-qjqH@WSWxDA1=dwZ3SS_7P*i4ZHIRViu)nXL^6qCQRAvvX z|EHWIPLl$V2@CNzhfIo1@Sy>E$Hg5Mme?3i(t`F;WSb{uJd`U$0lCeFhsHllAtTiV+q70x z*k@{dWMx(;2TebJIQ*i{Wh>e{3@^Uc+ak=df59`jyD@3!d+u1LIJ=(7e&tOio%y!q zFUPZ!f#Rc~AQEaM(FfF$ar>`R**rF1UJgllRRX@g_$vTU3dStP5U3!qW$+xzG?FLm zN6_wc`l|Jn;QUsnS3W9hQBGzSQ}!xsYKx^jo@{{(T>8)ab;>%H1_d`thFEgd_3r1S zQ)_$aV2^zRX{7g(e*?N;xWlZraM=!Q!xRVP&i2N>6aP`yPurd=(tJpdR)O)+*ne^0;lkI|JxGlIDm~m)C(m z5m)bW$lRl<`Jjb>W-h|wIsWQzs$h3WW!N3M%BFT82h4d`s;{R6r3Hl`(y+fL zj$Cn?i3uFATAA-@4z~m97Iw{bcVTwap><(YCz(M91i=&PCy7aaTs4%b^vm&Uw5L{! zB`g*eo#zv-z_I#T^e#l5A+r>K5gj|i=-D@PuY~+)X*4P5$@2=VOCLshxNKxgg<06i zkW-h%o*Bnd-+_jXu#p9bnt$B?X<5%$hB%MGx=m~y_n%;k&2LAx{3uN}22yIa`{Ob@ z0wT7o@_#00$V_CUl0SScNDCkvnLEglXkB6Dv9ojZ&954yGfK~dOL@Wp z`3aM1^CV8`3;Bs)r-ZHeyB%9PAUILDFO_;ZmEqmVI3QuK%j@EB&s(uY5!>gsXD%w( z{2^E$LazyO;stlY#lU#%hB^4=ngKUB0KD!4=KKi;7(-hH623z~ZG50|w7Fiq^(TyR z>IIE_J-7ZfTkRgjtecH^jU#rooDM3T!E%yv9WTTS5Atq^!%&~@w4AiXf0P2ZXSW&i z)yD5wMuW{@u0>Q0sg$2*VMXdaT8;JU8={+Yp({S$OQ=es8r8LAdqvWDWoueWTSLBQPEMQXC`yh+Ja1%$s{1ua@*vo!-qe$EDFJ6T0RX#);;Ie7e{n_-E|B5f_@`i~7;Z@1) z$NxSZgX0+5Om^%m97_zp3oaVwQ!VP&`3DKqDf6u5O z%W@HxkUhZ&2Q{~Voj@za6i8@I2$4^z3@&}SjFeQXUpQ{Cd{`@R`)@*TaLK18+0@Hq zlbiSk=i2ZWb1BMQcAmlgHzXhIjTr!dU~?P9R!DGpt%0M@MEwjvd);FrtzS-e(-Sqp zY3TeOM}yUPeJH>vQ3OQuGXKYi@=!?d25Q-m-=#Cm9Wu<0(g&kQduWrR`FiRjw7o+x zKMzwcXH!FCf7K!l?q85oDU%yA&HA8&fmCzy(=rn?Udw(OI|_XLz61>>YjQCl7}~n$XH!&OrXd(Lk0jh^U$jD^ z<%WvM4P75XrL)Ic-lT_K>YZqLb28Ujha1tv_3XnKgEXIjs+qZ!w(T^fP!wCenjlbK z!JTz7_&)G#C`I#Hh)SGJkJ5Na17XqqpJ5?G&#xcdh|wrSj&> z$B*wGT&!cFx6?ZO=B`JqdncCsK~sRV_;iy$kt214pSPuwgdXdl7=% z3#1%^0|Vv=pZ^JB4+oX&4Ls%2CRa+uZrlPS3irs&f^{=JpJY>Zj?z>lQ!mMzz9t;k zehsDZn^!%(+de=uP(`Pi!!b-l!k?cNBEk4puBYBNk6O^ zlmFxOw}GWsSH+&CJCjckYJjE}RfQdX_Li(VvqSC?=IN~n=()l03y{PG(~+h~=ZCe} zy4aigWoLqAJg@LeZwy~_{fe>chYmS=l}zzb)AiDN`jzDHql^YP#i&v4M6Bqlw8k|l zYmcYw^c$!lA%$f>(Y%WvFPl}6VFINfwuVLr-=-tQCD7k2IbIsyvnf%U%ZF}pcf36e zduQOzXik!U7R9)`^%%0^C_TeB-ZO-z5s}vzq?;)dGx-B#eqxmH5NC7=Ju@o&SkeGc zM{{s@iHw&%PSP~?7L!r9kcRhtB5Ufex6zF{j=AIBU$?KM`oWl2{X3ut>+qd^7n}2) zejoeM5+1TIdg|DNt&cJA(p%rizXmwBl zS{*;iF(tu4^cpW0LNE_@*JRQWlnt9|q{8ZhQN1T7go49#M+>Zxe&Y|Iy#Nk0UWw&v zR?!22P{}c|(#^k+ zzWEIEwAe@$oD+**l@_a#f+tOMu)?S9Po6O?;b)@Xuny!Tnt>C_x{y4#*)6g9QAn=v z&`a2UYx$lSg=-mSj7Q0a)Goh^HH~nhe!0sJ$=lico_%{YC39f8A2m3lVxWzCIcoAQ zFnQK%DSrBzP8w;YXAxYV{y6-MHv2D$yM<}}+_#Gz*tn>Tn<*Q-4@_^5Bj$DFr`)y0 z<;m5Dm}1i2!?sU6b&IhL6Ae!eJpJc7Vt=D?V5#F>?#(s_tn7FdKbSqo%7b?9*YA(l zrMM4lo3}r@3~6DNtYBn#~m{FG@fq1pI}TTQ1>_de8?F{Lba zUHYw*l@+HA_dG?-^+@3^K=soARN$z9Dm>=0+K*KDsr^sRH-l{C7qN&%l%49xC7~u$ zn!7k08ZTd4xlNv(TbIrIv5RCd@69ezukyT4wFKhA-$5OBv7)!($BqRjU)=;a2B25W zF3|@{wV`FmCt~1{U=AP}BKM6;mr z!oTKjH7A{aRDWq%N-rGD;RJU{*zk8$pZS=mWVJOX5@K6+?E8gnRGvO+p%jQ$pweZ8+JDs*aib(iPF8_DO$+=7#=`kFSgqX`f zwRm=l*Tvw2~_7o z6axIe&xT(Cc+nXEFU$krtSSQ0x6;P!;ndMtzfOiuPn}q*8PLyu7c7>#x&!V?oH#8b zcucPVVmwp*0m3f$Y&m(<jU&!7-1x~lNW1n9Sc{U&M1^e1 zq{LkFQy0^gvXa6bfHCx}0rz|aDfNx|Vk!n2x4x>xxfMiE@tP<&*QgvWo(w#gm_yc} zDhV}W3GbU0DDPs3DA@IqklIw*;}#|Otv|yMxB^MPKdMfnzKONwRhB=NtX^d34XbUS z2``bdi7u|DaO#{_NqDqIMcn=W%K|JwDVa(f-4kmf>F0h4lH|R-pI@l4>vlQcDsDR~SvXp4Xl@UMJ37;5@kB z%)Fnd3rkzb=^1%YZN2AfBSr+^Vqo3V~*%o?^s4) zdwwIUooZzLN(F`&-wr_P2wGxd+iu&^vJtgfSEpB`KdsKH4Lvx3Cn6jd=97e{kBD{s+Y9P>~MJAPKxYnacyM_F$QT3!_Vn zMxKQeJpUG>`MOCH=p-ZXA83jmC;}_U=QeWQU{yHZqRG>Q2HJ3X{(x2-c&iKQvsA|} z&I?|G&|Tq-@A0!XuB1zKo5hv2g(oa37ifaxFd1a5HiSs_bN0U9-T<*r@IPdxIJj^; zX!~ZYJI?8)M=$s8^=2mP!%czrbYT$kfuKwu*dl>BkK{dQUUOaF_xd_6vOHwf#3@VcJ z`=n}mD-EXy;&sF(#cD$)Oo!X2S3A#@b*7V2J0Lf3a;f@Y#bkfpH9Dy-QDw2qpC-le zq0#5X?zU0i1P?+M2`$FGbd6P+K4jCua5BQ#*aBN=#0eN!i`FQY z4!*x&q%>O1l~uUDk904TS%-kr3nqJi5PTo?l9yg3XSy&}!+h4Yld9iPS|au`%8 zaa^BZOikf-57@z{=EX3{OQ9G|qBA>@I-7khxNxCNCRIjofv*J!Y9b{#EzJ$1NR3mV zhqWiG#cHHAG1fF3HP`fDnB|QO1Nu;uRGR%nG4|tOxTi<9{%CRAK9(7?=NEM3k zwtugI1ujpWHdXcuR92frJ&f(gf4DGLUNZJ5c+rq(;b}M?PiSWp)|_Us)yJv90JGp7 z$nczL1`@u(n2NhNFTI_a#cm2PFcI4UFxSNplzK~?+sZyuBIWy@%4|j~O7Pj35v$G4 zw#8d77O}Jeij}(VXKss&U5Y`{Rj`5(qfTpz=*npQo+SsGFq!cJ=z&xEE4-U4Z;t==BE*k(6^=-$+Xf$edlvPEW0Ic(%N*KxiyF9#{ zb5>ft^r*fU42jV_24Oa0dbb?*o#5P96=@RMLe68mek8fKGyk&#)hh7HoznCS;JwL* zM30NbYVpRFN3l@g<#+Tu42AwL-6!vHI^V0u#K6w;fk7}G7;lCxe-4%s(*igzYA&eI zt4|?S)(vPsp8s4f=yYK-bzyNUF-Mo)*Z2ejW%ueTN{-sh+j&FxU z*if+Wmbk?1Jo2ome)YI3Fe_#50H^bsZeByw&8TnPtO*yxRlQ&prZJSq*L^4NvI40) zwBJz};=&^{y6p7vOC?kp(W_yWKLk&<5ky|*^?pQtU+-mtI{jf@!4L^fC0_v7@FKQ# zPidh>28a5J_q@h_8T7u_QN%)m=gU^H7<^)?9ADVwB2N+ZK}GLIomy&#*kNGlWccq) zNXQPpwWL7kaTq*Zw*Poz19Dnao4R$k%zKn==Oav;-#ONct7%Rg#v0qv%a3OlUe8PJ zPN#sfxdynfJrQUf1BSW483`gu6X-WF0!o`#T1rv!>jF&)ZCUK36p=J`t~@@v)Yp2@ znl&dl9y73@0QV#aeO+!3gN>dlt}GI4$`kP@+4 zTQ^8;Vq~?%TQPxUTsGE z@N&A@pslXY68h-eXq}7cPrxd}G@Uk{6*Ju4V)kiZgtO$Gfp*cLT!3H8y9UO+s|LmI^Q;70vpY%sb79Y4g2pWHZE*i9hQq6`kCUJ z%a(>U9t10T{&}GU^oo$*ATlolhS|3&O4mi7m@BT+ny(4+E^Dj1h;5m1EVOL47{Tni zY>*x9Otl=-XAgW|%%CMu7%0EOoO-rmHgHFK5r=vwQEMl4;50P)jLAd|%P{1LBDmPA zadNRb#2yeV{<>s#lxDp6&QjROY&5R8edh@CHKf++fJ*jx>{EA%kTT%QuRof1Zu|^- z=H_g4$O`f<^2C@jj5yAU+h6_j7dE4^wBTdalD}l^=)jmqKhrTnFyc?SyE5tsV-`9i zdqt1$lJvVZ*5^yp)I%lGPCg~2wmGCMz9PD7ukHN_P_EUOiZqHTYEQV<6|3ZS)>oNK zO81AF=jtrg<)k=`pW0(boDCo~MXrr>pR!KMLS{%F%s+5F!}N30ih>vA^IAazTF(ww zumT$KD`7}oZeKN0b+a$~j2K>ncgZTuf?5aC63<#k7T;Ot-!p)KtuI1XVT=64 zclJagg=xiJO@uOk62~76kmvC1ih(hzZs7i_skK$^%q4$YO9#6&?|r}nO%PTE#m(ao zngQr&ixKF`Z=IDn#bTy5S}OcgyG*m=y-|UB$ny`xKgmZ)`zAIhpEd1m#*4bO{<{P%YuQi z7%20ZdYCkV9T%yuevjg?U&eSID@JTdIDghU@1Y5tQeoY=-!O z5;BcV)1{NA{jM#lI*+{~cB=FK#?WbjbW!B5F^?zgNZ={DI8PF1cu3Vo4%m4HY_tH$ z1nM)4wzJ3giz zWw|mKDb9HuVv<2Cd_Fd2gWo}ZUxJxXwZ!y*Tvgj3skyCvL?@nib@PT+y zp@Io@L2{n^JfPlAFU~)^k&_mFxv#i8p>H>gImTRg-~52Q7arol*op07{S5<)zlzse zhVuuaaUe;4N(M#!tpg|tgg?)SlAM;Dw4r$BEoEP7LP)qU;LW>GD--HcC_i4eHF#HW z5$iBRIh3FDn=QWzVZI5MCZLnRayBrwDUpH&OyR99y=t4)Oyir_CqrmO8cGc?o&u={ z2zq#>ze!dmb;=GGxQG#JXADcsol>bDhN=Qy#4l1dB$+p9DhbDDNmke1$Lx~=GEZ|_ z#4<*xzNS*P%E!8$Lm&QOL^bAwSIeMuAr4-2bpUK7JvhI;cLPKRm9{#Xy7p&Y0O4ae zf$SqJF;ajTK}>IE#J#m^*#P}mvD81bPeTbUR=`9Kfu?jyqj6LWb_#j;IFJh3=(ZJQ zEfR8Sf$^pU>T!5#a{2zo%-s){8s|nep=$pHR&7YDLov}UxAY%MOAReAA6^_E6(m;Z zp%vA8(#IW?>>^RGZ&Wonk*XvJYKl;Fq~$cAP@TJOQN5~@*s32oswtCRVp=5px2NV6 zG5H-7oYR}-i-;&)u}DMatK3wa9#{^P_S`n8Jb%+y%wy10^?oNqUzVuClYOM34R3_m zd^H_DcJ#|It5FxVqh5Po_O%8YTe2bj&G+yh_r;i(c2ZMYT{T6&R!8#1X`Y$@)ixFY zn=NfWi(b-q?#)d-%>WSHBxs$|FRQP*Sy!Sg9x4iU#IIaAs$N9-_*7jryi={i|1!sF zFHH&!k|8pv@BCh*);FPaJO4R? z8yoty{zgpqKK9WsZEgf(*lVdDQV9kRque`u2S53qS49iGG~0TV7By*Aivc0)2Ybmr z=7WVxt5eRY3}+$(3!XR?I1QfB-N&20J4&c_2R9BgCe7MyHxgUqnCMtj6(~NQPaXo( zulG6`zDgoFk$e19h*c~>Lmr9VQ)d0dVu-P{WfM^z(H)@c~j1SSwF%Hvt+g^7FP80>&y zWyx>f)+Q2&NMpV>V&;hD5(5l@l<*KB;R}qp_a~(E#!5>w3P{kY*$Yi|lUTd&5G?BE z0-eLN|0*w^IN_lG>{c@F4?+6vFHoAs72u2doYak^nz#QSP4B_hRQ7&h9;MM(fDN|!1n1(05JEPzN+MjfRW2|b6d(k&2L5<~$_AVEq3gz%jC z{+|CE;Ns$9pL_3huk~3yN9PaAh73v3@=Fwh_xA|HCt9=Kw{PJwN3cY)WEn31w2BMu z7wa8$R76wc(AOdeTM2bmhjX)u^-zFVffd^q-zFo7Uuhqj34w8+_u8F=?9_qODMgC+2fD=ixl+vC$6)4Ji@|FaINH5;(R9atOiqG{4SY5BP_TMDJ zj$BqW1ez)?skA$Kz#aa*rbmki9yv_hM|xD6mZ^VoK>`*WqNLiie#c!YzYW`#cl_*R zL0il_K=EZ|iBcop%@sPPVk8z`75}1lX}o^@IVrfAdI)k}E7yBIv)@%0jZ@$q0rdX> z`kP7SXlR!3?jVmK{;xDb4Nxa3`+j1@d^5P)X5rndJV5qXs5KXNbBfVOqPb6nFzwJ3?HM@E`qNHZD8(c*JrK^DW4hz{jkOj5$nyZRN-Wlktm% znV5%bG76^4LM3wJ;%qmwhO&|W^EPhjjtxTW>}RrHi^k(hK*l-ZPu%*e4bh`a=bm_K zQQpOGD_>w#fBIH^(GN!B&bnXF=Kn^EKUMP-5KK@8G%3>jrd0si^dy25Z&Ao2K`($I zp*3UBKhPCTW3&=ZW$jrqXGLRDW6zGluI+d5C^p3#R3RxWDeV^6Z2I>QR3xB=y#{Gu zDmk!gjx6uf{h@jQ>b&WET^s^PLC8rI>>V{fxeM0n=zcq?$4=T!8b#hni^&}rJKsX> z=K&@pW8~>kjUB+2R1z>DJ;@c6sj|KVNcrMJyp&mH=6X64hoCx ziV+Z&&6+J~%B{+~bbKY6qh^;vkGgGXqEicoom~gMuFP`{Y}ElRNKpRZA2{0m?dMz+ z)-^vIo>a0QE*_+7HWha46y>dC*>k$%-c|fPSlQ{2aaccqO$5CZ5akflWkJYz0|)zs z<9npVy-FnZT zL(q&#YjyAxlg@%Zb&6H;zzI9NNYsEbx6eL!#ZXJoFs=%Uvww|*^qrF&4lh&f_z;s{ zL%qayvYR3#^(gfEbBgu^`$1kG_FXRTVQ$MR4VXN>g<%);BwTm?Cp12H{xP!skmgF6 z1p%TjYb%|wzyb2gPn~8d<)qS2Tf1YDou@iF@&;hc^df-B@+ z_+r^PGIU*35TLt~L&7O6mw^VxcZ{br%AS!M6|k3pkW$qNk6hPB7h$^amRoRR(QR?j zHnvM{8%9u50ol>D@LboX10F@t6Go#dVduc~!IVMBhY`6~F#RUPH}}2BM?rZp&F2fR zbcSl1Ts)`8&J-z~1t&~-3~Wb>;V(0hlkAMbh`e?gWDs{Or*+VDFS5;? z&#O-Y{WgRjm<)EQnjBoZEduk^M|oIFK%M#bKdwt>JLg;%38FX>=N{lxjG)F7AwjT> z`w6A71eb^tL}esl8-ZIL<+Lz4yq&O}^=+*Nx#H3Pj};A6vlID%NKD5Fo#!fh!pNopu;wJa^IXBv@1S;~S5-UZNaX~^q?tOls? z3iecI_y_^63q23Ph6hTEUbD=gce6#58^~3~39T}7HU8D*;eNBh!z{@6!Cg_R^zznN z1*F^PYGo3+JRn~R{{>ODMRc|k<(?VY@MGh8hb{|^=mN}H4Zz?eX4N0YT{(urYDvaF zg7jKEf^f;I>~MVeu2qwy_B#^j$T~5MeK1`lQDGOIEYqN~yFx-HKa`+x>?kMRcj3BN zM1Wrd3!n~b?|;DgTZqHNqyy{Ee_MbjcE!wv+}7$~KDQd>AzWOQ;lb(plaQ%il{Uewy#}?HIbqnA4X_;zNy+vQccO|yf{;DN z;v`n~^2SqG@Pp3DSL$@t+|ogXF5_PDRg=Fs6>SW_-IEK~eyTmFGSMPA-72yBFsU)X zcR9^Ej&8oMpk>!8+_$Wl``hpsEZsH0T>Gnv10&RbU|l~2Rz@<&2taL9LGE2`7vQQO zR%Xd!i{K?4?4&6X9Gkj`LuR=Pj080Q1&AaYLxTrG+@kUBR%$pvy1Tta>#{aI$dB{& z$X5_Z?qfSLO*%e$6|~6BT|SBk9lt7uVU`0Wl;`dSRj~*}ER;{ii}VClcQ85Er+K;_ zMLa%x*Tapz=S3od>4yc>exU-F^1I$gN$(xSty0#T71JSd$&$d4YwEz{JRws-er96Z z*#uL~iZ=IS|5^^V7|vJ+)ve3H-Q|?d*kcnG1Zxi~%i}=o#rrp8+_L8Qt zqvA4tJkvhl8u$E(O4%^^Jo6Oq%OGJ%fkHX?5=0PcCS(-lg; zvNYY%+57b9nTI_j@BomsJT$?+^wJm&^zMV=>TJKtW ztXyawlO$#aNX}G}$Ply>1sHMrw1f3^ol)_jb1oUA_Qq?w&=nyI>Fk*^aI$?icQEUR z$Ymf()CCm8{VAguTgx1B)>jyma4 zoGl~h22IH#m`uh!bzPdP+UR!7H}=-u^QKko8)5`6Jzt>WN6h&AWhlXO8_v84c@UGq zvjCd}w#?^b1FldhOJY_)l$9DVH9WU;Q7o`XH9_fW3%2bF{Oe1b-hx(DX8qJXQ&pjj z!<;_#T<7G)FuhGr$rJ^<`?OXWe#9V~fI}xwevsNfGBo;hB_{EE%o0S2;nprL@B&WI zY9_?@U#A9qMx0)cj-VQ3#P-ZpO2)fh_u6v%P>4gvK6CVE2C3zN9m0T!XJQ$%W#w)+ zM2MDVn~n4%anM5?ayIWNy!2Nsf_wR>C|ItV(wBAc-P__N{9loks$u$^8BnR)3L0p8 zAg3Lf@vF6cN(3_4G_LiXXlE4Elc;)|cbtydhHgc2IS$_0AL%%h(v?-n0uFhnl)~6X zhD7q3nj|3^!MG1wR7+AnQO<2M#Sq&}+3)`wHA-k8SsuYunnRN=CV-}oO;J!U+W7y_)(zDW(S>d<6^ybmBi}R);5-c&wP+#_*RD|Q@on6`?stG*r2iuo6U2K zX%FU0Wa4z^8vn3}Db0E}FQY=eC2h}~3Pwa-4Bzo?H)O*uD{_-IEF6FqSex{D%<3UA zQqb!n_Yp2naYM!SAmH{*dEpccTB`qmF_Y>@-#?I~fsP|`76$g*EOku6;&`~DNK1l__dX}Ww_#qN5H zr-4(D)>F>+!Efwoz-U*B#3Z-l&>b;m9%?=Qx)MhW%9i#5{3tjeD1h48pbiH%bH4V; zHL0`8wjWiKNG_dto6o4gJ@Qc}dh9vBAzTQyDnQGtL-+t7XXzb(zIpp_GRO;;#vUP+ z{=RwT?2BmhCh<$Iua9`_A)1=zp4ptG-lL3v0JE@On@Mf6uLNYMJ6rE?!T<9D{A2Vs zE_;oUUThF`h{>u(|JVHVN`llX@>CTFw0gXP&P+=z)B+TXDdX|?`_DD1O!-=e_L%A7 zA^*JES!Rqlxb(X2PROxZSi>;QINJ~$wQ3uYWh%Af`+%hL&hfME_lJg;7L}VR3L`AP zj4>mL&9C}yAE!%o9z)0%j(V>>4~q`u{f2BiW=9i=zmrp0AD1fW4-o~{>&tR|F+~Bz zarz}iLmDGPucY`}U0pU#2$%5fpZd5PTONMS?exPW>I)DS^8HR8JAGEvH!W6!?flP7 zA8$$GQ%;ybu@5d#{KF%6E#GG}D7D+B7RHT)h_%?w#)=rCk@=TxHP4-o~Qkorz|f$(^3Dwnr97Hw=qs zG)F&H{ot)71YF2)be5d;8!`!(k{(5G~Dp z!-2WcG$DoH2kfl(mIa$(2Aqx|x$jiglhOfr=OE)Fm(KW2BFfqVZXvbm4SBj@)GPun zVEe-P(>`GUyPkyjj9^2wPxwN99mBM4@QxsKucBMp^Jr-3JAHj-j1Ck- zw@mM0Dn*L0-XoNszB->92DglfKZRM%g02R%I>=TlnQ(mX}mqxO7?STH6O8>b@S+zy9~8@!H_{ z6tUSEEH=R$pkI)20r1nJWu6Q#rQo(h80PhL&GVeM*6x7O7Nr>AUbopJ+$hWQJqeaV~deU2kPm56!@%<|3cnE-au;_3Ke) zDQPKAGCW;@_b=K9b!Ys;pwlm!DxDLPnLlIrK)!#xc7~ASW zSXDJq1W;V(972-ZS3}i-q>&+0G(gx5MG3R6W!1(gp@nTDhm%Sm+;FoRO;$AX5c7;M zT=vi54!F>aOf89LWE)hiHA9O_t+c#9q574W5+>(d+^;eDHDOImF2owEd~#$rH`$ik z-FSuSY!1b)o7*_lCC+rrSD72zVUqsLt=5h zG=BQSrlj<;s`}3cHna-+Q^qU~U>{<>2e1h((qe+UGA>V>Vcb5W1%Qy$M7SAQnUxgS zeZt)IIbdK&D8M!#$W`!0{?&xA9TQ)QK|>{ZeW=Ras*IroXX+P5bxWxRSqyEk*9|X z2H|i&pr4KN-u|%Q^J$~>KRQ&ey5Q@Qo5_~4;IgLnFa#}od}*(CiiCYow`8=0`s#<7 z<-r^0c!I|J|kFpl17AN z+edKbZ-}TvR|KKrs9?R8xXx7==eOCkEK{3JUV5yvKCY><^HgGwN3nwkEEx*V zN-;duz}uG~Bh*8m3>XGto$<%&K&Xe_`GrW!^F75YCP14AtctG^ees0tJX$dD5>8Sw zMr}r306_l>2rxg~=8eQ(D(&ikpLSVvyz7mr%aBxPd1E@zFU41_LnHQS@+dYdd$3gb zW_U}<*PG9br?P&amuSPZ@!f1vN3jyct~v44={i)+9sK-Jqg>EEoC>^GmUCb>v#d~B zofV#XG`~)+l}5mJeWqBGCmnGL#$87K|4(-~Sp>*>g0?hMy0_p<5o;0IQ@mji?@yM3 zdb}tz27V`je)@@;9cS7PZQ+#&Ko`;Qm)!CY25>$Cm>3Rs2)hfYW^h%9>EB6Buqtw? zjBpP&*31Gqx;)g-Jf_~Pjm?NNxo4VzB{(3-1HG!=<%F2(EEOXKKGz~ z8&maq?R9m8D~g@Q_wn79+oFh+6rDLyiA^f84|)K&MOTJH!Sx6zTB=f?aLOmB7E!F9 zma@M-$kHP--y|y{&`*Z_bE$h?d9`rXuQha+$f4&&L$b)@BSTUMX9rjO_D2YkyDY)e zul_!1+>4T$gsSdj6f&27T(HdRvXyqLJ?u1NGL& zY1Hq-UDl;GZX%@2=@{E_?RzoO$ISb7Ltl|L%qo3W14_1b>2f$l#?_}bT4{L@zWf#XWNo1)@IXnzKa|JY^H~xfS$@E)n z!{05Q=s|+qHPp#KN&EsF1@y;|wmD=Zc-Qy8j^#?{!G53(GE9&80Hkwrh=6E2$m^(r zh-&Pymw5u_mmP=#_dGYoXeQM@e~ghbW#7h3&NgVAcCrCtosF^(pg%U{RQ5AZop?|+ z_E)dvLMgLqJaBLQViUYG^PL4}v|HbuaMu5_Jl?s>EV=rNobL&eftyzN;-S^+J^KV@ z&Qn8^qz-eyMhm!RA)NGkc`eWphOKbUJ;(+tGt%b(+A3_)jcE}JbX^6@c9fVLak?mX z>l1$ehANFZ3ZQ_gYx6+v+728Dd;nuF;u1ldO_ekFo6BiG?oMi4TmL#gCjxG3cHmIa z-M7yjoe>t+67y#IEaPH4wxhzSk9Sn&%$N1^$Bt@MauTbD^UVRQ zn{$(vzhFftXh&*#J79|l4K8pyP=!DFVvu3Y;7M>P-5!M+pIeP(S4|Gqk4sOq`W<4- zr$=y9yDTRSnUNan4xf$m)dunjsq364)x<~_UL_pt(*#z~zHFc#g=GP5d!aBW6eh4c z00r&yKzsEtRb;5P;6hi8b@idxKb-h4Uhn@^h)#ki=8pm87!ncc-HG%nXJotWVew9! zy}3;|Hb50R6AQ&I?$BRRA45?dbDxYla6qLGYJ*^0lvREN3Gq7g@HKSlndXc!HZYHMrM$!qYdTSx6sBznarB{Bv}mQ!}MJA0vMEh>+pFaC6;0O|*nrnL9V_ z$XyYEwOi0J?GOjo4u4f$|JS2xNPX+Bu=(sq;bo`4;*VqE-;mKiP^-)f>>~`f@ja!q z_3y_qUoX`!4*l6#y!0l@zopbHS0P~i=gIl<6!Id)njKo~rbg}iEX!I-y#iwfO>Y&N z1A|Dgml&CyY=?CfSH8Ba-Eh~9)*!Q)>Ku&EuAP+WM`vxRecO+&Wxj9d)J|q zQrZr+8AeO33D$2g3?*IKZU}1pe8wi7wE*hBirgcBnKUwjH*Rf-x^PF0?{>r5Tb%j> zwhY?ONCKT|>OfGmOp9S|2Vin9a)o@|0`MQzx+iwJdeDKfXh{l$+#Fgp3qHsOP2_8ZD4Koka5r6NI$6Ad0ZiccY;w#HP!m%N-!V!N=LHea7iW&J*PCBLc^@=vMBClj8VUS!5UWy7K{ffqk(Iph=zJAk`x|6Rsn2;ob-KxFazT(MSsldn{={U znb!58M9@(U+S?c7uHXwmi4d87`vs>78G^Br^4V~1Vb|w@$@%=W7y?e5f19~|`|(E1 zbr9zR7*zjvMk_S8`8mT;@PhYk!7HvM-%kQQ$T5v_1 zT{*|Th2HwLik{!tT;sKwL+8z$xY4|`{)J4#7wD!_fNUHC~Xo*SHL@%jwVQ1eb$^nnU+2xVL@TLzqwJtYj zna7=Pd(gfsp$7J%!6RXSLAOq^L@IiLl`3TTae2atD{$s?x+u8Au7Tm70?43a_S_n5 zyb5xZWq+eiv`bSw`=3Mp?hhE**FikhWW&J_8ta+CQTqK&a}^o0FszK_GnlYs zpN%BY76bKX?Of9a+AuN=H)agr%<#8yR$ivQXlEB(6@@&jShW!+J!3E>Pvc>M_PE4R~YS@=H8Pp!!s7`E@^&CS?^dh4~x-<@eOJ>uHmTB=!Byf3o z;P5Z=(H*sjO(}}kRPDl-FRg9s8`9$&Z3tSoU8r5`Z+bIP|I{8yTwIrWnqAM45^cwv zh5{Y~?scYxyzL=BmRN1aKr%+t5rjF}xndU4C1HBo1|M z7U=)lsJRL`67tsidX?KY`&KuE-wqJW<%Lh)Pi}3!h$Q;$;Tx|YdRGR51S6-JoT*Lg zeS&R}7)pTrtX~qFXQ6|GU`p)V`33`1m3>2{&nAI)o)@PN-NCGSiGo8!%xb6v>D7}y z4aDN^U?W(3{$bSBRb;PDu`V9zEF-5hc2|TQO`0u^tbr(d#E{$Fb`%lrS}|XF8QBE>>Xvt0nb-)O3NwTXI^clwT7JD&v{e#uv6cQKFhKrC&0FQ&sigjxyTl@!?2PzRydfGO`LanQJuTlhjxkGu+X6)~>&8Oqysb-V}zK@Dme>5=$9bdh(epdZg#GTJ8 zfflMwY7_O(zU!9L19^c+#pL-&hz;{*WL0w10o)n1RVa|bYY=IR!N6IKCqAW1CQ##$peicikUu_{fS|SG*jF^FH1TZQ zT11et0tmYDS{BW6(2qSLxQ zz>pPfpR^I5$fs=OjSTA?i5_p%kqp1|Pbdc6*D&uuO{C)_;wT==gUMeFTRJ0^{f+pg zIwg@0W&0(W1(@7SR27Wss*D%_xXZUaSBKR=+K%6DENADg6rR50CyCD>Jf5bq?(==z zw>$))mU1G~bN7eQiJq6aEWB`2+4pJ?9O;&T^Iix{u5nhN$zyROBmo%*ANCbj?Ua5a{nSlDS}b)@B1uc*Vg-<&8Q`} z8FF2VPX^QxudmkTjYG|Fp4)`=3$E0_*fJvy-S|9jHfSeyKfhrA<~T5YipvwF35swV z)1e8}P?o99&bp{@bQhP07|MAY6I!3`1TaM`4b-7IePaIbP&%4qjdW{4%0$r-&;_#) zLZ8EBhZ{+pOFv9;f9vwXyL`Z*`=@k!TT{cTD{GWDj?9XnU*Ua-|)az`~~fyWn-$QFguQ zikCL6qsJmcgsO`1QSRy!8iu4;&A9xN<8u6Rb{Aplctgt{#nJDWMn+HaUZ{)q9c-|Y z(>C3zF5yMGjG2)O2pMNi4tHT=6f*iHM|tqH$5JU08T8wJRX6mgYTwj`B$kC&i*Maibx z!tw1X7JlafkF&h(>;1Oct9MmslDnPGjhsGaTe}45bgoFEB)?T8c*P{0?9HXH#w-ni z(@B+wN%93$_ZxLt-e;A;_bv;=3*Yw#Q-(&Dqlz3IJ3n^#k*Iq%8)r)j5BAev-y+s&!CO;|R~{xUyZuW7-G7j| zttB?`?ve@FId>p2{ddFl@eW*V+XleKNhg?^8m@0VO8}9ixE;>Rv^eNk03lZrjqI6# z;4o45Sg?rl-oOhM;KQSR<*wph~5!r^UF zk0}A&t_JeTzXu+IVlD+vV0ImRnmS$`!4u1aJ+F)Yn1I?T12^5&MHX?U@~E$)Jhc)dc3>@OHX*L`hS; z;qR*R-^)@RJ~y1{r;Hz#kb4E*-cw^f)bcdGRdzBb15#?CQmt8YG5$7xUp-;y@UM*^ z>WXwWVeTUJj}_b4uYEqZAn=JF>JYQCl~qCC&$JCd#Dqtkn_i1Y3^6S(P4L zRsG7Ym~`jE%w=&$=WHvzm*0m^xK#32hL1{lo6ooX+iLZ&R&RjLZ0&fv4n{I5i$m{E zSdPJ#EG>7PW~j0SO|Fq@q}miyt-gPWHm|K z41u0Jn1qjdFDN(z;{8yyz6-ZiW{VrWB&|Ud;Cu&J_d|G>aZ_UJieTk%0<{z%2CUX* z6Wt`32CVJ3p-!v9=!7*XmatXFf@q11-MHV9E>pz#7PFA~6$wfSRcXQw1XEX>d`_HnQKkW* z^)y&ZkCxtFac!NGgl|xacNcA?Cz6HCw&ada0RCxaJEDeEu7a_n*)vZN-mQKg8InUD z&?)TAw(kF4K=st(SmA-l2lkBilaAKeg(nyKc(uPRobJpC$nLRNGM6Hq=!ZksCS13j z?Xv|RX^S|v5$EgLHud+3ytU0+GFI>sXWn*FE0}!WcOd~pX&xU9UI2NTJzid{JbO(tgv$vV z=MQq?&PTZ4Lx%1z%!`k=30h=;-rd2b?!rIJo{le*MXpPH zEm8pzd3G|8{!v$B4(Nv<8mgem+KU?CsIV0>FI0-G8zeWqkUv)=!N&kxXGnX>XJLq; zkI@~S3>e@L0{K|%VDY-{N5U?-v>O^VoV#45rX<;-r{|uLtQqCnU?Ow9##fvbIO8R$ zJMMe0@%iJ;rwVoVRia+5upC^pqW$s)5y5Gdf5sWq`B>Z0F}qjN;`?7;Ia^@*LFAS5 zb8iC<=h2ul(L_oRaPLQ7Nx{f!x$Y$8LjdFV+PFUT&4}kr%3n9E>v#E0J(UD(3QuXY zDF|z2XOY>&I^#{tB6=`Y5`K+&nymx}P^+sKIOQX&D#fM!DKALO(#pKo=R%P?e zR&VI%2*1Ojx7#ZiXmDZIDzq?o+q=l_03(Ko?~40?5T*9uBFV*OT_B`#9(0xta6fW) z3kB>viq!z~gT{TYOOQpSTVNRl;2x>X`-{jq88az@JHu>LM6eg=Kq%~3G1nmx_KpE} zA@wjB(%jh;ciiQ=&~2BY(qZX6k?VecjfWPLK$7c>;*WtXH047Ezwm_x*hDd43f(%+0TLxM4zd9rL z4g%dHaT2>v+x$324Z0gkn8s|57IawrY)6ag5hzwm}eEWr1GVd?32c5^?fxPmX7lo8ic2fwpm71uLFtVBU2 zagyv*;Uf{f;vj&Of8PsoA}e?sJfXUC43674BUjfnz`(}Bsu(DO;*&EtKU~ zoI`>mns`{4>oZApwUDz1j>J33Zc+Bm_(ovr;@cD?lV(BFPXaF)TBP7ZAg;OcgC#kJ zyyiD!5F=?-V;oDQ3(Idf+UcYmK~PKirij@h1W+a{bOqE|LTgBWbpm29NJJe52*k69 zD5%W%_f-Q^psUi+j%$&AH|v;#=apPv)L*HV3ROMc#=#e|NE4{lr3;^H?^1(XucCzY zT%yp3>sMi@JT^Cxp9gjL-GmjPfL`t3(%C~XPxSNY1?atWFOti6C$}Ai>@?XNrH}EZ zIPg_5OF-ZZ1qUIi-v5a;cl)3`cqCEeF(l}6XGzx4Y+?h9c($=wgsTU3v zmmVhNX;@u;iG2d0pe<)3ae2+>Zcq$ZTaXlcKZ{JKD=BhQ>Uq$sTyxPX!_g{zHn{^c z=fqxql*HMc9-FkpxG@!~%(42bhl5q!P$z?E;>|lJxnnT=!k#&&QACTm4Y!Kmr$rdd zK6o~^lO8ljk6nQ1ty)|#5*BH)G$Oi}jh3fPg6Q}G(dc3Ez}+%SzdI>whd_7d7u#FX z**BZF+i(%yV=Is3TGKIKXNwA&mjU*1l z9`xZ=!Wut8-9pkK;qW}_1RL#M*F_08oQYPw({PTjUn+E23*1JBfv?!x+Y3O%u=9vf%V;^(k+ zm(z~f`9uJ{8IZ9ge!BhxZd+j)OXz$faeG4Lz{n)X8D?rp~b& z5Egb%aRJQ#Kfgv!wqhde8Uj%N0T3SXc#pjgp8{H9-ok=m6}2MmK#mO3VA%~19G62< z-hJ5Hr)C$t3sve8B9<_FKB{pvQrm1n?y>{wcglHLmq4sti!3l3ZT-boJ-N_BD>jHQ zc-va|H2jNS1}i+!P~Ps-jNhT9whMrCNzwiI_kQ|hiD`y&BBilwGh zq(`uFz>Iz_3uwWhm+bxua|8UfuNDDVXbo&4H{oxjrfhlT&fX*AR8N5FiKL?Ai_Y^Z z>*6kj8IdP@;lHH*66NC6d#uvemLL2E)bFoaTGp`rlWW>`_N9Sn=j6F}@clqbtHHAx z^JLdb*N@-6n^Xc|lWr7C8y@g|fi^e%(;Ds1oEbzi)za@M7At9%o|!2?$SNF?oOkdR z$uDY$kr;76$1uVwLhE-LI3D|MPoE@^Wset)pL{MKCGF3YK{cl=SSq4pES0qlyH3nD ziFDU3j{aEYtJm$Al*d$M02}pnDZ5RscHn)GrcWvkn4#hm0+|+FN7DnD`dvpU<&ysP zSe16aG98z^c8Rs$WFls@Ux{>%g@x4>UKlnI+}f`<$~2qh>-JlXqHb5rXSYxPo!El9 zO}&~%HO(0G9v*x0xpz!glIY{P?bh~gzHV*Hlp*|@N5*N$20YInn%MkqbTBQ?wfRna z&}9K+`c{R{lmAnyVuW8m?FjycO-er%ng_aRmPSdD##>fDmR=ly-oH}7SSW&Nlmv!C z1%dzVY@lkUKCC*BqqDy%gB*AqfYyDf2WyrX&l5WyJ!cEbtIT{g5ZALvZemg4Q=z(Y zYg2zj0!pqI*8tD{(0!vnbnOh%BkSkGc3EWw9Ec{ZbTE)W#eo4vp>0nl<4szUVo%Ue zkaMh6oh{|nCehLzb7XC&#w8$wkTp&ncK*@->C)i~5Sw$GIt7d>R&f?v3FTq&LI#wj zL4dVYq!l=`vQQ0hOM=O}B;X}TaVM%w*|A&PvZi&eg@)@R8`^E z2T-=uWgv>^LlEafE0I(1+6^#(pSXGYt|nom@1%_PO?L+`wC?&+-hg z>^D##fdD^|JlKfACoM7!Ap&{`7a^AUR!tF43%~kn1z+@|!~bhz;5cxv4b{tTWcfca zGo>|I^o$ya11o`lK7Fj3;dMY6gQp=pZc0XKA60D+7R_+qY)xEP&{ye%hI3+SO47Tj zHVp)kQ3ni^Gm^~~D0+NHd1W6vrt<`t?-00c<822udbfY(yorvv`?eIS>6$c!XY`73 z^9?^D=|1(4C^Gqm5jpAFQ4*lI-J$@;#p!c|-L-wrPo-;77NqBESD+xq(PVo8Sj69$osqK10R#p>SiHA_Ol!5X~@xWan@FY~I_ISQ_Ie>U|GnVfUxH5#HV zmExeQBxB`hW<_S>WhJQNmMsS@m9}5=^m46-Dv5$e45*@Ss{~S|m&R^rFCO8V_6ffO z`~VV2U0n)-{^%Dw89VGh##?9S55PB@3e17FYbzcwrrWo+414BH829FGuGddk#Zy^i zArBbxEcVet#C@$^9#j`L#eM$=_B4$cQD2F3{&Uz-bGv1~N1+JX?H4xJVMd$-ySyG` z4hws6i0zqpP}um-45YjkP9dHixnutAkkPPOmu=)O^{jS$1}RX2>%>wJAzdj7lml`; zjSQ`&r3F+R9!|pML=(mdb#cqF%METax&ij*%rl7la|dUOt|SIS{v22^8PdUaGU3cW zRDmK@;U5S-v`#vu$BYG{4kO*_h}rG+irUJ(j<+FrqEWm#MqgL?+D&v;spze?)#Tz4_q734Hu%W+_MCO~X9V|L3UhHm1U zX9NB(4Llyb53DfkYiyI%f(3b5)$%n*#y;m1Q{K=Gimsw#UwrQ)2aWYwt^_jVTwYpz zZA_6J3Yi^yQY!ATXDXHetEwleAqhEr;fti~6gQ8{!9e^>lY*xr)`-+61<03C0A&K5 zw&SGr2d&QfQy)Nd&e(4L`MgL>_=NA1LI|ul!N!puL4Kqy%9rJ;Q$03YOE`)FJZ>Yx zzqY7=(9BjB!|fVGJimUJG4SNnkO5nl2{xFVufhaFcv_8x(x zu&f^YW_M_Sv%j~tV!lcpH+1EP;Kh1j+%^}jJ;2=cR+wO#XE;20dnYB2+OdaD_c>3S z?11dsc2TZ*t#1%fUCnWnhHO=dR9eBwf2Ekn}?ppN>g5~Su{hrx!Lx#oSJOCc~OuiZ6xjR_v^d0)!0kFz-XrZ^JyW^TDLU}Y;xqpV`D=q)qL|x;uO%~tS()*L`}mpdIHR4FR|Ky&W9zAr z^Z_W~`}F}XEn?>uAcz>ubEQ6*H&7S88uFT7@=Ex~P(V<<-Jn%6bo7IPSZnuJMHo2l z6cD>xk=r5)4Sr~RhGvl6{^+$6g*?2QkMlP2m*C!zFLOV+swPhN7V*jz5RNo>PhcFb zB`rprdeZ6@2+tXPq@r$0Ld@ozflQx~n~yEzkbdvfet?=2B zL*ZbvvkEXav#BqER*%PvCZvl1eNv)@p@_`I-&127DXdOfmzMjQ(<@Qe`a17 z-KT!+l#|_+%Jm0Z{J*6aON0}eD(^KD*O3{DvZK{w3E8h-hi|%B*W`;SJAXM0e2Dvr z`;NCjPDN|X)Wx@~((^`K9~4tAcNZZ*`kN!MueBblw0U3A-?I7tn0oVQsQdr_|22!5 z!B{KCPOhlz*>@7UE|r$6kT3|9wd~878B1inswVfflUfYl6EBE=qs^=8u!u#xfWcg^CtbbVx2GT~iB)}$G6k>L7FcngpKX0^Xo}iYJ zQUfm6FN??^n592A#J~zKsT{9oy*Iy0V#rAQFbDx6@Y}4H(|_(YT&s}Qe)7oaaLLb6 z^-4$zw@~!=FB@N3KG=5k(R;TqMk!lLnB<&Q!|`F|jj5`LVbd#bVcdnYwHxN)K#nBF zvZ6SGp^BD)HK-uF>7fnBBAX%=3K}WscE{cbh5gsOju`=S%JQ8|Vn!)Lw1KQJfLc_= zsDa~b7Z<#`lT<6qg%P$kUlsQc1lYwX9>ogd%Z>w9d3~l&n{ky-z_4>A308!SklY%u z4@0G87)%vQqr6yKcOHPwR+svO#i#p>SL;oimgsQcL_n6cBNbn6pPe~6MOVXGnJ;J zAbN6iL`z%#Vi)aNpGQZ4aBBPsqx`HVha%3!oxj-i`OrXf`ZkJixZ@ySK?f_-R$S0r%z%F<=W<|;~eCv+;zO>q7Yfd)`iaIo(kd*?f*3y#TU#q?ry#X zTPgp2SZ2A?<=z5Nu?lAPv+h-vkb}Wa*)C<; z<0gKUTEydbmV|NNGNZ)k;c$00jHRy%Wp1{By1>B|TNHb=TB)*W0z**5@vtJPtxHU4tR6FakM29Ec;<)TXYm9>Cz< z-O7taQlLBqr1m>XY>cp2q+y8NPK2F#PWF@1Ge&9s?WPSE&KP{Wr!3dq9(mzwm!kL2 zBEQC&jN3qAnZxk8b^7@o>z_M}Ge2G}UGJ;fx6PktUL-dplWY-hh07x+n~ z`SFaLm20M%t2O15o};*SvrxI!9Iw#@qs=Y;$8|8PoivW(_#xM%DI>C?K>xujD*V>J z#x-ZeS~Y5QS{5JYfWk6&2C4i4vwLY{eHg4SxX-6I9vI@oiO=6tl#ba_^q8Aj+|9m^>!NVV{^sU@ob~Z5lixqx_-7(@&J+;u%8-zRH-5o$AYZ*FjQ3gBIpX<}O3 zq)|?;qiu#s&DyS#BaO8DbI>1PoFF9$p)MGVMDYk?p_>~rrgtR*;4B$CY%pX)mlm>T zLjGqL*SSrtk;vGCT01)MmQU&ei25PL+*!aE-mM_1l#5vJ^}`)p*#{-!b>yuuZ~*fY_E zg{1h8mSv<>JsWv z#Q_xSf^ps*^67`O8~bT-dfTO1b%I%RSL4~U1+}-Nbl;Ru z#g>f4cSlMIl>b>(IA&GF@e{(C!>z*s9=8wz)CZGZzdlT4d_3%E*Oy2ftqIFg#_pK= z!i~5y^(t4MZRNk%tJy9LVCKu5FYlUAiv9)DYFW6L(cy`6iP=PICO^Awc*b&e=L=wV zO>lE`*!p6A6jwx{NUqIm=0{ax68rl$ZaZ#f-}Gw6=_bum(Q2Q}o~=cOF5NAC_I&1S zwAahU=5`2+5j?cx6*N;1$G_cb4j|&B|7QiU5(Zy-5ooBM3iW9}wyN0R_J2*TDwS8C zZ8`NCw6rhWbXYw9=EQ&_fHkzrv-s-Pn*0g>49houpb>?a#(4K(t_GpG2YQdgP>9o? z17|u=sjEn(YGE|FUQ%=>-TjJaiWD?eDrAR{2pdC!J7E}6B|#m-^>9{(gCsL&2&!P7 zQkoN&ti4LBJA&6_@zxxsHml>t*ir!V@KW;%K>E z6mGJPpH|P%IHcQ1!v7rnG$GSK; z!eorG6m*%NymqOYx+E+RoCc%hseK!fdlC}P`A~ViDoVI@Lm$hX7W|T1p5W=c0sV=( z8Dm^8X>ojMjDcR{BUQ?DHe1aZLPHS3Jd?dpxCnp)^{_H9t_jeL;O)mnL9bWRq<=Z+ zA8{ig;|>LEe*oRPa2QJbcjB<%7*!7h9pGJDM3#TeQqjx(iTKLf!`Cd$dM%TpHzS`v z_A8Ix4L1Q!c~I7um;U}YQnPMt=(!LbwDF#7Bkxg*K<~UTTehI{UOM{~(?3Y&Ia>yA zn9gi_&NFqE`Kz2+>JcZ~#y@!J+z&Ckx^>G-Mf^lw>{a_dTW6Zy&>JvqwTJ+x?0vwv zHhfVvj_B7|sIF@EQK~h~Nxu_|{KXq?79LH<^e+8BFTjWh3K^rH;wvEub7}f7WbOtk z+q(Kr;ES|(C7Ex(O4+@Is$6^aEU^t5c;oTF@cjChl`bV-qT{gJ$Q$jsVD!76xHncL z3t&-^`6Bp_6Cvj9U5%?9dVE35`yIs5G+8?*a{OkeliO11X>F+iDO_Tj2T3|uOk2A1i8xJ(tsPA`>hPuTAhmz zg8^%;zPUc5+oH5aF{u%dD{5IyZ&ZMh>t=nFR|g1HNATv;_ihh~Y~HA9B=-$TKqB;x zjP*WxOy|9Epo)I0O0?OT+yba--0@3>NPNZ9eLxE=QkqwD^pb%`4LZ#G0Ps+Vcn)xP zz-|zQOdX1DU;M=nyRe_GRi#gAZ~dA7sru)_M5*(XR!HKPP#>`K<@nFVJceCwvfq>& znmXH^?EEDSU58%!769;NSkH$11>I;F=7 z^kALp;`m01iS3VolfK2*g0{Edb4`?E_qE+JLtEs52l-Q!VC~rcib_d$$efaRZdroa zKnHWke#CwtF)L#PH=u(}^!hzmqeCdx=_aJNyE~OgZ5jE%%=M8gbz~vz1Q9H~Ods6w zG@3b?))UA**_gj|dC!U7$RBm=t7PPm^wE|D+`5&QP==Cfdw)5Jp;_S7(Th4oz!EyN z5Qs?0R(TfO1=D){?}nHNDr`>VR0bvD2ZtQ+m!i0W{(v*4TYPV1gd*Xabba<0?X&1N z@Vcf!h+*TMZG*b@y*A`H>jT1ZsYG_rEcffrVR5Q z{Pz-kX&MS{$iS`jfl$GVNXZ?UxaoQXMOpAum!>K(A6u%*dwa@98L0yaPq6CNsmFMb zeWC$TnAtv|5;20-pTM;6OPX|Q>4BLg%Z{B~%Ipc?(vLqZ@o$taxyeLecT;9OgA7I$ zp)Si+kO*fA_3}!jN30h2otr3-&$zXJ`dp{L@!4@^?0p*JTXg8|g^%mQi`2WppnwW) z#(JTksSO_uhRpbT0R7^0c{^-oy7#3EN*(%$&!P%up+bd#2)711CYOV&grF{1cf!*T zBt@wlL2=VhqOUiR@7C4cwaKSw8e%Jfi>W^*5;T)aKl~?buVY%F1yuG#-m|`vM-B}5 z^@1*$(dwI_XPV%cuLr@(XyyEKd$Qf7b914Ka3J4Ah7{>Y81CuGhET}(_aKXksL+WL zM_+3iawLH3@6n+lfbt069JasQ`rrmI5&g&lXmvompbMe__pf9OKdJbp1^)T2+gA{L zljRO>!o;<~!f#d_FVb}EON%UP^Dsq$zG=(~f5B+%+g~=rvKGoz0t!g-m1VJN`(;nO zH(~8I&wk&MVZC}a5tKON(Wu>vG4$L=4AcN-@d7~KsgQe}eck#9D)k&a$;TR!PY=O; zEQ-_<2g13!{#nmrRFw5^zibMd3%{G{H>MM+S_kQhlK8L;f>XGh<>;wH16ciNL`$NQ zeS~u=HuK2>pQ0A3YHzZ+RgL!ZnHXExNrG$h3rd4F`tDvwtWFI_H+DD6UrOb2pOSd)3`LLI)unxZ;M94y_7%V9_8-W>UP8n}O!($au4L=|lv0T-r=Lsn%t&A8V4Hxt`h4ds)2)Ca= z>d8w+_dCP>!ixHr=_9)xFNV8hV|wjA@6UnvDZZ}hgJ>W9ewGCmpMgE1M?(_^IW`lC zVBmE_R%Sct_LyFbz+0O)7|s`beww`SH+WEe9$MWVtmhpu7>%T}qc);;{e#d}w)z?E zhhSzx_@&?1Ymnf7Ix@J<(pVeRMy&wMLu$V_S;{c$e47W_O;U=|rH@jhfWR2#NDpps%rNGLonh~1jVYRq~>LQs`p`VU^#>YOh9m7&R%EW zk~5HlU}6AL7CtNijMmUJqCf9%iUOLxyzQYeLglunPXe@}t*HP$86bdm4=69j<3B_D zN!_CM8EYvqrLXOYy5HW`hR$XFm~t(mC<56_UpH!r->POl_SiDOC|;0@0%5ju_RCms zJ3DsJJ~k&Q%x(pQs=Xbxc!(yj^<;rl_B3sPX9vN;q<;3N&MyEB$dIyZ(=szH55s}d zfTDMG*-(l_gS_QGZetDZAx-y{fF5Z{Q|&*T{Ns=m{i0=7s<7$hBqRCGm*eiSOa<&4 zORb3+hPY~U^TZys)DIw~L@K9^60WpmI_r14xm}^i!W{w)$I3F7D^e)=xIbPOX$nhL zug>sS#Ia)0>l~R3@&{lsBF@Fx*mhmD(7`(=eHQ$jZB{56@M<51`3pEw^#p6lyopwA z*8Kv@I{zQ1d>}ag^$|-ED8ouD5g+Z$9P;fHSybgv*pTpkW!jlPM83*>x7N)%Wd-uCT531yg|TF^ zOSjWhJ56kl1g=o7qXnK4YGvfnQTvH1^i#NDeWX`p*8HN4Kw)os$7N&-`G<^nrP_&4 z8OpwGE8DkH{8S8da{TI6vB7_K`2!?BPuSP$)f;`TJvw)5yMRzZ!YZB3ShWHZxL#-J z;{((rZniU?vufKW&1B2k@{PF@zg^ZK+&kg7NmFlH0GhnEmzeJ@^+I^RKr5c!pa0ud z6;6WQ>c;?Oj~a8K;kVbz3K9W=_G%N*QIf*Bghn;6Y~oMWZh;)8KqKPr7T-kuLWH3u z%RE3RdzLD>*-O!5^;|GR1u~K9=^H83KY^w@rXmlVt*YFYFMim38TF`y^5!p10!3F` zKGbsza-#pZEGd%+CI~Z}!Y3G>60GP?CFCo+7veS}GeDi?o$v%B5w8R2s`5flKO|)* zdqcS6?A;rjY`k+Ni}7aC+19esOcR*3RseWk4B?bDYUu+w_}G$tWe28Kd|g2`uO}rV z!6p4oxt_awXHV0C726Z9hOl+6h=Zd?jL!9+iK7n-gGMX#$?wrynDDnd47qkh+Ly=G z<9n6hpX&G_&+T-4F8tN*19t83_`m39KL+X%yqZ~$qerQpeiXN^+5Lve=gQrxVb$79 zvT#TBKdbaHK2l2eBOu_rh!EnDB!-YUL_eRXTc?a|?MsUu0wP}KDN%-EjO?yQM`uH5 zN?&#pH?Fir@1f~|skqSHhBsT;044$avo*{#w8EYVpt!LGvjNxpV;v)>_&g4zxXz?WMAd!0TGh}4<~PdNTXef^Jf z7j{L=N%91LEN)nV@VRAAZu;7$f%s18>Zw(aJs9;LTFC4{DncaOvmyCK z!XfzNh)|p+NnyiKNfo7>inB>xA&_p}Qns*+gW2mtzGaYhrKWb@LH*NuHO?l$8my1A zaO1eFQr57;lK3P$738jKS|cYus3X$kBG%L-l{xO$!iA`js+i`KP}c|vyNK~E!a3In zZnUgKsQM!ae2Q3uot2#?6kUOLR;kO#t%6G~Oidl?YOsXi@d5wGgGbVOu47jkTbv(X zG$p)iuWfRsKmKlGE&UzgKm6kyI!34u2#>QZ?AXCAop?!2VvY}lx3gc$bqw0t?#TM= zvPKK3{LlwJHl^XX`FvQ*LwSIlW{xxXrDt{v|8_^4;+=!BgVm66hWH_khHxRFGSh;6W~1lbdfTgC;>XXEDD8whwIY}Mh^e>ra3A{eyC}D9c zk$*yH?&zq!0^Oduu&9F0$iuHs#0vhxz7snu5&wSEUn9b!nDW?2k~LQAS%$*PZN5C< zR}#E(Nl8d4X4fL(Vm84~0{6w@A_c781eb|hmxsgkmW68!4CADEk894bybq(pBK@V+ ztUE1ok`|fco%X;@A$XP)r{&#T_#-a+YgK?8?BpV2@|a!OXK3jmFtrRX*cC*eE)~+{ zp?a?lz&gaId%ji7Si}f%YsU3;AFS=mk_as64Dq>T|L)Gst|XsBuk>z+uWJ1{Ay@5R z_{QeK+1khd7FGNEU6iBOc}PIQekE-s$ekFkl}hwokoKQ8U-sH?ky@S36leT88NKr> zF6ecV)Q+w+XRE)(Z7)Ez)B*-9h=uO|nRtQlAiedburH8Hh|1{+^1h$ItfUfUB0dX< z+Xs-|?2eIk*~VD}7MKgd8~pkLV(Sk7y6-^qf;a`BH+6dsOku8!RsB*B~)J#zhuZ-6e)y2}G-hj|isLt~RK-OV6%sVcL**H`k78a@HBneZ2!~XIc~b1f??@CM06V=cfrOI|LPi*AEL~9WqXTQ+47f*srJK z8&N$UYYUJa!nk=x@I23s^)(-$%YWs5038c#6a|HCJE@nzxUwDV5IM5?t0aeVt7&od z(v0fe*uB8V5p>@DwvKqqTU+j*H}as}ecWFAkk`aES9KYEyp2S5pPZyS3tAs``KL=@ z-3S_9jGK_KB1nif#a)p|4Gq%w=*%y9KJ@5Ae8}60r$Y*8l?<*EP`quPq%broxp7>q zbI$n;x5@OfKISEMN+D^u&wnh`MY1wgyaPmix;fx*Io=%J7DR!Boa;o14hlGIu1W7PKmCGx^!GZ6BvHqr|j7;^YP+yddSuaC2jSxs?Xg17DCJ9nUMuu zI)Bv>8?G&Hfw*~KuQ-I1S1mqQ%iskp>N(lU0z7cG7e({_+Gy;hg&U`lI|bG-Se!iQ z-LwFB!AodD?bPwrYY5ch1yTd?@xB~e2PLVtw7>|pBWRR`S!;p+h{h7Z%qYXWy4%c8 z$#OOSW&PvV9xfjuboPBg25`(>uHgW?;4QuO?M^TJ z6Ki_JYRJ4{tp)eyhYKAuI!#sp@wr@doS*810$F$MKJ2nl%4+Zr#;rWRq*YYwdIBx_ zny=3_(G{PZWE1_tPM^%B^jV)ATmduo?ul`5hF*jT8J#z|hG%WWHF;XMo34K5-tb7> zy*gYlcG;9&KV#y8X&CPG)(49OSZ341jXfJsyBe|ScJzq0FKKEC!ps=j2W(uqHtvkZ z^;T7X!q_vjxOR}Eepxb_s%VyeMi(kw80CTq8Nk9j#1ZwS*vzcPx{;Zw5wVcKd^>#) zmcmeTtcJcjr5Gc`m)V3+ku6ec`p4`g;uVb^kn{f&vg%;n12}(9uv_-s!Y@vt5{2L~ zQz$}4wR#cED-@pJaG713(ThZXReq*RgF#Y-!_J=Aguuud#L+5W=J77-AD_Q)OK&bQ zy{W5DeXHy9Qe}GesCf?G*YoO$eFjx#V=e;;M4TqGA~SW?h}$p+1DK!*RkC&K*s(-Q zNpAPxdIPKjJpeUhfuu?u`R>J<3F-$Bt;nBW|+L2km) zF}A{V0@L9IbZ{Vf7h>~4yqTA>1g^geyDS-QcOoj4z|5_@XDlNpb~;Xoz!aJ2#Hi&i zl3+c3pD?~ls~Gyn_-AwZp_`NoM=$Xe#ofEKT?ngvg+2*ihFnJD9S0_3R!WsKy<TpgX-s>_bCTd=!X;VZx*V!HtGASSE;P`iG-~q*C36!hxO1-=<*GEq0aM-Mrl}Q zb#UXy_iMZRlql0{s{y+7!{Qc*q~P=7DUaXeDE+4l%nu{gY#1Q$yCo10hPW<5I4vPT zX8@-eZq;1)0SF#ka6=i!)Su9t7 zSVs=-{dbICg*~|5esKxgRD|elPsB822dhnd?<@Qq|2pI*wfQwDN9< zcX*$8C&RLD{3eX%Irg7-hCO%O(UxIG(V#KRpmC^MA_rnX|BvGYp z*W1UMd#iZdr2j85R&gZe3X5(HDc?3vn0gsLl90Z-)W=&6wZc18gUjrK88Cqq)Y|$3 zWPhWXi44FXdv8#Ie)7R?=RdjLbN6~<_97y+CQ?BWipm@vDKQ0!xp`#KhTqW#rJV?& ziCo3n@JO7eu&<(08w0F1 zFpcK#0wTs0D2Hd`6~uh@2`P2kWq|&iHtTdY_uroL{^NDoU97qha`F`IB zsiqElWo`v8I_E8wB`xgQ7>w|8+3f+`#En#{tLvAoVp%}~$Xa~<(#Lw2uSvdanGnR^ z0#PGUTY@3=vZrO5`N`k!Tx?PS(Q)sY?0d@t;y{_wa+1#w7{1xywAX%5qwKU>`p9o#WrHolp6MuodV!`*kZZF%M{v)jMo^U7&1-020I-OQiz zxR2c}82UpHf7X`d?wV`uU5b%fUE+64``s19hW;X7HyZb?F`(FtqG}v$BlgS7j|>0Q zc zKl$d?-0>}LUgu9_nZ_i;q1o@QhCvMv zwyTHIDi9rU{InnZwDMhm(r%pIfpG#|RZN+bd6-$UUH%lDvr^c!)`*NzDh*QTv$mal z|M}0sHA~R7FPYcvbXO`zH7-sC3)+y86MMk5{mXqJ{*Piqmm2F+M$sk)qtlWx*GGe2 znxasZhgutkLg$Jl)p6&dMO!@T>gTc7Kk;>ry018g&QnRorZS46q}J#i-{HnPiV}@a z-z4K#9{$c{)o*dt_3_*ieB5D`G?Ehw)F@=Bo&p_gRxe zK^j1u1t;+ckkn3D$DIRcOTIO5pcEiJZ6vtvfmt&k$-W7MC4&)J1=vfXPU_pe^ytxeuX1vtRVGwb~2Y5kYW*==4tRbR`&wSi6G6Pk}93 zhan_Wf~hc2TayPOM<$>49*ahhU}iFa0%z)|C>WQ3Q?3B9Zy~My+7s4S1uR8QPpHwA z^@pVdO5)+Q_bRdfk71z?w(T@u_ zb~^3=BvlG-S#{5#@&9=N)Qg-QEQ{vtNDQPm18b_EM1VKHTBVBd__IyH6?b5i3DFgM zk}(lnr=#a3iyoCZU*F@-V)wqJRsa-bo)pjF_&b%p2GhRlr~yl&Y5XpuAt#wt&ZfX< zFL8)Oj}xzfwvRhXtKEK&qN_LTt-gAIDUHN?GyUoh>c5r7ni*ZlpSh*uAK@03(O0&; z)HJvM(R*Gx5)?pPWC(a!FyvK=!YbxEA$R3Fx6ys?F;r1-bGmz zDZR1kAdQ=8fdtDk7+rSBl*%0&pfSLt++B(fgy;$+Z}YlyRGE5hTu*S3mbSsbQHK?+ zlR3BV6K3k^(MJ;a$Umrn5DWPPzet`Rm%O)4>1Moxd ze8~HHO&RqNpm@kc`EDCte`5p>dC{2xR7F51-XL2;INJ^HOv9%olsHKp@`}29>dXA>utHt6(5WXM1uT_Ip$~@6{pN4+ZpeX>Izx7@p2SPqSsKeHt%bpWbdiAa!Q? z_}9L4$|;*4%ZxS)xodq5g&K-_alzw#SC*2*-;m3_wKCdW%=edsRvV_afBoq=;`uH! z=9I(i=k|r1NY|@?D}*R@qjEKynRwfSc^R00<6&hf%IO9;90qPO28iv5+EjWz2AbX{ z+@A~qvo}%8N?DP{k`r>2S{OX0j%^8X|=-?7rO)d-+MQ^!pB< zZW(F~2x#DnEHZq~S_5gPAF_n}pp<~NY40o@J{l-mV5w~6_L*Xn_FiBx7atIcacgQ* zG2eMSR?}Iw!Y7IwRf`26$265zX+hR!p{2oayAm-9o4+nh#& zv>$a#JhMzN#EgaJ1Tx3=d^xvbM^XqE+Jl;fONQ*Em_Ae*c!?dC)%Jhn_4j6tVOnDB zL6d~Gu9I_9;^^2**8s-8UN!fea!mR4u45+~t@XoHk7>B`9^{vYna7>rUR2y)nLgmV z@n0y5_ddSF`;&(!S*7LZnBLHzEqL-)u5J5grYyM~j8~PQ1j$8%&bB-ug_)#}@0Q9q z-}Qb+t|(Mz37Z?I>^2nD)&~25m%~E9(+&pM8C{Pk0W+2S0cBvRj-Uw|wIR%GkbGb; zvVPOy=H{>wyMtN| z+5=%4Ln#Y)A=JI_#Ws-Pe<}NzgNq?17nEbX(JNS!4`bi0YqM{yxn06oE}WF_4S7pKd~mcChrF!#t)EI!N?HQyY6%!1Un8}5u*V>u`)JOUj`9j1bxt>8p{Sr1OPd476|N1 zII}0t6__;xX775DA#en(zajC3N)uAGNufUV&B+rc;LZ)+ZrRRl%pGkE&Fr*pFVGci zKgq(+24ckkrU=Cxpnxq2MWCZTMCt);svMCw} zJl(WbK`OHc(yK(!;W)L(eG@pg=&3XS?-L&m+3RJxxn<#Q&{mB_3J}jIubbH*|0wy%;HKZ z@;0jHqKsl3dKoedfi-|xQ7_LpqdEYJ&eZUxwLuyTc!>0!-Z+Jd&-lDSS1(>TMgXI~ z`+l^7QvG!WGns9kHZ;BLE#H*ZsxW+Pdee;10i?w?$qiJzKvMUrhkmPQ^zvao0bX7Q zv^#1tdWx^v+O8F3h@dhE6Q%W$<#zgs5|$Yq^Umnw5>nox{`WmPKFjhl{T}JSO>Tm) zs!|VA{ieQ`G)S@7_>WcpM-0SF$IE%V<}^vS5w6eeZcSRU&)aqe2gX_Jt;)OWB)1UwN(91v$>k7zd8R552Jq#$@DQ z`i@Q1ti4=C1AK@4$zn1ZO1@|=U{^@j;q~+d=J}8ipIT2_9U$4?56L_<$JlzkPuo{N zgJPhL0bOA|%iR?bzGuWcTlVht&as>CDG!cw?09pJ6x;Amfa=pcgL>lx?a}zwro;JK zE*Gpce695YR_0He!<#?;^JG4|`7Zb|FEe~;gdv3u^fkV=c`BR}2%-v>2yGrS6I zgvg^bNAYISDrwHIiJ-5IBByz;CCyg6yw6%wTtEiPr(OE*DoH0`T7zD9(O(+q8$Gl)PX@y3k1v}{P=JK5%nqp( z3N8RDF}q*1$@R>L#F5JKjLw~f)9#aGPwrvm1fM8CqVLsG>@)S`zQe3S;$>e!n4@2E z9}>W^)kiKcQdeKTt5Xt7bue_dVvAGr9PQ{$fkFw-k?vrT<0H14lPMQxKhB7;STq+Q zhJ%KZ)NreGzOrcpH3Nzq(-+)#w(>@BP5Tb`d}K7=VbQFMyB;qh~q z>KKPWWby4UHs@g?=Rkhih-!cC7RxJ@n@wL1D#dU@8PiluNMf_$d?Y3d6 zX^7RP!`QwMEC{J5Cc;zWFTE}{N$rH9i%~yjOVhi;VmuzczIc>MBKFX$6DK-+5xFhW z%9h6m)PAk5T&0$RMYaz=yqmxz5|*Z{*&u$EnN+!ABBB^gXckl8_b%G0|Q^>j{~b{oaC zHl}br3gF=C%yCOA=V8CkaQ52VRc%`R4@mnRATI3pl&nV-x|HQkJ^*w+&RkdMwv+vL zL8}?3aJz=;w3maB8gY@9rYqB`4_=WVo@1KM3alK9ZkY6ZMSUn8FHwUmeM948WIO-jyky738u6hc{v?dcT#$tGvv^jWHXe;x!P2 zwLLeoZK-+5^IAdDWHGooVwi#1A<7GRgYn&TzViO)wFzt z$M#R}0DX&tl~2yIncv`M=E8nYSPO`E>7SFuQ`{URADZqr3pk*skq}=wrF=^LblK$~ z?y0E&R%FrG@*wo>SB_UH)9TX}ARCA#EM)8{T6Li)*3w`2$P5KmFSMoA_hL!;L~kf6 z#J{{>8tQfo9W|^#=^uf$rdU(_sW8wj_5em{KsIfCJrg|RXxA8u-c-%qIT-K6@xgh>8@NjP!5+KY109truCUx%PUcj9& zFXB|x^=jbTlPwF%jI`y2Z~14Iddo@h=9!1wZ+&3lTgDI?IERiN%!iSiW;BDRRp|A6 zX?UbRW{^e^_nwm)1nUOiEnk@S1>hTT}hTJ5F2J28SD3GpOt)u zSNrpWOaFbTqO9x3TY(eQ%ow8fNPJ_N$Z@OL_dhqRF9Yt%3RPPe<`#)97n%=eI*MZa zE6U78IlYELcO~W&)7}n2l{@ax4zK1bjM^N%2pYF%3Kb0=-4k1FZ=6+myJ#vthg12; zjfvnsR{|{^v#AM#d#|4?>C+ziI$arPUV!T;h7%!hi3&YTMl8Y;!y^zPT&Fs~v<~ry z`0U>G(HPRXxGtEVc-9mu>v`macI@iw9aI)uQQPFg^?aR*;tBB(&v|!Bz*UV#zfZ+s zi(}ylf}JU!hw@M4VKGN|*5;fNV_uIQEXdW5|1&-@%N$HDw*Ifyq_7gn#z%xrcq_p; z|FIbT=U}uYNYoI7nFC>RYmNZ_cjx;20Zbq7whD@cXsYRN?cO9czTTT3t1GlV6uiIG zjV1Wye_KHH(}pHkizIxqrbu(Xwcj`_-rS^{L%nfCytyP32d3**V5gjHT}gysd8pfe z!a0)Q*23-nmwvT~Tr4TAQIHfm9}_7-q#hp~e z;}@BYnTu*)$)eAfgE(Nu2w&SrW4y^GwBH_=EP3T#CIlqUp8#D&?P$O`fgmj6Ge1Ll z^S++2=Rrr(^Uyh=KvBIb!EpwVTRqp2*}}a#v~KlhmBVkImFivn?^J0D^o|E25`9Xe z;+3}^DQ_kPIutVH`Mm0WOtgu#AfKc(N?e9PteZq@tZ?yc&3z1M@N*P=|X&{>40}&g> zL69kNEETrG#j8Q(2Yle|9|Zvg;j-$b#+$jvjz`})xFG|E_ERm@Q{eZ` z*M>7{ERu&~q3p@XEq15ChxK3`=b0%4G^I<8K!A381oK7Rfl#p78G_BB_Hcq^Av28# zrXv&^&TE)B^6*C)Y@|kuwCEcq&DS zK(P*jwn!v5nR$RDus`6lswmz&(3qu+JTubHmMzS80EyWT{nrOaajl=g9O_P___1k2 zWQY2gVQ_w3QIJG3`_q|WOOWrlmkBD4Ay?V9xomEj7Cm-JALyQ+h@XIfw4Rnw?x%xE(6qyZy!?HBJ-S_TG;*I`a8^2!je6+oRp*c+3_oEh~Vh%$Q*Y zT2gTt5w59oL|CU6A|u`2stHLe(viY+yKFUJ4vvhVfg<EV~k<)^q17UC_%40a3wLV-YPD_&m z%ejR&AGLu%j8=)J>Slrv?=g;k`&m$%uJeO7G?0y2F7PS%oPZYmw809+YYD@eIxEZi zlkN)oK{*W#UIf2 z8dmT@#gIy+hmchDn-K%3f|2nMy{Yx7COuy%Brtx$It}DYc)efK@_v_fz=`=V+R8^W zR1GFBd!#(LRCl2#ZTn$>$r7yL?*4~vAIDGlD2Q#`m5ke=CyoJ4q^85F5yWVI!a?-t zaP}*8PSi-FlqtawqTfl?um@R0gXB@|n}vSmRpLC%Kl6!T%}b!c$OJ6Jf)IdyosAD8 zj%FE*D1oR0u=eyR%$m~4nGwsOeokl{Zs6XI3tCxR1-CI_K8~jBfMZdvj>p;hJNIb@ z_z)B!5rzMf82l-*5SRdIN#K7OhE)a}kR$_51AzxXgAgr62~`Ha2VXcv=S>I_3tDdV z#XLHa+Q52DqThti+OZ+}AAM6@t9zg{i4r1YCAn`f!+K?By=@K~;bup>0Y$keV8-YO zIJf<(MCy7MD)8+OJEjO-#QXZ_uP2_<(J+VV?RDzCeXof7;NljKV#>_Z7a&#iFaM``=NcHf z?~g{wzvas{A}cH~Uh-X|u${|8l<3;=>gWx47GTLpz3x z)&~fz+#u*j<=NlwNEz~d=EPlO$rf4hc*T>O9{Vj3fir{nLO>xUL?(2;}T_)Fm z2@Dr*N_&uPLzX_p2;RFThhNLwxm(8hb)P`3ze&EL=cB=~%uf=ZV|a$Q;a;J>7Z+m6 zX9tky%EDo0kpGK2fL>|GOrnhzV3kj72SH6z56B^He~(-r$(^>QIHt9wABRV&jlmw) zG8)m6?lms&v=Z_BBjUu3lM~!2zq(!g3meUym;5R(EiyEGJre9M~UCM ze}LMP4vNMgpijEnTLv@WEzx#ilApK$MErj=oq06W`yc;5vyYu3V&cOye(XJ#Z@mKk9T!}xvf?{|KGaE{{~$8o&3 z*X#LuJW4S3A$IhFB!-m zzEqtjJ4t(l{AV-*S1MK)e=TCHmtd{-gYYl(sAM^{ukDY?9%b6lTdv12Z^fSMaMQnt zplI0=;SK7_;|Ld{BoS>p_OIvWemHbxfxj$AzJ?MKCsCPB4Nf)eAGAIR!66mzQeP{x zl!g#H4Hz)!HmEl?;s!>#iyrB;v6m%xpR}`BGhO=JX-$B)#p7$U*>5g-FgAL0n0m$( zLerWRyi;Z|qu5!odoH9>Hhbfsy6bT-B&dYHvDXC{;K86H6iV<)D|y^&$5*FXab0fH z@@U)Cd|1-5QK#!-ZovBjp|r2vVOr!bOPO4m$mUg%?!%RYf3|%dWn2f65vmgpuaXJj z*pf7VOj0YlOG1zMTNn{Ra#0vLc|0$cY0DZmQmfpJZ#(Eu0b3+^E%%Zj^JE&1<5Nx5 z9hrpl8aGa?@7)3|ZZE5iGbV&Hna`>dQ-S1vG|axN1@tLAo3UVMDd2sIPX)ddQsi!l zYn?DZXPnzQsl(Imv-;~Yef)vhbPzgvbZa^Yl`(qD^4VOZVpT%(0RMdWj(MeaEBgx2 za_JD-^=TCytDa3FhjQ;zorEId|EfOn^eCV*>mmV^9r+8@e}KjR6JnxMlXuyhbPe^& zqBF_zEpL)(JnQHaN7(w-NXaF(ldOaoq4krfa-dbM0X{Z4^U#D-$bg>F)9ktwexAf+ zZi1Ju#CZAC^t3q6;{L?sU!0MI)7QSX`jBunuP9wpVf*-(jOLWK;vSWH-lqAsK*ig_ z>T{d)3Z0$K3aBO&;J0tR80jt;KylCp{Mp`!D7w zTY=#nyGzykQAa&DChFT?_b2Q35w`XP1m()2Fy~hmGYT1YWwa&WvZM}?JfMFGNl7Q} z+?3AkWrq6-G-D_l@!+#%g=BDf3F|)zNgd?CWl%8qxRlL7Rcb#kb~$mxjv;>1&S`&d zS)mNlsqyXJa4W+cf_n2y9!0GiCoZqV{~NIMyeR&gY53k@e$MkE*<)!}nrXJEwfNTh~a4pUJcSidPO%YFW?ImwXG)o zf&BOS@Y}NQAGsHa-mWpfFPmG?lnZ=3lh)H3f;&hklzb8Q3%e8;YK~4guvEzSNr2RK zqb4T?FQF*Lss^bID_c%Y3yt-{hLdlhuD{6~8xj1&BpD(Ub=sP?Lrzi300d#oz!`Me zDu_f4!dPfFEG5eO_MP)j+jz5j%nR~l%k)WiR<6=@E0!;C-MtppTQ=w;6ww86kr;$wBborW?ip_ zzOW#B`bhQTCZ28l+ZZed=v{zFqHtNC{!O08;kHy^G9lag%}eh7(a?LLpGLFwA5HV` z9gxWFjGp)?uM0y#1t=k5$xK!bKbiWDEcxkW-JKy|F zGrEsIb1T(TVW=R^-ed6@Fy1T4;3lg^N$Yy;OpbIhsogk0qS!PFao$VbM=1Nr0mU$( zyp7aK_S9+!&{4@ykc)M0_rYX{DRxc0Hf;OOo3KfaHmFMoZSyon&tF`-PFZzKq0KIO zCh#qwBJBS@)A;ddLBgKm-yU}TRuFCS0~|18z;=F#Lif-d;r}8>b5KCRADE-GzB;Y} zr&+2;ZM!gUxw{uKy#oWs-1(c8aC=C%?BL?-^|sz{{` z-rjX{6DvJ>L}pRBZ6X#>AYzc1vCqIkGDjAByb>_Wg)+gs#uToyQv8 zJ<#h@aUE793fT0(DB5$Fq-dRY&RuGibxi?n=$1ZTyD|(p3Pv?RG{Xf$&sBMWep|>n z{dDZ&9o0f}jg}ZSL~&QvNxIt^U~oZo1)jJZtx}TLLK3Z6`pgLaSoIun+7|C*>mB4{etfDIz&<5vPfk6X^KqyG1fgZzyC0L3Y z`l%>!2?l}GUkB+Dq1Ra#HFbD(u#b>LNr}N{wO8V#t-EgZVqIWmUYzIy*dxQff=nfY z|4KMYK39j-&<(X}>c!B0pzyBu^A!mVEjTOw2&IO#(m*LQB~luZ};oIL1EOZZ6?+*tV4~wZLG_tM9Fd`sa`q^{wBq(YbK4Lh-tn1&rO2~ zAA|awtb65}L~^r!Ly{HN*Mw7@o?^lomTUEiOf<$ejUlC@lrFG_m5{+9(j&ISuU{7g z%3(UdtRzo2Eh!?UxQ=2dJO;Jydf^GZy`Dg87upwy#KT%+2(B%dZx7E7(0xc}f`jjv zaMDDH5=sB^uA5ZesmBWiO)Vw(^M20H9aOc(KGSFKi9t@o6zS%7NO6f5wq`@q+P0ib zJl41J*4&dcqb%6yYTs8?_2`TtgVxV}y=Y(6zjXgS(jp~S>)FQe6V0{mp>)vyycQ1M z=_+L?Tzb-(PibyTf!^{@!H5FF6?prl(W6m6>z3F4Wq6ZND#F@P^-w283h8rVeRfEC z#5aY5V@p^U>LT05@Z4F0(RQdsC6J`9YKYvC!du`oR=;M$As*K>=9)bHR^QkEH~B*^ zgfwM-V-?IOwwp1E_J&H^+xFbeleT9;J)4U^DuBa z1gmMCi}Uzo^#%dDpdrCa4y4iie@j+`>U039cMvG8`v-$(EvskM#Vhp_E^q~}by)lA zC|6ictzJreckkDvGkDr3f$m{d#l^h?yx4nqe^j&(kiHw&_{hhs_#0#_*3dM^?M>XZ zpE@ByE}KwGue-WnP&_VG)#oS{-IL(Ce1c^Pqm=Z*%OQw{vW1Fzai{hEb4rVX_rs9| ztO^X+zt{7M}$J340WYmW_5TZg3|b2fy=A97DEeTT@I&z&pgvhVg)C&<1w z3=SP@IBXQ_^`O)5je3EsB(Hj7WKnITv8|MeUndk+heqAXxg{ztt6Cm?6Ue846W_yC zWj#c=0^Dy{y}!kYqeA&Vxk0~q7hPE_kwQS~B55n|I+_}Ue3yRrl`=~n0pg6jMc0Qe zw~LNMh43q(fz#5BOGHKnw^#6cm5`)Hsd$j*Hw zEkRH3kI07&PP*i2pk95Na^uq#IBWXQ;hy1%bHPe4Itjf|hThw_57d&SNpF|YrU~@y z>nch!6!fuW{-F%y!`lu=G<@;qu3Q81jS_qOcfNdh_Mku($Z7qlXV};%a|f(?f<{NW zc#?;^Z8apzJH4R(rxT~8R3cZ*lB|kndnpTLN=E6zsGr%V#-TJ`tB?pa653=qG%*>} z@^cT}os-fdBeV$R2e73V#YL3@NSZu(i|N*U_oLsvwAoq%Oj96J(yOvM`6NxhCf*7= zGznsQvEr@4I_Q|R-ydP%r<~WT%Dm zW3Wq&NryC_j<))UQ{@zuLTj9JtG^uKQg}}&o$Uv)36E1+rLzrr+DkLjAO02ft4X-x zLNk4N)UriNzGIrTZMlDFy+4b6rVAUOB9*Dii~7(`H0Y&l5G77%)uw094h$&V{D^0K zU;V<+(R`RY8xrRbn9^&~cU0ny#U5|VFKG87q~aXC(#l+Wmk=Tt69PE@nNp0CA?1QF zFF=Qp9nTXvMsq2$*)tYq1n}eL^z?n*K`sbkpUznV)#1oQ|Fm-u=eln)>~bjs9(*l%a<0;F;*{b7K^(DKwWCem09*Nd)6UavLph6%pI*v+H%i^ zP2E8r^hnEpSbZDuu|%avEPM@Q{+YPyo#LX%HY*pQG#xCyWi@XzMCiU8VEQGqNpj(I zR=DQg-coZwMqq#|)6{!5YXRl?jJ+< z+FqNr{okcp{M3mvocky4w%YDH`NXhY_afd6uBb-dC-st;h{rzG_>BiQQdh~nggwy` z#&u=$o7j8Nj5$JpV|X}wr8(eS_K+*v)saBRvHr3($llX`^w&rKXfc>iMwH%-0eXq3 zWX@S_?@Yw^voc)YJX*8~8SXcSqWt5Q`-Fx}(kP(a`c$*Nd)4P^<>=L9Wmfq-Yy~1+ zrBQ2#o*_UP#AFJ7-tit)8Dj+s6;Dj$^YHU!rdN39s=B%a&9VS7i54FKe`DBhG#ib* zOt&wSV%u>T`1;LSgAs6d%BRW^;G`GLEO{;=U(Xdo`ex=W zx|i^WFZ1I*BGgP6q?){fjUxiCH(~78(>g4Z4%<3lMe5+~;PD%Pfr>=J4gWGtif(o! z;~Lr!KK`^a13_FWpTrqB18y1AK2)>I<$gEVe9)2lf5-hD)C(WA%s3=3ElTcuF~opH zpG+tV3G!B$oOb{De#yQ&ZDo?8u?Rf>_M-%d$Br37GrXn&s2Sr(0ZaNt&P$rzwYj8L znR)V(wZaYeZ8sboqW4wqNn@MN;mB}`G=is*(-^CARFgxkqex3abQ^gRoShB<2~gAW z9oAPW^bz$MqY^tAbSzO1Bpjha&_pu#dSV4S(yQ?jmo3HRw^@&Y`;aP{5fwDCDzXngLc`%d3A^mqUgu*TYw@sXLHSggfaG7A7F1pxi|!MwGj;;Am{#sH&Xe($<%?n!&PBq9^6tCfSb=Cz4J$c290jMU&L z5$E^u3dgt=xGlvKw$N+4HjU~aQa?Cf zB);@$qO#BrpPf)bdZIW$wm=AO0ZV0LUFYC5u}My5m(BQPeqx0@Y}frLCC7J%J@y`C zJy9k1?ubplXkXij=sDTzg$_sA_90uA6%E{Vk{T3Yjq*rM?fMSe3dV)r3*VhFMjrab zq*2co@-6#>b2Ov|1I74p8}&c;rN>-VFM8tWKC!JUv*k_=>TGBJDg~UWkOG_FSiF2V zwekAAU_YxaUv48`7S+7+jO>_Ag{Y5M>LK))-5~{7!EqKBin<~X?*m@r{eQwdObz>m zUQUb{TxARm-9zZ29WtUYYUU zhB!>N+F|)&!Omnd@Z;j#{p>r!V_E@xMMOG$2iqrqA*7ntt65EQ&m101B> z3YOqRbZi$?@$3E>X+iqwmX_K72qhHO`9@$VHjm_B%MAr`tjVk~(96%DN#9kx)U2y5{4_Iqm$3zY_lI!GOHv#qKtutddp2toqA^sK^X5 zPcHC)WkOe=cdgB@ln`!{@$i;}=hF>~OFaH71uCtGy2WSj)%??X;|na#aWTgiM^5MD z%&P3pSJ09Fv*9!7gp!TMw79+`+TP?$`>DOYqqZYXqP2_zh$wTcyXd+uxIjp%Ha)8H z^oyWC7ajwRy@n+NQCnRx6j{UmbiBXCep=ap8QvWL9&VlE)GdiIWBNB5Uw7FBsE%Ah z@05kPG}T~0G;jO8UUu9?D#;1e`~~oxC52xFnyy38e0Y1^T>=ezH=tp)gq>PILx#Ap zD=b#zwCl@7liQk$_n_zFBmDg1qp@<>V2YF|=#=EyVohvrQT}n$K-ShEY%fODlJ&aM zAaT6^a)uIEx@QW2LOYX^t8|l%z~Uo(Ode9K_E<5wEnQl>cg5x;h%#12EPRbWAsl z^$kccgcw9nU#GGA#`zFoDgn8kw=e{HS_}b9reaeM^v}%k+w&JA0pz&Hl(j3ko4UY$B53J@CZnA*hMqDe zx*#XmdNkLtKUGsb^0OPLT`~a=_L3!gdzt_K=A_-GZyJRmq@!vYRulB20m8@lXN6U}Z7hm@R}A zj{5MgV+Nofs!3UDHI(a8Q@rY1T4q(i?=}7vja%HTiR|5eWPFaj;#lgLud=hQe;!3W z$~(8_W_-eKkC!bNQ~$N~s+CEL?rxoXUX)vyECUp6fb>`1#oA{j$k#Keo^_~$?y_B^2%UFFC>KhDO?Dte%hB5nL)&-e z{gn4-4xi~U{ep7G1EfP%pgiCpnW5C$8AEX!L6tg#q5}B0Kc|Zq)%P{1HB!`mx`e^k z#EIf@<5K+!>zm)VuJ(%75>17pFv>C-wh^2tu(hftF}A#>J}8mtYY(tw1i`P_nXX3! zkgd=DKk?ZHSZ9dXDI?Ut^20^zoLKBQSS4jfzY`vO2f(*-zS-ivNZL2~dZ$ELe~9x2 z-#n~gNPWdMw|zMXZC}f6CS;fMQH9Cgx+YKU$1Vav?F)aee%`nA_-xE6GTi?hG(C4+ z{KZU3>lB<7`SY?ZdFHKDzc7+pMK4hsaeQ9Xb5f(|#r?=k#MIB24w)=Siwe|W{Ra>e zM=C2PjnHI^qZA>y$_Re`0Rmi{^chFw1FXBtu!NosfaHc4>9Dt#NZv;m zP;}>yx^hI5wdT{lyhTH_ybhDP3`@~twV-OTVf^;z+zN5ZB%S!5p;Q`q$%4Y)JSqC_ zJ>}u30Rd9GTvQu*2DO-SCy?-prBuoKcD2g%B;SD+G$(%f>m?ip6w`&v7YDa8`-x63qHBz`B^l0 zgBSaHe-hCT_?qA*-`a-sebE0+q)E2RPU~@FGMGBMTLiFvoRj*7$#(^fgvYqBWYokZ zSmhlsR>jZ?G(np$z%Qy+R#9wb0kV<0s{H9u~UYoab9=LnH@5vcU>)ME5vQ<%)WzO-5P(w5)E9A4s zV&L~_S-!Nfz?CHYVt*V!jzxy_V>tEVfIt}_TT{~fGgcuUGuOml_|16xm2r)H+eu^b zG&uw7RO59k$7H)0)u{2l((=H5c@kbaTAhk*4a{iK=J zaFYs^R^tlNc4n9!&NNf;#J%wzj0A1kHDhw1MBH6VR^N~jqm1V4SL2kx(`deiPN^-! z-g}>Tb2lJ&^f2TCBS`@s9k$H1cn(-I+d@Y{@(xj!Dm+~*#AGDRo&#M7$G{6EVC+sbm9V4P4CAi3;|B_RN{Uk#0Zx670(4nNp*JB8t_A2;9U{oQGyEWp zow%jRVO0+tdC-4BWLp&IO9lPc)L*{Z{G+^60q_dBpwZ1O^Ft8D;KSw8a8u*j3*)f! zCgtf9+*uN$lyJLs6gn<11MW?WIo(#no^dOSGP|W=dq%wRFFwz#kh5P80@QXhe*~2v z6ZR##;6#y|$jCa(4cip{KUeS&a%HmSaz73b!RDW^)sl>=KL?ETQBmNT%?cFljAEF# zU`5%PZwjLw3X4B=!Xj2WH<>`YkjWe{o^i)xnp3+fGD2`%{Z!hUou~GRP4qxwMj#I4 z&C9X34*ab!k;T$?IQ~K??(K2!YARIAo@u7}^S7h>0$C5t5?O&)G9twrBV01pAKb3* zjER)^6NIif^lARXx!(Nib6Va3UKNOTX;|7C7lwXw--+_wFz~Z`eVNUkVtH(zvS}N! z&IV>{3H`VmT=#qbVW+N%edTwQ-d&lSzQWKC>`rDFdr1`?OKVC6qaGjYwWeuh$qumx zr$|PLt8;tIZ>;sA#I4A3Y$EOBEasLfS$XHxnWZ1m2-ckq3))s*(P6}|r;fq`^ z#c@(`_d^Xki6l+l?)@lcC&2l&|9cU8-+wDoAK-*Z)@v4%%9>_b`kmHSWZuD=N}la% zx9W5Ej*A{~u;JIw9o@e^6#Bi$MV9OZ1PbqslA zH&3xnUD6EJQie9AxII{5;vm|}hXB{gu2@QJTxO>oDOJ;;!=|nuj9=$ONKpC^l zN=F^Ir3m+wTXg>)P@hkNr51qI?XoYPIic1G|1PhU$t?5BZu74POun5Z9b4Kx>2IkI zoPR)nbhm}HVi%9Oi!yf^tRdfUSZV7e~ z#(8j;TKk|=6wtEmk^?shKSHXPC9dtU5oxCq<^zdL_POaY*Pr9BRy;Fqb0=G}r_3{w z5;|-RFwNOUs`|<{mvx8(7|W<1)T1z#br@{ZZ0ACeX#hY9eriYnAIij(Md~6wHZ?i- zGLu%EMa)n)?p{7~|MPKE@wq0{5{ztuEFU)fB3DeBY#%z`=!9r=A=ed>b{Y9XO$8EE zrCwCK>^4O~Ogv2ix4loMFPj1xdbNKZ6OL;YlwnNFmg8W1fb zd^sP0(Kx1a`&cN;=O2j^!A^SRl;|S?4T*6-`FFF|M`^Pkf)_V; zoxttS$uy>q*1~!Lm#MNh;8byK_e-4CXDwQ;gGGR3{lT4hcIVEDlYsn|IlY<4z6AYV znGo}>A&x)gnRs1o-XBJ(@P_Hzatdx&>ie|J9_9>>(`pc`n<2oCyfc`NpLaTnj=5k{ z9_75WohSkcmk_x+teB4VOe(R4v48vqBpz@EWiXSD>iO}%g%PN<`m0W#Sr^O-y8s*k z)cJKxdnMXB7_@)t`@?MW<6W>{_+yAe&9T^~BmszJU zFQuPyh%C0KN8mzIzZXqTCkZ?=5-%3fbbuy3pfV$|*5FcAVor|y#15h1(0JtIgY%;H zQHO$Ib7HZ2IxGTuJn~G}bqv6hk4<>Ns_R^4UGJ3lxYw&_%Q=_#zv|ArFsAnLsapov zu;^~mzsD#3=e_lM^A*5Q6?R2{w{&kJDqG)2Rv95;s%z1m;I6(*Ey*C?6JJ z4kEnY-j@<&A(0{j=}|?oM)?(3$zmpbL;5ZHg#tBVPb!8fHBb#3>K!=$>$K9|rEMHi zBVXMkU6!tYK!VfJap@;*O+PN(nJXWdzXM^9*FS|qd2EGZJ$#2$Po47UW`7;2@BK~- zvi`~ax<_8{Q>C840(F@oUE-SZ;5OwS5gyn?9}YrpryJrp9j+iL36){k|LT+Hb!syaO{)nV0BNQ{ijAP?KK5Ccbh z)L**Tuw5>OgtF zRGgaa>Pb#bx7O^cqAKUknlje2zWX?#jUiq;WH8z}awYCsIkOH-P*Gz`rEc+sze!|? z&|TuP?$IqvnG5Pgo>q&Su|z?(=We3!J*wbe`rh{76kBWSG}av{Xu&+hH?IMp$l|6v zi=9lXou7$6*~-P3U28my^Z;2-@NW$4dci({$A>*rx_|&3iQdKR*C_WZ+yEHh;lo#6 zaoDEJ{Phfz3szV~jJtoW(=K29wFaRWiObJBd$!~6OqHCp<<~>$Zv_YrA&KANlO~o;>|# z_wcI2&;OqVpmFDX-h^18DW+=hF$K_4FnauuY-Rx8;jo&_6+i2`$ zUU~@gTHg7C2++ro!K-F-*QMAxo?oxe)P50ow0wH!hv|BiM6CPhddR2jo46Xg+9=u} zDq8vSfSQ5cBYV!`P>&$)5IUvDRc8J0I;>(_&+{lF`mu|McY!t#r_Jrrx-JrIrRpJV zo7+Bh_8WF~^|Ru~n=B{%N4cw{V_MtLL3wn%dWnC%8GL}9f1BH81?Ks>OK?osu!}y$ zLVyBdBn-$a9DNxY5kGmH)d4`qV+R+|;tb1!ICu?y-rAJH_umr_#6SyD<&`mocg=4r z>2kVKtBlZv`%wm1HIj{)gPD8rW+X<_AXx>aNoF#%x~}r^{yuQhrgHt9CJMaUS^vnE zc<&n*N6uL~rGRSo{d^jcq-&rdU2h-K->4}(mPG~aheRf>O;)Hs9%<`;ifC=xbP67f zn!_Wr?54X0=QJAwW)*_&nBlg&%kZl5+>Y)xgi#fg%@ z<}|lr^3rms6k_rk5YL|I*Avb*3Wt804bnDH8X_ZEh}NMWlL|Kb9XQ6mYwF)7eHO_A$y%2XdMXh;o$;(<^LJ-j zSYPLf^hI!9>6ir`79uL#-AWn}i~HF~Fs#nW=<`uoj$?gKEV6&MCKniOYOt7(Dlwz9 zoO%#0bUXVuMQcC6ISCs2YkB8!0C_Q!A&Jj^zo>auXT8JICW6ds>oiN9T|pr_AyiJq zq>Y_wZ$&7MBUG0pWTx`>y3>2uBFem z;c=Zrb}r(GQP9YdgCgSs3Ly(@ZXlaXVTqn6fu>4|ED)tk0D(m90N|c6rNS4L(+c!0 z14BB@a*J{|ynE{V1sHUX48V~b7q<7OkO++_u*vV7x+fx(_8WKOafnH1KFCg%+}>@z zmgctva7{=L<^GEb#j1&BflSDWREEj5XWB{bDULNtE>3(CW#-EDLR3I*eY^JyjHScV zlYg8;)MEg=Ii=(p5c!pE3#TgGma2NE*N_w5dD9_a`T#^qtfb_~A0wNMuM7q;M>ej( zOdaPHx@-dYp+}N(q<+?#O%QG_7!H)m)_2-*+@a@rOBeZ2H&^%i2(5Mb&FzMsVJxLb zX>dg>!^3MA9YOMaQ*k8z`j53wgT?wu<7Z#;>%Nyw-b1vLV=*^(8}44iIgp|q!6C=t zsh-BT)fmc0xvIXC4T*!{Xv*-kA^oXbX_sweIB;I7Uj{*tRsuzVJaHCM{;4t%4vrw= z=3$)I81P2mDmM=eY_2>x1CWapK*eouI7nK;{Djs+^?*=UhCk8wjb|bLu#%QF%SS8Zv4tcT)8o?D^Ac8Op3R zA`|xg-w)!k$-$nmJMZ!HcZU`O?3P0C%a+!USNmKZ^v$VrpCmH@^`iVx+qmy_E7lhc zl*beon>%olKI=#1+H|tE+qzB^wR0yHINMuX)7BoGj zO=FIam>fU~o}!S=3Y8nRy$U~Ns5BKF(ZrrR(?!gW@c(-gHAgq>?DHwsu7R^|;Q$Yj z??nOB-2hv1W&@RQs`3j4`nRh%Ch4Af+TRM^5YS4_8Ks3+Cdx^cN4&{OdYwDxpo`fN zHV9mr`fLCVssK}OkLu!+*xj|+BelWYpE znFggPYvGi1XYko-32e*`kD2_r#+%cmGOQOdD}an9c0y`%+;_6W75VN-3IfbqiGK{R z)_bJy!QA(uE9=f!?GPTb)-$(tYbl0rU5^#2!_CF1dEVm`-kfh`c5&1(;XB6W@i`j1 zE$8;}gz>!@3}1glK;`BqE(s?YtWAy*?pH{U@aTiJ8~|FVQgK$kq}9umiks~1HUG`W zpUzsY{|PuD+E9?>*Y#xI(~%sj#*)@(Oj?g*cgEZa8!|vr+b92-Wn}gE*IPj-YDZVr zAnAoc{adP68OE8~;;k!8F+?|r8}^6)Jb2XL&|PFO9Jn|&^{G6aVgdoo0FL=dTMgi1 zsblqOKTykxR1hOpZA{X-(8`r9o<^}!+tzwR-gR%3UW8wbp+qVh zmW<@}aH}>{3`FXog3evkdDYyLcC;HlwOap#6eLCdMD$TWp{7gI5FFj>h8lU?j(G3( zN~4!#wcUd*VbQ@QW(-x2b;J9a-;u;Oso;1BNBhN7DbCnjN**}z>s5dP61v!GH{Ai#0`bpR`p*qBEe(?9PF zI6_x#BlFp{lYTH`|?JJqoDIeEqPGnf%Ea=kw z1_+?LzpO!!A@W4V#_q3+4CCMxhgSBnd>h%-zPW*qeo0Lj7%RTK-*W~YVIsgTVQRu zcL+Jn9rC}mv?+SVmkTHQRVCQ)p;2ilE)?6ctl}wHmR;*UySZ|N06M)-kP_e)wg*`x zqpuNw78oV96=$_(YAuk?*;L*cR7lF#x7gnD_5x&6LDCOI3+nIqPRjCz9rHLRQWJ28 z!o4joaQ~$THmWHiBQ#|J1S)tsZq89y+!G5V!lHYgZMk9AoZ37vw@d2T^b5l%DAgs! z8G<&TpPGs!^yU5yJg+S1tuNWw7#?$O9gsDpx|wAf;2`<l(xfh)R1T4rMrzm z-K`$^@1#dg{iYy-S1*?0?n5eXAN0SM&Xshg)+FPBT3`L-rb{wCvVBzt=e4ZS=2V(R zKUBmKh3d9=K68V*41aylKLED55{=Dw28Ep89GpkONzT}&l?$w+vKXsdA^kE!1-7iL z%sVFiLG$NXIBuO0Rp$H}>)_{!0IpPXFvne=YtSFe1pDe^oRt;mN%s!qa#y5=9S#HR9*v?@=#; zYzs70;mLhoyy<{UWO|`F9>n#t2s3IEce~y1rs#U10d=#RF*2!AbZ^AZi(j4K38Qqs z@j8FRA|)IhT6De3JUilJ7m*@NInIk)sA7x4j|`7@N%T9POV$P7H+n^JxXL3* zmyn!rN#3OFc;tTV5rtL_UvY(lal{}`pK%XcnRj2jGE{la5z^B^>T{Z7y9ByrG~Yt_ zq_uu2^F}L_asPK`O@FVi7ssh+s$X`TVl$r#2@=$DD+CKg7dA!`7kX&Tl?fFnf#5|? zEGhA(RCe5(S#JiwyC=zWgms8SS(tvz6HAywB-X&lGlOVQM1+R}SP;^g^Hw~*=N-XO zmnDDRae40~zBC-r=F9Jdqsb$y3K4<`mpxKc?~CV$gd6Hnr5(2EyY;BvR=sR0<4=nu zA5IRH)nH12=FHz9!MMzr1S`pi-|MGd6y=4#!i-#y82YXMk)#;|(Q6*+C}P&ba~yKn zsW}oZHP4NnBLx(nvP(Xo2q)^I<;7Uac+jm62>#ZzyQoq8*-r~)R*I+>1I&B@1mMwd z9f&#uYd$BZ$x-NJk^BME&aKy!j?br0RpNx=JNrD5O+C5?#9bp`FZSmn;{1NXf@L!( zP;LZ6J$E)E^lA}FX34k1)s&F@<|?EI1-pO>-~=qSsmz;I_e3bcvuW>Ygyqh4ss32aHbsr%VIAON%Tnb7XRx~# z!|P=q@geh#Cf15XLq4gssYNR-npz&Zduv;E4_^^2@<_ ztKqeCsw0~)>E6k7d5{iZ11|SJup4(mfPJ&^I4%${*F_ZRNnrJ^F#CT&raf_r(7x;} zdhV`;cR#PU&}N!7++~wJarAkG(;~;wyFgCT8XmfdRWpd#y7`#&vd5`ek1mK`X^4B@ z!mL6SPWwQjRq~O_>(iI}HPA7KX1Cz#&!exsL(&9ek@jZ2L(KR6!)?rek6}JW6zpE? zW{6sw^#KjtSIRx3tEbp?HoMP;$F_G{0%{VD?Od2mW$wMnaoXCHF524wb`plgTxdsZ zetqyP+z#0rf${-u+XZVo8`*oj88_12qedZ1wZqZt4HV|TmZB_V`HU?~!Z)c2Lh&va zZq$hdq7vNyvqkmwWjSk!4|C{fbUr;5x9Md~z)+7(ITswA-0>hiTS3?d5FyP|b z3H$LGlJ!l>cUr@TgeDxHk(%#G4G@?TfnMV}Xfkp2W&!BG{>M&e_(O#@N5vDyS<4H+@xB zLLqjd`;yuU(qK!83BP!JaiGo_xvqJ_7NK*xH3l02b4(AV?J#G4=w_UOVA-4q3S>3`49_+qJ{(D8b+0g9nhHwp3%z zDGMjzuH$p|%njhj)ho_tfG{gdKaKk(j^igUK3M-gcHFRMMzZhmonwktveZVGZkGaZ z1~2+psvih_@jG<=oeGwO5lZAlMgZ0YXnuwaM2*8(*T&8qsXR)lLX52MLDyg%;&}T9 zA*p^h6F8K?)529Q?!}M8FOhcTIU;>%^j!02Y+ORn3>)`jx{KRs5)^!`Lpv%d_Z zA-dFx)4S9D_wKwl^Dv^0*GfDNhi}Fem7%FZuaEy0)*OP8<_X_-vY`=5r=iFd!?@YPmsVhV z!Efm8fOv_@_lZz!pK$<)W5rSmwgMU{(JGad2@*Ap37g_4A-3@q0Pd#H-!5SLm0>udPFmBh%Kg$bNHRD$#B8A`(Wbr4`p?(p@b{Uz< z8)e3dZ-$HGI3K>O#d=6`4>#AqC9~cKGgZHAB|-8fAU$isC)x_%(QP#A(qZHCmvPN) zjqV}AqbjR-UVsAF~4+Dch9WTFqTA=KT>}S@4C7d;m&^e5btT4eQCUR0(Y(iB6 zEi#KGJLf5wRp}L_?0u*2{ra_Lv#zb*x&3OZjJdP>kIE*rppAESA0q_`x4gc#_^y7% z0iOHe`b18NaNwLstVj~`_$>P!mjrc@^AJEeT?(LUqZ>k?z>izSWzqGU4nK^U70n|< z0DSl_X!c`$_j^ln`+flBxvRk7#@4>-&%?oxw@AKk+pibMnghdKj2{347ri@hdy!Y^h49b9_Jh-bU?Oa81 zLyT|qEE8@wEBSF_@Dq0dR+fcnZx-dM7|R)XgbiF|)XavqTTpsVT0nDB5M2=5@V-os zP9e*{O$XEFUa1~#Jmme{FB5{ewD-vO2OUhIlg z@kRlp9Q~T5pud|qA<1&;yqnPIG?aerI=d6a*NGGwKK9lM~M>oS3dISNn; zNZ_DR9Q)619!0|ssQ4YZo-n2xAj-Nt)_y~jrSWy|oDzskEQ6ho&$kkx)Cs{K!bDla z8+%-pV{Q?|=>jE|Qj~OVD}#!rPJ?wS?pR$n%`msiy6Ut6Z>Gsa} zaSEDOQLRi*PN<^ks#Y!_Q_TED8cYHe-&IkqkRCOfoVRJWJziN4?k6EE*1m+pV-@P{ zLi#0zKC2oi%p-yWKWtttYbj9KaHm->=8)>vFx&A8naYdXuf&=De)`r7vM7*p7IItq-QsG|8nxzm;L% z7?B&qTe&OFYF_<^U^7z}{-D2Y zV+a-klMO?vgnU#$GzD5w+Pr8LLn6J;RzjsFcids^aJXL>*MaY=g=S>QskTVgwb%Ow z3$jAXSmdsK^M&(^Q68D8zO@z1EJ^Xky#*EdPBgLzp{i%1udw~cwT;MxU7P&T?E<}D zTeYq<&jzVQr@l)Gg5ip5u)T4c?VmFe3EOj|Z`&6%7dX4I?7i>bvN!hxpH%cpnI9kn zY-8M-Kub3ML&X$Z0K<$Ksd3(^@*I=eD-apYcU=yf^`Jg`mhtN>rFRPSfpVJVe+6B? zB(M&mlr+g#C2mRXl%0gOt#8K1i8tWM6p?pu;#$G>pK7 zo%){d2)I9d(4Y5nIS-q#xDQPV!Mf|;g!2!2F9BT_i9*qC0M+eQGnD`)B&{%Ga68Kg z_8QNEQ?cNSbv=DJAz?gV_kIhah8Fq)FboERR7Q5GGFNvsiNKEKL-6ie}1 zw2N+8P9LDp9($q8(le!$ObEo(i=|onmjT9w3zkcOCZhfvn$vYRQ&W>a3@1XRPUus} z#Ns&CA41I`B$A+y#9iKq-|!0yiZvt)-pNg7s_q+0niTv#M%xG22x&Zzl)*P?{5M~1 zd5yItl?OX%H=gSXpT2SJ|IqXneoZd^|M#_Ebcxa+$Pt4UVMq%KDq%0zG^-zYWD?Or=4ZACGfDHoK>KBW8k9?mbl$9i&|w*`Il{K9KH!QDyMjjeu@) zbo;?eM_Vn8in2r5>=}LZ6gQPmGLhVxHVedsV30{dUs`Z=Q(xS77W2kpzD8(aEqMhX z23whVjWyO@++TfhpY9}^-SSmm2Ii%^ z-2?|3-%XPH`c{1aGX&10FYD}F_6c482bVecIgn|l%Y#q@We}MRFkYY%M9^8fGMvpvuG(UGp-AQaa()ZFsvU!7B~Fyf4l+M8$_e-- za87rXCd3Uuw;5Q18YL;^se9>Flp=*6xKd+CfK@HOeLcE%?G&yqSc&(3`OEHYR*jj+ zwhTuziE;;;*Hma-m`5eanVAqZ4@_@CkHOj~UMixYXAPM`rlwU%_uxWD;quy5DeX^1 zCBj{!*Z!4hG&(F7b8^)6vOR_2FxqSVhuUBo3QCsPd-0O$S~eTgddid81;LE=7$7Y= zMnX4(epjtQ#LQ0XOGL8n)*NxLyS1vk^LqLQz^q6ZytwR|M82~>Z59Egc!~d4Tl)rt zZ!}F_I5MgUHQ%)iy>TpNuZb5fMjZVw6omg8ngFj&$JNi0^`WtMxOguG)@TvTZIxs7 z(4_m9pN5+!)^L*G`Si(x7s&$@95#7n8gT1P`6}Z?O_EYG?hJ)Jy;Y!x%xIOwnV*G_d>qVQw&81C@*5Z-rP26>)7L z&N-RBPiaFVI@!kVlxXOt>oTMw%;5_o{np1)2iu85A|dG`{%1wfNkJ<$YOq*Q zkqA!e0>*4c5W0|v!ti}=-S4xbxpYCp&Zsns01o!9N%e|+%d`%ZWhD$PF!r2;%)pJO zJ-#kP&78WXL4-fi^QYI)pr*DbrePAGas*|(@6mfm28bX@!h;u4Y>l2>@j9^0jAUSy zvpvF}(wM))m-PLJGcFE;7?;)v7nEV*oQQ~b#@4Qb9&J*f`nI5$K0##Mf3z-s&CS84 z7s9;cP>9j(ICJ2K?wc1Tflu!B=MI-9QDqoD=kASM58g(u7@b$h199l#svQgs^PHUa z<>c77MMTVBM9R&>e|VK|C@%f`m{{?20Hu8B&trqZ&dL;YkSU6Xr9c=&A0Slk=i05ndb)$+Px?KP&;Ry($-qu`uIn7IaM8T4LR5)*`#YK%Occ%bO9u7kr)WI&FS)>#_nrae-zu4K=?;4sN;gOZsQaaP7(yM_^#3OCK@q0p8hhPIWh3_i#bvfwx6@P-w%45QhJq!YIfe zk~7j8;lavWg|~$uhS7*oI!&>!P7YqJWf=KLpYj-W{sn-|DscF0%^Gz=_hg?Gx{7dq zW&N}~OT{oEsnzKcyf)ra=ra8X1FKZu2ZaxguUkleqz*iBdwoD&!K&fw=VZ#!0QN!@ zG{7G9A?YT}tWst2Ed9!F2V!wR#vdBHJeB;-DRJkti^rzmdzqfX9+1jM) zpi%$u`g&(r-Wta2c+l?%Q_2;|-uxX;x*s*YwyLcV&zV|2>qB~!Z(y@J>Q>xfeAsw?= zE!F=wLCDL4Vqt{ zmO{>dD=Ogc`78rLZ#CdOY*m?Cg+V0*vf}23g$BuE zS``}fBxWKLx_eGkGMdz+!Y$C>@79O?b$sXt;Z^@h$*7GNCi?B=R>%4cbsvsjUir{zzIY$5x(_&)s4-%JRrbd@y1HiG5&Wl}M)A1L80dV#f^ zj8y!BcDO(MbdQDO7aC&*bY>txi#Ov2B6U&qR<5cIRjU%pvM zo&~dXEfR>sj=GG@Zk zU%Y}k*B)BinbmC;p=fFTJeb+sxcD4Kjy%k~Z{cPXbQDn3l!#s*MuwL5Bky?RD7lX|0%Veq6Cbm#MVZ68Zm5kS8?g?L8!{(gF=+|V?zSH%2P1K zIdGK7UJF>T1^3vZy0_1N1V0>`U4#^GfjuvMsn~+^*2eSTB4XPOTSgHVYwYU;0(XAo zg)H;-ii8_UKXpg6A&kWBN*mh3y`eYEER9Oj{v{(}vhy(06E65Y^1c|p{TVCtg`5pZOW!Kjsd45nlS; z66mEyy+B}ajOF!0rm?tCoDd$ZP{m_jYK1k*n&2zNa85E$Ru~p;bw|gl(p73AQrfRS z&f~}M=I{F5Dm{O$(lBD?mS5sqd?x>PF9-IAw%zI)}N zu`Nx5)C7|FeFd+EaCObHkhVPZUtyC5ZzfMCf)(u=AgA45Pu-&~apKe}!_w9=^j4&0 zbgWtk>LKO!VkI)M1-)Of*nt8&j8K6xFtdpWhgN$a+>TQIfg!*n%M>t5m#;VK1Od{| zK|cxP$b(MIny1`g$7Lu<3K-ow+?1fOYsp|W6e>X4e2)R0ViGh_3t}}B`xsH>Y0v6= z`zFQSS5&(0c%Ue;K$Mrgj{}d?e{^yfyY+SdH0VlPc}+hprF^6qIXcmy(%u8#mN82X zJONj?=zEbvflHS^pRT=ToLt~czqfpu;V^h!JLTSxIp+sg`CWlAE4d>06mGU&_UBG$ z>~ho3=J=yqlJof{lgp5`3?ydwi(hcub2C4s^47d2=G>}!O69*%!Q-yqb5BQ135afg zQ4c@dsjkOBn53juHF1K`Le3tp-#SW=aU&_Azk|NTymD7?MFOCGVD5xs_QOh^Z%U7d z1j6u#a|c~ElrDdv7yKre0<*R`QjA(*vsK`cNFV|q3O~KfOZXK>kS+u-2lTdsM%6OV zqmQ1%dQk>%DHuX;OUD)dAfUpw7CLW>$8@tR#3!Ms71(w-=j#stlt{c-^#Jf7^W84j za?-}E!x!E%vYnvLT$A)EoHulbHIJyP3l9$}Koq5X^4(LaY7-6Igbk7S2TY9Ou0-## z)*S_Ak_2u2Nh1y#9flTl>KyN!3oP6G9_H>d9lt$~YLx{Gm<=EQpV@*pSKuwQ)9;X$ zyW`i7?GN@n;B#LZ>~G&HrHBRq?rvn)eDa?2{@9Q2v|bGUe;aoo&oMGU7SP&l z%i4hY=xaZ0HanajYJKo>PzH#mHY6y>v%G2vl~#ymT|)So147P5L%IiIO_X6?dcj6R z_qYv+1g=FnqFPYNY<=yy3_h1fizf+n?jF z)b=C327C8osas=EeEg%~U^KHNsSVe1n^9>YoP^HK_`yFQQt~nIy-uUYOSN_nSC)B7 zC0c9{xp(GmT=tQ|Lxci>{-IyI)n=1b_Pr|ALM%X$6z+*HEC0FA9{P85Dgu2RLOH?n z0(sJpR)PBJ&L;`YL2+iz!mNaVvTceWYQ6{rb#L>@cYsB*H3wl1#{4W%@(f{Wi+Z?;;_OfGQ$o8B8Zj>}mj?wb185c^gOi%DWwuxNj3vu$mhch^F@!Z6wh_mRJ z)dn(ywFPG&6j&7=yKNKQ6v6Td)@0E*%etJGvP1B=Zb32VQd@l0Fz{&q%b?=S*xMp$ z6WC_n2#t)8U-$-TRtQiNbX(WEoHF-=zU0Z5y=5lE;m zPvnb_8)Oo-pS7&D;JvnLMs__<+=VWKQ7pnyxJ!|tTYEp$iein3?VBR^D}%V5CkecW zP6xYQNL8VHcKaQ`_h2oEB>Oxi4TRSyKvC4xQb+qZVCKaF=B&uf6DV38GD{R$x~y2X z1qfFu#y$eo-cSCfgT8}_kz5aVV5VxptIeOBe+`TcBNE=J$qJ>neQ*}H&l3Y)+hdu( zcP+f^!63ePdEEUzP42@yT&R@aX;n?`bO#!{9ZeF>)TT$z_5jBxE7z&@r|=G>**yA= zjwI^gkfvE!>Y`>RP4e4oi(<&F&qi@s?JTd?Qk>i{`XLqO<%Bl1@wwCj()*%5jLoFsV3Xc? z=5sSLa`RjMkKCn8`sO!>%Wpl2)JS19fM9MJ{!Gj|meyfbi3%CJR`@UPAQHmb7Q}ILeUee) zaVq_xWWN%F2AtJaoyMdc-QOvib7?8{8FrB9EgijMHS=ETR$}95&#_9))>&!IFd*v3 z?)8I974Q5xlV_)IiU+ys6`5#d@~59#c^A8@cz(3leuN3PP;sWce~psHIn$ZXg~$j& z1$A<9?bQ?9mDQco@>XDcg0mQ!r%zb{KUqeX7Bk%d-gUYC)_tR3055T*NC=3&H^^Ml zHnjDgzPd*^bI|2Yz8(k${r-qaTHZU);(mz)Jhc?tF$dwjm+5bh__K0wtFoE6Xz&q` zl$n4E7rA>?JW7CIOiZ;89{xPfxC-ne^GhsVL%RGd`5w?Fi7 zp)sYj+rn|x8$lS%`J~g5;AndH!8t4PL2`VeKeI*s;8lH%f0cZSuNG0U_lu*s1BW|E zt-FHE{rP_=%*f}14P$$41uZYxS49&QY&ms_^_#G^^Tikt$G`EC!JK_ctQZsp zklr|nt&vi7SOI0G_4v}weVekkvV$WWueou|MG)YK@VFuggwJdgRKVP}AuR$_@b>so zR(Y2OMt1`&L#h0_41U(#jw2u&$DFwA^v1bV&!Y#-(^D%HR-q0{;@1bGf;eHxgoXiP zl@#7yWJUtO4CYc2%+?-QH2$1W+j`IM`E$WQz2RxMb;D@P;_WN@2Ip*%M$l9x3%4+IK?<(~SlC@bM z4(ybW zVjM~vRO(`v;SWMv4LwRsgfVAWq1U#m>aL9*OoUGk-D@VV?x-x7{#*s5;__ZHJ|Nz_ z|0j(cQKqH%8i|OQ@Io5EIzmuCx5_JOyy;*5`CfKYtkqv;cjax}ZgAqZ!TH$|z-*U! zF(6QbbqPxNXCDhHrP5ye80Gy|ql?FkoRNBu!T!J1I3%BNNt!@61n18Vwo|(l5=HZod+0l>;jhhB1Ga#j&`GJ8h>ydWCb_lCQKi)gZoi1JbgoUi3%2q ztbFLm~%N&L_HB}v(Hsgnco~Rr=fcnDy%Z;c=@gZ zbY`X0quxIr^Ho&iO0n@0z>cErzhar^RU;6LC|l0=nZ(J6x=L`K^^l?^w5ZP_K6zND zVlXYje`3~osI{#6Qqaplr}F`~@ZoH}@Crtqkw~ zEY%+d_}zv|o*8NHFMRYamd0%o;uIVb;O6o79`MF>#PAB&hbJHedl_DFDZy6sJQLc; z&vjL6C8eF{H~SI%Q&8~fKOKrZVl>pP$$Cnyyy6S^N<=D^+|djVdbzWI>bR;A!D;>Y zlG~0!3T0VL!rNd-ToppOd5Qo5MoB_J$`TctjPgJ$^7`La#0c*zYAyK_jq>zs5|a-P#0 z?km{%iMK^r2gS{@A64O(!4=?c%K*ulu-*T_W9{_!iO&ZWS6lOi;U8&5|E> zl-U+%|34s@mUIO<&bt|5*aOC^BSc-RyIYM_pOZ?d>KZo>YPw&Ir8g)1lle2!7J`t zIjdheZ1xqAts{3FmQr`P6@*rW+q#RtosM-pz`62mf_8`^+d84P;H6VuX1Mvzn(Nw@T6Qt!5_o(E32#zqN_TFaI+#jjdN) zihZt*u7gb`&1z4!=}tG1gu*8(CfYg40{TG#_@9o(v?~Ux3$M;$j1_n%M^}DCLYy?x z9)*B&>nR;G(6#dm(*or#qL%FNV855IDcaKV?l)7s) zy=nJWgD&QfS4@&Wt|}W>t!_>noF#w4yH0n0-G0Ye{3>vsFO>crmi?`;1^ksikuMR@ z%k`*yCq9|_bwAGLF@BAG7_5eZX^Zh_KLl$C%4qlPX1(+R{g%&-i;ifRqej)k_Rijc z>6hB9XKxDUVhnkPw>EDN%YrXHu&+}{NCrCrG`RY+>I>^b<9E)5UqP4<8LMF7px5p% zhu^lLe?4ykqw;2OZ<`PIhTd+~dEc|D<|@g=6xlLfLlfhGJK|gHlfjaR*f@E(_=SAY zgikJO#8sW1L=+++XC0KhT#tWqw?m1?g?8N!cxmq~|4*xFv{z$ku)Ar6|3ad3u%4$B z#>mbc*1FC151+`c*T0)XQvv*CKY!4xzP3yIBnzUGuuWX2u zJs_T~GrpC*7yx07y~*eA8q5Bacs4=w>Ia8z%&G`i-)gfUb~9RZNWPz-XN3-vLC0w^M4ZF&_tHiQi0S8g*EcSMy7@8nR-B^G2R@|xRC zjw#Nj$%4aQeG_bf&zH>>f$1Nq$6M8$*GOteNnS!hIeoD8&TY_Wg}FxSfv&TzY7*Nn7$FOS(*dZC;bbl;etgC{3NmpJD04hp>1T@$LV%~9b}XTv z^f*3)Ex7cz=W~$T$sW zi&xy8`B;tfj91y>o-Ak?`6x*^nyIp2RZ}2iH{!9fclmf(_ereSRJ)O_E;w!$fh-*~ zYc84W?^9}P3#&c8m;rQv&*w{)q$cQ)La#D;Sl!)!yW+?8*7y;ZKs|uu@z6L7+4jRT zt23SYTm6*E`;n#9rmxA5oY5@928{4d>SgJA^@B)dD@2l&$hKNXv#cttefjL=$eYy< z+(ROL7J61t0K51nHMzYm%3oUnWGj81$nq&fwVKvFLgL+bDoyZt|L}teuGA^A_8U_O z<&qk%Xq(p0fQG4euGm7iprAWIY!w1jXdCE0n0G@m{ z7PEdRlb|{EP6|rRn1)A3M<>uh;cQjIu*a^!P9`lnY!>%uIeG>ZoCVnh zH_lc<6Y>yy9|9MTbJ))ZNmP%Ihy4EkEI`)IUbGC)r>sV30Uq!5^+Qdx=A|>qRlaIp zE8^T*nsMJVTw4xII`}8$)k$?kn@oN_CR7;`zw$x&!?CdDswlP5GrlVk5&K?^%!(G~ zlQx6B4~az5Kf5jbSB5y|dnRUd*J*(X+d2PY%lO4K`KsFvlhBNp1Mk574D0A7<2Rf| z?Bq(x^Fei<^777!l#W2&n|5(qWNp$_Jq`KAm#-NI>oaQ7&}zUj!ni%dIE<|>YV6iQ z*V26=rWs=B)B)6qSRVib|cy+0y26aJ?Pm$xPja@h4 zc58uBIl7IG)RCI@BrOgH`q$ze0|nnqMD8C`WJ>^1FUII`_X3J940B`mtTh;- z0&|MNA8?|)Z@fX&UKaL%K!76ea>ZE|Iz0X(d^q@hjnun5)%_iUP7HR1MD?Y*+fr3N z-~x#MwRQBNj1kaX@_yn*h7)ABqyNWBy*}iRAM2oxMOq|KQFyc5RP{dd_DHy$D3ujai3e^PUm=tLD-ZfO53riS{;+A+SutSP5 zp>p3|Bh?u1gY$&I$r||S@p)G`Tp^&1CCxm+W@SARwA0~&LLB!@QQG#sZNqN@qR}@&k z!?*SQ+EIkIn9%FXNZ&hjOjxf$G#^od(HUWuvIiXAq`1$p{!Mvy;D0@U|B3t;#@-PU z)4B}Llaqsa3QW}&@1)kg_1@2Vfy2W(+fKu;Y0#pH^KZpR8|qc<&Yo=`Vm5_dR0Be}v@$zJ`QTanbPh)fS23$n$)_gr31 zjOUTTXkAqB@9>KBmQW?u%W1NFq%7~K{XMTP8<0-aNuf(V#+&lVUm;~MbS-}OoH^kW zpl-XhnIV;!q9|0bB`BHKT$f?2UF)(DHX82iJ<@YVWm|c3rxR2uQ?O9!^GH_sj*)Tl zFua6bENvTOOUQ42He58W5iYICvVsk2NSOVs&$UKT2z0$gArEs0dP*ME=`t;S*(d|PN+ zF0NDp$Pk`MVI~-;0|ou}YxFK)dzO3xKyb0xJCY0|@bA$HGT^qaZG*n=vTKi74g1Ep z3draNI-dtFCUurY1ON%E)6Y{VT=zE0fnRsIfiT}YTf;#{it$^P4{MaW{0!aPNbRey z9mfakRLq(R-O6f=Bl@G$?hVSRv%hG)HUJP#jeT+Wx6fRkB&ZjjLmO`K?i*+C>}4E( zGX?RH-IqYH9(SKXJBPQA^@LQM>}5c*~${AC*9UgT2(_o+%*5r3EewsfnH2O_0_zBPJlV4xx4z0j?r zAnu>xaa4Y}j4g=PY9o7%LBl5N95lrn36NV_lx5!nudg-9ZPw6f2dku6Dtc(b(XOTL zG8e1!nD|OQ+<0V{`ag|ub7w+_v);CnF8vWmq}psKK6iF7_z0ggA{N$=&Zf!&+2il5 zW^SudYOk)3y%AQFM03smLVz)W_u9p&W^9@4^FPe(|HMKJ9Q7EnQX)OUwG}AHlO*oV z@!xpqU3Lb-)r0G=QNo0*nzyfwpgBob!b)CMxyox|KJ_lR9$^_pXFxvxE|Tcn*O) zZ56`)nErNeDdU?%o;N~hMRMbLtx*73b$h!Dch%^@s?j-dWa#&kcC+7^?iMCYgm&~~ z;yY8@qcve~o&Xt)@`CP=!^00Gh3`-5q-*Di$dotjbYiG=& zq;y%%&r&x3Q33hj`{lXp6s96Szk_}dIBdq90KlP}W0Yrmc;twHj=WLx6^2&%wC5As z)&Oq7%Wx7UE#KAk{#0DzPTHfP9TrER9=7yw8)Dn@7|=Y1NJ-~NmTmDJoEg&g5?d)} zII~ANTzH1PilSE0E>rZ?){t9!4-^;p22-tImYz&vQd)^Yrk9XH;c|4*eDK_+m`a(i zzBxJ?mE3!_K?$yIYY0dIhJt(oskk%OUhPc5H(l+5V7QcV&VNdD{3qPb zEU88J+fQwDr?(48syqjC+*SQ^u2m+n zS0jC6RJ$zgf7^O;I+cF&O+nj~Mef4_(%XwJS{wp7CRxaosgBFL(t#-wwC|Th)btKN$Xz1p!@MXZPKmz8r=IZkZ zGhyc~DNp^!OA`Co53kg?((b`2;$4erK1m9lzOEWE*UpA@>|LX^!Vk5Llo4* zZ|>t5C9T(^i!VLjtN+@lm=segss5DMp8MmoZMb(z_&Y4N=>i!nSUPB6G)J+?R@nC! z3NfT%@!pqX4CNK3$|*j5%cJu^>qsJAw_V{iPa)1JLy@bGnGUB$_*~$x`^TBxY&uDj63@!*MdVOh6j7I zROC&MZW}-}G5a*>75eJI3wHrGTgIIItiVs3D`!2lVgl!jxE18B>Sdv|7QIP|zSQ3JJ z6t8-n{tNS)jV=W zEIepsaTM@KEEmMc5p-acMz$=<0? zRMPx}5?Q){-D34_fZhw>6PO0)ZH~2(?Gwquhb5cwUi-{Rd(Y{ty>`C`ju_)eJ?gZb+U5cLMk8 zLEe7GnuMf?CQP*0QODey-Jb~ra7cEXCfhh*r))9p}+1-5vX0Gu1H?!ygdtc?1HVQH2HG1vNL|*#xvg5eG1OP34fY6`@ zkdA#TJRBo#ro5jf!!g?0x85EeJar(JlfA?9IBq%grT{A=75vP#OtL%ofUwnnA5AT_ z7(IrUcp_F$B6=L7`dc1-{z>Lz#OTyi`v4U8-GX?-f&)Pk|Cqvg+M=b!yi#<|qNz5) z8mw%4##jP9nJTNHD1kdXXT4S3H}G+_#hdmhHQnLb%7ojWHOm_}CFu2h_tj!(LPA3& zb7vN^)KVJB_35ffw?oN!k=tgk{nP>?m){iKD-~q&#Jl$r>K25>DD*5}zTivnZ9Z-%zZ?}x!!s8R z@cTQ0@8j)s{CerWKLi($e>I+ukA1*dK z^U`e@j|gP8<)q3o7o1h^2fOwZ*9sFmSmV*=_$a_qgn;P{{WM}Skz9gN7f}}x`La5f zK_G9e-_y|dEz-MuMBEH=XuD7H=EJ8_@<)b30?wU9Zka9VDwdsPAeAo}R7pigK*GNQ zQuD8~#u^t(MmBXQ2GbQo7xRFdiRBVJ7Z=#1TitcG_9M^9wOkvwUWH#f0({<7E=nA2g++=xnF)cYhqFzjU$qJ(YcBj5I)8TPPzYe?;HCm=rZIp5!d=}X=7>jDj9G%7dzZ?+ zY@H0YHGPOxF_yf_{l=~^(fCYdo8EA&5!xf}TAUs%HpXKUwl;I0;7gVk>!N)3wf%j4 z_O-{C{7*>T#hVRG4#CxZBx;k%B&}?4VlXsX=(4=2Vd|rj3rof6{pxndz{1dB zD45FDWF<%w+Yi21oQqNr*3)3^9Vbx!m7D=b8T_k&_K^c&I?wyvN7W5GCn$6xKtUg; zl2!B`KhS3;T=s+&_sZ%s!N*W^*Hr z9`J8_sx}j{ylYa#v3)|Y770Oxt^3Rvx6@#aYqkKoHen~z4!zPG=SMf_u@QbdqpiTP zcGYANjqxTCt~F8pX-8R-6*i-oK0@UI+0`P$?foN)faM0EXe}+N z1uX*5%qv4*4?SXuR?P3)_J+|@(ck3_Jg`p2YvsT?;jUESNhuX_T4O>gjo%P*e-W}rieJj$@RvH%3D+_uamP0pm@aUKA=#K{^sPx@bzgF>>U2T_TVx3_UCqBN-ssgRuIQV62EH90!W|gGHdS~=l=II#+ecBWH`1BFxeVR72dD_S$N#Bho-ZwFZ z`<>7}CZSlCS91wlF}qk2HgiBffIw$8`w(2y@4Ljt_4)DCQUTOvzU)f*Id5svIJK`w zjlU|tb4MG9#Rbc+Ex5J8AN;eQKh<{WDyH=3?Mir?UR8`IJg#6&{CfYFrJI0(`+K!f z9jBqd?jDKCXZOUG8+(L{*2UTxUed&Z2WFA?zB)fnc_lMRL{G@I{@8o2Byk0mDQQMy ztPi)lBz4ao=Sf!dUO}am%GYDlFE1dFIIjr<(%QGW_Y?X{d@oJvaO8ePx!Uv^n7ue5 zc+lBS2ZJVJ^Mwt1GuKz?#qu!zg_XB#Znh^mscKQ7AN7l?CUy89kj6@Z?)fM%pS{WT znyActD3vywX7Z49;vh{(C0p>b}>VT9ahYu++8=R+GPmyE4fF!g}uw(&V=#i!muh z2Hln|nlM_A4^}!|Qe zgKaWBC6#T)!A#GgJqpxqh9tQ@XL#aaooDr02}WY}UFvkD)g6tA!X&+!tI`$;XC%*KyYoH-oV&YOj8V)x%>b)FU|y(v`VCGSCuHTNVJJ`gHHiQeg=3Sb=yIt~V}p>o;iZA4)A!ViU+i&r-c8L%V%G#h~GT2!X8CXLy@C`$I4~ zUSz9o-m1`Ys1jc_5{To1?5ni7qK3l&>S4PYB-#D4F@P=?&(5RR4+~j_U&~%WMbPb~ z{s1{9phk~-q1o7PYXjcj$2|ycCqTT>o#vA=F(*`@j>RmM=WDb#i(^5EA=lL%FBkAx z!ZD%B@J{_L%6f6$(iOfXG~XZ(X>HYV$vN4D6~2}oTQJ9#*h?DT%E)dvGSnG(Iixz! zk-p&lbiSK+w*T-VyVibrv+t9sr&NVhs33`(#(cBLr9Fwr~MbXur8^hV$v;SZ{r3ciJfpuc~6{e$9Ck+d0X>(c0iQnSZC z_>+_VxM5}Yco`g?{|T1E&!2lc6$c_9nuaW0&w_zcs;||+uI_1U<{_D~Y0BbLD=<8~ z;AZz@-N?Zf_R&hddgu=`jaS+%&Uedcrp429mVe9!o5z}b)FBusw(m7zyZPQTPXs+p z-PVKsd;BTao;`l1HQ&ZdP>B*0xDM?7*c3wUe|I8B?JD2}S;)J5!AKVQ13-4o#x!xb z6XN(|;%3|tQkQX44sAjDxA0Jiib8}%G1F2boE@vjKzb+qzrgpINz&0!@>?t<>nRoz z%*Yz|I~-oOqGES)0J^WR?5xn^RDE@ImLHa{9HABTOSw|7xK=%ar@ zuB>)SA_$+ND+xmR&@;nIV0ADpDQqDT-T$=!EZ@6?k;{54koQAShPbTLRPa*oK_s-HzW;We}G)K8}pdtubjxw!tPPs>U%F2P}9;{q- zO3^I0fLekR%mIqx|NcGrKl9~Nz3=<`y{^ya{r>ycrEAphDBm@!&ePXhU#Sq+G8q#4 zJKw(stLOfh6#c_H@M_AmgX-Ta_b81*@9GB-2~r`NE&qCSfZ~o#ovP7aa*x-_SnEe@ zx!zAo3XhFBHa#&wyOh(fqgCu&jnBR>j~B-zz9JreRn+xIut?&P`SLI0NKd3&ZCTRYaN zV`RVA`$%5q1)CyYFN?uwmGjn8$3*A%h(be?7B^AYGHid964^jB?Dop(@y?GlIb(co z>KjFt6o1l8Q}ts&Fyuz0evMRFT?E70dIXmdXr+RmwwJza&@mwSW40W~tk6ui&@GZs zA*h4O80K0RdBg{nhUTuGX3rc`QM)b-KibUpXzh($u#QsM+TNig1go#BjuC4oM^ovm z^+Kc*8`IKi#Jg^6FZovieYFoeCb@^|oa*Gm6V0SP1aqEFw)iJ4TW-!L=`Ya~zE@b3 z>q%Jp%Uh#tUeAX^{QC#3AKy{uED@dy#=_0U(92ufRL;8JcstocK{ol*eu^^2<>IXdD;3sqQi2_SyqVz)YQGT*Z zS}lFg-fAMz=HOhhAbTo=srU(9DxNrZ#3EJrXMaOVfDifJ&-FH=lrn&y(a$iL^nE)` zO4J+!jm4;ON*{3ND7xPh6ky;gqUgv+buyL$y~o}@Cug%LKl zKV(mv!_BRcQ+yix`~R~5d^~1d>Lw2*JHmFR_!Ux#+?cz%8*!-!2q}e0DDxrHbtrTV zqNU~bjvHQqEBAm}F{uiEf(-|2D#UbP*;PT{QNLQ@&JA-fatT=wxJNoBmL(_JIrSOa zF?FE#57xaC%y>A65By-JC+TU39rc#dkMKDg8+gkIa8pu)_8`(%5Fj!msmW__S598v zlOQ<{=p>3m8Ai~w;U*mrLpe7*;(JTNZcK?6$+>^A=I$0dJ{}$md7#oRynLCFB+u#x z&`l?$O~(|{@tN2Nppjn~4~Mp7M}MKBfZY(CC_)BAlerJnVb6xt#)Wky7%y^hS2U19 zn)*r)o`gq)>KF_fWy|z_0-`ae3rJRLrmPnr^4Z}uhVEDgbZx-15~x+?J=|Wx;^{An zw?o7IR8rKsRb;z$?L=yxcm_2`{@As;9X+7@GY+3o=a`l=*3a>jgJr}=Iol3BdPuqT zD67^zbX;({zV%n#jj^sN#qQ^!YcyXOAGHOiAi`(49iRI({`EFgT zAaK&%>tmtE>yqZm^Bm2%l>5(RNVL^(`v(o+PJ0pWWH19F(cK+%@s> zu;PoSrp@y>1EG$%9^0T2BFC5F8}MMFn(4N2wqrE0&oTPAYf~C&YrFYbi}u!d?0)?4 z7*nAEJVY&`366n^mB}N<|G@M`$hqg4dZ}8I!Ap$4!5@bdLreh)B|DpQ@ake+}K-Q$bw#( zi$CQZTTkHJ6*3qdJj{KwK8 z-r8$9xwmr$mbc7IQsp|3mSR-dy0~Xl-C3nDdR9xK+HRaQuo(tX7aj~M94RySmZ(~v zEVG-VZ3&wwYCpt=TajdINTc2s{%eH_WN3 z7yZbIyiRr?6OVp9!v4U?6S&wjq(b(5?SD3iVD4hn=QVZ(8YEyvuuZCk?+S+Z`THj* zY&l?#xi4jHy?d%7l_bjARg-Fbj`&cVE1qO?LA*5^Czv|LXp(~vyo9j{POB2qM_}YH zSRhZirx*gXJv0+!KoO>W60+OX00(sxpow!rnP&z~9$_Pn=`wmWTNm?5x0+L}j<~-{ zOe|qv@F907z{nFLa+;kUl+y@_%qn3S>W}k>Hs*nmALv=4&8e=bOQTuHD@x=b7YZ!` zazKbxBY(k$n^>dZVCS^)Tb>Kz0woCVRmc@b+rB!5it?cY>iWCK1_AGLz6G{xsrsQL zL)nvjs}Z}-c7fu;W1|lJ&wcPjtXLm7sL!QTJgz8SQSS1^&vAQ&%`t#9stGvB3LMl( zI+MztXH11{3qT|p&cjT^*+rchDV^%Oez!{Mp+}9RU3(YXV@F_PPWkjZXcaDaPm8dJCp?um{u2dm|IE_QPJPWLiPIo%Yne&1ylBFYZqU`sG{iIc ze8R)>7FgYAR-|@oM!KGm4TKo7?avN%H>~S8HQhcr$q&nLD9=N%je873i&}<68w?FJ zxwaHvqr>-%CL%uxu7Kh4(yC-xM|-I_zj`p`q;k9V(0IXx$AFo%DwRw*WQ=G%XwBVC zf=C;V{iqU2UfVWXwMcfkpH_g$u*QEcI9bNO2+}VYK78E*rO`kQm;Csf#SFqCV%GC! zBIWmhC2cxMb+1zaq_0S}dX%DGzRf2ufCs>`VBe{w+q(^+5S6)6MS@Tt=U0y3Dj(>t zEtd|x!;u00Ln!w$cRz;=eZy2d%()<)-1`C#@(Ym3g`N#KULUN_%}{*lEbZQBCk}lf za2Li=pb^0%OV7@q^O7#MyBQ9Ryb){B#pu*A75NwdYw~9uU>!r{3(5n;+4WEJf~&ES z)_*4}hwRMPA&bf**EK(&kNvi6K^LuaU&g3nBP00DN-yX^ps#}pvjy8|SGBgWcYvEJ z^XjSuM->&d0!^?uPku}XhfjQq-ma%zrFJ04u|NQX~KT;HjO(S&AT$}TP85o zI$z4I>9P0+m9&L<6t69gkxX>lhHn{d^yK&zzFiuP70eSzE-}M-)qd{Bc9gRH;sll% z)gnEvY*R4ixRZA!E4VRf{GfJ}6SrSeT^UaM6B_U5@B$yY)jmYUE07tZJc`ql!=RXDIjQKXcD!@%su@;QZy!paEC zbrsmh8>1}r-!QqpV|DK4zqcD2F)91keMkVPUYgg=VD~j(PVt)7O)z_;uL#cmj?Erh z!8nZx+9vHs?zgn;&qN9;9uBrVAbsg~DcSG!=b@6H?V0##@GJ#ivD<5#1P!_ebm~%q zN9w3csCBXMuJc{6pA57XeO^4_3z#Sm%`gJ_FF++Z$etzeX&8AaD}wReY@D{B1;}`kP5(Q+oj1b`+ zf?Yc~w^U=mSt(=%Q=zNc73HBJ5I10GtPPaE!?2OlE8rXp?9vr>jI)1G4F*^tbAPbpV}JNt>URr1NEGSg zo(mU0${10jM29stW&Dc%LZRJk(X*qQZ|u&pWgM+^cpdj<@L*Et!Oc#hB$^;^oL;(e zGR^mqm;-st$g2J~TQ|L{!$7(=Q_Xuu((92$dM#tq^t72$+wvy6_LW^{LtPQl%5!Kw z+|(Gqusj{|8W(x(-}u)xHH%Mtj<+Yav{vNd*rhPSkH&r-*T|_Mr~UYMRV}_*n^ zVO#&nH5~)$f3usH5sOfDFi*|SM&HiAJ;P49_d?lPG);VWupT=El^;{LXLNvYX+7-< z_KZ%pYZyWp=k-#@WOuSsa$%d~awhGwB<;=H5bu>}P|tR@Y!niXRa&Nj(C>zkMSg#S z=u=xIT}uUH#P4kJ=19ZcA$#@B&%R?lZUkx4 zo04Q?2~!%*LpQ$GKM4ND46P_1pYORCjBTIVQ_-cZ9ZvNR-_23j;O97B-Y~rj<*)TC z|19iNoe?bY3_!^N7N$9|*5r%9a+}Gkwm$kvxdRgV&0FkH79S|}mXd%=urZD#KFIBm zfy+1K%@&hXaI+_{2zE+HS^Iv4#TG0DZScxXX?yo?7g2%l$c_&*Wno_cbkWC~9IR8q zmRdqEr@y*jW^7XUWxHD`0F`flQA0o-+O16CrzG$-0?AxtUOMp@&nH6gaVcegnnbs8 z>s8K+v6315a#`$_lP!OnLjMLieTs2PZNF1XGvNtC&zA8+E}UQMu*G)0vzydViX}Y* z+w&r9-k^#N3W&rTB+i(!EQw%Pxh)5&Tg+U1wfk_ynPl1fbnq%X~ z#q%{}HFIH|E3b7CXEAy8C?$x-vG=v4#oE>tBz@cI zY0|KtRR;NGdIOsKnn9sXVg0dMucE!9fQobXZOB>N5f#Pk+rm$o_!}Mr2ZeoVJVEf1 zH%q^*`uQJK!3Y5>e|nO=vcNFMUdqlY?gikQT4PcJXHFT62GoJ&}q zz1u_h?1c6GL2945aF_j_T7G>&xv1p^Vk7?Vx|SCpg8a^V8m+zLHkJrYdRdY8l~yA? zuIl<>G1e_oU8u9caK6?D|G!`Vj~ln4SsZ?5Y|{>3Xcl{Sz%(L1_lH%ZItXqpO1|!E z4>P1#{)0gn6b49J{!@w&POGq4Nso6sNOVI6}8#rge&)IRnJopFbh$Zy;V$!O{f zvLfden6w>CY&xRWKY2L4L#EtaHlWN<==UFEq~n8pCk|JhTNHnUCq6{o;~(7rTF1rZ zVAJO?eva1M9S~MTdK<2PS%p&B=>TjNK0mIfj=XtzasFkF*MMf-ha?xnu@_yl4WiOj zR}gXwy4Y~UOa0V<0O*%BrC11GJL(SRy*1*ID)Eany^!4DGbx_@3V?0Fu82YH&&C># zHNzhq_ZO8dZbElLBY)JdO3*)Wjr_-|FsB_YnA1dyQyDUqowMN%95^n9l4$XXFe z>ibgBIMFAO)K0M6ni3`ou_l`ct@1zpEk9(PzjEPNu#W9i=}v^b%c}IqOu-{9H*9=L z#KeDvY7OWjHWRT0pTCwFfcY0c6g|?9>eX+_2v2DZ!8ZOZ|>B^b5)Oyru064Aj4KC2~{05_|eiL*InHALe@Z*lCpiLLJKX zff1S4fDpyQkvc^(=X2slf<&6wGRAGP^WG0lchDMAPB%x_uPO4$I}hFL;XG2k^3NC)I2e*$W>=OcPxz?!L8 zQGSEm@^(}Kp=Wm+OsR7Pi@I5fC%B~1ABkW(dSLosgnJC5qYu>R3&J%Brv8l-_wjIeB_Q74@dBsjW(SuH=G~NN7v@I}!FZDz1dM(XfQh z{GgsW1W$q64z+oKw<5!ZLcY+-IG7WrW$C0T{^UazlK@IF{CguO2P26cdXlngqYsFm zAM(e9!We;cPx6(c8)P7TS)6bO_%QwVj7p1pKs39GQnW*;9YLSG)>3gEk3WOcxXY`; z);;X0^#Ai!xTS99sM>@gLI}s_-ZVL7*DpyK7+6`388xn3fyp1q-w$t|m*(krKN3Gg zOCMmUvF7^21$Va`#hNSJ$OdCQ_Zp{*_I5$ZVwX)!+s#FY5{p~Y64OLVRIg1u14Aby zOYZ~$F~arBz_zeG(Q42OihSPxc#Sc33Jr^%8$4!p=!Q39^_{2K@)?$zSZ1K91>|Cf z%TxLCa?E5>7iP#}t?6vXYBWKUsKbG6QbQy6bC0NghRdRbDzp>-sLkQc1fJ!NI zLH@8KJT*sYUfhSSJhoL~8e>%490O(nJ-BBpg3YhDWyRG1bS}rjf;u2`(C}ZYq#9kn zR3api!m#?l?GDmY`FPwM=2<(L5R%$$PD{LJff4(zUKA3d!iTGo>VFiaza7T!rY!5# z(79p`7xTJ!N{F*M#{;!z+dEZ}8m^x3oaH`bR*V|k6$S78dXI!#fVp9+t?tL9P{a)#n-jBU6yx=aLd)eBiNI$ zk43kpk5p^DqNE4L#7o{#YJG#NTOA93Kc_frzE!IX8vL^gY0{Du?il&1tmUJ0XAzb# z4N5Q|nkkl@W=Yg@D9W3-$O%@{oE>eYW{;Ju(w?;5I=`2EVN3<9r$SKO7nd2Zxby8w zB7R)DHMDX@iQo)wIb{qD_V_1?=+Z~a4-L006_YkjuY*vWmqkl^H4{QLW?ypSEE^Xk z)LE?|kS@tXH2Bqc*?~~w>*nW;obEL2-X;gt1pB`=ijp68%FGXg?-kByVC?Q0_pHpGs^KRy|g|>OfUfKl`YY3h0=a-T`wG@w4sEqgF` zJZwg?5ApLO!QOCO9YkB+M)WXm7a?C!@T$}!r9vBOebdCSykS5*OIL+!?fA!r7^ zdv0UBTNw~4NXZ&dvkKh5UI>D>`qeu-h?$Nk~Q606_YmA zFi5FX{1x`9w6YI!GPc;z+Y4k7N+eGlwtg8*j|Jk|MUOr!A;K9YEx`Nh%B?bW(#<|l$T zypfCu=ekN98n_(=YFe5&TAjN6MfwgJd4jRzXs2hKQguM^=mL&K*w<^#SvgOjLZWru?{_zSuA=*j27silN6DQoOcy6U*x{G`k&QK|Ocy&~S z@O`d|daIKC2uA{;*KwolE&hb{q!|O=tJh-{+1R*NrIp^%%bUKzXo1mueK9%4<~|`e~sGK|Ckx; z4gP!DTY~f$ICB4Xl_l?KIpA}`S1rnsS3ya~+C8+2#pZj;-5Ba$w~n6QU96?4HCqd3 z8^;&d`pS(bKNVv19!~q{(Dl)`E=f$w;i>|Kt-J9b?33b%yvDE~8UpX49+p125|z06m@*13)b3BHFNt<=_|ibn+eu zT|fK+g_9jbGHhpXXX4g<>BJAo8p>7NL*_V_icA)Tb^FlJav`xR!7mBp631lg+gdKe z9KH;13E8_u!Epw?J1=b+FM$algnjM7nkwXPiObp?)d%k{vWh@g*HcI_6~?*O0PNb) zk?>*cj4Ms8IBiN%+Hg>!V!$ioT5-dp*a)?EA;CMoh8xpXFcu2PeYA8O+Jpmxg)D+& z{KnK){}aClM4u1ng^o~NKb6mxb#G3Sr*NrljgHN=K1`15K7}0h;6;Rf^g=>*Nn7rA zF{6r1Q*E3l8)p!p_lEvc`vbvuXDkyfb4zfE-s&^EV`GF|`+pjSnfwT~>t*ckwG%uw z8Q!l}W^hnxmq1mJj`2H#ez(rGgID;CKie9!_&JcnW;A8JzE)1V^zyk{dzFRb_Urbs+yAQkO^A z*WmYupd-Kti}AN2C+MlkS4x&KHpceyyxw$`GeT}H8>IM>6&)tQT>JJK+zj6(WN-3A z{hn^}i5#R1lz3pNB|G^vvqNvcfR|6{f);6xWh>7JG^}{Y?G(@rgvCWkg)KQJ|2X z2&zd;*I@8@lYF=B5vZ@Kkk3QKkmkhEIU4;EFl&egO45Wc*9Ogw0_8e1Ku~YH+}*Ii zt$8039KLf#y0@0`9!yab@@cv@n1?0)D6Pk$5Iafob+Vh@k8yRj3ho;w70Q1RYmExIpBY^r5hBt#Ep(#E26eSchA z?lX~P)VwXFop+2p^tvV>+2~?MG=hER>8MfC_|IvP4x}I8mU30%4dfy}{g!Y&?nMYN zKq2p^<((SqJ$v55<=E-*g@t2dlVR#R@pv4eU%uB=Lzq)_$~U#m?55=iQxvtf6M_A> zE~kFv>0iqXP+F1Uf|%sfLR|CW$rm9kwd}6>9Pi9W=~Txq*AL-VHxfQo^xu}qSsJ*c z9qHVI4ee@)AR5L!+DpgKYXIUoTH{0Mt({$ou}b&wozAgGmO&kc>7+J^aU%k0njpP7 zbzHQVTQ*;=0ODxI?w;8dRR#}!0=7P(J7S{cgs6#7Z{$+Bl4}B3* zi#d(sMGq+UtVK0#5QlTq&I-~I0^{C-H)f?bOOM+kpkuXSa838GBM2ex<)g7C8jv?J zz%c*2Pr)|w?YOnP;$>LGi zuBK7MxgO;fpbBI+;)7HBXI^ z0%V!hBle;D#NTrzQbxSZBQO2>WT-=(XAG$Le-UhMGrRRKMR^5Z=4~13TWzQ@ zDh$bpS>Acg9|;54bD#tfvL4x2R=C8D{ybKSGw}g5wj>nqUmiDQ_z`IKRP~EruyccK z)M!deO254i1{J5#5c?60H-8#Bnonj12a2+P6Q0LqCcc@AQ`ws$o&$whq;y2X&k9XT z7QM#YY}}wa$m@fr9(gESw!$*Zg>EkkRxS)t<5;kP@Nv^1x37K%m{8%~NH_*O8!q`h z;7mxzf}Nju#*>Art(~Db1xVxpcR~#d+r&Iv z-G=KhHLDttlL@nEop>fj&pMEN{JoseLptiHvX@ZE@OWralEJx-18e=whGzQ}l9>~? z*kWUy2R62hST#z6UM^T)BmUr!Ih!?2eO1&FJ-8V7$s(wtVJQEPF1f?OLhY#MYhraR zGg#jx7QEgxeR_@VQok(p} zK%%O#eEGE73)knV5;GiQ_ts9Sr-~x&#T7QvW3OxulKXPCSUQA(ZDc^GBk?$IdhD(! zujj4zBUHq>v$ao><$0(tfc6e?zO-p1?7#=m)1c7uk(~9;`=9%cj@$BM!u* zM5&OYPzBHWn&NNgO8ktPGJ7WWCi1aXseN%=&`vrX*N#TEO`0T=K4-4>8BniPvNb!Y zLRrGc$xdW9^c8+|-s;u3Me9d1r>89($b3<)JdJl3e}M~I`TFoUdOt=HOR&ch&0^91 z+H{p~W?pTSktc|ij=cq0no40)NcwQ)c=w)$Qmf3W)zftTU_;3DpLv%v_oBsukMJ?uOBA6rPywBdb9zCeN1E@|!d4G*}9PlB@ z!}M6-+E!*wvc%fJp^PG*T>tXC{3p`FYJeG2YD|&*O{`P=sp4fsW7_CsFN8+8FY5i| zGDB59>$7+>0JJ#yr6nMHrndCa0)!|HT|J@F>f6L=>4Qa0LuLwdF!O{$NI}z#p8d03RWve)D^b|BFoB@BU ztl2r+f9~xPdHNG)+P@3=!xE+JSc}3-90`)+^R$$%y2(*=by?`qQa!yzWPGr zs^alph;^cuiB(mLLYgm6Ezn4f5U1Df(dBdIY(RyZqbaj5WMeh$bCsQX+}7&RY~M49 zJ*y@6K8e3L&fPL*)UltA53C2M%$b^Mb%6#TI2d1_(I`N9EF2gVY+% zCaj##LAo5I3RzJ$*3FcYdNn(6`lbMo_X7Lun|7T9k=a+{(&~nX2KvT6j-3kAj1B^p z1^E)b=JZnhcW2ALGb=4C%9@%svjqnl5p zmJ8);uEsPhwg%^*tu@E^AKR!)5KQ1#M0Q|$4!ywm;hZSTO;zfNJ=G4dt)te|lR8Ck z3PLkCsd`w(9|AKXa#oRaLvL~1lPLN$mkcW{sbVqT)u&d8U)1kUE zvH|e2i{IDJ=9B+KsA`p0eg`LOp~9dIr*xkp3m?ct9z>JMT850!QnGCHk+PKE56@fg zU!wf)$?s~}-!0oCjY4rwOD#}R9+pJi@27q;K1Eq#3Vbol-_kYE562q!l0Z>PLVLJV z43)-_X&&?WCqa$R6r_2Y6dw_GVYF#meCfIm*?;ezctXaEzF%-%2O0?Ah(P`p?tGDn z^nFP4ODAqe2R11}QT0?yFvxA>h7Z{Z#Mo2?(&E}=uW5amLBzhRD)}**Y_LnnQ4CQL zn-=Cx{@^HJBcO>@kAsx}@s!_L>}`^?V6{z+tSIc99#xYrEvFe(!?s7r?ZZn5ieeJR z`l50)^V4cgU8P<sGN|>2IDsIKh@B&Onat!KHD0j|i!wX%2s= zTI(%OOhZE58ANz$fEqiTOJ1CQaWPn64^C2(;8lRq_iqRYiaUl37n~o9KMhpKrn0}< z6?9wE<#>~S11u+qh`W3aN)?Q@fe`l0q}6{`rING{Oq`pck<*B@ou{{>g2*t@;x0dy zkUG#dObYqxV}+IlTSbM@i0%8?6=g9APNOd;-M~I7OP5DjM>KwWuIKfCQ-tX7;4-6D zi!e!J&hB3Sj2`+lS5tmxb<%3_7kqa-JN3OH4qX1Tyb5_8-q%WwuLs>D{ zr%MgoamIwQOz3HF8v5?DxZZ!*bpP zN0T0gCQPr+TnuJM&8GSOU_NdJuy|5CSDYJx=1O67Gm-K6F!0aGe6z%Th{}-}H0!*8 zxV*LMg#KEt@TznOR!X=Dyn;5gEHSTNy?pJ~D!S}h?sXQg2I^#Cpsn~RV9TR0wy}LB zILnlE1Vl7!MD=WyoKw&*>>552e!wO1<97Y(%7p|Km5#`>V^%UtdHfX0Vv`!>0H^fR zT$^})PA(lJEvQ`tm8z%I*aDw6L~`3FrcEo*2XyJ#`LWKW3x0RBsf&7hl7KZGuQN$7 zdZ~5$#NM-kwP0yO^zIOdGYZOba`!yP(3^q?=4I=#k>3A`v|@8f-jge zT88=7H;h4iO-jfUFbBY_B}@p-gOZ<(FL{tj-m?sjdvo8ZOm-_7ZR^*^XG0{#j zX~hgm(Wpe#J_F15Rf60&`++Wz-JtA2nUEYA0YcG}+5<{2?}zaYZoCd*-fBd<$?O=D zgN*lx>jA@eJ8oywA1!XLoJ72K0NgBDUUALR78BhQ*q{QJ|J8u%;J(+HGhUR&__eVX*_~XdZ%^w@LU=#LA9#o z#9+(#Q`0%^_$~9gmLE{g=us5+D&<-@SBqn1T+VgJA=K#Al;w#0Er5pEXNLH9fxP_j zKOs%iREmjE>w~)*PVhJ~E>n%i|&G@n1 z-R~2R(?pS>%668aE3#F6`I2dV&^^P-Iiw6v0!=EJ{BQR;(a#_S$e)3tuoR_T zVWC!h`Rd+LMh~Ck?JAzwv{yyebF{TN>i{7C!?vv-v<9C|IziihxxhAx9)Nl{_DTm8 z@h(qKB4=OTg2#Rr!wq#bX|GN%Fuy>Wye9a~6kUOeL z=)*hPAiN02qQ9c7FGj_*+h+LR^2mdNfe;B$!u*C1HMY1RzfJEs*b;Ck5GBih#O@{$ zh{ii+5^2uW>(3gP=Ma-@uS46*?qpDGr6HDxSh|w??|z=HFSPAOW?V1o$e?Oz==*F$ zOmZ>xd$*b6H2Jvl{1v4Q$kZ(u9@l-GsVq2ibOgq^3HDDO(9`?2VeVf>3R>d!Ibr>Z zs~(b5c0PNNMuAIvK1z(oUmmrg?x(AzB)D7bb<-*qf{V|rl^le=xB(#VAcBn!U_9q+ z$C&s_p5yv`siWP0OBzDw%tRdo;R~O4V37YZk;lkhkJ5dA=y;NQq+9D1A^6u?r6r$& zn{h=js6w|L-o&1bH^%CWh!UTQP32?*{Ix2vBl(n7RR~@-d-7oj>zG~SYeWhV?1Yi8 zO*K41ZaL3*0%`%nzAs+nX5hti;(+Hez1^b*?A^r+*2k@vA|#SSjVkv?S7=XWA_>w5 zDsM+xfl(`^tA?9lzkI*vR@YEZ3t@IJ2qwO4 z!;_GR=3iz%1d{omCFH!GOcSA)3Jg7Nc&+2vB5!lHbfM$U6Z)>r$^CVKQ0^pr+)@E*=kld-5h0VQ5rN->)vxCD}0{a1vO8O%f-i< zWt4p>A>Iz}52qK%t|wO?X_MnwJ>#~a*262)d`O9w5qaP`a)agSb}5-Y$So=&anEt_ z%_x5F@7EVu*0%mof>Oc_2abJK+G=GDoj44(1nFnnqiYU|)f_439|_<29cQYJ^{9GP zn(>B-On6@&CIf2Lj)G#j0UV3&&?xjL4)={=w$`lL3M5B6k4>+s8k206A#nc zCfARYq9?g87q;YGt7;0W2I^6nci>=wb zvckQ}#T`LD88{oE#gi(}#MJ5ZLGC-k4mhGjW@tjDrL*+`+~3LG2;7X$N|GEWU`~o=%{dnUMy7Oz?hoX zB=-++((?lTfB9`W+o6Z`ZRxD~mn65O6lz?H-WXxn10G$8;NJT(dhS<@iDc3x&HRDf zVw6PTYnVwv)o4pUQ{5MX!@UqNt44pSxxs7 zfTVd&b(k-om{Nv%WqT9B`}EQUg{>It9o3Zl{r#H|#{Emc$DFJ|fy7tS%{rYS4D;&k z>iY_u-&=ZifNnCnB{FPVUWMWm55`}bS}(*A0Y%!%76^Zgk5zdL#PTnIOl|2#$013d zPcsgjw{sh*+jrB9BGQfJqdKGou4WMBj`Mpn7(_P4*QL+K?R3cAylrdDpW zDUqte(;g6rpCzOa$aDcm#9KX<>=XRF+)!z-&#-({zbzt_)C6I9NySG7@gkC}NX;S% z3}3F+%RFVdeT$3d?YNJf861zSwR?7Tf;o|JsLAUi2{kjGln{{s8@#Iccb^81V)^g) zsb5NeJtnuvaCgpZgd1#3Yc47A(c{_8jFw90`@$ITRZl0RB(}khZ1L@>NijQ&Y0n*8 zy8;o7ykIc2ZRV&sS{LK4J5jjqm7$+J1e15m}De@z5^`KAv6b)8eD0Vazar*H%3I>ejA*>^V zMNhB{(XEMEUn=~`4yxz(v~ZV#9lN$3Z5ZPMrUx==3CtHn8V(&OO#df=6_$#ddT}wN zG3|3~4niL(V(%BVK3JS)G^NSkvi0a1VK{tZ`$Ue}K(Nd=Oa)De=#iSig)m$S|5J84 zQHB?|G`h7%1AAT9obUyatycGr@c|?*JMe0YMth1;Hv#WV7YGH2+I*K8l-|o;qY^&t z%H>aL_(RW5kSd1)6rljpE|6oLUF|Ekx7=-G*xkd7LqyV-HlMhPJuet&KY$pgk zzFcxOB@&(_1Ih&*oLjH2v5>Sy?$)RZb>1>Qy|n_FQaj8#c2(T)z}(8@*t`tHhq$Hs zs<`Z(XmC9W45`Xw21oXdmv&n+djZ!X^Wh+JcA`^x=ZYeS2=4Up?(^!bQrg`!@5f{L>f3{E(~ixjC&*(9 zp*v`!?`SoS zc`?fbOJHECw8R}HUSAp=$ffm1rf7yJLH-o34EaMUjqH_0X_~h zm*ICVf^VC^3N@qlt^>MJ7-+p*t@G7kj`Bu~uc!dvi6|50dGD7d#r?~~0Y|)MLcot+ zTLs%0qj0cW@fcGP`gr>>qvb>GDaL=oJJ{Dkig1J+8@@+^LEMbPbR%)UygZ;-F+u!q zkAon9&7cbKF|~$)8cFL52x+}^=)Yr!qgajo<+Y2@k@^Auz16$?7Kf)MIha}<9rww< zFd`iCG<`y~wS;IrwNhlt5|(aV^`bmPlVKoc2^qE6Ff%X$vO57W+es6C%aEHLx>iUkA8Iooub!8G!|zD*P-Qj&-0o00;!55Q4DxzMEZlI zx5_Qs2y9DovHgE)pcfVgT(#ipr0LHvaAkd(!J;X4*nCrbbU{k8PGj`Ej$>WC^rlik zW30e5plmc28GkCN%(6;BV*X{)p0T7C`E+OA``ozd_N0KpqRa@%`T29LqxmNr&gR~i z7r%u!TMpD$(u`~{GF&5q_AgJdr&!@FpMDx4>H;b3KfhN2=$@5S3~f4RjJWd85AnW| z9Ge3U@jrcObP0Z}m5M~FT&A|YDP(FrCXw_VH8H}Of+WE3FnN>b&#G+ZmP-*)hG&h- z^Fa6wS&cK;ppF)$lr3JO35E9~C^o_6OccfmM_(pDEeszgJ1n&vFCl&7R-Iye6|DS{ z86*hyT8CT8a^irxE^)+!K#~VBqdT*%AXs~Wb4cFRNs_&OT81*uL0hlehAT55dE?qZ z68&M7b)-P~91vBN(*KRz+}ty)^fq<|E~?_DgC(V#UG=T<7PxU?ev!$Fy9fOX z)TAvd@`J<0DugWyKARU1u)d5u#J*NF`oy(?jEUb((Ss*Pw)I!}YSd!U`9J2(Y=2gq zuf&@;W~tMK0Uix%HFo1o?K7~Y(H`mVBY?$*f}l#4rmi_LMmt{MBmdP?#I9}}l|YIe zaw*9S5ywvgLXRxaHRIs0fH` z^8Huk&Z>>V#OLB(BsGl#ZW~QNf^G!X93R<|Kq^cn`QIE#nD$bKL|)nlVufuHbEVu@ zyx<>uU!)ahUaUg2iwy39gp#Mvkag4BFT_XsF(L>c-btRy@)c~Ds$C7D39x~^SvU3D zYZHYwKO5}WRdaRF-=7RQkZGi!;2g&}ce7!SOFXGvk6!jXz-xaIi6t(bQe%g`WINQM zt8!MnR@$ynjW!d#oZ=L5^gmL8s2O9`RFMSwofgzVW+j##| zA9={&hL`k0v5+6DJ#Y;5uSJy7?mf}>nuk@0?OkrOB_;X6nYSH6Tb>LJfZ}`@lZ0c# z2E&B#+PjDon%k~Z$Ew2+26=JGoAs%58O2~Hpe1%nd}={?bA`yaR0c~92ahu@28~BH zf>_4&coR#J-Qsj{R6y5g25|<-E*5<%#eN?9mNpViou2yePiwGMVv8Pd#v#7cY3_q@ z(CI|9$m+?47L7E9>W1}IM2kY40H6^yBtKcP=;kq1e{UT=U_R+aAe#S9)VExpSs6_0 z06G+~ol>)FgTV*cof?ce%#@gAV=o>@7EQf%oO4mLa#3`EM&EU}<)nd91Dqy5B39F2 z_6btu`bupcsxc#!C9)T+!@Sun?K3*DbUAnfwDH%BMcvQ$K*K}p;`^EU;z*}QkQ(}VS2qU0@NUj~>6 zb%bpVHn#D5U!U9W`=@{0ZZ@ye^YOSp9@y2_OXlL~%Au-O;n|i2 zt5tk}qVNZKFIW~mEwHxyfv2z2}BnaTQQ-rT<$>cJ=Y~-%< zi=VTH^5V~t=|E}$2+1Lsg_t-zZ;<~CmQK=u77k(@?3onlkdMsT-6FfEkc++!dto4K zQm{itdQv6MW;XFj`CFks!%YJg{B{ozY#l@krjl6wL65<~(UsP8Dadr(PCLi#k~?sX zY@l}FMrQEI5lZ*94P7IQB{BC&`9>;m;eMjNY;{-#WHWY8If=Io@)R~1YZqT}o5F-Y zmxw60Y>6*@819TZrVX@Z*RzEtC=IMG<~+)b&X;Zbqnux*C0m_=8l|?ZG;-gub&l%m zApg$`074OG_Z;#Jed7$-@;cRPquc5n7sJ{-y1OK38as=H=-PkA(`-u}-D414)*AM0 zj1ey6vMuPxyQc7@ChL@sK7FCW#Qt;k!7RLGv`0<;)$IH37?FwchPLTw3OVLBd*aPp zU@t!q4B@Zq{CWOuti{0oTd@Y+<4>0+miLkXb079UP?O-@I(;d?+M& zr*3mxsrP=>1a@pf$&+W@taEAU(Z|BKmkCegQ(h^d*S5Mtd5zcGbhc8R_O6Y zOo4Jp_*PHBPn!<9uvTGs$T7=0eu9j(1P|Dvi0nzv0r_$8+n!7lS>C$Q^*+MY5Xp)9 z%ytDPTy^R-6;+vvEooZXw4>skOKCa`56^Eaz3x*L*QuAF@rITjzE;IxKFtY!D2f=e zX)%juXEE7yvW&mVgWdB*WWX|<`(F`v zMfCRW45i~Pd%FyOk9&vJQ7^r!rvG2jY*^iH`^v-Hou0fjg1q=L$Q@sn&G;8te`6BZL!`i{SoRQ)YpA7;Z6KINi|wY34?yF8W7F7kT+GnSMw1)V&LX=Ij6Q? zj1t?EVByXQ&I?s;$Zh@Kt|d^o;}Iq$9|S>WoUuXoRM*MG*Dj=T48t7_qvAHnR$YAX z`ku9~stAW~QV-5t)&*isPQWs;dbQdflL~BH0v|i!FjE`rqW30@#`{ZdQQRC=fQbQ8|CX}Lh>q4b}r=3qn zyzYLE8eNah@`ZdmYb0un-!D%MvOmX^aq}^7FeGrX3!t%^JfJN?Vx4!8O?&8%WlG)%mGVq@pS> z>c-d*cX*%}ZSr2??wA%c-h3-in?DNH6V>+#jAX zzCei<9Zsva77vf;0=&p4;uLjW&r(n#$qM^nUEkQK)Opu2J#C7@U9H_E1Jf$KP}}7m z#Ti$-5s{NsUWe{Rp9k0EQ27F3AfcG+(_pw<1)?l+%qkW|qFi zP+8l?_b6?*9_^S(yDQ(DBb>_&bKtWInNziei4emw^Gdq{!g?#7ZN^L4yiViH?P_O# z3ZT0ERE@Tw?wo0I1z-oN*-=G?7pL2XqQp2%nd`Jlk4T-`QLoPE}BbH%~(s62LjcU7-5pbZ2rf5ne2YBbqYX3 zV2yP>jr^w9JcftA1<>UiLZs_}eJQgGM-H1sqsK`{EbU{q&fVHwVXmX%ZLUMVxerW) ztU3E;GVrt)W|Y_29FekUz`vW3I*E*|O}E*(?tz)ONvxqiKQ?=zteg30D1H7B%`rPA zN*h=_PhMMHTbkVp-KpIz&?-3VUAw9`bZ<#f%|3y1E=aezo!9`iOqQuSOiT*8J-)B% z{88H`$-W3e={T?29o;zpLw3y07H>6`;#ZKDV%vpc{4rG0%-uY;IIw^A`^3S%j&7{K!n7XwWt(meRO(SQjw!+BXe?2xz%?;f=9{ZbotX4Xf}fa z?=uzRCe(5d8NTIuriuhE8!s}o5fKnbRZ+`V3b}R27D%3L56LKvIHh;!LfcM6+U69u zMj0C67RAn>iF+0FE*Is|Cf~#4iX2vne*&c-f=0M5d?_D=N&aXAM(c^;*K$-o8{XP) z!ExJehs%w>a>>buReXyg5tM>hb(%W$Tb!yEyX4&jFGXL7wf&>|uK4 zPPp&+wtrPZwANF(%x)GUKS>jA;hsFTD)Ch*To8XZK=)66a@VTK)BcuizH z$gNwpqf;e5+4QzBF5fso6z05Iu>=Y?Y>8vWFXVbc>4i$E~=_-55TYSB<2TdWS8>K%kON-3H^xZdi|-X4L7VPeRb zj9v?I=$s~vm5H1^3`k1V?02m^9{*%iZL7Aw0Rq*gvd-U?PzTm!1|sp`zc*Myu3Ayy?T$I2e;`jC_qcg`fneB}F|_NqPNiFt=J zJWu}!+9aDz&cz-5%z3ZYMFv}|3-(+H9i1;QJ#){x!y#&RL5BUJ->Lc}n#3MzL&FG7 z@HYiN>IByF(|iAVYZyow18kbi)RkfvPbe=QdJr}2L=jq#bQp=A-QV?Uk>kXY+{RGj+ii|Ik*0P4;Kb8+>h zYxS$mGcIK7?3N|4^gA0R6gSF>6rG(zd!5|Cy|A^FQKg|}@`&upj`K59UvA5Fp@faK zfCzbFJ`SG?SVBMPN&c>Ow99UdhO;jRL|2Dom-Bg_rV1c`B|T>6o}Bd6)7JM6_xyGc z5|}?EcT8^`#xZD5QA+ABw+j^|h0neWD^*@Sdy0v}vUtXT*9taPd|4no;JyCaMNGj| zvH}!0L+W4iF(R?$k&Dh%mw8|a+MGFOIwEZ)2>Vv z8Q%EU>1%B=M&<7uQ_4f8x{9vGxDLe=Mu~`R;>UeU5N9WIjgPo+uQL6VV457K%;pFy zd|BiIR?+;3edXNCifBFYt5>WK_5T>R8Ft#bB~F!;c?D4uFgu{dkrDa0q)^L;G$tNV z)QzsqRux#G%9%okEVjauzMPt#Bf-pgGiB->yU=v>e7T^*%MqNQLn)J`H-kPXnYL<$ zJ$dUtY(;EPmK>Z1W>{>`%(p*jh!PWmS_r4{6w(eUg>s0dveON7S3inew&CS=jd{wq@(hEYQ+_- zCgz&(CrF&b_j{TGn?y+XtN5RJDJmIu(;}`e2=M@%v*8d@FdQ0X)Fx*t7`>&MF|=D| z_#M0YT@P9dINi4L3uKo33X-M_*pF=ZFc#kUS%QD_kj2he&z%WB%e5$jAV^Z+O%@xe z_Kc3oobk5(tdJOcaUIvB!qFVif#TM6(k z{kTWy&<;7UE3n-OUN?uWjB*N(vB#Ynge5nbK`BjUam+n^1I6~|0Q<&N-H`Rhuc^8-ueEkL&GmZgjW&xh^^;EhG%a_`SQ6!M0jVJkd-8MrPzFp_tS!FT4R6x>GNz?BA4$xhmu$z6? z_C_L!mNJ|uBJIvvR7=`gBIH3BWI-jwF@o5J;czW;=y)PsYD_~Dt2P>tP+?}!!U#Qb z@go=e;&Uie=(3Ajk|kl$GG~TQoXh4v2Sf+=rGHinYQY=+K0%RzQN*xRg-zE71n_h$ z&SINwY}f}-5_-UD=-IqUUVq5kZV6tl+#VQJ2(pXAPBHAqA|nwvq3UCmkg-V|N1F;- zEsjdbsE%1>?)1O;S6NM5`N(Z3%&WHe4IbSx!@t%&q4j0KsXdab6}=wD<|ApmYb|)y z&e^=`5bGS&WW?PybBZY_r-QkPO{YPDMP?X<1GA>cgTm9Xlw_lz`Tr7BJJ7n$bAfBu3Hc?QtTwQPwH zIri`w#!Cbscrh>c;C+Of%IJb*KTigXBzRdP`zn<8VodoWkl|mlFY+3>OAbsxX@CQE ztaY;jk}^~)11+02l(=gBkOm{xF?X6&yj4Y3{xL^^!<)kFF9PY|$XAfK&N*0qSP7j6 zV$Y$qC3(VHA}DEQwLxK9kJ5iVB4;sBkXq+#cu7PAgrDRa~w1fW662 zr#QoWyeaRBLZtKSw)AJdvMmi*Jm!&0*WnuBL6nVLr|Y(b$N_>hQ^P zG_}h<&0kIp*2pnl`;Vx#+e5oUMCV?vx9)pDYD+@kPn+5$N^~k)e3u!X5Nab|3-~u5 zulcE|BE*ay9H6TKP~h&jd1YC=L*6 z`;DK9(>2D1>v#(8O}>2cSoO@k`2G&Z6^AY-dC}O^0XE40&t^}b8(S5E1X#=T0Dsx# zT-DqGFIZFcTGaGyeOl{FlQM_Vx8aWI>YJGxx+7$L`E|!^%;g_Rx7K6L%YE)JC-Ng? z+4(*9)yF|AUej)$Bs=#-iL=~0eR;}^k?29kFIYfxRMt@)>s3yK51h{F-GV3p z#ZWR)v-PrE{nDbAjP&+=IU7NwCM$!UYZap9|= z0dc7I3m8PHP9qQA}-hz_6KMghf_AciBWK?CTH+@`x zSqe>4&@*qv{y0MqwY_1+Jn?45x>@B{dv{hJ{j}WMj}n&~)$BWn6qnhk8e>?#J7#=A zS0;3JEC?(q<@@lYXV*zk>X+|M^aE(yWc0ow^B@{(fE=lIH%M=c0wH0ob&-M{-@z0L_YOIe?<$<{im(Os4A`Dxvd7k z{)jut>sRn4V+F7-09kZN=lMuTxV*sjG3FVh_Bt(;X-yb9r-w-XZX&};v`U*pn&nWc z<5)Y8x9>2crYKE@fmn9?cyrT z3pwP|?vORX%LL6;S#^ly{sh3k6IzqC7I@k;u53Ri*0XOPPd_H z>5`I2t~O9t=h(xnk4r5O8jLXMDsGuqgb6k3dR?p{C#{W;x7TA-E~(35Wrq*84gA#{ zHeLJ@o|5=DzTxlJX*REdmGGe6GQfBGY|_Z(239R#KP8Rq7AVc|lV$}I>zrr$;9Zm+ zal@Wv<+bPx-P{tgN}WXp#E?ud&4|*pXD7k#r^r^xx2iv330TEN7JStg5lUJTBu-+? z`3o_pFc^&`R__?d>v*sq=Eua&9boIh7kI&Pl>IU5mum}qWB}Ip{Na0(QO5l4S^L*u zM&m_zTI(DET^E;luYPswLcH+7tv`85vD&R#F(J1yDZA+GS*uIrsf7yr$TyknAokL@ zTtM2G`?-UUjsJWb6<&+^7@lPF>i1qBaqFA(D2MmOw?6hLvB!S2Ch-NMPeTPb?{bt- z+QSXDP5BmIn{M^vZO#Ke`TgcntDL}7Hbo3zaajrX>g~uG*=8GfVP=gS|{qI=T z#CH)N6(0<9t&8GZiBXETOS=G(qOkzL;S~h=z?N4@LjrTURyf?@>Z!N7Wpd*dp+nQs zGkjKyS77j#gYDZ0dA@(rWA_6GzD71qd#d!-AI^>gaYGPl7S!p&B8#C2>i?L1AK=&VwfYV}60oWMtZonmVwIy*XhGBcF1=#sjWIrWDk((w4Rnhw`8 z@48+cNvY4p)x}Mq_K0J9)IY)KY;vS%hlSUy`PDuR*+hMrh4Cdg+IQXez|u{(KIeVLGtIK zb;l8sSm5th9K$&z3AzOEy|}w>5NiSifpvYoD#vm+30T?BF`}eejCAT})41*=h&iW~ z8$gHRql%YZ8eY`d<}RWU8#Gu=pxUbw?B6$uVpGjgzDy0e9MN3*IyK67-1?}~>DBlf z3718>G+yJVE>aX_{KL|{r&BF}9+J$rJeXo#M0X5xK)*bDp(HkPi&DftGcek=vF0E- zTU94bIr;#zlfTGt9vTqeZ)del+v&CTYTah*TczvLuf_aRPP$Gt{+QwlODUc#!o^@! zIB7al`70|95|;zd&O4!B>;q=_UDG8uPRTQ+Y{L(|}agAYG=$!f>DRHP~#)kLE z1=gUwr%K#nfV5Maz_~fiEX(5GLkZxLTRPlky|(dW8Bv94gsyhKV!H-VFA2lG#b4TT zeGgbBZNGSbxi;l=ND+>hV=H&TGiYGfOIn@k-#AaiweW?Z`YfA8mtAmY02%F=5d@?i z1?OOoyfxRMw4=0KHTx_o%!Y~NjcVIlpCP|X-4r-(R#g_ABX1v*8tizA|Hya|o|3Fd zT7QH{rW3mMMaZTuxePCfVVh|X(e7``Lo4sOW+{s+$gnccHtR=iBM!ugOW#($X(L;i zhXlXhcqztvpCa-5_wiD`b-1nI(a1SEA;q@1#zs`f#J>~E?51KfngEYuCsii z7Bop*MWws8FdGOFrdug;y;v_(KH_`?%80UYeSYIRw`2|{3!RQnJ%@>w9+-!$bI&GA z%o{U07xBBi?VZ$;=L0BpkZ2l)*y8YNV7ced?sZ6+IU-q+I|wTc#=+k3AXSlE1zmbC zH&@d#GXyoiG28u=!~fG#Br!jj#XizC@>(E_2N&C#3yn`o+vZcHO%I6FqiUijgCx5l z2uKhKKS5{?66y7V%QX*NDBtga28jO-z>nbJCmTdFM;OOJ0LrOwpl$PH^!CqS&Z#WP zQJ)5y4Le>%BJA_i*J-sw@@+I|(p347)_H1~8qj0v9(;`q&-ozN<;np`zjJ-P>abwT zn-un~v2ERabCuPT2{PayhT#$}M2*ruB|)@~dSFsZsKKi%Go^3+bm<>|Oq@W{z`TIG z@bZO$or06J5MrB+Y#N9<{WncU3}2wGRq!?voicKMUOx|@ie5BiAYUp%RV$B0%F))4 zzea%r=SH`;rsry*wP(k4qc=;G57k_F{*n`Gmr3r!zLTZ6xUt?IpxN<-`u2SFqb^Zn zSb5_(fcnA&Y`Kk+{(R%gXLi+``00T$J;`YP*iVK`vm9y?Ol~FB!}7$h7d+Vt0c0TI zbd>R;Z0kch@9V1Y%1eJk=2yZ?g}NRU!S{U;htfZ+$M`TYPPEB$mc)OXnvSY7tB<^j zhf3xNXw`Mrw<4~sx2x`0lg!m#u$<3U$5A#l*WwIzyHOS8)HKY>qgx$uDGo+A;)T7N zvf;y7Ey$Wra@QBUq@}E5CnvDyK=`6K1XC>>y3wC;yljiE5b)W@RrBd+;hJ#<}mF8T_^BHIavCMIT zxK81SqN)b1VX1Hhyh0KApe`- zI@ozj;=?wx-mZY%eie-=3~T1>Q>p*)_f9iw_pONS)A`YEf`w*P(R;hBXAn)l)3hOj z6&Ehpg6K)pt@$@O@?Z>eM6Qc`Gd>M3XPK~JK(?x5!ilniUyi)VrVMV86-BLWyCgTe zywNgh2lCUlT3)ep-=S5ZDCP9@U!AF<*sW>vY}(T`@$Uc!+_9acZ@;`hDe>@eh~wSy z`9Ci}*#qq$@YwqZ>Y#{qh}Ia@?!gk!c!vpY9BaDF&4xR@R=}W9vibbx_fm8?j8vg~ zF=Tt5#YRBEx$NULajf?QwNK}y3?LZrOE#A8pKqInb;V1|p^u=*R zvVR6!(a@|Mv=!~zXp2fsml2#?mBAc7u{!gcsbJ~==MfknE^FWX%!1S1edKGsmiV(k zYm;a-H9};AmgB~S2kTc9MX9HH$(=xRDL6jZaM~$|%Ba?o56U$uRae9eS?Z)B{q|?m zhShJAu%9-_S3W9f9y2Izf<;XhdBpnl*vaw+ZviNxR0r=XNs%3H9TCzKFKz0K6^562 zhi2=owcVu$L#ZYJHAM2;xA@tXn8kmlO5@{xnK=+haSB^i+*5K;vUk>;@w!Zx#ztGR zTX!PYC-)y_WdT{LfTkf*R6M^>;zetEILrI*^7*(a0fRx%_GgW+-+7%H-!Fs{N#pD* zQDb)C`!MqW+6s@YclcX{9Rwp!wzMSueFLXbTWEygnyzj=YK~}|Ssg!ch>)9_-fG(T zHr@$x9OK{>t8*)f+{1R^yQY72!QI5YmO9nAjGrYjU+L>RkU!CcNngVkgV?g=3t7P% zK`X~1Qe%LGdL-8=dV{w#7mThW@_!c|`&w=+J{{Ilj?{+}Q>!yEJ$oGolJ1IdoIZpO2M+Y2-6*@RZGFLkrnbt9DX2?NZqk?@he~an;Qe#kKF+_W#gB( z&M--hna>)BngEG!1PSuBi%cQd)yh%tswucU^!QevK|SQhlI;7Os7-^%G8>jYxzOWE zTGN@`)0PJ|yBoTnA#hrqUQ{!Q)M$`zn5H?%N1=CY?S>K13x(hBb9TW&fw=5>6Q6@*DsmXP2m zNc)=JkHL#8*v`Bx)|Z7_BRFjESJ}l*ca$>TM1TN>y*x+s+h4tJ04oBq^9~=m2 zXept>6B@LmAt>;cy3p_C=HC!=Wr+=k`s3sz>!F>=vy_{ezH}DrhiRO?)8#}h6vKH8 zK09j3gY@h!%^L|s;A}G6zXY}hd7C7Md=Al9ua4n_x+W}5@N2&x@f?c6&z^lCd^6)7 z%2Qz-i5hNwRyeCKSC6fKmQL6mJC;uE{PBID0l(6Bl^G)GF)8EHusC#TI;fcdu}8pd zF+-+fBIA8{ZN`c;Eyh+QVbAJe8PSs!7nvL?za5R`yAuqdEwEIurhuux`?$&XmUIV?HeyeV1g3N$57C4e5=Cj z%c(q>4ltf+%=c?OTmJD$#s#X*co-XlWdau*Rju9!@o0Jcg-6e44~#S2cX=!Z$Brbe z|Kn4*zVpV?Z(Lr?&6hmUua3XN8FIBZ<5@DfT6rv1Q26!*4f|E`K@l00XgXbl&$(Jt zCBhSn@qV4I3p{j;aQ;|CMw^uyPnEu@uP9nl-m7vU?6KkV1!)CFdh4Xp)n3m-*?x32 zR~t)_(juom1X}i5S+5GsLL6XV47B>4~|h2&KNh6&zQessW{(mWMMZ7wMmBg*$2jD}}Py&9EFkaud&p zTrt?aFPj&fJdUgml}$nm5_RRt$ki{>{N<>;NfWUikX-_g7%w((5NLf4Qoj9xljzQ0 zY(T_6^JVhCCdm33JxKW|Cn)%QF-X3)f$(ft_SFe=2HjtKS<*@8M9nMvX0e&59~%rq z?X4f$0bFH`5FtsG4h67FB-UsWK2BO6~Zhkh??%hWaa zcoKxM%ry6bgviU)&w(NE{&~w$xD0=N;PE0XxXv^V%wCPpPq$S|-ruLtmKrL?=2WvA z?(55DBP#eGaZnE80xg$=5^n8)UG@xkQn7+pCfJ=h@+Np?dVTK+P7q^te}H-Lw|bdt z=9=(86MJ{?h`ktul)f6e;GwiyHMjLWGU9hA)y4Z{rm-l!;_#|cgD z_LR0PWF0AtHMF=WH8}ms_FdrXq~HC*ie+~T^X@FInd2T{)K|fCBTPK=7q$Z^3ay1w zVYr{>9bS#4a8YaHUO>?#N}Jm9X{gJQ8ZXmrhM3&-zpv*Viro6LWGkltlL`{pwL zeLz@M6>f~-=g%#XHH4z|kfn+16gDnwv!}AulYvpCk&ZaCm4SdUinhQ;)6&~T2$TGb ze03s3IYs-u+)Mu@b-nC;5m1_*q015T0I*b<>5BqbEHJ(*^mirIK8Z_WbjXdY1CRT^ zLj-$`YTZxGe*JwPLcMqARV846zkyde^}gWZg5B?c>XT`Pp3VL{{jev7D-_~bEu#^0 zkY zTKpbjCwp!BMnsH6t~si_mf~+@dDI4Xl{w6IGS)?USm{u5P-lfG9r|5QL(zeL;Q}ju z^@|;`S|JTK^eAuK%(FIk%YN*+m6COjM8h{6#Y5<$(rzy%c0jEY** z=`$rEuvI;%;q_#0rR)U7A9B5b5@IcKAqu!VHzclu{DMM&dMJI}Z2Q|U0QguyU6yLn z*$dgU-@mPJAw;e~IN6@w0K4}+(jIp)3HZ-i5Av(-ngTojD-g_&x~1)toz5s8v}S)T z@gy4~7poxnn4**(r7jqdi_;V8F+3LHnK0k;G%cNMY8XKBM8(}%ZbbrUeOPcLAR~AR zkASqDlua~`s%|zM?r`%z_@MO`eSPc zPe0Q>Vj8C>RxpL-9DjF%YupaTYN!ccRkN=mZ{kcvt>LKzUGN5-$HCkc2aztYK&|=|5mvRb)NcVI`>>0K-;gs@+z9W?+e&oWP3PRnJ`U3FRmTcMFN-`Ni#S{ z6*b<@)h*40$=?bwKZ;KJYY4~di1zs@>lPFHwjLVu^(U6bWCIJ$E}9i<@lG?T5lZM} zr9fKq5V=y=l8mRXDoK_mmiMy^N`1brl!kBe)CEhEbsdfxFy0#fXN0{So}aNSc9%gj zM0s+KgtKSr=eCy~hR1;2anTd<$NROGIHgO{qdr9z=zhd)VRG+~?~bi}Uz7?F1<%M4 z>j+fNF!Z}1kqwoppEfSmDA?;Wqr8ft&Mx zItFs9hl`PR83t>INEzv?&kFO?e7jL?#ncp#?S4aWQw1dLeCb4!s==1|Q=7n^h!KVV zrlmGHlgtYw)&{vSN_kW)%`@Z>N4jQZj z9Rq(X@dE`%5Nxq4pSF`BN9oK~y+UJbZ4-7T7{gh|)*yUS$8^wc18}snfn>KD<}riXd{z@I2qhV zHE3t0x=2~i+2+=1>Z0AE?#dGEzNwMC)WO~+2#C5@nw06~{<<4!r`vW z{EqTMB{YICFs|_ltJ;kQS6!tmx@de8+;&UDC69`@4r*OdQrFva+YM?+X5A+(lZp>p zM}3-e{u(;We!uBra}Fh4JWUy_7b=svabe{#W^o>>g6j~0tdS+dwK(|V%@{AI=Jy;I z>zP>R`K#d<4O>I}=>a&V&k)))@;2V8NlYJ~%iocdC44-|WCsCC={_ z9DQ!GH%NaKPro~F4yF0aWW>uf*WFXld)W4Z-K3ydOTKKH)v_`WK-2vM1%cDz8>vZP zW;z5KSUI#HI(xNO5tbvJ4-*e{xeq-afepXRh-;(Xv`n_{6C+AqM+24m7Y8hxW2-K2 zM%k#X8^yV4r$6>&d9)y!4H)j;YV}pEcoXa9D&u9_rGZ0gtR$o5B>cTLQ+#t*QDRHx z*@(E4VHI;WLvO7EjFum4;8%pSHnXnTH9{5QLnS?#d#A&x7|g-*0&aJqJVC?Fgf>H; zI`*f9TJq0#m`SmTgg6LGB7tnV*~#UKhges^EX+lh+j z+~P1%QmkVg^Xi!dgN?_t(zR5AjOcp}%U3DILFJJc6Yj33OKwW=H4HSIc7g>%y6nHpp2mdqIjO14#~BC;lM`b|8^thX@V zx?MN{UnL_1!qWUy9=l+=OkMJ~!eYYqI%IQQzjeqOFU!+8rle1G8Q1M<#Hb|rHMoFH z6{p%(JnLsb0c@+()L5X$>%m=FZi#@R6#X!cSR~Bj)ly9tESvMw~Q!upg!LQOi!=x4ZtP2g_%_9rxjbr$4~!vZpi}8&t;03cK6p>e^XmaYq!cM%%&Q^Y#aHv4yLQa zht3+tg>Lf|52NiFHXZKqdI_+!r55rYxE%7foZyPmHBdih_l6PcLKo0wz)`z@qJ(1mu6f_B z^K|ATDqjXY!pv`aqyMrTyd1LcY^T0+(do?&m~D}-=`*s$cLA9r`(~P>R7EOM19a_! z4XpbZ)||gOF`_x#N`4w4|D+U~WHdjbA`=QwklW)$IxAW&1njGc1?)!GRi->>o(84l zak47_W&-3`!DBn5lz$Jf6ADmC8&Fs*vty=He6ZFjtB7j?bigw9_M{jrjlauhpR*Fh zm~l|Ww3r+CByZtrW8IimXq=gC)>zl-eOx%go+n*vB}|JhUwhYd^6|=kjX5PUWkN(5 zr;$4aO;H9z9 zmaHTLgBW(wnhM9^71_ys+76h=2$xswgS*;rw95LSobS6UP|CzYfUfv0-@xP9feyD~ zZK$Pz#p0^0OmcMeIOu7~mt9q<xm2^;oD9Pd7LQjgLyc_K7pUhH-H&5M6};yZ$9E7#7VBy5ZpUCyS! z)9>%PZP`Ra=65aTh=0RV#m8ktPZ7Ch!^=3eS1cL*ZD)tHe>1Emz(+2+!;7zE0Tx@w z{Il{~+|bhI$qq-ur-ZJT&sCGJWRP^4nZvYxaDv%T*X#YqzQ?bLW{Oi6X2lm0w|&3X z@c@Dw(1w)bE;Dbwk646K4(kfTAJNKuA_UxU>DHEf6XWDx?bu5X5ZEm6ahId~RjA zxv!SMOHmR#yE42QgR;%I>q6^1)q8db%F9$3PrMz9$TEgLGC~1iRKzeJGDGezMbgef zD2i&WR=qAnnhW-#C=j%gK2dFk1DL1oakW8BSMa>8qZ;;^r8Y7Ilhet6-Oggw1ok@J zYDxdFxeKmjw5zhb38(=XD^ItBj-hjd8jMqViStNz6xHi?63gI^Uc>_w>7yvGvUKSX z*z}Y)FDbcfa*BCcIcuVbD`Rt&&%b9JXA-I~z108-*|m}O*Q~&$*=Vt$gyMaDXf$R{ z5)-~Bp?G&09Z(_KXHhO~%fZKE_4nJRk6E^YpH%FsrVPgxA z${q7UY^OjRSsf7A3 zu58p2d(F6}BpAxmWJPfe+(Ra~xmHXZepYxEu(u^x$BkKYn!w#JcnISLa44V;N#OsG z=D8?KP!p~>*7~R7{ZaJdgfK!i+I|t)>5SE{T38Vbmq27B+ z=?xFM?nta&7H?_Bl|cCO$|Q|ugNHQpk8-x_e8moT(lIv5lcPJjwF_t~xki3zzP@=> zDFjM(+}hZ!){F$GhOpoWag&i^>V!%LS~(+Jw;4=rqwGCl)qAv#$=W$ek>w0E5YOtp zN!UzP3(%!SLOw;O>Vt`lk6MW@YjxlkVd+t^umomZI!;A0;qwYyYYv?22AoIX+pz}_ zY4TM=Nwi)p0`z^38Yy5=ww3Vp*y01@`-zl4@jDquF@5;T#k#S;%J*;<6xYld^kL;WXZI{B{do zf#Z9BZ7ee6(i<5wsT=zhSOTuh~EXvCz3!F9V$8szum_S6K-1dN<+5RUDTo-i7}G;gBdQfPQB|G zjG(ssnZE^_MJu9w2o8B>IQ))t=Pl-&_hD5%nIdDs>@7f$`ve~OI`yfz&?#frSC`yL zzP&8*s)04!fTz39Y0y?c6ywXISU zv0>mWoaC*hz^*gkInQ*~^Hm>YbTCb5PF?T0v!gyNZa5MAhw)Q`8eS1&KhN+HwHaEg zo2l9S3SfM9bKv;)LJ`&5w+sWFpE?0{ug5AGwB@ayznWz;OKm1OosK?L81 zS7BrErFK~fKL`to#sWhW zkw&fEBax<9`zvH@Gq9vOa5nM3m(@0JtW~)EH0pX@zhB=2>7(eGY0{_O1OMR*X?>b; zHp*GlpKcJ&mCy_X)sBOhM2~IE5>&G`0y?BW{BkLTDFGW7Pc5$eqC^@?u$@`q&G zz*PswH)(JFy-Q*R0Z%3Ib`v(jD(RxIgu(skoY%qQ@iDd|(d%8YuSYJ~eb5wEzrC@; zF6N(oH;eZicvAR&L@#PF^77+=b5pN;^+3z;wuoy=am$)#7b zcdg=gzhl9+TN?f$J#Wjan!UQ8^Tby0;w*WNd-e}W(AsfzeB~Us zW9O=wd`#Ck;s3k<`#CmNs{=BefYzpdIM45J!K&e1{!Ke#y*gOL9Q9;Rx&Id+xY&B5 z&30|APsHu(4h&Vf@Ho?#4Q16Nubdl%<%1AOQ#!7wI1>2uIw?jHQN6%4XF$%SdfI2S zf8qXn`#3tVu+ZQ~4ZkV972XznZ8A|tv}8xP+usA-jJ;u$9HfUIB7r6ZGSjXjqO3Fe z-kWs0F4OYqzs#dHX7KoFuONVM?%3c$)}<`|=U;5Aos-=B{}6X^AIq1iDl`!~Z82Y0 zgHrrp)TwXv$uh~$omMPZ;_ePs_uLpL@~IwwL_IZam$YIh*Ls|jmmU)t@Hja?OYrL= z&iWDce09iE)411k-3e&EpA%z@5?`l18~R~_y=N3c}%%07r5ADwta`A{rusGj<#{suX)GliSrwI_znTY*UO{~u4^ z0o6qIzCD>tLg+!HCjb37c6hhuK;earJa?=yFPMdOye8eQ_Ihy8^S zQE__xm&xd()3tGuYN5Q(a3;x*EPFEgV^SlQ{r6N|&^wA}Ka^=ax}Q(#EsQbn5Kemt zr7ibob0_){WXgO$LP!zp(LjQePyd-W7Yc9^= z6nZ8nL{Yj~v+ZNncRhack9_xjvE$YI-^^NV;{LSx*ciS0fQ>{Rz5lCStV9xTc+PZx z981%NbAZ>I5S=uZuvGcPIMw&cse;otdOj~Hbn2d&F6y(ltPiP|6pXeA`yDa)o0t!s z(Mkzk{}dOR#_Vl4D)8`f_WI`!pVuSj`$o<`6#c&7$m4QTrq9WssYFj@kz=0%CYLD1 zac`d7GxR)XEqqg$eJU`_J3bp~oGqUi%-O)IB%+f0s#w7GC-39dyou%A@VAr4wwDUi zFTbzOvN>^!$Zh@*oki(AENj@W%;wi6eU+{1I6Y7h4Y4y*`G)HNakKHGOS%_Kx^nlHu80exd%_ zlnx1}fa#rY+iAlkMHt#ck#5s&NicZPL4WwtQS(+_E`S`yRJ<)T;@8jGK_wTvF?*GLl zV9{jMMYNpS7hHaru7ujhm(jnO7aq&B@(KN6Vp24d)xN*kr)Ex1VgL8h==~q|gd#&# z$=-1+o0}rSmhm>X4==}=tNzm#-}%%TJ@!NtF+C^>zV;<|BSVp*ezPdPjH$NX@uT^} zeg6&gG>Gcpid)*{Ruc212DZ@0xzEDyV~a5UW1QDWzX&>=MlNsvblzi=vLrD*D>Bf7 zlG(N{q)(imU74`FJTmt})rl>SavP1GKZ*X)f3B{vXPGL4kZ`E{{K1zS)M>uR``OfA z#WsqK#@7}0gV1ildN+$`#y!?1|I9G!uf(%8MvJYlo?xGBR7ix9tlp9X9gZ}c!-c0o z!KB6|lI6uvysO&7{cgVX-^?C%FC?4l)qQl`8K2APJ9q9zao+elz9Y5ZoY#g6n+mhJk?&-2C5N9s&a_Zu%Rx)igSJDxkHPHS&~64@rP53K zixOS zMUi_*6*E2Pf%(qF{c_wmzMbk>$?+iaY)P|^iU{@VUqONS+{V7ia^{T9VMw`rljf^# zRfe5P`BpS~%z!Ch_~W$IxOon{HSfe|a&pV=6;Sz?>*eBK9`?W86N$ajr+D7uY*7$- z(K#gOa^IVl@M*QZRS(=Nqy<$URQnG4#aUIQX zO7TQk8d+R%i5gEzv{9;PHM^hzc?~Tsmrng*HPx%ocdcHe*E_jnK`#1NZ1mAlyXvW2 zSF9T$w{2s@?;e|iQf4$;9T$4q#D!=IdffWo3@@r?dB<^v_Lr+h7j%Te%5mI77X5-g zp)?@q%SgpYndpW7I5xb$InL^1{gx{++P@``&ed^xp7sZt)m&(NH8QUKy-bu;ujr37 z%$h_?5+=KJ$Zg)5t;*j!qg9S6e71j`7`agi{o=>>)6{I69Wp*5?R%FSn`!W|JvR!9 z+fm&!+1HtlH6_-SOT=+AjLBN|TwLP)KKr`?bx$cg4{6c)vLFw7M<-e6D-_I{%!P(}f#Rvr1CEeas(@SzFg?N69@Y78r$_ zXzS1)4I654q@Rma^RBQ)uZ#Xc&K!tOGXF>xuU;{lIZ(wqRA^f0wOll1a<$&kyg*OIu#Fn!Ij z&u<*IUu~ffu;-(VGP|O{>ybgs;`_Ji8kgib=3HfFdTl5)s5}{RLbLU+V$tuSbs8rg zC!(p6GtT;LpISR^={0(P2w(KMhb<~|`53qImHgYiuy7bVW!?QCSgfbhcw^m^f84O- z&#F$*mNc=SHd|OT_I?{nVl#Jr2U7NK`qDtSNOo`vyhBP?T17;c0LQ<)R7*CY#&N4} zsLK%QS&UdvAotVh7MRz?MpFICIc@Q(gEZ!xf%xmo9)5Ru>7M5Y4qZiEhkf!mms6u< zp1g$_hTGS24}A;T`X;#WcyLkIrYbbHVnqr=RK z;~G<0AHI8hsSP2iSf-;7&rA&^Ndw-d3g15WLrYF|XtpmUHy0OaQtCH{&Y6gy@=PxC z{;XbMYUb#i$$vg%bV|bZ_HJJ-TXKdNb@zMS3BS!9acfVZ8k1$;HW)fgiU`W3LMOO< z>phOvVswq}=zGz9uN%hw;{m3vcI=hs(Jxbn6e*^LT`N^yD5i74}~mikO4<1{l9oDNJ?Ar`Crxg)e7l0PxPAf z=$_?Ch0nV~x{+gsNtZ^agX`&QcFLd|?BYqpXW>Hq_ znL1R{KJ(Ci(WBo_yi3@>Wip&7IG@Ut&3ICrlj<+j&p!QILuJs^6{6!GnHv^s-J2H}= zr}18L?DmviLqVfi(tUvJQ$)W9m&7sWs)hFg!lnzpv^hU@u8~}IgaQx0y;!lGmNb_m zI?*$o+|kroewv?OAEnCO@b5W(b(+AL0bJt{KWV^zwMGGdmzr1t{xyQLa7`<7~7wLbxzyf=EbTJC9)tx+}4_$T@ z-w!+}$W?!EVY_Kj8c1oSNKEUE2a!ofqCXRPs>tPPwkB0pqry#_i~@Z`CobzeL*v+h zDz@u+F6wnL5>~%iT+|WAN!KhleFa*l=~dJb3wRq&3TfS7db0>T(NUFw7WQ5}OboGM zrwzUC;ip~}eNCwy8vWSWG=3)$)qp};9LxJn0OS=)zY(M1q^?P8X`}A6$vgh7L^REY z{q*G4p-15#dSlqY;Gq+rFODIH=3S@`f4nI4nySMUjzM;1+*3`D{_lBvLY_-Xw|hC1 zUvM;up2^%UnmKF3viT7-yl-@U_mA=4ZRtOH7;htzyxsNA(pHRFAHt zn|CG2)6*q4FS)0h((*;tM(xCtO(#>VV%k^S1d8i{=#f&cKxk0t$iEDyR)=?P8SZrPH0x@o;Z zVRHZ7?j-7K(|u$Dj5OLqFp^*tbT&q4~Tl{DLyjy?&RksetqcU+BRihagv1yDbI z<=Rs-*6nLPdAQpu+d3?*Ox|*GQgj+Qx@G6TiOwkv3TvWenS;(el~W3l*khJnjSv~_ zBV-bJdyxKuZn@*df|P<^ZBAxcw-cW&ac0&(&#h544}&fQ_kX)Y6HEU*w`j;*e96P{ zrr*P*$c5!S{47^x-@FsrriB%a^cAr9)unsUN6G8^7kc(01^STq3c~p)VJk?IGZr`9 znvDLy5?zt*y?w?k=TyOq`-XYs{+Dga#RaC1CZk8jHUFC|7fgS9DEguJ{=e)mYk$Ok zug?A6|7rXr1$`j-HG0}}d(^aN;ftI^gSE#^gO@Swjk!Jj5_d(&VY%lfk^W2j5c#?M z2Md3+O3jZU{O^8^H&5y{Zq@bNUw*pDRWIJ>Z&LkmrFicX*?8Fv-7(KIm{}#a?w9(t zH7()a$vpbe(Msr%eNTFm`m}WT@Nif8^AHV|u`GG^unm7EGYl!~oNll<6NZqJzCq&i zTC&+2y7Kh|v@U|xwy52vD7Jh7)RQ9k``oB4W4Xud6t%FzxWFUz&h|qm{z;ol|)wGwxpK^YWeQ}pMuzz2yh5xpYLi6k!IhPL2 zX%TC$o_!G@9B*Sk2`xDBzQQcW?_8?bKe)g;%d{{%*efdVw>FpA5l89YEVV-edvCoA z89WiImfQB=efEoiUjw6jpEnw>8XEeyrGDp%nG3f*?HaaY%7V|=9x^d~^A{o<63L6# zuKM>=RoqeII%WSn`?EXPqO9F9KC5ny3>C!&me|~E9-Me`^jYlXe%fF9f%ijJk*`fY zd00O9sqgiz$*0E)FFwo77TWYq&t~kdWQkVXV{MX^61gR4`7We!nz;1SV1>x1Sy>pw z8ffau4odhDxN<8s)=aXMc57I)1F|yOiu7MhM?35&4q4~XvrwKZwr_@#r;f(tKqE@9 zx{ou%5$fE;$OUYWfCg*C=aL{g7d@a&t)X&4eh`3x8A?T2Mm&>G+V4jLl?7&LLF;55 z1aafvzbqBY2dRR!&=yLBR^mFUKo?3pi;mNnJj$I@4K!XP(h4&UA+20ScK}vQ6|A7d zF5rqzq@Y|Et7kn9$f|BKHl`av{?{eot;60XAzvIdHg(N3t8J^a>I@pE@?jNa#1gCiE~hd#Ys&1u+z-FSzu z#>`lp03L?_W(K#JS_w>~lkX+_?ZmrI36l_@9jzH8)KIu)sUqdVOHWRG^hs$<+(tsk z+*vp5uv8h&KbVlw2-(CKC zdROG^S*f25EVShEtIHbs3#bAOi1nW?o51*B4IT?USsA5tqWap3P=&o{&&o>9a9&E; zEmALm;YZOYFpVu3#YH(OQ9TPQzdb1r9`1VbEyzbhAox+S2C6%a0!^D{MbTG5x-!r< z;q2W7a5fk7htw8xxs1Z#YwERB=dN%{85!-?jnLsVVV+K<-~q*Imf@c8S=R3qzC;zg zmGMJ#0OgK4pD0^*9)*}&A=dZAZBk`OGw7NQWb)5FZDxgcdsQW;`hFJ-)^Q9$=~Q0? zEUU+c6kx#3Eli0u;0`U9usw{$uDg%D@^PQ&;eVwh-Jl~*lHQx81S?7e#8v0wD;*gN zz$~F27t9r+J1MHd_G#$NTnZJeU%hD%vQ=xEATaG$+dc>i+RKlgem&i=Q;ijA%)HcD zZoW%HS7xCI$VIZ)9$y}@;Tj1tStbSQ&oynPz`NbgAvYy>=N`LFZwGxir)fD3;ZvRA8GvvH`?PKz757cj!JhUI;}69OEG? zfddrRp#oJCQ#T|}xheSZ8$FzI!)MRd_B1D+(x?H&eHom}AAqE9!-a1j1VOr=NgM*h zRar2l%>#NvUXXYD^(ar5u0B|sAXp1W=Q{KzDck;75jsjp1UkdJWl+ym7Px(=I|w|q z2!0_0Qh`&^@${e<=d^!-IM%pQhu){?D=;dkcStCWmr5CVQEyFk*H6Q4v=eOIRpc)R z)WPx1{jF6hOk9T-sBeR*1Csu!t)-MZO8gz`<8Ni4ShO8vnaYQ(+QE*YC$*XF77Po- zV4u?c6-dE`r2io9s_e~}78Fb1=A;Z7Ff}Q?8-Wj#DWV{{{)KBtAoqeFhVC&?*qjRXVse2e@va!P(W77Hh=OnQ{H-D;_$DupE zx?*djdYiPkO~Rv)>}!?iBEDyz@I8a!u6Hm!9j#OKaItTP`v-%SYg$))-VZgtae%Bz z-)0>d?BXKFMumvOlid(3dQms)r^H=l&q2E-oGd6piF;^%@1AJXs5eZwfkQ=xh|J@N zB?*1f19omb!rvXlVbE-8Dp7{e%$cUbM%hE!UcP#2)a;Y*)oMuNE)Dj4cqyQ}#5xc; zp1^>vSdqT9EIejmft4Pw;tVZ`B-mJ!`bZ3WO0NR8crR)~jX#%&(wJn}D=`D@#=SO{@zmHq8uu%304G6db+gI04HRNK5gp)`RVCCUbxAv`Fo z9dp~uH>hGg?)~zZ3@Tud7D8q>6PUYXB#uiUqzjo;a{N}4^3~B%FBkRPjTqSv-9vGJ zu#8KP?kWWJz@s2}eZoV5fwVNge{#m4ql=7C~Ysfth@!rzKOK1Y{u2_JD3+4corGUNb+{~zh{FPzDJIdVhJy((^ zmvA#^x?l}0Mmz&(*oC(PDpq}Iz7`ZI`?F0DFPA3EF*CG#Jv|XQHuZ34R@+kf3u;Zo za5X40DOaQU69<^p2$cH>M7Pz?=q@qhrD^l*kp7m1l|$a`MMN6=8T47vZa6 zPzA@4-5jAmL{CL;Lw7RJCH}if7~Pn+8j7-p4J}jA$&Qg_Kg@bbWs2Mq0@DdmhoqNH zBQbkc71wKBc5JT#Ipxe^vL6w{_8uI`&q6mw|6}ZO)IBMi-&zDPz4ly{0@2hF@8d%8tjrzU+Z zt01H}rZTJqp-~Rf!#4K_x+<;6J`MK6uvyk8_u(!?ewGrkfbGIyj{~Va$m!@HcOA&^ z`2(WXRC%{gK>#b|1C0!#pF?|0)VrezUaLthj@VsF#MjN@1XaZI5$MGYl!&>>=uwBt zeK-KP9{6&p7y@%)!TQM*be)lSoiZh_kaTG?@4wup+wHko*IV3HQ6dz$g>~bH!f}W! zuj1w_QhKdmV$(7r=dpmyu&Oakmd*aDDIInn_Bk+CyHfrYAikELh_C;Bv_cga1b{z# zok))1p-Lw*0h+p5Br!PgWHC4#>2Dvs+d;inK_(Y-<9s(`ub~lL7`zq83zjVw;pM&}M*(mlAuwROeYIHfXhw&N&9+o-F8XKfkVDdwKeI>yXh5a@!p=X=?15p3qd`|^C~o-woT9l8|C-HZ`m zK<;{1K&s6ge~yeeEpEPe zrS?E=_v*N$KODcii|kfE>p$rEWQ}pK{P(C>%e>a-JI(7R}WtHC6 z``feT?|B|WzpgC*C&sei`cUAm=BeB?JCkPbYNZ(2t)4Ibzdg_Y-P6IMIp9WK(&o!u zZ;pPS_}%l?;A_2Gd6x$R*Jlsxxt|nd;d3y7*0N|%nbVtRxwrC?cbi_QT!*ALg*CQC{BnTyJi(eb=@DVP|&Yz|q-$pR3KYx2H;9 zBs>pg_4pe|wU)fGP=30J6FyzctVrkzz3uK)T{1EA@I`6Rp8g6Bx@#~0I8EFV!ggLc z_%?g)PV7HbXPQs`-dy*Nz)@Ur9?b}(i7%4jr%=450!Nt|znRD#$4Ob+#Vvq50PAWz+lb%wtlxYO@IAbt$FCFbFrGc<>x(=gc4POH1!esyr1r9LC2pT2H^RGL> z%svpm!!+@b3xis71Zn(Ag#ord1=T<)6;VVzH--XDumZ6pG_@LAQAa4`x!Ca40uxBb zh3N}LsGUp(&ylDUO_&Wvtt!?KECZ>j_Ca)hL-;>8l-Dc>`VS{0W!gM#*zko5L)n6{ z1nIw?ikgPIF!Hr|9!S|6n9f0;Zw<|&nCGV5%S1Op`VKJvlQvvfk&ZrfUn(ZGQGH?b zFh#c6#(*YXbb)FcZE!ydAd*}+%%7qLaZ6m7xf;?88k2zN5wMT9LCWb;%5(sqqSdIW z(Ctk73?R$&rbB-Gd*W)3QeoY#B%Z9_e#0#-?ymPX+Y}5ujI5xD#woy`ioj}5Y6D;f zP@4{o$A~r>!A4sBEiopo{8$GiJJ*at+Lu%?{U@j`P~@_NUH*%O!J*B zo!it2Zfd1Rt)_HLTfCZH=P;FbQg|O+nk>8O%n)~3f+BFSEl!Qj)@k}T#2 zwK-yuQ5LkbRhtiY8F*z~~|HoC|=EnM=js z9{;R%8sH$&i=&A;M5{LSbRorGiQ{3!TL}#>71s_qf!i*P#8p?R(i8cVk+x-PDZQCnLwl${37Z=F{vNkh zT?MIDPwDAWib6PkDNO(gZ4e(E>pnQ_gF|XrwHYOX%xb2A6_MC;zbgwN2K)mQYYuAQ z>Eh$Y*ic+FWDfHb5rCvw{lvge225kge99e1E_2GM_7vIG1C*pT2RP`vA@?}stH8CN zZyx)EBsm<%4I_p?;ubP=g>F^R4vuNWlx(Aha`#)62DLmNBJbtL={sXQ_?eKxxo}?bnc!i)vSV zUWxnQ+t62}>=}c_0bO9S<2ia#fRg2_Cr9p0` zLAzwL>Kmq`cZ((WHX(G?YzL1atA>H*;xq!1879RvaJr-@`y6LVHXh&`WMWGq8D;w zjA~*L`P<7zAge6zaVH>Yup9J~^5k+EK7LIsuZ@X{Xy!g~zQ63oMEHTRDUp15ZZG$3 z>w&k=hnC6SZDiXFw|fmB4JFp2C#= zq0f%krcsdCp4DKBZd3fVfDgu2dH(OR%RQ8r0hm|>uyh#({Ys6{=H#TQ;U#!)6RSD} zI7WVqho@qvoTU>!{IG_JVN*FPG;+-Df$+22DIj2CM(et5f^^@^ujERK+CinOi9m!3tW-jyXiU}ri(VJ(CglP zL@7%ci(M*SRhxnKlJMyLyp!Uu${9DZg&F05q(+${*6MwYyT!>H2sJxYSPXS`*z6!y zeyuaw00;9#cJ#!UB}E^+=JmfF9E3v%_}P<~-P(Y*06pWGBS_s&7e*rF|IiWp=+sAy zRpGX!0NPncjfVhv_9cOu$6Nxctrg|vvSW!R*N)Q!Dv;KE}1mcQ`ipaJ|iW}pNq~YK~$>D&E9)l zy+#?01&$kR?_PAvaE-!<4SbVO6Na#E>_(h|mvBWK)M66|o?JJ^F3_#DG^AIZ;0*!B z@Q^F>8)ZZofW^AIrgxL+3TPPRGT~>zb2qbHs}f7%BsXDTVI6``6~m>%Rz7CaH~qFr zxD>Gj7rxwtL1w*&t%{V!U=*?f!q}&Um1?lp5p_XsB1(kl7XbJMG_cPJX;cFO-6U1I zfO1C-4W{}ka8fs8Ixe6Gf{*Sc)74R%OHj=hI`6`Kxm7{x&NNxVyb>^yosP?om~}c< zG|@AaJu^4No&!8q^+U8a>=QN%-g1hG4EH>=tAkWnDfQPrm4LiCZ_HGKx{j&~-Yh%@ ziraB8C#58r0NQW_qGte=a23#e3*Z-?3!wX0;g^T%mCdIyXS1Bt4}A-K@M;Ra3 zBT<@gImBF;O7YhQ>s9~-lS1izQU}`Aa44~hhz5=Qt%~P*X>NM4R>ZPKA}>;f#r&37 zRm~FqD4Li#p$7Ko&IP{VolgyMth=(dQ}3!a0cDEySk^Z8o$Z2M{;&#^LKrWFy~Iuu zWBdGBrq(MYp{)ylC_#R%7y+`eA|=0h@H78#X@Oc}iDVLZE=U=SIvI(*4VLn(+q)a0t3FUKOBRAxzlxrRXvucDV0DY6embyl4Y2dc zW(;Th?mkzi3Lts^Z0b7(6(YxSe}ckV1^p36%n9;y2FYc^R*x?PFpS1KjyU-&;A%m* zrr<$iDsfbSQUOJ+g6o(%((Ig*#j5UlzN;sQy!G(U7FL;(jADNfYLqBFXi&BvU$XGM zj{~S{^=W>z$2jF5a;IUzJanpT)2P%>X7WvTQFQpdS0au5xO8wJm95 z`0FPlr$ahu!#i^f4*rsp!|F7xNVvI^9?`GW##~d8(_OPXr_U}Y<4{Lu{m7Y+gMVE6 zv*AQHUD!7G!2FT*)t8N|QyF)Y=e9){iLV|%aOPb2fcJ1#&gT$$`zA9=edHK3wm9?A zn%ftze;;|)Ho4^KS?m0l-+iB4Ji4?X=fkX2B z)fZy+$=@O7%g7&t^?N6ujs3o|<3;Tst$|f9e;q%zetdm`$))_;dun`F)M;DZ*ssa0 zPLg#UPMGw0Q5#~o#|`UKC}ZV?RIRDLa%pH}==so%Zts<=4h|KuCJmBaMW_XsU7C7b zTaf>7*VxWr?XyRht+Kfj9JC{|(cdlbR^IGW_fKzq!S@k7o$Gzma^%1w(Q-XbNfnO4 zFXd|<-t*=~q`lp(T>HHVuixg~AKs)^aH6y}FLp(_-t%jx4rr#D##w3w-`*JET4qtH z?LG9VVil-?j>3l_qhar(f4rJ|1;y*7=*6S;9_#!M%u?GVhP z!^)8V60Ri7n0L#BHv{>fLu(;_CGG{#TEM(Y7dAB#_-jh9ks(ou8hV)usz0a``jiMA zu6nl%HU-e-0*b#L%>PRrCDTAB8pKtYW*4R<6i&mXG<)@?n-5a4R8Jz)PGvU%TcbN- z4b{D#PX7EGPK7{HX7K4$X|xYjpf8WzIUpg))^Yj50H^UcI*Y?PVAR=?07efBf|UiU zk$YWmEW+IablOh+%FW8Qs^}o_MsmQku-e05jL5wSAg_j0AM{Z;H$Rp2F9DsoP2?FN z+D2ey)0Ey{5WP*#gd|HzPUwDx@}2h=z`P5l>f-mdo5;p}n| z_&~)IxlyxanCP#qvRP+kb}q;f&PAYcdCd`IrONEKxf2IsUVH;OZ5A}&mENHXk127N z6sFwEK$V|RZI5dT+80*hLl~wZM-`_{xz5-Uu(v8OxGQd(4R^bzs}51z_!WxK<$i>c zE^P%mGiczN6n8yPUG5#%^94PO=Bv(mYvj9#lbi=;H#ojhgPBfb9};G+GO5b(%AdNk zTAF;YbYf!;wRXD0knL3;aKXjBP{=R^c^gs<3 ztv!j}n6Em+;D$&DIJwtB{XR>;ZvwLC0;Ux?VBDk%@l3#k2jAct-IOYVE(NR|>pZ}- zgFI7tTOsX_nm~USuFPs{tz>z85WQ~L2Ij=oiBng>i#Id=Sn~N&@-db$iY1H5pn{p= z1^)IS_O3I4GpLx_8e`UN>K6Jxwm`O^FcT-cqG1hD+#9rj9!X`Fj(mx zB+7s@p<%0rBTu8BbOa=+nKL+rZ#41c$eBAdrUEC@2qbYj7mYE(**!tS?>+N}%35jEL8W$uDO9IbymfOkJbxk*X`vsmG zn)@M)VUOB0%DZMICio!t0{`Z^@A$Z8Yx2*@WFp#21O|w!-t9-A&W#v&Nx1=Fvk}Fl zq+1Z@p$nsWlwgyA9-im7_wiHkfdnwT1?oMj^S-PIwZmny z>+?ydkn$6$CF4>#uHJ$`rk?>o(OR+Z0i6j3I);c389Y7;xbb1CtoPfh;|Fw8&cnR7 zGq|GSZYI#e%i3LCe-(7V*;kpf&ZTChynms%`b?+DZHpg2{}_v%)Fk{xw0I-NpZl`m zM@VjS@2m&wSbw%G@INj0A7aUyskZDVmSCVjPRLcorz}8r;h=TlfDKCUQ&!-FlvDzr zyYCVZ74w5$|HXiT{YCMIaS#UzqbCuJtpF0C!y<1o7z6{{i}R5C2}rT3zdEerBHrZ< z<#DjXP@Z~IGSnEkm=isDG=nbQ3N&hRD)2(+aE|{pMAR&RbQnx6V1;^J9Xh)W>oSqQ zOA&fTm3~UTPU)SpTT+ueQ)+mVI;J3$=MKzGZIG9bwSBEOtjEjt9;f4@5rh|DY+gVCWw8PL-aJX8}iqLMOGZNWBx3<&Y;_~MZlHvmkE3m z5>Vl0NU#td2H02yws%rY)#ov<=%NX|1@is{Vwu@z7-^gp(l=5=50krA)XWLLj=6tVa*W=sC!_MzRKMB z5t;pbMvlVj5Riql6&P*QD|Dv4DHt>Rg%O(}>FpIz=6>B2FiC@v=K0b+dkT!CEXhIq zIW41L4S@k<+ViA^Aa2+$ED_*C);-|8D9Y^Nh}rw+(0ri}wHjPz;vm`ng!2vfwf3F~ zfbNYyRjEm-qhGTz!+XuUBz0dRx22D$M&Q1^Srj5ET$h1fg5vMQLfRTNMBrYDf3pa2 z!pR(sw+|0*@B?>XJS9jy8n%X(KoJY(dH+>9Z&f5_4wWf2%}>1Y&xGmW^C@R$UmR#S z&PKLYD!A=YrA(dEvX2=c9X<*Q-{a2c4r%z^iQ$!S+$e=uI}k0uiVuTgoqb&t+Wb1vnoDR)`bdV#9Gmgf?zr0+~hT_N1cLT2%alX*?Bti|LTh7EBGQ z)&@a<^PCz`zSA&Qs0?b_3eibT(-7YK-UIgRua??O;4LQCDWX%l{sLKpY^ahIjs|&G z12c{mJAb9PXBj*`YOkow74Ka%#mCx(b>hWl;QRsz{{*TMRG)6!J zR24jhA|VK@;0x~h=3F%0f+l`7X(aXpOYL;Qlv`;40sCwOLD`yyy@32xxyE3p`!+JN zO|D5!odWQ4yBl*c2fRiG95-SPb$yoY<&>Go1Mg+~Sga#~(>onrG5;@IFnX91?H>L(~H}x)qtrc6At&L=` z-=RmLvVL+W%N|ul1q(b4FLr9E~>B2qG4x@J$Ic?JhpE9^+2?R;f9$-!!;BLOxl0bo(};a)LK&_ zh75Rh6!U1pb}+sLd0w*;)`0+kH-PXSkcxhD#=gdJFG03CDHXWn)$HzCLgcaZz?>u) z_hGpM*+T6uS&&~=yb&<2J<&v5Lo*i2#nR8P))YN z0$K9H-cJ=QU=)-0-&zF7aE&>=akle<*=!((uPv6m40*{}1c9E4t*n`E2l2`3H6}>s zeTDie7}9gb+@Z45XfVMx6HVL(@sz;A1v`*_0>0o)SQt<%ehegnW}(G7t^v|z0&g2Q z!0^zkS%gfIQp)>f`)y7c;hoo+rv?o>^AbQM$V~w-zgIa5!0!}h0H}2*JHW8m3V6r> z(ga;9@}U&KZq3hv+O`?VhFOK{6>V7bBH3)kz{e0L@Fv=BBDOpnaHsiF_9$z`=Ou(b zVi^ZD9;Et83_y75ECnA1#%XGh=)ZOtKnN1z2?6hl0})@iEBN;wSM2?Txy6x0ZkvB{ z%yK$V2{<5zaW7H_IqHP=eRcGd20(6JIYfpQ<(>kLh*XgDvrTD`KOr?2##YiIl>dL( zYWN5)5j14a1kGjd;K-V)=ZeRc9UGEl=kf={65sPud~4CNk5Gj5JxEt~8I9MvuriwB z(4~Uc-@F>d-j+t+Q{#7&`D>5j9uvQ(I%y8KwCu*TaaZbbYP=#6wNKObzM}s+K<_6y zNQ`lC0k&{}6g-57gVu4u;`(Wg>3oUMGXO64ql1)ud2+4J>~svLs{YM#|^KhEpmpl z`L#(SFRwG4+f5*1S&=1<;ucWhHeDA?w&HU!HU5GQ#las21s32R5Z7vm(?Uzw3-4?P zDD?_BfHQ#A!SIm+cxqDjYJ3Dj2L*RS4?1Ziu!WSV5iln;4f}}iFgYE5&1l`P?&gVkp_!66|Q|eFTh(646cG?dvHKMk^DPAxKwg z>qeK~M+|`R?LNue1xtd;PJ!LjPTh#@n6I?ojKuwiDGnWY1`2-D19MmpBY|SdxF1{oyMofh}6q z8FZr(V^H{UiWWw!E?3oGkIW!=#L1TFs*vq<{UGyu=UP69(mTI*<#dWJ9TkV`aigmt z_L+UMh99QQTiWUuE&C0$9sHw#dtU>0r76q{XEwQ81^O z!Bdjo@11V&IRHkN!YC)JQ|JbtjbIVS#y;GL{{2Ca;eJhyiyMqvOp$Y_b%BxCKLIgV zosQ;)Z^n)8ZkWZ^c^*u)mDQn%7VfV0ncz_FfamlULob)D{ol85Q0*mQ*LTxuEaxE$ zO;;sqL253Up+z0VqT@@2hI?@{wcZV2*(AyT0!FIuV_*+bwpf4xH~0f6;yH8*H_>S! zfeo>h`+k0;E&{&)TL^dzcM)pNQ}p|n{TO$_VMp+_w*=|GU7(*^tE-Yzn>;wYa47F( zt`92|NFG*V;5w!QvbuanV5lMpu9FZ7X0r>x4LM3&;NFQ+;!3W#F-lj2#sK>?`jyg4 zVCY%=j4l_(a2&T3;u#>KcX3;lxwCv_@GWtm6PX9JA)Xy&v{!eO4DfjvDYfbSeqJ*q z`xgchyvLB|DmqXlmJ?;O*E_NQS%-k4%uT=QjP0S;AU`p}7HDJ@Z1__wR)R(UanQu@ zjf_o{P6dpl3eiu3Mv#gRT^U=9aJ9t^aPeC+*= z#L`Xw3)G!}_^ES4_GX}ap*!c%fzh9?$DeSd#2LUSA}sn>k$W?IBbEb(Fl3I-S_t5f zN-)z0NJJqe3%aAw1gwhx3n2M^o*Cp%W;f&{#on1P`yl#u3dE2qiOnv53##?}7hb3l zA3&t!Z6HN1;0~p1`ajKoekcuImDhD#M-Yd2Is*|cupPqao~}U?>fqz*NKHV~%uQq2 z>2N%pc}@UK%3Yc9rC_5~c9Zt$00S}~_>I)VW>-FpR^fW_)#M8X91_0|mp%>pnU${* zSg%e2cmgieWB|V{&_e(r;ikGUO2AZ+8K2b-Jc0eeRDn4ND42JRE@u4%0syLTF)-_g zn+6Cq-{zSB7?W#Kyjt_V78^mVf6nkLSuIs8pq+xlorn8){o$ZT5d)YT;D+r2aQ!rZ znjlNCKkz;dYy;e05}4EV{YwM|_gfyo_b<(l=~lGg2D_J1Ld0Q4hY~rZ?MhSMeImpE2-Y*GNa($w}lz=q;x)RQ_+3B zBm;vS(GxNhZVY;B*t}tAW}R|?HfI;DCgwnmCQYCTg7)RcwX_Iz&UOw{Af4G~g+KiB zZE*I|6>uHAa7vN$HKEJ_T-ku8& z>x9$iF`siQ5cyQwoFQdoot&jAdjVtl+dChKR()3lW_;Jvg%k%BcxawKE)^@`(j`v= ziIQ7_hn>pEP3vgPfH&$^J_Mran^isV9=ImHuZhEiWTtflIk zlZg+&>8tW=3Ka+`&Ju72&-*R-GHiL1Rs? zwbi^L7mV*)Fr6Za<9Y)&lyU>o|GccSE)p9GC018~fngW9$%J65*t7?Ufj6JS1QIwx}~`0TUt&~Ql$73xa%O>Wr+OK zRgJLSrQO+=`(qJ2{LEL)RWgf?nrzaR1=NSd%4N-vS-eYcJo( z!>L(pqeSV|md!>M(J|;2ct8jo!3RSap9Fzt+s=Uv=-rGID~_y$4HdYmZp>dOBM$<= z-Qm@m-1K!22)B1QUIX6vhv|&Ppy|}=sF1q|s3n65XibqxVRO?eN^gOG(sXs`SMt^8 zf#`0=ypl`c65W8}5~T-Q17SE7RWst5#&K<;`+C5mU}+4;|JTEnhc$7g@kug-K?nr2 z1mtKq3T;84U@3y-2!bM@wzj}>1{D+$j71O)#$0N(UM)315!^mcrR^e`T@a8%Ca8-R zIf@EYQW?{^5^FX1?!x-{1Q?W*IFL503KZFk26N&X3ixel48Q zITjf$);eWYrIf-t zg^K{BvI<-JdEq(oF&83aCw+{X>7>d@D`jGHIUMk6Wl^=Yk|Y`R3bVDx=L(#F0BHko zE@ZV<(E5Fe*ph;Z$37f#oc{CDDume({Wu}-YcBOLA zW&jJ<2>h>X??L$e2D9E z895Zzv_Ir5Mr-R0=W9*Gv{=MqIj_abnUWkdeh!GCu0u%=rCt?wcQ`@dMn>ii8UVBA zMyM(0gGjnT(%4P2L|1GMCA|dt@s`|#g zQVzPg4J>gpz^!4R7{sCBhz&B5)JaI1llJ3!Vyxf!pbJ)a(8AwFjQVl9DiAW-GrB^Ru4Njcyq&y1$$4mpH%B;f1ZhdhflwC|2BIE}wTUq^=Ta z;?QLW9UQLO^W?W`0}v=;qId{o1uY+}Pw}aRKyAUNs9&Jy_w%ZY=i@^9h%)oF1jcX%2zakfz9YQyNbQ41T2Mi-B zuCf{oSN!)051dj&gKP-USo4Hj2U`Rz1}oX?<881;Gu2_t_FdE+Vd3^#!EtTg&pH-l z^4Y5y#ZJg=&PiKR_P!;cLDY;K*oQP?HoM=E4xD*6JHNf3HVWAlDPtpLcb7<9Esb{2 zMyswXU)I4WMMI9dSjlc8@hgHf_RS@(R42 z#5XSN4u!KQjTlKXE?R4@`^p-`3@F*h$zbIH!V*D^s|-?Yl>Gs8E3vW?8*BR=c&7?2 z2hV%&*sX%a`GKl%Zwd;?q0yf*d;Y&YlWCCaqLCu5ay4v!u(XLRW>>-fEZ_hh_$V=p z0WyRew$B=RvW!$4)}AFNc`$bltWc$4e!F0IGD<&Z%BuLv>$*%Ek>=;wTnkvmY3;On z#$skP%Sdg#+Hp|LxgQR?pc0-CTFk{b4M=<<@W4S-1#P7)HYr-JA{I z2I{b^p;z*{R^BkruYWOMUmD35h@pJRRGYC&XZGtxg>V#xUCiqze6S>N(?1us@9sKA`vR^gDtsb;UwSRqdN z!vNsTSZgyim8#vb4NEiwNAi`)fwf@sf^iD&=w>!U-{gODp_|=cNUmV&kMT}m1>$TZ z-^a^I7Y*HJ1MHPN0%qnzocb~6gBV9V78qRn(zXdFI1#MlG(nm6$5KKFyA&_1w}OjQOpWdvhn z-EPO#CZ-H=r38j`e~@>)XXZoF=Cg#Ob??Hx1L51ZSN1j(H)i&7Z~6`rX}gS|-$UX~ zN0Ja99x}-45uEP;ZYl*yb^J?+Hhem5a?}bM_n-8@(bj-IQmDdOyz~uufv!-mcJXv0ZbyZvN6Io zZBNdT8|OoTkPreP5zT9-p=GrO5a+?u<~-mrRDdkkbf*FX9~IDV zh$&=(hd^J}h-Al8J_Qf)`+rV<7N^T}A~oFkY1*UL&zeN;LLPpNPz55-1Xz{9kp^FB z=w}4M%JEFbZa_@1gUuuoDlb%ED;{8}j$nWnVbm$k6O>^EJwNwq%w+o(Y7v(U8n&#Z zg?qs~k z22?P(x*Jk?JdpF!?Z1gp9wo9pnT=+xe>}UcsRB_tDTJ?$ee>AXvV{WE226+v1~98V zx!&I=CoIAX_#N&XDeqs^-twShn<(&|^c?r|qq`mpvdcH6MdrnD4Dim*IQPuni}&ke z0&gTMj2I3=Q>hqw z^~>6(#)8^=-m&k5_KZdBuB@urZ_$uAm5~-16P{Z=c%(Kvhzhp6;p3g|wDp^={Etl2 z(-U^C`}*>!z1CHiZcpxdB@jBqO>9x#2M8E9@k^>tTUEOHdDP`SpSo0RJ+X4*H_)wY zvKNwPLbNYQ&5FfZs_XG5@MbKZ|-jb&;n(d)9MEG40Vrd;(W$P5SFf;I~bJG4G!dBR8?-ff#Vc(rb4B zaC2M}qR*@~n$&z4-$Hu+C~g@{ej2buzYsM;l@ zj6HTfxE<hP`3p;fID5-$1MMzHTID{o>u>(K9;%+74l?C`^DL(vj)db zEggQ@Q>U1Q7beQh>0>a>EH;4pMeucUHOF^aqx$yS{A!Uu9)7Wg$gNX`)C^ z?J}+rt!ecv?7FjJF?qiF`OW4oX__1Z;Ol_)h(JfI2T!w6){m_9?ann$ddvi&2YY-! z1KIqGV+5hlhZwEV)O9y>u#9xZix%{ezkY|xQIJ&For@T0WcqIKz+d=kExG*@e;c{W zWFw}f1U#VV0i{Z`K5e%~;AIRy{XSuM5iR2ZhdxhH&f)2Dx7mAiwK@HF|6(KkLN>~w z5b#;JhoQ;=UApwLJlmRH2k-eRL7lQjVzZnq)blA!`GVn4QRhNAV|lEo5uN&Qe&ONs zUvr8|C9BB`Sp9d9iU8xkJpT+?8cg*%Xs7tF(?~wM3qLZR0s5W;j(38T_R@$Rg!CnpuSt&LX==s# z15tMq5YjNnu@B1lt`305*yzIbfo#!uiKgL$nW)jC3wcAHI+NC~dZ}xh7lU?evzu`^ S@zVti{vyJ*Y`DhbOaBLbc=9y> diff --git a/examples/fire-bullet/fire-bullet.json b/examples/fire-bullet/fire-bullet.json index 73ed5b0b7..3fc6819ab 100644 --- a/examples/fire-bullet/fire-bullet.json +++ b/examples/fire-bullet/fire-bullet.json @@ -12,17 +12,17 @@ "orientation": "landscape", "packageName": "com.example.firebullet", "pixelsRounding": false, - "projectUuid": "5ce85053-a1d7-43e5-96da-33738912109b", + "projectUuid": "eee77fd2-d59a-4fe2-bb39-570a750e3bc7", "scaleMode": "nearest", "sizeOnStartupMode": "", - "templateSlug": "conviction-of-gun-dude-desktop", + "templateSlug": "fire-bullet", "useExternalSourceFiles": false, "version": "1.0.0", - "name": "Extension: Fire bullet", - "description": "Test the \"fire bullet\" extension using sliders to modify the rate of fire, accuracy, number of bullets, and firing arc.\n", + "name": "Determined Haircut (Fire bullet)", + "description": "Test the \"fire bullet\" extension using sliders to modify the rate of fire, accuracy, number of bullets, and firing arc.", "author": "", - "windowWidth": 768, - "windowHeight": 432, + "windowWidth": 1280, + "windowHeight": 720, "latestCompilationDirectory": "", "maxFPS": 60, "minFPS": 20, @@ -72,11 +72,7 @@ "showGDevelopSplash": true, "showProgressBar": true }, - "authorIds": [ - "gqDaZjCfevOOxBYkK6zlhtZnXCg1", - "9MGDlUQAh8QUilno4JPycekjRCJ3", - "R0F5QGNCzgOY5w2cxGeKJOq2UaD2" - ], + "authorIds": [], "categories": [ "action", "shooter" @@ -216,6 +212,7 @@ "name": "PlayerHurt.wav", "preloadAsMusic": false, "preloadAsSound": true, + "preloadInCache": false, "userAdded": true }, { @@ -261,6 +258,7 @@ "name": "Dash.wav", "preloadAsMusic": false, "preloadAsSound": true, + "preloadInCache": false, "userAdded": true }, { @@ -270,6 +268,7 @@ "name": "Shoot.wav", "preloadAsMusic": false, "preloadAsSound": true, + "preloadInCache": false, "userAdded": true }, { @@ -477,6 +476,7 @@ "name": "ResetTimer.wav", "preloadAsMusic": false, "preloadAsSound": true, + "preloadInCache": false, "userAdded": true }, { @@ -486,6 +486,7 @@ "name": "SceneStartSound.wav", "preloadAsMusic": false, "preloadAsSound": true, + "preloadInCache": false, "userAdded": true }, { @@ -495,6 +496,7 @@ "name": "MenuButtomPress.wav", "preloadAsMusic": false, "preloadAsSound": true, + "preloadInCache": false, "userAdded": true }, { @@ -504,6 +506,7 @@ "name": "BulletHit.wav", "preloadAsMusic": false, "preloadAsSound": true, + "preloadInCache": false, "userAdded": true }, { @@ -513,6 +516,7 @@ "name": "ImpStomp.wav", "preloadAsMusic": false, "preloadAsSound": true, + "preloadInCache": false, "userAdded": true }, { @@ -522,6 +526,7 @@ "name": "ImpHop.wav", "preloadAsMusic": false, "preloadAsSound": true, + "preloadInCache": false, "userAdded": true }, { @@ -949,7 +954,7 @@ }, { "alwaysLoaded": false, - "file": "thumbnail.png", + "file": "assets/thumbnail.png", "kind": "image", "metadata": "", "name": "thumbnail.png", @@ -1054,6 +1059,78 @@ "name": "assets\\Bullet-1.png", "smoothed": false, "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/Ammo crate.png", + "kind": "image", + "metadata": "", + "name": "Ammo crate.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Tank pack (80 assets)/PNG/Retina/Ammo crate.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/Treasure Chest_Closed.png", + "kind": "image", + "metadata": "", + "name": "Treasure Chest_Closed.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/GrafxKid Pack/Mini FX, Items & UI/Common Pick-ups/Treasure Chest_Closed.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/Treasure Chest_Opening_1.png", + "kind": "image", + "metadata": "", + "name": "Treasure Chest_Opening_1.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/GrafxKid Pack/Mini FX, Items & UI/Common Pick-ups/Treasure Chest_Opening_1.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/Treasure Chest_Opening_2.png", + "kind": "image", + "metadata": "", + "name": "Treasure Chest_Opening_2.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/GrafxKid Pack/Mini FX, Items & UI/Common Pick-ups/Treasure Chest_Opening_2.png", + "name": "gdevelop-asset-store" + } + }, + { + "file": "PickupAmmo.wav", + "kind": "audio", + "metadata": "{\"jfxr\":{\"data\":\"{\\\"_version\\\":1,\\\"_name\\\":\\\"Powerup 82\\\",\\\"_locked\\\":[],\\\"sampleRate\\\":44100,\\\"attack\\\":0,\\\"sustain\\\":0.013461135465436147,\\\"sustainPunch\\\":0,\\\"decay\\\":0.17404619835517798,\\\"tremoloDepth\\\":0,\\\"tremoloFrequency\\\":10,\\\"frequency\\\":1000,\\\"frequencySweep\\\":1100,\\\"frequencyDeltaSweep\\\":1300,\\\"repeatFrequency\\\":0,\\\"frequencyJump1Onset\\\":33,\\\"frequencyJump1Amount\\\":0,\\\"frequencyJump2Onset\\\":66,\\\"frequencyJump2Amount\\\":0,\\\"harmonics\\\":0,\\\"harmonicsFalloff\\\":0.5,\\\"waveform\\\":\\\"triangle\\\",\\\"interpolateNoise\\\":true,\\\"vibratoDepth\\\":730,\\\"vibratoFrequency\\\":997,\\\"squareDuty\\\":50,\\\"squareDutySweep\\\":20,\\\"flangerOffset\\\":0,\\\"flangerOffsetSweep\\\":0,\\\"bitCrush\\\":16,\\\"bitCrushSweep\\\":0,\\\"lowPassCutoff\\\":22050,\\\"lowPassCutoffSweep\\\":0,\\\"highPassCutoff\\\":0,\\\"highPassCutoffSweep\\\":0,\\\"compression\\\":1,\\\"normalization\\\":true,\\\"amplification\\\":100}\",\"name\":\"PickupAmmo\"}}", + "name": "PickupAmmo.wav", + "preloadAsMusic": false, + "preloadAsSound": false, + "preloadInCache": false, + "userAdded": true + }, + { + "file": "CloseChest.wav", + "kind": "audio", + "metadata": "{\"jfxr\":{\"data\":\"{\\\"_version\\\":1,\\\"_name\\\":\\\"Hit/hurt 63\\\",\\\"_locked\\\":[],\\\"sampleRate\\\":44100,\\\"attack\\\":0,\\\"sustain\\\":0.09,\\\"sustainPunch\\\":0,\\\"decay\\\":0.03,\\\"tremoloDepth\\\":0,\\\"tremoloFrequency\\\":10,\\\"frequency\\\":700,\\\"frequencySweep\\\":-1000,\\\"frequencyDeltaSweep\\\":-700,\\\"repeatFrequency\\\":0,\\\"frequencyJump1Onset\\\":33,\\\"frequencyJump1Amount\\\":0,\\\"frequencyJump2Onset\\\":66,\\\"frequencyJump2Amount\\\":0,\\\"harmonics\\\":0,\\\"harmonicsFalloff\\\":0.5,\\\"waveform\\\":\\\"square\\\",\\\"interpolateNoise\\\":true,\\\"vibratoDepth\\\":0,\\\"vibratoFrequency\\\":10,\\\"squareDuty\\\":50,\\\"squareDutySweep\\\":0,\\\"flangerOffset\\\":10,\\\"flangerOffsetSweep\\\":-1,\\\"bitCrush\\\":16,\\\"bitCrushSweep\\\":0,\\\"lowPassCutoff\\\":22050,\\\"lowPassCutoffSweep\\\":5900,\\\"highPassCutoff\\\":0,\\\"highPassCutoffSweep\\\":0,\\\"compression\\\":1,\\\"normalization\\\":true,\\\"amplification\\\":100}\",\"name\":\"CloseChest\"}}", + "name": "CloseChest.wav", + "preloadAsMusic": false, + "preloadAsSound": false, + "preloadInCache": false, + "userAdded": true } ], "resourceFolders": [] @@ -1067,9 +1144,6 @@ "disableInputWhenNotFocused": true, "mangledName": "StartMenu", "name": "StartMenu", - "oglFOV": 90, - "oglZFar": 500, - "oglZNear": 1, "r": 5, "standardSortMethod": true, "stopSoundsOnStartup": true, @@ -1143,7 +1217,6 @@ "customSize": false, "height": 0, "layer": "", - "locked": false, "name": "Reset_Button", "persistentUuid": "fa335b84-c239-43bf-adb6-dd7fa7ee2411", "width": 0, @@ -1159,7 +1232,6 @@ "customSize": false, "height": 0, "layer": "", - "locked": false, "name": "Reset_Timer", "persistentUuid": "e1652d74-e4b0-4e75-83e4-154f3dfaff61", "width": 0, @@ -1660,16 +1732,13 @@ "disableInputWhenNotFocused": true, "mangledName": "MainGame", "name": "MainGame", - "oglFOV": 90, - "oglZFar": 500, - "oglZNear": 1, "r": 209, "standardSortMethod": true, "stopSoundsOnStartup": true, "title": "", "v": 209, "uiSettings": { - "grid": false, + "grid": true, "gridType": "rectangular", "gridWidth": 16, "gridHeight": 16, @@ -1677,8 +1746,8 @@ "gridOffsetY": 0, "gridColor": 10401023, "gridAlpha": 0.8, - "snap": false, - "zoomFactor": 1.0749999999999968, + "snap": true, + "zoomFactor": 0.8949999999999967, "windowMask": false }, "objectsGroups": [ @@ -1919,12 +1988,11 @@ "customSize": false, "height": 0, "layer": "", - "locked": false, "name": "Room", "persistentUuid": "0b9fe34e-ab91-4412-8e66-72298d075b06", "width": 0, - "x": 375, - "y": 229, + "x": 400, + "y": 293, "zOrder": 1, "numberProperties": [], "stringProperties": [], @@ -1941,12 +2009,11 @@ "customSize": false, "height": 0, "layer": "", - "locked": false, "name": "Wesley", "persistentUuid": "f53df694-7155-4623-a2b9-163fbeee3443", "width": 0, - "x": 291, - "y": 242, + "x": 316, + "y": 290, "zOrder": 2, "numberProperties": [], "stringProperties": [], @@ -1957,12 +2024,11 @@ "customSize": false, "height": 0, "layer": "", - "locked": false, "name": "Gun", "persistentUuid": "56154a5a-8df4-4aa3-8710-ae73cecb39a7", "width": 0, - "x": 290, - "y": 248, + "x": 315, + "y": 296, "zOrder": 15, "numberProperties": [], "stringProperties": [], @@ -1973,12 +2039,11 @@ "customSize": false, "height": 0, "layer": "", - "locked": false, "name": "RoomFloor", "persistentUuid": "8956de32-a61a-497c-adf9-91b24a68f473", "width": 0, - "x": 375, - "y": 229, + "x": 400, + "y": 293, "zOrder": -2, "numberProperties": [], "stringProperties": [], @@ -1989,12 +2054,11 @@ "customSize": false, "height": 0, "layer": "UI", - "locked": false, "name": "Cooldown_Text", "persistentUuid": "1e029a1f-f6a4-4619-a8f0-716b3149a159", "width": 0, - "x": 80, - "y": 25, + "x": 16, + "y": 160, "zOrder": 50, "numberProperties": [], "stringProperties": [], @@ -2005,12 +2069,11 @@ "customSize": false, "height": 0, "layer": "UI", - "locked": false, "name": "Cooldown_Slider", "persistentUuid": "97dd542d-9c98-4833-861c-6d75530bbf68", "width": 0, - "x": 80, - "y": 64, + "x": 32, + "y": 192, "zOrder": 53, "numberProperties": [], "stringProperties": [], @@ -2021,12 +2084,11 @@ "customSize": false, "height": 0, "layer": "UI", - "locked": false, "name": "FireArc_Slider", "persistentUuid": "eaf9372e-5db4-42b7-9999-2e898153e1dd", "width": 0, - "x": 464, - "y": 64, + "x": 32, + "y": 544, "zOrder": 54, "numberProperties": [], "stringProperties": [], @@ -2037,12 +2099,11 @@ "customSize": false, "height": 0, "layer": "UI", - "locked": false, "name": "FiringArc_Text", "persistentUuid": "2c5011f2-0ac3-469a-a351-aab0ebaa1c3e", "width": 0, - "x": 464, - "y": 25, + "x": 16, + "y": 505, "zOrder": 55, "numberProperties": [], "stringProperties": [], @@ -2053,12 +2114,11 @@ "customSize": false, "height": 0, "layer": "UI", - "locked": false, "name": "BulletQty_Text", "persistentUuid": "3e635cf0-26e8-4831-b4c8-9a6e43133970", "width": 0, - "x": 80, - "y": 377, + "x": 16, + "y": 240, "zOrder": 56, "numberProperties": [], "stringProperties": [], @@ -2069,12 +2129,11 @@ "customSize": false, "height": 0, "layer": "UI", - "locked": false, "name": "BulletQty_Slider", "persistentUuid": "3ed488ec-8ece-4730-99a7-ba46663d353b", "width": 0, - "x": 80, - "y": 416, + "x": 32, + "y": 272, "zOrder": 57, "numberProperties": [], "stringProperties": [], @@ -2085,12 +2144,11 @@ "customSize": false, "height": 0, "layer": "UI", - "locked": false, "name": "AngleVariance_Slider", "persistentUuid": "4ba03852-fc70-414d-b10a-947780e9521f", "width": 0, - "x": 480, - "y": 416, + "x": 32, + "y": 464, "zOrder": 58, "numberProperties": [], "stringProperties": [], @@ -2101,12 +2159,11 @@ "customSize": false, "height": 0, "layer": "UI", - "locked": false, "name": "AngleVariance_Text", "persistentUuid": "ba5430f7-8f89-450a-91ff-d9eb43727c5b", "width": 0, - "x": 464, - "y": 377, + "x": 16, + "y": 432, "zOrder": 59, "numberProperties": [], "stringProperties": [], @@ -2117,7 +2174,6 @@ "customSize": false, "height": 0, "layer": "", - "locked": false, "name": "FiringArc", "persistentUuid": "eddbfeae-61c7-4ce2-9c71-bd3090645385", "width": 0, @@ -2133,12 +2189,11 @@ "customSize": false, "height": 0, "layer": "UI", - "locked": false, "name": "RotateBullet_Checkbox", "persistentUuid": "b1aab9d0-e2be-4d5d-843e-21fba423ff48", "width": 0, - "x": 624, - "y": 96, + "x": 16, + "y": 336, "zOrder": 61, "numberProperties": [], "stringProperties": [], @@ -2149,12 +2204,11 @@ "customSize": false, "height": 0, "layer": "UI", - "locked": false, "name": "RotateBullet_Text", "persistentUuid": "7d9cd03f-7076-4f84-aa53-88032b8d8114", "width": 0, - "x": 464, - "y": 96, + "x": 48, + "y": 336, "zOrder": 62, "numberProperties": [], "stringProperties": [], @@ -2165,481 +2219,861 @@ "customSize": false, "height": 0, "layer": "", - "locked": false, "name": "Imp", "persistentUuid": "7fc31ff4-5827-4651-b138-a2e69756666b", "width": 0, - "x": 464, - "y": 240, + "x": 489, + "y": 304, "zOrder": 63, "numberProperties": [], "stringProperties": [], "initialVariables": [] - } - ], - "objects": [ + }, { - "assetStoreId": "", - "name": "RoomTraps", - "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [ + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Room", + "persistentUuid": "a01acfad-9198-479d-a958-e0f273255a32", + "width": 0, + "x": 400, + "y": 293, + "zOrder": 1, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [ { "name": "LastOn", "type": "boolean", - "value": false - } - ], - "effects": [], - "behaviors": [], - "animations": [ - { - "name": "", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.08, - "sprites": [ - { - "hasCustomCollisionMask": true, - "image": "Room_Trap14.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 192, - "y": 108 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 265.0986022949219, - "y": 56.748435974121094 - }, - { - "x": 361.06781005859375, - "y": 56.97931671142578 - }, - { - "x": 361.06781005859375, - "y": 80.83694458007812 - }, - { - "x": 264.790771484375, - "y": 81.14478302001953 - } - ], - [ - { - "x": 22.905242919921875, - "y": 56.90235900878906 - }, - { - "x": 118.1048583984375, - "y": 57.13323974609375 - }, - { - "x": 118.33573913574219, - "y": 81.22174072265625 - }, - { - "x": 22.828283309936523, - "y": 80.99085998535156 - } - ], - [ - { - "x": 23.213083267211914, - "y": 166.87831115722656 - }, - { - "x": 118.87445831298828, - "y": 166.87831115722656 - }, - { - "x": 118.02790069580078, - "y": 193.1986541748047 - }, - { - "x": 22.98220443725586, - "y": 193.12168884277344 - } - ], - [ - { - "x": 264.86773681640625, - "y": 166.9552764892578 - }, - { - "x": 360.8369445800781, - "y": 166.8013458251953 - }, - { - "x": 360.9139099121094, - "y": 190.4281005859375 - }, - { - "x": 264.86773681640625, - "y": 189.96633911132812 - } - ], - [ - { - "x": 169.7450714111328, - "y": 108.00384521484375 - }, - { - "x": 214.22799682617188, - "y": 108.00384521484375 - }, - { - "x": 214.07408142089844, - "y": 131.86148071289062 - }, - { - "x": 169.51419067382812, - "y": 132.0923614501953 - } - ] - ] - } - ] - } - ] - }, - { - "name": "", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.08, - "sprites": [ - { - "hasCustomCollisionMask": true, - "image": "Room_Trap23.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 192, - "y": 108 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 143.76531982421875, - "y": 107.63378143310547 - }, - { - "x": 240.11605834960938, - "y": 107.9432601928711 - }, - { - "x": 240.0128936767578, - "y": 131.2572479248047 - }, - { - "x": 143.45584106445312, - "y": 130.84461975097656 - } - ] - ] - } - ] - } - ] - }, - { - "name": "", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.08, - "sprites": [ - { - "hasCustomCollisionMask": true, - "image": "Room_Trap33.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 192, - "y": 108 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 264.6679382324219, - "y": 56.98259353637695 - }, - { - "x": 361.1218566894531, - "y": 57.085758209228516 - }, - { - "x": 361.22503662109375, - "y": 80.09026336669922 - }, - { - "x": 264.6679382324219, - "y": 80.09026336669922 - } - ], - [ - { - "x": 22.759510040283203, - "y": 56.67311477661133 - }, - { - "x": 119.00709533691406, - "y": 56.776275634765625 - }, - { - "x": 118.9039306640625, - "y": 80.91554260253906 - }, - { - "x": 23.068988800048828, - "y": 80.19342803955078 - } - ] - ] - } - ] - } - ] - }, - { - "name": "\"ItemDrop\"", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.08, - "sprites": [ - { - "hasCustomCollisionMask": true, - "image": "Room_Trap53.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 192, - "y": 108 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 0, - "y": 0 - }, - { - "x": 0, - "y": 0 - }, - { - "x": 0, - "y": 0 - }, - { - "x": 0, - "y": 0 - } - ] - ] - } - ] - } - ] - }, - { - "name": "\"ItemDropToo\"", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.08, - "sprites": [ - { - "hasCustomCollisionMask": true, - "image": "Room_Trap54.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 192, - "y": 108 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 0, - "y": 0 - }, - { - "x": 0, - "y": 0 - }, - { - "x": 0, - "y": 0 - }, - { - "x": 0, - "y": 0 - } - ] - ] - } - ] - } - ] + "value": true } ] }, { - "assetStoreId": "", - "name": "RoomDoors", - "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [ - { - "name": "LastOn", - "type": "boolean", - "value": false - } - ], - "effects": [], - "behaviors": [], - "animations": [ - { - "name": "4Way", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.029999999329447746, - "sprites": [ - { - "hasCustomCollisionMask": true, - "image": "Room_4Way_Doors1.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 192, - "y": 108 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 0, - "y": 0 - }, - { - "x": 0, - "y": 0 - }, - { - "x": 0, - "y": 0 - }, - { - "x": 0, - "y": 0 - } - ] - ] - }, - { - "hasCustomCollisionMask": true, - "image": "Room_4Way_Doors22.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 192, - "y": 108 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 0, - "y": 0 - }, - { - "x": 0, - "y": 0 - }, - { - "x": 0, - "y": 0 - }, - { - "x": 0, - "y": 0 - } - ] - ] - }, - { - "hasCustomCollisionMask": true, - "image": "Room_4Way_Doors3.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 192, - "y": 108 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "MaxAmmo_Text", + "persistentUuid": "da4f1ef0-fb53-45ce-a485-8a2c5c52482f", + "width": 0, + "x": 992, + "y": 144, + "zOrder": 64, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "AmmoQuantity_Text", + "persistentUuid": "63b0027a-81a8-48cc-ba06-67bca59f8c04", + "width": 0, + "x": 345, + "y": 128, + "zOrder": 65, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "ShotsPerReload_Text", + "persistentUuid": "30511d02-cd6a-4c5e-9f33-b9c1f18a677b", + "width": 0, + "x": 992, + "y": 224, + "zOrder": 66, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "ReloadDuration_Text", + "persistentUuid": "7cd4f8be-b947-43bb-b2fb-b21faf4e997c", + "width": 0, + "x": 999, + "y": 432, + "zOrder": 67, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "ShotsFired_Text", + "persistentUuid": "ffa0a4a6-fce5-43a5-8d97-eb374d8e6d89", + "width": 0, + "x": 352, + "y": 16, + "zOrder": 68, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "BulletsCreated_Text", + "persistentUuid": "0aded219-40e6-4f58-b40f-c039c0c33d8a", + "width": 0, + "x": 352, + "y": 48, + "zOrder": 69, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "ShotsUntilReload_Text", + "persistentUuid": "b0ec956f-009f-4373-9382-091738c8566e", + "width": 0, + "x": 736, + "y": 128, + "zOrder": 70, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "ReloadsCompleted_Text", + "persistentUuid": "4e97d38b-2fb5-4d98-9f8a-a366b0fa8af9", + "width": 0, + "x": 352, + "y": 80, + "zOrder": 71, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "BulletSettings_Text", + "persistentUuid": "b23e6307-c517-4364-b1b6-be64d6c58914", + "width": 0, + "x": 16, + "y": 82, + "zOrder": 72, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "AmmoSettings_Text", + "persistentUuid": "636febea-90ac-41f5-b8a9-f2e62d7e52ed", + "width": 0, + "x": 1011, + "y": 82, + "zOrder": 73, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "TreasureChest", + "persistentUuid": "199c5bb9-7cbe-457f-9655-b1780ccf6b52", + "width": 0, + "x": 400, + "y": 376, + "zOrder": 74, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "MaxAmmo_Slider", + "persistentUuid": "2f4daf29-06fc-4316-ac8e-5b0a38ce4bae", + "width": 0, + "x": 1008, + "y": 176, + "zOrder": 75, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "ShotsPerReload_Slider", + "persistentUuid": "b49995e8-9975-4f64-bd65-a81122fa6bad", + "width": 0, + "x": 1008, + "y": 256, + "zOrder": 67, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "ReloadDuration_Slider", + "persistentUuid": "4ad4be89-c6a3-4317-a4c8-6ce54d42c4ac", + "width": 0, + "x": 1015, + "y": 464, + "zOrder": 67, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "UnlimitedAmmo_Checkbox", + "persistentUuid": "f71e5596-c0e7-4b77-ace2-387d77bfbb5a", + "width": 0, + "x": 1024, + "y": 304, + "zOrder": 67, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "UnlimitedAmmo_Text", + "persistentUuid": "30060c4b-cd9d-4e61-9677-a5df92a0d6f5", + "width": 0, + "x": 1056, + "y": 304, + "zOrder": 67, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "TreasureChest", + "persistentUuid": "f5339b3d-c9dd-4720-b48c-0a7fcd3edda1", + "width": 0, + "x": 400, + "y": 232, + "zOrder": 74, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "Reloading_Text", + "persistentUuid": "5ae96ea2-e3f0-45f4-baf2-ffb33a30fcfe", + "width": 0, + "x": 320, + "y": 608, + "zOrder": 80, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "ReadyToShoot_Text", + "persistentUuid": "cd86038f-5eca-478e-bfdc-f0aa0c8304ea", + "width": 0, + "x": 320, + "y": 559, + "zOrder": 81, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "WaitingForFiringCooldown_Text", + "persistentUuid": "f3ad2523-01c9-4e05-839f-ea83e8a329b6", + "width": 0, + "x": 320, + "y": 576, + "zOrder": 82, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "OutOfAmmo_Text", + "persistentUuid": "8892694e-a295-402e-8789-d9dd87966bb1", + "width": 0, + "x": 320, + "y": 623, + "zOrder": 83, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "ReloadNeeded_Text", + "persistentUuid": "752f4f4c-9785-4056-9431-6190dfd30f9b", + "width": 0, + "x": 320, + "y": 592, + "zOrder": 84, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "AutomaticReloading_Text", + "persistentUuid": "4f9e536c-c2bf-4e7e-8d06-e133c8f702bd", + "width": 0, + "x": 1056, + "y": 368, + "zOrder": 67, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "AutomaticReloading_Checkbox", + "persistentUuid": "b2e98a44-f9e0-4634-bad0-2d61acd972e4", + "width": 0, + "x": 1024, + "y": 368, + "zOrder": 67, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], + "objects": [ + { + "assetStoreId": "", + "name": "RoomTraps", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [ + { + "name": "LastOn", + "type": "boolean", + "value": false + } + ], + "effects": [], + "behaviors": [], + "animations": [ + { + "name": "", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": true, + "image": "Room_Trap14.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 192, + "y": 108 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ + [ + { + "x": 265.0986022949219, + "y": 56.748435974121094 + }, + { + "x": 361.06781005859375, + "y": 56.97931671142578 + }, + { + "x": 361.06781005859375, + "y": 80.83694458007812 + }, + { + "x": 264.790771484375, + "y": 81.14478302001953 + } + ], + [ + { + "x": 22.905242919921875, + "y": 56.90235900878906 + }, + { + "x": 118.1048583984375, + "y": 57.13323974609375 + }, + { + "x": 118.33573913574219, + "y": 81.22174072265625 + }, + { + "x": 22.828283309936523, + "y": 80.99085998535156 + } + ], + [ + { + "x": 23.213083267211914, + "y": 166.87831115722656 + }, + { + "x": 118.87445831298828, + "y": 166.87831115722656 + }, + { + "x": 118.02790069580078, + "y": 193.1986541748047 + }, + { + "x": 22.98220443725586, + "y": 193.12168884277344 + } + ], + [ + { + "x": 264.86773681640625, + "y": 166.9552764892578 + }, + { + "x": 360.8369445800781, + "y": 166.8013458251953 + }, + { + "x": 360.9139099121094, + "y": 190.4281005859375 + }, + { + "x": 264.86773681640625, + "y": 189.96633911132812 + } + ], + [ + { + "x": 169.7450714111328, + "y": 108.00384521484375 + }, + { + "x": 214.22799682617188, + "y": 108.00384521484375 + }, + { + "x": 214.07408142089844, + "y": 131.86148071289062 + }, + { + "x": 169.51419067382812, + "y": 132.0923614501953 + } + ] + ] + } + ] + } + ] + }, + { + "name": "", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": true, + "image": "Room_Trap23.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 192, + "y": 108 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ + [ + { + "x": 143.76531982421875, + "y": 107.63378143310547 + }, + { + "x": 240.11605834960938, + "y": 107.9432601928711 + }, + { + "x": 240.0128936767578, + "y": 131.2572479248047 + }, + { + "x": 143.45584106445312, + "y": 130.84461975097656 + } + ] + ] + } + ] + } + ] + }, + { + "name": "", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": true, + "image": "Room_Trap33.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 192, + "y": 108 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ + [ + { + "x": 264.6679382324219, + "y": 56.98259353637695 + }, + { + "x": 361.1218566894531, + "y": 57.085758209228516 + }, + { + "x": 361.22503662109375, + "y": 80.09026336669922 + }, + { + "x": 264.6679382324219, + "y": 80.09026336669922 + } + ], + [ + { + "x": 22.759510040283203, + "y": 56.67311477661133 + }, + { + "x": 119.00709533691406, + "y": 56.776275634765625 + }, + { + "x": 118.9039306640625, + "y": 80.91554260253906 + }, + { + "x": 23.068988800048828, + "y": 80.19342803955078 + } + ] + ] + } + ] + } + ] + }, + { + "name": "\"ItemDrop\"", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": true, + "image": "Room_Trap53.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 192, + "y": 108 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ + [ + { + "x": 0, + "y": 0 + }, + { + "x": 0, + "y": 0 + }, + { + "x": 0, + "y": 0 + }, + { + "x": 0, + "y": 0 + } + ] + ] + } + ] + } + ] + }, + { + "name": "\"ItemDropToo\"", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": true, + "image": "Room_Trap54.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 192, + "y": 108 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ + [ + { + "x": 0, + "y": 0 + }, + { + "x": 0, + "y": 0 + }, + { + "x": 0, + "y": 0 + }, + { + "x": 0, + "y": 0 + } + ] + ] + } + ] + } + ] + } + ] + }, + { + "assetStoreId": "", + "name": "RoomDoors", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [ + { + "name": "LastOn", + "type": "boolean", + "value": false + } + ], + "effects": [], + "behaviors": [], + "animations": [ + { + "name": "4Way", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.029999999329447746, + "sprites": [ + { + "hasCustomCollisionMask": true, + "image": "Room_4Way_Doors1.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 192, + "y": 108 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ + [ + { + "x": 0, + "y": 0 + }, + { + "x": 0, + "y": 0 + }, + { + "x": 0, + "y": 0 + }, + { + "x": 0, + "y": 0 + } + ] + ] + }, + { + "hasCustomCollisionMask": true, + "image": "Room_4Way_Doors22.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 192, + "y": 108 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ + [ + { + "x": 0, + "y": 0 + }, + { + "x": 0, + "y": 0 + }, + { + "x": 0, + "y": 0 + }, + { + "x": 0, + "y": 0 + } + ] + ] + }, + { + "hasCustomCollisionMask": true, + "image": "Room_4Way_Doors3.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 192, + "y": 108 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ + [ + { "x": 0, "y": 28 }, @@ -5345,11 +5779,19 @@ { "name": "FireBullet", "type": "FireBullet::FireBullet", - "FireCooldown": 0.1, + "FireCooldown": 0.5, "HasJustFired": false, "FiringArc": 0, "AngleVariance": 0, - "MultishotQuantity": 1 + "MultishotQuantity": 1, + "MaxAmmo": 100, + "ReloadDuration": 1, + "AmmoQuantity": 100, + "BulletQuantity": 1, + "BulletsCreated_Stats": 0, + "ShotsPerReload": 4, + "StartingAmmo": 100, + "UnlimitedAmmo": false }, { "name": "Flash", @@ -8595,197 +9037,626 @@ }, { "assetStoreId": "", - "name": "GhostOrb", + "name": "GhostOrb", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [ + { + "effectType": "Outline", + "name": "Effect", + "doubleParameters": { + "padding": 0, + "thickness": 1 + }, + "stringParameters": { + "color": "0;0;0" + }, + "booleanParameters": {} + }, + { + "effectType": "Glow", + "name": "Effect2", + "doubleParameters": { + "distance": 15, + "innerStrength": 1, + "outerStrength": 2 + }, + "stringParameters": { + "color": "74;144;226" + }, + "booleanParameters": {} + } + ], + "behaviors": [], + "animations": [ + { + "name": "Bullet", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.10000000149011612, + "sprites": [ + { + "hasCustomCollisionMask": true, + "image": "GhostOrb.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 4, + "y": 4 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ + [ + { + "x": 2, + "y": 2 + }, + { + "x": 6, + "y": 2 + }, + { + "x": 6, + "y": 6 + }, + { + "x": 2, + "y": 6 + } + ] + ] + } + ] + } + ] + } + ] + }, + { + "assetStoreId": "", + "name": "Bullet", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [ + { + "effectType": "Outline", + "name": "Effect", + "doubleParameters": { + "padding": 0, + "thickness": 1 + }, + "stringParameters": { + "color": "0;0;0" + }, + "booleanParameters": {} + } + ], + "behaviors": [], + "animations": [ + { + "name": "DirectionalBullet", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.07999999821186066, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "assets\\Bullet-1.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 4, + "y": 4 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 5.020047187805176, + "y": 4.086084842681885 + }, + "customCollisionMask": [] + } + ] + } + ] + }, + { + "name": "Bullet", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.10000000149011612, + "sprites": [ + { + "hasCustomCollisionMask": true, + "image": "Bullet.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 4, + "y": 4 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ + [ + { + "x": 1, + "y": 2 + }, + { + "x": 7, + "y": 2 + }, + { + "x": 7, + "y": 6 + }, + { + "x": 1, + "y": 6 + } + ] + ] + } + ] + } + ] + } + ] + }, + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "EnemyDamageText", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Text", + "font": "PTSans-Bold.ttf", + "characterSize": 10, + "color": { + "b": 4, + "g": 255, + "r": 56 + } + }, + { + "additive": false, + "assetStoreId": "", + "destroyWhenNoParticles": false, + "emitterAngleA": 0, + "emitterAngleB": 0, + "emitterForceMax": 0, + "emitterForceMin": 0, + "flow": 50, + "maxParticleNb": 300, + "name": "Particle_RecoilDust", + "particleAlpha1": 150, + "particleAlpha2": 0, + "particleAlphaRandomness1": 0, + "particleAlphaRandomness2": 0, + "particleAngle1": 0, + "particleAngle2": 0, + "particleAngleRandomness1": 0, + "particleAngleRandomness2": 0, + "particleBlue1": 33, + "particleBlue2": 255, + "particleGravityX": 0, + "particleGravityY": -10, + "particleGreen1": 211, + "particleGreen2": 255, + "particleLifeTimeMax": 0.4000000059604645, + "particleLifeTimeMin": 0.4000000059604645, + "particleRed1": 126, + "particleRed2": 255, + "particleSize1": 75, + "particleSize2": 150, + "particleSizeRandomness1": 0, + "particleSizeRandomness2": 0, + "rendererParam1": 2, + "rendererParam2": 1, + "rendererType": "Point", + "tags": "", + "tank": 2, + "textureParticleName": "", + "type": "ParticleSystem::ParticleEmitter", + "zoneRadius": 2, + "variables": [], + "effects": [], + "behaviors": [] + }, + { + "additive": false, + "assetStoreId": "", + "destroyWhenNoParticles": false, + "emitterAngleA": 0, + "emitterAngleB": 0, + "emitterForceMax": 0, + "emitterForceMin": 0, + "flow": 50, + "maxParticleNb": 300, + "name": "Particle_Dash", + "particleAlpha1": 150, + "particleAlpha2": 0, + "particleAlphaRandomness1": 0, + "particleAlphaRandomness2": 0, + "particleAngle1": 0, + "particleAngle2": 0, + "particleAngleRandomness1": 0, + "particleAngleRandomness2": 0, + "particleBlue1": 211, + "particleBlue2": 255, + "particleGravityX": 0, + "particleGravityY": -10, + "particleGreen1": 174, + "particleGreen2": 255, + "particleLifeTimeMax": 0.75, + "particleLifeTimeMin": 0.75, + "particleRed1": 143, + "particleRed2": 255, + "particleSize1": 10, + "particleSize2": 200, + "particleSizeRandomness1": 0, + "particleSizeRandomness2": 0, + "rendererParam1": 3, + "rendererParam2": 1, + "rendererType": "Point", + "tags": "", + "tank": 12, + "textureParticleName": "", + "type": "ParticleSystem::ParticleEmitter", + "zoneRadius": 5, + "variables": [], + "effects": [], + "behaviors": [] + }, + { + "additive": false, + "assetStoreId": "", + "destroyWhenNoParticles": true, + "emitterAngleA": 0, + "emitterAngleB": 0, + "emitterForceMax": 0, + "emitterForceMin": 0, + "flow": 45, + "maxParticleNb": 300, + "name": "Particle_Death", + "particleAlpha1": 255, + "particleAlpha2": 0, + "particleAlphaRandomness1": 0, + "particleAlphaRandomness2": 0, + "particleAngle1": 0, + "particleAngle2": 0, + "particleAngleRandomness1": 0, + "particleAngleRandomness2": 0, + "particleBlue1": 255, + "particleBlue2": 255, + "particleGravityX": 0, + "particleGravityY": -10, + "particleGreen1": 255, + "particleGreen2": 255, + "particleLifeTimeMax": 4, + "particleLifeTimeMin": 4, + "particleRed1": 255, + "particleRed2": 255, + "particleSize1": 100, + "particleSize2": 170, + "particleSizeRandomness1": 0, + "particleSizeRandomness2": 0, + "rendererParam1": 3, + "rendererParam2": 1, + "rendererType": "Quad", + "tags": "", + "tank": 1, + "textureParticleName": "WesleyDeathParticle.png", + "type": "ParticleSystem::ParticleEmitter", + "zoneRadius": 0, + "variables": [], + "effects": [], + "behaviors": [] + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "Cooldown_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Cooldown: 0.10 seconds", + "font": "", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "AmmoQuantity_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Ammo: 1234", + "font": "", + "characterSize": 20, + "color": { + "b": 28, + "g": 231, + "r": 248 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "ShotsFired_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Shots fired: 0", + "font": "", + "characterSize": 20, + "color": { + "b": 224, + "g": 16, + "r": 189 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "BulletsCreated_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Bullets created: 0", + "font": "", + "characterSize": 20, + "color": { + "b": 224, + "g": 16, + "r": 189 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "ReloadsCompleted_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Reloads compelted: 0", + "font": "", + "characterSize": 20, + "color": { + "b": 224, + "g": 16, + "r": 189 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "MaxAmmo_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Max ammo: 100 shots", + "font": "", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "ReloadDuration_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Reload Duration: 1 seconds", + "font": "", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "ShotsPerReload_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Shots per reload: 4", + "font": "", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "ShotsUntilReload_Text", + "smoothed": true, "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, + "type": "TextObject::Text", + "underlined": false, "variables": [], - "effects": [ - { - "effectType": "Outline", - "name": "Effect", - "doubleParameters": { - "padding": 0, - "thickness": 1 - }, - "stringParameters": { - "color": "0;0;0" - }, - "booleanParameters": {} - }, - { - "effectType": "Glow", - "name": "Effect2", - "doubleParameters": { - "distance": 15, - "innerStrength": 1, - "outerStrength": 2 - }, - "stringParameters": { - "color": "74;144;226" - }, - "booleanParameters": {} - } - ], + "effects": [], "behaviors": [], - "animations": [ - { - "name": "Bullet", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.10000000149011612, - "sprites": [ - { - "hasCustomCollisionMask": true, - "image": "GhostOrb.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 4, - "y": 4 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 2, - "y": 2 - }, - { - "x": 6, - "y": 2 - }, - { - "x": 6, - "y": 6 - }, - { - "x": 2, - "y": 6 - } - ] - ] - } - ] - } - ] - } - ] + "string": "Shots until reload: 4", + "font": "", + "characterSize": 20, + "color": { + "b": 28, + "g": 231, + "r": 248 + } }, { "assetStoreId": "", - "name": "Bullet", + "bold": true, + "italic": false, + "name": "FiringArc_Text", + "smoothed": true, "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, + "type": "TextObject::Text", + "underlined": false, "variables": [], - "effects": [ - { - "effectType": "Outline", - "name": "Effect", - "doubleParameters": { - "padding": 0, - "thickness": 1 - }, - "stringParameters": { - "color": "0;0;0" - }, - "booleanParameters": {} - } - ], + "effects": [], "behaviors": [], - "animations": [ - { - "name": "DirectionalBullet", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.07999999821186066, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "assets\\Bullet-1.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 4, - "y": 4 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 5.020047187805176, - "y": 4.086084842681885 - }, - "customCollisionMask": [] - } - ] - } - ] - }, - { - "name": "Bullet", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.10000000149011612, - "sprites": [ - { - "hasCustomCollisionMask": true, - "image": "Bullet.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 4, - "y": 4 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 1, - "y": 2 - }, - { - "x": 7, - "y": 2 - }, - { - "x": 7, - "y": 6 - }, - { - "x": 1, - "y": 6 - } - ] - ] - } - ] - } - ] - } - ] + "string": "Firing Arc: 360 degrees", + "font": "", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "AngleVariance_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Angle Variance: 360 degrees", + "font": "", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "RotateBullet_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Rotate bullets", + "font": "", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "UnlimitedAmmo_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Unlimited ammo", + "font": "", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } }, { "assetStoreId": "", - "bold": false, + "bold": true, "italic": false, - "name": "EnemyDamageText", + "name": "AutomaticReloading_Text", "smoothed": true, "tags": "", "type": "TextObject::Text", @@ -8793,155 +9664,83 @@ "variables": [], "effects": [], "behaviors": [], - "string": "Text", - "font": "PTSans-Bold.ttf", - "characterSize": 10, + "string": "Automatic reloading", + "font": "", + "characterSize": 20, "color": { - "b": 4, + "b": 255, "g": 255, - "r": 56 + "r": 255 } }, { - "additive": false, "assetStoreId": "", - "destroyWhenNoParticles": false, - "emitterAngleA": 0, - "emitterAngleB": 0, - "emitterForceMax": 0, - "emitterForceMin": 0, - "flow": 50, - "maxParticleNb": 300, - "name": "Particle_RecoilDust", - "particleAlpha1": 150, - "particleAlpha2": 0, - "particleAlphaRandomness1": 0, - "particleAlphaRandomness2": 0, - "particleAngle1": 0, - "particleAngle2": 0, - "particleAngleRandomness1": 0, - "particleAngleRandomness2": 0, - "particleBlue1": 33, - "particleBlue2": 255, - "particleGravityX": 0, - "particleGravityY": -10, - "particleGreen1": 211, - "particleGreen2": 255, - "particleLifeTimeMax": 0.4000000059604645, - "particleLifeTimeMin": 0.4000000059604645, - "particleRed1": 126, - "particleRed2": 255, - "particleSize1": 75, - "particleSize2": 150, - "particleSizeRandomness1": 0, - "particleSizeRandomness2": 0, - "rendererParam1": 2, - "rendererParam2": 1, - "rendererType": "Point", + "bold": true, + "italic": false, + "name": "BulletQty_Text", + "smoothed": true, "tags": "", - "tank": 2, - "textureParticleName": "", - "type": "ParticleSystem::ParticleEmitter", - "zoneRadius": 2, + "type": "TextObject::Text", + "underlined": false, "variables": [], "effects": [], - "behaviors": [] + "behaviors": [], + "string": "Bullets per shot: 10", + "font": "", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } }, { - "additive": false, "assetStoreId": "", - "destroyWhenNoParticles": false, - "emitterAngleA": 0, - "emitterAngleB": 0, - "emitterForceMax": 0, - "emitterForceMin": 0, - "flow": 50, - "maxParticleNb": 300, - "name": "Particle_Dash", - "particleAlpha1": 150, - "particleAlpha2": 0, - "particleAlphaRandomness1": 0, - "particleAlphaRandomness2": 0, - "particleAngle1": 0, - "particleAngle2": 0, - "particleAngleRandomness1": 0, - "particleAngleRandomness2": 0, - "particleBlue1": 211, - "particleBlue2": 255, - "particleGravityX": 0, - "particleGravityY": -10, - "particleGreen1": 174, - "particleGreen2": 255, - "particleLifeTimeMax": 0.75, - "particleLifeTimeMin": 0.75, - "particleRed1": 143, - "particleRed2": 255, - "particleSize1": 10, - "particleSize2": 200, - "particleSizeRandomness1": 0, - "particleSizeRandomness2": 0, - "rendererParam1": 3, - "rendererParam2": 1, - "rendererType": "Point", + "bold": true, + "italic": false, + "name": "Reloading_Text", + "smoothed": true, "tags": "", - "tank": 12, - "textureParticleName": "", - "type": "ParticleSystem::ParticleEmitter", - "zoneRadius": 5, + "type": "TextObject::Text", + "underlined": false, "variables": [], "effects": [], - "behaviors": [] + "behaviors": [], + "string": "Reloading...", + "font": "", + "characterSize": 15, + "color": { + "b": 194, + "g": 227, + "r": 80 + } }, { - "additive": false, "assetStoreId": "", - "destroyWhenNoParticles": true, - "emitterAngleA": 0, - "emitterAngleB": 0, - "emitterForceMax": 0, - "emitterForceMin": 0, - "flow": 45, - "maxParticleNb": 300, - "name": "Particle_Death", - "particleAlpha1": 255, - "particleAlpha2": 0, - "particleAlphaRandomness1": 0, - "particleAlphaRandomness2": 0, - "particleAngle1": 0, - "particleAngle2": 0, - "particleAngleRandomness1": 0, - "particleAngleRandomness2": 0, - "particleBlue1": 255, - "particleBlue2": 255, - "particleGravityX": 0, - "particleGravityY": -10, - "particleGreen1": 255, - "particleGreen2": 255, - "particleLifeTimeMax": 4, - "particleLifeTimeMin": 4, - "particleRed1": 255, - "particleRed2": 255, - "particleSize1": 100, - "particleSize2": 170, - "particleSizeRandomness1": 0, - "particleSizeRandomness2": 0, - "rendererParam1": 3, - "rendererParam2": 1, - "rendererType": "Quad", + "bold": true, + "italic": false, + "name": "ReadyToShoot_Text", + "smoothed": true, "tags": "", - "tank": 1, - "textureParticleName": "WesleyDeathParticle.png", - "type": "ParticleSystem::ParticleEmitter", - "zoneRadius": 0, + "type": "TextObject::Text", + "underlined": false, "variables": [], "effects": [], - "behaviors": [] + "behaviors": [], + "string": "Ready to shoot!", + "font": "", + "characterSize": 15, + "color": { + "b": 194, + "g": 227, + "r": 80 + } }, { "assetStoreId": "", "bold": true, "italic": false, - "name": "Cooldown_Text", + "name": "OutOfAmmo_Text", "smoothed": true, "tags": "", "type": "TextObject::Text", @@ -8949,20 +9748,20 @@ "variables": [], "effects": [], "behaviors": [], - "string": "Cooldown: 0.10 seconds", + "string": "Out of ammo", "font": "", - "characterSize": 20, + "characterSize": 15, "color": { - "b": 255, - "g": 255, - "r": 255 + "b": 194, + "g": 227, + "r": 80 } }, { "assetStoreId": "", "bold": true, "italic": false, - "name": "FiringArc_Text", + "name": "ReloadNeeded_Text", "smoothed": true, "tags": "", "type": "TextObject::Text", @@ -8970,20 +9769,20 @@ "variables": [], "effects": [], "behaviors": [], - "string": "Firing Arc: 360 degrees", + "string": "Reload needed", "font": "", - "characterSize": 20, + "characterSize": 15, "color": { - "b": 255, - "g": 255, - "r": 255 + "b": 194, + "g": 227, + "r": 80 } }, { "assetStoreId": "", "bold": true, "italic": false, - "name": "AngleVariance_Text", + "name": "WaitingForFiringCooldown_Text", "smoothed": true, "tags": "", "type": "TextObject::Text", @@ -8991,60 +9790,234 @@ "variables": [], "effects": [], "behaviors": [], - "string": "Angle Variance: 360 degrees", + "string": "Waiting for firing cooldown...", "font": "", - "characterSize": 20, + "characterSize": 15, + "color": { + "b": 194, + "g": 227, + "r": 80 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "BulletSettings_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Firing shots", + "font": "", + "characterSize": 40, + "color": { + "b": 226, + "g": 144, + "r": 74 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "AmmoSettings_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Ammo", + "font": "", + "characterSize": 40, "color": { + "b": 226, + "g": 144, + "r": 74 + } + }, + { + "assetStoreId": "", + "name": "Cooldown_Slider", + "tags": "", + "type": "PrimitiveDrawing::Drawer", + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "DraggableSliderControl", + "type": "DraggableSliderControl::DraggableSliderControl", + "ValueMin": 0.1, + "ValueMax": 1, + "TickSpacing": 0, + "ThumbShape": "circle", + "ThumbWidth": 20, + "ThumbHeight": 20, + "ThumbColor": "255;255;255", + "ThumbOpacity": 255, + "TrackLength": 200, + "TrackThickness": 4, + "InactiveTrackColor": "", + "InactiveTrackOpacity": 96, + "ActiveTrackColor": " ", + "ActiveTrackOpacity": 255, + "HaloRadius": 24, + "HaloOpacityHover": 32, + "HaloOpacityClick": 64, + "RoundedTrack": true, + "Enabled": true, + "IsBeingDragged": false, + "Value": 0, + "ThumbOffset": 0, + "NeedRedraw": true, + "IsHovered": false, + "MouseX": 0, + "MouseY": 0, + "CurrentHaloRadius": 0, + "HaloGrowSpeed": 0.2, + "TargetHaloRadius": 0 + } + ], + "fillOpacity": 255, + "outlineSize": 1, + "outlineOpacity": 255, + "fillColor": { "b": 255, "g": 255, "r": 255 - } + }, + "outlineColor": { + "b": 0, + "g": 0, + "r": 0 + }, + "absoluteCoordinates": false, + "clearBetweenFrames": true }, { "assetStoreId": "", - "bold": true, - "italic": false, - "name": "RotateBullet_Text", - "smoothed": true, + "name": "MaxAmmo_Slider", "tags": "", - "type": "TextObject::Text", - "underlined": false, + "type": "PrimitiveDrawing::Drawer", "variables": [], "effects": [], - "behaviors": [], - "string": "Rotate bullets?", - "font": "", - "characterSize": 20, - "color": { + "behaviors": [ + { + "name": "DraggableSliderControl", + "type": "DraggableSliderControl::DraggableSliderControl", + "ValueMin": 0, + "ValueMax": 100, + "TickSpacing": 1, + "ThumbShape": "circle", + "ThumbWidth": 20, + "ThumbHeight": 20, + "ThumbColor": "255;255;255", + "ThumbOpacity": 255, + "TrackLength": 200, + "TrackThickness": 4, + "InactiveTrackColor": "", + "InactiveTrackOpacity": 96, + "ActiveTrackColor": " ", + "ActiveTrackOpacity": 255, + "HaloRadius": 24, + "HaloOpacityHover": 32, + "HaloOpacityClick": 64, + "RoundedTrack": true, + "Enabled": true, + "IsBeingDragged": false, + "Value": 0, + "ThumbOffset": 0, + "NeedRedraw": true, + "IsHovered": false, + "MouseX": 0, + "MouseY": 0, + "CurrentHaloRadius": 0, + "HaloGrowSpeed": 0.2, + "TargetHaloRadius": 0 + } + ], + "fillOpacity": 255, + "outlineSize": 1, + "outlineOpacity": 255, + "fillColor": { "b": 255, "g": 255, "r": 255 - } + }, + "outlineColor": { + "b": 0, + "g": 0, + "r": 0 + }, + "absoluteCoordinates": false, + "clearBetweenFrames": true }, { "assetStoreId": "", - "bold": true, - "italic": false, - "name": "BulletQty_Text", - "smoothed": true, + "name": "ShotsPerReload_Slider", "tags": "", - "type": "TextObject::Text", - "underlined": false, + "type": "PrimitiveDrawing::Drawer", "variables": [], "effects": [], - "behaviors": [], - "string": "Bullets per shot: 10", - "font": "", - "characterSize": 20, - "color": { + "behaviors": [ + { + "name": "DraggableSliderControl", + "type": "DraggableSliderControl::DraggableSliderControl", + "ValueMin": 0, + "ValueMax": 10, + "TickSpacing": 1, + "ThumbShape": "circle", + "ThumbWidth": 20, + "ThumbHeight": 20, + "ThumbColor": "255;255;255", + "ThumbOpacity": 255, + "TrackLength": 200, + "TrackThickness": 4, + "InactiveTrackColor": "", + "InactiveTrackOpacity": 96, + "ActiveTrackColor": " ", + "ActiveTrackOpacity": 255, + "HaloRadius": 24, + "HaloOpacityHover": 32, + "HaloOpacityClick": 64, + "RoundedTrack": true, + "Enabled": true, + "IsBeingDragged": false, + "Value": 0, + "ThumbOffset": 0, + "NeedRedraw": true, + "IsHovered": false, + "MouseX": 0, + "MouseY": 0, + "CurrentHaloRadius": 0, + "HaloGrowSpeed": 0.2, + "TargetHaloRadius": 0 + } + ], + "fillOpacity": 255, + "outlineSize": 1, + "outlineOpacity": 255, + "fillColor": { "b": 255, "g": 255, "r": 255 - } + }, + "outlineColor": { + "b": 0, + "g": 0, + "r": 0 + }, + "absoluteCoordinates": false, + "clearBetweenFrames": true }, { "assetStoreId": "", - "name": "Cooldown_Slider", + "name": "ReloadDuration_Slider", "tags": "", "type": "PrimitiveDrawing::Drawer", "variables": [], @@ -9053,9 +10026,9 @@ { "name": "DraggableSliderControl", "type": "DraggableSliderControl::DraggableSliderControl", - "ValueMin": 0.1, - "ValueMax": 1, - "TickSpacing": 0, + "ValueMin": 0, + "ValueMax": 3, + "TickSpacing": 0.1, "ThumbShape": "circle", "ThumbWidth": 20, "ThumbHeight": 20, @@ -9276,31 +10249,125 @@ }, { "assetStoreId": "", - "name": "FiringArc", - "tags": "", - "type": "PrimitiveDrawing::Drawer", - "variables": [], - "effects": [], - "behaviors": [], - "fillOpacity": 255, - "outlineSize": 4, - "outlineOpacity": 255, - "fillColor": { - "b": 224, - "g": 16, - "r": 189 - }, - "outlineColor": { - "b": 224, - "g": 16, - "r": 189 - }, - "absoluteCoordinates": true, - "clearBetweenFrames": true - }, - { - "assetStoreId": "", - "name": "RotateBullet_Checkbox", + "name": "FiringArc", + "tags": "", + "type": "PrimitiveDrawing::Drawer", + "variables": [], + "effects": [], + "behaviors": [], + "fillOpacity": 255, + "outlineSize": 4, + "outlineOpacity": 255, + "fillColor": { + "b": 224, + "g": 16, + "r": 189 + }, + "outlineColor": { + "b": 224, + "g": 16, + "r": 189 + }, + "absoluteCoordinates": true, + "clearBetweenFrames": true + }, + { + "assetStoreId": "", + "name": "RotateBullet_Checkbox", + "tags": "", + "type": "PrimitiveDrawing::Drawer", + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Checkbox", + "type": "Checkbox::Checkbox", + "Checked": true, + "HaloRadiusHover": 0, + "HaloOpacityHover": 128, + "HaloOpacityClick": 196, + "Enabled": true, + "IsBeingPressed": false, + "NeedRedraw": true, + "IsHovered": false, + "CurrentHaloRadius": 0, + "HaloGrowSpeed": 0.3, + "TargetHaloRadius": 0, + "ToggleChanged": false, + "PrimaryColor": " 24;119;211", + "SecondaryColor": "255;255;255", + "SideLength": 24, + "LineWidth": 5, + "BorderThickness": 2, + "HaloRadiusPressed": 0 + } + ], + "fillOpacity": 255, + "outlineSize": 1, + "outlineOpacity": 255, + "fillColor": { + "b": 255, + "g": 255, + "r": 255 + }, + "outlineColor": { + "b": 0, + "g": 0, + "r": 0 + }, + "absoluteCoordinates": false, + "clearBetweenFrames": true + }, + { + "assetStoreId": "", + "name": "UnlimitedAmmo_Checkbox", + "tags": "", + "type": "PrimitiveDrawing::Drawer", + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Checkbox", + "type": "Checkbox::Checkbox", + "Checked": true, + "HaloRadiusHover": 0, + "HaloOpacityHover": 128, + "HaloOpacityClick": 196, + "Enabled": true, + "IsBeingPressed": false, + "NeedRedraw": true, + "IsHovered": false, + "CurrentHaloRadius": 0, + "HaloGrowSpeed": 0.3, + "TargetHaloRadius": 0, + "ToggleChanged": false, + "PrimaryColor": " 24;119;211", + "SecondaryColor": "255;255;255", + "SideLength": 24, + "LineWidth": 5, + "BorderThickness": 2, + "HaloRadiusPressed": 0 + } + ], + "fillOpacity": 255, + "outlineSize": 1, + "outlineOpacity": 255, + "fillColor": { + "b": 255, + "g": 255, + "r": 255 + }, + "outlineColor": { + "b": 0, + "g": 0, + "r": 0 + }, + "absoluteCoordinates": false, + "clearBetweenFrames": true + }, + { + "assetStoreId": "", + "name": "AutomaticReloading_Checkbox", "tags": "", "type": "PrimitiveDrawing::Drawer", "variables": [], @@ -9344,6 +10411,98 @@ }, "absoluteCoordinates": false, "clearBetweenFrames": true + }, + { + "assetStoreId": "df3d5e6bbf65733b6aa4daae9ae041ffc6de3eb61d89f15830d49ad1e1e9b781", + "name": "TreasureChest", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "ShakeObject_PositionAngleScale", + "type": "ShakeObject::ShakeObject_PositionAngleScale" + } + ], + "animations": [ + { + "name": "Closed", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.02500000037252903, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Treasure Chest_Closed.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 16, + "y": 8 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + }, + { + "name": "Opening", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.10000000149011612, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Treasure Chest_Opening_1.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 16, + "y": 8 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Treasure Chest_Opening_2.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 16, + "y": 8 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] } ], "events": [ @@ -9495,6 +10654,17 @@ "", "Left" ] + }, + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "Room", + "", + "", + "" + ] } ], "actions": [ @@ -9692,7 +10862,305 @@ ] } ], - "parameters": [] + "parameters": [] + } + ], + "parameters": [] + }, + { + "colorB": 224, + "colorG": 16, + "colorR": 189, + "creationTime": 0, + "name": "Ammo", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DepartScene" + }, + "parameters": [ + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Checkbox::Checkbox::SetChecked" + }, + "parameters": [ + "UnlimitedAmmo_Checkbox", + "Checkbox", + "no", + "" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetValue" + }, + "parameters": [ + "ShotsPerReload_Slider", + "DraggableSliderControl", + "5", + "" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetValue" + }, + "parameters": [ + "MaxAmmo_Slider", + "DraggableSliderControl", + "100", + "" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetValue" + }, + "parameters": [ + "ReloadDuration_Slider", + "DraggableSliderControl", + "1", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CollisionNP" + }, + "parameters": [ + "Wesley", + "TreasureChest", + "", + "", + "" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::IncreaseAmmo" + }, + "parameters": [ + "Wesley", + "FireBullet", + "20", + "" + ] + }, + { + "type": { + "value": "SetAnimationName" + }, + "parameters": [ + "TreasureChest", + "\"Opening\"" + ] + }, + { + "type": { + "value": "ShakeObject::ShakeObject_PositionAngleScale::StopShaking" + }, + "parameters": [ + "TreasureChest", + "ShakeObject_PositionAngleScale", + "" + ] + }, + { + "type": { + "value": "PlaySound" + }, + "parameters": [ + "", + "PickupAmmo.wav", + "", + "50", + "1" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "CollisionNP" + }, + "parameters": [ + "Wesley", + "TreasureChest", + "", + "", + "" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "SetAnimationName" + }, + "parameters": [ + "TreasureChest", + "\"Closed\"" + ] + }, + { + "type": { + "value": "ShakeObject::ShakeObject_PositionAngleScale::ShakeObject_PositionAngleScale" + }, + "parameters": [ + "TreasureChest", + "ShakeObject_PositionAngleScale", + "", + "", + "", + "", + "50", + "2", + "yes", + "" + ] + }, + { + "type": { + "value": "PlaySound" + }, + "parameters": [ + "", + "CloseChest.wav", + "", + "50", + "1" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Checkbox::Checkbox::IsChecked" + }, + "parameters": [ + "UnlimitedAmmo_Checkbox", + "Checkbox", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetUnlimitedAmmo" + }, + "parameters": [ + "Wesley", + "FireBullet", + "yes", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "Checkbox::Checkbox::IsChecked" + }, + "parameters": [ + "UnlimitedAmmo_Checkbox", + "Checkbox", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetUnlimitedAmmo" + }, + "parameters": [ + "Wesley", + "FireBullet", + "no", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetShotsPerReload" + }, + "parameters": [ + "Wesley", + "FireBullet", + "ShotsPerReload_Slider.DraggableSliderControl::Value()", + "" + ] + }, + { + "type": { + "value": "FireBullet::FireBullet::SetMaxAmmo" + }, + "parameters": [ + "Wesley", + "FireBullet", + "MaxAmmo_Slider.DraggableSliderControl::Value()", + "" + ] + }, + { + "type": { + "value": "FireBullet::FireBullet::SetReloadDuration" + }, + "parameters": [ + "Wesley", + "FireBullet", + "ReloadDuration_Slider.DraggableSliderControl::Value()", + "" + ] + } + ] } ], "parameters": [] @@ -11569,9 +13037,199 @@ } ] } - ], - "parameters": [] + ], + "parameters": [] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Separate the player from the Room and RoomDoors so they can't leave the space they're in.", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SeparateFromObjects" + }, + "parameters": [ + "Wesley", + "Room", + "" + ] + }, + { + "type": { + "value": "SeparateFromObjects" + }, + "parameters": [ + "Wesley", + "RoomDoors", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Position the player's gun to be at the \"GunSpot\" point set on the player object. And to rotate toward the mouse.", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "MettreXY" + }, + "parameters": [ + "Gun", + "=", + "Wesley.PointX(\"GunSpot\")", + "=", + "Wesley.PointY(\"GunSpot\")" + ] + }, + { + "type": { + "value": "RotateTowardPosition" + }, + "parameters": [ + "Gun", + "MouseX()", + "MouseY()", + "0", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Flip the player object and gun relative to the position of the mouse compared to the player.", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PosX" + }, + "parameters": [ + "Wesley", + ">", + "MouseX()" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "FlipX" + }, + "parameters": [ + "Wesley", + "yes" + ] + }, + { + "type": { + "value": "FlipY" + }, + "parameters": [ + "Gun", + "yes" + ] + } + ] }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PosX" + }, + "parameters": [ + "Wesley", + "<", + "MouseX()" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "FlipX" + }, + "parameters": [ + "Wesley", + "no" + ] + }, + { + "type": { + "value": "FlipY" + }, + "parameters": [ + "Gun", + "no" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "folded": true, + "name": "Z-ordering", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ { "type": "BuiltinCommonInstructions::Comment", "color": { @@ -11582,31 +13240,22 @@ "textG": 0, "textR": 0 }, - "comment": "Separate the player from the Room and RoomDoors so they can't leave the space they're in.", + "comment": "Setting the z-order of all objects in the \"Entities\" object group to be equal to their Y position. Creating the fake depth of the top down game.", "comment2": "" }, { - "type": "BuiltinCommonInstructions::Standard", + "type": "BuiltinCommonInstructions::ForEach", + "object": "Entities", "conditions": [], "actions": [ { "type": { - "value": "SeparateFromObjects" - }, - "parameters": [ - "Wesley", - "Room", - "" - ] - }, - { - "type": { - "value": "SeparateFromObjects" + "value": "ChangePlan" }, "parameters": [ - "Wesley", - "RoomDoors", - "" + "Entities", + "=", + "Entities.Y()" ] } ] @@ -11621,7 +13270,7 @@ "textG": 0, "textR": 0 }, - "comment": "Position the player's gun to be at the \"GunSpot\" point set on the player object. And to rotate toward the mouse.", + "comment": "Setting the z-order of the player's gun to always be +1 above the player. So the gun stays in front of the player as the player's z-order shifts as they move around the scene.", "comment2": "" }, { @@ -11630,30 +13279,58 @@ "actions": [ { "type": { - "value": "MettreXY" + "value": "ChangePlan" }, "parameters": [ "Gun", "=", - "Wesley.PointX(\"GunSpot\")", - "=", - "Wesley.PointY(\"GunSpot\")" + "Wesley.Y()+1" ] - }, + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Setting the z-order of all RoomFloor objects to be -3000 of their Y position. This is so the floor stays below all other object in the room.", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::ForEach", + "object": "RoomFloor", + "conditions": [], + "actions": [ { "type": { - "value": "RotateTowardPosition" + "value": "ChangePlan" }, "parameters": [ - "Gun", - "MouseX()", - "MouseY()", - "0", - "" + "RoomFloor", + "=", + "RoomFloor.Y()-3000" ] } ] - }, + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Camera Controls", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ { "type": "BuiltinCommonInstructions::Comment", "color": { @@ -11664,7 +13341,7 @@ "textG": 0, "textR": 0 }, - "comment": "Flip the player object and gun relative to the position of the mouse compared to the player.", + "comment": "Zoom and position camera of base layer to be align properly at the beginning of the scene.", "comment2": "" }, { @@ -11672,377 +13349,557 @@ "conditions": [ { "type": { - "value": "PosX" + "value": "DepartScene" }, "parameters": [ - "Wesley", - ">", - "MouseX()" + "" ] - }, - { - "type": { - "value": "BuiltinCommonInstructions::Once" - }, - "parameters": [] } ], "actions": [ { "type": { - "value": "FlipX" + "value": "SceneBackground" }, "parameters": [ - "Wesley", - "yes" + "", + "\"24;20;37\"" ] }, { "type": { - "value": "FlipY" + "value": "SetCameraY" }, "parameters": [ - "Gun", - "yes" + "", + "=", + "RoomFloor.Y()", + "", + "" ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + }, { "type": { - "value": "PosX" + "value": "SetCameraX" }, "parameters": [ - "Wesley", - "<", - "MouseX()" + "", + "=", + "RoomFloor.X()", + "", + "" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ZoomCamera" + }, + "parameters": [ + "", + "2", + "\"\"", + "0" + ] + } + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "UI", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Draw Firing arc", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "PrimitiveDrawing::LineV2" + }, + "parameters": [ + "FiringArc", + "Gun.PointX(\"BulletSpawn\")", + "Gun.PointY(\"BulletSpawn\")", + "Gun.PointX(\"BulletSpawn\") + XFromAngleAndDistance(Gun.Angle() - Wesley.FireBullet::FiringArc()/2,50)", + "Gun.PointY(\"BulletSpawn\") + YFromAngleAndDistance(Gun.Angle() - Wesley.FireBullet::FiringArc()/2,50)", + "2" + ] + }, + { + "type": { + "value": "PrimitiveDrawing::LineV2" + }, + "parameters": [ + "FiringArc", + "Gun.PointX(\"BulletSpawn\")", + "Gun.PointY(\"BulletSpawn\")", + "Gun.PointX(\"BulletSpawn\") + XFromAngleAndDistance(Gun.Angle() + Wesley.FireBullet::FiringArc()/2,50)", + "Gun.PointY(\"BulletSpawn\") + YFromAngleAndDistance(Gun.Angle() + Wesley.FireBullet::FiringArc()/2,50)", + "2" + ] + } ] - }, - { - "type": { - "value": "BuiltinCommonInstructions::Once" - }, - "parameters": [] } ], - "actions": [ + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Update text", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ { - "type": { - "value": "FlipX" - }, - "parameters": [ - "Wesley", - "no" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "Cooldown_Text", + "=", + "\"Cooldown: \" + ToString(roundTo(Cooldown_Slider.DraggableSliderControl::Value(),2)) + \" seconds\"" + ] + }, + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "AngleVariance_Text", + "=", + "\"Angle variance: \" + ToString(roundTo(AngleVariance_Slider.DraggableSliderControl::Value(),2)) + \" degrees\"" + ] + }, + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "FiringArc_Text", + "=", + "\"Firing Arc: \" + ToString(roundTo(FireArc_Slider.DraggableSliderControl::Value(),2)) + \" degrees\"" + ] + }, + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "BulletQty_Text", + "=", + "\"Bullet Qty: \" + ToString(roundTo(BulletQty_Slider.DraggableSliderControl::Value(),2))" + ] + } ] }, { - "type": { - "value": "FlipY" - }, - "parameters": [ - "Gun", - "no" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "AmmoQuantity_Text", + "=", + "\"Ammo Quantity: \" + ToString(Wesley.FireBullet::AmmoQuantity())" + ] + }, + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "ShotsFired_Text", + "=", + "\"Shots fired: \" + ToString(Wesley.FireBullet::ShotsFired())" + ] + }, + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "BulletsCreated_Text", + "=", + "\"Bullets created: \" + ToString(Wesley.FireBullet::BulletsCreated())" + ] + }, + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "ShotsUntilReload_Text", + "=", + "\"Shots until reload: \" + ToString(Wesley.FireBullet::ShotsBeforeNextReload())" + ] + }, + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "ReloadsCompleted_Text", + "=", + "\"Reloads completed: \" + ToString(Wesley.FireBullet::ReloadsCompleted())" + ] + } ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "folded": true, - "name": "Z-ordering", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Setting the z-order of all objects in the \"Entities\" object group to be equal to their Y position. Creating the fake depth of the top down game.", - "comment2": "" - }, - { - "type": "BuiltinCommonInstructions::ForEach", - "object": "Entities", - "conditions": [], - "actions": [ + }, { - "type": { - "value": "ChangePlan" - }, - "parameters": [ - "Entities", - "=", - "Entities.Y()" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "MaxAmmo_Text", + "=", + "\"Max ammo: \" + ToString(Wesley.FireBullet::MaxAmmo())" + ] + }, + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "ReloadDuration_Text", + "=", + "\"Reload duration: \" + ToString(roundTo(Wesley.FireBullet::ReloadDuration(),1)) + \" seconds\"" + ] + }, + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "ShotsPerReload_Text", + "=", + "\"Shots per reload: \" + ToString(Wesley.FireBullet::ShotsPerReload())" + ] + } ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Setting the z-order of the player's gun to always be +1 above the player. So the gun stays in front of the player as the player's z-order shifts as they move around the scene.", - "comment2": "" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + }, { - "type": { - "value": "ChangePlan" - }, - "parameters": [ - "Gun", - "=", - "Wesley.Y()+1" + "disabled": true, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetCenter" + }, + "parameters": [ + "Reloading_Text", + "=", + "Wesley.CenterX()", + "=", + "Wesley.BoundingBoxBottom() + 16" + ] + } ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Setting the z-order of all RoomFloor objects to be -3000 of their Y position. This is so the floor stays below all other object in the room.", - "comment2": "" - }, - { - "type": "BuiltinCommonInstructions::ForEach", - "object": "RoomFloor", - "conditions": [], - "actions": [ + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Show status", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [], + "parameters": [] + }, { - "type": { - "value": "ChangePlan" - }, - "parameters": [ - "RoomFloor", - "=", - "RoomFloor.Y()-3000" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::IsReloadInProgress" + }, + "parameters": [ + "Wesley", + "FireBullet", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Montre" + }, + "parameters": [ + "Reloading_Text", + "" + ] + } ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "folded": true, - "name": "Camera Controls", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Zoom and position camera of base layer to be align properly at the beginning of the scene.", - "comment2": "" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + }, { - "type": { - "value": "DepartScene" - }, - "parameters": [ - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "FireBullet::FireBullet::IsReloadInProgress" + }, + "parameters": [ + "Wesley", + "FireBullet", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Cache" + }, + "parameters": [ + "Reloading_Text" + ] + } ] - } - ], - "actions": [ + }, { - "type": { - "value": "ZoomCamera" - }, - "parameters": [ - "", - "2", - "", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::IsReadyToShoot" + }, + "parameters": [ + "Wesley", + "FireBullet", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Montre" + }, + "parameters": [ + "ReadyToShoot_Text", + "" + ] + } ] }, { - "type": { - "value": "SceneBackground" - }, - "parameters": [ - "", - "\"24;20;37\"" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "FireBullet::FireBullet::IsReadyToShoot" + }, + "parameters": [ + "Wesley", + "FireBullet", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Cache" + }, + "parameters": [ + "ReadyToShoot_Text" + ] + } ] }, { - "type": { - "value": "SetCameraY" - }, - "parameters": [ - "", - "=", - "RoomFloor.Y()", - "", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::IsFiringCooldownActive" + }, + "parameters": [ + "Wesley", + "FireBullet", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Montre" + }, + "parameters": [ + "WaitingForFiringCooldown_Text", + "" + ] + } ] }, { - "type": { - "value": "SetCameraX" - }, - "parameters": [ - "", - "=", - "RoomFloor.X()", - "", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "FireBullet::FireBullet::IsFiringCooldownActive" + }, + "parameters": [ + "Wesley", + "FireBullet", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Cache" + }, + "parameters": [ + "WaitingForFiringCooldown_Text" + ] + } ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "UI", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Draw Firing arc", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ + }, { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::IsReloadNeeded" + }, + "parameters": [ + "Wesley", + "FireBullet", + "" + ] + } + ], "actions": [ { "type": { - "value": "PrimitiveDrawing::LineV2" + "value": "Montre" }, "parameters": [ - "FiringArc", - "Gun.PointX(\"BulletSpawn\")", - "Gun.PointY(\"BulletSpawn\")", - "Gun.PointX(\"BulletSpawn\") + XFromAngleAndDistance(Gun.Angle() - Wesley.FireBullet::FiringArc()/2,50)", - "Gun.PointY(\"BulletSpawn\") + YFromAngleAndDistance(Gun.Angle() - Wesley.FireBullet::FiringArc()/2,50)", - "2" + "ReloadNeeded_Text", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "FireBullet::FireBullet::IsReloadNeeded" + }, + "parameters": [ + "Wesley", + "FireBullet", + "" ] - }, + } + ], + "actions": [ { "type": { - "value": "PrimitiveDrawing::LineV2" + "value": "Cache" }, "parameters": [ - "FiringArc", - "Gun.PointX(\"BulletSpawn\")", - "Gun.PointY(\"BulletSpawn\")", - "Gun.PointX(\"BulletSpawn\") + XFromAngleAndDistance(Gun.Angle() + Wesley.FireBullet::FiringArc()/2,50)", - "Gun.PointY(\"BulletSpawn\") + YFromAngleAndDistance(Gun.Angle() + Wesley.FireBullet::FiringArc()/2,50)", - "2" + "ReloadNeeded_Text" ] } ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Update text", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ + }, { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + "conditions": [ { "type": { - "value": "TextObject::String" + "value": "FireBullet::FireBullet::IsOutOfAmmo" }, "parameters": [ - "Cooldown_Text", - "=", - "\"Cooldown: \" + ToString(roundTo(Cooldown_Slider.DraggableSliderControl::Value(),2)) + \" seconds\"" + "Wesley", + "FireBullet", + "" ] - }, + } + ], + "actions": [ { "type": { - "value": "TextObject::String" + "value": "Montre" }, "parameters": [ - "AngleVariance_Text", - "=", - "\"Angle variance: \" + ToString(roundTo(AngleVariance_Slider.DraggableSliderControl::Value(),2)) + \" degrees\"" + "OutOfAmmo_Text", + "" ] - }, + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ { "type": { - "value": "TextObject::String" + "inverted": true, + "value": "FireBullet::FireBullet::IsOutOfAmmo" }, "parameters": [ - "FiringArc_Text", - "=", - "\"Firing Arc: \" + ToString(roundTo(FireArc_Slider.DraggableSliderControl::Value(),2)) + \" degrees\"" + "Wesley", + "FireBullet", + "" ] - }, + } + ], + "actions": [ { "type": { - "value": "TextObject::String" + "value": "Cache" }, "parameters": [ - "BulletQty_Text", - "=", - "\"Bullet Qty: \" + ToString(roundTo(BulletQty_Slider.DraggableSliderControl::Value(),2))" + "OutOfAmmo_Text" ] } ] @@ -15587,7 +17444,8 @@ } ] } - ] + ], + "eventsBasedObjects": [] }, { "author": "Tristan Rhodes (https://victrisgames.itch.io/), D8H", @@ -17179,8 +19037,712 @@ } ] } - ], - "parameters": [] + ], + "parameters": [] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Check if the slider is being dragged.", + "fullName": "Being dragged", + "functionType": "Condition", + "group": "Slider", + "name": "IsBeingDragged", + "private": false, + "sentence": "_PARAM0_ is being dragged", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::PropertyIsBeingDragged" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Check if the slider interations are enabled.", + "fullName": "Interactions enabled", + "functionType": "Condition", + "group": "Slider", + "name": "IsEnabled", + "private": false, + "sentence": "Interactions of _PARAM0_ are enabled", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::PropertyEnabled" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Enable or disable the slider. Users cannot interact while it is disabled.", + "fullName": "Enable interactions", + "functionType": "Action", + "group": "Slider", + "name": "SetEnabled", + "private": false, + "sentence": "Enable interactions of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "GetArgumentAsBoolean" + }, + "parameters": [ + "\"Enable\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyEnabled" + }, + "parameters": [ + "Object", + "Behavior", + "no" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Stop dragging (so the slider won't be dragging when it gets enabled)", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyIsBeingDragged" + }, + "parameters": [ + "Object", + "Behavior", + "no" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Reset halo size (so halo won't appear when slider gets enabled)", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyTargetHaloRadius" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "min(Object.Behavior::PropertyThumbHeight(), Object.Behavior::PropertyThumbWidth()) / 2" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "GetArgumentAsBoolean" + }, + "parameters": [ + "\"Enable\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyEnabled" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Enable", + "longDescription": "", + "name": "Enable", + "optional": false, + "supplementaryInformation": "", + "type": "yesorno" + } + ], + "objectGroups": [] + }, + { + "description": "The value of the slider (based on position of the thumb).", + "fullName": "Slider value", + "functionType": "Expression", + "group": "Slider", + "name": "Value", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyValue()" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Change the value of a slider (this will move the thumb to the correct position).", + "fullName": "Slider value", + "functionType": "Action", + "group": "Slider", + "name": "SetValue", + "private": false, + "sentence": "Change the value of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::PropertyTickSpacing" + }, + "parameters": [ + "Object", + "Behavior", + "<=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValue" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::PropertyTickSpacing" + }, + "parameters": [ + "Object", + "Behavior", + ">", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValue" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "round(GetArgumentAsNumber(\"Value\") / Object.Behavior::PropertyTickSpacing()) * Object.Behavior::PropertyTickSpacing()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::PropertyValue" + }, + "parameters": [ + "Object", + "Behavior", + "<", + "Object.Behavior::PropertyValueMin()" + ] + } + ], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValue" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::PropertyValueMin()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::PropertyValue" + }, + "parameters": [ + "Object", + "Behavior", + ">", + "Object.Behavior::PropertyValueMax()" + ] + } + ], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValue" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::PropertyValueMax()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Set the proper offset (it moves the slider)", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbOffset" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::PropertyTrackLength() * (Object.Behavior::PropertyValue() - Object.Behavior::PropertyValueMin()) / (Object.Behavior::PropertyValueMax() - Object.Behavior::PropertyValueMin())" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Slider value", + "longDescription": "", + "name": "Value", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "The minimum value of a slider.", + "fullName": "Slider minimum value", + "functionType": "Expression", + "group": "Slider value configuration", + "name": "ValueMin", + "private": false, + "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyValueMin()" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Change the maximum value of a slider.", + "fullName": "Slider maximum value", + "functionType": "Action", + "group": "Slider value configuration", + "name": "SetValueMin", + "private": false, + "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValueMin" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"ValueMin\")" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetValue" + }, + "parameters": [ + "Object", + "Behavior", + "Object.Behavior::Value()", + "" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Minimum value", + "longDescription": "", + "name": "ValueMin", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "The maximum value of a slider.", + "fullName": "Slider maximum value", + "functionType": "Expression", + "group": "Slider value configuration", + "name": "ValueMax", + "private": false, + "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyValueMax()" + ] + } + ] } ], "parameters": [ @@ -17208,34 +19770,38 @@ "objectGroups": [] }, { - "description": "Check if the slider is being dragged.", - "fullName": "Being dragged", - "functionType": "Condition", - "group": "Slider", - "name": "IsBeingDragged", + "description": "Change the minimum value of a slider.", + "fullName": "Slider minimum value", + "functionType": "Action", + "group": "Slider value configuration", + "name": "SetValueMax", "private": false, - "sentence": "_PARAM0_ is being dragged", + "sentence": "Change the minimum value of _PARAM0_: _PARAM2_", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "conditions": [], + "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyIsBeingDragged" + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValueMax" }, "parameters": [ "Object", - "Behavior" + "Behavior", + "=", + "GetArgumentAsNumber(\"ValueMax\")" ] - } - ], - "actions": [ + }, { "type": { - "value": "SetReturnBoolean" + "value": "DraggableSliderControl::DraggableSliderControl::SetValue" }, "parameters": [ - "True" + "Object", + "Behavior", + "Object.Behavior::Value()", + "" ] } ] @@ -17261,39 +19827,39 @@ "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Maximum value", + "longDescription": "", + "name": "ValueMax", + "optional": false, + "supplementaryInformation": "", + "type": "expression" } ], "objectGroups": [] }, { - "description": "Check if the slider interations are enabled.", - "fullName": "Interactions enabled", - "functionType": "Condition", - "group": "Slider", - "name": "IsEnabled", + "description": "The tick spacing of a slider.", + "fullName": "Tick spacing", + "functionType": "Expression", + "group": "Slider value configuration", + "name": "TickSpacing", "private": false, - "sentence": "Interactions of _PARAM0_ are enabled", + "sentence": "Change the tick spacing of _PARAM0_: _PARAM2_", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyEnabled" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], + "conditions": [], "actions": [ { "type": { - "value": "SetReturnBoolean" + "value": "SetReturnNumber" }, "parameters": [ - "True" + "Object.Behavior::PropertyTickSpacing()" ] } ] @@ -17319,122 +19885,129 @@ "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Tick spacing", + "longDescription": "", + "name": "TickSpacing", + "optional": false, + "supplementaryInformation": "", + "type": "expression" } ], "objectGroups": [] }, { - "description": "Enable or disable the slider. Users cannot interact while it is disabled.", - "fullName": "Enable interactions", + "description": "Change the tick spacing of a slider.", + "fullName": "Tick spacing", "functionType": "Action", - "group": "Slider", - "name": "SetEnabled", + "group": "Slider value configuration", + "name": "SetTickSpacing", "private": false, - "sentence": "Enable interactions of _PARAM0_: _PARAM2_", + "sentence": "Change the tick spacing of _PARAM0_: _PARAM2_", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "GetArgumentAsBoolean" - }, - "parameters": [ - "\"Enable\"" - ] - } - ], + "conditions": [], "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyEnabled" + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyTickSpacing" }, "parameters": [ "Object", "Behavior", - "no" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Stop dragging (so the slider won't be dragging when it gets enabled)", - "comment2": "" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyIsBeingDragged" - }, - "parameters": [ - "Object", - "Behavior", - "no" - ] - } + "=", + "GetArgumentAsNumber(\"TickSpacing\")" ] }, { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetValue" }, - "comment": "Reset halo size (so halo won't appear when slider gets enabled)", - "comment2": "" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyTargetHaloRadius" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "min(Object.Behavior::PropertyThumbHeight(), Object.Behavior::PropertyThumbWidth()) / 2" - ] - } + "parameters": [ + "Object", + "Behavior", + "Object.Behavior::Value()", + "" ] } ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Tick spacing", + "longDescription": "", + "name": "TickSpacing", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change length of track.", + "fullName": "Track length", + "functionType": "Action", + "group": "Slider track configuration", + "name": "SetTrackLength", + "private": false, + "sentence": "Change track length of _PARAM0_ to _PARAM2_px", + "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "conditions": [], + "actions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyTrackLength" }, "parameters": [ - "\"Enable\"" + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" ] - } - ], - "actions": [ + }, { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyEnabled" + "value": "DraggableSliderControl::DraggableSliderControl::UpdateHitbox" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" }, "parameters": [ "Object", @@ -17444,18 +20017,32 @@ } ] }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Move thumb to correct place (based on new track size)", + "comment2": "" + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + "value": "DraggableSliderControl::DraggableSliderControl::SetValue" }, "parameters": [ "Object", "Behavior", - "yes" + "Object.Behavior::PropertyValue()", + "" ] } ] @@ -17485,24 +20072,24 @@ { "codeOnly": false, "defaultValue": "", - "description": "Enable", + "description": "Track width", "longDescription": "", - "name": "Enable", + "name": "Value", "optional": false, "supplementaryInformation": "", - "type": "yesorno" + "type": "expression" } ], "objectGroups": [] }, { - "description": "The value of the slider (based on position of the thumb).", - "fullName": "Slider value", - "functionType": "Expression", - "group": "Slider", - "name": "Value", + "description": "Change thickness of track.", + "fullName": "Track thickness", + "functionType": "Action", + "group": "Slider track configuration", + "name": "SetTrackThickness", "private": false, - "sentence": "", + "sentence": "Change track thickness of _PARAM0_ to _PARAM2_px", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -17510,73 +20097,65 @@ "actions": [ { "type": { - "value": "SetReturnNumber" + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyTrackThickness" }, "parameters": [ - "Object.Behavior::PropertyValue()" + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" ] } ] - } - ], - "parameters": [ - { - "codeOnly": false, - "defaultValue": "", - "description": "Object", - "longDescription": "", - "name": "Object", - "optional": false, - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" }, { - "codeOnly": false, - "defaultValue": "", - "description": "Behavior", - "longDescription": "", - "name": "Behavior", - "optional": false, - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Change the value of a slider (this will move the thumb to the correct position).", - "fullName": "Slider value", - "functionType": "Action", - "group": "Slider", - "name": "SetValue", - "private": false, - "sentence": "Change the value of _PARAM0_: _PARAM2_", - "events": [ + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Make sure thumb width is not smaller than track height + 2 pixels (to prevent track ends from showing)", + "comment2": "" + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyTickSpacing" + "value": "DraggableSliderControl::DraggableSliderControl::PropertyThumbWidth" }, "parameters": [ "Object", "Behavior", - "<=", - "0" + "<", + "Object.Behavior::PropertyTrackThickness() + 2" ] } ], "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValue" + "value": "DraggableSliderControl::DraggableSliderControl::SetThumbWidth" }, "parameters": [ "Object", "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" + "Object.Behavior::PropertyTrackThickness() + 2", + "" ] } ] @@ -17586,114 +20165,216 @@ "conditions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyTickSpacing" + "value": "DraggableSliderControl::DraggableSliderControl::PropertyThumbHeight" }, "parameters": [ "Object", "Behavior", - ">", - "0" + "<", + "Object.Behavior::PropertyTrackThickness() + 2" ] } ], "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValue" + "value": "DraggableSliderControl::DraggableSliderControl::SetThumbHeight" }, "parameters": [ "Object", "Behavior", - "=", - "round(GetArgumentAsNumber(\"Value\") / Object.Behavior::PropertyTickSpacing()) * Object.Behavior::PropertyTickSpacing()" + "Object.Behavior::PropertyTrackThickness() + 2", + "" ] } ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Track thickness", + "longDescription": "", + "name": "Value", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change width of thumb.", + "fullName": "Thumb width", + "functionType": "Action", + "group": "Slider thumb configuration", + "name": "SetThumbWidth", + "private": false, + "sentence": "Change thumb width of _PARAM0_ to _PARAM2_px", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Thumb cannot be less than track thickness (plus 2 pixels)", + "comment2": "" }, { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "conditions": [], + "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyValue" + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbWidth" }, "parameters": [ "Object", "Behavior", - "<", - "Object.Behavior::PropertyValueMin()" + "=", + "max(GetArgumentAsNumber(\"Value\"), Object.Behavior::PropertyTrackThickness() + 2)" ] } - ], + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValue" + "value": "DraggableSliderControl::DraggableSliderControl::UpdateHitbox" }, "parameters": [ "Object", "Behavior", - "=", - "Object.Behavior::PropertyValueMin()" + "" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" ] } ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Thumb width", + "longDescription": "", + "name": "Value", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change height of thumb.", + "fullName": "Thumb height", + "functionType": "Action", + "group": "Slider thumb configuration", + "name": "SetThumbHeight", + "private": false, + "sentence": "Change thumb height of _PARAM0_ to _PARAM2_px", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Thumb cannot be less than track thickness (plus 2 pixels)", + "comment2": "" }, { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyValue" - }, - "parameters": [ - "Object", - "Behavior", - ">", - "Object.Behavior::PropertyValueMax()" - ] - } - ], + "conditions": [], "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValue" + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbHeight" }, "parameters": [ "Object", "Behavior", "=", - "Object.Behavior::PropertyValueMax()" + "max(GetArgumentAsNumber(\"Value\"), Object.Behavior::PropertyTrackThickness() + 2)" ] } ] }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Set the proper offset (it moves the slider)", - "comment2": "" - }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbOffset" + "value": "DraggableSliderControl::DraggableSliderControl::UpdateHitbox" }, "parameters": [ "Object", "Behavior", - "=", - "Object.Behavior::PropertyTrackLength() * (Object.Behavior::PropertyValue() - Object.Behavior::PropertyValueMin()) / (Object.Behavior::PropertyValueMax() - Object.Behavior::PropertyValueMin())" + "" ] }, { @@ -17733,7 +20414,7 @@ { "codeOnly": false, "defaultValue": "", - "description": "Slider value", + "description": "Thumb height", "longDescription": "", "name": "Value", "optional": false, @@ -17744,13 +20425,13 @@ "objectGroups": [] }, { - "description": "The minimum value of a slider.", - "fullName": "Slider minimum value", - "functionType": "Expression", - "group": "Slider value configuration", - "name": "ValueMin", + "description": "Change radius of the halo around the thumb. This size is also used to detect interaction with the slider.", + "fullName": "Halo radius", + "functionType": "Action", + "group": "Slider thumb configuration", + "name": "SetHaloRadius", "private": false, - "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", + "sentence": "Change halo radius of _PARAM0_ to _PARAM2_px", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -17758,10 +20439,23 @@ "actions": [ { "type": { - "value": "SetReturnNumber" + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyHaloRadius" }, "parameters": [ - "Object.Behavior::PropertyValueMin()" + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" ] } ] @@ -17787,18 +20481,28 @@ "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Halo radius", + "longDescription": "", + "name": "Value", + "optional": false, + "supplementaryInformation": "", + "type": "expression" } ], "objectGroups": [] }, { - "description": "Change the maximum value of a slider.", - "fullName": "Slider maximum value", + "description": "Change shape of thumb (circle or rectangle).", + "fullName": "Thumb shape", "functionType": "Action", - "group": "Slider value configuration", - "name": "SetValueMin", + "group": "Slider thumb configuration", + "name": "SetThumbShape", "private": false, - "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", + "sentence": "Change shape of _PARAM0_ to _PARAM2_", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -17806,23 +20510,75 @@ "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValueMin" + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbShape" }, "parameters": [ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"ValueMin\")" + "GetArgumentAsString(\"Shape\")" ] }, { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetValue" + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" }, "parameters": [ "Object", "Behavior", - "Object.Behavior::Value()", + "yes" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Make sure thumb width is not smaller than track height (to prevent track ends from showing)", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::PropertyThumbShape" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"rectangle\"" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::PropertyThumbWidth" + }, + "parameters": [ + "Object", + "Behavior", + "<", + "Object.Behavior::PropertyTrackThickness()" + ] + } + ], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetThumbWidth" + }, + "parameters": [ + "Object", + "Behavior", + "Object.Behavior::PropertyTrackThickness()", "" ] } @@ -17853,35 +20609,91 @@ { "codeOnly": false, "defaultValue": "", - "description": "Minimum value", + "description": "New thumb shape", "longDescription": "", - "name": "ValueMin", + "name": "Shape", "optional": false, - "supplementaryInformation": "", - "type": "expression" + "supplementaryInformation": "[\"circle\",\"rectangle\"]", + "type": "stringWithSelector" } ], "objectGroups": [] }, { - "description": "The maximum value of a slider.", - "fullName": "Slider maximum value", - "functionType": "Expression", - "group": "Slider value configuration", - "name": "ValueMax", + "description": "Make track use rounded ends.", + "fullName": "Rounded track ends", + "functionType": "Action", + "group": "Slider track configuration", + "name": "SetRoundedTrack", "private": false, - "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", + "sentence": "Draw _PARAM0_ with a rounded track: _PARAM2_", "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Egal" + }, + "parameters": [ + "GetArgumentAsNumber(\"Value\")", + "=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyRoundedTrack" + }, + "parameters": [ + "Object", + "Behavior", + "no" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Egal" + }, + "parameters": [ + "GetArgumentAsNumber(\"Value\")", + "=", + "1" + ] + } + ], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyRoundedTrack" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ { "type": { - "value": "SetReturnNumber" + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" }, "parameters": [ - "Object.Behavior::PropertyValueMax()" + "Object", + "Behavior", + "yes" ] } ] @@ -17907,18 +20719,28 @@ "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Rounded track", + "longDescription": "", + "name": "Value", + "optional": false, + "supplementaryInformation": "", + "type": "yesorno" } ], "objectGroups": [] }, { - "description": "Change the minimum value of a slider.", - "fullName": "Slider minimum value", + "description": "Change opacity of thumb.", + "fullName": "Thumb opacity", "functionType": "Action", - "group": "Slider value configuration", - "name": "SetValueMax", + "group": "Slider thumb configuration", + "name": "SetThumbOpacity", "private": false, - "sentence": "Change the minimum value of _PARAM0_: _PARAM2_", + "sentence": "Change thumb opacity of _PARAM0_ to _PARAM2_", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -17926,24 +20748,23 @@ "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValueMax" + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbOpacity" }, "parameters": [ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"ValueMax\")" + "GetArgumentAsNumber(\"Value\")" ] }, { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetValue" + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" }, "parameters": [ "Object", "Behavior", - "Object.Behavior::Value()", - "" + "yes" ] } ] @@ -17973,9 +20794,9 @@ { "codeOnly": false, "defaultValue": "", - "description": "Maximum value", + "description": "Thumb opacity", "longDescription": "", - "name": "ValueMax", + "name": "Value", "optional": false, "supplementaryInformation": "", "type": "expression" @@ -17984,13 +20805,13 @@ "objectGroups": [] }, { - "description": "The tick spacing of a slider.", - "fullName": "Tick spacing", - "functionType": "Expression", - "group": "Slider value configuration", - "name": "TickSpacing", + "description": "Change opacity of inactive track.", + "fullName": "Inactive track opacity", + "functionType": "Action", + "group": "Slider track configuration", + "name": "SetInactiveTrackOpacity", "private": false, - "sentence": "Change the tick spacing of _PARAM0_: _PARAM2_", + "sentence": "Change inactive track opacity of _PARAM0_ to _PARAM2_", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -17998,10 +20819,23 @@ "actions": [ { "type": { - "value": "SetReturnNumber" + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyInactiveTrackOpacity" }, "parameters": [ - "Object.Behavior::PropertyTickSpacing()" + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" ] } ] @@ -18031,9 +20865,9 @@ { "codeOnly": false, "defaultValue": "", - "description": "Tick spacing", + "description": "Inactive track opacity", "longDescription": "", - "name": "TickSpacing", + "name": "Value", "optional": false, "supplementaryInformation": "", "type": "expression" @@ -18042,13 +20876,13 @@ "objectGroups": [] }, { - "description": "Change the tick spacing of a slider.", - "fullName": "Tick spacing", + "description": "Change opacity of active track.", + "fullName": "Active track opacity", "functionType": "Action", - "group": "Slider value configuration", - "name": "SetTickSpacing", + "group": "Slider track configuration", + "name": "SetActiveTrackOpacity", "private": false, - "sentence": "Change the tick spacing of _PARAM0_: _PARAM2_", + "sentence": "Change active track opacity of _PARAM0_ to _PARAM2_", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -18056,24 +20890,23 @@ "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyTickSpacing" + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyActiveTrackOpacity" }, "parameters": [ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"TickSpacing\")" + "GetArgumentAsNumber(\"Value\")" ] }, { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetValue" + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" }, "parameters": [ "Object", "Behavior", - "Object.Behavior::Value()", - "" + "yes" ] } ] @@ -18103,9 +20936,9 @@ { "codeOnly": false, "defaultValue": "", - "description": "Tick spacing", + "description": "Active track opacity", "longDescription": "", - "name": "TickSpacing", + "name": "Value", "optional": false, "supplementaryInformation": "", "type": "expression" @@ -18114,13 +20947,13 @@ "objectGroups": [] }, { - "description": "Change length of track.", - "fullName": "Track length", + "description": "Change the color of the track that is LEFT of the thumb.", + "fullName": "Active track color ", "functionType": "Action", "group": "Slider track configuration", - "name": "SetTrackLength", + "name": "SetActiveTrackColor", "private": false, - "sentence": "Change track length of _PARAM0_ to _PARAM2_px", + "sentence": "Change active track color of _PARAM0_ to _PARAM2_", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -18128,23 +20961,13 @@ "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyTrackLength" + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyActiveTrackColor" }, "parameters": [ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::UpdateHitbox" - }, - "parameters": [ - "Object", - "Behavior", - "" + "GetArgumentAsString(\"Color\")" ] }, { @@ -18158,36 +20981,6 @@ ] } ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Move thumb to correct place (based on new track size)", - "comment2": "" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetValue" - }, - "parameters": [ - "Object", - "Behavior", - "Object.Behavior::PropertyValue()", - "" - ] - } - ] } ], "parameters": [ @@ -18214,24 +21007,24 @@ { "codeOnly": false, "defaultValue": "", - "description": "Track width", + "description": "Active track color", "longDescription": "", - "name": "Value", + "name": "Color", "optional": false, "supplementaryInformation": "", - "type": "expression" + "type": "color" } ], "objectGroups": [] }, { - "description": "Change thickness of track.", - "fullName": "Track thickness", + "description": "Change the color of the track that is RIGHT of the thumb.", + "fullName": "Inactive track color", "functionType": "Action", "group": "Slider track configuration", - "name": "SetTrackThickness", + "name": "SetInactiveTrackColor", "private": false, - "sentence": "Change track thickness of _PARAM0_ to _PARAM2_px", + "sentence": "Change inactive track color of _PARAM0_ to _PARAM2_", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -18239,13 +21032,13 @@ "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyTrackThickness" + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyInactiveTrackColor" }, "parameters": [ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"Value\")" + "GetArgumentAsString(\"Color\")" ] }, { @@ -18259,77 +21052,6 @@ ] } ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Make sure thumb width is not smaller than track height + 2 pixels (to prevent track ends from showing)", - "comment2": "" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyThumbWidth" - }, - "parameters": [ - "Object", - "Behavior", - "<", - "Object.Behavior::PropertyTrackThickness() + 2" - ] - } - ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetThumbWidth" - }, - "parameters": [ - "Object", - "Behavior", - "Object.Behavior::PropertyTrackThickness() + 2", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyThumbHeight" - }, - "parameters": [ - "Object", - "Behavior", - "<", - "Object.Behavior::PropertyTrackThickness() + 2" - ] - } - ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetThumbHeight" - }, - "parameters": [ - "Object", - "Behavior", - "Object.Behavior::PropertyTrackThickness() + 2", - "" - ] - } - ] } ], "parameters": [ @@ -18356,67 +21078,37 @@ { "codeOnly": false, "defaultValue": "", - "description": "Track thickness", + "description": "Inactive track color", "longDescription": "", - "name": "Value", + "name": "Color", "optional": false, "supplementaryInformation": "", - "type": "expression" + "type": "color" } ], "objectGroups": [] }, { - "description": "Change width of thumb.", - "fullName": "Thumb width", + "description": "Change the thumb color to a specific value.", + "fullName": "Thumb color", "functionType": "Action", "group": "Slider thumb configuration", - "name": "SetThumbWidth", + "name": "SetThumbColor", "private": false, - "sentence": "Change thumb width of _PARAM0_ to _PARAM2_px", + "sentence": "Change thumb color of _PARAM0_ to _PARAM2_", "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Thumb cannot be less than track thickness (plus 2 pixels)", - "comment2": "" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbWidth" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "max(GetArgumentAsNumber(\"Value\"), Object.Behavior::PropertyTrackThickness() + 2)" - ] - } - ] - }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::UpdateHitbox" + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbColor" }, "parameters": [ "Object", "Behavior", - "" + "GetArgumentAsString(\"Color\")" ] }, { @@ -18456,77 +21148,49 @@ { "codeOnly": false, "defaultValue": "", - "description": "Thumb width", + "description": "Thumb color", "longDescription": "", - "name": "Value", + "name": "Color", "optional": false, "supplementaryInformation": "", - "type": "expression" + "type": "color" } ], "objectGroups": [] }, { - "description": "Change height of thumb.", - "fullName": "Thumb height", + "description": "Update the hitbox.", + "fullName": "Update hitbox", "functionType": "Action", - "group": "Slider thumb configuration", - "name": "SetThumbHeight", - "private": false, - "sentence": "Change thumb height of _PARAM0_ to _PARAM2_px", + "group": "Private", + "name": "UpdateHitbox", + "private": true, + "sentence": "Update the hitbox of _PARAM0_", "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Thumb cannot be less than track thickness (plus 2 pixels)", - "comment2": "" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbHeight" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "max(GetArgumentAsNumber(\"Value\"), Object.Behavior::PropertyTrackThickness() + 2)" - ] - } - ] - }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::UpdateHitbox" + "value": "PrimitiveDrawing::SetRotationCenter" }, "parameters": [ "Object", - "Behavior", - "" + "Object.Behavior::PropertyTrackLength() / 2", + "Object.Behavior::PropertyTrackThickness() / 2" ] }, { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + "value": "PrimitiveDrawing::SetRectangularCollisionMask" }, "parameters": [ "Object", - "Behavior", - "yes" + "-Object.Behavior::PropertyThumbWidth() / 2", + "-Object.Behavior::PropertyThumbHeight() / 2", + "Object.Behavior::PropertyTrackLength() + Object.Behavior::PropertyThumbWidth() / 2", + "Object.Behavior::PropertyThumbHeight() / 2" ] } ] @@ -18552,176 +21216,389 @@ "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" - }, - { - "codeOnly": false, - "defaultValue": "", - "description": "Thumb height", - "longDescription": "", - "name": "Value", - "optional": false, - "supplementaryInformation": "", - "type": "expression" } ], "objectGroups": [] + } + ], + "propertyDescriptors": [ + { + "value": "0", + "type": "Number", + "label": "Minimum value", + "description": "", + "group": "", + "extraInformation": [], + "hidden": false, + "name": "ValueMin" + }, + { + "value": "1", + "type": "Number", + "label": "Maximum value", + "description": "", + "group": "", + "extraInformation": [], + "hidden": false, + "name": "ValueMax" + }, + { + "value": "0", + "type": "Number", + "label": "Tick spacing", + "description": "", + "group": "", + "extraInformation": [], + "hidden": false, + "name": "TickSpacing" + }, + { + "value": "circle", + "type": "Choice", + "label": "Thumb shape", + "description": "", + "group": "Thumb", + "extraInformation": [ + "circle", + "rectangle" + ], + "hidden": false, + "name": "ThumbShape" + }, + { + "value": "20", + "type": "Number", + "label": "Thumb width", + "description": "", + "group": "Thumb", + "extraInformation": [], + "hidden": false, + "name": "ThumbWidth" + }, + { + "value": "20", + "type": "Number", + "label": "Thumb height", + "description": "", + "group": "Thumb", + "extraInformation": [], + "hidden": false, + "name": "ThumbHeight" + }, + { + "value": " 24;119;211", + "type": "Color", + "label": "Thumb Color", + "description": "", + "group": "Thumb", + "extraInformation": [], + "hidden": false, + "name": "ThumbColor" + }, + { + "value": "255", + "type": "Number", + "label": "Thumb opacity", + "description": "", + "group": "Thumb", + "extraInformation": [], + "hidden": false, + "name": "ThumbOpacity" + }, + { + "value": "200", + "type": "Number", + "label": "Track length", + "description": "", + "group": "Track", + "extraInformation": [], + "hidden": false, + "name": "TrackLength" + }, + { + "value": "4", + "type": "Number", + "label": "Track thickness", + "description": "", + "group": "Track", + "extraInformation": [], + "hidden": false, + "name": "TrackThickness" + }, + { + "value": "", + "type": "String", + "label": "Inactive track color (thumb color by default)", + "description": "", + "group": "Track", + "extraInformation": [], + "hidden": false, + "name": "InactiveTrackColor" + }, + { + "value": "96", + "type": "Number", + "label": "Inactive track opacity", + "description": "", + "group": "Track", + "extraInformation": [], + "hidden": false, + "name": "InactiveTrackOpacity" + }, + { + "value": " ", + "type": "String", + "label": "Active track color (thumb color by default)", + "description": "", + "group": "Track", + "extraInformation": [], + "hidden": false, + "name": "ActiveTrackColor" + }, + { + "value": "255", + "type": "Number", + "label": "Active track opacity", + "description": "", + "group": "Track", + "extraInformation": [], + "hidden": false, + "name": "ActiveTrackOpacity" + }, + { + "value": "24", + "type": "Number", + "label": "Halo size (hover)", + "description": "", + "group": "Thumb", + "extraInformation": [], + "hidden": false, + "name": "HaloRadius" + }, + { + "value": "32", + "type": "Number", + "label": "Halo opacity (hover)", + "description": "", + "group": "Thumb", + "extraInformation": [], + "hidden": false, + "name": "HaloOpacityHover" + }, + { + "value": "64", + "type": "Number", + "label": "Halo opacity (pressed)", + "description": "", + "group": "Thumb", + "extraInformation": [], + "hidden": false, + "name": "HaloOpacityClick" + }, + { + "value": "true", + "type": "Boolean", + "label": "Rounded track ends", + "description": "", + "group": "Track", + "extraInformation": [], + "hidden": false, + "name": "RoundedTrack" }, { - "description": "Change radius of the halo around the thumb. This size is also used to detect interaction with the slider.", - "fullName": "Halo radius", - "functionType": "Action", - "group": "Slider thumb configuration", - "name": "SetHaloRadius", - "private": false, - "sentence": "Change halo radius of _PARAM0_ to _PARAM2_px", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyHaloRadius" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "codeOnly": false, - "defaultValue": "", - "description": "Object", - "longDescription": "", - "name": "Object", - "optional": false, - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "codeOnly": false, - "defaultValue": "", - "description": "Behavior", - "longDescription": "", - "name": "Behavior", - "optional": false, - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - }, - { - "codeOnly": false, - "defaultValue": "", - "description": "Halo radius", - "longDescription": "", - "name": "Value", - "optional": false, - "supplementaryInformation": "", - "type": "expression" - } - ], - "objectGroups": [] + "value": "true", + "type": "Boolean", + "label": "Enable interactions", + "description": "", + "group": "", + "extraInformation": [], + "hidden": false, + "name": "Enabled" }, { - "description": "Change shape of thumb (circle or rectangle).", - "fullName": "Thumb shape", - "functionType": "Action", - "group": "Slider thumb configuration", - "name": "SetThumbShape", - "private": false, - "sentence": "Change shape of _PARAM0_ to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbShape" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsString(\"Shape\")" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Make sure thumb width is not smaller than track height (to prevent track ends from showing)", - "comment2": "" - }, + "value": "", + "type": "Boolean", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "IsBeingDragged" + }, + { + "value": "0", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "Value" + }, + { + "value": "0", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "ThumbOffset" + }, + { + "value": "true", + "type": "Boolean", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "NeedRedraw" + }, + { + "value": "", + "type": "Boolean", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "IsHovered" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "MouseX" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "MouseY" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "CurrentHaloRadius" + }, + { + "value": "0.2", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "HaloGrowSpeed" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "TargetHaloRadius" + } + ] + } + ], + "eventsBasedObjects": [] + }, + { + "author": "@4ian", + "category": "", + "description": "Fire bullets, manage ammo, reloading, and overheating mechanics.\n\n- Cooldown: Time between shots (seconds)\n- Bullet Quantity: Number of bullets created for each shot\n- Angle Variance: Each bullet trajectory will be adjusted by a random value within this range (degrees)\n- Firing Arc: Range of angles (in degrees) that bullets will shoot. Bullets are evenly spread within this range.\n- Rotate bullet: Change angle of bullet to match the direction it is travelling (enabled by default)\n", + "extensionNamespace": "", + "fullName": "Fire bullets", + "helpPath": "", + "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWJ1bGxldCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xNCwyMkgxMFYyMUgxNFYyMk0xMywxMFY3SDExVjEwTDEwLDExLjVWMjBIMTRWMTEuNUwxMywxME0xMiwyQzEyLDIgMTEsMyAxMSw1VjZIMTNWNUMxMyw1IDEzLDMgMTIsMloiIC8+PC9zdmc+", + "name": "FireBullet", + "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/bullet.svg", + "shortDescription": "Fire bullets, manage ammo, reloading, and overheating mechanics.", + "version": "0.3.0", + "origin": { + "identifier": "FireBullet", + "name": "gdevelop-extension-store" + }, + "tags": [ + "fire", + "bullet", + "spawn", + "firerate" + ], + "authorIds": [ + "wWP8BSlAW0UP4NeaHa2LcmmDzmH2", + "xpwUwByyImTDcHEqDUqfyg0oRBt1", + "2OwwM8ToR9dx9RJ2sAKTcrLmCB92", + "gqDaZjCfevOOxBYkK6zlhtZnXCg1" + ], + "dependencies": [], + "eventsFunctions": [], + "eventsBasedBehaviors": [ + { + "description": "Fire bullets, manage ammo, reloading, and overheating mechanics.", + "fullName": "Fire Bullet", + "name": "FireBullet", + "objectType": "", + "eventsFunctions": [ + { + "description": "", + "fullName": "", + "functionType": "Action", + "group": "", + "name": "onCreated", + "private": false, + "sentence": "", + "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "conditions": [], + "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyThumbShape" + "value": "ResetObjectTimer" }, "parameters": [ "Object", - "Behavior", - "=", - "\"rectangle\"" + "\"FireCooldown\"" ] }, { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyThumbWidth" + "value": "FireBullet::FireBullet::SetPropertyAmmoQuantity" }, "parameters": [ "Object", "Behavior", - "<", - "Object.Behavior::PropertyTrackThickness()" + "=", + "Object.Behavior::PropertyStartingAmmo()" ] - } - ], - "actions": [ + }, { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetThumbWidth" + "value": "FireBullet::FireBullet::SetPropertyShotsBeforeNextReload" }, "parameters": [ "Object", "Behavior", - "Object.Behavior::PropertyTrackThickness()", - "" + "=", + "Object.Behavior::PropertyShotsPerReload()" ] } ] @@ -18735,7 +21612,7 @@ "longDescription": "", "name": "Object", "optional": false, - "supplementaryInformation": "PrimitiveDrawing::Drawer", + "supplementaryInformation": "", "type": "object" }, { @@ -18745,100 +21622,249 @@ "longDescription": "", "name": "Behavior", "optional": false, - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "supplementaryInformation": "FireBullet::FireBullet", "type": "behavior" - }, - { - "codeOnly": false, - "defaultValue": "", - "description": "New thumb shape", - "longDescription": "", - "name": "Shape", - "optional": false, - "supplementaryInformation": "[\"circle\",\"rectangle\"]", - "type": "stringWithSelector" } ], "objectGroups": [] }, { - "description": "Make track use rounded ends.", - "fullName": "Rounded track ends", + "description": "", + "fullName": "", "functionType": "Action", - "group": "Slider track configuration", - "name": "SetRoundedTrack", + "group": "", + "name": "doStepPreEvents", "private": false, - "sentence": "Draw _PARAM0_ with a rounded track: _PARAM2_", + "sentence": "", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "Egal" - }, - "parameters": [ - "GetArgumentAsNumber(\"Value\")", - "=", - "0" - ] - } - ], + "conditions": [], "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyRoundedTrack" + "value": "FireBullet::FireBullet::SetPropertyHasJustFired" }, "parameters": [ "Object", "Behavior", - "no" + "=" ] } ] }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Reload gun when needed", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Detect when reload is completed", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::IsReloadInProgress" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + }, + { + "type": { + "value": "CompareObjectTimer" + }, + "parameters": [ + "Object", + "\"__FireBullet.ReloadingTimer\"", + ">=", + "Object.Behavior::PropertyReloadDuration()" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyShotsBeforeNextReload" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::PropertyShotsPerReload()" + ] + }, + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyReloadsCompleted" + }, + "parameters": [ + "Object", + "Behavior", + "+", + "1" + ] + }, + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyReloadInProgress" + }, + "parameters": [ + "Object", + "Behavior", + "no" + ] + } + ] + } + ], + "parameters": [] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "", + "fullName": "", + "functionType": "Action", + "group": "", + "name": "doStepPostEvents", + "private": false, + "sentence": "", + "events": [ { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "value": "Egal" + "value": "FireBullet::FireBullet::PropertyHasJustFired" }, "parameters": [ - "GetArgumentAsNumber(\"Value\")", - "=", - "1" + "Object", + "Behavior" ] } ], "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyRoundedTrack" + "value": "ResetObjectTimer" }, "parameters": [ "Object", - "Behavior", - "yes" + "\"__FireBullet.FiringCooldown\"" ] } ] }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Automatically reload gun when needed", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::PropertyAutomaticReloading" + }, + "parameters": [ + "Object", + "Behavior" + ] + }, + { + "type": { + "value": "FireBullet::FireBullet::IsReloadNeeded" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "ResetObjectTimer" + }, + "parameters": [ + "Object", + "\"__FireBullet.ReloadingTimer\"" + ] + }, + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyReloadInProgress" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } ] } - ] + ], + "parameters": [] } ], "parameters": [ @@ -18849,7 +21875,7 @@ "longDescription": "", "name": "Object", "optional": false, - "supplementaryInformation": "PrimitiveDrawing::Drawer", + "supplementaryInformation": "", "type": "object" }, { @@ -18859,57 +21885,53 @@ "longDescription": "", "name": "Behavior", "optional": false, - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "supplementaryInformation": "FireBullet::FireBullet", "type": "behavior" - }, - { - "codeOnly": false, - "defaultValue": "", - "description": "Rounded track", - "longDescription": "", - "name": "Value", - "optional": false, - "supplementaryInformation": "", - "type": "yesorno" } ], "objectGroups": [] }, { - "description": "Change opacity of thumb.", - "fullName": "Thumb opacity", + "description": "Fire bullets toward a position.", + "fullName": "Fire bullets toward a position", "functionType": "Action", - "group": "Slider thumb configuration", - "name": "SetThumbOpacity", + "group": "Firing", + "name": "FireTowardPosition", "private": false, - "sentence": "Change thumb opacity of _PARAM0_ to _PARAM2_", + "sentence": "Fire _PARAM4_ from _PARAM0_, at position _PARAM2_; _PARAM3_, toward position _PARAM5_;_PARAM6_ with speed _PARAM7_ px/s", "events": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbOpacity" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - }, + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Calculate the trajectory angle and use the \"Fire\" bullet action", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::Fire" + }, + "parameters": [ + "Object", + "Behavior", + "GetArgumentAsNumber(\"XPosition\")", + "GetArgumentAsNumber(\"YPosition\")", + "Bullet", + "Object.AngleToPosition(GetArgumentAsNumber(\"TargetXPosition\"),GetArgumentAsNumber(\"TargetYPosition\"))", + "GetArgumentAsNumber(\"Speed\")", + "" + ] + } ] } - ] + ], + "parameters": [] } ], "parameters": [ @@ -18920,7 +21942,7 @@ "longDescription": "", "name": "Object", "optional": false, - "supplementaryInformation": "PrimitiveDrawing::Drawer", + "supplementaryInformation": "", "type": "object" }, { @@ -18930,15 +21952,65 @@ "longDescription": "", "name": "Behavior", "optional": false, - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "supplementaryInformation": "FireBullet::FireBullet", "type": "behavior" }, { "codeOnly": false, "defaultValue": "", - "description": "Thumb opacity", + "description": "X position, where to create the bullet", "longDescription": "", - "name": "Value", + "name": "XPosition", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Y position, where to create the bullet", + "longDescription": "", + "name": "YPosition", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "The bullet object", + "longDescription": "", + "name": "Bullet", + "optional": false, + "supplementaryInformation": "", + "type": "objectList" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Target X position", + "longDescription": "", + "name": "TargetXPosition", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Target Y position", + "longDescription": "", + "name": "TargetYPosition", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Speed of the bullet, in pixels per second", + "longDescription": "", + "name": "Speed", "optional": false, "supplementaryInformation": "", "type": "expression" @@ -18947,40 +22019,436 @@ "objectGroups": [] }, { - "description": "Change opacity of inactive track.", - "fullName": "Inactive track opacity", + "description": "Fire bullets in the direction of a given angle.", + "fullName": "Fire bullets", "functionType": "Action", - "group": "Slider track configuration", - "name": "SetInactiveTrackOpacity", + "group": "Firing", + "name": "Fire", "private": false, - "sentence": "Change inactive track opacity of _PARAM0_ to _PARAM2_", + "sentence": "Fire _PARAM4_ from _PARAM0_, at position _PARAM2_; _PARAM3_, with angle _PARAM5_ and speed _PARAM6_ px/s", "events": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Fire bullet", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyInactiveTrackOpacity" + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] + "comment": "Verify that the gun has ammo", + "comment2": "" }, { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "FireBullet::FireBullet::PropertyUnlimitedAmmo" + }, + "parameters": [ + "Object", + "Behavior" + ] + }, + { + "type": { + "value": "FireBullet::FireBullet::PropertyAmmoQuantity" + }, + "parameters": [ + "Object", + "Behavior", + ">", + "0" + ] + } + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Verify that the gun is not waiting to be reloaded", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "FireBullet::FireBullet::PropertyShotsPerReload" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "0" + ] + }, + { + "type": { + "value": "FireBullet::FireBullet::PropertyShotsBeforeNextReload" + }, + "parameters": [ + "Object", + "Behavior", + ">", + "0" + ] + } + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Force gun to shoot at the proper rate of fire", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "ObjectTimer" + }, + "parameters": [ + "Object", + "\"__FireBullet.FiringCooldown\"", + "Object.Behavior::PropertyFireCooldown()" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyHasJustFired" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + }, + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyShotsBeforeNextReload" + }, + "parameters": [ + "Object", + "Behavior", + "-", + "1" + ] + }, + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyShotsFired" + }, + "parameters": [ + "Object", + "Behavior", + "+", + "1" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "FireBullet::FireBullet::PropertyUnlimitedAmmo" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyAmmoQuantity" + }, + "parameters": [ + "Object", + "Behavior", + "-", + "1" + ] + } + ] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Single bullet", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "Object.Behavior::PropertyBulletQuantity()", + "=", + "1" + ] + } + ], + "actions": [ + { + "type": { + "value": "Create" + }, + "parameters": [ + "", + "Bullet", + "GetArgumentAsNumber(\"XPosition\")", + "GetArgumentAsNumber(\"YPosition\")", + "\"\"" + ] + }, + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyBulletsCreated" + }, + "parameters": [ + "Object", + "Behavior", + "+", + "1" + ] + }, + { + "type": { + "value": "AddForceAL" + }, + "parameters": [ + "Bullet", + "GetArgumentAsNumber(\"Angle\") + RandomInRange(-Object.Behavior::PropertyAngleVariance(),Object.Behavior::PropertyAngleVariance())", + "GetArgumentAsNumber(\"Speed\")", + "1" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::PropertyRotateBullet" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetAngle" + }, + "parameters": [ + "Bullet", + "=", + "GetArgumentAsNumber(\"Angle\")" + ] + } + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Multiple bullets", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "Object.Behavior::PropertyBulletQuantity()", + ">", + "1" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyCurrentBulletAngle" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Angle\") - Object.Behavior::PropertyFiringArc()/2" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Repeat", + "repeatExpression": "Object.Behavior::PropertyBulletQuantity()", + "conditions": [], + "actions": [ + { + "type": { + "value": "Create" + }, + "parameters": [ + "", + "Bullet", + "GetArgumentAsNumber(\"XPosition\")", + "GetArgumentAsNumber(\"YPosition\")", + "\"\"" + ] + }, + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyBulletsCreated" + }, + "parameters": [ + "Object", + "Behavior", + "+", + "1" + ] + }, + { + "type": { + "value": "AddForceAL" + }, + "parameters": [ + "Bullet", + "Object.Behavior::PropertyCurrentBulletAngle() + RandomInRange(-Object.Behavior::PropertyAngleVariance(),Object.Behavior::PropertyAngleVariance())", + "GetArgumentAsNumber(\"Speed\")", + "1" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::PropertyRotateBullet" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetAngle" + }, + "parameters": [ + "Bullet", + "=", + "Object.Behavior::PropertyCurrentBulletAngle()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyCurrentBulletAngle" + }, + "parameters": [ + "Object", + "Behavior", + "+", + "Object.Behavior::PropertyFiringArc() / (Object.Behavior::PropertyBulletQuantity() - 1)" + ] + } + ] + } + ] + } + ] + } + ], + "parameters": [] + } + ] + } + ] + } ] } - ] + ], + "parameters": [] } ], "parameters": [ @@ -18991,7 +22459,7 @@ "longDescription": "", "name": "Object", "optional": false, - "supplementaryInformation": "PrimitiveDrawing::Drawer", + "supplementaryInformation": "", "type": "object" }, { @@ -19001,172 +22469,70 @@ "longDescription": "", "name": "Behavior", "optional": false, - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "supplementaryInformation": "FireBullet::FireBullet", "type": "behavior" }, { "codeOnly": false, "defaultValue": "", - "description": "Inactive track opacity", + "description": "X position, where to create the bullet", "longDescription": "", - "name": "Value", + "name": "XPosition", "optional": false, "supplementaryInformation": "", "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change opacity of active track.", - "fullName": "Active track opacity", - "functionType": "Action", - "group": "Slider track configuration", - "name": "SetActiveTrackOpacity", - "private": false, - "sentence": "Change active track opacity of _PARAM0_ to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyActiveTrackOpacity" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "codeOnly": false, - "defaultValue": "", - "description": "Object", - "longDescription": "", - "name": "Object", - "optional": false, - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "codeOnly": false, - "defaultValue": "", - "description": "Behavior", - "longDescription": "", - "name": "Behavior", - "optional": false, - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" }, { "codeOnly": false, "defaultValue": "", - "description": "Active track opacity", + "description": "Y position, where to create the bullet", "longDescription": "", - "name": "Value", + "name": "YPosition", "optional": false, "supplementaryInformation": "", "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change the color of the track that is LEFT of the thumb.", - "fullName": "Active track color ", - "functionType": "Action", - "group": "Slider track configuration", - "name": "SetActiveTrackColor", - "private": false, - "sentence": "Change active track color of _PARAM0_ to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyActiveTrackColor" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsString(\"Color\")" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ + }, { "codeOnly": false, "defaultValue": "", - "description": "Object", + "description": "The bullet object", "longDescription": "", - "name": "Object", + "name": "Bullet", "optional": false, - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" + "supplementaryInformation": "", + "type": "objectList" }, { "codeOnly": false, "defaultValue": "", - "description": "Behavior", + "description": "Angle of the bullet, in degrees", "longDescription": "", - "name": "Behavior", + "name": "Angle", "optional": false, - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" + "supplementaryInformation": "", + "type": "expression" }, { "codeOnly": false, "defaultValue": "", - "description": "Active track color", + "description": "Speed of the bullet, in pixels per second", "longDescription": "", - "name": "Color", + "name": "Speed", "optional": false, "supplementaryInformation": "", - "type": "color" + "type": "expression" } ], "objectGroups": [] }, { - "description": "Change the color of the track that is RIGHT of the thumb.", - "fullName": "Inactive track color", - "functionType": "Action", - "group": "Slider track configuration", - "name": "SetInactiveTrackColor", + "description": "Check if the object has just fired something.", + "fullName": "Has just fired", + "functionType": "Condition", + "group": "Firing", + "name": "HasJustFired", "private": false, - "sentence": "Change inactive track color of _PARAM0_ to _PARAM2_", + "sentence": "_PARAM0_ has just fired", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -19174,93 +22540,34 @@ "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyInactiveTrackColor" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsString(\"Color\")" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + "value": "SetReturnBoolean" }, "parameters": [ - "Object", - "Behavior", - "yes" + "False" ] } ] - } - ], - "parameters": [ - { - "codeOnly": false, - "defaultValue": "", - "description": "Object", - "longDescription": "", - "name": "Object", - "optional": false, - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "codeOnly": false, - "defaultValue": "", - "description": "Behavior", - "longDescription": "", - "name": "Behavior", - "optional": false, - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" }, - { - "codeOnly": false, - "defaultValue": "", - "description": "Inactive track color", - "longDescription": "", - "name": "Color", - "optional": false, - "supplementaryInformation": "", - "type": "color" - } - ], - "objectGroups": [] - }, - { - "description": "Change the thumb color to a specific value.", - "fullName": "Thumb color", - "functionType": "Action", - "group": "Slider thumb configuration", - "name": "SetThumbColor", - "private": false, - "sentence": "Change thumb color of _PARAM0_ to _PARAM2_", - "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + "conditions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbColor" + "value": "FireBullet::FireBullet::PropertyHasJustFired" }, "parameters": [ "Object", - "Behavior", - "GetArgumentAsString(\"Color\")" + "Behavior" ] - }, + } + ], + "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + "value": "SetReturnBoolean" }, "parameters": [ - "Object", - "Behavior", - "yes" + "True" ] } ] @@ -19274,7 +22581,7 @@ "longDescription": "", "name": "Object", "optional": false, - "supplementaryInformation": "PrimitiveDrawing::Drawer", + "supplementaryInformation": "", "type": "object" }, { @@ -19284,55 +22591,41 @@ "longDescription": "", "name": "Behavior", "optional": false, - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "supplementaryInformation": "FireBullet::FireBullet", "type": "behavior" - }, - { - "codeOnly": false, - "defaultValue": "", - "description": "Thumb color", - "longDescription": "", - "name": "Color", - "optional": false, - "supplementaryInformation": "", - "type": "color" } ], "objectGroups": [] }, { - "description": "Update the hitbox.", - "fullName": "Update hitbox", - "functionType": "Action", - "group": "Private", - "name": "UpdateHitbox", - "private": true, - "sentence": "Update the hitbox of _PARAM0_", + "description": "Check if bullet rotates to match trajectory.", + "fullName": "Is bullet rotation enabled", + "functionType": "Condition", + "group": "Firing", + "name": "BulletRotationEnabled", + "private": false, + "sentence": "Bullet rotation enabled on _PARAM0_", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + "conditions": [ { "type": { - "value": "PrimitiveDrawing::SetRotationCenter" + "value": "FireBullet::FireBullet::PropertyRotateBullet" }, "parameters": [ "Object", - "Object.Behavior::PropertyTrackLength() / 2", - "Object.Behavior::PropertyTrackThickness() / 2" + "Behavior" ] - }, + } + ], + "actions": [ { "type": { - "value": "PrimitiveDrawing::SetRectangularCollisionMask" + "value": "SetReturnBoolean" }, "parameters": [ - "Object", - "-Object.Behavior::PropertyThumbWidth() / 2", - "-Object.Behavior::PropertyThumbHeight() / 2", - "Object.Behavior::PropertyTrackLength() + Object.Behavior::PropertyThumbWidth() / 2", - "Object.Behavior::PropertyThumbHeight() / 2" + "True" ] } ] @@ -19346,7 +22639,7 @@ "longDescription": "", "name": "Object", "optional": false, - "supplementaryInformation": "PrimitiveDrawing::Drawer", + "supplementaryInformation": "", "type": "object" }, { @@ -19356,431 +22649,532 @@ "longDescription": "", "name": "Behavior", "optional": false, - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "supplementaryInformation": "FireBullet::FireBullet", "type": "behavior" } - ], - "objectGroups": [] - } - ], - "propertyDescriptors": [ - { - "value": "0", - "type": "Number", - "label": "Minimum value", - "description": "", - "group": "", - "extraInformation": [], - "hidden": false, - "name": "ValueMin" - }, - { - "value": "1", - "type": "Number", - "label": "Maximum value", - "description": "", - "group": "", - "extraInformation": [], - "hidden": false, - "name": "ValueMax" - }, - { - "value": "0", - "type": "Number", - "label": "Tick spacing", - "description": "", - "group": "", - "extraInformation": [], - "hidden": false, - "name": "TickSpacing" - }, - { - "value": "circle", - "type": "Choice", - "label": "Thumb shape", - "description": "", - "group": "Thumb", - "extraInformation": [ - "circle", - "rectangle" - ], - "hidden": false, - "name": "ThumbShape" - }, - { - "value": "20", - "type": "Number", - "label": "Thumb width", - "description": "", - "group": "Thumb", - "extraInformation": [], - "hidden": false, - "name": "ThumbWidth" - }, - { - "value": "20", - "type": "Number", - "label": "Thumb height", - "description": "", - "group": "Thumb", - "extraInformation": [], - "hidden": false, - "name": "ThumbHeight" - }, - { - "value": " 24;119;211", - "type": "Color", - "label": "Thumb Color", - "description": "", - "group": "Thumb", - "extraInformation": [], - "hidden": false, - "name": "ThumbColor" - }, - { - "value": "255", - "type": "Number", - "label": "Thumb opacity", - "description": "", - "group": "Thumb", - "extraInformation": [], - "hidden": false, - "name": "ThumbOpacity" - }, - { - "value": "200", - "type": "Number", - "label": "Track length", - "description": "", - "group": "Track", - "extraInformation": [], - "hidden": false, - "name": "TrackLength" - }, - { - "value": "4", - "type": "Number", - "label": "Track thickness", - "description": "", - "group": "Track", - "extraInformation": [], - "hidden": false, - "name": "TrackThickness" - }, - { - "value": "", - "type": "String", - "label": "Inactive track color (thumb color by default)", - "description": "", - "group": "Track", - "extraInformation": [], - "hidden": false, - "name": "InactiveTrackColor" - }, - { - "value": "96", - "type": "Number", - "label": "Inactive track opacity", - "description": "", - "group": "Track", - "extraInformation": [], - "hidden": false, - "name": "InactiveTrackOpacity" - }, - { - "value": " ", - "type": "String", - "label": "Active track color (thumb color by default)", - "description": "", - "group": "Track", - "extraInformation": [], - "hidden": false, - "name": "ActiveTrackColor" - }, - { - "value": "255", - "type": "Number", - "label": "Active track opacity", - "description": "", - "group": "Track", - "extraInformation": [], - "hidden": false, - "name": "ActiveTrackOpacity" - }, - { - "value": "24", - "type": "Number", - "label": "Halo size (hover)", - "description": "", - "group": "Thumb", - "extraInformation": [], - "hidden": false, - "name": "HaloRadius" - }, - { - "value": "32", - "type": "Number", - "label": "Halo opacity (hover)", - "description": "", - "group": "Thumb", - "extraInformation": [], - "hidden": false, - "name": "HaloOpacityHover" - }, - { - "value": "64", - "type": "Number", - "label": "Halo opacity (pressed)", - "description": "", - "group": "Thumb", - "extraInformation": [], - "hidden": false, - "name": "HaloOpacityClick" - }, - { - "value": "true", - "type": "Boolean", - "label": "Rounded track ends", - "description": "", - "group": "Track", - "extraInformation": [], - "hidden": false, - "name": "RoundedTrack" - }, - { - "value": "true", - "type": "Boolean", - "label": "Enable interactions", - "description": "", - "group": "", - "extraInformation": [], - "hidden": false, - "name": "Enabled" - }, - { - "value": "", - "type": "Boolean", - "label": "", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "IsBeingDragged" - }, - { - "value": "0", - "type": "Number", - "label": "", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "Value" - }, - { - "value": "0", - "type": "Number", - "label": "", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "ThumbOffset" + ], + "objectGroups": [] }, { - "value": "true", - "type": "Boolean", - "label": "", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "NeedRedraw" + "description": "Change the firing arc (in degrees) where bullets will be shot. Bullets will be evenly spaced out inside the firing arc.", + "fullName": "Set firing arc", + "functionType": "Action", + "group": "Firing", + "name": "SetFiringArc", + "private": false, + "sentence": "Set firing arc of _PARAM0_ to _PARAM2_ degrees", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyFiringArc" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Firing arc (degrees) Range: 0 to 360", + "longDescription": "", + "name": "Value", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] }, { - "value": "", - "type": "Boolean", - "label": "", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "IsHovered" + "description": "Change the angle variance (in degrees) applied to each bullet.", + "fullName": "Set angle variance", + "functionType": "Action", + "group": "Firing", + "name": "SetAngleVariance", + "private": false, + "sentence": "Set angle variance of _PARAM0_ to _PARAM2_ degrees", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyAngleVariance" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Angle variance (degrees) Range: 0 to 180", + "longDescription": "", + "name": "Value", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] }, { - "value": "", - "type": "Number", - "label": "", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "MouseX" + "description": "Change the number of bullets shot every time the \"fire bullet\" action is used.", + "fullName": "Set number of bullets per shot", + "functionType": "Action", + "group": "Firing", + "name": "SetBulletQuantity", + "private": false, + "sentence": "Set number of bullets per shot of _PARAM0_ to _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyBulletQuantity" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Bullets", + "longDescription": "", + "name": "Value", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] }, { - "value": "", - "type": "Number", - "label": "", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "MouseY" + "description": "Enable bullet rotation.", + "fullName": "Enable (or disable) bullet rotation", + "functionType": "Action", + "group": "Firing", + "name": "SetRotateBullet", + "private": false, + "sentence": "Enable bullet rotation on _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "GetArgumentAsBoolean" + }, + "parameters": [ + "\"RotateBullet\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyRotateBullet" + }, + "parameters": [ + "Object", + "Behavior", + "no" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "GetArgumentAsBoolean" + }, + "parameters": [ + "\"RotateBullet\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyRotateBullet" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "yes", + "description": "Rotate bullet to match trajetory", + "longDescription": "", + "name": "RotateBullet", + "optional": true, + "supplementaryInformation": "", + "type": "yesorno" + } + ], + "objectGroups": [] }, { - "value": "", - "type": "Number", - "label": "", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "CurrentHaloRadius" + "description": "Enable unlimited ammo.", + "fullName": "Enable (or disable) unlimited ammo", + "functionType": "Action", + "group": "Ammo", + "name": "SetUnlimitedAmmo", + "private": false, + "sentence": "Enable unlimited ammo on _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "GetArgumentAsBoolean" + }, + "parameters": [ + "\"UnlimitedAmmo\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyUnlimitedAmmo" + }, + "parameters": [ + "Object", + "Behavior", + "no" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "GetArgumentAsBoolean" + }, + "parameters": [ + "\"UnlimitedAmmo\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyUnlimitedAmmo" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "yes", + "description": "Rotate bullet to match trajetory", + "longDescription": "", + "name": "UnlimitedAmmo", + "optional": true, + "supplementaryInformation": "", + "type": "yesorno" + } + ], + "objectGroups": [] }, { - "value": "0.2", - "type": "Number", - "label": "", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "HaloGrowSpeed" + "description": "Change the cooldown of the fire rate.", + "fullName": "Set cooldown", + "functionType": "Action", + "group": "Firing", + "name": "SetCooldown", + "private": false, + "sentence": "Set the fire rate of _PARAM0_ to _PARAM2_ seconds", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyFireCooldown" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"NewCooldown\")" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Cooldown in seconds", + "longDescription": "", + "name": "NewCooldown", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] }, { - "value": "", - "type": "Number", - "label": "", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "TargetHaloRadius" - } - ] - } - ] - }, - { - "author": "@4ian", - "category": "", - "description": "Allow the object to fire bullets with customizable speed, angle and fire rate.\n\nCooldown: Time between shots (seconds)\nBullet Quantity: Number of bullets shot at once\nAngle Variance: Each bullet trajectory will be adjusted by a random value within this range (degrees)\nFiring Arc: Range of angles (in degrees) that bullets will shoot. Bullets are evenly spread within this range.\nRotate bullet: Change angle of bullet to match the direction it is travelling (enabled by default)\n", - "extensionNamespace": "", - "fullName": "Fire bullets", - "helpPath": "", - "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWJ1bGxldCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xNCwyMkgxMFYyMUgxNFYyMk0xMywxMFY3SDExVjEwTDEwLDExLjVWMjBIMTRWMTEuNUwxMywxME0xMiwyQzEyLDIgMTEsMyAxMSw1VjZIMTNWNUMxMyw1IDEzLDMgMTIsMloiIC8+PC9zdmc+", - "name": "FireBullet", - "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/bullet.svg", - "shortDescription": "Allow the object to fire bullets with customizable speed, angle and fire rate.", - "version": "0.2.1", - "origin": { - "identifier": "FireBullet", - "name": "gdevelop-extension-store" - }, - "tags": [ - "fire", - "bullet", - "spawn", - "firerate" - ], - "authorIds": [ - "wWP8BSlAW0UP4NeaHa2LcmmDzmH2", - "xpwUwByyImTDcHEqDUqfyg0oRBt1", - "2OwwM8ToR9dx9RJ2sAKTcrLmCB92", - "gqDaZjCfevOOxBYkK6zlhtZnXCg1" - ], - "dependencies": [], - "eventsFunctions": [], - "eventsBasedBehaviors": [ - { - "description": "Allow the object to fire bullets, with customizable speed, angle and fire rate.", - "fullName": "Fire Bullet", - "name": "FireBullet", - "objectType": "", - "eventsFunctions": [ + "description": "Change the duration to reload ammo.", + "fullName": "Set reload duration", + "functionType": "Action", + "group": "Ammo", + "name": "SetReloadDuration", + "private": false, + "sentence": "Set reload duration of _PARAM0_ to _PARAM2_ seconds", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyReloadDuration" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Reload duration (seconds)", + "longDescription": "", + "name": "Value", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + }, { - "description": "Fire a bullet toward a position.", - "fullName": "Fire a bullet toward a position", + "description": "Change the quantity of ammo.", + "fullName": "Set ammo quantity", "functionType": "Action", - "group": "", - "name": "FireTowardPosition", + "group": "Ammo", + "name": "SetAmmoQuantity", "private": false, - "sentence": "Fire _PARAM4_ from _PARAM0_, at position _PARAM2_;_PARAM3_, toward position _PARAM5_;_PARAM6_ with speed _PARAM7_ px/s, rotate bullet: _PARAM8_", + "sentence": "Set ammo quantity of _PARAM0_ to _PARAM2_", "events": [ { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Calculate the trajectory angle and use the \"Fire\" bullet action", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "GetArgumentAsBoolean" - }, - "parameters": [ - "\"RotateBullet\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::Fire" - }, - "parameters": [ - "Object", - "Behavior", - "GetArgumentAsNumber(\"XPosition\")", - "GetArgumentAsNumber(\"YPosition\")", - "Bullet", - "Object.AngleToPosition(GetArgumentAsNumber(\"TargetXPosition\"),GetArgumentAsNumber(\"TargetYPosition\"))", - "GetArgumentAsNumber(\"Speed\")", - "", - "" - ] - } - ] - }, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "GetArgumentAsBoolean" - }, - "parameters": [ - "\"RotateBullet\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::Fire" - }, - "parameters": [ - "Object", - "Behavior", - "GetArgumentAsNumber(\"XPosition\")", - "GetArgumentAsNumber(\"YPosition\")", - "Bullet", - "Object.AngleToPosition(GetArgumentAsNumber(\"TargetXPosition\"),GetArgumentAsNumber(\"TargetYPosition\"))", - "GetArgumentAsNumber(\"Speed\")", - "no", - "" - ] - } + "type": { + "value": "FireBullet::FireBullet::SetPropertyAmmoQuantity" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" ] } - ], - "parameters": [] + ] } ], "parameters": [ @@ -19807,308 +23201,319 @@ { "codeOnly": false, "defaultValue": "", - "description": "X position, where to create the bullet", + "description": "Ammo", "longDescription": "", - "name": "XPosition", + "name": "Value", "optional": false, "supplementaryInformation": "", "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change the max ammo.", + "fullName": "Set max ammo", + "functionType": "Action", + "group": "Ammo", + "name": "SetMaxAmmo", + "private": false, + "sentence": "Set max ammo of _PARAM0_ to _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyMaxAmmo" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + } + ] }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::PropertyMaxAmmo" + }, + "parameters": [ + "Object", + "Behavior", + ">", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyAmmoQuantity" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "min(Object.Behavior::MaxAmmo(),Object.Behavior::AmmoQuantity())" + ] + } + ] + } + ], + "parameters": [ { "codeOnly": false, "defaultValue": "", - "description": "Y position, where to create the bullet", + "description": "Object", "longDescription": "", - "name": "YPosition", + "name": "Object", "optional": false, "supplementaryInformation": "", - "type": "expression" + "type": "object" }, { "codeOnly": false, "defaultValue": "", - "description": "The bullet object", + "description": "Behavior", "longDescription": "", - "name": "Bullet", + "name": "Behavior", "optional": false, - "supplementaryInformation": "", - "type": "objectList" + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" }, { "codeOnly": false, "defaultValue": "", - "description": "Target X position", + "description": "Max ammo", "longDescription": "", - "name": "TargetXPosition", + "name": "Value", "optional": false, "supplementaryInformation": "", "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change the number of shots per reload.", + "fullName": "Set shots per reload", + "functionType": "Action", + "group": "Ammo", + "name": "SetShotsPerReload", + "private": false, + "sentence": "Set shots per reload of _PARAM0_ to _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyShotsPerReload" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + } + ] }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::PropertyShotsBeforeNextReload" + }, + "parameters": [ + "Object", + "Behavior", + ">", + "Object.Behavior::PropertyShotsPerReload()" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyShotsBeforeNextReload" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::PropertyShotsPerReload()" + ] + } + ] + } + ], + "parameters": [ { "codeOnly": false, "defaultValue": "", - "description": "Target Y position", + "description": "Object", "longDescription": "", - "name": "TargetYPosition", + "name": "Object", "optional": false, "supplementaryInformation": "", - "type": "expression" + "type": "object" }, { "codeOnly": false, "defaultValue": "", - "description": "Speed of the bullet, in pixels per second", + "description": "Behavior", "longDescription": "", - "name": "Speed", + "name": "Behavior", "optional": false, - "supplementaryInformation": "", - "type": "expression" + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" }, { "codeOnly": false, - "defaultValue": "yes", - "description": "Rotate bullet to match trajectory", + "defaultValue": "", + "description": "Shots per reload", "longDescription": "", - "name": "RotateBullet", - "optional": true, + "name": "Value", + "optional": false, "supplementaryInformation": "", - "type": "yesorno" + "type": "expression" } ], "objectGroups": [] }, { - "description": "Fire a bullet.", - "fullName": "Fire a bullet", + "description": "Increase ammo quantity.", + "fullName": "Increase ammo", "functionType": "Action", - "group": "", - "name": "Fire", + "group": "Ammo", + "name": "IncreaseAmmo", "private": false, - "sentence": "Fire _PARAM4_ from _PARAM0_, at position _PARAM2_;_PARAM3_, with angle _PARAM5_ and speed _PARAM6_ px/s", + "sentence": "Increase ammo of _PARAM0_ by _PARAM2_ shots", "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyAmmoQuantity" + }, + "parameters": [ + "Object", + "Behavior", + "+", + "GetArgumentAsNumber(\"AmmoGained\")" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "If Max Ammo is set, do not exceed the value", + "comment2": "" + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "value": "ObjectTimer" + "value": "FireBullet::FireBullet::PropertyMaxAmmo" }, "parameters": [ "Object", - "\"FireCooldown\"", - "Object.Behavior::PropertyFireCooldown()" + "Behavior", + ">", + "0" ] } ], "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyHasJustFired" + "value": "FireBullet::FireBullet::SetPropertyAmmoQuantity" }, "parameters": [ "Object", "Behavior", - "yes" + "=", + "min(Object.Behavior::MaxAmmo(),Object.Behavior::AmmoQuantity())" ] } - ], - "events": [ - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Single bullet", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Behavior::PropertyBulletQuantity()", - "=", - "1" - ] - } - ], - "actions": [ - { - "type": { - "value": "Create" - }, - "parameters": [ - "", - "Bullet", - "GetArgumentAsNumber(\"XPosition\")", - "GetArgumentAsNumber(\"YPosition\")", - "\"\"" - ] - }, - { - "type": { - "value": "AddForceAL" - }, - "parameters": [ - "Bullet", - "GetArgumentAsNumber(\"Angle\") + RandomInRange(-Object.Behavior::PropertyAngleVariance(),Object.Behavior::PropertyAngleVariance())", - "GetArgumentAsNumber(\"Speed\")", - "1" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "FireBullet::FireBullet::PropertyRotateBullet" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetAngle" - }, - "parameters": [ - "Bullet", - "=", - "GetArgumentAsNumber(\"Angle\")" - ] - } - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Multiple bullets", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Behavior::PropertyBulletQuantity()", - ">", - "1" - ] - } - ], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::SetPropertyCurrentBulletAngle" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Angle\") - Object.Behavior::PropertyFiringArc()/2" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Repeat", - "repeatExpression": "Object.Behavior::PropertyBulletQuantity()", - "conditions": [], - "actions": [ - { - "type": { - "value": "Create" - }, - "parameters": [ - "", - "Bullet", - "GetArgumentAsNumber(\"XPosition\")", - "GetArgumentAsNumber(\"YPosition\")", - "\"\"" - ] - }, - { - "type": { - "value": "AddForceAL" - }, - "parameters": [ - "Bullet", - "Object.Behavior::PropertyCurrentBulletAngle() + RandomInRange(-Object.Behavior::PropertyAngleVariance(),Object.Behavior::PropertyAngleVariance())", - "GetArgumentAsNumber(\"Speed\")", - "1" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "FireBullet::FireBullet::PropertyRotateBullet" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetAngle" - }, - "parameters": [ - "Bullet", - "=", - "Object.Behavior::PropertyCurrentBulletAngle()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::SetPropertyCurrentBulletAngle" - }, - "parameters": [ - "Object", - "Behavior", - "+", - "Object.Behavior::PropertyFiringArc() / (Object.Behavior::PropertyBulletQuantity() - 1)" - ] - } - ] - } - ] - } - ] - } - ], - "parameters": [] + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Ammo gained", + "longDescription": "", + "name": "AmmoGained", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Number of bullets to shoot at once (evenly spaced inside the Firing Arc).", + "fullName": "Bullet quantity", + "functionType": "Expression", + "group": "Firing", + "name": "BulletQuantity", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyBulletQuantity()" + ] } ] } @@ -20133,68 +23538,114 @@ "optional": false, "supplementaryInformation": "FireBullet::FireBullet", "type": "behavior" - }, + } + ], + "objectGroups": [] + }, + { + "description": "Angle variance in degrees.", + "fullName": "Angle variance", + "functionType": "Expression", + "group": "Firing", + "name": "AngleVariance", + "private": false, + "sentence": "", + "events": [ { - "codeOnly": false, - "defaultValue": "", - "description": "X position, where to create the bullet", - "longDescription": "", - "name": "XPosition", - "optional": false, - "supplementaryInformation": "", - "type": "expression" - }, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyAngleVariance()" + ] + } + ] + } + ], + "parameters": [ { "codeOnly": false, "defaultValue": "", - "description": "Y position, where to create the bullet", + "description": "Object", "longDescription": "", - "name": "YPosition", + "name": "Object", "optional": false, "supplementaryInformation": "", - "type": "expression" + "type": "object" }, { "codeOnly": false, "defaultValue": "", - "description": "The bullet object", + "description": "Behavior", "longDescription": "", - "name": "Bullet", + "name": "Behavior", "optional": false, - "supplementaryInformation": "", - "type": "objectList" - }, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Firing arc in degrees.", + "fullName": "Firing arc", + "functionType": "Expression", + "group": "Firing", + "name": "FiringArc", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyFiringArc()" + ] + } + ] + } + ], + "parameters": [ { "codeOnly": false, "defaultValue": "", - "description": "Angle of the bullet, in degrees", + "description": "Object", "longDescription": "", - "name": "Angle", + "name": "Object", "optional": false, "supplementaryInformation": "", - "type": "expression" + "type": "object" }, { "codeOnly": false, "defaultValue": "", - "description": "Speed of the bullet, in pixels per second", + "description": "Behavior", "longDescription": "", - "name": "Speed", + "name": "Behavior", "optional": false, - "supplementaryInformation": "", - "type": "expression" + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" } ], "objectGroups": [] }, { - "description": "Check if the object has just fired something.", - "fullName": "Has just fired", - "functionType": "Condition", - "group": "", - "name": "HasJustFired", + "description": "Firing cooldown in seconds.", + "fullName": "Firing cooldown", + "functionType": "Expression", + "group": "Firing", + "name": "Cooldown", "private": false, - "sentence": "_PARAM0_ has just fired", + "sentence": "", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -20202,34 +23653,58 @@ "actions": [ { "type": { - "value": "SetReturnBoolean" + "value": "SetReturnNumber" }, "parameters": [ - "False" + "Object.Behavior::PropertyFireCooldown()" ] } ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Reload duration in seconds.", + "fullName": "Reload duration", + "functionType": "Expression", + "group": "Ammo", + "name": "ReloadDuration", + "private": false, + "sentence": "", + "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "FireBullet::FireBullet::PropertyHasJustFired" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], + "conditions": [], "actions": [ { "type": { - "value": "SetReturnBoolean" + "value": "SetReturnNumber" }, "parameters": [ - "True" + "Object.Behavior::PropertyReloadDuration()" ] } ] @@ -20260,34 +23735,24 @@ "objectGroups": [] }, { - "description": "Check if bullet rotates to match trajectory.", - "fullName": "Is bullet rotation enabled", - "functionType": "Condition", - "group": "", - "name": "BulletRotationEnabled", + "description": "Max ammo.", + "fullName": "Max ammo", + "functionType": "Expression", + "group": "Ammo", + "name": "MaxAmmo", "private": false, - "sentence": "Bullet rotation enabled on _PARAM0_", + "sentence": "", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "FireBullet::FireBullet::PropertyRotateBullet" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], + "conditions": [], "actions": [ { "type": { - "value": "SetReturnBoolean" + "value": "SetReturnNumber" }, "parameters": [ - "True" + "Object.Behavior::PropertyMaxAmmo()" ] } ] @@ -20318,11 +23783,11 @@ "objectGroups": [] }, { - "description": "", - "fullName": "", - "functionType": "Action", - "group": "", - "name": "doStepPreEvents", + "description": "Shots fired (multi-bullet shots are considered one shot).", + "fullName": "Shots fired", + "functionType": "Expression", + "group": "Stats", + "name": "ShotsFired", "private": false, "sentence": "", "events": [ @@ -20332,12 +23797,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyHasJustFired" + "value": "SetReturnNumber" }, "parameters": [ - "Object", - "Behavior", - "=" + "Object.Behavior::PropertyShotsFired()" ] } ] @@ -20368,11 +23831,11 @@ "objectGroups": [] }, { - "description": "", - "fullName": "", - "functionType": "Action", - "group": "", - "name": "onCreated", + "description": "Bullets created.", + "fullName": "Bullets created", + "functionType": "Expression", + "group": "Stats", + "name": "BulletsCreated", "private": false, "sentence": "", "events": [ @@ -20382,11 +23845,10 @@ "actions": [ { "type": { - "value": "ResetObjectTimer" + "value": "SetReturnNumber" }, "parameters": [ - "Object", - "\"FireCooldown\"" + "Object.Behavior::PropertyBulletsCreated()" ] } ] @@ -20417,35 +23879,72 @@ "objectGroups": [] }, { - "description": "", - "fullName": "", - "functionType": "Action", - "group": "", - "name": "doStepPostEvents", + "description": "Ammo quantity.", + "fullName": "Ammo quantity", + "functionType": "Expression", + "group": "Ammo", + "name": "AmmoQuantity", "private": false, "sentence": "", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "conditions": [], + "actions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyHasJustFired" + "value": "SetReturnNumber" }, "parameters": [ - "Object", - "Behavior" + "Object.Behavior::PropertyAmmoQuantity()" ] } - ], + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Reloads completed.", + "fullName": "Reloads completed", + "functionType": "Expression", + "group": "Stats", + "name": "ReloadsCompleted", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], "actions": [ { "type": { - "value": "ResetObjectTimer" + "value": "SetReturnNumber" }, "parameters": [ - "Object", - "\"FireCooldown\"" + "Object.Behavior::PropertyReloadsCompleted()" ] } ] @@ -20476,13 +23975,13 @@ "objectGroups": [] }, { - "description": "Change the firing arc (in degrees) where bullets will be shot. Bullets will be evenly spaced out inside the firing arc.", - "fullName": "Set firing arc", - "functionType": "Action", - "group": "", - "name": "SetFiringArc", + "description": "Shots remaining before the next reload is required.", + "fullName": "Shots before next reload", + "functionType": "Expression", + "group": "Ammo", + "name": "ShotsBeforeNextReload", "private": false, - "sentence": "Set firing arc of _PARAM0_ to _PARAM2_ degrees", + "sentence": "", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -20490,13 +23989,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyFiringArc" + "value": "SetReturnNumber" }, "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" + "Object.Behavior::PropertyShotsBeforeNextReload()" ] } ] @@ -20522,28 +24018,18 @@ "optional": false, "supplementaryInformation": "FireBullet::FireBullet", "type": "behavior" - }, - { - "codeOnly": false, - "defaultValue": "", - "description": "Firing arc (degrees) Range: 0 to 360", - "longDescription": "", - "name": "Value", - "optional": false, - "supplementaryInformation": "", - "type": "expression" } ], "objectGroups": [] }, { - "description": "Change the angle variance (in degrees) applied to each bullet.", - "fullName": "Set angle variance", - "functionType": "Action", - "group": "", - "name": "SetAngleVariance", + "description": "Shots per reload.", + "fullName": "Shots per reload", + "functionType": "Expression", + "group": "Ammo", + "name": "ShotsPerReload", "private": false, - "sentence": "Set angle variance of _PARAM0_ to _PARAM2_ degrees", + "sentence": "", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -20551,13 +24037,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyAngleVariance" + "value": "SetReturnNumber" }, "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" + "Object.Behavior::PropertyShotsPerReload()" ] } ] @@ -20583,28 +24066,18 @@ "optional": false, "supplementaryInformation": "FireBullet::FireBullet", "type": "behavior" - }, - { - "codeOnly": false, - "defaultValue": "", - "description": "Angle variance (degrees) Range: 0 to 180", - "longDescription": "", - "name": "Value", - "optional": false, - "supplementaryInformation": "", - "type": "expression" } ], "objectGroups": [] }, { - "description": "Change the number of bullets shot every time the \"fire bullet\" action is used.", - "fullName": "Set bullet quantity", - "functionType": "Action", - "group": "", - "name": "SetBulletQuantity", + "description": "Seconds remaining before the cooldown will permit a bullet to be fired.", + "fullName": "Time remaining before a bullet may be fired", + "functionType": "Expression", + "group": "Firing", + "name": "CooldownTimeLeft", "private": false, - "sentence": "Set bullet quantity of _PARAM0_ to _PARAM2_", + "sentence": "", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -20612,13 +24085,10 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyBulletQuantity" + "value": "SetReturnNumber" }, "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" + "max(0,Object.Behavior::Cooldown() - Object.ObjectTimerElapsedTime(\"FireCooldown\"))" ] } ] @@ -20644,51 +24114,29 @@ "optional": false, "supplementaryInformation": "FireBullet::FireBullet", "type": "behavior" - }, - { - "codeOnly": false, - "defaultValue": "", - "description": "Bullets", - "longDescription": "", - "name": "Value", - "optional": false, - "supplementaryInformation": "", - "type": "expression" } ], "objectGroups": [] }, { - "description": "Enable bullet rotation.", - "fullName": "Enable (or disable) bullet rotation", - "functionType": "Action", - "group": "", - "name": "SetRotateBullet", + "description": "Check if object is currently performing an ammo reload.", + "fullName": "Is ammo reloading in progress", + "functionType": "Condition", + "group": "Ammo", + "name": "IsReloadInProgress", "private": false, - "sentence": "Enable bullet rotation on _PARAM0_: _PARAM2_", + "sentence": "_PARAM0_ is reloading ammo", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "GetArgumentAsBoolean" - }, - "parameters": [ - "\"RotateBullet\"" - ] - } - ], + "conditions": [], "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyRotateBullet" + "value": "SetReturnBoolean" }, "parameters": [ - "Object", - "Behavior", - "no" + "False" ] } ] @@ -20698,22 +24146,21 @@ "conditions": [ { "type": { - "value": "GetArgumentAsBoolean" + "value": "FireBullet::FireBullet::PropertyReloadInProgress" }, "parameters": [ - "\"RotateBullet\"" + "Object", + "Behavior" ] } ], "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyRotateBullet" + "value": "SetReturnBoolean" }, "parameters": [ - "Object", - "Behavior", - "yes" + "True" ] } ] @@ -20739,28 +24186,18 @@ "optional": false, "supplementaryInformation": "FireBullet::FireBullet", "type": "behavior" - }, - { - "codeOnly": false, - "defaultValue": "yes", - "description": "Rotate bullet to match trajetory", - "longDescription": "", - "name": "RotateBullet", - "optional": true, - "supplementaryInformation": "", - "type": "yesorno" } ], "objectGroups": [] }, { - "description": "Change the cooldown of the fire rate.", - "fullName": "Set cooldown", - "functionType": "Action", - "group": "", - "name": "SetCooldown", + "description": "Check if object is ready to shoot.", + "fullName": "Is ready to shoot", + "functionType": "Condition", + "group": "Firing", + "name": "IsReadyToShoot", "private": false, - "sentence": "Set the fire rate of _PARAM0_ to _PARAM2_ seconds", + "sentence": "_PARAM0_ is ready to shoot", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -20768,71 +24205,88 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyFireCooldown" + "value": "SetReturnBoolean" }, "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"NewCooldown\")" + "False" ] } ] - } - ], - "parameters": [ - { - "codeOnly": false, - "defaultValue": "", - "description": "Object", - "longDescription": "", - "name": "Object", - "optional": false, - "supplementaryInformation": "", - "type": "object" }, { - "codeOnly": false, - "defaultValue": "", - "description": "Behavior", - "longDescription": "", - "name": "Behavior", - "optional": false, - "supplementaryInformation": "FireBullet::FireBullet", - "type": "behavior" + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Not reloading, not waiting for firing cooldown, not overheated, and has ammo available", + "comment2": "" }, - { - "codeOnly": false, - "defaultValue": "", - "description": "Cooldown in seconds", - "longDescription": "", - "name": "NewCooldown", - "optional": false, - "supplementaryInformation": "", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Number of bullets to shoot at once (evenly spaced inside the Firing Arc).", - "fullName": "Bullet quantity", - "functionType": "Expression", - "group": "", - "name": "BulletQuantity", - "private": false, - "sentence": "", - "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], + "conditions": [ + { + "type": { + "inverted": true, + "value": "FireBullet::FireBullet::PropertyReloadInProgress" + }, + "parameters": [ + "Object", + "Behavior" + ] + }, + { + "type": { + "inverted": true, + "value": "FireBullet::FireBullet::IsFiringCooldownActive" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "FireBullet::FireBullet::IsUnlimitedAmmo" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + }, + { + "type": { + "value": "FireBullet::FireBullet::PropertyAmmoQuantity" + }, + "parameters": [ + "Object", + "Behavior", + ">", + "0" + ] + } + ] + } + ], "actions": [ { "type": { - "value": "SetReturnNumber" + "value": "SetReturnBoolean" }, "parameters": [ - "Object.Behavior::PropertyBulletQuantity()" + "True" ] } ] @@ -20863,24 +24317,34 @@ "objectGroups": [] }, { - "description": "Angle variance in degrees.", - "fullName": "Angle variance", - "functionType": "Expression", - "group": "", - "name": "AngleVariance", + "description": "Check if ammo is unlimited.", + "fullName": "Is ammo unlimited?", + "functionType": "Condition", + "group": "Ammo", + "name": "IsUnlimitedAmmo", "private": false, - "sentence": "", + "sentence": "Ammo is unlimited on _PARAM0_", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::PropertyUnlimitedAmmo" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], "actions": [ { "type": { - "value": "SetReturnNumber" + "value": "SetReturnBoolean" }, "parameters": [ - "Object.Behavior::PropertyAngleVariance()" + "True" ] } ] @@ -20911,13 +24375,13 @@ "objectGroups": [] }, { - "description": "Firing arc in degrees.", - "fullName": "Firing arc", - "functionType": "Expression", - "group": "", - "name": "FiringArc", + "description": "Check if object has no ammo available.", + "fullName": "Is out of ammo", + "functionType": "Condition", + "group": "Ammo", + "name": "IsOutOfAmmo", "private": false, - "sentence": "", + "sentence": "_PARAM0_ is out of ammo", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -20925,10 +24389,47 @@ "actions": [ { "type": { - "value": "SetReturnNumber" + "value": "SetReturnBoolean" }, "parameters": [ - "Object.Behavior::PropertyFiringArc()" + "False" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "FireBullet::FireBullet::IsUnlimitedAmmo" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + }, + { + "type": { + "value": "FireBullet::FireBullet::PropertyAmmoQuantity" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" ] } ] @@ -20959,13 +24460,13 @@ "objectGroups": [] }, { - "description": "Cooldown of the fire rate in seconds.", - "fullName": "Cooldown", - "functionType": "Expression", - "group": "", - "name": "Cooldown", + "description": "Check if object needs to reload ammo.", + "fullName": "Is a reload needed", + "functionType": "Condition", + "group": "Ammo", + "name": "IsReloadNeeded", "private": false, - "sentence": "", + "sentence": "_PARAM0_ needs to reload ammo", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -20973,10 +24474,47 @@ "actions": [ { "type": { - "value": "SetReturnNumber" + "value": "SetReturnBoolean" }, "parameters": [ - "Object.Behavior::PropertyFireCooldown()" + "False" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::PropertyShotsPerReload" + }, + "parameters": [ + "Object", + "Behavior", + ">", + "0" + ] + }, + { + "type": { + "value": "FireBullet::FireBullet::PropertyShotsBeforeNextReload" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" ] } ] @@ -21007,13 +24545,13 @@ "objectGroups": [] }, { - "description": "Seconds remaining before the cooldown will permit a bullet to be fired.", - "fullName": "Time remaining before a bullet may be fired", - "functionType": "Expression", + "description": "Check if firing cooldown is active.", + "fullName": "Is firing cooldown active", + "functionType": "Condition", "group": "", - "name": "CooldownTimeLeft", + "name": "IsFiringCooldownActive", "private": false, - "sentence": "", + "sentence": "Firing cooldown is active on _PARAM0_", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -21021,10 +24559,35 @@ "actions": [ { "type": { - "value": "SetReturnNumber" + "value": "SetReturnBoolean" }, "parameters": [ - "max(0,Object.Behavior::Cooldown() - Object.ObjectTimerElapsedTime(\"FireCooldown\"))" + "False" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "Object.Behavior::CooldownTimeLeft()", + ">", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" ] } ] @@ -21061,7 +24624,7 @@ "type": "Number", "label": "Cooldown, in seconds, before firing again", "description": "", - "group": "", + "group": "Shooting configuration", "extraInformation": [], "hidden": false, "name": "FireCooldown" @@ -21081,7 +24644,7 @@ "type": "Number", "label": "Firing arc (bullets are spread evenly inside)", "description": "", - "group": "", + "group": "Shooting configuration", "extraInformation": [], "hidden": false, "name": "FiringArc" @@ -21091,7 +24654,7 @@ "type": "Number", "label": "Angle variance (to simulate imperfect aim) Range: 0 to 180 degrees", "description": "", - "group": "", + "group": "Shooting configuration", "extraInformation": [], "hidden": false, "name": "AngleVariance" @@ -21099,9 +24662,9 @@ { "value": "1", "type": "Number", - "label": "Number of bullets to shoot at once (evenly spaced inside the Firing Arc)", + "label": "Number of bullets created with each shot (evenly spaced inside the Firing Arc)", "description": "", - "group": "", + "group": "Shooting configuration", "extraInformation": [], "hidden": false, "name": "BulletQuantity" @@ -21111,7 +24674,7 @@ "type": "Boolean", "label": "Rotate bullet to match trajectory", "description": "", - "group": "", + "group": "Shooting configuration", "extraInformation": [], "hidden": false, "name": "RotateBullet" @@ -21125,10 +24688,161 @@ "extraInformation": [], "hidden": true, "name": "CurrentBulletAngle" + }, + { + "value": "0", + "type": "Number", + "label": "Ammo quantity (current)", + "description": "", + "group": "Ammo", + "extraInformation": [], + "hidden": true, + "name": "AmmoQuantity" + }, + { + "value": "0", + "type": "Number", + "label": "Shots per reload (use 0 to disable)", + "description": "", + "group": "", + "extraInformation": [], + "hidden": false, + "name": "ShotsPerReload" + }, + { + "value": "0", + "type": "Number", + "label": "Reloading duration (seconds)", + "description": "", + "group": "", + "extraInformation": [], + "hidden": false, + "name": "ReloadDuration" + }, + { + "value": "0", + "type": "Number", + "label": "Max ammo (use 0 to disable)", + "description": "", + "group": "", + "extraInformation": [], + "hidden": false, + "name": "MaxAmmo" + }, + { + "value": "0", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "ShotsBeforeNextReload" + }, + { + "value": "0", + "type": "Number", + "label": "Shots fired (multi-bullet shots are considered one shot)", + "description": "", + "group": "Stats", + "extraInformation": [], + "hidden": true, + "name": "ShotsFired" + }, + { + "value": "0", + "type": "Number", + "label": "Bullets created", + "description": "", + "group": "Stats", + "extraInformation": [], + "hidden": true, + "name": "BulletsCreated" + }, + { + "value": "0", + "type": "Number", + "label": "StartingAmmo", + "description": "", + "group": "Ammo", + "extraInformation": [], + "hidden": false, + "name": "StartingAmmo" + }, + { + "value": "0", + "type": "Number", + "label": "", + "description": "", + "group": "Stats", + "extraInformation": [], + "hidden": true, + "name": "ReloadsCompleted" + }, + { + "value": "true", + "type": "Boolean", + "label": "Unlimited ammo", + "description": "", + "group": "Ammo", + "extraInformation": [], + "hidden": false, + "name": "UnlimitedAmmo" + }, + { + "value": "", + "type": "Boolean", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "ReloadInProgress" + }, + { + "value": "0", + "type": "Number", + "label": "Number of consecutive shots to cause overheating (when starting from 0 heat)", + "description": "", + "group": "", + "extraInformation": [], + "hidden": false, + "name": "ShotsToOverheat" + }, + { + "value": "0", + "type": "Number", + "label": "Heat level (range: 0 to 1)", + "description": "", + "group": "Overheating", + "extraInformation": [], + "hidden": true, + "name": "HeatLevel" + }, + { + "value": "0", + "type": "Number", + "label": "Rate of cooling, in percent per second (range: 0 to 1)", + "description": "", + "group": "Overheating", + "extraInformation": [], + "hidden": false, + "name": "OverheatCoolingRate" + }, + { + "value": "true", + "type": "Boolean", + "label": "Reload automatically", + "description": "", + "group": "Ammo", + "extraInformation": [], + "hidden": false, + "name": "AutomaticReloading" } ] } - ] + ], + "eventsBasedObjects": [] }, { "author": "Tristan Rhodes (tristan@victrisgames.com)", @@ -21401,7 +25115,8 @@ "objectGroups": [] } ], - "eventsBasedBehaviors": [] + "eventsBasedBehaviors": [], + "eventsBasedObjects": [] }, { "author": "@4ian", @@ -22035,7 +25750,8 @@ } ] } - ] + ], + "eventsBasedObjects": [] }, { "author": "@4ian", @@ -22603,7 +26319,8 @@ } ] } - ] + ], + "eventsBasedObjects": [] }, { "author": "Tristan Rhodes (https://victrisgames.itch.io/)", @@ -27218,7 +30935,8 @@ ], "propertyDescriptors": [] } - ] + ], + "eventsBasedObjects": [] }, { "author": "westboy31, Tristan Rhodes (https://victrisgames.itch.io/)", @@ -29641,7 +33359,8 @@ "objectGroups": [] } ], - "eventsBasedBehaviors": [] + "eventsBasedBehaviors": [], + "eventsBasedObjects": [] } ], "externalLayouts": [], From e960e34b49eb2a80f9270726e96db4314ea29f3b Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Thu, 13 Oct 2022 01:18:49 -0600 Subject: [PATCH 02/22] Fixed additional references to timer name. TODO: Create cooldown functions so it's only checked in one place --- examples/fire-bullet/fire-bullet.json | 76 ++++++++++++++++++++++----- 1 file changed, 63 insertions(+), 13 deletions(-) diff --git a/examples/fire-bullet/fire-bullet.json b/examples/fire-bullet/fire-bullet.json index 3fc6819ab..0f554ea83 100644 --- a/examples/fire-bullet/fire-bullet.json +++ b/examples/fire-bullet/fire-bullet.json @@ -21576,7 +21576,7 @@ }, "parameters": [ "Object", - "\"FireCooldown\"" + "\"__FireBullet.FiringCooldown\"" ] }, { @@ -21844,21 +21844,12 @@ "actions": [ { "type": { - "value": "ResetObjectTimer" - }, - "parameters": [ - "Object", - "\"__FireBullet.ReloadingTimer\"" - ] - }, - { - "type": { - "value": "FireBullet::FireBullet::SetPropertyReloadInProgress" + "value": "FireBullet::FireBullet::ReloadAmmo" }, "parameters": [ "Object", "Behavior", - "yes" + "" ] } ] @@ -22525,6 +22516,65 @@ ], "objectGroups": [] }, + { + "description": "Reload ammo.", + "fullName": "Reload ammo", + "functionType": "Action", + "group": "Ammo", + "name": "ReloadAmmo", + "private": false, + "sentence": "Reload ammo on _PARAM0_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ResetObjectTimer" + }, + "parameters": [ + "Object", + "\"__FireBullet.ReloadingTimer\"" + ] + }, + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyReloadInProgress" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + } + ], + "objectGroups": [] + }, { "description": "Check if the object has just fired something.", "fullName": "Has just fired", @@ -24088,7 +24138,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "max(0,Object.Behavior::Cooldown() - Object.ObjectTimerElapsedTime(\"FireCooldown\"))" + "max(0,Object.Behavior::Cooldown() - Object.ObjectTimerElapsedTime(\"__FireBullet.FiringCooldown\"))" ] } ] From 4b3426158feb3227648bf1eacd9c5503569370b2 Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Thu, 13 Oct 2022 22:52:27 -0600 Subject: [PATCH 03/22] Started implementing overheating - Manual reloading - Overheating started --- examples/fire-bullet/fire-bullet.json | 1970 ++++++++++++++++++------- 1 file changed, 1421 insertions(+), 549 deletions(-) diff --git a/examples/fire-bullet/fire-bullet.json b/examples/fire-bullet/fire-bullet.json index 0f554ea83..f65c0e14c 100644 --- a/examples/fire-bullet/fire-bullet.json +++ b/examples/fire-bullet/fire-bullet.json @@ -1747,7 +1747,7 @@ "gridColor": 10401023, "gridAlpha": 0.8, "snap": true, - "zoomFactor": 0.8949999999999967, + "zoomFactor": 0.6949999999999965, "windowMask": false }, "objectsGroups": [ @@ -2609,6 +2609,51 @@ "numberProperties": [], "stringProperties": [], "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "RightClickToReload_Text", + "persistentUuid": "05b56620-15ab-4901-8277-3de04b0eaf8c", + "width": 0, + "x": 528, + "y": 592, + "zOrder": 85, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "GunHeat_Text", + "persistentUuid": "18b86707-84a2-46e2-9b8a-ee46efafafee", + "width": 0, + "x": 768, + "y": 553, + "zOrder": 86, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Overheated_Text", + "persistentUuid": "6113262c-fd7b-497e-bfb0-84f8488b258a", + "width": 0, + "x": 768, + "y": 576, + "zOrder": 87, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] } ], "objects": [ @@ -5791,7 +5836,10 @@ "BulletsCreated_Stats": 0, "ShotsPerReload": 4, "StartingAmmo": 100, - "UnlimitedAmmo": false + "UnlimitedAmmo": false, + "HeatIncreasePerShot": 0.1, + "HeatCoolingRate": 0.1, + "OverheatingPenaltyDuration": 0 }, { "name": "Flash", @@ -9568,6 +9616,69 @@ "r": 248 } }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "GunHeat_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Heat level: 0.12", + "font": "", + "characterSize": 20, + "color": { + "b": 27, + "g": 2, + "r": 208 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "Overheated_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Overheated!", + "font": "", + "characterSize": 20, + "color": { + "b": 27, + "g": 2, + "r": 208 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "RightClickToReload_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Use right-click to reload", + "font": "", + "characterSize": 20, + "color": { + "b": 28, + "g": 231, + "r": 248 + } + }, { "assetStoreId": "", "bold": true, @@ -11123,6 +11234,63 @@ } ] }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Checkbox::Checkbox::IsChecked" + }, + "parameters": [ + "AutomaticReloading_Checkbox", + "Checkbox", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetAutomaticReload" + }, + "parameters": [ + "Wesley", + "FireBullet", + "yes", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "Checkbox::Checkbox::IsChecked" + }, + "parameters": [ + "AutomaticReloading_Checkbox", + "Checkbox", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetAutomaticReload" + }, + "parameters": [ + "Wesley", + "FireBullet", + "no", + "" + ] + } + ] + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [], @@ -11161,6 +11329,38 @@ ] } ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "MouseButtonPressed" + }, + "parameters": [ + "", + "Right" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::ReloadAmmo" + }, + "parameters": [ + "Wesley", + "FireBullet", + "" + ] + } + ] } ], "parameters": [] @@ -13543,7 +13743,7 @@ "parameters": [ "ShotsFired_Text", "=", - "\"Shots fired: \" + ToString(Wesley.FireBullet::ShotsFired())" + "\"Shots fired: \" + ToString(Wesley.FireBullet::TotalShotsFired())" ] }, { @@ -13553,7 +13753,7 @@ "parameters": [ "BulletsCreated_Text", "=", - "\"Bullets created: \" + ToString(Wesley.FireBullet::BulletsCreated())" + "\"Bullets created: \" + ToString(Wesley.FireBullet::TotalBulletsCreated())" ] }, { @@ -13573,7 +13773,7 @@ "parameters": [ "ReloadsCompleted_Text", "=", - "\"Reloads completed: \" + ToString(Wesley.FireBullet::ReloadsCompleted())" + "\"Reloads completed: \" + ToString(Wesley.FireBullet::TotalReloadsCompleted())" ] } ] @@ -13615,20 +13815,17 @@ ] }, { - "disabled": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ { "type": { - "value": "SetCenter" + "value": "TextObject::String" }, "parameters": [ - "Reloading_Text", + "GunHeat_Text", "=", - "Wesley.CenterX()", - "=", - "Wesley.BoundingBoxBottom() + 16" + "\"Heat level: \" + ToString(roundTo(Wesley.FireBullet::HeatLevel(),2))" ] } ] @@ -13641,268 +13838,378 @@ "name": "Show status", "source": "", "type": "BuiltinCommonInstructions::Group", - "events": [], - "parameters": [] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "FireBullet::FireBullet::IsReloadInProgress" - }, - "parameters": [ - "Wesley", - "FireBullet", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "Montre" - }, - "parameters": [ - "Reloading_Text", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "events": [ { - "type": { - "inverted": true, - "value": "FireBullet::FireBullet::IsReloadInProgress" - }, - "parameters": [ - "Wesley", - "FireBullet", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DepartScene" + }, + "parameters": [ + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Cache" + }, + "parameters": [ + "RightClickToReload_Text" + ] + } ] - } - ], - "actions": [ + }, { - "type": { - "value": "Cache" - }, - "parameters": [ - "Reloading_Text" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::IsReloadInProgress" + }, + "parameters": [ + "Wesley", + "FireBullet", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Montre" + }, + "parameters": [ + "Reloading_Text", + "" + ] + } ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + }, { - "type": { - "value": "FireBullet::FireBullet::IsReadyToShoot" - }, - "parameters": [ - "Wesley", - "FireBullet", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "Montre" - }, - "parameters": [ - "ReadyToShoot_Text", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "FireBullet::FireBullet::IsReadyToShoot" - }, - "parameters": [ - "Wesley", - "FireBullet", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "Cache" - }, - "parameters": [ - "ReadyToShoot_Text" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "FireBullet::FireBullet::IsReloadInProgress" + }, + "parameters": [ + "Wesley", + "FireBullet", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Cache" + }, + "parameters": [ + "Reloading_Text" + ] + } ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + }, { - "type": { - "value": "FireBullet::FireBullet::IsFiringCooldownActive" - }, - "parameters": [ - "Wesley", - "FireBullet", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::IsReadyToShoot" + }, + "parameters": [ + "Wesley", + "FireBullet", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Montre" + }, + "parameters": [ + "ReadyToShoot_Text", + "" + ] + } ] - } - ], - "actions": [ + }, { - "type": { - "value": "Montre" - }, - "parameters": [ - "WaitingForFiringCooldown_Text", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "FireBullet::FireBullet::IsReadyToShoot" + }, + "parameters": [ + "Wesley", + "FireBullet", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Cache" + }, + "parameters": [ + "ReadyToShoot_Text" + ] + } ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + }, { - "type": { - "inverted": true, - "value": "FireBullet::FireBullet::IsFiringCooldownActive" - }, - "parameters": [ - "Wesley", - "FireBullet", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::IsFiringCooldownActive" + }, + "parameters": [ + "Wesley", + "FireBullet", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Montre" + }, + "parameters": [ + "WaitingForFiringCooldown_Text", + "" + ] + } ] - } - ], - "actions": [ + }, { - "type": { - "value": "Cache" - }, - "parameters": [ - "WaitingForFiringCooldown_Text" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "FireBullet::FireBullet::IsFiringCooldownActive" + }, + "parameters": [ + "Wesley", + "FireBullet", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Cache" + }, + "parameters": [ + "WaitingForFiringCooldown_Text" + ] + } ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + }, { - "type": { - "value": "FireBullet::FireBullet::IsReloadNeeded" - }, - "parameters": [ - "Wesley", - "FireBullet", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::IsReloadNeeded" + }, + "parameters": [ + "Wesley", + "FireBullet", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Montre" + }, + "parameters": [ + "ReloadNeeded_Text", + "" + ] + }, + { + "type": { + "value": "Montre" + }, + "parameters": [ + "RightClickToReload_Text", + "" + ] + } ] - } - ], - "actions": [ + }, { - "type": { - "value": "Montre" - }, - "parameters": [ - "ReloadNeeded_Text", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "FireBullet::FireBullet::IsReloadNeeded" + }, + "parameters": [ + "Wesley", + "FireBullet", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Cache" + }, + "parameters": [ + "ReloadNeeded_Text" + ] + } ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + }, { - "type": { - "inverted": true, - "value": "FireBullet::FireBullet::IsReloadNeeded" - }, - "parameters": [ - "Wesley", - "FireBullet", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::IsReloadInProgress" + }, + "parameters": [ + "Wesley", + "FireBullet", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Cache" + }, + "parameters": [ + "RightClickToReload_Text" + ] + } ] - } - ], - "actions": [ + }, { - "type": { - "value": "Cache" - }, - "parameters": [ - "ReloadNeeded_Text" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::IsOutOfAmmo" + }, + "parameters": [ + "Wesley", + "FireBullet", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Montre" + }, + "parameters": [ + "OutOfAmmo_Text", + "" + ] + } ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + }, { - "type": { - "value": "FireBullet::FireBullet::IsOutOfAmmo" - }, - "parameters": [ - "Wesley", - "FireBullet", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "FireBullet::FireBullet::IsOutOfAmmo" + }, + "parameters": [ + "Wesley", + "FireBullet", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Cache" + }, + "parameters": [ + "OutOfAmmo_Text" + ] + } ] - } - ], - "actions": [ + }, { - "type": { - "value": "Montre" - }, - "parameters": [ - "OutOfAmmo_Text", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::IsOverheated" + }, + "parameters": [ + "Wesley", + "FireBullet", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Montre" + }, + "parameters": [ + "Overheated_Text", + "" + ] + } ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + }, { - "type": { - "inverted": true, - "value": "FireBullet::FireBullet::IsOutOfAmmo" - }, - "parameters": [ - "Wesley", - "FireBullet", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "FireBullet::FireBullet::IsOverheated" + }, + "parameters": [ + "Wesley", + "FireBullet", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Cache" + }, + "parameters": [ + "Overheated_Text" + ] + } ] } ], - "actions": [ - { - "type": { - "value": "Cache" - }, - "parameters": [ - "OutOfAmmo_Text" - ] - } - ] + "parameters": [] } ], "parameters": [] @@ -21638,20 +21945,32 @@ "sentence": "", "events": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Reset firing detection", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ { - "type": { - "value": "FireBullet::FireBullet::SetPropertyHasJustFired" - }, - "parameters": [ - "Object", - "Behavior", - "=" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyHasJustFired" + }, + "parameters": [ + "Object", + "Behavior", + "=" + ] + } ] } - ] + ], + "parameters": [] }, { "colorB": 228, @@ -21720,7 +22039,7 @@ }, { "type": { - "value": "FireBullet::FireBullet::SetPropertyReloadsCompleted" + "value": "FireBullet::FireBullet::SetPropertyTotalReloadsCompleted" }, "parameters": [ "Object", @@ -21743,6 +22062,46 @@ } ], "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Reduce heat level (based on cooling rate)", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "Object.Behavior::HeatLevel()", + ">", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyHeatLevel" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "max(0, Object.Behavior::PropertyHeatLevel() - TimeDelta() * Object.Behavior::PropertyHeatCoolingRate())" + ] + } + ] + } + ], + "parameters": [] } ], "parameters": [ @@ -21779,29 +22138,41 @@ "sentence": "", "events": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "FireBullet::FireBullet::PropertyHasJustFired" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Reset firing cooldown", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ { - "type": { - "value": "ResetObjectTimer" - }, - "parameters": [ - "Object", - "\"__FireBullet.FiringCooldown\"" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::PropertyHasJustFired" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "ResetObjectTimer" + }, + "parameters": [ + "Object", + "\"__FireBullet.FiringCooldown\"" + ] + } ] } - ] + ], + "parameters": [] }, { "colorB": 228, @@ -22023,7 +22394,7 @@ "colorG": 176, "colorR": 74, "creationTime": 0, - "name": "Fire bullet", + "name": "Check if ready to shoot", "source": "", "type": "BuiltinCommonInstructions::Group", "events": [ @@ -22045,30 +22416,13 @@ "conditions": [ { "type": { - "value": "BuiltinCommonInstructions::Or" + "inverted": true, + "value": "FireBullet::FireBullet::IsOutOfAmmo" }, - "parameters": [], - "subInstructions": [ - { - "type": { - "value": "FireBullet::FireBullet::PropertyUnlimitedAmmo" - }, - "parameters": [ - "Object", - "Behavior" - ] - }, - { - "type": { - "value": "FireBullet::FireBullet::PropertyAmmoQuantity" - }, - "parameters": [ - "Object", - "Behavior", - ">", - "0" - ] - } + "parameters": [ + "Object", + "Behavior", + "" ] } ], @@ -22084,7 +22438,7 @@ "textG": 0, "textR": 0 }, - "comment": "Verify that the gun is not waiting to be reloaded", + "comment": "Verify that the gun does not need to be reloaded", "comment2": "" }, { @@ -22092,32 +22446,13 @@ "conditions": [ { "type": { - "value": "BuiltinCommonInstructions::Or" + "inverted": true, + "value": "FireBullet::FireBullet::IsReloadNeeded" }, - "parameters": [], - "subInstructions": [ - { - "type": { - "value": "FireBullet::FireBullet::PropertyShotsPerReload" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "0" - ] - }, - { - "type": { - "value": "FireBullet::FireBullet::PropertyShotsBeforeNextReload" - }, - "parameters": [ - "Object", - "Behavior", - ">", - "0" - ] - } + "parameters": [ + "Object", + "Behavior", + "" ] } ], @@ -22133,7 +22468,7 @@ "textG": 0, "textR": 0 }, - "comment": "Force gun to shoot at the proper rate of fire", + "comment": "Verify gun is not shooting sooner than the proper rate of fire", "comment2": "" }, { @@ -22141,276 +22476,307 @@ "conditions": [ { "type": { - "value": "ObjectTimer" + "inverted": true, + "value": "FireBullet::FireBullet::IsFiringCooldownActive" }, "parameters": [ "Object", - "\"__FireBullet.FiringCooldown\"", - "Object.Behavior::PropertyFireCooldown()" + "Behavior", + "" ] } ], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::SetPropertyHasJustFired" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - }, + "actions": [], + "events": [ { - "type": { - "value": "FireBullet::FireBullet::SetPropertyShotsBeforeNextReload" + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 }, - "parameters": [ - "Object", - "Behavior", - "-", - "1" - ] + "comment": "Verify the gun is not overheated", + "comment2": "" }, - { - "type": { - "value": "FireBullet::FireBullet::SetPropertyShotsFired" - }, - "parameters": [ - "Object", - "Behavior", - "+", - "1" - ] - } - ], - "events": [ { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { "inverted": true, - "value": "FireBullet::FireBullet::PropertyUnlimitedAmmo" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::SetPropertyAmmoQuantity" + "value": "FireBullet::FireBullet::IsOverheated" }, "parameters": [ "Object", "Behavior", - "-", - "1" + "" ] } - ] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Single bullet", - "source": "", - "type": "BuiltinCommonInstructions::Group", + ], + "actions": [], "events": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Behavior::PropertyBulletQuantity()", - "=", - "1" - ] - } - ], - "actions": [ - { - "type": { - "value": "Create" - }, - "parameters": [ - "", - "Bullet", - "GetArgumentAsNumber(\"XPosition\")", - "GetArgumentAsNumber(\"YPosition\")", - "\"\"" - ] - }, - { - "type": { - "value": "FireBullet::FireBullet::SetPropertyBulletsCreated" - }, - "parameters": [ - "Object", - "Behavior", - "+", - "1" - ] - }, - { - "type": { - "value": "AddForceAL" - }, - "parameters": [ - "Bullet", - "GetArgumentAsNumber(\"Angle\") + RandomInRange(-Object.Behavior::PropertyAngleVariance(),Object.Behavior::PropertyAngleVariance())", - "GetArgumentAsNumber(\"Speed\")", - "1" - ] - } - ], + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Perform a shot", + "source": "", + "type": "BuiltinCommonInstructions::Group", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "conditions": [], + "actions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyRotateBullet" + "value": "FireBullet::FireBullet::SetPropertyHasJustFired" }, "parameters": [ "Object", - "Behavior" + "Behavior", + "yes" ] - } - ], - "actions": [ + }, { "type": { - "value": "SetAngle" + "value": "FireBullet::FireBullet::SetPropertyShotsBeforeNextReload" }, "parameters": [ - "Bullet", - "=", - "GetArgumentAsNumber(\"Angle\")" + "Object", + "Behavior", + "-", + "1" ] - } - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Multiple bullets", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Behavior::PropertyBulletQuantity()", - ">", - "1" - ] - } - ], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::SetPropertyCurrentBulletAngle" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Angle\") - Object.Behavior::PropertyFiringArc()/2" + }, + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyTotalShotsFired" + }, + "parameters": [ + "Object", + "Behavior", + "+", + "1" + ] + } ] - } - ], - "events": [ + }, { - "type": "BuiltinCommonInstructions::Repeat", - "repeatExpression": "Object.Behavior::PropertyBulletQuantity()", - "conditions": [], - "actions": [ + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ { "type": { - "value": "Create" + "value": "FireBullet::FireBullet::PropertyHeatIncreasePerShot" }, "parameters": [ - "", - "Bullet", - "GetArgumentAsNumber(\"XPosition\")", - "GetArgumentAsNumber(\"YPosition\")", - "\"\"" + "Object", + "Behavior", + ">", + "0" ] - }, + } + ], + "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyBulletsCreated" + "value": "FireBullet::FireBullet::SetPropertyHeatLevel" }, "parameters": [ "Object", "Behavior", - "+", - "1" + "=", + "min(1, Object.Behavior::PropertyHeatLevel() + Object.Behavior::PropertyHeatIncreasePerShot())" ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Start penalty timer if object became overheated", + "comment2": "" }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::IsOverheated" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "ResetObjectTimer" + }, + "parameters": [ + "Object", + "\"__FireBullet.OverheatingPenalty\"" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ { "type": { - "value": "AddForceAL" + "inverted": true, + "value": "FireBullet::FireBullet::PropertyUnlimitedAmmo" }, "parameters": [ - "Bullet", - "Object.Behavior::PropertyCurrentBulletAngle() + RandomInRange(-Object.Behavior::PropertyAngleVariance(),Object.Behavior::PropertyAngleVariance())", - "GetArgumentAsNumber(\"Speed\")", - "1" + "Object", + "Behavior" ] } ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyAmmoQuantity" + }, + "parameters": [ + "Object", + "Behavior", + "-", + "1" + ] + } + ] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Single bullet", + "source": "", + "type": "BuiltinCommonInstructions::Group", "events": [ { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyRotateBullet" + "value": "BuiltinCommonInstructions::CompareNumbers" }, "parameters": [ - "Object", - "Behavior" + "Object.Behavior::PropertyBulletQuantity()", + "=", + "1" ] } ], "actions": [ { "type": { - "value": "SetAngle" + "value": "Create" }, "parameters": [ + "", "Bullet", - "=", - "Object.Behavior::PropertyCurrentBulletAngle()" + "GetArgumentAsNumber(\"XPosition\")", + "GetArgumentAsNumber(\"YPosition\")", + "\"\"" + ] + }, + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyTotalBulletsCreated" + }, + "parameters": [ + "Object", + "Behavior", + "+", + "1" + ] + }, + { + "type": { + "value": "AddForceAL" + }, + "parameters": [ + "Bullet", + "GetArgumentAsNumber(\"Angle\") + RandomInRange(-Object.Behavior::PropertyAngleVariance(),Object.Behavior::PropertyAngleVariance())", + "GetArgumentAsNumber(\"Speed\")", + "1" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::PropertyRotateBullet" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetAngle" + }, + "parameters": [ + "Bullet", + "=", + "GetArgumentAsNumber(\"Angle\")" + ] + } ] } ] - }, + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Multiple bullets", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "Object.Behavior::PropertyBulletQuantity()", + ">", + "1" + ] + } + ], "actions": [ { "type": { @@ -22419,18 +22785,107 @@ "parameters": [ "Object", "Behavior", - "+", - "Object.Behavior::PropertyFiringArc() / (Object.Behavior::PropertyBulletQuantity() - 1)" + "=", + "GetArgumentAsNumber(\"Angle\") - Object.Behavior::PropertyFiringArc()/2" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Repeat", + "repeatExpression": "Object.Behavior::PropertyBulletQuantity()", + "conditions": [], + "actions": [ + { + "type": { + "value": "Create" + }, + "parameters": [ + "", + "Bullet", + "GetArgumentAsNumber(\"XPosition\")", + "GetArgumentAsNumber(\"YPosition\")", + "\"\"" + ] + }, + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyTotalBulletsCreated" + }, + "parameters": [ + "Object", + "Behavior", + "+", + "1" + ] + }, + { + "type": { + "value": "AddForceAL" + }, + "parameters": [ + "Bullet", + "Object.Behavior::PropertyCurrentBulletAngle() + RandomInRange(-Object.Behavior::PropertyAngleVariance(),Object.Behavior::PropertyAngleVariance())", + "GetArgumentAsNumber(\"Speed\")", + "1" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::PropertyRotateBullet" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetAngle" + }, + "parameters": [ + "Bullet", + "=", + "Object.Behavior::PropertyCurrentBulletAngle()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyCurrentBulletAngle" + }, + "parameters": [ + "Object", + "Behavior", + "+", + "Object.Behavior::PropertyFiringArc() / (Object.Behavior::PropertyBulletQuantity() - 1)" + ] + } + ] + } ] } ] } - ] + ], + "parameters": [] } - ] + ], + "parameters": [] } - ], - "parameters": [] + ] } ] } @@ -22440,6 +22895,22 @@ } ], "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Check for overheating", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [], + "parameters": [] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [] } ], "parameters": [ @@ -23441,6 +23912,91 @@ ], "objectGroups": [] }, + { + "description": "Enable (or disable) automatic reloading.", + "fullName": "Enable (or disable) automatic reloading", + "functionType": "Action", + "group": "Ammo", + "name": "SetAutomaticReload", + "private": false, + "sentence": "Enable automatic reloading on _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyAutomaticReloading" + }, + "parameters": [ + "Object", + "Behavior", + "=" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "GetArgumentAsBoolean" + }, + "parameters": [ + "\"Value\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyAutomaticReloading" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "yes", + "description": "Enable automatic reloading?", + "longDescription": "", + "name": "Value", + "optional": true, + "supplementaryInformation": "", + "type": "yesorno" + } + ], + "objectGroups": [] + }, { "description": "Increase ammo quantity.", "fullName": "Increase ammo", @@ -23610,7 +24166,55 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyAngleVariance()" + "Object.Behavior::PropertyAngleVariance()" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Firing arc in degrees.", + "fullName": "Firing arc", + "functionType": "Expression", + "group": "Firing", + "name": "FiringArc", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyFiringArc()" ] } ] @@ -23641,11 +24245,11 @@ "objectGroups": [] }, { - "description": "Firing arc in degrees.", - "fullName": "Firing arc", + "description": "Heat level (Range: 0 to 1)", + "fullName": "Heat level", "functionType": "Expression", - "group": "Firing", - "name": "FiringArc", + "group": "Overheating", + "name": "HeatLevel", "private": false, "sentence": "", "events": [ @@ -23658,7 +24262,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyFiringArc()" + "Object.Behavior::PropertyHeatLevel()" ] } ] @@ -23837,7 +24441,7 @@ "fullName": "Shots fired", "functionType": "Expression", "group": "Stats", - "name": "ShotsFired", + "name": "TotalShotsFired", "private": false, "sentence": "", "events": [ @@ -23850,7 +24454,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyShotsFired()" + "Object.Behavior::PropertyTotalShotsFired()" ] } ] @@ -23885,7 +24489,7 @@ "fullName": "Bullets created", "functionType": "Expression", "group": "Stats", - "name": "BulletsCreated", + "name": "TotalBulletsCreated", "private": false, "sentence": "", "events": [ @@ -23898,7 +24502,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyBulletsCreated()" + "Object.Behavior::PropertyTotalBulletsCreated()" ] } ] @@ -23981,7 +24585,7 @@ "fullName": "Reloads completed", "functionType": "Expression", "group": "Stats", - "name": "ReloadsCompleted", + "name": "TotalReloadsCompleted", "private": false, "sentence": "", "events": [ @@ -23994,7 +24598,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyReloadsCompleted()" + "Object.Behavior::PropertyTotalReloadsCompleted()" ] } ] @@ -24168,6 +24772,66 @@ ], "objectGroups": [] }, + { + "description": "Seconds remaining before the overheating penalty ends.", + "fullName": "Time remaining before overheating penalty ends", + "functionType": "Expression", + "group": "Overheating", + "name": "OverheatingPenaltyTimeLeft", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CompareObjectTimer" + }, + "parameters": [ + "Object", + "\"__FireBullet.OverheatingPenalty\"", + ">", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "max(0,Object.Behavior::PropertyOverheatingPenaltyDuration() - Object.ObjectTimerElapsedTime(\"__FireBullet.OverheatingPenalty\"))" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + } + ], + "objectGroups": [] + }, { "description": "Check if object is currently performing an ammo reload.", "fullName": "Is ammo reloading in progress", @@ -24300,6 +24964,17 @@ "" ] }, + { + "type": { + "inverted": true, + "value": "FireBullet::FireBullet::IsReloadNeeded" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + }, { "type": { "value": "BuiltinCommonInstructions::Or" @@ -24366,9 +25041,91 @@ ], "objectGroups": [] }, + { + "description": "Check if automatic reloading is enabled.", + "fullName": "Is automatic reloading enabled", + "functionType": "Condition", + "group": "Ammo", + "name": "IsAutomaticReloadingEnabled", + "private": false, + "sentence": "Automatic reloading is enabled on_PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "False" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::PropertyAutomaticReloading" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Automatic reloading enabled", + "longDescription": "", + "name": "Value", + "optional": false, + "supplementaryInformation": "", + "type": "yesorno" + } + ], + "objectGroups": [] + }, { "description": "Check if ammo is unlimited.", - "fullName": "Is ammo unlimited?", + "fullName": "Is ammo unlimited", "functionType": "Condition", "group": "Ammo", "name": "IsUnlimitedAmmo", @@ -24532,6 +25289,19 @@ } ] }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Shots per reload has been changed from default and there are no shots left before reload", + "comment2": "" + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ @@ -24594,6 +25364,98 @@ ], "objectGroups": [] }, + { + "description": "Check if object is overheated.", + "fullName": "Is overheated", + "functionType": "Condition", + "group": "Ammo", + "name": "IsOverheated", + "private": false, + "sentence": "_PARAM0_ is overheated", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "False" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "FireBullet::FireBullet::PropertyHeatLevel" + }, + "parameters": [ + "Object", + "Behavior", + ">=", + "1" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "Object.Behavior::OverheatingPenaltyTimeLeft()", + ">", + "0" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + } + ], + "objectGroups": [] + }, { "description": "Check if firing cooldown is active.", "fullName": "Is firing cooldown active", @@ -24702,7 +25564,7 @@ { "value": "0", "type": "Number", - "label": "Angle variance (to simulate imperfect aim) Range: 0 to 180 degrees", + "label": "Angle variance (simulates imperfect aim) Range: 0 to 180 degrees", "description": "", "group": "Shooting configuration", "extraInformation": [], @@ -24712,7 +25574,7 @@ { "value": "1", "type": "Number", - "label": "Number of bullets created with each shot (evenly spaced inside the Firing Arc)", + "label": "Number of bullets created with each shot (Evenly spaced inside the Firing Arc)", "description": "", "group": "Shooting configuration", "extraInformation": [], @@ -24732,7 +25594,7 @@ { "value": "0", "type": "Number", - "label": "Current bullet angle (used for multishot)", + "label": "Current bullet angle (Used for multishot)", "description": "", "group": "", "extraInformation": [], @@ -24742,7 +25604,7 @@ { "value": "0", "type": "Number", - "label": "Ammo quantity (current)", + "label": "Ammo quantity (Current)", "description": "", "group": "Ammo", "extraInformation": [], @@ -24752,7 +25614,7 @@ { "value": "0", "type": "Number", - "label": "Shots per reload (use 0 to disable)", + "label": "Shots per reload (Use 0 to disable)", "description": "", "group": "", "extraInformation": [], @@ -24772,7 +25634,7 @@ { "value": "0", "type": "Number", - "label": "Max ammo (use 0 to disable)", + "label": "Max ammo (Use 0 to disable)", "description": "", "group": "", "extraInformation": [], @@ -24797,7 +25659,7 @@ "group": "Stats", "extraInformation": [], "hidden": true, - "name": "ShotsFired" + "name": "TotalShotsFired" }, { "value": "0", @@ -24807,7 +25669,7 @@ "group": "Stats", "extraInformation": [], "hidden": true, - "name": "BulletsCreated" + "name": "TotalBulletsCreated" }, { "value": "0", @@ -24827,7 +25689,7 @@ "group": "Stats", "extraInformation": [], "hidden": true, - "name": "ReloadsCompleted" + "name": "TotalReloadsCompleted" }, { "value": "true", @@ -24852,17 +25714,17 @@ { "value": "0", "type": "Number", - "label": "Number of consecutive shots to cause overheating (when starting from 0 heat)", + "label": "Heat increase per shot (Range: 0 to 1)", "description": "", - "group": "", + "group": "Overheating", "extraInformation": [], "hidden": false, - "name": "ShotsToOverheat" + "name": "HeatIncreasePerShot" }, { "value": "0", "type": "Number", - "label": "Heat level (range: 0 to 1)", + "label": "Heat level (Range: 0 to 1)", "description": "", "group": "Overheating", "extraInformation": [], @@ -24872,12 +25734,12 @@ { "value": "0", "type": "Number", - "label": "Rate of cooling, in percent per second (range: 0 to 1)", + "label": "Rate of cooling per second (range: 0 to 1)", "description": "", "group": "Overheating", "extraInformation": [], "hidden": false, - "name": "OverheatCoolingRate" + "name": "HeatCoolingRate" }, { "value": "true", @@ -24888,6 +25750,16 @@ "extraInformation": [], "hidden": false, "name": "AutomaticReloading" + }, + { + "value": "0", + "type": "Number", + "label": "Overheating penalty (seconds) Shots cannot be fired during this time", + "description": "", + "group": "Overheating", + "extraInformation": [], + "hidden": false, + "name": "OverheatingPenaltyDuration" } ] } From 6c3bc0a317ef090999f1bf55683ce2f0c1e79e0b Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Sat, 15 Oct 2022 10:03:13 -0600 Subject: [PATCH 04/22] More progress on overheat --- examples/fire-bullet/fire-bullet.json | 2430 +++++++++++++++++-------- 1 file changed, 1673 insertions(+), 757 deletions(-) diff --git a/examples/fire-bullet/fire-bullet.json b/examples/fire-bullet/fire-bullet.json index f65c0e14c..bf6f0ee20 100644 --- a/examples/fire-bullet/fire-bullet.json +++ b/examples/fire-bullet/fire-bullet.json @@ -1220,8 +1220,8 @@ "name": "Reset_Button", "persistentUuid": "fa335b84-c239-43bf-adb6-dd7fa7ee2411", "width": 0, - "x": 64, - "y": 185, + "x": 488, + "y": 340, "zOrder": 37, "numberProperties": [], "stringProperties": [], @@ -1235,8 +1235,8 @@ "name": "Reset_Timer", "persistentUuid": "e1652d74-e4b0-4e75-83e4-154f3dfaff61", "width": 0, - "x": 320, - "y": 153, + "x": 744, + "y": 308, "zOrder": 40, "numberProperties": [], "stringProperties": [], @@ -2258,8 +2258,8 @@ "name": "MaxAmmo_Text", "persistentUuid": "da4f1ef0-fb53-45ce-a485-8a2c5c52482f", "width": 0, - "x": 992, - "y": 144, + "x": 1008, + "y": 73, "zOrder": 64, "numberProperties": [], "stringProperties": [], @@ -2288,8 +2288,8 @@ "name": "ShotsPerReload_Text", "persistentUuid": "30511d02-cd6a-4c5e-9f33-b9c1f18a677b", "width": 0, - "x": 992, - "y": 224, + "x": 1008, + "y": 153, "zOrder": 66, "numberProperties": [], "stringProperties": [], @@ -2303,8 +2303,8 @@ "name": "ReloadDuration_Text", "persistentUuid": "7cd4f8be-b947-43bb-b2fb-b21faf4e997c", "width": 0, - "x": 999, - "y": 432, + "x": 1008, + "y": 224, "zOrder": 67, "numberProperties": [], "stringProperties": [], @@ -2318,7 +2318,7 @@ "name": "ShotsFired_Text", "persistentUuid": "ffa0a4a6-fce5-43a5-8d97-eb374d8e6d89", "width": 0, - "x": 352, + "x": 288, "y": 16, "zOrder": 68, "numberProperties": [], @@ -2333,8 +2333,8 @@ "name": "BulletsCreated_Text", "persistentUuid": "0aded219-40e6-4f58-b40f-c039c0c33d8a", "width": 0, - "x": 352, - "y": 48, + "x": 496, + "y": 16, "zOrder": 69, "numberProperties": [], "stringProperties": [], @@ -2363,8 +2363,8 @@ "name": "ReloadsCompleted_Text", "persistentUuid": "4e97d38b-2fb5-4d98-9f8a-a366b0fa8af9", "width": 0, - "x": 352, - "y": 80, + "x": 736, + "y": 16, "zOrder": 71, "numberProperties": [], "stringProperties": [], @@ -2375,7 +2375,7 @@ "customSize": false, "height": 0, "layer": "UI", - "name": "BulletSettings_Text", + "name": "FiringShotsTitle_Text", "persistentUuid": "b23e6307-c517-4364-b1b6-be64d6c58914", "width": 0, "x": 16, @@ -2390,11 +2390,11 @@ "customSize": false, "height": 0, "layer": "UI", - "name": "AmmoSettings_Text", + "name": "AmmoTitle_Text", "persistentUuid": "636febea-90ac-41f5-b8a9-f2e62d7e52ed", "width": 0, - "x": 1011, - "y": 82, + "x": 1040, + "y": 18, "zOrder": 73, "numberProperties": [], "stringProperties": [], @@ -2424,7 +2424,7 @@ "persistentUuid": "2f4daf29-06fc-4316-ac8e-5b0a38ce4bae", "width": 0, "x": 1008, - "y": 176, + "y": 110, "zOrder": 75, "numberProperties": [], "stringProperties": [], @@ -2439,7 +2439,7 @@ "persistentUuid": "b49995e8-9975-4f64-bd65-a81122fa6bad", "width": 0, "x": 1008, - "y": 256, + "y": 190, "zOrder": 67, "numberProperties": [], "stringProperties": [], @@ -2453,8 +2453,8 @@ "name": "ReloadDuration_Slider", "persistentUuid": "4ad4be89-c6a3-4317-a4c8-6ce54d42c4ac", "width": 0, - "x": 1015, - "y": 464, + "x": 1008, + "y": 261, "zOrder": 67, "numberProperties": [], "stringProperties": [], @@ -2468,8 +2468,8 @@ "name": "UnlimitedAmmo_Checkbox", "persistentUuid": "f71e5596-c0e7-4b77-ace2-387d77bfbb5a", "width": 0, - "x": 1024, - "y": 304, + "x": 1040, + "y": 288, "zOrder": 67, "numberProperties": [], "stringProperties": [], @@ -2483,8 +2483,8 @@ "name": "UnlimitedAmmo_Text", "persistentUuid": "30060c4b-cd9d-4e61-9677-a5df92a0d6f5", "width": 0, - "x": 1056, - "y": 304, + "x": 1072, + "y": 288, "zOrder": 67, "numberProperties": [], "stringProperties": [], @@ -2588,8 +2588,8 @@ "name": "AutomaticReloading_Text", "persistentUuid": "4f9e536c-c2bf-4e7e-8d06-e133c8f702bd", "width": 0, - "x": 1056, - "y": 368, + "x": 1072, + "y": 338, "zOrder": 67, "numberProperties": [], "stringProperties": [], @@ -2603,8 +2603,8 @@ "name": "AutomaticReloading_Checkbox", "persistentUuid": "b2e98a44-f9e0-4634-bad0-2d61acd972e4", "width": 0, - "x": 1024, - "y": 368, + "x": 1040, + "y": 338, "zOrder": 67, "numberProperties": [], "stringProperties": [], @@ -2644,7 +2644,7 @@ "angle": 0, "customSize": false, "height": 0, - "layer": "", + "layer": "UI", "name": "Overheated_Text", "persistentUuid": "6113262c-fd7b-497e-bfb0-84f8488b258a", "width": 0, @@ -2654,6 +2654,111 @@ "numberProperties": [], "stringProperties": [], "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "OverheatDuration_Text", + "persistentUuid": "430afb53-e07e-44c0-80e4-9d5900139fa0", + "width": 0, + "x": 992, + "y": 480, + "zOrder": 88, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "OverheatDuration_Slider", + "persistentUuid": "c50cc6db-f8dc-4680-b53d-30558f2505ca", + "width": 0, + "x": 1008, + "y": 517, + "zOrder": 89, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "HeatPerShot_Text", + "persistentUuid": "c9fc7d59-e05c-4156-88e8-892ccefd2802", + "width": 0, + "x": 1024, + "y": 560, + "zOrder": 90, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "CoolingPerSecond_Text", + "persistentUuid": "265a60d1-aeb9-470d-b56a-1080269ce44b", + "width": 0, + "x": 1024, + "y": 640, + "zOrder": 91, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "CoolingPerSecond_Slider", + "persistentUuid": "1d2f8b85-2b8e-4742-94f2-3f1a56841d71", + "width": 0, + "x": 1008, + "y": 672, + "zOrder": 92, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "HeatPerShot_Slider", + "persistentUuid": "2cc4e2cb-d2b1-4bb6-9d29-814acabb8d20", + "width": 0, + "x": 1008, + "y": 592, + "zOrder": 93, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "OverheatTitle_Text", + "persistentUuid": "2a7d9ba7-e6ae-4241-8e98-0d48443baa3c", + "width": 0, + "x": 1040, + "y": 418, + "zOrder": 94, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] } ], "objects": [ @@ -5839,7 +5944,8 @@ "UnlimitedAmmo": false, "HeatIncreasePerShot": 0.1, "HeatCoolingRate": 0.1, - "OverheatingPenaltyDuration": 0 + "OverheatingPenaltyDuration": 3, + "OverheatDuration": 5 }, { "name": "Flash", @@ -9574,6 +9680,69 @@ "r": 255 } }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "OverheatDuration_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Overheat Duration: 1 seconds", + "font": "", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "HeatPerShot_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Heat per shot: 0.12", + "font": "", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "CoolingPerSecond_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Cooling per second: 0.12", + "font": "", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, { "assetStoreId": "", "bold": true, @@ -9914,7 +10083,7 @@ "assetStoreId": "", "bold": true, "italic": false, - "name": "BulletSettings_Text", + "name": "FiringShotsTitle_Text", "smoothed": true, "tags": "", "type": "TextObject::Text", @@ -9935,7 +10104,7 @@ "assetStoreId": "", "bold": true, "italic": false, - "name": "AmmoSettings_Text", + "name": "AmmoTitle_Text", "smoothed": true, "tags": "", "type": "TextObject::Text", @@ -9952,6 +10121,27 @@ "r": 74 } }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "OverheatTitle_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Overheat", + "font": "", + "characterSize": 40, + "color": { + "b": 226, + "g": 144, + "r": 74 + } + }, { "assetStoreId": "", "name": "Cooldown_Slider", @@ -10186,7 +10376,7 @@ }, { "assetStoreId": "", - "name": "FireArc_Slider", + "name": "OverheatDuration_Slider", "tags": "", "type": "PrimitiveDrawing::Drawer", "variables": [], @@ -10196,8 +10386,8 @@ "name": "DraggableSliderControl", "type": "DraggableSliderControl::DraggableSliderControl", "ValueMin": 0, - "ValueMax": 360, - "TickSpacing": 1, + "ValueMax": 5, + "TickSpacing": 0.1, "ThumbShape": "circle", "ThumbWidth": 20, "ThumbHeight": 20, @@ -10244,7 +10434,7 @@ }, { "assetStoreId": "", - "name": "AngleVariance_Slider", + "name": "CoolingPerSecond_Slider", "tags": "", "type": "PrimitiveDrawing::Drawer", "variables": [], @@ -10254,8 +10444,8 @@ "name": "DraggableSliderControl", "type": "DraggableSliderControl::DraggableSliderControl", "ValueMin": 0, - "ValueMax": 10, - "TickSpacing": 0, + "ValueMax": 5, + "TickSpacing": 0.1, "ThumbShape": "circle", "ThumbWidth": 20, "ThumbHeight": 20, @@ -10302,7 +10492,7 @@ }, { "assetStoreId": "", - "name": "BulletQty_Slider", + "name": "HeatPerShot_Slider", "tags": "", "type": "PrimitiveDrawing::Drawer", "variables": [], @@ -10311,9 +10501,9 @@ { "name": "DraggableSliderControl", "type": "DraggableSliderControl::DraggableSliderControl", - "ValueMin": 1, - "ValueMax": 30, - "TickSpacing": 1, + "ValueMin": 0, + "ValueMax": 5, + "TickSpacing": 0.1, "ThumbShape": "circle", "ThumbWidth": 20, "ThumbHeight": 20, @@ -10360,47 +10550,221 @@ }, { "assetStoreId": "", - "name": "FiringArc", + "name": "FireArc_Slider", "tags": "", "type": "PrimitiveDrawing::Drawer", "variables": [], "effects": [], - "behaviors": [], + "behaviors": [ + { + "name": "DraggableSliderControl", + "type": "DraggableSliderControl::DraggableSliderControl", + "ValueMin": 0, + "ValueMax": 360, + "TickSpacing": 1, + "ThumbShape": "circle", + "ThumbWidth": 20, + "ThumbHeight": 20, + "ThumbColor": "255;255;255", + "ThumbOpacity": 255, + "TrackLength": 200, + "TrackThickness": 4, + "InactiveTrackColor": "", + "InactiveTrackOpacity": 96, + "ActiveTrackColor": " ", + "ActiveTrackOpacity": 255, + "HaloRadius": 24, + "HaloOpacityHover": 32, + "HaloOpacityClick": 64, + "RoundedTrack": true, + "Enabled": true, + "IsBeingDragged": false, + "Value": 0, + "ThumbOffset": 0, + "NeedRedraw": true, + "IsHovered": false, + "MouseX": 0, + "MouseY": 0, + "CurrentHaloRadius": 0, + "HaloGrowSpeed": 0.2, + "TargetHaloRadius": 0 + } + ], "fillOpacity": 255, - "outlineSize": 4, + "outlineSize": 1, "outlineOpacity": 255, "fillColor": { - "b": 224, - "g": 16, - "r": 189 + "b": 255, + "g": 255, + "r": 255 }, "outlineColor": { - "b": 224, - "g": 16, - "r": 189 + "b": 0, + "g": 0, + "r": 0 }, - "absoluteCoordinates": true, + "absoluteCoordinates": false, "clearBetweenFrames": true }, { "assetStoreId": "", - "name": "RotateBullet_Checkbox", + "name": "AngleVariance_Slider", "tags": "", "type": "PrimitiveDrawing::Drawer", "variables": [], "effects": [], "behaviors": [ { - "name": "Checkbox", - "type": "Checkbox::Checkbox", - "Checked": true, - "HaloRadiusHover": 0, - "HaloOpacityHover": 128, - "HaloOpacityClick": 196, - "Enabled": true, - "IsBeingPressed": false, - "NeedRedraw": true, - "IsHovered": false, + "name": "DraggableSliderControl", + "type": "DraggableSliderControl::DraggableSliderControl", + "ValueMin": 0, + "ValueMax": 10, + "TickSpacing": 0, + "ThumbShape": "circle", + "ThumbWidth": 20, + "ThumbHeight": 20, + "ThumbColor": "255;255;255", + "ThumbOpacity": 255, + "TrackLength": 200, + "TrackThickness": 4, + "InactiveTrackColor": "", + "InactiveTrackOpacity": 96, + "ActiveTrackColor": " ", + "ActiveTrackOpacity": 255, + "HaloRadius": 24, + "HaloOpacityHover": 32, + "HaloOpacityClick": 64, + "RoundedTrack": true, + "Enabled": true, + "IsBeingDragged": false, + "Value": 0, + "ThumbOffset": 0, + "NeedRedraw": true, + "IsHovered": false, + "MouseX": 0, + "MouseY": 0, + "CurrentHaloRadius": 0, + "HaloGrowSpeed": 0.2, + "TargetHaloRadius": 0 + } + ], + "fillOpacity": 255, + "outlineSize": 1, + "outlineOpacity": 255, + "fillColor": { + "b": 255, + "g": 255, + "r": 255 + }, + "outlineColor": { + "b": 0, + "g": 0, + "r": 0 + }, + "absoluteCoordinates": false, + "clearBetweenFrames": true + }, + { + "assetStoreId": "", + "name": "BulletQty_Slider", + "tags": "", + "type": "PrimitiveDrawing::Drawer", + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "DraggableSliderControl", + "type": "DraggableSliderControl::DraggableSliderControl", + "ValueMin": 1, + "ValueMax": 30, + "TickSpacing": 1, + "ThumbShape": "circle", + "ThumbWidth": 20, + "ThumbHeight": 20, + "ThumbColor": "255;255;255", + "ThumbOpacity": 255, + "TrackLength": 200, + "TrackThickness": 4, + "InactiveTrackColor": "", + "InactiveTrackOpacity": 96, + "ActiveTrackColor": " ", + "ActiveTrackOpacity": 255, + "HaloRadius": 24, + "HaloOpacityHover": 32, + "HaloOpacityClick": 64, + "RoundedTrack": true, + "Enabled": true, + "IsBeingDragged": false, + "Value": 0, + "ThumbOffset": 0, + "NeedRedraw": true, + "IsHovered": false, + "MouseX": 0, + "MouseY": 0, + "CurrentHaloRadius": 0, + "HaloGrowSpeed": 0.2, + "TargetHaloRadius": 0 + } + ], + "fillOpacity": 255, + "outlineSize": 1, + "outlineOpacity": 255, + "fillColor": { + "b": 255, + "g": 255, + "r": 255 + }, + "outlineColor": { + "b": 0, + "g": 0, + "r": 0 + }, + "absoluteCoordinates": false, + "clearBetweenFrames": true + }, + { + "assetStoreId": "", + "name": "FiringArc", + "tags": "", + "type": "PrimitiveDrawing::Drawer", + "variables": [], + "effects": [], + "behaviors": [], + "fillOpacity": 255, + "outlineSize": 4, + "outlineOpacity": 255, + "fillColor": { + "b": 224, + "g": 16, + "r": 189 + }, + "outlineColor": { + "b": 224, + "g": 16, + "r": 189 + }, + "absoluteCoordinates": true, + "clearBetweenFrames": true + }, + { + "assetStoreId": "", + "name": "RotateBullet_Checkbox", + "tags": "", + "type": "PrimitiveDrawing::Drawer", + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Checkbox", + "type": "Checkbox::Checkbox", + "Checked": true, + "HaloRadiusHover": 0, + "HaloOpacityHover": 128, + "HaloOpacityClick": 196, + "Enabled": true, + "IsBeingPressed": false, + "NeedRedraw": true, + "IsHovered": false, "CurrentHaloRadius": 0, "HaloGrowSpeed": 0.3, "TargetHaloRadius": 0, @@ -11107,7 +11471,7 @@ "", "PickupAmmo.wav", "", - "50", + "40", "1" ] } @@ -11171,7 +11535,7 @@ "", "CloseChest.wav", "", - "50", + "30", "1" ] } @@ -11327,6 +11691,17 @@ "ReloadDuration_Slider.DraggableSliderControl::Value()", "" ] + }, + { + "type": { + "value": "FireBullet::FireBullet::SetOverheatDuration" + }, + "parameters": [ + "Wesley", + "FireBullet", + "OverheatDuration_Slider.DraggableSliderControl::Value()", + "" + ] } ] }, @@ -13527,6 +13902,7 @@ "colorG": 176, "colorR": 74, "creationTime": 0, + "folded": true, "name": "Camera Controls", "source": "", "type": "BuiltinCommonInstructions::Group", @@ -13628,6 +14004,7 @@ "colorG": 176, "colorR": 74, "creationTime": 0, + "folded": true, "name": "Draw Firing arc", "source": "", "type": "BuiltinCommonInstructions::Group", @@ -13778,6 +14155,19 @@ } ] }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Ammo", + "comment2": "" + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [], @@ -13814,6 +14204,19 @@ } ] }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Overheat", + "comment2": "" + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [], @@ -13827,6 +14230,36 @@ "=", "\"Heat level: \" + ToString(roundTo(Wesley.FireBullet::HeatLevel(),2))" ] + }, + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "OverheatDuration_Text", + "=", + "\"Overheat duration: \" + ToString(roundTo(Wesley.FireBullet::OverheatDuration(),1)) + \" seconds\"" + ] + }, + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "HeatPerShot_Text", + "=", + "\"Heat per shot: \" + ToString(roundTo(Wesley.FireBullet::HeatIncreasePerShot()))" + ] + }, + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "CoolingPerSecond_Text", + "=", + "\"Cooling rate: \" + ToString(roundTo(Wesley.FireBullet::CoolingRate()))" + ] } ] }, @@ -22142,10 +22575,23 @@ "colorG": 176, "colorR": 74, "creationTime": 0, - "name": "Reset firing cooldown", + "name": "Perform \"post-shooting\" logic", "source": "", "type": "BuiltinCommonInstructions::Group", "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "This logic happens after all events are executed in order to enable creators to use the \"FireBullet\" action multiple times in a frame and it will be treated as a single \"shot\".", + "comment2": "" + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ @@ -22159,69 +22605,322 @@ ] } ], - "actions": [ - { - "type": { - "value": "ResetObjectTimer" - }, - "parameters": [ - "Object", - "\"__FireBullet.FiringCooldown\"" - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Automatically reload gun when needed", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "actions": [], + "events": [ { - "type": { - "value": "FireBullet::FireBullet::PropertyAutomaticReloading" - }, - "parameters": [ - "Object", - "Behavior" - ] + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Reset firing cooldown", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ResetObjectTimer" + }, + "parameters": [ + "Object", + "\"__FireBullet.FiringCooldown\"" + ] + } + ] + } + ], + "parameters": [] }, { - "type": { - "value": "FireBullet::FireBullet::IsReloadNeeded" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Update ammo", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Subtract 1 from ammo (if not unlimited ammo)", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "FireBullet::FireBullet::PropertyUnlimitedAmmo" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyAmmoQuantity" + }, + "parameters": [ + "Object", + "Behavior", + "-", + "1" + ] + } + ] + } + ], + "parameters": [] }, { - "type": { - "value": "BuiltinCommonInstructions::Once" - }, + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Update reloading counter", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::PropertyShotsPerReload" + }, + "parameters": [ + "Object", + "Behavior", + ">", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyShotsBeforeNextReload" + }, + "parameters": [ + "Object", + "Behavior", + "-", + "1" + ] + } + ] + } + ], "parameters": [] - } - ], - "actions": [ + }, { - "type": { - "value": "FireBullet::FireBullet::ReloadAmmo" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Automatically reload gun when needed", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::PropertyAutomaticReloading" + }, + "parameters": [ + "Object", + "Behavior" + ] + }, + { + "type": { + "value": "FireBullet::FireBullet::IsReloadNeeded" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + }, + { + "type": { + "inverted": true, + "value": "FireBullet::FireBullet::IsReloadInProgress" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::ReloadAmmo" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Update Overheat", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Increase heat (if needed)", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::PropertyHeatIncreasePerShot" + }, + "parameters": [ + "Object", + "Behavior", + ">", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyHeatLevel" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "min(1, Object.Behavior::PropertyHeatLevel() + Object.Behavior::PropertyHeatIncreasePerShot())" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Check if this caused overheat", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::PropertyOverheatDuration" + }, + "parameters": [ + "Object", + "Behavior", + ">", + "0" + ] + }, + { + "type": { + "value": "FireBullet::FireBullet::IsOverheated" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "ResetObjectTimer" + }, + "parameters": [ + "Object", + "\"__FireBullet.OverheatDuration\"" + ] + } + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Update statistics", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyTotalShotsFired" + }, + "parameters": [ + "Object", + "Behavior", + "+", + "1" + ] + } + ] + } + ], + "parameters": [] } ] } @@ -22398,26 +23097,12 @@ "source": "", "type": "BuiltinCommonInstructions::Group", "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Verify that the gun has ammo", - "comment2": "" - }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "inverted": true, - "value": "FireBullet::FireBullet::IsOutOfAmmo" + "value": "FireBullet::FireBullet::IsReadyToShoot" }, "parameters": [ "Object", @@ -22438,55 +23123,73 @@ "textG": 0, "textR": 0 }, - "comment": "Verify that the gun does not need to be reloaded", + "comment": "Update \"HasJustFired\" property to trigger logic in PostEvents lifecycle function", "comment2": "" }, { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "conditions": [], + "actions": [ { "type": { - "inverted": true, - "value": "FireBullet::FireBullet::IsReloadNeeded" + "value": "FireBullet::FireBullet::SetPropertyHasJustFired" }, "parameters": [ "Object", "Behavior", - "" + "yes" ] } - ], - "actions": [], + ] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Single bullet", + "source": "", + "type": "BuiltinCommonInstructions::Group", "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Verify gun is not shooting sooner than the proper rate of fire", - "comment2": "" - }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "inverted": true, - "value": "FireBullet::FireBullet::IsFiringCooldownActive" + "value": "BuiltinCommonInstructions::CompareNumbers" }, "parameters": [ - "Object", - "Behavior", - "" + "Object.Behavior::PropertyBulletQuantity()", + "=", + "1" + ] + } + ], + "actions": [ + { + "type": { + "value": "Create" + }, + "parameters": [ + "", + "Bullet", + "GetArgumentAsNumber(\"XPosition\")", + "GetArgumentAsNumber(\"YPosition\")", + "\"\"" + ] + }, + { + "type": { + "value": "AddForceAL" + }, + "parameters": [ + "Bullet", + "GetArgumentAsNumber(\"Angle\") + RandomInRange(-Object.Behavior::PropertyAngleVariance(),Object.Behavior::PropertyAngleVariance())", + "GetArgumentAsNumber(\"Speed\")", + "1" ] } ], - "actions": [], "events": [ { "type": "BuiltinCommonInstructions::Comment", @@ -22498,419 +23201,247 @@ "textG": 0, "textR": 0 }, - "comment": "Verify the gun is not overheated", - "comment2": "" - }, + "comment": "Update statistics", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyTotalBulletsCreated" + }, + "parameters": [ + "Object", + "Behavior", + "+", + "1" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Rotate newly created bullet, if needed", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::PropertyRotateBullet" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetAngle" + }, + "parameters": [ + "Bullet", + "=", + "GetArgumentAsNumber(\"Angle\")" + ] + } + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Multiple bullets", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "Object.Behavior::PropertyBulletQuantity()", + ">", + "1" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyCurrentBulletAngle" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Angle\") - Object.Behavior::PropertyFiringArc()/2" + ] + } + ], + "events": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "type": "BuiltinCommonInstructions::Repeat", + "repeatExpression": "Object.Behavior::PropertyBulletQuantity()", + "conditions": [], + "actions": [ { "type": { - "inverted": true, - "value": "FireBullet::FireBullet::IsOverheated" + "value": "Create" }, "parameters": [ - "Object", - "Behavior", - "" + "", + "Bullet", + "GetArgumentAsNumber(\"XPosition\")", + "GetArgumentAsNumber(\"YPosition\")", + "\"\"" + ] + }, + { + "type": { + "value": "AddForceAL" + }, + "parameters": [ + "Bullet", + "Object.Behavior::PropertyCurrentBulletAngle() + RandomInRange(-Object.Behavior::PropertyAngleVariance(),Object.Behavior::PropertyAngleVariance())", + "GetArgumentAsNumber(\"Speed\")", + "1" ] } ], - "actions": [], "events": [ { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Perform a shot", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Update statistics", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::SetPropertyHasJustFired" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - }, - { - "type": { - "value": "FireBullet::FireBullet::SetPropertyShotsBeforeNextReload" - }, - "parameters": [ - "Object", - "Behavior", - "-", - "1" - ] - }, - { - "type": { - "value": "FireBullet::FireBullet::SetPropertyTotalShotsFired" - }, - "parameters": [ - "Object", - "Behavior", - "+", - "1" - ] - } + "type": { + "value": "FireBullet::FireBullet::SetPropertyTotalBulletsCreated" + }, + "parameters": [ + "Object", + "Behavior", + "+", + "1" ] - }, + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Rotate newly created bullet, if needed", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "FireBullet::FireBullet::PropertyHeatIncreasePerShot" - }, - "parameters": [ - "Object", - "Behavior", - ">", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::SetPropertyHeatLevel" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "min(1, Object.Behavior::PropertyHeatLevel() + Object.Behavior::PropertyHeatIncreasePerShot())" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Start penalty timer if object became overheated", - "comment2": "" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "FireBullet::FireBullet::IsOverheated" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "ResetObjectTimer" - }, - "parameters": [ - "Object", - "\"__FireBullet.OverheatingPenalty\"" - ] - } - ] - } + "type": { + "value": "FireBullet::FireBullet::PropertyRotateBullet" + }, + "parameters": [ + "Object", + "Behavior" ] - }, + } + ], + "actions": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "FireBullet::FireBullet::PropertyUnlimitedAmmo" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::SetPropertyAmmoQuantity" - }, - "parameters": [ - "Object", - "Behavior", - "-", - "1" - ] - } + "type": { + "value": "SetAngle" + }, + "parameters": [ + "Bullet", + "=", + "Object.Behavior::PropertyCurrentBulletAngle()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Move temp variable to the next angle a bullet will be sent", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyCurrentBulletAngle" + }, + "parameters": [ + "Object", + "Behavior", + "+", + "Object.Behavior::PropertyFiringArc() / (Object.Behavior::PropertyBulletQuantity() - 1)" ] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Single bullet", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Behavior::PropertyBulletQuantity()", - "=", - "1" - ] - } - ], - "actions": [ - { - "type": { - "value": "Create" - }, - "parameters": [ - "", - "Bullet", - "GetArgumentAsNumber(\"XPosition\")", - "GetArgumentAsNumber(\"YPosition\")", - "\"\"" - ] - }, - { - "type": { - "value": "FireBullet::FireBullet::SetPropertyTotalBulletsCreated" - }, - "parameters": [ - "Object", - "Behavior", - "+", - "1" - ] - }, - { - "type": { - "value": "AddForceAL" - }, - "parameters": [ - "Bullet", - "GetArgumentAsNumber(\"Angle\") + RandomInRange(-Object.Behavior::PropertyAngleVariance(),Object.Behavior::PropertyAngleVariance())", - "GetArgumentAsNumber(\"Speed\")", - "1" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "FireBullet::FireBullet::PropertyRotateBullet" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetAngle" - }, - "parameters": [ - "Bullet", - "=", - "GetArgumentAsNumber(\"Angle\")" - ] - } - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Multiple bullets", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Behavior::PropertyBulletQuantity()", - ">", - "1" - ] - } - ], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::SetPropertyCurrentBulletAngle" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Angle\") - Object.Behavior::PropertyFiringArc()/2" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Repeat", - "repeatExpression": "Object.Behavior::PropertyBulletQuantity()", - "conditions": [], - "actions": [ - { - "type": { - "value": "Create" - }, - "parameters": [ - "", - "Bullet", - "GetArgumentAsNumber(\"XPosition\")", - "GetArgumentAsNumber(\"YPosition\")", - "\"\"" - ] - }, - { - "type": { - "value": "FireBullet::FireBullet::SetPropertyTotalBulletsCreated" - }, - "parameters": [ - "Object", - "Behavior", - "+", - "1" - ] - }, - { - "type": { - "value": "AddForceAL" - }, - "parameters": [ - "Bullet", - "Object.Behavior::PropertyCurrentBulletAngle() + RandomInRange(-Object.Behavior::PropertyAngleVariance(),Object.Behavior::PropertyAngleVariance())", - "GetArgumentAsNumber(\"Speed\")", - "1" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "FireBullet::FireBullet::PropertyRotateBullet" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetAngle" - }, - "parameters": [ - "Bullet", - "=", - "Object.Behavior::PropertyCurrentBulletAngle()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::SetPropertyCurrentBulletAngle" - }, - "parameters": [ - "Object", - "Behavior", - "+", - "Object.Behavior::PropertyFiringArc() / (Object.Behavior::PropertyBulletQuantity() - 1)" - ] - } - ] - } - ] - } - ] - } - ], - "parameters": [] } - ], - "parameters": [] + ] } ] } ] } - ] + ], + "parameters": [] } ] } ], "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Check for overheating", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [], - "parameters": [] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [] } ], "parameters": [ @@ -23409,12 +23940,229 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyRotateBullet" + "value": "FireBullet::FireBullet::SetPropertyRotateBullet" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "yes", + "description": "Rotate bullet to match trajetory", + "longDescription": "", + "name": "RotateBullet", + "optional": true, + "supplementaryInformation": "", + "type": "yesorno" + } + ], + "objectGroups": [] + }, + { + "description": "Enable unlimited ammo.", + "fullName": "Enable (or disable) unlimited ammo", + "functionType": "Action", + "group": "Ammo", + "name": "SetUnlimitedAmmo", + "private": false, + "sentence": "Enable unlimited ammo on _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "GetArgumentAsBoolean" + }, + "parameters": [ + "\"UnlimitedAmmo\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyUnlimitedAmmo" + }, + "parameters": [ + "Object", + "Behavior", + "no" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "GetArgumentAsBoolean" + }, + "parameters": [ + "\"UnlimitedAmmo\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyUnlimitedAmmo" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "yes", + "description": "Rotate bullet to match trajetory", + "longDescription": "", + "name": "UnlimitedAmmo", + "optional": true, + "supplementaryInformation": "", + "type": "yesorno" + } + ], + "objectGroups": [] + }, + { + "description": "Change the cooldown of the fire rate.", + "fullName": "Set cooldown", + "functionType": "Action", + "group": "Firing", + "name": "SetCooldown", + "private": false, + "sentence": "Set the fire rate of _PARAM0_ to _PARAM2_ seconds", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyFireCooldown" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"NewCooldown\")" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Cooldown in seconds", + "longDescription": "", + "name": "NewCooldown", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change the duration to reload ammo.", + "fullName": "Set reload duration", + "functionType": "Action", + "group": "Ammo", + "name": "SetReloadDuration", + "private": false, + "sentence": "Set reload duration of _PARAM0_ to _PARAM2_ seconds", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyReloadDuration" }, "parameters": [ "Object", "Behavior", - "yes" + "=", + "GetArgumentAsNumber(\"Value\")" ] } ] @@ -23443,73 +24191,39 @@ }, { "codeOnly": false, - "defaultValue": "yes", - "description": "Rotate bullet to match trajetory", + "defaultValue": "", + "description": "Reload duration (seconds)", "longDescription": "", - "name": "RotateBullet", - "optional": true, + "name": "Value", + "optional": false, "supplementaryInformation": "", - "type": "yesorno" + "type": "expression" } ], "objectGroups": [] }, { - "description": "Enable unlimited ammo.", - "fullName": "Enable (or disable) unlimited ammo", + "description": "Change the duration after becoming overheated.", + "fullName": "Set overheat duration", "functionType": "Action", - "group": "Ammo", - "name": "SetUnlimitedAmmo", + "group": "Overheat", + "name": "SetOverheatDuration", "private": false, - "sentence": "Enable unlimited ammo on _PARAM0_: _PARAM2_", + "sentence": "Set overheat duration of _PARAM0_ to _PARAM2_ seconds", "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "GetArgumentAsBoolean" - }, - "parameters": [ - "\"UnlimitedAmmo\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::SetPropertyUnlimitedAmmo" - }, - "parameters": [ - "Object", - "Behavior", - "no" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "GetArgumentAsBoolean" - }, - "parameters": [ - "\"UnlimitedAmmo\"" - ] - } - ], + "conditions": [], "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyUnlimitedAmmo" + "value": "FireBullet::FireBullet::SetPropertyOverheatDuration" }, "parameters": [ "Object", "Behavior", - "yes" + "=", + "GetArgumentAsNumber(\"Value\")" ] } ] @@ -23538,25 +24252,25 @@ }, { "codeOnly": false, - "defaultValue": "yes", - "description": "Rotate bullet to match trajetory", + "defaultValue": "", + "description": "Overheat duration (seconds)", "longDescription": "", - "name": "UnlimitedAmmo", - "optional": true, + "name": "Value", + "optional": false, "supplementaryInformation": "", - "type": "yesorno" + "type": "expression" } ], "objectGroups": [] }, { - "description": "Change the cooldown of the fire rate.", - "fullName": "Set cooldown", + "description": "Change the quantity of ammo.", + "fullName": "Set ammo quantity", "functionType": "Action", - "group": "Firing", - "name": "SetCooldown", + "group": "Ammo", + "name": "SetAmmoQuantity", "private": false, - "sentence": "Set the fire rate of _PARAM0_ to _PARAM2_ seconds", + "sentence": "Set ammo quantity of _PARAM0_ to _PARAM2_", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -23564,13 +24278,13 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyFireCooldown" + "value": "FireBullet::FireBullet::SetPropertyAmmoQuantity" }, "parameters": [ "Object", "Behavior", "=", - "GetArgumentAsNumber(\"NewCooldown\")" + "GetArgumentAsNumber(\"Value\")" ] } ] @@ -23600,9 +24314,9 @@ { "codeOnly": false, "defaultValue": "", - "description": "Cooldown in seconds", + "description": "Ammo", "longDescription": "", - "name": "NewCooldown", + "name": "Value", "optional": false, "supplementaryInformation": "", "type": "expression" @@ -23611,13 +24325,13 @@ "objectGroups": [] }, { - "description": "Change the duration to reload ammo.", - "fullName": "Set reload duration", + "description": "Change the heat increase per shot.", + "fullName": "Set heat increase per shot", "functionType": "Action", - "group": "Ammo", - "name": "SetReloadDuration", + "group": "Overheat", + "name": "SetHeatPerShot", "private": false, - "sentence": "Set reload duration of _PARAM0_ to _PARAM2_ seconds", + "sentence": "Set heat increase of _PARAM0_ to _PARAM2_ per shot", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -23625,7 +24339,7 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyReloadDuration" + "value": "FireBullet::FireBullet::SetPropertyHeatIncreasePerShot" }, "parameters": [ "Object", @@ -23661,7 +24375,7 @@ { "codeOnly": false, "defaultValue": "", - "description": "Reload duration (seconds)", + "description": "Heat increase per shot (Range: 0 to 1)", "longDescription": "", "name": "Value", "optional": false, @@ -23672,13 +24386,13 @@ "objectGroups": [] }, { - "description": "Change the quantity of ammo.", - "fullName": "Set ammo quantity", + "description": "Change the rate of cooling.", + "fullName": "Set rate of cooling", "functionType": "Action", - "group": "Ammo", - "name": "SetAmmoQuantity", + "group": "Overheat", + "name": "SetCoolingRate", "private": false, - "sentence": "Set ammo quantity of _PARAM0_ to _PARAM2_", + "sentence": "Set rate of cooling of _PARAM0_ to _PARAM2_ per second", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -23686,7 +24400,7 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyAmmoQuantity" + "value": "FireBullet::FireBullet::SetPropertyHeatCoolingRate" }, "parameters": [ "Object", @@ -23722,7 +24436,7 @@ { "codeOnly": false, "defaultValue": "", - "description": "Ammo", + "description": "Heat cooling rate (per second)", "longDescription": "", "name": "Value", "optional": false, @@ -24086,26 +24800,170 @@ "optional": false, "supplementaryInformation": "FireBullet::FireBullet", "type": "behavior" - }, - { - "codeOnly": false, - "defaultValue": "", - "description": "Ammo gained", - "longDescription": "", - "name": "AmmoGained", - "optional": false, - "supplementaryInformation": "", - "type": "expression" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Ammo gained", + "longDescription": "", + "name": "AmmoGained", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Number of bullets to shoot at once (evenly spaced inside the Firing Arc).", + "fullName": "Bullet quantity", + "functionType": "Expression", + "group": "Firing", + "name": "BulletQuantity", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyBulletQuantity()" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Angle variance in degrees.", + "fullName": "Angle variance", + "functionType": "Expression", + "group": "Firing", + "name": "AngleVariance", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyAngleVariance()" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Firing arc in degrees.", + "fullName": "Firing arc", + "functionType": "Expression", + "group": "Firing", + "name": "FiringArc", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyFiringArc()" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" } ], "objectGroups": [] }, { - "description": "Number of bullets to shoot at once (evenly spaced inside the Firing Arc).", - "fullName": "Bullet quantity", + "description": "Heat level (Range: 0 to 1)", + "fullName": "Heat level", "functionType": "Expression", - "group": "Firing", - "name": "BulletQuantity", + "group": "Overheat", + "name": "HeatLevel", "private": false, "sentence": "", "events": [ @@ -24118,7 +24976,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyBulletQuantity()" + "Object.Behavior::PropertyHeatLevel()" ] } ] @@ -24149,11 +25007,11 @@ "objectGroups": [] }, { - "description": "Angle variance in degrees.", - "fullName": "Angle variance", + "description": "Firing cooldown in seconds.", + "fullName": "Firing cooldown", "functionType": "Expression", "group": "Firing", - "name": "AngleVariance", + "name": "Cooldown", "private": false, "sentence": "", "events": [ @@ -24166,7 +25024,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyAngleVariance()" + "Object.Behavior::PropertyFireCooldown()" ] } ] @@ -24197,11 +25055,11 @@ "objectGroups": [] }, { - "description": "Firing arc in degrees.", - "fullName": "Firing arc", + "description": "Reload duration in seconds.", + "fullName": "Reload duration", "functionType": "Expression", - "group": "Firing", - "name": "FiringArc", + "group": "Ammo", + "name": "ReloadDuration", "private": false, "sentence": "", "events": [ @@ -24214,7 +25072,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyFiringArc()" + "Object.Behavior::PropertyReloadDuration()" ] } ] @@ -24245,11 +25103,11 @@ "objectGroups": [] }, { - "description": "Heat level (Range: 0 to 1)", - "fullName": "Heat level", + "description": "Overheat duration in seconds.", + "fullName": "Overheat duration", "functionType": "Expression", - "group": "Overheating", - "name": "HeatLevel", + "group": "Overheat", + "name": "OverheatDuration", "private": false, "sentence": "", "events": [ @@ -24262,7 +25120,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyHeatLevel()" + "Object.Behavior::PropertyOverheatDuration()" ] } ] @@ -24293,11 +25151,11 @@ "objectGroups": [] }, { - "description": "Firing cooldown in seconds.", - "fullName": "Firing cooldown", + "description": "Heat increase per shot.", + "fullName": "Heat increase per shot", "functionType": "Expression", - "group": "Firing", - "name": "Cooldown", + "group": "Overheat", + "name": "HeatIncreasePerShot", "private": false, "sentence": "", "events": [ @@ -24310,7 +25168,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyFireCooldown()" + "Object.Behavior::PropertyHeatIncreasePerShot()" ] } ] @@ -24341,11 +25199,11 @@ "objectGroups": [] }, { - "description": "Reload duration in seconds.", - "fullName": "Reload duration", + "description": "Cooling rate per second.", + "fullName": "Cooling rate", "functionType": "Expression", - "group": "Ammo", - "name": "ReloadDuration", + "group": "Overheat", + "name": "CoolingRate", "private": false, "sentence": "", "events": [ @@ -24358,7 +25216,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyReloadDuration()" + "Object.Behavior::PropertyHeatCoolingRate()" ] } ] @@ -24773,11 +25631,11 @@ "objectGroups": [] }, { - "description": "Seconds remaining before the overheating penalty ends.", - "fullName": "Time remaining before overheating penalty ends", + "description": "Seconds remaining before the overheat penalty ends.", + "fullName": "Time remaining before overheat penalty ends", "functionType": "Expression", - "group": "Overheating", - "name": "OverheatingPenaltyTimeLeft", + "group": "Overheat", + "name": "OverheatTimeLeft", "private": false, "sentence": "", "events": [ @@ -24790,7 +25648,7 @@ }, "parameters": [ "Object", - "\"__FireBullet.OverheatingPenalty\"", + "\"__FireBullet.OverheatDuration\"", ">", "0" ] @@ -24802,7 +25660,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "max(0,Object.Behavior::PropertyOverheatingPenaltyDuration() - Object.ObjectTimerElapsedTime(\"__FireBullet.OverheatingPenalty\"))" + "max(0, Object.Behavior::PropertyOverheatDuration() - Object.ObjectTimerElapsedTime(\"__FireBullet.OverheatDuration\"))" ] } ] @@ -24928,93 +25786,151 @@ ] }, { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Not reloading, not waiting for firing cooldown, not overheated, and has ammo available", - "comment2": "" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "FireBullet::FireBullet::PropertyReloadInProgress" - }, - "parameters": [ - "Object", - "Behavior" - ] - }, - { - "type": { - "inverted": true, - "value": "FireBullet::FireBullet::IsFiringCooldownActive" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - }, + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Check if ready to shoot", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ { - "type": { - "inverted": true, - "value": "FireBullet::FireBullet::IsReloadNeeded" + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 }, - "parameters": [ - "Object", - "Behavior", - "" - ] + "comment": "Verify that the gun has ammo", + "comment2": "" }, { - "type": { - "value": "BuiltinCommonInstructions::Or" - }, - "parameters": [], - "subInstructions": [ + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ { "type": { - "value": "FireBullet::FireBullet::IsUnlimitedAmmo" + "inverted": true, + "value": "FireBullet::FireBullet::IsOutOfAmmo" }, "parameters": [ "Object", "Behavior", "" ] - }, + } + ], + "actions": [], + "events": [ { - "type": { - "value": "FireBullet::FireBullet::PropertyAmmoQuantity" + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 }, - "parameters": [ - "Object", - "Behavior", - ">", - "0" + "comment": "Verify that the gun does not need to be reloaded", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "FireBullet::FireBullet::IsReloadNeeded" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Verify gun is not shooting sooner than the proper rate of fire", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "FireBullet::FireBullet::IsFiringCooldownActive" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Verify the gun is not overheated", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "FireBullet::FireBullet::IsOverheated" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ] + } ] } ] } ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] + "parameters": [] } ], "parameters": [ @@ -25368,7 +26284,7 @@ "description": "Check if object is overheated.", "fullName": "Is overheated", "functionType": "Condition", - "group": "Ammo", + "group": "Overheat", "name": "IsOverheated", "private": false, "sentence": "_PARAM0_ is overheated", @@ -25412,7 +26328,7 @@ "value": "BuiltinCommonInstructions::CompareNumbers" }, "parameters": [ - "Object.Behavior::OverheatingPenaltyTimeLeft()", + "Object.Behavior::OverheatTimeLeft()", ">", "0" ] @@ -25460,7 +26376,7 @@ "description": "Check if firing cooldown is active.", "fullName": "Is firing cooldown active", "functionType": "Condition", - "group": "", + "group": "Firing", "name": "IsFiringCooldownActive", "private": false, "sentence": "Firing cooldown is active on _PARAM0_", @@ -25616,7 +26532,7 @@ "type": "Number", "label": "Shots per reload (Use 0 to disable)", "description": "", - "group": "", + "group": "Ammo", "extraInformation": [], "hidden": false, "name": "ShotsPerReload" @@ -25626,7 +26542,7 @@ "type": "Number", "label": "Reloading duration (seconds)", "description": "", - "group": "", + "group": "Ammo", "extraInformation": [], "hidden": false, "name": "ReloadDuration" @@ -25636,7 +26552,7 @@ "type": "Number", "label": "Max ammo (Use 0 to disable)", "description": "", - "group": "", + "group": "Ammo", "extraInformation": [], "hidden": false, "name": "MaxAmmo" @@ -25646,7 +26562,7 @@ "type": "Number", "label": "", "description": "", - "group": "", + "group": "Ammo", "extraInformation": [], "hidden": true, "name": "ShotsBeforeNextReload" @@ -25706,7 +26622,7 @@ "type": "Boolean", "label": "", "description": "", - "group": "", + "group": "Ammo", "extraInformation": [], "hidden": true, "name": "ReloadInProgress" @@ -25716,7 +26632,7 @@ "type": "Number", "label": "Heat increase per shot (Range: 0 to 1)", "description": "", - "group": "Overheating", + "group": "Overheat", "extraInformation": [], "hidden": false, "name": "HeatIncreasePerShot" @@ -25726,7 +26642,7 @@ "type": "Number", "label": "Heat level (Range: 0 to 1)", "description": "", - "group": "Overheating", + "group": "Overheat", "extraInformation": [], "hidden": true, "name": "HeatLevel" @@ -25736,7 +26652,7 @@ "type": "Number", "label": "Rate of cooling per second (range: 0 to 1)", "description": "", - "group": "Overheating", + "group": "Overheat", "extraInformation": [], "hidden": false, "name": "HeatCoolingRate" @@ -25754,12 +26670,12 @@ { "value": "0", "type": "Number", - "label": "Overheating penalty (seconds) Shots cannot be fired during this time", + "label": "Overheat duration (seconds) Shots cannot be fired during this time", "description": "", - "group": "Overheating", + "group": "Overheat", "extraInformation": [], "hidden": false, - "name": "OverheatingPenaltyDuration" + "name": "OverheatDuration" } ] } From 68a70ba96c4d7174cda51f2549a6e70b2811f987 Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Sat, 15 Oct 2022 14:00:44 -0600 Subject: [PATCH 05/22] Overheating finished, submitted for review of functionality --- examples/fire-bullet/fire-bullet.json | 1677 +++++++++++++++++++++---- 1 file changed, 1398 insertions(+), 279 deletions(-) diff --git a/examples/fire-bullet/fire-bullet.json b/examples/fire-bullet/fire-bullet.json index bf6f0ee20..5dd8c44bd 100644 --- a/examples/fire-bullet/fire-bullet.json +++ b/examples/fire-bullet/fire-bullet.json @@ -19,7 +19,7 @@ "useExternalSourceFiles": false, "version": "1.0.0", "name": "Determined Haircut (Fire bullet)", - "description": "Test the \"fire bullet\" extension using sliders to modify the rate of fire, accuracy, number of bullets, and firing arc.", + "description": "Test the \"fire bullet\" extension using sliders to modify the rate of fire, accuracy, number of bullets, and firing arc.\n\nNow with ammo management, reloading, and overheating!", "author": "", "windowWidth": 1280, "windowHeight": 720, @@ -1747,7 +1747,7 @@ "gridColor": 10401023, "gridAlpha": 0.8, "snap": true, - "zoomFactor": 0.6949999999999965, + "zoomFactor": 0.6349999999999965, "windowMask": false }, "objectsGroups": [ @@ -2513,8 +2513,8 @@ "name": "Reloading_Text", "persistentUuid": "5ae96ea2-e3f0-45f4-baf2-ffb33a30fcfe", "width": 0, - "x": 320, - "y": 608, + "x": 336, + "y": 631, "zOrder": 80, "numberProperties": [], "stringProperties": [], @@ -2529,7 +2529,7 @@ "persistentUuid": "cd86038f-5eca-478e-bfdc-f0aa0c8304ea", "width": 0, "x": 320, - "y": 559, + "y": 560, "zOrder": 81, "numberProperties": [], "stringProperties": [], @@ -2543,8 +2543,8 @@ "name": "WaitingForFiringCooldown_Text", "persistentUuid": "f3ad2523-01c9-4e05-839f-ea83e8a329b6", "width": 0, - "x": 320, - "y": 576, + "x": 272, + "y": 599, "zOrder": 82, "numberProperties": [], "stringProperties": [], @@ -2558,8 +2558,8 @@ "name": "OutOfAmmo_Text", "persistentUuid": "8892694e-a295-402e-8789-d9dd87966bb1", "width": 0, - "x": 320, - "y": 623, + "x": 368, + "y": 185, "zOrder": 83, "numberProperties": [], "stringProperties": [], @@ -2573,8 +2573,8 @@ "name": "ReloadNeeded_Text", "persistentUuid": "752f4f4c-9785-4056-9431-6190dfd30f9b", "width": 0, - "x": 320, - "y": 592, + "x": 752, + "y": 185, "zOrder": 84, "numberProperties": [], "stringProperties": [], @@ -2618,8 +2618,8 @@ "name": "RightClickToReload_Text", "persistentUuid": "05b56620-15ab-4901-8277-3de04b0eaf8c", "width": 0, - "x": 528, - "y": 592, + "x": 720, + "y": 224, "zOrder": 85, "numberProperties": [], "stringProperties": [], @@ -2649,7 +2649,7 @@ "persistentUuid": "6113262c-fd7b-497e-bfb0-84f8488b258a", "width": 0, "x": 768, - "y": 576, + "y": 617, "zOrder": 87, "numberProperties": [], "stringProperties": [], @@ -2664,7 +2664,7 @@ "persistentUuid": "430afb53-e07e-44c0-80e4-9d5900139fa0", "width": 0, "x": 992, - "y": 480, + "y": 432, "zOrder": 88, "numberProperties": [], "stringProperties": [], @@ -2679,7 +2679,7 @@ "persistentUuid": "c50cc6db-f8dc-4680-b53d-30558f2505ca", "width": 0, "x": 1008, - "y": 517, + "y": 469, "zOrder": 89, "numberProperties": [], "stringProperties": [], @@ -2694,7 +2694,7 @@ "persistentUuid": "c9fc7d59-e05c-4156-88e8-892ccefd2802", "width": 0, "x": 1024, - "y": 560, + "y": 512, "zOrder": 90, "numberProperties": [], "stringProperties": [], @@ -2709,7 +2709,7 @@ "persistentUuid": "265a60d1-aeb9-470d-b56a-1080269ce44b", "width": 0, "x": 1024, - "y": 640, + "y": 592, "zOrder": 91, "numberProperties": [], "stringProperties": [], @@ -2724,7 +2724,7 @@ "persistentUuid": "1d2f8b85-2b8e-4742-94f2-3f1a56841d71", "width": 0, "x": 1008, - "y": 672, + "y": 624, "zOrder": 92, "numberProperties": [], "stringProperties": [], @@ -2739,7 +2739,7 @@ "persistentUuid": "2cc4e2cb-d2b1-4bb6-9d29-814acabb8d20", "width": 0, "x": 1008, - "y": 592, + "y": 544, "zOrder": 93, "numberProperties": [], "stringProperties": [], @@ -2754,11 +2754,101 @@ "persistentUuid": "2a7d9ba7-e6ae-4241-8e98-0d48443baa3c", "width": 0, "x": 1040, - "y": 418, + "y": 384, "zOrder": 94, "numberProperties": [], "stringProperties": [], "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "Heat_ResourceBar", + "persistentUuid": "0719db4d-ef00-4d2c-b30a-5c1308f5584c", + "width": 0, + "x": 704, + "y": 528, + "zOrder": 95, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 32, + "layer": "UI", + "name": "Ammo_ResourceBar", + "persistentUuid": "c1914f70-f956-4b15-9354-ee1904d6526b", + "width": 32, + "x": 320, + "y": 176, + "zOrder": 96, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "Reload_ResourceBar", + "persistentUuid": "729e4b84-dbd9-4790-ae1a-182ebafd35ca", + "width": 0, + "x": 704, + "y": 176, + "zOrder": 97, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "ExponentialCooling_Checkbox", + "persistentUuid": "de5cfe64-5d1e-4a6c-9888-f262ab8c3757", + "width": 0, + "x": 1024, + "y": 656, + "zOrder": 98, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "ExponentialCooling_Text", + "persistentUuid": "bd745e29-9358-4de0-b9db-43fe34723fe6", + "width": 0, + "x": 1056, + "y": 656, + "zOrder": 99, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "OverheatTimeLeft_ResourceBar", + "persistentUuid": "50d15b25-e741-40ae-97aa-283aeaeb5c49", + "width": 0, + "x": 704, + "y": 592, + "zOrder": 100, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] } ], "objects": [ @@ -9822,9 +9912,9 @@ "font": "", "characterSize": 20, "color": { - "b": 27, - "g": 2, - "r": 208 + "b": 28, + "g": 231, + "r": 248 } }, { @@ -9953,6 +10043,27 @@ "r": 255 } }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "ExponentialCooling_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Exponential cooling", + "font": "", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, { "assetStoreId": "", "bold": true, @@ -9988,7 +10099,7 @@ "behaviors": [], "string": "Reloading...", "font": "", - "characterSize": 15, + "characterSize": 20, "color": { "b": 194, "g": 227, @@ -10009,7 +10120,7 @@ "behaviors": [], "string": "Ready to shoot!", "font": "", - "characterSize": 15, + "characterSize": 20, "color": { "b": 194, "g": 227, @@ -10028,13 +10139,13 @@ "variables": [], "effects": [], "behaviors": [], - "string": "Out of ammo", + "string": "Out of ammo!", "font": "", - "characterSize": 15, + "characterSize": 20, "color": { - "b": 194, - "g": 227, - "r": 80 + "b": 28, + "g": 231, + "r": 248 } }, { @@ -10051,11 +10162,11 @@ "behaviors": [], "string": "Reload needed", "font": "", - "characterSize": 15, + "characterSize": 20, "color": { - "b": 194, - "g": 227, - "r": 80 + "b": 28, + "g": 231, + "r": 248 } }, { @@ -10072,7 +10183,7 @@ "behaviors": [], "string": "Waiting for firing cooldown...", "font": "", - "characterSize": 15, + "characterSize": 20, "color": { "b": 194, "g": 227, @@ -10444,8 +10555,8 @@ "name": "DraggableSliderControl", "type": "DraggableSliderControl::DraggableSliderControl", "ValueMin": 0, - "ValueMax": 5, - "TickSpacing": 0.1, + "ValueMax": 1, + "TickSpacing": 0.01, "ThumbShape": "circle", "ThumbWidth": 20, "ThumbHeight": 20, @@ -10502,8 +10613,8 @@ "name": "DraggableSliderControl", "type": "DraggableSliderControl::DraggableSliderControl", "ValueMin": 0, - "ValueMax": 5, - "TickSpacing": 0.1, + "ValueMax": 0.5, + "TickSpacing": 0.01, "ThumbShape": "circle", "ThumbWidth": 20, "ThumbHeight": 20, @@ -10666,7 +10777,7 @@ }, { "assetStoreId": "", - "name": "BulletQty_Slider", + "name": "Heat_ResourceBar", "tags": "", "type": "PrimitiveDrawing::Drawer", "variables": [], @@ -10675,25 +10786,25 @@ { "name": "DraggableSliderControl", "type": "DraggableSliderControl::DraggableSliderControl", - "ValueMin": 1, - "ValueMax": 30, - "TickSpacing": 1, - "ThumbShape": "circle", - "ThumbWidth": 20, - "ThumbHeight": 20, - "ThumbColor": "255;255;255", - "ThumbOpacity": 255, - "TrackLength": 200, - "TrackThickness": 4, + "ValueMin": 0, + "ValueMax": 1, + "TickSpacing": 0, + "ThumbShape": "rectangle", + "ThumbWidth": 16, + "ThumbHeight": 0, + "ThumbColor": "208;2;27", + "ThumbOpacity": 0, + "TrackLength": 256, + "TrackThickness": 16, "InactiveTrackColor": "", "InactiveTrackOpacity": 96, "ActiveTrackColor": " ", - "ActiveTrackOpacity": 255, - "HaloRadius": 24, - "HaloOpacityHover": 32, - "HaloOpacityClick": 64, - "RoundedTrack": true, - "Enabled": true, + "ActiveTrackOpacity": 254, + "HaloRadius": 0, + "HaloOpacityHover": 0, + "HaloOpacityClick": 0, + "RoundedTrack": false, + "Enabled": false, "IsBeingDragged": false, "Value": 0, "ThumbOffset": 0, @@ -10724,57 +10835,44 @@ }, { "assetStoreId": "", - "name": "FiringArc", - "tags": "", - "type": "PrimitiveDrawing::Drawer", - "variables": [], - "effects": [], - "behaviors": [], - "fillOpacity": 255, - "outlineSize": 4, - "outlineOpacity": 255, - "fillColor": { - "b": 224, - "g": 16, - "r": 189 - }, - "outlineColor": { - "b": 224, - "g": 16, - "r": 189 - }, - "absoluteCoordinates": true, - "clearBetweenFrames": true - }, - { - "assetStoreId": "", - "name": "RotateBullet_Checkbox", + "name": "OverheatTimeLeft_ResourceBar", "tags": "", "type": "PrimitiveDrawing::Drawer", "variables": [], "effects": [], "behaviors": [ { - "name": "Checkbox", - "type": "Checkbox::Checkbox", - "Checked": true, - "HaloRadiusHover": 0, - "HaloOpacityHover": 128, - "HaloOpacityClick": 196, - "Enabled": true, - "IsBeingPressed": false, + "name": "DraggableSliderControl", + "type": "DraggableSliderControl::DraggableSliderControl", + "ValueMin": 0, + "ValueMax": 1, + "TickSpacing": 0, + "ThumbShape": "rectangle", + "ThumbWidth": 16, + "ThumbHeight": 0, + "ThumbColor": "248;231;28", + "ThumbOpacity": 0, + "TrackLength": 256, + "TrackThickness": 16, + "InactiveTrackColor": "", + "InactiveTrackOpacity": 96, + "ActiveTrackColor": " ", + "ActiveTrackOpacity": 254, + "HaloRadius": 0, + "HaloOpacityHover": 0, + "HaloOpacityClick": 0, + "RoundedTrack": false, + "Enabled": false, + "IsBeingDragged": false, + "Value": 0, + "ThumbOffset": 0, "NeedRedraw": true, "IsHovered": false, + "MouseX": 0, + "MouseY": 0, "CurrentHaloRadius": 0, - "HaloGrowSpeed": 0.3, - "TargetHaloRadius": 0, - "ToggleChanged": false, - "PrimaryColor": " 24;119;211", - "SecondaryColor": "255;255;255", - "SideLength": 24, - "LineWidth": 5, - "BorderThickness": 2, - "HaloRadiusPressed": 0 + "HaloGrowSpeed": 0.2, + "TargetHaloRadius": 0 } ], "fillOpacity": 255, @@ -10795,33 +10893,44 @@ }, { "assetStoreId": "", - "name": "UnlimitedAmmo_Checkbox", + "name": "Ammo_ResourceBar", "tags": "", "type": "PrimitiveDrawing::Drawer", "variables": [], "effects": [], "behaviors": [ { - "name": "Checkbox", - "type": "Checkbox::Checkbox", - "Checked": true, - "HaloRadiusHover": 0, - "HaloOpacityHover": 128, - "HaloOpacityClick": 196, - "Enabled": true, - "IsBeingPressed": false, + "name": "DraggableSliderControl", + "type": "DraggableSliderControl::DraggableSliderControl", + "ValueMin": 0, + "ValueMax": 1, + "TickSpacing": 1, + "ThumbShape": "rectangle", + "ThumbWidth": 16, + "ThumbHeight": 0, + "ThumbColor": "248;231;28", + "ThumbOpacity": 0, + "TrackLength": 256, + "TrackThickness": 16, + "InactiveTrackColor": "", + "InactiveTrackOpacity": 96, + "ActiveTrackColor": " ", + "ActiveTrackOpacity": 255, + "HaloRadius": 0, + "HaloOpacityHover": 0, + "HaloOpacityClick": 0, + "RoundedTrack": false, + "Enabled": false, + "IsBeingDragged": false, + "Value": 0, + "ThumbOffset": 0, "NeedRedraw": true, "IsHovered": false, + "MouseX": 0, + "MouseY": 0, "CurrentHaloRadius": 0, - "HaloGrowSpeed": 0.3, - "TargetHaloRadius": 0, - "ToggleChanged": false, - "PrimaryColor": " 24;119;211", - "SecondaryColor": "255;255;255", - "SideLength": 24, - "LineWidth": 5, - "BorderThickness": 2, - "HaloRadiusPressed": 0 + "HaloGrowSpeed": 0.2, + "TargetHaloRadius": 0 } ], "fillOpacity": 255, @@ -10833,40 +10942,321 @@ "r": 255 }, "outlineColor": { - "b": 0, - "g": 0, - "r": 0 + "b": 28, + "g": 231, + "r": 248 }, "absoluteCoordinates": false, "clearBetweenFrames": true }, { "assetStoreId": "", - "name": "AutomaticReloading_Checkbox", + "name": "Reload_ResourceBar", "tags": "", "type": "PrimitiveDrawing::Drawer", "variables": [], "effects": [], "behaviors": [ { - "name": "Checkbox", - "type": "Checkbox::Checkbox", - "Checked": true, - "HaloRadiusHover": 0, - "HaloOpacityHover": 128, - "HaloOpacityClick": 196, - "Enabled": true, - "IsBeingPressed": false, - "NeedRedraw": true, - "IsHovered": false, - "CurrentHaloRadius": 0, - "HaloGrowSpeed": 0.3, - "TargetHaloRadius": 0, - "ToggleChanged": false, - "PrimaryColor": " 24;119;211", - "SecondaryColor": "255;255;255", - "SideLength": 24, - "LineWidth": 5, + "name": "DraggableSliderControl", + "type": "DraggableSliderControl::DraggableSliderControl", + "ValueMin": 0, + "ValueMax": 1, + "TickSpacing": 1, + "ThumbShape": "rectangle", + "ThumbWidth": 16, + "ThumbHeight": 0, + "ThumbColor": "248;231;28", + "ThumbOpacity": 0, + "TrackLength": 256, + "TrackThickness": 16, + "InactiveTrackColor": "", + "InactiveTrackOpacity": 96, + "ActiveTrackColor": " ", + "ActiveTrackOpacity": 255, + "HaloRadius": 0, + "HaloOpacityHover": 0, + "HaloOpacityClick": 0, + "RoundedTrack": false, + "Enabled": false, + "IsBeingDragged": false, + "Value": 0, + "ThumbOffset": 0, + "NeedRedraw": true, + "IsHovered": false, + "MouseX": 0, + "MouseY": 0, + "CurrentHaloRadius": 0, + "HaloGrowSpeed": 0.2, + "TargetHaloRadius": 0 + } + ], + "fillOpacity": 255, + "outlineSize": 1, + "outlineOpacity": 255, + "fillColor": { + "b": 255, + "g": 255, + "r": 255 + }, + "outlineColor": { + "b": 28, + "g": 231, + "r": 248 + }, + "absoluteCoordinates": false, + "clearBetweenFrames": true + }, + { + "assetStoreId": "", + "name": "BulletQty_Slider", + "tags": "", + "type": "PrimitiveDrawing::Drawer", + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "DraggableSliderControl", + "type": "DraggableSliderControl::DraggableSliderControl", + "ValueMin": 1, + "ValueMax": 30, + "TickSpacing": 1, + "ThumbShape": "circle", + "ThumbWidth": 20, + "ThumbHeight": 20, + "ThumbColor": "255;255;255", + "ThumbOpacity": 255, + "TrackLength": 200, + "TrackThickness": 4, + "InactiveTrackColor": "", + "InactiveTrackOpacity": 96, + "ActiveTrackColor": " ", + "ActiveTrackOpacity": 255, + "HaloRadius": 24, + "HaloOpacityHover": 32, + "HaloOpacityClick": 64, + "RoundedTrack": true, + "Enabled": true, + "IsBeingDragged": false, + "Value": 0, + "ThumbOffset": 0, + "NeedRedraw": true, + "IsHovered": false, + "MouseX": 0, + "MouseY": 0, + "CurrentHaloRadius": 0, + "HaloGrowSpeed": 0.2, + "TargetHaloRadius": 0 + } + ], + "fillOpacity": 255, + "outlineSize": 1, + "outlineOpacity": 255, + "fillColor": { + "b": 255, + "g": 255, + "r": 255 + }, + "outlineColor": { + "b": 0, + "g": 0, + "r": 0 + }, + "absoluteCoordinates": false, + "clearBetweenFrames": true + }, + { + "assetStoreId": "", + "name": "FiringArc", + "tags": "", + "type": "PrimitiveDrawing::Drawer", + "variables": [], + "effects": [], + "behaviors": [], + "fillOpacity": 255, + "outlineSize": 4, + "outlineOpacity": 255, + "fillColor": { + "b": 224, + "g": 16, + "r": 189 + }, + "outlineColor": { + "b": 224, + "g": 16, + "r": 189 + }, + "absoluteCoordinates": true, + "clearBetweenFrames": true + }, + { + "assetStoreId": "", + "name": "RotateBullet_Checkbox", + "tags": "", + "type": "PrimitiveDrawing::Drawer", + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Checkbox", + "type": "Checkbox::Checkbox", + "Checked": true, + "HaloRadiusHover": 0, + "HaloOpacityHover": 128, + "HaloOpacityClick": 196, + "Enabled": true, + "IsBeingPressed": false, + "NeedRedraw": true, + "IsHovered": false, + "CurrentHaloRadius": 0, + "HaloGrowSpeed": 0.3, + "TargetHaloRadius": 0, + "ToggleChanged": false, + "PrimaryColor": " 24;119;211", + "SecondaryColor": "255;255;255", + "SideLength": 24, + "LineWidth": 5, + "BorderThickness": 2, + "HaloRadiusPressed": 0 + } + ], + "fillOpacity": 255, + "outlineSize": 1, + "outlineOpacity": 255, + "fillColor": { + "b": 255, + "g": 255, + "r": 255 + }, + "outlineColor": { + "b": 0, + "g": 0, + "r": 0 + }, + "absoluteCoordinates": false, + "clearBetweenFrames": true + }, + { + "assetStoreId": "", + "name": "UnlimitedAmmo_Checkbox", + "tags": "", + "type": "PrimitiveDrawing::Drawer", + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Checkbox", + "type": "Checkbox::Checkbox", + "Checked": true, + "HaloRadiusHover": 0, + "HaloOpacityHover": 128, + "HaloOpacityClick": 196, + "Enabled": true, + "IsBeingPressed": false, + "NeedRedraw": true, + "IsHovered": false, + "CurrentHaloRadius": 0, + "HaloGrowSpeed": 0.3, + "TargetHaloRadius": 0, + "ToggleChanged": false, + "PrimaryColor": " 24;119;211", + "SecondaryColor": "255;255;255", + "SideLength": 24, + "LineWidth": 5, + "BorderThickness": 2, + "HaloRadiusPressed": 0 + } + ], + "fillOpacity": 255, + "outlineSize": 1, + "outlineOpacity": 255, + "fillColor": { + "b": 255, + "g": 255, + "r": 255 + }, + "outlineColor": { + "b": 0, + "g": 0, + "r": 0 + }, + "absoluteCoordinates": false, + "clearBetweenFrames": true + }, + { + "assetStoreId": "", + "name": "AutomaticReloading_Checkbox", + "tags": "", + "type": "PrimitiveDrawing::Drawer", + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Checkbox", + "type": "Checkbox::Checkbox", + "Checked": true, + "HaloRadiusHover": 0, + "HaloOpacityHover": 128, + "HaloOpacityClick": 196, + "Enabled": true, + "IsBeingPressed": false, + "NeedRedraw": true, + "IsHovered": false, + "CurrentHaloRadius": 0, + "HaloGrowSpeed": 0.3, + "TargetHaloRadius": 0, + "ToggleChanged": false, + "PrimaryColor": " 24;119;211", + "SecondaryColor": "255;255;255", + "SideLength": 24, + "LineWidth": 5, + "BorderThickness": 2, + "HaloRadiusPressed": 0 + } + ], + "fillOpacity": 255, + "outlineSize": 1, + "outlineOpacity": 255, + "fillColor": { + "b": 255, + "g": 255, + "r": 255 + }, + "outlineColor": { + "b": 0, + "g": 0, + "r": 0 + }, + "absoluteCoordinates": false, + "clearBetweenFrames": true + }, + { + "assetStoreId": "", + "name": "ExponentialCooling_Checkbox", + "tags": "", + "type": "PrimitiveDrawing::Drawer", + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Checkbox", + "type": "Checkbox::Checkbox", + "Checked": true, + "HaloRadiusHover": 0, + "HaloOpacityHover": 128, + "HaloOpacityClick": 196, + "Enabled": true, + "IsBeingPressed": false, + "NeedRedraw": true, + "IsHovered": false, + "CurrentHaloRadius": 0, + "HaloGrowSpeed": 0.3, + "TargetHaloRadius": 0, + "ToggleChanged": false, + "PrimaryColor": " 24;119;211", + "SecondaryColor": "255;255;255", + "SideLength": 24, + "LineWidth": 5, "BorderThickness": 2, "HaloRadiusPressed": 0 } @@ -11549,7 +11939,150 @@ "value": "Checkbox::Checkbox::IsChecked" }, "parameters": [ - "UnlimitedAmmo_Checkbox", + "UnlimitedAmmo_Checkbox", + "Checkbox", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetUnlimitedAmmo" + }, + "parameters": [ + "Wesley", + "FireBullet", + "yes", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "Checkbox::Checkbox::IsChecked" + }, + "parameters": [ + "UnlimitedAmmo_Checkbox", + "Checkbox", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetUnlimitedAmmo" + }, + "parameters": [ + "Wesley", + "FireBullet", + "no", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Checkbox::Checkbox::IsChecked" + }, + "parameters": [ + "AutomaticReloading_Checkbox", + "Checkbox", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetAutomaticReload" + }, + "parameters": [ + "Wesley", + "FireBullet", + "yes", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "Checkbox::Checkbox::IsChecked" + }, + "parameters": [ + "AutomaticReloading_Checkbox", + "Checkbox", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetAutomaticReload" + }, + "parameters": [ + "Wesley", + "FireBullet", + "no", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Checkbox::Checkbox::IsChecked" + }, + "parameters": [ + "ExponentialCooling_Checkbox", + "Checkbox", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetExponentialCooling" + }, + "parameters": [ + "Wesley", + "FireBullet", + "yes", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "Checkbox::Checkbox::IsChecked" + }, + "parameters": [ + "ExponentialCooling_Checkbox", "Checkbox", "" ] @@ -11558,12 +12091,12 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetUnlimitedAmmo" + "value": "FireBullet::FireBullet::SetExponentialCooling" }, "parameters": [ "Wesley", "FireBullet", - "yes", + "no", "" ] } @@ -11571,28 +12104,38 @@ }, { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "conditions": [], + "actions": [ { "type": { - "inverted": true, - "value": "Checkbox::Checkbox::IsChecked" + "value": "FireBullet::FireBullet::SetShotsPerReload" }, "parameters": [ - "UnlimitedAmmo_Checkbox", - "Checkbox", + "Wesley", + "FireBullet", + "ShotsPerReload_Slider.DraggableSliderControl::Value()", "" ] - } - ], - "actions": [ + }, { "type": { - "value": "FireBullet::FireBullet::SetUnlimitedAmmo" + "value": "FireBullet::FireBullet::SetMaxAmmo" }, "parameters": [ "Wesley", "FireBullet", - "no", + "MaxAmmo_Slider.DraggableSliderControl::Value()", + "" + ] + }, + { + "type": { + "value": "FireBullet::FireBullet::SetReloadDuration" + }, + "parameters": [ + "Wesley", + "FireBullet", + "ReloadDuration_Slider.DraggableSliderControl::Value()", "" ] } @@ -11603,24 +12146,28 @@ "conditions": [ { "type": { - "value": "Checkbox::Checkbox::IsChecked" + "value": "MouseButtonPressed" }, "parameters": [ - "AutomaticReloading_Checkbox", - "Checkbox", - "" + "", + "Right" ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] } ], "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetAutomaticReload" + "value": "FireBullet::FireBullet::ReloadAmmo" }, "parameters": [ "Wesley", "FireBullet", - "yes", "" ] } @@ -11628,28 +12175,27 @@ }, { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "conditions": [], + "actions": [ { "type": { - "inverted": true, - "value": "Checkbox::Checkbox::IsChecked" + "value": "DraggableSliderControl::DraggableSliderControl::SetValueMax" }, "parameters": [ - "AutomaticReloading_Checkbox", - "Checkbox", + "Ammo_ResourceBar", + "DraggableSliderControl", + "Wesley.FireBullet::MaxAmmo()", "" ] - } - ], - "actions": [ + }, { "type": { - "value": "FireBullet::FireBullet::SetAutomaticReload" + "value": "DraggableSliderControl::DraggableSliderControl::SetValue" }, "parameters": [ - "Wesley", - "FireBullet", - "no", + "Ammo_ResourceBar", + "DraggableSliderControl", + "Wesley.FireBullet::AmmoQuantity()", "" ] } @@ -11661,45 +12207,74 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetShotsPerReload" + "value": "DraggableSliderControl::DraggableSliderControl::SetValueMax" }, "parameters": [ - "Wesley", - "FireBullet", - "ShotsPerReload_Slider.DraggableSliderControl::Value()", + "Reload_ResourceBar", + "DraggableSliderControl", + "Wesley.FireBullet::ShotsPerReload()", "" ] }, { "type": { - "value": "FireBullet::FireBullet::SetMaxAmmo" + "value": "DraggableSliderControl::DraggableSliderControl::SetValue" + }, + "parameters": [ + "Reload_ResourceBar", + "DraggableSliderControl", + "Wesley.FireBullet::ShotsBeforeNextReload()", + "" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 224, + "colorG": 16, + "colorR": 189, + "creationTime": 0, + "name": "Overheat", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetOverheatDuration" }, "parameters": [ "Wesley", "FireBullet", - "MaxAmmo_Slider.DraggableSliderControl::Value()", + "OverheatDuration_Slider.DraggableSliderControl::Value()", "" ] }, { "type": { - "value": "FireBullet::FireBullet::SetReloadDuration" + "value": "FireBullet::FireBullet::SetHeatPerShot" }, "parameters": [ "Wesley", "FireBullet", - "ReloadDuration_Slider.DraggableSliderControl::Value()", + "HeatPerShot_Slider.DraggableSliderControl::Value()", "" ] }, { "type": { - "value": "FireBullet::FireBullet::SetOverheatDuration" + "value": "FireBullet::FireBullet::SetCoolingRate" }, "parameters": [ "Wesley", "FireBullet", - "OverheatDuration_Slider.DraggableSliderControl::Value()", + "CoolingPerSecond_Slider.DraggableSliderControl::Value()", "" ] } @@ -11707,31 +12282,44 @@ }, { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "conditions": [], + "actions": [ { "type": { - "value": "MouseButtonPressed" + "value": "DraggableSliderControl::DraggableSliderControl::SetValue" }, "parameters": [ - "", - "Right" + "Heat_ResourceBar", + "DraggableSliderControl", + "Wesley.FireBullet::HeatLevel()", + "" ] - }, + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ { "type": { - "value": "BuiltinCommonInstructions::Once" + "value": "DraggableSliderControl::DraggableSliderControl::SetValueMax" }, - "parameters": [] - } - ], - "actions": [ + "parameters": [ + "OverheatTimeLeft_ResourceBar", + "DraggableSliderControl", + "Wesley.FireBullet::OverheatDuration()", + "" + ] + }, { "type": { - "value": "FireBullet::FireBullet::ReloadAmmo" + "value": "DraggableSliderControl::DraggableSliderControl::SetValue" }, "parameters": [ - "Wesley", - "FireBullet", + "OverheatTimeLeft_ResourceBar", + "DraggableSliderControl", + "Wesley.FireBullet::OverheatTimeLeft()", "" ] } @@ -14248,7 +14836,7 @@ "parameters": [ "HeatPerShot_Text", "=", - "\"Heat per shot: \" + ToString(roundTo(Wesley.FireBullet::HeatIncreasePerShot()))" + "\"Heat per shot: \" + ToString(roundTo(Wesley.FireBullet::HeatIncreasePerShot(),3))" ] }, { @@ -14258,7 +14846,7 @@ "parameters": [ "CoolingPerSecond_Text", "=", - "\"Cooling rate: \" + ToString(roundTo(Wesley.FireBullet::CoolingRate()))" + "\"Cooling rate: \" + ToString(roundTo(Wesley.FireBullet::CoolingRate(),3))" ] } ] @@ -14612,6 +15200,15 @@ "Overheated_Text", "" ] + }, + { + "type": { + "value": "Montre" + }, + "parameters": [ + "OverheatTimeLeft_ResourceBar", + "" + ] } ] }, @@ -14638,6 +15235,14 @@ "parameters": [ "Overheated_Text" ] + }, + { + "type": { + "value": "Cache" + }, + "parameters": [ + "OverheatTimeLeft_ResourceBar" + ] } ] } @@ -18189,7 +18794,7 @@ }, { "author": "Tristan Rhodes (https://victrisgames.itch.io/), D8H", - "category": "Input", + "category": "User interface", "description": "Draws a draggable slider that users can move to select a numerical value.\nThe value range, tick spacing, and the appearance of the slider can be defined with properties.\n\nHow to use:\n- Add this behavior a **Shape Painter** object\n- Place an instance of that shape painter on the screen where you want the slider to appear\n- Use the \"Value\" expression to find the Value based on the position of the slider\n\nTips:\n- You can disable the slider to prevent a user from interacting with it\n- You can set the Value of the slider and the slider will move to the correct position\n\nFurther details can be found in [this tutorial video](https://youtu.be/iiTUwdAT_hs).\n\nBreaking changes (1.0.0)\n- Track thickness and length properties replaced track width and height. These 2 properties must be set again if they were different from the default size.\n- Hidden sliders can be dragged. The \"enable\" action must be used to disable them.\n", "extensionNamespace": "", "fullName": "Draggable slider", @@ -18198,7 +18803,7 @@ "name": "DraggableSliderControl", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/Line Hero Pack/Master/SVG/UI Essentials/UI Essentials_sliders_options.svg", "shortDescription": "A draggable slider that users can move to select a numerical value.", - "version": "1.0.3", + "version": "1.0.5", "origin": { "identifier": "DraggableSliderControl", "name": "gdevelop-extension-store" @@ -20267,41 +20872,161 @@ ] }, { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Set the proper offset (it moves the slider)", - "comment2": "" + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Set the proper offset (it moves the slider)", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbOffset" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::PropertyTrackLength() * (Object.Behavior::PropertyValue() - Object.Behavior::PropertyValueMin()) / (Object.Behavior::PropertyValueMax() - Object.Behavior::PropertyValueMin())" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Slider value", + "longDescription": "", + "name": "Value", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "The minimum value of a slider.", + "fullName": "Slider minimum value", + "functionType": "Expression", + "group": "Slider value configuration", + "name": "ValueMin", + "private": false, + "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyValueMin()" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Change the minimum value of a slider.", + "fullName": "Slider minimum value", + "functionType": "Action", + "group": "Slider value configuration", + "name": "SetValueMin", + "private": false, + "sentence": "Change the minimum value of _PARAM0_: _PARAM2_", + "events": [ { "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbOffset" + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValueMin" }, "parameters": [ "Object", "Behavior", "=", - "Object.Behavior::PropertyTrackLength() * (Object.Behavior::PropertyValue() - Object.Behavior::PropertyValueMin()) / (Object.Behavior::PropertyValueMax() - Object.Behavior::PropertyValueMin())" + "GetArgumentAsNumber(\"ValueMin\")" ] }, { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + "value": "DraggableSliderControl::DraggableSliderControl::SetValue" }, "parameters": [ "Object", "Behavior", - "yes" + "Object.Behavior::Value()", + "" ] } ] @@ -20331,9 +21056,9 @@ { "codeOnly": false, "defaultValue": "", - "description": "Slider value", + "description": "Minimum value", "longDescription": "", - "name": "Value", + "name": "ValueMin", "optional": false, "supplementaryInformation": "", "type": "expression" @@ -20342,11 +21067,11 @@ "objectGroups": [] }, { - "description": "The minimum value of a slider.", - "fullName": "Slider minimum value", + "description": "The maximum value of a slider.", + "fullName": "Slider maximum value", "functionType": "Expression", "group": "Slider value configuration", - "name": "ValueMin", + "name": "ValueMax", "private": false, "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", "events": [ @@ -20359,7 +21084,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyValueMin()" + "Object.Behavior::PropertyValueMax()" ] } ] @@ -20390,11 +21115,11 @@ "objectGroups": [] }, { - "description": "Change the maximum value of a slider.", - "fullName": "Slider maximum value", - "functionType": "Action", - "group": "Slider value configuration", - "name": "SetValueMin", + "description": "Thickness of track.", + "fullName": "Slider track thickness", + "functionType": "Expression", + "group": "Slider track configuration", + "name": "TrackThickness", "private": false, "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", "events": [ @@ -20404,24 +21129,10 @@ "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValueMin" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"ValueMin\")" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetValue" + "value": "SetReturnNumber" }, "parameters": [ - "Object", - "Behavior", - "Object.Behavior::Value()", - "" + "Object.Behavior::PropertyTrackThickness()" ] } ] @@ -20447,26 +21158,64 @@ "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Length of track.", + "fullName": "Slider track length", + "functionType": "Expression", + "group": "Slider track configuration", + "name": "TrackLength", + "private": false, + "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyTrackLength()" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" }, { "codeOnly": false, "defaultValue": "", - "description": "Minimum value", + "description": "Behavior", "longDescription": "", - "name": "ValueMin", + "name": "Behavior", "optional": false, - "supplementaryInformation": "", - "type": "expression" + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" } ], "objectGroups": [] }, { - "description": "The maximum value of a slider.", - "fullName": "Slider maximum value", + "description": "Height of thumb.", + "fullName": "Slider thumb height", "functionType": "Expression", - "group": "Slider value configuration", - "name": "ValueMax", + "group": "Slider thumb configuration", + "name": "ThumbHeight", "private": false, "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", "events": [ @@ -20479,7 +21228,7 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyValueMax()" + "Object.Behavior::PropertyThumbHeight()" ] } ] @@ -20510,13 +21259,13 @@ "objectGroups": [] }, { - "description": "Change the minimum value of a slider.", - "fullName": "Slider minimum value", + "description": "Change the maximum value of a slider.", + "fullName": "Slider maximum value", "functionType": "Action", "group": "Slider value configuration", "name": "SetValueMax", "private": false, - "sentence": "Change the minimum value of _PARAM0_: _PARAM2_", + "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -20718,7 +21467,7 @@ "group": "Slider track configuration", "name": "SetTrackLength", "private": false, - "sentence": "Change track length of _PARAM0_ to _PARAM2_px", + "sentence": "Change track length of _PARAM0_ to _PARAM2_ px", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -20829,7 +21578,7 @@ "group": "Slider track configuration", "name": "SetTrackThickness", "private": false, - "sentence": "Change track thickness of _PARAM0_ to _PARAM2_px", + "sentence": "Change track thickness of _PARAM0_ to _PARAM2_ px", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -20971,7 +21720,7 @@ "group": "Slider thumb configuration", "name": "SetThumbWidth", "private": false, - "sentence": "Change thumb width of _PARAM0_ to _PARAM2_px", + "sentence": "Change thumb width of _PARAM0_ to _PARAM2_ px", "events": [ { "type": "BuiltinCommonInstructions::Comment", @@ -21071,7 +21820,7 @@ "group": "Slider thumb configuration", "name": "SetThumbHeight", "private": false, - "sentence": "Change thumb height of _PARAM0_ to _PARAM2_px", + "sentence": "Change thumb height of _PARAM0_ to _PARAM2_ px", "events": [ { "type": "BuiltinCommonInstructions::Comment", @@ -21109,12 +21858,154 @@ "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::UpdateHitbox" + "value": "DraggableSliderControl::DraggableSliderControl::UpdateHitbox" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Thumb height", + "longDescription": "", + "name": "Value", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change radius of the halo around the thumb. This size is also used to detect interaction with the slider.", + "fullName": "Halo radius", + "functionType": "Action", + "group": "Slider thumb configuration", + "name": "SetHaloRadius", + "private": false, + "sentence": "Change halo radius of _PARAM0_ to _PARAM2_ px", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyHaloRadius" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Halo radius", + "longDescription": "", + "name": "Value", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change the halo opacity when the thumb is hovered.", + "fullName": "Halo opacity (hover)", + "functionType": "Action", + "group": "Slider thumb configuration", + "name": "SetHaloOpacityHover", + "private": false, + "sentence": "Change the halo opacity when hovered of _PARAM0_ to _PARAM2_ px", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyHaloOpacityHover" }, "parameters": [ "Object", "Behavior", - "" + "=", + "GetArgumentAsNumber(\"Value\")" ] }, { @@ -21154,7 +22045,7 @@ { "codeOnly": false, "defaultValue": "", - "description": "Thumb height", + "description": "Halo opacity (hover)", "longDescription": "", "name": "Value", "optional": false, @@ -21165,13 +22056,13 @@ "objectGroups": [] }, { - "description": "Change radius of the halo around the thumb. This size is also used to detect interaction with the slider.", - "fullName": "Halo radius", + "description": "Change opacity of halo when pressed.", + "fullName": "Halo opacity (pressed)", "functionType": "Action", "group": "Slider thumb configuration", - "name": "SetHaloRadius", + "name": "SetHaloOpacityPressed", "private": false, - "sentence": "Change halo radius of _PARAM0_ to _PARAM2_px", + "sentence": "Change halo opacity when pressed of _PARAM0_ to _PARAM2_ px", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -21179,7 +22070,7 @@ "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyHaloRadius" + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyHaloOpacityClick" }, "parameters": [ "Object", @@ -21225,7 +22116,7 @@ { "codeOnly": false, "defaultValue": "", - "description": "Halo radius", + "description": "Halo opacity (pressed)", "longDescription": "", "name": "Value", "optional": false, @@ -22280,7 +23171,12 @@ "fire", "bullet", "spawn", - "firerate" + "firerate", + "reload", + "weapon", + "ranged", + "ammo", + "overheat" ], "authorIds": [ "wWP8BSlAW0UP4NeaHa2LcmmDzmH2", @@ -22519,16 +23415,61 @@ ] } ], - "actions": [ + "actions": [], + "events": [ { - "type": { - "value": "FireBullet::FireBullet::SetPropertyHeatLevel" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "max(0, Object.Behavior::PropertyHeatLevel() - TimeDelta() * Object.Behavior::PropertyHeatCoolingRate())" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "FireBullet::FireBullet::PropertyExponentialCooling" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyHeatLevel" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "max(0, Object.Behavior::PropertyHeatLevel() - TimeDelta() * Object.Behavior::PropertyHeatCoolingRate())" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::PropertyExponentialCooling" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyHeatLevel" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "max(0, Object.Behavior::PropertyHeatLevel() - TimeDelta() * Object.Behavior::PropertyHeatCoolingRate() * Object.Behavior::PropertyHeatLevel())" + ] + } ] } ] @@ -22867,12 +23808,13 @@ }, { "type": { - "value": "FireBullet::FireBullet::IsOverheated" + "value": "FireBullet::FireBullet::PropertyHeatLevel" }, "parameters": [ "Object", "Behavior", - "" + ">=", + "1" ] } ], @@ -24070,7 +25012,7 @@ { "codeOnly": false, "defaultValue": "yes", - "description": "Rotate bullet to match trajetory", + "description": "Unlimited ammo", "longDescription": "", "name": "UnlimitedAmmo", "optional": true, @@ -24701,7 +25643,92 @@ { "codeOnly": false, "defaultValue": "yes", - "description": "Enable automatic reloading?", + "description": "Enable automatic reloading", + "longDescription": "", + "name": "Value", + "optional": true, + "supplementaryInformation": "", + "type": "yesorno" + } + ], + "objectGroups": [] + }, + { + "description": "Enable (or disable) exponential cooling.", + "fullName": "Enable (or disable) exponential cooling", + "functionType": "Action", + "group": "Ammo", + "name": "SetExponentialCooling", + "private": false, + "sentence": "Enable exponential cooling on _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyExponentialCooling" + }, + "parameters": [ + "Object", + "Behavior", + "=" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "GetArgumentAsBoolean" + }, + "parameters": [ + "\"Value\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyExponentialCooling" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "yes", + "description": "Enable exponential cooling", "longDescription": "", "name": "Value", "optional": true, @@ -26039,6 +27066,88 @@ ], "objectGroups": [] }, + { + "description": "Check if exponential cooling is enabled.", + "fullName": "Is exponential cooling enabled?", + "functionType": "Condition", + "group": "Ammo", + "name": "IsExponentialCoolingEnabled", + "private": false, + "sentence": "Exponential cooling is enabled on_PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "False" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::PropertyExponentialCooling" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Exponential Cooling enabled", + "longDescription": "", + "name": "Value", + "optional": false, + "supplementaryInformation": "", + "type": "yesorno" + } + ], + "objectGroups": [] + }, { "description": "Check if ammo is unlimited.", "fullName": "Is ammo unlimited", @@ -26320,7 +27429,7 @@ "Object", "Behavior", ">=", - "1" + "1 - Object.Behavior::HeatIncreasePerShot()" ] }, { @@ -26676,6 +27785,16 @@ "extraInformation": [], "hidden": false, "name": "OverheatDuration" + }, + { + "value": "true", + "type": "Boolean", + "label": "Exponential cooling (cooling is faster when heat is higher)", + "description": "", + "group": "Overheat", + "extraInformation": [], + "hidden": false, + "name": "ExponentialCooling" } ] } From 810958766f3076e91703542486d02763997a0288 Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Sat, 15 Oct 2022 14:24:07 -0600 Subject: [PATCH 06/22] Fixed a bug in triggering overheat duration --- examples/fire-bullet/fire-bullet.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/fire-bullet/fire-bullet.json b/examples/fire-bullet/fire-bullet.json index 5dd8c44bd..98f389fb2 100644 --- a/examples/fire-bullet/fire-bullet.json +++ b/examples/fire-bullet/fire-bullet.json @@ -23814,7 +23814,7 @@ "Object", "Behavior", ">=", - "1" + "1 - Object.Behavior::HeatIncreasePerShot()" ] } ], From 5aa99ab182a0ddc24ca4afc2fd85903b88072b4c Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Sat, 15 Oct 2022 20:22:40 -0600 Subject: [PATCH 07/22] Updated description, added ID variables to each bullet --- examples/fire-bullet/fire-bullet.json | 152 +++++++++++++++++++++++--- 1 file changed, 134 insertions(+), 18 deletions(-) diff --git a/examples/fire-bullet/fire-bullet.json b/examples/fire-bullet/fire-bullet.json index 98f389fb2..d59677498 100644 --- a/examples/fire-bullet/fire-bullet.json +++ b/examples/fire-bullet/fire-bullet.json @@ -23154,14 +23154,14 @@ { "author": "@4ian", "category": "", - "description": "Fire bullets, manage ammo, reloading, and overheating mechanics.\n\n- Cooldown: Time between shots (seconds)\n- Bullet Quantity: Number of bullets created for each shot\n- Angle Variance: Each bullet trajectory will be adjusted by a random value within this range (degrees)\n- Firing Arc: Range of angles (in degrees) that bullets will shoot. Bullets are evenly spread within this range.\n- Rotate bullet: Change angle of bullet to match the direction it is travelling (enabled by default)\n", + "description": "Fire bullets, manage ammo, reloading, and overheat mechanics.\n\nFiring bullets:\n- Cooldown: Time between shots (seconds)\n- Bullet Quantity: Number of bullets created each time Fire Bullet action is used. \n- Angle Variance: Each bullet trajectory will be adjusted by a random value within this range (degrees)\n- Firing Arc: Range of angles (in degrees) that bullets will shoot. Bullets are evenly spread within this range.\n- Rotate bullet: Change the angle of each bullet to match the direction it is travelling (enabled by default)\n\n Ammo:\n- Starting ammo\n- Max ammo\n- Shots per reload. Use 0 to disable reloading\n- Reload duration\n- Automatic reloading is enabled by default, but it can also be done manually.\n\nOverheat:\n- Heat increase per shot. Overheat is reached when another shot would cause heat to go above 1.\n- Cooling rate per second. By default, this rate changes exponentially based on current heat value.\n- When overheated, the object cannot fire any bullets\n\nBullets:\n- Each bullet is assigned several variables that can be used for advanced object picking\n- __FireBullet.BulletID = Unique number for every bullet created\n- __FireBullet.BatchID = Unique number for all bullets created in the same frame\n- __FireBullet.BatchOrderID = Unique number for each bullet in the same batch. Can be used to identify the position in the firing arc.", "extensionNamespace": "", "fullName": "Fire bullets", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWJ1bGxldCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xNCwyMkgxMFYyMUgxNFYyMk0xMywxMFY3SDExVjEwTDEwLDExLjVWMjBIMTRWMTEuNUwxMywxME0xMiwyQzEyLDIgMTEsMyAxMSw1VjZIMTNWNUMxMyw1IDEzLDMgMTIsMloiIC8+PC9zdmc+", "name": "FireBullet", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/bullet.svg", - "shortDescription": "Fire bullets, manage ammo, reloading, and overheating mechanics.", + "shortDescription": "Fire bullets, manage ammo, reloading, and overheat mechanics.", "version": "0.3.0", "origin": { "identifier": "FireBullet", @@ -24133,6 +24133,58 @@ } ], "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Add identifier variables (to enable advanced picking by users)", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Bullet", + "__FireBullet.BulletID", + "=", + "Object.Behavior::PropertyTotalBulletsCreated()" + ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Bullet", + "__FireBullet.BatchID", + "=", + "Object.Behavior::PropertyTotalShotsFired()" + ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Bullet", + "__FireBullet.BatchOrderID", + "=", + "0" + ] + } + ] + }, { "type": "BuiltinCommonInstructions::Comment", "color": { @@ -24233,14 +24285,25 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyCurrentBulletAngle" + "value": "ModVarObjet" }, "parameters": [ "Object", - "Behavior", + "__FireBullet.CurrentBulletAngle", "=", "GetArgumentAsNumber(\"Angle\") - Object.Behavior::PropertyFiringArc()/2" ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__FireBullet.BatchOrderID", + "=", + "0" + ] } ], "events": [ @@ -24267,13 +24330,65 @@ }, "parameters": [ "Bullet", - "Object.Behavior::PropertyCurrentBulletAngle() + RandomInRange(-Object.Behavior::PropertyAngleVariance(),Object.Behavior::PropertyAngleVariance())", + "Object.Variable(__FireBullet.CurrentBulletAngle) + RandomInRange(-Object.Behavior::PropertyAngleVariance(),Object.Behavior::PropertyAngleVariance())", "GetArgumentAsNumber(\"Speed\")", "1" ] } ], "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Add identifier variables (to enable advanced picking by users)", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Bullet", + "__FireBullet.BulletID", + "=", + "Object.Behavior::PropertyTotalBulletsCreated()" + ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Bullet", + "__FireBullet.BatchID", + "=", + "Object.Behavior::PropertyTotalShotsFired()" + ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Bullet", + "__FireBullet.BatchOrderID", + "=", + "Object.Variable(__FireBullet.BatchOrderID)" + ] + } + ] + }, { "type": "BuiltinCommonInstructions::Comment", "color": { @@ -24338,7 +24453,7 @@ "parameters": [ "Bullet", "=", - "Object.Behavior::PropertyCurrentBulletAngle()" + "Object.Variable(__FireBullet.CurrentBulletAngle)" ] } ] @@ -24362,14 +24477,25 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyCurrentBulletAngle" + "value": "ModVarObjet" }, "parameters": [ "Object", - "Behavior", + "__FireBullet.CurrentBulletAngle", "+", "Object.Behavior::PropertyFiringArc() / (Object.Behavior::PropertyBulletQuantity() - 1)" ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__FireBullet.BatchOrderID", + "+", + "1" + ] } ] } @@ -27616,16 +27742,6 @@ "hidden": false, "name": "RotateBullet" }, - { - "value": "0", - "type": "Number", - "label": "Current bullet angle (Used for multishot)", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "CurrentBulletAngle" - }, { "value": "0", "type": "Number", From 4d35274cb5fa736b489b3472f97a7c80e56a9517 Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Sat, 15 Oct 2022 20:52:34 -0600 Subject: [PATCH 08/22] Minor description updates --- examples/fire-bullet/fire-bullet.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/examples/fire-bullet/fire-bullet.json b/examples/fire-bullet/fire-bullet.json index d59677498..fc063a433 100644 --- a/examples/fire-bullet/fire-bullet.json +++ b/examples/fire-bullet/fire-bullet.json @@ -23154,7 +23154,7 @@ { "author": "@4ian", "category": "", - "description": "Fire bullets, manage ammo, reloading, and overheat mechanics.\n\nFiring bullets:\n- Cooldown: Time between shots (seconds)\n- Bullet Quantity: Number of bullets created each time Fire Bullet action is used. \n- Angle Variance: Each bullet trajectory will be adjusted by a random value within this range (degrees)\n- Firing Arc: Range of angles (in degrees) that bullets will shoot. Bullets are evenly spread within this range.\n- Rotate bullet: Change the angle of each bullet to match the direction it is travelling (enabled by default)\n\n Ammo:\n- Starting ammo\n- Max ammo\n- Shots per reload. Use 0 to disable reloading\n- Reload duration\n- Automatic reloading is enabled by default, but it can also be done manually.\n\nOverheat:\n- Heat increase per shot. Overheat is reached when another shot would cause heat to go above 1.\n- Cooling rate per second. By default, this rate changes exponentially based on current heat value.\n- When overheated, the object cannot fire any bullets\n\nBullets:\n- Each bullet is assigned several variables that can be used for advanced object picking\n- __FireBullet.BulletID = Unique number for every bullet created\n- __FireBullet.BatchID = Unique number for all bullets created in the same frame\n- __FireBullet.BatchOrderID = Unique number for each bullet in the same batch. Can be used to identify the position in the firing arc.", + "description": "Fire bullets, manage ammo, reloading, and overheat mechanics.\n\nFiring bullets:\n- Cooldown: Time between shots (seconds)\n- Bullet Quantity: Number of bullets created each time Fire Bullet action is used. \n- Angle Variance: Each bullet trajectory will be adjusted by a random value within this range (degrees)\n- Firing Arc: Range of angles (in degrees) that bullets will shoot. Bullets are evenly spread within this range.\n- Rotate bullet: Change the angle of each bullet to match the direction it is travelling (enabled by default)\n\n Ammo:\n- Starting ammo\n- Max ammo\n- Shots per reload. Use 0 to disable reloading\n- Reload duration\n- Automatic reloading is enabled by default, but it can also be done manually.\n\nOverheat:\n- Heat increase per shot. Overheat is reached when another shot would cause heat to go above 1.\n- Cooling rate per second. By default, this rate changes exponentially based on current heat value.\n- When overheated, the object cannot fire any bullets\n\nStatistics:\n- Total bullets created\n- Total shots taken\n- Total reloads completed\n\nBullets:\n- Each bullet is assigned several variables that can be used for advanced object picking\n- __FireBullet.BulletID = Unique number for every bullet created\n- __FireBullet.BatchID = Unique number for all bullets created in the same frame\n- __FireBullet.BatchOrderID = Unique number for each bullet in the same batch. Can be used to identify the position in the firing arc.", "extensionNamespace": "", "fullName": "Fire bullets", "helpPath": "", @@ -23188,7 +23188,7 @@ "eventsFunctions": [], "eventsBasedBehaviors": [ { - "description": "Fire bullets, manage ammo, reloading, and overheating mechanics.", + "description": "Fire bullets, manage ammo, reloading, and overheat mechanics.", "fullName": "Fire Bullet", "name": "FireBullet", "objectType": "", @@ -26112,7 +26112,7 @@ "objectGroups": [] }, { - "description": "Heat level (Range: 0 to 1)", + "description": "Heat level (Range: 0 to 1).", "fullName": "Heat level", "functionType": "Expression", "group": "Overheat", @@ -27705,7 +27705,7 @@ { "value": "0", "type": "Number", - "label": "Firing arc (bullets are spread evenly inside)", + "label": "Firing arc (bullets will be evenly spaced inside)", "description": "", "group": "Shooting configuration", "extraInformation": [], @@ -27725,7 +27725,7 @@ { "value": "1", "type": "Number", - "label": "Number of bullets created with each shot (Evenly spaced inside the Firing Arc)", + "label": "Number of bullets created with each shot (bullets will be evenly spaced inside the Firing Arc)", "description": "", "group": "Shooting configuration", "extraInformation": [], @@ -27755,7 +27755,7 @@ { "value": "0", "type": "Number", - "label": "Shots per reload (Use 0 to disable)", + "label": "Shots per reload (Use 0 to disable reloading)", "description": "", "group": "Ammo", "extraInformation": [], @@ -27775,7 +27775,7 @@ { "value": "0", "type": "Number", - "label": "Max ammo (Use 0 to disable)", + "label": "Max ammo (Use \"0\" to disable restrictions on ammo capacity)", "description": "", "group": "Ammo", "extraInformation": [], @@ -27875,7 +27875,7 @@ { "value": "0", "type": "Number", - "label": "Rate of cooling per second (range: 0 to 1)", + "label": "Rate of cooling per second (Range: 0 to 1)", "description": "", "group": "Overheat", "extraInformation": [], From ca151260ed05934c60c462b3340b5de703c6ae27 Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Thu, 20 Oct 2022 18:04:16 -0600 Subject: [PATCH 09/22] Fixing problems from starting from a template instead of the branch authorIds, projectUuid, name, description --- examples/fire-bullet/fire-bullet.json | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/examples/fire-bullet/fire-bullet.json b/examples/fire-bullet/fire-bullet.json index fc063a433..0abd05211 100644 --- a/examples/fire-bullet/fire-bullet.json +++ b/examples/fire-bullet/fire-bullet.json @@ -12,14 +12,14 @@ "orientation": "landscape", "packageName": "com.example.firebullet", "pixelsRounding": false, - "projectUuid": "eee77fd2-d59a-4fe2-bb39-570a750e3bc7", + "projectUuid": "5ce85053-a1d7-43e5-96da-33738912109b", "scaleMode": "nearest", "sizeOnStartupMode": "", "templateSlug": "fire-bullet", "useExternalSourceFiles": false, "version": "1.0.0", - "name": "Determined Haircut (Fire bullet)", - "description": "Test the \"fire bullet\" extension using sliders to modify the rate of fire, accuracy, number of bullets, and firing arc.\n\nNow with ammo management, reloading, and overheating!", + "name": "Extension: Fire bullet", + "description": "Test the \"fire bullet\" extension using sliders to modify the rate of fire, accuracy, number of bullets, and firing arc.\n\nNow with ammo management, reloading, overheat mechanic, and collecting stats.", "author": "", "windowWidth": 1280, "windowHeight": 720, @@ -72,7 +72,11 @@ "showGDevelopSplash": true, "showProgressBar": true }, - "authorIds": [], + "authorIds": [ + "gqDaZjCfevOOxBYkK6zlhtZnXCg1", + "9MGDlUQAh8QUilno4JPycekjRCJ3", + "R0F5QGNCzgOY5w2cxGeKJOq2UaD2" + ], "categories": [ "action", "shooter" From 0d80e1d6c1707c8e44b3eef4938ab305765d4292 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 21 Oct 2022 00:06:57 +0000 Subject: [PATCH 10/22] Optimised images with calibre/image-actions --- .../assets/Treasure Chest_Closed.png | Bin 289 -> 200 bytes .../assets/Treasure Chest_Opening_1.png | Bin 380 -> 233 bytes .../assets/Treasure Chest_Opening_2.png | Bin 330 -> 222 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/examples/fire-bullet/assets/Treasure Chest_Closed.png b/examples/fire-bullet/assets/Treasure Chest_Closed.png index e1cd67a728418a924b2c30e64c547232808f2ea6..fd4a577ca1febf44475b130bcb29b831db02680f 100644 GIT binary patch delta 172 zcmV;d08{^=0>}Z7B!3BTNLh0L01FZT01FZU(%pXi0001bNkl&O3(f|YP$ko@B#8{n8&M-XlK3KbQc7-l(g2oUQCs`?)0 zAeuOUm=K_;0|q<<2w~&|NJ>H^Df@veLS~~UJaV!lNl}2!*Cp7pAk{-)G#d_@L`V)M aWIh031b+3&znQQA0000D>qO*1PGOUq+~ym9Y9R!N3$rPWg-Lsc6vp)-rV}q00000NkvXX Hu0mjfz4lP^ delta 353 zcmV-n0iOQp0sI1xB!2{FK}|sb0I`mI`%#ks00A>eL_t(YiN%yLYQr!ThJTxqIfK2# zMmm8B*-SF^241?Bp1@0cjAro(N>1P#WNCvp6MO=@X_hSQ(52A4P7+RNtf$0~2Ld6U z-v8C5o-mW zpx^H=)_Q-oD1%NFMSa@KwtDVr7q(n|doTMo73~vulth!bmFgdynF?)Gt)pXAJh`6IzPiyoif{Ucc98LKWE zU^?C#a}->=OT7UEi_(~*oL{iznEwC$MD26li00000NkvXXu0mjfJt3eO diff --git a/examples/fire-bullet/assets/Treasure Chest_Opening_2.png b/examples/fire-bullet/assets/Treasure Chest_Opening_2.png index b6919759caef37d97e0f2b792f108f546ba17397..ea6785af0dbb6a4863cc3b8d9cfa6513048e7f6e 100644 GIT binary patch delta 194 zcmV;z06qW80^R|TB!3BTNLh0L01FZT01FZU(%pXi0001xNklx<_5TLmO27L%noCpc|lvqr5HiQM|qhKX?a3cF2Bs-4oTSC4j%K^B88e5jb w7v~g(04|K2;0Pr;vK>GO(=-Zbk@#R30Pov5w#h`kxBvhE07*qoM6N<$g3pgoQvd(} delta 303 zcmV+~0nq;50m=f9B!2{FK}|sb0I`mI`%#ks0099>L_t(YiDUf#|3AY(0;U1Aoq>UY zg;E1#MCCDp@X70kjKu0^Bqs`xEq(OxGQ+d;`x&GR9T}dT-_KwXkcU+dE=Q3Z0y3iV z|4(d~1h+^|UKgu6n8T3uVRHn4u2^A@C&PWD3SwlsiBGk z2!#M4K=TlwxdRA=fc1hNh7$~sw16!U63m9!@;NzxqHOr+;bn%WafS@XE;6A6d9MH) zgO&b22I)oTQL-Ei;PN%e4q#wlU^sS>32rI6I4r)A3!xJmCJ|*W(GIZE|3^>_%yIa# z9oY_$UUZ(I8Yt@pJq!#C3=AiTww_1_;3{sZ0RVFlWO^`z2d@AC002ovPDHLkV1lrC BeeM7N From 563292b28036617f6f88c1870d25549b3c022d50 Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Thu, 20 Oct 2022 19:58:49 -0600 Subject: [PATCH 11/22] Applied Davy's review changes --- examples/fire-bullet/fire-bullet.json | 586 +++++++++++++++++--------- 1 file changed, 379 insertions(+), 207 deletions(-) diff --git a/examples/fire-bullet/fire-bullet.json b/examples/fire-bullet/fire-bullet.json index 0abd05211..5e288bf5e 100644 --- a/examples/fire-bullet/fire-bullet.json +++ b/examples/fire-bullet/fire-bullet.json @@ -1751,7 +1751,7 @@ "gridColor": 10401023, "gridAlpha": 0.8, "snap": true, - "zoomFactor": 0.6349999999999965, + "zoomFactor": 1.174999999999997, "windowMask": false }, "objectsGroups": [ @@ -2713,7 +2713,7 @@ "persistentUuid": "265a60d1-aeb9-470d-b56a-1080269ce44b", "width": 0, "x": 1024, - "y": 592, + "y": 576, "zOrder": 91, "numberProperties": [], "stringProperties": [], @@ -2728,7 +2728,7 @@ "persistentUuid": "1d2f8b85-2b8e-4742-94f2-3f1a56841d71", "width": 0, "x": 1008, - "y": 624, + "y": 608, "zOrder": 92, "numberProperties": [], "stringProperties": [], @@ -2818,7 +2818,7 @@ "persistentUuid": "de5cfe64-5d1e-4a6c-9888-f262ab8c3757", "width": 0, "x": 1024, - "y": 656, + "y": 640, "zOrder": 98, "numberProperties": [], "stringProperties": [], @@ -2833,7 +2833,7 @@ "persistentUuid": "bd745e29-9358-4de0-b9db-43fe34723fe6", "width": 0, "x": 1056, - "y": 656, + "y": 640, "zOrder": 99, "numberProperties": [], "stringProperties": [], @@ -2853,6 +2853,36 @@ "numberProperties": [], "stringProperties": [], "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "LinearCooling_Text", + "persistentUuid": "5276f966-3844-4ef6-ba69-7dd99ff01cc0", + "width": 0, + "x": 1056, + "y": 688, + "zOrder": 101, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "LinearCooling_Checkbox", + "persistentUuid": "2b406226-da49-49a1-9d74-1a2250ec5078", + "width": 0, + "x": 1024, + "y": 688, + "zOrder": 102, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] } ], "objects": [ @@ -10068,6 +10098,27 @@ "r": 255 } }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "LinearCooling_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Linear cooling", + "font": "", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, { "assetStoreId": "", "bold": true, @@ -11281,6 +11332,53 @@ "absoluteCoordinates": false, "clearBetweenFrames": true }, + { + "assetStoreId": "", + "name": "LinearCooling_Checkbox", + "tags": "", + "type": "PrimitiveDrawing::Drawer", + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Checkbox", + "type": "Checkbox::Checkbox", + "Checked": true, + "HaloRadiusHover": 0, + "HaloOpacityHover": 128, + "HaloOpacityClick": 196, + "Enabled": true, + "IsBeingPressed": false, + "NeedRedraw": true, + "IsHovered": false, + "CurrentHaloRadius": 0, + "HaloGrowSpeed": 0.3, + "TargetHaloRadius": 0, + "ToggleChanged": false, + "PrimaryColor": " 24;119;211", + "SecondaryColor": "255;255;255", + "SideLength": 24, + "LineWidth": 5, + "BorderThickness": 2, + "HaloRadiusPressed": 0 + } + ], + "fillOpacity": 255, + "outlineSize": 1, + "outlineOpacity": 255, + "fillColor": { + "b": 255, + "g": 255, + "r": 255 + }, + "outlineColor": { + "b": 0, + "g": 0, + "r": 0 + }, + "absoluteCoordinates": false, + "clearBetweenFrames": true + }, { "assetStoreId": "df3d5e6bbf65733b6aa4daae9ae041ffc6de3eb61d89f15830d49ad1e1e9b781", "name": "TreasureChest", @@ -12050,61 +12148,187 @@ ] }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Radio button logic", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ { - "type": { - "value": "Checkbox::Checkbox::IsChecked" - }, - "parameters": [ - "ExponentialCooling_Checkbox", - "Checkbox", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DepartScene" + }, + "parameters": [ + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Checkbox::Checkbox::SetChecked" + }, + "parameters": [ + "ExponentialCooling_Checkbox", + "Checkbox", + "yes", + "" + ] + }, + { + "type": { + "value": "Checkbox::Checkbox::SetChecked" + }, + "parameters": [ + "LinearCooling_Checkbox", + "Checkbox", + "no", + "" + ] + } ] - } - ], - "actions": [ + }, { - "type": { - "value": "FireBullet::FireBullet::SetExponentialCooling" - }, - "parameters": [ - "Wesley", - "FireBullet", - "yes", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Checkbox::Checkbox::IsBeingPressed" + }, + "parameters": [ + "ExponentialCooling_Checkbox", + "Checkbox", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Checkbox::Checkbox::SetChecked" + }, + "parameters": [ + "ExponentialCooling_Checkbox", + "Checkbox", + "yes", + "" + ] + }, + { + "type": { + "value": "Checkbox::Checkbox::SetChecked" + }, + "parameters": [ + "LinearCooling_Checkbox", + "Checkbox", + "no", + "" + ] + } ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + }, { - "type": { - "inverted": true, - "value": "Checkbox::Checkbox::IsChecked" - }, - "parameters": [ - "ExponentialCooling_Checkbox", - "Checkbox", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Checkbox::Checkbox::IsBeingPressed" + }, + "parameters": [ + "LinearCooling_Checkbox", + "Checkbox", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Checkbox::Checkbox::SetChecked" + }, + "parameters": [ + "LinearCooling_Checkbox", + "Checkbox", + "yes", + "" + ] + }, + { + "type": { + "value": "Checkbox::Checkbox::SetChecked" + }, + "parameters": [ + "ExponentialCooling_Checkbox", + "Checkbox", + "no", + "" + ] + } ] - } - ], - "actions": [ + }, { - "type": { - "value": "FireBullet::FireBullet::SetExponentialCooling" - }, - "parameters": [ - "Wesley", - "FireBullet", - "no", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Checkbox::Checkbox::IsChecked" + }, + "parameters": [ + "ExponentialCooling_Checkbox", + "Checkbox", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetExponentialCooling" + }, + "parameters": [ + "Wesley", + "FireBullet", + "\"Exponential\"", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Checkbox::Checkbox::IsChecked" + }, + "parameters": [ + "LinearCooling_Checkbox", + "Checkbox", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetExponentialCooling" + }, + "parameters": [ + "Wesley", + "FireBullet", + "\"Linear\"", + "" + ] + } ] } - ] + ], + "parameters": [] }, { "type": "BuiltinCommonInstructions::Standard", @@ -23426,12 +23650,13 @@ "conditions": [ { "type": { - "inverted": true, - "value": "FireBullet::FireBullet::PropertyExponentialCooling" + "value": "FireBullet::FireBullet::PropertyCoolingStyle" }, "parameters": [ "Object", - "Behavior" + "Behavior", + "=", + "\"Linear\"" ] } ], @@ -23454,11 +23679,13 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyExponentialCooling" + "value": "FireBullet::FireBullet::PropertyCoolingStyle" }, "parameters": [ "Object", - "Behavior" + "Behavior", + "=", + "\"Exponential\"" ] } ], @@ -25784,13 +26011,13 @@ "objectGroups": [] }, { - "description": "Enable (or disable) exponential cooling.", - "fullName": "Enable (or disable) exponential cooling", + "description": "Change the cooling style.", + "fullName": "Set cooling style", "functionType": "Action", - "group": "Ammo", + "group": "Overheat", "name": "SetExponentialCooling", "private": false, - "sentence": "Enable exponential cooling on _PARAM0_: _PARAM2_", + "sentence": "Set the cooling style of _PARAM0_ to _PARAM2_", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -25798,37 +26025,13 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyExponentialCooling" - }, - "parameters": [ - "Object", - "Behavior", - "=" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "GetArgumentAsBoolean" - }, - "parameters": [ - "\"Value\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::SetPropertyExponentialCooling" + "value": "FireBullet::FireBullet::SetPropertyCoolingStyle" }, "parameters": [ "Object", "Behavior", - "yes" + "=", + "GetArgumentAsString(\"CoolingStyle\")" ] } ] @@ -25857,13 +26060,13 @@ }, { "codeOnly": false, - "defaultValue": "yes", - "description": "Enable exponential cooling", + "defaultValue": "", + "description": "Cooling style", "longDescription": "", - "name": "Value", - "optional": true, - "supplementaryInformation": "", - "type": "yesorno" + "name": "CoolingStyle", + "optional": false, + "supplementaryInformation": "[\"Exponential\",\"Linear\"]", + "type": "stringWithSelector" } ], "objectGroups": [] @@ -26403,6 +26606,54 @@ ], "objectGroups": [] }, + { + "description": "Cooling style.", + "fullName": "Cooling style", + "functionType": "StringExpression", + "group": "Overheat", + "name": "CoolingStyle", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnString" + }, + "parameters": [ + "Object.Behavior::PropertyCoolingStyle()" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + } + ], + "objectGroups": [] + }, { "description": "Max ammo.", "fullName": "Max ammo", @@ -27196,88 +27447,6 @@ ], "objectGroups": [] }, - { - "description": "Check if exponential cooling is enabled.", - "fullName": "Is exponential cooling enabled?", - "functionType": "Condition", - "group": "Ammo", - "name": "IsExponentialCoolingEnabled", - "private": false, - "sentence": "Exponential cooling is enabled on_PARAM0_: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "False" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "FireBullet::FireBullet::PropertyExponentialCooling" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "codeOnly": false, - "defaultValue": "", - "description": "Object", - "longDescription": "", - "name": "Object", - "optional": false, - "supplementaryInformation": "", - "type": "object" - }, - { - "codeOnly": false, - "defaultValue": "", - "description": "Behavior", - "longDescription": "", - "name": "Behavior", - "optional": false, - "supplementaryInformation": "FireBullet::FireBullet", - "type": "behavior" - }, - { - "codeOnly": false, - "defaultValue": "", - "description": "Exponential Cooling enabled", - "longDescription": "", - "name": "Value", - "optional": false, - "supplementaryInformation": "", - "type": "yesorno" - } - ], - "objectGroups": [] - }, { "description": "Check if ammo is unlimited.", "fullName": "Is ammo unlimited", @@ -27709,8 +27878,8 @@ { "value": "0", "type": "Number", - "label": "Firing arc (bullets will be evenly spaced inside)", - "description": "", + "label": "Firing arc", + "description": "If Bullet Quantity is greater than 1, bullets will be evenly spaced inside the Firing Arc", "group": "Shooting configuration", "extraInformation": [], "hidden": false, @@ -27719,8 +27888,8 @@ { "value": "0", "type": "Number", - "label": "Angle variance (simulates imperfect aim) Range: 0 to 180 degrees", - "description": "", + "label": "Angle variance (simulates imperfect aim) ", + "description": "Range: 0 to 180 degrees", "group": "Shooting configuration", "extraInformation": [], "hidden": false, @@ -27729,8 +27898,8 @@ { "value": "1", "type": "Number", - "label": "Number of bullets created with each shot (bullets will be evenly spaced inside the Firing Arc)", - "description": "", + "label": "Number of bullets created at once", + "description": "Bullets will be evenly spaced inside the Firing Arc", "group": "Shooting configuration", "extraInformation": [], "hidden": false, @@ -27751,7 +27920,7 @@ "type": "Number", "label": "Ammo quantity (Current)", "description": "", - "group": "Ammo", + "group": "", "extraInformation": [], "hidden": true, "name": "AmmoQuantity" @@ -27759,8 +27928,8 @@ { "value": "0", "type": "Number", - "label": "Shots per reload (Use 0 to disable reloading)", - "description": "", + "label": "Shots per reload ", + "description": "Use 0 to disable reloading", "group": "Ammo", "extraInformation": [], "hidden": false, @@ -27779,8 +27948,8 @@ { "value": "0", "type": "Number", - "label": "Max ammo (Use \"0\" to disable restrictions on ammo capacity)", - "description": "", + "label": "Max ammo ", + "description": "Use \"0\" to disable restrictions on ammo capacity", "group": "Ammo", "extraInformation": [], "hidden": false, @@ -27789,9 +27958,9 @@ { "value": "0", "type": "Number", - "label": "", + "label": "Shots before next reload", "description": "", - "group": "Ammo", + "group": "", "extraInformation": [], "hidden": true, "name": "ShotsBeforeNextReload" @@ -27799,9 +27968,9 @@ { "value": "0", "type": "Number", - "label": "Shots fired (multi-bullet shots are considered one shot)", - "description": "", - "group": "Stats", + "label": "Shots fired", + "description": "Regardless of how many bullets are created, only 1 shot will be counted per frame.", + "group": "", "extraInformation": [], "hidden": true, "name": "TotalShotsFired" @@ -27809,9 +27978,9 @@ { "value": "0", "type": "Number", - "label": "Bullets created", + "label": "Total bullets created", "description": "", - "group": "Stats", + "group": "", "extraInformation": [], "hidden": true, "name": "TotalBulletsCreated" @@ -27819,7 +27988,7 @@ { "value": "0", "type": "Number", - "label": "StartingAmmo", + "label": "Starting ammo", "description": "", "group": "Ammo", "extraInformation": [], @@ -27829,9 +27998,9 @@ { "value": "0", "type": "Number", - "label": "", + "label": "Total reloads completed", "description": "", - "group": "Stats", + "group": "", "extraInformation": [], "hidden": true, "name": "TotalReloadsCompleted" @@ -27851,7 +28020,7 @@ "type": "Boolean", "label": "", "description": "", - "group": "Ammo", + "group": "", "extraInformation": [], "hidden": true, "name": "ReloadInProgress" @@ -27871,7 +28040,7 @@ "type": "Number", "label": "Heat level (Range: 0 to 1)", "description": "", - "group": "Overheat", + "group": "", "extraInformation": [], "hidden": true, "name": "HeatLevel" @@ -27879,7 +28048,7 @@ { "value": "0", "type": "Number", - "label": "Rate of cooling per second (Range: 0 to 1)", + "label": "Rate of cooling per second", "description": "", "group": "Overheat", "extraInformation": [], @@ -27899,22 +28068,25 @@ { "value": "0", "type": "Number", - "label": "Overheat duration (seconds) Shots cannot be fired during this time", - "description": "", + "label": "Overheat duration (seconds) ", + "description": "Shots will not be fired while overheat duration is active.", "group": "Overheat", "extraInformation": [], "hidden": false, "name": "OverheatDuration" }, { - "value": "true", - "type": "Boolean", - "label": "Exponential cooling (cooling is faster when heat is higher)", - "description": "", + "value": "Exponential", + "type": "Choice", + "label": "Cooling style", + "description": "Exponential cooling is faster when heat is high and slower when heat is low. ", "group": "Overheat", - "extraInformation": [], + "extraInformation": [ + "Linear", + "Exponential" + ], "hidden": false, - "name": "ExponentialCooling" + "name": "CoolingStyle" } ] } From 2bc77c8347664994fc925d95622f85a59af8d329 Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Thu, 20 Oct 2022 20:33:34 -0600 Subject: [PATCH 12/22] Applied HelperWesley's review changes --- examples/fire-bullet/fire-bullet.json | 143 +++++++++++++++++++++++--- 1 file changed, 126 insertions(+), 17 deletions(-) diff --git a/examples/fire-bullet/fire-bullet.json b/examples/fire-bullet/fire-bullet.json index 5e288bf5e..267446fdc 100644 --- a/examples/fire-bullet/fire-bullet.json +++ b/examples/fire-bullet/fire-bullet.json @@ -1751,7 +1751,7 @@ "gridColor": 10401023, "gridAlpha": 0.8, "snap": true, - "zoomFactor": 1.174999999999997, + "zoomFactor": 0.8949999999999967, "windowMask": false }, "objectsGroups": [ @@ -23583,17 +23583,6 @@ } ], "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::SetPropertyShotsBeforeNextReload" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Behavior::PropertyShotsPerReload()" - ] - }, { "type": { "value": "FireBullet::FireBullet::SetPropertyTotalReloadsCompleted" @@ -23615,6 +23604,78 @@ "no" ] } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::IsUnlimitedAmmo" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyShotsBeforeNextReload" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::PropertyShotsPerReload()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Only reload the amount of ammo available", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "FireBullet::FireBullet::IsUnlimitedAmmo" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyShotsBeforeNextReload" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "min(Object.Behavior::PropertyShotsPerReload(), Object.Behavior::PropertyAmmoQuantity())" + ] + } + ] + } ] } ], @@ -24828,17 +24889,20 @@ "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ + "conditions": [ { "type": { - "value": "ResetObjectTimer" + "inverted": true, + "value": "FireBullet::FireBullet::IsOutOfAmmo" }, "parameters": [ "Object", - "\"__FireBullet.ReloadingTimer\"" + "Behavior", + "" ] - }, + } + ], + "actions": [ { "type": { "value": "FireBullet::FireBullet::SetPropertyReloadInProgress" @@ -24848,6 +24912,15 @@ "Behavior", "yes" ] + }, + { + "type": { + "value": "ResetObjectTimer" + }, + "parameters": [ + "Object", + "\"__FireBullet.ReloadingTimer\"" + ] } ] } @@ -26138,6 +26211,42 @@ ] } ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::IsReloadNeeded" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + }, + { + "type": { + "value": "FireBullet::FireBullet::PropertyAutomaticReloading" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::ReloadAmmo" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ] } ], "parameters": [ From c55fb5a3c600425376c16b9f3e3397d258204566 Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Sat, 22 Oct 2022 12:47:44 -0600 Subject: [PATCH 13/22] Modified cooling so there is both linear and exponential values --- examples/fire-bullet/fire-bullet.json | 858 ++++++++++---------------- 1 file changed, 339 insertions(+), 519 deletions(-) diff --git a/examples/fire-bullet/fire-bullet.json b/examples/fire-bullet/fire-bullet.json index 267446fdc..2922f615a 100644 --- a/examples/fire-bullet/fire-bullet.json +++ b/examples/fire-bullet/fire-bullet.json @@ -1751,7 +1751,7 @@ "gridColor": 10401023, "gridAlpha": 0.8, "snap": true, - "zoomFactor": 0.8949999999999967, + "zoomFactor": 0.6549999999999965, "windowMask": false }, "objectsGroups": [ @@ -2062,7 +2062,7 @@ "persistentUuid": "1e029a1f-f6a4-4619-a8f0-716b3149a159", "width": 0, "x": 16, - "y": 160, + "y": 174, "zOrder": 50, "numberProperties": [], "stringProperties": [], @@ -2077,7 +2077,7 @@ "persistentUuid": "97dd542d-9c98-4833-861c-6d75530bbf68", "width": 0, "x": 32, - "y": 192, + "y": 206, "zOrder": 53, "numberProperties": [], "stringProperties": [], @@ -2092,7 +2092,7 @@ "persistentUuid": "eaf9372e-5db4-42b7-9999-2e898153e1dd", "width": 0, "x": 32, - "y": 544, + "y": 526, "zOrder": 54, "numberProperties": [], "stringProperties": [], @@ -2107,7 +2107,7 @@ "persistentUuid": "2c5011f2-0ac3-469a-a351-aab0ebaa1c3e", "width": 0, "x": 16, - "y": 505, + "y": 487, "zOrder": 55, "numberProperties": [], "stringProperties": [], @@ -2122,7 +2122,7 @@ "persistentUuid": "3e635cf0-26e8-4831-b4c8-9a6e43133970", "width": 0, "x": 16, - "y": 240, + "y": 254, "zOrder": 56, "numberProperties": [], "stringProperties": [], @@ -2137,7 +2137,7 @@ "persistentUuid": "3ed488ec-8ece-4730-99a7-ba46663d353b", "width": 0, "x": 32, - "y": 272, + "y": 286, "zOrder": 57, "numberProperties": [], "stringProperties": [], @@ -2152,7 +2152,7 @@ "persistentUuid": "4ba03852-fc70-414d-b10a-947780e9521f", "width": 0, "x": 32, - "y": 464, + "y": 446, "zOrder": 58, "numberProperties": [], "stringProperties": [], @@ -2167,7 +2167,7 @@ "persistentUuid": "ba5430f7-8f89-450a-91ff-d9eb43727c5b", "width": 0, "x": 16, - "y": 432, + "y": 414, "zOrder": 59, "numberProperties": [], "stringProperties": [], @@ -2197,7 +2197,7 @@ "persistentUuid": "b1aab9d0-e2be-4d5d-843e-21fba423ff48", "width": 0, "x": 16, - "y": 336, + "y": 350, "zOrder": 61, "numberProperties": [], "stringProperties": [], @@ -2212,7 +2212,7 @@ "persistentUuid": "7d9cd03f-7076-4f84-aa53-88032b8d8114", "width": 0, "x": 48, - "y": 336, + "y": 350, "zOrder": 62, "numberProperties": [], "stringProperties": [], @@ -2263,7 +2263,7 @@ "persistentUuid": "da4f1ef0-fb53-45ce-a485-8a2c5c52482f", "width": 0, "x": 1008, - "y": 73, + "y": 176, "zOrder": 64, "numberProperties": [], "stringProperties": [], @@ -2293,7 +2293,7 @@ "persistentUuid": "30511d02-cd6a-4c5e-9f33-b9c1f18a677b", "width": 0, "x": 1008, - "y": 153, + "y": 256, "zOrder": 66, "numberProperties": [], "stringProperties": [], @@ -2308,7 +2308,7 @@ "persistentUuid": "7cd4f8be-b947-43bb-b2fb-b21faf4e997c", "width": 0, "x": 1008, - "y": 224, + "y": 336, "zOrder": 67, "numberProperties": [], "stringProperties": [], @@ -2383,7 +2383,7 @@ "persistentUuid": "b23e6307-c517-4364-b1b6-be64d6c58914", "width": 0, "x": 16, - "y": 82, + "y": 96, "zOrder": 72, "numberProperties": [], "stringProperties": [], @@ -2398,7 +2398,7 @@ "persistentUuid": "636febea-90ac-41f5-b8a9-f2e62d7e52ed", "width": 0, "x": 1040, - "y": 18, + "y": 96, "zOrder": 73, "numberProperties": [], "stringProperties": [], @@ -2428,7 +2428,7 @@ "persistentUuid": "2f4daf29-06fc-4316-ac8e-5b0a38ce4bae", "width": 0, "x": 1008, - "y": 110, + "y": 213, "zOrder": 75, "numberProperties": [], "stringProperties": [], @@ -2443,7 +2443,7 @@ "persistentUuid": "b49995e8-9975-4f64-bd65-a81122fa6bad", "width": 0, "x": 1008, - "y": 190, + "y": 293, "zOrder": 67, "numberProperties": [], "stringProperties": [], @@ -2458,7 +2458,7 @@ "persistentUuid": "4ad4be89-c6a3-4317-a4c8-6ce54d42c4ac", "width": 0, "x": 1008, - "y": 261, + "y": 373, "zOrder": 67, "numberProperties": [], "stringProperties": [], @@ -2473,7 +2473,7 @@ "persistentUuid": "f71e5596-c0e7-4b77-ace2-387d77bfbb5a", "width": 0, "x": 1040, - "y": 288, + "y": 416, "zOrder": 67, "numberProperties": [], "stringProperties": [], @@ -2488,7 +2488,7 @@ "persistentUuid": "30060c4b-cd9d-4e61-9677-a5df92a0d6f5", "width": 0, "x": 1072, - "y": 288, + "y": 416, "zOrder": 67, "numberProperties": [], "stringProperties": [], @@ -2517,8 +2517,8 @@ "name": "Reloading_Text", "persistentUuid": "5ae96ea2-e3f0-45f4-baf2-ffb33a30fcfe", "width": 0, - "x": 336, - "y": 631, + "x": 576, + "y": 128, "zOrder": 80, "numberProperties": [], "stringProperties": [], @@ -2532,8 +2532,8 @@ "name": "ReadyToShoot_Text", "persistentUuid": "cd86038f-5eca-478e-bfdc-f0aa0c8304ea", "width": 0, - "x": 320, - "y": 560, + "x": 560, + "y": 64, "zOrder": 81, "numberProperties": [], "stringProperties": [], @@ -2547,8 +2547,8 @@ "name": "WaitingForFiringCooldown_Text", "persistentUuid": "f3ad2523-01c9-4e05-839f-ea83e8a329b6", "width": 0, - "x": 272, - "y": 599, + "x": 512, + "y": 96, "zOrder": 82, "numberProperties": [], "stringProperties": [], @@ -2562,8 +2562,8 @@ "name": "OutOfAmmo_Text", "persistentUuid": "8892694e-a295-402e-8789-d9dd87966bb1", "width": 0, - "x": 368, - "y": 185, + "x": 576, + "y": 80, "zOrder": 83, "numberProperties": [], "stringProperties": [], @@ -2593,7 +2593,7 @@ "persistentUuid": "4f9e536c-c2bf-4e7e-8d06-e133c8f702bd", "width": 0, "x": 1072, - "y": 338, + "y": 480, "zOrder": 67, "numberProperties": [], "stringProperties": [], @@ -2608,7 +2608,7 @@ "persistentUuid": "b2e98a44-f9e0-4634-bad0-2d61acd972e4", "width": 0, "x": 1040, - "y": 338, + "y": 480, "zOrder": 67, "numberProperties": [], "stringProperties": [], @@ -2652,8 +2652,8 @@ "name": "Overheated_Text", "persistentUuid": "6113262c-fd7b-497e-bfb0-84f8488b258a", "width": 0, - "x": 768, - "y": 617, + "x": 576, + "y": 64, "zOrder": 87, "numberProperties": [], "stringProperties": [], @@ -2667,8 +2667,8 @@ "name": "OverheatDuration_Text", "persistentUuid": "430afb53-e07e-44c0-80e4-9d5900139fa0", "width": 0, - "x": 992, - "y": 432, + "x": 336, + "y": 592, "zOrder": 88, "numberProperties": [], "stringProperties": [], @@ -2682,8 +2682,8 @@ "name": "OverheatDuration_Slider", "persistentUuid": "c50cc6db-f8dc-4680-b53d-30558f2505ca", "width": 0, - "x": 1008, - "y": 469, + "x": 352, + "y": 629, "zOrder": 89, "numberProperties": [], "stringProperties": [], @@ -2697,8 +2697,8 @@ "name": "HeatPerShot_Text", "persistentUuid": "c9fc7d59-e05c-4156-88e8-892ccefd2802", "width": 0, - "x": 1024, - "y": 512, + "x": 352, + "y": 656, "zOrder": 90, "numberProperties": [], "stringProperties": [], @@ -2712,8 +2712,8 @@ "name": "CoolingPerSecond_Text", "persistentUuid": "265a60d1-aeb9-470d-b56a-1080269ce44b", "width": 0, - "x": 1024, - "y": 576, + "x": 704, + "y": 592, "zOrder": 91, "numberProperties": [], "stringProperties": [], @@ -2724,11 +2724,11 @@ "customSize": false, "height": 0, "layer": "UI", - "name": "CoolingPerSecond_Slider", + "name": "LinearCoolingPerSecond_Slider", "persistentUuid": "1d2f8b85-2b8e-4742-94f2-3f1a56841d71", "width": 0, - "x": 1008, - "y": 608, + "x": 688, + "y": 624, "zOrder": 92, "numberProperties": [], "stringProperties": [], @@ -2742,8 +2742,8 @@ "name": "HeatPerShot_Slider", "persistentUuid": "2cc4e2cb-d2b1-4bb6-9d29-814acabb8d20", "width": 0, - "x": 1008, - "y": 544, + "x": 352, + "y": 688, "zOrder": 93, "numberProperties": [], "stringProperties": [], @@ -2757,8 +2757,8 @@ "name": "OverheatTitle_Text", "persistentUuid": "2a7d9ba7-e6ae-4241-8e98-0d48443baa3c", "width": 0, - "x": 1040, - "y": 384, + "x": 384, + "y": 544, "zOrder": 94, "numberProperties": [], "stringProperties": [], @@ -2809,21 +2809,6 @@ "stringProperties": [], "initialVariables": [] }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "UI", - "name": "ExponentialCooling_Checkbox", - "persistentUuid": "de5cfe64-5d1e-4a6c-9888-f262ab8c3757", - "width": 0, - "x": 1024, - "y": 640, - "zOrder": 98, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, { "angle": 0, "customSize": false, @@ -2832,8 +2817,8 @@ "name": "ExponentialCooling_Text", "persistentUuid": "bd745e29-9358-4de0-b9db-43fe34723fe6", "width": 0, - "x": 1056, - "y": 640, + "x": 704, + "y": 656, "zOrder": 99, "numberProperties": [], "stringProperties": [], @@ -2848,7 +2833,7 @@ "persistentUuid": "50d15b25-e741-40ae-97aa-283aeaeb5c49", "width": 0, "x": 704, - "y": 592, + "y": 496, "zOrder": 100, "numberProperties": [], "stringProperties": [], @@ -2859,30 +2844,15 @@ "customSize": false, "height": 0, "layer": "UI", - "name": "LinearCooling_Text", - "persistentUuid": "5276f966-3844-4ef6-ba69-7dd99ff01cc0", + "name": "ExponentialCoolingPerSecond_Slider", + "persistentUuid": "e462454a-e6e3-4aa9-9750-1d599724f750", "width": 0, - "x": 1056, + "x": 688, "y": 688, "zOrder": 101, "numberProperties": [], "stringProperties": [], "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "UI", - "name": "LinearCooling_Checkbox", - "persistentUuid": "2b406226-da49-49a1-9d74-1a2250ec5078", - "width": 0, - "x": 1024, - "y": 688, - "zOrder": 102, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] } ], "objects": [ @@ -9858,7 +9828,7 @@ "variables": [], "effects": [], "behaviors": [], - "string": "Cooling per second: 0.12", + "string": "Linear Cooling rate: 0.12", "font": "", "characterSize": 20, "color": { @@ -10089,7 +10059,7 @@ "variables": [], "effects": [], "behaviors": [], - "string": "Exponential cooling", + "string": "Exponential cooling rate", "font": "", "characterSize": 20, "color": { @@ -10156,9 +10126,9 @@ "font": "", "characterSize": 20, "color": { - "b": 194, - "g": 227, - "r": 80 + "b": 62, + "g": 255, + "r": 4 } }, { @@ -10177,9 +10147,9 @@ "font": "", "characterSize": 20, "color": { - "b": 194, - "g": 227, - "r": 80 + "b": 62, + "g": 255, + "r": 4 } }, { @@ -10240,9 +10210,9 @@ "font": "", "characterSize": 20, "color": { - "b": 194, - "g": 227, - "r": 80 + "b": 62, + "g": 255, + "r": 4 } }, { @@ -10600,7 +10570,65 @@ }, { "assetStoreId": "", - "name": "CoolingPerSecond_Slider", + "name": "LinearCoolingPerSecond_Slider", + "tags": "", + "type": "PrimitiveDrawing::Drawer", + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "DraggableSliderControl", + "type": "DraggableSliderControl::DraggableSliderControl", + "ValueMin": 0, + "ValueMax": 1, + "TickSpacing": 0.01, + "ThumbShape": "circle", + "ThumbWidth": 20, + "ThumbHeight": 20, + "ThumbColor": "255;255;255", + "ThumbOpacity": 255, + "TrackLength": 200, + "TrackThickness": 4, + "InactiveTrackColor": "", + "InactiveTrackOpacity": 96, + "ActiveTrackColor": " ", + "ActiveTrackOpacity": 255, + "HaloRadius": 24, + "HaloOpacityHover": 32, + "HaloOpacityClick": 64, + "RoundedTrack": true, + "Enabled": true, + "IsBeingDragged": false, + "Value": 0, + "ThumbOffset": 0, + "NeedRedraw": true, + "IsHovered": false, + "MouseX": 0, + "MouseY": 0, + "CurrentHaloRadius": 0, + "HaloGrowSpeed": 0.2, + "TargetHaloRadius": 0 + } + ], + "fillOpacity": 255, + "outlineSize": 1, + "outlineOpacity": 255, + "fillColor": { + "b": 255, + "g": 255, + "r": 255 + }, + "outlineColor": { + "b": 0, + "g": 0, + "r": 0 + }, + "absoluteCoordinates": false, + "clearBetweenFrames": true + }, + { + "assetStoreId": "", + "name": "ExponentialCoolingPerSecond_Slider", "tags": "", "type": "PrimitiveDrawing::Drawer", "variables": [], @@ -11285,100 +11313,6 @@ "absoluteCoordinates": false, "clearBetweenFrames": true }, - { - "assetStoreId": "", - "name": "ExponentialCooling_Checkbox", - "tags": "", - "type": "PrimitiveDrawing::Drawer", - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "Checkbox", - "type": "Checkbox::Checkbox", - "Checked": true, - "HaloRadiusHover": 0, - "HaloOpacityHover": 128, - "HaloOpacityClick": 196, - "Enabled": true, - "IsBeingPressed": false, - "NeedRedraw": true, - "IsHovered": false, - "CurrentHaloRadius": 0, - "HaloGrowSpeed": 0.3, - "TargetHaloRadius": 0, - "ToggleChanged": false, - "PrimaryColor": " 24;119;211", - "SecondaryColor": "255;255;255", - "SideLength": 24, - "LineWidth": 5, - "BorderThickness": 2, - "HaloRadiusPressed": 0 - } - ], - "fillOpacity": 255, - "outlineSize": 1, - "outlineOpacity": 255, - "fillColor": { - "b": 255, - "g": 255, - "r": 255 - }, - "outlineColor": { - "b": 0, - "g": 0, - "r": 0 - }, - "absoluteCoordinates": false, - "clearBetweenFrames": true - }, - { - "assetStoreId": "", - "name": "LinearCooling_Checkbox", - "tags": "", - "type": "PrimitiveDrawing::Drawer", - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "Checkbox", - "type": "Checkbox::Checkbox", - "Checked": true, - "HaloRadiusHover": 0, - "HaloOpacityHover": 128, - "HaloOpacityClick": 196, - "Enabled": true, - "IsBeingPressed": false, - "NeedRedraw": true, - "IsHovered": false, - "CurrentHaloRadius": 0, - "HaloGrowSpeed": 0.3, - "TargetHaloRadius": 0, - "ToggleChanged": false, - "PrimaryColor": " 24;119;211", - "SecondaryColor": "255;255;255", - "SideLength": 24, - "LineWidth": 5, - "BorderThickness": 2, - "HaloRadiusPressed": 0 - } - ], - "fillOpacity": 255, - "outlineSize": 1, - "outlineOpacity": 255, - "fillColor": { - "b": 255, - "g": 255, - "r": 255 - }, - "outlineColor": { - "b": 0, - "g": 0, - "r": 0 - }, - "absoluteCoordinates": false, - "clearBetweenFrames": true - }, { "assetStoreId": "df3d5e6bbf65733b6aa4daae9ae041ffc6de3eb61d89f15830d49ad1e1e9b781", "name": "TreasureChest", @@ -12110,225 +12044,42 @@ "value": "FireBullet::FireBullet::SetAutomaticReload" }, "parameters": [ - "Wesley", - "FireBullet", - "yes", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "Checkbox::Checkbox::IsChecked" - }, - "parameters": [ - "AutomaticReloading_Checkbox", - "Checkbox", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::SetAutomaticReload" - }, - "parameters": [ - "Wesley", - "FireBullet", - "no", - "" - ] - } - ] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Radio button logic", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DepartScene" - }, - "parameters": [ - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "Checkbox::Checkbox::SetChecked" - }, - "parameters": [ - "ExponentialCooling_Checkbox", - "Checkbox", - "yes", - "" - ] - }, - { - "type": { - "value": "Checkbox::Checkbox::SetChecked" - }, - "parameters": [ - "LinearCooling_Checkbox", - "Checkbox", - "no", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "Checkbox::Checkbox::IsBeingPressed" - }, - "parameters": [ - "ExponentialCooling_Checkbox", - "Checkbox", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "Checkbox::Checkbox::SetChecked" - }, - "parameters": [ - "ExponentialCooling_Checkbox", - "Checkbox", - "yes", - "" - ] - }, - { - "type": { - "value": "Checkbox::Checkbox::SetChecked" - }, - "parameters": [ - "LinearCooling_Checkbox", - "Checkbox", - "no", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "Checkbox::Checkbox::IsBeingPressed" - }, - "parameters": [ - "LinearCooling_Checkbox", - "Checkbox", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "Checkbox::Checkbox::SetChecked" - }, - "parameters": [ - "LinearCooling_Checkbox", - "Checkbox", - "yes", - "" - ] - }, - { - "type": { - "value": "Checkbox::Checkbox::SetChecked" - }, - "parameters": [ - "ExponentialCooling_Checkbox", - "Checkbox", - "no", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "Checkbox::Checkbox::IsChecked" - }, - "parameters": [ - "ExponentialCooling_Checkbox", - "Checkbox", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::SetExponentialCooling" - }, - "parameters": [ - "Wesley", - "FireBullet", - "\"Exponential\"", - "" - ] - } + "Wesley", + "FireBullet", + "yes", + "" ] - }, + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "Checkbox::Checkbox::IsChecked" - }, - "parameters": [ - "LinearCooling_Checkbox", - "Checkbox", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::SetExponentialCooling" - }, - "parameters": [ - "Wesley", - "FireBullet", - "\"Linear\"", - "" - ] - } + "type": { + "inverted": true, + "value": "Checkbox::Checkbox::IsChecked" + }, + "parameters": [ + "AutomaticReloading_Checkbox", + "Checkbox", + "" ] } ], - "parameters": [] + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetAutomaticReload" + }, + "parameters": [ + "Wesley", + "FireBullet", + "no", + "" + ] + } + ] }, { "type": "BuiltinCommonInstructions::Standard", @@ -12497,12 +12248,23 @@ }, { "type": { - "value": "FireBullet::FireBullet::SetCoolingRate" + "value": "FireBullet::FireBullet::SetLinearCoolingRate" + }, + "parameters": [ + "Wesley", + "FireBullet", + "LinearCoolingPerSecond_Slider.DraggableSliderControl::Value()", + "" + ] + }, + { + "type": { + "value": "FireBullet::FireBullet::SetExponentialCoolingRate" }, "parameters": [ "Wesley", "FireBullet", - "CoolingPerSecond_Slider.DraggableSliderControl::Value()", + "ExponentialCoolingPerSecond_Slider.DraggableSliderControl::Value()", "" ] } @@ -15074,7 +14836,17 @@ "parameters": [ "CoolingPerSecond_Text", "=", - "\"Cooling rate: \" + ToString(roundTo(Wesley.FireBullet::CoolingRate(),3))" + "\"Linear cooling rate: \" + ToString(roundTo(Wesley.FireBullet::LinearCoolingRate(), 3))" + ] + }, + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "ExponentialCooling_Text", + "=", + "\"Exponential cooling rate: \" + ToString(roundTo(Wesley.FireBullet::ExponentialCoolingRate(), 3))" ] } ] @@ -23711,13 +23483,13 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyCoolingStyle" + "value": "FireBullet::FireBullet::PropertyLinearCoolingRate" }, "parameters": [ "Object", "Behavior", - "=", - "\"Linear\"" + ">", + "0" ] } ], @@ -23730,7 +23502,7 @@ "Object", "Behavior", "=", - "max(0, Object.Behavior::PropertyHeatLevel() - TimeDelta() * Object.Behavior::PropertyHeatCoolingRate())" + "max(0, Object.Behavior::PropertyHeatLevel() - TimeDelta() * Object.Behavior::PropertyLinearCoolingRate())" ] } ] @@ -23740,13 +23512,13 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyCoolingStyle" + "value": "FireBullet::FireBullet::PropertyExponentialCoolingRate" }, "parameters": [ "Object", "Behavior", - "=", - "\"Exponential\"" + ">", + "0" ] } ], @@ -23759,7 +23531,7 @@ "Object", "Behavior", "=", - "max(0, Object.Behavior::PropertyHeatLevel() - TimeDelta() * Object.Behavior::PropertyHeatCoolingRate() * Object.Behavior::PropertyHeatLevel())" + "max(0, Object.Behavior::PropertyHeatLevel() - TimeDelta() * Object.Behavior::PropertyExponentialCoolingRate() * Object.Behavior::PropertyHeatLevel())" ] } ] @@ -25453,8 +25225,8 @@ "objectGroups": [] }, { - "description": "Change the cooldown of the fire rate.", - "fullName": "Set cooldown", + "description": "Change the firing cooldown, which changes the rate of fire.", + "fullName": "Set firing cooldown", "functionType": "Action", "group": "Firing", "name": "SetCooldown", @@ -25520,7 +25292,7 @@ "group": "Ammo", "name": "SetReloadDuration", "private": false, - "sentence": "Set reload duration of _PARAM0_ to _PARAM2_ seconds", + "sentence": "Set the reload duration of _PARAM0_ to _PARAM2_ seconds", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -25581,7 +25353,7 @@ "group": "Overheat", "name": "SetOverheatDuration", "private": false, - "sentence": "Set overheat duration of _PARAM0_ to _PARAM2_ seconds", + "sentence": "Set the overheat duration of _PARAM0_ to _PARAM2_ seconds", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -25642,7 +25414,7 @@ "group": "Ammo", "name": "SetAmmoQuantity", "private": false, - "sentence": "Set ammo quantity of _PARAM0_ to _PARAM2_", + "sentence": "Set the ammo quantity of _PARAM0_ to _PARAM2_", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -25703,7 +25475,7 @@ "group": "Overheat", "name": "SetHeatPerShot", "private": false, - "sentence": "Set heat increase of _PARAM0_ to _PARAM2_ per shot", + "sentence": "Set the heat increase of _PARAM0_ to _PARAM2_ per shot", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -25757,67 +25529,6 @@ ], "objectGroups": [] }, - { - "description": "Change the rate of cooling.", - "fullName": "Set rate of cooling", - "functionType": "Action", - "group": "Overheat", - "name": "SetCoolingRate", - "private": false, - "sentence": "Set rate of cooling of _PARAM0_ to _PARAM2_ per second", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::SetPropertyHeatCoolingRate" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - } - ] - } - ], - "parameters": [ - { - "codeOnly": false, - "defaultValue": "", - "description": "Object", - "longDescription": "", - "name": "Object", - "optional": false, - "supplementaryInformation": "", - "type": "object" - }, - { - "codeOnly": false, - "defaultValue": "", - "description": "Behavior", - "longDescription": "", - "name": "Behavior", - "optional": false, - "supplementaryInformation": "FireBullet::FireBullet", - "type": "behavior" - }, - { - "codeOnly": false, - "defaultValue": "", - "description": "Heat cooling rate (per second)", - "longDescription": "", - "name": "Value", - "optional": false, - "supplementaryInformation": "", - "type": "expression" - } - ], - "objectGroups": [] - }, { "description": "Change the max ammo.", "fullName": "Set max ammo", @@ -25825,7 +25536,7 @@ "group": "Ammo", "name": "SetMaxAmmo", "private": false, - "sentence": "Set max ammo of _PARAM0_ to _PARAM2_", + "sentence": "Set the max ammo of _PARAM0_ to _PARAM2_", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -25915,7 +25626,7 @@ "group": "Ammo", "name": "SetShotsPerReload", "private": false, - "sentence": "Set shots per reload of _PARAM0_ to _PARAM2_", + "sentence": "Set the shots per reload of _PARAM0_ to _PARAM2_", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -26084,13 +25795,74 @@ "objectGroups": [] }, { - "description": "Change the cooling style.", - "fullName": "Set cooling style", + "description": "Change the linear rate of cooling.", + "fullName": "Set linear cooling rate", + "functionType": "Action", + "group": "Overheat", + "name": "SetLinearCoolingRate", + "private": false, + "sentence": "Set the linear cooling rate of _PARAM0_ to _PARAM2_ per second", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyLinearCoolingRate" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Heat cooling rate (per second)", + "longDescription": "", + "name": "Value", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change the exponential rate of cooling.", + "fullName": "Set exponential cooling rate", "functionType": "Action", "group": "Overheat", - "name": "SetExponentialCooling", + "name": "SetExponentialCoolingRate", "private": false, - "sentence": "Set the cooling style of _PARAM0_ to _PARAM2_", + "sentence": "Set the exponential cooling rate of _PARAM0_ to _PARAM2_", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -26098,13 +25870,13 @@ "actions": [ { "type": { - "value": "FireBullet::FireBullet::SetPropertyCoolingStyle" + "value": "FireBullet::FireBullet::SetPropertyExponentialCoolingRate" }, "parameters": [ "Object", "Behavior", "=", - "GetArgumentAsString(\"CoolingStyle\")" + "GetArgumentAsNumber(\"Value\")" ] } ] @@ -26134,12 +25906,12 @@ { "codeOnly": false, "defaultValue": "", - "description": "Cooling style", + "description": "Exponential cooling rate", "longDescription": "", - "name": "CoolingStyle", + "name": "Value", "optional": false, "supplementaryInformation": "[\"Exponential\",\"Linear\"]", - "type": "stringWithSelector" + "type": "expression" } ], "objectGroups": [] @@ -26668,11 +26440,11 @@ "objectGroups": [] }, { - "description": "Cooling rate per second.", - "fullName": "Cooling rate", + "description": "Linear cooling rate per second.", + "fullName": "Linear cooling rate", "functionType": "Expression", "group": "Overheat", - "name": "CoolingRate", + "name": "LinearCoolingRate", "private": false, "sentence": "", "events": [ @@ -26685,7 +26457,55 @@ "value": "SetReturnNumber" }, "parameters": [ - "Object.Behavior::PropertyHeatCoolingRate()" + "Object.Behavior::PropertyLinearCoolingRate()" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Exponential cooling rate per second.", + "fullName": "Exponential cooling rate", + "functionType": "Expression", + "group": "Overheat", + "name": "ExponentialCoolingRate", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyExponentialCoolingRate()" ] } ] @@ -26733,7 +26553,7 @@ "value": "SetReturnString" }, "parameters": [ - "Object.Behavior::PropertyCoolingStyle()" + "Object.Behavior::PropertyExponentialCoolingRate()" ] } ] @@ -27967,8 +27787,8 @@ { "value": "0.1", "type": "Number", - "label": "Cooldown, in seconds, before firing again", - "description": "", + "label": "Firing cooldown, in seconds", + "description": "Object cannot fire bullets while firing cooldown is active.", "group": "Shooting configuration", "extraInformation": [], "hidden": false, @@ -27997,8 +27817,8 @@ { "value": "0", "type": "Number", - "label": "Angle variance (simulates imperfect aim) ", - "description": "Range: 0 to 180 degrees", + "label": "Angle variance ", + "description": "Used to simulate imperfect aim (Range: 0 to 180 degrees)", "group": "Shooting configuration", "extraInformation": [], "hidden": false, @@ -28008,7 +27828,7 @@ "value": "1", "type": "Number", "label": "Number of bullets created at once", - "description": "Bullets will be evenly spaced inside the Firing Arc", + "description": "Multiple bullets will be evenly spaced inside the Firing Arc", "group": "Shooting configuration", "extraInformation": [], "hidden": false, @@ -28077,7 +27897,7 @@ { "value": "0", "type": "Number", - "label": "Shots fired", + "label": "Total shots fired", "description": "Regardless of how many bullets are created, only 1 shot will be counted per frame.", "group": "", "extraInformation": [], @@ -28154,16 +27974,6 @@ "hidden": true, "name": "HeatLevel" }, - { - "value": "0", - "type": "Number", - "label": "Rate of cooling per second", - "description": "", - "group": "Overheat", - "extraInformation": [], - "hidden": false, - "name": "HeatCoolingRate" - }, { "value": "true", "type": "Boolean", @@ -28185,17 +27995,27 @@ "name": "OverheatDuration" }, { - "value": "Exponential", - "type": "Choice", - "label": "Cooling style", - "description": "Exponential cooling is faster when heat is high and slower when heat is low. ", + "value": "0", + "type": "Number", + "label": "Linear cooling rate", + "description": "", + "group": "Overheat", + "extraInformation": [], + "hidden": false, + "name": "LinearCoolingRate" + }, + { + "value": "0", + "type": "Number", + "label": "Exponential cooling rate", + "description": "Exponential cooling happens faster when heat is high and slower when heat is low. ", "group": "Overheat", "extraInformation": [ "Linear", "Exponential" ], "hidden": false, - "name": "CoolingStyle" + "name": "ExponentialCoolingRate" } ] } From 844d5bc336d8db2240db0b9d1abfcdb40c024b1a Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Sat, 22 Oct 2022 21:36:34 -0600 Subject: [PATCH 14/22] Added RelativeBulletSpeed and applied review changes - Added Relative Bullet Speed (but it doesn't seem to be working) - Refactored fire bullet function to reduce duplicated code - Updated wording --- examples/fire-bullet/fire-bullet.json | 1752 +++++++++++++++---------- 1 file changed, 1030 insertions(+), 722 deletions(-) diff --git a/examples/fire-bullet/fire-bullet.json b/examples/fire-bullet/fire-bullet.json index 2922f615a..f4ae4187f 100644 --- a/examples/fire-bullet/fire-bullet.json +++ b/examples/fire-bullet/fire-bullet.json @@ -2322,7 +2322,7 @@ "name": "ShotsFired_Text", "persistentUuid": "ffa0a4a6-fce5-43a5-8d97-eb374d8e6d89", "width": 0, - "x": 288, + "x": 320, "y": 16, "zOrder": 68, "numberProperties": [], @@ -2337,7 +2337,7 @@ "name": "BulletsCreated_Text", "persistentUuid": "0aded219-40e6-4f58-b40f-c039c0c33d8a", "width": 0, - "x": 496, + "x": 528, "y": 16, "zOrder": 69, "numberProperties": [], @@ -2367,7 +2367,7 @@ "name": "ReloadsCompleted_Text", "persistentUuid": "4e97d38b-2fb5-4d98-9f8a-a366b0fa8af9", "width": 0, - "x": 736, + "x": 768, "y": 16, "zOrder": 71, "numberProperties": [], @@ -2853,6 +2853,36 @@ "numberProperties": [], "stringProperties": [], "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "RelativeBulletSpeed_Text", + "persistentUuid": "2519a318-609c-4596-a49f-63dffc80174c", + "width": 0, + "x": 48, + "y": 578, + "zOrder": 102, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "UI", + "name": "RelativeBulletSpeed_Checkbox", + "persistentUuid": "90d01712-42ee-4207-88fa-44f3e2eaf2a2", + "width": 0, + "x": 16, + "y": 592, + "zOrder": 103, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] } ], "objects": [ @@ -9963,6 +9993,27 @@ "r": 255 } }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "RelativeBulletSpeed_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Adjust bullet speed \nbased on shooter speed", + "font": "", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, { "assetStoreId": "", "bold": true, @@ -11219,6 +11270,53 @@ "absoluteCoordinates": false, "clearBetweenFrames": true }, + { + "assetStoreId": "", + "name": "RelativeBulletSpeed_Checkbox", + "tags": "", + "type": "PrimitiveDrawing::Drawer", + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Checkbox", + "type": "Checkbox::Checkbox", + "Checked": true, + "HaloRadiusHover": 0, + "HaloOpacityHover": 128, + "HaloOpacityClick": 196, + "Enabled": true, + "IsBeingPressed": false, + "NeedRedraw": true, + "IsHovered": false, + "CurrentHaloRadius": 0, + "HaloGrowSpeed": 0.3, + "TargetHaloRadius": 0, + "ToggleChanged": false, + "PrimaryColor": " 24;119;211", + "SecondaryColor": "255;255;255", + "SideLength": 24, + "LineWidth": 5, + "BorderThickness": 2, + "HaloRadiusPressed": 0 + } + ], + "fillOpacity": 255, + "outlineSize": 1, + "outlineOpacity": 255, + "fillColor": { + "b": 255, + "g": 255, + "r": 255 + }, + "outlineColor": { + "b": 0, + "g": 0, + "r": 0 + }, + "absoluteCoordinates": false, + "clearBetweenFrames": true + }, { "assetStoreId": "", "name": "UnlimitedAmmo_Checkbox", @@ -11833,6 +11931,17 @@ "1", "" ] + }, + { + "type": { + "value": "Checkbox::Checkbox::SetChecked" + }, + "parameters": [ + "RelativeBulletSpeed_Checkbox", + "Checkbox", + "no", + "" + ] } ] }, @@ -12081,6 +12190,63 @@ } ] }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Checkbox::Checkbox::IsChecked" + }, + "parameters": [ + "RelativeBulletSpeed_Checkbox", + "Checkbox", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetRelativeBulletSpeed" + }, + "parameters": [ + "Wesley", + "FireBullet", + "yes", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "Checkbox::Checkbox::IsChecked" + }, + "parameters": [ + "RelativeBulletSpeed_Checkbox", + "Checkbox", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetRelativeBulletSpeed" + }, + "parameters": [ + "Wesley", + "FireBullet", + "no", + "" + ] + } + ] + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [], @@ -13352,7 +13518,6 @@ "colorG": 176, "colorR": 74, "creationTime": 0, - "folded": true, "name": "Dash", "source": "", "type": "BuiltinCommonInstructions::Group", @@ -23154,7 +23319,7 @@ { "author": "@4ian", "category": "", - "description": "Fire bullets, manage ammo, reloading, and overheat mechanics.\n\nFiring bullets:\n- Cooldown: Time between shots (seconds)\n- Bullet Quantity: Number of bullets created each time Fire Bullet action is used. \n- Angle Variance: Each bullet trajectory will be adjusted by a random value within this range (degrees)\n- Firing Arc: Range of angles (in degrees) that bullets will shoot. Bullets are evenly spread within this range.\n- Rotate bullet: Change the angle of each bullet to match the direction it is travelling (enabled by default)\n\n Ammo:\n- Starting ammo\n- Max ammo\n- Shots per reload. Use 0 to disable reloading\n- Reload duration\n- Automatic reloading is enabled by default, but it can also be done manually.\n\nOverheat:\n- Heat increase per shot. Overheat is reached when another shot would cause heat to go above 1.\n- Cooling rate per second. By default, this rate changes exponentially based on current heat value.\n- When overheated, the object cannot fire any bullets\n\nStatistics:\n- Total bullets created\n- Total shots taken\n- Total reloads completed\n\nBullets:\n- Each bullet is assigned several variables that can be used for advanced object picking\n- __FireBullet.BulletID = Unique number for every bullet created\n- __FireBullet.BatchID = Unique number for all bullets created in the same frame\n- __FireBullet.BatchOrderID = Unique number for each bullet in the same batch. Can be used to identify the position in the firing arc.", + "description": "Fire bullets, manage ammo, reloading, and overheat mechanics.\n\nFiring bullets:\n- Cooldown: Time between shots (seconds)\n- Bullet Quantity: Number of bullets created each time Fire Bullet action is used. \n- Angle Variance: Each bullet trajectory will be adjusted by a random value within this range (degrees)\n- Firing Arc: Range of angles (in degrees) that bullets will shoot. Bullets are evenly spread within this range.\n- Rotate bullet: Change the angle of each bullet to match the direction it is travelling (enabled by default)\n\n Ammo:\n- Starting ammo\n- Max ammo\n- Shots per reload. Use 0 to disable reloading\n- Reload duration\n- Automatic reloading is enabled by default, but it can also be done manually.\n\nOverheat:\n- Heat increase per shot. Overheat is reached when another shot would cause heat to go above 1.\n- Cooling rate per second\n- When overheated, the object cannot fire any bullets\n\nStatistics:\n- Total bullets created\n- Total shots taken\n- Total reloads completed\n\nBullets:\n- Each bullet is assigned several variables that can be used for advanced object picking\n- __FireBullet.BulletID = Unique number for every bullet created\n- __FireBullet.BatchID = Unique number for all bullets created in the same frame\n- __FireBullet.BatchOrderID = Unique number for each bullet in the same batch. Can be used to identify the position in the firing arc.", "extensionNamespace": "", "fullName": "Fire bullets", "helpPath": "", @@ -23274,39 +23439,12 @@ "sentence": "", "events": [ { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Reset firing detection", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::SetPropertyHasJustFired" - }, - "parameters": [ - "Object", - "Behavior", - "=" - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, + "colorB": 224, + "colorG": 16, + "colorR": 189, "creationTime": 0, - "name": "Reload gun when needed", + "folded": true, + "name": "Take a shot (if triggered)", "source": "", "type": "BuiltinCommonInstructions::Group", "events": [ @@ -23320,7 +23458,7 @@ "textG": 0, "textR": 0 }, - "comment": "Detect when reload is completed", + "comment": "Creators can use the \"FireBullet\" action multiple times in a frame and it will be counted as a single \"shot\".", "comment2": "" }, { @@ -23328,299 +23466,25 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::IsReloadInProgress" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - }, - { - "type": { - "value": "CompareObjectTimer" - }, - "parameters": [ - "Object", - "\"__FireBullet.ReloadingTimer\"", - ">=", - "Object.Behavior::PropertyReloadDuration()" - ] - }, - { - "type": { - "value": "BuiltinCommonInstructions::Once" - }, - "parameters": [] - } - ], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::SetPropertyTotalReloadsCompleted" - }, - "parameters": [ - "Object", - "Behavior", - "+", - "1" - ] - }, - { - "type": { - "value": "FireBullet::FireBullet::SetPropertyReloadInProgress" + "value": "FireBullet::FireBullet::PropertyHasJustFired" }, "parameters": [ "Object", - "Behavior", - "no" + "Behavior" ] } ], + "actions": [], "events": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "FireBullet::FireBullet::IsUnlimitedAmmo" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::SetPropertyShotsBeforeNextReload" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Behavior::PropertyShotsPerReload()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Only reload the amount of ammo available", - "comment2": "" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "FireBullet::FireBullet::IsUnlimitedAmmo" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::SetPropertyShotsBeforeNextReload" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "min(Object.Behavior::PropertyShotsPerReload(), Object.Behavior::PropertyAmmoQuantity())" - ] - } - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Reduce heat level (based on cooling rate)", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Behavior::HeatLevel()", - ">", - "0" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "FireBullet::FireBullet::PropertyLinearCoolingRate" - }, - "parameters": [ - "Object", - "Behavior", - ">", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::SetPropertyHeatLevel" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "max(0, Object.Behavior::PropertyHeatLevel() - TimeDelta() * Object.Behavior::PropertyLinearCoolingRate())" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "FireBullet::FireBullet::PropertyExponentialCoolingRate" - }, - "parameters": [ - "Object", - "Behavior", - ">", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::SetPropertyHeatLevel" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "max(0, Object.Behavior::PropertyHeatLevel() - TimeDelta() * Object.Behavior::PropertyExponentialCoolingRate() * Object.Behavior::PropertyHeatLevel())" - ] - } - ] - } - ] - } - ], - "parameters": [] - } - ], - "parameters": [ - { - "codeOnly": false, - "defaultValue": "", - "description": "Object", - "longDescription": "", - "name": "Object", - "optional": false, - "supplementaryInformation": "", - "type": "object" - }, - { - "codeOnly": false, - "defaultValue": "", - "description": "Behavior", - "longDescription": "", - "name": "Behavior", - "optional": false, - "supplementaryInformation": "FireBullet::FireBullet", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "", - "fullName": "", - "functionType": "Action", - "group": "", - "name": "doStepPostEvents", - "private": false, - "sentence": "", - "events": [ - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Perform \"post-shooting\" logic", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "This logic happens after all events are executed in order to enable creators to use the \"FireBullet\" action multiple times in a frame and it will be treated as a single \"shot\".", - "comment2": "" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "FireBullet::FireBullet::PropertyHasJustFired" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [], - "events": [ - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Reset firing cooldown", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Reset firing cooldown", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ { "type": "BuiltinCommonInstructions::Standard", "conditions": [], @@ -23927,17 +23791,286 @@ } ], "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Reset firing detection", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyHasJustFired" + }, + "parameters": [ + "Object", + "Behavior", + "=" + ] + } + ] + } + ], + "parameters": [] } ] } ], "parameters": [] - } - ], - "parameters": [ + }, { - "codeOnly": false, - "defaultValue": "", + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "folded": true, + "name": "Reload gun when needed", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Detect when reload is completed", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::IsReloadInProgress" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + }, + { + "type": { + "value": "CompareObjectTimer" + }, + "parameters": [ + "Object", + "\"__FireBullet.ReloadingTimer\"", + ">=", + "Object.Behavior::PropertyReloadDuration()" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyTotalReloadsCompleted" + }, + "parameters": [ + "Object", + "Behavior", + "+", + "1" + ] + }, + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyReloadInProgress" + }, + "parameters": [ + "Object", + "Behavior", + "no" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::IsUnlimitedAmmo" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyShotsBeforeNextReload" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::PropertyShotsPerReload()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Only reload the amount of ammo available", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "FireBullet::FireBullet::IsUnlimitedAmmo" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyShotsBeforeNextReload" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "min(Object.Behavior::PropertyShotsPerReload(), Object.Behavior::PropertyAmmoQuantity())" + ] + } + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Reduce heat level (based on cooling rate)", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "Object.Behavior::HeatLevel()", + ">", + "0" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::PropertyExponentialCoolingRate" + }, + "parameters": [ + "Object", + "Behavior", + ">", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyHeatLevel" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "max(0, Object.Behavior::PropertyHeatLevel() - TimeDelta() * Object.Behavior::PropertyExponentialCoolingRate() * Object.Behavior::PropertyHeatLevel())" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::PropertyLinearCoolingRate" + }, + "parameters": [ + "Object", + "Behavior", + ">", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyHeatLevel" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "max(0, Object.Behavior::PropertyHeatLevel() - TimeDelta() * Object.Behavior::PropertyLinearCoolingRate())" + ] + } + ] + } + ] + } + ], + "parameters": [] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", "description": "Object", "longDescription": "", "name": "Object", @@ -23962,7 +24095,7 @@ "description": "Fire bullets toward a position.", "fullName": "Fire bullets toward a position", "functionType": "Action", - "group": "Firing", + "group": "", "name": "FireTowardPosition", "private": false, "sentence": "Fire _PARAM4_ from _PARAM0_, at position _PARAM2_; _PARAM3_, toward position _PARAM5_;_PARAM6_ with speed _PARAM7_ px/s", @@ -23972,7 +24105,7 @@ "colorG": 176, "colorR": 74, "creationTime": 0, - "name": "Calculate the trajectory angle and use the \"Fire\" bullet action", + "name": "Calculate the trajectory angle and use the \"Fire bullets\" action", "source": "", "type": "BuiltinCommonInstructions::Group", "events": [ @@ -24089,7 +24222,7 @@ "description": "Fire bullets in the direction of a given angle.", "fullName": "Fire bullets", "functionType": "Action", - "group": "Firing", + "group": "", "name": "Fire", "private": false, "sentence": "Fire _PARAM4_ from _PARAM0_, at position _PARAM2_; _PARAM3_, with angle _PARAM5_ and speed _PARAM6_ px/s", @@ -24117,37 +24250,19 @@ ] } ], - "actions": [], - "events": [ + "actions": [ { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 + "type": { + "value": "FireBullet::FireBullet::SetPropertyHasJustFired" }, - "comment": "Update \"HasJustFired\" property to trigger logic in PostEvents lifecycle function", - "comment2": "" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::SetPropertyHasJustFired" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } + "parameters": [ + "Object", + "Behavior", + "yes" ] - }, + } + ], + "events": [ { "colorB": 228, "colorG": 176, @@ -24174,148 +24289,17 @@ "actions": [ { "type": { - "value": "Create" + "value": "FireBullet::FireBullet::FireSingleBullet" }, "parameters": [ - "", - "Bullet", + "Object", + "Behavior", "GetArgumentAsNumber(\"XPosition\")", "GetArgumentAsNumber(\"YPosition\")", - "\"\"" - ] - }, - { - "type": { - "value": "AddForceAL" - }, - "parameters": [ "Bullet", - "GetArgumentAsNumber(\"Angle\") + RandomInRange(-Object.Behavior::PropertyAngleVariance(),Object.Behavior::PropertyAngleVariance())", + "GetArgumentAsNumber(\"Angle\")", "GetArgumentAsNumber(\"Speed\")", - "1" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Add identifier variables (to enable advanced picking by users)", - "comment2": "" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Bullet", - "__FireBullet.BulletID", - "=", - "Object.Behavior::PropertyTotalBulletsCreated()" - ] - }, - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Bullet", - "__FireBullet.BatchID", - "=", - "Object.Behavior::PropertyTotalShotsFired()" - ] - }, - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Bullet", - "__FireBullet.BatchOrderID", - "=", - "0" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Update statistics", - "comment2": "" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::SetPropertyTotalBulletsCreated" - }, - "parameters": [ - "Object", - "Behavior", - "+", - "1" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Rotate newly created bullet, if needed", - "comment2": "" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "FireBullet::FireBullet::PropertyRotateBullet" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetAngle" - }, - "parameters": [ - "Bullet", - "=", - "GetArgumentAsNumber(\"Angle\")" - ] - } + "" ] } ] @@ -24378,25 +24362,17 @@ "actions": [ { "type": { - "value": "Create" + "value": "FireBullet::FireBullet::FireSingleBullet" }, "parameters": [ - "", - "Bullet", + "Object", + "Behavior", "GetArgumentAsNumber(\"XPosition\")", "GetArgumentAsNumber(\"YPosition\")", - "\"\"" - ] - }, - { - "type": { - "value": "AddForceAL" - }, - "parameters": [ "Bullet", "Object.Variable(__FireBullet.CurrentBulletAngle) + RandomInRange(-Object.Behavior::PropertyAngleVariance(),Object.Behavior::PropertyAngleVariance())", "GetArgumentAsNumber(\"Speed\")", - "1" + "" ] } ], @@ -24411,7 +24387,7 @@ "textG": 0, "textR": 0 }, - "comment": "Add identifier variables (to enable advanced picking by users)", + "comment": "Move temp variable to the next angle a bullet will be sent", "comment2": "" }, { @@ -24423,140 +24399,19 @@ "value": "ModVarObjet" }, "parameters": [ - "Bullet", - "__FireBullet.BulletID", - "=", - "Object.Behavior::PropertyTotalBulletsCreated()" - ] - }, - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Bullet", - "__FireBullet.BatchID", - "=", - "Object.Behavior::PropertyTotalShotsFired()" + "Object", + "__FireBullet.CurrentBulletAngle", + "+", + "Object.Behavior::PropertyFiringArc() / (Object.Behavior::PropertyBulletQuantity() - 1)" ] }, { "type": { "value": "ModVarObjet" }, - "parameters": [ - "Bullet", - "__FireBullet.BatchOrderID", - "=", - "Object.Variable(__FireBullet.BatchOrderID)" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Update statistics", - "comment2": "" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "FireBullet::FireBullet::SetPropertyTotalBulletsCreated" - }, "parameters": [ "Object", - "Behavior", - "+", - "1" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Rotate newly created bullet, if needed", - "comment2": "" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "FireBullet::FireBullet::PropertyRotateBullet" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetAngle" - }, - "parameters": [ - "Bullet", - "=", - "Object.Variable(__FireBullet.CurrentBulletAngle)" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Move temp variable to the next angle a bullet will be sent", - "comment2": "" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__FireBullet.CurrentBulletAngle", - "+", - "Object.Behavior::PropertyFiringArc() / (Object.Behavior::PropertyBulletQuantity() - 1)" - ] - }, - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "Object", - "__FireBullet.BatchOrderID", + "__FireBullet.BatchOrderID", "+", "1" ] @@ -24650,11 +24505,331 @@ ], "objectGroups": [] }, + { + "description": "Fire a single bullet. This is only meant to be used inside the \"Fire bullet\" action.", + "fullName": "Fire a single bullet", + "functionType": "Action", + "group": "Firing", + "name": "FireSingleBullet", + "private": true, + "sentence": "Fire a single bullet _PARAM4_ from _PARAM0_, at position _PARAM2_; _PARAM3_, with angle _PARAM5_ and speed _PARAM6_ px/s", + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Fire a single bullet", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Create bullet", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Create" + }, + "parameters": [ + "", + "Bullet", + "GetArgumentAsNumber(\"XPosition\")", + "GetArgumentAsNumber(\"YPosition\")", + "\"\"" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Move bullet", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "AddForceAL" + }, + "parameters": [ + "Bullet", + "GetArgumentAsNumber(\"Angle\") + RandomInRange(-Object.Behavior::PropertyAngleVariance(),Object.Behavior::PropertyAngleVariance())", + "GetArgumentAsNumber(\"Speed\")", + "1" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Add the speed of the player to the bullet", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::PropertyRelativeBulletSpeed" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "AddForceXY" + }, + "parameters": [ + "Bullet", + "Object.ForceX()", + "Object.ForceY()", + "1" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Add identifier variables (to enable advanced picking by users)", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Bullet", + "__FireBullet.BulletID", + "=", + "Object.Behavior::PropertyTotalBulletsCreated()" + ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Bullet", + "__FireBullet.BatchID", + "=", + "Object.Behavior::PropertyTotalShotsFired()" + ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Bullet", + "__FireBullet.BatchOrderID", + "=", + "0" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Rotate newly created bullet, if needed", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::PropertyRotateBullet" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetAngle" + }, + "parameters": [ + "Bullet", + "=", + "GetArgumentAsNumber(\"Angle\")" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Update statistics", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyTotalBulletsCreated" + }, + "parameters": [ + "Object", + "Behavior", + "+", + "1" + ] + } + ] + } + ], + "parameters": [] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "X position, where to create the bullet", + "longDescription": "", + "name": "XPosition", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Y position, where to create the bullet", + "longDescription": "", + "name": "YPosition", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "The bullet object", + "longDescription": "", + "name": "Bullet", + "optional": false, + "supplementaryInformation": "", + "type": "objectList" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Angle of the bullet, in degrees", + "longDescription": "", + "name": "Angle", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Speed of the bullet, in pixels per second", + "longDescription": "", + "name": "Speed", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + } + ], + "objectGroups": [] + }, { "description": "Reload ammo.", "fullName": "Reload ammo", "functionType": "Action", - "group": "Ammo", + "group": "", "name": "ReloadAmmo", "private": false, "sentence": "Reload ammo on _PARAM0_", @@ -25224,6 +25399,101 @@ ], "objectGroups": [] }, + { + "description": "Adjust bullet speed based on speed of the shooter.", + "fullName": "Enable (or disable) relative bullet speed", + "functionType": "Action", + "group": "Ammo", + "name": "SetRelativeBulletSpeed", + "private": false, + "sentence": "Enable relative bullet speed on _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "GetArgumentAsBoolean" + }, + "parameters": [ + "\"UnlimitedAmmo\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyUnlimitedAmmo" + }, + "parameters": [ + "Object", + "Behavior", + "no" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "GetArgumentAsBoolean" + }, + "parameters": [ + "\"UnlimitedAmmo\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "FireBullet::FireBullet::SetPropertyUnlimitedAmmo" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "yes", + "description": "Unlimited ammo", + "longDescription": "", + "name": "UnlimitedAmmo", + "optional": true, + "supplementaryInformation": "", + "type": "yesorno" + } + ], + "objectGroups": [] + }, { "description": "Change the firing cooldown, which changes the rate of fire.", "fullName": "Set firing cooldown", @@ -25289,7 +25559,7 @@ "description": "Change the duration to reload ammo.", "fullName": "Set reload duration", "functionType": "Action", - "group": "Ammo", + "group": "Reload", "name": "SetReloadDuration", "private": false, "sentence": "Set the reload duration of _PARAM0_ to _PARAM2_ seconds", @@ -25623,7 +25893,7 @@ "description": "Change the number of shots per reload.", "fullName": "Set shots per reload", "functionType": "Action", - "group": "Ammo", + "group": "Reload", "name": "SetShotsPerReload", "private": false, "sentence": "Set the shots per reload of _PARAM0_ to _PARAM2_", @@ -25713,7 +25983,7 @@ "description": "Enable (or disable) automatic reloading.", "fullName": "Enable (or disable) automatic reloading", "functionType": "Action", - "group": "Ammo", + "group": "Reload", "name": "SetAutomaticReload", "private": false, "sentence": "Enable automatic reloading on _PARAM0_: _PARAM2_", @@ -26104,7 +26374,7 @@ "objectGroups": [] }, { - "description": "Angle variance in degrees.", + "description": "Angle variance, in degrees.", "fullName": "Angle variance", "functionType": "Expression", "group": "Firing", @@ -26152,7 +26422,7 @@ "objectGroups": [] }, { - "description": "Firing arc in degrees.", + "description": "Firing arc, in degrees.", "fullName": "Firing arc", "functionType": "Expression", "group": "Firing", @@ -26248,7 +26518,7 @@ "objectGroups": [] }, { - "description": "Firing cooldown in seconds.", + "description": "Firing cooldown, in seconds.", "fullName": "Firing cooldown", "functionType": "Expression", "group": "Firing", @@ -26296,7 +26566,7 @@ "objectGroups": [] }, { - "description": "Reload duration in seconds.", + "description": "Reload duration, in seconds.", "fullName": "Reload duration", "functionType": "Expression", "group": "Ammo", @@ -26344,7 +26614,7 @@ "objectGroups": [] }, { - "description": "Overheat duration in seconds.", + "description": "Overheat duration, in seconds.", "fullName": "Overheat duration", "functionType": "Expression", "group": "Overheat", @@ -26440,7 +26710,7 @@ "objectGroups": [] }, { - "description": "Linear cooling rate per second.", + "description": "Linear cooling rate, per second.", "fullName": "Linear cooling rate", "functionType": "Expression", "group": "Overheat", @@ -26488,7 +26758,7 @@ "objectGroups": [] }, { - "description": "Exponential cooling rate per second.", + "description": "Exponential cooling rate, per second.", "fullName": "Exponential cooling rate", "functionType": "Expression", "group": "Overheat", @@ -26535,54 +26805,6 @@ ], "objectGroups": [] }, - { - "description": "Cooling style.", - "fullName": "Cooling style", - "functionType": "StringExpression", - "group": "Overheat", - "name": "CoolingStyle", - "private": false, - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnString" - }, - "parameters": [ - "Object.Behavior::PropertyExponentialCoolingRate()" - ] - } - ] - } - ], - "parameters": [ - { - "codeOnly": false, - "defaultValue": "", - "description": "Object", - "longDescription": "", - "name": "Object", - "optional": false, - "supplementaryInformation": "", - "type": "object" - }, - { - "codeOnly": false, - "defaultValue": "", - "description": "Behavior", - "longDescription": "", - "name": "Behavior", - "optional": false, - "supplementaryInformation": "FireBullet::FireBullet", - "type": "behavior" - } - ], - "objectGroups": [] - }, { "description": "Max ammo.", "fullName": "Max ammo", @@ -26632,7 +26854,7 @@ "objectGroups": [] }, { - "description": "Shots fired (multi-bullet shots are considered one shot).", + "description": "Total shots fired (multi-bullet shots are considered one shot).", "fullName": "Shots fired", "functionType": "Expression", "group": "Stats", @@ -26680,7 +26902,7 @@ "objectGroups": [] }, { - "description": "Bullets created.", + "description": "Total bullets created.", "fullName": "Bullets created", "functionType": "Expression", "group": "Stats", @@ -26827,7 +27049,7 @@ "description": "Shots remaining before the next reload is required.", "fullName": "Shots before next reload", "functionType": "Expression", - "group": "Ammo", + "group": "Reload", "name": "ShotsBeforeNextReload", "private": false, "sentence": "", @@ -26875,7 +27097,7 @@ "description": "Shots per reload.", "fullName": "Shots per reload", "functionType": "Expression", - "group": "Ammo", + "group": "Reload", "name": "ShotsPerReload", "private": false, "sentence": "", @@ -27031,7 +27253,7 @@ "description": "Check if object is currently performing an ammo reload.", "fullName": "Is ammo reloading in progress", "functionType": "Condition", - "group": "Ammo", + "group": "Reload", "name": "IsReloadInProgress", "private": false, "sentence": "_PARAM0_ is reloading ammo", @@ -27295,13 +27517,13 @@ "objectGroups": [] }, { - "description": "Check if automatic reloading is enabled.", - "fullName": "Is automatic reloading enabled", + "description": "Check if bullet speed is adjusted based on the speed of the shooter.", + "fullName": "Is relative bullet speed enabled", "functionType": "Condition", - "group": "Ammo", - "name": "IsAutomaticReloadingEnabled", + "group": "Firing", + "name": "IsRelativeBulletSpeedEnabled", "private": false, - "sentence": "Automatic reloading is enabled on_PARAM0_: _PARAM2_", + "sentence": "Bullet speed is adjusted based on the speed of _PARAM0_", "events": [ { "type": "BuiltinCommonInstructions::Standard", @@ -27322,7 +27544,7 @@ "conditions": [ { "type": { - "value": "FireBullet::FireBullet::PropertyAutomaticReloading" + "value": "FireBullet::FireBullet::PropertyRelativeBulletSpeed" }, "parameters": [ "Object", @@ -27362,16 +27584,78 @@ "optional": false, "supplementaryInformation": "FireBullet::FireBullet", "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Check if automatic reloading is enabled.", + "fullName": "Is automatic reloading enabled", + "functionType": "Condition", + "group": "Reload", + "name": "IsAutomaticReloadingEnabled", + "private": false, + "sentence": "Automatic reloading is enabled on_PARAM0_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "False" + ] + } + ] }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::PropertyAutomaticReloading" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ { "codeOnly": false, "defaultValue": "", - "description": "Automatic reloading enabled", + "description": "Object", "longDescription": "", - "name": "Value", + "name": "Object", "optional": false, "supplementaryInformation": "", - "type": "yesorno" + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "FireBullet::FireBullet", + "type": "behavior" } ], "objectGroups": [] @@ -27383,8 +27667,22 @@ "group": "Ammo", "name": "IsUnlimitedAmmo", "private": false, - "sentence": "Ammo is unlimited on _PARAM0_", + "sentence": "_PARAM0_ has unlimited ammo", "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "False" + ] + } + ] + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ @@ -27523,7 +27821,7 @@ "description": "Check if object needs to reload ammo.", "fullName": "Is a reload needed", "functionType": "Condition", - "group": "Ammo", + "group": "Reload", "name": "IsReloadNeeded", "private": false, "sentence": "_PARAM0_ needs to reload ammo", @@ -27552,7 +27850,7 @@ "textG": 0, "textR": 0 }, - "comment": "Shots per reload has been changed from default and there are no shots left before reload", + "comment": "Shots per reload must not be \"0\"", "comment2": "" }, { @@ -27787,7 +28085,7 @@ { "value": "0.1", "type": "Number", - "label": "Firing cooldown, in seconds", + "label": "Firing cooldown (seconds)", "description": "Object cannot fire bullets while firing cooldown is active.", "group": "Shooting configuration", "extraInformation": [], @@ -27807,7 +28105,7 @@ { "value": "0", "type": "Number", - "label": "Firing arc", + "label": "Firing arc (degrees)", "description": "If Bullet Quantity is greater than 1, bullets will be evenly spaced inside the Firing Arc", "group": "Shooting configuration", "extraInformation": [], @@ -27817,7 +28115,7 @@ { "value": "0", "type": "Number", - "label": "Angle variance ", + "label": "Angle variance (degrees)", "description": "Used to simulate imperfect aim (Range: 0 to 180 degrees)", "group": "Shooting configuration", "extraInformation": [], @@ -27859,7 +28157,7 @@ "type": "Number", "label": "Shots per reload ", "description": "Use 0 to disable reloading", - "group": "Ammo", + "group": "Reload", "extraInformation": [], "hidden": false, "name": "ShotsPerReload" @@ -27869,7 +28167,7 @@ "type": "Number", "label": "Reloading duration (seconds)", "description": "", - "group": "Ammo", + "group": "Reload", "extraInformation": [], "hidden": false, "name": "ReloadDuration" @@ -27957,8 +28255,8 @@ { "value": "0", "type": "Number", - "label": "Heat increase per shot (Range: 0 to 1)", - "description": "", + "label": "Heat increase per shot ", + "description": " Range: 0 to 1 (Object is overheated when the next shot would increase Heat above 1)", "group": "Overheat", "extraInformation": [], "hidden": false, @@ -27967,8 +28265,8 @@ { "value": "0", "type": "Number", - "label": "Heat level (Range: 0 to 1)", - "description": "", + "label": "Heat level ", + "description": "Range: 0 to 1", "group": "", "extraInformation": [], "hidden": true, @@ -27979,7 +28277,7 @@ "type": "Boolean", "label": "Reload automatically", "description": "", - "group": "Ammo", + "group": "Reload", "extraInformation": [], "hidden": false, "name": "AutomaticReloading" @@ -27997,7 +28295,7 @@ { "value": "0", "type": "Number", - "label": "Linear cooling rate", + "label": "Linear cooling rate (per second)", "description": "", "group": "Overheat", "extraInformation": [], @@ -28007,7 +28305,7 @@ { "value": "0", "type": "Number", - "label": "Exponential cooling rate", + "label": "Exponential cooling rate (per second)", "description": "Exponential cooling happens faster when heat is high and slower when heat is low. ", "group": "Overheat", "extraInformation": [ @@ -28016,6 +28314,16 @@ ], "hidden": false, "name": "ExponentialCoolingRate" + }, + { + "value": "", + "type": "Boolean", + "label": "Relative bullet speed", + "description": "Adjust bullet speed based on speed of the shooter", + "group": "Shooting configuration", + "extraInformation": [], + "hidden": false, + "name": "RelativeBulletSpeed" } ] } From 8e6d2a5780bbab2a081255d6115d49671553513d Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Sat, 22 Oct 2022 21:44:59 -0600 Subject: [PATCH 15/22] Updated groups --- examples/fire-bullet/fire-bullet.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples/fire-bullet/fire-bullet.json b/examples/fire-bullet/fire-bullet.json index f4ae4187f..20ea78a2a 100644 --- a/examples/fire-bullet/fire-bullet.json +++ b/examples/fire-bullet/fire-bullet.json @@ -24220,12 +24220,12 @@ }, { "description": "Fire bullets in the direction of a given angle.", - "fullName": "Fire bullets", + "fullName": "Fire bullets toward an angle", "functionType": "Action", "group": "", "name": "Fire", "private": false, - "sentence": "Fire _PARAM4_ from _PARAM0_, at position _PARAM2_; _PARAM3_, with angle _PARAM5_ and speed _PARAM6_ px/s", + "sentence": "Fire _PARAM4_ from _PARAM0_, at position _PARAM2_; _PARAM3_, toward angle _PARAM5_ and speed _PARAM6_ px/s", "events": [ { "colorB": 228, @@ -25403,7 +25403,7 @@ "description": "Adjust bullet speed based on speed of the shooter.", "fullName": "Enable (or disable) relative bullet speed", "functionType": "Action", - "group": "Ammo", + "group": "Firing", "name": "SetRelativeBulletSpeed", "private": false, "sentence": "Enable relative bullet speed on _PARAM0_: _PARAM2_", @@ -26190,7 +26190,7 @@ "description": "Increase ammo quantity.", "fullName": "Increase ammo", "functionType": "Action", - "group": "Ammo", + "group": "", "name": "IncreaseAmmo", "private": false, "sentence": "Increase ammo of _PARAM0_ by _PARAM2_ shots", From ba71f1ecdb0bd63a5086515720bfa7dca6a801e5 Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Sat, 22 Oct 2022 21:55:13 -0600 Subject: [PATCH 16/22] Added a space to force line-break --- examples/fire-bullet/fire-bullet.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/fire-bullet/fire-bullet.json b/examples/fire-bullet/fire-bullet.json index 20ea78a2a..7bfbb9ff6 100644 --- a/examples/fire-bullet/fire-bullet.json +++ b/examples/fire-bullet/fire-bullet.json @@ -24577,7 +24577,7 @@ }, "parameters": [ "Bullet", - "GetArgumentAsNumber(\"Angle\") + RandomInRange(-Object.Behavior::PropertyAngleVariance(),Object.Behavior::PropertyAngleVariance())", + "GetArgumentAsNumber(\"Angle\") + RandomInRange(-Object.Behavior::PropertyAngleVariance(), Object.Behavior::PropertyAngleVariance())", "GetArgumentAsNumber(\"Speed\")", "1" ] From 1f7b700a8752029b78ba4e8bae52d84324bd9285 Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Mon, 24 Oct 2022 08:45:27 -0600 Subject: [PATCH 17/22] Removed RelativeBullet speed And cleaned up unused files --- examples/fire-bullet/!REMOVE/Darkening.png | Bin 530 -> 0 bytes examples/fire-bullet/!REMOVE/DeathSound.wav | Bin 56368 -> 0 bytes examples/fire-bullet/!REMOVE/GhostFire.wav | Bin 24664 -> 0 bytes examples/fire-bullet/!REMOVE/HealthOrb.png | Bin 78 -> 0 bytes examples/fire-bullet/!REMOVE/Healthbar.png | Bin 153 -> 0 bytes .../fire-bullet/!REMOVE/HealthbarBorder.png | Bin 226 -> 0 bytes examples/fire-bullet/!REMOVE/PickUp.wav | Bin 12606 -> 0 bytes examples/fire-bullet/!REMOVE/PointOrb.png | Bin 78 -> 0 bytes examples/fire-bullet/!REMOVE/SpiderNoise.wav | Bin 42380 -> 0 bytes examples/fire-bullet/!REMOVE/Upgrade.wav | Bin 51114 -> 0 bytes .../fire-bullet/!REMOVE/Upgrade_Armor.png | Bin 275 -> 0 bytes .../fire-bullet/!REMOVE/Upgrade_Armor2.png | Bin 275 -> 0 bytes .../fire-bullet/!REMOVE/Upgrade_FireRate.png | Bin 235 -> 0 bytes .../fire-bullet/!REMOVE/Upgrade_FireRate2.png | Bin 235 -> 0 bytes .../fire-bullet/!REMOVE/Upgrade_Health.png | Bin 274 -> 0 bytes .../fire-bullet/!REMOVE/Upgrade_Health2.png | Bin 274 -> 0 bytes .../fire-bullet/!REMOVE/Upgrade_Power.png | Bin 204 -> 0 bytes .../fire-bullet/!REMOVE/Upgrade_Power2.png | Bin 204 -> 0 bytes .../fire-bullet/!REMOVE/Upgrade_Speed.png | Bin 234 -> 0 bytes .../fire-bullet/!REMOVE/Upgrade_Speed2.png | Bin 234 -> 0 bytes examples/fire-bullet/fire-bullet.json | 389 +----------------- 21 files changed, 2 insertions(+), 387 deletions(-) delete mode 100644 examples/fire-bullet/!REMOVE/Darkening.png delete mode 100644 examples/fire-bullet/!REMOVE/DeathSound.wav delete mode 100644 examples/fire-bullet/!REMOVE/GhostFire.wav delete mode 100644 examples/fire-bullet/!REMOVE/HealthOrb.png delete mode 100644 examples/fire-bullet/!REMOVE/Healthbar.png delete mode 100644 examples/fire-bullet/!REMOVE/HealthbarBorder.png delete mode 100644 examples/fire-bullet/!REMOVE/PickUp.wav delete mode 100644 examples/fire-bullet/!REMOVE/PointOrb.png delete mode 100644 examples/fire-bullet/!REMOVE/SpiderNoise.wav delete mode 100644 examples/fire-bullet/!REMOVE/Upgrade.wav delete mode 100644 examples/fire-bullet/!REMOVE/Upgrade_Armor.png delete mode 100644 examples/fire-bullet/!REMOVE/Upgrade_Armor2.png delete mode 100644 examples/fire-bullet/!REMOVE/Upgrade_FireRate.png delete mode 100644 examples/fire-bullet/!REMOVE/Upgrade_FireRate2.png delete mode 100644 examples/fire-bullet/!REMOVE/Upgrade_Health.png delete mode 100644 examples/fire-bullet/!REMOVE/Upgrade_Health2.png delete mode 100644 examples/fire-bullet/!REMOVE/Upgrade_Power.png delete mode 100644 examples/fire-bullet/!REMOVE/Upgrade_Power2.png delete mode 100644 examples/fire-bullet/!REMOVE/Upgrade_Speed.png delete mode 100644 examples/fire-bullet/!REMOVE/Upgrade_Speed2.png diff --git a/examples/fire-bullet/!REMOVE/Darkening.png b/examples/fire-bullet/!REMOVE/Darkening.png deleted file mode 100644 index fc48a6782a3c6a104b7d28fbd4d8293a00c3598c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 530 zcmeAS@N?(olHy`uVBq!ia0vp^CqS5k4M?tyST_$yaTa()7Bet#3xP1>rMq>17#J9j zc)B=-RNQ)d`5-TYq5!kuul!ky84oeppPP8cVM*rNZG8N@<_QaS87z?NS}f3Mk)SVh z+@a%$rUB;>MFFKkHXo)!mKKjW3`~rT4Gs@ztW(@!U diff --git a/examples/fire-bullet/!REMOVE/DeathSound.wav b/examples/fire-bullet/!REMOVE/DeathSound.wav deleted file mode 100644 index 0549f8a96cad9668546017fb423d4cccbf17cfed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56368 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