From 7a7847651518fa92fc3c84fb2e0659da04fb5457 Mon Sep 17 00:00:00 2001 From: Michael Becker Date: Sat, 25 Nov 2023 22:22:19 -0500 Subject: [PATCH] update .gitignore to ignore __pycache__ files --- .gitignore | 2 ++ .../__pycache__/InstanceKey.cpython-311.pyc | Bin 1832 -> 0 bytes .../InstanceReference.cpython-311.pyc | Bin 1584 -> 0 bytes mocha/core/__pycache__/Tenant.cpython-311.pyc | Bin 841 -> 0 bytes .../__pycache__/TenantReference.cpython-311.pyc | Bin 1269 -> 0 bytes mocha/core/__pycache__/__init__.cpython-311.pyc | Bin 336 -> 0 bytes .../oms/__pycache__/DatabaseOms.cpython-311.pyc | Bin 452 -> 0 bytes .../MySQLDatabaseOms.cpython-311.pyc | Bin 4615 -> 0 bytes mocha/oms/__pycache__/Oms.cpython-311.pyc | Bin 1223 -> 0 bytes mocha/oms/__pycache__/__init__.cpython-311.pyc | Bin 322 -> 0 bytes .../web/__pycache__/WebControl.cpython-311.pyc | Bin 3114 -> 0 bytes .../WebControlAttribute.cpython-311.pyc | Bin 631 -> 0 bytes mocha/web/__pycache__/WebPage.cpython-311.pyc | Bin 3442 -> 0 bytes .../WebRequestHandler.cpython-311.pyc | Bin 13776 -> 0 bytes mocha/web/__pycache__/WebScript.cpython-311.pyc | Bin 1480 -> 0 bytes mocha/web/__pycache__/WebServer.cpython-311.pyc | Bin 1001 -> 0 bytes .../__pycache__/WebStyleSheet.cpython-311.pyc | Bin 2922 -> 0 bytes .../WebStyleSheetFragment.cpython-311.pyc | Bin 421 -> 0 bytes .../__pycache__/XmlAttribute.cpython-311.pyc | Bin 610 -> 0 bytes mocha/web/__pycache__/XmlTag.cpython-311.pyc | Bin 4983 -> 0 bytes .../__pycache__/XmlTagStyles.cpython-311.pyc | Bin 2617 -> 0 bytes .../controls/__pycache__/Box.cpython-311.pyc | Bin 1176 -> 0 bytes .../controls/__pycache__/Grid.cpython-311.pyc | Bin 1372 -> 0 bytes .../controls/__pycache__/Label.cpython-311.pyc | Bin 751 -> 0 bytes .../__pycache__/TextBox.cpython-311.pyc | Bin 1237 -> 0 bytes .../__pycache__/__init__.cpython-311.pyc | Bin 408 -> 0 bytes .../__pycache__/BaseWebPage.cpython-311.pyc | Bin 2381 -> 0 bytes .../__pycache__/HomeWebPage.cpython-311.pyc | Bin 769 -> 0 bytes .../__pycache__/LoginWebPage.cpython-311.pyc | Bin 1062 -> 0 bytes .../pages/__pycache__/__init__.cpython-311.pyc | Bin 284 -> 0 bytes 30 files changed, 2 insertions(+) delete mode 100644 mocha/core/__pycache__/InstanceKey.cpython-311.pyc delete mode 100644 mocha/core/__pycache__/InstanceReference.cpython-311.pyc delete mode 100644 mocha/core/__pycache__/Tenant.cpython-311.pyc delete mode 100644 mocha/core/__pycache__/TenantReference.cpython-311.pyc delete mode 100644 mocha/core/__pycache__/__init__.cpython-311.pyc delete mode 100644 mocha/oms/__pycache__/DatabaseOms.cpython-311.pyc delete mode 100644 mocha/oms/__pycache__/MySQLDatabaseOms.cpython-311.pyc delete mode 100644 mocha/oms/__pycache__/Oms.cpython-311.pyc delete mode 100644 mocha/oms/__pycache__/__init__.cpython-311.pyc delete mode 100644 mocha/web/__pycache__/WebControl.cpython-311.pyc delete mode 100644 mocha/web/__pycache__/WebControlAttribute.cpython-311.pyc delete mode 100644 mocha/web/__pycache__/WebPage.cpython-311.pyc delete mode 100644 mocha/web/__pycache__/WebRequestHandler.cpython-311.pyc delete mode 100644 mocha/web/__pycache__/WebScript.cpython-311.pyc delete mode 100644 mocha/web/__pycache__/WebServer.cpython-311.pyc delete mode 100644 mocha/web/__pycache__/WebStyleSheet.cpython-311.pyc delete mode 100644 mocha/web/__pycache__/WebStyleSheetFragment.cpython-311.pyc delete mode 100644 mocha/web/__pycache__/XmlAttribute.cpython-311.pyc delete mode 100644 mocha/web/__pycache__/XmlTag.cpython-311.pyc delete mode 100644 mocha/web/__pycache__/XmlTagStyles.cpython-311.pyc delete mode 100644 mocha/web/controls/__pycache__/Box.cpython-311.pyc delete mode 100644 mocha/web/controls/__pycache__/Grid.cpython-311.pyc delete mode 100644 mocha/web/controls/__pycache__/Label.cpython-311.pyc delete mode 100644 mocha/web/controls/__pycache__/TextBox.cpython-311.pyc delete mode 100644 mocha/web/controls/__pycache__/__init__.cpython-311.pyc delete mode 100644 mocha/web/pages/__pycache__/BaseWebPage.cpython-311.pyc delete mode 100644 mocha/web/pages/__pycache__/HomeWebPage.cpython-311.pyc delete mode 100644 mocha/web/pages/__pycache__/LoginWebPage.cpython-311.pyc delete mode 100644 mocha/web/pages/__pycache__/__init__.cpython-311.pyc diff --git a/.gitignore b/.gitignore index 8c2b884..940f068 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,5 @@ # Built Visual Studio Code Extensions *.vsix +# Python cache +__pycache__ diff --git a/mocha/core/__pycache__/InstanceKey.cpython-311.pyc b/mocha/core/__pycache__/InstanceKey.cpython-311.pyc deleted file mode 100644 index 8f2a69293ca7ec5897058e7d3e62b7ef026060e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1832 zcmb7E-D?|15TD(XWSwovRb(elOj0FQn>aKUekzo5~?WUF^oz%Tk zsf`NPq6fEx)(-`{&<8)IHKx!%#R`U)gF>LqgWnX~CqHH8bW)^qTIdMP*Y3>xc6R4} zO(ezvsd4R1`8Naji;O-+0_8Y^$`)|=00gu_u!kIA5C1(Xf#5}0(9FJrxyx+4lXqUsBp7quJJisNZjX(=kRz&-8Da@EtEX2Yi4 znas&@Zlzw6xzD6|U#i+_?)|#itVzqUbGKA|Rhp=LTsK$Bxm#<_O5MuUe8a3OnH%cV zVq?vVHp!}epxu~@L4l);>#3z2#zt=bCze_$yy7PZV;~VL3?zHc0roO%F-aQ;o zZe*Y8)0@TZ)K9m!i#w@bZg=$Tfu7yx*<(xqUfisfZQG~_Z>)kBg^D@UUVKc!C0#)U zFNw9lpg5me9Ie5{P{Vgw0ef=R7=mmVg9TJ9{}JXpHfxsgA(k?-jFeV+H* zR>033zEZ1PlZN4q8%C`znpMdaVuxf-lY;vG2^vnFxyg-T*!PpeptA{;|!$e_6k zerA6H{7;R~sOk34$lSs22~T!;l)u&mWY09vrrK}x9LWfu+qS!a;y2S5VK&M5`E6W6 z5oR&QXLr)%oei@X=O3{yyqxz?(^wU7dPu6*iP04LhdGJA-RsV~>MHvD6TOE@S7VHI T`7EQ{FXzvE|3Ck->X_y6C# diff --git a/mocha/core/__pycache__/InstanceReference.cpython-311.pyc b/mocha/core/__pycache__/InstanceReference.cpython-311.pyc deleted file mode 100644 index a966174b8068a4e4539e0763e8597fa62d61832d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1584 zcmb7E%}*0S6o0e3EnT374}}00sv*%PN)4Lm!59xDh8P`tN3c6D|eLTyYB z96WF@M-B!<_%r+mT0>&9i6>9qYU+uT@6ECWx?G&?{^otm%=^8!Z~8SJ9|Rnq?mp(< z7{D)5f}x!W-FqlBzygaEp#)iApuh{TlwGjYLj~X%Uw>qorL96L@*B^B6!V6b%Z{5X zoBSo;F@r@k2Rph?P-y@M+zDC5VqDEDc(Rt&EOi&M5lfSn2wI|66fFbR0AkFFVI18X z4FbI8c`i6c@?r&yX>4J@Ab}vDibD5+3|M0|Fvu=PO+k$)`1%l zvHJXOsy#N1)BX1NO`I0$_;k??W-n`0NR~AkL7@RP*u>c%s~}=1rI^g~h>0Q89NLf+ z!-!sNox27V=qg%)PgaHiY3cF3sira}uF>wO;BG~f|DO$g4MB7-av7m`)CJUe)Ctww z;ZpUliPItH+!9S?LUOyriMm2o=n)E+D|B$NlIZovAx_7Ef}P}7QIS33MT+(|7a{sL zh+40~uvH5A0vFXgSLYB~D627nG5sRX{?HTO^+ZdbJJIKw%3L@pN=PR49EAqB7ZSl1 z=xK*29rrYgRdF@?dl!Xtypu}ilqK=DsE#Yn??Wib0mHxr*u_)fw9Z`Pc%U6p^_{5 z9zl5u`qW~S;5xx10bQ0OkY~w;7IcLq&=zMKq27BsnyMrY-gW?|ei&rRcn5kAWy<9K zM>0(I1GSZRr&6)8)X3{@qI3bU~w7LZUSh$_mI<;nHCkcQZ%&(6>)Ly$VM z=RW{N{3DDRE3Zs!L1F5|-E&;=OPuZReRuEPcXu!O1m9^8S>b6$PO5 z3>IUP#(agfF}H(l5t+dRhV>2&Wt!xe4T3Z1A;F7B@T_%+C< zbN&}lFB|@c-G$ROx5@3&Rnr7%l%P`Orcz0!$0Oz~rOw9DsM;~ym*H8=Ho+Y1VO!kr zm=-uEe?c(4d6rT*JB!_eCD8gOc>meE$*&4=jc(vnZP3Z~FOiWBn6KxvtMAA&?&QQSpp|i`OgaZfu zhyDke#(#!G4`i>NykYRvlke>UQsCsU`^|gvX5RPBd&~EHehqNEIeMwi7{E_*ro)&R z<3lvAK!Rj8I8X%!9NvNCeUOQ79N-7O@u)IsRG^&vg}I>2!UxB$AJkk+eN=U&6&lub zE6vk$69xr%9;#fjK2#HuE2GY3qHk1_(!iCJOd_Ub3K`Pj#wX?0+~8m0#9U@dO#XNu z;R?E}3t|@Ta`Z@GG$d5unw^w+_*5*U6e5T?gj;h|SXd5U*xq@~7EM`Bgodx|dbmD+ zB0G!wB&Jj<-M%*)o}!+r+No^1MSt! z_c4O)gBH&5m}n?7oxuhD5Mf?MhKQ(L%N3bMa&%-J0qL{(n`~jg3;!vBZn7j{n}}we z$KE#UO{F`}SCwRG8S-0pzyM&eG&8EQ9OO^9$!2*;Cco9vtrU)wc1j_7+NiMpn@ z2p$no`}HOPrH}fh>AQ%4_WEZCz1eSMaK1N!8Dtnw4+@7Pzas^@BpwzU~qEw(bP>??)H7_x* z1TN&K$y~$?)Lz5_B3OaMN`}uslHr%Denx(7s(w;xa&~G_ZkE1FesXDUYFc_`t=4F<|$LkeT{^GF7%}*)KNwq8D1eywR kX|W@a_`uA_$asT6(y30Ij52(EtDd diff --git a/mocha/oms/__pycache__/DatabaseOms.cpython-311.pyc b/mocha/oms/__pycache__/DatabaseOms.cpython-311.pyc deleted file mode 100644 index 6791233967a9d712b1bf1d0e68b973c15887f797..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 452 zcmZuty-ve05I!djD*b__Z@`qLUSLB^l{z3wCAKV98e57=97BGFZXI|4w!Q%f@h*t5 zirARgg2L2^yM!VTobB(v`}6sH-|u$-<>l!}9io0EV=K-VsfI{aAVIPSG4p>jGTojiK$b!amn&unm$XKS{NRumS~G0iGopR#`=N=Q>zWo`ff diff --git a/mocha/oms/__pycache__/MySQLDatabaseOms.cpython-311.pyc b/mocha/oms/__pycache__/MySQLDatabaseOms.cpython-311.pyc deleted file mode 100644 index 492ea9a05f8541ad13c47e232a8972fc05e06ff2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4615 zcmbVPU2GKB6}~fbXLe@SJ8K(!u6C`Jyc#tUQq>3EHX=`X>N$74vp-%V zi@USu{{Nl(efOOEMKl^F5dMAmE$bgqLjH@HMvylW&o4pZ9x;h2WJs1Ih=6G^BV>hy z0BOmj88Is*q%2L)telXcOg5E_k_d@pf|#LYVyc$#P$J|p{Ocj1n#weZYtID8#|2+H zpS2;1j3=GsOwzU>`%J_t$&Y-Pvz=rvWu38>{Juu!BP(q&3rhXiZ>(H0=L7}MaE7TA z%0{3YiRT|d;vTU`LNG}}G=*i7kWA5{Y0;FHX+k!sr9fJSbjXaFAxnjvx-2I&$Z5+$ zB5a1Oh#9eZ($wsMR#CnU-S0iOG=1@G%j#1~V{(W?@W-t`{}{wQ;(%;~IaB}-McnVE z;0mtjN-lNfuY`wiB##@%LR?}5>NE)`Q=E#+KE0N=9iPtU8OTN3V!k?`wC(G8X8NkR zq1`z3D*((tF zN@|hWz!4SC5YHD<8K9LhYx*G^2NSvtG_p*CS@vSau^FO=;UUJu95?JW914gBgZUI& z`4k!HQyjrp>iv9)<*)lH9~4&QYgaS*nPdhguo3K>Xk64Wx1-BWZVYb%Uzb)tfzj-L zf&dhT^_7u3qqj%P;lWCH(0l!r7aeYf|Ob{$)PHmZEsl{s%S%45cRNA-zzmDOTAop>8d_ZBa}iGglB&j8@zw?{=$P3 z#iPZAznv(@4pw3Zy~%3tj=S&uRq;OjF7oRA>0;l5OT~{LEtMlDE0L4lcr_C9&NO~C z4M&q2GjIk?`D#9G@N?AOW0| z(n1Fl=r-9WYvd{c-pRnb_X;651o1ls)m2+LSI{8e!n#7(Rf>q!O`(-LBpJB{eg`@J9ZEoE6MqJD`#>F@*Cc^;*mNDk71)-xzx{bX4`Rnbp*Z#~uYIw23Qs*i4#wNn-CR2L@J=nhG#9VC&c z_xc7Qsq}jRC_p@LvL4x-Y#8C zl=^-LUzuL1&?_bW)k1urFkBVhAA{olMS2( zV5#!gZBB-*4N%9rwlF{)t$qv3u)hG&oefR1WBxt+P4?^jxA`Ya>l2@>O?*QEujx&RJD^jixn zC%kiwUroYFuz~umfx4R(arkq?KpzlowzJ4`ZRRFGJ9r*1=eE7TT{FA8X4^n_0ayfx zJAsbT_At#6y%!PPiqL}U;7zy@;CZ69bEXBszic3QSJMD&Xb)U2?nHAZs}sN+w(K-a z!O-e}89=w2O`yP=y91%@11#gWHNU8F%;2J~drAGsi1w*(?C*M4w>MgXq3q8=ycnWK zRxdvpE*+aFYm*givI`cgz3Bf)N4e+@LXko(2moQz4H~?E>XBBC9H~T(lxW*mld*%^ z1SZ=D%Z%&zYC_E#20TZMY~EbVV7kXJ78aA4dJP+droQYf&Sxz4Gf3B6ReVNqf0ez9 zsb6Cw$#xh&1a=0?hEU*Zg{zez5V*i&vcCc01-}|qMOq_)7!brz@dF^680r*CpV(Wx zTq6*5iUV;mR)eQ)tTcR_$DQJm@S3RCNV}L6dPM!v`!xd5>Ukb*DeBw7odC{|M~s5- zX$pM#rVGz?;K%r*c{F%4vwm#Pwa~7aAJup2s(+VFLlg9s?7x73>qHQ$WT4dkRmpIv j{d-DIm$v?%lAWc-SEB_%01b4PcW-{rYkt_Gp6~wund}F4 diff --git a/mocha/oms/__pycache__/Oms.cpython-311.pyc b/mocha/oms/__pycache__/Oms.cpython-311.pyc deleted file mode 100644 index 1cbaeae5fc8f10e9aa08af307af7e6bd08b537cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1223 zcmb7CJ#W)M7{2pYKAce6iXtX5bn${05E4Q~0wjbGX+>c%!^!ns=tpeBoiij;kn$h8 zG659}JAa~Mbt@BFP?$RLzL&-{B^`RUAHN@W?>*0Z_odma6Bz9u_r(KB$WL@;!#Oi1 zcfmL$oN(GDDUE1qMOJD@HYFB$Mz}R1-2QA4@(sS}h#c;0lfeCjk-*me^Gp?SmWUUk zua{@eE71{BKvXZi7FnDXWgwXq!hgwQ1Dr!5NJKe_EKWxxvbiOkj>YYf6S=(3UEzV} zjohfhE27G)qSkSE4YGB^$k+B}suGY|4zz9fCLRFF+$Kk~eMADP9VNOQg%et*kHXzN z72%FZ4unki!>4)DOGQ?wa7*Ux`v2?{(2`F!rGr zcc&R?R^pA4D+qYN@&cYaJ7@v<)o)rZs0Y{=W70&lK* d12DEJr6=U^@#XK>@hRy1AAV!(&w_-Z_!mDN4v7E& diff --git a/mocha/oms/__pycache__/__init__.cpython-311.pyc b/mocha/oms/__pycache__/__init__.cpython-311.pyc deleted file mode 100644 index 5d19c6a577af2d7b1379564577cd8f66f11f5fc0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 322 zcmZ3^%ge<81jo*qre*-?#~=<2FhLogwSbK23@HpLj5!Rs3{eb>AU0DDV=iM9Bbd#c z!<5Su#RO!t1T$!|zGMVy&}6*D?4MfPO4oIC(uxk+ln25#0O?ZM#dWq YA{S864F;79sOScR-UV!^h#hDO0H9G+ZU6uP diff --git a/mocha/web/__pycache__/WebControl.cpython-311.pyc b/mocha/web/__pycache__/WebControl.cpython-311.pyc deleted file mode 100644 index 798646de5b45d54fb74c235bb8e172e27eb93c1f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3114 zcma)8-A~(A6usO|#X-ltZ&tr z5t{KxEUfVo2L?QjcUqpktYkH;q?2`xgqMXs+0Nb>fR{)k8>zLq##l!>wFy#N4M_?P zIE7wO<53zDaYu;9Q`wXjk4I^TRps;pN6-=vG>rrfV$=GeYCo15(0Gq zz(hN=kc$wOPa(fb|nBdkE&D4kkB_<~MJR6k*M+ZA+w%%HXU6rLLm z=j!B%1NR8IpR|CkJ96gH>qUil`L^jl)>a=j`#p8nfRQl zWF00UNl_Mygv`1WvBB@qi%FG)bp#sr5thy*mJ^yBZzx!f>~mlHBJr;}4PYXh3l(k` zxqj$&_=EMqa`<=!(QL>Cb7@EHek~4di$m+Fl6bN#o;1I*S>eU?)$7*e%B|cj6MhvQ zc?LkfLf7T6A9N=hK7xq{{_aaS0Z8tSLFo{QrvD}SvFkuY^%sy7K$14t3}bK^*6_F**w!m$P?G3c{sAnDP0R3h=mrlK zxi)@5=Ou3o-=raGZVrJHL)#!HKhSis_1!SMx_9L~==Zeg_vyY3{(v|TbZ@H$3hBZj zoW6F>{FF`|!Ydr$HL?%dBIT?3bOe0r2cHUtACg7D2uQ(3)PhZ)7y&q!Uk|iuHmK}{ zHod``-Vo^R0KK9SbYm23^9hw5YLo0dOj7D>x2jVsm!y!pPhvmR+$Y5NtkLm5V%O28 zv-41Iwpk|`KEs^zB3PhcPY|=gMu-ekR>@c&+Q%6{kv6f0E z(vDBTDabDgEu~~Jxn59!n6H3^eTY+1lyTT=@N{^Blggqakilg+opxBPEUFHdgfTqQ ziCH-fvfM2)a3CXT@>2~6{B3v=g~EJ7RTmX3;UJhIF;2LM%8dMghPbHB(*dq!Fr!2hk@-nJU|@S9F}YwP)nb6 zXicgrK3dm~yU3^;KqZ<<4sB^}LUp&b9Nw2h8<~|HP>q2%O|&cc&5w3D(K?>HSNLX| zgDf~;ha%?Zwx_$G6+IE?c2{q~D0dw*Z|*XK#nx_%eyiKMTN3-rV!t_N*EHSP<|0Kd zVl!uohj&{HSmCwae6KmS>+u&@Gizq;j_$(Myk0>9*Xx4C*d4vr;@VPv$(*)B;llLK zgB8Si`dqNWJAuB}fzj>2=*H1f;6yoa!j$Yl$hv3y!`Ah+8~Gb1wt4Zz!s>!0t>`)3 z)NMZa;@Rr6!nu{_x##Bdw>Brdm|mT>rb}E;nd>RK{p~LAv##d!!s0eRT;zvsX1Lhe zZLi-vZ#VYs>nM2g7tJfXV$kZbw6#b+Vvd1BYHAj?`Jo~|WHTeh)^3ZPR^M8G9-PJ}ci)S-kNzdFt3(6T zb@F<+CdZ=!`F11UY4Nz@jmI;J^dwEj{&@WRCy8`*#r^2QVGwrwDoGj1j0_)XQuTtK z13ErSfRy&?6>+aG0dfZQK7iTyRalBXQb7&yur#=|0e-}EROr)mpn?G2Ffh%XsuI4V zC^|?a+o5Wi*sFh%Ruf3;uHFe3tLM9fKLu9eK=md-g`p_QMgzsxUSYqWz|cV`9DhTo K|GsC*-N=8uMXl)o diff --git a/mocha/web/__pycache__/WebControlAttribute.cpython-311.pyc b/mocha/web/__pycache__/WebControlAttribute.cpython-311.pyc deleted file mode 100644 index 9c162dc288b76ea58551a7b75571e3c161990415..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 631 zcmZuu%}&BV5T4x@gG4Y^{iOmG6bhcP_(F^*T`~Ep5?A zj*g&sc7QO3Asd1~mf4VFlplkG;Rvi@@I?38u1pHAZ6}h3mgs?W9#sK*)CNL8dbL_@ zerI-lSDGDZJxS&E&1>I^T0!8nqiUcH`0^Le*h!8K=ROfte3agOyQ)|OunM8$jma_BWc{ad>+QvkxT}Lw2 U7-LheGn8G0U)uXylSqaC0ma9S5dZ)H diff --git a/mocha/web/__pycache__/WebPage.cpython-311.pyc b/mocha/web/__pycache__/WebPage.cpython-311.pyc deleted file mode 100644 index 59fe0f9df594fb7b50a637e1322b9c6544c23554..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3442 zcmbVO%}*Og6rY`48}EY6M*tHbEddi@CBaJDs7)Xonv|a6AQAP$QnWJO<*T+gon1n( zjIu>YL{+2`DH0rd$cZY-U(o-;RF-P38VRYV-dxdBPJM6IUaxI(NXF~m&YL%H-p9N* zJHLg)3W0X|%@?{7Amnc(>J4b#PUqouKs2HWS&}0uB4D3pg`AKQcwfxY98FPyQ1Ug= zq+Ox~baEsT@*4hbONm-=k;FUx5rB>hj`FR(blb>V%*X;225QmT%Ib@&x^BTh@Vi|0 zetIQS7soeBVmn;`I3PMn2^vXJP1q%{It7$85io!jq=H%iutN(1hO`bqSqlLwnhe;f zDS%yCCtz6X0?Wcq2NXx&$Fd(0%QZpw-h=BriiA!`CU2b#J9+9RgV0 z;Js7Y)6g#cP8rX~RvC>z_@$&Hty;OPBP|))7WDPB7MB@@-U+GdT7Jz^Ri|66?UAZl zYgSfg=!O$%jB;Tgjmt39>lx_WH8QK|#KM-fYUC3+PHgH+iJEcK54TtsELG^K57ZsN zxS4wZHhDw4%5-2~JDfkJ6JgS(ga5<7|gSh+8DOef29vP37(nhLYwIR#Tl#>-M5 zFjhR@|AGz_y-*Y$5jI~GG~qmqxa|&kaBG{sqZV4Sds~Do^lPXu(vr6?QEOW(w$y+? zp3P~L+jIfe^>WHD2)5FOt!HH$&p0vZC>bO7(8%N7Isu+g@qn9h@-j1W>bhy0iF`@cH1I(B_v-73^}Y1z^xFkE? z-+DFz?1lx6ibf02a0qnoAfClG{MrM68OXB`PkB5f@jmn`h0mCnEXYa28k;vZ@){U0 z1QS>k;8lAtI+>o=bjDAa!nt}le1qtOiNZEH>59VFp&AessY+ZBrFO%-^0*07SfwxF z-QJpS4BK$V+i;EAhI4b97F{&c<0{j``<5oHHKg2Ib{}KV~=y$ym@PU)v_Mm zOe8ipH>Wp0oi^A?;@XWHHxiF=&iEW;`Bl&x7kLf3VUS_K#ISkCVqeYKC4Jdox{9KO z;g&%7c%R?`n350=CGyMk&(p`sa9J6)Co2KPeo*NQ+t;g-pd{>AHAs|*eYrhC-Z_Se zhFgc;!^Y8MA*9SExTEYE@M_t^xYhn+qqk;sdf9@_<2IjfvAMyzg(hRw*`!JZrPGd` z$l;n@$#?{>Hu-c;hpUaEsyRd3fQyOhbgAl(8|kde;a3UvF|5IOO=6j_DFiHB9%i1; z48y~&BYcj4PH_MELCo;#!2z#K=I;Qu_p3?@9jX!!hC1lQD)FFCpzzJ{KoaN#k~Ihl zbO6a30M}0fcM!QX05XbX4T2JdeD zhGyN+&aoK~!W1wKfT}16LWPW%nx6`pDm6b9GF)nYs?v-Awzb34!oN8B-x(}!_W$4a B$f*DT diff --git a/mocha/web/__pycache__/WebRequestHandler.cpython-311.pyc b/mocha/web/__pycache__/WebRequestHandler.cpython-311.pyc deleted file mode 100644 index 37053017fabf3bffca0aa217ba827436a4aab2d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13776 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 PNBH+7>kn@zK!)?*qnFL_ diff --git a/mocha/web/__pycache__/WebScript.cpython-311.pyc b/mocha/web/__pycache__/WebScript.cpython-311.pyc deleted file mode 100644 index 4b456edb8dfc781ef31bccf83157f7451c0b1ae5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1480 zcma)6y>Ams5TD&WpB;ixlsF-nuLOkzr@#diAP^P2S0F5;Ja`Wa>EzsQNP<7Y-Win0 zg^QFF?ve&Xm8U5G$SW_AC9IQ>kf>f~WGX6V*1iiE3dXy$J3BkS`R(kU|4pY)0Lp)b z8)}RLd?F)~#9-39ijy6XAXynIPy_}X{shUlK?((X0^k69Uy4jxOOQ+a&(O}X(Eg`V z{;TxNjr=rXA|t(d9Cknf20@Waro;+ISgUABu?@w9v{2hJfq-^6^0!)Ea`oDVAD(n; zRbN$o$KTvgZUje|7WPr>y(!GU13s}B$a*|);7Rr{>L89}(13Tb6-Ce}dE@83tN~7Z zVksK@CFnVc7!Kt(f_PE=qNV;im*PykvWJ`wVqOeuyaduRc#91#t>c|T*uUnQ@KZ4~ z44=?oBYw^H`Mdg>3`&{YDdj4+B ztyl0az5GL6TURbl9@N~`QvTtlzgny2E5>-Gmht@$7^jjfZJ zZeHKM(-Fz{V&X_lwEoz=+0I-(6!UE{A4IK_9B-`z$#d8`ne6VZc4i@tnmiJdE%oNf zp;%~(g&=C(1f6>`kfbDwG2;L-LOJ&rmY z!z+twZ@!4F>~UR&eH7u*l{KL=l5US=1D@3rX#YMLJ&D_q4x#8NRNs?1MG5=Q$f@h{ z*7T25jy)L)q(2`+Ss%Ux$Mp03{2dJ9yuWOC+EAOs#0f%9gW&CUxVr4NtP3ExbXQCv995EF>8ag8p`yN{|X7-JpC20ym0HO?^6&#E=`nO492!ex?u19y}@ A>Hq)$ diff --git a/mocha/web/__pycache__/WebServer.cpython-311.pyc b/mocha/web/__pycache__/WebServer.cpython-311.pyc deleted file mode 100644 index 9f59898669b74c0edc50d4f2408bb9778652f1c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1001 zcmZuvL2DCH5T5sT6Vs$2v}#&C1u4Qx>53Kv5%Hi{4~Ae1LN1SF_k}cOv+3K7(vm_B zIe7FS^y;Z1{WGal40{qh^%jYz;=!3+cSESNyWh^6H}k#OZ}xLOp9Qo(<^#zXz)xDl zrvG!M>*yST4K{0o165$a;W^lR2)1_20Z#CVtjcVC8;sOBa)H5urPs3lO78Wf=Wo?I zc3UbdPNg?xkxg$R9DxL^hbp((5ULvSS9M!MK0R1KqHU?(B0+K(){w6e!L^W}&-x(H zi_8WrWo2xmAd+$+{9f1Kf$qt6BhYZ+5lN|Z@yu+xjx_7idLxz7GM~Cu&ygM9Gb_q% zNei8quGOrWm3_bIc1$N+ypwe^A>Zik2N@xDJG;IR2g|c~982L*ULIipcePt_A!B0~`Wb?x~;7qO^DMVHxIN~X@4Wbx z7f<=>8DAa6w^~G!GPaJh=+qo3M35E2aqV84{6!)5dbM`6qjH!V_VoqAx~Nealp>(^ zy?Y3QLT+f>g=&v!43KgycY-)jWITc XyQBGgqAxH!?K1qL*zf;rgh%}ahymP+ diff --git a/mocha/web/__pycache__/WebStyleSheet.cpython-311.pyc b/mocha/web/__pycache__/WebStyleSheet.cpython-311.pyc deleted file mode 100644 index a380a1797bcc872d3cb4a555e38a80c73d78f9b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2922 zcma)8-D}%c6uSVSj@a3=x7tVQkPhkL;oJY3E3`YA4y)we{2eJolX6J?C8g z8jFPqluLyVwBH0me#b_uNX^RrIjB4%Dp6^Ux8_i>d%9sUl!Nl>mcf za+j)sjnI5Z4MJNklLvG@44Z|V*caNJxzfX&Hn*s0r7Z5>F+ zeyiO{cZff?@{or>DK{FVt4ia^yvFXn-{FEv3l2-dB%!j+NR9O!)&Sk!)!=e>(b!n^sbbsNeMd~ zFHgJ-N6pC>kz>E~RBu21+UlODcTZT6$$Dh6K?I@O1v6s{q4G>+cJq8any`d~dC?98 ze>hcED+Mc@sD~3<)C!O92F7cFaa)wjbB}MD*I(Om+&p{u!2N*w8C3g)9z61+gX%fV z-GRp|ok!Q^3~Y|HJ3{BGEhO+z>6`pD~qLk4#L_EWm)mgL{W4+*`(>l3Qs|OZKyMWwXMdauYU;ex_MH2^3bk4WXZ#I zdDxOh>e9#--Ic~`(zqRtmQVg6$Da&T2KMBUU3tWkN9*!vjg1~=+7GQCK{k90P;lV3 z00)=9jCX+A=H_r0FjaW#_Uj^qgaGb~7I+~b!n(nA$q)^xZC(K8NveeNi~yqQV$LbEQx9@WUznvi^yTw|BvxdKmeohP6-74(P|k!5}YdN^+CL^9dZY9{9< zAcrnH^cy`0{g5`Xc&wj>j)SbXo#P}7>!>Mar-(UW$B$QX4I&H2T!8B$e!P0VvS41a zyZfq{rvv7dmqM_7sj69#VM`b`r|jrJgD^4af_dK#^;D-TadX-hL*?nJ_~g^-{Uy9hC61Xh<_xZ%dVJNKGN)e3G4nn5$WjsfB*DuMK1srgk}s-|?x7x4l>1<#H{yOe z@P1I24x;gtJj}deT-tr0^;}1Np^=pWX^@1ra z2nh@>P9MUQy$knf3j&n&W3veXnRNkeE$A0( z44TZzFaZ$F2<3d{12U#Fq%uS?rZ7Y?r7!|jGTjmlPfZFgsmw_Y&PYuyaVttp&rQuM z@zZ3!#StH$mzbLxAAgH0K0Y@;r8Eb`=82ClEKSUT$gE`e3^M#zpngVvZmND#YI1gJ zQEryLOMY@G$e3dNfTH}Y)MOyTH$OQeQ9q!vBqKjhKNrj?PfgOtYP()RWf3#bTrdH0 zelb6gXn?~TjI0eJMI0~{ewvIB;%d7hP{4xCF$Xd}Ff%eTeqdr` SWc$E?Nqhu}eZe9DHW&amiC_=_ diff --git a/mocha/web/__pycache__/XmlAttribute.cpython-311.pyc b/mocha/web/__pycache__/XmlAttribute.cpython-311.pyc deleted file mode 100644 index 874007394b09ee116611e0beee28b0e8586a4a23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 610 zcmZuu!A`A1A`QS;ORs-nV_36dr9amZp~Iq4aK50ejR2LP&asVazYAPT)(c zEuA~5{GN3dII%DLQD`+)(31|5tH9~lR&x+_g1+Tv!INxTzsEheA0$N~y8Uh>#B=>m zX_=-QLwf%Rrq%7y-q@UO)zIyaaHW`shN+VZ4K74d62cGM*dtyR;vu%ZyrMSo>>DWh zRjNop(izZq2zL=it2NU(ug_o|@_uSjOz?# N*WrtD-~SXc;UDfbg(d(1 diff --git a/mocha/web/__pycache__/XmlTag.cpython-311.pyc b/mocha/web/__pycache__/XmlTag.cpython-311.pyc deleted file mode 100644 index a9dc13080550a1c7baad6e24c01bb19792ca0f63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4983 zcmbUkYik_Iao*C->_clwmaNBWv|69F(%BnhUCue{9Fzz<;SzC)%n=0fWVJJX$SbX{ zXO!S&eXN5aigB<5NvyyfY#?!LOu!%V1M(AgmH{mT0mE@0?wf-0;n1g4^*pqXbJ%lh zRnuKvRb5qGRo(sfSWIT1z4y_1<4=7I^EnQJCitC$^U!(1=#0)5nN4PmVX@B@*-dth zWf_jS%;@}mMi-uP4D$m1y|%{b;wqDszGPvXW!>n{Hj7J^MQ*NdTZTWrlE1!c-6hJqAmU&h22U7+Sz~nu#IXi{jnldN!kT~!u8Fz;P|`(!eYym&U+)7L(fa|)dc;tG zUIzN8t^g*cM*+t57{G)c2RNW7K*a%90^L9tx8KTN*S7MTMj_B4(1(Z4fll?QuoXr_ zJZ%=v`0XitUjzdNs6r{%aTHS0QQ%&1Cd`Qeo6f8<&)Jo%O$vky|$kw+ynm zky|bmwl{&;%za2o8%6;-KQ0w+ihYUY0K-^t0}r~Z(F?%U1dqt%SV4K|04<4kjK1U_e~@OJdYEBg2f6lOeF{7;LOu-eRfa@BNR}s2__$L3_HAQJ zC%7iy5{MHpQe5$u`Qo-=;)JTIWB_Mkd0p4S-6#+FUTDL{fY8hW09SAln7zl1HMp_Q z7M}^v410XR8DFrucO34WdhjF1fVwR*aZ&1p_n^~@7b@)QE#(NRM1}xlInP4AU={tq z@C@U@gtB~O4q9ub08k_D=k~bK1~hqkX zs+h>&dpCOBu(Tko%Y(i)t;j(jKETQbYDHoXr|R738>)ap$OM2c1%jk(Qy@SdM>h1! zn=A_^$G>h_B`^`vv3#tmll$F~);FziVhX8kB2XiQra zD5k#wt%|hZ#*qPo3EV#jIqfAe)y0*FVQrJG!Z!{E1>|+@Lj5Lu+&a zVHx7NXS-U?nqZ|jwo5vaaMbIti?8qGbD8=1PwxtlKjE4c0SlSeHp0ES3u{(Hy$>~iEj1QD+B)s42)*g1_m@G& zEh?kc%7?2Eg;;^QTKi5=o`@eSEM&aAa>y={IbbXItA%3TG~Z7jvS}F58ifP3%)Or` zmAnj@e)ATMZBFS%EH^?vw zqo>i^(925x&E*8ok8yQErR4>`hm|i;Ib22lp9h-pPNA!1c!<+PZPAL<|iD zlu!7@sCy~{+~zK%79POS9cwS4HWI3xNIQwN9Z6R+uf)i2uKxO}Ee<>4@SZr`5T|W% z#t~=s8J?eSCI%mU^57FYG36wt_7d4fB5Nn+oy2_gJ56P%u1x%mul?{Z@xR7jPB+wZ zb@g0R=->HZH)}^{YPubrvxT|pa>o)=4ROjAryX$`m&i6_$wyZoT(x79PHb{7Hs6TN z+p*J5>~!_rrgCiOyPp+mr~X|0wD>IFNagCOoVUU$J33ukwxhGQFk4;zLW=BU9C_T9 zCLC#E_v417)+M#c_wAg!ccHrQg);ER!N*se;kWGMDJOZ#R%RV#cApXW0Sc=5rW^cAv6*B2?>DBvzg8uJ>3!X}w>EPOm2+8KdVy54E0V zB(0~b@LYt<5LU|EVvd}J)ylk@y9l=p3{fxqJI}+UA7c4y7Q`S8zR~vJJDRx&Qp|S& zKlIcb=Z6`BMG6VjrnYKJv=jUF@iJg<(uEC;5U6TSs@hF6Ypx5K@ z8yp+evruGuI1-^`j?<%T1RpZB9u7XQAU&MeLXMt}=AeWDHCo@*+RI)*O|LjElNHG# zaL`K*nS`FJ`1^-DM{tAuHx$8rBJ|>lW(3uSEWseW;UWLa$+f4OjWOZwJ#!7KLcsCu&0bSlyO^`bd*V(pR6vt@>W(GvTDm|M^4)umbEaq zRZM$YOpDpc?+|3nDzv%zXwvogmI~-`;0JAhBEuhdzMe2^{*M zdkFGa6pBCy=_m&fAK#7Q)bUOLQ$Ju48A9m<7vE<>upn?)EdvmZ;%qmdNlUF>fzZNO z@;pYJaS4a`c%}|I>|gZu;v%^WIILZ!0brkJS+>c%Rd4@wWA=p~u`Fou_3%Fw|KHcl HQZ@buNXOu! diff --git a/mocha/web/__pycache__/XmlTagStyles.cpython-311.pyc b/mocha/web/__pycache__/XmlTagStyles.cpython-311.pyc deleted file mode 100644 index 0ad8cc755ea1add213cb3294ff1691e146ac9415..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2617 zcmb_d&ube;6rP#gm9>(8#EtE$t|iOFhAMF*oTN0QCMDp|9$JxNQ;KP`D4MN*NwPh= zZipho27FM8N>fO&jya{6{3*RyMo_U}2owsrskoGqQ{S7FmX+m03Z0d{eLJ)B_IuxZ zGxN*9K!ia1^~>w#-;9vo@uAbywsDdKW1lec3E^aqaQYnHd;x#2EfdZbNlM9eI`B^0 z4<|Rl*e51grkpG@PWQ;N!Wp2-6+n%vfFZ5{_VEy4nD+tdJPa7&I(Uw_{a+RGOWBo0 z`$68cavk6J31p$b|KtY1K3O4UVu0l}8%NshIow}#9`G%nKPQXifM!yPJ7xsGV;H%7 z*0M~?Rry-Zc1KQ)iX9+xKwZ@`^WR!XD*5`;^y+58Oy4te8>T3%rx!MJI|Z|7Tj@Ju zbKT5=@%d(MHJiTkz+T-frVH}nzIiVl{PN|k2X5Ff){1MkVU$L@hC1Cy---b^qF4DsAMQgeIc+nx5s{%S>skOBuf(om;m7K$@YEA0K}Iuy(aRG}#!MbS^drV=Y3J zNeK>bDt&u5e^X*dN~|_gR}u{+aVUQ+rSp;)08hCAceT>71bll^$Y$Qx_vRH8fG7_>DE0MU$KqGv1HkJ1iY9y329@Cw?J z**P$PS%6oYk9ZqKgbv_UY+KV6)0P~pQ=0nyD1wD)0v7r}b>fhX_I@4%mY@FvjD2DU zs0B->yF@tMkfkITipJS4wb4(zy_t`0k5H^vplE6En`QP+$0aF2FuSzO-pn^wN)Y#k zoGr96<*GNodbLcUu(ix99CFDkj8+T*K$$Cfv*;DMCbGp9vz>qO7QRZ?x+_3OmE~S@ zhWfG}(`l6f9CECMD3Vdg5uIrfMH!ahWSdI3vQW*`<{JI+x)OIjXomWJxKQEMVm%UXMB>kAJu-C^nmPD(z(x_w0&FLc1I|h?x2zz7 z(tvGs6H;9@BPOwr-AI<$N68eEtI1Vyy>#{sb=5B91#X1`b8I0iSY7SyV!$t9BWGEq z@vbeSYwTT|{4oHQc+{D0Mu)2NEy8fK0C2L$ebLITz5C7_>>8E1iv9TdlkDU98i<^L zt;4zITzjbxIG1{LLXD(OSHSoW>jERe!--`?0xXDr3T{$@-X*-6wa#3^e*XoSYvJ;T zBGUUSOVzLI`glVhuYGZ(Ck|QSf9EYO21w(k+(SBwVShKpDh`V89tiX^YKJ@YoA~V&7k9 I3`ocS0;B~VumAu6 diff --git a/mocha/web/controls/__pycache__/Box.cpython-311.pyc b/mocha/web/controls/__pycache__/Box.cpython-311.pyc deleted file mode 100644 index d337e62e3bc242a76c824ea0ce524c0d5f18f72f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1176 zcmb_b&1(}u6n{Ij>87#8l3EaHCANpMhh~r3RC@3O1+^4<5OZ0QozW!S&Fb!^AEAd* z3ia57(1MqqB9eb*6BZg41i_QHNIdoAn~l5Gwl{q{^X7g2-kXp8G(MgIqz{XCIhO#w z2_>e~Z()!};RqNo$pj0EAOV3Vz{ox@%ArL8+Bk<)l$g8*YU(>dU6sPjOJ06x*FDEJ zjW|ZESS+H!4P1_Z113U|Flir(lo5oWA$?$P83HFJ83j>kP{8yf@L~`&)e?CJ`)pxW zJIRz_2Tl?#1`}%wXFD;RB)dpVC@|7O>~?~WXcD9A5uT&|6S8~}nZcSsPyHA4k*m-} z1yxxIDXVTYmByyGP`0|iKTq|>9 zojX=ddt@683;S`kRmZMz1BDm1Q7LJw+g`=4YgVLe^0Hc-BO?d-y?lpc1Cl)@(_J!s{HjCd12XTE`LC&o z!{^;p&QIlfR5@7QTkg=wfKHy$nJ%62Zx=drDWFS!JbFs@u+~*_zH)W^y$)Rr=%OEw zK85rh3?5*6u%gQ15bGt2;~{2r-LhH36!Ms^ziX7tp(onnXK*Gk#knq+*kQ!PJ-Bno zc9X9!E2Pke%WRl0Qdd+G-QW;M{GR97XX*RHE|#4sbclb#eTJ-0B}wYRod5Ue%cBxj QyUgAfehBN&D_l{rUvftO8UO$Q diff --git a/mocha/web/controls/__pycache__/Grid.cpython-311.pyc b/mocha/web/controls/__pycache__/Grid.cpython-311.pyc deleted file mode 100644 index 0e0aac80e014856da9b5c7ef4917cb879208f8c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1372 zcmb_b&ubGw6n-i|c0gCrt1JuRo;_bYqw_dgS$}5H?$`9CAfoqM~hgdY#a=hb%G!>FxyNChg>AoQd3v%dTb7fg8dwzi`iDKW zgbw#BdX`>BNdylN4&Xa4kNKTr@ws-!*T#Hpl=c{Ds1HpFvDfsZZAT^B_I%NI$u8UW z$9~gI7=6bOR0WTyG6B7~2Ffy6ML5WQ6VCYK3FIL;Pe&abSxaTT?4cGZzqkJG)xH%E zl`3K!ib^|qnIt`}>5b`~>#3}?8qdkPdB&H=e0h|1onu{HC$F~%W|~nQDgwGP&TF

