From e618996936bfe539e7d4312048f782a7aadee1d0 Mon Sep 17 00:00:00 2001 From: Jesse Wierzbinski Date: Tue, 12 Sep 2023 14:29:13 -1000 Subject: [PATCH] Add stricter ESLint rules --- .eslintrc.cjs | 1 + .prettierrc | 9 ++++++ bun.lockb | Bin 79617 -> 199067 bytes database/entities/Application.ts | 4 +-- database/entities/Emoji.ts | 4 +-- database/entities/Favourite.ts | 14 ++++++--- database/entities/Instance.ts | 12 ++++++-- database/entities/RawObject.ts | 6 ++-- database/entities/Renote.ts | 4 +-- database/entities/Status.ts | 22 +++++++------- database/entities/User.ts | 13 +++++++-- index.ts | 9 ++++-- package.json | 5 ++++ server/api/@[username]/outbox.json/index.ts | 30 ++++++++++---------- server/api/object/[uuid]/index.ts | 4 +-- server/api/v1/accounts/[id]/index.ts | 3 +- utils/config.ts | 10 +++---- utils/response.ts | 15 ++++++---- 18 files changed, 102 insertions(+), 63 deletions(-) create mode 100644 .prettierrc diff --git a/.eslintrc.cjs b/.eslintrc.cjs index ad661a7a..8282912f 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -3,6 +3,7 @@ module.exports = { "eslint:recommended", "plugin:@typescript-eslint/strict-type-checked", "plugin:@typescript-eslint/stylistic", + "plugin:prettier/recommended", ], parser: "@typescript-eslint/parser", parserOptions: { diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 00000000..af7d3b67 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,9 @@ +{ + "tabWidth": 4, + "useTabs": true, + "arrowParens": "avoid", + "bracketSameLine": true, + "bracketSpacing": true, + "jsxSingleQuote": false, + "trailingComma": "es5" +} diff --git a/bun.lockb b/bun.lockb index bd57f75f948bb05f69aabbb2543e7e9b9ac3d10d..ffc1c52276972dd7bac12a76edd189417c8a8008 100755 GIT binary patch literal 199067 zcmeFad0b83_xOJ$lvFfGD3y>QjT$5kDuf~_q-eNJnkSVhLGn)?Ry`efB-&_3o~!6&W6;<>42k#Se;7 z@rVp+3zudxzc>|uQQr?F#+?lk?L|iV z;c$2n;Q@XgAj5s#`};#cn?bojKggFK<`)ru1Nz#7e&AFuzpxM<&nF-l)p@}|o_v(k z!rVhbVtBl27zFxT4o)zh*B~)JenH*=em=etPoW>}dIduwqj)?ozDFcZK_DgpikEu? zEP|l$SpXwf1X32{;ueCqf6o_80o*$pjHyohP%Y@0qan5Gq z3IK_5`iBPx1wcmIbQIVd%gB0pfqsm8K!9I(1n&dX(cc}Aok2zhdHH$z@pvAQ;U2+| z#}1tY{TVRXs5cebu?$s3@vUwwBx*KbP?!-tp@#& zFn&aYA3y9Q)FH&U@R%UaseTc>GhGFF>ZByl3l8BotVh3a&1vBQJYEg7YATht*?%@%kFwQW3WH_$llYInvozYj2 zuS*~?{-KP%56ma-7l--@>}~-TmPA}o2z-EYslPyfqL#pqJtM>Ufl;{LNrps*;571X zY6|o$Ko8>;(-HXfVPu#mYVmllp^ob#&@TvPI6MMGL;E9W$MHBa{XW4F4eej_1oL5| zFR=F<>NsC_LE<_n0*U@|7)k3OBr>pJBr*m9{s{DA{x*S>1(^!614s`;ft_(6ao))e zEVU>Mz{`jk7xd$OME3Qdj((?u9k^BF&KV2lVJg&dKJ=J8z`O^A1oC)&AfKq$&qTnf zg2eIC_(9JTGvVn6&k65fo(7X|+-G2K3sPe0%BF(2mx9E2;z45EF(A=i2c~{(u%JKC zeJWoQw&vDMKkToXAz{HG;4j$2ANG~t=!P44oVkD>2@>-(gpmUosSOhEuahti^mp4r zkjEmBI1j|_f_}_v!*h}c&kx_Q;7A`|URX3fJ$^k;Hh><+OI#S=-AglMst?t7TM7J4 zuol=G1X2m~`C(zfVVeACI~xJtm+Al8{`^2wkOvhAz9HWrF@Ac^m4O|cFNxuTalabI zMh(i?efOew6ACAx4FUU(XGKBZhP7rSeBSY{g1kXT_aNk7mLNp`7 zV!#fh45ybz+~4$d#|Z4L0Dm~YOBflV84eqM0N=nt&`$gAThPb2LNvYj_<#$Z)(|!? zbgV$n6QmUM(|Vf7wA1>h=L0N$%^>$ce!p=%9z1&DJR;5ne#)0dL;{N@7lr~u~ z?m)gE^Q1R+iXabRd@mdpuLJD9xc*#0VxDN-(z+S~`nbNQ;<^g<=FNxG8S1--h2dj@ zHvsyjpxzTC&Ns|T!^UtP_G`4)iRqv3CCD4~)4m|iZ~-tLoVP5#;C^#w>dxMRbBte5 zXrx~lKkWB&Yg6Z0T{r~dI_L!w?FR&Vxrh7mV7>c9!o9}p1nn4igkZbpsrw7`EByrV zAAmZJ7xsrRFMb41nz7dkB#v*#RKfUve~#0>MsbsW^7}VCc!-0?Bix^Y^*uL8Fwb;; z4TQQp`29T(=Yj?C(7BxQ`KNu&Jt*8y1%k(X(0xO3Wq}>c$4-zqZptrxKUfOe58g-p z8Tkx?#XO8>;-Yhl9n`Vi0wn6wzP><{$5Y2TNGXs`{RMHDfy6pJ=YD^_DMLTT^A+|H zjN39=P^bM%ma#+Y_C45_1wGoo>3reE4}k2#`6HlV8SujV0>j*4jnVgxk8rNX^-lK_ z&4UB9qhHkXfOYTZ6BHZw+yfgNhRzhkOL132T@w1I zfW+rrHt1vCDKDO2T@xO8iy>A8Xb%a9#AU%#h!g1Fo-K%TR#$+=c}NH^SJ`r(Y`w*2m?P0?HEr^lAzry*fS!`FNp8%j~U?c zBE$SJjl7V^pcv0!FaDfGg8jt@Bz`~I3cNDNg&=Xi9lJ#Eyq*npT))8}aXrwv(+TRB z7bB3!1%eNZXA(%9#~~oGe{!ne`Q05P?&~HXaox{bDu}lw)K#F~9rRJISSHXDPZP{v z4AhmN9p0Cp5%^8kdfJS^oRZa!F}tVYAw>1Gt;X- zXV72d)1vKrdagULbNlN){$Z9yalCN1>H2q49)7-M)8n~a_0F5?%X!1EcNL#By>!;O z#Nw+HYpyG{9%>foeRay-lmTx$ehB}txJ$pp`C{hD>7Hx$RG0^QJs#h$&zqBhAH&N( z74YUQo%%VY^2sj4xa#kwKG(fwB>1aaeQ5FFd2Yn%x_}l3Le#A8DXEorKP|3yd}51? z`!-)TgzO2{ITBFqxxUJ4;DFy^A)8zr~>e!EL9%jS0c5s+Uu$|ZVor(W^y z#T#`;kGoZ+9vj?#f}Pgc&5DKjavq`TrsfjTMmNUqx<0&S!}BiHBZpt_pU}M@UT&%{JFI!F(CJaJ&&Kcm)njcYrsjS3J`t6>VYj#QlIqSA z?5r;xuw1<=+P&?$jJsER&4~KmP2`E&nCj|~33=76G9JFsa2``U%JoA*xqN27vz1S- z7q@!3+#qPxzIM|OPFgm5dP#NiJf41e=fVqHkDM#Xx}7r2bXl@hokeb4$9gsEy#2S5 z+wHo3eV}ND@A-mZaw`lToBp0J8t01fMFV#Qje6AM?Cwkz)yM#nHyw)SzaJktq}3O% zXRn_w)c){s&#N7i&n(IO9PKq$>Vl-h!qR=p<89lHd303bw$z7V*PhPN9@%ly9qW8g z&nvw?hNYGHo{$`WzwrEUtHm0zXHw$FMbS`?9y0n6B7hh5nw)m9!gYy(z4#%;zTWo=?mhhO zusZc~=Ef6BE$2%1*S9SHWHrWY+p8bC%0Ztd?5MnGwdwM-Fx%tR{qAV)HaxTF=!zlb z*VIJR2BsboJ=y-2Mz=t9XPFH>;`;TS&-W;E({?!2_xO?@4%)SII`C5#I0h}$ob{tL zxImkqKH8@ueBrSABbn+m2L4>oad)c+B5Ln4?^~tceG*-8;ZVdjJhN>ggmx`vFqHvXk^*z8;fzkHGUTdB?i zcTZl@p~cGmu2$V8R%X18a@JK^GQ+O$W_VtGiNhfABC%IJZS4v#m)hBEuS_Y|&s?#- zs+GzV3yt>=--au^J2rY&z^Sr>hxc3#O#ZUP{)5eqe$MyC%Dld9F8^rNz&x>;ZC^Pn znQdJBjqDj`nYgM+COtd$PFz;DWx@i@5uOVo%Fd6e+1)n(iQ=iB+Nn;Vw_b+C4LdQw zMQ(Bb?!U+Vw|IY#Z(6+fi~jbJ1KO@DzZc);sh*D6)*dtFb?96fcy8_Zmt%^?O{x0% zE!F+=X}LSCPvpPsX8Q5;!NT?fd_~9WI$mkL>wF)rVLxhJZG>i^;>(-WLziPs3*3!wC$F-N~>Etnl0})=}Nm%#S^pM_D*Qid;O>_hqjw^8|D_f z%yz^guk?eb?iDN@W9qVRL_!=F1zE>nL>@||t{?&)22^jfqbR!{F>N${lS&Q(!P z)4Ry6-T(aYrd-=nbMu}GAt?vno-UiWO{p@~e(#NGZ*D6NSp6XV=$HjBvu>99#<_m> zb1yBw*?LC#n3F$tcQDi6>T|wx$n8&q6|HC;*c>|3YVMjW_g*cw+QeoJ{t!LyX21~p z+(gOHjTnlpV^_&_hC7cX_by59UAbQn|dJY^x;gLF?#wGS2z(7=G2PVZ@!aeDnI^)9lq$_Z={Kn^wO!%VY0% zYk%2OGsYxobD6H{*E0`Zy+|zUzkJo_pcQlF+HUJ^oAvYY!%2_F{cV3v-gIbO-OOv_ z{`Q>93+;8kYPPLh#f~KD($dx;FGk0<95rtBvF~Hu6z@JvdbswT?C$)s)sh4Ek92)G z$|9m?k^1qx#}zZ$m<1%AP|5X*HShaGPt#F??gtH>%xhgLBES4NZTPi_KgMg`0sgf< z#`edz_(w&?)VnAxG>z?&m%K4~?drnLp@G>F6MLO8n3L*w^TUk2=6Pd87D&DDlj@u` zCVc1&*-aj9<=dUc6xq4AKXUPQ_d#vu$0RKHj<0{&%cDZ6m`>y_@ zl@7tP7k1-IC`vCdIoo#U2a!=OP6@?|A5P@I*r)c!H%7$l_>FQ`T2GbjR1_uV_RyvE zPtS)8ucxvP->gbZ-}LU9O-h@oJujP%DxbPfQqNFh*RG@5TU*^8(IR5=fVg9tEiSbo^gJ4KaeQ>kl5@rq1u~__SLsaJWzaIN zP@47$S~s*m(0y(3Gi~=q(a&9J+>bx0=P6FV?DPBn@%z3&`@!$~z?`*@SAOX8@Vi!V z(&t#Q;=4<=CNAljWolfzr!0Q%0HeeQPs+4Le$pN=Z?w2t^!jPL|F%DDPwclN?6|~i ziu?ETQNfZKQVJp^(JM!O=Um!fZZds!`?#r_g@9gk`F=Fif+l{9@;rwK*Izn@#1I?ujS z8!emgbw_^Rl(oFQYRmIaKZ!D3XKYs-H&mtTy)5x*(z51Z?eb)Y^&KJ?)pgd|n7f`* zd*)sBI8v~G@Ch%+K`LJ*)w1NxH@i}{gPhC^a<_46Cy72=H~9WWD|Db)$q*n zUG&h6_w~1_3tN`CR8=iKklx8AN>FPTi5qP)r9 zFze#i*q>Fk9uFqVis{q-GTqwB1 z-{v2F?)?3ta(1XRmqGKMeftST^FMui>v;NW^t|^^d#qQy^h$qE>!^!@F3)Q-Db-dCpEh**^<+XG>8wx^?ye==+}aQJRLu^yv_k90{gTA`V) znlDpuxM21&OP@VGvduSK9l<;G>2CKcJ>rK|naj67crrF6XjRZx|94LJO<@S3mB#om+S zrj>h3-`M!5c;C@(yA&@i6@M`Q!0zZikGsq`eJ-d}?^A{3VGaIN)AYp9TV)rwDOme= zJe8>Xa$n3+=O>|GR;8PtE6yI@>F$>luM-=eyv_8RxIs^^EUQv8%OuD6Zm z_5A8j_UTgQWwsW*B;zhj>YKEn_h65OhElCu?Q-j6tFS11;KYTWL9 zBGT`tSNU8?l&MrxzFYPw^5bn^@4IG)#%UTo7b#mXW7R^vpr!YRw>WfTO2SU12bW3? zS%1DNKg?oljekXu^2fZAJL<-lE?<4!d9+*qHg?meh4ikrTpx8x)9+@hu%*ZH^ZnFx z5)EUX9aRvixYhz*R$)2KNHIZ`m+jl-tV1iN0%8|aPJ0R36+{GmjNlDu!Q&aidkbuB z2^YK*;Z%s%g%9v5EDrr+C}@LAAwCm6SOO1W@aPhTe+j%k!z0HUdZT8@e-{WCc~Q`& zwnjmwlXUHYHv%5()Fupn26$U0{^sx!5V$TAKl#sEzkkKK2I^!SLJ@Uf(KM4G2@Q?P8 zC%f>m(L#DH0J3C_zfp+QN&FCor#efe(T}7*A9y|RkNXC$9cphBX6d~H-U4{|9Z9q9 ze;shD4Lqc=q0m0aRR1a{PIutVfrn+-5IfEzmqPp%;0FN@!)PeN&c7@Kj6B6JEN>6I z6YyN)rm<1{nZV=v=bE?Q`KJKl{)P51c46b!gqQI)43D-c5BRyULh*+KkNYovyUnTJL{71jS z=C3>aGHf{bM;3j}5~K>lliw*vpfQF~*tV;|`ak`k;R;)RVr z0(d&VH06`sPyP=9kM~b|=%hWAt@pRj#J>cd&Y#G0T?51`!Y`Bifq$%H4ygTaeyN@G ztbsRXcxCG3AcmcxW{=)eq zn_Pk*-Ddz=058YzT=#L}d%(dD=bxT`!p^@l@ZP}Fx~Kb~sWFiM9N=;PXfFSr;c5R6 z)_)I~U+b50&{XW$Pw__pPxmj4K^Q(4c>Ml@_g-`E-x`*GOgY-TDZv{Ng9kn&ZVn68`!;OQ_f3EAEY!e>} zJbV2LJN|vZ)AwJrDQy0q0gum5Jon$cuj^^g?3@@|F6K~_c!G5BD?Uh(L#D2@W*c>fT#6? z`!JV6{9fS6KeY+Ne*=Cr6F>4?=YV|KcK-GLl#5@|AwC`Wk*x6x>;EzE!BNU)c30+m*+2WX0cUGw^u+Z0`B7kBT7w&COpl@c8|Kc&^_;DE_0sDRzvkv& zU6sc(2OjTxu4@-m|L5Ne__qs9e7;-R42)m*X;g(`KCDPCqI*c$NQh^)ZdgO{X@W80?&2a zWS96F;A#KB+zXrke(HkrM|1rr1CQ&kx%b~C;BovoE*cYlZmN*3d=J6H7eW`!D&Y_NMHR z-a6oM{b8N!+C$sKmjG`LJgpzDHi(z+_3QkBc7^5bfw%mJ_?H6D{{GALKBD+<0FV18 z)|)f`k{ZAEfAlTv_-6o*{we=l*D=L^hVhT}=J@{(Jf1%(Z)6wDHCjl|xVIqwHjK8g zz9``@;-)PXRPKv*6pI`3}a1Mm^KNxu2znXjh&Hx^N|A2lmCNWlw zjeVr}uL2KyZUfKtcNb`v_!fNy_YaMm)?s75*}Ng}*5DuQp$(cxu6!c!=B)8I#Zf=S ze;ark7EkM#^!_G^SAt(YVg9KuZ2XgecVhhi&DWpW$=^xfas6WMxWE7V(gd$VfW8E;PL$jvRJt0fb>Ve;StYY&GkPIc({cc zcwB$N#(xlaoPUfR=YVUW_}>DLE`{`$0Y4IWuJcZ|iGRrWM_w2k#4E!uKk)t|mL&Q4nYa{@sDc=O;24Ki55o__e^}`p5W%83XaJfVTx6 z*M4*I7i1_{zr>PVFxO}yy?wx2f`81LFncKR?|`=gp6ZP{Wp$FiK5Tw8|1<`c+Fw5s z9}N7zeE;7I{AgzU=$~s0qFmYWr)@tPavOHvYf&FV{6h{7m47f`5vg+F7pt z_>uIAfgi@=h4tSRZXOfh(TUU_J^i_n{5u1W>j$;C`bJ&i*8&e)XhZ(7oogZf8t@K` ze^IV5=n+2<29NPm>?E5qMf@z_+3Q!>^>+$*e14L>ruAwaZ9^uXAyTam!Ev(tR z1MuwgC&ky4r1(>Thg-10KiAx$ZQ?I6{%POmYJ+$!Q^EdC^G=d${F%Vx{(~I)rZ~9r zpMbXno@?A>m*O{s9?!2_ISPvS zI^c2rQr<|C-rpqgT0?$4e=r7NzyI=q$MYwyAH2A}!y^C7fv5MUc>WPK{!75){!4y^ z7r7nU~%9`{e&KWI$wvB^TZSuFpUKdy!Nx4`55*IfVp)`Ini<3^jJ90MT# zM}YSL|5(TMBW(UU+WdNdgFM-7Dh$$_06aZ^u}xV2D}je0G_0SFz)LpenCU0~Rlw8v z4|7NDO_?D*W%%*|Q`j(nIEP#d@gBg_^P4M+dc>~*9?uVyH?A=d{~CDAKg}K4X(|@t zHQ>vWCF398VWAx^g?NA9as8uTyoBYq0Y3!zHo!J#{^f=X_7AT24ULWBw*%gX<)7>C zkciI$-Vu1LbDcYkf%pON@R>nqsm4f4cDUlD0#1FC;@WSjJZ2z&q zhwZLQk>Hgyy2l3i)_`>*`d;j<|JjPEkaLFP0-wM1o z_{Zlq+MxEPY>-|t@c%M?>v25ZL}vU=`DFK#{|&&Sf6BYC>-RSBy8qz6lat{7Y3}?* z0dEQZG55k08hB zz{3_8N8=VY|0fy$#BS18~6@^OCf$F@I#sS(YLU_KV1hrzW*ej!p46Wc)b5HZe%GgviCPhdQ+zS zdj83PvatTw0&fZa>An$`e*nBbi-!<66^dWUoyRl(2i^yG%s<6VvZ)}*{}$kJ{nGeJ za^=4OZv(tAYZq;ke^U>^{o7oADe!oHpnXHw_%8x)4m{?KYwpM7W+xp0(cxh&L6f> zJL)u6NG}<9+`mN`WntsL1U#KTTQ=tKw?6V;&-kaai?IHU`2Y9c|B&6^-2H#5q&E%t z!OZx%`bJ~K7XS~h;Nq~YIlQ9xulH|gldBE#9|}AiVH*5X8^+R9A>Av$-#eTPVVFvC;53Ag|2CjCs{ zZ6JQkKiAx&5#m1qkM9q#4U4KkH2ITwO@BfD$v3q(Wq|a2fQLU}j6;2#zfSmpLm~bY z@aDi{9b=&Orc99D58!eCMt!bxkGjO`PW`q1C3$J3W@wD1CQ$md9HJZHi$0-9@kHE zd8r`5-@lViJD1K+);a5;` zfHuqjRp4p<(1x)7+lKt#{X3HpqF zx*B1E{R{mz=lSObJf1%&Zj!(I`@K&7w*qetJoaOouzWSc6GwK@USoyyOv3-|-`}qX z-tr&D|Cq(o7#fS4`Y3+22*LeN?V|Ld2}!&g@D5D;=$~s0#2)}2?|)%f42}5LO#E1< z3;UZY#P^K+m4B|Wqiy1SfwyJir?#eiv-v~7PXQj=@E+tE1NoAP66`<3qvTSEcLE;w z4`F>pK!9Tt~5T+2H47>sGc;8bS7dxbT?zi}b-9JQPetrK$zrvoMhXHQ~ z@#EYJlLLx>1@NPp@pBnB=@9<{c)EY6kBcN;Jyx*(@cj{vf$JJ3-W7OVh#%LkFopOO z;PqKNwKrvp^zwn%1|IJlY~vaS@hzwS`uD@=Q`qs30Dd47KeA*OZ8cU%Z$9vtKd$SR zY!ZJAc=q{=`kRu(e*%60_?G~H>)6pY@dIZ3`ul5a<2nxF{eU+D|1@u0V<3JP@R)zD zeld0|#6JU`^2gOTn^&7D;Boymho1?&4#baaTUK1?qp?Eq?*rbP$sgsgF^>9(|IYBu z&7aAvU*{LJ%{2$)e9@^7{g=U@T!E1OCkPLoZ$SA&)t4-QF~K1 zNKavoVE*ac)UGLz=_lS5coWDU#*T%gp!WBl#BT=P5qR;xtNyWv_?B}8`!9|k_5sd? zc-MKqzCTeL7bB#*n#JQ7xb7ju%f$cRzdylq1eZemMBs7#B7sJ$sOq_++DVJu$Q@z(;6_YdCpTv?2b{OczQ<_~#nYlEE}3i1BH+pzo# zyZ;DeX;et#kc+IW8DT8N(sygB&Cb%Slx-jp5Ey8t|$|GADG zZ4=L1^nbs9H0782i8lfsfB%eghi4DEk4f)ulKADo;2-B6$H29a|03Y={VAt<$CX8oWv)m@_6u1*qY6k18@Bge9xsk zp6fsGDZrZp-`xCN10L_+=H^d**}w7Ufd7~Lbxad{|HJ1GJ_9Ka@UhWC^FIc7`+pe! zM#ew-MgMpX;95F>B3>$R>A;07JPR8NO0)^zZ5s+ov~LakWdrqRi8&n3 z^s^=2lOy3meiYL$j6{AkTqxmQYp?^~xf>*`y@v89iF4%4^fx9kFYpX&um|^2LqUo0 zx-oKcLo1Jm679M(b+$x(52hU@);$^N#k8Zud&M6v%vUH}SWx2lBH%(U5-u!kiT&{F zj)s1C?cX3{L1Oun#5iZbh4$bzUqeBO?eN;Dp)@9OPoD=D^6?GY0*UqcOr0$;zC^gN ze<35`c-Bx*qCI$AG!&GmzZ5RihugRzu5^%C{v=Uvc|-4?CC=j-xNv+KaABS|!-WMU z`rif@+Sv{l7L-`uffXohiTZmQS_KmCuPmm{mdGDv+EHTt7*ppWF%Ksg?j*yZL_4RL zI$PrSa+!9NsF%moQDXfxBhP@uxC`OJf)e|SumS}o)-PiP3R`0Pm4;S<#Qffb3;h=} z?I=;Ngps9;ybTfyTcX|_xRAdG7uN5?g#{(HKY$C{AHs!&EwTMkL#sey-k!kK3odc! zlme-MN{qyhotQdG{HVyt&P+Q>{MZG4;Cy#u>MBfK9Xp{kCQ+pa{J`_4Hb|`N;17-x zRdwM9j$a=n)(7AZM&d^U_<{R{DM+jj#vi{)Y%*io*%F(~;Ri|!Mp|M8N@Eh^v10U4 z;zw(yjuJoGF!eu4y#Gc*Kjw8bqd$hxXG?5yVA@gQ$FWQuC4O{d>L~G?I*Dm_W!nEF zvC9p9;5eo*(gP&6d*YAZBsO_5?I`ghpQ)q7_2$deQR27)m^wt$4AYMixfx8IEzy4*w4?pGjEraW*b@5}FzqPO-a@9%me`a8 zKTs}W`u`-+-V&xCC4Nk1WC|lwu@MSN{J0c;AeY9}(;2y(kt;xAVM~m2HMAqQmg#3p zY|3ETQ8w)VOnoy;;>Rsaoh{LBCbZ*zxep|&>}T{);>QE<1N9Cu?OY_P9%l4WN<;lD zQ)f$T%7-5)&oS~mR-pVzV%G)uf&0Q0Mh_)^yvo#3V!YRx_8Uw)N?b1`OnWKQjuJoK zX6kH-O?Q}fl=$&3{6PEnnRb-8558dPY>9dm(2iZNn0}NP#~Y@-8YIs1d#1lJiS|A+ zdTfdOXQsU|iF_@ihZ5uX0TTJ2ASFSz10__EL}fTHR5pT)GJ#E)@I9VK#en0jLp<6X$;Co%eLiA{@{cD6+O zOQ5|6$U{s&N{m07siVY?C*TL_pJdvFk;t85IJU(09L8=gBlAGwdOFMK|4Aa3&-9~2 z{R>PTCH7xr>L~GJ0n=W{$Rdz<-&|wr*Fj=wOroD#j2>I!{Z_`bvn4h?WZKyh^ZN|i zvFioXj}o5?Z$M)F)gZC!9sI!kp$;U@b1Mvjk+^=^GIeb0z+5UIb>PCd2Ev5}CE7K? z3KW#co5O|e7I0w^Mj~g~K>b6TN_kKZ;7%vdG9{l0LeBpZqEGRKg5pZFi zBjLirme~K_`-O(I{P8^luJ1K)!L9S(`vu4WuA?(>;lA+S`vpNh6d@^?m;c@`KoX!> zVlw_B@jkL*`cdLXYo?A8KiV+$KS|u@{(HY5$WthjCzP1iaFDp4M}fqy|K2YM^6=mL z1wkJEd%plT1(g5ZF9`C0?;CKR`0xFKARmprcfdUT_kKa}oQcDS4HT4^m&V>JpdR-B z_kQ8O_X|8;y>vY;nE#(k3&t+nwCHG~Vp);){$q2p0!&S&7%AHCv5(c=WL+K|7FPa! zmX))Qb#d3MV#CLI4m(EetU4BQW&6d86V{wJTe~xS$yf0gNf0C1WtMwG)S}<->^l|Q ze&)9HeJ9+%*;?OEP)MCQ-sriq$dOS~7Wyyi3E)0<0XLMxc>YQDz zYmHtly;5+dV$=(kT|BE%5k2pDFYae;n~hWC-p2PeEifv1`ylRdu1(3F0E5*74W)OF zlN5C?sV>_&W`BXw8QGVqaT4!KqMhnhdA5Vi7Wc>${0>!+UwkJ;MO3~dXMgQ=Z@KlG zyA1G|E_S=0wfT);oq`v$Dr(2e%Gt~AZmD+J&rq~vW4qSs&ja!&y1lcseC}~WxqMpD zI?3+ePkkoS=Y$=+2<#kB-K#gd5jl1%d-h-yDT_x#KS8yZM znb$^pS3<<9hb4}s+s0qG;oV!zXsY;isVTE$CxRiei)VT&qC2&DD-QNsS!6U&wY}&5 z5UDTiREs4m+l0SJyq;Kf!djRp zoxl*;#djf8L_e)^*0@%gKP$p;qSkTu`&|?-B-AYFmC);4^x~VRtjfnm-vnkM5?risTMfA|)7mKq-&&%tjy*J$_IXb>Yu2HL8rIvSJ&(0lry?FAIns3j0X!Yy0MaEWY z(eaYixmUEe?CBk0uy0{ae|NL{g>_(v?6xJNAVn`~zFKuMb!YnttwM^m`WFW7*z2*m zY;C8F`EKoBT>4=yKVrv7g_%`rRWhBDHY(UTYejvo`K~B+#Nd&6{)Q)xY52Q+vWvg- zp(5(EVyZ)?am)Q~LwXzyPmL=z84+`Ok0IYIVDR#!iRUH#kAGh-)?w_)b$f0;(CMmF z7oPoDs=jbR&WO@V-$AeB?`DG`vfGY~f)pL!cVb}wy$`O*EK5D(;Ph#k-kxf=6Bo{` z>$6PS`;yU_ZgU=0=8Trub}zx2im2Yx z{Iz?(8z(#I%`~~SZdTCgCsUU{OxZqDRk`))waTR%2eeD{=rf^T?(v6SFWT>3lB`$R z`}m1T1LkPlac*mQ;MrF&MDgO^AW#ua?pM{_$V;tnsF=^Sp}IaLD<^F}tNAda&Q_`9 zmh+3!&ptsRi|4v$zLdD2cx%)h%Q_qHnhs}t+YUR}ZC>@a{5ruqR>6IYzcZvF8m63l zX8Rh`1dW`1>b=*+96S^izwM`E{U9&Xjk4KUy`I$S7Fr&WWdol`Aw5!Ozy7$MFm!3B<=e>6ywA*)ZoXkX@Tdm)GX`A*$ ze9(~#yum4lrHr1&%&O5@8t_E*(dU)>50@8NJxy{_JGI8xm1P&#G8NIONBxc)IF{%K zZfG}mK;Wh4xAo6>T0U@`IpS@6es6=WQLcO5oHbvwEb~#$^AW~htYdk(1v|~#+*z#n zbM}nEp4Rig5XCD)MnQ_cDL#BfZg8#IcKwuRdv@Njb}P`>QatI5YNd;YZ`j7q{-rWq z&rj^&bMA-D%IcgDQ@fLU&)yDq9Mt=TYT?@*eHT}t3W=#y}5tJWgm?5I-7Z4XY zJ@%lgglNS*>F^B?N8P(05SN``S#r?VXVc!t-vSfDMh`oo^YL)UXvgK|wfz3!!9}>& zP`q+%yEj*!zfz$r=`mD2uII=j_IC!gS#l%haCXJ#`-iiNbwp$&#qZzz9&uc2Dm~wQlR#YlPVLz43c{x^}*FxyRJb z+t+k3&=|U)dO_84yPtP1waL_t{ZOAZJ$cvh#~;kf&TTC%;A`ioS0?oguV=;Ek!{y= zw!Eoo*)EHzZI}8CxnDgzX4i?zubaY?w)&*K+O&IrtfAsH^W{z_)D?<{J>DMNVS(4= zyqig4RlBYow>q3P)bSb1t^(Wct|z129B+>H_}p){!>Z^ZUeGPPZpCoju^sbfy*7GLmwA(~W6>7JPWi<>o{H$T-rHVQ<{s!P zzpIJkH68Ex@^2~V=e zR1ECkw$c&|kzGYH3Q|-@D`S-x$` zjltrTx8E-~R*~^gZR{0k(UTDm^xR~oikCRJ$5*iIc4ph15n$Cl@4$iJ(0yM#4;}Z` z3QX3~f1=ctr+Y%J!&8;rm-IFs$TMyG-R9ho;kw21KHqJz*81y!VX4yw{)`{i=j3Mg zzSD(mS6bD+OxEndoLlCP)3tu+8!x?abE0ju|NG6i+e|22(&6s&qnkopoy*(HnU+7% zcof&oa*h5TKeh79i3`7vzqKO@*8t_AE8A|`(B1c1scZg}x~01?QOtX(alvwvOZrp4 z7xJ!{9!oqp`&Lh#g1{WHbPJVgLVZ&`gCf^>)W^%ejrMWe zzh`K*{Ww{r+JWEQS$37#cHPG$rucPUbtLVg)RKd%D%vRAJX=sxaMA6MkJ0vL1|?U+ z2fv8iHhIZxdDnB_U6sEsaeOw=wP)+ctuzZConLg|(<_$UZfv_(4$R!6W^O<6esYf? z!M^?)W3Eg&HRY(iiqdg2dycQY#DV>}HgIRC#n^sQ9KHy;*iu*>)qUa?2!EJlK0+z|o;f$~TxyAxv+Mrglqd%op%ox0Mu z5vxR$T1EVPWfCm5v|U;(%WikJU7n3jw+BxU6x&Swq5fxy`L$U&AMU2 z`?w`-#lQ<~?@xTYA~kFDS$lBsLxAi`_f6kUr3$>|l4lW-)!Fa@tKE;!FW*+f&8*a zD$`#Z?e^KB5OhW7)zx&x%M$7umnPiVAD_`_nO@li+qtcx3!VFR%#KW0t=e||8CJZ# z*mmu%jIY~yw|%z5A-%3+_ZrW%A0s<&^TYLaHWlvz=B}LSoqHoA;H7K(eg0+BHxz7X zdn_bk^{_Q_Qu>6hirO7sd5(Qv*I?WI)}fcG;kxj%r;p65I~iKg&Os?8D=H`a%frG& z{T4sV8-4$_US4sPOHM+K=h(S*TGzL%3{{%8b5pJNxg3MRXV=%V;>ER0MRflqKN+Lc z4hyaCw$hKRdobeF`}1mjVB6{_qeGT=FjwpvVwo_iWs2W4#|u#tWE^GrOWMhs z_xH73Uu?gmuvY2X=fq2QPWar?Gg%p2JiFJ+YZuy|nD(7zw=di7%J`i>^aEm(>Q3jz z=eXwDJ?m9DZDeZg-TK0rZo^bZ+LYAnv>!3a@!-1Zw;$S@EY`_7V^N;n+q`Dd&vKX3`d&Oa@xoFSN6IOVy4UkNHY#iVE$GGdu9xFXK za{f?Gq5Q&&+AV_58d-TxIvH`fF5GoU)N7VqO}1UP5V0I-WxZD-uQDYr?&)vYPyW!1 zsztY_xpXZlo9Hxh%77ZTqopI2f=+jp%Y5A1;_k%DxvP^mYq_+smyeh0w-?Xo6mNgF z-G}k(N57HPaXT6Rz#W(k z(bpyV>-)ucMkl*EY`ZEy&OenhvwjpEAnmcb|Ea9hiJmG>!&HslxQ^-kv~Qb-Y6W_U zvZCIOIR}5n_4>Xu-fmf?#(H;4^BFD+TeaBkhI={L)n(f?m7lNtEd9abH|A+?GfGW* z6eu4XUvn&N-@r5BgML)Snt#2!ddAM7=T+XT9d7kn?R}}@n5%PUpX~Deto|Lhgm#mc zvh3=y?H=%xzWCfz_ikLp`OnpHMsgjj`i)-g6QAw2eSvYv{>q}U-weLw+TSSHyuxhA zt-d|>t~#>#M&6o8t8+Og2Mn@FxX-ey&$c@&QsUI>(2V}Gog}Zc?Xf=HL}KAk)4;C0 z!Pn|FYl;lM?3L?lIr7n=A*L}BU#cFrQz+?X`^@8w=GPw?0I zr$TDENS=fYA61y&QYZzvsE2S->mykW4&_0^A-|bo7VlDH`!);*2~^4MN>Yq;vLAg zYkbbC@}ktiu?pLrv^K}go^9OTM5D;|?T;YY{FxFF)9ud%2OEyu^7*=pf$lEpLwOFT zrDnc3V%hRpyDJH%8M5{G45mEb-ycyC-SK@z&Y{PrbT+4NH*TGnVYBGD{X9+g!3$?( z%rQD$)h98n)_0%TnnQcuZ6A80Y>;`P`s&pQt8T0-TVkhJK0ohmIv66mgUBdIQRA;a z#dX51yl!1=J4)u7z1f4ut{Ou_2OfR7`lEGx()82nPAkU0c{6#N*CUfYV!3)>y9V98 zn`Saj%YLw2YZrez_WK7@w%rqLv)ei74=$~r;CnjaNmgZLUdFU1YR5#sU7E2pt+SqW z=5mom-S1s>*q3oPx9s#+g=vP@JM`JVdGm=AQpI(P51(MgJD6?v+7%o9>X+;0i7q&} zspi$h(eiFmi_`lWuca&(UB)cO4bCzM5;b$fI8 z)5lo$ISTh;Dxy|pqq}`e{P=y^QTYPtHvO`OWM6r`qcSDE=;xjRjusc^zr6Fj-gtwr zS;fMP8~)qIOr7fOIPS^Z;d^(C^F3z2X!$BIMENx*qaa1Cog7r%hIMgmlQwPp=6mIN zrm~-2od{Pw)8FFfl-5Cgw$GTa*mi!evz-#8?__qmKIHwnveWvCOIA!OHEX@~Yqr}6 zmR$?B-8Um%^xo-Y^B`od?kAgr2RErX{j^e)OW2rMzTYd@D|v&~-Y&ipSJ4>x`7!@s(Weu@k%$Ysn7P>|NO&vY0&Bmd#~Z6|jt z#xGL#JnvlV6;xI~zse<7{d$G#*B&xXMLl|#m5pn!l`JPaYDAVrTE z%E|BEe9&Ww(pE3S`CC?gHouiEsxNkaW!UWS6#b|*&lHV}J4k5G*L zSL*mhTjlMzmitZ(e%m3ny8e35w_!)@ruQ>#o339uKASyn)@-}GQsZ(IXCAtrto$YE z(5#E=&W_2gk0{;TIb_fE^tbg|?IwMB)91d(hrGB)xsUXJ=)JtRCb{)lSE)WKle}iu zR=yj`ir0p1SGKpfea(PA`lVs_{NmzNW_CYvBr}LVtURvpQ?+f{3C|uCZQhny$}E3w zvU9oKrjYX^Tij~bUvl7_JRf;OnXe=99;5uC4=SSaMsv581)l9Wp{tEc=#fjItIk2N#Y>W)qc~0zUbB-m{2iJ{IxI3?r^qU-mZxrV_trEC^PPGf`r!Emrs)B)4ZmMel0I8@#jqbrPRRphcXU3Wo}08E3{ieZl2MSNSqX)i9$#PkEK^s# z`DJYRt#UcL4tI?=bm{Y=Lfg*t%encrJNqwNmlEIofmPqr)%RPE-c{GJX2+#?fA#N) zs}x#fv+Ryy+nqUdMe=belM#{oq|V&^5+-T#a;{m9%{X1H2m6ih%z1OA)nJJgP6ba? zE}c6PTEF_q8IyY-mkxKlEblzW|7rL9Iy|FOymoB6+M)%KYi1lcF>hu4Db1Rm0YCLL zK3pH*Hb-@h*xZv{<@5*J6czsH>L%H8W06eKW+mO9m!`GOw9e?0THj{Y-ipLYEW7q> zyFHWF^|BLLtxPh{(mHw0Q5TM3!CrcePYRAGNVrSQ@rF?aZyK3jM5(+odhDl6WRRu)F^~*WNcg&kVWvC{5-x)(jL5g1QKGsp~ z?p)DLZ;lx|S%012S!(i9mw(vx)}c0P=T`RbnHSwQcmI`d3&aP%li4AoT=(>r($uRZ zqbv4aOj{Q@{@Y`)LHWf!lZvQ_;sC=+lM}~PQnL2v3>otLXX}OT(lbZuOD}Pc7(Q`F zcK?s99YRu6B9`>|mU-aW1J_3x(>tjTz4yv=jaK^Al#vg?5ZT3lS4>6JXy>G~_MRPG zH6|-`uNgORW4CVYT5qV<)W9RFv5joNOj5}{hk3PQp=^gg^9mlq-bJ6(pv`yPfS6*{E`0A)* zLGr{|(n0r5ehu3y_RwpphsE3vSx4iq7%Z83Ao*r}?UCcVdfzPU^x5LW2ZN%FuP&k& zz!v4fiEX!X*`YHpR^;06)7UAp_g%N|otNDIvNPX7Tt9+JHFn>q zEPtOZ2Hkw*2C9y{wBl3O{EE>Z`393&cAeRF#do)?c^q${I?O*X{r$`HeXop6k{4Ji zq^+p5iGBNi+pq&(Mq^EODcN_Qao*sji{G-ZF%ns)j@`Rl)%^*}F1|aVBKlUP{Z`X- z?Tn&DqhIHpnC}sO-}lFK{(IYs+Qjox(z7g5E|q289j5bjfAwnHUaNL(iND%%-RH|W zCEqrey#6>{1J5`VuL~IkDLQ?K)T1`e<98JW(7_{F+D|m`Jpz4I(=GmIeL$Q$=CC0TdubWFVQPqwbo+V z?I{ZQJ2#3K-+56Hz0u8MX~%DsXU@Fgy|;IHw(WU~quY%iERH*Uxpj<%txe*cA0 z*~K+SMRZZ!%AknD^;KiU?Q#c{43Ep4H}a~%+oyfpkGH>U`nlL-uKDsl1E1KcNQ&tN zuejf3ywc6&)$5gpZa;V7V)XE^dR$u+?-Vi$Qgl^v$9+qy0@S*mF`J|?XF_hCzQxd_ z-1Ge$KFr(HZRO9bi{`UuoR9l4C2C4l%fM^yd%Yi>ZM`?O*9iAikC95>GT6V5b!Xev zs_#8oPbZ}G)X?{u^IZpdKQtIGo1HN6-d-2m>-$sH0~Kyxz1lzddF3Nd7s=Lrs`OH8 z%i4`dm0CJ~~76lHt?+4%w>Waz4X+bk|pdF)NQRNwsVaxyL#@rm5wULNb&O7c1wP2+!tSzKK(?c(a~4`kE**0 zild7X0E`Uo?jHDYcXzj7!GjZALmO;Mc*{lxZtX{ZgWlS;2vV^>pMdQG~oF?BE7p5|A` zV8gp8fNKGC`B-9=J-Plx9Qm9YhiI?-=39v24BlE+2a#d-9z$e=^{>kF)(n)7GMNMy zhLW-mWuQtEYM37&=;-fE2BB+o09;F;>si)WUe17@gbfGj=er1JvGd1#=tX&MpkO0A zO#*?npY3-qv~hO)FuRy6O+$v41fl)$n%5`TuM{~NU7yxQdI0X*o)sJ*ygv<~QkXLD zmaqaC7e!jM5u}kp(gsDW?is)6N4`Id?ubwl?)jv}Pfwk&lybii_|tv|I^F;5n6S5i z>bPcpn-jp}YXwGMGl(`A37*m@=zOuiXaS^rgvEpkyR*8F9-`1HqlMJXtoTiSn%0IG zMbBLvq6wtN_R)htnAKsj-`b~R3JcxfvhGV=F`OO-_&4!2DmmrmuH*Q zAe_GPtFpfjo6kEHNr`X1Zuv~1n^o>w1VZcD@DUqf5RI|{ua8-TQ_w6{^GuC@_?T9Q zI|;Eu+3d641w0qp0^KfeEBzC1*e1m|nkimA_CC3~h+71V|Jb?Fc?F;Jx7DCpp83pU zeb~I(YWq_M%1l#B9Xx6X^9^$t#RHvF*WUJe;Bl}6x(qn>XVP%UX9n*>h$Y3Mpi@}ZFc|^bl1@Vufo+uc8rNmWo>cl6E?TEV$OR3JFl7bbs z{zM`?o%{MqTX%r#0CZh9F-y1^Zi~K~(n<5Rt*%cob8$CoWH`60g3{wHLu!KaIyASP zc7BJbh)YNexmdg>&3}NTMA6)jB!m0!3j=Wf;0ScP9dFE33ht@8Uk)*+uh+1quOAhe zKMjW`Jv~G8(XMyf4%YeUQ0SA8ysuzxU`pm%x;Xj`dmC-I)dg?V9ZN(2sMiVT&g#5> zfS+fme}U?RtBJa2_l(*p3GPfZ`RDbqvCNg@qkHh$^h3RG``QHQh)^G8gjw1h=*O>=<_H*2eRG4R#?#RqqC3N)bz8zDb6!bKF9fjLZ z=3AD9-{#|qsAYJ5VcG=scd&BuR)FDJGXUm4K)o(Nw<;ks6{FPDhKh?*(T-ua88Q2@ z@6oKHe)y>i-FI^$< zF5znOc;1)4dpi?@$KmbX0|&^e^uk?EFtlLYiyClbVd-wU%)W>CP6!{yAjJQ|zk& zuJ;Sj%}m-xH~48Ey-S6%=NCFy2e%>im3-yTP%bE)uH0YLpGDR@gB~s{6G6$4{wp_v z(wN`fo@-pFlu63S0!wF4F~EJhN5BDU82=t|lDEc5Rl40@d&+8>s8KoF=zZuhTc0R#4uT(RF<-!^g#qmyc|4oAa&&BG1`{$T_(6HaCLn{RT!~Gf2`?k@<&tMovEo!NxVDu_P6d z5gbmTcYBRluygtPdYP%8rj|1PT}ke;Vzc!L1JxPX4+<2?CJI<8EBV@Yq*MUc6X?cz z+AMQhnao?1ty-hwcRz!N&x?1l42COKap4|toWgBN93$|6n-NvQHJ{D z_btURzzqhvuq_Urlc3dkmeOYPbsYP2-r=Z3zPcz|3~|KD&$RJlcxr}x@~eGGrJBY2 z&xOsrQRtUJ_TMeg8tqlSjFc!u0^AUw8`q*MM-irEDQX%Yqq&Vr=UOVf^n}#e+8rWi zH$t+nJ(XqjLXh5OD)mV{dv7<3MYkP3;8}@&H;(RQd$%yP&rZ3?;=ihDS{- zNkvuZy(X%1@LE9Ikbm+uWPINcKg~SZ7SjFJ8vwiEKsQjAlIGp+k;ndn0u!;3-8Yzc zdRL^MG}rs_Awe5l$v*ZSGwqosv_EyfG%v+C$@uhDf7Yl)-SQr%D)}bWynzaEBY-ZP zpOj_EFO^T5!3yMY)wnB;4%#6-dgHcPlH@i>t|!bxyD&2e*=AfH>jvRc%f?mnJ4sA* zi3!6@e<&b4o4vyWxNol^I6!>|YBm%D>xD*G4O+q4tp#>>fxpL+d-8t8C#8u?Y@r*V zeKS7i*}1tPtg01G{Tyw9Vdj^79$5FY5@fS^pay*1-p*X$0Lj&)LoA{kDa}QM_FB9M zG40B+d$SWE5shWgmdUeYGL%=X?o)^833%6fV}u<*Lg(+v;)$5d)#Xo(`> z(OS$BSBR3QdPEt?_5pcYy97ACF+dl2v;zYVq-Wh`Y5M2h^g}Dk%5HF?tahhBTp7*J z-sF0!j%jA>ycUa^O2-I;k#&+zHEtd~qje5h*TPtpy{NZ68MxlJJqkEL)JiAru4B>0 z+!_=?<9mV_p4}+=pdymA^GEn!u<>>7qS|q!nya7YAf6_v`R|h@4O}Da7?@e0Ok>Hl zim|aZULmmi_G|$-Kn^2?ckS;-$9|(Qo(9`zQwceHad$NqVkLDULOs$H(dgiz@=uhv zBxyg#=m!ef-IB$W>C?g5Z=C`no$E&{~b)dLq@KX z;$3(8&ijJDEmdH!aMRl)rT!gCKUkO1fYAA z@E9SSyidU}H%jb(#b#H-dLqZ;d)(|AVrLoN)4p{W+$blqwe{rrwUM%pQ~G7Ws3vnG zl7^zB45C|hQLq}|CIa1U)m(2`{%^e(N%RKw{Dw^G^zG!5A2?6yzV%89-_0LdT6UuR zQsUg`RoHe#6y%e??yBU@iZZv*fYs_Zh;+&VxJf|wqGApc8bQzBvwmPsgoS)&MqdKf zzyVUS1n-wlDlHZ7{y*1#G$dt&hz~^QJOU#sA3H)c?F`?b7Pi=PDqJi;){6&ea)Z`SQ8sd>1wNE2noQ=;@R@6P5<6%OMw|{GIV_o| zD3HCeur(3L7R6&N!j;Vp2bF38ZZ^=Z-_F@?*D>D2400F4Y5)3he7RY6%)C5-b@3MA zzkg5ch>VMC#mxe(DeZx*TNL>??cclf<97TaO)m~tI1AE&eT}y@2^=6Izjc9JjpU|q zJ}+x8ztI=5W~j6h%doWb&=U=)PeaU_uEnremzlD5E4(TS-5uBQ>Ml3l;S{Mc((bM- zEs=At5O^GN!RTuSQ7#U`yREU4Nf#?N{>D%#6Ebt&`%;l1VcvL0C%V+`i8)o@oL(1U z%SlJzHEYr?u-Jcumm;M$cC?B*+q{*kF;%B<^h>SIYnN?;(ua8%!>vF|1M^q*&s$xI(T_^QkxmE92hx^7p&rIlP(*);#Mjvcb| z1;fV>l3DNDpGn~P_-*X~2MC6Au8lQ`__SmhT~c?5O(A;-OE)gFqi2ANAs6;>mbysp zE&~piF%&ZMuGlrr`WJgz|1CL#v|_0Q_V|JO=;$j19^XPR`kFy=Rq+_qUxokWF26th zN%#egtXNirn*7nTS$nDy9lP;4_L)pNevkw<~9!eud!XT}eP z-XtDJj?@Q&=WU*TG2y^k4a+{A@gJd!YuYShtA0 zjGKC(LUeSwebz}U`kxwQ(eWFzSF{(j&*l#QrAt10E8tyCzJDft+lzqfEd#nEZvFnb zd8-fxy$vJrVFkGaELCXauJDQC8h$j6#@;@DBKW*^;|*VWS77Wsx=MSz;i?hgh@EBi zEuN}|V9^8sZaL81g7C~N7x3E0(UJ%~AmaU2_rSTc6A?$lQa9_ib9~U+h_N_5G<2eo z#qe#2+zhR1V4B%IDrH`4-5!}~e3O$7;8p(6xB%o?i=_qm-H zos*t2taFKi&?GIy5b0|rMc1tp@fyP0ab|bJk8p@dCB@dheeE3Z0Jjq8Qh&T?fpKf) zY7XsH3yWn(oh5njv{Q3mV_qe6oOiq(LS%0JE2ZyusbDK95qQebuLWBWloiM2ScvX{ zO^aFm4d7M*UB=CG^1T@2sa!{Ynn5y+ z-wWsd5=1(N3vhaTtXzxk(D#xpR%>%j2=wSBQ?~lg1x@rrh;Lj4;uznO$#;@X7d;5;H#3+{RyU>~Lt=*GkmH+aCE6#w|}&`gR@ zWNl!y2-!zXxWvC$J((t3qG$|@DUz62@Y{t>BHCE9kfRb$q&;cTN*U-EIu> zgbS3YevnD1kG(Rt_KK_-=!t*oXrYhvE=yF3R~tSBxGg}J1=jf?a~gL{Wq95vDuihp z(P4XP%ZNVnnm~Uy$sj?>`#kdWkkbQJhewGZhULS_(d@a1II@|ExAwWl0)}x9z-`WXdGP2g7Mulzkw#Db+$KSsjuiaTYR;J=|>Vo8v)#QpbN*TBEH8J{-XpntW!Xk+mGN^ zA)3@_CDg-L&42#Nwb)tOBh6y~q?bqRLbj;`D;>XI)UVB*8>CKb^_gNX>lBkN!O)y<+$w26Isqs zp%v0vEa_yn_hvnsLEV>4@>eWiY?9Cy%+{$KXOB2TOM0inf6 zL0|b*7wU3?yv3$_$lDncJPzGJ_m&RfUvxarKY78494KVNbA?=PcFTOgUc-4oUf4qW!HORJ!B*;_}L7vetnF6joZ zBK4b1fdx&yVCP5KS;|V0D^|hZG8qSsc6|5;%O}{8eQb=e1~q?_pr_vU=wSElSu}8f zBoC2pLx;#LH8i?!OkY&cIdo;+N%>|2!ur@1nra;l8;MG>T+Y=aThljx!6(nQDM+vJ z-7rmY`|g$YF&uMtzCvJk0F1t7kiM^*LEC`hTCRKOI(eU0u%^D}HTU6IrPU3tSig*p z(|A8koVgz~ts+UXLAxa_-^~6WV}m?IB%5M#{-Wh5S%5nTbSDEdxg*L*Z`2oLgOZX{ zAsjW@87=5Xao}a1g6xNNA)9P^a4=7AH9IPF!a3pv3kDetCu3#9&_72R@+q|AY69FL zpnElib!!04m5Y`I`yXTNTEKSpcq!%0Hg77;AN7oupS{g!99S9(2o?=h5gVV7=Wt-k z0|L`xjl~>Tc{bFQ8-VZ64+C8-&Mb#}nKXI!FT)o?YKUzcKR1NTvWHV19%`bw$Xq;~ z>1Xaf2UK%JGg>qsiZM>Rjhzo3&MMY*U)76iLG1?s>Ky^PIu1vowP|DW9daVe@GxRO zpNm)}wU~Rq@z>NeD!aK(?rgBFAS;QSfRZWrEFyNroD9C8To4U+HP**l?BcD00Pfq_ z2ppgY$Pxi(x4FXjSmteAr-|oOiU{HJH;+Iycfm2p(-+-wK18f zm^BSULW1AjU?rP9GSH=7A@KDu21Z{q2xpBP0{3O8%QvNj`FxwKj-gnd{yvG=+9x>R z<<`|vsKmu@WTrL`;V6Xt7e=0M5!+9HT2|L5Q9nM-JQWxgA%Hs$bUE>0@wK|3m$^Q$ z-p#@E5S_d{tSkOV|BM^I8Yr1^=%2C$i-ntX*LiYWWKK9mzg^$By*4^OMX;7;Jtrlj z!3c2QdPv{^9pCqD1$;rgky>_y4n%d7Dg=qgdzR8-#AV^r_({u6@NqWE!|(1wmREVq2NRPD`ZRQAzN=VG2=wcU%U-+CM1zU`^N0ot2x z#avpPT#sf{X9`}5jtLoDNKU`(Y=VbXX|-2C(InT;gjh-E73?ah@Ip}6tYatfu^c5B z3pg*9pLfUof1lr+2BWVTl-?joisX2-6itMd*MqY|s=G^mt4^qxb5u5Osg-BmW`>Mq zDiK{&%=Wk2%cW73<@y7uE_*C-`rM{fYHC*Ey^8 zpSus@XwE>PfEmO)Rq8CqvHRHR`;<o~1Cvq=F~EJR9UP#h-&x_+XdU0RshD>cf$fDjN8bRzT!*=ed_dyWUuBk&hj}>qI5xi91gZ-%c3W2Y) zx1KFHK)-a&$%QU%e(eeqZT+XuU>LtPBn}Ii8BhEh3!}v1^dH2H^F$uQ+)r2eCyBli zZ!;{u3td`HsCnC^(w&u3UD$Mu|wj47iIeOfFvC7#m_AZd2L$ovA*pH z%@*Rrp%Bit%(w87N6LoORfOlecpp8&S%^);qUMJnN8X7wqE`r9?+O@w%^;~7j~Bim z#~E=)E|0wVgbd7~r*9lO256^lD|a96GFgsjL{hAnLy2gkS)@L}1id6{mL_}fuaOOx z`TPvb#CzNGg56c1D>^~H&bqcgXsuRsWCdL~mZ?DQqoxC;o+$257KX4C$ikE=AXSIg zF*&;EM8Ep%=?jN>*?nnqN+h~Cw zd8QWKb||a8OiwqG#YhZALZ@7e!;Fl~6(N^$pz7|5Qq1vzc0a3dAQuIp2P_;y6fCD% zbJQiP$g2gu9^TdtaDWJHTX1oy5u*R{%IUnPInOhPLiVBUloPrwdS~Ba>uY24u9oM& zrvCnqvMzP3-NKY@n|zQKT9N}9C{y2pbMk=mpqvrY_;u+j18AHO}K@ds!R zA=J@x(tmu03Hb6+4P8-BqxM6|gNy8s(Ub2@FP$-|D8dAU71^lE1l=eucvVNQ2Dsi` zpxfdFllD$Sbm?9&t>#AJ(IpCI2kS?^m9}!*rwrB{jM#5Kxt%1JeC*e2(iq!czB+!S zX{Yt^%J|W*uSTgR4T}SC_kgZ+I)sI;mZKo55Cr#PcF0C1)A28a6r^J$ym47Ynv-6} zl~xKK?^r87)-UbQ8Cc0E#$~lAS!yAI2>DtnQh(pxy8+j`4|IJCws)Y8=**C+{o127 zrc%ky>Gi5fKBitnvT}w(d5-zCLXRRI&uO`Pq=Q!Pj{M9=G0FQ6YkIV#?aZ+HKFM!$7`Wa8pnEtuZa}f6CE#yWiY{liM@Jm@!)rx5;9&X62(k|n(kgM0S)~9@HC>>dK$RKe)%o1^f@4?hqF z`x2#$2`9LxVCZ$l79Y3e9b?tVAr7+%#>@V*N&eYZ!JLp6>i+xtBWmLG<**$YEo4$U_DhxRNP*Tjy>NsKm6p|y zj!Jne7&L%-{{r37axA#|)jw(C%vK6%`-j6~fsa?aeA_*Tx&DcBt$~iixMV}8FB=HP zaew(iqEhv?C5<+oiRM)4{6P^osIl;PE{JqpumH zhT5JoQ|x^a067+W#%aaQd+D~c|7&VRw(n(AkDymb*Rs&1%uk>~e;#%&VHgKVwmW;K z!&k2$ZjZ(aP27YZ;GP5B(rw5KH;mcrkqX2+qKvH6M=Mt5f1)i(nUfaiGS=g!rn~bn zynj*ih6}plcvS0d?^6nAKO&ZfKxWaQ1gl1V2e=nN*M>a2!{H#1qMBbCLzYT#iTuoY zT?8|18WSSE&sO5^ZA+v(d6ka4SCT5|O34oqF?`o2XF;mWcG4h&DD13F8sNUIb>IM< z(m5v`5lCFlEiY`M^L=@L_vaw#(U(4~GVYsT$)U^Y>B-adu+3-K43PRz=lgGhrGlp= zxZ8mhsurk`jpsYCuMl{AufXVQ1`SX+4io-)ilg<($@%uFc3~bbSE%fJfUWMY`6@{X zh6hT)|CYE3Jb3319ym!L6ICU|5wuqZZrKU&noVwXD1h_BHPAholHs<_!l7VVjI~8< zDk>}9U(GCz*rx-b{)73N9P#)o&aKb}44I|01rqjc{U^?B!wc`AT32xhYoM3Q ztc=EH6+KF{ldwljGg`=<@^%&kySG5sP{BUPN^TFWQ88&{@6h0?l#BF84XP>skmtr7 zegTgX)h8rx70Y{moY=grr@eN+nO#;5YnV2U$1wt5nH=kFF9LS&fG+z&htHzbyLnc; z2(1qj(uc-jOJ`%k#V&X7yY<;D6q#;V!|9o!Hh^7uOlze2Gw53gHOJC&TAC9$`X zR4`YRlkm{@2IF zf7jHblUhzX5_10?>L`|k@S`Mh9>9G7x>dO!=l4lP3GZZwSi~JAI0Zg#avf;lNL$ZW zOs{`FZ~ii=vy5fc)HXeTubK6{WSaCVqy;i%%>J*K)AN~2uPMNN1iI~YpUOz3-osQT zm48+5^(lc3qM~UivOPnswLnNup>J4~lYspbr2}t<;c<_lMHC(Dmz4RpOTt@1?t!c1 z!WtLgJ^@`#Ap)vm0;$=}^T@Cs*GRjtU#;8L-kofiNzs$H&oz}I-_~#ku!;rCyl_aQ zlF7^YRLA(x+Oig{@$lnZ4)2Qq?%SCQ93ZhX?E3XeoJl4eIH)u78k5zJ#$PCr-12~mTeDF�u`VZ;CN7wfjgYG5^ax)e@ay&hMqe}N)N=Z( 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 Q66iuNaR!U;|I@$!11R+kyZ`_I delta 16360 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 diff --git a/database/entities/Application.ts b/database/entities/Application.ts index 10eb7fef..b70a7562 100644 --- a/database/entities/Application.ts +++ b/database/entities/Application.ts @@ -30,6 +30,6 @@ export class Application extends BaseEntity { name: "", website: null, vapid_key: null, - } + }; } -} \ No newline at end of file +} diff --git a/database/entities/Emoji.ts b/database/entities/Emoji.ts index 53b59691..920c0518 100644 --- a/database/entities/Emoji.ts +++ b/database/entities/Emoji.ts @@ -25,6 +25,6 @@ export class Emoji extends BaseEntity { url: "", visible_in_picker: false, category: undefined, - } + }; } -} \ No newline at end of file +} diff --git a/database/entities/Favourite.ts b/database/entities/Favourite.ts index 2c61fe9e..c71297f0 100644 --- a/database/entities/Favourite.ts +++ b/database/entities/Favourite.ts @@ -1,4 +1,10 @@ -import { BaseEntity, Column, Entity, ManyToOne, PrimaryGeneratedColumn } from "typeorm"; +import { + BaseEntity, + Column, + Entity, + ManyToOne, + PrimaryGeneratedColumn, +} from "typeorm"; import { User } from "./User"; import { Status } from "./Status"; @@ -12,12 +18,12 @@ export class Favourite extends BaseEntity { @PrimaryGeneratedColumn("uuid") id!: string; - @ManyToOne(() => User, (user) => user.id) + @ManyToOne(() => User, user => user.id) actor!: User; - @ManyToOne(() => Status, (status) => status.id) + @ManyToOne(() => Status, status => status.id) object!: Status; @Column("datetime") published!: Date; -} \ No newline at end of file +} diff --git a/database/entities/Instance.ts b/database/entities/Instance.ts index c54aff58..6d0ac79d 100644 --- a/database/entities/Instance.ts +++ b/database/entities/Instance.ts @@ -1,4 +1,10 @@ -import { BaseEntity, Column, Entity, ManyToOne, PrimaryGeneratedColumn } from "typeorm"; +import { + BaseEntity, + Column, + Entity, + ManyToOne, + PrimaryGeneratedColumn, +} from "typeorm"; import { APIInstance } from "~types/entities/instance"; import { User } from "./User"; @@ -9,7 +15,7 @@ export class Instance extends BaseEntity { @PrimaryGeneratedColumn("uuid") id!: string; - @ManyToOne(() => User, (user) => user.id) + @ManyToOne(() => User, user => user.id) contact_account!: User; @Column("jsonb", { @@ -63,4 +69,4 @@ export class Instance extends BaseEntity { max_toot_chars: 0, }; } -} \ No newline at end of file +} diff --git a/database/entities/RawObject.ts b/database/entities/RawObject.ts index 983b100f..61477fc0 100644 --- a/database/entities/RawObject.ts +++ b/database/entities/RawObject.ts @@ -1,7 +1,5 @@ import { BaseEntity, Column, Entity, PrimaryGeneratedColumn } from "typeorm"; -import { - APObject, -} from "activitypub-types"; +import { APObject } from "activitypub-types"; /** * Stores an ActivityPub object as raw JSON-LD data @@ -15,4 +13,4 @@ export class RawObject extends BaseEntity { @Column("json") data!: APObject; -} \ No newline at end of file +} diff --git a/database/entities/Renote.ts b/database/entities/Renote.ts index 45f789b0..b4c9d782 100644 --- a/database/entities/Renote.ts +++ b/database/entities/Renote.ts @@ -18,10 +18,10 @@ export class Renote extends BaseEntity { @PrimaryGeneratedColumn("uuid") id!: string; - @ManyToOne(() => User, (user) => user.id) + @ManyToOne(() => User, user => user.id) actor!: User; - @ManyToOne(() => Status, (status) => status.id) + @ManyToOne(() => Status, status => status.id) object!: Status; @Column("datetime") diff --git a/database/entities/Status.ts b/database/entities/Status.ts index ee6a2a68..42c2318f 100644 --- a/database/entities/Status.ts +++ b/database/entities/Status.ts @@ -27,7 +27,7 @@ export class Status extends BaseEntity { @PrimaryGeneratedColumn("uuid") id!: string; - @ManyToOne(() => User, (user) => user.id) + @ManyToOne(() => User, user => user.id) account!: User; @CreateDateColumn() @@ -36,7 +36,7 @@ export class Status extends BaseEntity { @UpdateDateColumn() updated_at!: Date; - @ManyToOne(() => Status, (status) => status.id, { + @ManyToOne(() => Status, status => status.id, { nullable: true, }) reblog?: Status; @@ -60,31 +60,33 @@ export class Status extends BaseEntity { }) spoiler_text!: string; - @ManyToOne(() => Application, (app) => app.id, { - nullable: true + @ManyToOne(() => Application, app => app.id, { + nullable: true, }) application!: Application | null; - @ManyToMany(() => Emoji, (emoji) => emoji.id) + @ManyToMany(() => Emoji, emoji => emoji.id) emojis!: Emoji[]; async getFavourites(): Promise { return Favourite.find({ where: { object: { - id: this.id + id: this.id, }, }, }); } - + async toAPI(): Promise { return { account: await this.account.toAPI(), - application: await this.application?.toAPI() ?? null, + application: (await this.application?.toAPI()) ?? null, bookmarked: false, created_at: this.created_at.toISOString(), - emojis: await Promise.all(this.emojis.map(async (emoji) => await emoji.toAPI())), + emojis: await Promise.all( + this.emojis.map(async emoji => await emoji.toAPI()) + ), favourited: false, favourites_count: (await this.getFavourites()).length, id: this.id, @@ -96,7 +98,7 @@ export class Status extends BaseEntity { muted: false, pinned: false, poll: null, - reblog: this.isReblog ? await this.reblog?.toAPI() ?? null : null, + reblog: this.isReblog ? (await this.reblog?.toAPI()) ?? null : null, reblogged: false, reblogs_count: 0, replies_count: 0, diff --git a/database/entities/User.ts b/database/entities/User.ts index 6a8c3e4b..2e0e6cf9 100644 --- a/database/entities/User.ts +++ b/database/entities/User.ts @@ -1,5 +1,12 @@ import { getConfig, getHost } from "@config"; -import { BaseEntity, Column, CreateDateColumn, Entity, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm"; +import { + BaseEntity, + Column, + CreateDateColumn, + Entity, + PrimaryGeneratedColumn, + UpdateDateColumn, +} from "typeorm"; import { APIAccount } from "~types/entities/account"; const config = getConfig(); @@ -73,6 +80,6 @@ export class User extends BaseEntity { discoverable: undefined, role: undefined, mute_expires_at: undefined, - } + }; } -} \ No newline at end of file +} diff --git a/index.ts b/index.ts index f44d8fde..3845ce40 100644 --- a/index.ts +++ b/index.ts @@ -4,7 +4,7 @@ import "reflect-metadata"; const router = new Bun.FileSystemRouter({ style: "nextjs", dir: process.cwd() + "/server/api", -}) +}); console.log("[+] Starting FediProject..."); @@ -18,7 +18,10 @@ Bun.serve({ if (matchedRoute) { // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call - return (await import(matchedRoute.filePath)).default(req, matchedRoute) as Response | Promise; + return (await import(matchedRoute.filePath)).default( + req, + matchedRoute + ) as Response | Promise; } else { return new Response(undefined, { status: 404, @@ -28,4 +31,4 @@ Bun.serve({ }, }); -console.log("[+] FediProject started!") +console.log("[+] FediProject started!"); diff --git a/package.json b/package.json index 5056ff83..a5702f7c 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,11 @@ "activitypub-types": "^1.0.3", "bun-types": "latest", "eslint": "^8.49.0", + "eslint-config-prettier": "^9.0.0", + "eslint-formatter-pretty": "^5.0.0", + "eslint-formatter-summary": "^1.1.0", + "eslint-plugin-prettier": "^5.0.0", + "prettier": "^3.0.3", "typescript": "^5.2.2" }, "peerDependencies": { diff --git a/server/api/@[username]/outbox.json/index.ts b/server/api/@[username]/outbox.json/index.ts index 9e45b6e1..fde4224c 100644 --- a/server/api/@[username]/outbox.json/index.ts +++ b/server/api/@[username]/outbox.json/index.ts @@ -42,19 +42,21 @@ export default async ( }, }); - const lastPost = (await RawObject.find({ - where: { - data: { - attributedTo: `${getHost()}/@${user.username}`, + const lastPost = ( + await RawObject.find({ + where: { + data: { + attributedTo: `${getHost()}/@${user.username}`, + }, }, - }, - order: { - data: { - published: "ASC", + order: { + data: { + published: "ASC", + }, }, - }, - take: 1, - }))[0]; + take: 1, + }) + )[0]; if (!page) return jsonLdResponse( @@ -73,7 +75,7 @@ export default async ( }) ); else { - let posts: RawObject[] = [] + let posts: RawObject[] = []; if (min_id) { posts = await RawObject.find({ @@ -107,8 +109,6 @@ export default async ( }); } - - return jsonLdResponse( await compact({ "@context": [ @@ -145,7 +145,7 @@ export default async ( }&page=true`, orderedItems: posts .slice(0, 10) - .map((post) => post.data) as NodeObject[], + .map(post => post.data) as NodeObject[], }) ); } diff --git a/server/api/object/[uuid]/index.ts b/server/api/object/[uuid]/index.ts index db1a4dec..bcf6e206 100644 --- a/server/api/object/[uuid]/index.ts +++ b/server/api/object/[uuid]/index.ts @@ -10,10 +10,10 @@ export default async ( matchedRoute: MatchedRoute ): Promise => { const object = await RawObject.findOneBy({ - id: matchedRoute.params.id + id: matchedRoute.params.id, }); - if (!object) return errorResponse("Object not found", 404) + if (!object) return errorResponse("Object not found", 404); return jsonLdResponse(object); }; diff --git a/server/api/v1/accounts/[id]/index.ts b/server/api/v1/accounts/[id]/index.ts index a4102bb8..d4430b15 100644 --- a/server/api/v1/accounts/[id]/index.ts +++ b/server/api/v1/accounts/[id]/index.ts @@ -15,8 +15,7 @@ export default async ( id, }); - if (!user) - return errorResponse("User not found", 404) + if (!user) return errorResponse("User not found", 404); return jsonResponse(user.toAPI()); }; diff --git a/utils/config.ts b/utils/config.ts index fa6699f4..67a33205 100644 --- a/utils/config.ts +++ b/utils/config.ts @@ -7,20 +7,20 @@ export interface ConfigType { username: string; password: string; database: string; - } + }; http: { port: number; base_url: string; - } - [ key: string ]: unknown; + }; + [key: string]: unknown; } export const getConfig = () => { return data as ConfigType; -} +}; export const getHost = () => { const url = new URL(getConfig().http.base_url); return url.host; -} \ No newline at end of file +}; diff --git a/utils/response.ts b/utils/response.ts index 6ec44486..17e29fcf 100644 --- a/utils/response.ts +++ b/utils/response.ts @@ -4,11 +4,11 @@ import { NodeObject } from "jsonld"; export const jsonResponse = (data: object, status = 200) => { return new Response(JSON.stringify(data), { headers: { - "Content-Type": "application/json" + "Content-Type": "application/json", }, status, }); -} +}; export const jsonLdResponse = (data: NodeObject | APObject, status = 200) => { return new Response(JSON.stringify(data), { @@ -20,7 +20,10 @@ export const jsonLdResponse = (data: NodeObject | APObject, status = 200) => { }; export const errorResponse = (error: string, status = 500) => { - return jsonResponse({ - error: error - }, status); -} \ No newline at end of file + return jsonResponse( + { + error: error, + }, + status + ); +};