From d2329b143ba30d7331446fcaba9021d0a9cd7a6a Mon Sep 17 00:00:00 2001 From: Bapon Kar Date: Sun, 15 Dec 2024 23:48:50 +0530 Subject: [PATCH] try to solve keyboard issue --- iso_root/boot/kernel.bin | Bin 95384 -> 95368 bytes src/driver/keyboard.c | 4 ++-- src/kernel/kernel.c | 6 +++--- src/x86_64/idt.c | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/iso_root/boot/kernel.bin b/iso_root/boot/kernel.bin index 97faf8b442210dc99b77af571f28acc5f632e169..3e6dc2f221569affdc5d59d4a4c9f5210bd21667 100644 GIT binary patch delta 22069 zcmcJ12Xs_b*Y-U#b0;(Dz4t&!2!sHkw52srum$OeQbhAV`<`=?FudPi*80D@7IXL6&$IX0r=N50C2KCID=w(3 zQrP~|)JHsj?WyS3uRY6OpBk6h9*Hfas19ymNUfR}Qdy26ZEj&mfo-@WekfbPUyDzU zwihdkqu5pbco6O`SF3T#((0Kcm#Ba8bMa~H8Sax1$sXk?3CU~=?~mU+J|Dk1{1yCO z{a)+POs{O2h}S@p$dLmb6FJBlum_fg2nPFeLvVgTQr7~=d8 zq|Z>Mi!B{Ri*K`eJ`R`q5_AVi7e_kNym08Ag6=r!ypULc#5YJ7-b>U$S49~b!f_9h z_4qyk4~o{hLJx60G#5kR;$IMOIZ>x77qYTyvysJk}s@YH2q znHZe-6Nvr=Mny5bqK-n>mUI;BXFRJxNZy@Gx~1O}Tj3Pe7bvaAcMYlUkV1@12l1-_wqkH6hunzP~wB--WPp7Xk%)tgAtWdvQKj=3lT?hKQG zBvZdCRv#g|5;aR`$n6ka6Vgur{ppsv$59;87t+N96r(K!x*#?*M6*k6%u5@FG))oN z%nQKin1zB@ukuxt3q6>gi&t&Fxm4DBn@=?CVt3wt9Q7vr{Q=P?#2a@k_AR!%I<%=>BBJMl}J{70~TD37;pCv_!dX9gZ zkDcXd_BcXTU0=J4Ct_v?}&_Z$gA0;m# ztN6wi;jBO3-y+A^kyI0o!uLRu+U=Pe54j)7MU_;cU3D8Znr_8vQ;|y7Zy`U-7beMD zDEjJj(b8X#wpjHP)E`CaCT_;4cB$u)qRZi1qUr>Z*VkNYnH={XSrk=T97SjE!Ou%b zUYx#k@jV}XN_v`~ZrQ%!0OFLWd2}m2OtbO__o!d1ZGx|IN_hnJ|QNdegLT<~5!vJ$lls*=7p9TUEARGl+9SQTg+h$b=| z`a5M9vR-)VR_kds6nZ|_O3>3su5ns2?n?8uk2{z0_ z-VpF~y6Gc?;;w@i3AiEMbZZK`4jwIFE8TSKK84EWnAU4p%GNok@7#MA2coENkxbRr zhlD-F`%{lnWh9`e%lY?hlARNvN1vPX@1op$tRxq`7d_Eu2x&{ySh}(Ogs(=j4J9$_ zM#4HxFiy^fN{=oQii>@~3J|P$S&)6C1y+I(CM*urT3mw^0U&@hCF(O0crJ$q`XT;u z+grZ(9zh3?L8-U++ID%qujs03F=Eziu4&iZWa~LY_t1;??bs+NkrFi0KQ~5t_~xfO zYG$^S$7S^h%9tkMQwE&O7i6XS+?xvhvFhS|2&I~D%!=_pE;L2ekLk+o+%G#iY|USK zCx1<1l@oPr1+XOl>4t$&4&gaaw!2@M$meAz`C3U?Rc+FZuk*LFV|~A!Ql|>p%a3O_ z3VVxG#YY{il3LiHKh6DfV%aR-EGL8w+?<=kO^r@YQj|uR7b};(ghjJh-H$X@fOnCq zPQ;WTCWq+FHQj=khhLn&Z1A}5SJHRR#kA@N!%AUTj`TKK4tD7y(B&e1^}(|!v#Zj= zJM@TQo_sid{rRIkVmgIpDNDDm1a+H@rjp`)yUn;)ulh&lM?ZjC2%RI)M1Bl@()d;U zW^x}#4C}XAMiVi|Bc@T zJgR35Th80zw}cPt8Pn;72RvXisZ?*GiOf~`$^&RHp{oV@HZO;tjr<6HxA4pOt>Rw2 zV%Pzmir*8wN3WPsryuYTMII`t54kFTegKUo^mTz=c>s+e^a+99%Hoy1qM5?KM`m{Z z7k)!{MDMm;?p4>+T=)V^N6C}#(ydcDe)SDO^dz+9X~N&DhZo)U)zLIUckxxdW1MTj zG0cly)u(=|soCubljU-bT)W~_U=n`+zXRxygdQvq`2D0z&CND1646^tLnHck+%e8`3uhpq` z1%SFc9zWG%;8i5oQnEiK3D})L$t+5yP;wn5n^TfHsE&@TPNcM{77n5$hLSY4)FyS~ zKfVD9P@=!oCUx`_lC=R>F6FcPhT0C^rYfj>ia*~s)VV<4b{?Rgxe^6DUA*|%Hl1|qI!*LXR{A~pG}0xi83b4qt9P+d zl&Cj(>A*<#4gX+ZYxX+-abVMesnF||u6-;=SxVzWsrJ5u;9Eo5-IbF6oIneesHsD- z9s0BqvvU?{tA#cQTC6FyddOiyux!wXy3A(}YBuIHtw6N9z@8xrt`1QegZbilo%sbZ zU!>KcL@g(XHp^cd+oj#(D7%?(iad(WI%@~Gzd#1_e+KnnXLHhB=-^`d6HI>2`5%8U%FmdTB0u0 zZBTD>`1&DjdcOC)9w%YdH!+xZEk#HuqOKVERZWdc4T1$-#vZTelCAjmirjmCpXT0M zp_+jDeX8E$V~2*u{)}bSorYbpQWy)$exhWR-$(J+J?WGdC29$ zp~ESoSe*%>M4ie%8JfbLDp;a zpda&f!-8WczzJO?>S#!gHGZEirRwbHIq!0b+KZnU)}eKSBWUxA+ z*LFEwefKbyjshb19pT;blR^(dVMK^ApCdJYG|SXFGIQ&LC|curFMN69+xVaqW8> zO6u*C1T%_`CF1J`K!Yd z0*)T5jp7PvSMsC7!&2X^)2cI}oeaAR_PSgHprqKAa{mzx+l&xw8R1zhwHJ1xQe`c z1<3AV29(c{auJle9U`1Xvdi@v=_d+#9m)BE6GJs!g@RLQ9@U)}dV~KVaa!@zk=bF^ zL$wXK>mTH^n|fgNM||1Hbmxa(>)t;j_Uj~<7t(XT%Qq~FNm{5aK0vvqaJ6n z;2a^&2*JVda#c5|$H@_#FNxDyaGaPMUDZlGQmi0-N2EYOx<;JS^{U}6RuvTS9C5CY zO#Kahoo6{~T&g&Iyb zl}>8Vc?q3`Zo==K42ZRUFY*>+lTutlch-TY9VO~kN(u6Z_mS7~#bX;zdmOs^f|y1m zBZyJDg*t?8Mi3546fOQ*DfGpezP--K#W17Hnovq)mLLFG;-C!fHEs|)&c}``Vhj0? z#B|G)01WrqJ( z{*eFwa{!mzGH`FYdu}B*@c(qD{A>Ob@SpVmU5N~Pcij8_wysHZOM~y!`|f||;E-EM z-7_%kjJrGje@=VI&awI2BCUyYjE|zI3bSFmqeLdFiV{PoVEytJ#2TxiP!v0}K5N0v zq;A74%A!u2S*X};YFq3Y{k%LB#grb7LmzmyXF%|CL2qgvfs-a|JWk?xD?g^oHSdQ;WFjux za~~rI77fQMeT!fN)h3?4KHg^nyu8rrcc3YFK|6B&$PT1=vsr&oQxp%fu-pb}%R}ZV z8-7HZ?SuHCaKkp@G2ljBwlOb$eSIif!fhWUIqeAl6Q5qlD2AoO=u=&eWgj4#3SEw4 z+aYh!<#@&RDr#lG_HA&@wnE$y{s~2?``>B!$CIyJy6msVuv?eIy~fX)rBsdvJDx3p zeHC2t_dkdpLNR=<`){bnuveFp^%(Z)aw9zkmoBHUhhe)^m!Z+9+y#l&S!53W!L$N4e_Y`_clbO3_uO~XR2HQaEgrQ>cgUkIQVKepN&W$Z2;=C2*2y4~@h`(a#gPY|Cn0r3N z4{oI1cx7W)e^tT&JxAUcexbexqsOCC$4&SEOf_dP3(Vx&>%G-WW;%VR2?>U&wD{IQP{ zn#aimURmiED+@Uat41slFlfpW zX&9JF9lr1IuuozV%B8nX ztSs>ZGy}V5^^{0I0RTw~B;>O7l|T^*-oEJ7rb?{@mN_zQxxYl2jBi_0(0>1KMiZ5uaI3N zp+@d2!=&@8C>awgB*O~H<12#oWsqU%;~guaoV3uX)Kyu4)h|pG27%}oD>GF=_VSQ= zeMJTW{R!x;MrL(-WeVb;wcABCsz;VDBMX&IsMFIm1Q|2dL0`NnG?d#zEZ$5k-ey|7 z)5C{=%f#AkrnS3y#1zs{`~h2{Ss_o~658t`sExu#0Wg)0Qs+!6R8oCJYNlel29PCK z2g?BB!J>Vb(}_fFiJVOr`K~R|1AifRepaJAbsXK5 zU!5x)X8jU-Q66YdGmlb*>oqf9*341fWNWMkZB8tIc<{Wf5qQD%@YW8)b<*>a z^nwg&C~~LE4|KC=ShJ`-Ur~EzQG1?p>oXEuFABme>yRq0W@{raYIyH4Xu9_f^XA(c zwAnyndIpuVG)tuw>Am(HVTVy`nx?#O7xHvVF?j0(vUT1#>jM7lw&>2wV@1cw1D`HS zSCDr5w$e#sp|FvNa5%ct;Pwl%<)XLsWiZ`e@* z$y7Q~@#qM2jt8NCMG5n+wdSM9JcS?H-q>p)Xb-6r&|J=Tbh0{-o|wbC?P%_?3gVbM zk$lmPj$Tb6=j${V|7=GyYbMhDa{28YJ*+b!c3H@CcXo_?9b%TZEV|+mjAV1&=mLLv z=P>5Of8Uv!=nZYGM=EB^j^QG(4Yh%h7J+r%l@ikkv^d{1ea_9d3`Z(HcrmKpR64-_ zAzrjAfxXY)+SSl&AP|4u-3|WbuI|VrdUtHxa%h=FR~x-
    a6Vfb#5gDP_vr{`dm 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 delta 21737 zcmcJ12Y6J~*7n&mbEc#xr1wbzBm_cep+f=$h9bR$PUt9|pmG%kj3~LedI?)RmRtnv z3QAGwBuE($1p+EXM8GyQsS0|d`QCN*K1m2)`M>A+zw|#(Snj2K})&|9U@J@+C*&@C& zv4N>-8Q+x{#jf&`iRrP6mnn*?$m3lQhScL3Fiu(QZCDR&@gH=)R-B<)jIQCL?{SDYwU1_*jU#u#LjM@^Kp(T;^z z6X7_X|Eqp%5Ub8Gmr8kS^P&2k9qwQLh8h%(u7I=)(pw|F29h3_3b_CKm8Vdp7% zuBFd*U3>R8SD}|7^ld`>o}Q>XC}GD8xkud%fo@Q&RxMDJ9Qb=2qV2-TP3dGML|d!y z!0=_ARurO1jv}u>q8oVBfAWJ(dk3~Ad2!e{cto7}JSnsOr1r$L&AlmpZX*5*f)ks&-!h5cw`8QleL#PW}e;mH3eC^S?jgZsVBq&x-@^zUx z%%A^~InjAT7ll<&QdHpz{P3Yu#X~Ax6ON;jf?=|p&ujLKy{AAm;;eb8^UcS|OV~4% zRGVC_G0Ek-n|E9iVL4TKTOy0q5K4;FWWlBAN!VA93X=v~ zsj%J*rbEj}TBIrhdRlOokr*Avqn-jsk1L>9)d3=}BmB7*4H8}>i^6h?tMGg!{4581 zW%}ZUmHztdwU8fg(XM`X!W64LC@DHZ6ZE=D>hfw6VN8)H@n$Xa+-v45O3|m#+$d0# zzz;ty%DsbHxdH~Vr=g_IU#uP{0o1PNLig*DVP=A;_@O(l35Q&JE|^?w4`8noOk_Cp zHf0#LMtEvh?P(bVdOkObF&08za$%mjl7z0-iX9~l%)je4$7$55hM=ijFu zB-EAj4C^ih%I11mFR|1Q=b{#KE3XVh0bV7VDx(V#pB5cVJ4QuxqB0)mCt5df4~HB* zY3>(=xs|Lq7u^*7%fB~Ci`7s{*g?{-0NaFEtc209b_&F2b0E^A3xeQEAE0akH9s4) zSz2Hz2)j$rVzs>5;wMm1P}qcGu~axG57;EFYKV1*`quxyGOkS)1>;O zp^oLVveVk#nhJS^x99*OJ|}6l=Gxr83pX|VY?7ih#Qa#k_!X?8Me1(w*buz~&YOyXFQ$N`&A)c5 z$NVQ}1SW{pA}}GF2X_A@V?Fv*RUpjEh4~ur+i7vwt&cX3hveS<=P{-{SslJx~rQ8uF!Vjd*G)x|E@Vp$^p0-2@p zD|ol!j^1rL|K_c#x^xIgSMkz!DCxKn@A<*#7O|7inqQOt-CFv>djYyOowQr|;@)xY zSAa3hi#*?EHlu~<0ux`WkcJS4Km#==HffHfr{pcRmP5E07X!T%U z6xwwUXp_kHaiQIGzcvFSGnv#QgnH}!YG_kP+d*h|^Yagd+v5e};eS08?p6eI>;b!m zWOwnd9`NZ0v{a|weL{Qj0c{#--xAs@4`>^acA3z2y7PcKozxEt^`8%Dalll(eT3H9 zg;(?qb7TlEunWK5H!LwoaFJc=4#1{ldFwZx(r;Ac{F7+RLs$(ejKcAGNsk2FXTu5&ZK~Q_V_F9^)q`?Y8gX$z7 zFsSL6owOj)wguaX7`R$TJjT{n7j@(zLKe~zQLL7biZ;xrmdnji**MBB4^ELs;dyuU z7!MMfPW;@U9;}=<7@Wjb@t%WE#J>(#R|*y{^eP2&iq%b%sSZpbTRl$FdGBB#?_LZ~D55UN z{kp2kqu$1{NsqCkE4*qiy0y6v@m=AB9-R9@xn2tVWHD7|2cP-Z ziq%GZ^RV_=0Y}m1TXO#reG3;oiud0~glKYgm(#^RKwOqjfZvbsl)U8dk0CH3!##k| zmGRMe5q*}`sLE*UcstQf&ExT#f!2NT8#vO-u=NjJ8cNc|ka|}ERz3525=lOlm*+Xh zK7PEa3U@rTJZ6$K3+PMN;lxE(Je~t@K}fy5zrY2Gs@;ojbLmhGYMn$i5~vt>+f3fP zJbSn^?p}qSM?*+IBk3ntQb3;}`aQmAxHEXWKu{FFko0lBVR%H^iW;dp6Vm>$yX2_J zH5fvQ?O}dnc>UJh1X@P;8CKg%yHKgJ94QhTFHjU=Ciy(e`;2h9uO8DQ#HEvG5=q~~ zLM2Li_a=tpDCy);>13CHhXMWs!Jh#9fZ8%2*RdcwQrUUqP=S zx{JWXQBChb!KpO)y7K}*;6ETt0(XqeiMVmNx&e3pg?!4W2YO3+{>TjXOQ&@2dkOsy zqKk8JocDN#ih9;_EfAPPgqbQZrwBuP0VA^h0&|ow-2?{1%i|5Gg=s7>UlArzVBDA+ zJ>JW;if9+0ZwOS0Wdi}-Ak2YUm>)>)@mwIxDS^31n6yEAwXt@9-5~y~aKQ0{IBFuDwNhM5HEk}a|<}P7e0+UIYkXo2bf%%g#DFV~R+vdPhBwJ=@`Ae7!gn6pF|=eh{|?;_<`~bQ(cDo(4pZ7IY_~2MBs7(X=)IGn44Hf_|3hCW2l~ zv=ej&K>LUZ6N-yOI|O}?=s&;G9c9i2ee)~cW=x;xyk;1g`dw+*Lqrzi-ci3A=*(A* zaSn=utbSD>6gY*aVrBIsP<`bF92KcmnPj2fqeP|S8e~_5><3DO-_yFp@Ozktj7?5` zTgcA4ih|(awLTyEf5kx96g$qw91pzqjN9%}O z3^U5ik2nz-6AD@4+fDhEv4e0m-+5dio5c5yo5D8n^!zmeK^e7NoB5giqwYnRy--*B zKyitk%6h8R$&ec@T&#vQf#DvnAF8GKaFE4nIwgC&R_Yo00jfw15}M#@4P7|>JI^@# z0{H1ZELVvLUp)&kv|oi%iY1m3k7onreC-(TFk!9fkG=f-gl}04-#zgh>%jjt$;$@u zXC|+4D_>Mq6)wD^==0f6Wbw=AB)K6Zw@GqVms}N+KS=VKF2NRvWn0omR3OUZ>P3m zr}@98CfdZ+%O*Z(YEL#5l2q22ADG(5bZa0Foz|Xx%==Gk%bwtWpVozCZ~kIhJ?o~~ z{Y`Bj4_6jrwXJ$arZ32JtxPw_bhk`Dm+6_!MRSMQ+|zS~`39L9{Qp%t_Wpd_RsUBR z8Gg@p`|k>f$=m?`|4J)mhW}6gkpKTW0KfaIu&Qp;#nx$3L;s(plz+8@{|r!D|6i5J zu&b+YTqn>jb$H<2df)x899;b$s?xAC(z*fs&%8}`j?EXI)Ec`V@mCa8VRr0wl;~tt zQR3)mt3N>k=&%_AMR71|kp+oK-GU^>qE4Gxpg8Pm8*CW^BLFmIMB*F>oc&n<0zHtM znnlqe)nT$#;A|9l4|$kcMm&W`?3Z1TcFFdN56_DpXLJlkzj-L-GgbhUNdB*#R{^Q`~g;uwrO~tL>$oEIK zC&?R4`vID&*vP_i4_bR)WS+YId+=;8$Pa`YwgcCIAL_K7Mev*NhhrMDuS<4Y5&p;i z^b>R(%Ye}*Ivvm6MKoJcvIQ-<&^kd3AA zydj*%@4!_CkKZ&X{a3Vg#}*x6>o6xOA`JBg!swQDQ;%(&A)LueH>HLD0py7EuTV$8 zGl_4{zuA3gTu~Sb^{BFx&?5l#OsnBZ*tsq7-JwzZ zy5X(1=?;Ovk~nq3WW_hp>bC|?tiwj?LO&-Ew#8Eg!w{+6e?Bp8#cvTjSO+~NRM04n zM*kGdY8d$>l2sx4`xny~k8C&PqLJ0865tV=BoD zxGat0q*3@ZWiX?{S)ra9aF0m$&wUgb*(+4||4z7v{{;977|(Zol#oGVpb-n9 zT7g?Dje>N8?Qf;7--IPm*Ef~80yc7=kK>#>q`yAWpOpq!Qx-0KWLq`v`nc(&k6_wD z2+bv{afggfNeB99cC(&{2U}PDVWk5RPh>0@D-HHoBY)fvhP8v60JdD3$EM1tSmq|IH51pgGZABNU- zSuY4AB>_A;Wo;}?o~Slyoy<{HN< z#Y8vpI00My_?T_&hwFy_l!mKhm_rc}Jwb3`7OiX+tsEd~)ht@sNA7(_0_#hGnPuHl zv)|g*(3hIs?_tF7?kS$KJ*D+FA~Q0n>?PSMElKaT>i|0pVbe6_J%^yDTUG-1esGSC z8)q%#?(MN5|A-e|Z~*Z1So-nx+atng-{jj0NP7po{9cFUQ*-#~?J2m?|7&}cyCDRH zLBjD=>y$X*WR~!um>yQv1PJ9s>ujm4$pN-&1IW3lWCAQ4n<4m{D^~bOlRj8!5c-Qs zW&2x{DBD!^5=4Ki-$4P$R5DSqxuBhEBdsdUyH=ZzBJ-BKY)2#CX90UyrGOUlJ3BgB z2ZNv3hqvC@%vK6=j5&tS+S$RkE$BQQR>42n+0>d1zHdK%WoHlT-#~U=%G>Pf5d8tj zY(H6a#g+)RnQnBOKfh}j_IE$+N=u4_G~SkmiL!g7DA)Sxz(|U~n(a=FYXMk7K)OEN z=2<3zOAK9zsyCJN4=Uh~?sj60duexl-!aex>Fz4|!QI`FNnlxg!t;<~c#%J&kBzC$ z1v&I76FI0dhjDriR+&Sd72h(HrRVB>^&M0pJ$GbxFlM9*^jTB>_<0Ib)p7rco|Tf+ zyo9szWYO!lNl(5BqTILWCu%$?2-YroypMw!MfN|e(BRV_B^-kjq9y7 z7gf{?5z(V|f~PN8I7Nuv3WBxBl zix=iDb30wtQn1;~A&nQ1Up$rt*mnn0V_}YF^`w>#GxX@OY-03v8T5Iqqtv(1wXl9% z+04R(^*E9_Ubmv8tJnhWvv0baO0tUe71m0?zcNJNDbjikhND`EN`8$+ikg|Onql%9 z>uk&c0f*|?d}Y|IHf$#9HmePraZ13i(x!=#k%OiM%4m&YG)gyGV;JQr__#P}e}-*3 zD(|28ws_cn5&b{e2pPTF4+UG!mVa)D@(3! zLor`u#zc;Ky8*#6=58Wth;~uD%Ym_a4KAy$LB-J;@hxPPjRlOl1wE{^8732RAbc!j z5u)x!nIm-;Q@Y-EWwx^OVF6_usCQI?5jDoc06ew-dtccUzMO4ux@JFyDh{ZM8C zok=^f45JpPLOZd}Muq;wR~|~ReGYsUo6C1dd=_h58=u8G8u(|q&u0m?YrsdcH9YgP zzN`~>fA&b?Mo5^I+1_g?+Wc;HrL{!lxFGjAoWOSTMu(HEdmyOn%?BP%ik~3ST_xH& zO{tQ-Z8|2b6+j=sNV-_Uw;xWz#^c+=QTT%B?%@n89q+z$^7PM>0*Axj*FNL1hsTV@ zhVxOMXH0$vvZJO3B9@w+U%kdC{o(KHKOp}La?id8VHag z{f2c}3KfGd{USK7FVJtxF+b7wY3SD*GXO@%<}Z>P^wz;uRUNCdFykB;>I1`nMc#yv z=FQ=}@{0uP9LScw&7DV*vw~5Wg$t5Jb=91+BC?UgY_pUDdott-1B66Rn(jG%0bvgf6WO9WJ4R*g5_% zpriRej>acWOA=m})rL-z&;j`LIOcTI9YLJ2t+_3;W2K58R#Q4M{DA4rPv1@bA{V_s<*FG5 z1U(1H=Y8ip|NG8UmRh%-@<3&&zV)O)#fHdok4IKyxM@QKZ_5!@z#H&xe;+T07dX2Q z{p@a9i9z8Ppf8iA>7e~}+GOemIzYe9vzW$$4%BJY6bd>>r>!O*(7`%wQ!MkrnCnH; zWuxPJ`1c8K%amBfG#T;;nE@R;BK3a5j1=x>3C)B!0*m%pW^GHi_<6SPN@b zOX24mpy*+xVJ!&ewC?5ij;G{MY|e~AXs}l?Q`F9mbUldOgqbS9*++E3QD&+F=P1GD zDd7rv3Ag^qN1sR>N?yVn*7g#fRohE=Zf!5&LkuqposZ2*PjoyxOUx3X8tGwv;zT-T zwWN~2~KijJN4opSYvEAcK zzHFC3T_@D;vju+PlX_4X(LTHJ^7jqqXTGd-AHWP@3DjHkB}=T%gj3;HTj~=NtZUw} zjK{QP363Pq21}5xaT2rDk`zc9z1qtyujsHgq&cYAdJ-D!6RO|-+AYiBTMg40 zKgH%x?joFY)9(K}9QdfQ_QRAb^$0cIUmqz53rvE)okBG!wub!d*D>K&;mFVbB)|@H zx$L#Ry}AF%6n2m|KbhkG7=V?wEZ92C=id`;%(lSq^`Zdt`bY%$JMZk>vP|yoNkKG~Y0?=bTM7tF>3(V*fLh&%@QQrwV7WBv~ zf{p+^;;x`WKo2*g>5+jy=sdb418oOAEJmjtbcte3vNi{2rP{Gl?JJHisE(Wa(}ZX( zBuRJ--9lLstqxi~Y@MuQNJWP=#c_nsI+g7H8pRp%yzZ5KfE)(DBIxdDlR<9@Ive!B zO@g+89~XI$dQfm{uC*1 zUo8(VM(N*lt@tKfpKIQ1AU2)TmEd(ytio)t+G$!^l_H_`-Ndyhq=MiS z8e{=GFRQ&Uyk2d%fDGRzU3?OTu&D%t`5ubb)!JHzHmu4-Z=r{k#uh@sT3U_y*CQ0r z*pvCrZ(`cfq|~wljRq_q_LWqTeZ^Ei3SAsxvyw?`Fe~pY;xN*?Jos!nJ|69OR!;R# zAQpP)Ygk$ax5`SM6$am8syB(L-cL;RCNb5kwWfNLnCjJ9Q@u${_3AxdcD99$rh1yv ze?NOkujar2+T*-rrWrjjoaohNn$UxF`8#Hs&x0dLzQIh>d9ah{t!A3dgENROH`8Pu z+=l3bib`|2ImG-fI0Q{=iO;Vnh@%oO>q1!BdIiyLm#&^93U8ec zp`V1h4CG+`!nsE52roP5WViT*b75>9zk9BceFDI&x%Dxg_Fam51eg|j_;iIELO;&1 z23AK`;dmypp@)^$n?_b4R-?YXLIF)Ebq*Gia76DNd0}qZBF{>M{aIMXhKSXEy1fs$ zILS@5v*-91-^Gg6`%T%Tr)A~=vS0NHuiK=d_cdwl)mt`c?bTa0DOT^k=R3zyllsyv zn5=JqqJ8(^6^4d>@BF2qG)QDaTWdA6wN^u0Yc;gBRzq8BHMF&ML)&`tOBZ5>t;8PI z*BXIxVpE5YXsP3>n^7Tt`X#8ttgMs5qYwu8P@Or<7DM$RQ$Vrw%zUdx!c8>{1Qk6p@3ym>;_6M31;~v5}jOOx7IxtH`bw>c^q@ z(V?_A{e~zI!3!M(eOuJY!%^!;W7;>`vFEpfzADwtQ76}tt$*i4TA*H^M`O&Ge z$6LD6k4}=^H|ccbw3*`-2Y=!FVD~8m`ODiqM0DAd1s+y<8#v1$(nV3`)JcQiK-QOD zl+a)uNYG&VneoD0DNm`E`(y%thQ4~H`gT>z`vPvE&U+@gg&CugeEYnCtiIUCoBa^( z-Vd`cqN%z~C8I*RgF7NmWmBVm?k>DFlis4IDeQQ#oLMo7V}RcOqy*JuSwUHn-~EZg z?{p<#AlNdOgtn}Xt}@!dmepWC0(N^)cYgkdFg?8Ov4$HT`Z#dozFZMjpK3P)v6$&O zZmfY`K^aFb>n5P|8wEYAw3wjO@kU0@h5&`OloQubmL&y z);IR!&rGA3JJb%_dX0}VY`)X$S9&N_3&&nb=mAllbzl)#uB zS!uu(T@y`nE$TdQKJWW;+8Djq^JTG5NY}Irq9-#7(EAoSc@~z7oShaq@!O)D5bd6+79K(KV^4=c4b zfV}I-2jq^fkhf{d6E24bg%KIH2Nvd%s|$k<@!ZRa&1jZgYxi#iO4}K+@1#d;i$xA{*5oVm7kkGNI+-E3TLI~u<>)y zcX4xKC=YYVGPmP0GM}UW2w*OG+U@w5*sOGfVJ^A1$h?my+>T*i@b-A0;=^vY!KcK_ zZ-;jO5-@kz_xiCSTZ!B{SY)M9@)#ayz%twd=Uyq^4m~TRNm&Y-xi0N z95yY-kHyxbiv?_-@Kk@V!ksK4iWWhWLN_)-YkX?4h_p6zcW7VMcKfk}P$%XD0WyB5 z9x9!8!|WzB)jvIxd9-l8u3Br{yWXm&2Nl}BpQc*YL$$VMTGH+Op6PAaMdfMR0$FjU z#`J1VuQqtuuqHZ8*xc!xS92l5#{|9Cu35ACwbxf~*&M`{n@o-fEw>(Y3i2mBGIrX`$+NTpEm`CiZx)O8-4f7+eal|##zM3! zU0IkG(v3BW6Q&tcl}9Em7(Xk2?nIEYrxlDXm^Ne5+%3bqvDeLSxtNJ%YOELQ5w%a= zE6|9frw}Efv6izXzZXkj>}_pHZw$}6U&N%LtU-Xa(l(O1?#ELtp$>uigm!_{?fZ$= zLif<0-cp^W1@~bQthbidhc%6=`+HxZMBUWpKy8ZYrmgM69*x>3PX?2vvs)6jMr-yE z@^ZzBywao^XGlGi@3s7gSX1WFN(j{W_ob85+67V{trOuc zsh+C^1i(?=plyd1GPJPL;H7q-`VX1==MfQFV`K z{jso6B_(Rj`XhwD%k||^>E#iro~Y%My6!Kei=_IrhF@MI*edPa{>bW-b{dH(AV>2V zz%tmATH67vX>?+p3O)~8>TZs%+EWBOpluugAFpbM2CyC&_rU{^Vcp;0o6%tlM$c$D zq^|poNk6InQ=3ET-_v?YLPWk=)F4Fk zt(FfiYIL1OIw`?(wGvYAu2ahEQawl8GYD0aqTQqV;$9Z zw%WTxSVJ~ls~7^?>lzyh+qxf?w!{XDY&}{ts7>Z%t=CXgBmDsgx|=XM;26LtkU3fj zd8zy9?PJo*IBgHqn7>aCMPc{05KiVvFZ%cHa57PI;>$WVUTZrHfi=>mA&IJcK^%Y; zRphvF7+UP2_B)a&dBt0O!#e{g3jek?JP%F^>eOG6bTU(0lZUYDe#Ej`s;6ibq^^5C z{;^b#)Yx#SZ_980R>67_POjE_pNSIZd*U(N=?*KAqnD^k5sn?veT@^jEw8Hve9g#DPdW+d{+ z(kezG?A}_`D9jpf%e#_n>B}X-rh(e{QS8y4z3YThEcM1l74@w@t01Skq(2E#yPU5} ze1FY38nM;=a(<^&kJko_Mo`PNmq(-gW9kg1Kcw^bwF_{<25P?(ivCs_sooE2&WXL)U~_4mA=Q1fCF2m;9c?3_=+B@4VUUoT5vwprxJxV4mtWW2WpD&vX(>Yx*vW#Ev=u`=0M%kIC0I95w4bMWw`J< zLdxkEUGhqQtEP6W8>D=bRsnacv34mR1q