From 281ab6a65ca4b95eb943d1c443ff01ec3a629987 Mon Sep 17 00:00:00 2001 From: xiaolei <1447360283@qq.com> Date: Fri, 11 Jan 2019 00:41:02 +0800 Subject: [PATCH] =?UTF-8?q?=E7=99=BB=E5=BD=95=E6=B3=A8=E5=86=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 后端/LoginSuccess.jsp | 21 ++ 后端/addUser.jsp | 17 ++ 后端/login.jsp | 167 ++------------ 后端/register.jsp | 285 ++++++++++++++++++++++++ 后端/yqb/dao/UserDao.class | Bin 0 -> 3771 bytes 后端/yqb/entity/User.class | Bin 0 -> 1301 bytes 后端/yqb/service/AddUserServlet.class | Bin 0 -> 2784 bytes 后端/yqb/service/LoginServlet.class | Bin 0 -> 3865 bytes 后端/yqb/service/MainServlet.class | Bin 0 -> 1977 bytes 后端/yqb/utils/DBOper.class | Bin 0 -> 3683 bytes 10 files changed, 340 insertions(+), 150 deletions(-) create mode 100644 后端/LoginSuccess.jsp create mode 100644 后端/addUser.jsp create mode 100644 后端/register.jsp create mode 100644 后端/yqb/dao/UserDao.class create mode 100644 后端/yqb/entity/User.class create mode 100644 后端/yqb/service/AddUserServlet.class create mode 100644 后端/yqb/service/LoginServlet.class create mode 100644 后端/yqb/service/MainServlet.class create mode 100644 后端/yqb/utils/DBOper.class diff --git a/后端/LoginSuccess.jsp b/后端/LoginSuccess.jsp new file mode 100644 index 0000000..2f62a4f --- /dev/null +++ b/后端/LoginSuccess.jsp @@ -0,0 +1,21 @@ +<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> + + + + + 登陆成功 + + + + + + + + + + +

登录成功!!!!

+
+ + + diff --git a/后端/addUser.jsp b/后端/addUser.jsp new file mode 100644 index 0000000..22f1812 --- /dev/null +++ b/后端/addUser.jsp @@ -0,0 +1,17 @@ +<%@ page language="java" contentType="text/html; charset=GBK" + pageEncoding="GBK"%> + + + + + ûҳ + + +
+ û: + : + + +
+ + diff --git a/后端/login.jsp b/后端/login.jsp index a45048b..e98472c 100644 --- a/后端/login.jsp +++ b/后端/login.jsp @@ -1,150 +1,17 @@ -

<%@ page language="java" contentType="text/html; charset=utf-8"
- pageEncoding="utf-8"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <title>Insert title here</title>
- </head>
- <head>
- <meta charset="utf-8">
- <title>登录</title>
- <style type="text/css">
- body{
- margin: 0;
- padding: 0;
- background:url(' 图片/timg (4).jpg');
- background-position: center;
- background-repeat: no-repeat;
- }
- input{
- display: inline-block;
- background: #fff;
- }
- .xzc-title-box{
- position: absolute;
- width: 300px;
- height: 50px;
- margin-left: 100px;
- margin-top: 5px;
- text-align:center;
- font-size: 28px;
- font-weight: 800;
- color: #ff5000;
- line-height: 50px;
- }
- .xzc-login-box{
- position: relative;
- height: 400px;
- width: 500px;
- top: 50px;
- margin: 0 auto;
- z-index: 99999;
- background: white;
- border: 7px solid #ccc;
- }
- .xzc-username-box{
- position: absolute;
- width: 420px;
- height: 40px;
- line-height: 40px;
- margin-top:100px;
- margin-left:80px;
- font-weight: 700;
- }
- .xzc-username-input{
- display: inline-block;
- margin-left: 5px;
- /*background: green;*/
- }
- #username{
- height: 35px;
- width: 290px;
- border: 2px solid #ccc;
- border-radius: 5px;
- }
-

-

.xzc-userPassword-box{
- position: absolute;
- width: 420px;
- height: 40px;
- line-height: 40px;
- margin-top:180px;
- margin-left:80px;
- font-weight: 700;
- }
- .xzc-userPassword-input{
- display: inline-block;
- margin-left: 20px;
- }
- #userPassword{
- height: 35px;
- width: 290px;
- border: 2px solid #ccc;
- border-radius: 5px;
- }
- .xzc-submit-box{
- position:absolute;
- width: 80px;
- height: 40px;
- line-height: 40px;
- margin-top: 30px;
- margin-left:100px;
- border-radius: 5px;
- background: grey;
- }
- #xzc-submit-button{
- display: inline-block;
- width: 80px;
- height: 40px;
- border-radius: 5px;
- background: #C5C5F8;
- }
- .xzc-goGetback-box{
- position:absolute;
- width: 150px;
- height: 20px;
- margin-top: 80px;
- margin-left:40px;
-
- }
- .xzc-goback-box
- {
- position:absolute;
- margin-top: 80px;
- margin-left:200px;
-
- }
- }
- </style>
- </head>

-

<body>
- <div class=xzc-login-box>
- <div class=xzc-title-box>
- <span>约球吧</span>
- </div>
- <form action="#" method="post">
- <div class="xzc-username-box">
- <label for="username">用户名</label>
- <div class="xzc-username-input">
- <input type="text" id="username" name="username" placeholder="请输入用户名" />
- </div>
- </div>
- <div class="xzc-userPassword-box">
- <label for="userPassword">密码</label>
- <div class="xzc-userPassword-input">
- <input type="password" id="userPassword" name="userPassword" placeholder="请输入密码" />
- </div>
- <div class="xzc-submit-box">
- <input id = "xzc-submit-button" type="submit" value="登录">
- </div>
- <div class="xzc-goGetback-box">
- <a href="#" style="text-decoration: none;">忘记密码?去找回</a>
- </div>
- <div class=xzc-goback-box>
- <a href="">返回上一页</a>
- </div>
- </div>
- </div>
- </body>

-

</html>

+<%@ page language="java" contentType="text/html; charset=GBK" + pageEncoding="GBK"%> + + + + +½ҳ + + +
+룺 + + +
+ + diff --git a/后端/register.jsp b/后端/register.jsp new file mode 100644 index 0000000..8b89848 --- /dev/null +++ b/后端/register.jsp @@ -0,0 +1,285 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + + + + + + + 账户注册 + + + +
+
+
+ 用户注册 +
+
+
+ * + +
+ +
+
+ +
+ * + +
+ +
+
+ +
+ * + +
+ +
+
+ +
+ * + +
+ +
+
+ +
+ * + +
+ +
+
+
+ * + +
+ +
+
+ +
+ * + +
+ 男 + 女 +
+
+ +
+ +
+ + +
+
+
+ + + \ No newline at end of file diff --git a/后端/yqb/dao/UserDao.class b/后端/yqb/dao/UserDao.class new file mode 100644 index 0000000000000000000000000000000000000000..48bf28ccf280fab91259b441dd309f183d3a3bce GIT binary patch literal 3771 zcmb7GTUQ(B72N|8BVe3RF1D!&R+`$8K#m&6A+cq!xyUh&09zL*klKu-u`F9i@@V8h z(z;HX)M?VzNqS4tHhuIYRIqBBzqRl`)!akf}4 zS`!M|L*YdQzUfNd=t4U>HTcn?;ORuMY|Pi!vxb@0vn4}8Z=#aZON+W$l(oC*vu+e? z3I-C5SDK!WDNqZBCBg7^D4e*d-_fHIMl?~ZSv>Ac6$@qEs+)8l-eYjqb83{WqP1zK z6`P2u=wrUy&L&M$-xQBs=tZZBgH32O-R!~uIs+JFw5fO^KAjGZ1TQ2P=7LuCTAeX= zLBSCXLwH7kW^5R_x@BCc8|J2hSjdUJq?ZfPlw}snh1lxeEjPp3?NT&p)aoTGWmvHQ zjw%Sq17&^P=*F{nPQ`Z!h@HR=TMggEF``1yoJSNKZ}GDGOmi@j+w&Si2rKBWIhf0H z%(az+#Q;X#psISUCbv&$c%k{W><92Y3Z+yjl(JlsXgq_Z8sIa-^Ql5H@lVM<)7V!*v_ z%;18GxPqs)H6ZkBcnudRXg#0b71~1frjfH^;T6f^l7`oj-~(l2gE>(DD_xk!Wfcp& z=CP8xl8A5QjH*?vlr>zjYobc#NsXSnl{WPpqf?O5ke0JRu2iWRlckc2s|2K=XRqdc zA_YFwQrrxOijZ2f<7lQ>L7T}+>vv9e=!TV~km^I*N6o?W^x)3Y-K;js_xWA%?N@RN z4%lhW=~cV%Rpgl5?if`t3a2pb$kR8>%9~E}IN&ydsm*y?mf=>iYzavKMFk@*D>k@v zF`kV7>)yRabp^+Rq8vy00V7{@o6q4;OV{C*0LluInaeYi>3E|L1XJ;JP&`Trh{uR1 z(U~~_t}R>f&G^1!L~r$F}{JI8i>M>kh6zd5qrWuh~-`V}RqKx!%L`BPWzCeEW>=Arg^6U+?fE z1lzEMPc&iG|A=>LZdqhB%5K9-HehTMm@@h*e(*$F1m&-qgbFqt0y_3>MOg#U-RKT4Ip zii3#b5Ry2IYZyeq_A`V#c!qwC($g^BD=e9*5#Q8A-pKt)#Ni}(*N zKB2v@`9N&u=Tzha?Yw@Sq1#j|s|-z8y06Uj-XJf&zahKaKAN)WaUuO2*Bjgk^82&p zak4*k|DT(PaN}oiH_45k9BnYPcAJ|^!b#pgMGr6GEsl5bGSNPT_c7MQ$$gg-0>C#{2ud3*98Ub?)8V8aDVLLy$B8g7 z4Br!8bATrH!oW_TZ!r!B=#wl80orOG?_DR*0SD+UR8q^n$EdM1>Z4n@vxT>|a5uH= z-`;ztvDZO^_fpF$hx=sc!!h50?@Ju@jeDs6vX$b8{%oU~W?l~%|5X?ss$+Kfp5b|n zC*wqLg6clUpBt0ReTud-w4NrSGq^?VmpPia(1f7nA!ymS34$g*!Ke0{6&JxdX8$Yv znp$4A5&R8jg5Z!Kxa1-@K#kh?J@AD3TMxfs7r!;)_dDXJHt@So{0InPY=X>#(Sht6 zV|AW63s#r-qpYDo2dmeaSAr+=IE@9Ob(zXb5}6cjGqg@~mSIYZR8xldEj3}a=3%ww zVRhBRYSqQ+w1-uEFILn0WA!<{aI}VhyG0!%R=?j-)Zb7tM<{WD;TQ{SCk(5E;SHW# zWg$u{Tw~+PB8VJq4O-_}iUv#YI?K)=RD~uOVjc`Jujo#DFpRk{^m{M__rk!+v%6b% NuVntnNZat`{{VObJF)-( literal 0 HcmV?d00001 diff --git a/后端/yqb/entity/User.class b/后端/yqb/entity/User.class new file mode 100644 index 0000000000000000000000000000000000000000..19144aef5cdee4ef916b3ca8cd9c2b0d330abe2c GIT binary patch literal 1301 zcmZ{iO>fgc5Qg8)mm9~WY0@T?rqIwfI4;x|ZlGR}kRn+iQRv+XmT{HX#c`1OpE!U- zg~Wj$z>h-AtX-vSH$k*KYvN;Tk9jv?s~Tz4|dCA0|p8ILU z=i;)GeTpd8wx_9qa2jEdaXC5hmOZ@7T!+AY3suxeKEEyBw(qK$^(H8n$=-VwjN9IM z`39waCp$nDj#&5D!W!z-1j>@XRO}H4tdrD}9b(xN3nt6zB+G9FOb(W}jwQzy8l2JO zNH-ld&yqzt30_CstU6bH!UIB|9LhBADoR`>?MlomE%8W838kf|WE))Vo@co(j^|f;`lN^i+@zrR%N$;YKsaBka?vcBKDR>Bx>2 zD+>M+F%Yh_eEO|2l&_lQTH^2Ma%=B>(^b literal 0 HcmV?d00001 diff --git a/后端/yqb/service/AddUserServlet.class b/后端/yqb/service/AddUserServlet.class new file mode 100644 index 0000000000000000000000000000000000000000..a84c564288675d9fa8e708d017ee82d62b23073a GIT binary patch literal 2784 zcma)8YjYE26n@_HvT3qSOA0~|u?Uo22^YB~fRvV&LR)IDwy3yGw(UZaO|zTQ)+?w8 zh>GI}$1mzQI{3*MMkiS7=#1a&|A6tE|3H1--4J?{l4-JM-*evgJm;L}J*Nx*{PG)s z=kcimkHFTLnGDZNj)pBgGiAi|aC1C9K)H{v3EfsuOq+|^ls4^Ha49@t+v)IW{^V^0 zD!IYX5`%iiGR)LKN2`E1BT(LArYu`a*@IdltC!HL{0M>4qejZGj|&vl)(r|2x0rF= zhav=2_}~|)=rmG#cQ!eyXZp3#gf0;5G-Gt2(GB18i^cYYVF^@sK0b!1KuO$e*KL8` z+Rn$v(yLEqb<2*fX=bGvn;w<$eW#{ldfH~>mV%8d(v{Cr!AL~#t$8xlvJnP2})F{{~u=9yh zrD7Lq1=d@--7=wNw3w}DPNiaI+(?ZJY;XaD6IyCK+-GOF$eejmFR;3yMHFFd$E_9$dZ{UEvd_>_N!$50ReSf zw|j^*sS_%_tOn7^^%B%x9Lk@U)+`qK2t7JQ%-TjG+^X4R@L>cL92MB?D4h8EjAS~Y zOLd!>NouwiqSj98WrQJj$cua(kC6)oU3Djjon3GB$DEO?97 zt;Fa@BidB7)CvFjXmm3#(9QWp$opC0{3NG7*+X z>oM6@Sf??hRG3K9tL8RnflalA#?c-y zjC61nt6m58W_CCy@iaHHB;5wrd>K`#joH&|u8#J93CUq1Nh42Lg(vh@#ELG~E-Em! z<$bmmyVRwnoe87hCc|1DG}+Q;W-~Fp&5)C+YU#k-EzJc&y;;&TsSg^K!GYDBN}0Ci zj0pDCWg%zj!6Z7eKZBfOfjB8B_-80!a4-`R*WjFr^N=!rF=exP0nE*JX|_e>Kht! z*u4C>oiwg-j;nUf^2c!l-E4JSD0mjtJhE8MxRowEHH=0AT4)Gvo5OYw8iRFnXz-vR zxMvRgJm_u+9(06A@jMO>-$Nu)GLPtR@Yp@P5Gf6nhDvg1jwp?DI3*DA*5}X>DGQYa zyXJ7tgNTn}zbpDF4!WXB@g-L*pT`J~eK`^c1)6erB@_r1=kOXIN)EAkj8QoesR&hs zd?9~G4VC9$4Dl_HL-GrhhrGeb9IQL=QJSVCvs46`^iie}Xkv|aGsZAN*n{oZ$A-Nh zhd7r`-~dkJAiDWB%s~>z5#IL*W;qPr#ZlbAG2F&+d``=+(TpE(5zfy zRlI{M#NJJttHe`AjFWtuC7I%EP6L$u#Csk?lvI9uXfca&+P338ypI4;*W(&KU^cEZ z6A^g+CGbiGLctCNjS6l!e}@%B9fALQ_B>p4RU-;rIi&oMCwOoRAMqI=w?5|glk*T3 GZvO|Nq|XEZ literal 0 HcmV?d00001 diff --git a/后端/yqb/service/LoginServlet.class b/后端/yqb/service/LoginServlet.class new file mode 100644 index 0000000000000000000000000000000000000000..4a14b9c79bac0637e20c3ee8d53560365c5832de GIT binary patch literal 3865 zcma)9S#%TE8UC&%dt`aM2@DaXAP50t*{Cg$MK%y)8|>f>%dz9ogpQ=a9*{I*W@Kz= zldf6X(v-GIL${=D+;nefQacKTp1$NEhxfksG;MQw`qb0MH2v<35b|>3_}DXd?){hV zU+?dC{`b~R00;0V1yurDQ)V_ce?A$rb!*m0>9Ij`+Q=pNkJ?B9)u4KDuSpJXdEyp`dTBdhO@WH;hl%98Jx2<6FDrc2^R3=go7T6$R z#0)bwFj77ULf~U6wqhgwlQu_9n}`+5LnN?gT}&QyfqOe)}5Xi&C*hiZuR9-X4=S23$%CuVi_$r9ZNVCH|etg+5|Q` z`kYLqY^F0sM)F4vMO*;w*r%XFVE1|eJnSlB5=Zw$i^*XfUlPW%i{Q|Yq zx-)4RL`Jo(dtFCL=Z_Lk>7X-!gY;a1d7RU-38b5Be0a#m+8F?=lxt~s0E4nplKBg11;Y&K?V>6;M#hfy9v#W+ zRuDsIkdKop#*kowQasJb37lTTF{}OZQFclZvd?E?Qna3u#YGo9EHIqt8|>>DkK7Ja zyIe>Qw_9dLj~p8t8HzZ`({eX5+21$TSEgik9f@=g_qrRBLvARTq=(#MtO%a8Z%W0Z zIK}Aeb9$=a=qC%hH80S)hLNXM+f-q}m~Iy`PC|D&>+l#(D|npE%+)CEE1# zN}MaN&hlyb#th&ECfq-+UVrz-^Y6ZL?VoQf1o0xir{HSEy;#wjReWFe_v*at)&cxb zpsg!u9q!U1GnRgaRlJ9xHgfyU+W9?)-+TJ<-(Pr*!r#04R98$p9K=ibv4WR*6}dSk zYc6qeuzcyN_=!7jxWW^TmO3}iJB)GknFZEii!n5zS)poWal7KuXLwI|lGdzI z64j*KTHyGxmOw9gNfu03iXTELbW1 zm?5XW=E_lYpY%D4d909=l|5nD21mi}T+Vbfcl_eavI3P>K8#K3$xf(TSEOcm!y%;AW1 zgdQy7C=V4bk9*4imjm9imdg{~GI$+BQ%e|$*M;lCN;nX%4F?x7IvE;|tK3nmZ(w4| z7xpKn{Nd`vA|8p?hwIIo3^!hf zMFq|x3h^e=%!ivwG?%6%!xBChZw@zyKEH@Bw1=CE_(~O`p=XQu8sUe+p(yQr&WBeK z?g%}~6=Mt5V##^5VXkyg$V&#JmF^5a9wd zA&UPJ(*pB&KmLuM(dZiD`YSOlFmncoqMxe(b=)F`1=JG%pE1Z)kXF1&)W2Z9UnJ)* zxu?>a=kP218udJR9KXSD(Ljs(@jJXmPu-#qE|RW^mhHqf{GMpvr_9&!212x^8h^kd zIhFu=&G!KTHz*Jab}49A@S*|^6a4MDz3@JV+|S2=VFfSAdVG_Zyb_WXxydb{C}qlO o6n9ETk^+yo?(?dUy~M4;DinEAg}0bkARvK1^6$ne2pc#55AZk+X8-^I literal 0 HcmV?d00001 diff --git a/后端/yqb/service/MainServlet.class b/后端/yqb/service/MainServlet.class new file mode 100644 index 0000000000000000000000000000000000000000..b008078980b65c5d0fc55f1f42ba5231632362db GIT binary patch literal 1977 zcma)6T~icC6g>^Q%({$7RtT<%x|oQ|=a{HTWYmN&0Yy+i2%5yq?sj0TWoDh}rSK2r zEvdYuEMN1SmsF*&h?S4${0~k119?p4^vtr^0wQ6H?w;=3_nvd^?fd)RKm7vW0=_WN zB=APjU$-7TELfooHr%4LZaS{Fz;#(F0||kX51b8WGdkv$wWd_Xn&MEi5oqU4*C{W_ zAas52&h)r|xGr#b%=bd&cxuThS7nkR^`8)Ex$Jtbx+>6|?_Cl|jQJ&*Ml;$>q|qvH zWXAR6Y<0aLgGHxMmI9d>zsLX%!|=PdnNVwPC~#ut6$EU7WXYeDN?<-e^J*gV@?lkm z%0AF6tdN+rHTLwxW>HoYX@>^7_Gnd;sBUB+D{xf9uw37oo~s|E!9nj)`}1Uf|HGRLg-&XaZgN-bhKU{w)Hk9oU-qMHBDg zeWsN53o_KDEO5GZVc+tPZ0r;+QT8g|fak0;vW+VSF7GLYhG!GqGjSCk3Yd&Gq9{(G zs#xef`)L+Kj%1uGJdj0Y8yMlUi|VLB-4w=HG-ZEPx$Dxv1o`eZ8LhhIk_=LqB+);f zJbV80x6i-%YB-H?OzYQ|*Q*;QW^j{*=u|4wD+vr9fGSRI%{K*^V*&Meg|K4p9U1iH zlP_O9-g^1?$0+V?6Z2T0gvyWou%LF*)IiQo;|`V$@X^&DP(un$e5~uhsOYSgy%g>e z|BLUx`}5bYS=)Y<PY)bmcblkMDpKeIU3x)be|lr1K`;8%m9yyog&)!xuQhqSRk zcE0NAoGiJa%lf@~y4g3Hbyvl4B+!BYhZsLkC40%Gk0SLG^8g0dPVr?s18iN9;vNt&cm>^Sj9rbL!M6gzc4l3qzSwo+MA zuB3dl*+yXunjeGxEv(S~F@ybByEUmdXy~6X_OCF?V9+0f!PrV+6h<-I(&xRBuAEw- zV?T=RbKdiu_q^x*KG%Qv?{7Z>a1=k(;ZkT#l3?ZO?l4~9b_KRWR}@zOy`Y@l}UqHuHt(2XAY*(emuTw39oMyy**tX>=O zp^s<7M~(~~3;8fW`c%1SS|dITD)_q!MzMG!Z>6~&Qt0mD-a;;uVhl%0R@v-Itr(V( zDw)<~jv$>mQZ8LNA$lDS;0TT?_)7VTq0Eq;s?Rn%-;ZNBq2oAXU3blRmiGqm9Kwv< zmAn-G$G)Jy=A2+*1WbF0KENxgc3E~5Hg`ju%QDO^8RO+oIalR4W;5)uIg zPdZt+!GL-v=A(;~^Q@qS`Iv&DsA{p=esnHoo^QABn>Gq|UFev5q~dFF@TIc(qIo)- zZNddC>R6ykj;oy74d9~K;jx+hSQ3+8;MERiVlL*~-GrA!(#r~ao&7DHq6wFU>6Mz_ z9(5~gqh3*)Wk+<-4o7OFbNP`%@xYgU6O4l(rBHAqn zu!0PoR;YA2r^zV{H4wc?&K6@S?w{sPTixkk> zcMm)I)CXvmAt*!Zd&FJX&2cwRfzN@)liPT92hX;U+Cx+%@jRYDJ7;Deo~+1L+o^@z zybydU?D-u!mxBB5;Xwag918Yw7!X2M&j=wyyCzhK!(9xAz3rY4@$ALEcJGIXP_Z@m z!+N`Z7pMDvgXUlHlH-^{l%2qBE7?gyfo3YXi#shCp;A+5!+Gw`Qaw?2zM@c7S*k{k zv$g>X_&zC@s7sk=Z3iyk94U=IbChzHPB_lC8YAW9+JkAjPsa?;9DwT~kLfy;j@fVg z3UZnZX zxI|p_ggxyZ?yRZKux4*#cYT{at8BMx_bZ!UZQA_2b{2n`Cj9stF~8~5lymCj|8!#` zbp}M6@9@6&m=uy6E$pICpa=b&hcJe5dp*QZf`Pn@B-dHo#*a9IoNscxgSYT=uHVJ` z_<-{rQum2}j8E`Ku0O*U_$TKLsh~Qb4%zFV3NgsT>a?059#@x?LA;W#8yKaG z4kl11_1ec|-Ou|D;%OYBe%%=0I7B^GRMPj#! zy+Q0J#NK35-l4poQQljW_crCdOTJ%_?|t&!Bj0_>`p4t5WoWl%2sb?NDzx)IEp#)Sm6Y<5_n|aR8=L2{!qoz|AT=Hl z@yK!6sBPK;9CnBhLVPP6nOlxO_IBwjX_y?Po&SlB(l|%^q+a{iamB@y4GuiOKKJMv z+N9_@v{wc?4zJ^?8$Widj)9NfdH4@uXQScQIs5(^e6?QFDs2}0oIB;@Z5R7KaDvf$ z4nc$&%LuwShnUa8H^!d{Hf4$NQF@okRAVgEH8xL?7=^`*b