From 86096d686bb212d53823ccb40f522ac088539455 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=EC=84=B8=EB=AF=BC?= <89172499+semnil5202@users.noreply.github.com> Date: Wed, 13 Mar 2024 20:15:13 +0900 Subject: [PATCH] =?UTF-8?q?Feat/#38:=20SEO=20=EC=B5=9C=EC=A0=81=ED=99=94?= =?UTF-8?q?=20=EB=B0=8F=20=EB=A9=94=ED=83=80=20=ED=83=9C=EA=B7=B8=20?= =?UTF-8?q?=EC=A0=81=EC=9A=A9=20(#44)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: 파비콘 적용 * refactor: 불필요한 cdn 제거 * feat: title, description, keyword SEO 적용 * chore: react-helmet-async 설치 * rename: favicon 디렉토리 위치 변경 * feat: og image, locale, url, type, site_name 적용 title과 description은 helmet을 활용하여 동적 적용한다. * feat: SEO meta 데이터 동적 삽입 컴포넌트 구현 * refactor: 필수 props 에 기본값 제거 * feat: FeedDetailPage Helmet 적용 * chore: react-helmet-async install yarn.lock 반영 * rename: HelmetMeta -> SEOMeta로 네이밍 변경 * refactor: og title, description 은 React Helmet을 통해 동적 생성 * feat: SEO Meta 태그 각 페이지별로 적용 --- index.html | 36 ++- package-lock.json | 33 ++ package.json | 1 + public/_redirects | 3 - public/assets/conceptbe_og_image.png | Bin 0 -> 67004 bytes public/assets/favicon.png | Bin 0 -> 4228 bytes public/vite.svg | 1 - src/components/SEOMeta/SEOMeta.tsx | 18 ++ src/main.tsx | 23 +- src/pages/Feed/Feed.page.tsx | 7 +- src/pages/FeedDetail/FeedDetail.page.tsx | 3 + src/pages/Login/Agreement.tsx | 163 +++++----- src/pages/Login/Login.tsx | 47 +-- src/pages/Profile/More.page.tsx | 3 + src/pages/Profile/Profile.page.tsx | 11 +- src/pages/SignUp/SignUp.page.tsx | 370 ++++++++++++----------- src/pages/Write/Write.page.tsx | 269 ++++++++-------- yarn.lock | 32 +- 18 files changed, 573 insertions(+), 447 deletions(-) delete mode 100644 public/_redirects create mode 100644 public/assets/conceptbe_og_image.png create mode 100644 public/assets/favicon.png delete mode 100644 public/vite.svg create mode 100644 src/components/SEOMeta/SEOMeta.tsx diff --git a/index.html b/index.html index 144630ab..7c53399f 100644 --- a/index.html +++ b/index.html @@ -1,17 +1,25 @@ - + + + + + + 컨셉비 - 당신의 상상이 현실로! + + - - - - - - Vite + React + TS - + + + + + + - -
- - - - \ No newline at end of file + +
+ + + diff --git a/package-lock.json b/package-lock.json index 43884ee6..28d6d972 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,6 +16,7 @@ "concept-be-design-system": "^0.4.5", "react": "^18.2.0", "react-dom": "^18.2.0", + "react-helmet-async": "^2.0.4", "react-router-dom": "^6.15.0", "react-use": "^17.5.0", "zustand": "^4.4.1" @@ -3887,6 +3888,14 @@ "node": ">= 0.10" } }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, "node_modules/is-array-buffer": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", @@ -4913,6 +4922,25 @@ "react": "^18.2.0" } }, + "node_modules/react-fast-compare": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", + "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==" + }, + "node_modules/react-helmet-async": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-2.0.4.tgz", + "integrity": "sha512-yxjQMWposw+akRfvpl5+8xejl4JtUlHnEBcji6u8/e6oc7ozT+P9PNTWMhCbz2y9tc5zPegw2BvKjQA+NwdEjQ==", + "dependencies": { + "invariant": "^2.2.4", + "react-fast-compare": "^3.2.2", + "shallowequal": "^1.1.0" + }, + "peerDependencies": { + "react": "^16.6.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0" + } + }, "node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", @@ -5258,6 +5286,11 @@ "node": ">=6.9" } }, + "node_modules/shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", diff --git a/package.json b/package.json index ee608f40..4e1ec0e5 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,7 @@ "concept-be-design-system": "^0.4.5", "react": "^18.2.0", "react-dom": "^18.2.0", + "react-helmet-async": "^2.0.4", "react-router-dom": "^6.15.0", "react-use": "^17.5.0", "zustand": "^4.4.1" diff --git a/public/_redirects b/public/_redirects deleted file mode 100644 index ebba2fe0..00000000 --- a/public/_redirects +++ /dev/null @@ -1,3 +0,0 @@ -/api/* http://15.164.242.20/:splat 200 - -/* /index.html 200 \ No newline at end of file diff --git a/public/assets/conceptbe_og_image.png b/public/assets/conceptbe_og_image.png new file mode 100644 index 0000000000000000000000000000000000000000..c1a8645bfd9b6a43497d8724ab2cc424a06abc11 GIT binary patch literal 67004 zcmeFYg@C}GebsB{e}5(1LaT{Cod3lh?yAR!M=>S$pl3pSAWr;c6NnUZvfcaA-4rjx4ZK*I- zq)ZQPrLFA=nym2r?Rr^eCJomqqw`!QNRCZjoJ@x#KeyhZXg<9TNEY**5VbA7G(a=^ z_X_P{qsRE~3&l%0_Wyl;_5VKK$b#bkYB^kB{n0ZgeO4EMRNWT)3Sw08QE#|=LWSc{2c8z!-*zogGPOfOP2MWe{w@+svJBi9 z_puqs{*rRwr8MO`|M6hjXW#L8!A|%jXab5H!8kO2;fUv@mI&prN7@?Ja1?OP#cEz} zr5jkx`)&JYmjmtsd}#ksVE3V}VZ2anW^_GvI(Gbd33;K-V`w1wY55q+pUc7UWlLA^ z-Q`ok%Rdil5BA@??pER_QwV#d0EQm@=Mz&e`>&)_{Fb+s%;poqle?ufv7(5Tyc*fe z3u25fSFZ%ro5LE*(#|TYSH@PTTo0O2pOu_k*d8Dr%I#p^auFD1wmT;xc)_(8hk7&@ zYaqBXte(^G719H%x?q8`v_rMDTLXlm`BvaM$zuKhCV^VY?c z&Vc{2<8yj8PosJo07B@q&R;SJ!Y}x;$m_k$_7#XT56>kpIb0y#H5{eIU91Pfz&N@M=zSy-k_j}P7K<0RnWkayE1-O4P{(-h(HtpY z?a_aJb3g9aqlKQnnpGlsMSW!@&Un{YOZ-^UJmR{+oS!}{rNCs+L+kX<`zp{laMe4~ zVeJk@G1UmCc(a!RM*JO(;b~{9yJXluFft#pY(4xd!}s5w>D8XJG|rLL5^Zl}@eo47 z*M0#{!DkJ;#77dt&=$=w!lthul7VDD_P#@l7p&kiMUbHQpq8o_Dvyc$@J z1b!=YaQLTUA7waXLu}GnqryukvJ+^$vp5qoxz*-OaX=eiY^(CcY|EQ!PE#e{ssn`K#Eyr88d{4A{zPtWtK4BPxgB0@+g9!ic zqVIMrk4Z%z$5_4^u!s#PYNzx`w(Kp0%NLh`SP%`Lc!ujqiXSU9{)QB1m-PCtR76th z65((ZP4>GUxPMDKA3}%JzI*?36*^VMeutr#@!(&2Bw&JYklQ1AqyaBT!6a|wT1h=k z6Dr#4D+z{jLNC?KBVWgPB8b$2USgOA>u5KjJ>8zOolA2F{f(GxE%(mCCp0BSE z_jXPT2UHi*Ib#75@BN?EzH_GQ>f%q5G7W;dOkbMpMD*IQyof{MzMhOQJyR8Zw-whA ziI8;7i2vvQZ@OO%F~sY5Y+1z1m{0RG zm*OS!Kn7h2_36nkmldI@JVbq3S>T_!TBJ!U1q4dM?_f>ZriN7roz4JG4FdNtbwViL zV`Yoot>I1uxEjA#83`T}SE3t**qo7Bny+3fcUM;|A{b zGkj;2x=?g=^A8QmP;8fclapMpV|RbE2fx$>Vbn--@NMmazlZyO7WPp@zl!AxjEUp7 zC{PN-S;}+9%U`QKLd!HQmXnQBuaF~PJ;b|9PskOlQgp&@GQf+BJ=92VM~%;BoBRF zmC!|2rFiCQA39eUzf|YyZ)-mA-xD|t-umOp2Tw9J`p^;Fr^tz_Ki{2k4*QA!Kbvda zsU?w&|EML%n!8|Qkh@nq)~G}hlBGkN1C3|xd{hBuEWNbWAM55Z71Lx(S^4;O5ufn) zJywl}%+eM~tRIpDzjV{3;n8K95w47`xA}|y?7=VOkz@`V8`fs|x?@;WP&(g8&#kuK z{3|$snXBz#j-z6AQTgf%jAIkVj*1K?O`%dX@1ixl`uV0Zz3GtlzZfG>A~ur7zPFH> zRNXQqb4-lF*rrijEJ|jaW$pD(?tsDdDLt%of(`T4pY2 z>Xv}V!j-F%UL-sE&V``2@Rc4Dk-BI)XM&nA@gCOOU(!0PtwK^Uwr)l&jc%#qHe6AM z3O$_j&l;!d{NA3a8~!hZ-?v<6%g|VpPOJpcdKRbhaq8WL2g6|OJhAoXU_v7Gr!$$^CsiYmIvnnGwPOip7_me8OyZ=*>#3)W>Rl*TwA34~w z)?3A_XpQxCnS(iH4tEDPm)eSm4kHr!wQApDNlH>;B_xS&{PNNjVjJ3|)!-Ab`aRab z?>&jg)C0+BcT}-eKotKgpOQEO(Ui@8FY=zeU`0*R*R2o*kko%JX2Sg|_N}%hL!uU6 zVMHP}pL!|W$I^F9E69C({%vetr@dCgz1k2NXbRY0q3Jgy7PtZ1smF|6ku3+Ao+9=W zn-=|?Rig=X0D_c;YojLS=sDP8mW8&lCht(cnb&%AhErnTG%xetbf3T2@Pe6;hu?Ci z2fKu$@LBnu)oZnikSff0>&Hf{*_l6nd`1b*F%go+0*Rah3xgnSvPPr_rF4}WAq#$g zrk2U7X90$4t?rxMJ9Q1zb0vyuV_ z;*MYv`!S{&HNrftImfvN0~=guj%zGs0Neuq8JZ68;$BE5aCxjKdz^<h;`e_lX73rW(NH>^}?e_^fFS zJrs3B^%Y!HN^5XvYPc^o)nDviP17^SUWzRMm6evDm>pV&UlY`IN}Bzj6%FAjXsr3Li?qPDqsOB2&Y-vr29^2Q_-~^=uG-O&oJ`QVuhE@6(xxZ!drl{FHdO?swPX9k zIw4%KF^V|XWov8f62LZQm0ap;s%hmz3py$w7YQJ??7 zu3E&8I@v&H#nnzj4tl!szDSAi=ZbL?O9P+fcdzD`CkwB*;%Dcq?i^zKkl(sdOCYW^ z2)I2M30!Pj{G44xwlX&SHBE3XN&ojtIkp6#R__d*c;93pus!jC#@)z5cJ2CJW$|YF zc@9$D96HEQIE9&Fk~!!^S&aG%pl) zcd2_`63fXZD^afcVJ1VGA&{AQ?M=A$9=Mm4tI>g`#O>9jhAC|=oYfL!bQi|5@inPq zUs9=gaUrQ^a1bAG_~;)XGm&X41S((S)5CpX0Y+MlejPn9W!8LAEtN%){tqKkJ5imk zpObTilO;4xR*CK@L(JCfjg@m*>Wp%)S9W@rIq(!78-hrJPk#1+Z9`IkFM(L#g$+}h zvi6!3J=a%67i}R95_0rdI@td_IFL+39aMDKOf|_58*h$ch*vJyNlR=j_q1?ea{YoL z)v}m}WOt%5FY#{@LOtniAakL^GgH3f5olONT()H^a;Kimr#hcR$7e>q0`z*)m~l!9 zd-|Q~!>i}BG&^(%02uq<(mYbMilJ}G%XcnH3cV>n(&vjQ$rRH8*Ppf)J!Ms*m|T19 zq!J$1b&NE0xhi{|G(PAEb~4%Elx^wxQO?gNX^J(g_KRSV zwE+KBk}WDjiI|0z(2CFJ-|f4hQR3Sp-$!|b{1~iNsQa?=NmUrgbx(MnLr|;-N|Maw zxrHAs_rX{PyXRiZ2Y27wCW=Dk#7K-iVQVQ5N{gv>8hu!-OVbEn@M8jC*#8o@eh06v zG~SP6?%KCMG|qQ~95 zmC>26ujKkY;LlVZz4B*F>LE{Z9?}j@rx*gx&yRjVo3~4EzMrCfj;Hx(llXhWgoWyW z#i;L(`8(5MOzs3GIR9d;2>}hvgbY`L2tV?F&!$Ub{mM~@3#OYv`s zxL|H}Pi-+uOS~i1mU+0l(=)y0{(Fbz`XS&O#y`Qat!mL0Rxq}duNvA1&hTVLuyP=x z;lZ`TVX%Isr_|e#UdHWPx{tT(F|~cB?Rk3_I!GNSd3316`P?B-8eq~ z554uwfX-FiNCANVdR8sbOQRTrVqZ!OrEhN&{^hcTEMDQ>ef_(>7vxgf7=RY5z`xmg z3X}J#S`KtTL@n=*T{{GiE#u)kl-;p^{2CAdm{R)J9H5dhXjag_H|EyjQ*Ee)9yNl2 z0Wg{UmoDy8kb+k$JjU1S5D}Z&MKx%MJ!SRp$vdEU1j052c^dJ1gKQU|X-a~lQ~O<bCCJjIlS;`mvPk9T`-5nQ%)*=br_yDM11CGP?8cWS7rDvHAkBVD!`f zH7wU)pBS8xmlzSI# zIW1~`4P*_lMo)h}#8Qo48%NEU{iyXO^iX~@HYUEIizeDq6?7}xDS!&Ftz`Fx z$=Un2QZflFtf;#-)$Z$6gn5?M(QTm(<@Wdbzb0S;I8D3*(i3@8WGARb54RCSYYzap zjV=hXh6Zb(~Es4@VfySPIcoR|?8ehtwHz~lN=rkPYk#nrPpMV}=AAbyg_ELDB{;9}OD$4l?$rdnZ)OGG;2vk(ys$7zn*tx zD$90gvo`1Fs-17Yu1x;3llu znuk;ri_gbN{c959b0Jr?ktJVBlfVL{wW%K_jivN3w&+Ib3bgRvnf};(?Dag)Og!dk z7^@DSk!w+A#PIgfmS8o?PHQi(Yu2tnIkwP z*##y^e_YvARL2hTcDT+<)b&NpHm#nshb)^uz16Y_+ca0ioai4!yf&p_7Wtgs=*9|l zo+bytN{ zHA1D^h?uZ}2^h(dw_pdF=J52&s+{SGvdWWI%@oA-%IaXW?8`|zte=4g8-bNy&p0Mk zsmbOWRL*G+@7x*(e_}Z~k1dGA?9ryDjrWh@)VX%d`%k0tg$}dr2DiI>q)GBrPYzfF&M@I^`IlD4SX5Q9X~w<3&piUiiDf{xBo-8= zEB0DvV`8NJxmOr1?Cp}9u?158+traf+H?4s4{nVHo={Z>CNaOK!{MR@0-{u-P-k9nLxvY%SiKBEHc&v_F@6(u#X8f)-2_2zxMq&)yF zuE~tpL$V-R7{H`^&1LI-jOC*iQJsXx;#NW3e^ZzaMFw5rzCs7Y$O4McaFMpS*W$Vt z3u4vH6YvJY_Wk})vIYVWXKOAycao$z{V9_FmK$H*BS>3cO8+_6mtzaGB$$Nnvj%ko z0aMZq{dJcW-H;?h4&^DqTO2d=Km!Zoymc}v5+DAN4<>g93-IPNMb}#-ndrgXR(#Vw`N$C zR!%N8Ky<+}o~q^TQVqsG!~r01ZQN=_ZH5jd{Z2C{#SkKY z=L_VXQE+Z^Cbv}{L_H8#0MOQz=5A=)a=bKlKy|uXZ~Y0X=d;;pWcAA_D?b4-81~R`n?lk z!xqTv$Ok7t0~vx}(i5`RkPD@%v{oLh}_tVNx7^l{E8&(JAr%RG?R?s2ZQumNN2=Om&-j z&{om%_7Qj;DX{1wKuYN+*Nf)(@ca1W-1~M#RW)jR;@dcN7$}pB4xeY)d=gQJ5lT_# z2JxqNr~J_mYdvKnt&w_)323Psl3R>HeHEtO<8~>(6*_x(IXRN*L{e`(>SCKt`Ogt~ zt$6Tu9tVe72xRBZnCBfpU{+Ra3uWw4YnP!n?cW+GP%u0a$(F*@tt{;D0*z>Q<8FW} zRVSCR`>;;4ZpW;G!WLCw zR*yb|q{HbQ-FWz+!>)C}5Ce>|7 z;lE3rp8XRDcRt#WnX?X5ZmoV&SUK~PZp&d1JrpLbsA@Cz;y(3FPPtFHq2J1%IkIu} zag*bo-Ew9xFam*Q65w{btN;Gn;vZPe{!#HlQ(OC`oH*Tmy)x>@AI;JMoAFupdeqhB-CHjo_dw?(dUk#gB+W4_W zA@_gwl3NArIM=LyG$kfC)4pBJY|z)$@XN*fHxe3R1K#+t)0JOju-+F`*W#)fMyO)V zyhhklwCd~8N}X$By;bV^P&SPNW!?Al6bE3bmLA~^GYG0Q5oXtm(0>BVBZy$rBl(a; zoL>cP(3tkF4XDgM?lt9BEawqCNj9L+7#V3|(|*UKOCXHn_iv9R749q9SaHC7q&rpQEga zl{l!*7n(jT3Nyx^s95h7yeM=3+&pn3Sd)7a2CZttHf+idUR?v+i_tS=8uLQbN}q>@ z3R3j3#Diok$5GV>p4*89_Y#YOjClE)C&$2lI+juSdH2Di+#Qpbqf2F50W|e27cCbh zIWi8GME1U@PoJDE(B(iD`Yg$Kzuwjjes75;h-6c4J>NTt#Y7mjkw_FfyT9v{2Sp)A zY}nd?=$Q|LCPv2YS-qEIpc+J7gcf+wp2ifC>Ae!@-Gr$7N3*LVzD z``TqNUOx>@eIPrd-IHHhAJ=6b^`hwLD(lJhhQn3L+^cbYKaQJu$==rl)Be;a{G^Gs z_%4V<0zH$?1MjEVlb!a;jQtFd2v}p^Zba>A6S1~LbN*dqdT{#BETzpi-~EqjI0dBi zLO^zXTj)LUw)9K)jf}?lf+x?K-7}svdZ{pZCc)BgOho_gPrOi>xrj{32pTkbc)aXa zBCnMKB$ zhl_3^cjp82k9V8t3o`s=qf66ceM*hH7n2CnZ+3pCFbTA|dEHVEe@1|@&>`AHZjG;; z%+1&mtEP&`=2=5}I1GJgEQrdh>^OohyJzN){bO}dZ*IyR1$>z8qGqf%ogrOiuxbag zHu0e&O{;_2%ceE+PUQ8_1=4dbQOPN-m%co@WS%+xWK~-o9ghMZV7p+y&Mu~@pQx;J zkKZOjuPyYwjA=2HEOGc;{n30}BXdc(pwDC_-j_ma(oUt2>j^B)Vs6ms9zzgcdi+Xa zxUiIY7o^;7oBns3qUM7Wt~tnP*KYT)SbDs0=_{Ie;c_uK`N~5z`?ObD|*C);9$Xz{Z!mk5hzX&Si?uaL`z9Qzb-z=+_iy+G&u8E@=p^KsP^gQnyH zif7mRO~@Uv>-5zh-3tr;mO*Tj_h&61r9}^9=`t?i;*Z{C9evvk_r2!A_NF7#PD#mQ z)`>9r29%f9KjW3iE(Xy29!owyL7&(#I_~z}6(^I)J3Fme*k0J)IGCTs1aOmz7>OL{ z({Ww;p-#*0_ZO8tdF7=nL*2g&VzSI-@ivO7!~6cJG}?(OJwH5$M`F;eQjzI=0-g?m z=Ue9Y6zdiZ=A2vE@l{{0?p=Izy*PW+y>~RqT6%&9c5IDXq@!T~ZAvF#@-XaUtA}w2~MDC(>-i z&CB(RVyf{Ia|_Xy&YZ3u;|s@F@@pqAb)B5|;ZH8n`%Bla1zxE0v06ZWGC)+b%hksq z#g#%|x>MQGW0XC=vOWQlZjN1oA3Vl~pB>~*CnGkH5) zr)_+m*pi|ilt&lI`)z$K{NN`&D7R0)l&-|2a*h980Bx}wRfFM}o~D=dGIb00Fba(Q zX{S8v%MAVksO<^0cC2)sTb-u#F<9qcIfsev zCtv@Jr_(kvGU9+YUhMX+2ly-Z*ZNoXD?06iXUh^fSp(+fa+Mrl%fdl zYDR}>iNtc9S`f`!wYxpbZ+i8ek%M<}YPk}*)8ySe6)s`c`g{Lqw^mPw`+iujT{d|u zIhXdxj~P-rLlgHcasgvX$2`80!{7bR@2j2Sm~ap(zP(>#K5GQU#c7HjeV4rlA$%>X zlD#IZ0S!3ZbvaJENVPq~BQ-c%+*TS_u)p#rF2m-Q;uPDCF6xt`=cQ-+7}LylFUCsv zazTocP&+>k{9OmmO~)3Ej2Ok$XPD?$=}|&e@6F4p<@YfZkSAseJRPCQa|e#-gyvhp z>Yf-2(^p^ZNidK(FwN}$$RIp>@lwmgZ~JXM2NI1LReaSwNVO@CRyW~>0eyaV1IIth zDy6e(OsWV^FEwWX?bM2V_X#yb?eGLEb>G$It@?=k4n_C52pyG$=vusWttgk)#&lFr zGw##P@9GJ_>bao8VkJ$>@PHTwi0vWlgzKYzaEpScqoSZv)bqZr;(nr0QfBhb>))Sb zOSkY_?(T2x;@l^Q`lMNVS~(cmaGbVv-{{FJw`s#}JMW29E;JV6YnPt(b7b?Ik*gpT z7dw>$&aZ03DR9l2ORUg)5NOT5zvA$-4TP1}IvF{vm!0iv?o7c^M>W0&La}-Pn2bJs z!~V!mO#9t75y69DdovY2edwE5`Pl3pR20WW;_d@t&>;*rqwdl+vNt6<`K;Xbae$TA zN>@3PYFV12uRgqQ!vjpE}}9f})#bhguIW%G{ax!2OU0iyF==)%%xTm2= zUvc!Mm?P(G!q`0(eZY2T0_Onb*eaxRFUhHIz2F7DA9qi)wgQku1mas(>2LIn#GKR> zRuU#T%{aX3B_|Ee`&E{bG5b--Hk$u=bhzJK!rtgqXt$&phB%k+9#_>1I>ijQx7QmO z%co-U>^X#ZM(zlf`>fB7bJ!X{=YyJ-?b2cSD!whLl;)YY)|HH0ec7Ufwpmf$Z0fVV zBigBW>en_HhapBV*em~?dprVOD46VG()%tXaciLlFB6G|O`bz7ug;`->x*4mq+0@RT@v2${&!05O&}MmT6hFBD}V}n34R& zcRz?mH8|8-N?6k&R63$oY;V<*QsSUB{QwwHy zp#+R&tT6iD%S`znHviffL+$e=$EY(QL|qLZie?I%#-3|OrYZRHXEi`YFZ{Dkk(S6T zWfcK-O5m+dyySC~04mKg=Ad?pIKkTP6WC;W&rp`Aiox?n60| z3>!wNWyYCOJf?f4QS~*dd!O@D;bb8M&`C86OjP|)=%O6v0EZxJk5F)<& z<#ZWm^x4SJPYOk(E1(RCV=R>8N-_6REmCV)IlBy)nOmJ>g6qho_4@ zBy|F@_D>~w9Z2GBbXK`&ByM84<+p73SY*r2gtaplJJE+vANP}GqGLC+K3P~&p=9E& z{%%s7u12bn--1i9$x#olXeHxgm5XZZc)e^}G^((2Psb&~uOhUV@F=sP%qGXB_HBR) z9QIAtJ`eWCkuH+?Y;b`VjfrP6nPFa+nFy1n$x{=4bgx=Et>N?}j2$37$ToPH*atlw zPvs%c=~@^x5-5LE@(jcYCE`O|)|2Zpu_B=^`>I8CV6StNqj{$KE`>r?@05iuES_Qx zC~&^f&@OM4fum1rQ~Sb0!vZ{8LHX2pnmmx>b&j8wcVV|i78(@gKN$d)X<*M7pA*ty zB&tHW>t*ysP6Xx>zBv)%!x}M~>9)QLF$w8EP+uixeypOhQD zwU$ToIit*%>yi%%%5r%$A>i3p21zwaU`qYeY>r9kL$>$sqUh$E17q`fNVmXMdn2qr z_xyWDhPK`fRfPch9RfQrt zBwvWkbMrM4mo20uFH>aIKqJ{Ft0@upBNc<&gNs)`2CP_+5$dLfD|COU86Z{X9=caV zhHcwHRFzznApU_A4Ika+lLD5r)%Ryy$GU@`E`=L=whEOt(;SqExnQ#SRA=P^vjZu6 zyUEP@(%^AWo05cMqy+kXCJR>N{=m^oPO$^uqBsraXH6-o6`h93p<{MRb7>^+LDYRr zP4f2Dhzv*S5=Ov-aBSgL&t}H`^+9)4<@ZZ}X5Q`?I+r~2pW}PJy=kECiIW%=0gH^$ zntg0rgeYEn4$>DEJ`vZ`i6z28JYM_OVBGY30~58?yhMxdAeNNjQ9Nt+>+XTsvu2L? zi)fhZ#)6tWI|BNSR=~uN0mPWLAw8w6W~|t@7r72vU?S43HE>-IX&p)IgYerhb+0SR zil=KW0YTk2?__A2=hsj3#6gvy{4=?2*la)6`91qcNx5Sp)f6!G%I#XjSgO$2OCC@~ zMyfM|SAhrj3Muwl`#SY;w>S5*d_EcJ3f8C1Wi}yDFtdt3tTTe{D_%WF+CrWW#nPsr zH-aB&!fN|K78<1iT66827xgU<^BHFr*@m9<#OfZ+m=X2BJq$s+qo>&F=tEaq_frx> z+h^FnUIf8BrPJAT__Jy>ctL;0GtfRHj5CVqu0NSN`|FpIjv-6~As>l7#fdJvy1V=b z$L$%4394c(ao7c4kX#V90niGtM9M6d}daHiL)FqV=Z&%5$9YeVwzx85NPu81;x8<-=$m0M*|6=-@ z5U`_c&e*1$CZotqA3cuQB)_cVy6}!I&zwz}NSdoa zxjtU2J)<)ASY0VWXP2EXRZ)5O-9*;>^Sf#+pRKyhjvQ5WUo}5iyE;Sdx}kUNoBLyu zr}wOPTij>wN^Hk0`V04!#%RAW+Fzv+DRpYAoJJ1YH|*X=NWk-O*hy((<~cV_LNq$6 z^Q`k0Ml!j?jK1Y>L<@v`N)qU-=!X4yd&);!-^)2Mk$53hK%yekW?7U!Y|*Rb2poYa zuShqSS8erFl6JZ96>M!Lp_a;zdmOyQ&{1BNE28NS=rM`6#sofu+TU4_*@{c{Fk6tE zfyy^0i+R}jGTedGTOyZS=Dd2^q6tN+ZSC}UjsK!&u*SW7eUmXHY1B`imK4vAPj9bs zuvn%oWKH=?6;u5u^Q4kpG1QjBNETaNvD5p^FDoxE?iqV@l^V*N{NfbwtW#d|Xo%{n zAgPO4ckj>c5}Yr%`k`8AyrJ%OP>_)Enzrl?P`SsN6*^amox6Q!MJA?ayhS0+Q7B;Av5pe%t$ z#^)2RD?ZxmLl8&8VcI&b3^&e^ML3cD} zZ&MM|D=3X>E<=GnGLHI&-O&5;W*o{U>CgI>%>^ux0v>yy&X7Y2W0~GZNqxoQu8a(c zVPowOYBAq%1`9A`m;5Y)EZN=c3rKSROObI0gN0UMiIS`Ds8Hjv<^4_l=^ydRZp4Hy z33~1$BW((ALOH?=(2}CL|H~yK}c1ikL zb>XL0jobLgsPlOKJ8IB6g_r`+bDrqUY;S*9TYarP{>=oGEm| zUR%+hWaE)nAkv&=y`^%|^Imej>JX#n(wiT={9tPRSZ0>q+*;%1N(G8}7&sAXjbr0G>ealqt(2;nBXsV`3A2QYtOd?9JQey$)rKbhbo4(McB#9iLRc)cc zy*fCo&UObM^5WdhZCai2wdq16Rfbv4rj_=n^x?nv5*^;ej>nf(Y<2) zmmwbzaeR_UkJv)V@(2cKwO`f*?@ai?d)2Wg+GjHP<2leLIsHqOt3~zp<}2_h^i>8& zt^Aez?ym5-#TqWPRp7JF?hAfxt{m-3UnomvveB1iyAoPjwCZ(0H>uHk{WA8*LrA?C zo43aKfta2VgB(X)xN90eEalB5(W-4x$IU7EW&IB@v(snaN4z ztp@U6{>BT(ZF7bncnNu;OJ<2SVbS?ZU)?T$%nhmN%%A4k72ds!C|*d#D4-IHa=%koz}DwiT7gcfpS${lxUAm`o9?Ls98+%Tnf$a z^NOGnmYpmVozQ+Na-89IX_B6o>~U$9&Zm1Agugj9oOf(Y{VvEI1?}GC>efJr;`L4B zcsnT1o$eS}V7vCD&`7d`u_Ik7G)SJ4a=t!u>fLo0w94k~AkMC7OM>L@3A#{zw}fSv z6QSC6In>onOI<(HF_%{j{5tw7$5#=>s%`vw{bM_(4js^x*U&kBWXUa=4``p>2R|@6 z;bCv%#AVO37s@J)3~sTrUYNkv_A4t!77rHYiu%Va00!PF4QmY=PAApNiE21JF`OW^ zb+J_u@~3$;qC{MKplDFk-e-#Uy5j$@Xv$ z_apwMBqU>#4#pbMU;td!;$GJake8<$C6Qo`D3r1oPcThAs*{vwjv8ys?N&IHW5mnP zE`ZCurpeDYEoit5lw%KMEZfST(+(Gnnp`V$AMZKuOcJQ)Ycs4{2i1w@%`%n=a2<5h z8WwEUOnp81or(Xt=wsedsmFTgdG4(Y% z+C{#Jumrz7tgC=7N8uWcb`etbPlg`VLzf)QL@Nh__)>t#xaP$Px?%@22dZ2TaD3U( zdUYm>5BV@08-c~IYvSemv=r3GVCekX`MC?Fw`r3idAuQ)6Ifl=R{x8vS@9jifu@Lt z6BlA(d*Bj}9n^u68Q0b+fvu3bio%ftN@p=+>zMrcXgtD6HRJMA|NYIevJG#Yq-W$_ zhxBw@C>G()CRW9j)1`WzXUcZNVnjW#gt7f^Asusu)ie>%Cld_%><+%w%z5{!+*MB$ zr5&fMTp|`nfH_2qj<2pNT!mW0P5C+M zJkR0f9-nm%o(~Gfxo_y?N-yfFd%3UUq8sKa%f}CNIeoynLto8ayXPqH*NUPdh!*r|t2G zDL+=P$feB*Z8z9cOhI|dGaJOQkx9~5Vga0ugKwS46%G?za0JaN++KM zrX@Zt9-G`4zM!6KeU@NMZ>zD<*m_KGC z@Dc{F4<>!fiitKa0%{w^eu+An6-W=PVIQKBkmiebO31oGwkS@;P>VeS5*F&7b#qg( zWS%^%;UTZ&UiW=C$hpXFs=cVg8~R0Fg-PAj?3Qx0&O zQl+j<^eUJ1eN!sO#V0(uM>{}{r!&p1Z(1?W{Lxwy97?Trc79V4zR)gmS<`*59R2!f ziQxZ7(s?+t`F`*J-Jyfh+C@=&&sx=@W^J`1cCFg9NX^hHwMP(p)JPB^R$^0I#onW6 zl^QXM#EA9F=llB)p8L7ixzD+-*I6_R<&{)Kd_CK1_}RN&TP#Y7UuAdoUgI`)I6WEV z1XbAsfNNog9rT%B%(-Wp#V}xsH!DCRZu=ENH9o-qZ|kC>sm-pFnc}_;s9zC!+;OCo zl2>Bv9{h7|-A}8=&N?q%!=|TtdE#jegK7i1iYAU=KJIL7)uumn59!4CKIyrlzwn># z8d|}~8lTuwBd)@42jPMlZ~CUQB{4KMM&w9s7gMg+vr*skr#x>LRVlo>W6qhJIxes}3$?;{7!_EPI8vmuVKh`#_$tR(Vo z2t5j|c56Q$_VYi+u6MWNHZ9J*+3Kxg@>30(_knj_KU^BNL{(_fJH1$;8qh4=ZFjOI500v?`#O*G){H4D4koFM ze*Z@p`5hG!Iw2V<=u`~~ovvMYYnA#)&)E0@OhHg*^&oC#1D5KU<>hduyXxzC8qpW` zRo(u^&?g&{dIeS%8bRjzS1tKctuChrCoM4*kK4XaMaKn_MS35+pX8i{*SItO+_$1X z3%e>HY0ZB-ThSE^em-@zK&%UFYRq0bXfEcXC`t)8Hejf-@aw-Fr0p4*8Wnu(?^rtE zgwJTX9FEq1f4*MeA3tU3e~S$J&09HzC?e=VbP>0w9ltc5?XORv0DC$Ia-2CeJemzx zwAy`-L%)W&94RTMIokp5c0Dv z^mf2NqOJM4V05mVj)*Qf{9TX9lh01ruoo%X(rNgR?y_gDTJ-UJmT`mH4}iwHGBt83 zvBl(y^S_4SeXfI*)tK}v1yTh3Oni51?$JL`3|mkM;-ogd+Pdvq_G^1r^1g!WmR%a4 zwyl755Op~&=pN2}|GTvdTP{uDS^wVFyq2K|SYdc-S9AS9el~9Tr|X&_yKLa3MPV${ zLN5k0##EX$qGBsMY#ldw%tHnOhg`qtj#Zq#d_9YmZ;-Y%@LAqmZ+TenTZZERggruFb`FPj$yNd3jMX}f&A;y zn8)L3&tqtG>(A!Fx}{9S$6N&u_&ZPJw+2MD9zdB<7kSFgLc50MXexMbhZda^G=AU^ zo5z2ZPqfnSpW(B7@V|dBP}}XnNZJNMN#375@*jm+o2gpbVvEFLsz>;hD9_qYqZiYq zR=5A6=hasHYp7dXf+>RZD7spCTd{gxw%N z@_p9&?bw1%Cjjne`0t{T1kku-WUc$l_yTSkif^}6W4g$Tt3sX~VB?z)U1EnB+vU%H zSbN)}LkDD(zzgYdt8(E6I4hWi7f#z7=k#g|2!=sEUM8qkE{TQpP0iW5P z)n82$8gjo|JkOe!Qv~l=@X(+60%;MU!lG1)6{$X9iy&Mzj})Lz>3`$I zF#r{}wJn)imsF>q&XCOt&&n|R$$s?%L2rPcW%EVaz;7nT4``%kIf@`zvg^8J;1OjN zay(hEZ*yyq!o<1&45R&Mx9D{*<35eM%uEyOiL!0~ktwzSq!DziYGBZIGcK%S$Qt&B%({jD+(P808 zj1htI#SX=~yK5mVHwG$*9v5$n+%Uws;om}^0da%m8rmZ2uHR_JO(tqvWgd_9U3vtC zN>is-yOJUrDx|7Ctf-3UvE%^Z%*oa+*?PYSxEAc?wfWamUTTfA8txLcx_4}PyA?;- zGiKR4^{0Q<;&!9gmkqX|Wp+PESkTLsf5~{2S(Z#a#tCq(2#td&@>x;!L(Fh-=-GFTv$;jT+-k+IYovRfDGUG?EsDu=Rz5ln=L}18}IUrgb^08IFz5sW@ge z50IA{>hK85e|3$KUR*!d(IMK&SzBtBs?nLWV6-3FSrTDRX^h$v$>vu&T$Qy97Ce)x z=#u9v0iwfYLOD;wNV@l5w*l5Gj;4lYY+xFA`IjRr-A&3E_#?`iUtn90LG>CNtCtsz zi|O^SPWO&YKEhNT1&#YsM-6I*JtLA$6%XszUAi&>1O^6$?DUuhybS)^;J7u!2?@Bl zLWP6BXp?rUaiUfdLPbp*ckX$n#^HXBC>{uy%h#zv4bQzpSMi$-F>=r9{ku6uoe52 zB2*O@G2~}Av$OZLp*%D+?<2`>_x@&ui1z%0o zcQOWi8z#t0PkJ~TQ*)K`bo$H-uDWmUL*XHAETRXr zsok0B`|S=q=`_-f`3Xl|1+06nyZ%v5j6=;`UT*9o`l#%f8gxHGY||^`JmoNDA#FZ?`-iT_;?cCs|HM+G+xu>a(?C zz*WHS|(&UwUwuKP@v z9fb!w&TL~Y!mhD9Dxs7#6%}gCh-9{#;7XQ+)=b$$|M|_(((-@UvT=2afF&RS)IBrZ zz3tjDrSTk(rrcC~rh}^n!#2aVa=NL_E%sF1XGCKag~5joqTqk9uw-S4=hjJGhrLVK zt5vBV1Ep76)x4g-ZKulZAE6xWUrj}5Dso@_YZA^hP5MR76}M1Suuzn(pJ<(}cp+6d zEjUx;q%CR@q35Kkos)}LchFekZhB8rG&22d`VaV5-Ry}-9imJ~J*;K<<>n+Ra6I*w zq<%z>t}SD)wKu?MD;#y@2wF5`nd;6is2aboDz?qGY78x96`Qd}eU(c2NYu4tjg6o7 zEzBp0S`Bp-kg4YVp~^LvOR8iu!iNng(1O|8@yktgM^%RUo-^BJbnw5c!T+jcjdk_) za=+K=1NDlcg-qqR%KcwxIZksn*e?~2n<^?uME3}~d-mQLFxm36i*?|yU2Qt0f*ZG$ zzv}@kok*3Ar}?Ca%8QlXSlX8m!H)6Hd2pY2s9KmFZ5lC>>Zva}*+b@+Ooj)G7=>&6 z#>y&8HL#~STHxVe6@mfMUz#Xbl9W~@Dl3H3XM7oB?Xpz*Fs6iY(VAxlzVv-FvQF`a z*EtxM7-7+n%qH35Q`d^j(Y5&gBFmJ0Q~=YFGerCba!v$oIEm`#edt}>UuM%dIOf)f z4FXb$)wP-k=IYSHplurK12ON*-cQ)YzMUVR!CCS|m^}70RkzN1se+7m)Q&|)#Ji!j zI>kl)#Fj)FxoOhsl~TW9Fqo>xBBp+!pOfJ_{V5{T^{6IupOWMO+3FU{#(&$A@#Qw` zAt40PAtSj4U5?)(>lB@7*Dl1>B(dycJcqnhH`x6McZpus@2Nj>(73b2B?~ndoDh0| zNo}_7fdSQCG4-MxZTBCv(GNM*#5)XO(4QJaD$$+}CF^$!=rY4?P$MQ&m&M&N>DxJh z7)#q$Yxef*Lun@Ak4mX*>I%phk!`z3CKvS&1TCh|^aEVfHMml|sKsQGf8XNM z$l#;cx~gzcY;(I2?bXW{`WF}doY$otbWQIK(@APoqV}c8EE7+S8%LWKo=4*AfaHk5 z;!IgDW}v_`6*zj4I1qK+^opXnV~9Bttp(y`RGu9crtV?}6MFiWHaO_Ly}Q};wVR#^ zr~#NbpbwuWSm-(>2*;%Uf=45tMpQiMFQw52o3Kz+0A0u?r954u5B7EESQp#t6YPvQ z5!O~{3Y4Rx+4DDb^j!f}XgU?K+wNG_%Eoj*?cG>XL0t`J?Sc!ATRsIfCC3+6Ew`_d zvsYQzY=CWkoioFd zOzk?hi_4C=dgl(D*Qo1?fv_v-Eiwg$lA@X!rg;qohnBN9m(zDx7EL^^ z4<|W0j&p8`Y@)kn|MD}2BfX12sQjVZGt)a97tjnRuIeaKSfi7FXe~Hy@-bR5L!~55 zz%c3480@yP8Z07a@|LG6P}=yugY$INI8B_ReE$cYQhJ^8cP0R1Ht7tJ*b+Bgq+*7g z#t@O-#ptqhM2_SVv5Z=l5~(07ab*-{mhjz@fcP?6_YCPMS%7=uV~Y$z+&%=tI*cdp zFbe#vk|hdKbq_pQiLcc+i=5$|eBA??VUh#e%IvQALV}4??vvT?_Ei53840=3dpKP3 zT6g@Gz}a3ehGIUf1%Ihh-Tl1y+)4zA*h@QLRcGFE(+CNh zwYRh8Cp*xzOAvxIN07@;7uD)M>(UP23T~oj{Bp9i^TY=cFBd0)mMy>5w#20*4oW&* zm=I9)41QuA4KuCUlwxP>-?QbcMB?Y%;0A*K6P6PhfI;6n0_GJe=NA19%}^H}1nOtl zvcUC&L$~EP-Mo&fBTUy>yJ(h;xXb5LJy;T7OUG$ax559;t+J?Tvq8t%mHGY)LXpzX zJ*k^VxMxy&iWGtk-GE|D4XhueF)EyDT^@xN{@o}d@@p%QNUEX+Pk1!^Ze1fIX{p2x z#jcG%-=1WC`24=x^>h5^i&S=BCT?6~fqAs98;QV4YqnaHXVL;(jHg1xAU#?kA`|4s zBV_}GI+@y60s=fn?&WWaOjMMTMUa46oAd~Xl?((hr@NoC*M#tEldB$5>sE_nqMQ`1 z`%7*9!O^VJ@)5+8T~S{Q`Sq23=Zv^FMTBPrwZuYg6z0K(Wt3$`01)14QNIT*lKmoB z)@*gUO}lJxadlxZJfp|X*n53iJj?(b6xBq67&-R;*uMysuQ)Fu-*sYBRk&(g=Tex> z3rCBr7C!vQBX7slRfCFFNvN`MT1(0A0Of<}n`{CVkRtq;>mHPI$M0NPpdh_VmUx2V ztLeMkb$g>zSH2I|mGEi7{MUm9GI$FUOY)ybH+6idQ~EFJ8%>KbZf;4Jc|8AJP2HC^K(m!?&rgFzEnIZ%NB*u$ zu+uFWyE!Q*O;aiQKMfjvndW#J)ahA-%5JPp+SdO0nsYiA3jfY$+>g9X!1RM0MNrKJ z%-b`6z`|dzq_BttP4Hs4!!TaEH& zDzLHq>^GGzgv1WH%bQXx|HlArE5O69os$z6MjCF5hmS+@jcs* z3a6suea_9z*A&Dhc^}U#ylK`or!$5T&PMIX?W{Hxp0sO+rCB6YnsAfgvY8r>drTPL z@7g0STOeMXI#yDaoLz!U7c)K;9vR| zIsCOV*0io=J1T}J?G|@-tUAiYK4$~_nJ)|bqs`a-82wncYb=V}q_!RAkzlY_V=}06RzL3H67S^!w`ckRfHa;^M@si`1TV>pR|+}<|T;=s=( z_uTT#gJmn&WXCeYH5Ad8%O?*!r zlb%EK07(&r+s_m&pXfHBen;A+E++r*9MyE568aRLDCRccxJ$Ib)#7@tONIz4y%QdT z1kI{33xX>%I6NzGUX>NHpBH>o(@W_>+Y8Q!ISGoJf{;fOyJKq?9y{84dFrQj2B2ej zO$;PGsIB~_4i4E@*|j?u+H{ZjX)Vb)K(029P#uE((wyMwhd2GSltZUjT&*U<09 zwRJEvqGI^ya+|Kn!m=hhrnqv@@XLXoaBXIH5HdM{g3H8KczGzrSNKJ7?>`A*2sSOhkEd(q&8Q35Fah9@ZbFIBQe{=;3sC zZ29Ih#>=)DDJryPK1fNRT`CtG^%x;esUnOrPZGH~Yt<}@vKCzFO_VeKp76Jc*NARU zdg+_d93k(k)1J6fd)tVnLmB_wf z#-Jio&7iSpWZZvwi41=)j?J8skuAIv$@7t#NYl$*Q!DG%9WS?fju>|{E1|N7p>NXl zGaMo`9Kc}8@>fUVacU}>4XUX}ONIL5KahWN+xPJM=8YHi?gtjd4qhuR?1}Z$ULn6A zUfsJB?dKz6)_J-cjX*T@uop_hjD>AM7yrUtKLJoL3aq>b)+>ZM6f z+==ry774ZX(RwwCL*N+Ou8t`8B#V1u64G^w(Vd{3o>K<`}nY6db1Pf ziS0tHzExZBbc_)DUWfi?1T|eC7|CP_wzzA}L!%NT-|{H$+af`dP1ms0MV^_mJyG&T z&eNI@iU{Y?rsfI~g7@K~nd7|71YxdS=)6ip%V8j8K7zf&YA5GhX zeTrQ-d-|0Q13PgdzM0j;$k;K5=x0r_=K3m zEAm`sT$kg!;Ppdueg7Bb>3rPp5DNTkn$SFvURKW#D+6MUBBIW}>UyhXfOodPfZ#ME zlGhw{TIIz@MPYmi;#PeUcWTBGt5!f$T}DJi6dH-65&2a`K;av&S62#hm#3Ze`arqv zQSWo-Bf)0-)L*lgs!h5Ep3py$A^(hMf{d|A^XLyJor=-^C~i|}lKugg7@S-#VJoA9 zv(7L~$S`tHLrf7lzxXowezg zgE_=iinNlS;^BeQhBxZ+-(MQnDfU2Z)XM9P0?~UeP(@L-ixq!s#*V?WxGZ46oO-{@ zDS<^S`r_gBY^@()+{%9i&k^9)Mp8u)c(%Q)d}Sq29dehva1?yCWjT54eX~-PAUN1& zMx;i@T2lz@iBolJbjZSf?$Ivpk4IHX1o;kZbp?S7Z|W3#hMie7d>}52%%E+F@@2T6 zVL|g6wV<<&u=@O{>fm|R+1L3#(o$hp#wTw)SlpyOcFHK;zFc)dTF9B&t0;emBpl*A z9RAryJbf}4UlNNE2_OpA18_VX!|s5m4d zQpHu)g+NwzX9z$?TJ>MWkiW~rwfPmcNFE^fYlD!%m4W~jl0*T4dA9xlfJ4ofye^(kK`J&e|qI(@!sTMtt}3C zwAig}I@sC5#;lM?RFDlh&USc0-pY2C9Y`0l45UmjWWoB@^;hZ|gibRbZ^h}&K*wsWA7{~9(=s5gx zrz>bnhZ6)HSEVi^&2=rqZ(&l(k94cP&&5%JVzW0x%eHiIbj_rL+Q#w4Oq8R+<=68N zqst1q#koi7wzKutJOFl_-}LNOb~>@AU;VhY<?h#^EQLysFcm#C~)_m;WSt=$)2 zE>NeNL13L65C7jqbh_s3>yd zDC+uDpR*9);76muJ5uI#T;iHYG%7pZCYszEqbW5$JV}0aG$N8^6Xtm zm&!iZK*OSpqQnI zAU0DlujW}DmNzH!>vIXg3QxtDDODC^TEtB?`%aB9v(M|IcvdpFY*e;NY2}fp3fsA0 zL=mGowyWS&>9mnH#jK9@noz-)G&`$)0AKmJt77P1pxx>rKkL1{l_|R~KjVTVX&>*r zo+ZR2dzFd_v{jZzXd=m%uCFduDF4hYnNfBIuKk4dTa*9BDrGBazl(-AVc+JV@5`QL zkLZlI`2UUDUep+Dexppx@19vsQQ?--w7Yuixk`veEO5u!Niidr0dJ*iW1NLtmH)QS z79$7MAKd&g$na3z4OGj0?_NcM7~gBh>8LC&H@9v4_EO7-lpzG^Rr1U5MvWe0!kPN` zQFn#!G+En!Ky|6F3<0yz_3E<;`FJq}ULVomj*m{qL3H4l2)zs-*z=ZZ^Om*0&c`-u zk5ML(LfLzyOGui*Q-9o)b6nEyMaxrI#(hHd6XG}5Jj$A$2OMrcN&^KfEPbiRt1Hjf z<((XC(bvS*#97bnac8v=N0lRJ!H(DV+Y~LR{-#1yC5-l~3U{^gnc1Y2$p=Kfl%MuN z8-jbCSsbaB&S)g*B!f1;Q;V?J8$d^LV*N9yICV0xCfMnOh=FbU?xN1_a!^wHw%l)f z^JJhn5dR%~0NE)yqMi@H-!6p!0wKqgF^$@V1O(tS>bYdn)IAEcd)t4Wd0@W%0>@e>^-LVqYP_TJ zT(tEce$n_@OPh{%&>}j{`z4yC}N4EW5(y16W$dek+ zHoZ5qgEApzLsFEq>FM4BDE`bc&yVHzD&J>wvZ|$Pn($$VJ!Bq28O&jfFYSh0>JPs> zcl}jGr$oZyeBr7x$NOI^`LD80Bp5T|ZyH2SKZ>gx{h~;3<>V=uH!F-A)-foMoCB1B z8HkO)#t8vNaT%(mNjZ@mm5kPjilX(-O`jjzE8AL!(wm3*1QLl4Bh`nR5JZCh`tYb!}!_vm4H%CdeLf0s{pCC@75_(y?yfBG;yD+ zc2!fbfQm`YwU<-KPp+^`(E80kmK08%*<>v&PwJ`F`R9XsoP5kR3qI(f$*;EX;b$cJ z#f-Mq`xcQPje;w8q0g#8H<@QJ6DOV`_7$5y!lq@pgK7$0Mav1>#&=AE5|gYU$8Ul} zovt=uvKM4aW1B{QN=7vpW@_>(Q>tim8ZJ2)@zW-p^ocmQyQ8_SteCc_!t7iSDXZ9U zH96|Xf=N0;RAuNbWDvYh`&rp?@jTw9RHK}1=W5=5vb!8V5j=p$;OWCnG6olhH(ga*{!htO-dXc;@6 zok_W2=!WuPdUYe-x?m$Hj zVsYR~g`CeVkiVT*c*JSPTzGARf-8cI*54`;1-FohM9gDh*px1o6AmW{;0%2gIhVE_ z)s^`5pLsCqlN1W;twqalOv#>aCE06N+p71U0??!vIZwd-4*?o$+ZA!J(5*=L@+*NL z$kon%W9j>#@QFtrmAw)opdQ;YVsfCK!_=4NL4=isr)%A>qi?tmd4(J7*9K~e#Nf;S zjnxdcUUjwCe)ju8mvgiTZQtexNmLTLuO65ia6M0w(qsbcM6o&52x`1U( z;mw39LKTBDY*G|PsANtEu-r%ug1Ug=5A^@cq*y#&kkW7duKZ-EU-Xm5fB3C}H zhv{*R{7fbo{2HCLTE+{}(5iIxjeijVstE~mu#5n-2B^E)@y9Qy0ZxxrM+Fw8qzU3$ z#xEiX?b~y-j({NR1(Q+xo8>c4Z!oAB5HkuG&Ikt03^Mi0P#NkLD(V|Y#ncQqQN=3h zYW+MYy1K%k9|FXdx?`R53o*Kni#c7b(bDhcmHa_DyS0gpHNHsWQ|cJ>W3YnDi}sBw z2STV;F$xe!i4C1ksM-K*+nIVSp1t=oDSIIH+~aNbpw|Ib?NV>@+uD-u@?l}pSZ$}2 z$G;{0;H{^$T&X4}>8{evT0e&`HCQg%-)9o{%i_K*IOoi0p`CPFvrE#TaY}VDb_=Dx zG@UEyU3=BKQa_1>*ec*TVw*u(X){$%q^JYCvzp+YZ*y+bVD}N0b><`oNHK~Ow8wIe)CVxpP_0&<& zzFn`aW==IIF;YCR-LD^IzLh%t^$ zH1_r%=u-E9$fAf~MVtZoU9>O0p^}JoNGX5-#bqtHUae0Tk4CqG$pT3g;NHoM_Fnb0 zQg?TsMHMsGS#wfK*)APpoa*4llGk=D!6jEn%vzet#QUS^hhrTL~^Xb3c zCth=l-t_i7Ma1!FMI(QxZFB0DWZ46wkv@%wb)FioT2B$Hu06Fvr>u7M!0wlk_IeBA zl}qp>#uJ<*Rpip|+x4KvxTNTpX>H4Gf`@hNjm>5);rSQ%Rl=>LMt`Wnq*{`;a9de6 zfxAWDq>r*G`n-9zcsVodu&#yU^j&#Qi9lqtjiweNl>#|B+OV`8dCa@QU%^dWb0&7! zWuCa!4!+bA`iU=_7xkOJB8fl!XhIcOuVY-S<4HwQuzI>DMNncEI`_syXCaKKeL~`~ z<4U4qT2|hNa)oX69-KTk(F=yC^70_G?U+RiJ6u{;X521L`(mjS6Qq3NMjhXyUh(s^ z>Q#^xzAYD1`P1TMs2uA7_K~RVX-@1`EM@auT+u~dO$Iq}_Alclx$9PXwxje`wOokl zNW0*FwgoaY6e%t>$2v(dxh!!*VeCm755=1mtZmDgrEGlt^8GThoOZmN!G9oF zF?Tg1Ef?@MwYfc)IS&Xz{{V1|UGWg8b?c5uC4T~y;7!VO6K!M}c=!UM9Wp&-CUKqS z90xORoTC}656FD=cK$6l?T{GVN1C{*f9|D{79bKIw#B5Q{&9s#`guf8II|#1REfvu zZ)@uRN`go0P>nd3h$%sD3qKn{1^iciuE4J!SKoYq-E`kH(wJR*G-EBwr&w@5$J+}v zko~$f!1c?356zoi0_UQ;t?XdM&nSGr$=2vei-Is`O>5fnUr$V2vc}67&9U6uc9f*P zE}lw(;2&gcy=Rg&MoA&DMt`?;V+I6+7n=uY?yD4gJaZAc@IXv; zh(8!CVc?^Bdx$|KyzwA~YJoSLbj8cx0M+Y+xiBgap3mQE4SN8s!f4cVTIp+7GD86T z9R*95ApLI=mSn&%5GF#YcyO@m?mG4wSa}QT90n+{rn~{>gvokabhy(x4ke2o5^lOJ zOV#MTU2fKj(_r_M52C%;MKyw|%Y?U!nf`(3p6#~`oEMD?Ew>j1?~Wah6-Pk=f1} z`c^^){q-$Lwt^^zn1vDNdlSz{&I=5?H`U(mI;h6SXs`5vQfv#0D_vMp|NTo&FGu;Y!DvfN}#dWDJjtjp+6K6h+hPj$*){ zid*A|WQ<%Tv0l#stTnbYA8$gqd0*sD zEzhodcNk|GV);#OUZeRCt%hf18nX+)zpLwO*B8Q zX~(VHhu7^~eq2g8ESvkEl@u!k7Qqp{S*j)()El-uQ5~gQK6hUSXU&OEEa(?9N?k$e z%t?KpJX^nAn?Ov599E0#OC&;w)A0zON(R6Z-}r@xh{caIA0f8BJBLCZo#JS#>40f( zPc^4`BBBPuo%5Atsb1|}*4xHYZSp zD)NE(uT3oru`WEAiBaFi3cPB(hu$LOFi>*Yk_mEM%Fk94^bj527V~WCPihjo35Nqp zjAvu1wUASOY3tXc*Phpl#WNM>UzE&seQ<|v5#!Bb%NYljbZzC6E0g|U<&NQPoylDp zPg{V5BsO8C_DV4)I;kX=hsFSVOPKhdTYd+v?(1vOg~3D4*%zwBmYu=S^7CJ)DwB;_ z#a^Q1@sgf8S2ezHLR54nui0U9L;ia>dEvpla&%&r41Dp5A5~=wLRalArRV+bIDMGI;d_xvqwsrErvoPh zGMZg6#uS}Kr}CX8%rekd*tUxv{^FUx7o7rRy9$sN z!(CZ=oVT}bt~k@0JLV0yw9CPT*~7pU=47w^N$qUSnYLG)a!#w_dv5DgM7-JXmEE&kUQpQB7XuTV!E8Roy98R6>l{U>o zAE5$Wl{eB6>1v!q+>WMmdL7my0Z#;InoPkCoJYLF5~EQ@uzt#%p0sRY)w)x1w)CQf_JBl2toUQ}F)?s$ zYbivI0?QFHcD!xS2$;XK+_4W_ehxO^O^ulnD$%(cWBPz44$&A~F@U&jbS3@B6#apg z6RVT!mJ1*7*}o6rA>l3FE*m8slCML#IjeO4G?3jCpfTocO4Ls`-!(LwKFO|@+}abY zIVQtULCu2Rv|pzTSfXNIo_twKHOtpS-Xcr%tg5I_=-C=1_1BdSGCy7@~X3C#i423z-pI`|uco2D#hoT5FIQ zVf{zcbp*n6*V~yne^9#I8h7XpJCZbl$InUjK4`U_WZIH4RvZ@7U0>3zYBjnN31N(Z z8cAPgkCBHth}YidqwzyslObZJBLH1}>dUC{8!>3Ip2KZe*ee@>c1-Fp zU7#G3Wdf5}1|_dcIQ5?u)2rvTB+Ro+=D(g$=ogXKB_Wk`1d=?0j6CDssOy2!F5PM!&T=|3EW52V$bR-TBf2myP#0!=IU9$EkP zCSa$TKhvufzyJy~?zevTgi0>t?#ZC18gyJlge^WWvpw-AVQRfs@A6pGv%Y1p4^$6? zE~${kYB;dw4RWW)3hxG_^!qqy^Fio4bT%_@a{PV$%rLgFXWSaPUM~4K?jFzmbtA~* zO)}%g#u<~|pR^H%=F&|(hT>W5eFhye)c1MqarT1QzK_dIFF&$eO)b3VC0~-)a@?xr ztdWVXX8TVh6kU8%$F@4KthMOdd38XU%Wsq4jU)mz_)*;5T8g)TWV2t-eS-~_m82v^ z+h?an>Z8kmj%WIIpZO-~EbQ>ma~l|On%5MMRkF-^Fo|dd_$vF}XNZ)K40k5^aEwku z+#_Tp68eBzg-!_S@E}|G^Ogl~ROLeUFGQb2O(S_x8+Y<2O(f-ifzu>>a&9XTzj0fJ zt};@cZbtmg2f~1H6&Zix3(^w08+{i@hvA53a_ajtG@c*-kk?0el`}JBl(x8*GteZ} zoaQlWPT~;xmnNf1=JZqveMc?vrKfzO>CeNABDI-T%0+*u*;7L=S3OQ4katpMkf6;d z*_Z=&rY|v@0>-o^dpaW3x^DTEbip(;J+%aw0qkx15jn#kikExl6UWV>7Z%?yDQrQ# zKkc54%LCQyDl;x`L890h&)yz4gT63)Bh4fGqleY}9;)IA&-{& znQBe?dHRnUXiOy!{l}6*dm57PBhYWp;i#j!=<_dw-l{?i=z!#K}Ybmnx-Iy9Ni!pK4a7nW3N43q&iIK`Q}z&m$sm@Kf9w zD7uIFzk!Og(=TFN)tDRfz?IAN@8rrhBzC-D^g2D+q8-4GC1_Lfki6L#UFNygcXZds zbT7u6brk**;Gxf~#tettH(}^Ki>SxQ`B3-=;bfw6g>%e;*)F;Yg zv>rV6(~d@lAiqm`7zSB&RM zMfu$-UWsK8V?P6LXY0yZ6>Zuq!WKarXhY4a7$p6+z zIDTaKlpgnY;is?c02eaFn-Y94_sTBh{7+sbj_Rrn|4<_>pZxN1^TKj!EjZ&HL&Fay z0Fkya5l4F;Q;)R!rOw;NA8N}qdFWW^9b|h;JdYaa|C~A<6_r_B1s&Qp{?sFYRu_=( zEJJ0Sh>qs$L#2-y{toFh*DeD^Ykx*01BGq}qF=IImwmrOg6O#y_>wIZ+KM`@ZbM2T zW~5Vq{kPuQ^sHJHsijNSJ+e)-?Nih*$F4sk^?hShNyqC`ziWOnv2LuGev5w*oAEKr zX}dekPIV$$Dn+F|^P6YlBkv+!C@V$AUtc#eI*X`Xm)lV69C@(}s^ilY-WpQn+^5Y#2Vx@S~ zJ$6X21v(+jaoPGWWuP?ct(EaL54t?S5RhsPi9Vusu*XJ=sLI=QY$~7qNa8^K_mXsK zk*XA%)CzkqkK+dpB>w-&@F7-ygE=#*%24XRST_H?u*RTQ=Y14)p3lxxAwT`SZN1o* zu}eS7_!riev}n1sAnU=fGOf%34e6q?@Tm^T7ZRG~?j^hcEUp;hQRHPp&r3g2mpc`zq(={UM9lAM|HDHZm*DQyl_4;!Zzm>CS zgOx}?R-rwroX;B8u6U@1ow8Cyf8MO^um9abSe`VqY*EcLu_4vR0*S5RsX(}t5_td3 z9&7x1K2ye0-?%sk1dY{C*)lXw@Ka*BFI@gWpF78DA5q;j_m?JZTvNUOWf7tV82PtW znIe)m^P_mf`%ZVI3giaQIuO43=FXcezqqgKhg03X;p^URs$w$;@6c>sA|+=kiNY&F zo6nC-+_?TSz!z%!_SRU(wCt7InpwxA&ClWwYzwpvqey)a(qrTq;bCq{?O)UCTui2Z);kwn9XI>&>GUf>OqSvvo^;SkT#|7#5p!RJ_JOzj$A{`hSDoowK~5)|zVvv)?3OaojR^U`w)Q+~~R&Z5Gz090+v@TJXP8S$o(n zEG~}sE=Hs9>IcW`e+>4R6H%2X7ZH4`B$haL$P$x6KmP|`!hhEHP^QbnYCWT&Pkr_= z|JBpjt{gWF@38M;w=QdbE}Ma!DzaB;G}AQvOk#tGmhRbwl)N6acBbWfb{j7_%a^+f z(ZhzgadXgkTIo93t#s-75YMWAvvg;{Kg#Ou&3`%vr>y%5#5>gk8h>Ig^bWkMX6FS% zwK(cLAe=Eh*|#jlAKwwwlA^&q3*#35kJR7gns=&gJL=z$G&bM-^BaexP7>+2sGn6o zSe-Kde;l2MKh@tK$0+ zmVK|w<+{K7{rv-<$2sS7KIgpO@6Y@7dR7DeJm?vY1b9A;3!s0~A)CVg^s&ixw{dWU z_xS##)rXX?1IM{)I~oX%;zs|B-v^n_pNj5|e?CG%7Vc1hZlZtw&-1>tz2;=VCy<12 zNnTIYZM*E+;)D+9a;~1SncQIXOUpHgar_;~d7Ifoz1rEI4YxUBgR}Y$1v4Fgk5GKn z*~#zy(rYenlQ{?q^UUr-lpX_4sDz>g($NhavK!)9hbOAZYf_&lrIGh*4tmP zW|#f?mw2EvofR34_e>48P0SE)OT|6djn~sq3?PD9ry_}zc)jGhNR))ax@!|xCqZzY zQP0WwN8ZmX@O~ajSW9#F^{lyQ6`#suD9*3mfYpp|(IH)*rs~iqdrHz6$pWA=LHbO8 zGW!rF>es2q5aF%1k!<M%B!L#4F7S&z-e$>OU%O9n%ru=9{$xEiyjA+j@5}Vxrw9=m|K$y^th)9cBzZ7BiGMAaM^-&kuF(*XLF%U{eLVr ztg;s96EKb$_#(h3pZqsMakH089o5WKOCm};h*xn2H5UZzkW@$3lnJx4k+WB(dy*9qAOTRZY%<9PlrO-Wmi@OorUUqxOZ%>yP-Vr&QAn=GD zxAH(OD2*p1tU(psn8iCwx{FWWv-n8(S4PJS96ydOe1A08pCt0sZzAObwSeh${>DRo z~IRsA%7la%Zfz$jI?#~c>iK2M3#{IBd!Qx+f0(GQ5 zuFn#Qj>Y~`U`{*6A<`*F+D?o!3&o8lr0{@Zd9WbQ1k)D%MKv>{1+2itY@pVh6(0F(l_Q*1?VA^fTd{Gg;V`Q!|XkC~v zNdDsU&0*~vwTp40JUjJs#T4yw&;z zG!{IFjI7V&d%b#ZxDpnX#X>*S3pFu-g%Fyvn~J+P(nZ_jjLaPHRtO6d_Qs!86U4s$ zxzuYzrmbO*vsj`f`x(uEkui^AQeE`A%UBJHzei4~S-ccges4&AFGjh!!ef1s`XQf@ z(Yb3DXJumh7lSP??rCPXcxn9^bvDfQ2ESo@hi9TkZ^v2Ei^aV7)&CYSzL*=+_CkQQ zyXqB&$I-#WoWqhs2<%xoFsQ`i`aUg*`B;<;Rx>wrJ1Mz`!$C2$7N7eZ%I})9n3a7oD}=MNq~2~9 zSS>Iwt{eO)CIy$N(${d*PSO^7VdB9d{dyfgtBEUsKJ!WOeFJV8Xp(z>tL@zUwQ-`F z$IEZh~}E zReu<){t1jik;oqvFx2-v9|BH$8B$S1!^DbL-Ey}cA|3mf~fok+ZlhUl! z?yD8jyoEhR*V2Uq*a)Vk{LAg!q|Ras?q`h@O70n~dhgah#wuMO3Xd(*dvZJNGp#k> z&$F@@QpSp%67L78xr`Mhg=MUG6TFdY-U)Ul(+fjE+PoJFpEuk@^mv#nwNkXLz~^@E zPjXUi`{h9qxVX`|hxO!8F^h1+`Pqc$R$vb6V3>Eyu_UEyCJ)cg=4Qi_4N_k8;TcKw z!Lmu8nE_Tiv}JAkW1^4c03IYPg{AHZCa|(}kw8v#-%D*DYkcsV5JJW|SiMOP`(;Ao z0T3QS4^iKkDaq8-vm6}MB)A%j=mmVyp-Wr547j7=s1Iqz9vn$juH2bCP63@ei6bKS zKa8FaO;O~n)jF9q*9JKV^VME{GY@FX9h!`3E!<}jxg)OL_&s{?6)DJ+iEoQ^SZyw+ zxAdn!`A;SPINarvt2|{^v0NDO)#>QHpG%d0g&eBmMK7-4G=&{)2C(ga6$5R4_f!8W z%C#I=ub8>7ga|Q~F8Y|IVedK!YQ@a_X7;PALTJ26h&CRYYSVp!Fn+V$?(*|2waBTk zN6*wkh}lBsmr+C00YKxR)KD%X;{Sv7xHK$tq1{0g&#*mru%;E6I0*xx=Z_o6h zwWXK)T=|19W>Wrfncj+MdIb(bRH<2S<7zb>%xpM^*3|W>*`yHG>7sud)ZAbH{u)PJ z{5A3s%=|Dl?d$D&rcEB;-|03qUqeaaRbp|AE2&w+9QC{XMbw1^A_1EJ=GtN41GX?f z9fReHsp;?9RW)IZF&hQKDC@7*&yD}_uxi9?-Qn>;fSDj90Naz`yq3V(>8zDl#&p#j ze9Y~b>cF5^AD^Uk}Byr$l5<(W%MqCAw$dFA-@sZ z^Stv_M<0v^0e+=@$z4MCbxI7M4=U1j z#X25J0;Fk;GG=i52+(+%yuO*P@_X>lh}#0Cs%%9-qxpB->6>@Y2lwTkruey9vWScO z8gXXQGT~QFRiX$Ef8A%)>j#4 zbaZyJ(FGk6$mUqope}w<5{M4sT3Ae_tmYc5v@uxfZ*YW_mF z(>EOvXm176YQD9ano2-u$$Rb^xs_hYF`CG7XzyZ9jXpVFkT>Y5GFm%tm++n6HJhVJuuPswMS4+;J<~5}D^NWYJRV zN6-igzhRlI&@j%@-X{w{`4e{E%U% z*Autiw_!x$IesZ3IF zJHH%C_A^1xkt>fYiG8*%LfI{+e{dbhTOm~{e&7x%NzX7>r4>yv4(wMO(yfzFgL9j$ zD{G{fem0=N_%#ZCuwh-h`Sp9IaWkk4mH{ZC%^RUuj^PZcgGzliV~_4T_Cuc5m6Bj@ z|DwloUxo5<*qUuU(VnDi47^B!j@}R;fj3vYm`0WFPCdYL26U3wP}vpwi(V1G(=1%5 z$c8@HYE2TePcBFvQH_}z&ovTjIHfmr)Ia`eX6=|@%4h~_IZfm+YpTj$H-CEX+|yXY z7ZCFYK10VjZeAu<-*dbBS>#{W@!EB?8Z4j|`Ost>Wi% z2d@oNJ}KN1%C@XJWCRO-Y&*U-q+!OzoxFB=5%TVI##-LlO>;)D)>kWZ%_XH7`3gtv z$iLvA#2O!YyQ5QQ`gL1D+pR`1WWVW4?Uba|(5T zbD1~!M5vCgkt$TIAt#W@M8oR5=dhos0gu#3imUE6mIsC52N<^otiZl*lrpQL{h&#gb0K@c*sQg0f+mKPE#F?N9iV}3 z_BfNb{h?_Vc2}s;bA~XG*)|_Ow)#r@XVNCbJhS4{&NDGnBbGk|=JV(bgdI;%;M2PQ|GM zFB{s&N@AXYWl&dXny2HB$jG`+nb@4Wf@oXGhN1@8!O_ngKE=V>6Gr|`99cme%$*xD z%J0F3jcZF0oWa6hXhcj{-i=;w4&5oBkghLb0Jq*2rtZy#olcj00=}+%F#X^zTFXT{ z<+Jl~fC+Ov=&i%rA$aZ2QeMu?Dwbxd^=r(M0C3^mJ-H4E8fMQprSZR?sVC4j-i9lr zY@>ZFuHwJr*7;!_dAjyJzfv^3d4M&X?!J;8hkp^aUa~Ol7N5pq>YxZDD=Oi=q=NLs zD6_FtB^iq46$X%}?BTWb4=<1pf?n(zMQ^53^-D&55s8m)3hrVV|+n-k?_v`aH zjW{P~IXcH5L!-N1Mi?GEiB-WS7eW_7qEm~KNCzwoem72vepFl}$%h6fSF!7q-0qRA z`RlI0(cWgtTWt!cf0TxN>tL+d_k!2F_e~{}upU>5KjUy>GHQb6)!IW$gy(CL{_GA& z{7R9Hj*Ki@Po!F^C?fra-7M+JNh*W)t7t5MkY%NG!P-#F`~5Fqhs-nyeBvG@zPnka zqOy|No09Cep8Z?D6RtiM5uU|g4UFM6V=_h{37WT4OQT^b80GFdFxdWl>RYF~4vE2B zf4g24!%}rk(SW3jZ%`p|tP|E;o@H3lvUl=!Kzg}GvESHMsnfL=A_XFu9lz=NkLYml zv{ROg6RywGch_ZE*r&)-C8_=Q2nrIvaf4CIlDE1*eAPq$z%5KqADBtrSsqkS5l~9M zMuKiqo{&K#Gy00ARlyWRNLxT)M5&=M6kA5xv*9EFsnD(d>y3%F+!!!RSq>>%1@`JO z>3UJ|Km_NF#P9RiD#fEB0TJCKdZQAvQygIRsrE1BEuF%x)7Zdpvw~L&-S};h+9^q! z;2vp8{NU)b-@Wb(kQ;Cc((941#N0*bkC5PjfM|^-q?PLP?tgtTbB{6fHA)6wz-_%s z|1a=YMoI8Ejj|zn7$G-=yJd+qZ8FA#iUPZo8cSvi80R9!7@o){s?p z)%FC(0P44ts{g`UCa5wU5-D=`|BlMEcb#5_{^&6blTk#V^HL3NL-HY~0ojYbvrR{t zMd<6KZ-UPeFH(nq;-;3b&WZPHzV#V_m|ZFF-b64BY5j7}JA*6xDTsDgIa4gJm(Rx9 zN=IufWQ_mr%Ro(cJesDNKtc>=K8m5yUFd&Txn15!vvbVm!ia7B(i92ksPI87|Ln^E z8*1)f^=@L)+4;C1$FlFv@_MqeK#icU@;Je;KS3wgyKB7b1KZCNoiByQl+e$t&!K1T z7tc@|pPED}&f?(?n%xatA-+6WPK5HZ(jQaROl|`gRi4ek)=62oj&Ye}z#Zxq)09(( z7sFdk`EA^Xo3eYvEM-?QbVFB2_TBwdUd4D$$>4tzGp|Oie19M^ND_GN?oTguL=+E| z&)){{pWQj`v!gQ=e17y6XI6}i{}Y88rvZI9D`x3AKf`QJvTa!jkf?ZgSv2SV59J-t zvQ_76P@f954Ukt0&g#qOwvS3j7Y3Qb?^5^C8T(pR0t14@KkQg2?P~vJqw6TmjM&Mo z^3VMqX|oJzvp|#X(PLMPL{NCm zWR2ysI}sFxWLWIPzX1dgdzCG_s)02#hxEM2^cnxSoivf z`Myxh));(;q(MA|KFtcYZ-2B*U^O(fliQkvb_VU#<>IeaMzS+*2S05XptTfQEfvQ& z`f&5EdP)9$)L*^!qtI#5*Y~RJ9wgq5a8bhNzF{|0aj)}e@+JI)z9m~Z|J}*La{NN4 z3D1lcyul*?)lRLhfu8PwD*WaOBiOXZl?v(o<=acjNzP!&z1bTJ6e5>NHnxw6nNP3} z528wHhEsIv*Q$dVh4kr1TOzZG=R^T39)TCd{3I{ltD^VDhVE<{8GiEuKp{xIAu3n< z3(r-W$O|6BaR38Wz}zp$q_Via;O~x1wYU|uje9fYcI8w9YK-8N?l84?m_)on zOA4^CE!EYj7J-)KA(kjC!&`z0{k~I?o=ql8B=3k?!(Vnrt+OErpP>mYuRs4iQN!>4g=}`P@&LJI$-t^?x zI4gLz*3@m^m;!T^Xm70s+H%FWHi1RjC);UUPdATsR)}&20#q`{e zu|*{5CaK~2N9=`)+9Sw@-{&#s;c0PMr1{V_2=oy9iFQg6>pv%Buk2ez>GGy5gLZD3 zc@2AFzeI)@3+ZuMJz(w6h)cerou^2@A{?iqbrzF(+e13ZC*$Y0t zml@k``MToSV)dT&N3}nORLvC>vn)6*e|;+t%7scSLV-u#6X)Or3wA4(;GFnkPoI?R zXVxXrpqD!KBNIJ`GDT1j0*(9jBcbiuZ<*5@wse?;eBkVnS{q6 zQW!52K6qGgBqV2oXZn{KqN&oQrL9iP%sW1o2JE-H2<>Nkv6juXrh7t!3lX8(*wasi^fFJ(^_zSDD`j8r z`*3YoH{--r=WCCn+7wH-XLw&^*3ov9_++F&)h&JgDNOn@fv5aJHj#{2l=$Ac9Xu^B z4G*-RjVqaD-AJLZ0y_?QJb5^stNoL^^H#q9>&D@12f|)u_B$5+ld`&X`whd1UDIMu znN}H~1;+~CYG3n4=H~<<^o6IWw4kT{;l9ViYJ8&c-MJ@TT=eX|TqVC0j+82-Ih?F) zI3n(NHD@z%?cRVTf4Rj;d3Hc>x;DmMR88hj^MKVi7NdHX`m1K(N}(_FjJE!7H)yBP zxi9mLBH7fhV$(QUhk5ap&}=BUwnh`TJbeIYHad&vE^Sji>1}kS}j+4Xir*Sl!&JJj_;Y{ zdP#qc@=gqQE^BTv>GH(yNSA63I`!lbM}GW~ z3Z%{dywaB_Hf}0ETz;og&#H(ol=_t(Iy-hIyF_cD;ja_}SJ?QYBD2Zwwjo=>)Q;@f z*Z7ug3*T1LKP4Y&^TiTpM(;S39T)92pNcv->KE@7FMX-550t~Sl=Y(^iZY7(_}6gF zlhUi3%}cvPUiJB-Sy^|92C2?VUM>6VgOK*Gv3bZg_W?OkZbhyM8%~SazA3uN{!Tz9Bbl zKif7=5NDAq39XGko|>ww(dcBh6Aqc&ao`I2RdbAGc z_UyXb_%3A<#1JRdG>eq0ai$)d?}NAMc?xa10iFt$(?shq>(@V1pf4b-&zXt%J8l^G4UZ+jc4c+91$9VW8&BKUp^;5 z`RenU_lv#iv;VPb8z}bD{bbg^8Qi;RTv#O~!f%K+ z)WnScqH$xbuc1r_#)`fs<76mcpXW%Cc&t?7d76|lG7qtV@L&huKRrtJxnkUWq4}n> z4klTT;;ECbm*nSv3a{I7yxbuYc?d(p z<92w_#VCZ_;CeP=li@?L!a+w|fxbmal(c{TgQD%dx;lj9uH)t$Zb-G+(AHsaKgV3N z)SKHAmlg34rEOe&SQmElW&RJdE`!rcHiURz+sAxWTGQpTcT}7cS#G;xR@|MHml-MFt6AHyy~+%dwkZBQOi*Dx<#8VBl|Yy25gjplaG#|U0!Uq?VQ&WvCz?ypOyotq+sp-HXO$Il{LR)Dt2C+T)I>=a4U`>`kT-;VW3a zKpo_cu#sPf0MR0Y&Sp0OEX@HQt{cjlT+sF zNf5bjI=g+61aqIIzr|Pw@<^OS_N1!a$BZ(;;@;5zd#X4lKXNrX;R;uls=pl|bo?YtV zOnh6T7(Qz+{8N~+E~Jb9>R=dmBh%U3>T92rLk8xG^kv?oB|za5M7 z@t#vaG4gS)k1HVb;P8hJnUhL<3?6ykhOq9PcMbw;;=h|MO9hz4ys#OH19HxKALCWF z_EvU254pxn$Y$f8;rG#3OjVT1>Z7XkdB5huq((c08c-7U6^d%&?E{1UY~yS<^QPL~ zaYZfe-nTUn&O^zFO&AASyZEJWhoh7K-X^V(^d$OU+i;h>F#LDNfDbw!+ZnQg`-<|9 zGpAr%>6reiX~Vf0^kIjGhIKktuH-5==%dE14aD8biE{w$mIuFQp>xjlgcvo1PNA<4w7IxI2%DR4s zPhoE!NdHV~7@S5OH^~wFE2*qE0gKCwy*9_!ViN-x+Y9y+y%`6_)x_|o<)SDoG z*0#o=%QJ6wU4~Y0gOF|8l{|@VU5W#ij96IJUPbk>5R~r0ddy!WnS9EX9ALTBeV$g5b@syOwCe8*Uu zTTlXFoAR2703NcCoeg=sO`Wj@yL03wt9ZckSbX$=!BsF;a zIx|9LOWvg$0d#WdH^7acxG8cr3iO+|QD&Vx)YXMLEkp0-qNo?kF3g|NDva&RANc5O zezOXY2uitLm+Gvcfom+MOznbv@cGadc0zrvvHqD?Ja+rKnGXH}g**nB-2g6+j%&k( zt*47_&g3m^@+GTYkL^0a^#obn@?5lN|0Rj@8du-JVw(rZ5Ak2m;+!%~vf73d=R5^? z)aS@Wn0RMsONkX*w?%@-YX8YJtHVd0b2My`?{sv12@rjEx3SVmC%2}nkX)LLpoLH`m0;hfFn|m`!trFsnS2*TliD*)LgMaFpvHhb1tu>bj zZ*G=wXY9&0baO8Is{yZRnAjm4IR)qC*E0OP>vG`fkI-eT`^|}OkUktGu3?}Ew8zz9m;0ux3qwE_C6(WRkDAKq zx`5kT`J_ULO-Z$?LLd+P^O$WtQrg5u*vZNj!mX&%RpnY%4+CwHzHO!DEb z7B*moba4b-o3FnarjEaQ^mb-&Fm+0p_v+Un+I6W*bTQ~f7+;0~&w(r(2CMkfMXfB= zd}9KcOM=Uhdo6dd@5=BWinQ%TZYQRZdCyYSdQw67Po4t88yl@|fT2H?C0pdG|LSk# z_dC=yV%IwWHo=^VcPFk#Y5;VdGshJFDCnz9gGPMK()5yKFqdL~{f;c4Q&1I;l`kW< z7l^#53!97FPz%csDC)9t&9m3ZbS*O`5ACK^th9CMXa3Qvs24gcer@Uotft2Rd92WC z6dALQuxZnzypSm^8#gCHrwOv*LaVpy2WC0L6a1UDx}kIkhzi})Z}r7DK0kP0R$m8w zxM?%-7+BC2+rUv# z_KFo#{{532)C^KN6AsG(xE`0zU|a0LdQ=x}xsykd+=zPz{E&1$;#a2GYIl$zg1nW+ zdeO~rr(32N-0|4^7p2gbXFRX_k*Lv0^!~0_jJF*zh|`i$A}9ZfyxgmF7M>H;bh}|k zXZ{94GLLtUteTT|=Ii|2E%NmAbEQB~cv`VnccbL06h@zj#F|n&7x*rU>IdJKWPWEk zoxP$=oMh1Pqff-BY#T2B>P>IM?x8O>r>E-stAkkDC+l_?Y2z@()@iO00Jet!ovm*M zvhhS&99W6>HnS>`bYF_V)m8NcF#@r{#xGAYh~)#sqaQ<7Zvn`@kX!YWVHf$IPAA0N}HIiv7Dz4bWE7t3EY{1iAM=Q zJ%at3NLBXsgN|<#r%m}Nagb|P z6oq1i+ySTag>LIo*wO@6vw70iVchFCTjOdb-Eyb1LP{8N)ZDJDFz-r32|{O%DDF)+ zRQO~gtQST^&zphqcW1W6FDp-g!?(FQ!U!Ok?33(5`|g`H2hiWvU5%Vdc#$2ab}!{5 z%lCHU4Wh>#07*QD6$vP<5tf`)$l#LF)wQYUML0+6z>+Q(b`EF>TiH>iqlR5haAtQK zK*)kaZR?wpEuSg$q7cN!_i8!Yrp$_=dxyWzoSy;=2I0Sk?Ye<@>=6pIdYImx2e~J9 z5fP{-=x_~T0kK`=NYYn_;^d2ldcW8$pXY|zCBR0)U*%f>Ar4ILrV6lYCiqj^{`ETI zpWDK>^1gQwdE$~!zi;mb zGs?Hp%Ytef+vH5c^RAZjr&QiiehfR&I1sy4Q}YWm0>mnH<-P6YMD|ZcJ)ryY>&FIY zoBW@Ku(vZWMY@*a8WFdFWXhZvyhkfzKwaG4Tc59Z`)T#kdDFn!qlNO=l`4E7c4I_v zQhCdl2)0+9fmI1!99~Z$g{x#W$5gdqW?aBM?u2%~2mO0d-fbqGy5nSU>S{|COSzF! zO9Jt9s=X#k2z?xk!g~Y40o)%-LR%lNCn3DeA?~Kj-;vNsMq4|?_U?sn*Mnm;F)@o4 zEEa9pjeq8n)*U=R?4m*km`wv^r?zOS@s3R{x+~BVqDX-5PSCVyDoyqG=Lez9VsL71 zSFdK7w}`gACXL-q4%;~#L7sTO1UiNy`d74E3-{BE_q(<5tCksOt^Jl*+M)pPZhXQb zTdibCJXKPht`X`qRYwG>D}U9g1?*j%+F{MG;sIu*HmPbdNwuMuuAn^bJyTqx=v51Y z?V|IIbd(+B0`5fAExHnbj0=OevyU|HIa_{r)x`^bwY@Ra6N^MjBD!1N+f66o72lc9 zowjYwzF{j&UYA5wZ#3B0KLe+GXXY7W=4hr$va2sc3 zBh2BN+h62Fb*)>Tx37%~@wu&8yjc7>EdWIN;oeNO(Fjo7Oy%k`S0R{Hx`$rHoPjvsVUF_jq{d*suEPyLLZLVdJ`xqHhGVwK{1#bG zGLS5En={C^k!V(t6KZ_}G@9Q8c*vo4eMs&4E!v0vhEG&NoMTjIA2tl`D4!!W_H$l& zR22TmCn;6HN#O9}Vh*OuJrf2B>oR`{}q z1INZNQnG;M7?*=+? z6%}eN=M>N5)GyM1apTXl__~Ps384hgi>oWB(!I~lXWy=Ipmn<_@rpdKu$e>B^+I@7 zsW!2ZH!FfDJZSe+4^bu)Vdb4+-=dD>AjOl%FBj5LCWatp%uyEv0N(p_`g~x=$N2qv zUFyCEVYq2p;BUhF+WUhVO8+yQo61E$02r1u9IrQO&Sx6t9RTloeLQ zIFg0;^YzJp5TX&XMyeGcm0E41oV|I0Ne=v#lA z-BZFeatJ`knIl-SdeqK!it7HwiQCDnXd9ehr(dae8RRPssNbfoUb=iog}?+~1f3nm zoe0xOH`M%5yH4v-c(K5iQJz+FfWs8o#DV09`&CcZcTRhkX*RLAU5!{|d2->wg(prn zxe@jehMwO;tHtDhG#EpFZE_GdUhaBGR+G5kbrnfW#2xdiiZ_Rda4HikThP{kgVp(_ zZ};U6+Ejt^Ig3r~)HRlymhrQqT&y|C-$F;E?AZR;?5Ht?WI!*0Pl=ErXZrC~8=Ok6y@-v*Cyc}a$c24Vecxhqc zG0tJ_MJ9m`i3VSn66b)f#Jq>@zr}upem1oMY+8mWy)?Aa%b0r%*fZE%dVP6tNj5an z>M;~>`srZ2pEz4OIokAw7?Pj*(+5^p(}tn_V_`$%MdtU|r$=Prg~gMqxdpmu{x;(R zAjoAXwVI)VQd{eSx28_!(I3G{2Gw~->EF}&Tm)RN5W_7dZ}zrtX{aS`LNuC_EQg5~ zm;t{ATRly24_h}|4BmY0?7$1ecX?s~7H_AmXF`KvWWtwdKXD(=G9X;>AmmhvXg%== z-df`O?(FaUyTg4qV{W!#ZgA={T6q&nq$prw`O z1*T|ZYL-Lf;lqQ8(Zwd&0oYbIE@PRH^M&%gZto7?a8KJaU2rL-`lSF* zW~pdnz;e}`DY)_y^X->K688o$|nO z>&bBJ8^8luQ4+WsIW+zwWc5~E&1#jTZd3$>GY9`FTzDD*n?RR_Z3#ull&vGn?MaiD5sBJ9qam|5`3@$-K>6rk#ZPzZ9H z|87P94p6H#>o+_J~<3-c|n{&j68CYEN#vjXr$rhK*kjyc^E z5f1|AhaNYl2Gv(LEYo~{eY(1QvP=z1_(M%ry%-|vAKX0ub?}VSupdMYyn{XSP5*L- zZ8wXgN}9PgB{I-{dg5)tWXq>UF~u3!2ThLJ74 zVKS*bFQ!Hs7q{D;spZM-oWcMl-sj!x_2~SYAbjv7dKq^WxqMFMZRPnUeqBa~ozP>F zV)0`l*L&SQa2m*eo~h{a(&1bB!Rch3h-*4|&i!^a+;fXhdr*3vBKe@QH0?SU`uXbRTPsMVof}v776^ ziV_yG_GXy?0wAovRn!ryaKVC>k`02a7Y#q!{D8p3(%k4fdJ(I z`8>_S7a#s^0tFmwysin^ww9{T9-!F6K8i}&N~>D3L<*CE6=j9`giy!EYuH|)l6Ttv zf9vnV-?PO@21I!^ zAgJ+%9k6t|k0e$xQ(w1u3bXLiTbn`W4<4O}W}!N2`KQAVZ-PLwdSa6W4guo#-tR3{ zMplOa#*TrPm;Sfw?e9A7xypO#8e-ekRs`}TaeHlDeIQ5oO zkIVce_P(Xovl~@(G`D@ff4bsTf%2dN^|D#3fwC<{02VUf&f zg!Ac#n|?2VZBZDpQkVgNq(eTyp}sy;o+KgaDe5SLCBQ@5YKM@1i;8Rc(i%2TS%7;5 zr>E&kU9R4vxj|;xcUlQa$!oJVoxEW^i80~h68%dQ%7izk!8EO3Zpv63snc(W4Ads_ zJ4|bE%uQY7H$;pWO;{JJ{`Qp*foeHX^@^x`4H~YMMxKW*+%(zVn+P9-6^q2z{rIeu zA@#{s4MsQ(x(=p?sLwX)A9fxvsr=p9>UwQ{gu`2Sv_51C zn+u*2!sUFvBG^Sz%vTJ*tEP?o`q*3_Yr-TWy^=ne^yP-($R78D`TpzVu;TFSp`L4q7t=ay@TQ`P8z52IY7D)Y z)?4z7@+#L`WWpW+7m~8`uk)49p>jp zGH^#5Ujpm_nQpa(M`>Z&O(4(Jry4TQkRzfKJMGWN`rpPD-{rA~tf-V>?+4@$H@zFt ziDD%;8=e&VgP!4SWHjOij;tvv0?hUf0}_4$n+d-h?HiMO8WVsd&oAI?n#W&-iw~o7 z7fZLRI2~tuoujIJyXslY+7_3@pQkt>ze_?|c}Xflf*%~wpmx%K2Zr!g6d`rVA)4@p z7Qp3mnQts)RmE7kTK_W1X*sapr#E|kGSQu#!>uwMwX2VYVvo*YZ= z{pP62$-pM27Is;;Z-6?u$!!S;uXw=vpt+_+LWmEC~y;PV; z#tn75eSk&XR60j=vb4)jVYF@zy=FiJUxn18~l(A+j* z4o_6A_}}>-lIQLu{ciUTr@8hgS7A#w(lUpe&oc}yBh=F7Q}2H7+bJ!f`q?g10*fmM zh(rWu2hKIz_ZP#yl?Xi$4c$ChdL^tpzo72qlRxErUO3HCZ#ePj7sumX0oESrY4cpV zfh-AlD^6-mr|T7J|I-xj!Dttu?dXRLYTY;I`&~ z#}|Gfb^jGT+ZDQ1^YvAQ%abpjkyGrd(>K**?xL1(9h@`y_*2!F(0MC!v*``D#a1iH z0J4w@DYxrFJONwT#3r0{Nc$Rh5BD*0Z$vz8X zFm_qPAfh2-iG&c!l3m|NpYLDseSM!_c;y zWmP7_ex~Y_Py%*Bz~-u=LM>auwI@NZN9a+Ake_oqM|pakPA7~;W){YG5#}1SNNt%a zCQ4ZPq)-zB@Ah2fD`>zOlih+~*{@>g6YetolFfjNc6jv%nd4sWq+4Ltna5MRAE%s_ zK8QT3B=OU?#69yZy2!ipkXt*y-vC*R%cBC_&6nCwy2d(^SF1Vl0xdkc9d z?Vi%_8{+=2<_O<=MV0yl?+7})VAC5~x}CO}?gE1c=&q?0BU$qX1dAOWoz3-A`B1!S zbyPC6zosUqqCTaP9>0IadnaiO0RmZ4sL1M^G~bY0rc zN1L64KZ{z+@eK#=*)#5g-&60Wc9`b8g`fpr$5(kzLMs$&*L$8+F9-3kd;IOwy%o~t zE(HSdNLy(ejh|BT(=5cok)JLy z1v9psQ@I5Hc78%$}}Z@9}CbrK+xe~hXF8=ChC-Pk{cRTCH*+oOF8I2#%Q{nX&h${v^Z0!qJVSzvz~dI znsrG!&fDK09lbWbTp8?(E8S}&{Hz*I`0~2;b~lt;)hW@$apY>>s%_A-_w?`9e=~rh zJ@WNWi1%i>7@hZl02@)Z7H=J1PSSL2C>Z1g8@bXk1lJ_CrTCWk_xlYMXMPs9o}>5Y zfDJlDdJ07?dtADGEK?*ge(L9(=SJrgkm#F^wj+a*QI%Mml{tM?tS+S5p=gCv+P4Hp z?s_DF%QuEDh}GNr$QK<&)UVg(-I;j$6mJjUckDN z&r&s{B{l=#=?Wg<^siS@^{PY*=H6Fd&cTBVd*a{@i=7x0e63)^Ty9!5vuibV7ZCy+ z%#;FS$!_XyT+jFAUHP&*Ce}`wDlK-vqo>_`N7Ua;?jM8E(sZ0)g8V@r`P3h=`^w|U*IHEDHqBd!s5u#B78zS}+P zy0MiQNpjFYb9Qe^m%4~ACx@8>iapIXs_Tzho7vM1412{Y6M(^sC^#IA<*+YaVd>S2 zfUsLA)D9ut6QAh~vH&G7-Tt%FR}#lOKc^{mDXuK&%|lW9T(VH_0@lc7)TZ)2nsZO<|4S*aX3c2f=S%sI`z&S?;y< ztv*<)jOF~{V?b>nR5pW8Rnub!S$d_2XFpF<+eX$7Pos&T(7CETVL0|}ngvS0+67{J zLDnF)oX+Yqe%W%0vRu~)$4R%k?hwk29L*2NzIPzAOQkJKP_3d&*WxgXt^Pu&?}*ye z8~i-XsSs-|H)o}jgxa!2cfzdSq%)%V2=Qxz)ZfJ_CqXUBi_!3yeOl{Z?&O%YxZBU5 z&QWt%8IiZ;U(G72xBmWpVqF6uQ?o9dF59T5M7_z0-|I5d3{9E8DHAP?Q8g;9sp!RT z(BgwCV{O?;WK&5-yPmgxxgvTWt8LR#$6SdHN|lLL25%DQ*6S;zu0FY86imyB!bX{| zeBY}Iz?-;>qWjH5tl*_1Gbw@9Pu*sx{uAZ_+03m>{WsRY+Xg}ZCsNfW`DuFT$U?Y^ zPMAs;Sc#clYQMBjKMf+J)5<$=ngs8QT7(;?^m5oFBF)STVUa?3f^q3(R`R!dv=yu5 zQx9~CP#IVmWQ9>dUFA#w9&YZBeKb;@IUp+6`A7%zxp5y_gSI%4z1;AqWd24&*X{20 ziuZ#`G<$p^kb~uYx?h$->qL=>%-vFYt8?KL(msKkFMpP zp}FmFTfYZ|(yI5ch-}nz3p-Ib-ztJ_wmpdu5Ya4zA452@R?wl49$dM*#bXBP5M=Ck zyPeb^nabhvq3o?FJGqSA0>0k4%JLzL&v~h^B+PKl)8=9($i4_Wd8pho!0>X85PmPH z%1;ESh11{>D3k|=Cljxh$dy%nqr%TQ$nb+~tOy~`3nSWtnF@or@9rvB4H@-zQE_dW zc;)UPycKY!fjI46k)IJv@RIhrx#xH$TsZhZ%#L;gul$ay4R(VK2 zC|A_0q_p|QtjGlM&-eei0C;l{Dt7zM8(rWvlqIx66}xV8j0>xyxvkYE@#@YePQ*h% z&c6X9o2#0O)16(iDjHWn<&t-K3;W=2q#dkLixx1z=;k?w6TCDQ?X&GDR#LrGUz1{1r~~QDUGg8=Vb$9wRzlA`rUz%hXF8@6275P~#KaTdDi zB!OjCL_F2dE_#qU#&E*ZqOzND+iqCo%9CMN`O!$Ly{~q0T&y6{&H5$!)Zw5(VR8Or zCV~%R61?~tD-)hNZ{gDLc4!(Jfv_G1fllGoxgpFsS+2rgrBkUY?7fKKIgx~RN&86C zTCrL(y!A3OxlLeqwQL;B*1$aMzWDj)Y)$ayse5vxn7C3A_WJdvY7O|hP^Z%V#v&H* zjt-O+1U_3tEuJd>j_iovdgD_IR7+hb1WN>NYg)Xem@NKsWhYi?|C%{7a}J@cwLzRZ z}DQ_u*k!qz8OM&hi5rppsjvk|a!AjlK1&2BP zmp8b5sx!7tT~SJz@fBqBZ9t~J&8=o!U7gz?Y)0&=BY5dzCFP!I@aNH;*)x4^44~=T zaJ3HHnR;<7LT!crbty~ijPWq!yan^D&Gz26FRrgnBW=Cl139{H#6_7CP#S8Cu0Z9r z;nT>=5w_{eZcDnWH9+IOW2p(E8fNLuC{C&U#+-OmqK#ts@IWG`zaJxrX=tRS*&lxK zv%Nq8#G(0!(mfMWB6jfOOkWM4$X_0LdloNOCBa%=zaUy3yN-^_tNBG0hwywDHeUoL zWYd}uPpWIF0b7(250tHv6c!R3YWG}sC^_XXI4b>uNBjM``t1$h=x)o@D-qNtzwq_u zfj}Nvn|G`Yi3)?75OanKgUzjwzr;bH>sw|O`alFs>+(fVs5Ww!OLs^J*ZfwF0mp2< z{9&`j3)7%(nX2mnJ3_dw$ri+UwfP8Hf0!#a7 zZQlw&)MO)V{=owoyDqL%PW_P2#4hyB+HWK*o}(V zr42Ha5=$VG7J|foRD>ZLT)8i*Lq(oJGS9H#1uAk4Et!(yuE^YL5>VG z#H4Ok`8J^1gwpO|!5%mt1q}geNR?r>5C}AiD%2v>A3?_tt1S9&WHhf|`TC?+toVi2 zr{2L^Kiq!>+HOo(5w1Z!rlio$3&Csl%WykP!v-DR{`ArlJi(IwcGN<6F4YEC!v|r` zttURe+{CHpNTmi`8YlP+ufOuu1R+Gt(J7P%4^dIs_r?LmYH2lFm_(zUVs<+Lsttiy zznIf}4vPeJ6^lM-=5F(WmN#0Z5lb=%P()6B5p7WC;Rk-UbKotSf`XsK;-QX8v}Eve zxPjPFB=YFCenWv(*1fMi zu&sN)w|oZFQct3^Og0&zQTURkr){xewa9v{F*L1@^VtJuR!|GseAlN{z)Yj(9(~=Z z$I#Qt)HkH)yyTQrUwdqB7miR*BR%g#j2Jjyit-GXAb!KG)jO{h^Pj*(5Hep%`%4|J zJWEmgHZLNbvg9EuH(<@E#71*j2^scB%!KUWE3yn#G7PtsPJz6($^ytsPIrvV=OP9wZv zF)aF8sq`NzK08aORQwDJ=Rl_r#2wh3=e#T3gbe8zE@L%k_1c;TMZADm=|q9I(9^PkxD&gj=Zz<#RomP-Owu;AHdFvrm2 zjRG2c(a0A^1Z+2)_(zxJF#5}nxG6g#7naz|?OaU6cX3+$Ya4x{s|`Ln+UZlZP|A95 zL8WZYD46y2QljhEr~zOrI;Ff4wRml3&sV(QPH-M<@3mCI+21{8`5Vl* zUQs-cV`8sI`t7raK6^pBz|!YuY}0uWGU4M=jqQIrEVMo8SrID+0xdgkjWgrF7u*zl zF@6>Qvap;+fW?aYck> zrKF}E5pgfZ^JgVH=tGe%$`);Dea)_P=4>Iz_?`Mz!{DWjq|&;3W>Qj`qOagKC}MOa z##9cV((Gc4sB|>Ns^%?0eUO@K7^q`tGy2)FP&#~fcWjBUskScud7|qmIxXhPiO}qX z7M7d*$Fy)Kx0yGik(kS;9_l|4@YC0}`d$7&cN zMUA6DjPgK?J#wYGKO$!?Yro`TqQhQV-YRHBt46?Rz%5iEGqME=x%bAbcp%q%n!T?w zu$U!eEy@+&pEGFO3k?ToqiRH~gMQohM%l@CrB>7Xl%=Xx44zC*xf+MIdzDH7i_I7! zCyOCLKZShstdz`Xvet!6r>8!-kEEmSkJGZR+mNH&Q~qbdDyp zIC5duT^r8-WbE+Au5!!Lp&(FZwbJ(vE1n=Q2m~mGQ9c4iXe3WUY}D98tEo%AY-RF0 zv@tl{cz@}%I$+$Hb_XyUN^c|97kWwVI{#7o$OuD)8S;BWwv-Vf!%t z;o8UD^LC3o``I^w??Hq^=aN5`(I~?q2jZ-&O_`Azyu#9Fg6|Tvy0F#rP z-N1He{d=_g!u#3-q1*E5JNoQ@xpy=A*YTC#09@2Y5q(LfcJ0No4i4Q&v4* ze#{z(D?5&R{iijK))9ePe|?v83*8ADroXXu2ExMO{+ z>BQFs!q)pF=?-NedT_^ueESN>GT8@p$L-8#6XMYWCo>l>ZEYqmwP1#^YHg#4>Fs7+ zXP``+%z$|mf(~qXou%%Nn`G7&v^o3g_5?Df0-G>>Jx@)Kv{S}s`8F*V$H%*D*Mu`! zz(~}8kTg3k_=i7j0oKbVsRENXg7}gvcZ-;UbP=DY|4`$TJwA6dJ)!~ zVzqy;(WH~g47a!x?<{)CYjLj)=K-1C5brBH$)k-YRBcgIk`52oB6Agh<=!Z1JoPr08@|Sp@@)TLXGU5AFT@Js2_v!8 z3bHu>CzJF#uV_lKJNV*-mYv-sO-5ZRvM0?8RJd^xx=S41HG`6`-4wTNF>OA+u;B6U zjc?LiPN&CJPN(+LKQz`p`#SF`!(LgRcza-w3_<5M?_U%h=$7KbEB#jWf3y5Ozl&nTLvRuqg7WFpH$wBb}O{IHcuDAFZ%XLk_h3{nguIz z!=^m`@`l_AxP_VH_FR_l{agyGSSxld(#ag@YkC?n*J|Ee0EG7miY$j!a3H?YIl{nL zSj(1<*?$GvT*v1SRO?-|1h-8nPbAF}T?Br;eq~?SYW!wZel(DnP9>Mgmq6`=E=iUb zJSeOA-s9+uhlt_gQ`AZ<$M zl(P=Lpuc;)^3e@mKg(6KM{8$lPJ`qLWH4x$1_G?2HnGQZLWz9~S8rw@NrmpseKjI>Tb=vRn4;CCaq>Q{t&bQngTO4*kK^#8UV7YUw7s@9OSKvAg0( z-=wXA*wk`zP&6CgjO&}^)?fXz=>^^p*4H8{+In_)M*+>A_j9fY49#4k9Y46+6Ex^zbdH zlt_6Z;XdgJ)~z>Ty}7mE(0~ld(hVk1V`ogbZy?oeB=qlqPl`SA{2Hn6%b#sHM{kjI za11Gm8eF|nbrQ-p8Dy+6N54@vUpI!nyGOr@X5iJL1gXKd4vJ`_TZbyP#;T!MANpIU zMPdo=WP04kYWf)KN|^b7rL;s@!5AKmdGiy1x>fndq;|WC&&^Nrei`A4SbxG$qarX?=KeIb>8D?>v*LY?LxOavPU9zS{E^F-G{B@i_cCm>nR1d9 zulC^oMI_s1MT;;9uNBRup`)yE+X2R6r{Oaq%%1h_m6m%hS$dd#F6lmR^t@c*R#_?B9FWTe1w8aG@}VCq$30ta3ln;N~uI(}1g{ z3eZWEdg(C;S9yURVt)Tp_iBlOjeIvbq5c&o4QyUlfe};iZHq5^;pQ@CoiNIy1s-h%W~bODQQ1is^2-5ziEO{(h2SE4FN-iPb?Y_8!ffo+=y1LJgu$s%|4ee*V0qRF#SAi`(aVdV}Dq>$O$YA^+Nv2 z$g*^hc^-Iepm>~qAU*n$?z*b_u?-qm!V-9P@&Nr{Z_{%Bq9WdFwSUs$vU=si_oX9q zb>au2=WCOyQgE^bLzj>iKsY{b$Q9R<=E`OR>*xP)v|7{l5?EG2ra)tl40e*(XmH+jTvsxZP=wvxs&-R?dodaZ=`bHl*uJ4zWA^vT+ALWvkDO^0}_O zFPZXrCI))vBZg&!jjYyOh>*>so!9e%j_KGFW zpux7X!Qms!1WQXGxIU@yDZ{b_>1WlKAN(2mIiR3{m~7tZp`=|}?T)+AIHTC`yS%H$ zo>T}E*&DTIrBpS&uwh+xzWSDolf=IxXPO4M0^8>p08jnFn(((rKjmHmhZIe_dzd~i zv_zgpp0O}?PMXsk&xwX>vytUHK5eI%jH}hH^gu3fY%Uhg87OYxg74bFto3`}^w*_` z{D=)RHc7^=m}G&dg$wreu#PS@xhC8&y9=)vXZ0At0~u5=aTJkr?ZSJluSv^Y`DbRH zsD^%>WIgk{{5|++$lY^dnPI0Z&rX-~2XhVSrPOP(tAyKcpmYzvkpQ>R2_@R9Kyp*y z3QM>-vXr>Z`L#Sm{q~$6z#=XFleJvBbuPmE`{Un$QT4I?QU9@%4-+osCf9c*+tCg- zuKlHy>RPt;-mgas;sWQ;v*1A2wK{6IJ>*sL+i;Lk6ECSWufqz~h&qAlyY%qpT>fkZ?fm%!7N6q2)IAQe|w z`7g@ zZQO&^_AV&?-IK2$F+gxIgYFvPX|wPZc2ZF>D+#a*2Af_=Oz9=K>S~=*ps3E!voBEw_bYXiW?8s4V`8xqI{UG+}f5;Io1##=W7wn!47q1PI3rhG{up%O--Z(++d@hiEj-Se~Y0i=T)!wfHmFY39Y7htyoaIH|el6@k{>d9p7 z5K3l$@e73*oYw+nalH|mS;g9B7Jeu4;>HGxGTly>(y7N?oL*vtMKNFehSdpzBM$7lFhk6dN0 zEZXWLD0Y+c7SR|uzank45QfBH;Y>|g+RQm~hAwfrYYFWsjyhTyKX1>`krw_Pb0X3> zs0By+tnUr_rQQ|E7Cr%<@D>gSGDDVJq|I?$QcVEh5k1xdg*%oW3MPCnVIhBL;J)Az znD;?njd1SfkfPS5lTv6UspUJmOYkPeK34`}m13{>rJ+;EutbKb@$o7=C*?GvSxysQ ztckC~jaz^5_?D&E&SkBG?4Fv{9}BL3OxysDDMLgy4^rWr2S4^B;lMoLW4YWybCqv} zGz$Y2i1}f!VCO0h4HuxWPXi?{H!7ga!s#7Iq|Pha$KF`!Kz+Adz^awlRnxL#t`9tX6Fzdv5@2h>Ln%u_J3 zIE7*S8YeDX6|mMIbrKL7BpId(gKMf6b^Hr7MobkcxK}u)6KRz5t~Ls>#U^NJf)lDb zEPc(?>BW}?8T{Z-Z`O!fM)`vucCj?LlTOZqTN$I)yQ@QyJ!(I_AF0bUt!dtaIb*ha zihedB%E!z=p<9l5v?;edsw6v6uvvEfK;qw6*8{mhr_swQ0l-mqtq&CO*W3uU>BC`b z!YxC5MGtRZQVUW&P!%|^{_sktW`%Mw76I5g?$(`8Kw{yQ4{snKtU#a!E~>xZ(p}%j zSdXP{BS_2R8AVuI0&puUuoI<7I7k^T@o-^AYXR95pmDrE_A=qJ%h9-n@%|Mgb%nhW zh^(Z)hSw#z0d<`aE2i+7!4l;y6y5H;mh@Lf^DW9_0?a%QbqP~#MkYS^>KdJ#y(r68 zjH!i1nW2Pha^vUz#8sR#nFr3pOHVDkSnK!5!A~~Qte%W#gd5K4LH-ePb{yC8#iA~Q zKZ#x6Vk_L;-B56e&IgeEHrJ^9%csof0XIit3AM3#)w~8xKDa9S9lX1NeT2=8x04Nd zAJy@{ah_aCl1os0|7`NlCcYkDaN|RNAjn0L&wMiYO4VuCrwV*EkTYrlMp5tqpogH6 z|Lm+n;pPIc6Q4dEJ@}B_>>+m%y;CpgYS}UK^Q?ic%2owbmwpYx7REWQx9QExNE%fz zrGRYNYBiJQvR7N*GMUu^r-I|fSAX()14*cg38nQXK~kJn*NtLG#gH?u&Rdd{Gh}Ze zpsi>wJL&MUKYl-Oi52HyZvg5kVX3~yUs&5V3gPGBvvKJ*J!6qq?R8G8%qV_tX+$eK z6CB+hgClq?Wv?_o>BmL$S>Jke+6=Z{9cNF%=Uo0t;_w zoKT1PwVW6jJZ$85o|sI=grkGSKgH^QyC4kXryk{raQlk=G*uoe30o=Q*Z_`Xa>i#PCeXQKR7F zLJjzT1H5Vp6_U#X3M7`_W{BUUqrN>RyiYG|!Rpq{i>#nf$gzbFzq&P0IRu5M9*;Or z6xVXBivm{9GDQP<8kUS+NO1#!YCT5yO2BaCULd_M$7xF{8rD~Ntn{F+bO3+k=BpXi zg5I-~y&2*=?jm0M`DsuKyAuqqg=bU?;4%Q%GIaUwzaR7Su+^vk5czgKZM(1o=km0y z3j-i*`g7z%b6^a|{L8|09Nc+j14lUD0@Ml)h21;;Fc#{Be24-t48`34cmKeQt$+%g ztOZhH2i&?KU1#UcmcxM(@-bTd|JpkHgTJ}?@9iLxoe=Qao#U^t%WkZnB_TPeEg%6_ zFytR*psM2rYwrf5!>rFY11*AHgO4Gy-l#GcLWcqOEuH__od9_mD0ksJ&JZ;5O{1D# zh3HTM571eVl;H8p#a=@f@%K43ZL}?ffFHeX9mD)_Q-Wld07zoMA#{ANl*I_=GhJ-i z>d*1Qg#i}BJkeiu95&COHpe4xsdVfikN?Dr7=wl>KRtYi*_-lXCIC-DQOEs3=x&_E z=SN7A_O3%t1HA;{Bab5t)`u>@C)4koJl=fRsB!^_!l{FUTRzcX>3_KI9gnY6;qQAT zI9voyl0*-bK80A63}dqbEK48{j^jqFhg*Prrko}tBntcwLyT(h9!WV^;~!!ZrpJLL z5ER3xQjL~TAu%j}=}~@ua5Ar!G%?ACA1 z@1GL2ytGw>j=$+WCW53%mB)@?8VvXWlzt8v_6eb22!jVY#!E8CN*nVJI7$n6(d|b8 z{Eo$iq$SDYSMlKhV(?edu#ux;V(6C3)=VM#^yekXw*Nf^tnwg0vmrni-~uZ(wqRoD z@kb-aG$8fg|K9m=Omd?wj&PR;+KA)10*PPgXsh=6Xja~AJkdRxyFc_oFV>5Nki6;| zig5-z!T*B;qzuG6{AV{qJ-7WR7C2Zce_yuXi)xv5u!+QnW|k@(kb_-*@cY3*YxK^7 z#f{)b$gp_BzbwC#?D#*caWC(+<4?FEwti?Zl{4Xw+njc1s_-hExCb^3p2>U}GXJ91 zBIey`#Ekk@wJ{uUjB`1l(~aE?IwmJG;$_wF;Y3ZbOJCFTIoGIFER@h?Mfq}9H{}jpMoW}{d>NxV=O>KTrAI>V^FnfA}0|y(cp=rsQZ`wtb0tUTo${R z`&yU0`tK7yq>Me)Wgx~&cJqBzPs-<9?P)#ZcdE8TzT}_12>86k8yHZ{_($qVE1tJ` z#!9~7C2NQ70@YNOp;8jFaI}i;&Q;ClbJ8DEd{vzC(lhM#5x&hwrRP+*{kJ0aPrkm} zUi#_Y_)#(B@8SgRcWn+#A;$>zZ>I2}T&%2e0kd}$-~YZFG_!mM=anxR=uP{JPdslF z<&O~V^ZxxzTfh!{oysyQuaU9c!$$O49Lab?tE5;TZY?1CxtcU+M*F#paKN;6jH>Hp z0M**jgpT0DOg&2`(uazZZs!=JSjmly2zZ{TK092%7Oam-&)L~)-$%59+ojO56MJoO zl9^wUGS()z3F>Z#!z5R0BNPO5*7P4pfJxgr(fWl4y9--m#tRk8?s(;vb>q)9Wu|Ap4ZTi>YQ$oKCNtONIVA(aba?YZwu3toY1j5s~pa#Z4P z2M@bS65r4#R?CZ)D2I!zLylh}yi9E~L6t|%xge@@Bd5cOVE&aWP z?;sCg+S2=Yc;sfy*q!q9nej9MfN^NPky3aaEZ8~8w8ZU249 zaN%oK_jgg*MYY9gpKOi7nY1YQq^~+Vo{)m$ATX64Hvk%ac_rkvZXJ^Pd&KlWzR1|b zNgyikGzmy5|HARZe)_Y(!c@Vdipvll*C-fs_Ah8kdYhO3g>m-Yn{JSwJ-ze%X;|j_zAjg5$P`Up1}Ww^uz50EabQvf{{b3KxJhV|rpKz_&E)mM z39b?K=ljgTT_zF~abrQtuf6o>e2eNdxPi+xg>wdlG?SR$n?E#aU-GCQw*fLg?u7SG ztviM2;AVk7!D!<6+3*~Gu#0Y96bxw&PL)~aPxGY*ayuYvY->$|nNTJZbEv9@9WFe- zULnk6vW1F!NAL!gieqS@o#+3qKSLaD3te=+)LEzO+w5UKls9nED?bKezhk-+pay&5 z-0`EhQ}gSnjUss;GBDY%-Vr(fHHg1{^yja&z;@zz*r%-}M_Sj)=z4^|z`4mPb%98m z-f$V#X0M3PJ<054L!lC;+WI*#dkNm7ORSZeGwGb2a2W#PDkZ1C6^bW+Q^?!Ip(XUn zNPkDs(R|*M!A$}EQ)r8wA!w<8URuZxf`oSGx#LDby~V2yLkwGHUBV@NkpUMGLOC~1{3_qJT|FXZ5 zJfi72s(X93>3bdAIvyNeZq!uB3#7fO2$rN>PW#7*Hkh1%r$*dfsu!lj1RRypISPf2dd=yq9F5vG>13?gpZPC3PR`0^SVsLj;k&A&9&*OQ$J5xhqypOL_3Gin;Iq{+du2B>Jz9HvLjQCn+!= z+MCynha}_K(XRVwx#vSdeQh$Bw7#okqrQt6`laFV!VGD98%GV} z(UJvkcJ@m2w}ayOy_KVtm1Q*Ln=d!(g=fayv&Ax-Op?91xWu7qIdYac;qkZ-;(3iW zYaxNH0wEZi`s|pa_vS4l|PS7f0WoxI{h_ZVQ z{X#*Qy`;{`@g!t=INN8$8}6`JeYmzpT-hD9NcxP8_AgQ*=u-TrnE5e+rj=G_r!lz; ztp;F?6{tlB7+Ssrm5}a~RB5L#|8hAeGdu?Cyc%hYfx(ky@4n&;=52`Zod`TEohs1_ zml7X#8cz|i{omlkTe>~RJk%$7$K%^_&fU!Ek|cO5sYw=;94AYsWHsW-sNOvfu6#gH*7KfJ#9ZfyE7t;Yet?UV4p;6l zXT)>ew2J;+l@z};OX8@oG=_rBAZd!>S#*~0vv979@$R!Xe>Ux1wTGqaI(AxM%%qtq zuVEp(*Tj1}Zy{52SDF6-Ll^?=UDMRAe{169aCs105%dMkG>@lez7M zlhVXK?<=M1qcoO6=M8-Q615P2E;Iv=WkL~naZ z<)Y7d|Frj}^>xJp)$Z}RA@9aM19AMH+lUWK8u`E@(2_7XCi7$05EXa1>dc4J%;Sld zC(7BQ%Gb*3-m*O ztH1e7_X#=weX#yNP%Qy~78m85?z3j2OI=~O`&L^Y2 zy@P7!B`fHZRI> z5jHcN$7rf}1uxU!E!-4)!c6XqD&xaHGg@`9jXI(w;;D=nF^_ z^p#D_9JV~Bv4J%47H-!mq+26Jdz&ym70bQ^XXucR1sF42Y zo}LO6|NlS0GV%ZNXf!=z5Uk6yYI${X;CRAyv<>c-Y1)MUA8H9O0{{R3 literal 0 HcmV?d00001 diff --git a/public/assets/favicon.png b/public/assets/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..40efc4a74ccd5d6e9aa929e6e9ef39b5c9de16dd GIT binary patch literal 4228 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 literal 0 HcmV?d00001 diff --git a/public/vite.svg b/public/vite.svg deleted file mode 100644 index e7b8dfb1..00000000 --- a/public/vite.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/components/SEOMeta/SEOMeta.tsx b/src/components/SEOMeta/SEOMeta.tsx new file mode 100644 index 00000000..353afea4 --- /dev/null +++ b/src/components/SEOMeta/SEOMeta.tsx @@ -0,0 +1,18 @@ +import { Helmet } from 'react-helmet-async'; + +interface Props { + title: string; + description: string; +} + +const SEOMeta = ({ title, description }: Props) => { + return ( + + {title} + + + + ); +}; + +export default SEOMeta; diff --git a/src/main.tsx b/src/main.tsx index 330f5e7e..d545de11 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -3,6 +3,7 @@ import { ReactQueryDevtools } from '@tanstack/react-query-devtools'; import { OverlayProvider } from '@toss/use-overlay'; import { ConceptBeProvider } from 'concept-be-design-system'; import { createRoot } from 'react-dom/client'; +import { HelmetProvider } from 'react-helmet-async'; import App from './App.tsx'; import './styles/reset.css'; @@ -11,14 +12,16 @@ import GlobalErrorBoundary from './components/ErrorBoundary/GlobalErrorBoundary. const queryClient = new QueryClient(); createRoot(document.getElementById('root')!).render( - - - - - - - - - - , + + + + + + + + + + + + , ); diff --git a/src/pages/Feed/Feed.page.tsx b/src/pages/Feed/Feed.page.tsx index 5c117a4a..82e05f80 100644 --- a/src/pages/Feed/Feed.page.tsx +++ b/src/pages/Feed/Feed.page.tsx @@ -7,6 +7,7 @@ import FilterBottomSheet from './components/FilterBottomSheet/FilterBottomSheet' import NewIdeaCardListSection from './components/NewIdeaCardListSection/NewIdeaCardListSection'; import { getUserNickname } from './utils/getUserNickname'; import Padding from '../../components/Padding'; +import SEOMeta from '../../components/SEOMeta/SEOMeta'; import Logo from '../../layouts/Logo'; import { useWritingInfoQuery } from '../Write/hooks/queries/useWritingInfoQuery'; @@ -24,6 +25,8 @@ const Feed = () => { return ( <> + +
@@ -94,10 +97,6 @@ const FeedFixBox = styled.div` color: ${theme.color.w1}; `; -const FeedWrapper = styled.div` - padding-top: 47px; -`; - const FeedFixTextWrapper = styled.div` display: flex; gap: 5px; diff --git a/src/pages/FeedDetail/FeedDetail.page.tsx b/src/pages/FeedDetail/FeedDetail.page.tsx index 01779bf4..484711d1 100644 --- a/src/pages/FeedDetail/FeedDetail.page.tsx +++ b/src/pages/FeedDetail/FeedDetail.page.tsx @@ -7,6 +7,7 @@ import ReactionBar from './components/ReactionBar'; import { CommentFocusProvider } from './contexts/CommentFocusContext'; import useFeedDetailQuery from './hooks/queries/useFeedDetailQuery'; import ProfileInfo from '../../components/ProfileInfo'; +import SEOMeta from '../../components/SEOMeta/SEOMeta'; import Back from '../../layouts/Back'; import Logo from '../../layouts/Logo'; import { formatCommentDate } from '../Feed/utils/formatCommentDate'; @@ -46,6 +47,8 @@ const FeedDetailPage = () => { return ( + +
diff --git a/src/pages/Login/Agreement.tsx b/src/pages/Login/Agreement.tsx index 978d86f2..5b734243 100644 --- a/src/pages/Login/Agreement.tsx +++ b/src/pages/Login/Agreement.tsx @@ -3,6 +3,7 @@ import { BottomSheet, Button, Spacer, Text, PNGAgreementBackground, Flex } from import { useState } from 'react'; import { useLocation, useNavigate } from 'react-router-dom'; +import SEOMeta from '../../components/SEOMeta/SEOMeta'; import Privacy from '../../components/Terms/Privacy'; import UsageTerms from '../../components/Terms/UsageTerms'; import { OauthMemberInfo } from '../../types/login'; @@ -28,89 +29,93 @@ const Agreement = () => { }; return ( - - - + <> + - - 컨셉BE는
- - - 아이디어의 독창성 - - 을 - - 보호하는 플랫폼입니다. -
- - - 게시글을 조회하면 아이디어를 확인하였다는
사실이 자동으로 데이터베이스에 저장됩니다.
- 아이디어 표절이나 도용 시 해당 사실을 근거로
- 불이익이 발생할 수 있습니다. -
+ + + - + + 컨셉BE는
+ + + 아이디어의 독창성 + + 을 + + 보호하는 플랫폼입니다. +
+ + + 게시글을 조회하면 아이디어를 확인하였다는
사실이 자동으로 데이터베이스에 저장됩니다.
+ 아이디어 표절이나 도용 시 해당 사실을 근거로
+ 불이익이 발생할 수 있습니다. +
- - - - 개인정보 수집 및 이용 동의 - -   및 - - - - 서비스 이용약관 - - 에 동의하시나요? - - - - + - - {isOpenPrivacy && } - {!isOpenPrivacy && } - -
+ + + + 개인정보 수집 및 이용 동의 + +   및 + + + + 서비스 이용약관 + + 에 동의하시나요? + + + + + + + {isOpenPrivacy && } + {!isOpenPrivacy && } + +
+ ); }; diff --git a/src/pages/Login/Login.tsx b/src/pages/Login/Login.tsx index 4a440338..fa979c47 100644 --- a/src/pages/Login/Login.tsx +++ b/src/pages/Login/Login.tsx @@ -1,6 +1,7 @@ import styled from '@emotion/styled'; import { Spacer, Text, theme, SVGLoginKakao, SVGLoginNaver, SVGLoginLogo, Flex } from 'concept-be-design-system'; +import SEOMeta from '../../components/SEOMeta/SEOMeta'; import { BASE_URL } from '../../constants'; const REQUEST_URL = `${BASE_URL}/oauth/kakao`; @@ -11,29 +12,33 @@ const Login = () => { }; return ( - - - - - - - - - 카카오 로그인 - - + <> + - + + + + + + + + + 카카오 로그인 + + - - - - - - 네이버 로그인 - - - + + + + + + + + 네이버 로그인 + + + + ); }; diff --git a/src/pages/Profile/More.page.tsx b/src/pages/Profile/More.page.tsx index a465caa2..5afe4ff5 100644 --- a/src/pages/Profile/More.page.tsx +++ b/src/pages/Profile/More.page.tsx @@ -2,6 +2,7 @@ import styled from '@emotion/styled'; import { BottomSheet, Divider, Header, Spacer, Text, theme } from 'concept-be-design-system'; import { useState } from 'react'; +import SEOMeta from '../../components/SEOMeta/SEOMeta'; import Privacy from '../../components/Terms/Privacy'; import UsageTerms from '../../components/Terms/UsageTerms'; import Back from '../../layouts/Back'; @@ -21,6 +22,8 @@ const More = () => { return ( <> + +
diff --git a/src/pages/Profile/Profile.page.tsx b/src/pages/Profile/Profile.page.tsx index 9e1378eb..683adb44 100644 --- a/src/pages/Profile/Profile.page.tsx +++ b/src/pages/Profile/Profile.page.tsx @@ -4,6 +4,7 @@ import MyProfile from './components/MyProfile/MyProfile.page'; import OtherProfile from './components/OtherProfile/OtherProfile.page'; import { useMemberInfoQuery } from './hooks/queries/useMemberInfoQuery'; import { getUserId } from './utils/getUserId'; +import SEOMeta from '../../components/SEOMeta/SEOMeta'; const Profile = () => { const { id: userIdFromParams } = useParams(); @@ -13,9 +14,15 @@ const Profile = () => { const memberInfo = useMemberInfoQuery(userId); return memberInfo.isMyProfile === true ? ( - + <> + + + ) : ( - + <> + + + ); }; diff --git a/src/pages/SignUp/SignUp.page.tsx b/src/pages/SignUp/SignUp.page.tsx index 2c44cf56..88686ad7 100644 --- a/src/pages/SignUp/SignUp.page.tsx +++ b/src/pages/SignUp/SignUp.page.tsx @@ -24,6 +24,7 @@ import useSetDetailSkills from './hooks/useSetDetailSkills.ts'; import useSignUpMutation from './hooks/useSignUpMutation.ts'; import useSignUpQuery from './hooks/useSignUpQuery.ts'; import { DropdownValue, FieldValue } from './types'; +import SEOMeta from '../../components/SEOMeta/SEOMeta.tsx'; import { OauthMemberInfo } from '../../types/login.ts'; interface CheckboxValue { @@ -95,146 +96,204 @@ const SignUpPage = () => { }; return ( - -
- - - - - - 프로필 설정 - - - - - -
+ <> + - - - - - - - - +
+ + + + + + 프로필 설정 + + + + + +
+ + + + + - -
-
+ + + + + + +
- - - + + + - + - - - 대표 스킬 - - - - {mainSkills.map(({ id, name }) => ( - { - onClickDropdown(value, 'mainSkill'); - }} - > - {name} - - ))} - + + + 대표 스킬 + + + + {mainSkills.map(({ id, name }) => ( + { + onClickDropdown(value, 'mainSkill'); + }} + > + {name} + + ))} + + - - + - - - 세부 스킬 (최대 3개) - - - - {mainSkills.map(({ id, name }) => ( - { - onClickDropdown(value, 'skillDepthOne'); - onResetDropdown('skillDepthTwo'); - onResetDropdown('skillDepthThree'); - }} - > - {name} - - ))} - - - {skillDepthOneId && - detailSkills[skillDepthOneId].map(({ id, name }) => ( + + + 세부 스킬 (최대 3개) + + + + {mainSkills.map(({ id, name }) => ( { - onClickDropdown(value, 'skillDepthTwo'); + onClickDropdown(value, 'skillDepthOne'); + onResetDropdown('skillDepthTwo'); + onResetDropdown('skillDepthThree'); }} > {name} ))} - - - {skillLevels.map(({ id, name }) => ( + + + {skillDepthOneId && + detailSkills[skillDepthOneId].map(({ id, name }) => ( + { + onClickDropdown(value, 'skillDepthTwo'); + }} + > + {name} + + ))} + + + {skillLevels.map(({ id, name }) => ( + { + onClickDropdown(value, 'skillDepthThree'); + }} + > + {name} + + ))} + + + {selectedSkillDepths.length > 0 && ( + + {selectedSkillDepths.map((skill, idx) => { + return ( + + {skill.name} + + ); + })} + + )} + + + + + + + + + + + + + 지역 + + + {regions.map(({ id, name }) => ( { - onClickDropdown(value, 'skillDepthThree'); + onClickDropdown(value, 'region'); }} > {name} @@ -242,70 +301,25 @@ const SignUpPage = () => { ))} - {selectedSkillDepths.length > 0 && ( - - {selectedSkillDepths.map((skill, idx) => { - return ( - - {skill.name} - - ); - })} - - )} - - + - - - - - - - - - 지역 - - - {regions.map(({ id, name }) => ( - { - onClickDropdown(value, 'region'); - }} - > - {name} - - ))} - - + + + - + - - - - - - - - - -
- - - - - + + + + + + + + + + ); }; diff --git a/src/pages/Write/Write.page.tsx b/src/pages/Write/Write.page.tsx index 75efcdd3..04cc5d20 100644 --- a/src/pages/Write/Write.page.tsx +++ b/src/pages/Write/Write.page.tsx @@ -26,6 +26,7 @@ import { usePostIdeasMutation } from './hooks/mutations/usePostIdeasMutation'; import { useWritingInfoQuery } from './hooks/queries/useWritingInfoQuery'; import { Info } from './types'; import { get2DepthCountsBy1Depth } from './utils/get2DepthCountsBy1Depth'; +import SEOMeta from '../../components/SEOMeta/SEOMeta'; const cooperationWays = [ { id: 1, name: '상관없음' }, @@ -144,141 +145,145 @@ const WritePage = () => { }; return ( - -
- - - - - - - - - - - - - - onChangeRadio(e, 'cooperationWays')} - gap="large" - required - /> - - - onClickDropdown(selectedPlace, 'recruitmentPlace')} - /> - - - -
- - 팀원 모집 - -
{ - setIsOpenBottomSheet(true); - }} - > - - - - 팀원추가 - + <> + + + +
+ + + + + + + + + + + + + + onChangeRadio(e, 'cooperationWays')} + gap="large" + required + /> + + + onClickDropdown(selectedPlace, 'recruitmentPlace')} + /> + + + +
+ + 팀원 모집 +
{ + setIsOpenBottomSheet(true); + }} + > + + + + 팀원추가 + + +
-
- - - - {selectedSkillResponses.map((item) => { - return ( - - {item.name} - onDeleteTeamRecruitment(item.id)} /> - - ); - })} - - - - - - - setIsOpenBottomSheet(false)}> - - { - setIsOpenBottomSheet(false); - }} - /> - - 팀원선택 - - { - setIsOpenBottomSheet(false); - }} - /> - - - - {sheetLeftItems.map((item) => { - return ( - setSelectedTeamRecruitment1Depth(item)} - checked={selectedTeamRecruitment1Depth === item} - > - - {item} - - - - {get2DepthCountsBy1Depth(selectedSkillResponses, skillCategoryResponses)[item]} - - - ); - })} - - - {sheetRightItems.map((item) => { - return ( - onClickTeamRecruitment(item)}> - + + + + {selectedSkillResponses.map((item) => { + return ( + {item.name} - - {selectedSkillResponses.includes(item) ? : } - - ); - })} - - - - + onDeleteTeamRecruitment(item.id)} /> + + ); + })} + + + + + + + setIsOpenBottomSheet(false)}> + + { + setIsOpenBottomSheet(false); + }} + /> + + 팀원선택 + + { + setIsOpenBottomSheet(false); + }} + /> + + + + {sheetLeftItems.map((item) => { + return ( + setSelectedTeamRecruitment1Depth(item)} + checked={selectedTeamRecruitment1Depth === item} + > + + {item} + + + + {get2DepthCountsBy1Depth(selectedSkillResponses, skillCategoryResponses)[item]} + + + ); + })} + + + {sheetRightItems.map((item) => { + return ( + onClickTeamRecruitment(item)}> + + {item.name} + + {selectedSkillResponses.includes(item) ? : } + + ); + })} + + + + + ); }; diff --git a/yarn.lock b/yarn.lock index 5855a881..dc891313 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2138,6 +2138,13 @@ interpret@^1.4.0: resolved "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz" integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== +invariant@^2.2.4: + version "2.2.4" + resolved "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz" + integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== + dependencies: + loose-envify "^1.0.0" + is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: version "3.0.2" resolved "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz" @@ -2371,7 +2378,7 @@ lodash@^4.17.21: resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== -loose-envify@^1.1.0: +loose-envify@^1.0.0, loose-envify@^1.1.0: version "1.4.0" resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== @@ -2669,7 +2676,7 @@ randombytes@^2.1.0: dependencies: safe-buffer "^5.1.0" -react-dom@*, react-dom@^18.2.0, react-dom@>=16.8: +react-dom@*, "react-dom@^16.6.0 || ^17.0.0 || ^18.0.0", react-dom@^18.2.0, react-dom@>=16.8: version "18.2.0" resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz" integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== @@ -2677,6 +2684,20 @@ react-dom@*, react-dom@^18.2.0, react-dom@>=16.8: loose-envify "^1.1.0" scheduler "^0.23.0" +react-fast-compare@^3.2.2: + version "3.2.2" + resolved "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz" + integrity sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ== + +react-helmet-async@^2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-2.0.4.tgz" + integrity sha512-yxjQMWposw+akRfvpl5+8xejl4JtUlHnEBcji6u8/e6oc7ozT+P9PNTWMhCbz2y9tc5zPegw2BvKjQA+NwdEjQ== + dependencies: + invariant "^2.2.4" + react-fast-compare "^3.2.2" + shallowequal "^1.1.0" + react-is@^16.7.0: version "16.13.1" resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" @@ -2727,7 +2748,7 @@ react-use@^17.5.0: ts-easing "^0.2.0" tslib "^2.1.0" -react@*, "react@^16.8 || ^17 || ^18", "react@^16.8.0 || ^17.0.0 || ^18.0.0", react@^18.0.0, react@^18.2.0, react@>=16.8, react@>=16.8.0: +react@*, "react@^16.6.0 || ^17.0.0 || ^18.0.0", "react@^16.8 || ^17 || ^18", "react@^16.8.0 || ^17.0.0 || ^18.0.0", react@^18.0.0, react@^18.2.0, react@>=16.8, react@>=16.8.0: version "18.2.0" resolved "https://registry.npmjs.org/react/-/react-18.2.0.tgz" integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== @@ -2888,6 +2909,11 @@ set-harmonic-interval@^1.0.1: resolved "https://registry.npmjs.org/set-harmonic-interval/-/set-harmonic-interval-1.0.1.tgz" integrity sha512-AhICkFV84tBP1aWqPwLZqFvAwqEoVA9kxNMniGEUvzOlm4vLmOFLiTT3UZ6bziJTy4bOVpzWGTfSCbmaayGx8g== +shallowequal@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz" + integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== + shebang-command@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz"