From d943a85945b8cb79eef81edd7f86e61f55d3274c Mon Sep 17 00:00:00 2001 From: tga Date: Wed, 4 Oct 2023 23:43:49 +0800 Subject: [PATCH] site --- site/comps/Markdown.tsx | 13 ++++-- site/comps/Page.tsx | 6 +++ site/pages/kaboomware.tsx | 44 ++++++++++++++---- site/public/static/img/kaboomware.png | Bin 13424 -> 0 bytes site/public/static/img/kaboomware/cal.png | Bin 0 -> 954 bytes .../static/img/{ => kaboomware}/ken.png | Bin site/public/static/img/kaboomware/logo.png | Bin 0 -> 13381 bytes 7 files changed, 51 insertions(+), 12 deletions(-) delete mode 100644 site/public/static/img/kaboomware.png create mode 100644 site/public/static/img/kaboomware/cal.png rename site/public/static/img/{ => kaboomware}/ken.png (100%) create mode 100644 site/public/static/img/kaboomware/logo.png diff --git a/site/comps/Markdown.tsx b/site/comps/Markdown.tsx index a7694458e..6cd79f48b 100644 --- a/site/comps/Markdown.tsx +++ b/site/comps/Markdown.tsx @@ -1,3 +1,5 @@ +// TODO: use react-markdown + import * as React from "react" import { Marked } from "marked" import { markedHighlight } from "marked-highlight" @@ -28,7 +30,7 @@ const Markdown: React.FC = ({ dim, ...args }) => { - const [marked, _] = React.useState(() => { + const [marked] = React.useState(() => { const marked = new Marked() if (baseUrl) { marked.use(markedBaseUrl.baseUrl(baseUrl)) @@ -41,13 +43,18 @@ const Markdown: React.FC = ({ })) return marked }) + const html = React.useMemo(() => { + const res = marked.parse(src) + if (res instanceof Promise) throw new Error("wtf???") + return res + }, [src, marked]) return ( ( + + {title} + {desc} + +) + export default function Doc() { const wareRef = React.useRef(null) React.useEffect(() => { @@ -57,12 +74,12 @@ export default function Doc() { return ( - + You must supply 100 mini-games per month, or we have to destroy your planet. @@ -100,7 +112,21 @@ export default function Doc() { Ken (alien), KaboomWare operation lead + + There will be a monthly KaboomWare game jam, where you make as many KaboomWare mini-games as possible! (they have to be fun tho) + + + A KaboomWare mini-game is just a JavaScript object, with 5 entries: + + + + + + + + Here is an example mini-game! + For more examples, see here ) } diff --git a/site/public/static/img/kaboomware.png b/site/public/static/img/kaboomware.png deleted file mode 100644 index 8db5e0afa4fcb7caafc2263c7327bfdfb9b11a6d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13424 zcmV-$G>^-PP)PyA07*naRCt{2eQB^A$93L!dgi_j-~w<32@-@!k)Q}s6b0GVM$rX^NIeNEAhYAVF-TK!5-j zfB@cp?{t22pYGFrXYTE}_r8a>%vaTK=H7Q_re~(VK1-iI4K!%bph1HM4H`6P(4aws z1}hVEzAMmRF#N_>b+3Q-{AU6x+r=+`s%bLk3+jAVph0~sF;R!Pc7r8Ee!eTvARRr3 zGHM3J=WE323PAG`RtYMIy4+$eXfKUQyu4^6>k34Is@dqG>kv)XxWaHg?a>-=?WU2g z%ZHv%TI--~P{o$_<&Sm67DUa@uVBDGQ?VZ0-5_k>-AlC%m9VV4QL$SR4N*==t3Gx1#+ zSv#V%#dnUd>yfN$K$2FWA?z}sA6X?ab5UC2dnPqYO(y9g3{kmA0 zHVj$kMOm=lv9#?F(Yk1`kyKp|_uQz&ON1)2vYi@}bP~XX-7;BO6=oHf$vO*Q&TeDU zc8I9J8pk>$Dx)Fn5}+4ZB~h86Q=*Ikc(CN~dtgX8BMK9j3ClL@;1yrtHt#wnDx)Fn zh*3q>3?WgOpc?>ewA;V#ao+m?OanM)w@g|l>>@l_*+GS9TNYTcDuOH;qB=BArxBu` zgGt)0WAGBT7g1sVe=iIv7vR0f>_P6pG-AF^9BjcT3$6&h(^`*|uoY2TazDOUR|mrT zzxmL*CMw|Haf1<{7g=M%N=ci7aTqBoZCmypXZAO83^ygnq7!`vMo8Gis4e;bSn9h@ z<#t_Xj839tpS*2uU>6(I=s7(3--X_hX-$*jZXejnDE4!5# z%25@eENUx`*oxz!gAV13kKnA<01=?qyAm8Ckg$z(t&dbSI97#Iz`+yJ=4DBkN56?9 zqJWU7ZTKJy#!>}Y#P=*an>fVMbttF**Y}R0&`>wL2L%A7fubR7gAt;Ptg#v>8!eMA z1#vJ1OTZjnx{f0xHA^if0ZUXF2_^quV07wLuc)n9m6v4g0OX+AT*TIy z|GoFwpeh>Bg+_kePSYC|<_x+J<4g zz$f7C*A~39DIV(S!dt)fbV79jL}Y#YkG_8#Ie~HoyehmFAc-1(HwK{tXkZlHwKZcDVRX0{&FlZH(3SXzt*g4 zYEL{EEy%_h697dZMWBp;TmgCiOXnHT(LhmnwRoLz6+nH${>E1|e)fgkrT^Rf`S*>e zR%-)pfIo7w!~~V&jVa*Z|Bbd>0N_Gf{u}BOHAWoXhiHE=5Dd!{grp@QP3aD{F98P^DZ!C4!GI@Kc!Gi`v0EVm|9;RY5Uw;LJKs>fmgy&}`I1&DK|7S4KN|$=MGEy`q zs02HoIB23{*~%*Mu!N24x|HM}gs{Ev$2)da21g8uBvpAe5VuUSmZ`!02O4W)_KBm= ztn#)CAxWi;YO9lx^VV*-`?{g7d+x!5hNQ4@yF8zVfa$+|FE-r!eE=#PD^0+TtAOW^ znf;)3*jrEpEOuNU6A-IYm0W5Z)7dlS$)rAfoqZ>-el?nUH6gGTp z+bF64066#Mm!KD{M0eLU-J7hRo?yr+M;|GWOj{3BW4_y&Uii4SovTXD>$ z2X-m>%}Pvd%P1SVi6ty=hsNB~$ALvb)CDV9S)u}7^w@n;qbDi=pp}{FYuwT~aZ*MQ zL#{&+6##zhX0v_dx$wak_rvZ}P0RcTa0r_cXUWx>!}?%QDGZ}@D6jpJ}C-fd`E?kzY7@4O$ofj?35NISD|+~ z&w!Raj?Xcc17lfK_}q4zXQ3C`d7=e5lAaZOA8JFUc~X)&Cn}~w$>VL=ev5s!e7{+E zkAJ!2Hc*Q__}1&+%4{+FXxWEj-(OeBD@sOwMpYERed@P&yA(m29@qt~^@{Tz_nUlP z_Uvn6VgFmu^PQh%Pi#O~Yp+ThRTIoGjddPvxa+z>FWnQ=QfB-W02MlzyeHq|C~@~r z;L$x|oHbH;Il-DV*)!z?en6Ni$r_C57JeoWd!fmCvwAtTq+Q&likFc5=!?L$J8T`` z?c?Bl;#j^XNB-zDjj76;(^{K*kVd!`zo`OCVGR=$V*_NoL(>p;(=YAH_%=2@unTWt z<=C=i4ko!jG+B8VM$0IHj<$xH_O>cnI~5dm;Y)<6JFmse*IqUsIvQG;di?#?>w}JW z)VO=6QHiB330N{ko@8#wio7I>$to2^8QSQ`YQ4`&n{CH-N*&<{k3Cwfev8pD?-(o5 zG&TIIlA3DlC<`RCilj4nZHC74@{7bVo6>&m<%D9A13oCmZpoS+g0LMvZqoz1Xww6` zaOw-YSA+w~zb~!jv^I7yZMNkym{cvbuz2`1iun%oTpN1MZtdq{&UjfISrtIas-NAj;FSFGL@O`PCc$5EQ8yy z>kkVzY>V9kjC<5*}cA&Z^5)v|y zs4-WCZK~bFf$Pn*6&RX@M?AJ~&$;P=T?E(!1p?=TwEeOh#{0F<+I}(S_q`dOm3PVZ zXxvka)ba<&d>8Q5@588N_L_xM9mzSvjm=5k<_xCd+23mb zcia?SYdv-XdZ@QK9Rj3!Tc}JJW*R& zH*uf5?go7D%{vGgz=j%!QA&wh?an$1rR@31vAD;Ef9?XGy!0H(ly%0&e=VFuH?Fy{K}0z zkEL9h2G!BXtcQd(@TE|LC0f=xB1?=|1y*Dl_NQ(g?ELq<8+iCROR^#)Hxr>#qIx@W zs<4wNn^Z4_UQWjDF0@g*gB-DfX0n{=7dj0%^iimtTX7`witwDqgV)#I={CACoIUXV!tl zq+tnUN%4tyrJt`1pLmyXYEh^BiBKULx>UU>R8Mn3*fO#f+Bj+1SI2fTkC;d`m_6aG z4EXVgr~vTcn*gAjq>QPLc#UiJA73@+7c`puK=rZHj~)iKHFQQnB%3CLgyrmE)sZA! z#9eB_E(=)!VDg8zVD`yZO)Fr1i8PRDOx^t)%xo70qTG;{(wNddcCO3Wpg|zg$hTb3 z_jt+(-`%_wnQd^~`)36F@DHWk+u_%JgFkc<&M|Y{WxbEfZGTjz0uuorOPHFMg1dJD zkL``fN`}CS0(~T~lk*Z4HB;Sc@W<>p>+Uz5`R9nLqb9B3hps;Tp5gC}CiB34ow)sq zp17*1}|@Tw(JVmyN7|>G5WtIO-m*R)vZDqcJmF0|KaSx~Jiu z=ftip$PNN1d;??!AQg)?!79g9uqU-2a(j&+qR#g4AK8(9{S@4Fiy^E8!H|zT3aJ9S zFnIqXe(x(IBJ{(nRzHgat>)`C2JyCS$)y)Y$Nw4 z37ld{dSX*Yjb1$7?ZwpuJKwhdb-CK|_@(kdGhw;iv416YF0oW?DHF_57cFJI(W0$0 z*k;Y^SUCwuC91@RySID7igB+C?tdE4ZBtO-%%6TB<#aV{ufZ^){talqK9l_0sSj-h z+#FM0@@5R6F@WS6Q2mi_*$9A)*32dd0r^$E9ZM2HW6Q~~1QcvgJ zI?taSWfauN$clD>#aGWJ|9t90Tg^in%P{}F8!bs&W=r+dU^lO|?o=5*oXSf-ym-9J z>DV<^-}AaEv=4KYZYK|lkL(C1#+MQ`H+Jr@U~+PCxdT=ZSpi_f$G3xWg{ebX{+LRD>NFS+$)nx_J0>@-dU|zZ#PtxEj<_SlDxY31QQaU%3(amW{}- zvSmxUR0TZ0dxi4#gBClfHZ&{#eC_vcuXoKs@sS-OPC4(Ev?)2KQn2&lZo;lK$?A|R zZ+?*{sf)F&2jTKE7zJTd8PUJ}E%J0TjfEHA!q`ollPfXtzAc#h-U%$cu+2(H07_we z1igC-ZoLM0_7xExoG4j|jAMe=voT+qS9{Zzv}?N{gBtZc^g3Lpz{hb1b6uk8*2=6W zSlG%-VK3i&5%A)f@H+Vt*sQ~XG6Erk4l?mt!kS+Ua$4zVAKLj;CRw{QIwY)t>SoU@ znAtS*&%Iu&A``b=;bum-fxcx1OSx3Z8vlNnsHap(e&}^St|=nrTzUD8wDU-hFH5?m za%|mnVVLSFQ^0LCgVQ>1&7$+xTLH`e6ep$<~yeFr1AwLX=lHEtX74_Z@$D!nPnW1mLA#zAI8}}F>R(-7Bv^S=g`7L zl2b;Q{l+aoG&}d~|M^h8>sDi^7F}kuGGTe~;za-peQUAM>7G1p^}^Y29>wGbw|x;Hy}D9c9s&`giT@WR)^l+Ct@kSUhtR_UgNe)y}e2(dGi|B zetFvU37#~m$nx4QnuS>V$CfnrbuoIO=f^Kj_!gGxW7eeA4wzKI;MJ<7}@w+g}2 zNpBEo2m&bT*srlYrv83FmvCnXa7p1 zkiA`mNz9fK-+aklOUyG(ZBN@T6T?h^o5(}}uJ0Wd8$eEtOTmCc*y03!Q|A;#f!gXU z0DyB)*Lk>%<@aqSp~_}ur_urv$a?OSPVqiiT7M#Jk1M*n_-cP*{6caDVX@uZ-Pq(s1F z2`aEeU6Il$fcXuDn=GD!#lxpv(s-BKYbh(aOprEfm9095e!&w9JmX&E{{;Y^W|3)7 z$FEy6^Nm+9b!VFIe&&gz!R-B+ufJkz8$Hoj7j*iJy|uz*h2S7=#%s?XbjROJhp?yp zLnuZU*A?LF`;4TJQcaPap;EJf^qbLBg{KaMjuC(JyyN9765{^g54B?j9FBJ}_fL1*&8 z!H}+mIHg$Vl&0IzC1ed=N&J57G3UN=z-I~r(7Dd$=CQ#Tx2S_AY!Rc4`+IC}D9wUN z0|StC5d7nT(CbaMqewwr2^ym#uGxRo-k{A1->86IO!rLjT1jrsTdMA^qjn}UPmKQk z)OIxWBI^RYL}k^ub@ne_@CWcsxs};;mu_W}QJFLdevY6a_4K1hdS=+4e)w>d8%NvB ze7gGqQuI7a$Qq23*p_qQe&Frv3vg^P6=p4**Y+L6l{b%O@bR&|Cf5>ca(pY?jtUzz z^R?$k7wQ+|A6_i)C=?kRdZ_{;7_8>IbUum4bTptdtQC`ZQS%xQ8eqLat|y~o&xIY9&@#z#p@H1A+;a~e#KwENNpbEg z2fH%Sl_$({9aMkEfF!FE{lJAU5Kh0N%OD?u)iy!HkkNe*%=i~qry_E!nLGp zELk-SDG7$Ke3v|wlj(LLzSh3?i54VviyRY~hixbFQUR|r+pw0i|L>(BO^AC)Wn?Xc z3LK{)K=ns)@<<{Z!d|?OaO$QGs33F{K`9N&G>+|g2}&uGc~KEAzwx@B50vrPUhh1T zjwB`wUpgl1BYS|4k1!_s>-(&PD#@Uzl&O!-%-e;}PBKf4Y>Cm2u(4#7s<7k_lU1P|b~S+{4Q|r>MiZDmvy!hY=kiA-|wi=Q_RG0K3`Hx(eQLCWM5CRIQwg%d9v0!ZPC zo33-GIJy62>}hXvL?}!B=?GJzhDI?Ycy!Nbrl@`G`R+A!0;yiuOc7YRw)o^rp=DIZ zgk0lC#k5N51tD1zuQmP9p>T*u3oUVJkzC7IvhtQyVcyT|XCql<_>3e^;XnJc z^8X8vCTLAYEmmZ+YN6Yct3@Zk=_6&QFv{FG1ZWXmK#HI{go~ahoW5Bb!WLppSKGN9 z-+Lf%kKT*}&K}oV<6Db2g`^c^aWiJfCCdok7!6O@zuRk;6>4|Na}&#~5QR3<_2K7+ zPtYdu#C~A{3bLjW=mxxuqT}DS?i)vEvDoqc6d-O1L0jI zczabvg#f72zxT{(a|Nj?@DoL3FTj&g`K23qG@r`WsbHzhhQ58{fvsBB<5fM-UXQ`n zjYJ)x$j<&DkjuwOc>5jNIik#=6h1qxt*KMEo>>Z=tTgDoP^~nl^SO z%plns9^DhJR@Y@O+iSSlLMwcm3U&m52-90&sEglnfBVgLy%_61xHP`whec0 zuRLb@;lu7da2w(GwBb|b9{zJ*K43`7YcRD&r9%NS;-<)gLOn!&P^<@ zoo6QJa2fUsPIx-SXKk4nCRDoK8Puh&%gzzbhtd7-iK-fqX=xxYDJe=9n5gcsa+ zU+DHe`&awDbF?ki3%0{QUH0!1BZ;hx64J)|1OTUgd$%$7>)b>MX`NIntA~`LORbJX zbt8`FQ-Y}EKg%a`>c#?K2fwZ$t?(|o2FuqXvJNZ-r4+td+!{zap4G!s^5o-kg$PE4NF^Sjc-Ta?v3x zE8@ru5=K9wlb4XStitT@)b=5|r8VSGfeH+JcXaj&`)BI8nSMzw#!zj z?2n>OCRig>18?5kwpH#XsZ{G+R*VwDQl_A?@G}wNx#Id#vc?Xrs>PaPPjpP!c`L1vC{XRAIi;1qzt&G!<@@yto0A>?o`TL3R;W zA_C`g<~_ep04YmY(DwsE}t{NX!6y&xVQ$zA_J%V*3zfP^%) z5dF>)GLWPkWwi`LHmMkvtj@|D7%S&lgpe=$Hd)lVN0$6oeqC>376HHz35gk@4| z>oV448xEPqOd6)g7os(`i;YvO2n&+cm>_gDu&fD-@LU5Rbf_vIWVJZn9CEiD9q3UZw*xw`47L-F<8{Je^^ff%uvL}(PpMr&DX z7t)pM0N}h4b*a_h;iYQ>*I+K)lL0w_tP7ZOyJl^!aOQd|22;-EPFd0Dg41X~lm9JQ zX-}|g!Pph)wIQUDXv#=nc|Ias{*H2@0>D)}-+@=Z|6(LnMTb&oT(Vb*=TW%omDfM| zN9Fy7^$ zX=Ng?pp@&edPsgN$Db)9+mVpzKw1hkW;zpUWl8JlUUXQQl_?fshe!zM0J>whS{UnP zwr2|Z2;#25e0Mz^eqLVm?S)6>U|Lq`8fQm8^Cx#K*QJ*p6qxKUb~9O59S| zRxNzsftInDF@aLi@8@wfSD*x~!cfz!qoCt~?cX{mTgITq(grIV&Oze|$3YqKV7|o0 zdv5^cxpoK(FHv3SWB=F0wk_GgQYIwvA~U%lZd43$Ez$XUaxgU$ z_26^mMh&jB7RK~LhlEY2UEH_d4q+=&jZ(F^ksCL!D`n{h1Oi1b)Mq;zFI$T29hOmQx9XqhY zCJFZ7hL3H-^rJ@%(YS39fwD+qaVNkKs;(|HhzjF`jmYZNXDOAlWc7FE@gE41TH<#U zpfq%5h@*v#9(ZH}^*bVHNwA9le+ii>+OhXZ{4kv4r|vneWv`*C<0x}lRgiwu1G{kQ z3%g5B9%7^sOeLgk2skLIF(*BxhM^3gg3r^F#!7s;eh#7kT+Ou15?pWW(dFWHSTkG8;F( z4tEX#Sv5H6f(y2YuC?ibT?$Ae>~e$~j*PHp{^X8I+jLENgc(r-?ECYU@=sb(IMdyI zkFFUj=e~Tv1{f1`rvSAPr0--Wmr;AkN!C>LclKMyLKR=Z%xBKXBqabWQ7u_)L=$nO zrX-3asZgigEG{uWnjne92m5+$`1CXI4@YDAuWvWnh1Nbr5s^0|f`~Rz2cD?~1Z36X zI4a0!5qzIStn#}fHa)Nl_vDV@f|i=w8aiO34i$-(Gs`xd#v0aZl|7+WA=JZB>k$73gU0n)xEh!inv?O6@(_&M8M^)!Y-*AEXQFRk8uK6-xDenRoQJN zn7I8)%zgKSO|C>)WV}3sncedip*A#8HS28k_hQ){C1Q4z-{#k*i3%V=ooV% zBNwPaVw$5}Rn0&D{5r6di5eiy~a~*`3<~Ou#SrM)1q38mnFFF2XL`6uBNA zW1u0ehb1amqWOlJ_K0XqL3d34;-O}w`rVWuBG>}Aew3Jg_^|&V97;T- zmbzvWfPW1`R4(V>i8~9krqlwAI@|$JP_(e@@@I+=SWh->vIm>(Qx}pKl|G=B64GF> z$46sXNx~*z;K0yjQ`m?aS`jARQ)8Jsiw&RHj_JpagdSDc#!+YTz!0D@5lZPC zR+JvKSZ2%vHWO@Fa1GL;ceNjhqhwK3K+t2iQq=pjvXF+QRVZ2fhHeVCzDLsg4oH@ z3%NpT>u}4yIkJvrpfQEFj=yWb^(g^N-EobZeDB7fbN_j%;Ul)pvqeP6WK_Ttbo5KM>X(z=xZ_FmC?sLza@Zx2Fae}$; zoiNKmw(VpBj!g!@xsi3QtWB%|D2(4)OR65VTh@*G4ZsH6l~lVpvt64c~cGlNFp zWU9jAk+&M$s?AmxPBWLZ`uVkeWcSJRzLm8V|xYTv?vQzNKr z#}t^AuTq>!?Gw}D_!`#=CVHo1?%9(@&0Q$Wz0ccXRbW3GC|UW*uE3Bbhw{&V6L1|57YM2U&pb*rnEtYu!|VNfMy&kKo} zq%w1YE!45ABG<&+vnRt4!cm0l={5k3g*{gTFbiZQAy#KoNZX|>rqzA!dncgV1tveZ z^#K5<0K5(03`|UJ8-^%jFcC!?09*(|)FBOyBrL+m0&}QgDN%t{Ojcm@ge}AQCb3I1 zBBg4({w?cyu|O-}Bp+^AuW^VSCcO?IC!Q_TU@u2u&dH$l^E219TrP&?*`sr*m;q5>RP8> zr$77TtKLp?rS0stx|n_HxJc6?hCSM8^?6U}?m&ynmVAYcqIKPBlGKZDS5K-_-ab|v~ZWoyTyO)zrGxNkzLC$t5VQ0U2 zwEu}D7L8ZcIc*k2%9g}i8+QD1`pgWb&m@h}&Q}zvg4P@%9vYv6?>uBjvG&OdoIk?G z7%5@n#9=PufHuyO1URo}K+tyJ4b}7M(skzXA9%0oLdQ97Si;Uc{)4{f7*?V>lBUsX zAu1_q=Tf$%e}`_OmXWm!tJ-Fbu^cvR3I-u;mkn(1!liZTXp@hqV^W5ubhFcs9`T9F zScPV>W<%-Ni8b@Jmn*X!1l3yT1c|>~o+f2d$t=~wpE)~gGe_9#))-<%we$)y`HHes z&ZS?0Cu)^sUAs1GjFlo`M*?m(LInnA2V5+0?r#oM9ya~=NiwEjc3^M&)zlC$MNRlhr@ixig4*i`=)jI zR{&1i@-~38Fez0Q;Jv^b09*hwY_kc#W|&zq{cse9SRH%5Ie3rrIhY}$w{1C%upVb@ zIR~HCW##5zT57C%!jd4BTw|t{LGeCM8*{@Neq5HFQAOKIy`u2W9bUgCH{_?5-DV2c z{#-Z}@s&T??arlL5^+I(doI;7N#4|WhHN~C8qcxiCw7kXk-Yxcfnes*Wgo9z3e)1J z5R&6844D>Sh?c>Ov2KJPW8Dnk5&*xGP^Ba2CMy&53__AJQMo=`7xqXyqGG*~m9c6` z%cSBpR5J=m%eithF$0B%e3+~q-Ayj|bzhYwe|S!KcWnvzb-VCtIpE2fE2!}dYRnK- zjb|e#?8%4rgEQn`@lSUANAw>L{RwztuvDEvNY+UhvR(k-B6#Wg`y;6GuOTGrX;B|e zn#Re}dM5f_Qx2vo?EK=V=}WH|{qM$K|H}EUPC7U=umCg)7#D+|f2lj#=guX63?~S8 zWR=TdXaJ<43zKlW&;V(GY;+W5s%ufFfUNR-ZpMnKPvO!ykgbXy#U!Edkt`O_MS&~t zd*`nt9wNt4W9Jgrt^;p3%5m9I;NQb|fcczdp6R5F{Odxp0sxa$V$~3rS0z_)5|$;d zTN1L2tc6%hhI2U?!RoTfJDWID{xemakIBmC6~RzWRk!xEvWd=kf9p@*-t!jUdeV#= zZ~j1UkM!{`?ZuY+Z}|m;PN6@j`1w6B1c`I?GHEnS4>$oIZphO0Vq2=tT^BzIZ!=2? z&z;F4dJq*@CuA)nDq~d;mepaoVp*I8UXaU4URH;Bhy^;ZS-BG+xv-P!CM%$!3qgK9 zue}Zt*;Uo0S}knhF{@^01jQ`$Akp|SKjx|UQgkt;K|8jlJYZ?Sc}i>_+e5= zmDuVT7=y`$GzlYJ+1Yd<3~?_2@Ow$`sT!YvA*oF6&GlLU(CL@?Voj5^4pAjm18Lzl za`ps0z}5fa-BovgA3QPR#MttCEk3h! zm3AWAicHoPx(Ry$yp-K&zx$t66-&UK@RJB6QRe|H5>el=-8D^?Nm3R zVBL~+DT!KzHA~<+;MUa39+plm^0unm65-{a_W7zldL?c{HzDJ&L5=R=n5y5$!TSU+ zU74_)&zDI%DfTDeGwI9hgnT_Y{KHNyIUP^hscvdqya-hp*2OsMa$x_j+}rd2>w?Tu zWd;l_>=>->SmF{vD}dTO>{M7XcX0S~cNxBi&2}2)60|HON*tJ96$9+tV+hF&c=7_F zgpNrVuTN9;+c*|Dj!{k)ENf1(o)4*dKCz-Z0ol4@yI4514*ue&oKK6Q!#{O3u0l8Y zVyP+%qOC?bnL$J@yP>@trv>Gt+pHFsm9n*Iq^-<^jhDzMvz@z^ckK5#*96uZSx15M zLU`NqUi#&GUC)9kKTt_nCaol{Tdus|p|V}eSevSbDNtL$C2a|+gsH@G2cgHb>@oyxq#?B9;f>sYe# zwwL3}T`v`Df~*Zu8;lYWfyx|J=LKsn2UCLvYZVPy8>||vcMWRQlXbnnzy|9FtDdY4 z))&@u=e(-Px}INLgY}11P1Xht))Q7OSsSU^V7+10lC{D5#d__iS0!23>&t4ezOgFF z+MvODL_^jFs}k!`yK2bVpus9ZL)HcjRtZ)mS(js8V}k}O4Xcu@KttFD>kn(9!LLVW z!+OVh?5x+_4XPx&bV)=(RCt{2oI!FFF$_gN6bFD4z#4X`++@y~o1|t3Yd8Vi09Hep#@#KuC0k$C z+a~Fe{ruH-&rESwdmUK_oSm|vb?u+;6k#_2B)>UG=y9J-AGK@p!UF} z*Sq?<-i4{RL8}4Z?yrYwww~y#3D;<|s>zx)VctYpU4!mWyd5-yD6MM^J7<+_TS8BZ zVLX>zWq7h`6XIc#Jk)T;lw{Q?Crh*SFi4OxJXsPEo+encmaEsQ%IbYPUs}xL5mfC_ zl=ShG6pd?X2-CQRi#F)}FbcG9iY&T=x~!L{XLpm&)_V8ox@VmY%zEJE^|fBh+XAa$ zw!yFxX1Nf&3p3pfYESIm^%z>12IgCLt%;o7daY55#`S zdlnHXi-=}fjQ52oWU`1zSwy(px_dn@&AtV=OO{tr!2H@=$(lVG5@y!uN>*}A$|53V z5#dVK?A?}xnKinS1#k$Ph0Al+XkpSF-t2|sE?J{t5e1|y5gtSVi_2m-gqJKUi>duR zSXLGzOUhzQ6|kTzR#Cu4R(`U{H%ldpIaR=7vLtvF1vJX?JdiWk&Qvv)NEUnhd$5G8 zD1?_4B~`!zvLrBw0)oqmu&F2sElUDRs(`?<7*f?*V^~=dm{J7uo) z|26>uWkpRD5Kxu`hE&xEB`b2OfIzY$JyzNyjI0$1A!~(H0YPL*U>5}xvhu?+{#hbf z5mE&Nk#!^^iYTB#miIx|>hoT6D=xoG*Gn`xTSBzKRY+Mxq%0!D_biKtq|xs&+DzSG zus$W9wa7y421hY#k>x#$h?GS{$|B;gtnDXh5`X-YtQ6*(;d1hQGa0quWRir8Tx8kd cl4K-*0LF$wfv%po6aWAK07*qoM6N<$f|-Z9aR2}S literal 0 HcmV?d00001 diff --git a/site/public/static/img/ken.png b/site/public/static/img/kaboomware/ken.png similarity index 100% rename from site/public/static/img/ken.png rename to site/public/static/img/kaboomware/ken.png diff --git a/site/public/static/img/kaboomware/logo.png b/site/public/static/img/kaboomware/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..2248775e58bf52d4af7cc601a3af2882c38b3b9e GIT binary patch literal 13381 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