From c04f5a1c6bb8d5291c91aeaaaf9b204d36b9f4e4 Mon Sep 17 00:00:00 2001 From: tatehito <48908346+Tatehito@users.noreply.github.com> Date: Mon, 22 Jan 2024 13:55:02 +0900 Subject: [PATCH] feat: Add problem page (#16) --- package.json | 2 + public/character.png | Bin 0 -> 101240 bytes .../(withAuth)/courses/[courseId]/page.tsx | 7 +- .../(withAuth)/problems/[problemId]/page.tsx | 49 ++++ src/app/lib/Character.ts | 33 ++- src/app/lib/TurtleGraphicsCell.ts | 21 ++ .../organisms/SyntaxHighlighter.tsx | 47 ++++ src/components/organisms/TurtleGraphics.tsx | 94 ++++---- src/problems/problemData.ts | 13 + yarn.lock | 225 ++++++++++++++++++ 10 files changed, 443 insertions(+), 48 deletions(-) create mode 100644 public/character.png create mode 100644 src/app/(withAuth)/problems/[problemId]/page.tsx create mode 100644 src/app/lib/TurtleGraphicsCell.ts create mode 100644 src/components/organisms/SyntaxHighlighter.tsx diff --git a/package.json b/package.json index 651a8397..5ccfffec 100644 --- a/package.json +++ b/package.json @@ -46,6 +46,7 @@ "react": "18.2.0", "react-dom": "18.2.0", "react-icons": "5.0.1", + "react-syntax-highlighter": "15.5.0", "supertokens-auth-react": "0.36.1", "supertokens-node": "16.7.1", "supertokens-web-js": "0.8.0", @@ -59,6 +60,7 @@ "@types/micromatch": "4.0.6", "@types/node": "20.11.0", "@types/react-dom": "18.2.18", + "@types/react-syntax-highlighter": "^15", "@typescript-eslint/eslint-plugin": "6.18.1", "@typescript-eslint/parser": "6.18.1", "@willbooster/eslint-config-next": "1.1.0", diff --git a/public/character.png b/public/character.png new file mode 100644 index 0000000000000000000000000000000000000000..b75d3b56789c7f2c5e8d8183344a58a87d19b5bd GIT binary patch literal 101240 zcmcG!cT|(zvN-&NKxl!0^xg&Oy%`_~Qk14tl`0@bib8+j-U{V zAVqqwp?CQ4o_p@OcipwVKfkP%WHQgp>@t(tGqdNdo{l;h2_p#r0A!jPs*eExq;d0( zCxYByetMt21^|3=2Ne~)mn!Niu1>CQ`me04ZPjgEY~38JAFJO30NI!rLo<73Lu$p3 z^;H7g{lOyz1qtL=Qc2ZLj|W30Rm!pUZScovF>Ga-_+@H`cA;gwEOlnX?&gF zvy^EbJVC~!nZ6|SSF_=N7b$ym5l(U&`%efNJzmweFS8g33g5Bzrj@5_$KVBNSXQGe;uJEXOxU5Slj7R8-hp_R3ovVJ3UwpdRqU`f^lf5ZMSd=p8N>(_ zj=Z;{mYH<`t4KuG;6UezMOw`8~Ti({|_d3aB-3yz1Fl9TdG+ zaLt9o7Psx#8*(*41HA1^Jg~$sUU7|xX^Lnj1fMW-CN7FHaOANk@cz)ZiMAP(e?TtP zoxR=oMiAIB;Xqs8(u2@~07re}n6@4)uKn z9UH|@LWWLORe8Bjq>Rq+*!lqfdQ>Bk9pu@?;_(lqgqJ^#6WDGCE=(^f&h@)zxn;ec zLHC%=3cFdjS-fU*&r)|B@!pYqxm}i5L9*awrF*E}fFPV3RW8wX)(Yohr=TN~iNfr$Wo5Cj02LS(HGytG@^9=xa*?9kr0cm7|{{zSW^KfRQ?!yfUse^$D(nMQJ-rCh!*viKB zxvenD`PDxJ030QM13KFxt=Lh{PA=~9Cu5NZBVsdhFBBJ6V z;^IO#6hiLaE=Vhskc&Ile+l_-IjXkq)@}~3kPfac?ElEMdhY6hRN&o|04ds=>Hk* zzqoYW9Bgmq`wyF<*uPo+H}3z^tGGJ9a5`8;1DWL2Nt%}86^@N@P#Nzi#d zl#yR!81Z~Q{tro{XVe=`**tWl$xnh2xUOrH{&nEB$C2;vwVjtUzJ_H*)OO#!w&m<# zFTXS&nO!#@z3SKg4E+RoK$gVFC#C0@J%acg^cejAI|5T>0#3Gj{TJ3*eEj+G;r5J~ z2eSAWIsD39XWb$C(=zt`=ZVSG%-Vy|UT>MAU*VntGuWIWv|X{zU#2oR@9%CI!>{!o z#>ZVH!e33#f3YEzyq|E@cny>_ou(Y#$@rT%^uhB1lb1%jdj& z1YW%PeffDv%l|N3z_tFgkMLzDxm$h8-+gtuQdIwJ6Wug&U}EO3&+aVO{`tlRn`z@h zWji6060`F+LQkknsz}yYU7&7B^4UgB1r;6HRLh<&+lk|YNzczN+AK`ud-94UodTe} zEbslDi&=rMrxSU1r)#{u_N!ksDqvl_9_xNe095bYAKNnG^*B`bYaG@*)BWqB{^vbE z>5B9>g`HJzi(;c;8R3(GnX|^g<#k#1c`qfu&c2r2o)iJkm|BYlt8?5V->wf)J}+xB z9lv~NciMHF!wE3U?oeI@oga)3qe(U^&F zw&v{SLtC((fP%wDLd!($^sA%FnXgR?DZl#-0<`S2&wrG}o~~}i`P(B)PlsMK-YtCk zyXZ+y@ialRn@i1vrpfyczrJlJ>*y2F*CWOt+BF1gQXu}EVTbGI z_2JA<0+^{8i5|-Fson`av1MGnN_`j?05|;FxMlZjTKMGdEd(1{%yV*TH48S|C@TPCdM@YX=dH@5CrX6y5?w}u4gqImFl`MI)1MZ9ssl3 z(8~zx;sd39Q9m)^Ic~q+SHGxA_F?jXRn*7%ebZ!eY&Mq=gR-=Do_zeJ^K!6hx~yf% zHSj{1M^WldSJlRP-j3fK!wQSyaj$RYg#RJVWCI`hqr9HqEJxi#VpISfv5li3HeFB{ z#eN>@d1!wy>Nj9OXzRHC6E}VL!;bxd(J-p;Z~ci}xIgXyHnj_~Wh>BP$dtR${^`%P zfZlYa!|i=zm%nu@KEGDK69hj;jS5&lkDzrowMy%-MgnHg>jnp8HF0c#c@R5B-49A! za}Qn77Z1`{tyyHC1Rf389vM8V$sCQ@X>i|H%CBK+`NB<0lW92j-Qx0Mvis@Zhg0L( z8ud%2c?&rFg-luUu(8!@9+u~(kscrMiHfotznuuc=P>_^pMX!!ooV%NmE4@P9xMotzswA zQ%7UX$Kq}}_jS=~diphXg%wQ5{$tqwpjWSbL(KUv(3B5uSlDtohFN&6_x9FgT@Na~ z+lg=9nnwPz`ZdQ=cD>;W-yQp~;4JyuJ3B56{u*fm8>}fSYM&!2%aqdy8%M>WQj^+0 zb2oFn>fFbtCVpH&{^_ochV1m7WcXdNPO`YzowJO-*zeVQqaxQ>g5Egr*Pyf{`B|rj zVft8v|1qJ3_g3s+|K!=Z&kEp8&lKjckmND`$Hw1H7K%iPBzA?%&}Z5ndG3`98&!(^ z#Q6Z4_Rpv2c{j>Y>e;v3Pea`qlP3dOuFmfC_-WXz1#JHA4xBrOU0=>joi3^`J(0nJ z_p4EXtI+QhW>jNbukd$d0X01L`nouPU7t-XGzb5$T^UuzzPj4Hy^8!@Is?;((*b$r z8OL+3@Wc9Tb&J5zTfI1_J$uSvCa8<2@A^BW<*=nHU@L|2n}40rmxJS;^YX#ZM3BhW z6L&kZZLHJNqB@$K@=b2b$iIt2f-|@G%hL}`%rZI_2#q|vh;ipcSZ>_YYN2kL9{J<@rc^K&{gK~@4e*O5D3ToUbb!IFqRMn%0!)QMlyp?=1OL&B^Q`HB-K>`Fq+QtG!$lam zLnm8EvVcNQaQP$dp*t|wtrquJ*3L!1R+e~euYcX?O%qkb3WV8z=zdPA_Ig|( ziD?yK4*h^&7-D+53sI_HVTZ9koC-JAyuul^CvJ{0FVW3-w0-Bf(j(7ma#<3Jvu~+w zD<7MszkM&fwHj=<{BrR96`9R=Ren22W0&z!dHDPu`C2uu|4!az9INAS0rDv}PaCTc zn%x?U4{OxNjWVy!S)83N&*+Ec!EFDsMSDci%F^@rj`m7kpFErP*!ESw`*;79KJGDn zZ>OInJq@V{>x+l#V#hRUVd`x`Rz6|~waA>g&R4hXVOexUPB`%{=o_co#*dg3PV1I2 zuf$L|&%=VhsaKnE!l&+LM+qx>(2ZKy_csKz2jqy{zS46*EDSq0=L>;=7$N`>es&QY{q46O@+6#cHQB?r@x zt+W%l2NXxCYcfP9Na97o%r!8*G<>jfMzn{n^kUul+}8K20}FG{w-PKqY!9oYC{xFq zgD>RP63HX2D&>h0x|%;(=9hBVz@}m{%j# zq0LuN{$o={;hpUEkAz9H(du`&W< z24?dJ<2ss{pyxJXBe#{*)P3mh9Mj)E1s+5v_L*ww_2l&~iAc@rpK1)(-z@CqpR!ECGVz}+kO$~= ze-_=h?OcHu05Nj=5Usq-dQmNRO>}p40phKm)rCi?0AJz^NChGs}H`WMC`>4 zU#m)V4nGkdv<(ZdGG}BnA*b?wzW@e(Ieya~Q5!-$<}>m{YB{D0&lru$e(1_$h*u$5 zZ^HMe?2UWB{eCaSi05pJr~148@cM@_>ly6t_Xel85-Ds|#X+~&?F^gsZ%NabV;6cbn&X?NOZBCWLI`s9j@9x9(I11oC7F~e_?c`Q zq&o_l7zSSMb*PK^g(xC8_z%e@)nn7$w#cudn}d^))tMDvzx@&B5uGPsMQyL&ytswd!i9|TpXuT$)0$0r4mBV0$g>M$340(IwaHw@1IKCu@(BR_qMvFf^WI{3 zt&SrVLYzgw#-G@>PqdMd59H=~c-L^fk9AVA>DEgeEoCxZ9lR-_UNpKdiU)OTTy~3x zpREH?%A|J(B+X&%3enW%1U75P=3X7`)R<>;(v_C z@K7fPb=) zb=wAe=P;SS)Z!rVE-~Eu4c!ol8OU!nnmndcVyM#Y>$0e5r3Uy{>9hH@1N!3O%uPFO z!B0_ktPSmSu9*i{L17Ak%_l3HNf6;$ily#Shiv?wC;D4RqOp{o(hG!SW?qa|7?|($ zGZ~WsnhDZr5|vY(yY<&fgFY^N-t80~7dH1pPYnL1a)PVX9%Q-tiXNb`Q=x0cF@q6z zLU+ZdIzGOYt9cXfAehq|T7ArMF?^Ziu7qolh^1=2FHgH6`=A?-<-6eKmVXJ|%)I zxF?fSt)pvEl+J$wYf~*P2!Hp7^gS6=gH zv7VBJK}AQFc9qqC4<3Ckl>p*0 zKy#nF9RpT5o16wccoRJ|yBGU4BtbIsdF|FZGGXIBgb{%Lq*wm!i8dI1&%RB|qhCM+ zt+O&!#|5|FY{~gmOk-HByG7XeFv6s7b5P`tt}^&6p#yEAD#|zUrcHn&qrMNm5~{9Z$p?*{C%E;;b?o^-{!c|1;r_a$WDl*%cbs|s zZMHC$UA)J(Z(v69(&qk`=dShFC4b{C&o1JoPG__1D{`mxH{>eEzX}?)3@-+KCdn9? z9M)fPpzzh=&zgBxlof$3X?EHSpyO20U*GXT%5(W>s$Un;^3adIF&G!f(^*uOE@#34 zk{T;DE&zkDi8djk&^Ril_x$f?c!u2Np`nP}>p8klAJ%__|MExN?4}0lD6ny1H!vx4 zIX4_j!)gPh2C6Ch{UOjZly^&rqj}MfBcyou$tbnOfbc-|Sx#fqs}yDOC-1My6%8Vg z`~0YQ-Biee{A7s%p$(eO_EFgM`pC4R;@-!=y`^p?+n^gG9Ym}t_eVZ0ykBkS)p$M? z;O*G-rH~ZSgV^f`fYa!A{Fnv$n}_Rf$9e$c@!_F!pfD&s4WU{m1w(tfU$yr6HjY++ zpRZAZ!v3mn-0;nubzv}7k>oCjdweEbWJ15p2m;{`y!gCfj@lx0Jzx8D=+n%>r`t?p zRHJ^hRk>7=i$9CwyOT+v66_5J+~Q`QVGofaJ6k8 zznCB54K?(|o*hk_wM|_($or~Xqx+d8dQM@DapC7IgtUo$56G2YqgZu_pi@!VHDVSR zYi_P!4|!*ui>*k_yO-4dka5RI=bc|+M<0!9RWF_jRO**Lni@j(is;WGu@N_Z)4Pn+ zuK6voP{5w5`!3a--8fC^lB%L_3jfR_^?UM&HT5&()=D9d0Q(S^DXnH7e2`>u>>CsO zi9O>V1M?)EanUKcP`u90ym2kJg))237J9TFH-b@yGT4vfa!B4Y ziX3(>s6sM+rmm5}1LXmw(V~kvj*T{siJ-IAu}pu9)8Xb&w-;MCA#dqt&)yK%@5fOcku)u)Q?3ZN63Uei!RL$ko zSQkM(>r)9h0}TzLfJK&0p((4hWYqJ z_|%wV$6QW#Uh<$aKE`K4#i64$I!AJveW_ArKuTO0tbie&u7{F}qT1jz)^G2J`+Wx2 zJq8o}o#-n}&%LLpEu%NOw|6hfMgI9V`(5H*(Wrl7C)(t@_lNQX;w(;9^FD^#YM@i1 zb+2jQ^6x38iDxZ!)yGWg=qyO)>9Z8*p!$Tm7|R3mQc=EDwV<)|xmK$ada?ZITikA6 zxS*2gU)h{30TXIJ#xY`kgc*Q?QMbZR8a;aINSg>Q8Si2RkUWUHI2~_RBcn}#G(H#! z*aJ`p=2^-;h7NpApn?uzKs>ZtaFPGEl0yYZiX>7M*Pu%EZp(_z|NP@oX5eiy`5q_^ zOWs4GQK9iB6WZp;w6_}$_Z=H!w`YHGVybD);(SPn%XJT~D$0AY4)B6Mqp+_-#u()v zCrmtA3)LDVE^;>fDnzj)<=OG>YDlSh-}T48jwEDfmHPMmi#{prRvFT(X9DU+PX$3! zjz8O@pa7FuK9VK~?3rzIZ^emP!hfO~b(;VXMaPEK4l{&SjR9HLh5e!O1U0Vm#*Y%d zVx065=aLi#)c~}?GTAvA(WA;^i#ftj7P6<$7r#8re8BGFhT6(0U4KLOz#Q+800&|S zPMs%<~S{br= z>ph*vW8dt%^3V-^J0#r&-pQYqU^|C$Iy3CIenBof;XPioN{D0!9t)dbGK(NN#VG9XfS{iP6HGTR{v7AeAwcBRw;g z`eUMph;@6>-gtH)ZKvgU3)u1v@4|=RgQ`yKC>wx@kH26i2a_P6m~N^{q)Y2K&Oz6Zc<}jM)$MB^$-br`0Kq3X&u^l0+uARv}e0D z^7t7Jw+;ppg;#knQp@yT+$q(JN0@+PzfTdZA}C;XQ0}o8V(`1_owgpRb>TzS-hKJI z2bzu0nxW2HInb)2e=?s(_4+(!-jj6S{pSbWx0wad_ob~=+AZ78cq%rK!_p<18;8%UA7Pq334P+!&KQy{^C{ZYrd7xvNDLlt=o;4#lS z6qZkVh^U6kp3Cm8y`L+Zr6*CiB_ju8(ADDksV*Ccd^^xy=@Ti z^8=(;?w|O*nrL9M#@CNH%fg~*S^?VJ$N-vUW1R<&Gq7eSc zUML8lQ3nWd_P*yp%^S_M>9U>$F3JnqArYOv0k%RHBygx;pz^B=0^ zoj;*aOGlOF?D=>{d>+Ia_iAs)F$eU+%5q&ERCf12;U3=3sTe%=-wqN{DS%cL2A$mg z$$FWvHzHYnwP{VOh<Es^*koA#z|@=@YHx!)jMZ1-k%R5(MKeV;hsgvG~6P%vyJv1G8zvXET(X_%|3xgxKAC@d?dFRw8Dza<1K=xs=PRRna=Je(l?%ck zhHX2!1};y{J?7uP{8I<6V9br3N+eVSsAuu%hgeIe7T!vvGWg{7gYtXAp{r9Fnd{mL zIiZEJa5(L5%0nLtGW$ak!DgO^rzWPih+&QI*q+Sx-TPx%v(nOgXmQ42+WVh6g6;ap zQIE`c%B{gyl^l)bVpbgVPy{W6Jlk^CB)f^5L7-g^dTW3*I8q@Fj~kZSF2F6KKHc(W zE+N%hkZ!ale3LWe9TRHPEP**Y>NS@-0Ac5up#Msa9^TK$4HnF&j2|Z@r*E3y0Yo-wHMb1w2L<~`yW(6SnW#E1n;%t}j# zanB7hYVm;A&XUPCSnAW_?x&jndF<(%3`ootox6OJ@ENW2wxD~Taogyhl0>epUGjZR zKYm8k@9^!j>AS)TS3c3QIIif-$}WQYFJ@a!BEZzXH9`b>BVS^EKtB1p@~0@zRallT z4$RW-QAbfVv}!D9|3;NmJnc{C1^J+K0E!DypPjq-)T(THMA>>zK%5Bmp7s~L)_>42 zho2Iawed3PGSw{MG}drYdz;xv_lph;7Mtc>&QE3w3$;RoVuKcOoJo0jv+t-fNBXkC zCr=3T&zIVe^16MS^cX#L{e%l-t}pJ%0phFZiZ{;7&JJ zq@i+Y+d*M?<@3wav-sU+~zeg6h0i3oycg4jE zEJ&~;YeC;fwL_YRUQL~rhXmbPglsU5zH5;t! z!scCQj`vzNEF(sQNvg~Ea|fJ$nnI0;ajBEJH>8jX6C@^G<3$dJS(D8Y>GCyYQ^XrC zep}hP-D+ZPAhG&KfC_^l{LqsKLf0!E(YJkk30H;d0mQ*<%uYn?r^OYH@E0P)j41Q; zw}r(Qx!JWnMbK)Lujll`wYloM!~iJ^z8)c3S=oaUqo>=O5Nk&g&+ro@aY+d>l5-ROh8p>Kzh!8nnWOHnu>?1CJjDZc@S|9+)gXdih8s`R)B;z}P1LgPh17_}gmz z6ZG}YG$YfB1;0qu)%1^KJUM`6 z2H=ENgtum-M!j>OjbX+?V&Q|<C8N~fnnrAO$C=Rp;%jO;`RB39FOHuI$6F9bl5NwR0U6I(n6`%Z{Row-tP z8Y#$&p~c|wfz$HsV6v$*A4QU7$|Kxxe1K`?84qo-L1rRPhNVwRXKf1AL{AKP4gRWbM z@!}#<>EeuyZ~fYTt;{`z?fe;-2eIuMvwgRDF0je#GH=Wjbx~jW#TuYr1}fO2hr)P* ztxh`INI+cN8K;P7nqU&$NO%z5dvb>}uK;lJSNK$@A`}@0QI`8fxbPxk!#@&F9zzh1 zrd4sr47RHbQ4=yW$<43B9r7rqnUSETv{cnt%~?{>dphzUG@&<8yh-B*JE1W7eY+!G z9v$PmC|=Hg^BQjs!QW&L1PfO=aRnMk{Dn{SI1E#o9(1i)^K9C8PMLUyvZTHo8~NNy1aZeQ~% zz5xX^C41JAG-dF!CfvRE2Dccgl*bAzR9o9CAA~hwK=Jjlkmd;9SdMSC8|+MHkDkCC zdfJ1})@R_LuK;}cX$^}y@#2rISyTSF*gLLf>v#%nQ92OO!Y^34wN=nlB)jPXUzcfd z(QX4P!Fr5HiI;|S+>?=$h1zN4OmZZv$Me(In1A|BK>CN(49<A!u$YDX^r}M4I-+nB)+-&YPDmsrk7#Q<^)w%4mnL#I)DN6rmVkZ2bNId zxr-2n-&e1IK#YLNuN8^~odEQBlCqID?*jo3^exNmQ|T2L!x6-2y_1vh5N6p*MT?8* zn$BePs|!a#c;;uVM2sD<9)ti%F8C5;(-YdQ>5qrs9-QB#{Me2*r)R}yeYz|qnC{Ig z)OAdK@9dGL?N7Ts)o$)8uJ7bSZgRb0PQ@ia<>&L6%jCp>oe`z8W%VRq6Lkji@|)T^ z97B?IyHTjN>AWdM3HAKE_uaeYS;Tk9TRassp$L?#)~uJvTVDp!BN~t9NEka^`b@F6 z`~sSW7W4VDYBm(>W-4ui0MwJ}AB62UadQR3jL29DC!dkwz#;TT;(i47a6dxXkS2gO z(EOLj(+XV*Jy2RQE0BXnGA(}7Uc&l8zCL!5V>TxTaCv{8*WVKg9huDhIJEWS4%Hq4 zC>t!9Ymm15_>cP$k+nypk_Y*cW8QJO&K3#-GU11u+o<*thAaFH4cp5HvWtoEL5GfX zk;=nJ!penEpQ35)62oJ&>t$n|lVcy9Ymxf}`06kBF@d-k{&wZBLEB2^-?*Ji*v|hJ zh6}@e$}29v8E#xzm*_u_60vLyddal+ua%D}6DJF9@+_!xnyI2HrL zB1lg5?hY>688VlpWU2DN4i7}1p!1)Bqbs%Xm&NLBJI66acQH|@jr(t#44G#M(pG^Y z3AZZew>iRgM~Op}VuI@A_T&dLQ_8Os7ogh^!~sjxL&3+7227P!^?6UYNNqt~K>@$S z8m!kO>7XN5&o5tHF3$x1+Kn^(di68qElD!nKm=sO!1ly0Kd4>t_$Zley1eo9>5nN= z_F3w=Q~FmS)M$`ymSuFlbv&R!uVfi4qgf^Jh`34M76lg@q;HDOm*z)S^L-0}jQfm; z2c}xxA8YS-O~2E?_9j`4-q2=7k^TK$8D;{c9feG%Zz5~ddgrw&y zlfG~Ir713lF%C@8B>?-~c6g)|h8y{KM!9#vReiz*Q!!uH_TJF(_<^KZl0?udoSS>x z>u*sjyNl-q=TD>y@7eea9t_!D>}@T$SCkzD-N5} zI&%j4U`X9?rAaJgJg`v~u#?-HJ0rUtR;KWXT1a;w{-1o+PGfi2rV;l`M1GF(mqg1$ zl{wJzC^P_4ZGvwV5j|)XFD=VZnAJhS1$`tbie(oNG=pGz@^ zwg_Y=f)cdmQ(Fza3cd`7D9+l|L-UcM34;J_$yok=%5JIB>e2Sp!Ko4$H4V zQpuy`q0;%${?&`Q^s}8_4MI`ACXr~JZ+77QSKmYtOnF;ML%WdOqP9Q54rmkUlOA;v zZ!xFBjZ8xWU#;{`!C($ZY&icgomn|aoE8D{Hfumg)BLaUu~Qyb@;L>XSu#q(2#}WY z@NCY<56cAS_|Zr_tZK_!754V>WXoB@09b}09Xb+Fzz{VvB+eI9C-l%dpv-+QXXO9^I=6_EYFJ{9VtX(Q|6k=T`IQv&F6NAuE0l8y)FpbBrUbnrh#(RK zS~huXu_RUp>2zoykg9zeU8EQ+;GE}32EqaekT2foUd8lhjZSa!T0G=3o6bEIH^+`In_Fei z6t*Rou|_x%F7HmJy^*z-u#?XN&T8~qsysISdOAgQlSVP?ktN*}tqqS4(*7PSSDEkr z>B@oi?lW{e?CT;+7OliVoo&$Xp^Q}`n?q`JQ9Phq$NxdCI{8P$i;dIlskSQQ*r$rRK_oBt$z5vnYLk(5qs2P<^E@BpA@stl`X z-`7>1byO?&bilcg*gI~oO~!^)wyTT64~zYTU)EDH*C!W9xH=~AdOJ1`ZJqXH=;ENB z|8v4}HlEhDtW4FqvbtO*hncyzW7={16flaa!bcP~z7JTRKJP$zpz$I73jvD+TGUHl z1hCvubk@kA727yU*8qp_2WWUxTReRLeY?V+%s=*` zs_baBV*p*EwK^d3gN6+gtHZbP(f5F`+`YfmquRdd2^`f>ivHN(_A4l0@bhq_oTg1C zzE;yt&h#&8y#AaRE{1;>@ySxQv^lH9u%u+gRvwT~}uM*dt6SZHO?1P@P`i?1cZ*AM&kvu9M>Chj z{&uu_gBHb5p?f$m%C1*;zJY@@;t5WOpti~aLPfqG$pHdmj2J?I_H_@L5M0vyGV~`t zICs7HdR`tKbw4RyN%~`Z$lfAhJl^60>(dc}9kP4YK9dyU40SXXbVZe)>0m$=@ ztbdzU9#8Mu3nuPb^$1P3hjP%8ld@7~60zgqERi8VC{FMBLt+FMtmpIxWxFH#_CV+^ zH{q#kkWYXhYzB)5nuCZg>GU-;t3 zD--dNgkazT>@0P9({OCT0bWx@jY^oW&3mM^lyYwuglgE8s9vh_^0(L~1p zd;4~}(tzz*vi&^l3q2>@tfO4p-4y$jJDFfQ6j+!5)A8~bb$8Z$+KNgh&{4#eH4@w( zB8hGuqQa809%we-gf4*P&uM`SqC*~_VYkQnY|YiebKN%irBY)*@xPi|n4b@Pa4b}>^KIWS z_iC>lYjQ{$v-v?!Ob>H^Hhz~o_T?LpUMf9>(tK!+j|P8US5@o62Y_^`yGd*ec=*0y z)iUBF1t8r=<2$kV+WeVz+E2lqd`aG%JK>>5lUN3a>%;4*9*53xak=dZN_fYUEkNis zt7LAUnO0pAVV8P>&W?+8G8^^rs!clMvO>{>EI}lzUTry~*rx&aK{ogZ0@r91n(V3J z(x(92Jz@D^v0utMQ@VgT(SojjoeG8Io|dl*Q$s%kL>0>ClXN`jjkAP=I?Qb7eM~^Ysb3=|elnY}jZO*hyNMT1zt_Go~C~ z)I!It$a};HXFHq~3kYl+nIv}$T*w|E`;7kYRSZyX^70 zd@XOKDj~jX*l~>chn&3;FyUtL6(PmXg@`dpkYglbe;YIJ`6@ zGJ9;ix7Z&fjV3?*#U7_RT5EqqYBCde>hLRW=JI4KlAI?Y2YPM@{zO=B@mtRS`9iX` z2n*xOtij)@tn3{oNtK&W|3#m?QPsEjEY%U zHvW7LfgWr%6>6=_4;LK*`qExR982LbL(Dr>KAwRrA~YL1=38RmoYj_Gk~nNOU{Lv{5BX)${Ip3>Fw9v`A~;m`ZE zD^ zVyM}gu62=T&m{A!$8KeQh}5PRbEC`#o7~|+t!pU;MsTBJ{CX(R?Rt-<<4^F@bbVq_ zJ~!QUW!Y>9>gvx--r{w7UU}f39lXm9Tss{Pr90>pK|UO$9%_W66$7th{%DCTBIWt; zGVq)BUM`j1;puD=yhsCgF-6BLjtuX|3KHGP>=*P>z0KEfvrwBpXDC@M(-uo9*?P5R z!PXI!vuK2nt(qY}Os%_H@w{ECmOsj~E!8UUdLo@BZ?3S>2&OU!=yI%6)W*iIw+)VNOs8NQw%ZD!s!;qfReagI&x2}8DUm+ zm9+WN>oGbnNGsH=Fm1E=!+sm*MgfSoB5D9k|zXa21>OF28hO!oVo5Ge!9Cf+;$!!<&U235|QUG2^{WV7xN=WSaPm1X3{(46U0xHClg~i zzHgdOdOkOCv3O?o#*< zkMJIHDyg_H2iN3SNVbzQGdumsBLLnJvM84s?|+$=xnnLCSSsuNMdKc;O{@Eg(=?vy z8|6o5ssWe}YgDY)`NAV{{hjbdtYV$jz{f@lpW$6$lYmX*f3my)!+T!`*b|)nUrMhg=66WxnARs31MQaTvw8q5s z))!?$ihN6y{@fbq*3r6wsuHOlx_6OEp1vx^uxTGl0fZ~(ZYab{0~v z_)8)OX!W+yiAS^2J0rrI@Q0A&jR9NRJl7|AQWmdlPAg_4^|phjT#M6bbFR*fUGKgX zk!e>Eq3uDO&R6{rwL*()MT^iXh)RFzJCXn3+{QFVb7_U7kJRP^?&qR9pS}nkoOm)U z)ou&h6y<+H!*0JI)TD)4r~v+mrGrhXg+8%8 z7I$1%d4hnkhln_sC_rGVVp&8PV&1<%PWc3SXIh>pV(L~hbJM}qC^`eAiGxfUH8NRd zW@G4L?jeS>!#Yt`bLY>2DaW3Te+A<&>#zty`-a$C)Y^|oMYiMBw-8T%j^C3B!&DRM zL-Kv+9vqU0f0wVYS0Ej?$zZ+l_0({AzSEI9BSa&Yh zE*txvf7uXzDDYOjTG>e2NFZR0uP)RV;Qm9#9<{)wBk{sdVZJ zAR5G#o4U|mvwZ!D*99cKBCd5dJzejdG9Cjx_5`6Y}B9oMxzlji^rbb zBjyhc@}Xa3Vc0$<9g3{!nU_?8-f91?W=~W^uPZMXYtY^P3NfzOU(`xEQ_{exN6-7u zyGEK9foT{chSHSRfCb~hPuuHz{1GD z7eaU<0b({h882!18l#^y;uvZIR-R8(J`9sQ0U{wgfB_hW*QreKQbqulvH-;7%DDhe zf5?Ofgtui{$`4=i6BrUxH+zqkvG6`2UsMKN`B6;epL`^;s0(xo5CX7~4SINm;pK+6 zZu%26Ex7X`KXM^Y=p%;v)P;j`K`Zj)Av$uSP|6`D-YG+LXrN=>&B-(0fVe$JWpX~{ zB@Uhh^r9lxE8Z#eC{Nx@3u%cX-*~gr|63Owx8gJRti4Uq@f*JoD#Jc$AX;OeNR)-A zqk&Jo=d82WZXdn`4=loB$a5V0g~%vxlf4Ik1^WSPIJ1eHu(yGd$HPAv zDPYPyphbuU1cswwh!{|SlX1X??R)^TjIpU9qK!{%?7hmM!xY1Cd7BQj01~`K%7n27 zctD@$Id~MV?YulKgB*(IUk6@fpN7%_3^Bw6U<_)?P!s(OG!+fu34jNIGNiF`jt7Pu zc*-nX*n3lYcxBO%ARqd0Mz!Pt~_KHPew!FF*E+21d9ej7-awt#tCQv0J@anghzuun zAeiYx3LcdA))nkk#x9W!0Kz&CDFGfYE~o&Y*rONkny2a$lIXL@L60Z^06+jqL_t)L zD?kKrfs{N((T_B|sqpwHWO>Di4gh&9tL7Q2o<4|03^kB8TRv8ce)6o8z! z+Q3wK(Vg%`W%MVS$cp^%0Q6dtiw=wcdC~!2&fG(fdLS?Q8P&EWUUZvl3mCF-pZZDM zR55+!lQ#)4#_wV0IZVn0BWS`WB(tdIM|^;1d~YUzl*)8j!Yjl6(m)B2`%9BkqcbN} z+AsFdxh>B^*5ySM3|WT25grr6P=Su$+)Wx#C2*1<6Yz%ePz?grD9h=6Z$~1*pV5`52~l^mZd}ESFr46L57p^1$)Pl?UAd zc6H4KA_IFN@zMY;K#wzgsCNcE>gKwOmSvLsfEvJ*pG7BstRly-miiEw1MTq$Addnj zJyqo6p#BDQ(d*SV9%xs3Vo#_$1+{CIg)=e`ANwb1iO@6kiS*Dh@x)nXMbQp-J+k>F zivENSJq%ukebqn-ko&5^>6M?`>~xRg_on$)XVCEihQ8c3Zk_qU2MEeUW$hSLfLDNs zQpGg@jeHm%-~_1T=aKD9;7JM$0Kfpd5SDx}iQ%ahNd!Ex^+w(jAm%wT=*qb9VgNny z05!SK1`l0iR!uB33r!}ie0WzB^OHZi&z>J3!xo*WU$}M#4_2Ke6Gl#bGl&@st*+=4 z06Rnpec=7!g@s%IBs5~^-3+}*K6sNKaAf*`RcwF;zLX9A(x(APx;E$_W3*G1x+pF` zRYV!ufD`dtKm$;d1R=lfE7Gf#=KLX>GE&&}LwAJm2%RZp5^dTjnD4?E0gzqV7PD^qSQ-;JGHL1hh@Xe^Mcn`> z<}e8WJ|e*1ASM0`QMsoqX#fU+a%{T+^rZb}ajhN%u@Lr!QzGeBH&$%E(Ky9-oLwkxTG`Bx74Kka5O5)MiObpP!3 zNB@Iv%dj6bP|M8Y=P8+veF zzQ}yx+nPVKh3Fm-^Og^rE1m0l4gZ#O-*O*bNW+Twcp z^%pKlgT3fZYT!dxs3bs$jw1MypT(s9-d^$1@Ll}kt>H@0zxOaA7dHf98Qw8k6o=ZaB<}$14|(TjuBpV}VE`YJ-1nYxHISRvGA`2k*axuvm)E99=EcQ3517*@qBg znSCHo7M+p?Dx?4PviE*@)t29t=R?q!8gELzg)A_<7FmJ*F%qW>xa=}&5GETPUJ?dLxvjg# z(>EU4neJXaoaQvNZKqdqh!5b=r{7-b6@Wdxy_-&0(nyETjo)yAhxrtBGhCQ|fIe~r zzu5Ld1#%g50zd*T=!-y|$j=EK&~Xsw`BORx34^@Igbt8<_13ZU<%fpSpyV5r+zr*U zS2P;}Np%lt?bh)$x37{;I=tT=Dtz2N;ty}y$of<~9Sqlath5F60Xoj^khoBw403t+ ztumQLc(%%*vecY<#LzjWMz}|Q_)|XfgQq=Gm7_z9(FM9?S_0q=zLIOsH7k$b@IUWe z^Ib)jVIMRQ-Pt}6D2q->13jxY4)v!_#e1nSIE=&wpf7b8U^E4W;e`zugR&?Uz`}?a zl8Kk%Fe*O7Ym8wTc`?!eQ4BABE1DrH!$LM(X9D&wA*z7UVrXn53ZTi}Wypv;7&vF1 z`PJ{&r=PDM5wHLT%HzL~6S)BRq;biRR-4Dw3GfGyKs(Q?a?Js6B&wCs8;RA!soOuIeGZuRS)D z#u(D7Y|sh0sS+~LUI2G^Y)m&q=a#{dy0dLZ(ZOGNL*9@9ua<*y23XBiLK~^^fOGxu zu(^gO>A4QX`CjtjvC`QwtpW+pSIU$0lSRrj)ET=*(et5RhM8+1ta9e%%aT*mKu@bu z8IZBq9550L2U`z=V?c~|fHmk}Mjs&z3@`xrFi?h;ECygSEI!yUkd#Xh!=UwLSE8bFMS|8or&M>Bx>Y~yyOb-rEchk z8oAxn*$|KeeTj_rQ*s+T&l{Ft!@$~njxt8Q8a>l=2Bov0sas#W+R^KDlE?CgE$ z8gOLTT|5zC17gmOEhg-hfCNwIkRQXv(6CZGQ-hy?&UusuFt&7T8Yg zMIC?!`goE6F+*YGpd58(+X{V0c$CnC?<7c47Vj6n$Y`L{HTr`NaT9<+y(JrY;5; zqK_xZQ!_kq10B+6TW>wG2dMf;R#x_@BXr?S=R}}AXh&|TKV`#91sDr(R37p-YCXG- z`0Z~!9Ca)|XR3kxEtzTgvfNZO@Z`E>dR5g)m?t2K;n-7XvXJB>tSoE+V$#CMu58>62Hw-L*C_E-&17P3>Etthz zSQzF}3mWMK%jPI93{pAd#mL|b+3>Ms#hR}qKVTSvy2Rd3=tdlJMkqWjC4?6pphcR& zPWjLa^#!>026*ZXZFr%GTzBr#Gu|qJtvvIz^~js_?Tbnd|0$2QKed__dAZBfcZK!<6ooi~ONa^q@VStu8X>^T;TGRTRy7ISp*RkZPo7eEP30`em>z{R#C^6&^C_s9fj@DdDnDDHF$ zPg`XHDeAFoVP87;n1M7roYIcnnwOM%1UYF}Q}2Kj{Z~DIZaVq!hNdNA{tsY+zuTyw zVGt5Sc+wtLs(6IBgQqgZJ*)TXL~7Oc_-KpgvP&CB)iVrb?=nNhO{drsPwqZV4nj+N_-YKH03QP% zUwnPBSsBL6a3=L>uLR>C7x0ju)m+(vzxWt|EwV5mj0k|icsMg}RZN>%#5_#4QOXEi zUMXR$7*kO-9cu%R!^uPoEr3XB;<> zPSwWi7c3u0gPI~h7Ql?UFw{mq>g`1d$&V~8E#!n(81rkyF?UEE@u&>UqK}8l79#FD z8iE3#1cuyz6~k0y1uRG-4*uLT?48$NNiTlRTzQgxY1?osJ+yHwJ+QfzPF&PTXCK2c z#~aZz-K-}72tA-DhP+u{&gZ#Pq=+dB>Oo%GM56dQ^bFvsyb{@=K%0+Aap(guBhI?< zv_+2=SjMa)Wz$bNu-7txG^S#xcYxt!eLMOc?lIF>k;3Co)z!PwCEfq^h8rrc{D;So zvJBJLKnal3*V(j7tl2iQNGrXyZddA-kzic17d<5*5HP$jKgB$s3`l<%5JRuAQ9Wm@ zxV8+D*Q4=TG>j3$@!M#y2HkjmP?s4@7}l}q0XSgj7$FNW5#o%YLni|PAdHcEPRl?L zixJR-9z%WPB0qbT4jb%E|LOwXtkq3JBdyeXfu;lCqk9Y(4-b&aZ@2+)IjA^ZU0W~f z07$y38>{I^C9*CHPrSjg=D1}9cvzSqp1SY`ZUW#aQUb=(N-7kJ@w=54xn{Z1Feh~m4Cr=~AELoCH* zX(+dWO$Nc)!zisPV~pW7>5bgXQOfJYr~%ZL4A%f#014%=vP>VNA&w&h07Ah#=*L0| zah5>^vv)(DW;EW?Aefjn8!-kvB2@~?*Jt7}E0x+!u1C8Vs9cbVQ z6Ay?ftLuWk2*gu2Xplb#?sKODFRO-R9nfItjXcaf;zbh&{S1O+M29)>HEFW49n73R zgQICGYgIc5kcaAtVp`Z&-=y;89E(Rd!`0F4A&k_1EyHM!UCj+D4(};1EM$)ekR(tBKqOw56Cr-3FoOuTiqYb|V$=cRl%+1QkP)(a zI}7YZtF5`kZgVKjU%V{6;F8y-)6YFOZCJb3-sbWXPfqpzfz%!yk@wn=%+Ri;(V;y$ zcBT1?4of?>Y)U`A`|h-R`}QkL(a_a)9Wip9CAqp8d9#2K z;Dw%JaU{S_LXk)MaeGKd=qcJD^a=%NO)lUlM(qME_&^6a*{i7w(}!yI61_kpQ1<&W zB||TZP|8oc(oTRN4a0Rsw2+gwNB=qC#hQ;IdL=)ahdy~Z1E5SN5a@sb)#VEZSEcm* z&5kTTW~70=zWOsNUly8z20roDv;Tg0wDTM6!DE=p#5=F+;wc%v$QT-5a*Pr~%!Y^Y zDau1>HdV)vO@Jxm!dPV+4y@J!cmbxdzyS#071@gvctI0d(8tg)Fzzu#;(~Sz*SSWP z;4hglNZn_H1guR@RG@_%)C*bx>VR*oUPD`~1n_!PacGC2W>e~$zam}m>+eoSEM2bS zXi7j3aQi_?MdIyh6{ey${>a2SzV2?0X=^dwf*vk`LExA}6 z;yuSlt(9&sPxaBIJx$~TIO*U5)TqAzQ*qhTBM)gP0=8V^wKH8|U=-j3#@4mGZ_h7M z2*oLQNUr?R=}0b>XG(_e4`tv(8fXdVQ=UA~q!XUk+t?;>++||r$BZ;k0_2R;HoZcZ zJa5rm_usbd_c0X$Uw=GE42JC}yh+;Li0=8Kdjqttd3z3Egty4>$wOk|ix|&rH32{pqL^PL5$S9+CI~dKMI= zKuJ3Bb|m&cQ32zGt^q_)03aoh2ACG*S?KEVGs%^7`0^9d>;Lt?ORF!rJgs^BvGj|( zZ%ZRPH>PU;90MMJVo=vK12WjV6C+=18&z~H;ROOhEbdSz-ZiQ0)+h0l%i!qwOv!_e z8S2s&cyOHpENMI9;h~l(_~JQIM*z~bDu9pbO?s!apBIzVfq2?N`SGF=i4G5%p&F(S zXg54<$*m6Z)TML2C(2I+_40Ej8YlsBCR&?jneVLHbfzC+6F@N+2QUIm9tP{nj#r?s zy}#gm-?12gf;ip=p5IiBmxjR@H~b+w0yBV5_EOM|7c}5q;HeN8iUlZyr(pn<@tT+D zB_czlyFaOol zCyx=r7@G-&v_cS=0hp9SAPZH*A-{A%{^L$NGaYy8 z8R_U_Pe?!b%4gG#b&sf{;gLv&^1%ZZfSMOjL=W8(3^ZyZxOoxKrB9OM1E+s>F zrvbEdX#BaY$R}DAJzozU%E8~BqsWC<8J&;otuz+$0CGB_%nz9;+w#bOIZ8Ie>v?u9 zUID%nst{kUnHD+Xut8R^&9NXyB|!b|WMUPghT zU^sXHfDel>f>L`a+$+f*gquH7HLiC>%3FKIo32YspL4SE3b4o6 zx)b#a$%;=**Y$Sw1YVL+TX^I`hd|6r@^}%i|K?X90Y&b)7MKZd4Th#onz2CVuC~L7 zC-phuv=?|dzh&*3^o#F*Gp&2%UXkc?S-*EvYRI4Gf*mQHSvL}t&XB;oCgkbBwD(^$1f&3}&fzI4(vSvyUFaX$(B;*3 zc!z)^@(fbRu9TrNMIfUV zZCg6!02#>?0IRPbaR8(8Y}vRWedo?Q(-B7orb{|gALs^oy?4?2Vjh!69AiYlLQW3oGjtilam3m?pzGj4+p1&I zJ$dNpXcG^gbqzRYPn4lP01G%euZao_)vjDph5%j3qWPC}-)%3t;;z;`_muOHdn#_6uR;}GLegQ*X3?SzC_+l5sTp0*oa=Z-;HXB5I|05m%sB4%OtEYvr zN+9kTj`Aa0U=NEN&?4ZG0ff-?#&J1j^}6P=WPo@r7(4TwIlm1{{P92lbL0SAnfvSt z9Q-VHVc2%q{3Bp`*#nQ>b%)XkXTCI@bLp$n@)gh5qjNmT0-*C1lb5B+;04KzR+?6x z_v}tvw{A^eyY<$zb=wZrp_zX2o&TBE-`h<`ou(H`$fUPFl@iY%>6dN%3sme^IpqY& zye*|;&pka|{HiO{g)h4(jgE|_c?;&J!w$n)5?IK?#A8=Q#8-f!KWR8EJ@L8e#aF&L zegBJ}PMcQ$BvoqjG!%`OW$=Ssb%Bq%3CoJUb6ezv564NTkdC&?9g89qtY?PedO|AZ zVujVp52(>GAxSO=c%oZ)h{|4V9_>Y%QBREvXp_%#$L_FDqdEm@#rH*Z%mD81kiKWi zTR&~tg4W1?`VgDN%P>O?M9a>wa9M0>8t8uf%IiLI=jx9FG#D92c!06h1YpAB%bozh z(fI&e<0oSty?uWxI@hJFR^Of;!jWxj^lbIjm!!-8#T(P-t6#5&z!|ynE>2;NN z-}-46E8(_*nvL#HEbX!?S?+gBv3*bGB4EBjaA@5F>AW|*H@*1Pzvd0zofe*>0vWv0B3UHoj@^6GKYaY->HBwlHm!ST zN9tXmEVaJWw|J2a+-Rd>BCQHAM~KG>AqA1bBa>Ltjl6LEH3pWXKK-yMAb9vSIN zIctNWMyWjQg7{T=g6NnI0gsP*qbnB6tPkB=Bho3lqYUkbYMCZQw_dPOJV4BRA!k4K zD7v{*WRVSeZZowTZS6LtJtQ?exrc$vX#SHx8Fm&_>GY6Sd9up->(xD#_uc!1GnOAS z)<6l6GgjR+3RY_m_BCpoM#tJmFu|We4+Casq_4J#0ZbSNU-rGdGz^tCSD0;`18HxqAd9twuf?bl4)5LET$rlz+~`#fodC?|$_Q>DCW_AsxANX*&CY zm*^43kwO+RLvW!Nzgs;xZ&5n$^4EJla{GoSRcF0cOmzoO(Fbk8ltqgO1*&6kjDE#2 zkmEOi&=Kv5Cl^QP4}E&yqRz;VPH8{9KL`S7lWhxl(#b`qq^zmVUQg*8Pn7)d(KQ^xNg*skOFToUyiM{xQ+qGbd4&{G}SGR*u^<(mD;Jvw;hgnAgf* zc0kG#?22Nc03ZUKB0rv>=Cq0lc#IAsz@xCeLq>TI|b|oeUB>lg~kXkj-*wY}+??Njm){m!x{%fDPM-VxbU3C4?{))ot~| z52agf{7>ny=MM@TG^0qG0-Ul3>v_&V0H^W#Hx596Dg!12z){8@@wx}pr~~mzO}zrX z!%s@-)-QZ9?b@=rsGA5_E+_z!(wELhowOpIyz;^{yzPOBI!31wo;e*+))D3G5wa&# z@p!T9K;W8qhT(oEC2gxe+S6c(D#R~$L|jvr_R5~)-oL4hga9tVRT3=^ql@|jk5mPo zPy%q-#zhC{HZHywd&Zjc@BhFhCqt(UGuJ?T>tI$eRLcs7d7zWTP55q^5A-*%VBb|Nuzf4CgTdrL-%&CP;%HTSQY!SNY zf8Tmb(qq#ybj>k}yx=XeD+gPMH~>BL617x<%Cq?#viy7lWIcq`nU^u}rl4`WH>D$! ze@cNox~}&xNI(7d7t(z{{*iQ3$c8%z@Gw8>L)W6e;=Grpf4Hfd(Cvhu|vfb}f{oTZ249{LIVhls1rocw_=7 z4ZNZSZyzd5XGhz|_bb|IL2u7b&-lO{w_AYnW5yaN0dmHwn|i^@#qZmF!SVCI!<-%7 z4)bexkQf19Yz%-KJPwS2Rc1UY0)}LG#3=9rl}>)j0yY>I*BD~}Tx>|jm@ypEFdUF4 zdzBQTTsAV&kV}*l&uhwB;g!fkQj$S}WQ>`K z(RIx|fnSbfE9Ko^|9aZBW2fYRe#qns0hT&C`bC1d^X8>jz4blmlnbtqM>uRCqK;%| z{t+4JgaX{c^M_vEuuVF069-t*KJYM0RSH_@JpeH}o_Jnc9;Vupcn_f^HysfL0Y$f& z%EKpq^Ex`hrhadnv^*{1`nW7!FYOw-(CH~f>p9Lc?287}B4s!L8fYJT#K2c-Jv|!% zH@rdq05OaTL&<^dCag4b1c2!akI~3$!u(^{CScIZV*P7)Dh~}1CIF0SeR*HXkD+m9 z*q-^Zhc14+D?A+x$};K9aGW_&__F%ZS$DNff`Hkzu1zyN5kPz6g zAR=?uEkkm}=}!+z%b>OTE${;LkPSfN7Y{k$PY^2sa{wpcWX~AjQ5yGbY{$!V&^?}_ z^#WSzA7JGVFSHlnk>j}ZxD!&Jp40XcIUCFg$~%Ezx?+)MuAU2D@xmABB@hEh?J#&xdx8?s|PkMncG;$ z7n|V{fnhMlg3%BF1rL`DMv=!`T$F!rBf@Y1K8()6hK3PB0}lfu4C5g^%0}MFBDN%Z zE#zl))qq9;vKASk!ep0Y{O$>=lw#tPDD2<2qirOF2ksu8kqJ$^hd0>;rOi6owyjaQPl@kL^3e zVGu*O~$jiWzxGwD6hRB5dsP@7EM%WtQM|uWW8(<-Ic!jZ1+#Zq&VAwb>kNlI^(DVuHb@$Fn|II3ZftaLS&Iu2qYw(bjaRGFR$P0_5b~x z^Sj**GygGxYz@ErUj3@-F6W$ks?N90UFuev*X9=nk!L)TvA`(I2@p_y-cP+`y8Poy z)t3nDw8(+oazLW$kZecxCo0B6Y`-m6MaR8+}ScaGDZHiFQh*vti&Y~Y4&UF*i)FPgLb;)$RvPFyDL(4o^*SV(ogjEqIOsTl{e1P0x_ zYA-_Hm%NOj24N6LvHGxl=r9`TqkogJ9vbltc$Bx5e1|*{<#8%-V8Hlvhd(IokyXv@ zcqfqw2-GNR%2=HC{@?ht>4ZC;Qcdat8uWOK-k7PkW>6n-DZjKdJ>{8CpPv3B&z^Q% zaZTuFJ;eYNgRhZi)rl-#wF7hmG&HxVM4CF9{!=06^6~oYRRfUHTQDZ&<2hb=?evVF ze$n)#Z~ms1g*+9G*q6+OsHIPfXqWij5i`$AP83i&~5{?}8@JKOnrMJ|d z&dER?9;{XXoshVjzRB-_mWY%p^`PZIx)}INXnzsV=joy98y{WO+1!aY@s6$-v3L$QUW0fd}XVB>=3+FJAh- ztOCAz(<#%5r`$1yo;*CqSmxoi8`URUy*(2`tTq6E*6Mhd&-m`=Ob>Y6;{zlaKw0ir zgMpeRvVb=V07jX;;mNDCsc?H=kuRBeh~x%J9su%NWqW^CDZgRMHB)9EO;3HsQ=wAi zZ2DCZj7qNTd68UMfd@?P@P6zwpEsR+=X)ltK?v=kb2v*U=5D%W5!+5jyG%?0^{gT}OFcYkZ^~>NgHeX~_{$TL!dTI|Fj#8j?X*fY&|cGpO}~ zho1Q>Rj>Kam#u;BdH%A=%n95W4P|Hb9a<{@nALYp>pFDl<3x9C>_(wl7z4rHCHeLFe%cqSe z<#n2rH?%`;o4SyH48V~45SS!ANySn;;tlS3jq%!Rrc>^6&h)TnJaKy1BOWoGeA=B3 zuOd`HGXu)fh_bT)Bn#9-EwoJwT9a?LDpKcR*v;EKm_lLn+T$@WfZhCBmEmG!zJ4-*aaJ@^QmDNvVf zzQd+B7sL6_m#u+0Kz`XOyzvCi`S*YM3%~!p4|?H_-TTh)q-Un}UF7V6pBvxC==C-7 zwiaSwiLE%C`tt`3g1|%owAM9TlXJPncM~)`*k*nh7sF+EWv=0;*>{+4PXij~Mon2I zTD1kp_NKYKvObLvzDYYAX6MR;Zf(V729N>F)fp8(>zs3@Q%^r*I{Tb+r{DXn-oi&K7S>m&;$cMfb)~pB^GDW7w2UaUix?$yca>sY#G9%}uN>$)EFtspIf!tz|p zWc08q@C&bTZ&cGi54+{%0Ila`9!7g|{f+Y9=ZwvNzwn&b&R6eoac+i?J7^wmO$~f< z=e~;{cIM`1bpM$F8>7wU&&`Y__RA=$=^ZbLVX$Tr{wMCx7Eb2@3bKcOPqP$eWuTR`239O=C!~8FmUeg?qt+F ze2`R$HPO}nrR%5D&ilIQq&uFTwI_E>4}0`Kn;!S{r%W&W*FQep@r<*k1*7o+v}PGO z6)qI%sQTqGiX(rcQT72FTQY3@+~=lkTR)rho)}LDU5-L{ncdA%51Z0gR@ce&taVwC zq90E3^KR*h=)JeFg=^d7`eE3sp*MZac4_T_D%swA7jOO5)S>`lambIO(an%6x98ap zzw>{5$s0fU5vAwh%h$l%gZ%P!c#|l6$6b%xzGK(kee2fc?d7b_!+12$7y;t}ZbEr2 zF|b-~CRQ_=*xiVZWwgyDov~V%u)V{yl5^gDn9OHpn`NxPad<59m9d79JowtkgCk}-Wi~|Q@}BqxLMhg0T9`a@YIe3C+=$rz?>6`cKR4g<`vU}9`casyt{u*0Aba1 zkNezv`rEwt@qt&pJ>Qwh5@#pJv&X8E-uI>%yn4F) zl1rx3PCtD*?Tj-@_5ULRaPE$8cn$7fRai5W## z$C`hcPblc_v`WvBqEuvoH|jGPX0ptrjf^w!A~$-OwghxO@%QhW-u{Z84Ps@LpJe8J z>moP=f{|51&oHnkNPp&{0j($hH}JKW=o*Z!5#VN!hpfP^W(&mI?uQbv)2-0+N(T)x zR5wG)pymFcFZTi(`Y>~u_I%TQ@AMP*_{q2aS}Gg?=i%niz}$npIkb4wXx#APZ#?Jc ze)S!n`xQ;=S_P&IwSkDCRFf=yQRThF7=T@Qb_Ixxs2P^w#XuNv8A>|r0UF?4TwJa) z`oS13uSB1h&>o4tt?-XmQ%$;9EZzXNX$5$5yvhftLSr$j)t++abD#zE3Kd(9YnvSp zP^`Fs5Bw?MO1>HlNj_z5kvTOf9)J}vpP0FbCsulcW=c<|pAs+>poDeJQszMV{09Gn z`*SRJ6kp0JI!3K^f2@ie0F39@O>pE>&*(W4MBkA`pK$*0BYF>xbv0II zi8+zzlCiH{M#=NABR^0kqx)fR9&iA*?v4EiK6{U!{JZz1)Epe6gqthO0rKY3A*{9!%G0u#CDT4!= za=aarhk>8ahSVRJ=cROiSC4)(uxd{G%3g>vTwq#XN>n)MYmPC9qknK_e}v$n6}S*A zAu^Ou;(#RAZss8dIZA$Y&=l=_%4JLbGIHg850{M>U1ZRaKcPmOk1Q)qeAB2brJq@T zv}g3u@Og%!tIQ$qQrT?k9w2kLbH}dfs!K0QJkPK)m%jH0`-8tu7dI*;H=+e$;oN&yl z*G9hqK`hr%zix z{qf3C1S^?0L&nZ~2-K9X3OGn=@{nQowbxJEFS|lS7h&D{2McuZO*}v?Z!jQHo}avl zD?UXm$B7$Y+!EC}Pi@Z)+ozpd!=rR2AKgVx;K-$Qj&I3;b~fJaj2_=^>%|vO*Kc`G zCdl`6pA;zlX=Vez>bq6#iZ{sC6V*ekfX)nr20Y~BE6!wZmZtagWOBgix&dBkg4TdT z^#RFOc`F}7!+v3XvzSzCl4z-0F&V{Qr>8dZU-DZ{(Zaise-ML;&9~{aaldKImU!}507uwtlqo0Yr6QY ze>;8R_g*)B>i1qh?bvd8KCKXMw17#O1at?DqLa8njahoZMvkSSUuoe*fe9V}*IjVY z^nw5R%IQNdedToRr!FiWhk$jIA2g92au$XBgx3DN>9gai%cixPPOo>RCDFA|z?kwL zDgbJD<*>N=fs$a>-t(0fL{S? zr_Wkb_qzQHYIwt?DJob~x;+}y?5%)QgDEpW#i}NOJ1o=^)fSJkt{m{fq zC3Tm0Sb43`Ll4ir2lie1Ee|~9HkT;hmZ#tbTpZ?&}UlpTUcK-vZ zUZI-D7|@H|y5$+@@DLd!Be97a8-N9p-IUF7{)RC#EF4uch#Z=Vm=aK#+9MMln%aoeUh<4z@d&tNoBks#+ z`0i`2OY7akLD?hdcO{#yXrcJ!VUjN-Uigvo^FH>@fDt`)h8k$8b*7t$+^zFiX;x5d-jyEvP-sEG0d z9E(Bf&vUGJ8K6rcO!f^Rg;(;%tJ-zNl^N;XlV))i!^nQkNykp>PsrB|6|Ir(*6$b6 zNtz6$>VR3M+ibn?)6+FuK3E?hlTdw$*#o8)PiAu>`=La4z{=&L%W*xDDZ@a?8~Uyx z@4vP@2!SoIb1k$Sj8OMtB;7(#wlsZ*JJs+1|LZs$6$gdvgOsv&*1?fbb_r#dJ+j9+ z=8@uEWMpr$$~rc2a76ard++Vo6W$r8z&UOob73+1jdxl2Op8t8blKy5q!gUnw}O3S?{9_AK`! zjY+6mlcXa4v3Y##wbEyLRjMpe6#=5c+3;w+@B#VsypCghA?54}+(lY_EsCha@5+j9 z*K8zaW&30Vc(w8nTVm^NYe?BbjPJZjWgs*UKQ?UgTuu}lJPr{^l0AuSNErzVmg3)? z5M%K?UI(>dH|vC>>g)~^3)uBaGZ!Da@hl}jc-^Y$J9o*9NjnninR(59{975{7lWpZ zG^8sJ)!=wVS-G|Bu3l%f7{K8l6Ji|VdS|lM7~da7n}B9ZEJ~6{&HU%xiijH_((hod zb)NUNx;~vWrWXDjA8ddC`wlyR{<{7U*9UvUT*I}mq-N&j#johI3p_u8-vEQo46j3N zkdf%f(Z5p@lUu&x3AH9a2!TLQ3uCaeo`?Ws%GhoCbUm;cc>A>J=PMgYVK&!^Oc;E-`!GQUmF6u({kMu_sIvYdFu?@% z5g}|rsm@AdeCOXH%dYPtd%EKwsY+4BW{!-shbF6kcbcYm)oxdEcg1o>QOB<%8%n~2 zkN(K2AqUga1Cx)5haH(*MJGAHc8KAq@o@sS-PInXBlE;Xea#1b&j^4&_?qb*Xp2zy zLwVmQp)lfsA2`zo8`Q^-pBho8S~tHKOXGqU#RR7We=8sG?ce6Cvs1o){88VvQ9K#d z>gm>gw#%0dN`W6ZP1?@kFofZKI-k|i!s@}Dx{KX}t7p0fb2@=sLiB87grI51f2m%! znn~hKyd2%Bjj`jo$%`9hcW#lJS)!rQzsR*n=%=xxCT+!Eh;&ikWWzZ*{>7O{r6603 zO1H*S76c((&oDqPoaa9l{jkXR{t{O&!YY5t@s6QdoIJp}>RmJ|wB1#n2F;zxz}Ar* za8kx7b4&s~4+h)jI}IL||a2R9|%UR$Z}C_u)6 zd`UjRF}(hf<_L=EbgoH#%fkNuX90|%c(E*>3!Tc6Eqaf)CL+bCd%LT$>%Mu?19xuG zVpf}dJwT8j?Dc@a6Q9I+1>GLp9y4Z)ThF- z*j&zIy3a$o)4Lx&9S68cUrwi8kC&TG9;*pN%U$k;Cd0Qos96qn_Ow)WsMpeK?yTiM zSTIuJbcPv=RSDS~hJ|hFxM@>BM~e@~?i9cwBYT2g{9d7kJWf+VI=gkV{>W9;D7g13 z^&qPH(f{q^vwV{~-P@A_{)5W={?k#r-V-7pv>ppHw=_E)LK8(E_ei46eaNe4GQ%E$ zYVLfEdSyIA%1GXqMxYD)z~Bd@!+Wztj0vV<#Z-$=8U7&3t%Zh$*Mqw@?!K%!Ai&-L z`u9UIIO+Vwd&hkx0??vKAA9i<_4}k!H^kxbu6}ZnS8s5x(WqmZL-pDZo7NGYT%FBP zk~s>ET1>6%Lk?|-ThVzl$zZPWS&nU@$^Hzb&h_GkyWJq6n6rCRY;axEr`fG{)$gMG ztYEPAI+}O>6(00_^=Tg%Y4Eatd1F1V*F=`kWYX{m@#nd73}nhhYn(X@6|z9?*3aPE z&)!R6j5gM9ovw>4IAoJO``i@hcAk=bwEDDdL1xEnq~LUN_3G-c zYtH(&GjS_@i>kFXPk-dIYwPiD4~_QLIV|K{DLZf|+_*PyiCMWzv|1 zkJG|NzWZNpu-;Vu^J3*3QwDFp^uVjXhYj;pD`RFkwQ}1p-~C?wyuKiJmfsd584NO> znRPQ>cveS#E6?@$o6Y%Xmvc9nwvCMY&WCryab;Qlr*A2LF&~04 z7e4DIHFi0)k(dt-giG(^2J1vwul97I+1XOYc<+d+0zXILqd4q7b%M*6=Hbg-+F&ldo7R3=%pKg%W!tjiY0t1!)^!J ztS4?B{dS*@R`fq;A&U21&s;+B89 zI26e49?Ofs-Ya$=lO*qNSQ;;xVDZa?ivHI*H`agZpBP>^lVe?Cmx$32w{qkwc+LIC zId<-OvNOriGh}^Uj4?&GrKkmfYFm%slee0$O)}w!Mz)>K(7(@D6YzSLv9{s(~?*IPj`JUx@%b90gwrX{e`Ax8_*N2)O(H73ez zPzE%{87#$=ENDe(O4OP7ncuTxEa)y6(hBX^9v1Ae{gEqoL*uBoN8uMdjq5BXVj_3T zb}r`V-LQjguiNC47g)-QI6r!qaT%hQw-dXqQe{~@d)^IJY8r|1<-9DswcFoX#?0i@ zZ?Dv1@SL=xGdsAi3$BcIof=IRnI=fiK213~4c4?HN)<~NSqw2$u_P1o33&K-slBAW zCuOoIVdgkbPmK<{DmK{Ren$1KgF;hd9cGk9E5L|$IAnkD^srTA>+ZH!L;@@u8*<+? z(-U<1eJ7;JLf!=5nqRo7L>g)4j&rqGQTg%mjQVMTUsF}X7D0|ixGZe=f#mg{FJg0d zdYZPi!H?^=q<1b#{w@3FGD0h)G}#J)ySDVv3>@Q1)#Hv#R^opctWe=)KIdI%v%2iN zfy}<9=YO)^VMnpbjvj9Y`Az?$Ohj(C`*iW*lYT*ZAp>7*PL6wX6MT;kyRSE_a;PMyqJLSw28|8X?!l zYVs94gM&jz4fv$#UR@0T+ow91+YC;UjD`trjuzIOl7vgFO4FsDOx!#P;ZxrjtdL^i!@s)OU z;>1g(dv8HC{S9L}wv?K(GZvd_l2Tfna*^-XUS&ymEva|Rrdn>sJ%qi$FX{ZXX{w1a zFy0$;HL1QK0|*J_sA_kyIf}&KNeo06yZF!KB#^Zlx!Rlc5=CynMBNx*%5e9lH}B-c zB1;78Q!2{#*hqFJ!Yt_RJ{L$WJk+YdqGRVj<~^r8`%r^Fwuy_Z5jyu}TGTmjVj_+; ztfm$>b1>H<{z56pW7Msz@V?rCzT77##sM6?e2Ng!O^q&1h?{=V9;Kr9pS#G(m%XSLoe$?TUP)T`J=>e4 zy0Q5l;0+ENig74mtN}-SIyX!C5GjO6!#LD zpOKAYR6`b$=42a*t8Io$qiR|eU?M5Wy-lg^C*GP#VZ9G%%l?wMiCN!!M&HY75pK!X$zDMJPAL1u}N==zweD8Nn4%{8B}B?;0{YX8+>b)Sg(YmIy7(f zIsS4Wo6D(h-rsBUcS{8E?SnLamWxc(WFO$(Bko1?t|Y7=2zK?>1EL9b0pI$bM0|e^ zt%gPyHBF#P@?xvrQkEQdbo-N+WU)-0bA-!nu9FEM54?5UVGc~t>dlq;wLTo!55;*Vca0?efPKyYEG&GV=i@^f0-?5;{X%y-_-LHBpQ zYi7G%ljX}zj$O}>2En0r9nwlFZ2pvPwEWrFU}gBy!0x=?8!7tk1wpcu!^sT=b^6g~ zb!!aOKTQx)wNHEAfQ<<4w(Id4sPDc|)Wu-AO?O^M!|r@80r!_|7Eia<+w?IPG-?kE zy9Z^yOnE$e-Fr3PaqZF=Q(IpG|3Od3kze0R&*GR3gal9|x6{JXTO(@6 z7!KIq+5F@tU#zH_YRIlq>x}HFP72S#Zp9y~h^oGiNmcaMpy2R+_^;%KVKWI5d5!6+VeXx7H+?_+>~ia`dMxuUyqmBr%|B?IbXwyI>6`!ob`Up z3#d19(7wCU<@gQ4e|`2Cj{nZua4yz)L6Q7()|Ot9QrXn0AWA$pK`$znC!16sAQCji zntiV9Jhb~*(*Ja9ioplg?d%Nsbou=Z^@SQFn69Nh@T?8OyalKo#pNVSfnUBG>C822 zSYaQOJgJ{8FRzxECInC>=~}sYUAT{`=cf2Nz_H&+G`=7JnqQ{G8K3d=u3O~`dTOd? z1M`p4PWRm0XFi{GkzPAYRAIeq=JP@x44w}O+#}UG2$=rijebqdW(L-GfA`D$@7_|f z*XgY>@H4Nn1q#!$j<81^&1C4Z`<$Fb!Vnv7YmKP)I(#}1@^<;v%8nS;QIh{s>rn(p zx$Uai>re0I&vu@U;Htk>mC(B$-;9sVp6jac%kQ4P9+R#kf<1=vrb8{WsZ?fVHaq*K zYV##j&5fe0DCyyFi0SM267cxG5SJU;3T(4TH9m2XjFK&b55J+X7WQNNI|ot>4^6Vy zfXum^a=gDd;ZyIFmQAy?lzmd^L2#S+LmBU3F>sb>wx9z6cF&Gx>CqRLAa^^e+W;mx6FL4$a_NGdX)b`-d_6$+I0isJnMr2m7F2E zB7T9hEW6nqbI~({8nbZFQ541A8iF80wWca7&${a}^CHhiYyZh|S!`xbT`5VmWRA9I zz(<*f&j$Z8h!#o8xsg+$x^?MilMWrLJ4@uw`>v1cP53Pj(k8z^EaR>`*gFmXW5NVL zZa`lcO;g7UH z#-4XASsj*L$BHiRef>xGdliqQ1)hG18L@sFZ@XTH_p?c zy*xE4FMJn~*v+G7^|H*!;O_&+ID4!rHw}=4HrV)s0-k7MHUF<{91f zK}y=iFuMP1>;jQTXk6roW@zz>N{beQrPzAuZhbvNb%jkYxny@ensJXC7n9crB-+*5oT1^qHt@fS8O4$5>=d#K8MifFeh`uk%?463{; z_fIXhyb7Iac&nlSl-@V`yd`%zJ9>w;P@duNM~?!pfB?MXK=tx%@2hvEZteY-4#i># zwWnWJ`s`4jBTF{o-}n&L(`beQFA?Kn2sy_tpPgW1*G7(m?p9t^(e8T6SL3U4Rbc2L zi@!9LIsaevQQY5?x_zDN4d+!^Io2dOInJu@?@KLBGc{d+ci**IosJ}>R{DW^LEG`3 zx9riIj8T;enE{o9EOhAaNc(%aKFpjN{ToDLyx-=-ySJ_HS2s^?4p&MSCAD_b86kH0I8f~&R;a=@bB=>G z1>QePs)it|ji-sz!#Y%m#jijAF|ksDkFqy649H)t($9wn@N%;!s`QsCSUh1UfG60vS=D+k z&qm_W1$hC;0|*JTouGMedszG>#S<2(3IXmiuSbPggY-nQM(C-7Mi(v$1(xnUG`@7sJLi<)FUs9tRC8}5vL9&h| z*n*`+9T?FM21=VXqQskGD+BE1xw^MbO4I&nUTZol|Gz*_9?|e;c^yq<2W(H$H8a@5 zNs07($V6R>{8Cac`xT+3pZOVrle44xv^Bf!jZt!jXsk+=>|dV?>K(5IjNJUF?EY@f z`hY+0{EA$a9rT92_3%YGlseVU>}_=5Q8jZ{d()u*49IaSXYneV7g^iT#swE$fu4-gd<2|1d?2|i z*y8yVT@$k&l->Ci(wQj2mgS8l~B(8%<52THhW;e>5i%N77dKyHx( zt}_tIVr;=0W zPVm{mAv#%IHUPFapvLO{#<;nxO71wcTeX z>$3FyhOO<#w0b|UTH>-z#C1sB9_zjz%w{USob)(-@#B3QQw-@ijKEj%Kkdi= zfEV|%sPu~i&T!!zBIt8nf0%@Cs`J!Dm2am)@2Mu)>{(3%->X$QE7!s`zJwr^V*D!6nig%ZPcGW0$LdjKuHLODh2&YFx%kC@&JV zz_+J=rRQgB)C}AO7^0f{e`FxCtv#q=b1(0qqXZGo$x%>E)V>j2`qu9k_#DK*av`T@ z7$_ssGJmCj+>~W3uJnv4o!{}q%!9h&g4^3kWqLo#_|o$JGl!!`OpcXHS;1MVs&4D= zHQipc_#f1S%dy{x4uyOC!}OtD7i{4Zs-D^;4IZr+?CPh&6B)CE4eX!&!VnuGqBt12 zjT1dO>-Q~5F(W2X@32Q<&^J&vg6|p?NCl(<5WndwX}9|;L1lAD9wC7fXZ!RO4)y4< z!d!nbrVLwBcn5NvfjQk94FPX5ZCREGv(qu|Q#Dx+Wne#`vVv3n)Y(?v6801|pPX6Z ztTnRGR~ud&t>vl5_uB=P%9go$#l5GAQAe&5l{}8O_xS^>cWdS*X4MD&jjzl<89@jr zyU^&F@}H{@;)HD6b_Hhzfl3+yN6ncJ@0gs%V@|$}68|@1wU+^JV6L(nnt2!S68C7a zheUs~tiw}5TRi+F$PL|Q%({4|2arXSc{&E()6~wa1#utT0mGZ}wT&52eUeUWn8R#1 z)kj%%CPbuaxtVX?KMsu)$`B9&tf|Q3J{6@CEE<=jL3x_)Pj9;aH=~mgPE@(f#R*Cg z(?xXDLsE$R(DdPTHkJZO8qvkcyNeO3(;mAsn;+vn-~7E?{WXGPW((iw^c?(RLZ@se zl)lVjWl9u*Pjms;(ll?4Wi?7~tNH}V4ZP{PZ@xDy-;#EHSmJ(dr0@;?RiKwwh%2ti zR4<&9M;pxYb$14r^@w6@N4;#+%4l+N^Ywyy-VEtyBZd8ZZ5`6lP-c1*vVCH~AREk1&$n-i<>YFCOItuYoyP? zgu;Jp==^H8q8c--BX#b-;v1oSEr$IqR(&ofyFT@W3}fsA#}p_R)wbVuLmFynC$8i~ z+IP3gfWFb@-_KzIJuqz);Vlkzyp@IiN^1k$o!fL=0K|bTO$;ci7_XOr?wIh2w*}sv zy$8K!(@&>G5zldi6_^uMK5Kik2k8P(sjF+@(GCg?&xqN{()BbE)7oF*{ES-PwMZ93 zjE{JBrlyVVwkN5)fwR%{4S#-28BV(!oaVi-3qPomwO64OK5&Y*yCMIT&qyv`H~TMN zRQWAQv${+qOvX`6F_{zBasz2XPqag1h+~3Qtt3S`${}({qh)y#QRZD|hpP-KVj?(B zK`y24PtdSh>hkI; zsr!t?Xp@wY=le_p#Euw>Q=n{1@AyGY{^G|G1F5eDwQ_-Cz>Rtg=2!-=5}YsLdnkZ@ z_owuN+wQr~%A*`3*+MOTwu0YeOQIPk%hY7*nT`48kRMBJEt%ABe$OfW6NCKVr_E9*9D&+cpF^T9hWCY3L-*x`8P8=V<1OBC+4?<6u_dNb! zH5Y<$Ij$X0ZexPP!wruXxA!lBOi_f<440;mMc24!n)ZP~>LcH@@zFKpP??vycm42^ zrXRjjuax=W+d!8eEAu?h!8;+S(~W*~%OQ*3p|hu~oT@`gHqd^$ImS9rI~-CH_?eR-Ggb@@+F z>%^W8j4ebvmAw7+g|YO#x1^@+v|1!SjsHTWNU<)0iB0Cha|*)hD@0oO+_1#;#K}#( ziuqVHg_36=c3QEo^d|y#oZpcT@sb_=Q>h_75vTFQap%9>l0bkAL z##)Uu{LVzPN#mbAg`+WU*o-9CR14@8kdoC-Hik~qGF9DT0KobDVM-eT9uFRRmNhK4 zj~v+}Ok%FoQF-fbyo@BvE9XNU+;pMvoJd$YY zl@fK*n0b>WGRr;n^9Li*Ixgy6@z#Z!B52F$Ja~_M4lqjC09$2%%qd6zY;LF6xxa`c z!i(7*seg7N(jRE|A}rL`$}aomCLhG5Vb8Z;>KBk7q-E;fuq<#}f$8sbm#lurC345( zJh6V3gA>C^_?)i48%W#4pIVIoWVg6Zyn9eI5^ODF{R0jPs9P5=csZa#3*xDy`IchoDo=17spQSXh@}Ph``@_*as$yH z=o5>-hYOqDus z`)`^M%4N9<9^xOFJ_GDH(7Wm0(Nt}a2D}9%ipVEaq6gF-puuRbJKq%_GP3PILGwA; z0$Vx!n*1}H87sCBZ_(9mskHV0f!=%ZU=j46=J%mfQXN=17=(RGV6|i)%D%oqC?C4+0i7 zodZR47Mm;0E@gh$^UsxzQh@InK0-H75|Kj?fI8HJ_-&AtIO5B5Ebm!O??Aq1en@UP zgxNRYe3ytD#GU!KjV@#fq;@(lP?uOK2~pZ4+E`xhNjyV4yMvqt8E$lU@8dz6u|@<- z9G(6W%c?mMa;Z?Zua9YV&1O%pQh6x=>(Y_A>HZv7FAV%q5`Pv}*tb(s;=H|K*RXoi zMC~;H$N!R%`Q~g4-YAga=SAakT>I0zz9S0anD{HV&I(n^uU2KT;=`~s5NT$!%m)LQ zc26y8qWhIG6^F@x`({+f%1ieFojov-0&w+x5zcY<$Y(A^Xxh6i1dCWz1fB-yjWoW^DxRzue ze@;6lP5TegP+KCV9w0-)X}iYQeWCG(E#HT(|_1EsFyU#AnxPV zdDMD6u8i@q&`!FBePoOWFZFx;yPC!GGhePd%Ak&d>UPP~lL6#m8f_cs6S47I5TYkw zXaeicTc@l@ z$zw@uY`f0!b9nNZaPDWX@0^md=Gqj3QSH&$6&dXYG@~<5=ywrm+o;OdsEN$_iU?)v zp+L*!zh4B-S8C-@^Wzx8(i7=fRu;y!+T*ndcmCyTBe31nFtJfTb^|6_}d|H?(>S7ZanQdnr1YvZ%BF z&(|Xv36Qew14TrF#{zzB>BfX&>pm;ujv`G0kSVKp)-U)U@xH6Rvy4D#KqPiqk*KAQ z7uMdEG@U~F(w(CZWt~>-eB@of=qbA=@XTJd5+$MXKRrw4(lf$rv(Gje>){xa2ki7K zOXmg5B&h2f7(zZYlE2ZFh!I+Nx^j#L$ibDnD>i9WdbGg&?HuwJ{5yOTc4QH?lqG;DTr~*L=%g_Q z<*!kr}FWp?y2n{(eAw8cQ)tAk*+z-YcBg88Tg^x3L zjD54rO8NQuY5k3E;f$wuTsK-~eJ?TC-HWK=+!;Z9N3B;PDnggg*}2i0CfRmur5@?f+)`0%1y zMqV^A=a2!{g?0tr9FgYm>bHf48!>RvJ@5#~>bC(4)PjY@?M?Dt&8ag91NU}+*0?IzoEFeF;hFi8)OG9 z3B2|s%2}H)q!81h31?&*cvNgJs8}U4G&DaK!s@?6$$N=o@-H)6ZK(2u4t;d?rgPz+ zrL#6|I+Ht#zus?D_4F|aJsUH`4MX^ld|0W>`lF9)mGeZ;)NOUU)|3Z-H`Z~6Gh@nE&u!6@Wu8|4A{q)r?o@M z4jDbLxco0J<(SkB_~1Jz9W#^i?+FsQ;`%dx2EJ00!LHkZ=Nx`#B;6=`#B-IkOsIer zeA9q6rfv=R#91kt%ZG=OcuD3^!cjq2ZA5}r1^KBOLq^Fii96@oCYS1-gvu|gg#9#{ zva{Z8eefT*1E+H9x%pn~DA<2#$;^K_k0};*Z|K%1w^=%1?)E?Pac6OMR|^&q{h(>K zVZ^=1T%6O!^i35Y!52Rp`iQsR9};9pAQW>HfoM0U*Mx*|*4y=`AVYZYs1D&9=+<(O z=c8~e!2jS)U-NRt{3F|fXl*(qG`?#d}EwpILZCm(zrY)t3SE$-m z&88U^p(O5z78f6W%Z1O=?pALJAVUxZi9te60RcqZ2yNW!eF&ddV%JW#kK7}a7lXhu zv;$qW<7r+_!YCrhBFfMpD=iATZ3-5}X`xCFSE(jkpD9w)yZpSJ{+&3gl+>g~uB5tq zfXw^{1)^05-PG%cLTUbsioIO>M(ULBQY1$BbZ5dWOqm(Yf6Z<| z(xK@}g|mY@a6Cx+knAw)v35Jd2U%Jnv~GjjhS!F zuNWRIns?#u7T>NfA);&+(*L)`6hZIj9jf$ovTyqSHVS5QiU+?)znvaHiLiDoK!I$} zL_I;hKp`XZZR>P#bf*x8e9lw5q7fE>>`fvE-qvMFE0GEg%FCMEn2no^e+e*;1hRFz z0IRew5f%~VZqhGUk4`k)f2bIj{?c?;rdbWrI$MwOYcHlT+MrZaU@;=44B5C)gL$oo z^rhyw6j7p#!etU3vBfjePH*|lQ}3KlecAQuw&QWRa;+UiRFOG&e&{Co8Neq{Jt~>& z@b+3ct=_hE&}^@@Ja;e%GW5ZFnH2O8oo=I#cw@qD-$ZKcBJ@H11qAw>Y3yDcwFSK+ zc%!R0e6Ki~Rofl03e+*{&b<_qV6xcp(>Tn3m*QGl!CYEJ_Y|#nP$ruYL4(L*_FFE= zX4Y~s#NCRyw>0;ALsc#I8+)Jw`gshmIZdvAl>Kqfa0x5<{Ex2fR~~RdX6$mD?$O_$ z&phQNo;N(R&g(?J*y~YUX&b146#Gt*{AK?T!^@*va5lGEnHU`qxR# zLII0IZx9qh_PHJa{=PCc!J8F_ZG$rUOvhJKW&ki9n!bJwbSL$3U%)?nm|M9LYgV-} zN$v$5DL~|F6X@S=fOm^ZYSs4{iZd0N>4@mB-yFuWfY-gWhMLk@fz#Vd4=>iD>?M(d z+h29-+M=*9`QPqq2DEjnu8H^GsPAXdp?|RUwh12^A2wl52y@Pcl%;R}I{W3zzOOj` zYZtq7aL|jrzA!mI?lt`J8CA{lKc7QYW{42A#bB=A@mB%3)x=rDz{C1rS-4W~FC|wE z*_O7q-tB_vBQvA%ZPQUW&@(0{ka8%!>2SIt$mZk#dcF{1nYbWyecn_BWgMj-_XV8C zy?#okxj8Ns@b{`RONM93&p=G}K?`lK2Ho#$QGm;0yrRM9$55Z`b&z7_WX#RTD939> zQOan?WW|V%W4i4EjMBbwkLNW!Mb!#aF1GvqqNGjFv3IBL0{Q}Pv04m=@YlVMx=A%| z`X)y*wm(9O_Lg8__)iCydedouU*0Hc3;sJ&zoJNaJ*9fJM6Cx)@b~k%QACqrWJ-WD(W2IWzz$P>3@)9p_r~Xsd)-fxqMK!Y zAC-dtQ+ZMPX4T{hN42M4-7I2Je+lN_u9=y3W2|p*QKHj=B7o8T6AZ#u_3VEKVVN=9Us@4uj0CIiSXvwMG zRe2yHI;QnML1QAR!v#Ycww4A~PN&EI^TChVKGwalM=n4<# zxx3q_jUbe~=m6?;q0raNK;B6KgWDCoe~h}UTOYCTOOEgU2gF0kU{afoB9jJA+>hQIFH$(V%8xKHkw55?(+k|a++>gR8WMMW zeWL%9Pn6MZ;$lfXDn*=(nXBcNtT9e?2J-ye#;9N0YWZkg*?#X)lB_mcQD~0vyAj11 z=2$g1fH&Z`SB3Z#$E6z}A(IsywIfA-weiM@Wdb=q6d9x`XG4%q^SX9z@SjKdpW562 zCY6JT+3hNpYm7(F<}3ljx-Y_7<8vVbX2@;%uXM-O+uHui=<69p^cQ*1eMoCO`gl7z+A2}&;`(TAZT`Yvl#+_9OaP}Nm|6h-11EqFXy(UV}ixrlIf9y3jTb!(2L zb21dxY=TOFZ13IUeFPe^8=DS-7%T^nqtG!_Q@7iW(1SAo(>uT?uu^#XVeDwhdD24- zJ)(NFy1ej@+Z^sCpwb^-wh$E?{V-(Uhe7!&@E@k;WFB?P(tMHK%AD7a{NOY|@!f6q zK%~!*x=eQX=3`?vG9xc_m!pm^n%6jT^~la~?k9xsGYB4!58s*YO{sqjxeNG-+{S zEIy>JeEhEsr4verI4+L?Sp&ahR9YJN^Nq>2?+P{Zw+=3BxAT}>77FhXmCPM#D2&*E(?=ROtw?y36-;KNu0otui?J)8+On&`*97{O8zUz^g-tMWG1W z-fW|xx~UWBmHt`Q3;m0p#?JIHIcz(j3YO>1F7N>?jCMc$n7MPIv-^`qsR+a}z4}J_t~#1Y%KI z1W$Ae|BV#B1Y^t1;)G|iiYH!nNRR5ZsS-3T2y@OA$X3Tc|Cj@%wrdaf`N5}aN zGPtUPk~r1)D|gbvGl)B zSsStsYU3Zhv}Jp;tgieXJ3yXCul9aPvU>y}fv_u}Fh(SjgZ~2&6~896sNqeYPqBoy z@iH5v+R-cGe`=06J)zpuW`os}l!GFo`TyK`!C|tVvq4Q2nta%Du<5qkK7o+l2t>>O z7W&GxQswy+-<{Z=@#u{V2br;3MAJ_Lv?RC=l=||UMp8q~fmSw`!KfvtNDa0t^+j3@ z_*LZo+xFp7eIaW{tg9)8B%{;Z@vzcUzsFCZ-gEyq4_(7anIoagOdAh>7*sUiCOvbMSbSQtU#(J+^9- zE`Yl{_sL61VD`w4a=e1O@tMh4w&*A&YMiTVphE33wT?8*f1kRiwv`p@*jcOKu^M{n z<4Ibgc}d?2X$1A4 z?K=+Gj^5t}0_k*MW^gKqe#YIL&;%>+XX14L$LZJXu3g$|)gNOFvqXmGRJo>x;nq-L zpH_I%yuaYC=9~-DAHf*xE8#dqQ)u@(mVk%5~2ui)*I;% z&rAS;#E!rB)|u4Y*T~W{HreIYs~8M$LuB`Yd0$rj#4lBzT4?f_aJJcg%YRxtJm$7RvOY(K0mp- z{2gCHyJT)GT(vxuSM%CC?#Cre#*vc!lyEIf1_|>ALF}^@3GzUpy{n1Snm;Y{O6P(O zBgAN8TqZe~$=lR)el*?+L<}Q;O%03-d^g0FD6 z$-Omq{~5r|f_YKWoSwS(Ho^h@A%D0*(Y#5IVgF1MxaXThM3!_opd;KDOnPUcu;I9+ zHYB6YZ6B%zu&75bCMb#5JkFxkeEE_G^Aw+d(- z(H@(e)Um>hd_$29!Z~ZRfn*K#)ct$Z{@mXV>Kke7W7ze^iOKn>3`(_}L zI(n3v91)8fUy^B_&NrNn>C84%W3Sy(#|1-2y1IUSI1POUaFX-Y3NIYPClIw<(;VYX zQKAc8)i1mL^X@YZEqz+J_wpNUNoRyr1P9c_In+&!%y!QPfI$q^aeZ1rt&;#QM2zr) z`h4%68Q2;vAAVXXZp}z;j1Gmrf4BON()8g6fai>K>?gQ*h`*qt_SmU0m^a_bH%B;K zz%7cgtqa@O+^-YxsuUQ4r_%hoM3Yu~_+Bu+hzRXPzWAy=yCGdJa1UyU?59L2i$lDC zw^#MLGPEkbDz~{zP#u{m{i*%D#$1@5wS?n9irtCW9Ksbw^5Y<@>`vUw(KNoNi7z+6 z@Dr+9Qfx1b&Y!R->)jn@ z)>_xD{}W;8zR5&p!>tiJBS`N**)?QDJ)ck&|Bt9^f!?wirEV;3sO@IE$8OPfyPRh8 zEFp9J*7IhMGWTWfxd4H4D1V^U(O~z6&zSb6kNJZWpq!}mA(ynZj{e~%(Rb^L2aJV6 z=NSKJ&#|K-mHS}oKkM3S;`TLX;hg*XfE3)kTvhpyIzg&@W+~)3=)|z$;l5Ts_`~8v z1(v|(%rg9C$Gg;fG?z1$bdP)r>BHr^gdG){)0Lu3^SY(T&%oo@Q9}nmg!zoD#L1q@ z)h(KI6Q}GtfS_GTW8!JA^>_)rj~h;*tY??Ig@%95K|(lM`%v+rmY(>@Cu*NOs^UC< zB-JIMWNIcj8Z&LWo(wctcD#UU9G0`pn1Jnp67&Ot-}@lCOx`9nNfh!0*p1#G&Q5?r zOLzwIO(V(*2^Tw;0Xvv>nUS!`*pjm`-2_#E(Wi02_Zj*kHDB;;_@GT+WZNU2*yv!Q zNra)?(5a63cQB7*v&1l;HN4WkH4CJ=EkVw$A5-(V=z>m$*Gb##LUuK!oiz0G@dpEw zM@eaYP09?{8}PrtE73L`Hkr*&^yTZB^3vxo^~GW$Z69^Pn^PgfCod1yf*GhZec?15 z4H$tS!=A~_di%+NK>v-TU5|5~8Q-s{AJa4pf4fh_L;fc%D*NRuwJRcbP@Q(wbRckX z^6tu35%pE*A;h?Qlb(LjjCq(hEI?37+#iI%$2LB{58)HE=BTm|Em4ECMr7-aXC?g? z%D*?KQ~c*?7jqVQ6JO0s)3I&^eI}SJzT3WHjYx8N4hVN5PqbbUN4UAh`-Hw7{~=_- zXgY!WclIeGM5)=X< z?8wDz`9e_OD@n&p+ELtuGw*LG79ng%u}@+86Jz)h%lLXJnSH_L^ZmNveD56&wtUXD z(8qgJ^cD<{ExTAVh}RJVsdS^=+A}Vlw|-^kgCm+om5RRQdx_zGif`QB5>=QyNc|og zY9P2k|1Fv&ELbDcN{PSvRNr>M$Zp3L;oISr0R+fC%Dwv_*)Yy{RvX+H_h{ zFwOZ->!I=+!{t5tRCq>oVX#rhh{6MB2nsD)ud{1-k>}V^q#;g&0%pn*`G)|VV-LxPw*zAT$n4V*umAF8 zxpe84nYnfRG)PZyZEyOCbZA_&A=taU`F4p@U?^{!p3(CzB;gg2dKZ?zrV{5!&z<=% zc$6e4k@F@Rfgm=$p{y>enu21xfh%oi$bpSOK)#bPEj5IKLCwDa=!+X z^y(fFku>TV*FgU9W(|(&=G|@SfYJO`dK1rMH_b;sYtc{Hy2hEFu%>j?yzw^(1V~k4 z8GNeaK2!rX)W5*4}s*Prrzzx37%|1joo%3dSUEG^sc2!;nW z42mblAf)qP1Wn{>f~H&GY80Z$EDg(d@RB{dk0W7*ns`5NdCybJ(iDrT9%u54`SKP1|?<%s) zOs`LDa27)b53MU)}tH>02N3$5cr z44u+V_R0c4^(9}0GRod^J!hEdx7{&4}IKvCb+!AyVUhj$H{xBu1P1K?gV)~ zc+l)V%E(u;;NLQ$kB-oCfZ6=U;i`jyX1y{8!u|3yS_~Xzyy?H3=GcAU;FY-y7}4wHZ#aLF$`gJ<`0jo zj5tQb!_b^et^!ovB4aIZO?n#|8jRYe67h10i#r-fJ*ZZ56}Q409tIe_>H87mMPB*I4(|h_Fbv=Of%;Qfwa>~|JCVbsX`NKzAfwpTR?@XWg*ZbY}S-ffY-h=mf z&O=YX;*URk#Rn2I4_}4`<^Xx)l(%s3e?RRG>-Vp?V&|TNkIBux#trM9Khkp=H}Ehf z#=(nVm~LWTq`Mr*IA>(QQMsZQg1nJ3h?La?=2Ze6WxMIz*4(eaF`70U`vNFH4Y=b` zFeYWLPxE@Qrie)6sV+>LH>@ezjFIIs)&hdaB$%9xcY!WY2~7Yhf5}t%f!g6FYL{%C zj92i`RX_O}5WHfU6~W^<4d7iHu-1h@4&@vxLlk@U03ySSBPYFkkc`0_o|b$-1E?4X z(cFz1YOl#k=dJfXtY&QLwJM*zF3nx4lslc(>g)ITEY|HPjz+$%yoSm`InXz2${+v(<6uZU#rzkMVE_z!jCgms_S%32 z0}`a;OO~<6`|~l}JxOEq((FOR8u){2IV}DjK)k#?$+s^uTcT`dn$^p6n@sX42mFrP zxV9cHaMqMQ5exKD50ai8D( zuKQm6i*NnxXN&Rt=O$}l4v_zZ%J%*GlfLUW{`QhziXEKIU=ABN@1cRC`wiP5#C89c z^S;^L&&cRB#xxoc8s_9;S66&`YB74Xt?)j5RmT@yL( zuz6$g(Um}V^$-mKyh~>xq>la$)tCIUsbccDhjs*jdCGM!C9b<%S{Lf)-0f6v8HN7t zz57o7)D=4)^^;FJ_llRldy9dadANxh=vm1(vCvmb_HDoPP2ck0-+sw&2B_9BP=*YA zz<`^d(P)b9%d`y5LdL6)tZw||YUA|`YR_eRnqL;4?Re&}FddWrDV_KX(VG%FtvESS z8M?rD@YXCXqezB=S4NVpMqZO1awS)N3x)CdOZu94Qdw580K%GsQg~Kn-T8GK7NH5; z95)yP{)L71N|Q7LC*YxO?H!Wa$SluKeiGx^x@g(y2KWFb0iPNrPh39cm$TN-&e%)xeBK16Cdi$=k<0e{xOMk`$+DS{g`w(JfF9dKB13=42_*;W?5WXaOGY zc-OUEs*YyhjDSgWxs&$X%G&OQt^J60FwL-uVR2FdvH&?q21hW zU}*qtR}5`$;(23$l~0u@=n5g7~YIQc~k14JlgURrDVvF@{F7XR}(%F z#OnbkugH-eHPW*f)Ea(34PI1mS@Wz83t|N9w!)COpX@s3SUP z*0o7F@(3+wrwzHfz8(gVCuPUrl=@c7A#r2|i0*-Uc!XAYeA#;)bZ45}z{`EHKDrlH zh3PT%e!G@J&H;DIYencY9J2TIbWTX1*ZIi>NHyR0mG{~8pbG$;nH0$%j*+uv?)y#U z>22nO>SzpchENLB4!bW7>)S7=*6Im z2SecTB-=3NkSil+sNxC}LI`jTBWZ){=Kc*?O^4yu2kqqx?c+DBtqJ2ip;V&`KjM_p z0gwh2o(v#n(*SP<%8`W(_>Oq;3iKfGvh=I=gF-W%(Kpzm-*Pu#J075g9(~#Kgert@ zr6;cRoc#EyN1`HYUxW5!)f3U-( z3t$ZfdB4ATHCWgElY2>AwG1MI`)K#RgLi+{*PZgUfBgOT`-hkO>1VE}ip_uiNe#@K z*k7cgEr0anJG|~sFaExm@M;Z0H&-JNfNY>rr0)ORzKo55+iIj0q9$%MuNbFu`Q5O| z76Z;iVuqPxhHo>87%=S4w31b!v1ezDJm-v3KNdcWP18ykeSqjzt2ya4sKCHWxEUaY z{q7i70Zu@wfhOfcw*bCu|8O%}KEci#9sR+tFsZniF-LIT2^^7|7iSf8vI2Jo-pi2% zOjh-~!(-LEbU`@{Fc?bK*_4E>o2PGJ5BY3+0i8w(5`W3Hl$$ z>IQUpRpPR0SY1fhflO%I{MCN}V~^giO_zd5`Xdw2%z7jR;``z`($Lz_=Jl8GB0{FF zNf;R1>j5bVeJ>1ebm*?GWq#DXz%j?b7ICrzzfi1tisYT+$qOgZ6*c3oBumR-I#9mN_fdcrV zm-GBry859#`YfH>lvxh2YX*M)x?S}x7)D>O=+)p!8!#gDfkp>1cby9?s=mOW<3{rv ze|);n?r;+y4c7tisCUVeIOSY7a`Msu3!YuK206ziOZ2pI#o<-h3;aUU)FWlkLcev< z{01F52DGjLK%*$#D0EC__lw1VH^*Do-O=U5_q{RdNzQ&q^qyyG_P~K$Z}m{eYF%Wn zkGMcLWpt4=|89AZ0UZxDm#prBlp%}w($UHlr#<~ar=9vIFL=O*U-IS)=HJ|Q6a7EJ z93W@Px#E|f^o-wr_tsZ$SigFs8=J8SZFp`sHyIDZ&E4nX`bnRIM2UAJDm&tp(Hw*c zZf+yT27E*?x;+6F&82=7v748u>+dSV#w2tZ^VrtTnsyD0Ei2yorH+&h4Ii$$a>wp^ zqoX_j4Q8yUiQ)!*$WX=!v%;91s%O*01=7G?1i1=$bEJNNpo};)uF0D^JJOWbPZpER zHr2pTE%6o_Rk*4WI-v!81_0ylSf-K%g_$ggtOtZLqi*!;7^tcvFOl3$Bf4{v|8Wh` z5GBxu>nm?{3nT$g{6=VAs@x9?MU@|VavjLpz?S+Z5zU?PxVQNtVe$^IZes>=^g-fP z;5Oscb?LH$KRP9IngoDv@HNrjro4wG&tKp2F`-Qsyva8vi@QggPDDwXx+N-gPJME| zd(VLfe01y1$N%paJYen5z2!3>O38NZb1)BIsDU{^wm$CguyaoQ+3maco!8BtM6!Y0 zbZ$U5uA7)qm60T&=jACpyEz>tpBr^}ML@5OmH}1HGCBh=n$4O=WoqHkURlaxS~q(D zA@Kl)VTi+9=f95s>Yz_~pw|X~cb6@h!_ev4EO4+CATg>sc;J29#&uLoBZX$6#(ht!cL#!6nmylv<1GE{X(PZ7;+6$DtCzxwYAbW*k^H7AX}Wvb?W zHCuBQQPc~+0)Uj)j4xeAHuBU1q<{ecwEl`V`Jyi}2y`Iy)T;KP)Dcg8yXY$yQsI}; z>|7gw-SPa3uYck% zJng>we&d}N{mm?TzWX8#%mFfv&fomlBY*i*SMKJhQ5t@QdbM9DFOuhv z_nvI)T;n_#Ttk=19Z}vlI&HO&uBY0K%=m0h$oME)4H|Q_gv?x7k@7}#B(_S=rdzw^VTRQ2E>xC(c?mqG@D>uJuy5gFPtHAu{3pC*BekF$EQz_`; zF7fsC>$3eH;oz&Db;nPWYE zfIehk#y;E!a`zE3T4eAhMf>pkNF=a|0sR!=zlulD- zMfwuauBNSn$O$9Sa<2d}_XY6Xcd)P1{tTwcS7k!1W(7nSykaEqTnpDzZgsp}_m+EZ zJSdWq@_8WTItu7?9(2VwII2HcReN`)WJRvcZ~w%VKfC)^{`ni$|InYlCRyhLI8j1t zlje@zu;PC`|6$*;aoxe^#yeTF_3B-xFYlkuRI$DZ+^EwvZl-+)_UE2-ORQKKOjwtr z)#WwjPN|W@+&D& zb#OX9uNj_v+=em`Jb?lahBs30UWZ&sKmA^QOTnqfe{k*Q>LRjbY( zMhw6845o+P$c;Y2fR8TKNuUS$T+;@y1{TL2AoMSDflX+j>$=j16wPEF^tD+Sgicc3 zl1qQ_*(V)SqvGTuW7RqLl{&a?^vhetAJ7-8{1})qGl2fcaY#SuKjxjPw>b9?n(ko_ zAa$$h+p&B`7G>D%LNnGeND>g-5CGed+j{-Vc$T?$*XI6P zDWAYl95HSN!s^^)%R$;avn#!uWahxNcQ$T9w^xB#-PLUX1LV+iQ-)OC%w^QcXSEg0 zHlaH6XL1w>g`OK7O|$`)@?^D%XRJk2o}^Xttqd)el(b4uX)-RwfV|-$jxkxZ!cu1j zYC(hv?7h(RFDfpZS`V zjmNYr9*s%Y)h*!Kq)hi;c2mAUCUU5gK$mC;U55sSk}>6hSBX*bMUN0CGU-YfvI9FH zqz33Chp%RE#nE46!v$X;W4~-dd;x1xa_)^K!2?0qux?eF*=exk`2SXnu*QcoOp-*{w%}>RwcoF4d7z6>qEC>jQ zC^-x$c>*)TFg??$y5jx+);ha;Km}C5{(5S6fAxK5hqc#Ud#(RoJDhU>w19s1Z(X+B zlEKj^@+V@z+viuC59HKmlWvc-RcNbkaqUSaK5|e$8v3aR|JEtZ z6$hNd*V5sm>vwtWrPqD_k3ICx|MaVW^UilRmp9G7GYycNzxUv~Uh?wGpBiPnfJRVc z=M4oNK1Taem?%ga!K6&l3Q9zQ@Wdjzt|JVSNw0PBXtYo{oV4LjKf0}n zcdV(roq#5}$?FktRfYi4it?lqU(_@|zmuf^{aE_PGQqI`JN|1IA0Q^rc-RD6cms=X`NrBPz|x~m8^~J^rXU3Tq$|WNW*uUG&QzKNsaMx^o131# zHw)l>qc3zlsXM=wA*<%O`Ict@EM3$_e5K&cFFUaO+0XozyS?=%{^XypNlYWZ0ym-1 zRxqm#Uf;2{BhL@bsq1xSTp^Kf{Ph`2<;VnMC7WD(Z}^aTm+ZgQ2T8}Ty0kU->Ey^zZas}W-I}VLU1u9x z43@_#e}UoDpY(#>>PuBC)AhA%YAGpYM_X&7D)Ob9^pgJZUJb4##}Encw|~aVul$|O z-}uT$-k9f`((joD$oWUU=4cl5kCh@)jQnE^K;?KyM^}eO`6zBw!-YYL5*i9vJ##AguJXPu=2tlO3K*Cdu2fFm=|JsV}>!kr!ae zQbc4>x{!D@(wb}u*#YiBWYAX!UC|3RJ3Osj&H&_5muK3!t6kbpCW3aL%hMk8@dX^!NiOo!H8Sz3eotBL z(pu9LZ@tI+-g?!M`^V__>HIe1?py;u(CAJd zir7jcj?#=pZMr}?Ybq0^_7GGa(Mryf*~AbS0zkDEN10B91_R2*pld3fZ~u(^fNeEK z;TwohSYdcJe&ZcY9xfirB*T=tDXZW;(`Xy*3&1DPz{*%-l25xBfpS;p4i|@)1wg5+ zcAmL^SKW<4Uh=B}2$ft?u6R!*BRgJy8Pl{Gz(5mtujRSmF^m8Vo>|F&tWsV)??fFy zO|VAknd`%wu^qM4A}Tix&@Q$ttuNYeYJ?Hv^VBgkkK!LL1bj-+(vJbnS>t zKUcBoC|3hh((6>XA6;ODnH`^rJLPCX^mT zuh8qI{GP4HZ&M(|w9KlvKP;8wL*q0VbY+Pfhh=SPXK|sp)479~teD z*K0r3Ax}*O(-!5?1V}0@K*EK(^I?@iZU5YuZO9_{tyki#K4Pr>-)}q@9`d(X;mLo;xc5?pC^8IT{3T z9Q`ph2N);L18PUSy#PwlD&Ptz$(Q93d=DtrJqQ|b@np)l`!KTWOvi^Ucb8kfpnJz_9Ez>ebu)lq1UkE?z7(9on1cCE zdh|>lii(E34KA4?B@e|KhK;8GV-#->s;`xA5IHeIA6KT7sXISHkYNu`NQL373;-|c zQ-67!;eB|y)xHo@uK8uu?adCpR;j+8NL1Z^yGzI|i6z@a*x)Ho zGrX2(mUK%Cqupd=eXn+4(=G$Y2t2jXmnAb7;TIp;0GN2w1|8S(RQY5ZeJzimJvGo& z`+;JEym)1Kyf+-pQJoAb230x%;IwDgGzIT`ExVyl;!2LG(*sE;RZRhTI+uO}ubHF;(?tIS8=XUvAp3lsOmcq<8WA2u}^vJtE zHyZ+X?}sI{K@Wvt5R9B6Qh4zL6njcFjC%mf39(QbUfD1Lbo@qBK$B4cJVqiXuGy5+cb!0@+?y~uckcuo5{9gc|Fom@HvG|5?WTt{h*V$dgUODrutrlgH2zA0zPI0h_X&?OT=-m%%V zl4+#fQ~WDW2E#DrIea89#LDp*JS!iTtIvv$T*#wb_b2bNr}*k8Xf>)<|B4%DS@mbN zKYcK!z(At%B@K^GFxa`5-er3|7r_)OUd5Azmvf=V!>wAY?$#e|E_qF|Xt{Tsygqq-e4^&i(mx)hoMJ}qP5RS*pv=@U}=OI|?f+jUR3BZJUaM*+FS{2qOYPCW#= zfVXuDee%^#<@}3u_GTIBjyco&`P;WI-ZeUKPMW?qVm@ux;LBMKda$X0m!*K{MePx_>`ONdRmlo#SEl@M|TT7g{WWYLCV<*+J#mKI2cGIv2k@3}Oxb}3Wv-p~qtE4*owydKWmccrwKQ*8?0 zymRwbo;J8qw87wNM4IAAJUSZl}Ad#r~1F!~Y=!cSVzV%V{ zTk?t1h@oF~+92uvnNHi0uOnPx*wR3?IpqrEG$J9FRUf+eF+lCivV!}z&j`rwj?BC+ zc4t2B;A#+T;N*Q1C%QgEmuvbTy;Bd~$V0mJ2>2Uu`lH*?eYu+cr3alaG_@t|pvPn@ zuQlri*iZ^x^%!vJfHqhw*D%)vN=M#t&Ec6kf)*wsjtJfU*-B(@q z_D9|8)(_0xBWF`Si_bc{rb6j39uUt2fcO9yQyo3aU>F5&pP+e1`Y4D^IRL9}OVMz%^6e0<_TVK_G)% z%GKk>(pL3bHmJTW9`He?%?Ci$=h`Tbeif7xYKbG6OWwII;0Yc1RiyqgO$HwB9d}S1 zFT+c--s?^pXKK}(EZIQnmu;yN%^FNY&%j%~stw}9U)7X?%IUw-uUrGK<`bCpgEx4t z+S8y*hAn6OYAf3KLPx!5k|W*iy!yTe-2tHTM-y8wQ=kBmtd7gGb=3_A=I2fJb(Yo+L%lwvyKw5pa{H5iek!C#>^-R z%z8b@6Qn7;&K+Pk7W|bLTE(m_#pB7yPN^sK^D`44xfzPm)(CsT@nhXpe-~+hXDkp>dh!^Nhf2NvgOX?i5?4ADP zLoPvf{I)le$FAi(2EF6t*&Kmr`ajiB5Bm7ST!Tb^iE@oLALtb2(;8GUT` zUmBk9TZ3B)={K~|!+Rg}PP;-8pLUzOeE@F)_h~>W+5rlK!{|%;#)BkBA9n!pBK1Q7 zQ_}FEUzI^ypOC+P)HZS=i+WL9h~T-}JMlQK4e)*oima{H~SE%mDf!FJw2#Ddq8)SBQMt!6#gHVI|Dq zpO)+lGXCK#U;4ve^u#-zzxSsvKd|z^m|D{*KJCFBjz&v6%n zI`Jk?O#><6>7Szeu$8>1aA!2FrK@21Gi%8SN{XCodU!clNFv9&fKc zeU<#^0n5P~8EUU`%Hx#>s{IA*`Ax3E_^vX^D6e`-2a=9%WksWSX&G9ZRPX3F1U!cUCxug)280gL8Ik0ctUryrKYsusRp0K>l=e~d6E+k zWT$?z2d>ozc+Ec`JLoD0m`?z9_v4LcKH4HrdA#|poh_TT1yvTksm&#m@UMQqrRirj zBd>UT;K?<>kN&;<@Vk!v_HV!O@*5I0bD`%HGspIEhUZ`OeP8&1{Yx8<`qN9V{_p9P z4A|XSl-qP*7>*95EXx^LDJ!MaiQ?DRvtE|>Gy5&l;bPh%-IPP{7%vZga0YKtnWSHz zhroJt7~=(KrnC$3SkY!c<=rH2(M2uqm^S?_!_DumMm_Sk;qo3R8s#f?QV%-lQEtkJ z)Ozmd*p@u%-j?y8+8cxMt-N;gS{VM#&)73}R@!_pn;m2TtQaBB18?#O4H8|KN_y?9 zk}BVEklN_>4FHk@Z|X*4Ofj=N)JDXBlICL;OICQ4SDdoE9iBPR!V@oA{nj`GDaniH z-jL`%G3az(lShfXS*><^Wh}rUF0$m2)c}_Ix?dWIc!14|e(E*X0-n^beZ@<7C6A4? zdwwAVLunFO_)kjykf}rA0&v zrY-F>M2EFGazO(~>N^9PzTAinnmO>~FS^zKx7`27UwTC`JcEB)(lf|7mN$RnA>Z@- z*In_n%dbCnw~VsY79+QgW?;M*9mW8Jp4PQNj<_=VnuhZjrUmfHFeq2iioyXLcR5g8 zaTLfDb$gCP^!dE-L%EfSf>UuJQU2!BBfqOszDfWX5Ti1c(V#);7?8G5$N?mHtu>;g z;lJ(?&vyfIYG8Ds?|OB8?S?3K9+16l0d+>_5&a~AE`_hQrvSslQv+Z>&~<Mbc#Pad58VDG8Z^FPm4ufo@1cQ;=r4Lc0l~Z zm!73g<&nc*FE7ydj%)chuXsQgVAtSTdewcW-$SZs0Qb`E$bn1^*r~4Spj~4iM2~Fs zDcRx;58~9T4pm-x{qos=_U-q5`jcPqmb|QI_QFhhkek2u;QPMz{fEBfXJ7R0C&qzsQ2?D9#eycA1u3n}rBoCk8cHdEi_Wh{ z^QT%qjM3Cx695(~raF|W6*+ZGUMPMj{>tidO>x_J+wdDW+8ApiDRokOQ=kf=$D0~J z&_*B+`VA0huddCn-SOsofBbFlyZSwQ7MH&DhLyE@;H3u+N*sSI`9{0Y#z&e|0Kgba z@l)?O2BqBvRFP2+GHnoS8MyLVfQNFX$8nyLFnN{vsZa2YPc)04YG1E`7A9aMfhVaj zKD)nqV?v)Ms_H;T8and%kQq8|HB8dn&O8(Y00Eu>;&i}owD61G2#mYvR>l3>F&ey7 zKc$=iJkpXpxhM6fO`E9~&9PCoe|H{6yz9&YQu)bKdI5ZBm4{fe@O1R00vCNz{Xg-5 zm$2IMk518_($&%K&>j4?hb?b-&I65k%G#};1j_{+#&R0dU^2sxwvvtE6K`}{(9cP& z2l&#b;bGULA^a<+FVP2B=+@L zRy-$)=Maj=+wTXy{g08RSmqMBh zx$EqEsJkDKZ}|-VfMyIca_BPMZ^vaFrqM2snv4>FJYW>?qrAY#^>H;d39gluH{>T^ z>vlvNn(xT6`XGI&9ga}-;H3}yPN43`Zad-%~Jjz(3)@E zfmYQY`J+AbTi)(h`VpCgxEV*)m7GLDZ?sijx_c;txqN*jsht3Ti6?;_RDt{*^xI=> zpp{3R_=kI^k1HSFv7tf#h#F^Z|)}|gds(G{V=h~ln(8V__uid9SmGrdE zEF(>a*FRd24jUdL#ia;3S<;vym0?5)YGjWxiKlc!8PIG{X$7EIHLXY)-dGzx#psdJ z22O|+aFQfL!B3@6`NbDVB%k$ByMKaQK(N85J&xfqh{HG?WEj2~H;)%+;umjuaO>tH z?ta0yp8q|6`V(jhR~}uN&lEePBaZ-a(MoM-0EMx0uPtR{`EFoHn^JGfq>avWQjqtA zf%eoFLFW$bDyL~BXWo&vR^HUbb4Ocw-(-Vta<+EGgQ-o0tcUS}%4<#e>N7+W7^wd0 zzAa`d9vyuwuW6>Ghmvzr2PhMjx{6)~gW{{nmi+Nl@|7|1wHy$h^aEY%rH$?bJoI$j zV5h%2zGfr&T_6vI5(fBd_tcE42QOqSURG@z?Zb!qdzzgAKJw9KYlnETd^Ge(-)fWK zTiN>HJF;-wCQg)ZJ7~~95>Ng5c*wrJviCrqKX9y`qBPAQQV0IU1`o+Q2yAV8wPG~YE?C!(gd8G&oMRE9*w8!T88 zAoo!=w|QN+G{5<}?|ROgANR!Py!q`n*27!v-Fwa2v1^X4ZO-p207>E~M<#A31AGiX z$SWz5-h&RKcNn0+2fsBfuWTjzg=s2YZ3|Bx(dCR~SV~?~us$eWQ})P>@d)}uh4@e} zS!`rZ?wF8r)l&KM`XK!ze}PDqZrc6xL>h1%U@WgX@zt_z@WB|btc*H+lMaf`tWLCX z-8;Iz^@n^u^=gUmp#69mo@WgxDK?+Erwxi;|7(2%Mmv|bE$>-ecuzLQc5N)o--^D{ zKY)3(ZvE`_aiFT5g8JkEzCd1muL@~z z@+#}LL&k-FyfEVB7^S$S9DWy99!}E9ESDc5tCHmeuxKk+z?nLvl{Y3X6}r}U?Ey}} z5`uWei$Q1b(SwDVL*&gf%XiUDUf*a9-pEKj@{M?PNViEh`mca!W8=`>&fEXUNB-uk z@As|0`-TSxZm-y#UFCi+_%y92thAI)kdyiZyr8k1JBwOJVR?IuDl?E&PJi+-%c(a- zTH?VBvgqa?TCV-p_LA+CPM`c#M*&~HWpcx;)_`T4n9 zp0($B5BY^xeNRXoErK)rXJ$Oe7k%HozW7a-Eq`t)b2_^x z(~*Faia0<$ltF)Yo`3~#NIq$yR$c`fbyOpY$mJ(P_CQ%IC38-CR17>7J~6twBs>c)}JyYS3s z-0MzfJ!Sq;&v|Pl{Of=A=N7iz2g8p#dMc#tsWbG;=mEzB)EHvuLajlSF}djW@ksnO z{T&8@?%D0}nv9K{+S&O_}xx zbG9-7#H-1yrlvLSqjg=%9Brat=&B13cxeC`N=WT`eXb1yuML`&H?`vr&BbktN1piL zJ3V6lQNQ=cAA|B8$SV%kuRP#ADa=HD-A;Uvm19czs^92Yn-wp87zU*$3nYeo8R(#) z%m6SgVQBhC{%(64sCpP6Id?nB)rkVPQTFeWM9P*yCT%$$xq2KTAAAlVmRG3y(x=J{ zo{HxwP9D6dy2~bC#Ne1#1eaTnE*YqC|k%M?HWNI@=NysX%+xISh5kid^xI521~20xjnT!ZNNI zu_>#-aM%i(0-DlIuLTCgKpDIo_~8tV&7tnA)N8OIe<2xppS|JJ0}PtzR0u0&n5j!U z1mD0z{rUi1Z83nFddp9RDu0y+E|I;Dz706I%Lp}j{2OwSR`iq4fPt^}jsr~TQxE5j zRM)S#X8HVL=0pFi-}!&O^tZqB_ug>fthKa z>Z}c;lpAeP1%M+gf9t?@u6f-=!a=CM4;_PY-s)Kcxi;}w`|hm_fa#9`qG+n$M?QL; z|8Jj@C}o|AK4chTWx%n^DiZz5X3 zT9GIb1F*hTfK&O>v56bXNcn-2btA?LkSIXYY5FIOTs>`stxy5nD8Mi}bxB9l186+} zqTaC*+UPONIv*G1Qr-vuyjO}v$!h&)QX*-!*ggR%9+$SyUwzl}_CEbPzTlRR`r2QA z&HtFc`1!y8vFh9}Kj8~5y5Z>BS?WCj)_71iqiAoDfsJ;`$H)K!kAR$eBZX{S*Pm*K zGRgv^2BWNN4$r8}wfm>qUY+#n7hn0Mdv|U7t8s>v%xa)0&RfoSG3y|IyjJ^DH-5$dFa`_YrrG!cpa$;B zmvZF|rZibwHnOxs|L8sW8H5}oB5T!@eEiV2soORFgcLc>r?jpo8PQ0+LtbQg-O=?g zec{(#bjjxLJmQ{Jct-!s$`pGc4|3QIoZ4%QLZuT;M|9Na$iPs38zo~jarh_}WvaL+ zk9gq6ICUnas)=#?e z@B|(cFbHG$)EAy(NCIFHYKoOCz_P)Ju?1MumP$(*0LN3&zOLiMG@aoS+e&WnTv*60 zalGyDqi+4Tlv4yY9ttpl9bRMLro9Fa2EMxCL9#tPEZM6wY3TT<-;eeH8MB1e1Nk;H zjn;m3;03P?TAPy`+R0w+PQRo-OJ|Y~;MkNEP6dL>htU40yvnL)_&l zF)>KHho%|*X@xL)^6n@)fNI5@JiB42lcGj-qYS2ayb;r{7($e&NAMFo*FNx7EhGmNIDRxvR2aBuAaYqeEA4Esy>L!p>#lM?ckf@e4#5at~zc z1JW&*Hhi?ysj@LsAUhvz6YyRGTWIsfYKD?@Q&a;&pz}aw{I~zCf5s2I=vmjyEj)hj zj_t3tYC$K|r;R-&)?W=Y`h-_ce^Pbjp-)5C3{CPdCF9-_KB@NP&O2YtybT=s7okI_G`Tf?q>)wCitn;4p zKF{9!v%9pgw^ZrLmH$mkKzQ^ zYk5{nPgS$;Z{W6I%)20ba0gfqME0A0K3Bx;7NU$aqvh)7W>toaj#b!1^*`xS#^a6C z9eW*?C{3-k8>SY6Bh{yXf3`qv2>y4QBr@9Nc1KJ`DD`>y(@iI1Cp(?){IE-|neG@CocXk@qLvT_PcQD53<%9_60leNO^9 z0JWS13So!mCzp8nB6&wQ8LY|YYC8|SrGFcId7+;Vk0q)0ER^YlCmN8wngN95-;Rdz z_*}LZv6y;a>6&;1siua0NzUWvW?Z%PuuHvboc{84vB;f9$r}|b0BIbPvOm^o^uNt` z^sR=USgC~Ai6Q(vKISp88La{vQ-j6q<$zOUrXF#rKuXV|o5#;W8GAz`f|U5+Ka0vz z6rG~}xf;_pD%f>d>b|JPg+2f69qFstE&}?@(5KUPMbW8Qg1tVGwiC*Ffyu+ZY^^CD z{}WL@03SBxn@7aXdI>xW2V5^2(SW~rRiQ$>tCFZJNSvs{19LVDwn0Vlr4bwu6Ra2u zU1^!*hx{VmaCt@P#Zbi%>Z1wxCYSQ6BY_U1`;IPLp%Z(xQR}5lgpreY1ZJ539kh>@ zJ>4kF?X^`3JHTFZhyw{2bNM0aRX6#Lt49sRk^X8H7k_Vk7yB}>SjD-6AFlom2HNtX z^4Qxw!r1@UM%Nk-8dEVucPN;&6NUQ||nG$7#17u-lA4 zSJx!Ax$segBZuuqtweo8lO*HC7MhM*3H&Ul)>VQcYbg0$s3MRPm^YS9@nvbZx3ll# zw_J+n*2J|1lu{GmH0;$dh0u#x=we3@TbMxn@4!Mu4|w=p`pmk?x$wEz!OP zyMdvAt?{(G-KmVErmK|3&{~*zNbO_>75Iz`$_oj~9Qo86>8T~cgZ1I8hoO5PYu-*$ z_<~sNl?5aFKGFwhB<|jGuo785SG2Y%qJ^tpey0Gim2I;PT}KAnCI<%+E~|(}(Hrka zd_Nq|utF4^%KoM>LO(Bna(bW2etXwYQ#6$_OOm|pv$jppbj}VJzxSd%pj~|y&pT0W z?I+T*^Mo|}S<6~bdaA9inx6Dzxt!PVVyuHq5pmV z@4E=qmv#W~aa0&cORXwTLsKX|M_sQ{f^w|^J91usiZD5B3OFL@QD~Fq{ctSGbYflZ zy>Yq_z1|+UDRCsYIv!%)OIrcG+ta{*^M`}KP$alxxl*4D%C@71J$m6IAr1NBkXdtS zb&xe;(J*Juoj@PVLT;RH@yKtQ&Y7boQWuB`vKy$t=V7E7;3pT}oDQ&tuLk_`JcX zYPr7|b$SpOdcC|5aDEQkQT2rRI7R~Z{`%W(hUHkJmC#iipJY**8&U5%Oom%_tzbzPpYEcF>}Z@Pmae0#zp;UOS-;RzT+RO3CJgg zy@8na3d0MYh!fJwpQZlCj}?f-4Iach^UQg2xqXX!%nw*(uKIB@p32fqK*1S=VWwN9 z-SqZTP(pvHU1pi*pgftfrS3?&Gd`YG zkv0`)uSZMiFmGgb)XM9Ql}E4f*^`qsYgAC0P)hW7{kYYKYM8R7>0Bs)owf|$1*o56 z@-$Xp{dru?O#1%T^x;QjEv~qa-_6(pEJzyO7n>(b6!4*zI3={4ulpZ{!#EJ@f(1jT z%LX`b#RM%oE;4@e$A+idwV>JkRGTDkyfuZU=~uj~g^c%x%%?VUZzLGY>h?F~-(AR@ zZ8VhoZ5KD=X7)W(yZCr{=(7$)oKG?lwQcDF_5vTk_!*uTb?N#`|@ zV8lg!`=?f(!%kZ>-Iu2LjIPlp^&RBKhf^#^&H?l{*Phbn(+DZcA#N#r+Amh+H6P^D zGV^~5cjRH7OojXr9Mf^0CZ&LMC%#k=!%yQ+O{;9^+kIfkHiFUp;z2V~AXG5!0z;x`BdTjM zaRR$1yJ7c!nMjGbEhKc&-^j+zt}6CvhEqA~sb$Gct7fdy-HG!3xkY@o-DtUt$~e0i zYCJWo+`5ROsiWi6B9K-bM!=Oe^J~Ws_50pxH7b34`xw!gsMuga=cLRRschH`xud1l zOqZzEv+|ovVp!sySRGRfZH;mGmAcGwY4x$sv$Z%C>DQ5)vZ&2SsuUMBg0 z78NBdnL6DW-eFWTN(og~ywZIY>ms~Oi&YGF=W_l_r}xIrWtj^qXcDHai`%Ywtr5|9 zJ-lrh9Jri1I;n}$kb%*X`6`jVt&*0Pj!*IBZ1%9J6*CSx6%Uc;#pE}UxJfOyEQ}YV z!EpGGv|uO0R+pzjDn{6Bg#Yj3*Cli+Tsf$ehPC9;i6hu=~(*`FN@i1ss>Po zkwI*|v~6OBsjJwUTl7@PbIV&)8H}i>+~1diOvMG$2sd8iQS@J(R2E=KG$s2HfIf_# z(Tln3kvXQ4IgjNq#D@6HZ46$uc;A)n@e$R3)4Nex0G)vP4%2Eb7E^h317h0P!lzH( z(rwlXc>`vVexDRp`G(&i3!Gnkw7D96w3>Zm-qEa(3^)7t3VhCXFdRL9k1juPJVIAB zvHt9gyF(nfrCs}yl9nUerG_q-Ozvj-9GfIsoU;8RNI6cbQgm6XSdhC~qC?f{<)T^e z`q}T1apP{0qp$y!1kwlt^&5-^x2-}b=e|?6SAI&~l3X)0B|;v80o`lPZMiC3vEHl6 zsgh>r%c=XWjg`hHk)QWkF69^QI2>Pmk{$_|udRPDJUtFX2q$jWtf+U?>Yol#D~+%?AsZ9s!9{oqa$8 zk-=+6P7|FPEj2}bi@E|2Nfy)q_got(cNV`SqO<1C(=M(O|8;27HJ{uLU*>ULW58T? zbq5E7{y+2^AACDN&a$No^-sU0Hn_%4gL#~HV93R4kd$pNZj|-oc`K1$>)xOKCUv#XWwo z7ABl+IdXm7(Qj@h^D4#j=3;G%CqT9*N=?n4Me!ylvq~eYc63KVK*?owj4@+jqVIBv zOgu`{u+P%Q^{HW~c{2}((1+jmel%7@C4BIzOG>0-m4TAUN8DL zB|F{mNa~p*GiL=cLsgbyRP2^*L$qy3_DbjvF~xP+x{P&KJByW4%U#2Zy#xQny<^&G zgn-z`gAqRQhARFRZWSMQU7|GX29sH*E3(&G5DvUHBdGIaV6BXgb;Jw#xM&K1;4iZH zRhiu8AaR2+yQE37YWO{>^$?0hb5o-3iiShB`D&u7MRmFc$ILUO;a1yI3;!LeEh8Ds zT(^+7#ePGO;?Cd5DKmPbeGBk4fDg@$;4nNGisV(_cm|@c^7;%Jx;+7Cf|Yw0pD+!` z9e+&(WD!ROT%`0d89mBG$s8{n_Ui_$@ii|m`FJ=4K$|CYap`B({vLNBm6J1vStgzv zH2HfI9mU^NPJox6UsubMqq+V5b^;7i`OQDAe^?3i4Y`euTI0Y8;KI`s1I`w|>n^N| z%uc^}T6>AKeGw`R{Bao^t>XGg^t!dye_g9wtO7fraajm{WW-d~R`(VKEz z8TN_WoQAvNKkEm+Yw4Ld-2;FB{g?H7Hjx$Th5BD39 z?M~g*r>|Y&Lu*$RX*7cuzj30Rxjz7{n);=gJHN0hB7U+6&IKz3IyK9W!{gW%=QiGO z@QF;}id#?H-y6HduD5s``tR283XZEAzV#uA&yuAp{+9a#g zrX_z#T>u~LjToPf@|dcp<)n)xnQJm6*%;R!5n)V_Sw#d&nY7mz{CGSoi&zx z0;tERw~ANBMudMq^W&@;{Atvsa?JU#qevH;3%1pc0B!Xzjl3oxvzG5gxN)k}y@llr z3x=)l7@aq+-Et7nGo{$wpu}X6{Q1)urCU&a z5pciXbd~@aE?(AV3yW>;A~vE1e?&$fh0O-^+y2?xC;nu)I~PO1Ou*bm>)r5?4tWFMr-i6@}RLUR=iCeu*uNUs73%9)UY&!J3H+y{uH9idKW4f5+o@#y? z1(6K;vqKTKYf#AL+}tJA82Oa`V3CtB@5^&-4gv4ATtN{!fx(+?b5>zFOEj#fO>r`E zcTVbVU2%RzWJq#vU3n<;Zrjo*#pd@S)`aPHQ&o4C1HGS9($?4dB&T3?T2aCM$;vq? zH8bE_)jOI+{1H7E4&Sx%^xT+jQ^F}3}VA}=pK;` ze~A7jIJNzahr?t$o-f@~Na343l%4UElZefA<1P4Dn?QXy0RDKhQ4v-SDf4_N&bD`* zHH}OsdnI{f1jumQBRG+h$<^hY-y8+>$Aia{JwQxM#xGG~W((KuMw{eU=l(LMu~Y>i zwRg9ob1O8uOh)$}n(@U%5i2^(Xc9+0X2j%f^kf1ZR*Sa&qn2h`!6fT59g=(6`Q2!D zMB(PGLaCx&NVm-I-f)G+a;^SqXqS9TPUcn9!lVB(hso)4NSLDjCtLWy6nVRBX%c&& z%zO3q>TclKozv+Muf2&x-y17)3eLBykJrsyQirbj5rIABT0qd} z!#(j32QH%6H!b^B3^SQNM;mEZ3W{uR|lWU&n za_+@p(>JXI%%nMs*6{@tdFP4Q<)Q-%yp<3fO@ydJgbHDBhQc$k^*J z;Wmvt&CLRy+^$~NUsoB0%LGisRQo7&Uj2Sx?E5i*7_|Zc2&@7A)%N1l+x}g?)9A)HVS2IO4IIjfT>|fS4?`3_ za5jqwJjn4z4q3}QJ8Q(`eY4Q_H@&Vmp8fKRzpOiW%Hx}?I<90T_Sa$&HH0~{P2AIq zO<>K)+eUar+2s{6w*tMuyE1fI{6dAt!z}HTA5ZMlH>Zp$$!~XdR=6k(pci&kdR)NYpA{^J@FLf9+f4)xc^ko zCn+(?@|Nw|Ynbn5?pSMpA@lgJkN<{ns7}k~Ca#lb`D-Q#0J)0$_pOUopgbmxa{K0u zpBeu8RtU7BmeLX9Qfd!*_@TrkGB9^DSf_wpu2^$wZ56)mXCBdl| zV2;;(R#AYC|IvRlQaiU7Hif=AG+Vfs-#Ngw<`jDxm8?KCw%k4;V~7O^+Ya#|sw+9r zJlF|~_E-FOjfgNujzUZxxSEZ zm!%55GD)=THh%0~|1|kT702~4qQqNV_O9__HZDhs-b1)LA=C9N&x9R&0@IUfJvhSELZ^VxNoO#Ble{3|Cz)GazFT-5D z)P`>{J=iu!c1-*g{Fmw8^Qz^#L55!EOu0~9Z^i1xPs^;M!~~Z~(VT9CxsN|I?E3Gm zux$M;cQ3hCPeQjYdq-whMukVlv^xKXy!(fm#0f^L5f_swSzyEbrMaEJQC$9g^?f9QCcifPI={ zF;sVYUiTorxV(uS+)>p@gV>RjzVlcRyWR9|>0jIz zA(%iB3#$w4*KJ|?v^H4BOO!ME5rW?&k8XuJEq^3gzc$KFWyObo-*=M3J<%om*DXde z{fgZ4qE#lqB`lqSF8SilYAODNSw=snz>UbY;Hj9+yi(TFK}w4QE|Ct4*^vn^V<6#_ zEFsjAnof&QAhNoo4@9Zx8~?KDBY%F!gF`fo1ac!GkkE??UzKoTbb`5=TR3>;PdO~C zAZuDXZ%oHjy5<-9mHl!g!BcWJjcq9y#H3Q`c4@Lpv=MpSj<~sq zr#dm7uA$uaq6-E=ck!oEFy*WW9q5BZN(leo2vtApN--w;nvCaaQm9UsKi^}M(tdw> z>wkBbX@m>bzBIT@BVO8e^y#DvSW1_{U6y;bB`CJ6VT1Zi8ft#OECp7<_}}t^@k$5c zVrpoZ716%a2j16{#zAW7CaQN+5-wH`&BT@O6xwem4UvG+}Zo(2a$ZT2~VkqJ-QhroRirZKIb+ zx}T@!u5JzB3pS;UPEbG@P!k!kRm(C{%Z+{*9Z9=GtK;`FJFU4Eqx0o%V5QvXO>Kz@ z1KV<5WyZ^xU}Cn;z&I|$OD>tirlcdA??TUFjkvRAf)js9e=~meGp9$$MWimToEVdNXDxcQcBv?HE;mnQjHiZ`;V@9l zSY1w`IioC-sX0s5zNqux5G@}TiW8{y{AW5sCqP0rO4J{_ps)3rY)Kx=*$e;3Vo#m_ zgCk!D{Zi4(TYr+dQP8*$eX;1A@L|oeO~vqs1Gj9;gWvZQB_j z?;}|GIzQTV(hM6I9<517ioH0rs33V@Rm<^$>2~yo@A>24u-8Rn>F>~8`ZjOoQjZ=V znN<{>bzU5Wd(73AE!NZ%DLHT~WbQOC>)zhW@^^iF5_di=7ar&Hjjl`2XbG|1Sr(7- z#~hqjzR=T*KD4d)6Sk_`jIb-Wy?lQxn&pyn1DT80D`NK-z6peb`fXyO~Mj z9e{p6{X*3nmYrmAfy=;;>#NtU=C^d2?rbIhe6M5gZvGBkZ_$yK`g?TNOUffWwu2_| zD~Yjom}7epStflQ+z)~QmPXJ3#qSzb4{=hDU58q+y`=jtUcSryI4ugM^kN<;HmA?( z%muwrfg4$?Ek9`zYD4D-8uv~ zndVoLwvA;p|EQ|^k1q7%%SVqC6OIQ2<#V=c-ZAR5FU_RCZ>|PI{fjFfaHeJL74Yyj zOpFi3Nzo%$%Uf^-^Zu8COj5Sz%iKLN&29_Up3vv3yYA0$3YAsqhFf1-TdRfUC5?_V zQeRXW`js2(-DCp0n8g2mK8(4T0d+^QrPHW3o)olf#&C1fW!fXZj)HqNZvjttfg$m! zfm0_El*Uj9DWJjwz{1o<5XK1nM6N(DAtmK73}F1GKm(b`Bxfv=piXj8)kU@|(lGYm ziM$kY7xMG$Y!Ck|xC9=W1mG{`scyfjg#Yx&h>L_1^1J-I3Vix<`S2x1m*$$y#s-n3 zfhh0j7>kI>2@GH(VebV5d*4r6kIN%LO6{+o4P~S&?+c&3FV}l;aCzB+JSSqjMN;|R zXY^+7`sd8|xIAaNQp`(f4F2mz@w;U~icezv`2iN2+ea)8ens9H@)5;ZqrVpHi%wlFF7-&drOfLs` zZl+k-)DICkLJKXv#Gc0|icTrojv~36A7+UT^_%ymoKFfH`HW|A+Ay3Of6Lmdp0!W0cTVzY1=jQ_d z`GcY%csK5ow{xN;C8c}5yHpGNcjIPsjn$A#$G4wCR$LqB=7ahu|4ttw zk;F8dXDnMH4!tA~lt%Qt{v4KFLnx!oyfiTovM1em!SvCeIIEk*fN$rTY1(MdU#CuX zwOH}@oXj?`w~>c%6#6r!s`v|v&3>N-3LDR475JAdyQ=(3&&FH+@Jwhzq)Fcl%Ri#? zOak8UX>UoH0sc7MI43=_gw2E{-y6%P7q;QO^nSX?VGYloMb|g(C9~dqw_ma#E#s|i z`Sq^g#vl?i6wro`sM}ub^>eMA7!(pF^?_|(GVVsMsTFsdB8Nt6Y|jt$uQ6MVR0|i2 zCddiCyq@EztMsYDNh!)k72V}sMg&*5>!t;#b<-?kaKTG)8I!O-g*mI~2Ny|yGM zht(r19zpp1MH0_8a?|}P#Zj4Te$T$=sjF#>DJho$pGxjNlhEu~;^j-JAWO3z<68hvH(Xr8nJ%j=)vL z#37aZGT!pNwUI-58bL%wOXY`{BohXLeCp%-ZUhK%psIc6s<)+788I9{xXBtYNdx}) zbcEqlyFPv`W-?wlHZDIcioqK5o&fE-7f98+VQEDISQb8$U|W2Sf{4C_)RHu82L6Qn zgsefdGaMYV-1MtC&b4#27CE1~*?N<{U%`(f;*U266O!!whE1~2xu5JsHNE|Ou*~y$ zRf_`$7`s{7xYuoP+CpO=Zs+fIq^waN#o-{3)qYR+uSENAb5#(+yo+YE8lI^-=_{`QpRs*gV)g z87GMm!9U%|lDYR@w6L8(O4XG3)9_UF&H8TD!dB71{0wJ1`<0t~Z+J`rKDC!}v+a~P zK%M2e$vK;#9dm*$L}pMXv9*y@0{`y0YMN)1WbuP6!f3CMuY6?xML&dh3RlLmX9D6& zxj~)F+(JK_bAMre%A6j}ufBBep!*%v@;qsFlHu9m1whB1{u#IT^3^vpfA*}MppcZX zYD1!?mH41t`240G4929cuf>#UV(#f}Z&?t}Ghx7%G5R<68XM3VuLs<{D&a z?wOP%J~^cl9!R)o74@_G2|Lo&EKm_pfzJ1`Bk>?nC`OLgt%zFzs!SCV!1-8No}qU_ zM)IaSj72XJWK6X%)MQ$odlCiG%ofiF=d$lu0#eEKn@;m#(^;L8hpk(S&beR z)5Ot%b?#cga`XQpw;C$Q>KAJxtAit5Q6gq4eQQh`Pe<0jdLK<}1Z?ZcXnp?Qhptcb zshP%rg!-{p$NBumOnIHd<&G*5jieLzAt7EwwJZQojiN?H7esBF$FYRSOrCU7)D6MT z#Fb2!8$9jlzTg_7mfx@7+2v>V5@AYUV#Lo1hi=A}kx^LjAZtB%{qsz3$YvxK+&vzl zSh(E?Q_Lc93a_0n-C()*ke~vpMpCjPvat$nh^a9wsIXm2`2q0t`A4wg+WmsJ5;a*3 zKFLV_JHJ&0NtU=fDV_3ip3xD*XRBC~%>bo)t+1!nJ9c?9eyDLi`MWJLPYShk%_}H3 zWQp$Rdrr3evLo4Us7SWl%7Rc25YP2XxEfU9d#-)lSuI?b^^lEFU5<=7yWC+u%gfX1 zVtoK80^eN`fdk%~zC#h#0SjIHxXsh^h=)8dN0HJc3>ckLTC!KP3%5sVazBRq9Z!%M zV16JA?cRqo-hiXT&gj@iV&Kat!Im&Zo}?~#OMi(^3PB?&KaDWmIKqo3d7r{5SV0w5>XBwtfL zfxcI7z4fntNe&17Cyi>SH3jPCpOFL?al647ti1li=auEziG#^!O(Up46`w8M)d0Ax z@!!{R1HyC(hmXq-y0>bzvHLbk^wNO&?=~y*l6vDLg;cCy;`+1Ym+qo}g{f^7NhrQ1 zA@l>C;0E&=I)2OCgZj_?HFZ*Z#wI69&-T152=DJGa8T7J?zC5ry)O9Br%lO>jHmzQ zd;eBJvqPItU*cQL0!Rw^eKww|KDn9!ZbkGq`V2*aq~NWB*f;(_{=*8iX|rcIP~$#E zI}CV6wrm89xaKQI=p9Y&Z|7mZIu1R;oPF3yfe>(w9Dc7ldk)<2Wu*9}IiHE!`ym-n z2pl~mu98v#QIjsVS-Qkq>Se6pd3!w#hnyR0wafYB1ES3(sLh`TG~=HhF(T`P*9Jv1 z4s9N?UKtZj@sy`8d z+_ruSC9QZ%j_X!JSOV4TS|%4zAuedPdtn?vq0Tj|Lca)rNzJJ=8$unGk$0%ddp7*D z{qC4Glzw>}Wkm?Vm~Jm`yTs=1mbvND+>ky z@fC)PrQL-)5zCueGrFBC01z6+p|_}$`jo^&_+2_bMyi|GgmK3i0Ni}(l?DDD3`v~d z0csJ@NT z6wf$0jOn96gYcf4K981;qP|*&J&!Gv`2}~h9ls{x%#JeQMMRhhH z?{>)uM+qRyx(8JCk`v!39W!8JAux1z4{4>h7Yftc#bUqsMGaX3)Z6(AR;L2P@poCm zNXgoCk?!xBML*I1om8X#3f+lV*{8e~!?sJVMNmevI{;b^AX5+{UpM_@pBD$?Th^XF z4ZX*`3{NyU{vAr}NLn28N1C~Ik-nNQbs~IYO2mu^R6}c!Ck|aT%lM3(*{6nj2{u`e zq9E@9iMme!C`gn4X0R}vj7`d9EjhaEVo zXOC1xeMA!pnUTW3b-6~=rRD{_J*e3w%K)v~GBU{R03A$so(`S&4&K!H{`R3Aa8<=) zrlsd(D*(Hfc^uToO}7E4_%%3XIyxk=Yq0aZ7EpC96;qp^PmTfsP{EW=Rzu~1BJ#9p z%cVVnDCK6jVqj=d;etmGaQE;8RcJf^G>W8~!j#|(?W$%b(xDgBqroSgw=#l8R+Uea zG5WCPnK0rz?R;qL*l^>NX0-eL4z=O+j?dA6E{}!{AUq#(-ha$4XMN$EO(NI1Tx;MO z!GT8CBX4K3*V2vpCKvRQFq5>aCFhHw*no9+?j27q)+o=l#;DqMxhiz+Kg-8Ymi(%9 zsh!?5fAUt!f2$G`7*VeJ-GdA)F{m5nJ ~8 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 = async ({ params } {programIds.map((programId) => ( - {programIdToName[programId]} + + + {programIdToName[programId]} + + ))} diff --git a/src/app/(withAuth)/problems/[problemId]/page.tsx b/src/app/(withAuth)/problems/[problemId]/page.tsx new file mode 100644 index 00000000..237e3593 --- /dev/null +++ b/src/app/(withAuth)/problems/[problemId]/page.tsx @@ -0,0 +1,49 @@ +'use client'; + +import { Box, Button, Flex, HStack, Heading, VStack } from '@chakra-ui/react'; +import type { NextPage } from 'next'; + +import { SyntaxHighlighter } from '../../../../components/organisms/SyntaxHighlighter'; +import { TurtleGraphics } from '../../../../components/organisms/TurtleGraphics'; +import { programIdToName, generateProgram, getDescription } from '../../../../problems/problemData'; + +const GRID_COLUMNS = 12; +const GRID_ROWS = 8; +const GRID_SIZE = 40; + +const ProblemPage: NextPage<{ params: { problemId: string } }> = ({ params }) => { + // TODO: 一旦Java固定 言語選択機能実装時に変更する + const programmingLanguageId = 'java'; + + return ( +
+ + {programIdToName[params.problemId]} + + + {getDescription(params.problemId)} + + + + + + + {/* 画面に収まる高さに設定 */} + + + + + + + + + + +
+ ); +}; + +export default ProblemPage; diff --git a/src/app/lib/Character.ts b/src/app/lib/Character.ts index 6ad15482..07bdca9d 100644 --- a/src/app/lib/Character.ts +++ b/src/app/lib/Character.ts @@ -1,10 +1,19 @@ +export const CharacterColor = { + Red: 'red', + Blue: 'blue', + Green: 'green', + Yellow: 'yellow', + Purple: 'purple', +}; +type Color = (typeof CharacterColor)[keyof typeof CharacterColor]; + export class Character { id: number; name: string; x: number; y: number; direction: string; - color: string; + color: Color; penDown: boolean; path: string[]; @@ -136,6 +145,10 @@ export class Character { } } + setColor(color: Color): void { + this.color = color; + } + putPen(): void { this.penDown = true; } @@ -143,4 +156,22 @@ export class Character { upPen(): void { this.penDown = false; } + + rotateCss(): string { + switch (this.direction) { + case 'up': { + return 'rotate(180deg)'; + } + case 'down': { + return 'rotate(0deg)'; + } + case 'left': { + return 'rotate(90deg)'; + } + case 'right': { + return 'rotate(270deg)'; + } + } + return ''; + } } diff --git a/src/app/lib/TurtleGraphicsCell.ts b/src/app/lib/TurtleGraphicsCell.ts new file mode 100644 index 00000000..cff9cbd0 --- /dev/null +++ b/src/app/lib/TurtleGraphicsCell.ts @@ -0,0 +1,21 @@ +import type { CharacterColor } from './Character'; + +type Color = (typeof CharacterColor)[keyof typeof CharacterColor]; + +export class TurtleGraphicsCell { + id: number; + x: number; + y: number; + backgroundColor: string; + + constructor(id: number, x: number, y: number, backgroundColor: string) { + this.id = id; + this.x = x; + this.y = y; + this.backgroundColor = backgroundColor; + } + + setBackgroundColor(color: Color): void { + this.backgroundColor = color; + } +} diff --git a/src/components/organisms/SyntaxHighlighter.tsx b/src/components/organisms/SyntaxHighlighter.tsx new file mode 100644 index 00000000..1eba52e1 --- /dev/null +++ b/src/components/organisms/SyntaxHighlighter.tsx @@ -0,0 +1,47 @@ +import { Box } from '@chakra-ui/react'; +import React from 'react'; +import { Prism } from 'react-syntax-highlighter'; +import { vscDarkPlus } from 'react-syntax-highlighter/dist/cjs/styles/prism'; + +interface SyntaxHighlighterProps { + code: string; + programmingLanguageId: string; +} + +export const SyntaxHighlighter: React.FC = ({ + code: code, + programmingLanguageId: programmingLanguageId, +}) => { + return ( + + { + lineProps={() => { + const style = { + padding: 0, + }; + // TODO: チェックポイント問題・ステップ問題のハイライト + // if (isStepPage && problem && lineNumber === problem.traceList[highlightedLineCount].row + 1) { + // style.backgroundColor = '#744210'; + // } + return { style }; + }} + showLineNumbers={true} + style={vscDarkPlus} + wrapLines={true} + > + {code ?? ''} + + + ); +}; diff --git a/src/components/organisms/TurtleGraphics.tsx b/src/components/organisms/TurtleGraphics.tsx index 8e777533..2323fcc3 100644 --- a/src/components/organisms/TurtleGraphics.tsx +++ b/src/components/organisms/TurtleGraphics.tsx @@ -1,9 +1,11 @@ 'use client'; import { Box, Grid, GridItem } from '@chakra-ui/react'; -import React, { useState, useEffect } from 'react'; +import Image from 'next/image'; +import React, { useState } from 'react'; import { Character } from '../../app/lib/Character'; +import { TurtleGraphicsCell } from '../../app/lib/TurtleGraphicsCell'; // 原点(左上隅)の座標 const ORIGIN_X = 1; @@ -14,6 +16,7 @@ interface TurtleGraphicsProps { gridColumns?: number; gridRows?: number; gridSize?: number; + isEnableOperation?: boolean; } export const TurtleGraphics: React.FC = ({ @@ -21,27 +24,16 @@ export const TurtleGraphics: React.FC = ({ gridColumns: gridColumns = 12, gridRows: gridRows = 8, gridSize: gridSize = 40, + isEnableOperation: isEnableOperation = false, }) => { const [characters, setCharacters] = useState(initialCharacters); - - useEffect(() => { - // 軌跡の描画 - for (const character of characters) { - if (!character.penDown) continue; - - for (const position of character.path) { - const [x, y] = position.split(',').map(Number); - const gridCell = document.querySelectorAll('.grid-cell')[ - x - ORIGIN_X + (y - ORIGIN_Y) * gridColumns - ] as HTMLElement; - - if (!gridCell) return; - - gridCell.style.backgroundColor = character.color; - gridCell.style.opacity = '0.5'; - } - } - }, [characters, gridColumns]); + const [cells] = useState( + Array.from({ length: gridColumns * gridRows }).map((_, index) => { + const x = (index % gridColumns) + ORIGIN_X; + const y = Math.floor(index / gridColumns) + ORIGIN_Y; + return new TurtleGraphicsCell(index, x, y, ''); + }) + ); const updateCharacter = (character: Character, updater: (char: Character) => void): void => { setCharacters((prevCharacters) => @@ -108,8 +100,14 @@ export const TurtleGraphics: React.FC = ({ templateColumns={`repeat(${gridColumns}, ${gridSize}px)`} templateRows={`repeat(${gridRows}, ${gridSize}px)`} > - {Array.from({ length: gridColumns * gridRows }).map((_, index) => ( - + {cells.map((cell) => ( + ))} {characters.map((character) => ( = ({ top={(character.y - ORIGIN_Y) * gridSize + 'px'} w={gridSize + 'px'} > - {character.name} + + {character.name} + + {character.name} ))} - {characters.map((character) => ( -
-
{character.name}
-
- -
-
- + {isEnableOperation && + characters.map((character) => ( +
+
{character.name}
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
---
-
- -
-
- -
-
- -
-
- -
-
---
-
- ))} + ))}
); }; diff --git a/src/problems/problemData.ts b/src/problems/problemData.ts index 21b7775a..70a195d5 100644 --- a/src/problems/problemData.ts +++ b/src/problems/problemData.ts @@ -37,6 +37,10 @@ turtle.moveForward(5);` || programIdToLanguageIdToProgram[programId][languageId] ); } +export function getDescription(programId: ProgramId): string { + return programIdToLanguageIdToDescription[programId]; +} + export function getExplanation(programId: ProgramId, languageId: LanguageId): string { return programIdToLanguageIdToExplanation[programId][languageId]; } @@ -76,6 +80,15 @@ public class Curve { }, }; +export const programIdToLanguageIdToDescription: Record = { + straight: ` +直線を描くプログラムです。 +`.trim(), + curve: ` +曲線を描くプログラムです。 +`.trim(), +}; + export const programIdToLanguageIdToExplanation: Record> = { straight: { js: ` diff --git a/yarn.lock b/yarn.lock index 100e6adf..7d0128ab 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1485,6 +1485,15 @@ __metadata: languageName: node linkType: hard +"@babel/runtime@npm:^7.3.1": + version: 7.23.8 + resolution: "@babel/runtime@npm:7.23.8" + dependencies: + regenerator-runtime: "npm:^0.14.0" + checksum: ba5e8fbb32ef04f6cab5e89c54a0497c2fde7b730595cc1af93496270314f13ff2c6a9360fdb2f0bdd4d6b376752ce3cf85642bd6b876969a6a62954934c2df8 + languageName: node + linkType: hard + "@babel/template@npm:^7.22.15": version: 7.22.15 resolution: "@babel/template@npm:7.22.15" @@ -4097,6 +4106,15 @@ __metadata: languageName: node linkType: hard +"@types/hast@npm:^2.0.0": + version: 2.3.9 + resolution: "@types/hast@npm:2.3.9" + dependencies: + "@types/unist": "npm:^2" + checksum: 8660bd1ed2cd91ad4721c9d02ce88991e0950b07826bd5a85cde9e76fa226a47174f53c6d03e0a54b4668e5780fbdc352ae390a11c807e3c7d08c0f04d046259 + languageName: node + linkType: hard + "@types/json-schema@npm:*, @types/json-schema@npm:^7.0.12": version: 7.0.15 resolution: "@types/json-schema@npm:7.0.15" @@ -4189,6 +4207,15 @@ __metadata: languageName: node linkType: hard +"@types/react-syntax-highlighter@npm:^15": + version: 15.5.11 + resolution: "@types/react-syntax-highlighter@npm:15.5.11" + dependencies: + "@types/react": "npm:*" + checksum: b091ac86d72fcc27ff77007577cc64f604ed9de5b7cc3f986301fe7fa7a2a42d1347fb0bf19ff2223c152f9468a42b796f44e97fe526073ee168a3ee64266518 + languageName: node + linkType: hard + "@types/react@npm:*": version: 18.2.45 resolution: "@types/react@npm:18.2.45" @@ -4228,6 +4255,13 @@ __metadata: languageName: node linkType: hard +"@types/unist@npm:^2": + version: 2.0.10 + resolution: "@types/unist@npm:2.0.10" + checksum: 5f247dc2229944355209ad5c8e83cfe29419fa7f0a6d557421b1985a1500444719cc9efcc42c652b55aab63c931813c88033e0202c1ac684bcd4829d66e44731 + languageName: node + linkType: hard + "@typescript-eslint/eslint-plugin@npm:6.18.1": version: 6.18.1 resolution: "@typescript-eslint/eslint-plugin@npm:6.18.1" @@ -5381,6 +5415,27 @@ __metadata: languageName: node linkType: hard +"character-entities-legacy@npm:^1.0.0": + version: 1.1.4 + resolution: "character-entities-legacy@npm:1.1.4" + checksum: ea4ca9c29887335eed86d78fc67a640168342b1274da84c097abb0575a253d1265281a5052f9a863979e952bcc267b4ecaaf4fe233a7e1e0d8a47806c65b96c7 + languageName: node + linkType: hard + +"character-entities@npm:^1.0.0": + version: 1.2.4 + resolution: "character-entities@npm:1.2.4" + checksum: ad015c3d7163563b8a0ee1f587fb0ef305ef344e9fd937f79ca51cccc233786a01d591d989d5bf7b2e66b528ac9efba47f3b1897358324e69932f6d4b25adfe1 + languageName: node + linkType: hard + +"character-reference-invalid@npm:^1.0.0": + version: 1.1.4 + resolution: "character-reference-invalid@npm:1.1.4" + checksum: 29f05081c5817bd1e975b0bf61e77b60a40f62ad371d0f0ce0fdb48ab922278bc744d1fbe33771dced751887a8403f265ff634542675c8d7375f6ff4811efd0e + languageName: node + linkType: hard + "charm@npm:~0.1.1": version: 0.1.2 resolution: "charm@npm:0.1.2" @@ -5594,6 +5649,13 @@ __metadata: languageName: node linkType: hard +"comma-separated-tokens@npm:^1.0.0": + version: 1.0.8 + resolution: "comma-separated-tokens@npm:1.0.8" + checksum: c3bcfeaa6d50313528a006a40bcc0f9576086665c9b48d4b3a76ddd63e7d6174734386c98be1881cbf6ecfc25e1db61cd775a7b896d2ea7a65de28f83a0f9b17 + languageName: node + linkType: hard + "commander@npm:11.1.0": version: 11.1.0 resolution: "commander@npm:11.1.0" @@ -6929,6 +6991,15 @@ __metadata: languageName: node linkType: hard +"fault@npm:^1.0.0": + version: 1.0.4 + resolution: "fault@npm:1.0.4" + dependencies: + format: "npm:^0.2.0" + checksum: c86c11500c1b676787296f31ade8473adcc6784f118f07c1a9429730b6288d0412f96e069ce010aa57e4f65a9cccb5abee8868bbe3c5f10de63b20482c9baebd + languageName: node + linkType: hard + "fclone@npm:1.0.11, fclone@npm:~1.0.11": version: 1.0.11 resolution: "fclone@npm:1.0.11" @@ -7048,6 +7119,13 @@ __metadata: languageName: node linkType: hard +"format@npm:^0.2.0": + version: 0.2.2 + resolution: "format@npm:0.2.2" + checksum: 6032ba747541a43abf3e37b402b2f72ee08ebcb58bf84d816443dd228959837f1cddf1e8775b29fa27ff133f4bd146d041bfca5f9cf27f048edf3d493cf8fee6 + languageName: node + linkType: hard + "framer-motion@npm:10.18.0": version: 10.18.0 resolution: "framer-motion@npm:10.18.0" @@ -7497,6 +7575,26 @@ __metadata: languageName: node linkType: hard +"hast-util-parse-selector@npm:^2.0.0": + version: 2.2.5 + resolution: "hast-util-parse-selector@npm:2.2.5" + checksum: 29b7ee77960ded6a99d30c287d922243071cc07b39f2006f203bd08ee54eb8f66bdaa86ef6527477c766e2382d520b60ee4e4087f189888c35d8bcc020173648 + languageName: node + linkType: hard + +"hastscript@npm:^6.0.0": + version: 6.0.0 + resolution: "hastscript@npm:6.0.0" + dependencies: + "@types/hast": "npm:^2.0.0" + comma-separated-tokens: "npm:^1.0.0" + hast-util-parse-selector: "npm:^2.0.0" + property-information: "npm:^5.0.0" + space-separated-tokens: "npm:^1.0.0" + checksum: f76d9cf373cb075c8523c8ad52709f09f7e02b7c9d3152b8d35c65c265b9f1878bed6023f215a7d16523921036d40a7da292cb6f4399af9b5eccac2a5a5eb330 + languageName: node + linkType: hard + "help-me@npm:^5.0.0": version: 5.0.0 resolution: "help-me@npm:5.0.0" @@ -7511,6 +7609,13 @@ __metadata: languageName: node linkType: hard +"highlight.js@npm:^10.4.1, highlight.js@npm:~10.7.0": + version: 10.7.3 + resolution: "highlight.js@npm:10.7.3" + checksum: 073837eaf816922427a9005c56c42ad8786473dc042332dfe7901aa065e92bc3d94ebf704975257526482066abb2c8677cc0326559bb8621e046c21c5991c434 + languageName: node + linkType: hard + "hoist-non-react-statics@npm:^3.3.1": version: 3.3.2 resolution: "hoist-non-react-statics@npm:3.3.2" @@ -7708,6 +7813,23 @@ __metadata: languageName: node linkType: hard +"is-alphabetical@npm:^1.0.0": + version: 1.0.4 + resolution: "is-alphabetical@npm:1.0.4" + checksum: 1505b1de5a1fd74022c05fb21b0e683a8f5229366bac8dc4d34cf6935bcfd104d1125a5e6b083fb778847629f76e5bdac538de5367bdf2b927a1356164e23985 + languageName: node + linkType: hard + +"is-alphanumerical@npm:^1.0.0": + version: 1.0.4 + resolution: "is-alphanumerical@npm:1.0.4" + dependencies: + is-alphabetical: "npm:^1.0.0" + is-decimal: "npm:^1.0.0" + checksum: d623abae7130a7015c6bf33d99151d4e7005572fd170b86568ff4de5ae86ac7096608b87dd4a1d4dbbd497e392b6396930ba76c9297a69455909cebb68005905 + languageName: node + linkType: hard + "is-array-buffer@npm:^3.0.1, is-array-buffer@npm:^3.0.2": version: 3.0.2 resolution: "is-array-buffer@npm:3.0.2" @@ -7797,6 +7919,13 @@ __metadata: languageName: node linkType: hard +"is-decimal@npm:^1.0.0": + version: 1.0.4 + resolution: "is-decimal@npm:1.0.4" + checksum: a4ad53c4c5c4f5a12214e7053b10326711f6a71f0c63ba1314a77bd71df566b778e4ebd29f9fb6815f07a4dc50c3767fb19bd6fc9fa05e601410f1d64ffeac48 + languageName: node + linkType: hard + "is-extglob@npm:^2.1.1": version: 2.1.1 resolution: "is-extglob@npm:2.1.1" @@ -7854,6 +7983,13 @@ __metadata: languageName: node linkType: hard +"is-hexadecimal@npm:^1.0.0": + version: 1.0.4 + resolution: "is-hexadecimal@npm:1.0.4" + checksum: ec4c64e5624c0f240922324bc697e166554f09d3ddc7633fc526084502626445d0a871fbd8cae52a9844e83bd0bb414193cc5a66806d7b2867907003fc70c5ea + languageName: node + linkType: hard + "is-lambda@npm:^1.0.1": version: 1.0.1 resolution: "is-lambda@npm:1.0.1" @@ -8520,6 +8656,16 @@ __metadata: languageName: node linkType: hard +"lowlight@npm:^1.17.0": + version: 1.20.0 + resolution: "lowlight@npm:1.20.0" + dependencies: + fault: "npm:^1.0.0" + highlight.js: "npm:~10.7.0" + checksum: 728bce6f6fe8b157f48d3324e597f452ce0eed2ccff1c0f41a9047380f944e971eb45bceb31f08fbb64d8f338dabb166f10049b35b92c7ec5cf0241d6adb3dea + languageName: node + linkType: hard + "lru-cache@npm:^10.0.1, lru-cache@npm:^9.1.1 || ^10.0.0": version: 10.1.0 resolution: "lru-cache@npm:10.1.0" @@ -9283,6 +9429,20 @@ __metadata: languageName: node linkType: hard +"parse-entities@npm:^2.0.0": + version: 2.0.0 + resolution: "parse-entities@npm:2.0.0" + dependencies: + character-entities: "npm:^1.0.0" + character-entities-legacy: "npm:^1.0.0" + character-reference-invalid: "npm:^1.0.0" + is-alphanumerical: "npm:^1.0.0" + is-decimal: "npm:^1.0.0" + is-hexadecimal: "npm:^1.0.0" + checksum: f85a22c0ea406ff26b53fdc28641f01cc36fa49eb2e3135f02693286c89ef0bcefc2262d99b3688e20aac2a14fd10b75c518583e875c1b9fe3d1f937795e0854 + languageName: node + linkType: hard + "parse-json@npm:^5.0.0": version: 5.2.0 resolution: "parse-json@npm:5.2.0" @@ -9684,6 +9844,20 @@ __metadata: languageName: node linkType: hard +"prismjs@npm:^1.27.0": + version: 1.29.0 + resolution: "prismjs@npm:1.29.0" + checksum: d906c4c4d01b446db549b4f57f72d5d7e6ccaca04ecc670fb85cea4d4b1acc1283e945a9cbc3d81819084a699b382f970e02f9d1378e14af9808d366d9ed7ec6 + languageName: node + linkType: hard + +"prismjs@npm:~1.27.0": + version: 1.27.0 + resolution: "prismjs@npm:1.27.0" + checksum: 841cbf53e837a42df9155c5ce1be52c4a0a8967ac916b52a27d066181a3578186c634e52d06d0547fb62b65c486b99b95f826dd54966619f9721b884f486b498 + languageName: node + linkType: hard + "proc-log@npm:^3.0.0": version: 3.0.0 resolution: "proc-log@npm:3.0.0" @@ -9735,6 +9909,15 @@ __metadata: languageName: node linkType: hard +"property-information@npm:^5.0.0": + version: 5.6.0 + resolution: "property-information@npm:5.6.0" + dependencies: + xtend: "npm:^4.0.0" + checksum: d54b77c31dc13bb6819559080b2c67d37d94be7dc271f404f139a16a57aa96fcc0b3ad806d4a5baef9e031744853e4afe3df2e37275aacb1f78079bbb652c5af + languageName: node + linkType: hard + "proxy-agent@npm:~6.3.0": version: 6.3.1 resolution: "proxy-agent@npm:6.3.1" @@ -9946,6 +10129,21 @@ __metadata: languageName: node linkType: hard +"react-syntax-highlighter@npm:15.5.0": + version: 15.5.0 + resolution: "react-syntax-highlighter@npm:15.5.0" + dependencies: + "@babel/runtime": "npm:^7.3.1" + highlight.js: "npm:^10.4.1" + lowlight: "npm:^1.17.0" + prismjs: "npm:^1.27.0" + refractor: "npm:^3.6.0" + peerDependencies: + react: ">= 0.14.0" + checksum: 2bf57a1ea151f688efc7eba355677577c9bb55f05f9df7ef86627aae42f63f505486cddf3f4a628aecc51ec75e89beb9533201570d03201c4bf7d69d61d2545d + languageName: node + linkType: hard + "react@npm:18.2.0": version: 18.2.0 resolution: "react@npm:18.2.0" @@ -10030,6 +10228,17 @@ __metadata: languageName: node linkType: hard +"refractor@npm:^3.6.0": + version: 3.6.0 + resolution: "refractor@npm:3.6.0" + dependencies: + hastscript: "npm:^6.0.0" + parse-entities: "npm:^2.0.0" + prismjs: "npm:~1.27.0" + checksum: 63ab62393c8c2fd7108c2ea1eff721c0ad2a1a6eee60fdd1b47f4bb25cf298667dc97d041405b3e718b0817da12b37a86ed07ebee5bd2ca6405611f1bae456db + languageName: node + linkType: hard + "regenerate-unicode-properties@npm:^10.1.0": version: 10.1.1 resolution: "regenerate-unicode-properties@npm:10.1.1" @@ -10800,6 +11009,13 @@ __metadata: languageName: node linkType: hard +"space-separated-tokens@npm:^1.0.0": + version: 1.1.5 + resolution: "space-separated-tokens@npm:1.1.5" + checksum: 3ee0a6905f89e1ffdfe474124b1ade9fe97276a377a0b01350bc079b6ec566eb5b219e26064cc5b7f3899c05bde51ffbc9154290b96eaf82916a1e2c2c13ead9 + languageName: node + linkType: hard + "spdx-correct@npm:^3.0.0": version: 3.2.0 resolution: "spdx-correct@npm:3.2.0" @@ -11292,6 +11508,7 @@ __metadata: "@types/micromatch": "npm:4.0.6" "@types/node": "npm:20.11.0" "@types/react-dom": "npm:18.2.18" + "@types/react-syntax-highlighter": "npm:^15" "@typescript-eslint/eslint-plugin": "npm:6.18.1" "@typescript-eslint/parser": "npm:6.18.1" "@willbooster/eslint-config-next": "npm:1.1.0" @@ -11324,6 +11541,7 @@ __metadata: react: "npm:18.2.0" react-dom: "npm:18.2.0" react-icons: "npm:5.0.1" + react-syntax-highlighter: "npm:15.5.0" sort-package-json: "npm:2.6.0" supertokens-auth-react: "npm:0.36.1" supertokens-node: "npm:16.7.1" @@ -12078,6 +12296,13 @@ __metadata: languageName: node linkType: hard +"xtend@npm:^4.0.0": + version: 4.0.2 + resolution: "xtend@npm:4.0.2" + checksum: 366ae4783eec6100f8a02dff02ac907bf29f9a00b82ac0264b4d8b832ead18306797e283cf19de776538babfdcb2101375ec5646b59f08c52128ac4ab812ed0e + languageName: node + linkType: hard + "y18n@npm:^5.0.5": version: 5.0.8 resolution: "y18n@npm:5.0.8"