From 9f638d3c2ab9468348de7b0a654936352d49bceb Mon Sep 17 00:00:00 2001 From: Sean O'Connor Date: Thu, 10 Sep 2026 10:18:28 -0400 Subject: [PATCH] Add banner-led event social previews and refresh Open Graph branding --- .../public/fonts/funnel-display-semibold.ttf | Bin 0 -> 32864 bytes apps/web/public/fonts/geologica-semibold.ttf | Bin 0 -> 130764 bytes apps/web/src/app/e/[slug]/opengraph-image.tsx | 13 ++++ apps/web/src/app/e/[slug]/page.tsx | 14 ++++ apps/web/src/app/opengraph-image.tsx | 62 ++---------------- apps/web/src/server/social-image.tsx | 45 +++++++++++++ 6 files changed, 76 insertions(+), 58 deletions(-) create mode 100644 apps/web/public/fonts/funnel-display-semibold.ttf create mode 100644 apps/web/public/fonts/geologica-semibold.ttf create mode 100644 apps/web/src/app/e/[slug]/opengraph-image.tsx create mode 100644 apps/web/src/server/social-image.tsx diff --git a/apps/web/public/fonts/funnel-display-semibold.ttf b/apps/web/public/fonts/funnel-display-semibold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..0956c48a0428db9a6d611584da2fe36ad9dc5889 GIT binary patch literal 32864 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
  • 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
  • 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 K@!)d<6X{Z+7Kf^2J{;0kaGAIBwoSM@h& zh=Rt3As=t#LwR_RA`4%#nS?>rV3qiZaRZc%tA(nE>@xe{SLt6VQSz1kr9R+{boH8~ zjrQC1iv7Q$^@%?60ne94Yh&$8NO1KYx`m|eWn*HeA*R6#+h<@%tx!ciaXZ*UmeWR~ zGZ8+)fn+yZTDN2E+IDQYU?a01J=3S79c$OEqx2(G=^U(BDDwPd@|a7`cJvi8R>wf^fk>XKFD_vG_25%+)Z?{p`)T%hItViLUP{Nw2*b( ztW11ZcHB#`qmQu{w|vEh91L5S&a#YInJhc<-?sP{Dc&Q=xr@2g_vDi)%^?FN7Fl}IQki~hkg<6!6UtAThIP&^TZP` zg?r_OoRBQjCI`IO=C<>T8L_G9#*pbrUBiZW+XhXIuUd)H(4NH`xq|D=!0e8-RM##s8K38OMI`-XKJlbSMl z;5gu{IBm~MF}Zukk6hNfWB#h-szX`rJ-b7ve_`Q>q{2Hr!d(+`N~aoYBJw;qPlPfJ z)9OgJ2-;%996U`;y>tQ)&R&+vu&{1BEFgcVC3Eie#WG-dy4Iq0w`Uf6f%RDHD*Y+7 zxGK>(|H_O3ZUw6Zc`n2FlSc!1clD?)IyPResw#_g;G;r_*nW3f#Oh+l)WESPr^UaQ z6A?GRcSa)Y;B$86R^ERltjKp@QDA6^-z@7nH|FH*oYd7Uq%bn0Dx{nHPkpUDoSl67 z+4Y|M_RKloRsG{v5*D5}sI7T$LHL-3RKqApdH>M1=DNIH?ZC(LQ@;3`qLEmcB$RUF zEAnN*>1(Mjb97qVgfFTloypAUzcR)z-76(}_ZIKio+UY{J3`V@Zdz|#J8Y_bw{c-f z(*k?;x!~kv(bK-S`!UPj_WeA1_B`w3gZzV~K=F#Mn(rLh)3pS2nmjb)Z7{{Og1wG% zfPATB>~5R9Wb=~b_|?bqB?~cU%IQ^Eu89j@UYKCvECo6Z&b9N44GGIxSvdOS!Pley zIGO$C`gv3P2c-`QNtm3{W7JsWMLkS835PX0Yp3Dd7%`b2fWyy6?;Ei$$rQ;GVUHof6%$!p9U@zXA!(n&0-7_1`A#Gp_z^e_4OyyT@nj94h4EaS&yn zRd-WZ3SJDmmnt77?`y%njeV51G@9ADx|{cE*WGhe$3ZK`3rCFQk^U`SxMN~UtxVi{ zme!Q4C}?iOQjHsX84O_b`9VydhRvE2ZPqtwc&|QejCAm?v5-2gI~tr~-|~^JQ~&P0 zaLUvE0_h+h6M!`nb;pX;oxxlm9Yfvaw*ok3&fd0Z73N_b>fGCVihIi9B1d*qI`&Zd zQ>;nvjGHC~5yn?5KPNZ4=aK(;#HS;ls_~%DiVX$6UjK$1e z-%O@uj;m;(zW61Tq(A!N9n=gf8dl#IF(7Dl``9>@heLhm997>rXH}dkzq)$D2MIC# zmku8{sVMyqsbtdAI%&~sZn>X~+mY<-a?jBzZdi26!x6*%;sb-?CsAL;jL)ScjrM&# zae4r)c)&Aq9T*c^5mv$&B#n&nweG=VhC0`^m9DqlrQLnT&BdaprL9|5Cx_^%3G5T2 zC>Wsyn>on0d9z;sa*hLyZBvE+lrk>xnR)_+`NR9@7O#OdiY)Mc8hqot}D$?EFY4_GJ2J627WNVywp zmW8kUZlzEz-3|*3f9Yg-#Q4DF6T-_vR#{iwT~~ByVdQWAyOMHVpE1}tU}DUarG90@ zr-1!u8hzbOk=D8BdCIutdl>a&QwSTeECzZ3$w0dxhc*r7WsaH1=J6JW@f4TL=TFRdCnIX`z=2Y-cy`6Lir+suDgCr+ z9@Fg2czaVodi1gU_uq)!JuS0fL~5;;@+HagdTn>oPBdc{IEDl?!qUpj0YYiAda}ZT z<-nzG$#G8a{o=VdTf$D;s8(z<824Y3rC+2JG45OT;ZX0+f4fJ{kP@r}r`ij5YhM#a zGUGaqEl_|nFu+9HG80UsoNmaxtO)j?9$^L(q4J{}>8yimUMy=rAZvh)wNH=Q;mOnf z+=J_awqwE0MTo zi_R!SOp@p5b=f0!c=Xv} zU3u@7)FXR`WH@K#kMXWt%f^&57wPlzF(}VSwLHHqnsj<`czS$%I;g`Gnhp5c6iV#S z!HVlmyzVPI#_sZ z;g!`kTySM|boA;g3xZ3AI)~3oksa&Ov#i;w)vVc>($X{1KdVWx zu?Ksq_|;%zF`79q+!|a}k+L&jWXgl7Yi>*mdi~|CLflE#dfMw%LD@yYfnN?!$opVg z{PxdRtoZ|QLs4gItS!38{k`eFKO^3Z$(*XtCi%^!&MDr9Gos4_mzQ@N?mU!L8PAGy zr4@z8Dyr^TI|Mo3^&8@m9*|SgqQ(0x>EU%4HK*>MJ>zsKa)N{d`z&PZf?C>;ECZ?^ z-1t`b(3rwLWA>6S8~gXEQ>^uu;_})mW-Z-#fGa5EGCJwXXy(G0Y*a*pX zTUZJEikmH7%s=zeOP}-kWHfN{8gQ*jytx*t9Y10543>OUqbVoJrA^A}#O@J?|rnpgE;RY1w0 zz>=U*i-X1l`DgZ>n2s|eCs`LCDT}Gf>SD9DtmKXCoHvT2Cl0ghy?1iik>a0S(}F`% zU5iErr@0CXdk*s)n(rFxIh0mL=_u|NC^2$ z;pgLA_<*1Ez8~?&^7uzb(DzCBzLdlNu#4*7#{I`I?3wge-Bn?wZUfdN8iNC~Dp@D$ z*V-lPa^eu;RCm>&!8bkTNzhVeV&HVdqv=i!bp!(_g$@9i_f-#eq?J&1CZW(RDcZZV z=OF*hacke{Gd>f?8P`|={yKI?*c-ZWLv5;LIp@uY!uX#4K|Ojc_v*iHvhUcLaVgsy z=WpQob8E2r{4vnonLAF9!m6@yrs9tn?e1r!OAmL=oLRHHNmg$x6C#br4; zxIM3+4<9tq!g=97Vu9~7duGEVo=GS|WB8SJ5AmbMa37yJnk^L0tJv@D+z9&wH5jLR zT-K)pGta}y|3ZOq#WgGhndZ1OQ@c(7I`)qs-@++E+LpENh(p#G zZG~(2VxhH|R-0FwM==ZFkC0YW*@AtK*R4FOSvjswIU#way4%h8=r< zZoDyE*9_JoWA!iFy5dAuZo?acEPJ#*vwdl*`C8rc(6_ zcL@&ZVNa#fMm69BEte_??2DOJ*cg8UNk_TnymD9uAwm_}|s5Ki5{m8w6V`uH~;#;0(|*zbXG@)kb+ z+Y95N?pI)Mq&QLos!+E~0QRIfVOZTK;yW}}A8)z`^?g$q#ycd&YE%zkEuXzDY!~)Z z{$?Qh`GOC78x4amw(OXALfEB#u@$$lW4CY9mv7iHSXI@3`9|NKe?c+@8usY!Vf-;o zTWPh{uWp(Oqph}^v|5HSr>?z_iF%Vn2Eyd%qMHcjDr;lJBMPeSn;a^gc>@@IM}X1bML!lmy-I9Ol`fu;9j&NnS;_;^IHL zc)j=r+qW<7lH~mBCh3Iq1=6R~y&#OzCvz!>zMGesCj@dH;Nl#_Zk|>a-Sk#wmU@E) zG!R6+rI#@3r*mE0n^{FiL_}LPbL(>MR#s>WcawY{MSA+S{kW}< z7aM%+b<4BOe8Z$2ITdXL(~4|q`(Qu)<9S+PfP0sZzdx&o!f|4Dg{jb{B8Me}`8GRi`T8;GpqCE{ z;p-{wJ-Qn??ya*!Ed$8v0UK73dAVEcWd}a~_^P4f*+=DPd7114Q#pnXnlH3HFPKW9 zAAigaTs^CsdzR>~O3yLJ@RcR};z7{cZsbSryT-6-g?KT-kK!d=CBlt7+^B?m3J=AD z*hRy6Dd5tAL=~(UJo$iU)-*$uBn_Y5(JRR_NBD7K4km~JQ|yW{ zVT5@^W%9BK581c6g`glDHcH{5iG(iMA)MC8*hQKJL<}^9mujN4eZ|8F7nE>;_ff8tUB4E|-eK=dl0K47P+vxRAsgu_o`ac)`LYk*B+MIES6Hxc3-th%*q3C{)LY&@TX_zX0+6Kmc{bQU6T3nI?N|5Wnj+%%^; z4L1^?TQ(A)qATh}jM0Mu<2?Iz3bzYQwEEHIo7V%zd-UxT)@^Wd+nc?={Y?B>^6l8+ zj%mB$qqO>qpLXc@GhXv*YA!-xdF&XKa1cuJChg&h7<;H!b4YZ?Xm;{33L4jZ)fXdh zaxN8&PTH{4M`^EU0yNCAxTfM)zDM8DFdV zVQ1<(W_BQX??%4?L-wDkj?0V+jm?U_bASb1+RDs78M9NmaH9Np=|FEkzr^)9g>U4H z2$WKS0s^PRt^Ijs@+;S7?vNJQ1-mTj6Y3z?jn5sPI4);6U-M<-JdZt?lkIWePya@1 zzWO~Tns^Mj_L(XGp})MR=f(IOiN=u`X4>0xt@^xd@Z1c~0Uh(-E-u+WYSE(Ky^-_i1hOe0D)Gs5|GqXA^c1?Evo1u?_ zcaKc6-`M!|GAPLeb(n&9L0aFLLr{_9)8S{#9P|qCh)qFbaJTwyrOF#m0z4c^Vh^I*C|#0nG@Yg(;og#8eEA%mj(jhm7`t@eibYE% z_bqk{@3+Q@8!Pi`;m4eo{$9hcgr60=@#>s8-)xMD+4#+zIafEv9?3p1rR-o{?;dk) zy3QUuZkCPxg6^)+=!s=tYYTOk!3}lBTFsMMs=l0!RhH`4_zrZ65bv|L4z?Ec=0HNm z%6sz{+*`5y{sKJ59iLEkeC*icWfP8veVbey>9f6ZRd9Bnetq2X+1GP!FIo0e)x4h; zFS$J@Ht%R<Nqet&6@=kOsOz5BJRxHdO^;Tj2TO&ulm0z%D)Dib2 z@AyKu#C{1R9aLzaOzUjKK{ys}wL*nu$|(AC+D(+vAhuCx_vt!2b^voE@n{gUoxYFh z^Pihk+S7F#*a6*Xe8CJ$XJLr^`~CZ3cVVM3v$m9;$TzueuXZ0GKz{{hRHVKl>(T!U zMW2nVBikrtMv506uyazM2emzc%K8*$^(pF8VKc^r@stgzIRrNK0o(t8O_gRmkis8G zGl<&1hIODbPLJ%yHFgZFT2Hf{pc!75u05}Bi+*L>K-n868(FOcq?-nS4wVw_oWN0M zS^IupvhJJV^F7z3jaWX?Gwtolgx%p&M?94NI%B<;4g6*+YkjI9F5)|%fB_Y|^Ot@x z#xLa7(AXLJgZ~ajo(GYqi*^|#&vwYuLng8?;0BvTgU$gbJ5Y883sF92O-P+~I4}Rm zl+$4g`V@B^=GOV!3tzDrl z2gcorhmbV}yd1nRztA?Ra`^)08w2JUnq0jUl3Opqvs}BjOXn_~*REaTR@~3K*mcdi zbzSgp-MTeyh5h>%x?Sj#?A2@BO1!+sxU5;b&Zd)fmvw8`xQy}cTjIKA z_1Z4hojb4d%JB8i@bb#=_s#G^={BHsR-;Ea)7^Lc>_uyAG7`ymXiW0?#x=)5i%?~jfdyx%(rn`O~S4%Y4mH%$F7U+ylTex0#;FzTw&h9u|2u%H!+ zOabNVDrn>4srOq_#6+!wan;hBGeYT_%cDU9unX?g`;#=q46Pz$P=yU-B3O>FusP4U z?owO`n=Yp544L9Dm@|73e$ZcGI}Q#WPkH%HeVA7B7@vAeE52o_3?R{I?cY1?cdrzf zxO#t&Jr5T~t(oDHH)u)R_}6=|-BNEYRI|R2hIW5_dUAD4PSOqQahF%@@0`?b--=6P zt-YNtdAUuTu+JvedT;qe@1QG#Luveilg80&z|D(Tr=q%`E1(PX8!lWlJ`yJzR|vh0 zUmQGk?4YjvA8FgK#&b08BhboA(8{*_lta{l3*?_R@X@T`d8l#k&j0=0(YgB`%uo9& zr*y!gh~#Cto(1oYbB*tO*K_&$AJ25o`GCE+eFtlGbY#D~=?MJ&3H-T0p9gzh^?QP{TvZl5Hj=cEvHLIPL9$6~pe&S$Ms2_~!9bQb#%Y6lR`&Er2@`O|v zZAZ7Vqvfz4!DzyTCK?c1&6=^35Lo{!^^?lAU*mYMq2ilRcs*PjC`4d|#9LlY-4ePr zfQ0nw(S~%r*(a7R`e>xFM!3); zC$@Z?v>$-ABvsaRK&e_nLzu7h9)nEG8fUO=ZFNc~_>3KR>Bj5{KWuq@N9fprxDj`k z6rnZNh@gt)@g$f1^uyZopg8YTEch%YL68jYSLDrnd+Gq+}Yqzq4~83i~5@fAQM ze4rLKxEQm(uz2O?LmT7+=1_Fupj22oe0F$9W$dIa-?J9+8*8AN zjgj3|fYw!-$v!@Mq0_~q7jWh=UM_rav6J+gdX5-yfPHyTN#(R#*prw+(uj4rE$%6x zZsB<4TG`mUW6Lgo^WF4H$&&YANAas#C-E|R@q=0uxfe5PCq4$SEx_x9-3DwE6BR@C z=+6Xa|1Dyr_;r*f!g|gJitt^f68LbE27V^{R_qfBjo%4fjLY#VJpjNa+!QF9DiwIz z6ar>WNBk6uPgVGjJXPr7P#6Eh{?Fs8*eg)c8A{d(#OMA2x$z&68ykdMno4lEB6K~j zg6_}`p9#rwX_M}8nW!RhQuZa-FxmpFte0XNd)L46eX~ceHVDzR{rP+PaESN87aT-R z2|OpB3x~8$-fY9yBF$>t3`-VP8Ypgi&_+EWU$B;<*;^OcTT=9Dw&@%(@aLoqiZ6I- zw}=AD&H0@oZ6Cq&9OiDOc|~(jo3EY5A;~*7*xrR@h1 z#1aEh*ZxTW_)sB@Db&t|6jh2S0DH+x>^MTXJv`6U0F=4SkN-!G5 zNb$k^lUQl?IVlx<%yB$C%$aaB_Rzs`p3RxGgsuS!y2HSPcIG@@%o88gw7Q>0M&>g~jhluzh&X046M2YW|iTT}q zN_yr8Y)$l=GBMA&e@U;r0bALfp58q}0=Fb5ksI=Aaw5UoCOT>hKv94#GaCM)xQ!(- zbCy)6xp`A`6rzo9vAI$?Vv^2KA++*{rh$IRx1V{EnwY9oN>d>C6m451T(br5W-6y%s9( ztL|+z(X0GF)KUDlcwb)LzT)D&d3k$_RcXlowdzNng%S{)y16iUZm($uESS;Gv4M%A zIg{qB6s8DMR!Vb(a_zs|XPmi`O{_7XU!AS{Mo*_|QW^)+gA#GM_Q;pDy^ME7>~-6} ztnGQBcCr9r2X^)~Y5E(wM2ZWFVDCX&Us`Y`6*YS8BdH3xq`||kF*b3faVDiW3nBj~ z-OH2$pb_1~-AuSCnAe;K-1EW(ZO@l$E(&I~lQmTOR6W!E%1eTnm|ih0%;F_w*93sv z!t0>@x5fYuL9YgMKN&jq08Kzdz(fk?wY@gfoEOZI_MW!K%QY7+P~2`P`$47b*h^qw z2AHswj7L^VRoX{2dRCF9UieSVL$dbGR!oBLCium z2u^eDGVObG8!GNmpQ(4Q2S|6MdG8J=;v8{Hk=D2RN;9)Pnr}EA0ObC5HI-q$H&u8XJB#CuAKf{Z#}KE6 zH>wfv#!7HU4dzA}sto4vki5Jh_-U6VhesqQM}#LUaeq^A0}c1@FEi&u4Y(ml_Zl$Q z{3x^iM*T|VUnVZ(Uol_fNExJuJ;Leztj(v!aC*v7Iijgl9;~IVn&TPgi!^7#0EFaA zE9Fv%k$|MmG!BO5%of58Yw6CSWipiG#~+V}E)26N#vE~!pXE!-St|)_8yk82xZJ9| z&jMm=lnl}eFL%Dd zHkVucNy#~_gZOq7vx%G<7B)39Vp>?(ve~&%^0oq}~WkZIPg@n*Ecxj-kTVSA@ zYalQEa&ZuDWg{JJ=(i9JR|Gw@7Y2}(6C7s64JgcV>ltV<&T4l2z|vfoUcuVs<42Zy zdJGs)HoDNmBS3E9PjL$bNhvv>)Lb~M{q*2LrR@buIp{qzYO!7qj-4PuQO=KG4R7g~f^5Wrf>E zq;1b9>~jpg#j5mw(!Q=T9=Kpv-q$@bZ1jNHIYWcTc5ol=o~nJTFn(}VMZe+>aXkgw zVAsKklwPzFKEi!`DhK2sqZkcF`&2ZP*h!bsCF6Zr@~TpYp51NiU+dq`Z;WWw(Z0jW z5La5a59yZTRq5@QOSV$YwZTGbeJbrypfnC1ytx{|s`Z}a>y>He?%u_5uW$dr$=YE1 zw!1BD`}XJ@>z3xfJaF)Y5Q1WS$V%!4K5H}@AEwBokt_t8OV*-iU6xD{&~Kkf5rif6 zbinvm{i|f1I7A@{jty_T3>vloWq7J)Rm!kIr5)X3`=o^p&kL+FYR0sW?Iqd<^$JZW zOc*q)g7+%i0p^OkLpfem?O$NR;Nazs;}$q#4dK&W`gShv>C|_Ghqu>8o4n~M^CUk9 z>$#mewr$_J?F)Ge3tmVb9+Kch<-rYQpI}a+k$_q@y*2PRx*qUwMTg;~{c(432Tu#! zT}<~CCoN29nQ7=X#7()Q7?2Fc2clhF`hObd#s`hZIhCS7I8|rYXcS2W$|z#*3qJ`X z8@^m)@9*9%k1x#5jj33NL0T&|Pb#BY2@lw0^ggg7a(}_-Zq!|-cIs#C(4oH52@hH{ zd*ww}ht5$wQu;6O4=fqLN19#`hZ{nlKPMav%5#nC6*$^8iXE?i)eA|XZkP_j+(I3b zFgwU^yxb6kPBkPn?S&tO6&Htv7ZvHXDUp#WDUlJhOWYinB8djlXeFHkv)k91*D)j? zCcU9Ts#Cs#-ZwwVdVjBeMGwYF{onJijpu}4PBNDtj4d0Ya$r0sF%PjD)BPT-73(H_ zw``RRbmvaFL~1;h?z>1=n9b6atetd$BJSEHm(HMjB>Dj2)9C)z$?xTg|A-0U5pmjo zgi-J69wodyGAJe{XynUS<)ZAm4}=-bO#cJj4@p=Y8@o6`e)@!k`ScGD*L@H%CoX1A zWaONfxH%E84(ab58tUDD2$fz}D`px}o=x{>RXELy4;+*0-YeL0V!OFXLF4mXdkxmr zR^$}AyZQJ|${FSA3N-`5myd8A^s%1qU)1}&`>xU|f;)IC$Q_?T_xaW?2>%=Qc7t5) z`uA{&wd?J%bWm*NAg@R-YfHV>cerJ1b92kKW~R&9TXzq4_YARZ=WItfd8|D##bX(0 zBYrR4y#bS%o6gD*vmve)M z4I_=7=K8j5X|wiCDZflxK8Vg4I6W=LC98|iu%40nwy9wQCKkD7nS0x}jP27S$br&h z{h0<@4ap^6`#Q+0-bTYu2=kx2Y)uqP**J5wgBz#WK0%YUg-)K1TkKuzdfIjf>yhR? z&o8hrfZz#P;(jrx9@FA3Aq$sdaPDBSa2i}2zspRXrDXo9F)z41C^0c;KvEJ58km$c zFfcKZxV6y4#y{R_m^Z&x_$!RGk3VEiugX)Y`t`E%l}6ewW_#+fucB7rnIP)30nb!t zl%%^wMRFW4OsGdQ?OfrrXYfG<`I{4jyW&7E&w<)|LSpsfd=TMuxp41)@hjy;b`zq! z)8cyA`RZEO|;8`^Qsetd)fhBUa(nf#I0c6k_!HPK6(P30Tx5LV$2t?wu1A=KseSS`9ktUQs z2lA&6fA%TND9zXOD$Fm;$LgBKE#mU>5JZxaQpqR>*$0P*3L3+^t(I@IozdwayN(uX zgH*V`6m?+u8w?$6I%T6JLfi8{b39vVm^e!R3Z4^m_%7zt6Z(V0#NlF$7%QfU74SnG z067AkwGBw<4Jure0+xXD5qbb{%{ArxuM~SH^p^|VCBZF64~s#KMU%dd_fh=~VYD>iQ9W|J6Mr zVX69?x{EC5TFyWm)t#*PCo~B!Y2sJo|G#yg3rE3Q zo|2y$KU)b`-BiV&&?I~q>JpBh>V_!(fF|MU_ol8I&s%}p)a|2$_X0de{8YEA;(wmo zu}L~h#s56FO_OxZoA}joJkQlC=@i#OlKmF{$n~msA8Irfckz3cdrSHLo$M;9uQYWn zE>eia6^l>tJdK~~9&6%1r1+ob9%z#8Eyb_8D*XTI?o!fkQ%b&3aaI4CCjMoLe<8UR zRTipSsrV}pIu5_0=eVPk@0m^Fsp*@#&w$5sZJeK)E=7S0KaYd-+(mxsKZ`i|ja;e+ zFZXj?O2Okr!wtnR2tU7PyF5O9@2kXfv*=;b4ezSkMe(=)kFI%>^sN+sQ&)xme|4KR z$>#|;3hvyRxN17p6;M}dpa1BZ*J?E8f8qBm_t(e2Q|^|I=6A?7ziEEGv0n`**ZeE< z^XBIeM|Dps{-aI8-)rJmP_y0#YZz%E9_&cZuD5vUfQT!VeR}Ei-_o?S= zQ9sV-qTJ+~d&>EmyWqV$!u0qdsHtmir^HiSt903~@=vN?<$qt$Y+0Wu|{-_Z9cH?5g!r%cuI)daCs? zyCKJ~FMqn?KM(lmzw*3pc2#xFmGY~uTAq6N%6GMWtZpjno39kO3jWQ$l>KI(KaTf$ z{#51L6uwWzquE(GUA_M!1X2r`uXxx(2&#ky(PP5 z)f5kq*5S7TzeV`XeTq9niKn`gWxq;)%~bzGz`cv~6YwiB%c~z(t56S&Gc%|Lw5stjgv~oQ1n@WiH40=nk_@woC;O`0a&VJxucaR)Z zSjV5|_;VON#X9~zU6_P-+zXF5r|GHP!QTscUWN27?x1&(hckceIK-^wU)S-N=lJtu z{v67~hw)T(Jj9x}>;`&gpYr!`{=P>z4><4h7Tm+1^C^VQ=kJd=Rv%IM1rL(Z;z>C7 zAc?F<{R;2AcD-~{5YkKcE|5dV;4^5+5`AEN{@7jQVG zJeN{kHA2Sn_bwENb>TU7AvmlHkJ&}}idwTSTmn6r#sXqe+QGaGgL&?QdG2%@DHGy& zj&b~J94}!Uj}yn^1QJXkj$#^Y=qX;|<13uU59cuhc${$lm6uuQ$YFNmSnbGTcI1#d z^7tL8Y=}d+#XLe!UXp0uyP|m?n9AR$8am_aG#-aeH)mP{g=-BIt~KzO4@g>%^8u;H zKH%{m7%b_XQtA53arkp6?@Lh}S`-iQ zq&RpY7m=scekRA^PsU?1N-HuBhtA1nY$Sir;4t}U6)qT{!z5gwaOQ77k7E9m7VifB z#8i=;|gPO#H#HTxKU z>)9vlb0~41XBSvC`x0l_Z^7lT-yr=pc7ttaH`$Nub@mgx$KGTQ*uU%mtHIxgOv2wW zf#D4M<3cmRgq;!01xt28Xe)GJUkcVjXLd#CDs*L61v|kWIlS4XqtqT+zOt+?=YH2(`*j|_-~4_vgJS=EKIfcu z)?RDv$Ju+W{W@ps-Kv+RQU=)PFRK%o6>wInkV=cbTQ;G*dFCn=?$E zd5c+rKW(hUG1#1I&Nq$b?dBb3sJXzbF~dzKj!~w|tVP)GGZ&k&=29Hv%w^_-h{xsT z3Nyic)Le(yT#sX_xe>=Sa}$o~W+RRn<})}BGVcJWLr6zM^X(ZNz%`J^7 zjWI`;#+LRmuP^OenqZDCwUqWV$Caj*rkMq$8KoI!A!gJR?G)tCj{}B9_veQIzaM88 z&I@tA4JTTq-k*5if|K}`;ye*2T0ShV3w2_?GI}n~IXDl(IUOgyIMb6$P-MpJ(`NhPN^NWxlQ@tD#x{>kSB1>v42d|HJTY4ByA_ z^{g9TM^}w4Hi?U`tc~@B1gl#a!&+KN3*pkY@SnhW49_6*q2r1CdK+CNptUsx9GmVX~2*=+f*V z4B|Ga-)8J74GO-PGg>NO<27)3V z;K&a#B#JUFq`i=!qYzsIGURYB78JjAI9qT?S;gCs{N!g_UabUIGO}Tl6e@$;h%S?J zzLY7+TkwYT7QTb5bbdy;TsYJUmPC`id^2%&6ThuUw`L7rd##a%l8DZb2 z8u72kZ(-HIRTtQdRHJg9~sRzFY%aoV8MC<{}>8aZR@1&JJ$99OU9G5Ad`vHJj3FtN!>cx& zVmh>G;BZY|5(2LU76$DBzr~=~NmQQhQQ;#l&qJ`MARqR-i~+ewcxft5U-D=IiB@N| z*OJli1^x2-Q7z}0m-G|F;7W34@vZ%nkCiAa+msKU9uj&z8%08bcc&gatHkE`wccX zSufUycMyY6aKkF`iad^naNtdB3oQ?d0nR&ckoAHc#C2mnt}H<8WN66|a*6fvF_q`^ z)yB0o*+O`FLTD%joGRZcO17rC+!JD)l|Ik;g?o-hC0j+J4fSQ0d)3!JpT{AX?x1De z5oG-1ln8H465{fmkzCVbKKD}WDXpIJ!9yip_!aV2;>pU-KgZ?MztuoiUI(gBBW-O! zi3}Q!>Ky4#a&Zg;Mcxk>#}R8v(Shr^7VnTyx#o!gcdbiXha{ zP-~KFm^^n06gjU55$A)|m)D3y8|usP+lUw|fG*w@NZ^%~n{K&Ft*$Jg7T;ux)e}y$ z*VNWdheUY>%}&?lX&*e1PIiv!Iz2Ova~e>{@yKS{UI;NJBe={*+QM@*$Kf%R>%qpM zl91i$T6-b9Chh0Lc_mU;sK3jAG^4F!w`O}?Z&Njg#B`v^FJ;itf+KSTt0!3T$oYj64 zi5|XRhxYpfz&S}L`9QmL;)%4vWSrDyYe}w4wv!LeZ8)7CTL~(6eQaBZ+U3sbd5s#qO?l(gzmjqSAbAR>YlUo%S`=+u zl6=lZQi#iPMB!P=(WL%FSzw~*G# zI>l+lrO-k_$J_~Dn$L5t6wW@?AzyTo)pgc1V`kI6B|%38h24qPQ|5-NX0n z#emojFT0q?VO@!$7-U0rG_~FnTCWlM9cNnpd2HXDu+IZnl^p9Hai@MY#~oUFW`s|H z$z$*%US+S|7dqa*SB`;<_)Dl{U9Vu$dFuL9JS=}wF96$-H5Tb_JZ`j;TFcxbr;^a7 z8X1OtA~MAJzj5orIR`M0$aq?&hoB- zF^A}(F&yfApeffBTdxHSNesnSiS{DPNbPcK9epcBDVqHcBWK7XR~pn`u~W6JV<;In zqx>SazE8N4#<|q#IH_K7YDf^MLVwVu^bz)vi|;k6Ph)!TAV#*M9vuaF=c%h8se}GT zjQfWy*Rx#9e1DU$u;Lr}O{c@gyT`~`Xt`Jc>6^3J4jbn#_&d9)0o7a2^CScc4{sOO zLKkV8LVrfu{FS`3Ihdgi@#^5RJsbWDcxQ7Wq*~!}{%eG=uESF>BKexF7t{*%9C#zH zj4>LQc3aORR9Cwx%)WJPt_23M6eo(w$sR|kvM#yFLGV4(Qn=RJO{rA5RvpD!(&<=T zs<_SoIgvfA6i0;niU=+PiZ(CQsJ2cqV@RKGTX5Z+Bw|r+!YE+AZSh&A;`m8;^qecd z+$XUm=%`ftB%d+~wntYRg76mg1*(-Qyj4m_g<5S0)zd{K3{2f+qWPHO3klU4o2Rauctvy%!Y9V^w1&K z^}u?O7ZL);a!VWr;OnF3Mrpqw+=|g#5oyxa8Km-J$~R85QoR{McZ>8 z`X1zbdijYiBu`pQRJ(24gFN7*)vI`fhV#qU1<`1bE|!Y(Cp#;*GP#_`^TQjW)@0w# z%2|y>w#(1TT~1N&{j6N_ILYb8Nej9gqR89keTWd3l+tws?g$8 zNgF4U;8SJ8C=&w-C>@Wg0hBSZ~mY5p!~@xW~O7Skd4J&pB>MxDj{C*%#46UCX}Ia<@9( z#%i|bg4QPe=SH1rZH?`RFLgA0=O=41{*XLLIM$L+(|8l-sB4=GUz(dmM6LIKV}!zA zigFHb;Se2(kSRU_4ooH6NDxVAz)<=$w_k%B2+ z(AN|et@ci7RLneyYnI-D9Rp$w2Chz=xj14q_(s-oGA5BLvyKB2gI^=Jm^z_hvFeFK zO~oS>;i?`)Z#eD2_p>5KZVxavpI^|q?1R|(_GNb52%_L8ynJ;bMPWEF-EMYRy6+P| zFdVg05Q4R!IjR`p^Dz0nM~9XC&Z>kSgD0}UC?2Otm!T|8m^1c1ZgeyX)%*1&ko?h0 zD@xTa@0$jCnyOtGD~5|gP0Ov}Ny@n^?P}pcY=f+E)HHwD5g+kh2lz6VVDUl3Y!SB`TIO9dGe^Rj%?D%fHLsM2aoBdj~;K z>P;X&(iYV9p@=@uD^l>*XtujB))9}a{Qegvlw zUZRx7A_)cQO@&IbxJ{B5+9wzub%^q}JE3u(ih2FKS9hGd**|NAUD=ReZGXGkIMAG1 z!J7%}eYrw4NPQKd!d_1A z1Bk{+a@GZ7C6B8BE6**aN(az&O7XVK^Xqo%!V#v0rc$9`ha?fsj zBU%^7t%QHL{*~lH71!QqBH^u7LXX;e*_7loYR(GfDY7!M&y{p$BrVdH7$K>_yE0ro*>kfVK%B0HYZ2{2DyRtI`1&oA>G(Z`O3_9V~Ez*to zfZjUN1E`_67JS#(moumxu+JzdR_|2$uJLk8Q}1U`%jHbA_R5HHIqD2vG(dG)I@Oxb zhMJMvw~s|DTdEB~c#9;Y(i4l@eQRUlP~z3iDSR~#pxzQK0ro z#?3RaaAh(%G~;0($&SHKG%rhV9A0iQV@+5;*N9$pjV+VHR8<+c@b*kX&APP8I0;!a zB2*I}5eskGI#jc~zGLWps`@T2HAo6AG|RLB_wfE{9y;$<0!1x`Fy0tSPRcHmu++Ya1M*R>NYa6|i-l6o=V;N~!s03G? z9+8o%w3G@@&YH`+3WUjBc8u5N9LAcXwnAziB)ls(n(f}z&hQ>1$#xdjVJHUlCoXXM|8X%QEkJL?eSyt*H{KuCJ~2AHxf39Jik$~wJ>ockht148)Z7>I*c2w;o9ayY zy9aq!u3zi(w)%JF1Vwkza}Sj-OH|sdi{I5w7pl8EqVzppbDS>?wXM!V4)5Wsvn1`c zrK-=@oLQaUhilFrO25-r@hNAy`z|g~IWH1gvBgx07k-7j%wuOHivp~Si)&p$y&`Mw z*FB3QPsOpZPc#od2J@%e;uLt;Ydw;{+Rc?MvRCxAyLBSX^QEx%K|*~rKVt7>$Th~NVHbKk z%6^>ZMSMgr0?N#B4#$_!>;3HaoY6V0ynqS6A<0A9;@Enkc*%diJLE)c(gYGSH z3OFVd1Dsix#f4|PzMT4lg(JjXQn2(M1)fKvhXOD;hmpd|*PwyA39mp}^(Y!8pphfG zg3Gp-In^uWzl8Lb;Ij#*>%EHjwYa6*P^pn7B0}$$r2dpg=r@tnkQVk?NmMrMwY*BR zgF_|R&RuQ)oavt3y*<1ei$eJ*>%=b5bz$`HjSc)9Gf{hp>{zfPB-OQ&;uhitUc*EZ zoZSNm7t^@VTh-p=LXgv0mPzM>$`j7|Y5t8+Tvlqf{}D=Ng-_w-`JB2TLmdmqcyXHb-IU zNMCfR4Se`@un5!XYTI7y<`0&sI%sp3aG34)l9alW!^CbPyvq{(e{2DE=2)m6#olP& zSC6ajs-1ec`kCHKkJn9lf}W~J>*;!_-VeK--Kdx7o3K0CCuk=Uy@7Tj(Kpb(BiN7d zLG!TwwApU9>(9}?Bl`2$cjPDfF6^E1l>QR!<)ZJ!z9=u~E!aV1mwteDKGENyolo>5 zr2(Y|y}dNJG(taG+N(5D|G0Eu>1gajd2H!;>}ZJnPxPO$|H&UY#`TEt5LK^+;y6+b zQ+op*i?3CuAw}arH6DMhE#aH~{Q%Q?%jxQMI7aeZ>2x(k9RU1PP>+O9JK$M3Myi8w z%)sjV*?J%JDt5b0_p&Xoseae<$RlmU>W!?hHv(QsE*qM&@rdz4r0r;Kj zB7{hF_ZaMyawXu8sC8UEq z*b{G*`ZpX4uruCP{{i?v)&IkuUEjvBP(6fWU-e(=J8Fb_80BdI$`f|a zQ9s792)mvA1n^@xM!+`y0`TMb7w8DJQ~e6?ud(Oe2<(hT|BQZ0{RX?l{1%5+zr)c_ z{T_$L-f7PO{sRt;vhV`n7uDYY{~gB!^}jeY_FGF-KaGuOl-B*Q16w~`haLR1uGjT| z`|JLy8N2xnQ2XhDdXQ?>gLNa|Cf%eO^$t^*7vPb4 zl-dh*VYHg1$LKMD_ttv@KUR-b2kCwEKI$aw3pgJ533>vq6ZJ&kC+SImC+o>-wrJZeU{nWv_6*~$x>Ned5`BU^1!29d{)tmJJ`T)RF^;C7To~EY*o}p)`Q}ltl9h9^5 zEY+qD(z5{{tPci!h&}}Hq53eSZjPRdl+M%h)C7IBJ_hiy`dHxSYwUcf-=Nyv>wMV|u9srpn%UaIlGZGDwLLIKp)@K7=iJkQh#}0|-06tfr3pwZMRce3z zHvM*W1a?V$ry8y=(C<=%^o9CDb)H_WR|8(7*8u-+-3j<2{T{$;_4@!{tS<)qetikx zOZBCIKcFuI{6T%C8lyj=KcZG)_r;H@1N2q;V`^`GwZ0ngHTsi)uhrM7srpm;Q|fKl zpYeLY>-Bn+gbmmQZ#MQ{yaDg!MtvjR%T0O{@VDyQ)D+%rse^ZqTE=@Woy&VJt>oR7 zI(WCG6}(r}QuFWTVeII%-F#OaYQAT_r_SM>mxl7rOUIiZn;)ym<}ve_TFyI3wev1a zE#~Lu=fMBM{6f8zcVuekU8RU7?G;y|z<;u|Q4QqXsT!2gsC1~u{h*y2 za2?RsdxanLN|akN5vOn|PYaqLz#3CHW8 z%O?YF!BK*Y{h-BLah9ORr+|8YX!3gK@@ddV({a>8@6CXW198+tTh0P}kUAVNt>#_` zy?zAXpxGC(W^ZQA-pHE$c-HKVpnVf!OnUqf*5iwz$4>-&614dc*5+?wZ9aspdVgs2 z(?Gin|7tx{oq=NtwELORo}}NWK);^_Da&z8QE$a@BJ}+VK^~opqd)#B zMt`(_8;-%)AL|`}->EJ{dROB(Os&CDQt!rbnCevT2YdqjqWRT&6WFieZbgk}Zm1i!y*M%1pK>?QBtIu|;WzMH#9F zvK1N3R-}Qg$hoj0V^kAcj=^j>=CS1%%$9>%TNB_*mSY}UjwZGogEd)>2DThcupDi$ zD`Yb!vCTM7lg&6vlg&6EEw$;;(PT5;2AeSxacGClsDsTo2=HugIqKMQ420!46sbE* zACA;@=niPoBQ#n+`bd2g;JL6O23BM~XpVywF|Z=XtFf>jO8}GQ7{Hd}^=vr|EXPt{ zmg!~c7=1eIL<`%AV_+xF0=!%=hlYJCEW~8C5C^k`n9LU9V73sGVIj^}$LdwE6KmK` z%!i$L2hzSqzZ=(!UI8WbHqgwSNO^|0Zbvo77C~#CtRHaHHOc9KJ>00(cXw!X&l|v)L*f z&Gz8kYy&Q28*nt+08Q;*^$ynl!&v*D$=ZLS`HA_7TE*IbE^Ge-q5XfMCbHh2%XE-yno*rY!BXvHuzv*XfMBEY!wEvRhY_FVFg=-VQdv- zkH5FGJs8gRK(i$n1S?<^?e(Y8@9zhw4!Xo02H1^gXDZw^b{eC-Ud?`sVKL0UyNG(y z&Iwnd4SWPBV%M9#x*Nra<#h|YzG<>N>N`oV&-eYTkklGXXu7akdl~c=T=b9i?An&_ z93U$;_XiV;$8BB!%Rq~v!QoOXc*~If!=M|fpIe*5TlQarI!=7mdMWS&WQ|YgH{l+i;~Z0n00#`06yQHm%3_Ax2=yF?OiHxHgnutqNKh@nzyLvVaj@;6qHjEDMzP z0YSF3V%I3dbUm};AEcJI4WrRiaz9r?7_ zIJJR;$|%Xk8=`p+_Lsj74`6sRjXeszABAkgpA@)kJ0GHC{@eL3BmIN{Z_3%Sox;(> zG`yjmM4#ixk=BTqhxY02aFyl=B)qFsH7g!6ar5QT<}Z2Mxh{I^GlTZQ+iFQOd)_p< zx~De&Qoj>3$amm;2w~CQ5A+YzyJ*Z+!nLzcjiPb!#xTFae=l>hQmfG4fCJYS4tBQv z6B)E4m)doV#ZJTVUc)}#uW*`uxD;a^k*3($eG;K#Q~uZVV*kXyv)uUa2yHGrUpFbg z<|A}rs$SH|Y<))0%u?c=(k?+_ zt=NFgImAQ~Bz2ljjkl5T<3y++rCSuYyNMO_o?B zQ%&MlWHtq%?MXg3#oj_cR&IOJ+mSa!;RlGGGLC07GB|oHhc6(l0!8Vx@7dWUvJ#Y{ z)cSrFm06GP@(bhd53qkWmt6QA0-y{=?-97TJzb;+p|K?#n&3_ zZ0dm0F^6C6Ba`i9bSLQk(TAzq;Uv%*ys^V$j+O$tJ$cDB<6 ztUY7lD1jkntW%t9P?gg$Bwz`oT26T{HVpsH&@L|fzBmSLB%?bQ#il#b>io~Ej%+tj zaoMg(F1H;r98=K}oC+N2$mspxzibaNCBJ|2P3Iim4sjJblH=c7F-ecGi|sCSJz_3q zN~fxrrl;5<*~Nb?$3M+)NrzIzo2J<9Pq|iI??VjQy!WzF60lAxw0hY`S{Z9S)k3s- z#bFK>y&8N+=CxQmW`o52LLUjhwLc^WihGx|tFWW9%)9kg7*G@9R8mKV_jH;f!?P7Oi-J2o$$DxQF-~+r!DzW@(6fp9S$$_Ppy%%LfzklZ(DU#?rS?)GY!x<4n1gID3;=renfDy~ z_6=MdLI~OAP2YspD=A$v9@Z-vJ!L+*cE+N=+;x-NVxJLI5pQ7(3N3S}#ntmTO3zz! zipd^Gn-l%ZZ8$fIOk1m#y z&bNqH2uX-pS(e~2lfg`{Ir$l5X=GRY`4N2{!Aoo^ukH0^fmu`SIg9D=?@B@^P1%l? zp3|6^%eIsXdl^d$(C35a6%yI&+L6ciE*>4YI7W2`yLZtYT~GYw{o>tY9N&j?btI_+ zt4YMIr4jYm`M%^PU<>qjOdG*A&x-0~nbPJ;dC2X*NAfCzl}kls-palx7i58}cPJy> z&)ryY73OYQYoEKpxADJ0Y@hRS6+O2g^DK{Hcj2{yAYOJ|Sj&=ialMjW*99pO{80lT z%YT|M$AP{N9Vb&Ci0hEAQ}CMyytpgm<~7MzvBri%3UxGmTR>^)N*=~FglyDEv&O7b z%3NhWp+=c&&DYg9^9}P&b+oz9+^3Gkn!AV9d|p@aW?EOQmSQc%6Y6wc6>$!&E>`FA zdWiF}5@MHnC$DmNFIGA9R~KV_LxZ{mYZ^wV576pjbtSDXR_kbWvAVf*O6gSfIbOR! z>k(EW9&1#8^KR3rw7JM!1h~s|0e+8pj~Z*%nzex6Yu>8{n)jKD0l(k8A2gSkO96kt zd_e7OE;E=2mkn;M>e?;Jw}4t`0Y!F`t3V z&zjGw>E?6hb84pfytxCIe=`514mNk1J0amNa~CjQFkevnnlG9!0`n#FC1C#9{IhzU zx!c^W_A_5LUskPVv)K&aub8i>!^~IBSJfQzHN4A`xyRgt7=FXti_o!l94lG2m@R4= zzugw|E%Pm`c-(5X0)M}`Umau~Fb}9nyt3v1e(U{sHO)S}nr0BMrEKTbG)=skW-za% z9K>rWXYrbvCSFZ5h*#6h;MFt-@@kqoE;0Rh9nEZBM>CGgO&zbJIh0pXHt-6X23|YU zz-wm)^V%81rONQy8B^+yvNeTQ%Jk!vGKSa4OyD&#Q+dtg{#>?(bJ@bm7qbRyv-)H0 z<1kzYs0mo_G6?5Bc)~hmVCZRI+=pT9-#Az=8WSW+@*M=6!m7!^ST)&*)sW55O;fO< zd<13;8?nx92G%+@qej+Y^?DuF@Xf(0$2uIXeBBGZ!l~eBP;+tC(flhoX$`!%190oW zn!+}Zu^yS5K@Fip+$5~ZI}qS-to0j+V>s3e4#XPCL$T%%RT<|ISiMQE-XHj9K4yi6 z@OscDUc*o8M(J=)V9hNDte|GJgi1b5I26`}x;QwlzPd~6p@g-Q@sXEK>sa?3Cpk#D z(+`n?HpPK;Sg4KuQn(oh>?v^D>24r;hxvN;xWUl zeE(cw-J+){0y2E_ifF3BEsm+;_u^o?XG=_00WMSDUUe;${HZ9?7=7PagpajvA83Ur z2uO?j6!5`nvK_on8B@8?LcBbN^n;)Mb66`njA;A0G*EY|`@FU(LrHqekF)^B(+=(z zqhAAEwGFf6jl4!E$DfIxjV4PVoy_GS9Y2IcQh9g7h`bmK{i^xJ1g{Nj@_e#2`L4t@ zdEVYPrtZ92D4zefV-c(q`Q5OdW*zDJmu*>caHQva=HbOFY{>Aatnv>fFf(%22K_ik^gyb4y$^SQqcCO?PGrMV0`VW-nhFvzjU z?m3D)HThuO8|Fre?6Bj@->aeSX71YyrP_oV+3664u`FvR%GXyXulOGHl=I)C+h;D4 zeSI&;S38DUYe@Fnbz$Q&^?L`?J^5ltfjf{Xnf# zo}I(}lg#19A?2a+wY+|KIL!#_wjLpDPh-nHVaHToe)BZ0rI)->{G4UVQ&x@1w%5tV z;;*QoHlT)>YG3txL1kzo_QJwzBR|)!bD34E*voixS9^ZBN6l zk0LVq)&RE%BUrjx2S3Z_Fz#++>mF;pLmw_js!#$D0{38`QSZP5dU?=QG`rhO`U1J= z%CYTJNWOw*oek5MZ*c8E`K7mFOO^CBAbE50OgZhtGtkzuLgErDHFZOaW<7d3Jok}2 zj&jh6)(EYuq_8NKTTmY<_V_!wtAz-&6aSsv&SOOMcAJw2u_|pMu)bx<|Fr-g*|Owk zE=BNP>w=da6^C(?O~GvMM|$1mf{ItvA$PVQz8ns6WhcMGHYs5Q;KuMbaF>k~in7hxcL>wK;OEArtXA#i(x-w~DGh^GrAtxiDEJ)$l0 zPT>&y@D5|2-PFH8nGNNR%P-P~74sZtu2Cq9L=n{!l!%`ahI7c}dz>RoE#*5-0?TN2 z;T8Btt&}2Pk`-$e4^v$uE!ACo@!o<7t&;Gxvn;Kp*Dp$q6tUGK;6DycZ zcbds+EzvQX{k$!)cc6SeM>Pk!jmG+;+DP8;TjlB%9wklW(Q7Ah6fq8VR;fDS+0}oR ztLNiS)dkzvRDBoURQngvd}Z1@GHS=Wp46B%srZIAAWGe{wgi)X4*A0)H9VhN7*I;@ z23;AiHBQy=j9xC3nL!4r8IRrm*pr$UbdHT)x_)8&2C_HG@*AAyTI_~r}sBMSI8%L|2zr@6K9n;fy6IWYK`+b8AS@{EyIKP3-rT^oXcA-HCA&J(ba~7j`3|P9?ft%h58PnT_iqj zA-?t-tTrx}ZSIRL|78|M0Gyl->7krZRh-b~3og=UY3mr3Fqb0{7yk!1JPTC3D{FFS zx?Y8RPwhIM6;|fi>TL3rRb@<p(>9$VTuwlt?wFzbu{YpRS&7-g=3a&eZz#Yyni8mFvamZR+R zCEh31YW3J&0)9NomT9gdZL+Hc!JPYOeE_0w3C{!&k4KS*>$`RN8ofd^GLQREsu$y} zQEn6W5}ec*JxXe0e8vCV>>L>Q7l3C0(<=MTvwi6PmbV9a3`xmiv(Md!#8OgiJm#TR z;O=)lD^K0T3$5Ba@P=6jqi#LMqlRvLl2>FWe}dIV`x52Bwo-X~^3D7d#wV%$YyV&3 zg5*{#B+EOuSlX$Joh=D0(@J)X{HA>AQYa_h`SJ@4;!!-FDx=ux_^x9SHokzVZPV$* zk|c>I`(GNZ@r+q7N<`Zr?gF&Nik2dCp}$D@6#$OqLd(yDP~!+GE?v?=ZCec`vrKm7j& zblZRHEWc;qccFaIr$~q6Kc^@JBVAT zsZ_cdN7v2?378!~3q_XGX(PzZg_`5*TZFH9eJi$)r7bNh&$qD3Qk3&3FVk`qjp&vW zW?Q%Ayk9%`>c*g6JL#!DroFar)d$rll(fFYyP!c>pLzTq1lTzzva`_k=mkhmKwyd| z?QceY?4O?FA&y!mp29ZLRY@3bYn6QWFezxw+k(f{#C!n$y%h=5%wq zy4Rd(E>Pbz7n;@TJN(u4BfM|HcK*ityR>7M`X29C@ECt%{Zsz3{&D`Y{#X2+^fUZr z{U7j!^b6`)-d*6&*jHee`U`yttrdL-AvXy{n17uh$dl>u0^c z()xCt;45VJr7GPI!a0U9lkp|+-jSbR>lsszuUd!Tn1y{j8Y3F|+Lh?q@oh2j9*QrY zn{c0v>miU=kFTViRKjauXa^aRB65b}PG3eJh_94sKe59sRXv9{gsDi%OwhDK#}30W z5N8QH6qN9#w(NB?SWUnaeg8~f4DZYS{p@u(zRR8ny8ZDzZu~v*aL|?1T=-1D{$3|z z*Av>)=2-5#(2hBy@trqGEn#H`T?sRqrHteqbOu8n?P}JFRmS~5dn$)dFzuZ)1K(W> z&jI+hS24vY_}-i5B1WN(lEe}A7!J%pUaQ;>zQb!Nc&`BMbj)&`gq?H9O~;Nr3VZap zZ_wkr!q@Fnv8zshdoTmmnv4T*Jie134`?xeFFy`CX%W7rr!VWt8XnH1v|EuJ^tcb7 zw5J@69MV_xbT}uldwwIMC0z0ui{nW2JKx~QYq-ZLDhJQ!-Hry}OYZnEHH7kNkV+1U z4j9QXAB9>s17&YIo`$2g(9r-`^aK5=K%jxRPs5uSh1xwD?|3Gjhud=m?oy5q00mJV z3Y{{5p#kt|05l6V9=p8(ZUEmX(9xcN?JQ$9I4B(YT3+h5iviVUs&R+FS2IjCxCu36 zD0IOj)SAT(OVW3TJC21qjpgpUBc#5R$vOCc2OKjq literal 0 HcmV?d00001 diff --git a/apps/web/src/app/e/[slug]/opengraph-image.tsx b/apps/web/src/app/e/[slug]/opengraph-image.tsx new file mode 100644 index 0000000..6874b22 --- /dev/null +++ b/apps/web/src/app/e/[slug]/opengraph-image.tsx @@ -0,0 +1,13 @@ +import { createServerCaller } from "@/trpc/server"; +import { renderSocialImage } from "@/server/social-image"; +export const runtime = "nodejs"; +export const dynamic = "force-dynamic"; +export const alt = "Shared event album on Manyangles"; +export const size = { width: 1200, height: 630 }; +export const contentType = "image/png"; +export default async function EventImage({ params }: { params: Promise<{ slug: string }> }) { + const { slug } = await params; + const caller = await createServerCaller(); + const event = await caller.event.bySlug(slug).catch(() => null); + return renderSocialImage(event ?? undefined); +} diff --git a/apps/web/src/app/e/[slug]/page.tsx b/apps/web/src/app/e/[slug]/page.tsx index 85aa280..43381b3 100644 --- a/apps/web/src/app/e/[slug]/page.tsx +++ b/apps/web/src/app/e/[slug]/page.tsx @@ -1,4 +1,5 @@ import { notFound } from "next/navigation"; +import type { Metadata } from "next"; import { MapPinIcon } from "lucide-react"; import { EventMap } from "@/components/event-map"; import { createServerCaller } from "@/trpc/server"; @@ -8,6 +9,19 @@ import { galleryIsPublic } from "@/lib/publishing"; import { GuestGallery } from "./guest-gallery"; import { GuestUpload } from "./guest-upload"; +export async function generateMetadata({ params }: { params: Promise<{ slug: string }> }): Promise { + const { slug } = await params; + const caller = await createServerCaller(); + const event = await caller.event.bySlug(slug).catch(() => null); + if (!event) return { title: "Shared album", robots: { index: false, follow: false } }; + const description = "Share your photos and memories on Manyangles."; + return { + title: event.title, description, + openGraph: { title: event.title, description, type: "website" }, + twitter: { card: "summary_large_image", title: event.title, description }, + }; +} + export default async function EventPage({ params, }: { diff --git a/apps/web/src/app/opengraph-image.tsx b/apps/web/src/app/opengraph-image.tsx index f603b3f..95ed99f 100644 --- a/apps/web/src/app/opengraph-image.tsx +++ b/apps/web/src/app/opengraph-image.tsx @@ -1,60 +1,6 @@ -import { ImageResponse } from "next/og"; -import { BRAND_NAME, BRAND_TAGLINE } from "@/lib/brand"; - +import { renderSocialImage } from "@/server/social-image"; +export const runtime = "nodejs"; +export const alt = "Manyangles — Every angle. One shared album."; export const size = { width: 1200, height: 630 }; export const contentType = "image/png"; - -export default function OpenGraphImage() { - return new ImageResponse( - ( -
    - - - - - -
    - {BRAND_NAME} -
    -
    - {BRAND_TAGLINE} -
    -
    - ), - size, - ); -} +export default function OpenGraphImage() { return renderSocialImage(); } diff --git a/apps/web/src/server/social-image.tsx b/apps/web/src/server/social-image.tsx new file mode 100644 index 0000000..4e1d5c8 --- /dev/null +++ b/apps/web/src/server/social-image.tsx @@ -0,0 +1,45 @@ +import { readFile } from "node:fs/promises"; +import path from "node:path"; +import { ImageResponse } from "next/og"; +import sharp from "sharp"; +import { BRAND_NAME, BRAND_TAGLINE } from "@/lib/brand"; + +export async function renderSocialImage(event?: { title: string; bannerUrl: string | null }) { + const [funnel, geologica, banner] = await Promise.all([ + readFile(path.join(process.cwd(), "public/fonts/funnel-display-semibold.ttf")), + readFile(path.join(process.cwd(), "public/fonts/geologica-semibold.ttf")), + event?.bannerUrl ? loadBanner(event.bannerUrl) : null, + ]); + const title = event?.title ?? BRAND_TAGLINE; + return new ImageResponse( +
    + {banner ? : null} +
    +
    +
    65 ? 48 : 64, lineHeight: 1.08, maxWidth: 1060, marginBottom: 30 }}>{title.length > 140 ? `${title.slice(0, 137)}…` : title}
    +
    + + + + + +
    {BRAND_NAME}
    +
    +
    +
    , + { width: 1200, height: 630, fonts: [ + { name: "Funnel", data: funnel, weight: 600 }, + { name: "Geologica", data: geologica, weight: 600 }, + ], headers: { "Cache-Control": "no-store" } }, + ); +} + +async function loadBanner(url: string) { + try { + const response = await fetch(url, { cache: "no-store", signal: AbortSignal.timeout(5000) }); + if (!response.ok) return null; + // Use the optimized display variant, never the uploaded original. + const png = await sharp(Buffer.from(await response.arrayBuffer())).resize(1200, 630, { fit: "cover" }).png().toBuffer(); + return `data:image/png;base64,${png.toString("base64")}`; + } catch { return null; } +}