M#_Kfy0BqaqL`-4*gn}h#kB>l&C7R1 z6zDoOHxu>(L(Mdl3L-u7Id3ZUVbt@BncVm%#4V!4O$K(&fzKn^AULX?rH%Mx33s93 zGqvkrev*aGLl&#Fuj)^WUF^hdn&8VwUJ@)VA;dXs%>R9twk^o*E_`wS^54t diff --git a/mocha/web/controls/__pycache__/TextBox.cpython-311.pyc b/mocha/web/controls/__pycache__/TextBox.cpython-311.pyc deleted file mode 100644 index 4ec48b8bc5c13028c246029cc04acba4431c4114..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1237 zcmaJ=y>HV%6n}TN+q5(#h^9pXqzaP3LaIj=U;so1AgWX(q%2nAyV9hI9nKE@P=*X0 zIxuugM+Q_>^`A+rNJN&9keIp!g{c$o*>RvP;@SS)d++XjpTDHj(|~mL_@Q(ezz-4< zGDggB37HNE5Ud7uC;|fx%OLnJ2u;GF25^jDOhqR2RWOY+j9?}{%yR?f)tuxE zt+Y)vyob;M31|pKE(~6fo+HBk`Q(&2vnuq3}iTKj~Zdybx%l> zhq^CoYoSh(PjxIVp1-ozy}Go@(%F!zUbUWkPO~oEz_(VESCtMjuRUkIWUXum>z-@X zBVkjPEhiq9Z;hfXHMZ3?bh?vC6iH%qKl~y>8@}+xKd=laIfUh&je z=o$-sZSt#@J=L=NYX{X6&FpDrH+sMSwXt@h<$GGbtL6Kdxpr>%K^vbTdIx7bM-+&U z=AA*N11+fH8q+EqvBD8kX%tPSW^wW9_@bh-Vd|X>qK^HkB+-zCPd`E%`cvtTx4V2! z-9YieO{306k>`-X$TV5xVxq~ao5(BLHF*?0G(MDS&15E{Ec`23B%14J=~F70MJAiH zAW9^1jsE~%3b$03cqyi%={IY{&)D|+W~mnMM8i^9O63;95yTFt1&SsX0oCEZKxmJj zfj+^r1GoqoM!GTRjL(yJ8R8J+y?~{Y^ElKU;;4~P?dPdScttVgC+aThXf*yygn`Bw a>%;x-#dn~m83wuvdpkc#`|BTDQLx`x9|@oU diff --git a/mocha/web/controls/__pycache__/__init__.cpython-311.pyc b/mocha/web/controls/__pycache__/__init__.cpython-311.pyc deleted file mode 100644 index 5f953f64f8678c56b28a15cd2de42536d60f1a25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 408 zcmZ{hze~h06vtnh^jgH*931=yx|q>L4*UTwo*e2FkaBGU?U^)^=D54R#6Lm&Z#tH) zPHw_&H~CU@IMBzJPd*7Rk3inW;{(8Yx;T>#*AKt>t>8zt6O>mdpdbn~2q4}AMKlpa z2O`i^(BX_KrkP-aGZpGkgy`V|B%@D)LlV-{OS4XB&u(m0^pWSiS@p4(E2$KAgtzld zdWjz8+F|=$GO`qJTjmjZj65Qb81W8UB zmvcVbxYE>I51W!3i_f(wmP$_SAx`)2Z&Jh;C4_Wv)b6K) Tr2Rh~9Jl-F;H3R4)_=%19Rg|6 diff --git a/mocha/web/pages/__pycache__/BaseWebPage.cpython-311.pyc b/mocha/web/pages/__pycache__/BaseWebPage.cpython-311.pyc deleted file mode 100644 index d502ddd02668bf1bbb53858d3412c3b9a626e467..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2381 zcmaJDOHUg|cy??POo-Cvfl#YTOGSieidY9& zgh**c)oX6K=0qFOLw|}vNFYm*D)mtHMg*sv`hBz5*bus2e>>m%>2LkpnKL~Eu79Gh z#4kBQ{zjyE0dB6nad^BWoNy~3A(?*;b@-;&9ObzO zWVq{J3ixZQk)IXw4?O87de~~50;I@F!fQ(7(>g%*K7zwbBFLP@37D}~$y|n0fLWda zli9}U+f0e3iKZHAW7HVI-aderM7Qx4Tjv$B2Iut_Zjlx83Zp!BtpR1dMSa!Etwn+Z zw>ae)-&z9;>n$tBX0~0fc|KyZS?4C(JRzR04#EM_se3dFPOv!l8ad781JTG;eXh&P z*)K;&FAblP=%~@{x_;zq*KM3F3GFIf3xuo6Lg+>}f|7EIGF}uO9PY+mnK=cg zSkvV=azcYv#k`ZiEGVa~tA(T{PlMUz3+=>a^jI8K2JoD`q4_O(?#0y&+P_8n>$Lwb z+Of$w zve|cKqi<}hZ)}5J+oIR%&3g}g5wA5dfM9RUqz%HMbJB1k{>XIBgXzrjSuLJuXOS(j zw1VssnCZ#q9ml@Kxt+*35mNg?**dmOb%0s*BOX@^2DNY49q7u6{q)(_AY`}&Eg}|a z5E}A)U5giD88A@3GIS`CHgZP#B|k#Jveti-s;0CEzs0%XBJ#wvSP}tRDc+x%Y?F&wMVD{EHMb5{D^3nV!_9V@Tk;2q&E%7YUgknPPYX*UTenT>f9KPykkQxKvJD z(V#M+Z=6^|E|z>xJd_osCxvEypbi|g<&&h*V@4;+z~m!8I#B@H3HjX)DxxU;kjdKZ ziq>(Yuzsc};4mE@D6rD9;%OUy-*&A{?XY3DKmaX1q4l#$8E?@q$CyuaaHh?gwZ`SbTb$SGcle{P3pBGB`l(Y2?d9j zM+@+|3isGSH2TG;GtO`_sU4I;X-h>=D!`JPCu;nuwNs8ArJMK;sVl zssx_RRNMB5ZQGqjj%htiR?E?#*a@ecqj54JDM zlh$@GY7PK^<(WTMKR>uj2AnK_p4?jm`v?Hd3#}-{T-PheqxVXCxXj zFEe9S;(vuhfA6}#NyED-KL!RaZ1n?x-Hc^fJ7l2VdGC-<>Yev)_A?8DI1XN1e~Z-p J_pprn{{YC8bn*ZI diff --git a/mocha/web/pages/__pycache__/HomeWebPage.cpython-311.pyc b/mocha/web/pages/__pycache__/HomeWebPage.cpython-311.pyc deleted file mode 100644 index a42e223f680af37105bfb076d9eac2b7c1caf034..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 769 zcmZuv&ubGw6n^t|V@qSOhhhXKm~|);8{*HSyif^_H(5s>#;RaZq$y=5;bsHN#yQ?R&c9&u9Ghp@{E64T;pSJ|oC4nRF95yTB?Fm@Fe5g!1D_jAqr^~y zYf2@V9t~N)uGHI6G%P(uC7;38iDLP$v0Oj_JR^69;IMk8ehn$xGL(F#wgW7tTgJJ; v!K&C-s}IX69@%wr@NC^vf~hBj_zri^{(YzZilA)EaD4BAPcQ%DDw6#HWrm^S diff --git a/mocha/web/pages/__pycache__/LoginWebPage.cpython-311.pyc b/mocha/web/pages/__pycache__/LoginWebPage.cpython-311.pyc deleted file mode 100644 index 0cbddd9fb3cdd213edfc58152b7b4ee3ea29a683..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1062 zcmZuvJ8Roe6h8M#@vKNB9h+Ntpf?EaNXh+ahV{nJf8w-fFmQ?hTXF zTg8?1CJ^?412UmW8QF!V#wga%((v=D^pctaL!zgq08I?fML`?@E0uhm9}3 zh*G^Re3lv>4+5DQf!pH2mibO{vFJo@$Ss=c$!3=$@=u9Ss}LoGwCFTkDK}!l(n9x2 zvuHmd)kVA^k!d7;67baY;;JW8ac2{n_n;5dHdCytYjdxEZsB#s+WMUEHU% zukUBMyD6$zb!+m5ci4;io8)(d9r#TvCv<8r`9W(Zw02BuXEgVVPXDCSr{#$(2V)8f z_s*&_r`7q)(28aT3QRD^_ogz9qFyRgiv! zY@xop4{9~?A;Qk+%Jc^mPrC~PzM|G~?TR_5Gpn>w?aRWGK^ITO90t@%PtHix*V7NEEXl~v)6WHS%Ttr| z3xIYM>&M4u=4F<|$LkeT{^GF7%}*)KNwq8D02&T*Q?Wjf_`uA_$asT6?E)&g!Ju*h K8!BQ0>Hz?mSxOH8