From 72cdbdd4adc20ab34292aa04a60ade2ca7aba891 Mon Sep 17 00:00:00 2001 From: Wayne Warthen Date: Wed, 29 Nov 2023 18:54:51 -0800 Subject: [PATCH] Documentation Updates Inspired by Martin R - Implemented a crude mechanism to output config settings during a build which can be imported into the User Guide appendix. --- Doc/RomWBW Applications.pdf | Bin 240345 -> 240346 bytes Doc/RomWBW Disk Catalog.pdf | Bin 123532 -> 123533 bytes Doc/RomWBW Errata.pdf | Bin 28529 -> 28742 bytes Doc/RomWBW ROM Applications.pdf | Bin 155008 -> 155009 bytes Doc/RomWBW System Guide.pdf | Bin 544328 -> 544332 bytes Doc/RomWBW User Guide.pdf | Bin 722501 -> 736847 bytes ReadMe.md | 2 +- ReadMe.txt | 2 +- Source/Doc/UserGuide.md | 942 ++++++++++++++++++++------------ Source/HBIOS/Build.cmd | 16 +- Source/HBIOS/acia.asm | 14 + Source/HBIOS/asci.asm | 27 + Source/HBIOS/ay38910.asm | 19 +- Source/HBIOS/bqrtc.asm | 4 + Source/HBIOS/ch.asm | 32 ++ Source/HBIOS/ctc.asm | 23 +- Source/HBIOS/cvdu.asm | 11 + Source/HBIOS/dma.asm | 14 + Source/HBIOS/ds1501rtc.asm | 6 + Source/HBIOS/ds7rtc.asm | 2 + Source/HBIOS/dsrtc.asm | 10 + Source/HBIOS/duart.asm | 16 + Source/HBIOS/esp.asm | 11 +- Source/HBIOS/fd.asm | 63 +++ Source/HBIOS/gdc.asm | 19 +- Source/HBIOS/hbios.asm | 18 + Source/HBIOS/hdsk.asm | 6 + Source/HBIOS/ide.asm | 126 +++++ Source/HBIOS/imm.asm | 22 + Source/HBIOS/intrtc.asm | 2 + Source/HBIOS/kbd.asm | 2 + Source/HBIOS/lpt.asm | 26 +- Source/HBIOS/md.asm | 4 + Source/HBIOS/pcf.asm | 4 + Source/HBIOS/pio.asm | 16 + Source/HBIOS/pkd.asm | 4 + Source/HBIOS/ppa.asm | 24 +- Source/HBIOS/ppide.asm | 30 + Source/HBIOS/ppk.asm | 2 + Source/HBIOS/ppp.asm | 8 + Source/HBIOS/prp.asm | 8 + Source/HBIOS/rf.asm | 22 +- Source/HBIOS/rp5rtc.asm | 4 + Source/HBIOS/scon.asm | 4 + Source/HBIOS/sd.asm | 16 + Source/HBIOS/simrtc.asm | 4 + Source/HBIOS/sio.asm | 110 +++- Source/HBIOS/sn76489.asm | 17 +- Source/HBIOS/spk.asm | 4 + Source/HBIOS/std.asm | 12 +- Source/HBIOS/syq.asm | 22 + Source/HBIOS/tms.asm | 23 +- Source/HBIOS/uart.asm | 61 +++ Source/HBIOS/uf.asm | 4 + Source/HBIOS/vdu.asm | 6 + Source/HBIOS/vga.asm | 8 + Source/HBIOS/vrc.asm | 7 + Source/HBIOS/ym2612.asm | 4 + Source/HBIOS/z2u.asm | 9 + Source/ver.inc | 2 +- Source/ver.lib | 2 +- 61 files changed, 1491 insertions(+), 385 deletions(-) diff --git a/Doc/RomWBW Applications.pdf b/Doc/RomWBW Applications.pdf index 76bc995320de15083958814cc4bdbd448366d96b..921b0ad5144e81b470662b9adaaf4fbd4a5549d4 100644 GIT binary patch delta 14533 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 diff --git a/Doc/RomWBW Disk Catalog.pdf b/Doc/RomWBW Disk Catalog.pdf index 0e1c8ac6f19fa1549cdac0304b3e33a6b15dca51..a344f3b9c7c030e5c991e1a06fa71bbc2c94f6b8 100644 GIT binary patch delta 4134 zcmai1drX#P6z`)ph-Qg|x-f;pjMmt5zszs~LS>tmlp4uuy0ml?BiClSq))Tdb-}zm zOUfqcDrZ}GUEwm?&`lSD2BLUFvvP{YOl@V^dDAG)`L_7$<9W~fdw%EkJLi3~G5M{= zh$+_rR5>xA_`+*#UnZOE6mnRt1s zICZe8>Fqw>Wc1DJGa~EEfcUFP^^e@TV9py$PF!res=gohA)8fp>Bq)?W%pg)XBTwV zzudY#uj_%c6~!IzeEa8-Y1QY(B|SWF=c=31D%aFbc_BA>;H;nLk6cl;_}#IG*K9d{ z?~Cf(h+W~mr5_co8kxDF?+0^YP3QV;Te&p7cF30MC%TVxwLe$0b$s)oiOr)kx(?w=l3=d0oq2YtHuv;66MrVLy0+LL4UZCIXrA?1$E zGiI0X{-S^Dq^5E2*X+4x=IY@qPRu*Aw`u-kzU!Ced&>4-*!uju`i;+Sx;S_4x+}v@ zmrs5Dt8IC!Tc(|Q>e#}$*FJf=`2Cg9U=*$z+N-7^JBM8KdF=aG0cbvc~Z)9kQAQWbyg&`1H2?C+D z6(Q{aKsXE`q#a*}X@LML|Gcv7BTO2Wx=L;TjDSl3JY--HV#0BUjTqOpijM!P`MTkcb*gIoE zB=L<_kl_lj!i1Ixf)Ioy1gG6t^^Yp{OdR8#(;@pv0thQKA#I`faExKu@t__N1SSm^ zlA^N8ILr)ub1XC@WC8X#Bj6gzG{_GKP}(XnHkthd!I3|BN=uK z`sljde>(==4r_rENipmcc*X!vn04eX2kPD(L6D#sMVj6*C`=5&nFlR74iLBo9p_|+ zc3g5?IUqUFUXmEX5G98toOF?gx#L4;1cA{#RSk=#`_p&PAcRuoGEC!>`s6nNrkN) zvw+!`pamqX;gt~tF}Ec8oICh1LymAKnFBzd7*|p>BI}|5GYJ(ZWBpTn>d>LZV@p#10{K+SWdHyG delta 4754 zcmai1ZD`eH6z>|fTxwHe30cmin}+4{ex9efO7FH@kfLU9D3pG2s8h=+nDkHW#quTH z%9~IGY1C%U6t$F?nu_SaOeHgI(WFRwvy3f^taG>Bdw0(X+NbU8oaem#&hMQ6s)IQz z59X|?j)}E%@}s)uar;GHdHdy;FE81B>Efh@Lc4ME<2gtAY#sCVrrdr1j2uwB;KKZP z;lhFU{QSnQ1$`TzoqPV`;MyyNd26Ph8@{yvOwn&~%kH;U_quRy-OvZ3^&?7}_g=YN zA)Z;d<x%cq&vs%IrT}~f+}(PkR5Pd zyLy~yv2~UthxPYqFr*a`agqju4Kb|LKCqyrG?wb2NT)JRB`girrXbn>ZUZExlQe2+ zH0wK-+LKH~5Qc$JdI8Ka_)Ha|uE~|gX$l$%9GLi^q5&!a4CzW(P4%Rg449D;&QL{^ z1sb(dplM4KR*;rj3D4T3lmn(`A&HNU`ltJ@ta042XPGD*F{X#HP!Ou16>}W0$7!HP zoy4iEH+0?=Vk@KAsi!qkQrfsnrXWx(s9+S8VJL#hA{A0pn5qJTKL8yuZJnptX=^MC zMoYMTpuB%QE-qx-B1{90X z3I&PS=~(}WF|1XFag|kyO{o>e(_&bqS#d3{017c{aU?sS6J=n6GQkzKqmaP&*fnB< z;5mA4=wKjZvl%-H6zhYfEp!Trmw?+zZ&@&SK~XAjGO!89_b3r3mx99llba$_1&8+q zZM8F+jkr^iO)f50Nw>1Y9mSHvRo3Mrb0|5`o+*N$R~zy=u$#jHE(V$iD92@5Wy`Ss zfa%k|y8yr{gML}512&mD4uJs?y_$~xzS_imgXwX;$ z7IZR?RM6=|2|1FTi-0FOx?jEJ#7j%4=|ZazwCxD6d!U;aO)Ip7{9RYk^yR68@g6tKs12oQDb zkPmpF&`bjI7p+XdJDI)b1=(AXkjZw^9tV#XI_X`&PZAk{dDY3^)mi*B0 zgqKiJ(r|?k*Vhe=3PN Rt+D*;eD2Vp<>M=I{{tfwgPTW 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 PoC}lJT{nN{fys{mF0X;; delta 7992 zcmai3U8ts26~+&QJQvDvq9oDIg*yE>wAbEi|5;9W=8S?R;t(P+N@HUpn8J84uX+;$ z390M{Pl*x|&igzc^j#g+*=w)8pS^yb zwcdx$Uhu867d&?F&aW?B8R+qidQZT?3Hr5Bc2FNtL_=DPE-&(97IS^pJmDznr}plvOM zWMtl~l_cwW&vCjRj#_Hil?}_YTl3Bft+U|}a%{3;_9Pd{xzPckTYZYffWzdbpp}pb z1spo+VQ^txmyJ+>ZYh;7S6YmN2z!-<6=?Ii8k-oY?sAx#yY5%>zHC^yPVF{@2FSEf z1VS8IjI^}>p3CQKIm(l?Qt63-e``tJv-ReDW1NqaL+G)yF1)boI`{n>FD~re+s2ji zxLKY$rYfh-q3)czezrcSt?q$s#T1Os4q0Vz5zUE#M07{luiBm;->?kySfgAh)+GK3 z8;$Ri%zfwPW4KS?GbPJ~@k}{%S(i z1IwBz{0$x_s21ajHU!JvINumbDTkAlAUWDrJza;Z(?zVr#3)!#@P+aHm*mAze~x;SA141B;L zp}?|otX|lW5ZY2p!3E`+U|8NAE-2&y;78b)R!^9D=})TrFfHgZ~Ju9k`NVl+JG zofs}T1G_PMFA*$R!>&XGo~%n_^1<%_|0}>>HtgtoSh*W_5CMmghOnS9P+gzyH{xG9 zyg`g0XR2()hKN~Ohk%tNRa2B4P4P6)^)4<`TGT@K?K;pPzu)wf3Fi(*s&|o%_oSQ@>`6OZ7 zlDESAuO+zkbVDddsccxc!f-j5T1WSWu2uGabjpjQx8Q%xG20Qt0B0%-SXa3Mg7*-u zhT+tOAz>Xq(|`?y(LlNB?K}yEZh(f8&!{W?0oDm$80kV~{^zK&v>^^ClPAb3^L`jE z>TnKk6$IO|!M%Q$|3O(t6_`coVKO+^bVKNR+PV1znrR_B;{b&2gXIYE=@tQugC}l~ zIdd53Mi+O=zDH9JB-54!G$@Mkn#sTXzAjf2i(Iq2}PEd(-19zf8 zLj{#F19UM^WV8y-BeIw|nT{=}ZpJ)(fN?XFuSQz(PBiE@^q zP{T-&j6m0=jl|GQ;V&qJ6B}sepsbFBfv`AD4U~yTU35H?4e^|qMv=ddGA_W-MMEaZ zw4x`I4Ke(g%0^{{6;oP528PR=G{epINt+?1Ee_-Rb3H8Nga~DfOW80Ey>sXmM6Prn zt@cRvVXH|k#X6zR4a?M2)z?SO-F?A>k=ukr!LW9Yt*xj^7^Bh)LN_~IWE{6n4>*rp zWMogxk?!pp40hY$&5K=wiU7>og!c z{CjuZfyl)yMNZxE(SSEZZIH|!FmBLw(#y9V+jPG%a*_TB!q9q>SxW0jiBluc1uL7% zpzG??_=qz#JlZWSN#ynwWub$WO^rYqee6^Q!|;ES0coBY97va1g%^1&$ z(*QwnE_Bo~AnYLtG95D)dg1|vr%KA`NxoZ+q*j_b45);8j6DT8A->#+W5QKOPBzBh zfux3IlIXyknRi23X10)_ub9G*GY392WOYf2_r_r3<;XKJ;qGY2dBctYhR8C{>7a`* zEVK?IKF*kiF_?_K@#s>4ftJi-A;X>7NR!S5?L+0zh7+c77&ym&SyKWi9c}22aWTuX z@$AkpHsN`VVK$>o4)dBNf*+rc!LU%il|Y7Wa_1i>XPc+CHtjmYC$QkhA#A9c_1dj$ v$2=a}Oul*T(T&gj|0TC=96h>r|Msaf+Yg?(^J{B{#|XZ5#TCbIx^C@%)z&Xk diff --git a/Doc/RomWBW System Guide.pdf b/Doc/RomWBW System Guide.pdf index 716a6a19956437870ebc1c678ca6c1023fd2fd15..77d98374ff42a3e27a6a3974d33ce615369b4aab 100644 GIT binary patch delta 22444 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�= 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 z zGX>Mm86U?=gr>vI#IG(GGM8QePN<`5-emHD;MjQ=*~(h(x6$Phj$tqUk;a?eIJ9dy zuy0rPf&2R)>wXYecgVp;G3c*Vb+NE#R!=^=RM8pnZ0xn`eVb2l?6^c8xn@A02QQ-a z&EP{91cntKDCZl4&bCU*7icP{3OyCQAy$PBe0{_pP@;r@QCHK zXf0a3zF22={ImVJZ*?glu+~J{5h~pHcUi?@li@gf)+)@ha+2#RFB*3 zzWKkak!%+w;jSa9NVrXB9shom;dhh{y5b*QASB1}CJW#>&l<{N^?cz9mEu!5Pg2k-vGkmC}PKowhP#O@%IiSw}9h=U^=t~GM|IqjpP(=6tSkR=oRC&F9i6a>Pw3a-Bu3>rv}q@8 z42x#DaW4t@ph1+VR9tx)crOR|Ut~q^i>wfl;Q*vWiY2$M`})uB zL-|*Hz0)c;s@qrC>M0;yesmj0t3&@@AvVkFw$G~}BfW;IIUvhIsWp(7pzoHD388N^ zk!hi3#wf&4B~4@+Xl@iTDKuIWIS`JE=l_TS+RisUM=bZq^kV^Bsh{4N@y@U|h%GNT zHkR}DM8e)4$3ix14y%IXL`iGo1@No1sY8Fz(xlcX=?Fi1fg>r;C`?bEujoe1-xVuh zas2B@y-V~;3T+XxM2{NT+CAFZe^>w+UQS-dEDY{zU*2TiJfF)4j^T3uqfxz_fkdjR zH_b&Ow?5SNIPZFHK)aeP1A>yg`b8%rRk@j=ehd4Xd>o(qDH&8uPyL14GJ@8-Cfv9Z zI#`~4Zg+RfyZ52pklsTbDI&qgd)Vo|>E3Mr9BR0-&T z)U`ALD%j=9@=Zju|H%C<<0kc|aU^9Gw6%te*ViN3!4Ht2B?CLz%ALEd)Xz@btkm_X zLv7~Eu40t_fy=!~?V&~1;L1p+5UP7?vtg}6F-~`}qTeC{M+IpchnJ`j9bAiz8`~ab z!++-4Kew0aD@xltl|3%4vQAVpOipLLd#&}=;~yO5G74c&LfQtARyqMD-H$Rg)+pnt zdaAP4Ir^=}+hc9vRGQHi@TOOt%2&1W(b>w<C0KacIekX#iZLdl>3B01 z@bv`srmWJ#BX+dxdZVTXVuZh;5))*@ShL7&L(5OFXb)p=cB%)BY?pENO4#LuE&I0| zI2|k(jrw%GZ6eU*(05^FTCQh!JfYuzRBB(P9aSV36Q6r>Jsu2@$Y>;q2|D}@Ev;QW zQL6g`(jz(n2ejvoowd5BW)@;C-fn+=Y~#u@2(L6z{^5F!_i$bT+05UsSo}e8;soYN zL+7Wcr_6QGeF*R(%vJITZ??rh@u)W>7Gnl$=A^kH-y2+hf#JkLle0E9EN0m7;e*M)=D9KOz z{(Dq8jc<+k(n_`;1gBrTaR+l|I}w-F?<(qls!PzOtcx;4Xgh z#0N5)5nmbBJ}92NRiP{?{9Aku4cA>^#dAIR0X<_UW<~bPgVmC8ctevRK6(21SpjO- z)q|UQIjjrz7Zf)B$<9x6CQdesdsaFT^R7>w^AOduy;)PpO`_XQ*Ht{7^qQWAgWD-q zMcw_SGDp`^vUX4|;!#DefDoIb@P<>#f*S*g3XPwiTjO5`BEq9BjRyA%0*!yNi1n$Z zoYta&&9F>i?B2gcQ2X8M4Fg}(FDI*!^CpSt1guq}(14x@5urkK=qgq}<+Uj!XqUp% ztb@W$C8-^<8qLL?L$fm+@mmKTI^n(0R8+_^78lW1 zz=N><3;3OTgR01bAgUHGQA_pp_vUMm*7E|eAWm~_@k?(<@)E;vM%faek>FpWfOr4Z4r`j*g z;6EXGGE%x)lpqh;BNZv^DKEk_RD0%|L0eR1K&#WQ z+I4?mC&S3Lrp3rcZEkxmlYKU7%S`I^4mnfY3!B!!cfj}A>g7sm!9aAz3nffG zF9Wx{MRZ0gm8RVz#ZVblKPUXta%JUAE)A4A-~-Ur>(X6D256LM0RVQcg;bR>y=S%DB!f@I(;W++^=mKflHFWt=br(wF z7A?j^{aB!9A*aE>@(@nT+wfg7rCcwE85*^g%rM!aiw_)(Y_wZkzgjF(H^_v5(pc@K z#Ed6QIX_ifX_P;E4cytD8yJrx>lFlnjb;R@S~;Vl?8o07mfwdiTeNy)ddkyb`PGP|8lQ1@!i;n#1#QD#cG)9i^ z?nw^z=P>U;m?y%OF#fPEgE9FxRVB6d?$xBG;FHhI?a8UCxTUzKWea_|GoVi{WCef7 zD+pVmMvWY-I+y34DNeI~%O7S?K&8y*>$`ES#WtOL08?#K`chCr0&idJ3LmxZ&6S4* zlM&Bra<=UQiJwni;*@=I&Vmp6x`X7PfO9u#)xC_(R>V*WZ zTw|k1&bBkirI0>rsl!|LOJ{WKnN!^ahVpIi&2TqP(FgHdNUwv|NJv!v*`C6Cck`#- zZ?z_kYbG|rexpb) zwZR^rMSWD6RS?^!pDRY&U7rxw=`YMN)x@dn?AnC~N&lcKYX7&a^VxHDua6tgu_-gV zE?ZT3^-O8{l(Z*6#t={^v7VW0s!p<+mHP=&5kk-L(D4059+rqHk;!AxAQ5MH!G}2^;zKy?9^Y>$|4o8~;)Q#zTw>7cSKHvCM`?kxxco%PN z_pKmb_R@R=74LIf8&=AOS^oyCSRQrvapWFN+p>PI?VN+NeG-A@<}16T)-!$g=`*Se zFEOclUeRcxFbHx7VVA5rs+}0Le2488uGiZW?xj{-Dc9J1o2H}><&PvGo;I&#kC?u7 z$s9|J=nNlGi?n}q5((P;i(xycRgd3D$^H>yN(g(9;_1zepF9obBNKdm;S+e|Q1Nqi zi-FHs4QEvAS=izJ8dfh(Ap$6rzP#TIJxgNULqrr29*8!%2z;XlzJlY;2s;fOL@}L8 z{+ALDA6^uSU(v2_<1kdT&xS;L^;Km~PlEle%oh=-1crgWyfHz`Muwzb7aSGA99@1?IVu%0)_RpIGjJOMDD zc|Wes+1n-Lrqqy(e5-?|i^Hh^>gV-0GRMvDp53L4+D&@bA2gcyL;|iSXZr1Wzfw?6 z*Gu(T=a)j}{pM@1|3qTSX64UqK#mq>({5W3t^>9f^Z2umDPk=m;@Tj$8B(fu>JcDkXy8pJz z=Zj?X9#aJ+*b_c zCG{jfv;!Tw%P!l_kyok|Q~c?XR*pi5_amFmnX2&qAW!JY@m(^t8#0+04)`Az+JOHt z0{qY(*x|Y!2XV$5`vL|?#|B`42rJAC;L}8r7YfGyw*vwXXdsK`nGmEhl(>R$ncj~B z=`x~Q|1m%q%2*G{m5Pw^gtSxd=?dPw}v8VW)n5wpIA}@u1lx`b`}-X`8SG;)pGDg z#?_lxzmbL%+Cv`won`PGB5%Bm@w8pJx_8{JDV9ZI~PlzWzCNx>9g zpTM=2sOt&^XhK>z&)12%}f^qVZIq_7z`TzbqFl=+fkLek8Z0)mw_XlytNDRXsz zt=SCLO0#4$TruE!AgJ4#WrY`gNsTK+##G`<6qp*YB-jJh3$ctrC&N+LIpjrS{UQOU zh7d6w@I3$nKj*6fg(3}*izp0I{{o_$*q9ergqE~c?#su#FeqyT3gg>C;?m$sFOY%E zpoUr)(u<&>0R)ZY?2T_sGSnpkMG|s3hxz~SXhbXie{?j+Z~l*?A&pMqDO+guA5p?7 z9}XA}?9mEG#n+kZV{i{B_tK=MU=uP&PZY_DuAT+f^p zJ3AkkP8d-vZf-wD8xH>|Z-p!dx&C{cJD79b9G+gj_wqP6>0$F=c=CFNtxjTdY*IW2 zHrGg|-(4-9VfR0-K%NZygTx4CGRpr=cx|e#*!BNAx`IZEi>8q|acR0x{>w0K@nbi)m$cXXbixUz^_QGeLijc;!za8e5CQZNO0R6}!Ie55oe3ZNl0yQ%!Nq;C zi8a#hsJ_o!`8{2sEtX^HE6ugfwEF1!TgSSxypctSxyj?fefhdaItNi?1G6JlzUG}O z|HjdX_&*Q*R+Q-ZRi>Z;W5?!hf!nE(UE4q>m z*Hl_WR38G4FEY$6e7RJFr-yh!+?_=h{yft-8%&nQFWZaS8|J)P-A+i-)oSB< zI4<3R$c_Nn1_t-#AsB1BPdLvDN$c*951=O)IO}gla2R&)r@873I81&c+y9azp`?R2 zh=|@QJc%0FfvQ}$F0C*4`QP;Gx6h@bL0l$uoCx;>9vzZ&XU8DuQQkalOC7zl#1EI#WPQQKQvRF$%2FPm zM=7o*rnZcEHI81(J~6J<8#>3dC^KCry{92cyyHt1qh#}UI5jR))mRN&Y`e~t>T=yj$l6UR7&e1da%J%D{`l|c7->?l)(#M3$tw4KHm2aCGX(#P^fij@ z-at__A(R>Wv%L`0W1ebsKm0@Gr)b@ply`3<%z352j^|a+Y42AV(~UUpg_HP}#0!q{ zvhD;*uVw7qy>HKPXVp}h$$F=lo0th_kT8kF63k!>dTb*c4#k1Y1c+x0?w{7$#Nx)E$R`v?>n9=6&B z2{|#g+Yk{okiYV0y6!uPq@E`tVpc&3RUMv<0AGfkHE9@pxoy?T&6LOPC8kvFZ6byhrG6E|qtzR1En5{yWgEO>nBT5%44CQfP7oXOt&F4PbF~)VNEg%&; zX;pox5dPw2X~6thIL=SaGeTWeA=EVjoj^}P^0Pe1Y%UxlBSlT83XTWCA*~@T%&l~g zQ))m0Zd9I;;S06at_-AgV1PEfX<(0i%@(Lu{J&rX6Wb0B(5hf5%2#N`dU(d-|sV0!XqcCo6Hsd-Bk3?Tvf^=C$x&wTHod)9=4wy!7MyK`$ zHT z8dw(uMBf1;b)|lZ!JlK%238`YX^SE{en=7yUehtHAubF_)0{X{QqGJ76_bvIGmvsb#JnZ9=t~2B>+C1< z%G6!RSJ$%S-`u$R-{JSPQkh&xqVeq-{8W@_hOKC4xlcn z^0fnbAYR^;B$|Gw0Tp<#Xy2`7AGnz5a%JVh;U7-5F*iYDJ(V0rz#+3 zBy*ysglzjycsCVR@Vn_DO|+;DaO3is81UosQ2i_b$?kb}R)>r`T+v z;tK$x_;UbJ*cY&CZJtY>;6OP%C* zuV3|g0M8SQCDIfSO4u86?Hm8Y+-djpK~920`k!tNg+JitfOw!^IuHSQ_9Fq1XT6KM zJJ?sv9k#F0P(3{7F*wDRPgl)UES8YFv9G`NJIgm(TI%R{@*bX4P~XWh%Sj78 zU8bpsi;DyX-p;C)=8`JRF_+i>^GSM^75X8sA)1bllQ_HRTy9FKIg^qCInXV^->6>! z^x5RT>S1kr(sQE7jUr?+zv$;5Je$^$*53M))=k;X4eq`iI?=j*=p}<~Yg|yqgZB~i zYEm^R=N^VuvQ;{GN%bt1T5&uX?swfjE9&1CTGgG2qFPU8igRd^8nsSnr{>yBq9;ZwJ=y+sc-X&WE^HZ7 zH<`#E^TIhjlwATBPp}?Pv3xyhc30MSdFUw3OQE}r zF@5iKk}G7|`j3pm{YQOSI!2*Y{=#KQ9D3D4web`m&dlc}o!_DP)kXDEUag({T61-u zk$H)$eZ{_4Dt88G|O{haM4_{2-d((f!KLE+OIi3A>HPt z;?J=C(JJl2Jm>P;*Sc-vr@wJHBD}uXQXuGz9_|W^=fb-+en;NTnKdDw=2HiVl+IkR zU*5v~(l#3&lYy|t?oQ|CkS^Ln;B@cBSA`pT7^Dnlw36Ao+uXXiutkvWI40(=3@f%U zX{9LBxAYW_bloJM6oPLG^605vh!xIUe6Roy&_X=ofdBe$CrD`vGZIt8`SPA0h3EXI zc+8)<{w~&*JD)GkKqis&usraZ>rHjnoY^ZM8z{29^RvXOMiy(&I-WYVuU|CW^fcrf z)K^Ss+crIqBf+xBZz#|qFtN_Yz4LN&oWkMy7!Yx4^=0}T^cMVCvC`|p@r~k?Pp4!R zqAiI}s~~@9=keAJhW>^wizCh*;}js_?7EdJYnY1yPdzWjop}x}rxVlIk}}PG@`q2E zB6*f08)gjlpobb zqWa-Ux+9djCC9Wo+H4Dr_04-{zT~(4a=#7;qD!GO2prFjS@1uoX5f51T|NFaB9f+y z*ED;td|SrLKgJF6diC{tXof03lEuYaXs)c#(@{&{{pC1&q2ckKAM^T3Z&20Dih1Iz z&P$`+jaMV0a%WcQGREej21NgxdQBxH*9vw3kL>3k~IQVaX}y8n$zYoy757 zMSH-Nk^`JI_!jcdr5K3?>KxyxK!*hL5Zj#Oun&sznJ9B;@m+%e_<|>;lSPFiTUtu1 z#GNvQ5sd#r?Py2<)DEdzQLsFoUD3F4=`29))ZYAu+9~~SYR5WF5}R1wzJ?0^7b`3|2>@^iLli~<$P}z!jQ z1xOxlZs54O+RO26HEQK5K?$JDKvV%Xc^yjtDYk;=@R|(%P_6#w3&$LAix4OLY55=t z^h}saorN>pxH<^(U^8a4QY+dTVv*^qz_*O0(^zRTLmEGFkuVi=YqThANaLW%6{zZ9 zl~yz~4jOfUxtX+`r|OCOfJt0yH*6e}Kek`k+}F z+%=WQ0R-{6R&va21^)}(le2T9^xt$(Zat#8x;HK0#?ck1z^7UY03MV^(hJ>8S;;SE83ayQq;K)gOMnm-@k00Dq5&sur#rUnztBC~eEgBqUa3yO z1y;0c+-LyZBT;NcJDi>V;)dn@4>t_()vom5Ul1e;9Kd%I9rBT6LjmU0TLdsZYhV|QbLcOA*#@IB5XaHIJOLbV<+)i`Mc)C7lt`)+C~@V05{j|w zn57U57@T6?pI$DgSkVwrqJy}WZnvo0%oY}bwSMc-(xstcDX zSqSjaoCF`Y)vy4e2JycgQeDO-C#n6hwYo`ZDZ+>>C}$hV`uaj3;34Q1)`&l@@p#lx zly>ggdeNEaFB+tNRvaG3@Ryri6cQ9o->mv}o}&G_uXWKiKTvk`)-UaE$5Y-2$Bf}b zkj{uV88mKkGE^n^CO46-_J2acfe*V|u+^ddO{MCBn77aOPg{$d!}SodMUF_gqm%Q^ z()F8An9%7zp~u}VRqWmPmJdnXxBUdVwd588-5nEyOJb7`klDs(WYOXr+%J4E;7sT2zVN~A z$w#W&P$mmQ-o~2nHWfGUhn4NR{u?1RO-oTNJdbH_yFXH4-K3Uro2&A8u}E1PStlx5 zxT3HYOGrE2p=x%+gHR#ZJ*$(=?y|Gw+O*8)rnJkbxVB<=JDlAkw>Pd#LzTSTXc)kR z_a410Uohe1-kSFUpOQh{cg6wtwkXSk_mu8+*w8 zhdjzHBGotXruvMq+(Ro?QRTsi5Jx2%npy%8p9-Jn(;cIptj~4`G`&>Z_d5mQyVM_i6gDfqV9FkwTv{8ndeLS4>=1|W2rcs}UG%2>z`;5S*vKUs%!?cHp?kD) zDeGb-(+&u5dO| z%I4&djGKu=AaUEwc{IfJ&@YR>qf90)hCY7x z)}-{`9F4L_Y|JR{Mqe^sqI)Qn=q9xm_K!}@H_H7}IlJ@ZLE`u{pk@kbNt|u}Hk&)* zwqndibr`8AZ*j_X8h!=Da99sXZiduC!y5}p$0L${T^QtU*p!~AzGJF|({Yq4tgH_J z@N_)Vfrd(y?)1gJX2Ewgv(K;;Gf-sK+iVxxIH3 zrG28WzS(_r-#%s4Kman5uzNl^^n8%$3@3W>r!Mj>T0lSM=@az?Sp%g1P2aa)+;MMv zYo;rXUbRkFOez}y;ZliEykEg(S{4o}DU1(}rcnJXDuwmXBq^NUo2UiYEU>ZHZO#6^ z8RjR=9G+Mu!&I^eHT3;R*~baACZvEkrGpbhN&h=TgII6?=n>7-|Hg>(i2WT&VQr77 zKZ-V{!3wn@Z!l&mShQ>-3P_E>W>sR}XD}o%TO{E%$E`L;i#B99NHgssJ+r93hZJB2 zI@~l*AHQezD-LENPXS4BdX;8?IIX0$fWsejNHdX^DL_(FXtZE6J2-bz=+;|QQAjg< zFIy!MK%$z{$$a=_poH;bI;PvrSok` z`&#oup_l~jsDRFKT$ZDB`L!-F8y!~$x+FMafLtD!3bGIotBFvBw_C4h4tCL2V1i$ z^7xG827LU&U?u{94Avv)41JSx``BA2D<7y_Wi zSw*vlg0+HS&}8uIV(oFgY7`TNB03+)%d1eph7Py&^m=W7nU*xOi~0pb#{4lV=OJ63 z&N!wSI|v*Pn^u5MMxY45g`PlBBT*C~^_L&j&rl4ICTic=lAz{0uNOT{9#|JV{r^y( zxG+QM7t}|HjfTrKl?Ko{H*kQWSVIKjF&AB0p!MT_-b(U+52(i*v~4EdH$dd(FEsWMOa+@Zxzv}S@WV25P%D|1xaS?DFm1-x~=IgAZIf{X9h~`DL?@Ak^*4*)_mbh zD?IQN_|%TFAnVWJwZy#5uYXkr=mpjn@uB&vMKd+;CGzwkB|Vudv3ZGM^9X*ff~;PY zalYk0?8Pg9I{tMxygDDyH}6AeXw+-&=-Ye}pm`26MB6t3ED-G6bo|5i@>C#=%b-Ce zff{50VH`Ifbeai;0MhzD-ZUDE;!uZ+gIjT&e3hz=dxq4kki?o|LYw^<#5fm@l25aoyGe?Mdugp6So)6k+Qh zxl8tsomRCETI>-J7iY*7Iz18)GTcmHU!HgfKP}mu{J-xRk+q>|1CZu_te)rl_MRX? zf|(7Kf4L`pxh;!5|2K-W1){hF2uq!T@UDlB>&c*=SfYPZ(pyM+_z>0fm(Lt)9BaMS zLuov#!}@KSWC6~Ox77Jx_K%JEg2ZRQtqPa>qxd6lwUApKOQ5l1kqIZhGe-aJn!q(i zI}`Q$vf6?!O_Rcgf25_{<6F=#E18^Bt4%hKWI&z;K~+EJ^fwO5%N=x|8r<7G+pHU0FmKu%==5+f0PR4K7bN zZ^>4i_C96su3hrxFQ@ObrU`c0pxvklMa2YW7PX_NtuZF0Gk8a11rw-MFUejsMDG zMe8_y?FOU*NaSoW^6Mch$GUf24{=u0gntFo|CI!qiap=$=i0x)t!~$R43jmqX@B^( z-e=-sfE@g-z~F6pr~D^xsQ|qk_mx<21BNQ69l~}zHjY_2O8K6984&v#HJlrw!|&L=;s zg6%l#f#(zd6URk!^#HFLSp?tx4&2!-^0`Qi+?He$8=Y>v_$C<0+JF&Ge<&{d+y#px z4f@bu+MW2Ue-Ee+?%~1I=L=$9>Dv2cAkQ=X`0C+NukOG~ygK1%0iG2P#Q*E=dl;mO zv$d~#WnQqJLNutIo!DhLws&Mtb_$f#0;%38m&aYgv~bJK$?6s9gHfCESlq3c zkPQFY@)$=!lkcY2<7iak57$$@)s;qcw@zJ+D~Df>PK zbfT@Ux%cHgBP+J!LOsE!%a)+~ZRI7}+^!!?8o_7Y*}aq@^uL84#(@+p6w-8DiYa5v z9j8eQYurEJJd~kADn6ZaRlxk{MGVUbMjEQ{{)@|asKbb+bjlaNh@q4r);Ba@NrKBy zoashm4) z<2;n;G!0jGzKo`b@heAyXxdr*G{ccGcKZjTP*JUW z*!VF>1qA6-LAn`0TBJ)Flm@9G1nJ%f5Kux&7`i(}N>T&~r5Q><6iG?xhVR{Y&b{Z} z?|%RPT4&9A-7`BTJp1wYlxEBtAi_#-h+J2WP{0e$W1Pd3($vHa%q*mE4azLkHUkeB zg)IZaly%@i7{X{97>>mR4?*w1pW~{)Lxf{hs!fP#p{@;$C6-q*%XQ-2hse8(vXvM|E{F8d+$*4&K%Xg=~{LUxN8NHUC_O*NM_sWDUDaSa2+I zSpokgiw8)tGA(jT?0fPiLOAoXZ?LuNG-ZiP%86KArAl-%4eEx8hI-vEps_sdv7 zeXz#eF)@ize-1uKmjE%gVRZ~_z>o2I2Kg%lwLXhcU&aU16;>begsK?Ip5j+Tf`GQF zR)@JTCcuSpc;ocoCq%Vs5Y-uUQCMR4FoSF1&&LP$>T5p&fa_`0E4#p*7XmvqsRfa+ z6!7ssdiX;l3y1zG!+%j>1u!etY08nHV|&}5gvHu|7wl9F?_{mr+P*$g2)HKRe^6nS zlz<9b8-@w6yjE`RpeR5EQ7Y<~toWw94IFd}#c$IX&bid45i=hg3n??T10U3Ff&@)_ zWtiB?#4lbPw)_ZqFK3NMz>BT;N=cy#=E6n`W_gL4Zp_mDvHy&c1T&8lCd1ZXGR!3# zpG}=S{|^dO^pYel;Kin~QPV4_mvu5t?jpgtb)Msv$bJZo0ZWR&=nsGxyQlr=@NJwT zo=!GolBRbmi)T1!6)!uW;1X_1dvlO zZN(UbyE>kO6AO4D#s_a&Z{AdS3%)b;K$>Jkp%!>)>@Ajib+w11?BIuk-`$c(iVL{3 z4v`X*ej$}OlgLTs2;!P#gsT(S3RP)*_o=~jeI#qvXcG+BIm;koz@|NMf(bB~L!+=& z3jzLYAs#@y=_r7|m+)RC>fj^q5q5pV^4fDR06cw-g?+}ZY!1AMO}{euI@hdHQ-E(B-e}s?~nY_?H+d zDjUW>h`+>0-A~ysjMhh3>n{(8?tahmU$Ols{%N=nFOO({9dVmn2LLE&IYc^?m_UZ4 zkTnFN{yei7(h0;qC$CQjq6d?xjn2+)%|<#!1-^FcBDxXT)*abaZVYRe-$$|m?XoUa z`tiH5S+ZSmy{-efw2oY;lWWj??`8JH7|eFLPFZ~$T6pKSdC|83}+U0AIl(f`Y8{p_Ds>-l2+^NFLR7axEl4Z zEtrioyxBVa5u@Ar+eSULcm!*Cr(APgp_8NHr7TueJJbP}q*3-H} zwWmKCo?ol$c;|b4mfEO?H@pm1+YWe2;u?7Xd8)Gh~ z+(_LOC-)M(zPrNgl-%Go>?Dxf6wx6<_~T*NZXEvfheHx+s-s)k4tw=aii>Lqc1RT_ zkha>RrE#OSO5Rf&RyC)~ykfRi-|o914?R?zFk0^(v4=pkHL8#g35$)KyVzVpW9{+S zwEMF=a~=45q=CNF!d{QF)#)ISt9+EZrb+aV%>JH^FkV=!@fcx;^%Fuy^?lwSHbZ*N^X(}ZQ0o?NdX`K`~7ZjW)ZjFtH!luC?x{n;Cb4j9GvM&TQ*#@~$ zjPzGUf2(YDvS9?Jt4wjK>{s<7bV2`Xx(JVdijplaM9BihMeL}@G&sy!|DKa9{P&!M zQ5aB06O!IK)|J1a0nu|)I@kZVN6QN+kSoj50gU9%FNHl?imfHLBNnhr0^_Ur>6%aj zT-Y=ascD8qg=JGc7=n;q$_FD7EiJI`ok45B_H3V!+3VQ)12=aGE}#hB z6v3f0#h6B`MpuG#vbh6{3kHFR8?Ze(Sdagwbh&chWq_UW$`|CL&%)LND4aQLd`KTo zi=lX#2dBl@;sfcjUW>Ih-zaMUD#jXT8UU05@T_=$7MfZz9m^4EvK*Qb$NWf;0nj}( zsXAFEO%FUMUZ%ku&n_mQc=~5wvln<#AOPpW75V^>Ic92lvSzf2uD}hAx}O`z%i=xSSY9NNb`?9N%WLtUmyn^B?~0zwFzKKhI^m<=>GK18K9aKlo(C zBfHSoHBfzX*rbq{0noKecDK}#fT_w1;}Rfrw(l}lb^fPc+oAVD-#jJ!|1WP=_*>rm z|4=voa?}FX5qUp*o8Y*-C=tg8n=uaC+-XW#%$83crRow}7Ea zIY}J64A6<5-JWlP=P$4m-2*oTXmK=QBfhFsHki*`Ck8hEW_C@_w56 znjJP?G;g}`JDh4=0Fn8TciS9oW98P~*nXY|bbLt6=e5jbSSG+u#ea{JpGV-gohs|i zZ#&iPaLoTDz!@IB60TaaB9IV^cWko%q4{8+gN6PMedXKu;7xr0E}1)bH6n8Yv~oc7 z%gIq5^Zgm|1SohK$jLd|QX*Hxj#S8n_#}Yw7y$ z7iR@`NA=~;<hONw_oS*ag=xIVUPd9Rq6d$ z*yVAUL*>hnrz>+cs&s4s1ow-Y1_7>?JrluzIeH zw--qfb2(2q1jhsE4b{Xp4!czbhpxyKNA_gSu9e;IlaEBU^-Hq$+UxZ(p2+qyY1yxK zgboO;l9W1iq*M*)Cw6uGp-U0L#B13+8<{r*|^h3zu+*%-WPXY z^{NxfNV!#Qe?`x#y33*GX%}DGJ{ZfmMuuuCu{_olYNWRzAg-PKQy+yU-srBFPIn<& z2wYAvTh)#7qtk5c&7YNNz?R$PT@nxb@5@Rd#c8E5G+uZhqzYBX-LNJ((x@lSlKj>5x#r9?9~d*9+rcPgj=u z#JB9MRPXf$wwOI?S`DcK5ippZwf7d^kbSGdA8sWyD#J=j%deQ;_vlv+9et%E#p07~1baA+2iG$9*FNd~0pQTB~0-FCKS6=8Bweqfl3fB4V8rC!uE_OuR+gDVFkP`icNu~QPANoZ+yZS!0PwYn!Pi$>0pXe+$ zSxHb0hnbF6LQ{91YaYCDrEH|z^Is6*v>6kxaX@#bcfPfk$Tt($QH-YG^;KsfE7d)& z#xG>QCVxD>f=q1W$_cS;>Fs^d=h*La?V8+NRmGd3cq6_%p^m%4%R)~hLn!LmA(4H- zyqv7v^POJ4pg)&n*hO)M(KU|MgwC3cH}_`!xN5}766g(tkL&yTIOw<(IBjRB@8!2i z5Uk`&7-7^+3>XmPvi(|f4j6U2%{kW*8=!xE@3zZ@Napy6hjO<<${w-&Dhv3jtVMH4 zVL#QHX~sZ-pfoG{a+(^E3bZbMnFh#Xu*?9}u|bsp^f6eCLoIU@iA;Oz*FX}?bQCV0 z@*w@UW+`)ZGLJlema2^(fZy4$`K^*k|4)_7NgS+_dHuIaMj`jNN`}Ro39v^(YBzz_ zBBS#Rv0S~M<Iyrp57u~ z9X7DX^NI$@Hr)ytDA3i)SCAzl0wmBKH8z0X@_{nu`eS79ed;)XZ9d5Z2fIcF%pzd` z775w)5|dG-;3Ysu4`CK*`hrCQQ8pJWQj$9OEQLP@1D6&iaA{HTCs#pmwhb@Hwqb^C zS{T5l)u#$T5(RA2!leQCzsgWEgp>(hRZgkrMlM3+J8pI^!;zCD_J6Bn^!Z$M7ApT+ zC6lsj{m*Ed=xA`numD9sB9V8lTI==VK=7K~5rC<;cVHC_l}Cj)K7(Gw0|LKHSs-b0 zoTjgM_Er`NBu#OEV!9&_$UJq}^40$RWzBSFqCDl=eI$ZCZVEZ@X84ohyh7dw0DO{e z1TAP4XZ+$N(jK(lP0^tNe9`cqgGH7lmRGs%s$cUUh_jKI1)wSb`bGOk?X&B_n0a~F z04(uK0jQOfJ*Y_Bv8fEBE`P8r(f&2$U79(-N-XM132+dT3`_#?f~x>}=X)SpM)MZ> zGfK=t3xKKoP^}c%CP^ee?rcV#6=jn2{ciVn%r?IYM2G+mB2vruSKv(n-Y%9dKn8J= z#6e)KA`jMOmjOsIAgOA-sk>s1G|`aD1wQs(d2l*gf5x<_6`yYuVO~-LypB(Cf`CwG zbChSo`Jv#IwP(r6ZPpD6wf6^jiJnpfEmoFh3<9mQ#eIPC996l22*&URKz8mjnLyK1 z;xGHRV=T=S{C&L20nyJG!HGWWco90d^Ml?XG*FaSR_UHMc>ut!(|Pf*^2Mwme+5v62K=xnl>5U93W2A`Bk}M?(E5j<*G5Aal>Bkv`ue`#ji@a?^vK?3u6gIt zHsMpe;UT#-FS2Z8v~h+N?4?Rk8`$u#`Hny{7Ic|c@NaMWQ?@!n5Tv(rW&io^ov=S| ze?OYwYcY@e*zlo*h#_o_Ge*Tv!n|1D=1YAIP{|;6%*Mi8LuIrpx@YJ@oDL3We(uf? zNL2eRSx2*kjJ=oWI>-b;dUpv*;UK-EQ#eR(LUGe!HdLdvGj7(Gu6*}ErYVw;*DreU z+0RW#DW}K#N5S5^SNpDwuf{w#$SJNaahTIzl@3X8Y}vo}F)USoDEz5=Gc2)8EAQ)?MfLid z_sSv@Hl5(Uy<~>-sk8U#hN~`>upYI|J;fULqy5__dGDWxS2)#t$nsw1_}XvYblm}I z`>|sjp8kH>>*W)rC9j)1C`6p^xd96+f zdloW-L?~>}hj+T&f2`P;+FN**+uZo2YI2!)^;_y5hqpxj>y0KhJ3d>Zd<{Pd>t8fw zg5ihVbbj;LO}|*}ozT}}`6`JRm(UCIb}IyyZ8i&*GoC6~B}{@;DT0@Go#4UFR!(bC zI>y9ny=?Y1h6Mb`PQ~Y}f}Q%J#pm7mk8;pe#lAgKPB@tETkj}+^(Z9< zGw(5+7#-9>rh5z6*vwVqO*fJMLikV|}UAiz~8tFrWS7x6LEwq@+lOWg=x) zyo^brZ+`Cg-w#Sat0eZ8u+R=H4hTggvn+t7B#J@ar)TpBRVI*pRH*Ge=sHXo_E@aNrDTXe2X+@uy zLj=z-=H9mRTfyy2zH7F=O}3x3UOmH$Y&4&@qBFMJ;S^^$I#Bs$|FKitz&_oR^XgXB z;^d#@yA#8z#}T77iAD^oA_FR14dFiZjCEeEcWF4`>5n_)1I5vmWbsxA-TPdtaWQxHr$syj2WGwu9|=y;UyP-{ZHwy-SPp} zZtjw9lnFizb*Y$n(H=+uhAycBg-luVR*!gmt1OuQL~p>;pSjt8Pk%51xXlMzAYz`q zY(!*u=p|i%yxavr&~ReV&;T)wLh>*x`KMbE^$$RBZqbJz%)I45c8(jv_kn-grmgD~ zIqW>)Bb!Zxbn?D4hcMG`7Z4unnp#@d<2PpM&{gF{?AcXjF z{JHVtVT=U?BKHo!LD4 z9$UXHzD|kYE{tff_P6pE#{%5 zqTS^1v}k+a5+1PGJ=E8>I=)lNU>a{Nd+q9|B-=z%WW#GxECbW3n2(NR&%sGWC`%y* zQ`)5}MvQGt7SVJC=2C?Zjcv%gFyOJ(cyogRT$E{sc7^4YrXfXmjKqI2Mp9_ax{Xu; zVOVO0yhy|75bcCl8`bX=>d`i z#}<qR}k#gV370%(WSV>jy7!!l_r(W<|tyZ1}j$K(scCDZLq=&ALW1Y zn6NQMTHx22)@SKOZH6OJ2Gwg}uvm zs=q#a`=-sCOOAABNEXX`s1xf&29N~~u@XVs;bmwq;>N42rM_R3WQM?!LD89V7e9BG z`5m!GZl=Q3DzA{RJArav)vZZzP=A6cr^XC;A4*aHN2Ekj%InFrR%Z-cr26Q@{PGk} zUx=~^WXDrpmIuQf;GZv+eIJ8jgvO=+f2ZA_l2`4x1-vg#NhK1}kC(n8G$W3qr09}qG~0`(fGz_$FR-?sb{B9<0z zV9O^1w)}&dam|3asGi$(a~mN=Wku^X-V?N|%_amvHYn{#qCz>vEUmR)ky0WjAjijP zKZMSV8Z*dhYi54K-Qe6BOWd(r3c(~G(dZ*~;`1#@+IBCO)1kMttmIqv`sqyUcma{Y z`Aj}kKQ|N0)bD;Gx#P#-VCz|U>{F|Fgu;5dzq0Ld@R9yWbAHp=X#G1s3DSq@`zo(E zbB&cytc$ZR8ooz{7#o2QAHTZe{bEc0H`DR*|o%-{Y zU#JF&uhqH}W_jOZ&h-qN2#S{NmW5fKoQgpksv{pqCnj182fy$d>%XsAufrYH4D(8-+d8ur(M>K;y6G!9 zowVO(_rq1ForLAwl~L}*P>68jQ=OtR8U4+3KQq5cmN;1j8P58-dqEMs2($fsNZh9G zIG2NUH{@{f#|=6zx;60uVLu5hFc6tp%B%VyjE|L4&+{4%od{O^tz8YQ^O4ohk_6!#n=ZXOU*G5UDdfAMCpZFv*f zJB>cI_!)62nbV9e4LMgKD-QKN_)+(CAz@|6oO(sxO^bi;*~jbE4cHMC&DB>wv?r&0 zxubfe$uP6KV7G~rgD)l(Z|J+`Yv*IApIC-f+J*N0E^%%i(eU=ZfK+tSLFj~oh}6sC ztao?h%+HP}KHr@z4^_;hbUgR7WHwM|lKaDwxpr60zbj>ikA(9xao4#Ol-J6tHRis# zZC01>k%TBB+OmAs^K#zItaeE>vhPXQpWVxSpS~T<3R%=*lm&6jvL7i+r74OVJ)k{w z&6{)sX~xI9ow{C8lG(!UT8^F#-}yTdNnez+dm7$!ESvXIx*2Trv1E`8*O#;QI(fbN ziw^^-n0*D3J@``nNweJ7eW57uzgzumYwo5=>W;Q9bN*g(Zr;be9XDkeo!>r>{&Ylb zo7ut^j}@-0lZh}f-%1+W#h0>ri%%bW%{4?QfRZ)0t!wTfzrgcMch>sW0pPZO)#9wc zm@$BLx2GVr5Hpb5#7y3ir%rzT3Hrtl%qM8IA@IQ6YAUjOX?AGo z^_2xISPO%!RJ7)z-R?Zi@*`XciblCM5VPRukME< zOwEayLUI|jgk@T~7@W^V!j*ZkYjg@AzEXkLQ>xc=ms`T*0j`pQmiuk11bXi5KY^=01=B7zK<|d2LHeip1RPx7 zs1F)M%Mrq0oaYl?aWgslE zCR=`^f;$oC_+)>5*u8{eCDOe{z4?IE)r(38wda-}#jY)Q ztpHs?MUzL6*Zv{8ut`Lo7#!7B!@Q)1YanYzjyFykIO`W_6gDzY)V7U5Hi>%5+y8r^T>U;J6+vE)U+o0vSn3+xSQ2 zH$EX1YQp$mVI5J&Lo;sPXH0<>4B>&0Fpv~I(`W_iq6o@=sEZ<)81>$8^S)FE7WO0; z8z4zih(e@HJ0CjIfzP*%*D)^wSmxgx9*T|&=NA&$)%6a`n^r1lGKE+$D2rflTG|f$ z3F3;#%E@cwK9od*<6A1@PiC7i62A$Tj^MX$+50Unf=ovhp2=RQi`ZGf_4Z)mjq5OP zdtC#&8OWRBSUKMfSyN9)$6ST2_RT)_ctNzoj@qh3z+dkZ1xtz?hQTjnMHvUEj|>aJ z7e5+t6<{xrsQ{M8Tk~qfUN`LIUiC)$wmnqQL%{n5d@{*rK6iG}km9&R2~rVJ)CGY|Jgq#}4y^666t z7x)=oo{LwDi~pUv2ya5Y9L1_fHIIR$#Y>+qGo$>*ut-o9BseUnBY3p|uLQ@z>KOu? z1?4slPOoN&%|gn}BM2upg6u|7(OX>7xAfst^PrAHv6)%8dG7s>=YC)6qsMySmG^G( z3J7s>qtriLCPpRBVi8dPeT4sd6@r_STL@(eXIJ|RW3r>T^{(8#0|(l~AFnDfu9vGcW;%0@in&*a z8j1)$d-_NEE1hzbrFiw9DUsQnbT!_a^LBfKRb)~ilyG-qpdzBMTvy2NX!OWZ)tX-A z;ZKYe;Tt`(y;~n~zn-%08ddjtb$d_RLPPsMM6OKB*1blC{&ccU)GZA0HFTYlJ@k2h z9eL2B-~CRp$+SB$PS@4DwsEGI=_$v$#g8To*WHva4R@tgOTq<7pQU;w*fs5n`*CoQ z`m&vAFK4EoiTL5aUMfA%E!^MxBAeX&ZDj_hSKs?ocvsO++$e50jq4gtxYxRZ*aY2u;ft;@bOObcO!s}_|9`D0>ilLvZ?-3B^c^UDG< z;v}a0kp{aMpR%F&@eEBZ5iU|oIhi7gsll`fjSo3qT*YfLwMF(mNPnTu?qbZh zol)Iz&1=tM}-JP0Ec*9G_o`(W^C1#m7OxtN9-yID2m#XxpU3%JBVs#=Cyux z>pBgBw_Q(9#9q2X?+9c$t2;v3LIL9dstB}8qlNh~YBQqhDKcfG-7+N09HAnn{@@APfE+w% zb!Ai_DeVTv5j3K!_a9QCEVGz;33@uLDNzd_w_+GvsIC~PNRgRS;291IA(vi7!=cS- zU3Ls0wArZZ2BlYa>L@QSH)!X1dB4%y_ht=x@lO8E|4h-bkX43K&A*Oq$)Y zHjm+;_LqeiX_h1_4J}MTYgCQXAho}63DSJ%{s03GS{i(QdI_L2$R%K}Y`_lgbxOPy zBg?3%^-HgVJ5ZK!@`otW{Oxlgd!6bBV24UsieAF;t14Ce#&xe3z<>v#V1@??xNQuP1#puCo381dVNy` zG&^0DvNmT80{u$G99n4t)7_F(JR}7Qvl{cQAPD<|;%9o* zeg2F1CTLX{6vicN)}CwGv+Tj z3CAKPG0YTYV5Gg92*{0Apiu$alE^^?Rdq(-*m@I$3JMY@L}2vUXMpo3n+#3Ep@`*h zD57_g%eAX2(T+;Q4t+JPIV?m^Z$1bE`ODnkESwOwUU)!5mUZYyJzJ9@GvcW$4`Lan zZg#8;KLABn`?7;z6B8(h`ut=*s~sNcFv0{EY4-OS`1&I6qY*fft=|);;j81Bsj`nv zyP^=wAc_HB9+DhbH6V>x4g4lyX=aQUO%RJ>SX z7!^Dyl4@*+*x+BU?gLK(6>Y~Ph6>*vj`PUEpSzytI?I#By4z`sCSk=~C2Q%gc3njc ze6!Y8X1_vzJo`Dg3d0K$l+Ya3_1LLe5^`{#Mf|=W{}W*F@}dUcV>4d?00X5ri^WC6 zEp+iB!+*mHRHirPO_W*-_Whdz0{oo!g!pdp@$+-?BlvC!2nwR!?_Ifr`tu<+F{*M7 zi{ug?iqPUJGivkq+5`uO8O1e^MMA>&pICsOSBR6J7iIbxKoIONSopDcfzqg!c`SBV zVGXB4qaHy(yrv1P8QfxD8(J1#=QxCk-Id30aF*vhJdXaXZP76Kbyo5he$ZBkw8m>% zg$rRd&ELZ6Q?297Y*||;kHf{laEZ^7_!<+L@qcPOY zntM4odgIB7OHyHz%JN;-Y{z!&l>t8_G1#-zrY3J_#3)GlItA?8V1M z_PU1;YK%~@6nlJOWbANfZ9)WpWLZsJl&j5;UXRD4#;_{?CUu`0Fg^#5KW|rqiMrIX zVs8r;&sgoM3To~BxHmn6!n#xqb*wIg-fh__>K4;a)ce$ZkWTgGVZZPimR}^HR%-}3 z{!9twYG{>6AnG0!;O~cQ%Rc&)F1!pbolQtizHH$?PJuJor9;z4_%Joiu~y~l15K{M zXErSSu7L|8%X{~0-r+UcD{!y^6?T9A;k9iHUSArU^|oUq{-!{>KSj0QC%M@MADdI! z^yEMATpuk&UfJ=z!jHgJd9N3Lx_YaoaIkK;#&y}gRz3Or)9i^bXEZTWn04j6&;d@Am~Cnmyw*E2p)- zIc#RqyJ9QZjW(;|@@}+Zm7xmW6}ztgd}*?XKQj5`AAm zj52Ec*1cV{3z_k#2!`##6SF%FkE`-3U2BWDKs)yN?{r?Jat&J)zYY zkiHO9&y|bQw!H`FWSsXt;4N`dTz5d9yPI->7`%3@;+U6 z+_7Q5Y<*>P<8UH!weaVQ%#!t?Wg96$GGl0*F?!a0IbGbOc1(M6 zrN8^TWyLR5tNg}CUA@5_qx(Y<4!3(~6ZWosbNu9o94Px}XSLlRk`e1ZA)+#E%sHFj z&i-BIc>FyF=Nx-?bI9WdEd;2z8qm$9?)25`$_%51A?gMGmr0gBPh$mRPTwsenPL9D zHK}khXgT4Pr9=dpK8^l|e1!po5g6JO7y+@pBwiWEgz^n!nqG z=WEx+OwZEQ&TdC&(twkwEY(-vYB4@?jA5+W@m2TdnfZS@!-8gNFpg9o3e??V-Psj^~u=ca_^u=O1CChR=d0QFVj^5J>z zbmCR$mbtc0cglpR%m~c9isD_ssV$E4p{ProB~+#GW~WThfQvGaju5ax`$hrj(RE-w zM~~-5j;G5uMHm5dIqW?zz>vJzgbQco6fJ?%FGqoWp6J>DN+;<>4n=^TdhBm`^^K~_ zKyH)-%Z>72xe-MX&{Ofs>6h8&hrXS$qseCmFf`aqb zf!+u-Kov6S<%9fZHA*}sP?H5Rc@i6cO@RF8$8i4hTXcbl;$NQim|xhGyP?-J)g7!K zqG5hbvDI8BPwVd@E#Qg2AqRv%%0x1t5rg%0d@MIILk7@mj{$)epz|+!%?Q}&i#s4n zJY`B)Ta8c$nMZnqNFf|FoC=+M*B=N)0Q$mY)Exef{Hsdq090wUrYvZe-T`uu%3vFy zHlhJ)qr;`Y)kYnEsf~b!WWoO-$mA)9i?r~7aESYNk=88`v_l#o+pWNUHwjT4A_W17 z$?r@aBH(j>qy=|-wu=_aB#!`_b#y>3tosG<3#g4ila|=OMcRn4KF`RHPEjB$>1{R; z(db~vfDnO;L>}1C?(I6Dql`BU4DG#t8`}AP8`=vH`4d;;fQ>!$Vew+s0(1k!?_h-M z@IT=oY|53Qb8+k?*;gtoHI*kZ8zncbx^CZY6iv3Hj4gFKEt#FaZ6Ai14@PJ9*k)!+Z zGg4Pru3d(!H}kR>?=9d(v*98QMmT#%FEc2AzoropCeuW3O>wUlL>Q+BR}gQJsyXq^w#pr#CruWU2WVDps+pxBEkT(FQt z5*$fT3ne~}O#z`?@BXWHizJB2D-c`{Ee+i4@i+?nM)EVj1$kY#=6}Kk8U25P5FLQL zfY_)cLwoMPXOI(6W@E5qs_{aqU3>?8r{%%2Kvu-B27X87I3Rk*25x~9|8z!I_H)D4xI_Ib8k7f7{XrM9x+uF3DYj?OQvCzpA-Ya4!HApnWSC&0;j z?=QfEyA3G=Pa8fmy{yVic)gT3@Y%UCk%Agul0RBY&@9TDck-k9+KS=^Thps!I}zsDN%hZTyZfSk(bG;f zmBPOP52ep?qr>U=gVP#!8ka#;AF{L4gUJ;x0xpm@76rPF?pa1aKT}uR>ybn4 z+v4>oNyH9&^LY#to;4@^kzHRA=;};=p5RrLDHm&~)X!Af_jo5?Mrl$avKTR+^Vn0! zj|UysopM@f9@zR&tJ|ha=1c(j8}iimen0*Vd9-d;y>aIo3?Z#ejEa){H{_{_S%Q8X z*Bg!%N|X)lp~_$5+)8(ne2(^HSIH=?_MJX9Bur;)wQj|o5?`v&XD zxs87yp2Q2pv!=1!Tb30uUr=BE+~U<}-9&wI@q=xryPqkv7sN>CsoTk7(7uMxH|mw- z%$ru9QVl|vy9y89vYo`TR7_0dEqM0EJ^EJUnPqBwZ($+te)av;@aOjC#rTWZ`43g! zP3AqFDMT&ZQ&-gansMk~FQ%qHg*jc5LrU_VdU6bX5_EVuu^GSmH{x-VxWZ?1`j#$& zZZGyQ+wbXR#IR}gncts&b{WC4nIq-#77`*a>>(Q$&T9KquSxsi1!(!1U+VoA`77ye z-a5^xO&^!9;hGW7OSEN`)19Aedkz<=l{@?gX)RX(ieGBy@Z#Hu60G+vEtzuH4x=U$Ui6<{EoxnVX$+8h|J&8$7k958`#g?_2psm7^iyf_cf83mb~j6E z&n=W+TxV!D*VsVRvux9f&TKUef`mJpu5~xp=uM6Cl$oVkD2@%V(~@meJ^e6UIutB^ zhIUVGs}R&`xGqJCxkh}7;y)VmDqYR*j`E)T&OuZbQM(qE&XQjCxD3dtsp5c~8pKC8 zzkE`a-9YQ4{QVfuc!Ny+`dml+h7J}=eaPA(qQg+mzyh%zJn(Q9F6V^y6Po?oML|91 zI`EFo!tI<>P2pWH@_r}lP$`0T3f}_=4%Qh0!8%5r&2b$*7xkPM?G(<=+Q=zj@G-%a z!ArW0txr2y@eT`=bIyuCaLxB;>CkEY8{N1dCUSH>U}GYuNI;vW8XhNtd!)`iTY@5h z(i+H!Dx7IS=AbuKDY#M6j3R??T?=6J!hQSynX5Aia&=JS)Hv*qjN(uD!y5iVEih== z#D{OM<<_ad3J>bY*>{_B1n*5PIy?2t&TcHt27 z)K-GCcShkBuTe=56Bw!UcT6BVm7l{G;61V_N;rRg9p%=)G7Amx52kPiPE zQX4`}iM-ay=8mNFzR>gdgoI^bL^fmt`7!4uSIUH(R*=1el7`jGNNZTVtR65% zPkZN%Dh?Zyw&4zqhP{hn-c}XuBUGdDWVL4-fhvK@tijOC2{A zyl{7UY0jZo>E&px7{d9TNKlTo^Xp`7hQN689$wXw;lpphV16hCmt#p(1A{rbb|c@I zR%uWt6#At5nkcP2Z9~pz1$#%__U=&@!^-PyN72&&z2jX!rfSIF1>C%eebTFc^tuY7v;a}E&wVxf>D8AufutK zdAcfwz|qh5N(~!KRQ%=V!a%4DQu<`|KzsV^x6tBI|CBz)GAZ(v<25MhW}kMi_N1+! z@=HZU*)0(Y{aAzEF<(O=)9vk|_P)1+b{0-PHJ)*X;!g3?uUlWs3ry#1rZt0RZ{u{b zU!=OmeUynJE$L)EYpDKW@$ScLTSq%!GV)KSiPNPF9i}o!q_nwp}KlY6?+o}8EmKz83%bm2w zMqhNao~#EgYM*`thL0sQtKq1QRUhQigS9GjQiXrXu+ee#aHZE>aC?O3~+n%3fL6-I^fyae)e ztQI=^`KX$8cx8=P;`>I;7aF7OH|17oqd0FUwH#3Bsk^sAZa0sobXVy*RI31I*Yr~+ zJtI_`_|&_se%tr_P%-zkMo}1 z(MA7-N@Yr5R52W;tnr7ogzz+&ocN+2BsWO}V=6CWb-d66^%;1i#ruP(${+mGbPsX8 zj+a6?snS!?$Cp7lvgv8(_i}wM^)`o@eV2WEA7aquofTfU>Cz}6tD>Il3+FK}lD9}e z;yRDKzC;$y*6%WOKS-k5YP5Qwg5gVD=H}d&Ea&ik^18W0!DwXJ_oCg@0+w}Yl@+dj zIc3l1SB$uxB(@j4r}p#U2~GYIUb>OHIDIF6eylg;>H2r4gIvk?NtP1q>+8;a_{a@J z=a~;h{YlG`AxL3H|KNXBwN_uUx6vqaDakZta9}afYG8my1&~qXqPYSv8D*6LDl+|< zBZAg3N(biF(IJ3~`ZRvjTa~W87cZ+JKV8cVM+;NeMSFNIVJ@iHgUPO$*~0swEE&kTl^_ z)&r1{iDk{i%SJ*gDdkWAKBiaeh)?p8z&@;e)g~gi4E8L2REx93{x}Hk__3jP5K_=B zJjHH>1ebw3TCx6m*5*S2M%K={3fCzUhu@O*-Y94Tw8+I^q$-OaREd&ig1*WtRp+?& zI+wt|f8jVk-oz{nRo-Ai1n-xULC`G93et*QziFfV2F=zMho{JFXT= z4gT&J{~sXab|BClcWJ@8uAzMk>LI4faF1*=Sy(GK?U% z$(-W*;M>&2DE;+ugeYE?(bZ+bKDLYmSgsuH2U=sjjnfL-AJAQd48lGu@pMy}<8;s` zdZ9aps?f0T7z{^3JGQ@!a$8fpJS?Ed9ASP(Mh<2xoY=r1){q5uqp&rBMRN&Okp+ z-m$S~2GCMBWC*M&;h(3iA?>%$2M!k#6MU|UzqG~x?@q0!CJz0QrJ5&DUXkU=-rW8A-lFxRjz1}5>> zun`yiUzDghJZ$JPANK_$Lg_--L{PB*`p;<$fqVvE{Z$r8C;5dagROn~xZ=-lwfUW4 z-)V3y8W=S0?8<-6DWX1m#vGDPmj;l?FU>tEIhYMPJ`N1Wn!km`vKDn0xY}zSLX7E@ z;Fz6P|2Z4c>+-n6HG44{IR>MVXZ9Pm-ZcAP+@Y%Qayfv4Hat)6G|jJCx%$*T`*d(3 zx-{(h?Es)4F?X7^tn?+&5V~1gYfNhd&VBk+4?}zI*O&vr`!fN*)5&*!Ld1_8fVg|rgt`Lltr^~%R>1EIGO`NnTsFb&`mfuWFK#V^;cU=t+ zgI@&Q7jvhE{q1_UN;m!wd2bn2Ro{O9-h#BCAR!tabZ$^k=`Lvj>F&n!U0c2DdCu>5&N$<|`oD23*Jf|l798u^*PQb+(MO(^wOVyP zZ{^m#HBjE&FJ}kXJZeZ40_yt}qkoJ=4baUE8M+EB!Vxax9P6sEolO3LQ8&!zb{chf zA{3(E!w;{E+!mu)dJ!~vv3H#^hgLIsX`pw-#J42-{^@3|8gjMVeA{IA4pgtm@o9Tk zsYd6fUYD-PE*nPC1+X8H$V2T%2El%0-Pg%iX-vv-FVCdLwZS6(yqd(aGk?1dn$6VX z&Hy{|y``RVPpvx*+oyNi+Md+11MJ{qe{hE1iE4i%5|wX{YOE@C%tvH*^k@r@aD_V% zLu2CuSb)yM=>oB>>L!5BuUs>iX>Rd!RbQ z0rrumGfV4$`J$EM+8d>(c7A5GfHF?a21Ruw1?Q@3_EOK*YHl0qjj=_-H-$UhR4|3eGfts0^1F1IS-&C z_4A{2q;uw}%89WxilDE+o?`dzJTnT=V|h;zCiL6@BGNTHg|%Cz@t^~gx*7;c*XLj~ zPkc3i7}ut3eG+jq0D0$d!rqe`axNiT+y4QD|9-0*rgssi-j^{)z0PQEFgCCkI* zFiB);PlOi6bx`d9d^;D!cq>8r93>&4wk$DibqGn6f;2#|49eCq#3+xxu9*M{>Cp}d zNej@M`RK36vVoAae-?PyFOP=N^WX4dYZl>jLii>LH>ZbsNlJq4 zi##h)5CHpdc9ry$YT?0*AJuQ*GE^ng0nUea8tK zec>jo>%_pri?%N7my`*@(hG6gVxVzCMDOe0hL@kADR_4Ie)vqz4&Z_6M5WqC$tQ{hn4A2v`ynsU8p#(Gb2>2a?E9pFDaX-Hi#eicK@yB#53aCHtr&oT zr@`%yDRSwN~9s*0wN8p(IiYQS9Bub zUMnR(_RXIY$KsWr6Ne%>m^c9Am;w<;2?h=>{@==sLdf?@eB^#%mM91NG=k||5L!ki zD%-S!svI?NBxtz-iH5Z~sM-(h^j~wrYE&(kmrbLVc^A<(rT04qt|V$KY6lw1eTN{C z=1OG(o436LnrPG3PNy!vsuJ4nz*PyQn>8V}!X6LdsszC;A&3ArqinyslOtRJn^9(j z5e=1~!gmWSVeXTkz)P6mo_GZS)yb=eDr_kmS&f57ws;yO zQ;eyPHMWG#BpptpYUj60X2l&6-0QcCbx&>Vd6mNYAJcD#u7T|fLg^J4K6+@vk-lB? zb;o^R_~@Kht(fiC14<27U%;8}{`1me)kJkee!pjdY9liYLHiV{lrbfDP^}4Cs}k2^ z)ovJ-M(UJ60aCFOVILLMh=lE%KIEYPs5Q?ojIprYsWR_$>+D%=O_{Y{V{eN4BWKfz z_BH?Q5rK_r(L0}VXP(0v%~07B><*+w7o%x>W{b-X_hZISKG%+A-CFG=TU%{7>OZrL zM30b_7z8gIrj^8x$B|dtxi*%^&F6yBguX3?T)Rh5fSlT>DXD%FX81|4Kwf#dpA)q$ z!=SzHp<+@34VXQKli}HeYD5am9>HMtNMQdjvquJ)JrIA+9$D7>;b8XY|7-S`oDDw| z{xy5hU@cbQ54>fS-!(ViD}fq^AEli+CFD*xXqO$9xWqw>SEd(_dY=!qB1(od-Q~ns zbq>2WE-iP}pSe-P3z*Sc6H}KfCgO#chu0D|v=}`Hx?OY~Y!NRX-$88C>r^9MO7l}m zgE!npd$ww?thX`N8Q+o|y_hVbIU|aXo^?Zohl3Yg6UvzD4i3)g9 z7Lce6`Cz~RoFVsFmUbS!BsC!DB%N=imH48(`kwn)bO>0&APqrHsZMC~mvx~!0M`*~ za~;;<6A3bv9T54>L6`TLc&urVXiVb@q;P}Kt(z=a1av_4Dz&sKopGex3Fmz?HjY7L= zO;mJ?aKzWBbr`X!rdCw%i|OS1C9+k+9~G6K zZT0r-Cx}Ko?tJE%i<#AJ1~9>E_4a1k(Bgut;O7^Uq`mWh&K?VY%^sOi9N(^}bAAU~ zn(skf0Tp_P=Jlt*#j?LMKJA`2zRTjaV~@|T{>T`}-bhktuWy!XZVt^Z7Fbx6fQ6;% zMKEt0Y++gMvYHnEU7c`k{gjU7>fE=}uoKc(ZCSQL#=w$+l@%oAerrttU|9XGVpo8@$gR?uluqpW(RHrxJaimm*Glr z+)pid08A_9aI4hOH88L6b^}}tFT$QZz=cu?Fzf{L01k)reEzawRU*LHJnR9=(&AgN z0V-lC1K;vy3Yc6Nu#0;?@HFowks|^Pv88dT7A$2t-e);pxQU2g!@hEk1R?8&2MY^S%fUOkSB&HmK+bvg{85tU z&$Wn}5Lk z0v!g|j0Gq);@zhFekzO1L6s7)WP>Vk0;NTuSWWVt*Zw z1+)7p1i&f;@AW=fWf$_lj0=MQAIF8N+yBG3PzlkqSdRWVE`Y=T92Z9aF)oPwb6gPp zD(MOrDj=WR+Fr5bT_lAomh$PGMMjChPAGb^ixA8%uAX4OvE~J&n97@BKtd|Q6abbG z;cH;jf?T~fBVtg!Otb)y147mSIm4Oo&qf80mwCPAzZw-lp+dp$LIume3KhWC17!^X zg$m&8uR?`=oL_|sG}kj$|0-0_`Lj^La_G*VjSAZTXjG_mr#SjDG~niO!5K6vxEomh z=zM`Zx;NUk-1y@U>SFfMpL0h%!_T<`jq&%~@qif{I>&(!)4_oInf?mEL?1GEN}U_+ z6UNI^DnBm&+D9?b=t2M&Y0BOhNUd?mz`su5mGkJ)TluH-+5TxGQxzaieXy}}w2{fq zOMp&-Y@6DpxyS{Xf_|oDUvtpURO=ypa`H7s&Em|Nx<~6k=;%afjz1)^zloK0o6I@E zml_h4M9e0Dq2u|i`_01b+A%@E5l$^_T6LikZCNNAGvTiv6*BVhh`Cc0x9{?d?X=t> ze)dV+3-uH0liA%&)X;%kRFm+(>T!CsvCY1{G&#T7m;6ym^u&a1e^>wd{9&Rms9l&% zMixb3%RW7|>WJj$h%Jd-eiFF4?LiHd#OAXh%LR5{l$mM=+v+X#{upqWNkAfw5n(r1 zTtt3s73;*$-0-MdYH|}gcl@M|UH!{CO`Z$qVnrN-aFMQvrUCi=SW^a*lXdRoxT{_(oO|e5$i3k=26aDLVA__`22hu1Fw!m9ONRy9CQ6e z_^oI0^xdZ(h)eMPgwci?zeeq!OmJM~>tw~B z3)QUoQ3elvu5oS0cVX<-`=5sF(Y~Us3g84T57RqfMcV2)FoL(K;O&aaC6yF&jT zs&`hhiEbXT2|I_QyI*ja9an7f>W9&Mu4i^%lK8Q<^SqJPrM!0WON4Or z&}r!Um2F4&iiS8mc_fZ%T|QsbaE)b2#T-dCX@ZW@J4Xb|C=@t{2ve$f%b20}xy<3< z^gVR69eX7Wy>a(JU+cPhkl|y=Yt8ZYGf3Qm>tnTTVAF3R&qHxk{PqfuowS0wVKNq` z)dM^_F^To?Dsc&#H)^bQR#{RdHF!r!p)L59-Ob-^br*TKI#iP#Dc;RV=m8cBV_r&V z%lu{8o@Qcv0f-Er)y|Uc|H-x+lr%65TPnUQ4BS z9{Bfw<@@0!t5FdAijJE z1SuU0eBF4TTg_Y))hY8y$%0w}_`-Kx=}Mx2SJZ`8!gPUZ+$<{8M=Bf^L?B5C^*ah+ zMUd8u=6Oc|9Lew`W1ulJDTH$@Cgnd+z%1@*PQyp`j1+Kjni@Tfb?iX{DV@ING|wa% zq6|M4pog@qrG(00nf@Rd3416JPTzh$6xKt$OvoFtDc(J6$w&`vA(|`Iv~O`wmH~Q* zap_%sbe^6;w~6%9I}iZV$q@B{8$aIpHKrHJ5dJ?jM?5{s7CkH8m#4MCWfB%N8Zxz6Y;XG}5K% z8#7U=m=p9zh_MA(kh}z8DKQ46&onbEhA`vu5jCjLOMz-jTs{G(t%)m4T0UMCeqt*0 zwGcA}oAk$6F*E;9k6(Q>I1db4xN))m8?)HIgg0Ry< zu#^h@W3(k6E|~^1z+j;@19yJ`@OEBUnt~fE0Mg089?@yPTm=oFVD-QcUk=Iu#NX1* zm5HH>$@kq@UKt;%c!?E4H=x;Bj?y2nXQTc<(>h7aL~X8=ucK1GP3VKH4ju%AObKwg!sv=1#bfJEMv8~L+t$1}8}zPJ zCtMd_Hk`ipyy7VDV)}g$_%U99PkMsi<65FtSJNCXkj~Q6hvPb{&Jg}$JaCO}O?TWF zo}RAgeER9BAn;pxN{5fHUpakLBfj- zp>qMp2GZ;MyH1E5P z8SN@hnoAUt`kH&)Iue_AU$E$_dL39^yzJiN*r(0)wM7<6$y~$Mu$CTkyTjnKyR-pwiT;SXR2M(x|NCsi*t1Yppa{ zjpi1y(3^Q)^(Q(*k?ZG|s%E;|I?fHCnYq(+^W~~~*gB{rY}#a(duQmT%=CjI$9Nl5 zk>j`WJW|ejP~<4%Yao)%t`gK1nI_tiJu%1qBDL|B?nci6ZDKnO0RHyEz+aEI9+MC7 zTYxPj>Zxc=s)FQF$b1oHJn0wA`Sff`B@G}oM!K3e)eADuetT3nC4U1UHj;4>;ao~ zE1SZ$%p;iQv)}B;K*jc)b$Fr%!F=yTnQjK3wAHR@oBW8f8)tS!_A{ZTg|bq})mgVp zH!ow+uZ!n#J)#2N;1TkbWB*aXE{;jATtA}g(DXyvgkV$dU>}L!vy;y4tkDB;B{8ZmXlz7H?NVgk`W!oGGS1E`uhLD)7xlZ!BH` ztA~e^WW9aq^?Gy>j}4bae2S!b`WDwgZ{vuCbyHKN|14=_L9&Suo37({vxf$%xbdR) zN>SrrE=T83{KVLBguO}XuGZHs#He5F=qJngcx@5A@W(?9{Bt*d^%9UJn!&vU556^7 z+OCuJkbj51d^rS*hXt#hVjuw+o?Zz$8Z)w|u$KnxeJlZ`Y#hL)v%2m@NUX4Gnl%Istf?AH{Fxj?%7?S zOPv4C20E@kyiqdkzlloDNPPg_(h=<~GP?g|^I*6y`UC>akuHC&9xN9OP2T-;^>FjA z)x&>o9zy@zJTM|OysuoFt`Bk9dud#+&dsa!!`iHMSRk@g`G@}=132A2!I1ehq3*dcp}D3PMJTz#TP^o zNHNSJf$TtQS{nB$`+S7d7)(=@`~as{NFsq-{dw~agFSKCq z1>47Cm26%+U;-t>UcdNFB;+HIivDd9WhF+~8)J*0k((h-Ik2e_ksH`I)z&PXPszZ~ z4rb9}$h6%*aI+>|gV_^Y!1d8aB(6W zZ%IIPGNXDLz(kMJ0Y5AB-MD(J7{m;xRN@p+unb)(O(IH@Ss24do?kL60 zXD=Nad z6PXLWrH5ztdRnt|K_E6^sXuBst=!gy|LI&8UdL+7yz2I>5T&#Gkx>R&Nfq_6sc~+3 z;ZqmVg}2_NO$uu3yZL-O=GHk33n}Y%6TWqP@p2#uTQfoCej9n?RXmhO@3Iv9R#oE6 zd0>&H$JBQ3P!YW<-;;#Ajd#S~Tu2w&pdhYXvHGu@`ugvi`h{9U!hChn4?^eeoIiBX zIS?8AX>*wRX>%y~)8=q!llOF+dYx=lL2WUM6p>dx%=$hA|K1_Gy@n-ZdD%K|Ij6v) z%@J*P;m(eYEeL{WO=6XHm`6^=jYpW&KF+aBhJzp#5qU0|SB2g_uQ*r9mMhs_sI2h$`HG@2K0>A%qIS?e4YIS>Q_-rLki4KN9XNS=!rGa*0inF4J%47e1jY%y) z)$*1mAR2+yldND~BMtNqK^6GG>X~4L1+1Pk!0PEb_plVdzqMt#()U;U(ACa#q#07) zGI(MsoQ>N|X*xg#Q2b}$YG!C04!=I(Rp@fdm^wn%T4JXzQPrjn-p=p3qpg!t=LS>! zcPIFD%MuFi8_hVjuSJh$2=^%$RBuM!HKb71n$#&fiztoM&4i*Ps#zW zCsD)68xJZ0-WtRis6G<0EwcbE&2R`dXR3OaAA9rIdAPD>3~F1>+0~q1^%YBxe0@A6 zYhTu-jU8G)I$=twTRbkfv^;oQysVNiCtoQcBx&!BXss@$Qoz0w|J5H)+;1P(TK#cL z!kg`$R>E@!*KI+>3IY@@Mz3BC$l4R2O-Lxa$3t8dMZP!d5xuG@gujzbp*EY_`SgUpWQ-CGx{bqHTKGerh^lw zS)#NbRr@4tI&W4lOYM!bST4-Gs~de1LRGHoZC$svGuN4sCrFt;)ZkG!rZ_gn@O*j2 z^w3SgMh8#2U0v~qkY(c80fR_i@S00&@`wG=xe4|Z?q(<`Xqyca(KERKYY9y-eZQ&& zAI9Z(cLO~7GT!#xm&RezN5 z)t4RI6KhlH@#U413~d`zZf$^@&BE80y%#=WH*0r)AV!5@)h|@`W`zX3?71LTsy)ko z4^$&dshE=l>c5rJfy1x^-+*wwD;D(>+dPQ`q*2zOPk_E}xs&3V?VyoK?!}4?OdOqD zlpO?VDZoL|ODls4!^)tmsNDlvguKyD*eo|fehpg+;t}i~4WolwgVg?eYY>*HAj+_r zng9%&OZXjTVWD0ie;AG3A10+U1@5+f$t)e0-lT#XI0FeBWhH|Bnmn*yGg#|ql+{oj zwB+bNq(uIwFahPcp_B=*pkTe7mJSva%4Ygpl9<4-NzKDCETniBJzO=quXZV~2V`ZR zA|Fw7T++Z|GqVtJ`K?S8J^oK+g10X!#pbs%@ux6hi^KG9VdCj8Wx{zW@V7Ei{OF`O z>*jw~CeDareZ?aHDYgd)^l~sM_F*!tQGCR+M0Odv^Ne_|@UR+F@tA5*7^QF015j+> zy_;{+_z`X#*i`hH4=onJ33k|+=}!F$XhJu=Kv-n_EjS5ue!m7GO(ulKcWgR{5bPUx zadpum)#_H#f5lSmVCXAIV{rHWZ!JPP6u@9HrS$-ID!}fp4NfX9Kw~pAs?^lxXw=rCxENmQ3vyS|TdrpZtGWpL|q2DnPVLmt}Ldyw$^-i173trkC_#=4j`YWc_WHgm%5sX8XznlqXdnJM+urWawWlV6c0mcM9vg?O#r+vVgFjS(X z#bzqTDgm4cG|Nq*Kim@FdExlyybyo7_BUq&0qjhuOxUK=@j)KdSSG>F1kvuTV&F`m zp5#WPSSG0v=r#$vrR!7QKJ=S?acfm)+1T6`M%%ZiQGF&0cZqHNVjHL{2h||vRhK`T z$0QucH}1OrX-ruEWlT7XLm3ln|1>7lEB$Fq=zxt0vmDcfe;E@*(En~sxc+xz!a%{P zE%m>A32QdcPh&y_4Q8Yo(VB^RPOkfe_?wgQJ*m-+u+<4=y^1=*96->pbl-9#Fz?#* z9cue#wn@!y(p0Z8*&(t{`LgYS0bVF@K8{bEbpCce#_o+*#S2aTbUsGb8S4BrJ}Lp@ zV@=VGPbYTFz}&F9{-{+ITE=%7eOs;*7F<-J!n*5DE39*Ld_%m2w|vd;it9b@__I#9 z%8=C2EihN(IdDF@0OzCqP|(V6=i_H;!DmR^8MpDpj(7!4N4}rV$N0)Bg|XkxM__!c z`)z#OeD~Y<$Onv%@nX>PXK_}Xm4Rnc>=ryr0)rtvSzQWh0J@$Apb$yh5iu}4gOBbC zOwR~oUDAE)&G0i_8geBCHa_k>2gXOLlK*CWjHLvK0dXDkILnbI2CgRj*-S{Ag-He~b}kl!s3|&V;NfxjaeXgS*(#L`U%sqSpyLu; zO(^0JHEil|jRe{A0mSKJXaSvG4iFpYz@6QQ4ge=!J-Zk~i?Eso0|Q`RL=oczxHP>F zqhC_P6#@l2Nf|v^H?>y5So9D;Lhg=+YG%Xii+lJe_C@$l_Qk!VsNYRHs&Laz5HLSx zGXYOQ*aP5VOYytAuJ`r zSoZmDOkWM|vcz*O;vl)<(f~pngOpB-$cfNWT#Wx4rUg+}>6S4&Nf0m@rYEQMWjQi| z3rh&yla=@t+`yx@mre#YM<7>l$asUa26W3$7K{hI-SBweB@PZ*9ss|Gs@P2->oTz@ zOa^P`)!Z+>{Pjpj8fK9`~3-J95F~DMHgT)l!H+1pg{lgNBvnV_V z3?;RLv%;RNOE_AR!CmT@eToV$q;RT(8Ro((!G={K{2`r; zoSvIpMom&Ja;83b_F!h}aCIY-rkF;MODlY4RP-X(8Iv@>tXUH)a4Xcg3!j}l@_)*F zW_(py_TbLQ!B|sOf=KqhGK}luA`ph$0k2Cju0NrCt1fcLI>BDL<-jIvtMoJ>Q>jfdGs4{`{0NNP#5&ls28|LSa4 zsQuBvVspE&N=wX^e4ye)4f*8Id9}GT9bY>pj%~MC%fY2LkxXv&hug%-L$&4B<;C!K zx7>vnr{8TBF8VK&9~r#Ev80;b@GZ?8cU>1w%4l}UgO?O>-M;4>8Jn;8R+P|?9^ZBc zpS&Is3GWISKovMki4`)VL!OecjUASjS?;R;P;*_{!O?uVtEc!hC^qr`2w zgLC(~)B6PRXT=%7vchC4H40=h3baR>iXXhts*Phih4A$>EN#EA?wu455AIjhKPo`T zHqwS1J;Y1f1unVGXFjnrF+PC^3rDuME()*8(u@W|G(Vs(?nRp(Khs({b}?7VU2kyn zlAHX{b@@INjqd)n{hNRAH@ktrFOIP-C%W7rPUIk#A==(H86wq~!!ZzxGt7RoVU2n> zv+csJ14MBD*h@ued)er&(BzpNf$nUZvF2AV2<45$o*HecKXW240TYNjndp1dRb&mT zJK|e)SgGPmwip*($L(k5s_sqY;sEofw#{BJoXe<7oi+CB9^&<27xyn0Q{#7`nui?; z)a8s(h8Sj!=|iecowY8-#`LT7XLhto%@z8W+$GjB(REN@?7+#P94WyizayCVgXm`C8bqc#7Nxw>eRF%^}$HWKTa)P4Jn-nWKJmD zzj3_hxHzRYT;cvoPgZ17ydZhkoP@baFXT8=bkf@m*bAGkuDRAzt(~$=OHe<1L&N(5 znG~os2q>D|smWcdTA9g$591*p>II=phI?K<6H?8@6tKB4*;R}*W*ig`2gyHYikD)b z!E;FsHCy?J>}lpHuZ}d?DQ%CM@Iv6a$}V(H4iB~$2Fdes?w#@M z@R@^*A+Q&sq3ngs%~ApA*$Y8Z8Fu%3(LPoJcVQ^(E<_V!DDG|M(Rb}e6TA5~DKs0W z9gs-i{|l4+pT_LF$*?AtQn1 zCze#^Bb1WTOOFGl17LD!&y+FM%?BU7AHHXSp9LTkGVpYObj2su3U2rc0ufShAcC#v zoml}$>cXx8RzSuwl7-2na<9ln+!8~ud)|Zo;>WE593WZyzSk*g5%xRa(wPMS1p@Y@ zn2Cf9fCpk3U&y%-C@T^l+dcr3fG)8&a1(q^;*or^^6?w66R>;A0=vV*9$?YXrH~cC z2PMY*xZAV}g*<$IFEc;|pVmer>IFjN|RIoFObL_3cBCzIV^8w|&ZHsSw*vbS)bptf@5EN#YS0kvI)%E^p?Wek!HaaC?%6+z1rj3||cJaBqvn1i!jyjk%o)2z4 z;99q41c8eH3$@X!q~{em5hYHd4_*%Nu}RuMB+qI{mP$+V`??!yUS(tS9yxQ21{%eG zi5`yl_QyzM3Tcds<$h*VnChhX3VxeG%49v`~ar(>IEA&if_57SuP?QwR6J|{91 z?jK%wz3@Uo-Hk^Cgf7Sv9jC6K0-sGZHHoyU(Mz55$HtOh`%}-Hij=KPE|#+0fdikn z);67g^bKoA79xxdct?IpAq_*Y6v74Ujzgog6Gf($sbH`mvvSdLS)zYmt<)9IJxPC! ztishesqOvH4HL>N@9RQ93#ntfby(dLay8YI(lqkbko849=IExHlTS9RH4P{oQ9juWY@pdHaC0l~)?V8^_Xad}qxn83RD#`lxg)q9>9HiZ{QD?~I`{DaL@kBU@-7z~SQh7haT zg)z}FKX~rb$f27fo!+pWjd+!xj3;<}a#}dm)gG_#V7waa*f6!5IN!!FMYQQWK3MBk zJ3RQQdd>2t;WPI_2)&ezN#|@_t=;l-{Zo+3s4*ySOK~B%smR$>1*8-^s`xYgjw*AS zc`G^n7vycuH>+Q7(Zq%a;@=&^TXSE=rx<;^bu~r1T;=?+A=ryZYgKuVR)2akH?Lvi zqisSO<-S^WUcBk6WOsnfcWJjv*09($ENx@BFzBijt{`1 zDhh$WxuS3?R2oi&!sxA&yDTm^sh-SKVc@kL5TCE&=%BZ-kRoWfDIxC zhE{;$yA@D;2k;GEsN%cJov!qJAu~*14+Nt*qrB*NIMT%dY6=V>G03i05r3C6@c*u7 zu)!285wvyY|6Q#JU;b0AXv^i$_*dNW|8?4O!u_9VOGPQyP6*^Dg#Wd1uqeMF0Aiq% ztn_fO5-rsjo)~iBi2)9Wf{6j7D(-?Uz&`E_GcO_7UARj00(u1CcmbgK&OhT5bz%8% z5AS&jHpVFspGf{4p8)#@Jdkaff>gVK((-410-XMppP;1pm7iFb%ZUFgKcVtxeggJY zB!Q4l0tqPWHEsawr9`72A?b^Ibx6!(*d*zOzr$Mo6$v`(NH%Kg)^vOJwvIMLkE@gg z{<2Bp!WDJchyXim2jZW|^1oG~aB}lkkl16dojV6wMeMO@5W4zUlu?e@>gTw_&oMHg zb8_>c43yAgg%J7*d}J3$c)mv^JYQitIDEm3Q<<(J7Xh^K7V5BoA9d+VIcG5w!<>PR zOpol#?)eeZFq1Gx&Q8i{dbl~cxF57#97Y5O4jMV14#BW-x`2psBb+x)TSxYXvqi)m z4^P@E;e2P==2#Pw`uFle=$5b>1TQbH_ET4&mKTYr<;B~rN@Q0f<06}haPCY6X!+gl zOH!G4w`v;ft;kPU-aC#{HTM5_F> z@$6x_$>&QknF+!)p4ONH4!hi68SeUA8sZ#MNO0-hrabEL;nTff|6CxF%(C5Js4Q3T z>g)xUZE6||W~zbd;`I1eB>pO$v-FdWQXkA?U7%vw%{B(*NnZE-$6b+MIL4OcfN-MZ zK71G&+_^t(MO7E*M zdUiZ_(be1nJc;rOveqgGS70iT1{E*PaHex)x{YG8*e}KM4^`5_8R|M^j*yyFzu66v z)r_6ikrm{?tNggqR|hjK$F<4D75pwxVY+)#N7in}j&k3&Y25DNslzi4-QCn$ok(4i zOX2nFn6vofv*El%p9>rO_E=$v+!+ z_8oXRGJJnc#MtrPp|AZ{x5};~WvaSc?oBOCRE+hf+ja^2apTcLR2@~?Y4atQAx%Q0 zp~zk};<<@q>2iGy+gHnB<82F1hk*_UJ~GBv&ZQZdvL&lsh+F%VZ;(thnR>Y`g8Q>P zJ-Q~0R#@4|AwPCIrVa9_c3RmA?u}TBXp|o&4K9}_+ya0GH2u|XwP8ojL^%7bF;SQ0?CoA0SnL}L#B0%S@-C8+&G)c>GgX#W@e;(o&~ z{lc4G{=!fFg7h!_LLTTBd=k8iS>BioY^L6Wj*()oFd52}1D;~{8~mhX(i>=n%AkjL zLJ?vV(WS5U^1Jgsn9|~Kive==(>2Wvdcy@Ed34+}`>kKJlCaVL=49dlPNvpRPUih5 z9gajO`9d6)FXSF_0Qq83Uc1B&9uG)Sd@6dtr%L?{0vV-DgYvbiTK601zJcUMfWIuB z45UF%0oEE%)-scWU`u3}m#Sx zVZ;L+kw_P1iaV@wh*VVZ2bRMfD&XbSLWL47{S*W4x6g>fsSI8H(l@VbuEF~X|1?SZ zFOLD^EA<=oB?$a9kPS|+KxXq^1CkbOR6u4k3S>6Tdu)h>h^6r07L}+}jxMzvkih_3 ziU1iWdfdWgeDJe#vbzHkrbAxvAqfw-@IoJPaA?m2pM42_in_}#I}`yfUQwVIm*de$ z0lcN~2AwN#E+adu^zCb~sq6urDww!z^i!J2weXgLG;Bj=PpL9v^w^_xHNJ1aEn!6< zoUK4nLtE+Kamdv=fs|Dc&2Xd%cd7sB!;td8CV+cX&^bAI5Mn0Sm(TGadZf{r5W#8K zmoa%zBM9P}KQ`$FP@cxg!|}641<~Y=O$B$S_>u6y?JNJNSmWdYF%B_M#J1rFUJe{H zVKb3(^6>t*uiGHOfgj`hZ;y%LV>5!sZvVH(ltH~4qSz0c7`*-}4>l7*)e-w5V!{kt z3XK;v3!(Aw{-$00MI7Z}d!BNhm?$eB>q_FYAxjQM$~}XOi*W2zrpV-}$@~W=-@D(% zL+R3`mBmQCIMTd*qql<|72>OS` z6%Nj_&sSMiZ7uiR&gj%AF)E+~q>jzmH013{DHLp)H~T3moPs$bK-5` zH=$^IT(CO5cUZRBa$48iBj(PmLlHmZxBgA9tKQ@6WM}hmXC1GM$at=AvR?Rf%i?&K zX7%VW;=Tp{sbjahpjpT2+3}*4667pPHV8U=8GiIW=2tf#*K98%H#{3#uhLWKfFh~~ zk9z9(0*dov+~up~^0dmY&O#~F|OL1#wY;N}>Z%LNfYTrOA?XAsN z6uz3@>S`0xGArhX;_93_&R&qfJ-dO?-XQi*%pes=cth+x@1T_JOFeaSp3` zqe`q9V#;7%s%`mFP%^WP+-@Wr7BukIo~tW-NOulLn6g(+U7+B?B-HbjVY8BgE#QFb zt1N;|=w~8EA-5Z*H3J-HA*96pJXxTGg<YAWb-`=;uKbKN1x_?u8YmZaN2IGkrAjCW>=7t9tawnE>2x^ zKUi@OSg(?c>V440*tWXHXZv6~c1t5QpLy2HC2P>N@Gwsz+~%pPuCfjE**J9Ag*{t{ zW&7^s_v&zm`OUZis{W<%_Z^CUn?)uETiH$QxcijxFRYGU?(7VdW zviYX8S$aB+9ZP*r7>A9Eq8Vy8m0lXo-@&oblQN^d+b?Z=H7oP;9@dF1_sgZ!lZ*Y= zuN)CVL*=bs;J+9?wEqK=L9$DXjvpwKV=XZk6g3(1T6OJCaf&|JKjirUO`Tt3!+01g z*<1eX*2gbI$)9K(Oo)UA^Vdzg(`ND5g4u4NZLgL3`cBpzey?*UXwBSsS~sDd^R*!( zIjGCcsLR5wZ+4W^RKrMNxqVA6#P>^W*Ub=W!nze_`Ewsj`7gJ~L2moyto*BFL0rBu zMIo;%9vI&mfj=_<`!UA~2-o1yi@W}>0%?_)`h_`DZcN(_GhvpfA` zKI-M^U`AOl+RQCWe&s9sXXld}Dk;6M1lFj0#y7uI(pZTgE#MAxy`khe{oIf4cY$ACa9GasVq|lY<_7>a=@=?q)?Gu9yF9Dh&9sF@wX4D|Hl3UZqv&Fl(@v7LU z2dS@TOT3mF+Dt^g?9Ay zX2lyHKSUS`*^61T=aXEJuL@I(zW(MO!Lkd7r01dMr5p^*42~<)FZsR7Zw|clWae`A z;rGJ!zkse{s7*D8n0tYJA1j(B%b5PWGD18Yn*)-QVdD0~46K2Ba$99J^@Cpq;j-RH zj$`I*Cw%etgAGxuw?1KxO?sTZe%QSmACGPcaaA&{jc9$m>UqV?(^DqyYE;;R7UFa0 zDqU@jHbg9u`dzqXL%j_TiE`u<4D=r+zlbxA$Z7nLcB%p1O^ghFdCp$1f`)90I*w1n zRZmFG>xSik)=kgDbC(~2vkGK3KKy9hxS(ISBfG($xZmr})SNtdCc}fVo1l(0If1DW zoP3AN%E(C~)EG^P1J11(y{E(2l_v)ma*+i-^f)5q%i$0G;7`oM4L?Z}eiF~ksVDm@ z5&FEiYzH@#uSDCtouc;Jg)S?hp{o=;(kI8k&-lc_;r;dl7ZHVQl>Rm{QPX?V!5_Er z;rB1-KIvbg@H)97i4mbpenR>I<_4gaHw9Z&LpYQ4`WIt*|L}&Kr=>G4fOxwKh*GpyavT9cXacK-{WG) z1!1vXH;`faXim(^jKg}p2UPQF1bN-ayl_*mJR@{kc!?BVKDVfd4C?9hm5; zHySvnmfawm+^&5SyrHVM4Md%DvIM!x3s!VhZE%^dB1Tj=$3@x70y4Oiw>Ate^Hq#6 zV8&^a$3TR7W07hT$rJBi(~u0_Rab}0d+GmH-pd7-_dbGqeB+3~VW`ZD*bHng@Hzsc zKMc*PYuVRn>Ng#Dm#xOuK9l<1&SNW7F%qmzS)JKlgc_5R6;VTB_%}7;@M~Oz=Xifk zguH)EgiO5uxs*bkf+s+DLgf8DAsYB&lZ69!0^$-0juI&+?|+VopeK)$4T}kJB^oux z!DAvq{v9>}HmYWq6Fdx0hluE?zn_AKLWE<$-%p`t!BGV2MYia`Gcx_L2@vCE*wScx zKW9O1PE_|ESc_R*uOdVqt1nz^$6F4NMDsc4x}vFXD?2^u}_Z!*& zA-b)*yA5WtFS$p&-MpvUlnyEBrL^Q-Rx%HW` zTjY~^n2Pa<+JfZ~bl>bD$UH+*H*rI=^Xzgz${D+Id0MUI zxAt~E19CjGqbsGO?}~Bji`H37^25B9s)-yWqLAgC=D620$h}Ixt<*dHU*5A3@Lo-y z#R}cwOi-XF;%aS`VGXzwGeOjZGuZYZNr<^ShvTevub9U7swFO+Ith2;<=XM0F%pw1 zDNW@dh0zh~q^)AeWAY{e;ldDew((b*>I_d-o28LuWp>AS-NL%%qy8@1<~lE>cLnC< ze9YE0%!CW?p0pDpsYwp{#~u*@$`_%8!!F;tZEeQ#y(O87!dQRZp6|8kmK=D@8SQN{ zgNf}v1A}}xT^375!sdwwI7w?HO{HTiN-7$=D!%1n`O~q`tJvwlp>0iVj@>xMrm!&k z{i@Ax(>T+kS3*rB=316`PIUvgZ#d>irS}Ja$y$cBKSw zJCo}YB7b=3o_&?~W~!a{=Gz;;Yt@%>R+*bw5uQG>^26Mfflc?8Reaw6#oAd%RkgPL zdMk*esH6)Kr9--<1f(0JrKCYX>7D`tDkTz&MjE8MK> zgCqk&t}9GG*l{CEGN%0&%9A>n+pG5WzMkjSHs3lTnb$nPej`}ehGj{8;eHnh#&V#I zv~CrY^_fMsFu?Tn`#BrJz$cTVtr82<*oXWL80lT3a*wC^3}-Dd6lE2EQ?v^ZD?7&B1_?_s4w)*$tO? z&Xs@{0*8>w-h-5h<1g&7oeqSQT?r@qo~7KhJq5w;JY@c$|kfx^d1V)=gAxaE23D`yCwfDxq9jS?=a~Uro*Bb`d`u(wOorHJyTzI@3#aSGW(hrA+ zbb`#wZr(pcXI86mKUuHiyS>D6h?Yin;0k3@?EGjJ%uXb5JY#`G?{Q~XMs9YDRRkKi zS841hbnU!k)l3jrY+Ch3!or(M5&i0qBRzWf{IuVvlNxq8rLNc;YeKm`4pN@|C6eM4 zqg0%TgQCJ_T@!d@2}~^2$tb|g`nPugdPL==|Ej60;VBL+*3)%35lDbtEYiY1piNkq zAVTlYJoC!)mjTTBN;*rE=NvrfQ2}6u2^f^Ex^YEGbpWxRou`E>B>1@~Al5g5UEcc# zU|>i>Dow$P2-o~Yz%LeBxaBY{cn0XWQK>25P69ZKBr_t`3O4z@_kHCgbnfRY^7}~W z_b_touVLg6d9;f29T&?=j`rKdNMZn%g>Z_ChgAcdf?I(_5!6oQ66}eQR<-pIH|4|P7Sq)5j zme%nv)xb>%-jKE@4A_JTEvOCYfit@5P&%)C-Du+%g{Iw0bma@{YN?QKv4Q)>T9HrXppq43Ye$zCGi7gxy{E# zefETP=#0!>!*UX7ph{>-zreM1Ap^ir2wgLZWzfr9VXqGUxQfLkEF`Q`R-FPhI=NKP z-0O59=K}S(@>ktJ+J_xU{PLlC_hqGfHqaZO6Zo|=b?Mj6lr0CbyHqzNys8aKh`{6r zb?%Q4|6^qeoT^jXbyVERlAs>D^)KbXfI=TdFu#P43F>g05(41ALb!(b=g<bEtj z9_Zg%1{#m&;MyTd@292$9-t(i1{#yNggVmq8<_99#b?U%fpAgb6O5e z$-pEghQl7u&#?Dfs?3fI-#m9JRYtB(pO*pu3;8qmAs-!KFpz*}|5*{_;XoP!wK6d~ z&z}`RaPLeeCIb=Ap9Mj1O9b3PKFq)*B<2A1Le=Z6TG~3-+1dE6a{?nX&(8_0GvJG{ z#8f-Wd)hAL9+t{}9e<}sBTf9_=1T={ z5tCe9<`0N4jJMic)J_qBCPYfb*^JKoN7Kp|8U^d>gpQ`H|3@7EB#;u_d?yliisPR= z+{=R()#>3y^-wto-c;8{ZK`iHL=Ua=FNK29D;WU96+tbkFKLrEf<^U)M%;v3B9+b$ z7`(=7LhXCPs&KragX5Ksx0EoLi+HBVtRtu306$XNF@9$vT8_1b&3IB2x zMwQ)p!7xy4p=vH8@R{+(V#)li=(ft zz7d&*$jH1le5Zy`h(844=Fd^1G{uqLujiVH<8V!@lq^ysV#Tv;hbuIe#eC! zN&R64i;3yu;D+J5w_d+IcUCb48Brvn90)?>rLNq=f^8pIJ40sexb_>xC~cKac_oV1g^28>Hm4^}Ssz^#LCW+F zO$?E(j8U7zd+JFEla(ssscZv548yxnl!;o%!L+bced4G73gvtZbNlI;jlmD;QC)}j zC5SFxt(uKwql2MB=){x)UORIlS<_msm{^gUwY3iu%qK7`FAjR|88eD68fI~yfvFD@v{?L8&p3J-I<+@WrW=^drl zjZfRv8L79?kJQi0SSU`kEb^|fA#2KZml{<8!H}xUUa#Ij#1^%v&aNMsB=_R|;Dm4k z{%C}6^e&H!{vKZ{pz#;^Pu*h9{L(H^uiXh7g)qt5R{(wHrkA7ek)AHau&SEqQf;JDdGcs)l86nyq)qmOfE}w`a=ue7 zMRgUTI-j>;|A+Ied+dth=eg-#?}RW1+axPEAvXBtw{N|pEQS+evZ;$mC0+c7B;viL z1=|DxUrnzg>B*5+9mu}Wn>xR}m-lLC)zrfRB}m_S&2u-^Ov#1hp*D_z%dV-mT*Uxw zMa|rWuGx8JrAl=RT?tln_ZzPwc1bnmwjYs;48@2fdw5Q2Guc{yW<9VUAzloNdRel^ z;=(wSx@9I^!7_6T&vC1sT&QUc&WIk`NBK@nTt_Sp)iKjq)yZD@<$NSckEX&|81=~K zAy<9Rr%qDGp?!E>f_*L?$HfCfIOhMzhzdOw2B?f^le9u(P{8MsfKz*3_reds2a_kR zGd5PInE*$i|2?vCB@~A z3~>#KNy-OkJgZF<1i`TEzW3jZ>3TpsJoL8X;&7Arl@S3kH=H2==T?OkVEAbwV#V5= ze{Xz$eZSe+gc_0PLh^=D}X0*!Mtt^LRxR z7>;iHN@mis0i_W`6BuC+a0H|6X=EV^`7pyT8fN%$!wkP$svsDm0fyfqHUpsi`4NHn zcEIqMJ1Rdf_*)(`yOa8_0EqM?ae{RVK!DH=$s4aP5HPW!~(!4^-#gPNr+9-?;2f*mu zKw)%Z9cR}-3_)RZXq7;#(##ivwMIYry|E9HtN~CFXpM3gKk>mS5^=ipCaSxsa=P?} zBNM#vXH4vftw?`g+WlWKF%&Bwwi=1SRwFRV4qz{!ecWRKrrtOA$P{wRZ^NVP&^bjM z87=j@aQhgo%camqtX+k)6ZDKtK+pJ?h9|6wJ_MdBqeM-Wae%3^OFzfj0|_iYgC%(u zQ*t0R!qfUk&lnzS2icG?F&YKdd3pzjl-U{v>xlgZ>)iPT)`8x3zXxO;Ih20!4$v<$ zOBf|Z5Q0WCU2rt4UnH4WBA01b{th+;E@81g2XF8DePx|H_xJv-X&eB&09XCpzK$}5 z058BhK=NY-BtJ2b;!u)ijR()ikc-2B2T!@EE(9OYji84|sh5`UR1d z=_PSEX#>VB0P6#w-xsLOxW9YG(7!j04Xja1b6_Hw5JyPGRnJZt{P5D6!6F^(G?E5R zqaHBG#tq_LQ?59CiUGHOb&!?UO1cTkg0Cj8vHToVlWtP`0_R0|WWW`HI2}|I`#q?} zbOS57=toZ zV zY5$n_&$I~cp-P4O;GO;~D1swYsj%tvWe=Z&#K@S5iFaBm)o=%^itV9+&>NGebQeGE--+<0toqD`Q>_qYXR2ZCP0%+MSCx3(yFhW; zHy-VyXpj_A$7c0c0-DN}l`zMz1X=dazqQO}*)=A5yD7?0(s)=Sv%U=$^fnCb#C939 zSXsYaq42gtf|jf6)I?iXYFBA}$4;-X$K>E?+}oeG z@aoXh5h%nN7i~;}j(0Zu+A6akgJ)6noXIB#qkXK66}6D{P*>I+o%V&sv~fGS{A#b0 zr7dKZh)@QT4ZGUIX(+!SfvJ2dZ*e4wy>Yh-qQyYcn#t-}9miD0X$b|()JWQ6XzUsjl&)ip4k6Z4by3)_1xE8c}cyDy+RrSdxhdB%L!CcrT ziMrcFn@8m9^2NGHGRUbae>DH3qq{?kIJbqw2L=qTm zRQP3v+}CPAq;NhyuZcd_phPF*%KH^rrFf`hO+Ii|RfA|ZS8=ey*Ye_fk2W4w-t&+-Ntix8O(bt*Us^QJOd9_m7S<=gH2DutMkVE;c zJWJPG0Nzl^(-%GAT*(n)K}jLLujFuMb14}b$$&e?LM`VLCT`V?JFRBAytQ6M&&(&E zwXfXI#c-|cAqjHC^{B~ndbKEN`$(vJOL%$LG;A&QSIfB1MisP-kF?VEk@f@bPY0#o zmhnq_Gcww3o~S5uh^#(+gT70A3GbQC+GaPcW3-gpRUMa+x;p~rhgUZU=w^=S8^xDW znpg4eu5Es~Lvzh=Dm*MCq9O0(h$WDi7OzT#_FeII8I70v*qln-WY__HnE2AW=99V@~#8SN*bclbmy-3TSOJ>M~+H~77qGxUneHif{>RQ3pYXrEqA_i+a3{e+Z^Cuy9O;bp0^NsspLT|A|BAO$>S9VktdAGdV*QVX#-^O?cH1+Rh> zX6hfI1dSGJqlK5wtr!pQte{!!(!ER9j+J8GEZ(+?9lEjd{o2KnArD#iYTy#k>lTC@%;&zTn9 zYsF*tA69>`s4shyEyrnroi?$%K_od&-(uLG$Y`tT7eg)yZp9k)Gr3_CI>`}YWx5zM z5@FC<8$Iy%`2c(sZ{C70n~LsoMq!ttl?UG>f9{@PMkCtKO;bY8wkXd}D5;nI4Li*?vgB>Hz*}dN zIF49>V0UHb02S7|5N_rb#YoVmG^Oo%tU>}Bcw*WNIG-*SsrY12M{?2xTseE;vX-J) z^~IZF>IIPmxbiQvsXu@AC&MF+xueS(bK@cvGw5taG^<`_jHLwaYJEdIw1~UDLQMVo z1K4sh*`OEhBjexnC{E?|1+<7AKRPxxOIq$2&6VxQqR2a}&^V6&m9zQiawD(H_0N`~ z(WZk_U6yaSoaknRprIM3=1;_seeO|Hek?~P%d2cn_#FzV1b{-dVz8K1c^I0?5@{rX9T)Ym*uz=22;onB^pYO@ zz@YaJ!&(l8seHgsjIk*A35MEz(ikymxHC;7SF}B$6xL)RAmMMsV4rrTS(U2&Tvn{? z^LFXTJJ;BvM6H!f!>m36`m#v7FbKjJK1}cNc4?s-s`ps8&XeF3^-(p7UI%xwW#t zDfNMMBq?}n(b7g&usCT02k2w4&cO|I(5nWmX}SP_<>Fuf|5;uIug^pX&Prv8G_Xx4 z+(EDXlRshfLmo|gNGn7Pn!E=$&RrOb5}vpzH{sR4cmo(4QMe#E+o$5n$!M7|f_8Ou z6x?SXmIhx4vj7+{FyapzQUPD&TSoi5#(N0BXP^uR&m)${5a71F0k^SnGR}g_Dfn-9 zki73Gmjpa+G5FyG_^l2cya@Jy-%6Vl+I3>B;HxvT@v@|%FzDG?Us-?>aY7&cEK>6Q zDpK;H(kJq*2|5F6Vv(K?6+W;3b7=x~^s7J3_p3kssPsSj(|mu%P`;lrl=$uM7>bl_ z`W+|1ZB&0cy78Y!sL&Z$_Rk|!=p257dXccF=jo6YrC?UE!4zErdG!q@P6Q_14cN^E zV>17xL;cskcBq+iZ2qSXHA)Qnt3!SKpB?Jaf9p_BlWYsio{B-CX`}_m5^M%#UbA*1 zPcB`hKV1twM2SK3%$<%ZfEe^d@ZsXo*hq24*5RO2WRQ20-uJ`xp~_^6Q!%I(N({ON zuWqcK*xVDLz|N~|hLHB~TIk-?pw%2$srRS7h-zi5=_R~)V@&=gX<*tK0U6Wua>OPz!6n`5Dn?fqkVMEQ-g zLE?B)miwZDUcoj5VNZff?1_6Q<1#DnI0S5SL^5=JEMp84$**6|nv#ka`=CDlY0kvX zF6W~wGvwXG%DC$Sd{oA%M$bfre+ zJCR*61yskAr3!TBRPNV^PAK-3N0v zcSS4fDns-Zo-xyz-{-AR8r_7ha^BdjsAQ^t|B&UZS#qUOfW32=ur*al1C!perS6!B zo%o2@oc4W1^SsB|7p4Q@1aN(ZOpFbwlNe~E%XJ{F6W%QqIlY}^=9L@HilESC@m}6B;XLV!h6E-D+gDEFxUn)6B1tj+A~7JDTjWs3`jKjA@#X_0gC6<1tBz;56WWna z4_sfw*WD}z7SznSv)wye-8CdTo7)psqx!5u_m~c$OmpPRt~FAZUjHDvd#44)y-sU# z$-LTY_VQoaR-D%~g_*v!1{`Xj4GFKq6-HraCNr)rBldvlRxy`vT7p{hKArKfmaCgg z{z(9A1fACpFt`&@i=zW{-GOVPmL~RrJcwAqFMyg*oKh%Q99GT-9O}hQfSv)V1jOrG z&I2nKhkq(Y$HgZpaDmY{UbgRjHmPGqN|;R@0BOpLM7CzmTa?M<`%dBZb`yb?tuh`9 z7l%4U5x4?atoL^bns>8ODpi6cGe?XP%`i)@Tj(i?{_o{QDE}t(p``oVEa*W?@PQum z3t$Uza0J8*^`||b`!8n#Vn%>6BHrxj?fmHMma#yG%#f<2EKYh2dHJS_#s z3W2BBW0jS1cv;jirHhRkuMUVr=fR$-xSfR}imD~uWCl4S|36e1xq2+wpT+Ws!&t4$ zv|#ZBV6~`zVYR|P%(9~+VgXhQETt}sfZ|c!4HT%G7=SaN@>5dxixy=-&cFra3{dsN zcLaq&H!*A_b3`OqE17@`pc106{sR*My5mN#B#O;e>;ARIScR~G7gt}xi>qLp1uU*o zgT>XPHL$n}wjvTx=5&J2L%F;QS{dOv&Rh^^+o~!*k<7eH&rE4#`CY7U*Rh+6_CLrO zFBjNAWsvAjFYy4aG`M28#hlz1C+>Rb88MsAU~u{KFaFdzzQCIf@SIQYB+q@d40zSm z{DzAIs7L>~mr|sE1Kd|41w0LRG}gMIxphTiNWC5x7rcj{RM01{BaH;Lyf$Ze)q_Ua za-m(H5mt!EiOXcA0ClR=+l)8=ONr6G!ROV_8sq<7VjK!6?uP!ZF)DOh{&46-=KK@C zbqAJ-p_XAOrv`7pOpLQ>peOy4p21AX?s-bjxD9H}U>8;am`5+c=21|AbaB*SjBLvW z<`CFC`UN(RhWZAk{al5mg;!yLNelx0;+`p(#RYa@so5u;hkowDQcnSw7-|<5R1ovC z;mgw!BjW#FV%&U}c)ASxv&6V{;^1Mh4I-Y~QkF^3IN6|L;X>kC)C3F&U73Q=c|{m9 ze`Y-XUm1`8G~rxiy@ zG!C}Yk|PI_)eIdFK@`HKt1ba6>vxJ6l0lLnbOc7tKdr1cV#V!0OyV=hm7LPj&x=;v z5qc@n@H+K%w*6jP%2jV~S8tEKW~E_#@+!`PyJ0S10MXE%Q#~;Wnd$C8{3tSw(X|(W|R%< z$xmt{51otj+x86t8wHORQtBe2F;yjx*WRgHw^?-37L>9LPHsYiH8;E*OCyJ^J@i=d za-Of%d+4p*)NHehJ)T^fl|jVGtqGGgE)uoRsQG2echF9-6eA;^%soBWq%2Hi<-QDARWTz1oYV}BaU@#u?f2B5WO0q-O42Q&)&3WqqP0FO; z&)2Skl@(E#lTKE)4LIq`C{Fr?QQsUSE`QW-PP$B$0?bKo+i^tzPWrr@CNj3%Wiv~H zXe`hCyJR3nZMM{O;I_$0c2YbwihN49up9N;$vX8p00KgILCyM=1FKTGZN49h9KZ*k zp;sAIXuecD^3+!=ZX-EmVJI2kLB?P_$gVqtV!&4_K+<{&qXg4wh8BuP?Y$^Ym%>smSveGW0 zebkt<08UoBM9mBrTAd$t7swI|-0jFUGw3Q365?_jymXRb9qYDUlyK|;GKW>TP#jxl zLPf%)p5@-MCFgwdAX{CE|LX4c*P5-@aKz2g5%b( zopV&%e@$}PWNIhSY+MN`+~ZOOWJMSRT&tBaXT9ZzG+~o!U>@18k;h${u=su5@!|0XTx{PXAInO*rO(;nclO ze3+O1p8YWeNlCqdtI-QGxnW(Rd+u)24A!8JyV+(j@4yb2UjUb$a{d--e^}hE+2PXP zbhI%P9ZmS?sUqkmQ`7=5nno)aHr#;Kt3~jvA*zpzU8aGk0lzxsQ;bt&)X|hlf z6aa~d7otL*|KlD)(Xtu!8!#LVqZ~T`z|ny9oe;LZzrXAC23*0@hJ9Mc`0%)4s~VVL z1FORl0Ptabprvh=wg7A2sbKB*C!XS5Ts8B3po+n!?MKB_oLqRyB<%mE{mMO<-P&KwLeJ z@}g84m>*<(4s{dyP)8C+uvxxx`US9Zji+@V}=GW2Zo%>9Th=3XnbUmbA zFU{`8Uw6CoEOWlhQ_=dulmxZT8w+jDK}KJamljwPav6i&;I97lI+8bDwtm1c$K(qd z#sI6w7L$c3;F4$@VqIp+%=nk$`jI%_!V^5B0NHqyQ6EYpC>}tH&aH z>aghTYzQ%oUe)g-1M`qDdKK&&pNj&Q0KEzvv3UMg;2N-3!SR_aFm^aN~}x;G6M(OAA#@m=x5;LVEa|nYv}yDsHcn^8Tl2?z~?$`DVL6-%5dRxAiK?v{qr`c zuRTAN6F z;6fw$$W&Y4TxFohvGO#Va!>8miIer~n_}=M7#fokD%Qr&*7f$9=%!H zAwD}d_bg(`)2gik#Nn@&!De zgDDZ+>aO!-{9Qi;k5;Bw@mE@PDd}TZCTo}+44vn`6$EkabS()&9WTQAJ`F|>?A&Tp z4Ewkh{Jv+gBeP+c#>=g0^8sA;4bTzDRry77XRG}R!uJw{k4 zBuKuwE;-PQ>}A3381(RLR1>{W*OXW1L7UgLu(XUGoLxc%_V;UmxMGg_}1_8cuW!_0T+(hvPqRb(a7>TeTtqwkqjCu47t4AtG3r?>^M_BgnaNqxYLV&xKzM)xcurB)}iKd(M4|7P@0Sld7ne! zo!iyp=3|z`Hr`%di(zf-IGg7fjgzI_cvb^Vzl@vFN;$UXtq(D7GZU=`%51i z&ABE;PPW^EI$kSxjk0*R9XKtHn-bOC8K&ZQIJ0atuv8Ooj{lzKs)53%{L#Zjheg1F ztFsjt(XUYU(wh#WOtVO)j`Eum3|zyUeN-t_949B!$N+iW3)UZ`ZZufxZ(Yu>IH|X( zWAX}4K3>}6!IMAMKXSO{^w;sk$!XhkxjDvjHI;-lnR1mue&|?b zm2?w2zK_PcYj?mxtGC87(m-vkf63y}qC112O%u=A zp9_DLvisqFN(%lRCgK|2yJ`F5=e&UAHh>4@nd%Bh;JDrC5(trZKt>5xcD>65r*11M z0P^Z**4uq93DmDT@ral~0Sk~yFU5EmBHW?QdcF{Ol^8Nng!^Q{W9@mgM4oJhn0Qgd zLERfwo$JzmI3e;21kuEp9NlCg^4c*T5W+pV+`{CekDEk`SYf~`r+V}O%SW#W)B4`u z-J~qD@G;bn(g9r9XVN;?v&CpaUrpGDnbYoF&Yd0V!=u3{1!g)bt5b;f2t`9+~F>1u!J_zI4X9 zvyU9X)k_OtoK;nhgTNw%=x9nDu1Q+B44HcxSfscQFH%_d{NcGZwE=q-XfXE`55;{2 zn%n%AvQmi&SL;R zO5ODkUUTRmn(~7f1^niEUVu6jj%b$UWnzrD=jA2WqG)Bb&=Ww|2?xGYBb9k@J7`-T z&E{^YD2PSTXR~B3M?X&o6)%LV$1W}xpuUcwsINEq)}lYl+G`+U?O*i~VljylAYx@x zfWh_Smk^%GAvFfB<=c1&BqJSIqJRiAZgp{@wW?9Oixb+YtoQE+JaIvD#SG4p#)T_a4@jSbtF~7e^q-|MmBLBS0iep~`7a+l zj9*z?!JeSS0Fv2En4DsVk->1;0Usl4hTav28Z1!groy`vkW-mG;^1+wJ>flspyh+h zXB5^Rs%(8p5kM&X%rsaq^VL6H2tea|fbZ5?JPlkjDgy)T>sK^MRU=O_!ez)40Z-LB z6@`T5Nt!&|vA+V0&E152l>w;?mmBo=#cI0%!EGESxUE?AGG7GW3}zKD7>5n{WlHC{ z@L__&S^Zm!=f7|&;8_lZJ~00kA5-DwLnTsRnFhYzF@fix>?X`+k)wRAlo&kcZ^`X; zYCQZNe@Sljeo1cIXobiC>DLwe7QoViT?jyQy^sMOcm@2(r(#F-JPNhu&*?~p7Lus; zCdF-8!Cx57!x6Oz{paZb4;!H9Vb#k7t8q2O+(;DE;b-B%yA!ruS(QN(ZnbfRnpOoS zK`wS$0uB0)Jl-vBGmXFvFPvrvk z9?|mwbUE8YVYdE1f>7=M7=+m2AXFP9&jG{rrCzRlA59_m_T1Y#0C0V)s~C*#$mS)H zYbL@L=lP|V0<8dCzs{Tg=;$*bCZ4$I_vq}^9UKYH0^?tHn6}s~fm;$%81j0`lB+0~ zBeXi>#ag)8u-FN&TZ~MfcnEpD=&>FsO_;RN=MaJ7?Cr;uRz7PSR5&Hh+`l?wyV2Ii zS|}n^S0{Y5B$*#T$bWP&1L*p*g;4U4QXmG|@%QBXF{EEe!Y*{}WC!4HosF3xklKt99TQdPjOV=adXty}xU0RbEyxLa|@d>E17~+hIFBGAJdm;_N!S1Whcm+BD8| zp@NWKdn?Zg3H&~S@K5a3P&#DO=m@PdLc`f8ceY~DN zFr=@dcK2E@y7(4TTd-w+gt5uum*eI54m!OxOV7)U{wnU*TA>4nJ7myiWEx+3i-Gp~6Opj;AGFD0?lb95B7d;WI@tu`I)&bqOc9-`tLwE~1>jMSG zqL;ERwXt{%J5Vfm1eLA`FiRv;ZGK#rOP*um4e4N}xLc{1{EC6(aco$X$b_vfqm<6Q zO2=MPznKzO0Z8|Ntf6Sxy5&8>+JX9Gn|0)as7+PNTi^5zN<=kMoKNecjs)pP?6#--VITj) z@-Ae~{p5=XRQl06O+THe^wVHWDX_iDL9Tyx=~8+%`f_+boPKcL)0{QH>jvqE%kfwG zNvfRpgws#DMY17CKXrj?mp@J0dfewW5A#-Y$I;DH`sy)X0uckZuFlmV4pe zQj-+(fr}=V2AVeVeX77UB?5_Y3IlRu;i1C87Y~H?eDQI))-5!=fqu)uT?$9Z%q5jg!PwO&pUMn zEqjT~BqJII>HTQORTjAxeBL@(iBeni9tPuxMF?Na*XpfLL3FIL%mX|cZy5ldbq(kC zz2PEBny@sCTdMsQ>(!|#0ZuEEQ+*f^jw}jVy&xH}`9qxe~(Fpp|*1x#HwLm^@866%V znMN&-ZY2>>@DM=*k`aW8M&R;iG(ymUWTcBqMm|52(Z^RlGB$&$=gvB50nizmD0l$^ zbuPArk7Q{+GUvgHX&g6c$V)bYJH2npR6~8uuQX#KVjj%2_r5W~au~_0;do#HuoI`z zDCF;GBzyk?h(-{cjU@k(jm!?B6F$5Y{=y~OlzIaM9%5g`X#kw#BDS8 zM2d<=F(4XAf@lPV@JtLfkjBB;D4H<~7ZIJQwIJAzOBxnFkEc>5Q;zezP1^C@E3jbd zf(g#fq?vYTDWQkGoIf{_EL(5Rq-2lM7DLp2m5gkOQZfpUVL zhydD4-Fp{EB=D0QrPA0hvz&24#86Lxx1R9=)Jj;$6I-RLcwk~1K+VzrtoLMUA!7P_ zK&3^GAOzedE?ZxosNA&C>OJq<`lgzjFeLoD(>(5}1sFnUfG23j&x#sTk6nHjUz*Qm z5!`Z%Tnq-x;YotS)0Q51R*W?sF1$-{8~i*ynp_o`(L=%?uF->|!#A%o#N0mVfW(LI z--Bt6FAjQ^gDSUVMp4;Fu_>+F6=Wj>%@q3=@V1liWYPdUF0sO<*9Pc*BcEi6!*wAv zMR4jM@F<9;{&xHObthU{P~p+^178=bPalBGF}#$NalLX2K77?fk5%|&LqF~{{1*lJ z`G>JpO?`4FZ@oiJT%ov-X34vFg2B-90=8M7^eIqmTZ4p$1e2&_6miL!5P5MH^Aa%! z+<620ng1;IaBv`dFtHea&Tjpkia7sFMW~}+sfdFe^;&w!)j3QOWWEymZRGb^OeG?Y zKhq8e=V<{*cN2snP9!J*F%te6e88hnnTX@h+yic%W+D#0Kk7i>9;yy>4ZJw<&)oNW z|MaH;;Kn@WjR;&n2~Z&71W^dtzIg5m)NX46mJAM=7SDT9f+YhsYzr3;jF`NauDmho zz9!*Yl*8Y4sm7&*maS^R+UdP9cWG*gMdf}Pr}im|K>NM@sr~IKd=XO-N0Tzzz@bKw z_j_qqzg^EDFF|ja{(f-$eMyZWE@N-#kp#okwAHi&#jd;O-L*9TVCdUu)z%&5;%tZ6ccw7!=)-2 zCGj#37cQ&THIctl#;0pqEZL_!EfgMghho?3#1&`>x)hVz5kAY)+%XrkV?b=C!Ujjw zS^e>OsUZw*M%$wfb1F`kJlfI|!c8ZPRX(Xau(T&MXq+@bf=1s5TZ*2uA9KLG*v|Rc zq7i7eE_|$iY~r=+fnR-J(FX-1E1xp&%VrbQ~@6WV$6d033%(`zGG4bF^&YHtc>uxV+_V9P?@Gq`>3)+FUv#!kzy|WZH_~E#rJG0~#^?A_OSL+Ut z9L|rzlEZ88wyEx=HLYgng-)ia;lcvG{D?QR(n5vzjtb833w#OsQ2n$%|8^}(a>!({ zU%@xmeoe$aJk{npylg7unRY5U)Dj$tAIv>WW+}av-?)2WEqhroa7zaosTVBNVO@2r zu{_>j$0zeEaAyt69qc=9N7UU5SrPX}u;uJ-)LPZgKP)(FMzQ${G4gb z1XwR+N!aU&Dkajcu_7N0;@53S9P)YTMpu{K%<>w%oZ0~Ks)|$mSgNg`{(NguovZAk ziz1k-+h zY@EuCN7@b&xY*n%;=ymV)Z5k>KUu%a(-xtIEj1|EFXju2ekP22mi+|Ag)(Uq(OGsd z>emc;%NUakQrI5bDbB9!2?BCmqeK90yKa#hHg3xkM*;75vVr~1S=4?f2E5^RR3VVhOfoDkd zawbtM2vs)`C~I*Sb_aGa7{w;Ili~A$@QPpuseAVulTyVbu#mu(mH(OtC)vWVB!DZ9 zs_24F@1WBuDSkX7IQ2d*yr3{^*ty2M4;;GkjY#=489|ZU{IRyu1+}Q z>krFwt(|E8TUz|fS)B0PY(VD~O!hwu*z&2$FjNpwzA$SqL5xm^ko1`Tu1aG@b)%=D&8u5Rr2LInogIg2P zyE^}28gxdOCu|gMghj)Ru!%ST;cb`xG}MB85(q@flAzf|1%ow!1t3(B z3D|(@Ex2JD5Dm=L$W@71>w67GlK^M89p>yRZDC|&{0-IsMnUYKTn%vfi>twaRp{h4 zehqMTH2`N_>g(6+cpCswEqQG#@g1?I zotEz8Qca!S!3L2HYa!T~RG0orfl5GUIXEM_D{qj3U;qD-fB=c&UlY(z;O;-`La3u( z35fGo0_xcOj|9Z|X9D6pO+Zn*SU&?019J5Y*3aoB4saJvK1kOeznfy<=rr+g{+W2d zJvi}1)u3JsP}dmFa&knR@l!?yVqsm3z@xj0G(upI!b440t6>qryvP@lb-BpDjQ&Y*;4r~=`wX-3yQcVqdq{vxw3xK*M;8ECF+iB`ZXEu9L6jt;p4(wU{)bMw8wCm z0~6Q0jt~8U&(BcPF|0(=T)&o8IH}m^jT&kaEC54I_iQ}Zrb~srmEnv-w;{*^c^zE@ z8OQbRVO8aBJ;0+4yOafYg{ca!?ryI8ZAF(R53G;2(o7%1E`qtYZ5m6+F{iSih914G z!)ZGM5MDO6rzTl50dh?dELMJBvO^))+H(MM?bxOK(78mvZLU%AH00bsg&bCRs)@Ao zMnMqU&Kk5?+Ua2&m+?t^Y0l=4WA6AH#QU5pSez?KOFSS+i%F| zStMH8;b~zoB~#_$-}IU=5tjOuUa!daTTUas($ zxNfiTwHmK{it?26L27W^$w(9a<}oiVCaKH6WC<-~E!0;he~?YhO48h7;r~&#^vZ5C zh{rtfFpf8wX|<}9y0P$^Q%FTBLTy^9HrnBbepjLifsCiNnm6~U?Q|Or3*&J8{Ktn&^L|#Vaa+a`%UYak4h5ODm$z}tH1lAgqBcZc zs(mr>EUUR_V+wX|KKbJ~%}Jkc=P8MO+!y#9?Okqzxh4_(`IrHgM*docF4qQ)(bSxw zr=N9XHH2Piua$1zt{Fc+S{xbe+9+5N7Qfo$sj8$61ux?5wxmvv(u; z6UBNp&L_Cx8@S0Nh4GhEY7`1!D`(WCRa9;t(W`_qKFQ(t+`%@i* zGW`O_UEzZ|2K{LpXVvbFdd?c#I{vK6b39Ec{s+6^jW+d^ffPM<&Ew_}>v8;`+!co@ zODJB7Je9|TH7tHm7x&BB91%|)wCpkPXw==;)Mxgb>jXzirtctY!Op|ZK&h@t8w^Ri z?7`j6FPYnk*$k_96b>V@*>FYo?4j6!<4S<$mlqz{qit-RKCL5ISL<&cPFTBrFzsf+)?pl{db?Ma zFx7D0vs@NX(=rR4vy2^H^Y#o-c2_7!4)b2ovGWIlq+tqyPuxxQr4&ocy&DVB-x`Qn zQndJii^217I;cnn_=*?;p|b{Sd>)P1ao1gT5`eDgyeUdoL~fJ-RL(+5|E+R93mnIP ztDKXCBQaJgcv_v&YW&j!xsI3Y9R?vovXM+E^;lN843L)>o3)v4P=cW z?&1z{Ch4%RhW2cEx{4+&OTM2CU>jd8K#q}-xDo)#K3d#ifH6B zGRPkj0R<^r8unfof&6)L{{o&Hl=nbB{A~mfGvdkfFs)k}0x@HpW+II(cr74i>;Pg$ zW=m^fcZQA&VDyOLS@FG#Ko$)~k7U8<5s)pzlSkZr8u`3IVDbp8i=B(oKusPcv}mNt zP=U!KS$Oh@61ESbTz73VlKfw+2UM__5w;#6Ve3IIEM^2T>Rhk} z%6h=?j4t}iaZW$t7D!MyPj=5gOwLlV{3BK=oxw)dvw_s|f6G-jOMm4m;9rE*22{V) z1|R?dvq3RzHfTqg4T|A%lPYXBn0l7`(`*3vW*UUxt2#9sOeDO6%?7xz*?{A+@T8H% zVRBywbo&q`U>r}^y$)2+K)|^F02I9>?>AUUf^QQLFoM^|@zqHCQXmaZTM+Ybym}1& zVyqIis(}&mEAR;U0BVGsA+l{=A{RA6J_V1EhctPLXl9VdZ#~_9O+~zYX9}-g6#OK@ zE@Xi-9c6G?=u0UH)YAj7q`B|{{7}S0@WZs$D_k>HQR-&2_iV61BHh+88Rnxu2sK@=G!`wo!0ywh-#)tko*oj2NsWTiAk7x)^OG+pO!GD#M zfP(-IRO0{LX#2^h{b!&;9sLSaTt5TVZ=@MOhovZ?%cBZQNF?U(z{K^lpp;02MQ|4U z0UjwL`cq`U0dAp!6&@BUD#3{gDT{?g1d32_f+9jG7U0kRcLNVR1;8ojk%eclzyy(> z1ag=N3m+aOI>U}+7e+_XDMG2M@qnDVA75U}^V#KY3q$uB7oTk~N<{2YVnnel^qJ&G zLr&hO*NbhPTTM^JZ!D$YK1=tFe15m0PegHLYkGWos8;0Y#U@ucdq6_N$+6;Mp!3U! zvPU1mC{f>#fs)8%W#(`k1RSu$`h_ZM=6Z+Cblcj@>E7X4?$APW7HP@qv-9PLApfqE z7c5O!T`{VY5DPTRsN z&HVjN>a8c+pkXlUn+7Ydfz&pxWgP(Apud4LO`?HElWIPU0<|#Ld4Vw#iX8exzx&Qs|a3 zmMX)r5yLK*b@*ViHm`GXiBVFaD_*;Z+P$WDVC=!B47ZE*0Xvg(bZnO^v{ApnNIw3x zB3C>P3Q3S#SV>*Bi)lU}4SYUi-SMWOMySu?{QMAEJImUIY~J@V$TQ@sD+jv0%wDa1 z`NKT&^``HtGfal?7vBO&weWhVWqHp2zR_5+4e2b77Xi1e`OA}{J6?^+UqhmIYZj!Y zYmZI53zJ=B5U@&8sdv&@IYT>UF(`+>P;?q%3uh5=_@qujLgCbseo`dN!qGC_UdVEi z=T$8kDkRL+!V~!;5;-|}vfq{qfVXRffqOnx&cUk)^1_pyPeToVIiFv06ZrIh8v73T z8k4X8HzDMC)I>t`M2ODq1wq2l<2*)O02fZ?&?;F-dFF7)mi`V zJolMp1m=)UVqS~QEvzok{5BB%ZhEAIF=>-FLV9=$T%u3hN(E;M<@7eKBfdz}a^z3_-Uv!d8dOV!%z`qYmpyL|flqGKIbhqbOXBA27d^S?gDe$BV(uVzJW zxAkplx<5UA&zF?YuMb{5obqJcv5$`(YuoRry5pBGHy?QII@fKo@k~g`htqRa9&zi^ z$G4kW-zYTnW&K$#kL)0udG8h; zxLPrNa76o>dvkP1%{RJN`~T_g2x(m9*5*Ak%-=1Czdby;;N!J7uS?vwx41Fx&%vJ` zJ^A^=(dKa*9X)kzqg!Sfu{Z0yw_%eaZe8`+cll7SSsVBEJbQNM;q~XvUT!t;{Mo|m zqH5%7usC*mw}PgBW6!kf_BhWuyb1dtreMQY6@rp$;m8gd*_Y3EMox9XY(??hSM5jZ z_IHdsf9(Fw;|=jZ=(nXiUv|bvtS=l3X!UI1f>2+aG0iU)^DGbYlD3pDGQC04+HaY1 zjO_V+$JVnYvz%VrHfAbPn_gU>`_OmKq4Bj=zx1g;Aal45`M=?@Jsbr-uie|N^V2+* zgc-rDd%aA!)2MQ5goFMlq&)Za(6@W@?sY>O53ae!KBhtEHA(9_bUj<>P&a(UI>8qo zu`WPAVm*O=#QN^MT8>T^9^)(43B~ah>jIhZDDCvg_={&VH0MEhAJ;0##44|&?H#y(oQEZZ>L#?yaZxvX-lAv8}rbo(Wm%TzNL z^1ZUJNvKtz0ML+{r;WGbYcyXFnj4un#T!&wa25~s7oU@otjoW2Q%u7!d;`30!CEV( zw_Qc^v^VVShUgMf#GKKk!t+grCuMT4OiGCVme9CM(|81nx{P_Oy!N#w|B>tk=J&i< z>%y_lg&*!%yXV9-ERow2X?RIOcxm5D7G5&9%^f*F#Y#Ggl^jySKD%+(wbpq*j{{iR zP-HWLPUSL>O-bIWJNrwE4fC2|;hj2~7FMc+fg}Y{sTO~oms|S=pL}o$5Cn1h^wuSF1=Xl=YrkvDy+2XVyTTQR^6gW zP33RjT^@9(#t@42N-V`agn>3-s@abb7OIeGEI?JSZuoPvHv&U#0(TtF)4Xhp0`t@L zxaQUtsp+A27o7d`!j~(H`Fnz?5xFxN6&tHW219lp;z`|syrRgS-3v}VJnVS}HQ+4b}5 zaXVl9x@hRo&yN$|etq}SG3UXMPipAOtcI?XSNu7og?IWX(#p#tE$8E~Bxk6kJQiy( z3&@J-v-##B!6DLQl0UD4j+AG=9^z&MzT%`HD$>mP10YlxGB>Z32e8Q*lroD!DYT)G zs*LM{1a3%W=1=7;<_a|Cg;Tiza#I4%$}zSkSra1VA|pbjqVzF_K(aMd3Uo9WeY*59 zpsH)Z_TmGMm3CB{Q*V9kA$u>s&%Uk4(sP67PWdV6Yn>@g=3Y=f7j^RHh0A-F9B2{V zR9D(3y8ZW|6Gs(W^v}3;spX{LlTV(dU8wk>bbS5EOTLAcmcFd{`0C&vT0>$ZJ7`18BFm$y{AJ@UU{A8v0?C=v7fg+8}mj{0piP_g7o#5sTn@|r-IiQ6`CrTAQ=fYF z|Kr^iL&aX1iyUpT*Ad+8+?8VE!gjxZa-x6ai`0Ds6Tkku>i*ahArA%>$ddAWW$L#P ziyAL8m~QuO{AtwVTXhFqXnbu+Lha9~=g;1`@ZYq@9rjdOvva%Yuc#is#MgUP=jO&v z(>C6_b+btG8DHCd{rOIx2Q60bOIUXM)$9Iqzx;Hdf5`3Q|MOz9^=ityl(yHVc5ml+ zcy|1kOz+6eLJ8e|apdT+dBBwTJU0%XU4CHf@dw`Hc07I3H2uoA-2)ao?B;?UlLKpg ztJA5c?$^jdmDg@LTsP_9(-NucYs6(OS?Bk%D@PrDU1w8F@hvkRt;&C3Z$RkNOCPIG zwMS`s+W=3oB4_@=>s86J@nC8S`- zg_?`&o&2S7o5fdJyhxb;HtPE6l$J*euQ~qjUju7jc=Mo5|F_)>E_hOV@Uo=~uieYJ ze9<$p)|cH@5zCHAlDY|I@O{^?-$qw-)^SbCr*UD@ zyunHRFNF#{?!WED#&WqT?mG5wLcZsDH+9 z?ivSu!YlYCotdztOxHE@cD&sDGTAYz$nBladUTIU3%>Afey=Qti2lQ#v_%)sEC?U* z>;0-L9u=HuDl`0we`Kon-o9y32i9(0F|pE;EYA}@e7JXFP~o6+nfmMq8Tcyu`6f38 zB@Qn#y4B2bx!$b0+aO`s_55cJe2mNYA~1za>*5_o!iQ)2^}(oCQx4qRkZL@AF*&6{ zz6P)EJ0ed#s4=bmiCxc^pX^lobCxkPqYlcQuSbqAziar`yR+|qnEr53)}IqL9|rGUFD+Gm zyS;Ghon9a63^?~smGXZdd>y#Jcq7OEguhH4n>X&4wnH{feR%tMv#!IgrQYhEX->Xu z33G+o9cXz$+qmNS0%@}xQFk&`h_iCn7P%keq~>$mR>*oM)&*A z7WTf}vv13!7s-99hFw3J-aUu?U9r;}>pva%=aWAQoetg8vvilX1JkSIPEIcv@%s5c zcfL0JSg`EI^0^*%{_~*! z!gOQy8*k1Y-Buyqaq+Uxl^oS;?^<2$_uNH>Jeb?AR;#>OTc6##e*4U$c{@foX!8DT z@2kJ`9a$qw{auHK@X4uw*!q$C@Zx!t`^w5wuHN(ir*Im2#jp?J`eRAKu zv7dHdFVWYYvaILFQynjKJy9&CP~fHL`=^T5dR4AdN|D}O_E}$aES`H*wLQ1%9jdtS z`jz`5UQU>}s@7gR4=jST-@Yn1kO5|U0tNHGxuXoS7^f7%? z&JUHRZY|o{@A#aEXR9YwtlxAs$$RR&E&Xc3#NC;?Phat1mhMfRk_nC-cSDQ5KD5G8 zb>qe&o1PzOXIU|^*0Li_7C6q|I9b2UyW!0yT|PN=;*Iy=>zY>GaO%aTyVFaIPOZ|U z_n;Gb_wN0=aCZ0gR{wiL^p#Qzo%_(WLW?TCz2_b&a;DXv6ZW_J-0Ghmfsq9^FU(ng zV%Z9xr;J=N)c1OsQ8x$ei1}w6uh^BYu@zhQ-(KSQv-3S( z&02ihF@4%p`?{=08osO2bAOFpmA@6-wsm^dm4_-i_5@9OuGhVd8&z<|gBqvtv5aq( zE0r#qHSG2ebZaAi@*=uc-qzo>b#-%sh4Tefc8(y_SRpi+Y_KR!9J z-h&HQi)~nwqw=6t7k-O=oAz6gh3oCj*QQ1{tG;E&q-U3k)jC*qc!kY3JJh~8J^#9K zu~=b`=$>Yt-6LpFmH|WZ{?vBFYn;;jO*av{%*Z_p}E^n ztc%CjhJ}`zvS-W@^Rzu)jZs*#eq6WNa)}1(uI-{Pt{Lwadgwc6G`?VVBFb{gZ*BFu z_$*kazrGz=oA0+W*&AH5)WR3PdhE3vnH1VW!UKEDQgpifnOe;Y{ikW^mO=9xM3@|> z{N^Pl1kFqBIagOZ#((L!#C5^BCoWspId{$)jYD+!Pu$vo39Fay_s;v%&C&gX7S!`P zj;HDZvmZIzWKot0%hq){h@b0KFP**N+>jZ&MqkpEYdXHsk+0Ru&#D)c(%t97?1=Qz zJI_Q(D`qUM6_;)d*c6wZe|G<%L5W)f^OwL2Rnm&yOUJ~eXA3}RDy&Xic`0&SgS@rE zGfmuC+*dM9w0n0hMGMD|i<|L3Ir_JV9<#N2iwW0ud3BdFHI9mD6!a?pqFO=o44<0D z%?LKeNJtc%wKXMkyw7%>E`Dr*OUX;yglue9XU^!ut^Cv9cj*>1Z*BO6q9yY`&Go!i zY@a^M9ln|Jl+Hczr=|wlEY@pF9VaI@7;di> zlv2-o+t#J6a+lj28f!@3`Yp9dkPd%lF4gmL_CTM>J?aLG-Mzd~>6m+!{LNl}297T4 z{l}o&vUpJ@|Je|DE9pMIQRD_x^KG@%3Kgd&Mqo6}%bm)wQ^i(6)qz>!9l^-9GZug>f{fhUT>7DldSnf+n|Fp@}9SnBy z%HE@{u53)Iqfw6H7+ITxhu@dlkuT`-)=e?xMm0r^l~dO9Dki`!qQ-MROlp56TJb-&rAYRYaZlfn6k4crm2WN=5s z`MnKac1MKdD<*}I{`g`Bxue6r2%ox8F0Xbhh7FT}81*=_?-nd&S8iF57r~NDo;=MQ z?2WLs*ID1Zj?-;U_b&9S-+^bPANsTjc{a1$!Jz7Iu6SA21n(*Teh&6D!;h8TvZUDF z;d^R_9^X5-s%_$-Y3a|mJo{}*xnEA=CFA~|?;W}D_DInKJ8VAYXZsf~{{COg+erJx z#^t}IPl;_>IsE&u&!0M#zESU7^rvl&8oa&mcF6s-CDpdpnz451s&;Q2M;_tPx7|n2 zlq-7q^`04zz83lLu+Eo(n;+c!{C)6$F)PygE&2Js@}Jgy`ck^zh!K7MO0s``aKV1G zWx3sXs-5|*%J+Z&`Sb|~@K?&*-?{j|&(Cn}^uFVJ%915faMGS<4XPKlY7 zTZM&}E>jnuKOOKOtWt&co4W5@k=VA;*&-Lpy{l5Id~~WKs$*yKk%T8Bz1o*vaCuMH+z51owu)_UXZYk2H&)4=v^Oft>eEV-n5xsuD);{^r(r!WX=UwSi zmt34ZVbA&3|J5EbbItP+o9jKBdj3+}?Gx?do{sNx1VUk~Y4WJS;4CzNeDb7~c9 z-k#eU>}_*=c;de!BmX+Mws-C26N7q`d$aCd+NwMCuk0IK=TE%zSBB@wc(b1!q^NeF4H0jJ^%8xnTsov1wOMk9qFCEXYTpr?G@`k$+IO-`n+q?%btwymt|W-9XW_@w>dGNL^gC0kWZCsrUKT$r<;+NxFx4${^W8ailMTu@#zAu@Eb$)&E zUfQ{5)9(LrCThaB;yybIk2?BsuxN1Gx^c4pAXp`oBQ2+Q*i3SK2zlr^MC4< z>(;hEt?f^ZSoyF0^3WUWlfwE8uuYlpB(cUH7n?Vo(fR$8@s~GlEcA6)!|TtR$G5L* zzmzX)$CoYE%`b4W$m*i`w%3V&aH`Avh<%;r3~GAnUiT4W$9^n);#1t}`Nl49_YWSP zdMvcTjCwy^Up_M}f6?{%i?>_xv*UJ;wJoFHZCUqn;NI{?L7%8~z5W~$FznLSorlkkEjQIK_ny4neZq!pa%{i$)3R)HN86Lj z^qXi;E|7r#3_Ei+?#}dKW9`XV=4KhNy1}C7IcscLnR7r`r~YGoyiZPEcPRCE|5~eb zQ%!3IHV+yW8rULu>$t#q)|N37OJ6J-ulKF-sNB=I#Dn8^98NuMj>BKmhb7vRttYM( zop9@Ig?YxIvoe>&)w(`U>xJn06sW(*`|avmb%Gu?+@GvJwQyL> z23?;izpvHxkyp3sa4R6P5&l!p)-yEMyo%!+=W0=CQq-y=BTA1k)EjelRRBEFW5?Wm zQuambh95jTcS_mpH+?Ok$$zixqWia2@4yMS)|G8w*cp?!v-rwp9TRi|!^Yz;*?z=3 zqUqDEDdU@^@PWnZ?uzAfrjIyL{w zu@2>>xHXqLocVpa_od|AImc`YoD$&QqJHGcGmeJgr3S9yv2R@zuHBrNl@j+0C4H+3P<~FsL8-03K zTQhLglxKAYh99D5LvR_Jy>DPUCYI#g_ zQjD}7oUOmtHoLCt`FdHduUL8_y+h&2uUD@a{USETydFBV-jRG~&b4D53QHHGa_p)d zVJ_97^|JIg6@VAbVTtC{i{rARwBhl%qhS}PVMdo-T6?F?tKZRbhIQ=W84cIx19Xhs zudtb~42t*oA3rO^{b}_-YvbzP1!dBEuyezI{f{b(V_eHk9^!B-vmk%N(d84Ux){ z;GZNP@?Qr)$)45mpReJPKS;#3k%CFZs*)f1T1Aq`+98rZX{#8_`Fi!oe}#Bnb9qCt13Ls~zOJhjcDROqwu$L5&$56qd9gN-RtamCJl{ZC5 zG33w5a!%5#1O9K(NGUgcZaJc=6qwQoEYy#bhSP$6O{5@lCsN9r$zaF-qy6NlA^nU# z!CX=D{jqmevayCFqd<|S!vDdVkk{85(h!vXQw?m+sVVv4Z$+4_#t{^Fjg~^mnxBB+ zbvCkWh?JjP{7D+&ty5%Il=QC!X)1D48e#OUk?aBC`1AB^dV zsSP@MGttLL#mGOkaYTZKRF0!3V{}F8NWEyv1F*pUC z%;Z2_DHqa~ofYoYm1dD&$ICgKVw_VCiZHbf6rpZaDF^A>3Y`2=PqJZ8LIs&TtDr9_ zQlGZBlaNX1{Bsm^^J}!^OWN0$DnlZQRQJ?}xR6N$^;9O~VSNk+=Q0>faWbia@*|a{ z^5c#M(i&8zikLhjG;4O3N*Rqd;x`JNtZgW@@;0h64UJ+l1$RCqI!cPfWdN#>Sxps8 zR174xp_GT%BQXG|ijGLpQVwsEqK!q9+n2~nszzhJ(Z;2gouZ+Z3&ubS;Vq#c`zvII zQbbGHFdjvWAk&%H#y~R*H?J#z+Oo=uMd=lC_!g6O}gRTPBuf(m1ky zlvCJw$<1a`ZVXM|52MK1Tq;K*dO?1Tn?n)Ljl&RzHJ2uk6C+g(^|LtV*sUa_dQ~Ye zBixJp)&kSsl~zAcRSHNxTgg+QY<6cq`CCdssyO{EoST83DURUhmQq2eEyaV+vz;N4YxoI&D@xn9Ewpe;8>s?u)RD4zn;%5cT8CoNtNP384|58)Zd=LETd%4vej5T;0<8^7X(#2wpNgs~ZpP3~YC>YE&tB7x zHc>TnQwL~pg@IBL64D;t6(0b}PO8L!r3%~Rtl2%1@JvKk8)F&YUTQ!+j^fMSwTCY= zI9;jINoWTt90k<=^Vm6cGZ}17KZ7nuP^UxPOLD^+9=3(FIz=O+M?<#?4a9%O$3d<` zhcLNfz09rCP6Ak=imJ%?MV!>y8wR?q6C7>Nju5iZDP;C*2ubTG)uvMp87Bw-iO zCP?0G|DY5?dUcX&P$`Eb@Bhg|^-N&XUGrNf#c3&?qC;n_fF`HVCv`?gCa0?f+kV`1 zn$!ghL-ipAXQW)9LUJCQJ8R@UZ ze3UhpZ0iAMyUqbQpxOa6Q5LcWZG1`J-jeKXbNYp}S-mB*7kSbLa_rd?rt+kZlv@i8 zLP(+B@F`J!vF?~sfDsfCjOZ)n^v1+1a#ZYPbziAzCX-#2VUd0SKKNY`V$}gq|LA^F zUMP{SC3J9KJ6|%hpL-z#7d~W1KUGCZP=82Lr%JL~e`yyTI9&4= zlw|nNn9iFN#@6itVSgPWh0*$Styj9l?`gCFpwsLZ0d8A18+A^!v3VH0+w|dZt_j^i z;8uGnUvl5?S;${QF%tkW3M65b3Xz(_Fq_X3P!m8jNAf=-a^=>7F<=C@M@73qgwWbp z{FU0I!Eh}8bk(6NV9pVshR!RJ<#8~AzVW$z%uY-*jAEMFP%~+S)P|-eFB>J5Br`@} z_{e3ZD1ZA1DGq-Fla?akBe9U|9S(D@)Cp}A#VIoiTHkjxBr|h@6i%{r0~Z@dNrh5I zG2yamgUH&h_z}yJlf`4B&Es@zbIUGet1{u&%rrElq_ZfG%Q^awpGx??W~M454V-bf{kN zM5!6cH4d{~ZjAI3`88gZC+d=gV<1k8;wkgHD$1n9SSf<^$Nq`dnK>5YQMXU3LS-?Uc2uwtD7iP>_BRdmwHg#Ga9bs#(4B(Rn%4Osm%nbui{duFy2j|5Qc&! zv}{cVPn7zS6P;ACrc9EGQuh*x(Nvlw)gxW$FLXA@rb!T%x@o#FNoq%{L5|R@+@$qn zMUaXLj-L#NNMSwI&e zU!`8PS*V1k zE=lk%x{p$MVosHog|UY*YSgXSIDTL-KE&=k9r8d)7K53D?8sayt@tAByUQBr0~U>f z+Xh!`(x++fgid`r$J1u?>SrU*&AkQT1N}#;UiYZSTOyUsX;2@iZ%!NNN#Xm@yMpax zDQ(zNX^|K3Q?ggdlBD`_sWS0R#bi{OEt%5xE|)4*@dnTWv9jdeJ*Yy}+tS4R&R04r zx*2z-0%Cu4AW1T&`Q4HFWGZ8H_Q)}--e2_`qmjxaFXc5lr}EYY@(mR>tqPmeu@1X0 zT_6z~eDLz>1F5RF5yP7;RZDyKK&s?VRxE+DDUyo+wEZY8DqwU9$<3W|HI~YUZ{VJ8r$?ow|=D-w{A-r?iwy)Ay(e{dxgKf<&W`I){;HA|B9_b|E{Vey>O?6F+bP3sNYPJ{Z<=2@d5o90$%?K@lLO`D8e~Wq zY(QZ;vVuG!m^}F66lz}bEJ|Kbz(kWTF)wb;U6LC4AB1{7T8_*_67NCh8kLj-V7G4l zd)7z}AX6I4emRueGV1J_NFl0&nVQIX>KLAC%qqJ#TwmG&IkLXr8)FE zy)$`Lufyi#W-ED=tHHq5a*+nkdDQF8><0Tg=h6a6 z?pAX4c$Hek8hr-!9vEy5u2?^z^MGJ{Q5R45DNXTgpmXYRr=0zvDudpjX1pSF$SPZ$ zbJSMj8fXq~KBYezqFC5Q9z?>+%6Z7FwsID7r-huYo|Cf51uTNGVOJgwY!nQcIQ2@e z*E`jMon6B-d5q0MlZf-$1_VQGlo9DYi0LhAdNBUTKrR-uiJWRH7tigShKdd12Eap_ z4aSsqazWB_23CrzQ{`+C7L}EX5wJ;>n~E`U{o^4(THUF&G5zBQ)Bo%A44y3NNm6Gy zPlQEz_Yj(?ka7A`4>GDpagwp94?SwhEbA-hiL~g|oBj$J=dgZEMm5f;_@AlscM6wu zm}48kLsHu!cju!eO*(CCW_bR1vu+RKua!u8xLL zbu#Qh6)2|P1Wb%s{eldoYPLJg;z!an+tqO~stW65>m-c((-b*djM=Vop%7Dr^g|X^ zEpQTJ9BWyO8!P7lRaJxvRaIO+qRJl5VpIhLV78HSQjhdhRLiEptY{AoGsSOZs*Y9GVt&t)l~06Ga;&cdJ563Q&clTU6>UuQZ6h1FT*uy zt;oqSi5jk2WDLWNltYI8e#9ZW)y;gwQ#-l=PHf|@wbTUYaqXyFfmC`Y4C_sGgvy+di}K1g za{{l7jB{=DWR8UVEC)oHmFE~$@2GBXJ$TbBEf)5)cCCc|PK>DX>V%BIRit5exe&QI zh(;G+HlVKh8-+&>r2%+qF{3&j7j@OX8Ff23NvTgCh#){vPdP_*k0pq4#>UUnW}s6Q zhZC)mtpk|xFg#27RI#^93IZ*aZAMEp9=+3eqLr7yRoSvP%YVS3iD43zs>-nEgz3rX zE^k3^4Cm4TGfc}^6R2oc8g;+sNfal}FrP@X z@{JdDzzoy=kg680Iawv6`eI5F#>&~k%{o>26c)J^hGWshK&L7_1d;n-qeblmLv`DU ziNV+(FlAzRlhF~(20?zhjj3*8&=%a`7(i8I6_UHSbCO})c}NVw;t_Iy!=!vG(J3&K zx_fm^CZ~5MhGUq9sA{O1i;H!2|EA88x*sfW@!T$&l&?7U=}0d1mUFR+bRZ1uy2Qi! zbn27I2}{Y{9+;#ny|FQ2I9F+`+UpM+YwX6!g9ZkfY$kH9H>S+yUUW5}ufnUU6F;KLkSL?-WZjc0c6r$D7)=cPQmPE-3RD>xg;&xy0pg?k zo3P_=lKLk6Lp5sUJAjfN_q6&gx9%Q=iDhJ_U-cw=Lj zQPoi=FePzaAY?2;*$oWyDvh}{$iy0}EIY9>Sw@dfsDig)(3Uo4F!o2oX9$eZQddVd ze1@3S;aeL5-`riJ@SnGtRh7jJhgN6`OhvopczBT{Ch9TrkVT5H4exr@}y~%CZwYlc+do z6OEz8AXULlj6vKV64UH&Oc`*9d;Bz{W@7l44wPYCfvU=r%A)5$aXf_hKpTd46)K#a z@VE@l#i*z|L^ccR6Ygq6*Mw_J)ZuuW^a@&QYhplGq0QL`Kj947G4ZK# zVO_EDs1uHPR*W%Xq8t!mV$fIVhhKUaVO5~w=LnJAqwIH(N9DF17F>0Sf{{`AQ$eyu zpdpjwfVL(Eb}2I~tjeeegH}h$h^i|O8#Kev>Y(xU9;bYfq6&M8VgOj_>3_E;BU_!- zp48E3*!P+&2N+E{Rem7KzSZplj4mopSsI-XmAq~N_p^I6&>BO(N@LDmgvP2uFpdO! zG1^UJ+i1ks82VMHa`qxn)hswFhn@>Rd{IYuT_Xd-3Q^8_c%lr1I#~r@R8Pq5W*9bN z1&CF;Lj^__SY=Z#&{F4^(Gu(%PtHxD3_2sCN~Frj0;@kHs?NSj)X6W2YYGOj)d7R5 z)aYPYVD(3|7~W*Gocwxdijkb1sxas_7bC-lKP0MIYK%^#OkOnxg9t}wi!d@|OF3k) zP9UbTq;lxV5|TG?Xw%lHhCb=u)yUuWwz$XPW$dgIv!jK`O;?%l|u})*lQBGAPr7dq2 ztgR|B3waHuaj;4|t*K7B85VHtS=t&|0G9U7u&JvZ-@8`z8G2>|Ww=)zD1vXlCIV$nZwQo0O(PmR zKsS>tTKdDz)B&kd&0q-RTsLaGEI_M_fLl8R`Ke06h$;gj2kJW&F+0{@H-ikI{)j<_ zBpEG*UlPn{#W2iD`C=gNhqSc5UVLudXmqY1p$xMsR8dRPNS-e>U4quI-STxpa$Y#P?S<;aZ$zxXCMZ)mZ}{w!*q3|H4vs&>R#8X zS@PH?b;w6tyNNKWXXlEOWbsqRg{xcDc2rE{X*&kRcB-=jd1WjrGmMInK`BPXxj=eS z0f?o+Go#0$zmd7aACl3Uk_v#eROyB##>kK?WzL1u)!>=HoYrPkK&+*zqy!i}QUZ)D zN-FTG&Xu%1Zuk}x_CW=`ks?4>DFZ{X zR16HjvYw18X-^JyPJ3y?aI4aevloFwtrfDFXB;v(ta1p>s6pUkk_v~_JyHaWERM=J zboHbTUSycw{G!`_T>5gkAOj1WGBUhjF^s@Os@+-|831M?b#5({TM58r)mZ=+qA{@G zD(lI>NITWupkho934>wf#KypaYYG|8dU!GnUOE{zsBqYms*)iP5UoUAoxxrM!>m8z zjloMs)VT&|iBemNHZVj>S!IFKA5zuWl0i%rFgQ~M3=GjKM7i}x7{6xyF{r5mMZ=}M zb?763O%ew7MDC=40b5Fvf!H7M$>63sdK*c?`y8Z46=X|}>L+J~b9QG67#I>1h_TiR ze`H}5sepqq!!WGE3}-=tLTW6?rS+->85pllg=Evu;_ezxkNY)99*8h7=&SV3tzfR+ zRqn-X0bJaO*dhm}RhlNx_Vz~Zz?m8Hoj~UxO7)HF8ec)LvzDg0W9GCYGi5I?q@({a zOD^6;jmxQZ47k^#*QR%WARDiUC2$RySq5IuU3Bo{BEuA%C0M#?^m z?Xoh;zQJNoYdu?@=|w8ck&Bb3$#Rj*V682w*jO$=S<02xa*pipO*W^<#VaD;vq3_y zgn=~q&q>9I#B=9g7L1Zhvm<_~av<4~B4kq2^V1 zmeV=WtI_k;o%H;~E=)|MCVk-t*irJisai{>z^LIK9 z1G2YoDZe{cJI~+gFbvp_5cS2V@N2fG-CraZ^CFFw$mK|uC2|l=-FG)PSWA<=s*v)eO^6p<1C6q->$g>h!j> zkQLOjMy--7C_UviLptu(xY53Eh8#w_k<-#vA(Pk}SCr4Lmh%Sj`e#?P(_~HiZ?)Xc zi>zI%QuMP?8&}P(f*#jv$)F@B$*g4SS~+vt-)rTO-ekiDr(6Q^&`OY*s}1g}5^0Xw zB<=PFxp*eBdn>MCRNo}~kS<%~Qi@X`xwpu&H^i9a?Uk2Ig~K7uw#d2DmTZx;c{6qg z#&zropKY(8cM8Bx4sVn9lGDF9xy?zY{vzkfN%hxN(?ERZ%O%N~Uu2nN*)AJvGnH}I zPz;A@guB>j_v(zei=Ad~A)~j;f%#SJ;nAHUN4te=-Y%EPuOe0V&ra<__Qz}5THQE# z{H!RO(MpQ$kOOtm55{Gk9GQhJwcbU6|RbOXTc@ zYsL@2(ts+$4#{HGlN@Psu@Wpu5j|*N&xGFbv^Gm@iHhr`{C|W;nxx6yNx~{QN7~6W z`L0(PtKN!GpQ*ggR#K-cSvt64!#*J<($|f8fFx%Xa_LvOKfM-JZ;xz< z#Q^EQ;NHQq@`p}mrFlTwGQFL8Qf-+*PeB(~W&)Nty+9$o<&tkCAt+;0y{Xk`M-L)6vr%ZFQTTVr;I=h~pl={W!@NG{6d^o247*K+kt)E&@&?c9@PSF(?}idI2C5QCu`WUih~oK!P_1MxbL z(PWv8Gzy_1VM1(xCu_!L(L!P=30@U&8&VLH*X>K`m&+fc|rtG@KDEjNGL>akhu~RpM-(G=RdeebLgz)g3c$F+f|G zcdi~{lB|E1y3s(TI&K$FIt0Lh_7V@uc^Yy&;U}BmQR!KmP|t*n5N-d6n!LUu=P8fe z1{$vR9F`8*Gj!qP%B;Be7y_>rF8qY7Jb?tftymAs29Dw&K}bxw+T}^Y2sFYQl~HH4(*Iv6H)$1g9Wy0A_lOps9{B9!D50RwVZm{U0E~b8W>zBBwJr z&V-I}WUV$U?pr5xZ`HC&)f7>FI`;#^la{#5d%Jlmp7N!`_!S#9(bgZ^`` zxCS^{Zag{zE;w>-7G=uexhFxCiHn!PVAbJF@y`s*9lAn8>sk_s_j9@moiYku7GLk> zy*%n!1h-%?+GrG*{&Oi1D%ueW^E;Y>tr|=Q8tI__m<{OQY-s$6D-(eUO`POy8aSAS znYC@rI_B~{crqJwcr1bP#AzR5b4s2$N5dk@3D>&>J~KeJuv@yr(bBUR*$U~wlf?u> zi#;Z)xDHYhygj06G(@PS3oL@SCMXF(3|PJSq3UfGdQ_+-0f&wKA|)Ycx($v*TOBJc z(3MbTMz}uWxHu3KybcezFxxO8js!d*QjU{Ag11#9_StC^%#&%P*$KWB8G(Q%Ts;%O z3O@qmi}Q{U$&i3Q&bF@kp@nw1pcCMUGg*@v8C#qkp-j1`tl<-7{91w}Qy@-`PvC!g z9HeOr=fzfcH&0fB&W-~?%9Bvvj+Kj}VS|D4qPCgMf=`3==>eIhe>+?i-xe5^Awri= zqq5^WHtVoras(-u6nr0!viM2UVU5FM4Tnxboj4NsNx4wv$tTLJeD^4`At>N?3S#1h zpu>KiU&Bx)tSBf`Zc=Nz0&?f=2g{|fE5UY&p&*CL&tV1T^;l-L*EF*g zcj7pY4qt*5l^ebd_aZs12eL8K=oqxYz4GE}w36fIS*8P$qWRcdnG&<(%HT8jdNw?c zAe1TDDQeqn&QKXr_HZTm++P`4IL0XS50}LaNCy&nOx0P@IqR?x2zv@FMD$EXGXzrx z#)rj;p9>uVCk)83=|q{GvFUQoI>a+@z;XyY@t76tT4^9u+dnc5coBkkx_vvBfn;D{ zf*G5zY3D2lVO^|EBn~75-)Ghdt1+;WS(tDrHE$~*t0YEfMu1?AfG6PQg*^p20dOE* z=P@jPB5_lVK_i!Rap72yxEXO5pe0IzpGb=i7RLz}TYQ@8pkdddgVK;?lmxG0*fjGI zRq&-`lxa!8mEzS!kPvVrwrheQF*KTlpe2F03a<)y1&Q};2alDI_o)HOnR)GXA z^avxsEjt@Yq$GHsVu2nDOk+bQNEI**DeE911PyR3A!sg6C`6SJLu-h7E4QFDlWN9Q zdVU00>(~a&?IX;XE#%@{#IS@RK=4ADP6)xFf2=y>P{t&bd=XF9a9CjHml7Rfb2tU^ zy9CMbQ*6b}BwpZFJ=O(I!>l^x*v7Lfl(>S-E?WjT;~_W=$g>T?Q22sXQ*GgdoNc}Z-BByi}$YpxYxDM4Dm@^CX5k+1=0 z@?MEXyLkJt!lZy0K!T+IDd#Sa(2)SSY^cPm999`B+v{Re%CAwVD4q@A-6(#4Ks)9EuO2pO z!sEWz#Hj;M2HwHbV+g)`Y!MJ0=XggtBX1@cpb&)8>ue}=wsn~#c*0Ue4uL1$Byr>c zw8Qs>3^=}jY*&$!;&&ax;(QxOAWqAZuquy`X{HHTGdw~-TPPLZ)*>vx=v&E=qx9Uv z!i-oE45B>oLoi_9C(uQNgtHRRRc^~^_(TMfZH}4uqghzIh66LXu%kffU{d2 zKgTFD&s0#STK_)34S1OH~fYO)gd&VGd%tX4+Ii?AP3cP zF3DB5(+wnFhIlCFq~YoeJdi^O3Y%2EE%x(jTURuI9>odAh<3P2p%Y*jVcd2hf&)EM zZr6C~1GA}YE4Bf+?*7U%)y7L&=wm}vh5B`L9DJkJLTCI zjq9_`0<&{^R10_Pbyu_|aA6fWL)?Hy zv7!+;+%UgmgKM^PHi!ccr~qefsOO4%xOp;BTfjGRAZo5Y%o8WuoT$;iI959j*NFZe zNbuH-n6qHvCdA2v;oH$0o;l4(GIk-%Yrud7TZIbnfCm!9Zk8K?8KUM@8*jF-^C8!A ziN>NQ!j!lSo!KQi=HVe6G~yO~#~34CTE3sb7=iu7*@ySw-2%dcJe)yS!Z|d`gzY1C z^*W{{?%Bs?+hibq4>GV-Y<>8Z0%y6(TcsL}L>W*(97qUCZNYlYn>M!X{A!4kC>%s^ z(!$_do&Cu_y_j8`YC z6&p>SEIni*%Rqt$gov>Vcnf9XS_`lwa0~RqV{fz-wFzE>fljxW=*q~!DKyse+d%C1 zMQuh3UIrc8aK|p`Q3j3xhd=y@7?8YhN=3WEY2)1tNWeiTuY78h53=VEENNB))*t<2 zNSap`8$`&L*%7ATg@6P3#4qk&lT0-~OI5;QYEonRQVt6fqnh9$>wvZx& zR-BP?+GI!Wf`x=U$v`2oX%r+43l)qGWjK25M@fj(g>*F>n7I^)4IjZ;oD7gd8IV9; z0BoOU+UnZ>xk&&MzyUqQWN}=8gq;Wb=+Vqaj!-6K6Qaz{dk>u9;cQyV63SfA*X0yZ z2%ko_fhXSDK^F*#r-5JwH&l>7~Aqfu9gS;z=M8GlMcdY>MuM^hD%0ifJj> z!m(x7rGq$Y5)e2V3wdg^j9=rhVMTPEV;VPytk}C@jJyKToJ$@zgM@Nh%F}#N26ZP9 z&q0DSOWGr^^*G%Wk_Au(^hc5?30{J5tNcojQ&S-a5?ukQA zab~W60TR5Jzy*I|h3Z0d1PL;DU5q4B61*%hNqoEv_(#~*;4U$uSmYc?@SYDpDc1!x z(uXPvnuzw|cCe+IXc|C@Ow0#qadj+020D*N1 z5mKHfB#ChK00&$#8W&H%Xl$8wmC@W3LDb0WQF(V8I8x_$#E7F{A%K96kqE;vXo6$m zna0T?}F#kn*LJmPf*B#;3p7&uMDCBf?!J@^*OM3Vtjz`5&P zkPwzSoRtX674`)D?h|jB2$|W?V)!0zHZ4|!NBA-TYITO)YK-FyOmX6y3_J#w8exht zJ^bz$ds>w8eF4#P02r1ffMU8IX6uv(PgY!~AR%wT6R$H^6NDw)f*>Tn{33mmMbnuX z!7LHC3f1;4`umk2yM>$y$KN+Uc%V=)7k9)Ji;XP_TIzS!^j{R?&CO^b>|7!Pi5 z2=%aSz!^M92oM9Q(9Aoq;nOsCJ~arbDcH~Qqk?bXM{0vf@%2ED?ZwiBmp?-&9 z@lrr$u%IUNY>1x{gm-Yh77G%Bv$tVt#OiP`+z{aYg$2N_(+N_AjtcI>j?{f&_Tgpt z&;phTD<49Hf+_dKHNFSwy~4_aY-)@#;(Z2U!eYrsEa3kU-{Qw;hpb5wCBYjXmJ6{* zpnYyuX+kj$0PlhXzl33Bvh(p3R2S|s(O?*F7C2c$hKiP3)WdNcEy7x*&n;;tJD_ue*rCf+nhhb^#*riNhnl69|i!G~HwI zvxFQu{;(UGfUF4O_g@Bf3yi=(qD#^=J&GSU65Nqi6Gut#VzP+IC4dq_q9V$mx?~$j z2u6q4J-^=L01`*LoDcxLIsMgPnlrv*h+@$T5VMjs2bhPnZ{B`Nef< zVfF#31U}*S#PQgb_ia4!3l8i6eVt=;FVjet;0+fi6Uxi?Tx0BKIRU}{F?DiHrxme& z-mfCS$vGA*)6il*P=-7Uth_=ei2uz^$|m4Y)J8ftUmKxiu?(g)_b&3O#b1ORcA8cu ztXb64@~V%EbZpIX58jUTM&QVG3&2C_Pz2uQ00j7OJ;F#r+7K<{gQ+Nk4QM-t`*q!) zRT+f)#YhA|kij_t&dQM|c3Jr?p|KE0Mm=Oc2=#>I2Gm31xVxTW ze<;NFTHJ+{d$>U%+<-FSzyf7L&L-&L3Wq>10|reF4L54X8Hfw(5U1(r7zwOGC&JAx z+-p`|zNfUAq)`TUM%!Zi9)$)zCxMQbw|6wgO(wo$MBF%7jC#Ti4wL~l3fHJ$zN?enMd=K6uP{{~Vz_B@h zWDI)BhiD-rw-TU?4~Urc4!V=qa*c?s04Y!=pnjC$6P|oq1V?#o!O;|-dxf?ZWdr8v zC1|1Gc93D50YNA^-!bs1hxOBu19u=Q$k)TRz@x3xOCZ^b-~WOcz(%35nU9%Ma3i=j zWCIE=3#ald@avvpcxgU&6$FK=e|XXaJ64Vvq;2ub7wRbw&uix0fDkS(1uV_Z6h==k zfgC}>bWkQJjRE(Pcu|8H{_KY`&7%yY;Nq0RV<1%iScZisTToH?w4in*2tNo?z}XJ( zkZ~x)C%dB$xO0z=o&D+^e82@2h13`@Bi!-8#{`8;4QwBTJKd-!I(PshRWjHmsVg=b zW2NIc#8D@2PPpF4A6%iWaDGCW5$7GVsi6n?V?T{#Fs@@X6_g9o7nBvMAXo$rmjx$< z1OooR8AwZK<3s2u6yPPw@InO7AWd}O%Mf=G27+jjhrLsMf@0x@l(VgCmxxZ3*Yh>WJ*aXeQEoB~11B43uXPnO>?VFbZ z&N>At*l-#7sQX#E}>)WPkFyU(_}RY2k|5L;@TLnT_Une zh4euRy9JAYM;H7&0=5DuLm8i*M$`5A4V;5=!vhek+ZH}u3iWX3h7%z@cHqTIvxS9v z_)-h63p5&S<#vhKREP@^B8EJ=r*9bX0U}x^AW0gR6FSB@jth*byF?_&3VF{c6OQUo zhNNvl3R<5|O$_PI{COP8%>35H9IJ$(c!J{5IAumyj=?lPpJt>*QCJD&DXhwfR11z1 zN+MtrKx4sIA!5nzdg*pl&6uCwM1> z*o4_f<{U*v$rP#Z4ksgN# z62wC;ye{J55n+pCu{*4Myd9k&JBn9Oyfh<>7{`sg(!wBxMI7sZV0}2taKdDa-!&5W zeEvj~K8+%1k`-GQ9s$5s1gC~FVJ8Y^*ujp{FO@&0T}VEnu0?1@{ z`J^k*6B4ly88J8ng~O62fNYfUd4gyxqzs`L~a6W+cg2LGl zm*5d1vatlb0*KAQU+fl8D7Z%(9)RIZ3}u3{f@uM~VHYbbj@TsfkQn{q1}wi@z$-<9 z55OsjpoG}P3Wy5F`@*(|ZmIc!(5t*`Rd($ba9GRcggGQku(-^lo}m49@%1qJTD5CS z!uI2+$FIr`WNKS@(1FIn-Fnm$u>?Kn;4~d=g?owgB`razvFFF8PFa6kE*Oo)Z3>QT zG%k~BFum==nJn50&p4tUpF=|1db~!a?iSEkd|3+>MG+zb#9;%p6=Nj04(V?-K zCy2Hg=mLF0i5EZOe##VM{7n25EQ|9*7fYeBo!=#+ZAP5{2J>yP)nUG$x@9VVG!_9R z9u?$IN-(8#4skxQp%S#!B7~XH7%*7qSUBDVGsrp8 z)K%WV=cV0qOCQ9w(iX=!+&Tj9#zpujo^Hc zO~aL;t?<4a-U1MwqM&8`$pOMzIJyzUC1%f}u@L=7TkJHoQb0ZNkOrBb8AyvhVxp`+ zE*Ff(2&oDLg^Pgb7!SsX^@I(F-Tl-uQ&zME8f9%+v=|kIs44C~@C4BqSDjg7XFd|* zU&28g%7k4KeOQX`!-DbS-m^eZ5Fr{1S*Pek`9QbZn_(>hFPw?N>*1CFH%+LAQ=ed6 zJ+85E;g>e%9S9l=F*kfSC)R-Q9-O@Zo^Tt3-&%qMl90G@{0H z?pZ}<3w8vGKDi1}kq1g>43H~y4AbSxP>)}Z&{lXe3G#8hQjLC{cor2AAr}Z@&|Dcd zcphL_!Lw*9e4qzq!ZYHCEkU_CdO8QLYzTz_Uc8FYFLCf?^kP3}d>1a505W@6mi@a=3 zg36^Vp-ec!MO*Brc@fe(BZ8=Lh{(?!O~V)4f=8ia;cZWJ3&o_?VX>wr>M?=;RjYI1SsY{vuR9^Qgp@vxAfBBR zHb(T7XhA=K0(oZWv&q_lIOqu~?tF2b;A}>8Ab>R@Gnizdt#I&+K7<`3$`Bdn;+Yt+ za7KlS!k!joLT(t^3a34^o)9U3oLvKP;aT*-iAI?aKB$gK62nXMdnCO0Q7?nGLdu2% zXI?@q8l4DV;Gy9!!QScDh4`tXnW5S_rUMZr2EhaPCOgvLA+`MXv?ykH_M#}q{f$|as_;y4dy3%n^}k>Je} z^*o}w4F4f-h*u=oljv@->*gf`z{_tVfy!}Niem=#1ZRfqKWt#RiZln6cda;B$bg`b ztU;R!fp%b4{(1wwRwtw>pfS#SIA%~$fLzE25%mLJl*a+6C+G)FT=tN(GXLmUxTt}v zVWQF??jt}moYo7LgZ+j$Vr*9Usk2}|CxAlQuOJ1QeauM)lf+grmjWY_A!tAScmNOa zarEI_b1;67#=?UGbgkp_6EMXhP(eL$Ah;>cYd_ROG+d4-1$a)Kg+-vkDs#RBjGKJeT?(QO5N`pDyC zL-lER15^+YQY$^JPi<@#@DIc-pg?3^3E>dr3J5;U_$5U$SmOmz<0&2?Hevx<@o+85 z{6l9m2$Lcz#CL)iupoYr6f$szejd!q!@bQU7NJ$bNR708O{n&wIM|d`W z2ew5O8};ck5a0QxLl15gT(NHNE`8|##X6<@-PH{RjTsKfa3$mSn_?= 2312) `\clearpage`{=latex} @@ -4063,16 +4090,18 @@ the RomWBW HBIOS configuration. ##### Supported Hardware (see [Appendix B - Device Summary]): -- DSRTC -- UART -- PPP -- MD -- FD +- DSRTC: MODE=STD, IO=112 +- UART: MODE=SBC, IO=104 +- PPP: IO=96 +- PPPCON: ENABLED +- PPPSD: ENABLED +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=DIO, IO=54, DRIVE 0, TYPE=3.5" HD ##### Notes: - CPU speed will be dynamically measured at startup if DSRTC is present -- FD configured for 3.5" HD floppy drives - If ParPortProp is installed, initial console output is determined by JP1: - Shorted: console to on-board serial port @@ -4096,17 +4125,19 @@ the RomWBW HBIOS configuration. ##### Supported Hardware (see [Appendix B - Device Summary]): -- DSRTC -- UART -- PPP -- MD -- FD -- CTC +- DSRTC: MODE=STD, IO=112 +- UART: MODE=SBC, IO=104 +- PPP: IO=96 +- PPPCON: ENABLED +- PPPSD: ENABLED +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=ZETA2, IO=48, DRIVE 0, TYPE=3.5" HD +- CTC: IO=32, TIMER MODE=COUNTER, DIVISOR=18432, HI=256, LO=72, INTERRUPTS ENABLED ##### Notes: - CPU speed will be dynamically measured at startup if DSRTC is present -- FD configured for 3.5" HD floppy drives - If ParPortProp is installed, initial console output is determined by JP1: - Shorted: console to on-board serial port @@ -4130,22 +4161,32 @@ the RomWBW HBIOS configuration. ##### Supported Hardware (see [Appendix B - Device Summary]): -- DSRTC -- ASCI -- UART -- VGA -- CVDU -- KBD -- PRP -- MD -- FD -- IDE -- SD +- DSRTC: MODE=STD, IO=138 +- ASCI: IO=64, INTERRUPTS ENABLED +- ASCI: IO=65, INTERRUPTS ENABLED +- UART: MODE=CAS, IO=128 +- UART: MODE=MFP, IO=104 +- UART: MODE=4UART, IO=192 +- UART: MODE=4UART, IO=200 +- UART: MODE=4UART, IO=208 +- UART: MODE=4UART, IO=216 +- VGA: IO=224, KBD MODE=PS/2, KBD IO=224 +- CVDU: MODE=ECB, IO=224, KBD MODE=PS/2, KBD IO=226 +- KBD: ENABLED +- PRP: IO=168 +- PRPCON: ENABLED +- PRPSD: ENABLED +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=DIDE, IO=42, DRIVE 0, TYPE=3.5" HD +- FD: MODE=DIDE, IO=42, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=MK4, IO=128, MASTER +- IDE: MODE=MK4, IO=128, SLAVE +- SD: MODE=MK4, IO=137, UNITS=1 ##### Notes: - CPU speed will be dynamically measured at startup if DSRTC is present -- FD configured for 3.5" HD floppy drives `\clearpage`{=latex} @@ -4165,20 +4206,28 @@ the RomWBW HBIOS configuration. ##### Supported Hardware (see [Appendix B - Device Summary]): -- DSRTC -- UART -- SIO -- ACIA -- MD -- FD -- IDE -- PPIDE -- CTC +- FP: LEDIO=0, SWIO=0 +- DSRTC: MODE=STD, IO=192 +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED +- ACIA: IO=128, INTERRUPTS ENABLED +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=16, MASTER +- IDE: MODE=RC, IO=16, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE +- CTC: IO=136 ##### Notes: - CPU speed will be dynamically measured at startup if DSRTC is present -- FD configured for 3.5" HD floppy drives `\clearpage`{=latex} @@ -4196,20 +4245,25 @@ the RomWBW HBIOS configuration. ##### Supported Hardware (see [Appendix B - Device Summary]): -- DSRTC -- UART -- SIO -- MD -- FD -- IDE -- PPIDE -- KIO -- CTC +- FP: LEDIO=0, SWIO=0 +- DSRTC: MODE=STD, IO=192 +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- SIO MODE=STD, IO=136, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=STD, IO=136, CHANNEL B, INTERRUPTS ENABLED +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=16, MASTER +- IDE: MODE=RC, IO=16, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE +- CTC: IO=132, TIMER MODE=TIMER/16, DIVISOR=9216, HI=256, LO=36, INTERRUPTS ENABLED ##### Notes: - CPU speed will be dynamically measured at startup if DSRTC is present -- FD configured for 3.5" HD floppy drives - SIO Serial baud rate managed by CTC `\clearpage`{=latex} @@ -4230,21 +4284,30 @@ the RomWBW HBIOS configuration. ##### Supported Hardware (see [Appendix B - Device Summary]): -- DSRTC -- INTRTC -- ASCI -- UART -- SIO -- MD -- FD -- IDE -- PPIDE +- FP: LEDIO=0, SWIO=0 +- DSRTC: MODE=STD, IO=12 +- INTRTC: ENABLED +- ASCI: IO=192, INTERRUPTS ENABLED +- ASCI: IO=193, INTERRUPTS ENABLED +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=16, MASTER +- IDE: MODE=RC, IO=16, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE ##### Notes: - For use with Z2 bank switched memory board (Z2 external memory management) - CPU speed will be dynamically measured at startup if DSRTC is present -- FD configured for 3.5" HD floppy drives `\clearpage`{=latex} @@ -4262,21 +4325,30 @@ the RomWBW HBIOS configuration. ##### Supported Hardware (see [Appendix B - Device Summary]): -- DSRTC -- INTRTC -- ASCI -- UART -- SIO -- MD -- FD -- IDE -- PPIDE +- FP: LEDIO=0, SWIO=0 +- DSRTC: MODE=STD, IO=12 +- INTRTC: ENABLED +- ASCI: IO=192, INTERRUPTS ENABLED +- ASCI: IO=193, INTERRUPTS ENABLED +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=16, MASTER +- IDE: MODE=RC, IO=16, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE ##### Notes: - For use with linear memory board (Z180 native memory management) - CPU speed will be dynamically measured at startup if DSRTC is present -- FD configured for 3.5" HD floppy drives `\clearpage`{=latex} @@ -4296,20 +4368,30 @@ the RomWBW HBIOS configuration. ##### Supported Hardware (see [Appendix B - Device Summary]): -- DSRTC -- Z2U -- UART -- SIO -- ACIA -- MD -- FD -- IDE -- PPIDE +- FP: LEDIO=0, SWIO=0 +- DSRTC: MODE=STD, IO=192 +- Z2U: IO=16 +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED +- ACIA: IO=128, INTERRUPTS ENABLED +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=16, MASTER +- IDE: MODE=RC, IO=16, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE ##### Notes: -- For use with linear memory board (Z280 native memory management) -- FD configured for 3.5" HD floppy drives +- For use with Z2 bank switched memory board (Z2 external memory management) + +`\clearpage`{=latex} #### ROM Image File: RCZ280_nat.rom @@ -4325,19 +4407,27 @@ the RomWBW HBIOS configuration. ##### Supported Hardware (see [Appendix B - Device Summary]): -- DSRTC -- Z2U -- UART -- SIO -- MD -- FD -- IDE -- PPIDE +- FP: LEDIO=0, SWIO=0 +- DSRTC: MODE=STD, IO=192 +- Z2U: IO=16, INTERRUPTS ENABLED +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=16, MASTER +- IDE: MODE=RC, IO=16, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE ##### Notes: -- For use with Z2 bank switched memory board (Z2 external memory management) -- FD configured for 3.5" HD floppy drives +- For use with linear memory board (Z280 native memory management) `\clearpage`{=latex} @@ -4357,26 +4447,34 @@ the RomWBW HBIOS configuration. ##### Supported Hardware (see [Appendix B - Device Summary]): -- DSRTC -- INTRTC -- UART -- SIO -- MD -- FD -- IDE -- PPIDE -- CTC +- FP: LEDIO=0, SWIO=0 +- DSRTC: MODE=STD, IO=192 +- INTRTC: ENABLED +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- SIO MODE=STD, IO=128, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=STD, IO=128, CHANNEL B, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=16, MASTER +- IDE: MODE=RC, IO=16, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE +- CTC: IO=136, TIMER MODE=COUNTER, DIVISOR=18432, HI=256, LO=72, INTERRUPTS ENABLED ##### Notes: - CPU speed will be dynamically measured at startup if DSRTC is present -- FD configured for 3.5" HD floppy drives `\clearpage`{=latex} ### Tiny Z80 SBC -#### ROM Image File: RCZ80_easy.rom +#### ROM Image File: RCZ80_tiny.rom | | | |-------------------|---------------| @@ -4390,19 +4488,27 @@ the RomWBW HBIOS configuration. ##### Supported Hardware (see [Appendix B - Device Summary]): -- DSRTC -- UART -- SIO -- MD -- FD -- IDE -- PPIDE -- CTC +- FP: LEDIO=0, SWIO=0 +- DSRTC: MODE=STD, IO=192 +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- SIO MODE=STD, IO=24, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=STD, IO=24, CHANNEL B, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=144, MASTER +- IDE: MODE=RC, IO=144, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE +- CTC: IO=16, TIMER MODE=COUNTER, DIVISOR=18432, HI=256, LO=72, INTERRUPTS ENABLED ##### Notes: - CPU speed will be dynamically measured at startup if DSRTC is present -- FD configured for 3.5" HD floppy drives `\clearpage`{=latex} @@ -4422,20 +4528,28 @@ the RomWBW HBIOS configuration. ##### Supported Hardware (see [Appendix B - Device Summary]): -- DSRTC -- UART -- SIO -- ACIA -- MD -- FD -- IDE -- PPIDE -- CTC +- FP: LEDIO=0, SWIO=0 +- DSRTC: MODE=STD, IO=192 +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED +- ACIA: IO=128, INTERRUPTS ENABLED +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=16, MASTER +- IDE: MODE=RC, IO=16, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE +- CTC: IO=136 ##### Notes: - CPU speed will be dynamically measured at startup if DSRTC is present -- FD configured for 3.5" HD floppy drives `\clearpage`{=latex} @@ -4455,22 +4569,31 @@ the RomWBW HBIOS configuration. ##### Supported Hardware (see [Appendix B - Device Summary]): -- DSRTC -- INTRTC -- ASCI -- UART -- SIO -- MD -- FD -- IDE -- PPIDE -- SD -- AY38910 +- FP: LEDIO=13, SWIO=0 +- DSRTC: MODE=STD, IO=12 +- INTRTC: ENABLED +- ASCI: IO=192, INTERRUPTS ENABLED +- ASCI: IO=193, INTERRUPTS ENABLED +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=16, MASTER +- IDE: MODE=RC, IO=16, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE +- SD: MODE=SC, IO=12, UNITS=1 +- AY38910: MODE=RCZ180, IO=104, CLOCK=1789772 HZ ##### Notes: - CPU speed will be dynamically measured at startup if DSRTC is present -- FD configured for 3.5" HD floppy drives `\clearpage`{=latex} @@ -4490,22 +4613,31 @@ the RomWBW HBIOS configuration. ##### Supported Hardware (see [Appendix B - Device Summary]): -- DSRTC -- INTRTC -- ASCI -- UART -- SIO -- MD -- FD -- IDE -- PPIDE -- SD -- AY38910 +- FP: LEDIO=0, SWIO=0 +- DSRTC: MODE=STD, IO=12 +- INTRTC: ENABLED +- ASCI: IO=192, INTERRUPTS ENABLED +- ASCI: IO=193, INTERRUPTS ENABLED +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=16, MASTER +- IDE: MODE=RC, IO=16, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE +- SD: MODE=SC, IO=12, UNITS=1 +- AY38910: MODE=RCZ180, IO=104, CLOCK=1789772 HZ ##### Notes: - CPU speed will be dynamically measured at startup if DSRTC is present -- FD configured for 3.5" HD floppy drives `\clearpage`{=latex} @@ -4525,10 +4657,12 @@ the RomWBW HBIOS configuration. ##### Supported Hardware (see [Appendix B - Device Summary]): -- INTRTC -- ASCI -- MD -- SD +- INTRTC: ENABLED +- ASCI: IO=192, INTERRUPTS ENABLED +- ASCI: IO=193, INTERRUPTS ENABLED +- MD: TYPE=RAM +- MD: TYPE=ROM +- SD: MODE=SC, IO=12, UNITS=1 ##### Notes: @@ -4550,21 +4684,30 @@ the RomWBW HBIOS configuration. ##### Supported Hardware (see [Appendix B - Device Summary]): -- DSRTC -- INTRTC -- ASCI -- UART -- SIO -- MD -- FD -- IDE -- PPIDE -- SD +- FP: LEDIO=160, SWIO=160 +- DSRTC: MODE=STD, IO=12 +- INTRTC: ENABLED +- ASCI: IO=192, INTERRUPTS ENABLED +- ASCI: IO=193, INTERRUPTS ENABLED +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=144, MASTER +- IDE: MODE=RC, IO=144, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE +- SD: MODE=SC, IO=12, UNITS=1 ##### Notes: - CPU speed will be dynamically measured at startup if DSRTC is present -- FD configured for 3.5" HD floppy drives `\clearpage`{=latex} @@ -4584,21 +4727,30 @@ the RomWBW HBIOS configuration. ##### Supported Hardware (see [Appendix B - Device Summary]): -- DSRTC -- INTRTC -- ASCI -- UART -- SIO -- MD -- FD -- IDE -- PPIDE -- SD +- FP: LEDIO=160, SWIO=160 +- DSRTC: MODE=STD, IO=12 +- INTRTC: ENABLED +- ASCI: IO=192, INTERRUPTS ENABLED +- ASCI: IO=193, INTERRUPTS ENABLED +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=144, MASTER +- IDE: MODE=RC, IO=144, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE +- SD: MODE=SC, IO=12, UNITS=1 ##### Notes: - CPU speed will be dynamically measured at startup if DSRTC is present -- FD configured for 3.5" HD floppy drives `\clearpage`{=latex} @@ -4618,21 +4770,31 @@ the RomWBW HBIOS configuration. ##### Supported Hardware (see [Appendix B - Device Summary]): -- DSRTC -- INTRTC -- ASCI -- UART -- SIO -- MD -- FD -- IDE -- PPIDE -- SD +- FP: LEDIO=0 +- DSRTC: MODE=STD, IO=12 +- INTRTC: ENABLED +- ASCI: IO=192, INTERRUPTS ENABLED +- ASCI: IO=193, INTERRUPTS ENABLED +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=16, MASTER +- IDE: MODE=RC, IO=16, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE +- SD: MODE=SC, IO=12, UNITS=1 +- AY38910: MODE=RCZ180, IO=104, CLOCK=1789772 HZ ##### Notes: - CPU speed will be dynamically measured at startup if DSRTC is present -- FD configured for 3.5" HD floppy drives `\clearpage`{=latex} @@ -4652,16 +4814,18 @@ the RomWBW HBIOS configuration. ##### Supported Hardware (see [Appendix B - Device Summary]): -- BQRTC -- ASCI -- MD -- FD -- PPIDE +- BQRTC: IO=80 +- ASCI: IO=192, INTERRUPTS ENABLED +- ASCI: IO=193, INTERRUPTS ENABLED +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=DYNO, IO=132, DRIVE 0, TYPE=3.5" HD +- FD: MODE=DYNO, IO=132, DRIVE 1, TYPE=3.5" HD +- PPIDE: IO=76, MASTER +- PPIDE: IO=76, SLAVE ##### Notes: -- FD configured for 3.5" HD floppy drives - `\clearpage`{=latex} ### Nhyodyne Z80 MBC @@ -4680,25 +4844,37 @@ the RomWBW HBIOS configuration. ##### Supported Hardware (see [Appendix B - Device Summary]): -- PKD -- DSRTC -- UART -- SIO -- PIO -- LPT -- CVDU -- TMS -- KBD -- ESP -- MD -- FD -- PPIDE -- SPK +- PKD: IO=96 +- DSRTC: MODE=STD, IO=112 +- UART: MODE=SBC, IO=104 +- UART: MODE=DUAL, IO=128 +- UART: MODE=DUAL, IO=136 +- SIO MODE=ZP, IO=176, CHANNEL A +- SIO MODE=ZP, IO=176, CHANNEL B +- PIO: IO=184, CHANNEL A +- PIO: IO=184, CHANNEL B +- PIO: IO=188, CHANNEL A +- PIO: IO=188, CHANNEL B +- LPT: MODE=SPP, IO=232 +- CVDU: MODE=MBC, IO=224, KBD MODE=PS/2, KBD IO=226 +- TMS: MODE=MBC, IO=152 +- KBD: ENABLED +- ESP: IO=156 +- ESPCON: ENABLED +- ESPSER: DEVICE=0 +- ESPSER: DEVICE=1 +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=MBC, IO=48, DRIVE 0, TYPE=3.5" HD +- FD: MODE=MBC, IO=48, DRIVE 1, TYPE=3.5" HD +- PPIDE: IO=96, MASTER +- PPIDE: IO=96, SLAVE +- SPK: IO=112 +- CTC: IO=176 ##### Notes: - CPU speed will be dynamically measured at startup if DSRTC is present -- FD configured for 3.5" HD floppy drives `\clearpage`{=latex} @@ -4718,12 +4894,15 @@ the RomWBW HBIOS configuration. ##### Supported Hardware (see [Appendix B - Device Summary]): -- DSRTC -- ASCI -- GDC -- KBD -- MD -- PPIDE +- DSRTC: MODE=STD, IO=132 +- ASCI: IO=64 +- ASCI: IO=65 +- GDC: MODE=RPH, DISPLAY=EGA, IO=144 +- KBD: ENABLED +- MD: TYPE=RAM +- MD: TYPE=ROM +- PPIDE: IO=136, MASTER +- PPIDE: IO=136, SLAVE ##### Notes: @@ -4747,24 +4926,32 @@ the RomWBW HBIOS configuration. ##### Supported Hardware (see [Appendix B - Device Summary]): -- DSRTC -- UART -- SIO -- ACIA -- VRC -- KBD -- MD -- FD -- IDE -- PPIDE -- CTC +- FP: LEDIO=0, SWIO=0 +- DSRTC: MODE=STD, IO=192 +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED +- ACIA: IO=128, INTERRUPTS ENABLED +- VRC: IO=0, KBD MODE=VRC, KBD IO=244 +- KBD: ENABLED +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=16, MASTER +- IDE: MODE=RC, IO=16, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE +- CTC: IO=136 ##### Notes: - ZRC is actually contains no ROM and 2MB of RAM. The first 512KB of RAM is loaded from disk and then handled like ROM. - CPU speed will be dynamically measured at startup if DSRTC is present -- FD configured for 3.5" HD floppy drives `\clearpage`{=latex} @@ -4782,23 +4969,30 @@ the RomWBW HBIOS configuration. ##### Supported Hardware (see [Appendix B - Device Summary]): -- DSRTC -- UART -- SIO -- ACIA -- VRC -- KBD -- MD -- FD -- IDE -- PPIDE -- CTC +- FP: LEDIO=0, SWIO=0 +- DSRTC: MODE=STD, IO=192 +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED +- ACIA: IO=128, INTERRUPTS ENABLED +- VRC: IO=0, KBD MODE=VRC, KBD IO=244 +- KBD: ENABLED +- MD: TYPE=RAM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=16, MASTER +- IDE: MODE=RC, IO=16, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE +- CTC: IO=136 ##### Notes: - ROMless boot -- HBIOS is loaded from disk at boot - CPU speed will be dynamically measured at startup if DSRTC is present -- FD configured for 3.5" HD floppy drives `\clearpage`{=latex} @@ -4818,21 +5012,29 @@ the RomWBW HBIOS configuration. ##### Supported Hardware (see [Appendix B - Device Summary]): -- DSRTC -- INTRTC -- ASCI -- UART -- SIO -- MD -- FD -- IDE -- PPIDE +- FP: LEDIO=0, SWIO=0 +- DSRTC: MODE=STD, IO=12 +- INTRTC: ENABLED +- ASCI: IO=192, INTERRUPTS ENABLED +- ASCI: IO=193, INTERRUPTS ENABLED +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED +- MD: TYPE=RAM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=16, MASTER +- IDE: MODE=RC, IO=16, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE ##### Notes: - ROMless boot -- HBIOS is loaded from disk at boot - CPU speed will be dynamically measured at startup if DSRTC is present -- FD configured for 3.5" HD floppy drives `\clearpage`{=latex} @@ -4852,23 +5054,31 @@ the RomWBW HBIOS configuration. ##### Supported Hardware (see [Appendix B - Device Summary]): -- DSRTC -- Z2U -- UART -- SIO -- VRC -- KBD -- MD -- FD -- IDE -- PPIDE +- FP: LEDIO=0, SWIO=0 +- DSRTC: MODE=STD, IO=192 +- Z2U: IO=16, INTERRUPTS ENABLED +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED +- VRC: IO=0, KBD MODE=VRC, KBD IO=244 +- KBD: ENABLED +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=16, MASTER +- IDE: MODE=RC, IO=16, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE ##### Notes: - ZZRCC actually contains no ROM and 512KB of RAM. The first 256KB of RAM is loaded from disk and then handled like ROM. - CPU speed will be dynamically measured at startup if DSRTC is present -- FD configured for 3.5" HD floppy drives `\clearpage`{=latex} @@ -4886,22 +5096,29 @@ the RomWBW HBIOS configuration. ##### Supported Hardware (see [Appendix B - Device Summary]): -- DSRTC -- Z2U -- UART -- SIO -- VRC -- KBD -- MD -- FD -- IDE -- PPIDE +- FP: LEDIO=0, SWIO=0 +- DSRTC: MODE=STD, IO=192 +- Z2U: IO=16, INTERRUPTS ENABLED +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED +- VRC: IO=0, KBD MODE=VRC, KBD IO=244 +- KBD: ENABLED +- MD: TYPE=RAM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=16, MASTER +- IDE: MODE=RC, IO=16, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE ##### Notes: - ROMless boot -- HBIOS is loaded from disk at boot - CPU speed will be dynamically measured at startup if DSRTC is present -- FD configured for 3.5" HD floppy drives `\clearpage`{=latex} @@ -4921,21 +5138,29 @@ the RomWBW HBIOS configuration. ##### Supported Hardware (see [Appendix B - Device Summary]): -- DSRTC -- Z2U -- UART -- SIO -- VRC -- KBD -- MD -- FD -- IDE -- PPIDE +- FP: LEDIO=0, SWIO=0 +- DSRTC: MODE=STD, IO=192 +- Z2U: IO=16, INTERRUPTS ENABLED +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED +- VRC: IO=0, KBD MODE=VRC, KBD IO=244 +- KBD: ENABLED +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=16, MASTER +- IDE: MODE=RC, IO=16, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE ##### Notes: - CPU speed will be dynamically measured at startup if DSRTC is present -- FD configured for 3.5" HD floppy drives `\clearpage`{=latex} @@ -4955,10 +5180,12 @@ the RomWBW HBIOS configuration. ##### Supported Hardware (see [Appendix B - Device Summary]): -- SIO -- MD -- SD -- CTC +- SIO MODE=Z80R, IO=128, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=Z80R, IO=128, CHANNEL B, INTERRUPTS ENABLED +- MD: TYPE=RAM +- MD: TYPE=ROM +- SD: MODE=, IO=104, UNITS=1 +- CTC: IO=64 ##### Notes: @@ -4980,11 +5207,15 @@ the RomWBW HBIOS configuration. ##### Supported Hardware (see [Appendix B - Device Summary]): -- INTRTC -- ASCI -- SCON -- MD -- SD +- FP: LEDIO=0 +- INTRTC: ENABLED +- ASCI: IO=192, INTERRUPTS ENABLED +- ASCI: IO=193, INTERRUPTS ENABLED +- SCON: IO=0 +- MD: TYPE=RAM +- MD: TYPE=ROM +- SD: MODE=SC, IO=12, UNITS=1 + ##### Notes: @@ -5006,17 +5237,31 @@ the RomWBW HBIOS configuration. ##### Supported Hardware (see [Appendix B - Device Summary]): -- DSRTC -- PCF -- UART -- SIO -- PIO -- LPT -- DMA -- CH -- ESP -- MD -- SPK +- DSRTC: MODE=STD, IO=148 +- PCF: IO=86 +- UART: MODE=SBC, IO=88 +- UART: MODE=AUX, IO=168 +- UART: MODE=DUAL, IO=112 +- UART: MODE=DUAL, IO=120 +- SIO MODE=ZP, IO=96, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=ZP, IO=96, CHANNEL B, INTERRUPTS ENABLED +- PIO: IO=104, CHANNEL A +- PIO: IO=104, CHANNEL B +- PIO: IO=108, CHANNEL A +- PIO: IO=108, CHANNEL B +- LPT: MODE=SPP, IO=72 +- DMA: MODE=DUO, IO=64 +- CH: IO=78 +- CHUSB: IO=78 +- CHSD: IO=78 +- ESP: IO=156 +- ESPCON: ENABLED +- ESPSER: DEVICE=0 +- ESPSER: DEVICE=1 +- MD: TYPE=RAM +- MD: TYPE=ROM +- SPK: IO=148 +- CTC: IO=96, TIMER MODE=COUNTER, DIVISOR=18432, HI=256, LO=72, INTERRUPTS ENABLED ##### Notes: @@ -5040,20 +5285,28 @@ the RomWBW HBIOS configuration. ##### Supported Hardware (see [Appendix B - Device Summary]): -- DSRTC -- UART -- SIO -- ACIA -- MD -- FD -- IDE -- PPIDE -- CTC +- FP: LEDIO=0, SWIO=0 +- DSRTC: MODE=STD, IO=192 +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED +- ACIA: IO=128, INTERRUPTS ENABLED +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=16, MASTER +- IDE: MODE=RC, IO=16, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE +- CTC: IO=136 ##### Notes: - CPU speed will be dynamically measured at startup if DSRTC is present -- FD configured for 3.5" HD floppy drives `\clearpage`{=latex} @@ -5073,18 +5326,20 @@ the RomWBW HBIOS configuration. ##### Supported Hardware (see [Appendix B - Device Summary]): -- INTRTC -- ASCI -- UART -- TMS -- MD -- FD -- SD +- INTRTC: ENABLED +- ASCI: IO=192, INTERRUPTS ENABLED +- ASCI: IO=193, INTERRUPTS ENABLED +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- TMS: MODE=MSX, IO=152 +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=EPFDC, IO=72, DRIVE 0, TYPE=3.5" HD +- FD: MODE=EPFDC, IO=72, DRIVE 1, TYPE=3.5" HD +- SD: MODE=, IO=66, UNITS=1 ##### Notes: -- FD configured for 3.5" HD floppy drives - `\clearpage`{=latex} ## Appendix B - Device Summary @@ -5113,27 +5368,30 @@ may be discovered by RomWBW in your system. | FP | System | Simple LED & Switch Front Panel | | GDC | Video | uPD7220 Video Display Controller | | HDSK | Disk | SIMH Simulator Hard Disk | -| I2C | System | I2C Interface | | ICM | DsKy | ICM7218-based Display/Keypad on PPI | | IDE | Disk | IDE/ATA/ATAPI Hard Disk Interface | | IMM | Disk | IMM Zip Drive on PPI | | INTRTC | RTC | Interrupt-based Real Time Clock | -| KBD | Kbd | 8242 PS/2 Keyboard Controller | +| KBD | Keyboard | 8242 PS/2 Keyboard Controller | | KIO | System | Zilog Serial/ Parallel Counter/Timer | | LPT | Char | Parallel I/O Controller | | MD | Disk | ROM/RAM Disk | -| MSXKYB | Kbd | MSX Compliant Matrix Keyboard | -| PKD | DsKy | P8279-based Display/Keypad on PPI | +| MSXKYB | Keyboard | MSX Compliant Matrix Keyboard | +| PCF | RTC | PCF8584-based I2C Real-Time Clock | | PIO | Char | Zilog Parallel Interface Controller | +| PKD | DsKy | P8279-based Display/Keypad on PPI | | PPA | Disk | PPA Zip Drive on PPI | | PPIDE | Disk | 8255 IDE/ATA/ATAPI Hard Disk Interface | -| PPK | Kbd | Matrix Keyboard | +| PPK | Keyboard | Matrix Keyboard | +| PPP | System | ParPortProp Host Interface Controller | | PPPCON | Serial | ParPortProp Serial Console Interface | | PPPSD | Disk | ParPortProp SD Card Interface | +| PRP | System | PropIO Host Interface Controller | | PRPCON | Serial | PropIO Serial Console Interface | | PRPSD | Disk | PropIO SD Card Interface | | RF | Disk | RAM Floppy Disk Interface | | RP5C01 | RTC | Ricoh RPC01A Real-Time Clock w/ NVRAM | +| SCON | Char | S100 Console | | SD | Disk | SD Card Interface | | SIMRTC | RTC | SIMH Simulator Real-Time Clock | | SIO | Char | Zilog Serial Port Interface | diff --git a/Source/HBIOS/Build.cmd b/Source/HBIOS/Build.cmd index c5447e6a..d52455a0 100644 --- a/Source/HBIOS/Build.cmd +++ b/Source/HBIOS/Build.cmd @@ -33,6 +33,16 @@ PowerShell -ExecutionPolicy Unrestricted .\Build.ps1 %* || exit /b call build_env.cmd +:: +:: Start of the actual build process for a given ROM. +:: + +echo. +echo ============================================================ +echo %ROMName% for Z%CPUType% CPU +echo ============================================================ +echo. + :: :: Create a small app that is used to export key build variables of the build. :: Then run the app to output a file with the variables. Finally, read the @@ -43,12 +53,6 @@ tasm -t80 -g3 -dCMD hbios_env.asm hbios_env.com hbios_env.lst || exit /b zxcc hbios_env >hbios_env.cmd call hbios_env.cmd -:: -:: Start of the actual build process for a given ROM. -:: - -echo Building %ROMSize%K ROM %ROMName% for Z%CPUType% CPU... - :: :: UNA is a special case, check for it and jump if needed. :: diff --git a/Source/HBIOS/acia.asm b/Source/HBIOS/acia.asm index dd1900a8..8c24da9e 100644 --- a/Source/HBIOS/acia.asm +++ b/Source/HBIOS/acia.asm @@ -717,6 +717,13 @@ ACIA0_CFG: .DW ACIA0_INT ; INT HANDLER POINTER .DW (ACIA0CLK / ACIA0DIV) & $FFFF ; CLOCK FREQ AS .DW (ACIA0CLK / ACIA0DIV) >> 16 ; ... DWORD VALUE +; + .ECHO "ACIA: IO=" + .ECHO ACIA0BASE +#IF (INTMODE == 1) + .ECHO ", INTERRUPTS ENABLED" +#ENDIF + .ECHO "\n" ; ACIA_CFGSIZ .EQU $ - ACIA_CFG ; SIZE OF ONE CFG TABLE ENTRY ; @@ -733,6 +740,13 @@ ACIA1_CFG: .DW ACIA1_INT ; INT HANDLER POINTER .DW (ACIA1CLK / ACIA1DIV) & $FFFF ; CLOCK FREQ AS .DW (ACIA1CLK / ACIA1DIV) >> 16 ; ... DWORD VALUE +; + .ECHO "ACIA: IO=" + .ECHO ACIA1BASE +#IF (INTMODE == 1) + .ECHO ", INTERRUPTS ENABLED" +#ENDIF + .ECHO "\n" ; #ENDIF ; diff --git a/Source/HBIOS/asci.asm b/Source/HBIOS/asci.asm index aa6cb090..eb5d737f 100644 --- a/Source/HBIOS/asci.asm +++ b/Source/HBIOS/asci.asm @@ -836,6 +836,13 @@ ASCI1_CFG: .DB ASCI1_BASE ; BASE PORT .DW ASCI1CFG ; LINE CONFIGURATION .DW ASCI1_RCVBUF ; POINTER TO RCV BUFFER STRUCT +; + .ECHO "ASCI: IO=" + .ECHO ASCI1_BASE +#IF ((ASCIINTS) & (INTMODE >0)) + .ECHO ", INTERRUPTS ENABLED" +#ENDIF + .ECHO "\n" ; ASCI_CFGSIZ .EQU $ - ASCI_CFG ; SIZE OF ONE CFG TABLE ENTRY ; @@ -847,6 +854,13 @@ ASCI0_CFG: .DB ASCI0_BASE ; BASE PORT .DW ASCI0CFG ; LINE CONFIGURATION .DW ASCI0_RCVBUF ; POINTER TO RCV BUFFER STRUCT +; + .ECHO "ASCI: IO=" + .ECHO ASCI0_BASE +#IF ((ASCIINTS) & (INTMODE >0)) + .ECHO ", INTERRUPTS ENABLED" +#ENDIF + .ECHO "\n" ; #ELSE ; @@ -858,6 +872,13 @@ ASCI0_CFG: .DB ASCI0_BASE ; BASE PORT .DW ASCI0CFG ; LINE CONFIGURATION .DW ASCI0_RCVBUF ; POINTER TO RCV BUFFER STRUCT +; + .ECHO "ASCI: IO=" + .ECHO ASCI0_BASE +#IF ((ASCIINTS) & (INTMODE >0)) + .ECHO ", INTERRUPTS ENABLED" +#ENDIF + .ECHO "\n" ; ASCI_CFGSIZ .EQU $ - ASCI_CFG ; SIZE OF ONE CFG TABLE ENTRY ; @@ -870,7 +891,13 @@ ASCI1_CFG: .DW ASCI1CFG ; LINE CONFIGURATION .DW ASCI1_RCVBUF ; POINTER TO RCV BUFFER STRUCT ; + .ECHO "ASCI: IO=" + .ECHO ASCI1_BASE +#IF ((ASCIINTS) & (INTMODE > 0)) + .ECHO ", INTERRUPTS ENABLED" #ENDIF + .ECHO "\n" ; +#ENDIF ; ASCI_CFGCNT .EQU ($ - ASCI_CFG) / ASCI_CFGSIZ diff --git a/Source/HBIOS/ay38910.asm b/Source/HBIOS/ay38910.asm index 45b97f00..4188fa17 100644 --- a/Source/HBIOS/ay38910.asm +++ b/Source/HBIOS/ay38910.asm @@ -19,12 +19,15 @@ ; VOLTAGE LEVEL OUTPUT ON A AY-3-8910 IS LOW AND AROUND 2V ON YM2149. ; AY_RCSND .EQU 0 ; 0 = EB MODULE, 1=MF MODULE +; + .ECHO "AY38910: MODE=" ; #IF (AYMODE == AYMODE_SCG) AY_RSEL .EQU $9A AY_RDAT .EQU $9B AY_RIN .EQU AY_RSEL AY_ACR .EQU $9C + .ECHO "SCG" #ENDIF ; #IF (AYMODE == AYMODE_N8) @@ -32,30 +35,35 @@ AY_RSEL .EQU $9C AY_RDAT .EQU $9D AY_RIN .EQU AY_RSEL AY_ACR .EQU N8_DEFACR + .ECHO "N8" #ENDIF ; #IF (AYMODE == AYMODE_RCZ80) AY_RSEL .EQU $D8 AY_RDAT .EQU $D0 AY_RIN .EQU AY_RSEL+AY_RCSND + .ECHO "RCZ80" #ENDIF ; #IF (AYMODE == AYMODE_RCZ180) AY_RSEL .EQU $68 AY_RDAT .EQU $60 AY_RIN .EQU AY_RSEL+AY_RCSND + .ECHO "RCZ180" #ENDIF ; #IF (AYMODE == AYMODE_MSX) AY_RSEL .EQU $A0 AY_RDAT .EQU $A1 AY_RIN .EQU $A2 + .ECHO "MSX" #ENDIF ; #IF (AYMODE == AYMODE_LINC) AY_RSEL .EQU $33 AY_RDAT .EQU $32 AY_RIN .EQU $32 + .ECHO "LINC" #ENDIF ; #IF (AYMODE == AYMODE_MBC) @@ -63,7 +71,14 @@ AY_RSEL .EQU $A0 AY_RDAT .EQU $A1 AY_RIN .EQU AY_RSEL AY_ACR .EQU $A2 + .ECHO "MBC" #ENDIF +; + .ECHO ", IO=" + .ECHO AY_RSEL + .ECHO ", CLOCK=" + .ECHO AY_CLK + .ECHO " HZ\n" ; ;====================================================================== ; @@ -107,10 +122,6 @@ AY_NOISECNT .EQU 1 ; COUNT NUMBER OF NOISE CHANNELS ;#ELSE ; PRESCALE THE TONE PERIOD ;AY_SCALE .EQU 3 ; DATA TO MAINTAIN MAXIMUM ;#ENDIF ; RANGE AND ACCURACY -; - .ECHO "AY38910 CLOCK: " - .ECHO AY_CLK - .ECHO "\n" ; #INCLUDE "audio.inc" ; diff --git a/Source/HBIOS/bqrtc.asm b/Source/HBIOS/bqrtc.asm index ce0daeb5..51fd677f 100644 --- a/Source/HBIOS/bqrtc.asm +++ b/Source/HBIOS/bqrtc.asm @@ -91,6 +91,10 @@ BQRTC_UTI .EQU %00001000 BQRTC_BUFSIZE .EQU 6 ; 6 BYTE BUFFER (YYMMDDHHMMSS) + .ECHO "BQRTC: IO=" + .ECHO BQRTC_BASE + .ECHO "\n" + ; RTC Device Initialization Entry BQRTC_INIT: diff --git a/Source/HBIOS/ch.asm b/Source/HBIOS/ch.asm index 68c8fe87..84fb6def 100644 --- a/Source/HBIOS/ch.asm +++ b/Source/HBIOS/ch.asm @@ -102,6 +102,10 @@ CH_CFG0: ; DEVICE 0 .DW CHUSB_CFG0 ; USB SUB-DRIVER INIT ADR .DB CH0SDENABLE ; ENABLE SD CARD SUB-DRIVER .DW CHSD_CFG0 ; SD CARD SUB-DRIVER INIT ADR +; + .ECHO "CH: IO=" + .ECHO CH0BASE + .ECHO "\n" #ENDIF ; #IF (CHCNT >= 2) @@ -113,6 +117,10 @@ CH_CFG1: ; DEVICE 1 .DW CHUSB_CFG1 ; USB SUB-DRIVER INIT ADR .DB CH1SDENABLE ; ENABLE SD CARD SUB-DRIVER .DW CHSD_CFG1 ; SD CARD SUB-DRIVER INIT ADR +; + .ECHO "CH: IO=" + .ECHO CH1BASE + .ECHO "\n" #ENDIF ; #IF ($ - CH_CFGTBL) != (CHCNT * CH_CFGSIZ) @@ -451,6 +459,12 @@ CHUSB_CFG0: .DB 0 ; DEVICE STATUS .DW 0,0 ; DEVICE CAPACITY .DW 0,0 ; CURRENT LBA +; + #IF (CH0USBENABLE) + .ECHO "CHUSB: IO=" + .ECHO CH0BASE + .ECHO "\n" + #ENDIF #ENDIF ; #IF (CHCNT >= 2) @@ -461,6 +475,12 @@ CHUSB_CFG1: .DB 0 ; DEVICE STATUS .DW 0,0 ; DEVICE CAPACITY .DW 0,0 ; CURRENT LBA +; + #IF (CH1USBENABLE) + .ECHO "CHUSB: IO=" + .ECHO CH1BASE + .ECHO "\n" + #ENDIF #ENDIF ; #IF ($ - CHUSB_CFGTBL) != (CHCNT * CHUSB_CFGSIZ) @@ -1203,6 +1223,12 @@ CHSD_CFG0: .DB 0 ; DEVICE STATUS .DW 0,0 ; DEVICE CAPACITY .DW 0,0 ; CURRENT LBA +; + #IF (CH0SDENABLE) + .ECHO "CHSD: IO=" + .ECHO CH0BASE + .ECHO "\n" + #ENDIF #ENDIF ; #IF (CHCNT >= 2) @@ -1213,6 +1239,12 @@ CHSD_CFG1: .DB 0 ; DEVICE STATUS .DW 0,0 ; DEVICE CAPACITY .DW 0,0 ; CURRENT LBA +; + #IF (CH1SDENABLE) + .ECHO "CHSD: IO=" + .ECHO CH1BASE + .ECHO "\n" + #ENDIF #ENDIF ; #IF ($ - CHSD_CFGTBL) != (CHCNT * CHSD_CFGSIZ) diff --git a/Source/HBIOS/ctc.asm b/Source/HBIOS/ctc.asm index d7e6e8f1..364b849b 100644 --- a/Source/HBIOS/ctc.asm +++ b/Source/HBIOS/ctc.asm @@ -28,6 +28,8 @@ CTC_TIM256CFG .EQU %00110111 ; CTC TIMER/256 MODE CONFIG #IF (CTCTIMER & (INTMODE != 2)) .ECHO "*** WARNING: CTC TIMER DISABLED -- INTMODE 2 REQUIRED!!!\n" #ENDIF + .ECHO "CTC: IO=" + .ECHO CTCBASE ; #IF (CTCTIMER & (INTMODE == 2)) ; @@ -109,13 +111,24 @@ CTC_DIV .EQU CTCOSC / CTC_PRESCL / TICKFREQ CTC_DIVHI .EQU CTCPRE CTC_DIVLO .EQU (CTC_DIV / CTC_DIVHI) ; - .ECHO "CTC DIVISOR: " + + .ECHO ", TIMER MODE=" + #IF (CTCMODE == CTCMODE_CTR) + .ECHO "COUNTER" + #ENDIF + #IF (CTCMODE == CTCMODE_TIM16) + .ECHO "TIMER/16" + #ENDIF + #IF (CTCMODE == CTCMODE_TIM256) + .ECHO "TIMER/256" + #ENDIF + .ECHO ", DIVISOR=" .ECHO CTC_DIV - .ECHO ", HI: " + .ECHO ", HI=" .ECHO CTC_DIVHI - .ECHO ", LO: " + .ECHO ", LO=" .ECHO CTC_DIVLO - .ECHO "\n" + .ECHO ", INTERRUPTS ENABLED" ; #IF ((CTC_DIV == 0) | (CTC_DIV > $FFFF)) .ECHO "COMPUTED CTC DIVISOR IS UNUSABLE!\n" @@ -134,6 +147,8 @@ CTC_DIVLO .EQU (CTC_DIV / CTC_DIVHI) CTCTIVT .EQU INT_CTC0A + CTCTIMCH ; #ENDIF +; + .ECHO "\n" ; ;================================================================================================== ; CTC PRE-INITIALIZATION diff --git a/Source/HBIOS/cvdu.asm b/Source/HBIOS/cvdu.asm index b5daa791..4bb78210 100644 --- a/Source/HBIOS/cvdu.asm +++ b/Source/HBIOS/cvdu.asm @@ -17,6 +17,8 @@ ;====================================================================== ; CVDU_BASE .EQU $E0 +; + .ECHO "CVDU: MODE=" ; #IF (CVDUMODE == CVDUMODE_ECB) CVDU_KBDDATA .EQU CVDU_BASE + $02 ; KBD CTLR DATA PORT @@ -24,6 +26,7 @@ CVDU_KBDST .EQU CVDU_BASE + $0A ; KBD CTLR STATUS/CMD PORT CVDU_STAT .EQU CVDU_BASE + $04 ; READ M8563 STATUS CVDU_REG .EQU CVDU_BASE + $04 ; SELECT M8563 REGISTER CVDU_DATA .EQU CVDU_BASE + $0C ; READ/WRITE M8563 DATA + .ECHO "ECB" #ENDIF ; #IF (CVDUMODE == CVDUMODE_MBC) @@ -32,7 +35,15 @@ CVDU_KBDST .EQU CVDU_BASE + $03 ; KBD CTLR STATUS/CMD PORT CVDU_STAT .EQU CVDU_BASE + $04 ; READ M8563 STATUS CVDU_REG .EQU CVDU_BASE + $04 ; SELECT M8563 REGISTER CVDU_DATA .EQU CVDU_BASE + $05 ; READ/WRITE M8563 DATA + .ECHO "MBC" #ENDIF +; + .ECHO ", IO=" + .ECHO CVDU_BASE + .ECHO ", KBD MODE=PS/2" + .ECHO ", KBD IO=" + .ECHO CVDU_KBDDATA + .ECHO "\n" ; CVDU_ROWS .EQU 25 CVDU_COLS .EQU 80 diff --git a/Source/HBIOS/dma.asm b/Source/HBIOS/dma.asm index 04ab8e5d..18d0ff8c 100644 --- a/Source/HBIOS/dma.asm +++ b/Source/HBIOS/dma.asm @@ -2,17 +2,31 @@ ; Z80 DMA DRIVER ;================================================================================================== ; +; + .ECHO "DMA: MODE=" +; #IF ((DMAMODE == DMAMODE_ECB) | (DMAMODE == DMAMODE_MBC)) DMA_IO .EQU DMABASE DMA_CTL .EQU DMABASE + 1 DMA_USEHALF .EQU TRUE + #IF (DMAMODE == DMAMODE_ECB) + .ECHO "ECB" + #ENDIF + #IF (DMAMODE == DMAMODE_MBC) + .ECHO "MBC" + #ENDIF #ENDIF ; #IF (DMAMODE == DMAMODE_DUO) DMA_IO .EQU DMABASE DMA_CTL .EQU DMABASE + 3 DMA_USEHALF .EQU FALSE + .ECHO "DUO" #ENDIF +;S + .ECHO ", IO=" + .ECHO DMA_IO + .ECHO "\n" ; DMA_CONTINUOUS .equ %10111101 ; + Pulse DMA_BYTE .equ %10011101 ; + Pulse diff --git a/Source/HBIOS/ds1501rtc.asm b/Source/HBIOS/ds1501rtc.asm index 4121ebad..5880193d 100644 --- a/Source/HBIOS/ds1501rtc.asm +++ b/Source/HBIOS/ds1501rtc.asm @@ -111,6 +111,12 @@ DS1501RTC_TE .EQU %10000000 DS1501RTC_BUFSIZE .EQU 6 ; 6 BYTE BUFFER (YYMMDDHHMMSS) + .ECHO "DS1501RTC: RTCIO=" + .ECHO DS1501RTC_BASE + .ECHO ", NVMIO=" + .ECHO DS1501NVM_BASE + .ECHO "\n" + ; RTC Device Initialization Entry DS1501RTC_INIT: diff --git a/Source/HBIOS/ds7rtc.asm b/Source/HBIOS/ds7rtc.asm index 5a0c2c6f..7dd6970c 100644 --- a/Source/HBIOS/ds7rtc.asm +++ b/Source/HBIOS/ds7rtc.asm @@ -22,6 +22,8 @@ DS7_READ .EQU (DS7_DS1307 | DS7_R) ; READ DS7_WRITE .EQU (DS7_DS1307 | DS7_W) ; WRITE ; DS7_CTL .EQU (DS7_OUT | DS7_SQWE | DS7_RATE) +; + .ECHO "DS1307: ENABLED\n" ; ;----------------------------------------------------------------------------- ; DS1307 INITIALIZATION diff --git a/Source/HBIOS/dsrtc.asm b/Source/HBIOS/dsrtc.asm index d3afd65e..7df87f28 100644 --- a/Source/HBIOS/dsrtc.asm +++ b/Source/HBIOS/dsrtc.asm @@ -88,6 +88,8 @@ ; D2 -- -- -- -- -- -- -- -- -- -- -- ; D1 ---- -- -- -- -- -- -- -- -- CLKSEL -- ; D0 RTC_IN RTC_IN RTC_IN RTC_IN RTC_IN RTC_IN -- -- RTC_IN RTC_IN RTC_IN +; + .ECHO "DSRTC: MODE=" ; #IF (DSRTCMODE == DSRTCMODE_STD) ; @@ -113,6 +115,8 @@ DS1d8k .EQU %10100111 ; 1 DOIDE 8K RESISTOR DS2d2k .EQU %10101001 ; 2 DIODES 2K RESISTOR DS2d4k .EQU %10101010 ; 2 DIODES 4K RESISTOR DS2d8k .EQU %10101011 ; 2 DIODES 8K RESISTOR +; + .ECHO "STD" ; #ENDIF ; @@ -129,8 +133,14 @@ DSRTC_MASK .EQU %00001111 ; MASK FOR BITS WE OWN IN RTC LATCH PORT DSRTC_IDLE .EQU %00001000 ; QUIESCENT STATE ; #DEFINE DSRTC_OPRVAL DSRTC_RTCVAL +; + .ECHO "MFPIC" ; #ENDIF +; + .ECHO ", IO=" + .ECHO DSRTC_IO + .ECHO "\n" ; DSRTC_BUFSIZ .EQU 7 ; 7 BYTE BUFFER (YYMMDDHHMMSSWW) ; diff --git a/Source/HBIOS/duart.asm b/Source/HBIOS/duart.asm index f49182be..91213874 100644 --- a/Source/HBIOS/duart.asm +++ b/Source/HBIOS/duart.asm @@ -822,6 +822,10 @@ DUART0A_CFG: .DW DUART0_ACR ; IY+6 POINTER TO SHADOW ACR FOR THIS CHIP .DW DUART0ACFG ; IY+8 LINE CONFIGURATION .DB 1 ; IY+10 MULTIPLIER WRT 3.6864MHZ CLOCK +; + .ECHO "DUART: IO=" + .ECHO DUART0BASE + $00 + .ECHO ", CHANNEL A\n" ; DUART_CFGSIZ .EQU $ - DUART_CFG ; SIZE OF ONE CFG TABLE ENTRY ; @@ -835,6 +839,10 @@ DUART0B_CFG: .DW DUART0_ACR ; POINTER TO SHADOW ACR FOR THIS CHIP .DW DUART0BCFG ; LINE CONFIGURATION .DB 1 ; MULTIPLIER WRT 3.6864MHZ CLOCK +; + .ECHO "DUART: IO=" + .ECHO DUART0BASE + $08 + .ECHO ", CHANNEL B\n" ; #IF (DUARTCNT >= 2) ; @@ -848,6 +856,10 @@ DUART1A_CFG: .DW DUART1_ACR ; POINTER TO SHADOW ACR FOR THIS CHIP .DW DUART1ACFG ; LINE CONFIGURATION .DB 1 ; MULTIPLIER WRT 3.6864MHZ CLOCK +; + .ECHO "DUART: IO=" + .ECHO DUART1BASE + $00 + .ECHO ", CHANNEL A\n" ; DUART1B_CFG: ; 2ND DUART MODULE CHANNEL B @@ -859,6 +871,10 @@ DUART1B_CFG: .DW DUART1_ACR ; POINTER TO SHADOW ACR FOR THIS CHIP .DW DUART1BCFG ; LINE CONFIGURATION .DB 1 ; MULTIPLIER WRT 3.6864MHZ CLOCK +; + .ECHO "DUART: IO=" + .ECHO DUART1BASE + $08 + .ECHO ", CHANNEL B\n" ; #ENDIF ; diff --git a/Source/HBIOS/esp.asm b/Source/HBIOS/esp.asm index 0f8d429a..75b4d58b 100644 --- a/Source/HBIOS/esp.asm +++ b/Source/HBIOS/esp.asm @@ -53,6 +53,10 @@ ESP_CFG_IO .EQU 1 ; ESP I/O PORT ESP_CFG_ST .EQU 2 ; ESP STATUS PORT ESP_CFG_RDYMSK .EQU 3 ; ESP READY MASK ESP_CFG_BSYMSK .EQU 4 ; ESP BUSY MASK +; + .ECHO "ESP: IO=" + .ECHO ESP_IOBASE + .ECHO "\n" ; ; GLOBAL ESP INITIALIZATION ; @@ -343,6 +347,8 @@ ESP_STR_UPGRADE .TEXT "!!!UPGRADE REQUIRED!!!$" ; ESPCON_ROWS .EQU 25 ; VGA DISPLAY ROWS ESPCON_COLS .EQU 80 ; VGA DISPLAY COLS +; + .ECHO "ESPCON: ENABLED\n" ; ; ; @@ -685,7 +691,8 @@ ESPSER0_CFG: .DB ESP_0_RDY ; ESP READY BIT MASK .DB ESP_0_BUSY ; ESP BUSY BIT MASK .DW ESPSER_LINECFG ; LINE CONFIGURATION - +; + .ECHO "ESPSER: DEVICE=0\n" ; ESPSER1_CFG: .DB 0 ; DEVICE NUMBER (UPDATED DURING INIT) @@ -694,6 +701,8 @@ ESPSER1_CFG: .DB ESP_1_RDY ; ESP READY BIT MASK .DB ESP_1_BUSY ; ESP BUSY BIT MASK .DW ESPSER_LINECFG ; LINE CONFIGURATION +; + .ECHO "ESPSER: DEVICE=1\n" ; ; ; diff --git a/Source/HBIOS/fd.asm b/Source/HBIOS/fd.asm index 84933714..8512dd71 100644 --- a/Source/HBIOS/fd.asm +++ b/Source/HBIOS/fd.asm @@ -14,6 +14,7 @@ FDC_DATA .EQU $37 ; 8272 DATA PORT FDC_DIR .EQU $38 ; DATA INPUT REGISTER FDC_DOR .EQU $3A ; DIGITAL OUTPUT REGISTER (LATCH) FDC_DMA .EQU $3C ; PSEUDO DMA DATA PORT + #DEFINE FDMODE_STR "DIO" #ENDIF #IF (FDMODE = FDMODE_ZETA2) FDC_MSR .EQU $30 ; 8272 MAIN STATUS REGISTER @@ -21,6 +22,7 @@ FDC_DATA .EQU $31 ; 8272 DATA PORT FDC_DOR .EQU $38 ; DIGITAL OUTPUT REGISTER FDC_DCR .EQU $28 ; CONFIGURATION CONTROL REGISTER FDC_TC .EQU $38 ; TERMINAL COUNT (W/ DACK) + #DEFINE FDMODE_STR "ZETA2" #ENDIF #IF (FDMODE == FDMODE_DIDE) FDC_BID .EQU $20 ; IO RANGE 20H-3FH @@ -31,6 +33,7 @@ FDC_DCR .EQU $2D ; DCR FDC_DACK .EQU $3C ; DACK FDC_TC .EQU $3D ; TERMINAL COUNT (W/ DACK) FDC_DMA .EQU $3C ; NOT USED BY DIDE + #DEFINE FDMODE_STR "DIDE" #ENDIF #IF (FDMODE == FDMODE_N8) FDC_MSR .EQU $8C ; 8272 MAIN STATUS REGISTER @@ -40,11 +43,13 @@ FDC_DCR .EQU $91 ; DCR FDC_DACK .EQU $90 ; DACK FDC_TC .EQU $93 ; TERMINAL COUNT (W/ DACK) FDC_DMA .EQU $3C ; NOT USED BY N8 + #DEFINE FDMODE_STR "N8" #ENDIF #IF (FDMODE == FDMODE_RCSMC) FDC_MSR .EQU $50 ; 8272 MAIN STATUS REGISTER FDC_DATA .EQU $51 ; 8272 DATA PORT FDC_DOR .EQU $58 ; DIGITAL OUTPUT REGISTER (LATCH) + #DEFINE FDMODE_STR "RCSMC" #ENDIF #IF (FDMODE == FDMODE_RCWDC) FDC_MSR .EQU $50 ; 8272 MAIN STATUS REGISTER @@ -52,6 +57,7 @@ FDC_DATA .EQU $51 ; 8272 DATA PORT FDC_DOR .EQU $58 ; DIGITAL OUTPUT REGISTER FDC_DCR .EQU $48 ; CONFIGURATION CONTROL REGISTER FDC_TC .EQU $58 ; TERMINAL COUNT (W/ DACK) + #DEFINE FDMODE_STR "RCWDC" #ENDIF #IF (FDMODE == FDMODE_DYNO) FDC_BASE .EQU $84 @@ -60,6 +66,7 @@ FDC_DATA .EQU FDC_BASE + $01 ; 8272 DATA PORT FDC_DOR .EQU FDC_BASE + $02 ; DIGITAL OUTPUT REGISTER FDC_DCR .EQU FDC_BASE + $03 ; CONFIGURATION CONTROL REGISTER FDC_TC .EQU FDC_BASE + $02 ; TERMINAL COUNT (W/ DACK) + #DEFINE FDMODE_STR "DYNO" #ENDIF #IF (FDMODE == FDMODE_EPFDC) FDC_MSR .EQU $48 ; 8272 MAIN STATUS REGISTER @@ -67,6 +74,7 @@ FDC_DATA .EQU $49 ; 8272 DATA PORT FDC_DOR .EQU $4A ; DIGITAL OUTPUT REGISTER FDC_DCR .EQU $4B ; CONFIGURATION CONTROL REGISTER FDC_TC .EQU $4C ; TERMINAL COUNT (W/ DACK) + #DEFINE FDMODE_STR "EPFDC" #ENDIF #IF (FDMODE == FDMODE_MBC) FDC_MSR .EQU $30 ; 8272 MAIN STATUS REGISTER @@ -74,8 +82,10 @@ FDC_DATA .EQU $31 ; 8272 DATA PORT FDC_DOR .EQU $36 ; DIGITAL OUTPUT REGISTER FDC_DCR .EQU $35 ; CONFIGURATION CONTROL REGISTER FDC_TC .EQU $37 ; TERMINAL COUNT (W/ DACK) + #DEFINE FDMODE_STR "MBC" #ENDIF ; +; ; DISK OPERATIONS ; DOP_READ .EQU 0 ; READ OPERATION @@ -133,6 +143,33 @@ FD_CFGTBL: .DB 0 ; HOST SECTOR .DB 0 ; HOST HEAD .DB FD0TYPE ; DRIVE TYPE +; + .ECHO "FD: MODE=" + .ECHO FDMODE_STR + .ECHO ", IO=" + .ECHO FDC_MSR + .ECHO ", DRIVE 0" + .ECHO ", TYPE=" + #IF (FD0TYPE == FDT_NONE + .ECHO "NONE" + #ENDIF + #IF (FD0TYPE == FDT_3DD + .ECHO "3.5\" DD" + #ENDIF + #IF (FD0TYPE == FDT_3HD + .ECHO "3.5\" HD" + #ENDIF + #IF (FD0TYPE == FDT_5DD + .ECHO "5.25\" DD" + #ENDIF + #IF (FD0TYPE == FDT_5HD + .ECHO "5.25\" HD" + #ENDIF + #IF (FD0TYPE == FDT_8 + .ECHO "8\" DD" + #ENDIF + .ECHO "\n" +; #IF (FD_DEVCNT >= 2) ; DEVICE 1, PRIMARY SLAVE .DB 1 ; DRIVER DEVICE NUMBER @@ -143,6 +180,32 @@ FD_CFGTBL: .DB 0 ; HOST SECTOR .DB 0 ; HOST HEAD .DB FD1TYPE ; DRIVE TYPE +; + .ECHO "FD: MODE=" + .ECHO FDMODE_STR + .ECHO ", IO=" + .ECHO FDC_MSR + .ECHO ", DRIVE 1" + .ECHO ", TYPE=" + #IF (FD1TYPE == FDT_NONE + .ECHO "NONE" + #ENDIF + #IF (FD1TYPE == FDT_3DD + .ECHO "3.5\" DD" + #ENDIF + #IF (FD1TYPE == FDT_3HD + .ECHO "3.5\" HD" + #ENDIF + #IF (FD1TYPE == FDT_5DD + .ECHO "5.25\" DD" + #ENDIF + #IF (FD1TYPE == FDT_5HD + .ECHO "5.25\" HD" + #ENDIF + #IF (FD1TYPE == FDT_8 + .ECHO "8\" DD" + #ENDIF + .ECHO "\n" #ENDIF ; #IF ($ - FD_CFGTBL) != (FD_DEVCNT * FD_CFGSIZ) diff --git a/Source/HBIOS/gdc.asm b/Source/HBIOS/gdc.asm index be5f3f2d..865f08c8 100644 --- a/Source/HBIOS/gdc.asm +++ b/Source/HBIOS/gdc.asm @@ -36,16 +36,33 @@ GDC_COLS .EQU 80 ; *** TODO: CGA AND EGA ARE PLACEHOLDERS. THESE EQUATES SHOULD ; BE USED TO ALLOW FOR MULTIPLE MONITOR TIMINGS AND/OR FONT ; DEFINITIONS. +; + .ECHO "GDC: MODE=" +; +#IF (GDCMODE == GDCMODE_ECB) + .ECHO "ECB" +#ENDIF +#IF (GDCMODE == GDCMODE_RPH) + .ECHO "RPH" +#ENDIF +; + .ECHO ", DISPLAY=" ; #IF (GDCMON == GDCMON_CGA) #DEFINE USEFONTCGA #DEFINE GDC_FONT FONTCGA + .ECHO "CGA" #ENDIF ; #IF (GDCMON == GDCMON_EGA) #DEFINE USEFONT8X16 #DEFINE GDC_FONT FONT8X16 + .ECHO "EGA" #ENDIF +; + .ECHO ", IO=" + .ECHO GDC_BASE + .ECHO "\n" ; TERMENABLE .SET TRUE ; INCLUDE TERMINAL PSEUDODEVICE DRIVER ; @@ -70,7 +87,7 @@ GDC_INIT: #ENDIF #IF (GDCMON == GDCMON_EGA) PRTS(" EGA$") -#ENDIF +#ENDIF ; PRTS(" IO=0x$") LD A,GDC_BASE diff --git a/Source/HBIOS/hbios.asm b/Source/HBIOS/hbios.asm index bec7254f..f967f72f 100644 --- a/Source/HBIOS/hbios.asm +++ b/Source/HBIOS/hbios.asm @@ -217,6 +217,24 @@ RTCDEF .SET RTCDEF | %00001000 ; INITIAL SPEED LOW ; ; ; +#IF (FPLED_ENABLE | FPSW_ENABLE) + .ECHO "FP: " + #IF (FPLED_ENABLE) + .ECHO "LEDIO=" + .ECHO FPLED_IO + #ENDIF + #IF (FPLED_ENABLE & FPSW_ENABLE) + .ECHO ", " + #ENDIF + #IF (FPSW_ENABLE) + .ECHO "SWIO=" + .ECHO FPSW_IO + #ENDIF + .ECHO "\n" +#ENDIF +; +; +; #IFNDEF APPBOOT ; .ORG 0 diff --git a/Source/HBIOS/hdsk.asm b/Source/HBIOS/hdsk.asm index 2349de36..2fa6fddf 100644 --- a/Source/HBIOS/hdsk.asm +++ b/Source/HBIOS/hdsk.asm @@ -21,6 +21,12 @@ HDSK_CFGSIZ .EQU 6 ; SIZE OF CFG TBL ENTRIES HDSK_DEV .EQU 0 ; OFFSET OF DEVICE NUMBER (BYTE) HDSK_STAT .EQU 1 ; OFFSET OF STATUS (BYTE) HDSK_LBA .EQU 2 ; OFFSET OF LBA (DWORD) +; + .ECHO "HDSK: IO=" + .ECHO HDSK_IO + .ECHO ", DEVICE COUNT=" + .ECHO HDSK_DEVCNT + .ECHO "\n" ; HDSK_CFGTBL: ; DEVICE 0 diff --git a/Source/HBIOS/ide.asm b/Source/HBIOS/ide.asm index 2c80dd08..a086456a 100644 --- a/Source/HBIOS/ide.asm +++ b/Source/HBIOS/ide.asm @@ -213,6 +213,27 @@ IDE_DEV0M: ; DEVICE 0, MASTER .DB IDE0DATLO ; IO BASE ADDRESS .DB IDE0DATHI ; IO BASE ADDRESS .DW IDE_DEV0S ; PARTNER +; + .ECHO "IDE: MODE=" + #IF (IDE0MODE == IDEMODE_NONE) + .ECHO "NONE" + #ENDIF + #IF (IDE0MODE == IDEMODE_DIO) + .ECHO "DIO" + #ENDIF + #IF (IDE0MODE == IDEMODE_DIDE) + .ECHO "DIDE" + #ENDIF + #IF (IDE0MODE == IDEMODE_MK4) + .ECHO "MK4" + #ENDIF + #IF (IDE0MODE == IDEMODE_RC) + .ECHO "RC" + #ENDIF + .ECHO ", IO=" + .ECHO IDE0BASE + .ECHO ", MASTER" + .ECHO "\n" ; IDE_DEV0S: ; DEVICE 0, SLAVE .DB $FE ; DRIVER DEVICE NUMBER (FILLED DYNAMICALLY) @@ -227,6 +248,27 @@ IDE_DEV0S: ; DEVICE 0, SLAVE .DB IDE0DATLO ; IO BASE ADDRESS .DB IDE0DATHI ; IO BASE ADDRESS .DW IDE_DEV0M ; PARTNER +; + .ECHO "IDE: MODE=" + #IF (IDE0MODE == IDEMODE_NONE) + .ECHO "NONE" + #ENDIF + #IF (IDE0MODE == IDEMODE_DIO) + .ECHO "DIO" + #ENDIF + #IF (IDE0MODE == IDEMODE_DIDE) + .ECHO "DIDE" + #ENDIF + #IF (IDE0MODE == IDEMODE_MK4) + .ECHO "MK4" + #ENDIF + #IF (IDE0MODE == IDEMODE_RC) + .ECHO "RC" + #ENDIF + .ECHO ", IO=" + .ECHO IDE0BASE + .ECHO ", SLAVE" + .ECHO "\n" #ENDIF ; #IF (IDECNT >= 2) @@ -244,6 +286,27 @@ IDE_DEV1M: ; DEVICE 1, MASTER .DB IDE1DATLO ; IO BASE ADDRESS .DB IDE1DATHI ; IO BASE ADDRESS .DW IDE_DEV1S ; PARTNER +; + .ECHO "IDE: MODE=" + #IF (IDE1MODE == IDEMODE_NONE) + .ECHO "NONE" + #ENDIF + #IF (IDE1MODE == IDEMODE_DIO) + .ECHO "DIO" + #ENDIF + #IF (IDE1MODE == IDEMODE_DIDE) + .ECHO "DIDE" + #ENDIF + #IF (IDE1MODE == IDEMODE_MK4) + .ECHO "MK4" + #ENDIF + #IF (IDE1MODE == IDEMODE_RC) + .ECHO "RC" + #ENDIF + .ECHO ", IO=" + .ECHO IDE1BASE + .ECHO ", MASTER" + .ECHO "\n" ; IDE_DEV1S: ; DEVICE 1, SLAVE .DB $FE ; DRIVER DEVICE NUMBER (FILLED DYNAMICALLY) @@ -258,6 +321,27 @@ IDE_DEV1S: ; DEVICE 1, SLAVE .DB IDE1DATLO ; IO BASE ADDRESS .DB IDE1DATHI ; IO BASE ADDRESS .DW IDE_DEV1M ; PARTNER +; + .ECHO "IDE: MODE=" + #IF (IDE1MODE == IDEMODE_NONE) + .ECHO "NONE" + #ENDIF + #IF (IDE1MODE == IDEMODE_DIO) + .ECHO "DIO" + #ENDIF + #IF (IDE1MODE == IDEMODE_DIDE) + .ECHO "DIDE" + #ENDIF + #IF (IDE1MODE == IDEMODE_MK4) + .ECHO "MK4" + #ENDIF + #IF (IDE1MODE == IDEMODE_RC) + .ECHO "RC" + #ENDIF + .ECHO ", IO=" + .ECHO IDE1BASE + .ECHO ", SLAVE" + .ECHO "\n" #ENDIF ; #IF (IDECNT >= 3) @@ -275,6 +359,27 @@ IDE_DEV2M: ; DEVICE 2, MASTER .DB IDE2DATLO ; IO BASE ADDRESS .DB IDE2DATHI ; IO BASE ADDRESS .DW IDE_DEV2S ; PARTNER +; + .ECHO "IDE: MODE=" + #IF (IDE2MODE == IDEMODE_NONE) + .ECHO "NONE" + #ENDIF + #IF (IDE2MODE == IDEMODE_DIO) + .ECHO "DIO" + #ENDIF + #IF (IDE2MODE == IDEMODE_DIDE) + .ECHO "DIDE" + #ENDIF + #IF (IDE2MODE == IDEMODE_MK4) + .ECHO "MK4" + #ENDIF + #IF (IDE2MODE == IDEMODE_RC) + .ECHO "RC" + #ENDIF + .ECHO ", IO=" + .ECHO IDE2BASE + .ECHO ", MASTER" + .ECHO "\n" ; IDE_DEV2S: ; DEVICE 2, SLAVE .DB $FE ; DRIVER DEVICE NUMBER (FILLED DYNAMICALLY) @@ -289,6 +394,27 @@ IDE_DEV2S: ; DEVICE 2, SLAVE .DB IDE2DATLO ; IO BASE ADDRESS .DB IDE2DATHI ; IO BASE ADDRESS .DW IDE_DEV1M ; PARTNER +; + .ECHO "IDE: MODE=" + #IF (IDE2MODE == IDEMODE_NONE) + .ECHO "NONE" + #ENDIF + #IF (IDE2MODE == IDEMODE_DIO) + .ECHO "DIO" + #ENDIF + #IF (IDE2MODE == IDEMODE_DIDE) + .ECHO "DIDE" + #ENDIF + #IF (IDE2MODE == IDEMODE_MK4) + .ECHO "MK4" + #ENDIF + #IF (IDE2MODE == IDEMODE_RC) + .ECHO "RC" + #ENDIF + .ECHO ", IO=" + .ECHO IDE2BASE + .ECHO ", SLAVE" + .ECHO "\n" #ENDIF ; #IF ($ - IDE_CFGTBL) != (IDE_DEVCNT * IDE_CFGSIZ) diff --git a/Source/HBIOS/imm.asm b/Source/HBIOS/imm.asm index d9076758..d85a76cd 100644 --- a/Source/HBIOS/imm.asm +++ b/Source/HBIOS/imm.asm @@ -1525,6 +1525,17 @@ IMM0_CFG: ; DEVICE 0 .DB IMM0BASE ; IO BASE ADDRESS .DW 0,0 ; DEVICE CAPACITY .DW 0,0 ; CURRENT LBA +; + .ECHO "IMM: MODE=" + #IF (IMMMODE == IMMMODE_SPP) + .ECHO "SPP" + #ENDIF + #IF (IMMMODE == IMMMODE_MG014) + .ECHO "MG014" + #ENDIF + .ECHO ", IO=" + .ECHO IMM0BASE + .ECHO "\n" #ENDIF ; #IF (IMMCNT >= 2) @@ -1536,6 +1547,17 @@ IMM1_CFG: ; DEVICE 1 .DB IMM1BASE ; IO BASE ADDRESS .DW 0,0 ; DEVICE CAPACITY .DW 0,0 ; CURRENT LBA +; + .ECHO "IMM: MODE=" + #IF (IMMMODE == IMMMODE_SPP) + .ECHO "SPP" + #ENDIF + #IF (IMMMODE == IMMMODE_MG014) + .ECHO "MG014" + #ENDIF + .ECHO ", IO=" + .ECHO IMM1BASE + .ECHO "\n" #ENDIF ; #IF ($ - IMM_CFG) != (IMMCNT * IMM_CFGSIZ) diff --git a/Source/HBIOS/intrtc.asm b/Source/HBIOS/intrtc.asm index cbb2184f..8d65e2e2 100644 --- a/Source/HBIOS/intrtc.asm +++ b/Source/HBIOS/intrtc.asm @@ -4,6 +4,8 @@ ;================================================================================================== ; INTRTC_BUFSIZ .EQU 6 ; SIX BYTE BUFFER (YYMMDDHHMMSS) +; + .ECHO "INTRTC: ENABLED\n" ; ; RTC DEVICE INITIALIZATION ENTRY ; diff --git a/Source/HBIOS/kbd.asm b/Source/HBIOS/kbd.asm index 7c8b7fac..113c8aa1 100644 --- a/Source/HBIOS/kbd.asm +++ b/Source/HBIOS/kbd.asm @@ -55,6 +55,8 @@ KBD_RSTATE .DB 0 ; STATE BITS FOR "RIGHT" KEYS KBD_STATUS .DB 0 ; CURRENT STATUS BITS (SEE ABOVE) KBD_REPEAT .DB 0 ; CURRENT REPEAT RATE KBD_IDLE .DB 0 ; IDLE COUNT +; + .ECHO "KBD: ENABLED\n" ; ;__________________________________________________________________________________________________ ; KEYBOARD INITIALIZATION diff --git a/Source/HBIOS/lpt.asm b/Source/HBIOS/lpt.asm index 0b75fae5..73f26b5e 100644 --- a/Source/HBIOS/lpt.asm +++ b/Source/HBIOS/lpt.asm @@ -346,10 +346,10 @@ LPT_DETECT: LD A,$A5 ; TEST VALUE OUT (C),A ; PUSH VALUE TO PORT IN A,(C) ; GET PORT VALUE -#IF (LPTTRACE >= 3) + #IF (LPTTRACE >= 3) CALL PC_SPACE CALL PRTHEXBYTE -#ENDIF + #ENDIF CP $A5 ; CHECK FOR TEST VALUE JR Z,LPT_DETECT1 ; FOUND IT LD A,LPTMODE_NONE ; NOT FOUND @@ -420,6 +420,17 @@ LPT0_CFG: .DB 0 ; MODULE ID .DB LPT0BASE ; BASE PORT .DW 0 ; LINE CONFIGURATION +; + .ECHO "LPT: MODE=" + #IF (LPTMODE == LPTMODE_SPP) + .ECHO "SPP" + #ENDIF + #IF (LPTMODE == LPTMODE_MG014) + .ECHO "MG014" + #ENDIF + .ECHO ", IO=" + .ECHO LPT0BASE + .ECHO "\n" ; LPT_CFGSIZ .EQU $ - LPT_CFG ; SIZE OF ONE CFG TABLE ENTRY ; @@ -432,6 +443,17 @@ LPT1_CFG: .DB 1 ; MODULE ID .DB LPT1BASE ; BASE PORT .DW 0 ; LINE CONFIGURATION +; + .ECHO "LPT: MODE=" + #IF (LPTMODE == LPTMODE_SPP) + .ECHO "SPP" + #ENDIF + #IF (LPTMODE == LPTMODE_MG014) + .ECHO "MG014" + #ENDIF + .ECHO ", IO=" + .ECHO LPT1BASE + .ECHO "\n" ; #ENDIF ; diff --git a/Source/HBIOS/md.asm b/Source/HBIOS/md.asm index b6f806a0..6e8adbb8 100644 --- a/Source/HBIOS/md.asm +++ b/Source/HBIOS/md.asm @@ -39,6 +39,8 @@ MD_CFGTBL: .DW 0,0 ; CURRENT LBA .DB MID_MDRAM ; DEVICE MEDIA ID .DB MD_ARAM ; DEVICE ATTRIBUTE +; + .ECHO "MD: TYPE=RAM\n" #ENDIF ; #IF (MDROM) @@ -48,6 +50,8 @@ MD_CFGTBL: .DW 0,0 ; CURRENT LBA .DB MID_MDROM ; DEVICE MEDIA ID .DB MD_AROM ; DEVICE ATTRIBUTE +; + .ECHO "MD: TYPE=ROM\n" #ENDIF ; MD_DEVCNT .EQU ($ - MD_CFGTBL) / MD_CFGSIZ diff --git a/Source/HBIOS/pcf.asm b/Source/HBIOS/pcf.asm index 266f23c3..ab17f85c 100644 --- a/Source/HBIOS/pcf.asm +++ b/Source/HBIOS/pcf.asm @@ -93,6 +93,10 @@ PCF_PINTO .EQU 65000 PCF_ACKTO .EQU 65000 PCF_BBTO .EQU 65000 PCF_LABDLY .EQU 65000 +; + .ECHO "PCF: IO=" + .ECHO PCF_BASE + .ECHO "\n" ; ; DATA PORT REGISTERS ; diff --git a/Source/HBIOS/pio.asm b/Source/HBIOS/pio.asm index 18016f4f..1dc823a9 100644 --- a/Source/HBIOS/pio.asm +++ b/Source/HBIOS/pio.asm @@ -307,6 +307,10 @@ PIO0A_CFG: .DB PIO0A_DAT ; DATA PORT .DW DEFSERCFG ; LINE CONFIGURATION .DW PIO0A_RCVBUF ; POINTER TO RCV BUFFER STRUCT +; + .ECHO "PIO: IO=" + .ECHO PIO0BASE + .ECHO ", CHANNEL A\n" ; PIO_CFGSIZ .EQU $ - PIO_CFG ; SIZE OF ONE CFG TABLE ENTRY ; @@ -319,6 +323,10 @@ PIO0B_CFG: .DB PIO0B_DAT ; DATA PORT .DW DEFSERCFG ; LINE CONFIGURATION .DW PIO0B_RCVBUF ; POINTER TO RCV BUFFER STRUCT +; + .ECHO "PIO: IO=" + .ECHO PIO0BASE + .ECHO ", CHANNEL B\n" ; #IF (PIOCNT >= 2) ; @@ -331,6 +339,10 @@ PIO1A_CFG: .DB PIO1A_DAT ; DATA PORT .DW DEFSERCFG ; LINE CONFIGURATION .DW PIO1A_RCVBUF ; POINTER TO RCV BUFFER STRUCT +; + .ECHO "PIO: IO=" + .ECHO PIO1BASE + .ECHO ", CHANNEL A\n" ; ; PIO1 CHANNEL B PIO1B_CFG: @@ -341,6 +353,10 @@ PIO1B_CFG: .DB PIO1B_DAT ; DATA PORT .DW DEFSERCFG ; LINE CONFIGURATION .DW PIO1B_RCVBUF ; POINTER TO RCV BUFFER STRUCT +; + .ECHO "PIO: IO=" + .ECHO PIO1BASE + .ECHO ", CHANNEL B\n" ; #ENDIF ; diff --git a/Source/HBIOS/pkd.asm b/Source/HBIOS/pkd.asm index 14d3969f..a837155c 100644 --- a/Source/HBIOS/pkd.asm +++ b/Source/HBIOS/pkd.asm @@ -65,6 +65,10 @@ PKD_CMD_CLK .EQU %00100000 ; SET CLK PRESCALE PKD_CMD_FIFO .EQU %01000000 ; READ FIFO ; PKD_PRESCL .EQU PKDOSC/100000 ; PRESCALER +; + .ECHO "PKD: IO=" + .ECHO PKDPPIBASE + .ECHO "\n" ; ;__PKD_PREINIT_______________________________________________________________________________________ ; diff --git a/Source/HBIOS/ppa.asm b/Source/HBIOS/ppa.asm index 9af70614..e13493d8 100644 --- a/Source/HBIOS/ppa.asm +++ b/Source/HBIOS/ppa.asm @@ -139,7 +139,7 @@ PPA_LBA .EQU 8 ; OFFSET OF LBA (DWORD) ; ; INCLUDE MG014 NIBBLE MAP FOR MG014 MODE ; -#IF (IMMMODE == IMMMODE_MG014) +#IF (PPAMODE == IMMMODE_MG014) #DEFINE MG014_MAP #ENDIF ; @@ -1385,6 +1385,17 @@ PPA0_CFG: ; DEVICE 0 .DB PPA0BASE ; IO BASE ADDRESS .DW 0,0 ; DEVICE CAPACITY .DW 0,0 ; CURRENT LBA +; + .ECHO "PPA: MODE=" + #IF (PPAMODE == PPAMODE_SPP) + .ECHO "SPP" + #ENDIF + #IF (PPAMODE == PPAMODE_MG014) + .ECHO "MG014" + #ENDIF + .ECHO ", IO=" + .ECHO PPA0BASE + .ECHO "\n" #ENDIF ; #IF (PPACNT >= 2) @@ -1396,6 +1407,17 @@ PPA1_CFG: ; DEVICE 1 .DB PPA1BASE ; IO BASE ADDRESS .DW 0,0 ; DEVICE CAPACITY .DW 0,0 ; CURRENT LBA +; + .ECHO "PPA: MODE=" + #IF (PPAMODE == PPAMODE_SPP) + .ECHO "SPP" + #ENDIF + #IF (PPAMODE == PPAMODE_MG014) + .ECHO "MG014" + #ENDIF + .ECHO ", IO=" + .ECHO PPA1BASE + .ECHO "\n" #ENDIF ; #IF ($ - PPA_CFG) != (PPACNT * PPA_CFGSIZ) diff --git a/Source/HBIOS/ppide.asm b/Source/HBIOS/ppide.asm index 5449899d..8b027bfd 100644 --- a/Source/HBIOS/ppide.asm +++ b/Source/HBIOS/ppide.asm @@ -229,6 +229,11 @@ PPIDE_DEV0M: ; DEVICE 0, MASTER .DB PPIDE0BASE+2 ; CTL .DB PPIDE0BASE+3 ; PPI .DW PPIDE_DEV0S ; PARTNER +; + .ECHO "PPIDE: IO=" + .ECHO PPIDE0BASE + .ECHO ", MASTER" + .ECHO "\n" ; PPIDE_DEV0S: ; DEVICE 0, SLAVE .DB $FE ; DRIVER DEVICE NUMBER (FILLED DYNAMICALLY) @@ -242,6 +247,11 @@ PPIDE_DEV0S: ; DEVICE 0, SLAVE .DB PPIDE0BASE+2 ; CTL .DB PPIDE0BASE+3 ; PPI .DW PPIDE_DEV0M ; PARTNER +; + .ECHO "PPIDE: IO=" + .ECHO PPIDE0BASE + .ECHO ", SLAVE" + .ECHO "\n" ; #ENDIF ; @@ -259,6 +269,11 @@ PPIDE_DEV1M: ; DEVICE 1, MASTER .DB PPIDE1BASE+2 ; CTL .DB PPIDE1BASE+3 ; PPI .DW PPIDE_DEV1S ; PARTNER +; + .ECHO "PPIDE: IO=" + .ECHO PPIDE1BASE + .ECHO ", MASTER" + .ECHO "\n" ; PPIDE_DEV1S: ; DEVICE 1, SLAVE .DB $FE ; DRIVER DEVICE NUMBER (FILLED DYNAMICALLY) @@ -272,6 +287,11 @@ PPIDE_DEV1S: ; DEVICE 1, SLAVE .DB PPIDE1BASE+2 ; CTL .DB PPIDE1BASE+3 ; PPI .DW PPIDE_DEV1M ; PARTNER +; + .ECHO "PPIDE: IO=" + .ECHO PPIDE1BASE + .ECHO ", SLAVE" + .ECHO "\n" ; #ENDIF ; @@ -289,6 +309,11 @@ PPIDE_DEV2M: ; DEVICE 2, MASTER .DB PPIDE2BASE+2 ; CTL .DB PPIDE2BASE+3 ; PPI .DW PPIDE_DEV2S ; PARTNER +; + .ECHO "PPIDE: IO=" + .ECHO PPIDE2BASE + .ECHO ", MASTER" + .ECHO "\n" ; PPIDE_DEV2S: ; DEVICE 2, SLAVE .DB $FE ; DRIVER DEVICE NUMBER (FILLED DYNAMICALLY) @@ -302,6 +327,11 @@ PPIDE_DEV2S: ; DEVICE 2, SLAVE .DB PPIDE2BASE+2 ; CTL .DB PPIDE2BASE+3 ; PPI .DW PPIDE_DEV2M ; PARTNER +; + .ECHO "PPIDE: IO=" + .ECHO PPIDE2BASE + .ECHO ", SLAVE" + .ECHO "\n" ; #ENDIF ; diff --git a/Source/HBIOS/ppk.asm b/Source/HBIOS/ppk.asm index 6672782b..3c8dbb0a 100644 --- a/Source/HBIOS/ppk.asm +++ b/Source/HBIOS/ppk.asm @@ -59,6 +59,8 @@ PPK_STATUS .DB 0 ; CURRENT STATUS BITS (SEE ABOVE) PPK_REPEAT .DB 0 ; CURRENT REPEAT RATE PPK_IDLE .DB 0 ; IDLE COUNT PPK_WAITTO .DW 0 ; TIMEOUT WAIT LOOP COUNT (COMPUTED IN INIT) +; + .ECHO "PPK: ENABLED\n" ; ;__________________________________________________________________________________________________ ; KEYBOARD INITIALIZATION diff --git a/Source/HBIOS/ppp.asm b/Source/HBIOS/ppp.asm index b998ec08..72d2ab53 100644 --- a/Source/HBIOS/ppp.asm +++ b/Source/HBIOS/ppp.asm @@ -8,6 +8,10 @@ PPP_IO .EQU PPPBASE + 0 ; PPP DATA I/O (PPI PORT A) PPP_CTL .EQU PPPBASE + 2 ; PPP CTL LINES (PPI PORT C) PPP_PPICTL .EQU PPPBASE + 3 ; PPI CONTROL PORT +; + .ECHO "PPP: IO=" + .ECHO PPP_IO + .ECHO "\n" ; ; COMMAND BYTES ; @@ -248,6 +252,8 @@ PPP_FWVER .DB $00, $00, $00, $00 ; MMNNBBB (M=MAJOR, N=MINOR, B=BUILD) ; PPPCON_ROWS .EQU 37 ; PROPELLER VGA DISPLAY ROWS (40 - 3 STATUS LINES) PPPCON_COLS .EQU 80 ; PROPELLER VGA DISPLAY COLS +; + .ECHO "PPPCON: ENABLED\n" ; PPPCON_INIT: CALL NEWLINE @@ -413,6 +419,8 @@ PPPSD_CFGTBL: #ENDIF ; .DB $FF ; END MARKER +; + .ECHO "PPPSD: ENABLED\n" ; ; SD CARD INITIALIZATION ; diff --git a/Source/HBIOS/prp.asm b/Source/HBIOS/prp.asm index 738e971a..f857c5fc 100644 --- a/Source/HBIOS/prp.asm +++ b/Source/HBIOS/prp.asm @@ -6,6 +6,10 @@ ; TODO: ; PRP_IOBASE .EQU $A8 +; + .ECHO "PRP: IO=" + .ECHO PRP_IOBASE + .ECHO "\n" ; ; GLOBAL PROPIO INITIALIZATION ; @@ -119,6 +123,8 @@ PRPCON_DSPRDY .EQU $10 ; BIT SET WHEN DISPLAY BUF IS READY FOR A BYTE (BUF EMPT ; PRPCON_ROWS .EQU 37 ; PROPELLER VGA DISPLAY ROWS (40 - 3 STATUS LINES) PRPCON_COLS .EQU 80 ; PROPELLER VGA DISPLAY COLS +; + .ECHO "PRPCON: ENABLED\n" ; ; ; @@ -310,6 +316,8 @@ PRPSD_CFGTBL: #ENDIF ; .DB $FF ; END MARKER +; + .ECHO "PRPSD: ENABLED\n" ; ; SD CARD INITIALIZATION ; diff --git a/Source/HBIOS/rf.asm b/Source/HBIOS/rf.asm index f9bc94f1..29d9dabc 100644 --- a/Source/HBIOS/rf.asm +++ b/Source/HBIOS/rf.asm @@ -42,6 +42,11 @@ RF_CFGTBL: .DW 0,0 ; CURRENT LBA .DB 0 ; UNUSED .DB RF_U0IO ; DEVICE BASE ADDR +; + .ECHO "RF: IO=" + .ECHO RF_U0IO + .ECHO "\n" +; #IF (RF_DEVCNT > 1) ; DEVICE 1 .DB 1 ; DEVICE NUMBER @@ -50,6 +55,11 @@ RF_CFGTBL: .DB 0 ; UNUSED .DB RF_U1IO ; DEVICE BASE ADDR #ENDIF +; + .ECHO "RF: IO=" + .ECHO RF_U1IO + .ECHO "\n" +; #IF (RF_DEVCNT > 2) ; DEVICE 2 .DB 2 ; DRIVER DEVICE NUMBER @@ -58,13 +68,23 @@ RF_CFGTBL: .DB 0 ; UNUSED .DB RF_U2IO ; DEVICE BASE ADDR #ENDIF -; ; DEVICE 3 +; + .ECHO "RF: IO=" + .ECHO RF_U2IO + .ECHO "\n" +; #IF (RF_DEVCNT > 3) + ; DEVICE 3 .DB 3 ; DEVICE NUMBER .DB 0 ; DEVICE STATUS .DW 0,0 ; CURRENT LBA .DB 0 ; UNUSED .DB RF_U3IO ; DEVICE BASE ADDR +; + .ECHO "RF: IO=" + .ECHO RF_U3IO + .ECHO "\n" +; #ENDIF ; #IF ($ - RF_CFGTBL) != (RF_DEVCNT * RF_CFGSIZ) diff --git a/Source/HBIOS/rp5rtc.asm b/Source/HBIOS/rp5rtc.asm index df74a42d..fe1d5e90 100644 --- a/Source/HBIOS/rp5rtc.asm +++ b/Source/HBIOS/rp5rtc.asm @@ -55,6 +55,10 @@ MODE_RAM1 .EQU 3 MD_TIME .EQU 8 MD_ALRM .EQU 4 + .ECHO "RP5C01: IO=" + .ECHO RP5RTC_REG + .ECHO "\n" + RP5RTC_INIT: LD A, (RTC_DISPACT) ; RTC DISPATCHER ALREADY SET? OR A ; SET FLAGS diff --git a/Source/HBIOS/scon.asm b/Source/HBIOS/scon.asm index 0d3d8750..9a32457f 100644 --- a/Source/HBIOS/scon.asm +++ b/Source/HBIOS/scon.asm @@ -15,6 +15,10 @@ SCON_DSPRDY .EQU %00000100 ; SCON_COLS .EQU 80 SCON_ROWS .EQU 40 +; + .ECHO "SCON: IO=" + .ECHO SCON_IOBASE + .ECHO "\n" ; ; ; diff --git a/Source/HBIOS/sd.asm b/Source/HBIOS/sd.asm index 9b850850..d79a4c5f 100644 --- a/Source/HBIOS/sd.asm +++ b/Source/HBIOS/sd.asm @@ -116,6 +116,8 @@ SD_NOPULLUP .EQU TRUE ; ASSUME NO PULLUP ; SD_DEVCNT .EQU SDCNT ; SET SD_DEVCNT TO SDCNT CONFIG VAR +; + .ECHO "SD: MODE=" ; #IF (SDMODE == SDMODE_JUHA) ; JUHA MINI-BOARD SD_DEVMAX .EQU 1 ; NUMBER OF PHYSICAL UNITS (SOCKETS) @@ -129,6 +131,7 @@ SD_DI .EQU %00000001 ; RTC:0 IS DATA IN (CARD <- CPU) SD_DO .EQU %10000000 ; RTC:7 IS DATA OUT (CARD -> CPU) SD_IOBASE .EQU SD_OPRREG ; IOBASE SD_INVCS .EQU FALSE ; INVERT CS + .ECHO "JUHA" ; RTCDEF .SET RTCDEF | SD_OPRDEF ; SET DEFAULT IN HBIOS MAINLINE #ENDIF @@ -145,6 +148,7 @@ SD_DI .EQU %00000001 ; RTC:0 IS DATA IN (CARD <- CPU) SD_DO .EQU %01000000 ; RTC:6 IS DATA OUT (CARD -> CPU) SD_IOBASE .EQU SD_OPRREG ; IOBASE SD_INVCS .EQU FALSE ; INVERT CS + .ECHO "N8" ; RTCDEF .SET RTCDEF | SD_OPRDEF ; SET DEFAULT IN HBIOS MAINLINE #ENDIF @@ -159,6 +163,7 @@ SD_CNTR .EQU Z180_CNTR SD_TRDR .EQU Z180_TRDR SD_IOBASE .EQU SD_OPRREG ; IOBASE SD_INVCS .EQU FALSE ; INVERT CS + .ECHO "CSIO" ; RTCDEF .SET RTCDEF | SD_OPRDEF ; SET DEFAULT IN HBIOS MAINLINE #ENDIF @@ -179,6 +184,7 @@ SD_DI .EQU %00000001 ; PPIC:0 IS DATA IN (CARD <- CPU) SD_DO .EQU %10000000 ; PPIB:7 IS DATA OUT (CARD -> CPU) SD_IOBASE .EQU SD_PPIBASE ; IOBASE SD_INVCS .EQU TRUE ; INVERT CS + .ECHO "PPI" #ENDIF ; #IF (SDMODE == SDMODE_UART) @@ -193,6 +199,7 @@ SD_DI .EQU %00000001 ; UART MCR:0 IS DATA IN (CARD <- CPU) SD_DO .EQU %00100000 ; UART MSR:5 IS DATA OUT (CARD -> CPU) SD_IOBASE .EQU UARTIOB ; IOBASE SD_INVCS .EQU TRUE ; INVERT CS + .ECHO "UART" #ENDIF ; #IF (SDMODE == SDMODE_DSD) ; DUAL SD @@ -208,6 +215,7 @@ SD_DI .EQU %00000001 ; RTC:6 IS DATA IN (CARD <- CPU) SD_DO .EQU %00000001 ; RTC:0 IS DATA OUT (CARD -> CPU) SD_IOBASE .EQU SD_OPRREG ; IOBASE SD_INVCS .EQU FALSE ; INVERT CS + .ECHO "DSD" #ENDIF ; #IF (SDMODE == SDMODE_MK4) ; MARK IV (CSIO STYLE INTERFACE) @@ -219,6 +227,7 @@ SD_CNTR .EQU Z180_CNTR SD_TRDR .EQU Z180_TRDR SD_IOBASE .EQU SD_OPRREG ; IOBASE SD_INVCS .EQU FALSE ; INVERT CS + .ECHO "MK4" #ENDIF ; #IF (SDMODE == SDMODE_SC) ; SC @@ -232,9 +241,16 @@ SD_CNTR .EQU Z180_CNTR SD_TRDR .EQU Z180_TRDR SD_IOBASE .EQU SD_OPRREG ; IOBASE SD_INVCS .EQU TRUE ; INVERT CS + .ECHO "SC" ; RTCDEF .SET RTCDEF | SD_OPRDEF ; SET DEFAULT IN HBIOS MAINLINE #ENDIF +; + .ECHO ", IO=" + .ECHO SD_IOBASE + .ECHO ", UNITS=" + .ECHO SDCNT + .ECHO "\n" ; #IF (SDMODE == SDMODE_MT) ; MT shift register for RCBUS (ref SDMODE_CSIO) ; diff --git a/Source/HBIOS/simrtc.asm b/Source/HBIOS/simrtc.asm index 521b806d..69943d35 100644 --- a/Source/HBIOS/simrtc.asm +++ b/Source/HBIOS/simrtc.asm @@ -7,6 +7,10 @@ SIMRTC_IO .EQU $FE ; SIMH IO PORT SIMRTC_CLKREAD .EQU 7 ; READ CLOCK COMMAND SIMRTC_CLKWRITE .EQU 8 ; WRITE CLOCK COMMAND SIMRTC_BUFSIZ .EQU 6 ; SIX BYTE BUFFER (YYMMDDHHMMSS) +; + .ECHO "SIMRTC: IO=" + .ECHO SIMRTC_IO + .ECHO "\n" ; ; RTC DEVICE INITIALIZATION ENTRY ; diff --git a/Source/HBIOS/sio.asm b/Source/HBIOS/sio.asm index 4f7f9b86..3cf5a52b 100644 --- a/Source/HBIOS/sio.asm +++ b/Source/HBIOS/sio.asm @@ -104,12 +104,12 @@ SIO1B_CMD .EQU SIO1BASE + $07 SIO1B_DAT .EQU SIO1BASE + $05 #ENDIF ; -#IF (SIO1MODE == SIOMODE_Z80R) -SIO1A_CMD .EQU SIO0BASE + $03 -SIO1A_DAT .EQU SIO0BASE + $01 -SIO1B_CMD .EQU SIO0BASE + $02 -SIO1B_DAT .EQU SIO0BASE + $00 -#ENDIF + #IF (SIO1MODE == SIOMODE_Z80R) +SIO1A_CMD .EQU SIO1BASE + $03 +SIO1A_DAT .EQU SIO1BASE + $01 +SIO1B_CMD .EQU SIO1BASE + $02 +SIO1B_DAT .EQU SIO1BASE + $00 + #ENDIF ; #ENDIF ; @@ -1170,6 +1170,31 @@ SIO0A_CFG: .DW SIO0ACLK >> 16 ; ... DWORD VALUE .DB SIO0ACTCC ; CTC CHANNEL .DB SIO0MODE ; MODE +; + .ECHO "SIO MODE=" +#IF (SIO0MODE == SIOMODE_STD) + .ECHO "STD" +#ENDIF +#IF (SIO0MODE == SIOMODE_RC) + .ECHO "RC" +#ENDIF + +#IF (SIO0MODE == SIOMODE_SMB) + .ECHO "SMB" +#ENDIF +#IF (SIO0MODE == SIOMODE_ZP) + .ECHO "ZP" +#ENDIF +#IF (SIO0MODE == SIOMODE_Z80R) + .ECHO "Z80R" +#ENDIF + .ECHO ", IO=" + .ECHO SIO0BASE + .ECHO ", CHANNEL A" + #IF (INTMODE > 0) + .ECHO ", INTERRUPTS ENABLED" + #ENDIF + .ECHO "\n" ; SIO_CFGSIZ .EQU $ - SIO_CFG ; SIZE OF ONE CFG TABLE ENTRY ; @@ -1186,6 +1211,30 @@ SIO0B_CFG: .DW SIO0BCLK >> 16 ; ... DWORD VALUE .DB SIO0BCTCC ; CTC CHANNEL .DB SIO0MODE ; MODE +; + .ECHO "SIO MODE=" +#IF (SIO0MODE == SIOMODE_STD) + .ECHO "STD" +#ENDIF +#IF (SIO0MODE == SIOMODE_RC) + .ECHO "RC" +#ENDIF +#IF (SIO0MODE == SIOMODE_SMB) + .ECHO "SMB" +#ENDIF +#IF (SIO0MODE == SIOMODE_ZP) + .ECHO "ZP" +#ENDIF +#IF (SIO0MODE == SIOMODE_Z80R) + .ECHO "Z80R" +#ENDIF + .ECHO ", IO=" + .ECHO SIO0BASE + .ECHO ", CHANNEL B" + #IF (INTMODE > 0) + .ECHO ", INTERRUPTS ENABLED" + #ENDIF + .ECHO "\n" ; #IF (SIOCNT >= 2) ; @@ -1202,6 +1251,31 @@ SIO1A_CFG: .DW SIO1ACLK >> 16 ; ... DWORD VALUE .DB SIO1ACTCC ; CTC CHANNEL .DB SIO1MODE ; MODE +; + .ECHO "SIO MODE=" +#IF (SIO1MODE == SIOMODE_STD) + .ECHO "STD" +#ENDIF +#IF (SIO1MODE == SIOMODE_RC) + .ECHO "RC" +#ENDIF + +#IF (SIO1MODE == SIOMODE_SMB) + .ECHO "SMB" +#ENDIF +#IF (SIO1MODE == SIOMODE_ZP) + .ECHO "ZP" +#ENDIF +#IF (SIO1MODE == SIOMODE_Z80R) + .ECHO "Z80R" +#ENDIF + .ECHO ", IO=" + .ECHO SIO1BASE + .ECHO ", CHANNEL A" + #IF (INTMODE > 0) + .ECHO ", INTERRUPTS ENABLED" + #ENDIF + .ECHO "\n" ; ; SIO1 CHANNEL B SIO1B_CFG: @@ -1216,6 +1290,30 @@ SIO1B_CFG: .DW SIO1BCLK >> 16 ; ... DWORD VALUE .DB SIO1BCTCC ; CTC CHANNEL .DB SIO1MODE ; MODE +; + .ECHO "SIO MODE=" +#IF (SIO1MODE == SIOMODE_STD) + .ECHO "STD" +#ENDIF +#IF (SIO1MODE == SIOMODE_RC) + .ECHO "RC" +#ENDIF +#IF (SIO1MODE == SIOMODE_SMB) + .ECHO "SMB" +#ENDIF +#IF (SIO1MODE == SIOMODE_ZP) + .ECHO "ZP" +#ENDIF +#IF (SIO1MODE == SIOMODE_Z80R) + .ECHO "Z80R" +#ENDIF + .ECHO ", IO=" + .ECHO SIO1BASE + .ECHO ", CHANNEL B" + #IF (INTMODE > 0) + .ECHO ", INTERRUPTS ENABLED" + #ENDIF + .ECHO "\n" ; #ENDIF ; diff --git a/Source/HBIOS/sn76489.asm b/Source/HBIOS/sn76489.asm index 59570c07..ec132742 100644 --- a/Source/HBIOS/sn76489.asm +++ b/Source/HBIOS/sn76489.asm @@ -15,16 +15,29 @@ ;====================================================================== ; CONSTANTS ;====================================================================== +; + + .ECHO "SN76489 MODE=" ; #IF (SNMODE == SNMODE_VGM) SN76489_PORT_LEFT .EQU $C6 ; PORTS FOR ACCESSING THE SN76489 CHIP (LEFT) SN76489_PORT_RIGHT .EQU $C7 ; PORTS FOR ACCESSING THE SN76489 CHIP (RIGHT) + .ECHO "VGM" #ENDIF ; #IF (SNMODE == SNMODE_RC) SN76489_PORT_LEFT .EQU $FF ; PORTS FOR ACCESSING THE SN76489 CHIP (LEFT) SN76489_PORT_RIGHT .EQU $FB ; PORTS FOR ACCESSING THE SN76489 CHIP (RIGHT) + .ECHO "RC" #ENDIF +; + .ECHO ", IO_LEFT=" + .ECHO SN76489_PORT_LEFT + .ECHO ", IO_RIGHT=" + .ECHO SN76489_PORT_RIGHT + .ECHO ", CLOCK=" + .ECHO SN7CLK + .ECHO " HZ\n" ; SN7_IDAT .EQU 0 SN7_TONECNT .EQU 3 ; COUNT NUMBER OF TONE CHANNELS @@ -34,10 +47,6 @@ CHANNEL_0_SILENT .EQU $9F CHANNEL_1_SILENT .EQU $BF CHANNEL_2_SILENT .EQU $DF CHANNEL_3_SILENT .EQU $FF -; - .ECHO "SN76489 CLOCK: " - .ECHO SN7CLK - .ECHO "\n" ; #INCLUDE "audio.inc" ; diff --git a/Source/HBIOS/spk.asm b/Source/HBIOS/spk.asm index 67c9f7f5..780ca4b8 100644 --- a/Source/HBIOS/spk.asm +++ b/Source/HBIOS/spk.asm @@ -40,6 +40,10 @@ SP_RTCIOMSK .EQU 00000100B SP_PENDING_PERIOD .DW SP_NOTE_C8 ; PENDING PERIOD (16 BITS) SP_PENDING_VOLUME .DB $FF ; PENDING VOL (8 BITS) SP_PENDING_DURATION .DW 0 ; PENDING DURATION (16 BITS) +; + .ECHO "SPK: IO=" + .ECHO RTCIO + .ECHO "\n" ; ;====================================================================== ; DRIVER INITIALIZATION diff --git a/Source/HBIOS/std.asm b/Source/HBIOS/std.asm index 6e5b7800..bf7a372a 100644 --- a/Source/HBIOS/std.asm +++ b/Source/HBIOS/std.asm @@ -510,7 +510,7 @@ CPUMHZ .EQU CPUKHZ / 1000 ; CPU FREQ IN MHZ ; .ECHO "ASSUMED CPU SPEED: " .ECHO CPUKHZ - .ECHO " KHZ\r\n" + .ECHO " KHZ\n" ; .ECHO "INTERRUPTS: " #IF (INTMODE == 0) @@ -525,7 +525,7 @@ CPUMHZ .EQU CPUKHZ / 1000 ; CPU FREQ IN MHZ #IF (INTMODE == 3) .ECHO "MODE 3" #ENDIF - .ECHO "\r\n" + .ECHO "\n" ; ; SYSTEM PERIODIC TIMER MODE ; @@ -598,7 +598,7 @@ SYSTIM .SET TM_Z280 #IF ((DEFSERCFG & %1111100000000) == SER_BAUD115200 .ECHO "115200" #ENDIF - .ECHO " BAUD\r\n" + .ECHO " BAUD\n" #ENDIF ; ; @@ -629,16 +629,16 @@ SYSTIM .SET TM_Z280 #IF (MEMMGR == MM_RPH) .ECHO "RHYOPHYRE ONBOARD (RPH)" #ENDIF - .ECHO "\r\n" + .ECHO "\n" #ENDIF ; .ECHO "ROM SIZE: " .ECHO ROMSIZE - .ECHO " KB\r\n" + .ECHO " KB\n" ; .ECHO "RAM SIZE: " .ECHO RAMSIZE - .ECHO " KB\r\n" + .ECHO " KB\n" ; ; MEMORY BANK CONFIGURATION ; diff --git a/Source/HBIOS/syq.asm b/Source/HBIOS/syq.asm index 29126f9e..824d3bed 100644 --- a/Source/HBIOS/syq.asm +++ b/Source/HBIOS/syq.asm @@ -1446,6 +1446,17 @@ SYQ0_CFG: ; DEVICE 0 .DB SYQ0BASE ; IO BASE ADDRESS .DW 0,0 ; DEVICE CAPACITY .DW 0,0 ; CURRENT LBA +; + .ECHO "SYQ: MODE=" + #IF (SYQMODE == SYQMODE_SPP) + .ECHO "SPP" + #ENDIF + #IF (SYQMODE == SYQMODE_MG014) + .ECHO "MG014" + #ENDIF + .ECHO ", IO=" + .ECHO SYQ0BASE + .ECHO "\n" #ENDIF ; #IF (SYQCNT >= 2) @@ -1457,6 +1468,17 @@ SYQ1_CFG: ; DEVICE 1 .DB SYQ1BASE ; IO BASE ADDRESS .DW 0,0 ; DEVICE CAPACITY .DW 0,0 ; CURRENT LBA +; + .ECHO "SYQ: MODE=" + #IF (SYQMODE == SYQMODE_SPP) + .ECHO "SPP" + #ENDIF + #IF (SYQMODE == SYQMODE_MG014) + .ECHO "MG014" + #ENDIF + .ECHO ", IO=" + .ECHO SYQ1BASE + .ECHO "\n" #ENDIF ; #IF ($ - SYQ_CFG) != (SYQCNT * SYQ_CFGSIZ) diff --git a/Source/HBIOS/tms.asm b/Source/HBIOS/tms.asm index 89b8521e..e2a6fd65 100644 --- a/Source/HBIOS/tms.asm +++ b/Source/HBIOS/tms.asm @@ -42,9 +42,7 @@ TMSCTRL1: .EQU 1 ; CONTROL BITS TMSINTEN: .EQU 5 ; INTERRUPT ENABLE BIT ; -#IF TMSTIMENABLE - .ECHO "TMS INTERRUPTS ENABLED\n" -#ENDIF + .ECHO "TMS: MODE=" ; #IF ((TMSMODE == TMSMODE_MSX) | (TMSMODE == TMSMODE_MSX9958)) TMS_DATREG .EQU $98 ; READ/WRITE DATA @@ -53,6 +51,13 @@ TMS_PPIA .EQU 0 ; PPI PORT A TMS_PPIB .EQU 0 ; PPI PORT B TMS_PPIC .EQU 0 ; PPI PORT C TMS_PPIX .EQU 0 ; PPI CONTROL PORT +; + #IF (TMSMODE == TMSMODE_MSX) + .ECHO "MSX" + #ENDIF + #IF (TMSMODE == TMSMODE_MSX9958) + .ECHO "MSX9958" + #ENDIF #ENDIF ; #IF (TMSMODE == TMSMODE_COLECO) @@ -62,6 +67,7 @@ TMS_PPIA .EQU 0 ; PPI PORT A TMS_PPIB .EQU 0 ; PPI PORT B TMS_PPIC .EQU 0 ; PPI PORT C TMS_PPIX .EQU 0 ; PPI CONTROL PORT + .ECHO "COLECO" #ENDIF ; #IF (TMSMODE == TMSMODE_MSXKBD) @@ -69,6 +75,7 @@ TMS_DATREG .EQU $98 ; READ/WRITE DATA TMS_CMDREG .EQU $99 ; READ STATUS / WRITE REG SEL TMS_KBDDATA .EQU $E0 ; KBD CTLR DATA PORT TMS_KBDST .EQU $E1 ; KBD CTLR STATUS/CMD PORT + .ECHO "MSXKBD" #ENDIF ; #IF (TMSMODE == TMSMODE_N8) @@ -78,6 +85,7 @@ TMS_PPIA .EQU $84 ; PPI PORT A TMS_PPIB .EQU $85 ; PPI PORT B TMS_PPIC .EQU $86 ; PPI PORT C TMS_PPIX .EQU $87 ; PPI CONTROL PORT + .ECHO "N8" #ENDIF ; #IF (TMSMODE == TMSMODE_SCG) @@ -88,6 +96,7 @@ TMS_PPIA .EQU 0 ; PPI PORT A TMS_PPIB .EQU 0 ; PPI PORT B TMS_PPIC .EQU 0 ; PPI PORT C TMS_PPIX .EQU 0 ; PPI CONTROL PORT + .ECHO "SCG" #ENDIF ; #IF (TMSMODE == TMSMODE_MBC) @@ -100,7 +109,15 @@ TMS_PPIC .EQU 0 ; PPI PORT C TMS_PPIX .EQU 0 ; PPI CONTROL PORT TMS_KBDDATA .EQU $E2 ; KBD CTLR DATA PORT TMS_KBDST .EQU $E3 ; KBD CTLR STATUS/CMD PORT + .ECHO "MBC" +#ENDIF +; + .ECHO ", IO=" + .ECHO TMS_DATREG +#IF TMSTIMENABLE + .ECHO ", INTERRUPTS ENABLED" #ENDIF + .ECHO "\n" ; TMS_ROWS .EQU 24 ; diff --git a/Source/HBIOS/uart.asm b/Source/HBIOS/uart.asm index 19f623e1..4b5404c9 100644 --- a/Source/HBIOS/uart.asm +++ b/Source/HBIOS/uart.asm @@ -1041,6 +1041,13 @@ UART_CFG_SBC: .DB UARTSBASE + UART_LSR ; LINE STATUS PORT (LSR) .DW UARTCFG ; LINE CONFIGURATION .DW UARTSBC_RCVBUF ; POINTER TO RCV BUFFER STRUCT +; + .ECHO "UART: MODE=SBC, IO=" + .ECHO UARTSBASE + #IF ((UARTINTS) & (INTMODE > 0)) + .ECHO ", INTERRUPTS ENABLED" + #ENDIF + .ECHO "\n" #ENDIF #IF (UARTAUX) UART_CFG_AUX: @@ -1051,6 +1058,10 @@ UART_CFG_AUX: .DB UARTABASE + UART_LSR ; LINE STATUS PORT (LSR) .DW UARTCFG ; LINE CONFIGURATION .DW 0 ; NO INT HANDLER +; + .ECHO "UART: MODE=AUX, IO=" + .ECHO UARTABASE + .ECHO "\n" #ENDIF #IF (UARTCAS) UART_CFG_CAS: @@ -1061,6 +1072,13 @@ UART_CFG_CAS: .DB UARTCBASE + UART_LSR ; LINE STATUS PORT (LSR) .DW UARTCASSPD ; LINE CONFIGURATION .DW UARTCAS_RCVBUF ; POINTER TO RCV BUFFER STRUCT +; + .ECHO "UART: MODE=CAS, IO=" + .ECHO UARTCBASE + #IF ((UARTINTS) & (INTMODE > 0)) + .ECHO ", INTERRUPTS ENABLED" + #ENDIF + .ECHO "\n" #ENDIF #IF (UARTMFP) UART_CFG_MFP: @@ -1071,6 +1089,10 @@ UART_CFG_MFP: .DB UARTMBASE + UART_LSR ; LINE STATUS PORT (LSR) .DW UARTCFG ; LINE CONFIGURATION .DW 0 ; SHOULD NEVER NEED INT HANDLER +; + .ECHO "UART: MODE=MFP, IO=" + .ECHO UARTSBASE + .ECHO "\n" #ENDIF #IF (UART4) ; 4UART SERIAL PORT A @@ -1080,6 +1102,11 @@ UART_CFG_MFP: .DB UART4BASE+0 + UART_LSR ; LINE STATUS PORT (LSR) .DW UARTCFG ; LINE CONFIGURATION .DW 0 ; SHOULD NEVER NEED INT HANDLER +; + .ECHO "UART: MODE=4UART, IO=" + .ECHO UART4BASE+0 + .ECHO "\n" +; ; 4UART SERIAL PORT B .DB 0 ; DEVICE NUMBER (UPDATED DURING INIT) .DB 0 ; UART TYPE @@ -1087,6 +1114,11 @@ UART_CFG_MFP: .DB UART4BASE+8 + UART_LSR ; LINE STATUS PORT (LSR) .DW UARTCFG ; LINE CONFIGURATION .DW 0 ; SHOULD NEVER NEED INT HANDLER +; + .ECHO "UART: MODE=4UART, IO=" + .ECHO UART4BASE+8 + .ECHO "\n" +; ; 4UART SERIAL PORT C .DB 0 ; DEVICE NUMBER (UPDATED DURING INIT) .DB 0 ; UART TYPE @@ -1094,6 +1126,11 @@ UART_CFG_MFP: .DB UART4BASE+16 + UART_LSR ; LINE STATUS PORT (LSR) .DW UARTCFG ; LINE CONFIGURATION .DW 0 ; SHOULD NEVER NEED INT HANDLER +; + .ECHO "UART: MODE=4UART, IO=" + .ECHO UART4BASE+16 + .ECHO "\n" +; ; 4UART SERIAL PORT D .DB 0 ; DEVICE NUMBER (UPDATED DURING INIT) .DB 0 ; UART TYPE @@ -1101,6 +1138,10 @@ UART_CFG_MFP: .DB UART4BASE+24 + UART_LSR ; LINE STATUS PORT (LSR) .DW UARTCFG ; LINE CONFIGURATION .DW 0 ; SHOULD NEVER NEED INT HANDLER +; + .ECHO "UART: MODE=4UART, IO=" + .ECHO UART4BASE+24 + .ECHO "\n" #ENDIF #IF (UARTRC) ; UARTRC SERIAL PORT A @@ -1110,6 +1151,11 @@ UART_CFG_MFP: .DB UARTRBASE + UART_LSR ; LINE STATUS PORT (LSR) .DW UARTCFG ; LINE CONFIGURATION .DW 0 ; SHOULD NEVER NEED INT HANDLER +; + .ECHO "UART: MODE=RC, IO=" + .ECHO UARTRBASE+0 + .ECHO "\n" +; ; UARTRC SERIAL PORT B .DB 0 ; DEVICE NUMBER (UPDATED DURING INIT) .DB 0 ; UART TYPE @@ -1117,6 +1163,11 @@ UART_CFG_MFP: .DB UARTRBASE+8 + UART_LSR ; LINE STATUS PORT (LSR) .DW UARTCFG ; LINE CONFIGURATION .DW 0 ; SHOULD NEVER NEED INT HANDLER +; + .ECHO "UART: MODE=RC, IO=" + .ECHO UARTRBASE+8 + .ECHO "\n" +; #ENDIF #IF (UARTDUAL) ; DUAL UART CHANNEL A @@ -1126,6 +1177,11 @@ UART_CFG_MFP: .DB UARTDBASE + UART_LSR ; LINE STATUS PORT (LSR) .DW UARTCFG ; LINE CONFIGURATION .DW 0 ; SHOULD NEVER NEED INT HANDLER +; + .ECHO "UART: MODE=DUAL, IO=" + .ECHO UARTDBASE+0 + .ECHO "\n" +; ; DUAL UART CHANNEL B .DB 0 ; DEVICE NUMBER (UPDATED DURING INIT) .DB 0 ; UART TYPE @@ -1133,6 +1189,11 @@ UART_CFG_MFP: .DB UARTDBASE+8 + UART_LSR ; LINE STATUS PORT (LSR) .DW UARTCFG ; LINE CONFIGURATION .DW 0 ; SHOULD NEVER NEED INT HANDLER +; + .ECHO "UART: MODE=DUAL, IO=" + .ECHO UARTDBASE+8 + .ECHO "\n" +; #ENDIF ; UART_CNT .EQU ($ - UART_CFG) / 8 diff --git a/Source/HBIOS/uf.asm b/Source/HBIOS/uf.asm index 049167c0..328ac033 100644 --- a/Source/HBIOS/uf.asm +++ b/Source/HBIOS/uf.asm @@ -23,6 +23,10 @@ UF_USB_ACTIVE .DB 0 ; USB CABLE CONNECTED STATUS FLAG ; DEVICE DESCRIPTION TABLE ; UF_CFG: .DW SER_9600_8N1 ; DUMMY CONFIGURATION +; + .ECHO "USB-FIFO: IO=" + .ECHO UFBASE + .ECHO "\n" ; ; SETUP THE DISPATCH TABLE ENTRY AND INITIALIZE HARDWARE ; diff --git a/Source/HBIOS/vdu.asm b/Source/HBIOS/vdu.asm index 0d035bf4..890e2a06 100644 --- a/Source/HBIOS/vdu.asm +++ b/Source/HBIOS/vdu.asm @@ -81,6 +81,12 @@ VDU_R11 .EQU DSCANL-1 VDU_R10 .EQU (VDU_BLNK + DSCANL-1) VDU_R11 .EQU DSCANL-1 #ENDIF +; + .ECHO "VDU: IO=" + .ECHO VDU_RAMRD + .ECHO ", PPK IO=" + .ECHO VDU_PPIA + .ECHO "\n" ; ;====================================================================== ; VDU DRIVER - INITIALIZATION diff --git a/Source/HBIOS/vga.asm b/Source/HBIOS/vga.asm index 039a1445..8ed9c280 100644 --- a/Source/HBIOS/vga.asm +++ b/Source/HBIOS/vga.asm @@ -20,6 +20,14 @@ VGA_CFG .EQU VGA_BASE + $04 ; VGA3 BOARD CFG REGISTER VGA_HI .EQU VGA_BASE + $05 ; BOARD RAM HI ADDRESS VGA_LO .EQU VGA_BASE + $06 ; BOARD RAM LO ADDRESS VGA_DAT .EQU VGA_BASE + $07 ; BOARD RAM BYTE R/W +; + .ECHO "VGA: " + .ECHO "IO=" + .ECHO VGA_BASE + .ECHO ", KBD MODE=PS/2" + .ECHO ", KBD IO=" + .ECHO VGA_KBDDATA + .ECHO "\n" ; VGA_NOBL .EQU 00000000B ; NO BLINK VGA_NOCU .EQU 00100000B ; NO CURSOR diff --git a/Source/HBIOS/vrc.asm b/Source/HBIOS/vrc.asm index d9751cdb..3f25392e 100644 --- a/Source/HBIOS/vrc.asm +++ b/Source/HBIOS/vrc.asm @@ -25,6 +25,13 @@ VRC_COLS .EQU 64 #DEFINE VRC_FONT FONTVGARC ; TERMENABLE .SET TRUE ; INCLUDE TERMINAL PSEUDODEVICE DRIVER +; + .ECHO "VRC: IO=" + .ECHO VRC_BASE + .ECHO ", KBD MODE=VRC" + .ECHO ", KBD IO=" + .ECHO VRC_KBDDATA + .ECHO "\n" ; ;====================================================================== ; VRC DRIVER - INITIALIZATION diff --git a/Source/HBIOS/ym2612.asm b/Source/HBIOS/ym2612.asm index afa4bd48..936dabae 100644 --- a/Source/HBIOS/ym2612.asm +++ b/Source/HBIOS/ym2612.asm @@ -38,6 +38,10 @@ YM_RDY_RST .DB 0 ; FLAG INDICATES IF DEVICE IS IN READY (NZ) OR RESET STATE (Z) YM_DEBUG .EQU 0 ; CHANGE TO 1 TO ENABLE DEBUGGING YM_RSTCFG .EQU 0 ; SET TO 1 FOR FULL REGISTER CLEAR YM_FAST3438 .EQU 0 ; FAST CPU'S WITH A YM3438 MAY REQUIRE A DELAY +; + .ECHO "YM: IO=" + .ECHO YMSEL + .ECHO "\n" ; ;------------------------------------------------------------------------------ ; Driver function table and instance data diff --git a/Source/HBIOS/z2u.asm b/Source/HBIOS/z2u.asm index d4ac9ac3..9e54ebb0 100644 --- a/Source/HBIOS/z2u.asm +++ b/Source/HBIOS/z2u.asm @@ -715,6 +715,15 @@ Z2U0_CFG: .DW Z2U0CFG ; LINE CONFIGURATION .DW Z2U0_RCVBUF ; POINTER TO RCV BUFFER STRUCT ; +; + .ECHO "Z2U: IO=" + .ECHO Z2U0BASE +#IF (INTMODE == 3) + .ECHO ", INTERRUPTS ENABLED" +#ENDIF + .ECHO "\n" + +; Z2U_CFGSIZ .EQU $ - Z2U_CFG ; SIZE OF ONE CFG TABLE ENTRY ; Z2U_CFGCNT .EQU ($ - Z2U_CFG) / Z2U_CFGSIZ diff --git a/Source/ver.inc b/Source/ver.inc index cc253650..cf066c01 100644 --- a/Source/ver.inc +++ b/Source/ver.inc @@ -2,7 +2,7 @@ #DEFINE RMN 4 #DEFINE RUP 0 #DEFINE RTP 0 -#DEFINE BIOSVER "3.4.0-dev.25" +#DEFINE BIOSVER "3.4.0-dev.26" #define rmj RMJ #define rmn RMN #define rup RUP diff --git a/Source/ver.lib b/Source/ver.lib index f3857cdc..fadf6dde 100644 --- a/Source/ver.lib +++ b/Source/ver.lib @@ -3,5 +3,5 @@ rmn equ 4 rup equ 0 rtp equ 0 biosver macro - db "3.4.0-dev.25" + db "3.4.0-dev.26" endm