From c31ab0387f611ddcd24b62a1a11e6ab3f2fb3042 Mon Sep 17 00:00:00 2001 From: Michaelangel007 Date: Thu, 9 Nov 2017 11:21:37 -0800 Subject: [PATCH] Initial version --- README.md | 16 ++++++ pics/screenshot.png | Bin 0 -> 10798 bytes softswitch.bas | 128 ++++++++++++++++++++++++++++++++++++++++++++ softswitch.po | Bin 0 -> 143360 bytes 4 files changed, 144 insertions(+) create mode 100644 README.md create mode 100644 pics/screenshot.png create mode 100644 softswitch.bas create mode 100644 softswitch.po diff --git a/README.md b/README.md new file mode 100644 index 0000000..46417fe --- /dev/null +++ b/README.md @@ -0,0 +1,16 @@ +# Apple 2 Soft Switch + +Inspired by Anthony's program here is a Applesoft BASIC program to display a memory map and limited soft switches. + +![Screenshot](pics/screenshot.png) + +# Commands + +* ESC = exit +* SPC = toggle status lines to show description / soft-switch addresss + +NOTE: The IO soft switch address don't exactly match the hardware switches due to: + +a) some are contiguous +b) some require multiple locations to activate (i.e. TEXT/GR and Lo-Res/Hi-Res) + diff --git a/pics/screenshot.png b/pics/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..1f715d4c5723cc54d9fc06eca9b29439724e40f6 GIT binary patch literal 10798 zcmb_?c|6o>`@iHADk@Zxy;7twsKFq6k|A3Nm1VM}42H2+hzLnBF;mFCgi!X=VpPVI zF@#WA#>`+a_VxGq%yiCkPS10m=k@x%zW!+%_kCUW^1iO?{l0FoW~PQac=z*iaB%E6 zW2ASUgM(9ngJV+!Hz)9oMmg~l@XsdXc|#qJ()I&X;Ipl}k4F`PUNM5nIW7kjA8SCjUC)FxUF}3d2c#jb7HYK9bm4yW!NggfHV6&osAgMeI%P zaq%Z3-Fh@;c3|V5uFy$si|R|q5H6n<(ZeaZ^NjFEFsfI^Z=5?LIJmCqeG5NHOSKN? z9ut*~SS0Y7b??q6wn|sF`+x8VuBRNp2XE0Ze$oz+!oN`IJEesF6gWXEQ01i-q>Nl- z88G08@~e#eJlV&+2&?rK2p2ijzOtS3NDiVc*+QFxbLUIgCczGZ!M+7oZ}e(jTUb+9 z!xuU3PK0IR#m_QOIW5ud_OV_XC0xhMhyuxz;*#Ll#J#G+5jDH*LHqGWtuc+vu@cSf z@>+7r@;O_Z^6p*vaHKx}9K1D-Mxp3QW)d^vz;#GWZ3FzAFk7yZtx;WL-k9vB5ML-| zqiw=0+;aWVVy_nRhQ7F?wE}N)@W#S9S#DlPMCf=ZMl&$`276~sOOgl4SGrML59&=1 zR=CRIrRiiC#iSbDAFMB%@;vh~&PZBCSI;B*IjjYF4~DUjra(NaHC1^Fh{wjbfWvGq z;#pl9B_V1OubEhXjmDzpJ>f5|7|3bHpq{?SBG$F#Yc2>qppk8+^d!kk0z8|zf#cc6 zvznFkqu?=Yt%c~)@9&+XBm(#;Ul9mwQLe=Ct?_i&2G$$8xhOS_Hhs`+Iw>QJKw&?) zd_`1amQ;{##BqXew3d=*+v50sXf-9+Kr(@+l9y#!X4jW`*F3ms)!GsjTRi9~U0FJ% z`(*Q`4eFG7Zg3Ve&M7=jJ);KBFErB*b;jyD20JpkU;|54u#?zk?Y4~nby0@gLFaBTC3>KiIrr{&^g(efmid?YPx4y7b{$uNwGdD`d2V2&*#_G_tq}6VN zx5&%+xMti^=2eLX4gSqjx(eaN?I*3Ue)KW5dL4PvVx%#cKJ0Kd0Uj!}ROgxfBu;04 zc&pCCP|Gl)2dv5bJ|vrtm#AX6{QWm(pkSLNm z8IteHbxmBt3-=WXOAL-oi)H((Fhg?O-bAz3(avRNl$odN1KM@eyOf<|Nywiteg|tm zrWBa7(l5~Sm4Q9hvGV(7*5zjMJV{c6#|*HH-)SB_sd5|h-m+CAwe{lrN~wzTkM^;y z?`0eZFI9G?lYKrrA_+boW)4bSXZ8y(t=37EWcP$HXhwv@9W0wLz$Usqs+48(Uh}BD z`Uc;b)PxFQx@1C|(p8f$a#9VvVl2C3XE>rdk;nah125X2OVy``N~NRqQLh}j&jX{x zHCU(fDTRZ#fO2t+7Yq(McsX}THZRQIo|3nMUJlM_(Tf&J9uWCy(FCv^!q>f<|zjx_I`9re|)@M2;*u-7Tua;R=mZjN^{7MCc!6 z1@*CmQ+IXjE|l2Pgy4&Ah9Tza3mCUtN`(awM+PSSgG+C|=bb9Fml00K3qh*OPude! zQ!B?ONJDs;!rAL#+j*%Wqn02PIU=37>+K}hUT@yZWqR-%>Ozx6oy`8?#kH=GAK&dB z6(*tDg_*~E#ZEsX78kW?4U%iOAIb6edcU1@n(Ew7k^-8g1Uc7u-e%hQ;4d#Q>g{7b zD4>zmy_IEH-2tly0sbdMqWsE&KFfp7@Vm7oVF51=6l-m2I;};m?n~crXk|=T3^5jM zbtL`Q3!a_?&;Eo|gbw=ibEwBj&h?Tv=Ar}B0U@0|azV6VD`Y3cMoLam6F-(WS!PKU zxTQmbY*PbaKIH)>lWdR9kEi@x}C8ov~=+SnpT|0I1&dyf+Z>2{EpYSP7(-ahsp$H0fibrB3vNK@8j3Z@|#( z{LpblY2+bFT&uCe6?XQK1vXsNYO$A9ilY_Z$FA*=4|d{gEze^tgG(_uD)TAyuzcM%yrKI)%&vdXyo&Q`6ukJ+8A5pIyi{>Ccj?f}hkc`Y?@>nbThChjZ|6T( zx4PuUrNy{izqD9$DtN8w)obMy{s->!IP-=#%gU(X;+Wm+vbght;kUg}f+q>%)JOfg zFwML1Z?3M!8R@HPCL07)LyV0(R>W~IAat=CA#ln7P5FnQ7*RR%OgKL&UYM}qHM5Yk z9NtUa31%KS?o~LvfEZM@)-{S9?-@(BGoKJj#%u^zTYP9Oa`L7;DY_iI9V^6@Hp*LQ zGvb0_4x1Y>x4&l}=2ox*Hc79L)+0P}PDMqSLU>!0`*9^%DW<}f1$W>H?hl)*wqL;v zl|M;p3Hh@U0kv=7RaS-8`zq2?UUP;|I};L*>MSX0PtP`q5LA-mdZav8N(I<{Zww-30Kbo7lki zw-5A}T$PouS~{^X{RVx|T<3}J-m}#|t^xL|Mc(V_nlRM^kK{03mTzN&>p8AD5sN%i zqqRfbZs#S8e9Lt+0TZS~l6*%Su#?U!Ny?j8@Y6_I+|F8(_BKw9B)j;?!z^4zY~77x z!}IFth^^=EDt_W(0d`9J2ZVjp^4wF}9*SEqY^;bGg=}F>eDd2SF(dgFZ2{K8n>WW2 z*+_pO(Y(3f-M*`wtmOqtObfFnM(*JXl&IRb`5ZeE_z!AsW=;HblY>8JkMk2A7RVP@ z_c{;q+}toazwxSj?B(89d-$b;tDf2x~A?q%dvG1$HChA%}tW6IgqCiu0ULL$naI85YT>`ZfODQv>I-$UHi+0VQz z#5xaCsVQ?KG$roC`a%Bi+}jn4Q*`$h;d=?4Uc~2g4cv_Z1n#E0rhB6aG7R%KhhSpM z9G*v!m0-g?)_UmFx?mb|dZl-9+<$#YqqvJlfuL5jo(#-0_;nsB%932I~z#U^!mN97-Q;^D{Go%zoL%fq zv<`(WxFq-TsIss*D--cIW;)op)8nv(?3csP*x2C1q zRB&1--a}&K!IDagcmFf1_Sjk3KsK61HVK}uiT%V60^`wc;0!2(k_8p!I;FlX$?K(= zZrjv9DhN=6r`aI{2kICW`BV-BZJG4*ppT|-995`W&DO<*8Ca4vANMDH`;`*P*PU9p zFx}a6`$w!-?Z?zlaYiL~*hFs)AbQKhJA9HLGrbAcr&Hx}X^OEoRs*ddWp_GPuhpTM z`!oO{7%rPOT9s00iNFXMqhbr-m0?nX=QD+pSpoGtsrdx2`>JTiqF5oZ%~M*g?M0vQ zYL%iear&q%X?FXNL$_~h;mXm9R=%)YD3+7d7PbYlkw$T_Ha9}03x?`|H*gBLfe!n} zy=Z%L`<|=y%awr%Ji+=oHm~aNM_pL~!sVypmH2z*O%Bq<({qIxCP=IXuRB&!n01=p zI5@?lhEXozy$G_O&z@TwCY+kdX}K%ea!v`YklG>ZD2}tb?R{E~t_k#^nA3wtDl^9nq8I}2>;F*+u_;U1m`e;gSn=&OYRtJMH+QLd4 zry@XROg?ihSj9@=hPoO2Z5^Ije7DV`zuPJOY(_i7bI77wMy36YMK zf_M}y^E9DvK3wTXx((lTYc&T)Y5;PYy32WZCkTm2_$B7!{W=RS9}e@;d-M4u zm27_4=vmWtvqg)|E^SE%eQYfoJ(ACt&h02X+oE>V_v-2esJm)^6?Fs`eqk5YYKo2h zlK}Rw2|N`CH+A9=fc^F+-SZ7ux0RY&Zijm3EZo}4ifA-IoaZvOIk5I53YInWvPq9i zSbx#{V%;-xGDiGAMm{j^#$?=Tc*3sL(-P;8jOlKo!XB%V**|9L7KAM)|uC$ykdgzkugD!eNeIv^PR)!wXx!FCI{o!T6 zwAL%l!aYIOfPyXJ!KDLSfn*>_fE?V+MxZt@kmD`HBECuMlj&+>Zqc>u7a8w8_(>Pf zEw-%!5vlsOh&+c41aG*hrwof>s{6?cVi!F<27&w=oNfM!r!5b_OyClJC?P8Sl$r+ED6T4%}%iD$^?`Q9h6m^^P)>NAm?uHvE&ap$vFq# zPa0QMXT-RxrL3SqRlVyMRlPqvMzCSgyA$_NOdyz^EQTAIZJmnW=vEiTJJn$_Lqp=e zq`q@0O5d>K9HR9Ip-}U?~Nb$dY=ThZ8rb4+;qVTT_ALA3Um7-cw z++HJxQpA0BB>1hr8n8_UnAoHV(hXo@!su~!x8@D2VNxvQJ&f{hO7v8nIC-~o-#BmN z2Z!SOF=>2UX>Kt`50E#LR__5yT>aWOONnpd9+#QQrd;fpfWNu72N-i#@jxdRNrT(v zt}-k4?>orm#b7_`w|hGUhJ4Uc2Gg$7-3A^pUs&+`ln&@zrr+2OF#X)+_7c2bC|qT= zcH0Sd`s3Op6f&a^8O{esik$|Uw09JJxk02Z$bjkmX|R%Oim2+3N-|>=3;>4OWp)r} z=mIH(4^hZU?9JgjzpUnN0fJ=(rH_F-`}w@hALwv^Kvjq@YYnb|DnCLy9LNsqkStx$ zc$ox9d{h$pKIoETm&xr{=9g6vUu?G|zGX)ON;2ZF858URR^GE}T@02WSk%y=^yE33 z9>_K#nyUb*-#wG3#>y-q;0bSY(ihQ>KkrB0jV+R@I{Dv}`KefA6IfrZ5#u7Pbihxj zZgb?aOoDqrTKCJXxzJH$8F^WmPSKGh+wS^nZ#Nejw!GxsIRrBxKAo16sxfCBV3yJcQ6jBXB!4gDG;Uw)BbZA0PbO+x3jCycs?YcY4Us=#&*rNzU8(<;%ozI zVX-GOB*T2oLw%FOjy~t9Vt`24m^H}CkTPTv|3*CwC6`2daPziR%b9jXEn>CXq0~7|D*KHN@4tc>{9RWv6rbS0!aPUh z8dunC#@X66_b;CTrs<^^eG795vo+Ey*$tFOdv4{hW#gAsSWfeY&ogatJ@b5ZtFQK5PCArpHKW7xr_5$GNRk>y zav(A~@?eDQG~)3Jv$#du9Uc(Gm+-k^S3yzZN#@vbVnH1(xpo_y0F_ETQG4GsX9#%P z`!8?u>fr$eyq`nUot$3>q^3*|R&7ngYtaXP_GNXoaop<+pt|ACeCAOAvyj27=v0Mt+q zA9k*}E+08A{4`9kqY9Gs*Oph+e0@`-lVHbh4i_zzf{mRz+ru9a1e+HH%jNFAw}xzlzX+uI2DF@gYO$@%tzJ9+i_RvZWI{qK#O+CCh8@ zfDvezBKG)kf&_vLHg!AW3lpB>WeuJE$^^({XC#{9C<-d;P29gqci>UU`(=rSrAWcx zgs1dBKT(iKiK&Fe;3ut+_9s=ZONYOT{1L0#|E9%{n`&9BF8AN>_%M6Uh1B|7r4d^x zMiu%g-4Q?qYbX8DwFfHL@%ED5L((@a<44Pei&6RM5OoV5Ta9%lPp6iU33HV?Uec<( zu$z9s3Fo#ZcqB(nPKuRxFG+%+UR2K+d*_oqls9rJ4?z;}97X52wR#aU-px)U5aPHj zodHNZYVLAY=HgMms>cLnyuf8l5Ao8dIJ5qvEHCwVN){YU6#O#JfwqvRg}skl4>M@I z%&b#(2zVAgMHIDJ8+V@Bg?q;Z)R2{XE|Xs%r23)G3T(QYLGGmCU#r^BmK4rkvC)FQ z1NJdu;{vA|p|#jz>ise;Fc%+iwpwu$t0Gzfx_>XPds~bZD@mP-Z8nsoib7>qQogEp zq&TTpTEUm;j# zwm`*lgZL=OLIpxl`@i?5oOitSwzJLjv6;N0ncaY)t|A*MrAQ$iUxCIH&_4RLF(udA z%IF2;wwDJYIVO{;5-W=;?{0p%b~=4@!tlt}OBhb)m{^_OO?S;$dy8lmj1-4a?q8FY zeq06wR+)2nh-+?;28pf&HhTT~XY<()Lpor0>a{pfL(ak98ez367J*kz-JiVUmsc>} zGvxT*!m!t6*e4@l3mL*oS;D@Spu0pML7?C6gMuy8$Q1#APDOu$rB}S?6PfNQTn2Q! z=}+$eOScK6T?#^(If}L2wvHmywSRm836IJ7V8G)VmcX;pYsA?4Go}s#T`uU}T99f^ zseuotv$M{wL*e{q7777D9&nT0U-}Q7C=^Jte0>k)3>syM7YO}qGW;)L^0J*|HO|LH z!zt(XTy`81OB+oiHdxaEWwPyW%7n5gBHiG>%)DNIvbJkGnvd}ConF0x8&t)hvS4sw zxiDa?+O3Ox1Itn;G#h(*v}n;~L!r5=AzimxUY7J|ya^;%Mj4`_Wat;y9Q&EUZV8{a zGm|mriVnDX#yEP`t4&JIyFtliR?2xT`C8-0HUh~gtHPDz6NZrZ;4TOM;EeEkj8!_+ z+_eljYuAF1ob%r-`qQsM%Y+|YOI@ZGjTLoo+}sU^dr(sll294d9>Mw6R$pR}A9Y%cAU zfye0hF)^+7GALp^{>&(@Aa$Yy=a8O1k?s%l%Xo+bGz{f{v2AKwndm)lnUoPf>@H}# zlM{Kh@#D&DS}}4CSPJqDn?LW}`Q=ECacH>dHLOo~N$6{W1`{!F-Fmgn(YXD&@6e|> zN*_~WuJdz~uR1QmS__A0_@S|cEW4pO z$g7t2pi5Khg(|z5s(nctc-UJF@*mB7=NY7h-kl(B*y1q)En9-v(+%2Qq90P!o4RMh z8b4kf^gl*K_xmTO5~Gpxw#9S>CGoQZ@CS2@WCV7tmnNLj7Cs)IQAui5d%rrzm;G=d z$+dK)Qq0WAKl&%p*Wnb2vJ9W^lCDDakH8%k#vH5YMDI{O&uC$LuLS@*A62H_5(UrMl zwpx=~h2kUEE!(Gqoc;CXiPW#M4HF6G(ZLH?amIso#`j)g$g|}olNUd#ATv0Ov6itF zF{`>IP$;4J%TTGAkx=wokXJ=C`*J$T<`_FIUo3fxfSZON209eEjWr!l@ngab5Aovk z&k!|%g*LzZs#!rteVfFpN;@WHMib$St`>%Go#_ovdSBboDm4GH7B0WicA(GRz`1eR zO2${yc?R8~m@pk{W@IYHj{1w*-bLX0_g7RmeNoDz#NvY-Tr@7tK}jl(pElaYfNR)@hzX! z?VA&D2ZGW+t)x~hKV~nq393+Y<=$M7)jc^6@euY;n=CTchvi(Hpid z54|%at>vI{h%>2O(|2G@0|(9>M&z`>XNebC%1UcEWuOn#X9X0NtVn;VRrg|f zL(TH3K2#Ap>)4xG&8p??#IaA1KnmKReG6cg>I;e%>ET~BWKNGwxl@&w0hj% zF`tJy>MJ3{zYZ9|;thCgtfqJ5tht7wgD8bBQC8`xLUi1OJ}2E`Y*6k!Gt zIabOQSPK*Z$ZCIWrvT*FRz6uX5`nFq_9{b6)kRdzKg;%&VjvrF#tyKKfxv$He8>j2 za`FbY5yg;s3pp?nw0r5&d1x~6>N+GFQsPoH8`Swg1^(=0LRp_-rV+EV2qzq?qn4st z#d?mAI5hQ4r=u=nz^OxRXp!)LF+amB)z+>MVBqg>Y-K7XNPt{#uGZ%DdY4oIq^@no0;S;&5lffVTl$n*N|A@05psNLF^?Rk3GJ$-rAuLg#id zC 0 THEN L$=LEFT$ (Z$,U-1) +30 IF V-U > 0 THEN R$=RIGHT$(Z$,V-U) +40 NORMAL:PRINT L$;:INVERSE:PRINT M$;:NORMAL:PRINT R$; +50 IF I<>10 THEN INVERSE:PRINT S(I);:NORMAL +60 IF I<>5 AND I<>10 THEN PRINT " "; +70 RETURN +80 SPC=1:AUX=5:RAM=8:ROM=9:RU1=10:RV2=11:RLC=12 +90 COL=5:D=COL*2:N=COL*3:M=21:DIM K(D),T$(D*2),H(D),S(D),B$(13),A$(M),U(M) +100 REM *** STATUS LINE +110 FOR I=1 TO D:READ KEY$,T$(I),H(I):K(I)=ASC(KEY$):NEXT:FOR I=1 TO D:READ T$(I+D):NEXT +120 REM *** BANKS +130 FOR I=0 TO 12:READ B$(I):NEXT +140 REM *** MEMORY +150 VTAB 1:HTAB 7: ? "____RW____ ___READ___ __WRITE___" +160 FOR I=1 TO M:READ A$(I),U(I):T=U(I)+1 +170 P$=MID$("||::",T,1):B1$=B$(T):B2$=B$(T):B3$=B$(T) +180 VTAB I+1:HTAB 1:PRINT A$(I);P$;B1$;P$;B2$;P$;B3$;P$;:NEXT +190 S(10)=0:REM *** RESET S(10) STATE = TOGGLE STATUS +200 FOR I=1 TO D-1:S(I)=0:NEXT +210 REM *** STATUS +220 VTAB 23:HTAB 1:FOR I=1 TO D:GOSUB 10:IF I=5 THEN VTAB 24:HTAB 1 +230 NEXT +240 REM *** DRAW MEM +250 AZ=S(3):REM ALTZP +260 P2=S(1):REM PAGE2 +270 S8=S(8):REM 80STORE +280 HI=S(6):REM HIRES +290 RR=S(2):REM RAMRD +300 RW=S(7):REM RAMWRT +310 HR=S(4):REM HRAMRD +320 HW=S(9):REM HRAMWRT +330 B1=S(5):REM BANK1 +340 REM *** WHICH PAGE VISIBLE +350 Z=2*HI+P2*(1-S8)+1:REM 80STORE=1 MAKES PAGE2 BANK IN AUX +360 Y=10:C$=" *":GOSUB 9:REM G=1 P=1 +370 Y=12:C$=" * ":GOSUB 9:REM G=1 P=0 +380 Y=16:C$=" * ":GOSUB 9:REM G=0 P=1 +390 Y=18:C$="* ":GOSUB 9:REM G=0 P=0 +400 Y=2:Z=HR*4 + HW*2 + B1:X=INT(Z/2):REM *** $E000 +410 IF X=0 THEN U=SPC:V=ROM:W=RLC +420 IF X=1 THEN U=ROM:V=SPC:W=SPC +430 IF X=2 THEN U=RLC:V=SPC:W=SPC +440 IF X=3 THEN U=SPC:V=RLC:W=ROM +450 GOSUB 2 +500 Y=4:REM *** $D000 +510 IF Z=0 THEN U=SPC:V=ROM:W=RV2 +520 IF Z=1 THEN U=SPC:V=ROM:W=RU1 +530 IF Z=2 THEN U=ROM:V=SPC:W=SPC +540 IF Z=3 THEN U=ROM:V=SPC:W=SPC +550 IF Z=4 THEN U=RV2:V=SPC:W=SPC +560 IF Z=5 THEN U=RU1:V=SPC:W=SPC +570 IF Z=6 THEN U=SPC:V=RV2:W=ROM +580 IF Z=7 THEN U=SPC:V=RU1:W=ROM +590 GOSUB 2 +600 REM *** LOWER 48K +610 Y= 7:U=RAM:V=SPC:W=SPC:GOSUB 3:GOSUB 2:REM $BFFF +620 Y= 9:U=RAM:V=SPC:W=SPC:GOSUB 3:GOSUB 2:REM $4000 +630 Y=11:U=RAM:V=SPC:W=SPC:GOSUB 3:GOSUB 7:REM $2000 +640 Y=13:U=RAM:V=SPC:W=SPC:GOSUB 3:GOSUB 2:REM $0C00 +650 Y=15:U=RAM:V=SPC:W=SPC:GOSUB 3:GOSUB 2:REM $0800 +660 Y=17:U=RAM:V=SPC:W=SPC:GOSUB 3:GOSUB 7:REM $0400 +670 Y=19:U=RAM:V=SPC:W=SPC:GOSUB 3:GOSUB 2:REM $0200 +680 Y=21:U=RAM:V=RAM:W=RAM:GOSUB 3:GOSUB 1:REM $0000 +690 VTAB 1 +700 K=PEEK(49152):IF K<128 THEN 700 +710 K=K-128:POKE 49168,0:IF K = 27 THEN VTAB 1:END +720 CMD=0:FOR I=1 TO D:IF K = K(I) THEN CMD=I:I=D:GOTO 740 +730 IF K(I) >= 64 AND K(I) <= 96 AND K=(K(I)+32) THEN CMD=I:I=D +740 NEXT +750 IF K = 32 THEN CMD=10:GOTO 780:REM SPACE = TOOGLE STATUS DESC/ADDR +760 IF CMD = 0 THEN PRINT CHR$(7);:GOTO 700 +770 IF CMD = 10 THEN 200:REM RESET +780 S(CMD)=1-S(CMD):GOTO 220:REM STATUS +800 REM *** STATUS = KEY,TEXT,HIGHLIGHT +810 DATA "P","PAGE2" ,1,"R","RAMRD ",4,"A","ALTZP ",1,"D","HRAMRD ",6,"B","BANK1" ,1 +820 DATA "H","HIRES" ,1,"W","RAMWRT",4,"8","80STORE",1,"T","HRAMWRT'",7,"S","RESET" ,3 +830 DATA "C054","C002 ","C008 ","C080 ","C088" +840 DATA "C050","C004 ","C000 ","C081 "," " +850 REM *** BANK +860 DATA " *" +870 DATA " " +880 DATA "__________" +890 DATA " " +900 DATA "__________" +910 DATA " AUX " +920 DATA " AUX B1 " +930 DATA " AUX B2 " +940 DATA " RAM " +950 DATA " ROM " +960 DATA " RAM B1 " +970 DATA " RAM B2 " +980 DATA " RAM L/C " +1000 REM *** LINES = ADDRESS,UNDERLINE +1010 REM 0=| | 1=|__| +1020 REM 2=: : 3=:__: +1030 DATA "$FFFF",0 +1040 DATA "$E000",1 +1050 DATA " ",0 +1060 DATA "$D000",1 +1070 DATA " ",3 +1080 DATA "$BFFF",0 +1090 DATA " ",1 +1100 DATA "$5FFF",0 +1110 DATA "$4000",1 +1120 DATA "$3FFF",0 +1130 DATA "$2000",1 +1140 DATA " ",0 +1150 DATA "$0C00",1 +1160 DATA "$0BFF",0 +1170 DATA "$0800",1 +1180 DATA "$07FF",0 +1190 DATA "$0400",1 +1200 DATA " ",0 +1210 DATA "$0200",1 +1220 DATA "$01FF",0 +1230 DATA "$0000",1 + diff --git a/softswitch.po b/softswitch.po new file mode 100644 index 0000000000000000000000000000000000000000..6cab7dd5f838682a8cbef4f146bf7cdcc0353792 GIT binary patch literal 143360 zcmeFa349b)_Ag#t)k(TL3F$0AgNP+-8c?F>*s=y>>4auc5JktCc0oHR$jmS^IOB{_ zQ%p}x#m22@9hS3=C}Mm|KI0* z-uu1xY&u=H?sD$A=bm%!x#uouED~e8`-7DaL>OJMd09R_`UWn~6D_i4H`ZF^u~ILA z;VE7F1Ye$2c-(5|ayhH#=~`>WTl&U^6Y_a)V&GPNaEQL*j6OJ0?|#M5Wb797T%NGf zLq#r0qd9Aly(quPRy4b4Mq|;G#-iy$3il*8lg-dej`k<#E_&NM3%f+`n`>fU)XU#`UMYG= zmu=bhkh0UHb1LV8B@M`G9TC12gZOw{YJ4X|tjuC@lp51%n4B z523!LSQ4PATONEkZ~pZx1Z4CMN<&$w>)CFn*wMF}^)xkV%H(-@4}705I-2TDQQ6;T z8+f}ViKg!Sz6p1t1a);PrK4U>MYi-5RI1UD0DTkn9|JciK$Fh-@$>&I1sE#f|JkHm=l;uN?o`X7CMq|pDx6tI=Dwl`RtlijE&Cy#j|5&6t1GFw^i+4o7!XEn8+ z*r)b$apSq~#M;j{pHeQJ>HMyv#}m)L`Bay3uIJd9YEPv5+nQ=mZQc4$#kx;7o;>N< zO|qT!>^^q(*qQUkj@IlxcJkD>M|wI>b$`71RCjylcjwN;-aK2+oH=!-`?W#%`X1o5 zg9WO;obG)ksAD5XTnXkwZXMespJw|H6CDj^m3K6F(>;UPU1n*phZ3TEG(0OBw#a=D z5Tjwam-t!(TR2oo^re_tnXw%oojPp=$KlxGTuM>Sm0A?tnF zbLpHkonDu1)arAMN!<_Vm(lt{E(Lil>}{&Vb{l~ie?`mwRTW)dqINK!Jebc3v%ecA#se=6_5M1Js#AEM*M^0wd_q`!y#ZhEou0t}6QO0}sHYl? zNrH}7Raxtu5X&!g^OVfKG*sFqmWRzbc{y?)Z&c@4!Rs4JH5y*mV9n+YXyz#K)rM*{ zS`&>T^I=(_q<+W(qG&Xw(P)VpMb>yg(C`}%iN?WvRF$7aS+OE)*2%Pzq&Fm|r1nZP zre|bk_3qQx)UW?718yC78+-ep!9#`)8=n1tG4KD_G>UqPPi_zsHb*S-U@>WP#3T<8 zlQ%~+a&IwZGrTK>atb)mc#n8_b7Yiq2N;LfH1H2MfI(Mi4ZT)qcdXFLN%^y50e*f1 zPcglDhG33%vfzB~-BQ_=++pBVN!ERFH6%<|Ci8ujK=2bc63T$(l*DTRi?Qa=wL`8>(6e!z8hUc zy?cj-3S%mJCq?b2k~D>_g%tIKhB}A|a*l?QsU&J%R5NA&A1G?HcFO(&YRZ0U<3=hT zRX93|mTf7}xe_DOmAmA-#U;APH}XhCHvV2G6aBLl{wIE$9x+WD^>R9%+ar2e4??o= zW;t~=2L}fa4t7^1HOUtgwg2AkBi}%+_nh*aJay!#XXBnocV~~Mz4PQT!>hV~;eQ4( zS(-#BW#j?5(_@}EBk{y>MyWR*t_)v#zAF_KGPbFDLCYE2(>+EZ`k+zXUsY>VcAL}C zcM+W{QsqsoH9oOhZ;(UICS#9>YOFO@6hfg^c=g*0X;~3G6>Ie61)2Oh(w4^0_3|7% zcLntF46#8k|5Oa?Bdeu{(Nr;{N2}uvRuUr%lw5hp^=1zcAJ8iXk!py%D>J;Y0aSob zk1*7tf9R{%>4o8zu66qSCF}J5x-vZ>3Ven+$)16AztC5RNij}1@xjE{}5N z)OTl&bb(qR*O4>d9rF;U9sGI!OvIL&>-kAy>_ahy;1Uh30Y$YM)Q^wmhG|{X+}gZn z>yCw&7e*hmEsWwzFFxCn~oHxrdL-X*C0{ z92S*cf_%7GrY&}XF3XZ{gY+$0jr3@%{ZUy)#J z=u8j_2bdcG&rS$)~Q|K!&q&0wrfBW zfxUCZFnp_54C@Gv30K@54&EKE7!z(Xv9Ar^mhMY8C&_QI$Fge(5|*wN!<0d$C3l7S zyTTow)VjOFR+9bhu)}?KxWiepV%W(Q!(1I63fYlhHNP?|Cv1>uM`M%m6ynO2EHNjH zyiGY7PDPhj7z-wm(oM!oz7$0ZeQ3AU3{A*D?hZs7?5>}CASlbK za&SyvqQF1&8ZJd1?@6dN5*Z;~@1RxvGYKvs{QM%HvM<)M%%s`TDv zl+!!pOQend;ML)&6=A+2Y^P)$n@v5+EE`YJTAh*2E!2@5hAM->!2Wi4_F|)!AXa); z*dYF9ScNg{Vk+3M_}gI>=_Gi2*bcJ$(m`Y-^Ur3R3K;&|Y^3u?v-#(;0mZ;Q0JfgO zP35M;6>sFGu@vRG0!(Q|&+p1+zsaWLY%7%6u53sAMO->e84{tnFo7~`qUW@&*ZT5F8sj7A*IcCw%S8(dKBXn#lPZ-xm>&C%?`TjeBz5G^F^ z_{}h>_su2%!5m}FuI!Ftxt*|5q(OGuy(xjc*>%QnWR09ummZEBR3IoP?Y?wtv9;Wq zZ%)GUN;QF+hU!OF!6y%OXF$$xk2h(>Ldd zV&!QP%HT|mrbT_Y{s?Ds{TB7*ZfR1Mlva&IA}@?2h28#<5aJqvM7cltL3jfRvqd9n zszx4WlwNH62=>hpw!LPokPH~fUL0Y|8-Y}TTH9AisVd8Al&`e+-qu$>x3-U>Bkx=K zxGo_(@*roqWs#9Hy6E}&g$n-*nqnfUF^^(MugwHaku zuXf(9?I8ONh7h1@}>6P?TD36`}!#QSk#t2@&$W!)ktTpi5)UhtQyJY zj&z+uA-vBUsia33ImtsKNnl9IcXo%P(zLdp5VhDVjcd~d%3`lIfdU8oBV9=cJ{jps zBprI%Zu-N9k!2>kX%RBJG>uzsanW1*bEcwxcB`4Ga^&axgN~8T9BqESe96q%_1XQ# z8?sZ!Cy(eii9GTCPfy*5^ht&hx2B9B=_78%Up)QB^M=;^w@=*))0Is*Z&b<`ad zRMgoJmCs>F7~iyVqW8g-6FOE-B05B%xd$w4`erDLVPVW`hKJ)aArK{N|1Z_}&xKmN z$?L|ui=s`&i(XBzi*dh(;050lWkf_P-I~X6Qxx6W8FHp?dQKXU=wbw#?`ACPZCRUz z;W90Z#QLc~nRHffaC zF<7=S(SOG02X9v2G=4$Y!A)~m%|_WIQgU94LW2l=n13WJgss9{tDvhTXVSNop8yju$_M=%;Rx|`A78KsO^iejS1VQ z?6;*Hw(UJctvUFg|D*mD-|Pp>ljqL0O=DTz3IOBZXt1>)Ps0xy@`E6;kpAP(zmqzP zI;`b%`e?t4E?_L3Nz&DVq+{bGx*(~lZvFo35qw$L zH-Z0a*f){?OW1)b+?E78b=$bdR=l&W`ApWB2kk%q*%MDaX$KUev~AAWwo{eGxJ?kPY~+wDTYQ~_wjXj06gd+5 z@{lV_{1XZ7KIAfVZ#pC=2pTpe?7bX}9DJK1WdS{-x;R|(XE?dO6se8k7l-(ZNj5or zqi0_z48QPN_=TeI3oFBZ81CYO4PsPPuG`-88$6i;TXA$gRKAMjxKbixUArTb zUE0Xwt|p6+i)qv-ziQM1Oj8F6C?`t)qWVR@8Zkf3a0`= zs)A|}9HJs{7s|u#K%872O)opAomso;C0-|zK z*s=~OU3g?vm6~HfPPVN>xYISz$~JuCXe^r@c|B%dm%YBU(qW!%D`DE$iWAaaFTHM>JNk7{)AshX zCi!f!n{IPc2Rh^nB=rlxsTr@522W6hHtc)Snwk{-l8LJ8LVKQc7MrCqYppLGzE);! zEYCB^XGx(_+xBm~RI!`74hXZk+=^$^;`CgVe`Yvz21Sr`KnvnhN|*%cx@Zz_ZP3Zv)Y1}uDMynp7zqEi`C$R zs(U!eBTiTO5p5urbRWM+EqPYurWeg1t;+7U63)p}*8k5u zoFaD76;`gd@Yke;;xE8i7CzFKB=!nB&BZk;YC z0sXBr6eFqhQ$*Fwjb*O#XzHwL#n3kRb;M~ZKPc9H^F?i&S;<1@Y)pp?_ za1hm&s%evZNCk%@hvgG-4om^U*d8}uEe9TU_PciJDcKSy1(@NsSdz1$uYA7l^flyi zHl)et1R0$w(ru|so2>WHC5u&O$#ZHvWq2Z*Bh!!FB^C8sxnm8 z@8qHOga<8lz9hze00Q?8)25uL0sFd7xHj9t_3|w@2~(E@03NbRju$U$a04#9ZjCz$j?EGxEVa?{J{z7HgRYhY7>XG@w_T#wRtJa z2$!bAAYVS5plF4BXqLy@ZL5!Y4Z#6z?n$u@*0x0yDcP$H4r_CdRpFboi!)S9SE*V+ z0SVu9Amy6@oZxnvq4K5IC5f|2V+b;GDrrMD`%-&1o~${o`wbPU0OD`}%G=n1@q`4D zpb_LVCi~7()uLPipPCj~UG?pGCfDce#P6gB1oQv1 zHnpyQt2nFxmr{mL;))~bAe|oaO>)Tu5TqO>$JlUJq*=`?3m)rz!Yb?D5_OZql(e; z61CseBfbTp65m#1+$JTkKkIM}ftDnivmde|C-gATfPWBvsDLVC)8$2Bn#GRS0|5;B zc+EK#gYOQgL@TqT_zmsbB+y=p@cu@&s6z?>yz~Vr8oWDfR#2eHcn)u9oF_`glO3oi z0Vtb@29~vr2*yU2Z_ACh2$UaK8FeH=?om>Z1_LRk?@hwPb}t3WK|UgfT}ki_lVKcs zT-!z{az3uXPn+yFaKk9z%Jxc9_!; z0tqm%IO|4!?apYevqs&0TI^ty!(|gY4c;-lck}(%-A4FRM+Z5TGe1 zq}e1#|5k2#@Rrtiw~c4ZJ9oO&9DVzA`BeK1+k#GH0UzhE?g6dh%c{F~tN44>oz)u5 zYPEDZ3H+`Okz-D0hu|Q#EFwQ0mL7VgMeNE*BACyTPUF z{yovXFROY=K25Lgx*XYbmiG^;HG+ zl~9;kq4E`K_h$s9b;RU&3_1Z2v0z(L4$1jS?%yb1>@HWk-@)70ate8SM`h0)cO9^o z{7n_#QTdnEa>Jc3t2h4q7O@IyX{fwViBL=9*)@b8d@p{Gn@g=##Fq;J)(jva2!vbsIJ@nFn-Ysyc zwKqA-^EC2_>Xo2D3)a(ruZpXoihoZ+uCxdZGs&a2X0^cCKEA6isYSugWLJu9X_sf^ zb;A*ne6d=mYcc043G9S!sek~>x(>_}1LhhCNd0Syq3eGO`1z?GRequ_rG=Ybm)c^x zyNi@AMCrNR(n#cj6LBc2&DRM@+49fWr@ET3v-?<=lm^JY=@q?Nd^0N2T3n;-NFwnU zNam_qYkS@7OzW+*0KK4(M4X3e6R+$=kx4H|n971|@In2_aTmIOx3$1sN;*s)r5 z_3}`xw+mYgN@3CFRKXpIw+swpP^qiPj`c=tSJw(QxFWH+-J8!gcS*VmBOyw9i`{FD zzh5Vkop21B+%27t(GJWsO3+w^lvFZ>@LIVkbrgC5lLT2Gp)k=*!R!EY2yTXM#X5?c zx=zDQBPhpa72fC#X6pdw{ea;h9JX(|y!nEWfQ7+-x=XrU2+LVW@LGjl-^V5kuK?Wr zF@oQmVI{HiPq}o$TuW@agmm#w#1x-mv3sHZ!DfwEE)f#_1Wa(2iU?;DjM@1rky(F5 zQVT3bGjljqrp=lPeG3*A62v!Dx#lnoe#H8{iIAz4>aFQ0zK9gZp#*L^si%~@u^(QM zhOo6q#J9o~x3qwr;p-bIL@Tmdu+B_XyiZI7_RqHj8uy!fp`y~21->}Z2X_psv0zmLBAqVPA!(RO8_N`1bJY&J`t;= zh(9n(m5pd$53HKHSYxo#S8hH`hSV@@%F5I18>g-8`qK`x21J@I4{;48)%9-adSAtC zjsHNc>(kP;TIF}ByjM-d{LLuXY`h|FS5tSOdfQtHnSFM#wWlGk5q%6@u|v(x)r{eSQ(1> zYh3SVTLHsiW#3XjUQeP0sCRv!mgP2zJJc>O0=7#;V_AH&(PnNoRw(Dx-PU4K3>JQ^ zT4!kC*QnL+t3>c>K2Yt&vJOpB9s>IQfs?otvYLsDsOF+4c`|UHRE*2`|2`HN9hNu&Q!i=Ha8pV z7IU)gsCqUUGzUo9YL5`A-4Unn+_PvDw4u!+_h-jyRwX@4?#mc}&`P_|;CX5QqXUQvL-F;yF+@YkqjsM);d(QkjolJU| z;4~MC+a$iP-so$#=Tf$vEj%kdK;(%*6A-?SG~sT7cok3u$}!Xl<^<_9Al<8ly{}tJ zv*}`DsDVm3*5!)WNx2E6Pg7c~C|Qxxf}Ek$7BsvfwFM>H^NKwb0puvN5(q}rTA+an ztkbpVb!1Q>Q}O-;QzPE$Of4oPn_BAnwG>bl{lGkg(u#Z`uF<&%;OT(BBep<`oJx_`KA^??O2vQ{ zxH({A$_d28guU<4Ske4MlLKwCJFXiHc40PYE)lPDF^HdD9~{0TGWZRk#cYq5^g?RS zd$e9C2`B`-T=3Em`2+96M=P6}jAySKf=KS&(&TKQrE|8POQfUTuZ+16EAv+p;ks_j zkaB(F$^(&JDj2hD8qrR9mVF>b{5C;29<=3ff;$@xH60fk9$N^}5?K2ge z+}Kf!f$zBZX>9aI4lqA416N)`_=W-YzM5AUx4+2X=1THAvWqP`D|_r5+IjO8YjJT? zx%UrDWujaW>%Of8de?0r5(7u@lt`{cUMMK&KA;%WX5d`3AHSHYLAhbxhImY=_~oh< zlP&&NuzZp6In{xQ96029pCTV7SM42=}1E*tny%Umt~!(=`D;Y7@KfqLc~Wbt4=R@+$->%)_-&iN_tF+H}wqi6tKq zXMDD-?}!2KFxjg=B0wxlK7uMhb;cUvgl!}K5coUVfMqUt)&9Nr^)x)|q=B8V^Mtw5 zH^f}ag&sy@KosIzQgo4A7o0_M7eQbnDhN^g%U`1QlL`m{;`W|d@%M{)JP*rQ0bQil zJR5WMmBkU#A0~|~0%g1u9GG!*&)X_a5N~KB2dU!nY)>5aP@`(p9H#o6u$PL_eJaor zVK0u2_bWyz_=&CZ9R$rnn8dS*g&y}A_alD(+L)jJlbA>=z&lZTo)DVH zoXc1ju2Z|42_NrlR;6Aw$X=_m-*rk1#GLGQnXm334$_@@>Q1W)?uDDw@4$2~q9GGf z@iX8Dm@mTNN}Q0=7`WlEkTI+cQwoAG zuZ{UT2f))8(ZKm9)2_{=`ea00_XQrc$0i@xheCvKKnu3x4QRne6gy-q!eXmUjw=hz zGsWfv5aQI&Re8DX+GP>X7i?QD3x)g!jOkaTpI2{Cw|}lGk9w2frhv<+ADk3=cq-gm zRI>F6X>xlbNE1*=jPZiAWP|EWDy>(80kq-PEvm9UxaE37GT5iCNU6l*s;j9-=GL6| z?A4#EjqEd5r1K>DG~N`9J#E}{QqMQ2Cq@ESvYpMjBJCy^?Wq1jZG=+Fib^1U7SG_j+u z-v4M=&OSO*K6@jg-=pD*N5hCYLpqvjF;pbC_-^8cEY+ zS~RdED~dt_|!iB z7uSLhUgNW`1?|^(^EIz_-2?7lTx*gqvRGzac1;>o10c87bnUC|-Y1^ihiw^T;Vzj3 zr{+ONV>^f)IscQ-^Bm=F{FpO5K(a?01rs?h9oW3YscD4s4E*MI1Q_}L%IQKcb`0ZT>UJ{~+Fn@55mbH`Q|{?iv59fYmrFJ= zo}{{cOvNCQCZfobB>|>%BhzamBW`3OVaX6l#KgOVu}xw8>@iv=%`T37DQWdaIgx+8 zfqap(fw9(v8FFGHg>S$%B0kI@Z`BWX3gP@lm~kLAThe214ZduMwjE^1?_z9<2N)EQ zGO?xTpUNd*Yw;qo#VBe!&xk=LA8M+B;U3^7i(zbP;&Oo|Hz6ihnksGUE~Q@Lg!o?hmA41 zNV+SrGrhxjfvRfI$cb1b(8(Dc#W8z!BU7%>&T`X|jf{b9_#tR1ll=+fNvqq$l#R!t zU%X!YqM@F&+9{+9j2D5*buRnob8G6^hbGU8u{J}!5?2fkBZE^5wo@n|OpVb5+ppxM|X4Bxr9 zSsp7s)@(Ht7-PwDuj&_@w?Edbq>H1}}a-Wox7wvwm*_BYB?tH9y$MelD zMtr^*yBO#y3;U;Cb-!vRjr~Ql3Bc-JCNJI3H_JghO#nl##+XR1#;BZVr?k-1(3G)c%ZvVvRWm{U-Oc7+z~ zeuCN!mx0xM)#LwRtY$Z|At4rr#A=dz{_ZDe5+931qWLOfq$AOXtOlz{8AgncR?L>6uq!E6H-4fRTM#gq%uShj>W3e6U z&4yb`8a&$LR)^KWez(^tUljJT?Ry13`4RC`?pYvX6|Q+>Xh8ihpaLOlq zV?ESD%4ohy;=T5Gd>v^`r*E9{kZ+PQIo~%f9_<@{yiqbOq|*O2cX}ftw@muC(XQPR zC8dhvs5k(EU*&`!ROF$oj^oGcw(Md%_ck_Yu?`012E^_+&OeI*0-dHlfI%=m+ccUkKekdWin1_Z0)LC-F0d0y1-a8qE? zy=$jBizfM|@(=A*dgVo{YNs|nI5mzvH%>|MP0FvG>S7SbjmO~wq;M0~PAhqMZ^^TJ z8%ti_Tk_W4lJdPJAMLH2So*}?(l_>&diR!Y+iRb-u-Tvtz%Gqt&Empl^D;ktsBL=` z!;LXR?zCg{fm5NdA^2KDu&5!p678D;hmp}Yy>dqBf@VeEBx@rk7uFL@_J3crTX4+a z(d*}Y{z^{xkQ1&r?So@JhlDTPFNK23GTtr{s8t>EneG?Eo8V*aC^a{D9|=Y?;Beb` zB|v44D$B-ny}P1NivTw1F^F(`((o)iS`U~3Z5-bO4{1rVM!%HTk$H>B%k!sD~GOo^6jUaW~e-XSip5i@4{6NgUiAwa?_-A}4u_WzSS8NyMxtbCzFc!iAdM zo-OwhJmlG)Eqpw*pe(!g8FL!97?mz=loD&7(HD})hIF}0NL%y__Y6Gyi#iTxx&E}$ z%%)t6@bd3)vTWP64C(Qz+GmyLii*7KN-knIr%88|J=^|ACz|HW$*9?26gImP7*7=M z+y3Y@PK43&Y(*kVOqoZo;(%J!q9?g0{k6}!3u)|SxL^=IcE5_nQe-bz4uCLgpRE0Z zQ%Uk0FBUzSLnviiWUO>V-j?s{z*SezDgzE1To1QD?a8fuYTMIQO1|%@wNDqMfu*^p zik`N;Zp^zl!avQPFEf~vf&NAuk5fL1Y?SUPu;NCpBb{F=hAO9WyHk;zvb^?b-&3-o zAxlnd%Gqpt)p*z-o$pMOK6AQiEA6(Q8_hrG7JI3+&#rv7qa2(4sz8+IfJ1s??X%9U zi{%qVPx+qXp0@qo*pw5lLPtL*AHlv-&YrKZI=#eew8YrU_S8y@zOa#dsYI&<5x1_O zaN5)JaS1u{S!F8d#TPOK%lQq)#-b;kcHfgYMTlIDFH_P(zE`=|i~b~x^rnsyhJ&4P zaaJm~5~)qEQH{!&=}u*IRc(>^&9WkcauDPx@+3Kxgw~~*^2KsewTDVCDl7686&Sf9 zSFoLv>#9(A`;`nkhTKA0>|@>(+0)$W@oZ|{nlNNjtATB**|hu1FaOb;HdwCNwsrUJ z$kvR(ySMJyyL;z`=B?YeZr;;3b!+qH4VyM@{zqTao{gKT*KF9ib-!odm)rYhH-BEe zrFH|A`0=KV&5`EoNB?N*Rhpa-Os2G#6R&DNjd~)RHtrF{e_ta1*T%v^HeLBCB_EDe zJLAD`SgV(!*-7cxMy{unRM2YMybMJbTh8G1$~j!Z@lDJLgiH(W9lj$%Duq`B+3z207c}iT&=3{jSUKYBESVT7r5O zJ)hyBC@+-;5Rqw=k`x(DDNu~o$G#eu{P>5Ou_ykdi9z~2^FpScR61RbNohJQWm;lZ68Hdg>;2 zq{Gp}5V)u;4%bT?33xBfkcZ`pL%yYk!U^mH6xQe9`zTClDg{f#7(t*&HyFK%?2Yc< z^2-cY%Jpt?by==hAXhPN9{^Jt9~`q_$@AuUSOb+t-hcf3x1a!yFKKTt^Cpl*1Mmq9 zwF})T#_lv@6IL7yMp&{{HHEY?u)V5D(FF_XywL{vES7jX5Ux0txuwe0Q*tV^Wz=g8 z!gT%&^S#$ic$@9I=8di*wneXo`03&JNn&qbLF0ZjEKuMr;YW8`elk&`En9sS@>JY~Br1O6FTxZ<63;-C4_ z6Xlt#5;}`tmR0g1HuLfCr3;L{fltcf4Ox7@EPi+vZnAtgosDLSW#Prx^E(0`+&C~K zk_uO(D{Q_^=@((K=J?le#3c0+{}PUjmy&kAn=Wrxe%<|Ey7*o?Jg}mCtI*)-9k0ui z1n?z^S(qEdDs7bi3Y^|auW*Hd)AdH|JS8@7Kh<-+4LcFqcIsUB(HfqQw~EC4Ys(04 zFqD`S=6t4tU-7-NL|vGxETH(bthi6Z^KxA@v&=`#EnKsp!Lj1liD4YXKv(>r;*&Qk zzFCC_rw~8@E1GN_VIDc^zXc!uh{XRM3dBT!oslVg3~_asZ@U>pfGxcSA0mW0^M)%O zrak}1Om=yuIM~FOWQapde0c`;n|&yZf8-(vb zN2c5li__<-iQ15-*7{mcWy%w9cEPgryG$SWd^qRB2v*ttq3^>;s_Qe6Hu0}!ij0YW zEi?7iOl2(Ug+BTa_fEv>vdzgD^IWv?Pb0MGo^lFTPA-n6K_oiGNoiZw;#)tuzJB-ucMEfDzxa;vDNaXwK@pm9=B z)X>ECHl)%t?+S|)O^!r5au`1PWw!mNYsPLRf7GYHJ-?)bUl6jf>}WV`S)Qt|*;L=O zaygq?T~nhQ{m7h$W{$b@Uc^&MZz%MsAvPX&H=?Au?4o^K3;O{(diI<<=h^1WkKa0q zBq18lH#KkGOuVwXYH2Vsvwc^AeTLX3?O}hiPD*EQtCmuVo-ZmWTC(zmm5Wy{#l}hR zRko#8Ixp;EmxZKLzUTP;p(TwW{?U-n!MB8#L_+++kVJ1?F7%Ri)ij2xBO$i!V`&@P z@-g<(KVMz5FjW0$Xr)y2vEAZ(uB$G@jrTdaHiWnd3FA%5w94mvj+JA%aoFuL)|oz5 zxuv{XeIq^+GV4t6#ydjXT(Ka;J;?UoXY##U5arhU-otO5$?h72 zYor#3`1K)SGyg>hNcuv29l@|N#BT_(b44i+8~kG}$@P6~Irf~NZw&dQV~#355&{{U zNSXcdCb2)9`p4(}V7x_lv70V=nof0edp4apb?U^~8c*HFwd+3qM5_J#IuHNv(N;g! z`ahcjwi#@9_vEB`^Cv$v|KYj+W$3~xjuD1%8VDH0(cZyT>=xFm5kee;fY2LS@cJz> z@GJGjO7o*(vSor8f5IgGd2+Jjm=S=wNx2RR)gUp$7--WazMT!8bjPq#Pkq%9~rYOgS;98 z)?!L0gbZZFOXA0eyc@A7T>)2>)s=>Ye`BbE4PkF#sN(ieV`GOy{!aKCx13wXUkQn; z!pcyH#oxybk{`opgQ-y=4PW)dK~3^GapIr|BMnFLwz~%5ck6wFeW1bM{K|IdNGlTfkjHn%i zQCv(IbYmD7eB2pvZ#{o4Y`Zh(uDi$FbMH^?v)n&+-1rF-C*@9_@?YkH9}E7UM}g47 z%T&n5ghV#PS;X5z-2LFq4uQAt0rwfejsNn|+%rfsnxdD*?o6X_JJ$8j|$86%6H$6dqc`^6rF_C?Cwe90~2|yzOH~{a^s4Q1GYF;QOSxT?Y4GB&!h4qGIt8M%$H~`W@+(B_l zD5B8`Y5ZI8Lcpx#r-k_GA^u=U*iH<;3|8xrQjzjjn8fWs99lS}MZ&R39U986StX{0 zvU7|&HYLP9|7kY%xPQDFc4g(orlwVXfw3)W!9aLWSi_^SzdA$EySN(WCqZJvD&RP3 zdI&3S&$~xWCC@(Zp)EN>d}AU9l)odhI57mgNsF9vGGaptQ>+{poM=ESkYfPa29ET-v4}h5PnEjbd!_1O|IofhNW_JIQ2y&vk)a z_emr{&VX-!h@2!G;Km3}du{d$7RsiqBB-F_AAJ|7lx363bf`>=36b45X4H&O&J#c? zk$vtxX}2A~r0sUGHN^isgvF}XkkCYkm?Hi>gqNEAA>d(;!HFlF6~7KCeN0RChx}v? z@d^&;>xkWJlr>EPkA|D<0FH4LH4Ah2^nmasf%j{%F_an!$#-C*<(v?^qgHxa+!rEu zBlyLPfcvq4m>FR;1uq6ufk(@+fox7lnV6I5rFJ6F&i<~_Yh*uL?VT%sg<0xt zh(s>~^RMDavyar`2AvT9_mIPdbB02K1+;)|(kF1Es^DV*J|hr(JiuoL#7M}j@dGVO zcb`C4MnJmQq?}_Xf8sJmuu2BnZUTJ#FCoqEvAfsW&b{|TlA_w_p_;ydVBbJ&_H+SZ z=v+~)=l6xs!j_P5ija~5YOvMq=+Q`#+!t)b&kWtLutPsv!#_|GDn2iuG zv}*Y(2Y@lx)e6mxvA5UB+V=IzMQ?QFn97T*MokXo{0j5&^*KWoc4uBl?&n)}Y$?n# z1CcwchrIE5A(A69*2cDQW2)+y^*QHw&1#wA#z0w#OV;z2khpX`e}4!LJ`FcU?u&!j zW90O5+wS*ECWml>X>!OZZlE*~1P}_8wU{X#xH-J0Qf2HXGXcXa3 zZ0&07zt_-scAQKPxOxQM)^*K8nM!7c*nO*Uf?(fjy|Jq9ZyS{4>Y1Sm4NbcIm_7LU z1}Q^HBvW;Zy#sIHnhv=Wr>4p2G>=Bkgo<+wu5via!5r`h=7*Fl@LLH4;UADTvRyep zM?6PSnpfTx70(8w$}TW@ki>B?{Gc)XAhtvF&fag5y|jQL@ym}bE70s{t(Rhv%K^goD}dl$B>NY{BlX;}PVjs^GJjp~TUwyu57he# zIup5xzQvssH_7)r-&QYvRlnmamQEnu9h8N*JG1$-~-oAETgmb52Q;tG7w8jCP|4TiME>rX3@krxE*cva@)~K za*MLdB(~La6IV`}wgfdSRkBIRMHA78Mm#6^Z&cVqDl-%$#2_&3lc2fw*K^~?8P{kWdzLYYf$?)^`=G3x#fT(ep|nFxiZRH1MxTbmLKS@R}!%{fJ0&qcr4uA zgv%O3!SnS{%))Lm7__4wu6!U(w}Q9U*OOeN?Cs(g^#qYG>Hz|`zQ8-PU=6$4i$HcyyX$_jRzFxc%0zUV1%Sqk@_PiJOG<{J|Y8XTS_xCN2 zm$o3blT_zhZt2u=%ca&P`5*{jvRlRV^{Ci^&EMP68sm+Q8`nNzCm<->yXuvscw~>g zn!K>9)@+-wZ5+wn3t4Q=HKf1BqrdFF#o+sb$`?$ognwpP`sgH+l68ZHz6H-7YGkji zvDK`>#ba&tCc>(tp)3&hFU)xy%-OCS1Ye{zHu@ItnkXgJPF(U$ec41id%H&}@GY?% zE8vgTlRjH|Y%zbV9^K}99&zpUz84VjUA^zcuC9782;s5`z9r;ktZymlcW8k>ts#A! zgr{#j-&v3UJZu7g9FlH1Hl9C0h}=9;A;|Vp>$dEfHh2ELzMh^%ZdAm$cV& z&!g!RmV8&wy&!f1ym%aJ4jvS{z&c~O7k%Rjz~L6(@~#eWOq?gd7{9BGSpecfvbUga zA&pZG8XC9mm81m30@~ZFvGKs!IwiRgu4qpt%T~%$y|lHC-r&xl$w4Z|sPw?xJkRV% zqS70CTZap~`8--&LD#%QvlA+9Q+>k5cm#@yh+`{-AfHc*%V-`IETwB+q&?G-(`)if zVE^dz+#wX+IzcaRPZr6pEm}A3u&wQHa;!jfOCQ@N%hB) zR3E-qz_6rO01q)Opd^XL0PcRvD7SRt+^{YdwY4CnrE4*;&&ofF1t9k#Ptodj;gPf(U383A7Vc!DN|GX)1UIr5bUW zWg0uO64zPc|Ao7LR~V^RSc_kKX>x!!1lY$b#ngaaBJrXjkeVDwO$lIglGg;eO%1Te z{CB1XEXdMna3vz5+Yo3%vf%N~ack%%<7F(0^YcQuUQ8RnHTVeu*6b%!hRN7ZdWXW; zW>m3t_0mOR<|c~|gycl_y{lw&q~JQ{9|`fM0Je*W<3s$DA#p;8e<}q2`nJC2p-@Lh zX+l7pA5wm1$oUz7>a2J%CJ29r3UOpB*2pN>xNm=mb$c!D61%%ecnuij0|5`k-r;wa zz$DY4j=H{qib5=)Uua^jep%=GC7|R>KLK9iyb!i|pSM+h2=myUFjr;hdo~< z$)v`=NvFgoL(0a8P6~=og_QL$Y(4`H=G*fXJ)w$LNVC{ox#GhioU^@OTmbC!B;BPr zj3YqFywOSm@nQ8NX0}%8D`8oe?;8N&1WhVv2rOq-NfXf;gFiU0j!z5(=hyK`0aLLu zB=2s8jRWpS0J}2TvFlyEB1v)@sR6f03yJm@5(9$KVh55jr@s|Q;$*mEF;UkVXl~fE za6E4%in|qQ{Dcs)!UGpa?H5=qFsBvJ5Q!yy1Cd<6V3dAV-8WF$H_+tF(bt&*Zd1VK zu7V#e7Q}P{9y3DvWaZvSALXuyPPs!Yq;VsbhK?7%4Q{ts*;i@ztF*0^l#K=BWuYUc zedN)%?yXbq#R6(%evHWk?HynhHck)_NEZ+?czuBM#gWJmdqyovN07*_ovL4BOZY0N~7wJf2BB|u6 zAR1G<*adzaJG24ilpTl5w79lUYXLBGnpI2*L~vgu+?R%c6}LS=P2h`T?T$Yf0&YW~ zqd1SjZE45+4k>eqf#?}mFH?7NK-P6byI}91g+L@10rrYr1UMrOxiit6=Eac+zjOfp z;?!6{doM%a&g8(IDFIwBQ93WicXt5Jyb%8otbLEJqJ7`wPW6uGLr zgwbOLn1ivEeS)jFb&*dMt&ob{M(k7TFl7gOJsN`F`+Kjq23~K_aAC-SiK!9&fwOjx zgoFeLr|sUF*fr`GY!wolz82bTUwzH-*gDyu>Y9D^E0;?zkmaqywZe^cGPpR1u=ZhZ zt-i5N_IWjCCT!0~w%z;Tl88-BVrrKg6Q2k|%Odl?tdl)O*2(Vqch||ZpZxz@C%Zz{ z$u5v}vcmr!>tu^=tdpT7|KICm(T}BD1evI?EYgZJpQG}*9UDS&(#g7zN!Hj)>&W7p z?Sb{^TCB%ahR^|KEoR?o=u3=R27y{K3!{K^i-@(mwW0sf-nqxOQCxd`B)=c>QzoVm zx>4L#PDLZhFJ(h${E#DI`GMp|Y$!3efrbV#|@8 zx2b|`u%L>Aqp##6T7{_w$#MbViU8+*ljGa}Kn-T9G}m9%zLqlm;GR)6Qr3{S3@_P`|`KGe|m||;D?nB2%2T4>D0c`z8M?C-{lZN!y1dN_FU-VQ=pzK|INR zI6P14-YlWrI52sI4+nd+n83ob1HuFEjSl{Cl!Ru@yQR0RWT+0up?TqZ>nmTtch!Tx zL%ty8!IvWw+M(D$ir*#0=uiI@LZj1kV*!FWaQ;0b3h6&J`f|AI>L~WvPM;jzgz53A z(LPGQ8LE9xY$jsC*Kl9r6kHUqV#yDD)c6EuKhY!%)-(+>eI1hlY5)tP*>p)~?arco z@ZH(81uoqh#*>-iBWOC$lnS()XUg!!YDA{vxI0@xe0LUn9g7uA+FKRucndr{H4nEM ztiEALhCR$WB&+HBZ@^--9pPiqkAiV%Rk~@s0~=s>998K3`EdLh+{l2hZPBB)$rnf^ zO2D1X03S}EHhHHsG8Dd@TDNsb`YE;X^G-fJ6f#Flc@ccQt9&^8d33#K!hyT+WG#5) zActcUZp~DhL#4vE8BRDAJf|Mj`Zp5Vpk9|%gvb0Pz5$pc}wB; z!JGuwb8tk#vH@#_h%&fa>G?bz?m~x%D4x)Wa(cJ2X<1JeBGHo#y_o}}%3d_d&YkcU z4~I*Gt<+vL@8K6aV%|gD>3R+JP*)hcb0X*!Br(9Ji3^S!8m1JiR>@XH;|7;2%ii0m zs0G*WP@=Q3D(^U`=uYwpGJNSFRe^UBE^$<-okp`@DrSA~f_@4`1Elb^+(=hy-}!YmnSNLeOyi^I@IZ)8I zE;aR@cSb$rUWkW#K|Br5!X-|HE`wNxbpzFzJpVzeb61i_YUstO1`jHoXGaNu=AlK= zIu0v?yOho)bj3Q`73r3(!G}6tSAvtsM)o8wnk@ZzTUVTK+c0cyC2TH6fvmKSIt7cj zv!hbpw)Qa1)e8-3GIm?KV&+*y)3wNG0)a?AzyHvlOhJ>Cs;rTR6}Hlpj828`l%fRd zm*@u98;=EMJUU3%tmrXVam_jnwkrcml+G8G&Jkt(MrHjjh3wTRm>pQIs3FW$a#4=~ zn5awj5yz)u?I7vzm=N&Hr~#|IERSQ5IpV{$l-6fy0cDMGoNrB-l`_ONJshY zFT(kCieP5LT~2}&04A*J@nDXtT|e#a)(8q!_|O6D)X%&`$jJEfM^1 z2u}TH{mfB6VSX0Wcb^$WV?aB!Upr8%cy^r`MQd61jMid2yUvbwpGD{_d8W`*v|Xbw zpruf|O(W-NrGgSIYoD%Fw0fkY9{NS^ifXP>19Zqpl2<78a4 z0e8Zthwe~1zN&=oR63Skz9*pf^9yY*ToC%IVp^)?<10hj28LDi^~)a~H~y$|)gueGRXE}9=2q1v|h{cv;8LOV1D z7_0SfDV^vvn#rQQ4z2ry6L3MRU}7$sGXwT~NRc5w`VLBcg;9tlH*P}pkf<_R0dlF* zpSFenDCO)3mrx|`WtT$R!i99aFgi=$RJsOTh^7m%ny$_IOL&)VXbk!EtPoTy>(Xjv z#goZH0b*trmBbS>jOrhc8>8>)gZOdj`1bHG;nc<*R`7%?D4QFdpZafCx>f4i5;miU zs77Jc6$6&8Ri6n_@z9@PS}=jalP2EKx44#}zo6wljh=$0tIvX7!$nk+a6KoDT?vx9 zBRuM>*#SHMiqf3|56g$0rbuT-q$eMXAvj>Zl%e@xPM;gy6v~L47Ll$LB!F`X?wGae zFX5gsWkm9$R_Jq`Hbpi;`RR;E-@5#J0DD4t`W}oG7|o`XyXX$Gpb^HuW2+JzSLx0? zMd{e1bnI0+#;9QdF$5w0|T!fI(qc& zxA$u=JOkl-tG~bIk+nZq_rt3@I)Bvl=#L+J{D~)@dit3Sv#o7y&GZa|7d96Eyf66K z{sA$#IXpDHW$U)>J9h38qq)14J&Ts)+w*oWu$s!HhSjF{>gB#$OE%tjea;>8%GX}I z?N~*iyxHydR<~C8>dUL#K6j(LqSakl-dOIdUsT`Vu50mo8{LcDm40`5qr2Mg4m8&L z-F4-)?h1cX9sQ7brKj9mH@n)`6!0KTRYQHi+vu&YtFNuEYw*u*@Vl$Mi}8!+0XKdK z!(CU^Ih-9%4Zj%n^!zYf@ zq5IsYpM3n^e~V@&#=rlWYp&k%`q1{VaooM3j=ia>W3L}McI2hW>G8?K`womxP9K?k z<1l1zj2%Aw@@shZ!_?UH{+C}mFm`xMJ$zv7t*N8aQ%7GLJNnA&FRKUl9hpA(#`w$o zBGU(Z#>bAltXRK@n~5r`+|`Rb-Wp$RT|=NbE@QMo+|;q^DsVK6122h?icOcvXG_IwYe`iI5H<8 zb-OWcI;)|jZqCZDjPE&_UnjEm_B5U`JRmLnhPZBBX>+BR`^EC{8^uCz$=B)<)oW7| z>NVjlRhi-{?MPi}|5Vtf#vY_l`?;a6g5QnyM>o8)@H+*+4L)wGj3#d%KYq(V#rT)K zH*S3A+Rr9j8+UTx_o2t4?IV=1G%^17Z$8v~|GT~MmC?JBW_YN(GuYryyY7k$qu*a!8ke_ljCIkVx? zf7e_Qj(&2@C%5dpZ71nVq+a-cc+H5cG5PluCs20ZyR&1BG8h-ZLPxAo!iM(V zoVRZs(VpFnAJDsZ1R__vNSYDZcm5QH84)At5Hlj@qhg=5MiOyaG@g24(yzUC-}e>w zRO!Fa>)X}qOZb_V*Nk6*{DD03uGQ%%l%JCOU3O8HjOQGbw~aTcQ zi|p6l+X~di0;{)BZc;t;(X75>Z7V30YYWs4Yi6p(!0I=6T{^&8@0uj&}9k{?0WC?Hi{QiQHmgE#dLR*Ei^SIOs-o$pes#0#n4 zjj60Cud4}&U8$=`nSIRRlpjF}pktMoN?jjI1k+LPZxtV3#*E@kCIOGvc=lq6(`N*SvIQ5Sr?E~cxr71!)Cn{MG;)jW+yHV2O zG?s2@fz(*PXc2x|O-C#CrA@@BPC8^V3&^`l97#KT*%c6H(|#p-okdiR7~C-Wf5@wr zjQ2W=5iLGW`-4~|GSj26j8*>f7R?0DPXC)IZ&L%-qCzsvzDC&kvh;XEgA;KeFf28c zFLFCYZF+_w;6j{>;#_uZ$}DbA&o_9yh%Kd9j~6u(-%hs}{C>naDGqkYUnSP1+YEk; zDAuxAT#LU^JfB`_@KC~HEwi3-TlzwShf>ZvA4y3k({D0VI1pPxvD8Q$;t%PK2AyMz z$6E=n4azAsdjsAIpIgi_-DYT0ol_p~M1yn6>X;0;aFH*Te1Su%Ew6D0^xA0}C2t)K zOrqSh%+N~qvl8QkBuR5Da(EtcE<&D$1rBk$>EB82jLGLnm&xtoVbcndm+JC4(nYyl z%l}i;8j`y-ImDOC?c#u`3v#F2rh5ES#S@;EDd$9mLtd=DZf$#2V@hqOz-_nN#R<~} zLuj#TkBzJtOY3Vfa>L|{xQrJ_aOJB+`m; zMG5z2TuUM<#+8NtWya@8R7|2~=VgUIn_(wW35l8bzMo!X8n!^U2R z7|eMR?F>0c?%W~s)? z+A5gEnBjwrhMRGU^vYhfO71T!wu{->zc7YKa8NBRK0pVD)On=`YE&y7PZT*X$sr1} ze`j1JZqGi0ENYQc(*=9bU*;mq9cU=8)Gc-WMN2JJxdWAR%d4vV;=9=&8ADo`#xcn* z!%VK9YSNW$jMJhq#{(lM(#*dY&Q6aDSdqR^g_Y6{*lwGXMDJGpBN=3F^*V%#~^1v=@I$a3H#sf_!Vl|zRf5BoavsnU^ zo`yPPFA|$`ZX}(R_L5@6qoF!+X8LqdnQ-8;lTFl)To&=`98WB{T~AgVOO8}}B8Q$F z?~+BF&hf`sQ7yzrIk!@7*l>}Sd#83t>9m(cT$g(vMPYgnds&1d_kk-@RpqX}GF3}% z=lN8$l%W$Z&wW~tqKFEV$s+zUxA&4LCq;GT4xG;jf?CF(Q5s#> zWbV`@QJSt_82R(qP01u&hU7U>QIY)y4lZof8B%QOEOY3vJDND}@W z3sx*yvO>%;e~d`y0$GyqSF}K0vP2fLIWZo13Sh>nEjGKj$(*HyY2?9`7H#IwP*{fv z`EqlCCZ{2R@muq1%izGi~zMsMu%JVn#gPNSIA<0wo*6LvtfX@G!ydUdf7(tTH$$M50m+5jj z??pX~0+9TsyfB3?=x@s#(d8%r$(QGi>tTnU|AD+|Jsc~a5aa)9YYnb16JP>NfC(@G zCcp%k025#WOn?b60Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@G zCcp%k025#WOn?b60Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@G zCcp%k025#WOn?b60Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@G zCcp%k025#WOn?b60Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@G zCcp%k025#WOn?b60Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@G zCcp%k025#WOn?b60Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@G zCcp%k025#WOn?b60Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@G zCcp%k025#WOn?b60Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@G zCcp%k025#WOn?b60Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@G zCcp%k025#WOn?b60Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@G zCcp%k025#WOn?b60Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@G zCcp%k025#WOn?b60Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>NfC(@G iCcp%k025#WOn?b60Vco%m;e)C0!)AjFoFLs0{;UVbP~4! literal 0 HcmV?d00001