IMD 1.18: 2/06/2016 18:23:37   7\XMASMENU MASMENUCOPYRIGHT (C) 1979, DIGITAL RESEARCH _͌> ͒> Ò> Ò͘~#͌ì _2<د2? ه!߶2:2a{_:߷ʖ:߷>Ľʖ:=2–!B!6#5ʖ:S:2E!~Яw>T D^6k-äPYy 5*{zBK5ڋ>*Cw~#+w#w+ɯ2E22i^ *C :~w~͔͔# #  w ~>2!E5T*C!"C"C!w# F! w͌x2͢*C ~<wʃG:!ʎ ݯw4!Y~ʆ͌†t=ʆf ^ T ݯ2o&)|+!<ͧÆNO SPACE^ :Ty!B*O=?_s#"^sG!~Y޸psp2mÆÆf ͧÆFILE EXISTS _: É: :߷ʉ=2)ͽÉ T!@k!B}|q=qf^!~2>`~2߯2\!!B!~> >#0~O#Cx2͘1)ͽÂf zͧÆBAD LOO*!O*|!6ʝ6>*w#w*w#w'û*! J*""!N#F*^#V*~#foyx*{_zW+*yx#*DM*s#r*s#ryOxG*0MD!!N: EG>O: \S*C :qn& ^#V>O^"*}:*)=":O:o"*C *C!ͮ~2~2ͦ:2ͮ:O:w:w |g}o*# ):BO!yoxg*:BO}!N#F "*#*s#r^ ~!J! J*:o$*C~i6iw*Ľ!ͬʧ )!F#xʺ~0wëw!" !~6ͽ:ý(!#͘*~ "ڷ"͌#>?͌͘ =_.:;<> Oڅo$>!Y2*O"ʉ@G:ʐ:wÖx2p0ʹ#*©6?ëw˜0ï#6 ¹.0#*6?w0#6 #6" #~?  xDIR ERA TYPESAVEREN USER!yO#< Ty#O 3ۯ21y_͸2y2ͽ:طì 4~ʶ¬:<ʶ$ʶïZͻx>2>2ͻ:!Z2:Eẅ́͊Ͳ>2>2T*CGͻ:ẅ́n>2;O ^DM;}H>"*C ::ddslO s#r:E͊:==»y==»*Ww#*"͸*:G#š"͸:!w4!iw:Z!E~=262*C!!~~#~O~G#n,-.‹! w! yG!x͢.:E<ʄ! q!pQ:E<. ʄ$.:E<ʄADCOMf^: !߶ Â$$$ SUB"C{2!"E9"1A22!ty)K!G_^#V*C~E ,&-AGMS!!ô!ô!Bdos Err On : $Bad Sector$Select$File R/O$:BA2!~6 O͐  :E B 2>: b# : y! 4 5~yy5 6y*{#zr+s{ozg**͕** ,w͜͸Ͳ!!N#F$**O!~#:A#~$=2Ek͌::/GyO>2!q*C"͡ʔ*JҔ^:Oyʃ?|x | s-|N-# 1͘A͌>><92^ :߷¥.!_~#fow]ݭގޥ!v"!çREAD ERRORçNO FILE^:߷ ! ~ 3#0 Wx x ڀ ڂ G ~ # 3x~#B!Y~ɯ2:߷=!߾ý:߷=!߾:ý^T!~  6?#ˆ:`O> K{͘A͒>:͒͢>:͒͢xK > K > ͒x  ͢ØÆ^ BRͧ9!5‚#~Y‚#"T<ÆALL (Y/N)?^ Tʧ͘!6!~ڇҐ^H@Oy H H: –ͬ  #H: !  Hù H H $O͐: 2 *CN# x: 2 p&x~+é72 H! >w_: ! 5ͤNkͱ¦ͱxʊ#Nx: ! 2 ͤ! 5™#wO~x½p Hy<< ʑ :!qMD#2E>! ^#V w#P:BO|^#V#"##"##"##"!A     -BOSKUG 201DATES BASINTRO DQC MONTHS BASMORTGAGEBASMORTGAGEDQC PR LBR" T-TUTOR BQS+TYPING BASG !"#$%TYPINTRODQC&'TYPO2 BAS!()*+,-./012WORDWORKBQS:3456789:;<=>FORM6 LBRI?@ABCNEAT6 LBR.DEFTABS6 LBR$GHIDBSEX LBR6JKLMNOPQRSTUa December 23, 1980a BASIC-E b Modified for Osborne MBASIC by Jim Woolley, 6/82)b @: Width of displayUbE0$(): Character to clear screenb(U0$( ): Character to move cursor upb)bF E0$;(W01));"YEARS FOR ANY COMBINATION OF MONTH, DAY, AND DATE"cP (W0));"FROM 15 A.D. TO 20000 A.D." cU: OcZ "Sunday= 0 Tuesday= 2 Thursday= 4 Saturday= 6"cd "Monday= 1 Wednesday= 3 Friday= 5"cicn "What day of the week";Wcx {V  :g|KxGs1%VKW{MLLLh  1234567890-=`qwy[]a;'\zm,./eiou!@#$%^&*()_+TXTL LBRUVWXYZ[BREAKUP LBRI\]^_`abcdefghEZCPR LBRijklmnopqrstuvwxEZCPR LBRyz{|}~EZCPR LBRZ3FULL RQTZCPR2 CQT"FILT7 DOC#BARDOT BQSNEAT6 DOCSUPERMT2LBREX COMWILDEX RELGREP11 CQ RGREP11 DQCCLOCK- BASW W W(W) U0$;: nc "What is the number of the month";M)d M M M(M) U0$;: =d "What date";Dbd D D(D) U0$;: d M ,,,,,,,,,,,d D U0$;( );: d d D U0$;( );: d e D U0$;( );: G~G!~G} *C!r#r#r ^ͥ_y#x#{s+p+q-*C ͥ!!q#p#w*:BOYG}*MD "ã:!Bw!>2*C~=2u:B2~2wE:A*Cw>"!""2B!"!rQQQâ~?ͦ~?rQ*"CQ-Q͜QüQrQ$Q*):B"*)*)Q;*"E:;:A2AQÓQÜQ*C}/_|/*W}_*"}o|g":ʑ*C6~QWY{}A:"|ZM<>?EIOU16T!336&*D+2:$2(Iu1 ## #### ###^^nfut ###CLOCK1 BASPERPCAL-BAS,PERPCAL1BAS9:ʑw:2E**E}DQ>2Ó5ELV_hqx|ÀÄÈÌÓÚÞâ$ͷtE(tͷtͷtͷtͷttt t!t"t#ͪt$ͪt%t&t'z2t!("R!"T:C*R|+"R|*T"R!"Tt4t012P2Q2<:P(2Q+2:P+:<:Q+:P+_ 1!"3"5)>22!"!"!~~jwO1!VsV1!  Y2(Y2) U0$;( );: e'Te, Y0 Y2 r4f6 "Do you want the Julian(=0) or Gregorian(=1) calendar";T_f@ T T T(T) U0$;: 6yfr: "The years are:"f| N(M): M1M N: N1( (M1)): QfX1(Y2Y0)f Y0Y2 X1f YY0 Y2 X1g M D "g Y(Y) Bg Y(Y) T `g Y(Y) g Yd(Yd) Y(Y) g Y1YN: XY1d: N2(D &3)#aq4iErR`JXb ЩLjo%.襀 wg53iĤxKreǐRڦS;qp$A|8#a(DwIe  ʤ6mÉ`2aO0$ih=,2z)$f`$'da^& >"9z)A$5R1#aly8SOeܑba t̔ i=1: `+&ΆXpv=Ox8|<{Xa^1 8) GB2P-J\Xa.IѩLj GcNdhw1dB/. :c#! J+z):, ZבmFwHp #SFRwm˧x;>=vxYD<@m63щ,>R  ]8FSZ!^10/%@mگ48° vIi󛶹Y:sȂLz)'ׄ-ϟ`0ECms4s( 'ӊ]a Kp!E6&]KrD6Jh0p>a 0v|UN # '`2cHm؉9#E)B#SFE =&,z +lXDۆ#'[t3i^W؉9IFI7m6`(dGJ!):ImL O.y$8h  Y1)g N3T(X): N4T(X): N5(Y1)h XN1N2N3N4N5TD: AX(X)0h AW Y;: QQEh Q : QKhXh: U(Y1)h XN1N2N3N4N5TD: AX(X)0h AW Y;: QQ3RJ6 !%`L n#Ap$t*ڈ^ 6sF l9E/qXrG2!$9m6ЩLjc88jH' 8v=Y8R"Ԡ4pO3澸p?\SƄ-pHΤps=_ $.ӌ9NeZ*AÎ*l'S(Jd2L3z)vA`i U#SF7 z)0%l SbҶ8tyGB2`3g@C‘t C#)8c"n,V<PZHK 8\qv}a0(8R<\*Mq ɫ My&Oz)e[`2y5]ѩTqmL&1Q^z^1Z%p$d {|s\~j}rqc !MH)E',HHM1Cx* qŮ0laRpDms&g *vD2l|"ޢ'Ӵ#!%񄍔mD Y0s R`6f<%(-#U՘ 4H󊫯_na^OH=6R¦q?\x M39v=>mމdWWةi0,HߠqL;Q'\nEpN wgP'30 #XTFp$IbqN *C;5iyv|#_>xvڦmn%B/\!Sl#86-ʤ6m-J GRBH0$iXJΤ! % q^^Οo߯msi#QH'<ijH'DKH;nѩLj#x9hTYQZRtPC:!88LUT  DqTƎWp϶iWwg5_gE5m61$ 2[Yb  wg53iĤT&lF2 R S:ImDD X,!F8#)a>VX(e襠?fvXINTRO.DOCP  !"#$%&'()*+,-./0123456789:;<=>?@ABCDoEFGHIJKLMNO^pv<#^^py| x}v!8noI.!u4xzl65\vvΣ1Up$в@9 QPO Ҿmޢ'Ӵba,vR3pCBd+Q$ JW Vo %&Ep\Ga Y%p43 qJ++8^CmSC QCOVlG \POih% &bGb ~'D3$FINeR,rjҁ#a +yחJh0u=vl!gt!{H#)!$0f,0X&H RgҹmfAo?@ABCDEFGHIJKLMNOPQRSTUV@v#fi툻u9{㈭ṳXՌ bGf+w D|%[s/;O_`P??ϮfcPvhx{5;n|,U} H]ENT";(((PAYRP#)d))d; "(NOT";PAY;") TO MAKE FINAL BALANCE ZERO."h "NOTE: MAKE FINAL PAYMENT";(((PAYRP#)d))d; "(NOT";PAY;") TO MAKE FINAL BALANCE ZERO."h "CONGRATULATIONS,";Y;"YEARS OF PAYMENTS ARE OVER!"h "PROGRAM BY D.G.HOAG, 10/83"hiIP(((STPP#)Rd))d)iPPPAYIP :PRINCIPAL PAYMENTWiTIPTIPIP :TOTAL OF INTEREST PAYMENTSiYIPYIPIP :YEAR'S TOTAL OF INTEREST PAYMENTSiTPP#TPP#PP :TOTAL OF PRINCIPAL PAYMENTSi$RP#STPP@%5~wY^̀T>~ 4>ûIGtlQNH] A"5)YAQ( yp r'X0&ҐBa,wV#3],avqzxSUy~ Ri sIP[<8%y)`F&l 3N,9e%,CM@FRA9ZhD!|,CM%8 L<6Ec ,DKxRۑEc,;0 FQbC<`KP8ͳT-MjFaCT2,l`jR4`R< ?5pNёa8`fgT"jRY@M L% F<l$<&Y(H# :REMAINING PRINCIPALj. M$(X), : "#####.## ";IP,PP,TPP#,RP#Ij8 M$(X), : "#####.## ";IP,PP,TPP#,RP#fjB (RP#)PAY ljLj " ", : "#####.## ";YIP; : "=YEAR'S INTERESTj " ",: "#####.## ";YIP;: "=YEAR'S INTERESTjljLj " ", : "#####.## ";YIP; : "=YEAR'S INTERESTj " ",: "#####.## ";YIP;: "A     ~N|wʟdyrVU|vVUg Ovy~q% 1) { /* parse cmd. line arguments */ no_page = argv[1][0] == '-' && index (argv[1],'T'); /* print files */ for (h = (argv[1][0] == '-') ? 2 : 1; h < argc; h++) { names = echo (argv[h]); for (j = 0; j < MAXFILES && names[j]; j++) read_f (names[j]); } /* end for */ } /* end if */ else { fputs ("\nUsage: pr [-t] filenam1.ext filenam2.ext ...", stderr); fputs (" [ > lst:, filename.ext]\n",  .bECHO H "PR H ePR SUB ePR-2 SUB)PR22 C PR22 COM(kREAD ME ROUT H 0READ ME o /* echo.h -- 03/11/85 -- defines & data structures for echo.c */ #define SELDISK 14 /* log disk drive */ #define FIRST 17  TOF 12 #define NOPAGE 'T' #define FRFILE 'F' #define FNLEN 14 #ifdef AZTEC #define CPMEOF 26 #endif czii -m -DAZTEC -z3000 b:pr22.c m80 =b:pr22.asm czii -m -DAZTEC -z3000 b:echo.c m80 =b:echo.asm l80 b:pr22,b:pr22/n/y,b:echo/s,softlibz/s,softmatz/s/e b: era pr22.asm era echo.asm /* PR.C 06/08/85 VERSION 2.2 prints out a paginated listing of an ASCII file uses Aztec C's IO redirection, a/* search for first entry */ #define NEXT 18 /* search for next entry */ #define CURDISK 25 /* get current disk drive */ #define SETDMA 26 /* set DMA address */ #define NAMELEN 14 /* maximum length of file name */ /* misc defines */ #ifndef MAXFILES #define MAXFILES 64 /* Max. files on OCC1 DD */ #endif #define DMADD 0x80 /* DMA address */ #define FCBLOC 0x5c /* default location of FCB */ #define FCBSIZ 32 /* size of FCB */ #define DMASIZ 128 /* size of DMA */ #define NOTFOUND 0xff  stderr); fputs ("-t suppresses pagination.\n", stderr); fputs ("\nWildcards may be used as arguments", stderr); } } /* read each file and print out a paginated listing */ read_f (file_n) char file_n[]; { register int in_ch = 0, pcount = 0; FILE *fopen (), *file_d; if (file_d = fopen (file_n, "r")) { int lcount = 1; if (!no_page) top_page ((pcount=1), file_n); space(OFFSET); while ((in_ch = getc (file_d)) != EOF && in_ch != CPMEOF) { frob_char (in9~#fo#s#r+)ys#rþ!yͷ !y !!9s#rJ !9~#fo#s#r+!9^#V!@n x !!9^#V)!9~#fos#r9 !9^#V!9s#r!9^#V!9s#r!!!9^#V/1!9^#V~^ !9^#V^!*4 3 !9^#V! !9^#V4  !9^#V!!9^#V4  !?!9~#fo#s#r+s !9~#fo#s#r+[ !9~#fo#s#r+^!9~#fo#s#r+sð !!9s#r!!9s#r!!9s#r!l !9s#r!9^#V!9s#r!!! 9^#V/1!9~ !9^!A+!9~#fo#s#r+s!:!9~#fo#s#r+s!!(in_ch == TAB) { do { aputc(SPACE, stdout); } while (++pos % TABSP); } else { aputc ((in_ch & MASK), stdout); pos += 1; } if (in_ch == NEWL) { pos = 0; } if (pos > (MAXLEN - OFFSET - 1)) { printf("\n"); pos = 0; *loc_lines += 1; space (OFFSET); } } /* print amount number of spaces */ space (amount) int amount; { int ind; for (ind = 1; ind < amount; ind++) putchar (SPACE); } 9^#V9!#!<!#!9^#V!#! QrError opening !9^#V!o m!! Q!! Q!͠!!9^#V!8͠!9^#V!!!9s#r!9~#fo#s#r+!9^#V!T !! QúPAGE %d ! 9^#V! 4 *!! Q*@#"@͈ L!!9^#V! Q!*@"@! 9^#V! 4 b!"@*@Lo ʝ!!"@!!9^#V~#fos#r!͠ !!9s#r!9~#fo#s#r+!9^#V!9~#fon !! Qó0>&2?>1&0:?_ch, &lcount); if (in_ch == NEWL) { if ((++lcount > LINES) && (!no_page)) { top_page (++pcount, file_n); lcount = 1; } /* end if */ space (OFFSET); } /* end if */ } /* end while */ aputc (NEWL, stdout); aputc (TOF, stdout); fclose (file_d); } /* end if */ else { fputs ("Error opening ",stderr); fputs (file_n, stderr); aputc (NEWL, stderr); } /* end else */ } /* end read_f */ /* generate page headings */ top_page (pcount, 9^#V#! 9^#V1! !9^#V+2!9s#r!.!9~#fo#s#r+s!!9^#V! ! 9^#V1!9^#V !9^#VB!9s#rzŸ ! !#)!"!9^#VOut of memory !!9s#r!!9s#r!9~# !!9s#r!!9s#r !9~#fo#s#r+!9^#V#)!9~#fo~# !9^#V#)!9~#fo^#V!9^#V)!9~#fo^#VK1o !!9s#r!9^#V#)!9~#fo^#V!9s#r!9^#V)!9~#fo^#V!9^#V#)!9~#fos#r!9^#V!9^#V)!9~#fos#r ɸʛ6â6|g}o|/g}/o^#V#D'''z&?$D$I$N$S$X$]$b$g$l$###""""""""v2z2 !DM!9^#V!o I!9^#V##^#V^!-4 ʐ!T!9^#V##^#V+2–!Ù!":!9^#V##^#V^!-4 ʼ!ÿ!DM`i#DM+`i!9~#fon F`i)!9~#fo^#V!9s#r! 0>&;:2?*@~ 1=1O+1 0x+~10:@*@~<1=11O+11 #1x+~111<*F=U 0w1G~# \1 d10P1x0G0&06 "F= ʐ1 ʐ16 Ö10}1ͱ k1å1ͱ k10ß1 ;1ù1:0 ʞ: ù1 !!9s#r!!9s#r!!9s#r!y& !j!89^#Vy ! 9!jn!!5!!!/1! 9!5!9s#r!C  !9^#V)))))! 9^_ !9~#fo#s#r+)ys#r! 9!5!9s#r!C  !9^#V)))))! 9^_ !file_n) int pcount; char file_n []; { int c, loop; if (pcount > 1) aputc (TOF, stdout); putchar (NEWL); space (OFFSET); fputs (file_n, stdout); space (RIGHT - FNLEN - OFFSET); printf ("PAGE %d",pcount); for (loop = 1; loop <= MARGIN; loop++) putchar (NEWL); } /* read a character and process it. Fill out tabs with spaces, mask WordStar control chars, nad deal with newlines. */ frob_char (in_ch, loc_lines) int in_ch, *loc_lines; { static int pos = 0; if #+@n C)!9~#fo~#C)!9~#fo^#V}!#!~!#!!#!!#! Usage: pr [-t] filenam1.ext filenam2.ext ... [ > lst:, filename.ext] -t suppresses pagination. Wildcards may be used as arguments !DM!!:!9^#Vh!9s#rz!!9s#r*:|Z!9^#V!K!͠!9^#VDMC `iC !9`i 4 !9~#fo#s#r!7o *:|!9^#V#K!!9s#r!͠b!! Q!! Q!A     M!99`i |z2 ͙ : }Ͳ }}> |M !}M |> !}|f }|?>o&zo&| }|>o&|o&z2 ͙ : || /g}/o#z /W{/_ò DM!>2 )) #}o|g : =2 ½ }: =2 ½ }DM!>)) = }}/o|/g#}|M > |g}o{_E||7g}o+{_E)@}}o|gN#F# N#F#zi{m##^#VBK^#Vz#yʍ###{#xˆ#~#fo}|>?o&}|>o&{_E|g}o½|g}o~# x!9 ~#!|!@9^#V!89s#r!D9~#J!>9~#fo+s#r#!89~#foo J!B9^#V`i !!69s#rg!69~#fo#s#r!49^#V~ʧ!69^#V!@9~#fon ʧ!49~#fo#s#r+^`i X!D9~#!>9~#fo+s#r#!89~#foo ! `i ñ`i  !9N#F!9^#V`i62!9͡22͇4$6z^+s! 9`i62͡2M4ʹ23 !9N#F!9^#V! 9͡2͌25! 9͡2$6 ! 9!9͡2͌24͌2͉3ʹ2`i62!9͡22͇4$6)z^+s! 9`i62͡2M!9^#V`i͵)n &!`i !9N#F! ^#V`i^#V͚^! 9^#V! _! 9^#V`i~#fo#s#r+s! !!9^#V_ ! DM`iͨʿ`i DMß !9N#F!!9s#r`i~M! ^! !_!9s#r! ^%!9~#fos#r! ^! M*! ^#Vs#r! ^#V"!! s!9^#V ! 9N#F! ^! ! ^#V`i^#VH! ^#V! ^S,4 !`in&s!!9^#V!4 !`in& s!`is#r! s#r!%4 !!9s!!D9s#r! !B9s#r!!@9s#rn&-4 c!!D9s#r#+^04 z!0!B9s#r!!>9s#r#+^!0S 9T !>9^#V! !>9s#rÅ.4 $!!@9s#r#+^!0S $9T $!@9^#V! !@9s#rl4 d#+^!:9!T9~#fos#r͡2ʹ2d4 ʖ!:9!T9~#fo##s#r++^#V6ʹ2e4 ºf4 ºg4 !9!T9~#fos#r,6,6!:9!T9~#fo##s#r++^#V67V !"!9!9^#V!Q ! 9^#V"!9!9^#V!Q *!9^#VQ ! DM`i~ʖ`i DM͚ʓ!r!9^#V#^!+4 !9^#V^Î|!!!9^#V͑$! s!4 !á|!!!9^#V͑$! s!4 '!á|8!;!!9^#V͑$! s!4 b!!͚22! ^%/!9á!"!srwa*!! s!! s#r!`is#r! s#r! s#r`i ! 9N#F`i~!`i#DM+^Q4 !4ʹ2!9͡22!9* $8* DM* o&Vo&* *+++* DM* !9N#F#^#Vkb6#> 6 #=>6#=Š : >½ A[Ү@úa{`w# .w#{o|g w#!!|a{ RI2@÷ICI2@2@÷IMI2@÷IIJ2@÷IXJ>2@÷IZJ2@÷IP7:@<2@÷IJ[HJ0HJADJ:HJ-JO!~6GzJ#~ cJUJHFx+#tJ~iJ2@ÚJ2@:@JK>*J GF !!!C 1!:o& C s!"" !C DM!`i~#ͦ! ^#V!4 L!!9! ^S,4 °!9^#V! ^#V`is#r! ^#V! ^#V! s#r!`in&s!9^#V`i~#fo#s#r+s! !9N#F! ^#V!4 `i! s#r*|*!9s#r*^#V"! ^#VB!9s#rz!! s#r!`in&s!9^#V! s#r ! 9^#V###͵#*@|z!<"@"<!">nfDMÑ`i`i^#VBK! ^#V͚! ^#V4 ʿ`i^#Vsr`i##~#foHs#r! ^#V))PYDM! s#r"@`i`i*@ʹ2í!9!!>9͡22O!9!49s#r!:9͡2͌25ʂ!9! !>9͡232!9!49s#r!-!69~#fo+s#rså!9! !>9͡22!9!49s#r!9! !>9͡22O!9!49s#r!9!!>9͡22O!9!49s#r!:9͡2$6!49s#rͩ1!89s#re4 (!+!!B9^#V!4 B!J!B9^#V!9! 9,6,6,6!9! 9!49s#rͩ1!89s#r!!@9s#r!:9͡2$6!9!69s#rsso d/uxsefc!9!49~#foH!89s#r!89^#V!@9~#foo !! Q ! 9N#F`i~M!9^#V`i#DM+^Q4 J!! ! 9N#F!9^#V!PY DM`i 4 ʔ! )4 ʔ!) ! 9^#VDM4 ! 9^#V4 !8PY ! 9N#F! ^#V`i^#V͚ʩ! ^! !!`in& s`i~#?ͦ! ^#V! ^#V! ^)T ʑ|x!{!`in&s!! ^#V`is#r! s#r`i~#fo#s#r+^! !#!9^#V) ! 9N#F!9^#V)n !4 DM|!Å ! 9^#V))=6DM4 ?!`i! 9^#Vsra*@ ! 9^#V!DM*@Ånf`iͩʢnf`iͨnf͚`iͩnf`iͨ|nf! ^#V))PY4 nf##^#V`i##~#fos#rnf^#V`is#r(nf`is#rnf))PY4 c! ^#V##~#fos#r`i^#Vsrk`iut"@ "0123456789abcdef ! 9^#V"x!9!9^#V!!*xs ! 9^#V*x#"x+s! !N9N#F!P9^#V#+^z  " * n ʗ"`i^! 4 ,!`i^! 4 4!`i#DM!`i^zʗ"`i^!>4 U!!i!`i^!<4 H"!`i#DM^! 4 ˆ!`i^! 4 ʋ!i!`i`i#DM~!`i^! 4 ¶!`i^! 4 !!`i#DM+s!Ð!%|!!q$!!͑$4 E"!"!̈́1!1!"!1!ͩ1!!S,! "Ô"`i* #" +) s#r`i#DM~ʔ"`i^! 4 ‚"`i^! 4 ʑ"!`i#DM+sÔ"\"!! * B"Can't open file for redirection: ͕! 9~#"!"0$A:$$$.SUB !"!9!5! 9F+N+V+^+~+ngx-1w# 1!9^#V#N#F#nxI1s# >1!9^#V#~#foxo1t1o1# [1!~1!}!}!9^#V#~#foxʦ1~ʦ1# Õ1!9~#foʾ1#õ1}!9^#V#^#V#N#F[1!9^#V#^#V#N#FÕ1!9^#V#~#foxʦ1~2# 2Õ1!9^#V#^#V#N#F2!9^#V#n~C2I2#62!|!9^#V#ne2#\2xC2 +~e2I2K\8N\h\Ö\!^ff!*>å2!*<w#w#w#w*<~#~#~#~"t2*<V+^+V+^*t2"t2*>s#r#s#r*t2*>*<">"<^#V! '!54 )'!"!L'!9^#V! 4 L'!"!!!! s#r!# s!$ s`i!9^#V!s#r!9^#V! #!% s! ʦ'!'!9^#V!s#rù'!'!9^#V!s#r! !!9^#V!%s! ! 9N#F!5!!% s! !"})++"Q.13"Q.14"Q.15Sa-QINIT_AR_T aQEXP_WILD_@IQFCBINIT_@QBDOS_@QCLEAR_R@Q.NE!!Q.16 afQMAKE_NAM_!Q.17!!Q.18aQSORT_ Q.19R -!9^#VBK!9^#V-#-!!9^#V`iH͵!9s#rzʈ-!9^#V!9^#V`i͠0!9s#rzʈ-!9^#V!9~#foH8PY!9^#V!8PYDM`i!9~#foͨ-!9^#V`iH!9^#V`i--`i!9^#V ! 9N#F!!5!!5"4 .*4 0.!"!!!/1<.*|<.!!9^#V!9^#V!$ ^!1!"5"|t.!!$ ^!9~#fo !$ sz¦.`i!~#fo#s#r! !9N#F!.#!9~#fon !/`i#DM+^!9s#r!9^#V! 4 /! !9! !:@ʰH:@J*AA|=L#"AABA:@<KM*ED|%M#"EDFDKG@=NM!=*M!>JM_!@ sM qM vL~zMËM7ȷ!MF@@²M> J!MFKDISK FULLcon:CON:lst:LST:prn:PRN:pun:PUN:rdr:RDR: !9^#V!!9^#V͑$ !!!9s#r$!9~#fo#s#r!9^#V! n $nf"4 $ê$!"!!DM$`iDM`*<>w#3*<~5#35=ɯ<*<*>###F3(3J3$3$3(3+L3*<*>#h3*<*>#~3*<*>#“3*<*>#¨3*<*>#½3*<~/w#3*>~?G*<^#V#~#fo))3#3DM*<s#r#q#p*>~?W*<###~)4~w+447~w+-4)4~#>4O3*<2;4y2~2*>2;4:~22~2ͺ42*<w#v4:~23*<2;4y2~2*>2;4ͺ42*<w#©4:~23!2w#4> 22!2~w#4O2!2#4y5!24!254!QQ.21 ! 9^#V!n 4)! 9^#V! o >)!"!! 9^#V)))DM!9^#V!9^#V! ^#V`i^)(^#V !DM!9^#V$~)n$&!HDM!9~#foͩ)!9^#VBK!9^#V͔*)!!9^#V`iH͵!9s#rzB*!9^#V!9^#V`i͘0!9s#rzB*!9^#V!9~#foH8PY!9^#V!8PYDM`i!9~#foͨʋ*!9^#V`iH!9^#V`i͔*ʋ*`i!9^#V ! 9N#F!!5!!5"|*!!9^#V!$ ^!!9^#V1!$ ^!9~#fo !$ ^#V5!9^#V!9^#V5ÿ. ! 9^#V!n a/! 9^#V! o a/! 9^#V)))^zo/!"͚2! 9^#V)))^#VBK!9^#V0!54 ʯ/!"͚2!#5!!$ s!9!! ^#V6͌232!$ ^62]32͡2]3ʹ2#0!"͚2s///0!!# s!9͡2͌25^0!!! s#r!$ s!"͚2!9͡2$6 !$ s!9͡2͌24$6!! s#r!9͡2!å0"* !" * 0* !40#4* +" }¦0o&"* !9!29^#Vni~# %!9^#V`i^#VK1 %$! ^#V!9^#V! #!9s#r!9^#V! g%n&u|g%!"!!9^#V! ʎ%n&u|Ž%!"!! ^#Vsrn&un&u!'ut!9^#V!9^#V!9^#Vnf ! 9!n %!!9^#V ! 9^#V!n &! 9^#V! o #&!"!! 9^#V)))DM! ^#V! ^#V ! 9s#r!! s! s! s`is!"! s#r! 9^#V !#DMÏ&`i&DM`i?$ͨʪ&!% ^zʴ&Ç&!"!!9^#Vn&!"!!9^#V! &!5!54 ,'!9sz+`i!~#fo#s#r! : (o&|£+!}2 (!}2 (}2 (! (! 5! !5: (o&4 q+!}2 (!! : (o&#}2 ( (#s! : (o&#}2 ( (#s!" ): (o&DM!9~#foo +!9^#VBK* ) (!9^#V1`i* )" )`i: (o&H}2 (`i !9N#F!,#!9~#fon G,! 9^#V5`i#DM+s!4 G, ,",.. ! 9^#V!n x,! 9^#V! o ʂ,!"!! 9^#V)))DM!9^#V!9^#V! ^#V! ^)K,^#V !DM!9^#V$~#-n$&!HDM!9~#foͩA     !2535!2~w#5O2!2#!5y542!2#<5*>2~#O5*<2~#_5!2w#m5> 22!2~w#~5ҩ52!2#’5ҩ55!25x5*<2w#¸5,35!,35!<,355,3555,355,3555*<s#r#6#6*<s#r#z 66#6*<^#Vx6!@6#|+!9^#V*-6b6*/69}|b6*-6"-6|ɯ=go!9~#f/o|/g#"/6,355This .LBR file contains source and object for a paginated file lister written in Aztec C (PR22.*). It also contains source forvvT-TUTOR.BAS  !"#$%&n'()*+,-./0123456789:;<o=>?@ABCDEFGHIJKLMNOPQRS$pTUVWXYZ[\]^_`abcdefghijklm|t0i}1nopqrstuvwxyz{|}~"z~g q#ains source for auxiliary routines which expand ambiguous CP/M file specs, which file specs may be provided as command line arguments to PR22. The output for PR.COM may be redirected to a file, or to the LST: device for printing. The command line option '-t' will suppress headings. Please send any comments to harvard!edwards on Usenet, or edwards@harvard.ARPA on Arpanet, or post them to this BBS. Bill Edwards any comments to harvard!edwards on Usenet, or edwards@harvard.ARPA on Arpanet auxiliary routines which expand ambiguous CP/M file specs, which file specs may be provided as command line arguments. The output for PR.COM may be redirected to a file, or to the LST: device for printing. The command line option '-t' will suppress headings. Please send any comments to harvard!edwards on Usenet, or edwards@harvard.ARPA on Arpanet. Bill Edwardss#define TRUE 1 #define FALSE 0 #define LESS -1 #define EQUAL 0 #define MORE 1 #define MASK 0x007f #define SING '.' #definvmI7/wusj`UR;9-yrlkhfedca_][WE@<3! {^\YXSQONMKGFDCA?:85.,+('&% ?j_VC$\sQU= Z~sϩVC8)yRq7т{#/x}X펗U=cii -m -DAZTEC -z3000 b:pr22.c m80 =b:pr22.asm cii -m -DAZTEC -z3000 b:echo.c m80 =b:echo.asm l80 b:pr22,b:pr22/n/y,b:echo/s,softlibc/s/e b: era pr22.asm era echo.asm  cii -m -DAZTEC -z3000 b:echo.c m80 =b:echo.asm l80 b:pr22,b:pr22/n/y,b:echo/se PLUR '*' #define NEWL '\n' #define LF 10 #define ESC 92 #define SPACE 32 #define MAXLEN 80 #define conv(c) isupper(*c) ? tolower((int)*c) : (int) *c #define equal(a,b) ((a == b) && (b != LF)) #define isalpha(c) (isupper(c) || islower(c)) #define iscntrl(c) (c < SPACE || c == 127) #define isascii(c) (c >= 0 && c <= 127) typedef int BOOL; per(c) || islower(c)) #defiThis .LBR file contains source and object for a paginated file lister written in Aztec C for CP/M-80. (PR22.*). It also cont  mj1NeLX8І{QÙ`6D u4~\N'_Z1>3p,ㄉq΅?xWC]Бe"c015ڹpus_{\7>Q17/_]uzh0`m:m~*FNf (e+FJيJ!5CbJk"+:2>ȝL=հ"ۏ-wf<ۏ-wfL$VR+f+jhXG4RlC  )i[L} l}ym+ B65rp#l#m\&w6O4Ϊ )i[ȝL-oV~ly00DK.1bȺz4B65lDgR1ĉ>a.a,WCȋyWYZt]4{] fZW=Ŭ&ϭ.2 +Joޮ& dE}gvCϳS1-b&urNSV&sSb Bc4RlC FM~K4EUw'+zWb G$:AfSAә(qV SbT׿J,mQ:H钘^l&>m"!Ҵ+ܷ!0 uzjQ?r3׺Hg6Ko+)FHm()2RӦf}j"TzzJ>+ܷym+ B65rp#l#m\&w6O4Ϊ )i[ȝL-oV~ly00DK.1bȺz4B65lDgR10^ۆ4EEZ8" 7bi|[3T8t"I"-\JR>/ o$:At)vlJĔIҌ|QΥV܊[w)F8'E6mЩ-jU.ufZ̆Rr?4㥘˗PNY MGM_,8J'1%ڔ4EĔ̅h!0 >=R,8'XNRc "m'UnߵcSyR'".W'7fT0XU(r!Օ_bf "N@׆42NMg"L'l+ՓO,2Z M'B|A MEX4LMlK65FaCR *UR'_ڊ%С mhL8jIyKNm#եX֌i`kF wKMfHH+bȨ%A] a#/06ujf\`m:mvЋKzx * l;H=XRF` Ryx{Tzu F݋ջbIC=wM᧸C;?ŒJ/sOݡjŒ3<"џŒ#TJ_зzHd@3] "*}YS/T g O/{oppTqYHVt/T 3XVΖՋ%@X MTz@>W~,@D@Jl~#Տ/cI@Dz߅/ǒJ(Tzw  VjWcI @=`J Uzr?TPBpVǒJe*Y\Tqr)EWZq#O"դgGZcBI^g-l}cZmS֦ѦZT70d[lNԛl0d9Po("z^[M: YGj,Joʐ퇖%?3 fY}Z__Qo~G_@L˗߷BLCpCֹцGĂJo4c}h)'gGTz1\ *lG=؂J"_Y-fN}}KiMTzSlNyu6\dĐu.Iu-I&'rG}o&:x~ZL::oacwDH17/_]uzh0`m:mʵ͑ni#wr;9;o_l?|9{is'+;MR=R|"SlpYŧˑsƅTna:P;Tz,wV^.q *skz3X~K5K3t*a.0hN^4m!VrĞ.ҙ R+f+;@`t4T2K`F3:]gjTд.w'#j#/wlrKW>!jRG HE@'t*=W[ & ȅujʉ 5Dk.T3w؊%“n䣐Sڕ t~δO;q"Om( ڠSg5M[*rG=~k3"PJ.q}v֏پ|NY MGMtcylJQ30Gld4XhwzIpR}qBhFM"_p3uЩLlvtHL)goci Z XtTUذZ:)iGyNz8* ᤺vSXΔ̀ UtILIhFMЩ 4mCH[6pؚ: G..yM@q\Lkk>`sd NEB;src\Hg?ۏE[G۸,T?/<6%(ϱy06EF%1%m5gD#5g钘Rk; 6ƑP'1<'A;Ĕ)ͦN_K؏ $D'MAR~;yw?Gl3vOlGk:6EG5d؏NMg gk<."CAa#/w3,.`V__a<\O?XIjĔ\.V6Ҫlŭ;7!bC\ Yʗ~v`VW9o/Gҭ%,߿+ȺK^#Gȝs˃YS__Q%I!}K0 SKo:~RWWuzh0`m:moMWns˯9:ӯ]Ig-}i7雗bI+:L?tp[m.Ųm<XP4 4)uILIe B/D߸K tmiᘋdlm9ڠ(0f"EXR`KnV uILIfFcZx 4LYUK$aj$9c!?K"h0am0MFrGɓTa LX Qb Mg:j 3e3`BkBq3Dכ/n2> Ux8" QCiюtN(r!Kgurդgurp3kϿL&eY.p-zJ/Q@3&::/HLy Bl 2jKX&tt#_0 Tx:dQN(r3:.*R-Uxj/Y3tu ٦ІD@gر ^,ujuhGdKB7%`ud T8; nnfه?'=f3lF1mgHYӹR¼Ǥ[~θoKz#~3spF{$j!V<~ `=Mſ'HB#.tGwVefdžB=8X&7  T_ʯppO|gƟ5wd nQLi plMfTCgIIP-f6=,36pfIY +3ެPU#K O">,<q"W;/OL·p [@WnDX-_m>GsFK'0$R< D4˻dۮv=`ڣ7a-N\^[׮٢6'=̰nvt&L .FcO!SM6H+5@}9^wW s h\'P1J շ*-6=42/TR>5W F= iHқlM?%sF-[5_t,9sEȤ"D-qg8YKRϔQRMН"9 99jq / 8J^RGS;2cmbĊA$,K*-kP*pƔzƜ"RqتLU\ ߨ7pje`4'crYxz1 AtϺ ;a!ho}#R~_.٥'*fvBYvN2+MB]Fk^j#uyf5Z- :)ʨ 6-NĢ,9ftc^fO%5ejֺ墎ޮ6% OĈVa֤JZiFёFAÛNX E@2zm 'Quym?JTp_'w <ք=vU' _N j!\!B3鎭뎭Ɖ*5t'ߐ( a2`BJ Kp~, $^Y5;-tywn4-q0g%ZCڹлq)Yu}}F` G|@wIȑ墎ݬ$34Fqz ,Wh0o9BERӝPJ ftu?~p FPjn KȚRoIt٥ܵoߩ^{}f/Z,4I2Ԕ ּn4NtiO\0(9  nZ2FA CFi!gAo >멕i}莲UTI$ 4bḪ1'M}Qu"IE2 z>Y|L+UР% KY^CF![G=gCڹջ@wH2A0[4>TrbŃֿx֊Ոi>hfO\xAZX*rd[3@N5p+9t2=B6՛+i0̖nl("kT֯>' /ף#ab.=kw8R&黐ݸGV0$HhX_pe_HёF!u롵fs+r^'=BqpMK*-6Qt0B==1UGYABax5BIœ?eqRӂ֬W}w_U>nZR"=,36R-A^Sp*m'3-pB_hp!;vƴp 4W"U0H\T%R8ŕAND9)3vTw=wjЦKƎpk HkOt٢]F7W<;NOK[Ϝ zmx}hC6UQT|<RHmeң$-sRɾc@'9 )N4(Sp #MZofjoq9V<~ g=M**PB7H.8&!uJ˱ΏhxgHA"[~#[,۩O6 R@}9wAmTK b1}JA>@wH2A0߶+@ ֊َ&%1B4Vaͩv+Qd$a@7hGY [|5pAw^wa0?ODI1s95(ǿnJnj[o=o߮vB37Pje`;w0-,v̫ .De/aHHO p;H b[@WnDX3r">EIym}_<GFI5ndk Jwͬ;wHiycזhٌi % xd`ΣH ;tס\ӆ2L^p b[@WnDXom$Ezˇn!9}jҁJlC6]VvӮ98q28YKKϔFR8ѣū"#B9u's}1 W ץ.agW9% R5 {Or )ɽqb K %sРF}M.%En Ό"JU' c=Yw\eЌ]v?ox7; h= 5{ _H62?YPE;taCJ3w>aHc O Js, m;J  Çz3zke&ɞ ̮0'^}QdR6 Pָ@@^A3s'z; #N0?uZV< Kpb탯5pا`a^m|w66&RmΡۤ׫&k3F;tס\H66@/O EM Iwcoef Aiu,oD`KlCvܭ8D'v7ijn^aY2,g;.ֺ'?BzwkOA֢Xs6.joUMb@،+Y KQݷ{R̋Пts$,qz_UIuDb@/~ZB;ВWz60MnհCDv:Jkmqp P60Ш44l#|Udj5܉3aLE_ {׽M%OPb!Ag֔鶟!K$QO1 uew0 Miؠ84ûe-182JgP65@XJ;Jk&=E ry_2?jj}e#R< - DTUL a TP\^YҬߖgQ٧$ȾJ'^}QUp u[@WnDX-_m"D2S-C'Ezog0%C } 0J ܡ5s'YAc-ƯnDJβ#~'gp%йҀ'ɯ_Cvܭ+ 'FԹ7|v_c;)w06R%Z틤<ݼ5)A;0$B7Gg=k֡,-366%R=뾸t@}(B "C9+#FO"jUfoہӳ"D2S-C'Ezo`/cR'3nc&i"!sK}g4:X%))5AOUp [@WnDX-_m;tס\<=#&hD `d}T.BJXW}?|za[vȏpƔeƷiJ Юւ"^uhp#lmD0w0-7hZӥ8ikkVX/ Fpɚda"F9/hbԥ./;B v7GzDIj 46KjD˖"=/D~W'wj;wHiycCfҫ$*EyMjaH3~ %gHДB6VEeِK* {QOBݿ7I5)Y\(DV& HMSE/TcC.u,JoDρy-CB$N^鐂_#emO-0AglvۤgQ٧$ȾJ>;wڴ$-B==1UGs<ñ5ѵWFGw>aoe/f G|xst6`ank,ƂvoԧL5fFY8\1}.6N㉕I fl} ,S"gs%-S/_KHMOD- J Dֺe SFPjpFˍz,L&< vSTϬvU' 7#^%;Yw\egRֺ䰬s 1jjMǏjCvܱ=,nݎ899kf7.",PB 6w;Eg"7;lpɪ EZs8҈=AO8aNR6`kr;*:VzpV闻i%Ty˲$Uj5wE1Fxrꊁ^Il^l?WY)*R̋ПϢ"#;~̨Sw , Q ޥ#a;/OLހd̰t@@XU+2v% C q Lu_ːPjCv٦LUV+Kʐ&*^KY:`(ݖ7Tnnt}ه?,$ &;sߥa3A2@jDMitEġGPB{ja*'j |nݔ2 +fM`@%|XMxc+Z ֊ݰ(hGx̩oa~R͡L;@CMBJu%T콚}81#coxu1ڳ6LAKpva^r|1w70 1 D)U|ȟw*J \2Ҷnկw}%arb8^ q|ux?Æ% 'nYHs,}Ć$ %G#a.=w0-63%Crɧ']}X%Ld_4@2J\NR ȱ3[)woEE\[Osr}|nJǍjGm־T7tԥ^Sa=Ɨ2lFcن7h xSa/ ;t%.? ΚB׸W ;A6mv p[ݞɀ_徹w KM-C'Ezob^`D9%?;d9!u MĿ[Qd_눇 JR(~-MBJv#T74%P;oݣ) 6H~/TR 5T~wLc FOK?bu,+oDNǕ"QF~$UuEŪznvh^XM89R67~"4W_֞o"W3=7dO8R5@E9 kۗk7BƯWzN5 "O2YT_VO (Ru;k3,Fw2meTIIzzʻ8}U5}=c8-=Mٽʂ5GpvKksk%R%\Agh͝ݻKMI|ΧU&7 Ƨ _눇C JRRƔOM}^ 9a7}Dj%ЦӪ\pŁD˖"O86Sd9 K-&C_PvPhGY(3h3 ƒ|̳`$ɞ #GRδF Orxf3[(wo<+K![ݦɁSbQ:f&" IQ.Uotذ_n#3JEKb9RVߌMkJ5Y&9I$ 4bH̲ M1aHY Ü`vvV:LilM|z5=E텵_홫H(6Rt.E0Bؐvi?!3|qkxеRpX(w ܡ5 4O&h? ҔH̭ho Aաy/ښ%ݎH:5jjMǏjCtۤփ-CpvKks# xW>ᆩ 6GsG ob~O*Uif|<RHio$@`Ey<R 2r"*tr?js 4~jC}8mHDߨLx>ǥsԺB7o%`d\Aىݞ$1D UgN, Q̺H<8RPD3`mnn9L-\e#05s-UgƎL]n ~/ tz^F#nc|w0-WѣƉi_tG`_֞Xh&Lda"F39  l5ՖIeCvK`JVsN"wJe'oyni]=<Ɂ6,[^GCPu"IE2 z>Y|MpMy N#d"Xh5k"CX=KU' l`G^w;Yw e9R6;gxgHA"[~#[^GCPu"IE2 m፛NKh46-gJĩKkN ?W,o,@%q-5g9 2Wwh.ܵI$=FZxH\G%@̱5պM ;dZy|{{Jݚ%ݛHY+jL0fǪnUdt=U %/;Eţ.ae6}eNؾ㈷FX.\'Xا*ZV[TO >іtL |^ oC8QOKJl,yrL1 W<T~'8ns`ja^p$4\0"֖[i8=7Z cx @JNGgֳ\@AA7cR̰tS;A,m+ ۧ3R%7p ~jk_ھoMvGqIפ9CM;XٗR͚ݤk6BExRv} Meա*gGG|/,˜$fؿ&YXB zm|ˇs8@}l_gx{CdZ<'@ޠ%<ǞjO rKhC⬄ȅ.Uqկ7Sio 6c&lшۿ]EwGčͣc\=Ch ҽBH94/MH]? !9wXhxm,xFB g70ſoKcE|dGY8'ɮ))?%q!$Ǻ!* E m 7đ51"JiO@@Ϡ`V}0w6z'ӊ36K[FAŶdijZLĺ(4Kٹ X)]mb,Y2gWg=nǭ7M)]C2H2ėՈAB&R'P +oEa~~yt 꿀 ,'^ fZT ?3MaJ&ўF.jl0D9] BA}k)nmTKKxtsF@}js`HB g 3$t @iɩ"m%͇U|'a#q-%E/w7*Rg塺ٗʫ!fK,A      Jao`*Sl)9X@*FntMJhFʉvp ~dxd[=G_q>е8j][#5"AϨq[I. Ej$ґ>H58%\ct*RwBŝ*syG% &5n=hhvn6!H'#`z1˩08/e#ji66BOxR& ^^^fR\BHO8R̰5LCP^> TKhu06;WtfGX=J ױ'612JdQ9 qbw#`X?c&)) }W-qZǦR"F=, 'ᑂ1㱟^m SppuKR8&hqqt䡵I$=FZ8Z Ҷ)3 <;9hQERJѼD|,;Jk9u> A\}詅JJǾ\ ޡ^o[/bIY.eRlը'%Kn{~bf Fr'x}*X ȝ0aH#9ePE;ҰqaXiO>tp% !jQkTaS~ǃv>`Iz}o`) e6z6cܐҫ#ktWO{psJ*Ms)Ҹ:366UPH!;/l;w>rEEOK{s"={.qJɞQ"R 㤄-ں"@nd-dOw06纠!"7?|\qѥ4J"Og[W[YvLhD FX}ŀ8u$EHxp!F|ff `g58UђۋF"1/Q7 tc}PBJq"*Gygja`j]O$qWeF~'8t ҒiSl0fY/$elO҅[kk еReJ+~sġ+a tZ"$^1qa&$@ǁ%F3{&ʁMӍHuG գʉ'WM:6тPNBm2˾Mwej&668xoaJ=mҮig&R3I9K1w2pmsKF}f% @~l#vh5ޗ 5Q!jůt `pna^o|w39"@[֑ЛᢐKdSO' X]"ձ0B">iP ;IVAP)BzÍD\)6*ݐ̕},lZaJE֪\gTcE<^bkf,j'<غ\]tOnӇEaJ?/@bp%n '.mur%S$Fo++AJ6538@xW¨q_I}; '%!2#Gƍi(YfV_ Y3C8aehրpv$jRd ,G}=\NNLqpLQ[iŦݺqm_CG<2D<"6ULR#6TCUKygSej h ǙBN%BE% S[aܖṘҙaJ?/& RѾ5,WF/^bO; ɼ%  MTvM jU'fޗ;~YS`Ԩٞ#)@zRbxZl䥽\gTE 꿀  M=um +G[wIڴ5Odw"M6e"OM= 1Iڴ5~6hFCxdoة 4J ı*a41A7`Z]#+^J"Yo7EOKg;3Rց _pi=M'y[,ԑBZ=\$"[ӓ󕉤*)#B9GΧU@ 8ӁmAyб뇛Hv!%TR 5D(>. 7QO I#=]<:H$0 &$=㢄‚5Aoݿ~^SwkfG$5$>i6\Efe\յ#*&ϞJX Me%5ҋ<U|Y̦ (;E eq/4^@өdFwˍɽqI_lf%Jˢ.^jL\pǵ{"j%O, %!2ԑ^*nq):e֓߾iZhdR';AZ\\AHJA>"!@. ^+LUʫb8R%TI]@ɶwPo["H'O~E3}2i&P{D?[i5 !4E I5ndo,@ӠY =r"Aez$%|3KS.b?YCJH,6J1 xHҁ1Xm<89(B "C*E|Jss8}}-}[5rA1&viפIzzjb^qw 3#[ХϢMTn_y1J +a@H5>RM5t@8^ 6ooJ)Sl):X@̕},s_a ɂvAZt^c3Uc5f'&Z%k)9p`JMe֤\/HA3LǾȲRgwv^[N; $TG@x%F {Ձ`ȬBQTCoU# 7^/!c820&RV‰ū*)%9ČBgh-Gww JvBO>ymLZ}0< ;rή`ĤQ7NKKh3۩sdc.IO:ℸFWh.RU ~;ϯ 4Ӧ#L7.u#T]BXa ջit1}-"9.o5j ;oPCAC/A7${wsdDv=j{߉i|gQnJucRea`ڛu9J:9+&]ZK Ƞ}*r#w5<1 x0bc!CʤE&qC3?:0i 2DRF 栵oo[Z:4 d h#]IQH%Β.Xԋ hT Ty_0Ǭ^ NJDքI&i.JD΄hҚ0mk")#aC0)za1T"!4'زط}{VB2!RbŒKX?g [ZBR !ے~_~ń_oT&4fkJT V]lt!6A*8K<+qVB lYh0T۝k(mvH-%uM;pgXx^4įze Q^ oyxO/#7 w(pEP֙6B&:opE8P,v!x!+jc )|(^^Ooj"0q: IoG"joL@*X#4ѪRV- !%Ii҉V4YMĩY3Kv'fX@UKkD H%Β.viN B*tJ?Ia"e0.V (.B4!`pY{JH-)NR&RqCqBxO}ńUq: ĝk(BOH%57[ Tt8FwxF8"RAw[ oIC fVeE`+ĩ3-׃J8KL(a8TʫI7Q„TεDXe &+TM4*ZKx+![ZYJtsAoJtsAքYd^[ZgIb6bbB*.hL}ƒ:Vb L>oAc۾Ie !rTh:B0ϸLZ-B*!>ńΔ+!ihҚ0X)[{A pOR%uM;mRz w0(^|"(!8,&x>9f('f??oZfcI}%f o>EP<+zy!!Rb7 ]䁦1V^ Qd^Jv/}۷_zB RNw ǒz{q NXҚFDYCoR o%TγeFqi0fs> &uRCm%V4 IR`1WbM>C\qUݷW QHMkT™:eq&wtYbBeBsjqLfXR_9=/1Ahz!HZ' 9CsAqt:\`iNqvTYPINTRO.DOCA  !"#$%&'()*+,-./0123456789:;<=>?@ZS4 Kv8JcQUV?e^JYmߞ?=_o1]N8S5fYKX3,!Pþ*0q:pUjiM^8ϘubIkRoط^ .ߠ' Jńǝ &ur7 /"-&=_RV- 1@WNȼRۥ9M*gزJxK2nJ@*B>%pZ:,ͺ+ZUubJtk8JN}C%VH%lYR,&ܷǝ8NQ z۳Gq\4 ca,1 X2'IW:,pu$CpUG//3DྙbƢ%%p\db%uєaJ8L fA     *a!!F╅z^s,CpEtE+ .KfH<VPNfuPo]68CMĢ1;E -wj{wDzZؾZv9ֻg; bnw$V<;NaD< ϤZJMnspMy N$VIr kJA>?o {J;-%weDR8ֺ߭Y|MpMy N$V̦)MBpƔlӍMdOS5Cp~ԤLq!cWZ0&6Sі[y~zUS' X( G ҳ\Ɠ 3O b /`θOrwo_qT` >T } 5lwd2ȵ>LwRK]igժ٢%"7D:̵bo4~l/$H!k>IeOm<@~+ =o)s|>vj% M-}(E^btGpO˃jH .-c5- tP:cv_{ff\Ag6n*LviBfCE9Z Ds)H3;d֣#/H65/A5^G*` [y dž% }M!Pǔ_CwЙ?i dO!8'wq$תÉޘ( hFƕb$ϯ+Po]FCxdor@GfFIӋb: Jz.TQGxms95xWG1 yx9` ߣNxr0n~Y2,ghЕ Sh.bi'\Hlҳ+ƶ7'R9v-^*nZbIFc;Py<ɎUS'  i\-63H7 dR85qS GB=! C[k[GI$5윫B8C$TȄ$=|>'wrB#qG2wbBЖMňi= @Oc$X}dECFL @ڍ9wD፛ lաֺZ U?ǟk}]I)45ޒ sf!Y;822RV󔉨ѫ"();Um@~]y3%_KђۋF37\T6;ҰC}|w3&(꼚Gz` a`j`O$5KvLwòvnvLoc%N%\2vr8=軫|hOS\ ,J ۡ+.ü43O i 3`I9w-kBbe@ KM g O-]MaP~ʆ)8ɉ@QL7[]Hz@WH~\crW&k7FF'o}X M"O#ee(R^ z&9tN>L$FX^H1mn5j wϻQ59'sĤ\{r%\0P$&܇fKqO2b2%]J4FtҤ)a61@J\9RʠPJw=AYw(O; d%9}M!kJˏaCحO-[<#&LSOq?\*iql#pǜh5ޗ 4AWqF7q!f| 6e 6h蕉n5χ&\0*i'\If(҈7H /OR A@9BH#F%bXsJ.ZQ™- @la%\2hА&7 Hij$a|[\]B>>O=Z>Rė5X?^?(TĦ,%<ǞjC qrKIgC~آȇ0Uo|٫7oz3\F.9c&[B̮Z)ErG*bwA3O3/R5AVAN)8CgJ 4Ca2ktTUewM$4,7֒|+`9y O3 Tg7ZlTv*,&^"H+,p!n  RW}~w5w& AHsCvz:}|+_塀nF@Q!jůr cpb^tPY2E3jKO' C |}=d֣\O8b R5QE^3 i1Ț)+oFhQjq+5̕JuCG嫄U`uߔ7oH-\ 9E։~*8%FƏ̥p],>Hc*/ҸFk:#Ja7DĠG}|,}T^>%ж$hCǷR"Mt=$'xz-q 'yBY0Ofc hF=GǦ'z&Pn0aF!CjgPAZLlm B~I f!4(qCEgsߟΟkJ}ׇ z{>ha;.\7g6!:*GĈU^~]y3%_YђۋF@/TRtθ@D9,B>t>x8tywaYm)1ڸ6\یRAw#9X?c&K IW@4Ko[ڕNcY}Qv;tޓC%dv%t֗R͚Ѣi%%`jRO$5RuCxϺRUtv7nj*rI8.evyd2=軫|hOd$ ,;tں\A:O@aDR3`h9w-kBbe@ KMÆosFOjhCƷum )Ey y%" } (4E (<i>ӽ?4uhtR%M\;qMkxIZrZa}ysDۮEmKòq;#,m+ ۧ9K IW@ |j CǏNvKqںR$9nxΆY%dv%|JtKR8&&k#B=|УSz a:?O \ 5E] ԗF2sAK IW@ 4MjqOվ["Lx>'qY%dv%tחjͤū&9) eaJ,;b֡82T|cfwڿ;@y;(B rm7EL=yjsK,uYklTiż=- @mjrQY159!pϤū&:# ,Lγ$a|P ;\"awFpt#0a)O %1}/IE(v@Q۫pY{*f|ųgy{/uZٗ o +H% XP?P@8P J])p6K[FAKm}N Xe۳\1; /Dϙtf EXX A     9c@#LwftVF옘Хߍi96B xЦ'vX?JaàZ1dcHҁ1GwwK>>amB*Hy {hF?{/Z}T(TiL,\]B5B57R sU {+ >p/(5%<ǞjPGTIɿPvMR9eqNq\-dT/-΅[ukk ӷRmx1Xs97HsuK9+]PwFdɍ4Egc@ͅw#^7\W~ ֊;k8c%:bo:X(NxбXHdse;Cb K+ Jom'uH R.*1}/I-H@v@~tϥր(:u~Ħ7wi^t*4/e7z0SZge[)o + R Ĝa=H@>` Cљ`˹olPJP;,ջo#9}!5̊!8/wqRT٦꞉ݛ&86vUh`ܚ)lnH@hTALĺE}tx }(uFǾ"x6L|X ?^;Ub>g@:36ޣ\k;& ƼE\^H5aM^3#TOK}usH.-c CۤF?& 'o߮iso*rM%C$g;[蒺M K k5n7i'\Wo8*47$7/D/Ҭ^γ@D9%B>jb%bX|FݠFQ lkC¬PeQ љ=Zߩ[pnk`R6EieF)&>~"'0C9ġqdaN, ;w(3Ҍ;2@`*OwBŝ(|:q5 Q'oDŸKl=S_hvn9%^~C9tL c%8}}Ei)QrA5t5v Lzr^sM,4\#ݖjٓݮ!y򙵋uZٗ r;ϯhA_@O aQ9RÛqӺa7N;` 8c0;Pdɍ4EPjN ۻ)Ucv]wk+XIfAzkЌ]H2ėՈK=gPbJ0..{^rSHH]n3l*j wA3/zp(Sl)6ep++ubt߯ T7i=M'y4!IԑBZ=(80e&@m摺i8+F;zƣS{+#ӁmAm\B臛Hv!%O6řF@A|*wk"=EM:#"<:Mŭ0 &$=ا=+AeuޥRlg0nJ$ IehymuZٗ x +47'3/ ]b 9B"a&+Ɍ6K[FAKm}DOaO}ջJ5C\Izn}[-Y|qB\}iJֽ~EwBĞx̥`e;mҶ)4-O?[HK:*9wXoKO; mTK=~p!~%х_!8'wq=W٢آװi80BBGbaϯN4;Cxducw!>(jRfNEӺK G*w:p.7}w x%  }<f飼6Q!jůbDڥbqrk)Z}-/8pِK__OO'! )63O<`P8LK H 3qoSl)6GpV}Ntإ/1=Cxduw!> jRfNEPGw:a.EJ?{%#;1K5f飼0Q!jůW~ĭ^sg.XN-w,3>ѢK]QO'! )4AO:^6?ȬIb K*9]o Sl)6ep^}NO [ՕLpYںO)sz\o.r|σ-gqNycPY^տt5,,toJ8gJ 4?Âts:5KlK¬QkC5GpOp6TyEjvյ#*&ɠ>;c/7;9i Ar͋L@UN6zK u9/kL֔pCا~(>uKŞ yuHrpgSfjڜ'+8uư'sM'Wiձ0tu!`Og̈xKwwJ+ >t9tI@y% 'q}+/)T5 CAhbSTxtrKLrC/M&U[wڨ79H.UK),c&,~шؼFkuVtʣ{XK ֡)18A?JS6^ 䩧` [{!Y|tTa  h[Ev _wݒcv!pGY!=ݘNl܌fWBEkl̫w'Oeǝ.-4A'Jh}R6֬B,T^&L^]w*{j >}0ZKTaLS- 5|'V= Ree5CfPi秺ΐ#h8m޹'ks+TsH]p!n BI\R<1Pa |>JmQ t E&#L7&viפF[|b`;3\>g7Gfn_y5Xg$_7(ҟ0H$ /~R ^@893˃$ pKd_Id<_}NO5˕UiCsۺL#UVv7q'XI-gqNyz벧g$+ OmV$ ? ;w׷\3AO9  O@ i0)+o9*ݙ̕},uNƷ:AE d$ϫ,LFH_'aN I(B=%T{v p%24|j} uV<2=~$Uet^q_%R- \6RY١Ma*۵Z\ Y":}Wj[ aǕLiJ զv` ا7mtb+%K'qHUx=Sٗ6Ozor|X?;c.7H<@%X nazPѹ@}^&'uKuf r}OjҁQsO?>\ ޡ^tˋU9;hΕ,m+ ۧAKZ sP S{(1}/I-H$0 &$=F଄,UpEԣ7A0[4?TrueɕbF6˂'EjufNX> ij+wч3J" 1w#VX?c&K IW@7oʿ0IHE#G~ּEv A %dv%tۗ]wAٺ. tP}\2!>Y1ƢkX@bO++ w_\lcZ&F!_A/jǸq"S􅣢'9k'qL(>Y#g"GЉbx'$ 8(\H. N5T2=YJ#p`glqŰՀP7$yK1}b20 g A% z~?!CzyNB:ҡ0ҼyiD!sK}ۜ25֞x[tڊUO;!M^0?m+ 1Kg%6ۢTZP]!cAHekʁ q$,8^}Nm;T֦/K[%Aʛ}jl#ѭnIT]1&;&x\2gG֑ͤ#)dEUp~~]y358Oa!DQ8(MR5ڷ??^3&ITvM+T$xȅoUf0ɵlEobݾg;+U %)mJYe:R3̆iE[JX2"VQXd/hA_XHO`%;Bc1P-Ưp9wmhHe, ;?px_V,s꨹5ݔ2Q+pbMX`/;Z`&Yle%D_Ii>jKhaMOQ'vɞ {QtOwTw\˅ H9(9l}9&Z:+@.rOCVpvv' 12c^@WBwewM 導C<5OXr$ɢWo. nSZOjR+3.ewBm.%\?%'ǠM"j}IaGCۤIO=xX7gNA^dYT44Ȏڼ:iCE'$|} Z8z a//Rg5Xw)xif%˚;Ц$I)BYTux׌iG 3nU%A }/lR\#e /e=d X[@*`FdrT^:f$KaF)aj5֕NeNՙ=DWsKzjL}p w70eJŒE7ßװk4 |V$X Kiݟ\p?_}^%r- xe"RSϘneχ&\ C |}=E 7H3< i#\)+o6*ȠFQ lkBQ"R{ݻO)UYySp(`Ž)GkeF'&Z"7ʍ߱laѭx&J;a%.ҹ74}LRg#9wnF}xK|%5 M-j<5̏ 6&Hv[AԑBZ=.!n#7iяi'0F=EӁmAm\BHODItM B)w ] ;yD@u0OiAHL I"?=+[ £bnv_^`|+N0ei'_jxJ=Vz @JW0 Di+a1;7/TDIK%,F0b3c"I-dǿ7>)۷KNy>~j1flisǫ FS tR<-̄,guwU1E87Z%'T]G=\cgo]L yCM&?vl 7#tU%)Ye@X&Vgjrbkч]i:J2!n1N|]$'ne~d9_'^ L1S Tf<",~jnM_+u)aЏ5k^ ^5%nb#F}%"S\ A     wm<%U(_ZsJ;1s-$gkdC2F`7r }H&E&4;%nwVe;΍kY(z֦XsOH5n`p{ 9VEքA6 :+5a 2DYdRyuʿ U($_*gBV(,P2NJzj LyBay3BA!e̚0( 9VԲh8 řV(pcE-e㉣ e/s,kΗ9V,eUe2Ǫ! hBZQ uj%g6 gR}wOOG_0(2A;),tѨPVr&k8?\~=\~qz鉟}r~IàVaIovt{z84 BnhԊUS+9m87np}zw' s{E$]aP[^%EuŅAQ9zEaqUNg ]4jE*ԩq gR}cv@{916aP8G_(,tѨPVr5IawO{z}\_0cT-,a[LY%mH(O>(,\XQ z qa !` IϤ"IC#Rl\lqn4mDmV%3J]aq$g+jmʘD(,i#R " &}M[-fj P'B5#=HEȐ%M`r$| sdHBZQ'B& Hx"1->H6 =G.ي0qn4m|%|$=G N:D& $|%$%,I#q! pǹѴBCK)"M H," d 16,siBBFӪjE'KM+9S5kvG{v鉟HcKP R OFGʌz qn4ִ%SOFeuiV.sY=}M;5O>}c{r- J LE%w?=p}%Su`I\naPe%S`IۧoiTcT=4Xxpa[UxH2`aPU[hZR> Kʯnpq}9"}a 6$9e’AUMǹѴR> K Î7~ ;~sU5,/P NK, hZR> KʯzGiwp=QP?@ABCDEFGHIJKLMNOPQRSToUVWXYZ[\]^a iG+qn4>Uz87OFhRSd͚/;^o?z> 87OFNhrr2~v?ˏwws _iȢ|| sdsiG}+z87.sM]/5Eu)YXQqn4ִUa G/.sexHcCJ+,L/TJ+,s8+? K2hQiJC?.H'=}M;5_'16#a֊W'`2NJZ z a -s̽L0sA'KMV5ko~q% Rȍ )HOFNV6k"fj iG+AϑC?.l3!DdDaI =GDaI A>(,KJ(,=G B@>(,I)c%KsdHdaP8G,=G.. *}M[5Q8>΍՚}duԚt}x87vTkF]t;hQiG&]Ny87vTk:JױS8U}M;5-Ȥة5=qn446]NyHcCTqn4ִ#cԦǹѴZ6")OFӎjM/]ROclʑ(,uG sA'KM+5jm3sY+Dl)z qn4mDoӵ[  %SՏMN80ѣGIR`Y ޑC?.TTXR~w/owww {G4 tǹѴR> KjRϡ𔆄CK*'N.a2" \XQ2UA 7PX̱v gQ+WNqn4mNJaISϡ% r9hg,;\vw'. )#g $U ?92M@n ǫ’>qXsi ZGZ=Rȍsa 76 )u=<]v|B|! #g Sx=G9Ir Ka<}MN6s))a0IAeqC?.T/NaI_qFz򑥪692LI:BaY*řK989d)p(u$ELee#˶^ 92Lpp(Džal ˦  Kvpq\p_niL  Kz O/XK;ғ$X2#} a0MK"RK%qa;8O>l@Ȱle`ya0 ?J,˶^hTvwO?p=#Kqn4T'1DϑAp2`1w@;2 d#g$z غ0V@>ҩ4|92ǹtbE'KkNզ YlQc@mR@?? nG{z8,6.IpcE0$H*,'YL2`1]@>΍p+:YjgY@C?.H'Tm,Pa +! tjx u'Tz " d%$#@ϑAVRDHR(,iR$’R",G@VA}%R8?ZQwBƓD K6twC#2L1a +MtzӎH>}/)a L@F ;UKzHcCH'PX^UXwX"C W,ǹtBm0N88DP|$)7nƆ0nfj qY*,P Kz p|d 9VԮAϑa Kl#TX=Gو0|dj8fY+Y]dgޑMF0K,tjek|.2ԝP4$CKfNr30U`w?,=R @n&e,=,4EϑAnr39GHYg #ë*8#@nȫ#ë"@nG'.spf3tѨPWp* $" %MsdV|djxsdxll ipǹѴRdie;YSO+UlNJ]2̅ qn4Z[VtԴ3fM_o?~==]3xv qn4di%g6JZQ:e A hRJ ֲ͚r- A:hRJ ͚YC{}ۧoi >΍,5Ьi]4\n>}K`qn4di%gfM![C᠏sA'KM+934kZovovi >΍,5Ьi=5n;.O0>΍,5Ьi=4Ļ;.O0>΍,5Ԭi-E;v?=) a+siZ[|"v|"dXaH9a0l#"sd6" |$"(c%(*'`l IH#CUm`C?.H!)B !.s=G"ҹ eE}Ex(+5m6m>=G2"@:7A>BEͦm2۠ȰO0n+ ),2f`92i#@AXHP'I >($iI =G" VG,sdP݊0[!!I ,2۠%r;0[A>X8Dn.N0[) r hBI6Skm I %%I %}OsdP\m!xUX^gBW,t~UMm yL3]#t…V87hԊU+ ]dB59Dn PX:88ʿ*,i;,tj+r#tz rqn4m΍jTXRr{˗]6 s$BaI_Rϡ𔆄CK6;UNf+HO>a92B0lFbUa2NJ5XzhZVjmZ=Rbra( KU/ g$RdBS9wʊ8e `qG`3 #} ađ>Ɔ0 HcCLB@iXzi8#9dB&QT9q8MR,s))a0 a RLR&)ĩBB6B$8 B0&R BB@FӪՏXO6XdH!qn4TO’v,oOןx>\3P?|p4M@ )H’C?.H) RB)2}M+RfD*,)nG'>ɰB X:9X0YH’vtQ kn'}=5<>XO2,2 d΍jTXRw?p{L4 d /P RxJC¡%IR,2}M+oo=]v=ϩO$əN, Aa8#9 ,I9H, t" dQ8hZ5ww>}K@>΍,5 A     X^gdi+HhԊUӫh|'N($wX"C x87Pk6SP 9mNH/])t}O}{ӧϻ_y|ӧϻ_SJr:tBqUW%M+ባt u'TG:>p1I=GF 9m$G IbZPX(I %ݥ z đ>Ɔ0AҟH>}xiDnr#$1-uR(,i692ira I¡%r" 49^4qn4Tk+9#PX=G9 . 4 B N(,iG Cϑ 9VԮ 9  ]d;TXsi3z.N0t| )cF,=G9T. ^qoOFJNTk;* Qʓ’FMsdC@A>g tQ92!sa L@F BY9c9#=&z2n4Eϑ!. i+^(̸QC?.JKϙ, i^(O>OXz ٴqaMcEKC?.yLy#"sdȦA6m#"HL,z 40ȦI@FJE~O}A6MD*,)\nw׻w<|>_wߩ_>cߦaM  Kz %wddO>2J,2^$AbZ `#} a BeXzEx~EȐ l~EȐ lŸK0ȆA}% $Xz9B|/DW$E:QMQXQ+WNL  ȸQ|$b92D(, AbZ,=Glp. r΍jmZ[vR> KU>XO2,RA&3G"ϡ#’lz đ>Ɔ0d!H$ qn4Z[΍jTXR~w;~sY$IeD`P N^bI +6 Y1 K(:," b’|@ ]4jE*ԩ0ȊAX,]AV a92dU "<}MVTdp[,Ĵ,=G qn4Tk;'RaI׻.O7t׻9 "9 dX"t'L'(,V )@>΍je#.x87VcGcȡp(9LǹtBmVa u'T9D:@CK&:!L0rFr(uws'9l]9G #q! t6 4;t6EJ]" 9lđ>Ɔ0X}ǻ4 2!qn4di%gfFJ LH} :YjZəmlhO>}ra 頏sA'KM+9mִ_>}K >6 HcCBF,ҷ’7.Ot׻鉟}r~I=HE@clBr\ȲF`13I%L'΍V)IG9hZVtԴ3Eov\ܿ=Xv|yKà[}MO_4qA:!E(,PaP|"4EϑBA!62DE0(A>r _VQ_DPM#C!Qqn4T+:YjZפ'_Ot׻]qn4SC?.H)e9$΅A&7D*,iw۱ӎZ̶݉y<>XO2,. 2q$K_y+,PL8TXz{c}G*+%׻?dVV\<>ɰ0Hys(uI& LD*,xvBڗSA&G"[ϡK9$΅A A"4}z~{{ѿ}+ja턴/9 ,D`7C?.8 s(uI& ,D*,vpۧ=vBڗSAIG"P N~’x.Ʉsae KovzG-Nlz9Iwae#Xs('X`IH,Ĵ,Y4X2^,Ed$ Y$#q! jr[,Ĵ| sdP $Dd P " jpG sBTXHNƓEᙂĴY+NlxRR:tBq&% HRLAϑ q~:EلA qXHNƓ$g z PXìu'ԉ.2ԝP & 2W z'3,=G9 ÙNxP9+,Lx.2ԉj sN@>*@+, ]4jE*U4a9 8zWqAV" 27 GgH270^(X|3A& }M+N'Rai'I L^`>XP NxIdsd 16A&*!P,s┉ʝ2)΅A&*Ga}%yE~E~Ex. ' NPfX}E"|_a>ϰHooHϡ%YDd9hZ5M~w׻߼=a>΍,5ЬtѨu[S5a>΍,5lִ z5Ҿ}8hRfM뢡>Z _z;!3}>eqn4dieu]v?vyw"}5>]* 219hRfMk]vO߾]ezʊݟ L 87tԴYz0@$΅A9A/HO>H,=GHcCds’^~=\~^>}~F{z}\_0ȲH,wG",=GHcCdb>΍Ug,c #%QdF@>ҩ4X=G. lH*,$ uj4|$92d &HRasd ,9SiNr8UMY6h g:q+Si G ԵLWp.2ԝM46k +|僶@ϑ!+2Y!Qc +>΍jE'KM+9#fMӷtmZ[ +C?.H)X'16AVd%Bϑ!+qn4T+:YjZ٬ + A"_q۷'oϩO$əN$qa#X g$g:9H, t“$ KQ92G +*Hm8##sd ," rp(uIm]dG_ p^`\owOq% Bf87տ*,i9tBKtBy87VՓ?G>ǹ\2zLM: >΍jE'KM+9S5k=yF{1^zip?G>ǹ\2tA!+} :YjZəYaw7Îw;A!+s#<}ͥPS_0(ǹѠ5>vvyp=aPH砏sI)]’C?.H'T K'Tr+ T KPAA!Kx=GBn\r#H%M=RrA%>΍,5,.n+uU87tԴ3R4kZˆ7.O0tǹѠY:kw?=]viT"ǹѠYӺh|}ޡ斆A%2} :YjZ)5vy0D!sA'KM+9#EkH~z{Jà>΍,5͚ۆ/vOiA%*}M+N'Rai'IeG",=G JTD`C?.8G,2&QXBϑ(J8!P ؊S%T8Ur*ܩ 9BA%eyHcCTb8,s(DžB/đ>Ɔ0F0b_nG{z}\_Rϡl+ }M+ TX~qOt׻9I%L'  Xg:Hts('XO>`I$92naP8) I*HL,)z ŦpaP8H"#tj@Ȑ8,$ 5_VQwBl0(\& IL$e=GbS0(\ I*sd 16A HR T92aPXsQ5ou'Ii|aIG׼UԝPbswG p8JrEᙂĴY+NlxRR:tBq&% 9A'0kE u u'T;IpcET'I=GmE9:Y+N]d;ޑO*%g̱N\ G ˖2&qX1IeC8,ɉ0(A>T<Ĵ$gPIA6RX̱v'I*>HLKRL!sdH*+j8T* qp(uIW p ,g:,4PwB5>)$SX4 78G:2yݢPlb+#tzPl##Cو0(6#HOFjm :z.)6$#|=GbaPL3ǹѴZUOY_Z=Rb87VjmZ=cX$㏴siZ=&z}tT<[Ӓ8-z 40(yU ]"먇wdA>׼UԝPS`y-z 40(I5CKiaPLtt .:=6F_:u3a֊c4aPȍ#BKޡ R'I@Kxҏ=GBN. 9 .’CK 90( q~4aPA0bsi'@@FNVrFfMݎ_FA!} :YjZəmˎ˗w;3A } :YjZəMuzr(Gx8747}S_OFN~/owwOMRA }EՓ?G>ǹ\2zLM:<}ͥPaPdR@FJD*,)\nyiS6 "D(,K9Ґp(uIeTd""g.̥PaPdSӉEy.)JAU+aPdN`;9BVdHts(uI! 8,=GHcCp$RaIxÿ@w?|y_>cߦaPR%}I=}MV*eL$#q! *19.K9B! /#QA%}MV(o#xH,FpFKeKdޑaPI!Tm, & *)Qc RЩڈE*T KzTX=GJ" *)IdHx⃉Ĵ$=GRX̱N& * G"C} =GJ" *9dk*T$Ɠ$g&JaI*.sׄA% Aj#8#,I8s)TTpt“%L'sd0L' C?.dy.ƅA%+LjEvPXR~F{]vO'~%%q!˶" *qn4Pk+N'RaI?Ǒ>nϻ_$qaPIH$ND`13q O>`I$eL$#C9 .w:_hwws}¯xN}"$>X0 6saPl8V ftBN(,ig.2ԳTﰈ0(ґ8%O*%M=]dg>92p(Džb#\L X'16Aec2tdޑaPl AR(,|[E ul PXRRʘPX=Gb[0(=j=. b[9f㝿TXԓ̒z TXìu'iM['BZQwBPwB5>q KzJ]dJ5J]RlTlTl bSXJy8?ZQ'Nd̄#ChԊ:q$0([H4%1-$ uR692$NaI*v yuXeL];[aPl72DEz bq5o,$,))z vraPl'&zؒ lsd(ʅA1d2KWG2tdޑaP |y;Nn`F_:u=GbDCDGϡ%P0(JMXw;wBaF;N gìu'ԩG6MC I* iI=GHcCtX"C x2K.u;2 9Gx& ]4jE*ԩ8#a Lyđ>Ɔ0(#H .:=6!VԝPwyOclJ}MV,5,5~>0xv# =GHcCttNE`Y_$9EbYDE&siJEQ.;'q92G ( ccD^G=#à(*Hj`IS‰0(ѩp",M;UKAQ8&zϡ%E10(IeX:TX'’EpFzEÒAQ N(,_O> %M)c:92U (]4jE u =GN(,a֊DNwdE%qpyn"sd(̅AQ Gj`I*řN(T KN(,iE%qn4M E%#tjxsd(̅AQeN(,T~ KRX|4J]RTBAQeN/ 4/X^8#}7`aPT|g4z E10(a1#=,4Eϑ8EU :RY*,iJaISXs(uIQ BPwB5|$ISO>@ϑa q~N)i W,t~U%PR5C?.' ,4’@clb##a֊z5<;)z F0(6R0K.:͒ws(uI)D !VԳT'`IIsdBZQRf; b Gì,I6X?92RaLJ&sY+Ylx=GY*,TIIàYb ,U#} aPl G'Y*?K%M}R),S>q KA/X^xGzHcC'sZ[֩0(6AFNVrF6kn 7o0(6[}M >}ݽ=|V* AF&Yv|թ?b j l"M(.s=Gba A     K;qn4P'IdsdaPɍ>΍Uk+ϻt׻awOg6 JnPXRz ) RTr*. *9 GfH>z \Trr33ǹѴRig.Oxt KA%(~"qf_y.NFb>²`:),J/ӣl1f7ק) a8~4X'K,=Ga" iǹѴR> Kۧo΍,5ЬtѨu[S&0>΍,5̚5e׷ziLAFNVrFf͚UC{q}TM87VO$ TXڭ ""sd\`r`xHcCLpp(DžasiZ=}׈b{j%gqn4igRϡra0J@>a1W~ٜe%Msd 16*"hZRFc}Q6C?.T2 &ǹJFk+պ`r[ccHtI:t6P SU0Ɓ5& &7 h:RX[^87vT~w?xr}b~Q6 iPXҗs()Ɔ0p(uAHA%đ>Ɔ0 KPm28DP|$)4Eϑa6Y զ|$).seѠ0T) j K'gBy.MC !_;,z PX̱Y+N]d;ޑM $ e z PX4 j 16>΍Uy.aPeN@FӪjTXR緻]vO/1o02H’C?.HG,z đ>Ɔ0>΍jm7?b1X$$ *:G:UKPeU K916px_$qaPe#Xg:Hts('XH'I$2&QXBϑ8U%"<|PUNAUIhޑySCϑ8U hڍeKdޑaPUSጩ,M;UKAUL1aPUdX"13_$5;wLU#9, hZRCKjpaPU|TXz vO<|>^—?wO {L4 ir$BaI6s()/QlOL&=}M+{sðǹѠzJ8OFkz}. i+J]2UNđ>Ɔ0CKʉ06Acli򑥪I0&)P꒩r" I:/,/P T (DCi|"==scl~F{1^?ϩO$Ӕ hZvR>ɰDCi|"΍,5ltv\F{xv\nӟ0&砏sA'KM+5ݿv}"@oK,¿l C?. S%`pAFJTXR~Î7~[RH,'h_6M N ExXO>`1’lz đ>Ɔ0t+UlN92G`pc/}Q6~}Q6C?.TY }ug~/0\AFӎjM/]0\ YzixfBϑap UJRK;.; ʝaqaqa0A}% q,U4<#sd `p>΍՚^ra0ɱT`Klb$=G#0\P YuCKlaG`+|$#q! B8hZRdi%g6͚Oo;n׻?>>Rϡd!`+>΍jm'R}ҩ4X=GDlE! F;U,Bϑa+*[Q8z.~T3M9ガDlE%D[Q98tG`#8.*'`R%SDLY 16TUN(,i#C'.sh` R + q~:EلTUqn4P8Sqn4Z[VtԴ3C4 i+sA'KM+5DgUa G,s(i:%Ba#PX=GHcCLF@>T=GHcCLA> ˦#4M. iDCiH(HT9=^(Ocliqn4Tk;)H%=xr}_?iL H$ K4/3ғ$ =G$â0,I9Qb|$QXBϑ8 KG_6G` #48 e#.eӄ4H^(,J/c#4d" A:0ѣs(u4" !ǹѴRdie.]_v~{@OiLC栏siqAJ9ゔs(DžasiZ=RLS` ȣ ˦Dϑa6" pǹѴRdieww;O+UlN iTXR  T9=6k A_5؞ZəLx87Gδ˿FS+99OFT9=r0Ibi9#=H3m#0 " arXsiZ[)ϡ|$QXBϑ800ѣ1 apG` !sqn44:. 7R!$ʓ$g+Aϑ8LH}sI=N=i \lt$ 9VԮL0؊es * ͩ original spaces * ͩ original tabs * ͩ original colons after labels * ͩ current spaces * ͩ current tabs * ͩ current colons after labels * ͩ trailing spaces deleted :6 ͩ * ͩ comment lines moved : ͩ ++ No string match found, changes not made ++:T$3 !\l !]} !\ l!]\ K3 _ͩ 0) remove colons from all labels 1) add colons to all lab ++ SOURCE FILE NOT FOUND ++3 2W2k!"!"K<9ͩ File exists - erase? (Y/N):   0 :_AY+ͩ [Returning to CP/M]+ Kͩ K x6 6o > > !  )) > > :6/͸> K~ \:":8~ڞ:ʀ  "# ~;\:"Ä lw#xlͲͩlͩ x©> ô+> .6>.:!;;~ ##<2:5: =O ~  :! #"͡ E I M!  2ͩ 2͡ ; W ͡ G ;G *N6 #~qO M +6 #6 #6 G O: :y:y:5y:4yʠ a{_y": /2yA[ * G͡ ʬ º ?© :' :u ͡ ; *6 *+"*#"   | {0.K\ͩ *!~;ʈ ʈ *~ Te te  #~Q 2 ͬ 2Ý 2":els 2) colons for M80 assemblers 3) colons for 8086 assemblers 4) all source code to lower-case 5) remove tabs, case unaffected * 6) inline comments to column 32 * 7) inline comments to column 40 * 8) reformat source code (col 32) * 9) reformat source code (col 40) = a) inline comments to lower-case = b) full line comments to lower ͩ select: ͸ 02:126=_A,B222ͩ ; $$$ *#"":":8# ~ "# ~':µ/2~ž;nÞ# ~ "+ : > :": =!4!J"xx> : => # ~ !;ʄ  !# ~;ʄ4':W/2a~;n# ~ J n> :a:8:ʨ:9: ʨ:6:ʨ:ʵ*#"Oy=> ö~:> #~ .:~#͇ :~":/2~A[  !#> 22!K%> ~ ":ʐ4Ґ#~:b p D6:#6 #6 ++u"*#"v6:"*#"#~5ʙ 6;:ʙ :ʙ 2"!~#a_~#ʶ .ê   ~# *#" *#"**}|_ !"*{zQ *K4 *" ͩ DISK FULL: OUTPUT# !"**#" ҹ ʊ ¹ ͩ ++ ABORTED, OUTPUT FILE DELETED ++# IFENDIFIFFIFTELSEMACROENDM?TITLE ?EQUSETMACRODEFL?EQUDBDWRSDDRBRW?ͩ * ͩ *}0 "> $ \KFORM A:HELLO.ASM 1) B>FORM HELLO.ASM A:NAME.NEW 2) 1) uses original name for new file, original now named .BAK 2) original file stays intact, new file has new name3 :m `K!\ K!\ k!lK 2|2k\<¢ͩ "+:"#~ " ":*#":4u6 #~ "6 +6 "#~  ":23!"~_ESDM" ͩ ""~_EDR" ͩ "!~ څ:5~" :P:P> :<2:<2*:|:|2> "2> "  ʧ *2:2> "*#":ͩ * > .22222!':/2;::<2:<2:!> =2c # (,súͩ String to start (15 chars. max): !;͸ ʖ͟l A      BAK BAKvFORM6.DOCW  !"#$%&'()*+,-./01o23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVOĭʲ!6֬HŋCىQ8( FBe: F )vc'zd X3z)eS7NY[ 9t9SNxX~|dS),l=3pj)J HS)$3փXs*rzDbf vL^sʩ HS)b؎5R62 Dbf vL^s*3+ho#):S\b&ۧr~)'ҷr*OXL..r{*:b>,'dXnOuN o|XnOΩPMH5S7!3(UEuȩ`$XrfEp5@lށ29=)X:؊`8A{qىќ . V*w 'f pjŷr*PiC$xgQ PF1q,kV KNu Xp{;)+j x1av5{SAlYBLCbnB0 @p m` ^݁8`Lh: 5!%QXӁX T Q:%fo>ξ~SN`iqi1ջ;\S)pBnor ) `+FRDbf vL^ T Q:B:uF alG<ǘ &ڊ9} tmE nalECN_e$3֣v(a P;Op 1FSw&X)yR0Z,G_M0ZlX^\?o1ZLpΏhi˜J|dy=.-O~;T 7{GW;4>=Nbc͊ܐɩ@pޮHaM@Vn}U#u!.rʩ#ն %fgV)fo̾.ZLakxgHq^#]T PK)p )kK;uN`%vxR hl9}J7 :SRV :uS W|l:!ke8!D*2`#SȩL]w&E2B"È 62 wLf  !JUa0}a*ŋɩL]bH *ŋ5TΩqDŽ>l-+TV o+7QK!f_@߲"JUa 2xىל wL]^@߲"JUa 2xHN s*x1jz-+TV o+j ˩qDŽ0^} gN?Gޙ,q60\UQ,߭s*A{7)hٙ,~ 1 Gk*a, k::rfK";1xSU68C-'Ԍ V88nrzv=z( eG)x1 [3X혼 n%RN Dbf vL^ &|wt)'Lo)7k8E-׳XUƞи  (^֗9az`cKHWwx>x9azcM?!r ӛ-yeʾ'*m(ˁeJwF)rN޼zrpf┝Y!CN9az%O\#P%gRXvw{Yก5}2i1H m$+!FlYA #{ 9azi R1 7Xn60}aHJ"!JG'rf/rgR[ln?T 1?Fs'i9v;W#6[naSN9h3r}?ah1i~|c|ݼ'0T 'Xb8%d?hb?&FۜJft1yϋ-Fr4yKN.8-狋s*&>'}r>ZlcX4x>b??CN9QC胬5 H k:Ur&l k FR+ :S@/niF Xa6RZlrӯ'8+o:S72: RB< OLw)e<ld :2P;Op upiNs7 n7؆@(;#Jk  \bXH]SN9?.k%mꍒJR(i}$\Iޜ~>(_(tJ: M z&eH =C asQ40G{h!V8*J:%q 1) U n/c n/c 2) U n/c L 3) U n/c U * 4) U U U * 5) U L U * 6) U L L * 7) L L L select: N 1` 8` 12 4 ? C $$$ BAK BAKvNEAT6.DOCS  !" to all inline comments. Areas in DB strings are left intact, as are areas between "double quotes" which are in any comment line. "High bits" are removed. Byte 0103H controls the CRT line progress display. * on the menu indicates options requiring a string of characters to commence action. Typing RETURN starts the action on the first line of the file. B>NEAT HELLO.ASM renames the original file to HELLO.BAK and the new file to the original name. B>NEAT HELLO.ASM NUN : y: 7yʾa{_y": ª/2 y: y¾: y”A[ : i i ~ ##<2 * #"    | {06 y \? *~#L 6 @ ~#d z * #" ˆ * #" * * }| !" * {z * y  * " Ü ? DISK FULL: OUTPUT$ !" * * #"  O  O ? ++ ABORTED, OUTPUT FILE DELETED ++$ : O: y y2ʅ 3ʉ : y6҅ É : y#$%&'()*+,-./0o123456789:;<=>?@ABCDEFGHIJKLMNOPQR)Zkz5b׏_߾sq߷ '}s޾.4S8Nfχ8p8hN1[y)Zk9-y keeps the original file intact, making a new file having the 2nd name/extent.4 :m y !\ d y  !\ d  !!ly d 2|2 \m Ÿ \y < ? CANNOT CLOSE OUTPUT$ ? *  ? lines in file *  ? original spaces *  ? original tabs *  ? current spaces *  ? current tabs *  ? trailing spaces deleted : ? ++ No string match found, comment areas not changed ++ : $4 !\ d !] d !\  d   !] d y 4 _? SRC FUL INL --- --- ---   -07MAR85 NEAT6 COMqNEAT6 DQC !9"1? NEAT - Irv Hoff - copyright 1985 - 03/07/85 Uniformly changes source code and comments :] ? NEAT is used for assembly level source code files. There are 7 different options. It can insure that all source code is upper, (or lower) case. It can change all full-line comments to lower case, upper case or leave intact. It can do the same thing ”* #" ²* #" > x¢  > >   > > ! ~*6;~ K¨: : > : <2 : <2 : B: B2 > 2 >  ʑ m 2 : 2 > * #" :? *  > 6 2 2 2 2 2 2 'µ: /2 ;: : <2 S : <2 : > m =2 }m #  ,,s? String to start (15 chars. max): !i N cLd9 9w#x9wn9xn> y+> 6 6>6 O:A     i!KF)j~O{PLȡ1ўCsD;PB:fhQՑ*T 94%EԮ#l݃  *+BuCC䐍KP"B:B(5`1Gv.ȁH.k8y\3)s҃ lXa,\ 3-T 7ȡmI2 )buZz3\K=Bpbj C HO ZK"wO50#3?@ABCDEFGHIJKLMNO9aZ\kXprгG4B(".o/yy1.eZBG.txi`-)p!{-CLKÐ"7s;Bpb<&F6 D{V# -=H fuVwC)p >  ʴ ¾ʾè> > !~ 2‰:~‰:::> í:<2:<2:): :)2> 2>  x T 2:2> *#":v+ *> ͇2222'–:/2;­:­:­<2:<2:> A=2»A# ,O*#"  |{0͇\+ * ~͇#~,~#8 N*#" \*#"**}|!"*{zһ* )n\?lƄ[(b.^ sw:ofp!}>~'7N~k!?ړ/ZHY\ YK?OS'@{r3x-R)=N^k!bv #'׷ky IUnF(3{5NYfwb)b[Mq^ۋC8=#*`GΑ0,=Q`JѾ {R02C!j;3J^ {R02n4 aH6uܐ` eB jבC6p:A]eaIn}3G.FzRT^ H-^ !r,턧sn8˷˜rT;F* LQJ[mMvyfSX/7= Fsh#ط ߪ0&VN-@gcK!RSNPBRBj1FkRr3&VN- T ֣V 3,`*>ŴXNÏ9gQ܃ܪQ|hg:RH+RF['5.ᎴsPjV"7F`="~G =$ NW 1|XMN9a#8L0z-bl ,b}6Bat SMz(Ckn 5zqNP/ zʜRSMh#ط;켢kaaL8pbV8A314WU"F!,9y&>5Fu!Ņ & ,(~IѷCn{' b= -07MAR85 TABS6 COMTABS6 DQC@!9" 1 + TABS - Irv Hoff - copyright 1985 - 03/07/85 :] )+ To use: B>TABS A:HELLO.TXT 1) B>TABS HELLO.TXT A:NAME.NEW 2) 1) uses original name for new file, original now named .BAK 2) original file stays intact, new file has new name :m Z!\ 8!\ 8e!l82|2\<œ+ ++ ž*"p+ DISK FULL: OUTPUT!"**#" ##+ ++ ABORTED, OUTPUT FILE DELETED +++ *+ *}E">A9\<+ CANNOT CLOSE OUTPUT+ *+ lines in file *+ original spaces *+ original tabs *+ current spaces *+ current tabs *+ trailing spaces deleted :$ !\8!]8!\ 8!]8%aZ:#XP*6n[ja3,5Xۋ{e!Ak8-=L*vZz r1d&jyM 3p!TEnH1E<]ckt=^6)pO)ZˁB Z0ўRLZ^PɤR@pb<,T)Z WHPɤR@Α0fR;3Ԥ"SP==:qNw{   Fa`@ vַBOXS`)'4;{t aHM ')~B L+TrBL 1Njz ' {HM= V?=-5W&p1a )V]HpqlO,BjBQ0[\9mv(^%BG[\֦+xvxvz hGq'ю߾Ci;bѪUTAtG't 1z(ŇvVƶH;< 9 XHpGԦxwV B؃)PFO%R,֗ m,+iO;a3Yp @EzD剡^`"4wZb=4`yp?Z/T5X8XM3٣Ѳrj4rV-{L{.{ Fftvqp?/gxt4MZly j5h6qYV}pi[]+zW ggW/%FK,xh~ꃃMk旸'/1_bY 6MaǷaBr`)Tp?`dW! 4 1De,ɠ$#wJINߓ]P]xɋ`S#<(tZtV%ɴZtC&gipXTK 6q& ^HFfp'jI ϵ*<5SpP:k#} RJC 1DB' C 8F2/`dW=a!cP:Z Ȳ$p&Qxa v68lZj&;z^?C4yKBmf ;a88ę`tG, DBI-DEMOCOMfDBS DQCk/XDBS-DEMOCOMmYDBU-DEMOCOM vKDBS.DOCl o !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHôօH]B0U pgrS qNVN-@r1 ✆(m0+pgr)'|ӗ \^l.w9aN"o)INX*O.3BmMvyfjriXíG|vssSNxX&]N9ayuZ\q{h& pt zEsr>rp봸^c|uuLMܽrp봸^c|uu,G\|88}=Ӱ&a`-0  N(eӐ'UgQUpi-9C5DdJ0`F&PfBߑ??{^,t"4ƒNeY }Le <1c,DA/ T\ RI:bbu`g&(Pk zM`(<2iPLE~! c68$efSe15H, , F-Dr;+Lmpɶc! >4j1, Q_|ՂT&\H/TZrƲP3)jp jSBՙJ%g֪Ծ jSB(YiɶcGl(T IR ݥ ԾPuPW.j;6Xj&;z^?mY.$ ٠PRpX@4,(YAIFhgiuCa 6 \Ey,Lv~zɶ#kUF2UgIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijk/M<W|6Ms\`m-6Tx {c)^ 6߃M18?o^tOB{&o)}ep?bE0Dc cO;ׇ>8؟~SO8 YSp??ק6?ßR6yn <³?}98 '.:RY OwaB+hM`Sp)8tipic_&۾z|`_Lۇ 6_i?MW2 0.fp{hߦRbt긦 R|t+rcT|uu\/ R] Ɛ>6Sa >S ] D1&VN-@mj Pifp~q<7..ܽ,o{ߢel=*?qL5Satu!'xi&̈́O0ʩV0v&ʩ49z[9Bٜ2y-F^j9 @ݎ`Z1fp~q<7)'<,or o/yyqTg0@p  Uh-S l~sˇח_:q#zc7?q^LaZfs5}lrbyx&p1?A     YxZtV@>.Z 8X,Lv~(b O8"RX *qZ588x-u:Jsu&Om0cD'21@&RUg-dV=HM/Tڡ܎ :J42NASxY+Ga88d.i)CG#,j2ШEבb*1xa`k`P%f*m'͐ yhOL%`BMð@)]zе`r8QG!@T4ʼn:R ֒3@ld = Q֚PQ6C$> ^#XK`q|M%@+HnlTR+=ۑLel 6dWq==`ؿMm_=4E7C%Dohd$Lp vlv?^AݏWmp)84~4L5:322FPR(ZNgj~%pb4tIЪgr'hd$ip6gzY-, Aa)"֙Ji &HS'-`SuOwC$sl 6M=VfA##aUj*!   ^`dcY]bynO6 ^d x9k/wU q" R `Spic]pX eBR֚ 7%N:0 Uu& fYGU#@^ `SM7%N:d=͇+%g<6L(EeyW< 6eP Bl~4{TL% # hUᦺlMQ,khUӪb Y  ptZrZXfyhM+ !PWL(E+ ^d L0R"`e# 6*,UVK8+WT1^V~:Vef:.ΗM`VӳŲd[bkj2ycMS(MK!6P04xٶmpt__-`0/q6W=F=.8T`qYնZb6MU]`:Ųe۶~8Ϋ%Ϊ6۳gyc0]{ dzQ?t^a|h>j>UgIuVͪMO6pLJ3 ^*j{UvL_qEZtVepOװdA-Jn<8Kj>^c-cā{TLep)8شA+EtOwM낃MO gB##)X`&cPvLPw:bIN]pDPB57=x4=`?ZNz^Φ6P"8DBAjH*$F Xݯ&-PMmU5?' /j2 U5?oIpidEM@LjFF2XKL{LH $84ݮFvl6HBD݂fh'M6%gF9*2R(~5 66t TFgcRF р3Z`B."@_M`SpifgB##aUۋ`d};q<>l0xQ11 ֒382R(h6M=Vӳx|`&cHX]^OϪvM낃M_JҀ3A ,`^ $C(( 1B< il2,6 ^ mf+LŴ걭 Q?~l>?;\U;/e?MɶL %:FF#.0N7j5ZR1⦺k B*kMfRXc&cЏWTd hԢ*H-0˄(` .ikwRcRxY-xxYǫ*8t6W=fU, JiAF t.p& bXPC`S#6FjZtV%8kF)@ Q ZB'B-`S#bkv Re ɻtl 8Yv>@56@ d2:Hh Ѡ. <)8qz|h68c5L&4P%8ek9%MQEבbuuƁvRa-9=|< <'a UR L UDZtV%2F*ΤPӪD##AԾPu 6ɻc!juQ*2ОPR$ 6dS]xx Yʰ/jB`6Eb-k2)"| L8j_:SFF2Xq`';* ˝T:* IlZKL{LH O-01fginM;t׽/T׭nr'W  mU5?dEM`UjrCjQP0XD^{<aSaᦺghUB,:Ͳ1.0xQ1jl:i2F##)ݑA# UcpiM>ݮO6 ^d V鼽XZr8 :] #.8t~<¦FBVDI`dc5ۋ' /j2t^,@*tZ:%yI."? 6GcaᦺCIPcUpݯ& %51g||-9C =&ePO! HբPL`gRLhy1@貤ڀ3+T/y_|_;Weu1^Ξ׫*.ٷz5kMY& ^T`iqLHkQ 6Fo&tѳby'8X 6Mp_^~߼A{ &,`qmPR~|zFF@l]B##)Q{WW~|z f L1b!J+7%Yp_ x7eL1L=X`&ccD##`? fYmp_o`4LB0GB##)֒38Sp42/h^,HUC ΄]DFp42/ ;`Spi Bx- B0h.Xtelz>(EdL*tD'JzzJh;GEg`uu,Il$p&J+7% C%AT6P䃃M T/ iPzy"p ΄FF2lG}+L\ V8Pp*!d%B3F[`$i B~piUU q" /~BWƁ 8'jM`LN(^3!58Kwmp)84NdTulG}䌛MO6HeXLjvWXKθ.ZBE#<&Q_ 6iݏW '68le? $?x\xb^n 8l ژwkx Yʰ/jB`l 62,{hd{+HsOIZoM'tG-7 Jwр3aZUmxZtdP`:EMHTL t$p&>f+-_̦y|x~=sͦy'Mp|>r|,S ggϪl::oq1~T-1d۷ `Sp)8?MSeXx@^T;La_,2icMn!p mFxp&OB"FRɶGI."MuXgYgH;6Xj&;z^? 6iU B6/TaݏW-pS]xξev4mp6]Kc\\bp&"2 F`IaAb&8ؤaDkB]di== k#0*^,p`S##ae! /j2JOY^,#Y ΄Rpp158,aKhP `Ξu^L`1BStl(Ed42x1DjM#΄/j(^p&ԅI 6 ^d Q֒38TC4j(Q*2E7hO%XDCRiY `! !BktEuF'<j fp& ^ >T`Spi`MXk` zMLh4 iLALEiU"JE`d}{YpnccW^ƾxY&LBm̻5hd$Fy_ME,q Fy{޿mY&wk*H&O@4mp)84ٞc-cPqBm̻5 j_:SBqS]!*1BG#MkB( ^ j_:S #YL3aY~o 홼yz٣e&i R1Jg¼zR(Ap)8m_=4gL`La.gZXH-Pn &ȺKk#}(iS;y"FFjbM'W0R싻Iǂ 'iȓb%gЉ4`)6T> E-DɶC2AKqΚB(ZƈNBy# }] L,DV d0F"P]x L(ɣ#0u SU4XgXl}l ~8W}?σecl 62toZ*D@*ht*i_2y40"1R(F&۾z|l 60aMDX{L wHgTC4(tlEiU j#Xby ~ڋt,5DujG 7%N:ʰFjy#hMvWNQ 2c঺lV;2, nKV t,(8x!XC UMШŰhPnG} D R1R ɨiMTuT|QӪD##3(TIl7el 6PBՙJ422F(BXFQ_a:4D)I%X@5 lLK p&Ԣ*HXkTP%B6b&cM~5 6$BI,0c5ί0ZĎ$,{&^xsBE2  Hl$`_(ԾPu28Hj`7PݏWO kp)8ش.8.-@p&T8XX@*:FQ_a:6-0@h;65^tx!XdHgBIB=mMua*8R1b! :JRl0َݏWЪd;eqS]684I7L QdQ: 0;Mu5X@,Q F Ap)8t~%f+\oϦ{Lƫt7߃Mk1xp֌(b(X3g 6)6R RgPQNKuL~f@)nM"tY,awkgB##FnK<::Cj1,MASZ QkFBmj_:S ZڗBmj_:`%K2mp)84˄Nx!Z/ X38ɠ0RpS]7hUcQ4j1, LͤZxa-9c! < 1DZtVepL 2SMDgΠ IA*:F,Dq8XPpI*p&Qar;+LW QA     <Sl{@a MuzW~|` Hk o##b jl 6="(F'yHBA4wY3 J08'`,'42`M*U J0j_:SfPBՙJ426 Jwd p&/wRhU5y 6wk*Qv. RAtOwC68i(&O`Gu 8|םP6q&C}L%ɀ3%a-X°B6tMZL(iSJԢ*4X"8:(`S/L! gB Ug*1x3XKLEiU"JE`d;+F6tWH΄NKRy= 6Mɣ܎ ))0x3X1 JM Q`-cĎ4 yIY(@ oM vEtI0B@vl]kZM|WfVAhפIXTfr{ƻsz@> ^=FY6MT3HO,TJ)UE"I@~){y"vs'q[8l Z=gJ6b<0#-…57&()wikoa%7#'\% ? 8z{hy=JJgJVB@Ds^-%\R6Vj.%6&<1f/-;/K%9N&#KÿA|ZXEBha΅Cՙpҙf@{akfZ|o9OyxuZ|/ πۧ$<99 (2Ѷ/51:5| ^/0F7PG*F9)%R>=;51`'^{Lk GziAYWSU+PC=oGFT=gQByMv=slVet~ ղ£jm|>1^z?ߩ`%n KXV~?)/ `abcdefghijklmnopqr5;q#x?358}86 BNI[F":;%9LM&*"4V~~\WRYP[\>*3¢רˏǓϗ֚؞˨㢬NjĀʇy  !"#$%&'()*+oB^VBXU[@T ]9a&* f-(.* !n=96:''u$2+<(-99_OCdGbY3b\+R PFyE=vIrL9WNU1 LiMsCLl~ڠ1 6Fo&)Ky58ll~ZƈQ]0ЪD3P]A.rtv^YHeXǨY K;:šd۷ kBpP3hQxT8X֙j_:KgB-Nd`#BWFB34ƒ3ᦺIǂΤ@.X8Sp3EiULl 624KtV%PqPu&vW~VepiݏWОC(p&"2J/OcL(1 +䴴ꥣu}DHDBH NBIJ@PUFSUOTXLHirg#%ciljkxi-/ce}aq579;nxrzCELNUWY[05bd$67-'.km,=?&!6tv4956{}=>τɍƕœ =4#_ĀWˉLӑE۔C⪪JꢢU򺺦_OMVR FDMI]]PUASVTSM lmgmc')zjof.0a}xq57ilso<>mCE LN VX _a0&*$+"hj9)=!=$qs&0%2,y{.8-+Ƃ-A두Wq ;xN;@=%.ak9QpѬ MBF|HM`)yadC2o"ʫ7:* ,3z '.(3'#')*&&caytr|zrV;-z=1LB+EdIiUkGnRJ{SJUIZBrSjW~aaBCdegg Gj{gsXw\{槞|m\]~U۞mf(ǯór4wtM~ˆ恝삛S ˊ…΁&_áƒؑ"m A I /"8 !/)jjca{ x|lmj }f`sF35;a$_aKnDG{IefVr"Sn^TRjUgl_mWf#eFvs{v]vBuOrmMhD9^VvG@՞Iw%~ZuۢoD . ح [ 96)+n MC <.33$#'$#"?0m ?0n3ysNAKaJFCIElAd/BRH]$INU'ѣ8jH`lgYY}tQ`KzD uOPCQVmīdeKg7<:06y5 0AL4Ek7 FgC[5^[ST/\eh4okbGc{~t}p w3y4`KQx(;MvWN1x3ЪD-N`-cDSPЪPql}L%`-cāj8nKHeXǨY M#@-NT0RpS]cA a-cāMt!YFB##ԾPuj㦺IǂMk#CNfXy/i*/ML:J42+:G Ug*b-cݣ`e$cMgTuP.QgaH`Sp:;ͫy/MY&4"Fj uIw D,fnM܎ ipxԋqY(8tDSDSTACKDSDSTACKDSDSTACKDSDS!5!~w# yebwqa%Rhcld&_|{jukwa45@rjj:.2-+? `abcdefghijkl@D>>&;1'v3 |rC H! M?V_PZJEEKr  ǃ3̊3ې(—#ѝ" @7;߰欜% X8 4I(+M q>6 98I n)'6l!\X/cKXGS_AP 7:;`abcghijklmnopq_[Yxyz{|}~-%bcdkYJנaj^s jjvEO`*%;llgdb~z}qe{|z+'?b= ->"z'9+% 2.e3:lD2:?2lpO0χǏ2ߗ//w&czcơMI$7?)'%)>v7B0$.66-8/_F3Ge}Grb'BuRV:_s7Z~1VB cB67D `xrjbxtMc rsia{u_{ꊒ䄀sqMTSإoף|0mJw޹ ɣ'o;i7>Cnrzvlao|)"h%-?6($23Spxr8Qzxp+qHJq:w=2w=*s* w*s"s*u# ' !)*(7 !  **DM͆ OB E XSV#*&&- 7334x1Gs:om35753=?Hf\ETDO]\LUdtNml|,etd+}|luC^bupcyA@b]eQ^)n[/kgRS,cL7xI?uYFߙ9+J$`" -^/$%1$5= J4Ɣ8'Ő 1 7W-./(.%"(s3 {> <@ABCD|O{LvI}VhSgPk\fYX cاR+míT.wzfg{{yUeG xC`P쓛W\_kjjŽs-<ɓ!0݋Óˍ5| ^/0F7PG*F9)%R>=;51`'^{Lk GziAYWSU+PC=oGFT=gQByMv=sadAވt?K fyR]PgA1 +䴴ꥣu}DHDBH NBIJ@PUFSUOTXLHirg#%ciljkxi-/ce}aq579;nxrzCELNUWY[05bd$67-'.km,=?&!6tv4956{}=>τɍƕœ =4#_ĀWˉLӑE۔C⪪JꢢU򺺦_ !Tfvv&2&9?+,-./0123456789:;<=>? 35/-7, 4g,  m}>=?t3$85y>=9~GHIJKDGOAHJFyRzr. ԉBQ/**}|!"*{zUx)~ǻTSk8mԬMF i (| G3uBF=,+& .0<1c;9$ (-04:922/BGCx'DF@[OKOQR^^w{D@>cu eiavjm*j*l-*+{!"l*j{zsUl v 1>8E"&)dM*V ҫ|PGCt7,&㮢ΩԺ{2d8>2(ͯ *"-M Z   E N C }B@D!!~w# y%m=u٩y3{= w" . sd$љ#1 %U!L /*e)&+NEp1Os?/0F3G fkLb|mOzAmS]ASdH\,ZQpp^bbvoVi`v{qHJyZ|}\BAaPCJKZmDESC慺Ᶎ䁄㍀ݖǡԶ GFDUB(JBJBJK/D^2XQL;78ZUVLQ[Ke,()/,-"# !&'$%:;89>?<=23016745 cie(#,$f<;*5+7!t8$,867=)70AB5G]GZ^LMNOPQRSTUVWXYZ[\]^_  (+-/!#%'92:1<=>*0#256fHnJvLN@vBDFXZ \^=P0R-T(Vhjln`bdfxz|~prtveivxq,17ֺ񄂃eyhov}BIPV_CNRZFIRF]H^HO[UVVXPBR]SHLQ_Fdfjpcmmj~io|uu|`z}ujuszz # 6&))(8'$($(6!30?&83<*)4*$+3; 텕ejqv{DJQX]OMVR FDMI]]PUASVTSM lmgmc')zjof.0a}xq57ilso<>mCE LN VX _a0&*$+"hj9)=!=$qs&0%2,y{.8-+ǃ3̊3ې(—#ѝ" @7;߰欜% X8 4I(+M q>6 98I n)'6l!\X/cKXGS_AP 7:;`abcghijklmnopq_[Yxyz{|}~-%bcdkYJנaj^s jjvEO`*%%%5nnab`|dcsg}zx)]XZOX>?bmn$%&'()*+,-./0123456789:; '&' )%?2 ]U;]=XVldlbi`+n`fnblcjx|wqm~v}cztrzM e hl p V~%36"-+F5-*%9(`.P'3?!0V#7Y;[*<,6Ɖǧάղ޷ٹے*ᖊ擇鞂Zѣm #){y"vs'q[8l Z=gJ6b<0#-…57&()wikoa%7#'\% ? 8z{hy=JJgJVB@Ds^-%\R6Vj.%6&<1f/-;/K%9N&#KÿA|ZXEBha΅Cՙpҙf@{akfZ|o9OyxuZ|/ πۧ$<99 (2Ѷ/51:A     ܒҗ꘿ԏŔʯґك݋e!vkmv&aaeo%*[]GAW[TXNRSS>\olroaqcc%#&&nb`ctvfgye~|mzn daKMlr~t t~{mk0&%!F":;%9L@N+20!6Z69:X]wq+/7+šԧˡ߳ӿࣥė࠮誥Ȥʍؼ E@BW@IQZ'IDA-*^BVZ5SEJVH;1=Z]arglrwdgd !'|jquvfgye~|mzm glD@ pvzx 2O!,)EBjbc.)->+ &#\0;8V ^2 ËXYvATb6&Ȧ٤2X\*{n XkFmJixMXljk(3ӈjXZ '+[Pum9at;ʴ HQʬcq1k0yHkaFZce.k\H8D.Nb$ npadˉM i6/HM `^mJ*,zdl?BhzYL=rYvD7pD6& TUBFg(dCZ i ȴZp{tlX#bL ԮGĒj9z=U"&xGBuVw0Y9~S%U24s喨 +@O `*upH1!W=48}G1G. Xc֎UWwop'îGk5^;WprKHv TXTL.DOC| _ !"#$%&' ()*+,-./0123456789  :;<=>?@ABCDEFGHIJKLMNOPrSQoQRSTUVWXYZ[\]^_`abcdefgh+32 O>Nijklmnop=<;*&qrstuvwxyz{uXVIA8740/-%K窡Ŭ۰ӷԽ௩ӇȎҗ֚ڜڥᡬ樮鎉សؐӒל *Pkwt~$)C+{dbc0_]G4gscmkt;prpxEKPPDHDM IJ@A]SGG9?[XT^XM% !+!!f%-==.)#nhbb~dlfgx |01,AHNecN DM** z^#V4c֎UB豲Jybk`I먒XZ7葨=j*T_%ɒCZS!z=izi8B ԂLT& 5 ڥTr$̾!$uԂ7 LCut0L-Hpi CT l: ue\ÑQ%+ S!`pi8YD4cA + SFHc|TXBzh222S ~SqS!]~ !e~ w#\ڋ?$Sh\̈́Ϸr!o6$} o> > !"DbY 2-ͯ(!*k\ѷ(!~ #V!X>A2~(:<2>.~N# #"n1b(;(2@G(0 0* ͈~(~#( *͈~ ̈́_;"[  [0!i҅~d7Wss8Xɶ0^ln- vU29̖;X6o-6qyy 719A6&_%w䪰 .JˠNPFGBP`ZeXeJL!mX8.rCQ jN3NE~;#uN1_d5\f GA1DO~j1eET7P2@E!mW7< 5D "QV0;pXaZ XaSr"L!mXDaBR1HCYfBQH},'+*MI18W N]?}K+;li$bQMId#!ꡐT40&K6``x4rrx fF#gMI1x\+*4.,qj{ ,.]y1R  #~(0:( (9   ~(b_yO>G> Text library by D.Amos. December 1983. << With Printer facility >> $For Printing? Y/N $Library file menu:- $Choose A\Z keys. ;=View all. ^C=Exit. $CR=Page. ESC=Menu. ^C=Exit. $ Default disk LIB files. $? $1AH in LIB text. $????????LIB?Load a .LIB file using CP/M cold start, i.e. A>TXTL D:TNNNNNNN $sk LIB files. $? $1AH in LIB text. $????????LIB?Load  ,mXl5YjWj=jPc\UGeUdZY2LV50|90(e-j%. J(D JHpB!CO.L!aT*% 8(-ְˢh`,X:05Eycqټ Qt]GoxV܅h/' r&c&H[28@q` v{,$ڋk,%.ְ˻67 'tX ]DM`q؛t8tX ]DNSW<5&H[28'tX ]D{ޅ!95Aޒ1FQtsgQaOh/ڻDp!8LOXcDqsMGvBCuFqء(c`?`(Z8~.CuABtiK7o/n~TQ E s7XÆEa !Lwl \)L( E -p;Sw棡x6v$Σnȣ(ZøEtpfsCK<)zp5@P,,0TG1d DBiHcZDeΣW+0nsEShl.ds!X5m+h |ZDŵy,&>DRuKP%cD?/ovqrshl.ױOkl CuJ`EGO`L91 AL+-a`Hǝh^j.Be`WG#}mpK)3Y!ݟpO8"- g_D{~25ypdoCuiD?ᖊh/胁3A?|%C {Kݟ`NgfHvXH'}0wF?6\anE 0TGCd.[z.G^E]Ng~5ety\dBNFGڪ# {Kƀ9"ڋ\:j CCby.`3 {K@ /mIh8o\D{ޒW9Qt]DR&!X0+p Edz.9ޒ` !X𴈢F"ΣhoSiE:AO]qh 6>'kkMxRjȃ HhnءlE:75iEK,ڋj,0 R0$-dȃKLva;t\Ey<'|'B5rDy5ˆEm.sCQsÃQ[G` Ey4!a[!4Ƌh0nsA`P1 yo0'Ce/Unsqueeze tagged files B - Back one file | R - Rename file(s) C - Copy file | S - Check remaining svqTXTL.MACo  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQ_o:;-,+u7S&RSTUVWXYZ[\]^_`abcdef17`>t ,z 07}x 99R|odL:$]k^v Fe%ٔ,ʴ :w7B #H[2"5|%Qtj _tIdz\.}0pWK<_/(:g7$Σάp{O fk$H[2fE̬$Σ.dίzOrI4 Hd"Y.$ڋ`%Pc\5k`x詫aެ`CN-h 6~bZ Z0kP# y\Dy,xwE1ug]bnxy.} 0TG|'G+ICuǍSyC籸nwԝw!幈CCuǍ`? 8@hhŽxԅFqWG#>nqa͏(:: DC1ug.Dy<+KXcFA     ܅(fEq'h vZDƌG {[kXc,ڧHMptB[DEƌʼn.%c RQt( _tʼn%l(ZøEא9'09hF~ ?&` `8Y4[#C \_p!pʷ5j:(:u3\D1'0X("{G]hZ!"Wst‹((-ufEQL쇂hoE7 JqC2Qt.Q8/{1w1[ZhGO]W\Em.h\5N1[Zk̘E17̢=N$y(-+΋X\wFOB4fKCGȆ!X`:ahF/1[Z)z#cΊpYDqo3.'Q[Һw< Q1cq7(-u1[Zg žBREAKUP BQS,HBREAKUP CQM-jv]BREAKUP.BASZ  !"#$%&'()*+o,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYNiŽţΌx a!u@&_Z)Nϗ p3mEkbNaFQ G! "G](X{295\M.f :V(ZbQ3Rm-4L(-胹$2",;ts7_/ `FÉ'A5\LXDs5M`q&SГ((:"0ΧE[h8fQl'Qlaq&S0 sDiEK,ڋ24[#C.ɦdFHh.M`DM`q&SГ((:/QtKh |ZDcz'-4L(Zb^}0PV2&5.faLDM'Ql)8fQts7+h |ZDcz'XMDN\d.] 1EtMћ:c}_D!XBlL8`5Ԙ-y)ru 蚢7ɉ)z3ƌʼn󘺳.D89BXi>5WtAa1qČ9e 8 [{<Ff<,~.np|Gh9ȼ'5!>iG:@PYS(?; ucSQx䢸h1m 4kQprDŖ>A' .@Qx'h1uj76L\l l(gwTԬx," OO{czv%0G<ćJ>0%eQx [=^_4L jgX/Y!XKP^*?=m,gU9zWkAO[K,AA2dOQ蔂yX:,2| ZyuFTi/iNKkC2$Es ~ich*1 Z,Q/g%rz}pӂе ~ic_ᄗ>a{wh9 ~ă_ί3W޾>?էWo<й;xx ,ޡ`oo_}{p&tvn Џx/kkoAmh.dw~ă^\Gk_^,_r“Ox//^l;7tD gwGaH[2 Kh/'-aa5+C  xyp02` C- (񇡈|0 XD17oQ[?wۛ~o'owputvnE?AO؁q. ^)z/ȃ Hh  ]H8} +,A"X:P0$u7ng6xUO5:={`O@:{zeZ ) ݍyXB2oj>I^Y{*e lH{=@D//e:HjxXBwg6xUOǣiݳv~Ke lH{=@Đ ) Q!Ea2tJ.a8CD?{> '%0gχ42$JRyXduTy/e^"XKgt=.*tOQL=ۜ>}>"/{Ek]Cݩ(tm5 ؆[v1kTvg6V I:2?O d%O|%qމ(t퍂yXI̘ў`YW<(tyXbGOyZey/?}"4w17=GSQ;{<"Fh2\NGk Wk]9 41/$'jy_444OD<L<37]Aius;4O F؛z'bffn7 ~frN0? mH-z:][?KZQ$؎X`<E 4HZQE흂yXzse +k ȲOZ?{^1bW=`" o ~fDL37s l-LĔ?01kg9aJ+Dl;%%6a,C:RER3`o&bW3(!ޏ9 8U^:?3 `nW(f"|x5s;D,hcG}XQEN4>c4f:;cl,FϒNW:LQxyg&[mk/U^)Xc977(<* J4gsmR4y'u<0|bjo3QR3Oˢ)g6V~=\T2d|7 tXd^c}V?{^) j2!Y ȗPeZ>aCE"XK,a.!/ON24 +%_jo|o&b'󕘹1S>1,ČiQԍyXNDS ~icqQ<ie:H4{(< Q̸Fb܎< ?  xx? %" ;?3 Qm9QϒNØi"h0L433s(l$儑`$~p(7ZLGt$v%(VlG ,`0h"i$(f"1Dn;g-Q̸+Q$}<_a|% FۤQs ~'(f"|bX<_]-tWI+ (ܵ ~_g˼X#|N!XK2.*-0}EFb܎< ?  xx? %" ;?3 Qm9Qv&BREAKUP.COM 2 !"#$%&'()*+,-./01234567<6589:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abc=.:>* Hdefghijklmnopqrstuvwxyz{|}~FGA zt_OGbkQx,iEb;h`AD VDhicY9? =/A% OsODlI)wO[Ė3y޵ ~ic<{&ng6L`J^`s4xs0֛31u(Q3͉z4ޜ(#mśR*IDA6^yL2( $xsWp6X<-?}"4б7GwG?./|X+wW ~icbol8kq T2? Rab#QDLE:S3`$FvQ?l-Fh1ӑX9\۪(tR3O@yL2$|%v].< wG? Ah֊Xo-Иo(7ZLnNo(R$xkEA62|sxXz1ERLVd l-n7NER3c9m/8GSuRpAT֕~4𱍣){ ֲBLYe= k^}PS޴ ~ictf~3JAq hv3JDNa]y(e w9Xo-$xF-i>؆[^) on$x؆[xXz1cO@(S3MJ`n+\^*4бwW* o ~_gLYJ.w =ee\)ee %^ dte~x2}G^ Yi]"/HY62|kgc:To$x؆[\88ު(<*Yquh'Æ))E۽i̴bvn;?DƉ=mQx<*9hy܂:xJ$FǬpQxR3Om7D*ց*QxT3Of'L<&m]mŇ.pSQx$xkEA6[;(r ~icf"c1s3=v%1vb71cn1XNb«VtQ()Y<_%؛s1ӘF,ffW7 ~LO*3h`xp;>9nU^*Y<_%؛U"fN*E^)W3=Dh`xp+WG?D{3xJͼG«+? cc| LP`nquA     JDP-%7oX ?zW;Q9 )hl{Vg3]xu/'vjf^EA~wI,`|edM yiNGnKB4 }sO[j`;dee:\[$Be.;xl8q3XeYǞQԀ\WWWYsSrUUY- A!9A|NIOȺS0c瀀zuXU]>W 37b>zO.9 GPH',8걪;|rqFgo>}s? 8w\#(&]UUZ {*S$B2סJbU-Z0A b瀀 \']>W xqIWUUVreߎ\0T9 `ĺz֠Zz`~,8걪&!S0c?.pB[B Xw \* y{uſo8+TB.v8;|p*Ta瀀syuV\ VqsgUޤjd5/,8UAGRŹHzAfAvY2: >'ww;kn1þ8z1=rA{Cumy𧪟a;GYSc==`c0Qv1ۃ>aYE^xL(ʣpB5K̂ZsǦض TJ,=D(*T" ԼNwUelxAkd AUtl!PRrl &jK |pdBd!P-eMAq5 L~*-GdB= '$=եU3)dr PpB}5ĜbbwRf鉏 B$W(UmťrQ peu*ciU]#Y>/Hrrl!N-5P_JMDm)֖bBWeABPkGYSceꑽ-ˠG@'QPW=`^t B$W(UmťrQ peu*cxAkdAUtl"PRrl &jK |Gt=[: =PP611f \s-Nn7 V8lPĵ-&Nuyk!cNai5f,p86o.ڌqͺ5o6o.ڌ;tck6q[Nc!O-jo;xkP LL a0#cYrqpmU(tZ+"b_F1&\8![CSkR@T$]__,*)]euy3+SkSkO-4Eק8GFl8A6 /HrLPOK, P'.]#Uvx/kؔxW_U(CaC&aUrA{3rl &j|r"7lGn ?dr%A@'QIz# r PPS6B|sxyso md+&ƩqKN]݌3D_.۵qBt f ~TN^/܂ϙNnA.Nn(y=`c08ʚnh=BPkк 0dQE%(k Leh@K <=6ņܨYz2JpBk*6oR(P8]2:WAu*k7gI"P-UI@Kɱ)-%RRKZ(Ay iDFL(d r n' (A([ڷt|@Fۀ,tO\CL(jpBң}@'5)(׀18jlf2q50p8<zdBQ9Q#PA=^(Ff# \6,uhRelcݚ 9FЭP]B qb6t{oGcݚ IЦlf2D>q5Ԕ O.7D))\$)*D)`#w6\1oPTNaT'w(נ /GuZj,뿅'YzrB '$9H\# 0|Z OfD@s栮LM'Y $RC'$9H\# 0|Z OfD@sA]Ħ,$2pB5r i)<fYf"αρ1. Upqrz~kdAYSPA*-5dL>KcSNRf鉊  _\~v7[fG P[_5m=壋o^ 8r#;z'V?׉ Aa2Ƹq˺-ZҲYW\rel;1-\NމU8WأJ.GP?n}Y״ͺ-ʖk-\ok9[wb[ؑB pÜ0?n}Y״ͺ-e-ZvNܦZ.f?)q#(`߉'NTAǣv8rS;kJ|HHb瀀s!UέN*~bT\kQML Yѵj|N[=83v8W \ّlm#:3.p={frU؏syuJ[\ IU9 sk[xYjOܭA3?)q#(`Gҩ¹p#(bS0c瀀vo:OgbO!O~ B> |OnBO33!~7*__ !UY(0\l׺“Iz^t͚n0?v3똈afao_͚UGb6CgK:s:Ye5Y9n^8'{aklpWNy^\ʁL;qБ~OBM{{^J?g&6́9KDYLlޛs ͜%24Ï8k|0B&Sҫ.{A ؿ`rs4Ble u9h>SLƴ뾏YöeT'z3UfHŖ{͸P-;hʞ9r'=N-;7êŐGRTP_+VGvZ*^O5PUvfL-ŭ٘F{郍C;._$`lfw6vgkE\lkN+Is_nxS7 o(U/M5e-=\Sw6#GmCO}ȑ˘N VVBC'F!aOBC{АyАg<8 9 +BC{XqrqG!xQhȁoxQhȁy[? 98֏ UX'U\E;X\(Ȱl2mg{<2kmQP*q1窱,#T%+RS/ t+z^>+ezymzl^e^DK(R:|+UR:,9~GCj)y.$@xisޒI 2 TIL=}6"Mg~OȮ4y2+t=Dߤ3St=N)+/]HFSm! w)M{3RMTR2䛩Sro5ro$+< GSw ?_wwGmymyo!g"g g"y3Eyhu0j'i̮3Ȩ-_L}>oe"Sia,Sbb$民 rА`d]셆h(n(ǬK+vmY1W]{!'&b/4$.FC,Y齅і4OVkXhנp҉S/8ӡ=Xr&Ži"364xqt~B89)tCHc(hB{tǵ+58֡4V;V>vMAccH7 ?AS< Mz?{FN{Jq~ |CN=te ?MMiۊdZ7mS"Mmlfφ9bz!'1Iobg3mPIZ'iQR¼6CCNTGMQ!g]QE>I; ]ZP5yIUDuZr۔fCeB 0 9m]2s<.ZA]Nq:TI[E jѲ OPܲ|.wٱՉXU75MUW㛂EN*[fGoߣ4;ث2O,EAg66s@:Y7u\`.xK:s:Ykܿ' {7zA7ثZN~+ܿ}A#(ŠY/T㢭obf^b,ޑjɑ(.M%.;q?׉uo/y7/O/`#(fE>{A[͎.(`٬K#АBƆV~8ikS7¼15 9b*%K Ė;mlmӺt"5fq)G )ч y/\a )4vNq M`>?+s 6D+8)z;7'XQQnbR۔;p썮 bhc¥Q6q($ fBZWMQ>2,U eV۶PT|i˘U}!F`4'2jb eKF`T FP-l[mgWh6__edp+_Uh&y-;M*4GͤT8;+$pit%=l u)$ k6fw4>+^랿>jU;Nvi_*OPx6¦ries<U@!# n&I =[o?k]a.䰻f#ZvX( Fnʆ򙡇j dlP>w Y6DhZ}fʧLrNʄ$+pWIMgv3.x2˘~A+qvRĶMlf{%G&uRdӻ&yRdZKlV4m +LLjMh?l(kwÅGي{[+rEvņy ]Sٚ)rr<}P*vr]ꁓ?N:S~Ҕ=?NKY{HIT?>y(Zϧ=S+=4pCM}?$Rװl`=ܘ*nfav3.< y4tm,~k!4R,A[>aշrmj0Wl|(t:fBQܘfl!)g-DʣBh]a:٢N_ߩ6+ Nk=6͟F?KX_K^)S݉Ș2|:XݖŞBYܕsRܳpWv}$-~ǦGtFYyĆ=6RoCE%ܕ3lljSɻfY&13c;l t/| kC;-1:Pi|ʌt+)%yȔmi)z sԔʔO0m{ 2#+.+ 7}^ \| >R (/Z2XvdQcHkS3FsGَvJ=Zע- 0"H=K0XZdb狑P*#Cr0'#M.hKR(*:6jN#dO:O1yGl 3T紊fsGYFPui^zbiM &Ь$vhK+L',êbI*ZB:OĐ,a1XƲSo?hL,jѺ`oT2e6 *\`VM-Nsm>T7 fz*bGR9$$A     =)ͩz4,}5.})'溇h茤y]jliyh1nSU J~ޥN`64X\TawBCNTs;\ 9QS'P)X( K͍ uص٦ kv{gw+;KnRu{g:7J+Nj+R,U籃nj'$0|(HLۛUZMl&@5r4.Q/=SRZ}*Pi8TNQ"4oS +^,]UTRtXM11j):gLL~T*Vvd3yJ&M5H[ڥu{7-uiàjԃQ-SޔUcDik6fIҴ+ƈ*Ny %TlM&񃚢F;5'jr]j"w׉(PNk55X11>sn/Ά<ʾhvfe\rF^ ER˵V1Xh!c 4CӔ>- !q+CCN(:FqCiIJ<4䄢#P9.0LƩ+k#f2Mgp7E&_B3&àĴ]$z]xs鹶HզmR.cfAdOa}g:-cB;s3Ov5ꡝ;.]Hф"$bW4QW4pKif^BuŔGc !ڹԋmZk.zGv /&_BY3#_ ;Z6 U y:u)4M6->Dji)-QK&f;E6KRòZSԆӼm%f^a2pɧ=_ji0/T zP&]|(@tF_8 yT С~0}pߑBd#326+Liq]oFء>ء>ӫg=cEΰ'zΩ32 2p3p}t}Xwh *KJI`,';n97⯬$~x@׻ bA/0;VCP! ?`(ъ=`](3]jvv bsv@aA24)qW]p /Xup%qVc==V}׽u)=]ڈG˴ZA.Q? rd ϟfQ9`e{h?F๮F.`u ˴{?9Hze,a;Su+`˯b u;>cC yEֲSǎy{7YJ&*c6y-u/e |ORR|[^Y/ayU=PBhLiWeCi?_[HxL.@<`u! mWݺu" ? h+S;9,}}H>ڭL${/5ף5sе}FkCotO(f$I?Thc_kӺ’$Sax\cʧ*xRp c^ꮁ 9l`6(UTPM}Y=?Py^9 ]\2QrؠRṴI2z1sQ̰.Ti:P3RZz]Ҏ0{)֛WDgeGʧ*|r'iJS(dK<\a]a,11{+Bq6PLfIzFѷ1YYe=l2n^#Vx|ۚ;Gn_sPa9MkkPԮO*'PI "jO*Ó!j㴓-n EJJM׍`oo6*J0 bL#d²ّlʎʞ{iLY=l 2e=s\) ֙*3[fGo#ټ- 53KlCXƽs soPdA{e_\V ,"#a\e6߆ˢfgܗEX>h EzxH-bW4Qyc ј1IۤUCj=|]'o^<S+\+ j]a>Ҭ⒎ifƹS};'t6+tk1crrk1mtu6 ʋP9|LZhCQxH sZl FSMT@g+ Rk&CF9~,Z yUhL]>VxhLy+:mp+?e\Q4Jgzۘ6iӚ n1e5OhgVGY}WDCȣȣG.- 9R˿U8 yT^<sEgh%~+̆Auj߃û.4Tΰr\gdR9eDo`,Å,\a>4 Z*"hgks"N#ħ[5m)a:+ː'>%0 )1ħ&K9?YoZgLLa׌k6/u=X׼;| EF˘p$nZO0:i; Vܴ.h#|BMةPT3Pt*!#.P?4o n1ƔV~ =zu5ԃUNtiyU d~mOyP.ޮS^owUijPW6*I:i월hdW>dʧkd֨eLJR5X˘% a5郳CB8krf&вT0#c)P}(]Mʇ|Lkk,5K5#7TZǘ\Zj4wT5bX3rݦ3m Mw$)J7o gBY6nf?LH||hjV&xaƔIh/M^O3Gļ'zʶ1ʝeaO_Ʋȩ+ ykمU1o|enaÖ o|z{[6-Ԗwp{.n.nue;7Ҩ262;g` "EeLl{}J׷V|Tk|TF@i}mePSu=w^6UmeDZo|w۳28V<|-~NMWd3.|d/h;tʇo5tj42|㳆!M>kYM~$[:cS=?J;aWa~3gוR̥6]uUw<$Jt*< PZՖ1|i[5ԥVɧzX3!Cji螃wֹ.^_H!jSZV&ceU({+& Q}PR$!8a5ԬYkֽõ6T)?; g%"EavAm(?_yTA v_6 77J<)|^mp3wwVӁ3Ն`lo^/L}y^bVϼo %}ig3G|cB{]5+ h ًjWj+f*+voWOy6N'μ5Xt*e /~F"ts][#sG{c^%ׁ  3%hU.n=5yQxc!ʕًZW74G1=/ѢѰ+R޳t)Yd K!O]gpJu15 (d9mZ7ٶ6r3hڴ<4Xd_إk6c_d$<c|%o47c@CEfơ!7pg,U(5[bzV 9 {84 a%gm.& tfb Tf$q5^\_a2LQim(iՇOƥunQhvݖLe3mt[6ߗ-S;I";I ;vSƝDƔ6(a b&Am%dnfcv\Z{+ɯ;^:Z{+=N5hgkvј[Kv;Kؾvvҏ*Jo*QBqm{ꎗWxnm8N?xlw_ӊR?2ۤa.o}xf:{x9komlP}ㄽt<wW}dz<^9Wۿ,d}e\mfp+Lkq6;k܃3R{>Χ%2t?qM%"q=_@wgLE;p6)O9ȅpd>_>-JǞPݧC>>kϗX[Ƙݺ+GQ{% 5%4s{5^=˘9̘+ҕ0]bWI%ͬw=^?˘^;̘(bbpRxD=x[sRU KVzS;8*N_p^.bDiBc7XPY]zUmn Mg p3~ mn,Wh윕ccSE;֞]Z{~=zmKGokY] ERxO /YGQu! Kސ IPIcZoXc[G'kʺ"HZUb."@L'>[taP\(i[$>U %xIC\ |/)걩o_Oaoq/T >.<ϗKpqqyEo{G$HHGZZZO-}7w\HQ-ż~Kx)=~b aŘ{8OD-Xoэկ6t41*}T) ʑRczX(UdMY AG֤>K?RG펑S/I#A뺵Cw0i: І iqw,9c* 2€n^qQjGZA  Ԥ 54yz^l; I;rCe|AT!t(W:ZWW&mɧqw5yb(~&7] BQtN)PeÀN˘&k.-hB;!N1+̇Lۙ5*|$J4Mt&.휉%P-\O =bCӅ7D"a©&G:UzvΘ.mGQ&ͬ31M>6EMz Pt*:[{ai)gsY>R?rYh15[*XliqDМMⳅ;JEgTܣ*Н:g{Dڞ6봮0fQjiiWuQ#1AH>@Eٸ 8h94ľ'7!CSV>sh- WCȸ ?TVC}FO9f K[҇8Nz پȽ5z㜵K!8_^cGic[xC>yz{6\cϗ}·:88>ׇM>Z8>ǩS.,ƔOA>>S+VfLEC}ZˎM>/ivlzDǥEm/8CdWNgӅo.}pg}|KwCn%ξn|Iº+[C\m g=i֫ZO#yE<ធGgZ=m~i^=hy^c&|D;i8o*pYJܩC};CBIcՕTPLieQv1v(-aS|b)I jL+Rܠ K[ż-*ٿeJ+ٿ)2X{viᑵ*{oe[W =mZ(qߙ^D?[./C}+|=.2Swp#mob,+m.cf^aJSa[b8,k^qM>~7ifL}z}ǥW#ol4j9f\Pt=T9X{viᑵ*Ș%֑*^j';nR ޚEK~Mmsz 5:2jk^rڗ\ >XFDsIB9PIZc٥LjB*NY,<(4:Ʋþ^aNe2e~[/:oZ}gW9Wtpƛʓ?LpˮIpƫ\3^{:$zG ^EW}'x \1 ^CCaNɛ'CЮ,扼xxt)Va3lW> E^?{0kk1&gk8zwq-Z0aoo:{{= gcp ao7m[1)M{7g g/E MfOIkc|wHsnhn9.C1V{)k0w$:mT{CpfcprmJ p6k|EM1t;0kl~.^!5ZUky&hS A«mZ^ zMxfۘ]64_yػY(`Ůƹzp5 w>uK[sL%|{up]GN W{=Q{ Wޞ(𡡥CӍ8W[Tu4[9.!4k[bzn8qJ8J}P}Z9ۆvPaimӣ|>-J`!NJPݧS د)O vه|q&BWM_IyNRƧUȴ9ryW{yEq_i5>q; [H[SIEupmLr=_탭>.|#/ev3fVWwFxUg3y{|i$5Tϗ90O|Ciol+>=:[շĸb=(Ճ]QL%+{cE%3W$6| fxD<_b%P1-A       EZCPR COMVsGENINS COMZm GUARD COMT&HELP COMSYSTEM COM2<WIZ COMn>(EZINST HQP`MSWLOG HQPRE^4-04-16 with SNAP ON ͭ Y ͮw jPDGREE.CL #1.04 84-04-08  >.ʇ# ¡Ì^#V!6  6! *ͼ͂!9ͭ !9!H͊ !' !Q9Iͻ!' !Q9I͛ s ͷ !O9I͐ͮ!'s !M9!9ͭ !9!H͊ ! !O9I͑͛ s !K9͌͐|!' ͌ ͭ ͷ ͈͌ͮ!'s !*.!!9"##*}$o{{ڍ<2"*{ {*\{>0{z͸CCBROKE: Program or system is damaged.$1͸CCMEMRY: Not enough memory to work in.$!͍!{`i+6+r+s!*~# xJ S_z$Wz4Ns#Fr#xˆ**}o#{ DM!$!cg!Rc!ol͓"!!n&!\!l!^#V#N#F+++yx*y^#V#½#x¼ͫ¼u!99ҍ>!27!t9::Í! ͥ|- !9I!9I!0 h !9I!9I! [p !9I! [!0 !9!T!9IB| !9IB!0͸!9IB!9ͷt| !9!9!9IT! !0}! 9IBT!9I!9Iͥ| !u!9I#T+w !9Ik ( LOGLIB.CL #2.09 84-04-09:$!   $ T]6${6" * #}* +" ͭ ͠ } $! i! i!l͠ Ân þ!1 ͈|# #w Ä$$ password$@NAMES DIRZCPR2 w_#~ ʸ A:4ɀ MSW:CP-MIG ?ʻ w# !EZCPR#1.09 84-06-26!+(0͙ƣ:6:6PYZ2PFX8.CC #1.04 84-06-25'SC80.CC #5.15 84-05-13~o}g^#V}s#r!͍&}o|g}o|g}o|g{z{z{z{̅!-{̅!,z>{z?!-z>{zñ>{>_||g}oɯo_)&ͭ h ENVLIB.CL #1.07 84-06-22!ͺ>!K_G_?#+ Y/ +!ͺD{"!#:@o[!&DM>þ7#^#V^#VÈ!͎ʭ}U oj+++͐ð*+++*!9*!9*|}D g$ RSXENV.CL #1.08 84-05-135!͎} ++++͐:7!  ~< ^#Vn!͖ͅ. ##^#V N#F!^#V͈# n`CCPENV.CL #1.09 84-06-23:RSXDEF.CC #1.00 84-05-13"RELMV.CC #1.03 84-06-13 SNAP version^#V{K#^#V{K#^#V^#V`iMr+sr{K!N N! Ï s p8 pN ͣñ^#V+}DM͞}DM^#V+ !9DMͩ w ͭ Xͷ - w è }Modified $!w !9IB|Z !.i!9Is !g'Z& e OUTNUM.CL #1.03 84-04-08!9I!9IB!t!9I!t!k'͂ i!9I!͟ !9I͟ !9I!t!9I͎|!9I!u !9I; !u!t|9s!9I!ͥ|k!-i!9!9IuTs!+i!|'s !9I  {ҡ6͏!0$"}0$!9I!ͥ|!-i!9!9IuT!9I͈c SNAP1.CL #1.01 8) {BKW_GyO-)"BK>){_zWU{zUW#{_==||u|u6u+|/g}/o{ozgN N#~# A~# yOďy™# ʮ#ʸɯ#+#Ⱦ N #NGͲ7~# A! G~p# %SCPM.CC #5.06 84-03-27*!͍&! !! !!! ! !!!!!͂Z} +++ $wCCABEND: Attempting System Restart.$͂Z͐ASCENV0.CC #1.17 84-06-22* !͍&*!9** +#Y- Y RELOCATED CODE BLOCK Y data segment Y instruction segment m STRLIB.CL #2.08 84-04-10s#w#ww###n&n&##n&#^Wng# 5^W#^wyO~#^+#4#q#r> y   ##ů++ 5ů^WBK7 L ͼ!-##d !-!9I!ͥ|ʨ !9I!- !9!9IuT!9I!ͥ| !9I!9I! [up !9I! [up h !9I  ! 9*͂""*}!o"!**!9"!"COMA!# >þ H~##_^#V{҂#Q!H+|g{`k{*{Y!͎*~#fo{ҏʾ} +++͐!ͺ:·*"">2+r+s">2*~#Þ|#Y!,|*{!ͅf. ~<ʜ ^#V͂ ^#V͂UNLOCK.CL #1.03 84-04-28ͼÞ!9I+T#|d!9!FTD|5!9I>"}#*c !!Ϳ o# k#7  #c#y<=]#K#K#<##$#0 e#$#<͍"r# ̈́"͏ !Ϳ jͱ##x#*$*$|>U>͍""à#e !!! !! _! ! !!!!!!!+++ $Bad $ !? $ EZCPR #1.09 84-06-26 $A0:$$$.SUBCMDRUN COM  @$$ UI 84-06-26 $ ͨ !9I!9L!͎T!L!9I͎|P!' !'|`à!'s !9͉T!ͥ|ʠ!9I|ʘ!&( à!T( !9IjXCHAIN.CL #1.01 84-04-11,-:<*##T]}i,!͙| !}+V+^}#w#w+r+s!9!9!͊ !9I !9ͳ !;͙|t!9!͊ !9T|!9IB|!9IB!;͎!9͢ !͎t|!9!; !9!9I |5!9͢ ͫ ͤ|o#!$N#Fz B{ K#q#p OGyOʹ#2E"!"͕!yoĥ#xg2""=è#>  gf! ͕!$:%w5q#p*N$q!"c*$"$!$N#F͵ ##$#! þ# #͒ *+>??2  # +T#|2!9S!tT|/!9Ia!9I+T#|aJ|^P!t5!!i! i!i!T{ڳ\ !n&!9!9!xT!9!<͊ !|-!9!G9IT|!9I+T#!͙|,!u!C9!9Iͣ!͙|ʗD|PSj!*i!9!9I !9͢ !9ͫ ͙|ʔ!!C9!9!9IͣT!͙|j!9 !9I!͙|!9͢ |j!9 !9A0:$$$.SUBCMDRUN COM  @$$#2<2U!>2!*7${K9$!Ïc-G%*:!z%}2!$:U!چ%|2U!:U%!G!(!( !9I#T+B|ʻ%&!9IB!/͙!9IB!-͙f!9IB!?͙f|&!9I#T!!9I͢%|:&!9I͢%!(a !!9I#T+B|[&!Ã&!9I!(a !9I!(a f!(s !(!(!(E ͔%͜&|ʸ&͜>&|&&&ͨ h%ͻ!( !)s ͭ !>)s ͨ !u)!!9!9͛ ,!͙|5!9͢ |FI|`%}O[!ͤ|ʄ!9͛ /!!9ɮLODCCP.CL #1.00 84-06-11 SNAP version,}|x!*!9{}##N#Fͨ{*} fN + f~/T] ͏F#,͸CHAINING TO NEW CCP FAILS$~w#~w#*Yo = active CCP to be replaced by the new one.o = base location for the new, resident CCP.*9CY bytes needed, with 2048 allow ͒ #͒ ͦ !~AؒG#0__~ؒ ЃO#$!#͕!!!~ y x! q;!#!2  !+k!:f! .m!Ϳ : #Õ!*c\q!lq!#f+͋ ԯ ! !͋ ԯ !"c>ͥH""͏ ԙ Ԁ ͏ ;̋ !2"!̀ ͨ"">ͱ#M͸#!NN #pD"7"7 !$ <2E">D"7"!%~=4"2%̀ +% e#5+w]#ͨ">Ͳ#ͻ#2"͚">2"͕x@ͱ# ">1ͱ#0ñ#2">!+$"͚"#ͻ#""!|2#>w">W2VI!͙|-*!u!C9!9͛ !9͢ !ͤt!C9ɣ[CLKENV.CL #1.00 84-04-12:`ž*p> YWHEEL.CL #1.01 84-06-23:`ž*p,!͙|i!~ Þ!9ͩT|!9IB!!9ͩT| !9I!9I},!͙|Ji N#F!9͵T!!9IɋlLOKCHK.CL #1.02 84-06-22x|ʫ!9! xTÿ!9! !(T!9!T!9I+T#| ͭ !'1 !9!9I;T|ed.͸NEW CCP EXCEEDS MAXIMUM ALLOWED.$*EZCPR1.CL #1.09 84-06-26G%} CP/M is a registered trademark of Digital Research. EZCPR Copyright 1984, Dennis E. Hamilton. PR1.CL #1.09 84-06-26G%}O# "WIZ "SAVE#Iͮ#͖"#ͻ#-"̀ 2"O1G%͎ͥ"s1G%ͫØͣ!͇#š#!e$ k#!$n!$P{ :$ +V+^#•:$ N!9$V#^#zA     s ͨ !)s ͭ !)s ͨ !*s ͭ !S*s ͭ !*s ͭ !*s ͭ !+s ͭ !9+s ͭ !t+s > $0123456789ABCDEF0xProgram , -levelENVCHEK: Incompatible environment assumptions.-point pedigree:WIZCHEK: You can't do that here.passwordHazardous area -- Let's have a password:LOKCHEK: Nothing ventured, nothing lost, aye?LOKCHEK: If at first you don't succeed, punt?User Command InterfaceCP-MIG edition by Dennis E. Hamilton# ON UP .EZCPR#1.09 84-06-26UNABLE TO ESTABLISH NEW CCP HERyed Files: ~! d4Non-System ~@1 d4System#d4 Default Function: ~g d4Directory Display~ d4Directory File Scan#d4 Enable F Options: ~#ʺ d4 Enable FL Option: #d4 Enable AS Option: d4 Verify by Default: !d4 Inspect by Default: !d4 Quiet by Default: !d4 Multiple Run by Default: !d4 Default Destination Disk/User: :A5:a5>:5d4 ZEX: User Input Termination Character is :5d4 MSB is d4NOT d4Set:!d4 Enabllity programs distributed with ZCPR2 as part of the ZCPR2 System, was written by Richard Conn. The ZCPR2 System is Copyright (c) 1982, 1983 by Richard Conn All Rights Reserved 6G6x2y2 :] !~#o|g6z@d4 Error in Input File Specification1d4 Please Provide Name of File to Install5: 2 : 2 [͏2xd4 Error -- File Not Found6 ![$6=3!j.d4 Error -- NOT a ZCPR2 Utility -- Aborting d4 Ready to Set Default Values <QH6d4 Do yo1 1:"%@ʞ: ʞ:> ;:Þ::@1*@4I2* @~82G+#2~/_2~F2=G+~F23*2+<=C2+;2~>.33?*@O DEU Ă2=EZCPR -# presents the EZCPR pedigree in order to check on the version installed by this program.a>EZCPR -? and unrecognizable options evoke this summary.a>EZCPR ON installs a copy of the EZCPR command interface in place of any existing CCP. If there is already a resident CCP when EZCPR ON occurs,the current CCP is over-written by the new one. If thereis no CCP, EZCPR creates one just below the TPA ceiling. The new CCP is removed by the next CP/M restart unless e External Paths: ?#~#fod4 External Path Address: d4 Internal Path is -- !~nd4Empty$:{:G͍~d4 --> n~ʔ@5#~ʣa5æ5>:5#:!d4 Enable Multiple Command Line Buffer: #~#fod4 Buffer Address: :d4 Maximum Disk: :@5d4 d4Maximum User Number: :a5:!d4 Disk Specification Allowed: d4 !d4User Spec Allowed: :d4 Base of Privileged User Areas: :a5d4 Password: !j4:d4 Current User/Disu want to save changes' 6G6x2 y2 d4 Please Provide Name of Output File>5d4 Name of Output File is !\&d4 -- Verify'z2Q3z22d4 Writing File !\&d4 to Disk -- G3: O: G46n: O: G46d4 Disk Write Error -- Abort62: O: G462[z2Q3z2z226 d4 File Being Installed: !&6*.| Aڂ>@2=3d4 Reading ñ=36! :§y2d4 Writing :6O6G3 ines of Text Per Screen: :a5d4 Total Number of Lines Per Screen: :G:a5d4 Address of Wheel Byte: *d4 Default Name of Search File: !&d4 Processor Speed: :a5d4 MHz Default Configuration File: !&d4 Processor Speed: :a5d4 MHz Number of Lines on Screen: :a5*d4 I/O Base Address: |h d4NOT Defined!d4 Group by File ~ʛ d4Type and Nameì d4Name and Type#~ d4 Vertical d4 Horizontald4 Display Format#d4 Attributes of Displaaguarding RSX is kept BELOW it until removal is wanted. WIZ privileges are normally required for EZCPR ON, withpasswords and other options as installed by GENINS.p@  hdir) )ĝ@ >2/=Y+2/=Y$@NAMES DIRZCPR2@w,U m(d4GENINS Version 2.5 GENINS -- General Installation Program for ZCPR2 Utilities The ZCPR2 System, including ZCPR2 itself and the 40+ uti*#">54!"d4Block 2d4 Name of File (=:gd4Abort)? t!\&d4)? [3[*)¹d4 Error -- Invalid User or Disk -- Reenter8x=:2 y?: 2 O: G46!d~ !6>~# +COM2?*ZCPR2WORK $$$+1 0x+~10:@*@~<1=11O+11 #1x+~111<*F=U 0w1G~# \1 d10P1x0G0&06 "F= ʐ1 ʐ16 Ö10}1ͱ k1å1ͱ k10ß1 ;1ù1:0 ʞ: ù1::   k Indicator: :5d4 d4DMA Address for Disk I/O: *:*|ʌd4 Address of Memory-Resident Named Directory Buffer: ûd4 No Memory-Resident Named Directory Bufferd4 Number of Named Dirs Allowed: :a5d4 Named Dir File: !&4d4 Hex~d4Yesd4No2>.5~5#2Kd4 ** GENINS Flag/Value Setup ** Select Standard Flags and Values (* indicates unnecessary option) -- -------- Print ---------- ---- Load Flags and Values ---- P Print Flagst Destination User Number ( = ~a5d4)? 'zG :G sd4 User Number Out of Range -- Must be Less Than :a5d4 -- Reenter͒ d4 1 New Command Character? 55Gd4 1a Set MSB' >Gx2ͨ5%ͨ5O!ͨ5ͼ"ͨ5q#ͨ5#ͨ5S$ͨ5͐$ͨ5$ͨ5[%ͨ5͓%ͨ5:ʯ>ʖ ʑDʞF ʵ: 2ͫ'd4 1 Enable External Paths'!>2d4 1a Address of External Path in Hex ( = *4d4 Hex)? (!"d4 2 Enable Internal Path'd4 Size ValuesßBd4 A Set TINIT Special Default Valuesßkd4 A Set WHEEL Byte Addressß Ÿd4 A Set Printer and Screen Parametersßd4 Setup Command (? for Menu)? '?</<<ʱ>GʟLʙQX/:uHu`u!fu/Zu=NuKTuYBug<u u6ud4 Invalid Command<*ʕ x5ͥßͥ>X!V6!V6>2ß:!V6ßd4 Error -- Restore Attempted with No(d4 1 Processor Speed in MHz ( = :a5d4)? '}2 d4 2 Number of Lines on Your CRT ( = :a5d4)? '}2{ d4 1 Name of Search File Enter File Name or = !&d4? (8 d4 1 I/O Base Address (Hex) ( = *|+4d4 Hex)? 6d4None)? ("k !6d4 1 Group by File Type and Name [No=Name and Type] 'ʆ6#6d4 2 Vertical Display [No=Horizontal] 'ʻ6#d4 3a Select Non-System Files'>Gd4 3b Select System Fi and Values < Save All Flags and Values > Restore All Flags and Values ----------- Exits ------------ L Load GENINS Flags and Values G Load from GENINS and Update S Setup ALL Flags and Values Q Quit and Do Not Update X Exit and Optionally Update --------- Setup List --------- --------- Setup List --------- 0:͍d4 Setup Named Directory Data 5:͍d4 Set Disk Allowed Flag 1:͍d4 Setup External Path Data 6:͍d4 Set User Allowed Fla 2a Define Internal Path Using Symbolic Notation --0ͨ5x5d4. Path Element (=Done)? /[3~$ʣ"A{"{"<ã"d4 Invalid Path Element -- Reenter7"#~$ʱ"͋.x86":ͭͫ'd4 1 Enable Multiple Command Line Buffer'>d4 1a Address of Multiple Command Line Buffer Enter Hex Number or = og4d4 Hex? (}|:ͫ'd4 1 Maximum Disk Allowed? '@ʩ#2d4 Invalid Disk Letter -- Reenter|#:ͨ5,ͫ'd4 1 Maximum User Number Allowething Savedß+#og>lGPS 0%1O!2"3q#4#5S$6$7$8[%9%AAFAA AAA>ADA5 d4 1 Printer -- 1a Enter Printer Width in Columns or = :a5d4? '}2d4 1b Enter Number of Text Lines Per Page = :a5d4? 'a}2d4 1c Enter Total Number of Lines Per Page or = :G:a5d4? ':G}2d4 ERROR -- Not Enough Room for 2-Line Headerd4les'>@Gp#6d4 4 Display Directory [No=Scan] '?6#6d4 5 Enable F Options'c6~#ʌ6d4 5a Enable FL Option'ʌ6#6d4 6 Enable AS Option'6 !6d4 1 Enable Verify Default'6#6d4 2 Enable Inspect Default'6#6d4 3 Enable Quiet Default'/6#6d4 4 Enable Multiple Run Default'^6#d4 5a Default Destination Disk Letter? 5f65AڤG:=ڤpd4 Invalid Disk Letter -- Out of Range of A to :@5d4 -- Reenter_#d4 5b Defaulg 2:͍d4 Setup Multiple Command Line 7:͍d4 Setup Priv User Data 3:͍d4 Set Max Disk 8:͍d4 Set Current User/Disk Data 4:͍d4 Set Max User 9:͍d4 Set File DMA Address: d4 A Set ZEX User Input Termination Characterß@d4 A Set MCOPY Special Default Valuesßud4 A Set I/O Class ValuesDefault Valuesߨd4 A Set XDIR3 Special Default Valuesßd4 A Set Default Search File Nameßd4 A Set Proc Speed and Screen  2 CRT Screen -- 2a Enter Screen Width in Columns or = :a5d4? 'Z}2d4 2b Enter Number of Text Lines per Screen = :a5d4? 'ʪ}2d4 2c Enter Total Number of Lines per Screen = :G:a5d4? 'E:G}2Ed4 ERROR -- Not Enough Room for 1-Line FooterZW d4 1 Address of Wheel Byte? Enter Hex Number or = *d4? ("ͥ d4 2 Name of Default Configuration File Enter File Name or = !&d4? A     d ( = :a5d4)? '|,$}2 d4 Invalid User Number -- Reenter#:Lͫ'!6d4 1 Specification of Disk Allowed'6:ͨ5̀ͫ'!6d4 1 Specification of User Allowed'6:ͫ͞'d4 1 Base of Privileged User Areas ( = :a5d4)? '%%}2d4 2 Privileged User Password? [3~#R%:ͫ'd4 1 Current User/Disk Indicator? '2:ͨ5ͫ'd4 1 DMA Address for Disk I/O Enter Hex Number or = *4d4 Hex? (":-- General Installation Program for ZCPR 2)4^3 !_3~#o|g6:)4[4!`3~[4f6w#N4!`3:_3j4~#ʾ4 ʨ4 ͵5 ʕ4 ʚ4ʚ4ʞ4o4o4 o4yo4 o4yG>GO> 5´4o4|75}75254>25'55d5 5}05i}o|g5 5}o|gy,5:5,5> 5ɯ25y05q6E5E5 R575052|5h5>2|5d}5 }505ڇ5 5yœ5:|5ʜ5> 5ɯ2|5y05> 5> 5 5555 5 5>^5@5*. 5O*. 6!h+͵+N*:j+J**s+h+ ~#~#~1*!*9*> 1**|=**"s+*/,*u+>"s++*)}ʪ*#~ʪ*G#*s++ʠ*“*# *æ* w*ê* “**)z2w,a++0,).:)G!h+͵+*w+**/,a+/,~2f+#~2g+*s++S+#*~f6A+Af*2f+#~:S+?,+2g+#~:S+a+G~#:J+0f* f*OxG.+x f*2g+:g+O:f+G>ɯF$OPEN@-"u+## *s+ʩ+O~f6++ʝ+#ƒ+*u+ >++*u+.+Aw# .+w#+~f6!+=_.:;,<>ɾ^Z! PREX?Z! PRMCNZ!PRMDISK Z!LPRDOKZ!PRPUv\!PRCUD\!@PRND// /D/h//h0j0l0m0!,2Ô0^#Vbk$w#”0*02ͨ0*42͔0*62!͔0*22ͮ0>*,2~0>Ý0*02͒0z2͏21>Ý0ʹ01>Ý0*42*82s#r*<26*,26*.2~Q1>Ý0*22͒0z2ͧ2g1>Ý0*62*:2s#r*>26*.26*,2~1>Ý0*82͊0|1~2@2#*82s#r*<251*42*82s#r*<26ʹ01*826#6:@2>Ý02@2*.2~1>Ý0*:2͊0:@2w#*:2s#r*>@ͫ'd4 1 Address of Memory-Resident Named Directory Buffer Enter Hex Number or = None? ("d4 2 Number of Named Directories Permitted? Enter Decimal Number or = :a5d4? ''| 'd4 Number is out of range (>255) -- Reentero&}2d4 3 Name of Named Directory File? Enter only File Name and Type -- DIR: form will be ignored Directory File Name ( = !&d4)? (d4 ** Setup Questions **d4 (Y/N/other=Y)? 'N5f65>[3'͋.>!G6x26y26 a:6_^6:6_ ^6Y ^6X^6/6^6 ^6OGa{_H6W͠6H͕6W͠6r# x 66H 6 H6|66}6~# x6 ~+ x66!7$.͠6H͕6W͠6r# x 66H 6 H6|66}6~# x6 ~+ x66!7$Ä$$ password$@NAMES DIRZCPR2 w_#~ ʸ A:462, ^62,:,_^6:,_ ^6Y ^6X^6+,>2^,"_,"a,"d,2c,!^,f,f,$TART*_,~#fo:^,կ-2g,2i, -2h,2j,*a,xʦ,-<,~,:c,~·,:g,<=2i,_-#~G:c,x,:h,2j,_ -#-<ʦ,>,:g,_:i,-^6:h,_:j,- ^6:i,G:j,O^6^6>2C.2D.$կ^-~#:z-,-!-f-~f6Aړ-Aڎ-<2C.#~:-?«-2D.#~:-Ë-G~#:-0ڋ- ҋ-OxGí-x ҋ-2D.-~:-#~,-!. >?-:C.G:D.O>252*62*:2s#r*>260>0:@2*,26PRPE2! PRP2@2>1*>2~\21L2*.26*22͢0r2>Ý0:@2w v6^6¢2>ã2^6¢2^6¢2Ü2Q3^6^623MD]!@SU2!uSU3!2$v62# 62# 62^6;3>ɯ^6^6^6*4APINF]!p@ chdir) )ĝ@ >2/=Y+2/=Y$@NAMES DIRZCPR2@w,U GENINS Version 2.5 GENINS >[3'Ͷ.>>[37Q-T(d4 Input Error -- Reenter File Name? (!8 6>SE T V:_ʒ(!Nb( 6:MO*K>(:^ʥ(:HV,*IR,:Yʼ(*:¹(!N,:Z(:*C,G (")x() 6x@(y2)!)@NAMES DIR ISCN-U "d+>2f+2g+$=)~:T)+`)#D)>^*a)*d+~:m)#+–).ʖ) >?}):f+ʌ)Ͱ)~.ª)#Ͱ)Ã))Ã)+)*)>?)#°)+#)> )"s+"u+)z2w,a++0,).:)G.~..#.-:.-E.:.*,.>?..#.E.#2.> :.!~f6!h.=_.:;,<>ɾHs.ƒ.# xv.ʇ.?~0ڳ. ҳ.! ¡.T]_z#Ï.{~f60. ..!.T]_z#ú.{/0/71/À1/1/$2/A2n0͂0GETF0!gGETF1!tGETF2!SBLANK!GF0!GF1!GF1A!GF2!GF2A!GF3!COMTYP!7DFCB!CPYFLG!TMPBUFFY!PROPT   MSW:CP-MIG ?ʻ w# !GUARD#1.04 84-06-23!*T]:6:6PYZ2PFX8.CC #1.03 84-05-13'SC80.CC #5.15 84-05-13~o}g^#V}s#r!}o|g}o|g}o|g{z{z{z{̅!-{̅!,z>{z?!-z>{zñ>{>_||g}oɯo_)&) {BKW_GyO-)"BK>){_zWU{zUW#{_==||u|u6u+|/g}/o{oR!I+|g{`k{*{Z!͏*~#fo{Ґʿ} +++͑!ͺ:¸*"">2+r+s">2*~#Þ|$Z!-|*{!ͅg/ ~<ʝ ^#V͂ ^#V͂UNLOCK.CL #1.03 84-04-28ͼÞ!9I+T#|e!9!FTD|6!9I+T#|3!9S!tT|0!9Ib!9I+T#|bJ|_P!t6!!i! i!#ʉ5^W#^wyO~#^+#4#q#r> ͘y ³͘##ů+5ů^WBKͼ!-##!-!9I!ͥ|]!9I!-͑!9!9IuT!9I!ͥ|ʯ!9I!9I! [u%!9I! [u% !9I! ͥ|!9I!9I!0͑ !9I!9I! [%!9I! [!0͑!9!T!9IB| !9IB!0͸!9IB!9ͷt|ʟ !9!9!9IT!4-04-08ͱ>.ʈ # ¢ Í ^#V!6 6!þ*ͼ͂ !9b !9!H?!#;!Q9Iͼ !#;!Q9I P( l !O9I͐c !#( !M9!9b !9!H?! ͑!O9I͒ P( !K9͌͐|!#͎ ͌ b l ͌ͯ = !#( ! b i  ENVLIB.CL #1.07 84-06-22!ͺ>!L_G_@#+ Z/ +!ͺD{"!#:@zgN N#~# A~# yOďy™# ʮ#ʸɯ#+#Ⱦ N #NGͲ7~# A! G~p# %SCPM.CC #5.06 84-03-27*!! !! !!! ! !!!!!͂Z} +++ $wCCABEND: Attempting System Restart.$͂Z͐ASCENV0.CC #1.17 84-06-22* !*!9*.!!9"##*}$o{{ڍ<2"*{ {*\{>0{z͸CCBROKE: Program or systemi!T{ڴ\ !n&!9!9!xT!9!<?!|.!9!G9IT|!9I+T#!͙|-!u!C9!9Iͤ!͙|ʘD|QTk!*i!9!9I͑!9W!9`͙|ʕ!!C9!9!9IͤT!͙|k!9~!9I!͙|!9W|k!9~!9I!͙|.+!u!C9!9P!9W!ͤt!C9ɤ\CLKENV.CL #1.00 84-04-12:` !0}! 9IBT!9I!9Iͥ| !u!9I#T+, !9I  LOGLIB.CL #2.09 84-04-09:$!͘$͇ T]6${6"S *S #}*S +"S b U } $! i! i!lU Â# þ! ͈| #, l , b Xl - , ] }Modified $!, !9IB| !.i!9I( !g#Z  OUTNUM.CL #1.03 84-04-08!9I!9IB!t!9I!t!k#7 i!9I!o\!&DM>þ7#^#V^#VÈ!͏ʮ}U oj+++͑ñ*+++*!9*!9*|}D g$ RSXENV.CL #1.08 84-05-136!͏} ,+++͑;7"  ~< ^#Vo!͗ͅ/ ##^#V N#F!^#V͈# n`CCPENV.CL #1.09 84-06-23:! 9*͂""*}"o"!**!9"!"COMB!# >þ I~##_^#V{҂# is damaged.$1͸CCMEMRY: Not enough memory to work in.$!͍!{`i+6+r+s!*~# xJ S_z$Wz4Ns#Fr#xˆ**}o#{ DM!$!cg!Rc!ol͓"!!n&!\!l!^#V#N#F+++yx*y^#V#½#x¼ͫ¼u!99ҍ>!27!t9::ÍRSXDEF.CC #1.00 84-05-13"STRLIB.CL #2.08 84-04-10s#w#ww###n&n&##n&#^WngT !9IT !9I!t!9I͎| !9I!u͔ !9Is !u!t| ( !9I!ͥ| !-i!9!9IuT( !+i!|#( !9I͔  {V 6D !0$"` }0$!9I!ͥ|ʒ !-i!9!9IuT!9I=   OUTBIG.CL #1.00 84-04-23^#V#N#FxD `i 8>= V ɟ  SNAP1.CL #1.01 84-04-16 with SNAP ON͔ b Z c ,  k PDGREE.CL #1.04 8A     ž*p> ZWHEEL.CL #1.01 84-06-23:`ž*p-!͙|j!~ Þ!9ͪT|!9IB!!9ͪT|!!9I!9I}-!͙|Kj N#F!9ͶT!!9IɌmLOKCHK.CL #1.02 84-06-22y|ʬ!9! yT!9! !(T!9!T!9I+T#| b !# !9!9IͿT| ] !9I!9M!͎T!M!9I͎|Q!#͎ !#|aá!#( !9͊T!ͥ|password:LOKCHEK: Guardian control denied.User Interface is via at No resident User-Interface locatedProtection is via Guardian RSX at restart hass have occured since guard raised.A great many BDOS service requests.: is the interface's base directoryProtection is by other guardian at There is no protectionProtection is by the loader at There is nothing to protectThe Guardian has been dropped.Guardian can't drop -- not the youngest RSX.Protection is already in effect.PREPARING ENVIRONMEX.ʹ = the new first RSX.DRPRSX.CL #1.00 84-04-20 ͏ ͏^#VÏ!$!$͖ !9I#T+B|a!9IB!/͙!9IB!-͙f!9IB!?͙f|a!9I#T!!9I|ʍ!9I!$!!9I#T+B|ʪ!9I!$!9I!$f!9I!$f!9I!$f!9I!$f!9I!$f|5!!9I!$!9I!$f|h!!9I!$!9I"!"R""G""!"f"!!͏!!"͏%""!!ɡ""!( b !!!*"#"":"O:"O*R"""!91""!"!Z"> 8"<9"B"{2"_B"{2"*"{zX"!R"{z!"4#]"f"y"!!>2b"G~p# |"!MSW:Guardian"͂!   Ͳ  Ͳ"*Inactive Non-Resident CCPZCPR1ZCPR2EZCPR*^#V{ " &-#!", *Ù û ^#V M#> $0123456789ABCDEF0xP!9I|ʙ!&$͎ á!T$͎ !9IkRELMV.CC #1.02 84-04-17 SNAP version^#V{#^#V{#^#V^#V`ir+s{!8N N!  ͫ2@^#V+}^DM͞}DM^#V+NT PROTECTOR:Cannot establish a Guardian under these conditions.a>GUARD UP initiate Guardian protection over the currenta>GUARD ON environment and user interface.a>GUARD DOWN drop Guardian protection, allowing any usera>GUARD OFF interface (CCP) to be removed or replaced.a>GUARD CHECK report on any Guardian currently serving asa>GUARD STATUS protector of the user interface environment. When GUARD is UP, a special Guardian RSX is used to suppressremoval and reloading of the cur!%f!9I!%f!9I!%f!9I!%f!9I!%f!!!%( !#%!)%!/% ͜e| ͑͜"*|3< ] !"*!"/**!ͥ|!9M!͎T!M!9I͎|ʕ!9%͎ !d%|ʥ!m%( ͊!ͥ|!%͎ !9Iu |!%( #!%( ͔ !%( b u **| !%( **͔ ] u **F#= !&( **F#!͙|b!&( j!&( !#&( b u !**rogram , -levelENVCHEK: Incompatible environment assumptions.-point pedigree:WIZCHEK: You can't do that here.passwordHazardous area -- Let's have a password:LOKCHEK: Nothing ventured, nothing lost, aye?LOKCHEK: If at first you don't succeed, punt?USER-ENVIRONMENT PROTECTIONCP-MIG edition by Dennis E. Hamilton# UP ON CREATE IN RAISE ESTABLIS CHECK STATUS DOWN OFF DESTROY REMOVE OUT DROP .GUARD#1.04 84-06-23WIZCHEK: WIZ authority needed to try that.passwordEnter the Guardian  !9DM8+ +  ͦ+ #Z -͕Z RELOCATED CODE BLOCK͕Z data segment͕Z instruction segmentLODRSX.CL #1.04 84-04-28 SNAP version-}|Ľ>J=}}4>.2m^7$!9}.+ e!͏ s#r*i ̓" #s#r#6#6+ +  Z ʹ = active CCP to be kept above the RSX.ʹ = SP preserved to insure a way out.ʹ = active loader in control of RSX.+ : D Z bytes are needed for the RSX itself.ʹ = the new second RSS#"*7 |ʯ**!)!T!@&( ÷**; !M&( b u **\#!!Ai**\#!t= !e&( Q |. =|# !&( =͔ + !&( Q =|I !&( =͔ Q !&( ] **!ͤ|j **!ͥ|ʰ **|ʪ **(#|ʢ **3#!'( ê !'( ] =| !L'( | !m'( b ͂!&!'( ] !'( b !(( ] !0(( b !l(( ] !(( b !(( ] ! )( b !_)( b !)( b !)( b !*( b !M*( b !*( b !*(   rently-active user-interface(CCP) module. This means that program exit and CP/M restartalways restore the current user interface, preserving accesscontext, all RSX, and any security restrictions. Because Guardian operation can disturb system integrity, WIZprivileges are required for alteration of GUARD state. GENINScan be used to add PASSWORD checks as well. us{@ chdir$@NAMES DIRZCPR2HELP HLP!9"! G~p# $SCPM.CC #5.06 84-03-27*!! !! !!! ! !!!!!́Y| +++ $vCCABEND: Attempting System Restart.$́Y͏@RSXDEF.CC #1.00 84-05-13SCENV0.CC #1.17 84-06-22* !*!9.*.!!9"##*}Bozzګ<2"*z z*zz>NzzͷCCBROKE: Program or system is damaged.$1ͷCCMEMRY: Not enough memory to work in.$!͌!z`i+6+r+s> Æ>2k >2r !3 ͇:k =2k >A2h T ͕~:b :h ͆<2h >.͆> ͆ì"i :k G}"d ]"f ~w͇>2r ~$:$ #:k G~w}:k =2k (Y:r <2r v ͕ :q R͕ ͕kMBbP.^LʏSʁÇ*d M>2r ͛5k*d *f z{ ͕2r ~  #ó##:k =2k > > _> ͕*d 2a kS*f >2a 0*f M:r =2r  ͕͇ͳ~: 9#Y:a 9#~+::q vJ ͕b##E!]$ HELP ERROR -- Invalid File Name in Load $ HELP ERROR -- No Higher Level to Return to $ HELP ERROR -- Not Enough Room for HELP File $Level $/ $: $Type ^C=Exit$ ^=Level .=Root$ or Enter Selection $ Loading HELP File $Ä$$ password$@NAMES DIRZCPR2 w_#~ ʸ A:4ɀ  MSW:CP-MIG ?ʻ w# !SYSTEM#2.15 84-06-22!C(:6:61 11  2b : 2c 2m 2q ͕!]~ »p ͡>2m 11 !\6 6#!] ~?'#!ex͡:m 0!:*\#:!\# ͕bn ͕b͕ͩͯ:*u!u ͕kb2m !p] ͡:HG~ȸˆ:<=_]#~#›:b _ ]ͯu>2l !\6#6?#·x͡6#\\`!o|g#~#͆> ͆͆͆:l =2l ͩ\!3 "n ͬ1\11 >2r !3 ~:j:q b*1 ͍}Y ͕' :q !*~%# x $J S_z$Wz4Ns#Fr#x‡**}o#z DM!1B!6g!1p6!o1ʊ6͒"!!n&!\!l!^#V#N#F+++yx*y^#V##xt!99ҫ>!2 7!t9:«:ë!CPBIOS.CC #1.00 84-04-03@HZBIOS.CC #1.02 84-04-26>_X2BIOS.CC #1.01 84-06-11]~STRLIB.CL #2.08 84-04-10s#w#ww###n&n&##n&#^Wng#5^W#^wyO~#^+#4 ͡:q <2q L ͕]ͫ>.͆ͫ}û~#.!{͆«~#.! ͕bO> y:q B>:q  ͕B=2q EL ͕~ #͆ &&#>.͆~#͆-}] ͡ûMs o&]T))):q r ͕:q ́ ͕:r ́ ͕2p d͖ ͖0Æڠ ØG:p ¶y2p ¶> ùy0͆xHELP for ZCPR2, Version 4.1 $ Default HELP Facility Invoked Available HELP Files are -- $ Type Any Character for Default Info (^C to Abort) - $ HELP File Selections are -- $EOI ^C=ExiPYZ2PFX.CC #1.13 84-05-13&SC80.CC #5.15 84-05-13~o}g^#V }s#r !}o|g}o|g}o|g{z{z{z{̄!-{̄!,z>{z?!-z>{zð>{>_||g}oɯo_)&)zBKW_GyO,)!BK>){_zWT{zTW#{_=<||t|t5t+|/g}/o{ozgN N#~# ŽA~# yOĎy˜# ʭ#ʷɯ#+#Ⱦ N #NGͱ7~# Aʇ͕7 ͕kb.^}@Gʮҷ ͕j Ү*i j~#  #~:ʿ ͕j:_:b _ "i]}a{__ ~#¡\*n :c ͡6"n  ͕b~  ͆###}:k =2k ~wY:r <2r z ͕ :q !͕ ͕kMBbP.^LbSW"f ͇}*d >2r M͛k+~k:r ==2r M> t $^=Level .=Root $M=Menu S=Start L=Last P=Print $Printing in Progress -- Strike ^C to Abort $Please Set Top-of-Form on Printer Strike S to Print this Screen Only, ^C to Abort, or Any Other Char to Print Entire Information Section - $ HELP FATAL ERROR -- File Name Contains Wild Card$ HELP FATAL ERROR -- File not Found$ HELP ERROR -- Invalid Response $ HELP ERROR -- EOF on HELP File $ HELP ERROR -- Not Possible to Backup Before Start of Info $ HELP ERROR -- Node Level Limit Reached -- Aborting A     #q#r> y  ##ů+<5ů^WBKH]ͻ!-##u!-!9H!ͤ|ʹ!9H!-!9!9HtS!9H!ͤ| !9H!9H! Zt́!9H! Zt́y !9H! ͤ|> !9H!9H!0y !9H!9H! Ź!9H! Z!0!9!S!9HA|- !9HA!0ͷ!9HA!9Ͷs| !9!9!9HS! !0|! 9HAS!9͙ !̈́ !!9H#S͓ !!!9H#S͓ ͙ !̈́ !!9H#S͓ !!!9H#S͓ ͙ + !È special RSX entry!9!9!9H͕S!9!9!S͛!9H+S#|~!9HA!s!͘!9HA!s! ͤe|W!9H#S+{!9!9H#S+A!s!9! ͘|ʠ!9~!9ͬ̈́ !̈́ ! 9CCP Not LocatedNon-Resident CCPZCPR1ZCPR2EZCPR*^#Vz!Ϳ !b̈́ !M9!9; !9!H͛! !O9H$ ͬ̈́ !K9ͪͮ|m!i ͪ͟ ; ͪA ͙ !̈́ !y ; ENVLIB.CL #1.07 84-06-22!>!_G_#+ / +!Cz"!#:@o!&DM>þ7#^#V ^#VÇ!!@}U oj+++#C*+++*!9*!9*||C g$ɜCCPENV.CL #1.08 84-05-01:! 9*́""*}o"!**!9"!"COM Xͺ͟|#{ͷ!B 7+W͹ Z|i+Z !̈́ r|f B"=|ʊ+= !̈́ "͠|ʣ+͠ æ2!ͣ|ʼ"!m|2!̈́  2!*̈́ +a !F̈́ +e ![̈́ n|++j !ḧ́ +ͪ !ẗ́ "2aͪ|͙ !ÿ́ n|w2n͙ !̈́ ; +!̈́ ; +!̈́ +!̈́ ; +!Ö́ +!̈́ ; +!̈́ +! ̈́ +!Ḯ +!̈́ ͹ >|Heath/Zenith $H!9Hͤ| !t!9H#S+È !9H|9 LOGLIB.CL #2.09 84-04-09:B!   B T]6$z6" * #|* +" ; ͱ | $! h! h!kͱ Á ý!B ͦ|4 #͈ ͈ ; X - ͈ ù |Modified $!͈ !9HA|k !.h!9Ḧ́ !>Y7 v OUTNUM.CL #1.03 84-04-08!9H!9HA!s!9H!s!B͓ h!9H!Ͱ !9HͰ !9H!s'-!È !̈́ ; +!̈́ > $0123456789ABCDEF0xProgram , -levelENVCHEK: Incompatible environment assumptions.-point pedigree:# Configuration AnalyzerCP-MIG edition by Dennis E. HamiltonSYSTEM#2.15 84-06-22 BIOS BDOS Environment protected via Single-Segment Memory Model current TPA ceiling Stack Point Heap Point TPA-byte TPA capacity-byte free zonea>SYSTEM -? and invalid parameters provoke this summary.a>SYSTEM -# identifies the program an!# >þ ~##_^#Vzҁ#!+|gz`kz*z!!*~#fozCr} +++#u!ͷ:k*>2*~#Ý͠|ʽ!|͠*z!̈́m ~<6͠ ^#V́Z ^#V́ɑ?RSXENV.CL #1.08 84-05-13t!!\} j+++#y7`  ~< ^#Ví!̈́m ##^#V N#F!^#V͇H8 H89/Z90 H/Z-100 Xerox 820-II # |N$!͈ !̈́ ͣMicro8080A 8085 Z80 Z800  SoftChip Processor ͻ|!^͈ Z$~#^#V!ʈ !È Version CP/M MP/M    !͈ B!̈́ ͭ!͙ !̈́ !s͙ r|ʫr!ͣ|e!̈́ !̈́ r!͘|ʅ!̈́ !9S|ʫ!9H!A͙ !9S|ʓ!̈́ !!9H#S͓ ͙ !̈́ !!9H#S͓ !9H͍|' !9H!t !9H !t!s|J Ä !9H!ͤ|| !-h!9!9HtSÄ !+h!S̈́ !9H  zҲ 5͠ !0$" |0$!9H!ͤ| !-h!9!9HtS!9H͙ t  PDGREE.CL #1.04 84-04-08  >. # 4  ^#V!6 6!*́ !9; !9!H͛!V!Q9HN !_!Q9Hk ͬ̈́ !O9Hͮ# n`=BIOSNV.CL #1.08 84-06-11}##xlXerox k CP/M vers 2.2C ###!l!!͘!"͘s|* Kf*0 >9<9 `9<###9!!=|O͎r| }#=:-!9HA!/͘!9HA!-͘e!9HA!?͘e|a!9H#Si!9H!9H#S+A|ʇ!Þ!9H !r!9H#S+A|ʼ!!9H!r!͘!! !!!V ͺj|  d reports its pedigree, installation status, and support level.a>SYSTEM with no parameters produces a report of the system's current configuration characteristics. Beside providing useful information about your configuration,SYSTEM also demonstrates which features of the system can bedetected and exploited by any MSW automatic-configuration toolsof the same vintage.Computer Configuration Operating System.C.0 S/N --- RSX entry base location ͐|!͎ ͌C b l ͌ = !N( !  b ɟ BENVLIB.CL #1.07 84-06-22!ͺ>!_G_v#+ / +!ͺD{"!#:@o͒!&DM>þ7#^#V^#VÈ!}U oj+++*+++*!9*!9*|}D g$@7RSXENV.CL #1.08 84-05-13l!T} b+++q7X  ~< ^#Vå!ͅe ##^#V N#F!^#V͈A! G~p# %SCPM.CC #5.06 84-03-27*!! !! !!! ! !!!!!͂Z} +++ $wCCABEND: Attempting System Restart.$͂Z͐ASCENV0.CC #1.17 84-06-22* !*!9*.!!9"##*}$o{{ڍ<2"*{ {*\{>0{z͸CCBROKE: Program or system is damaged.$1͸CCMEMRY: Not enough memory to work in.$!͍!{`i+6+r+s!*~# x!͘$͇ T]6${6"S *S #}*S +"S b U } $! i! i!lU Â# þ! ͈| #, l , b Xl - , ] }Modified $!, !9IB| !.i!9I( !Z  OUTNUM.CL #1.03 84-04-08!9I!9IB!t!9I!t!7 i!9I!T !9IT !9I!t!9I͎| !9I!u͔ !9Is !u!t| ( !9I!ͥ|H ñññ81Ľ y0îH ñGîG  ñH ñ(Ľ yîH ñîîĽ y0îîH ñG 1: :,; c*| } 8OÄ$$ password$@NAMES DIRZCPR2 w_#~ ʸ A:4ɀ  MSW:CP-MIG ?ʻ w# !WIZ#1.03 84-06-23!L Ԭ:6:6# n`5CCPENV.CL #1.09 84-06-23:! 9*͂""*}Xo"!**!9"!"COMx!# >þ ~##_^#V{҂#͈!+|g{`k{*{͐!*~#fo{} +++!ͺ::*>21*~#Þ#|@͐!I|#*{!̓ͅe ~<ʹ# ^#V͂ ^#V͂UNLOCK.CL #1.03 84-04-28ͼÞ!9I+T#|J S_z$Wz4Ns#Fr#xˆ**}o#{ DM!$!cg!Rc!ol͓"!!n&!\!l!^#V#N#F+++yx*y^#V#½#x¼ͫ¼u!99ҍ>!27!t9::ÍRSXDEF.CC #1.00 84-05-13"STRLIB.CL #2.08 84-04-10s#w#ww###n&n&##n&#^Wng#ʉ5^W#^wyO~#^+#4#q#r> ͘y ³͘##ů+5ů^WBK !-i!9!9IuT( !+i! ( !9I͔  {V 6D !0$"` }0$!9I!ͥ|ʒ !-i!9!9IuT!9I=   PDGREE.CL #1.04 84-04-08ͱ>.ʾ # ^#V!6 6!þ*ͼ͂% !9b !9!H?! ;!Q9I !;!Q9I P( l !O9I͐c !( !M9!9b !9!H?! ͑!O9I P( !K9͌PYZ2PFX8.CC #1.03 84-05-13'SC80.CC #5.15 84-05-13~o}g^#V}s#r!}o|g}o|g}o|g{z{z{z{̅!-{̅!,z>{z?!-z>{zñ>{>_||g}oɯo_)&) {BKW_GyO-)"BK>){_zWU{zUW#{_==||u|u6u+|/g}/o{ozgN N#~# A~# yOďy™# ʮ#ʸɯ#+#Ⱦ N #NGͲ7~# ͼ!-##!-!9I!ͥ|]!9I!-͑!9!9IuT!9I!ͥ|ʯ!9I!9I! [u%!9I! [u% !9I! ͥ|!9I!9I!0͑ !9I!9I! [%!9I! [!0͑!9!T!9IB| !9IB!0͸!9IB!9ͷt|ʟ !9!9!9IT! !0}! 9IBT!9I!9Iͥ| !u!9I#T+, !9I  LOGLIB.CL #2.09 84-04-09:$A     !9!FTD|R!9I+T#|O!9S!tT|L!9I~!9I+T#|~J|{P!tR!!i! i!i!T{\ !n&!9!9!xT!9!<?!|J!9!G9IT|9!9I+T#!͙|I!u!C9!9I!͙|ʴD|mp͇!*i!9!9I͑!9W!9`͙|ʱ!!C9!9!9IT!͙|͇!9~6!9I!͙|!9WrwzYKq.Яa0::ѨJ",v٧\y6XW,QX \_$Ej vrwzЪmd^9âmAM @j vVX 'WL%[Z4B NN$Ҝ2NkrEOa^m'g8vxam_\yspAh7g <"Õ~jWΰi֧͢ΩÄJ=!7C fത\9)\z;c_r{v;Y?rqg]?KSH+Ʉd`* +ۨ Z4 ֳ6W0)8)#@f27VH@]gl%yxѶ)B]wн:\qX:X&Fâڠ_fH&5Ȗtɉ'ʉZD:*GGb= =`lE*YBgPmd^:͜I| !9͜uT|;!Dg] !9I!ͤ|ʜ!k|hÜ!t( b !( b ͦ!ͥ|ʖ!͎ ÜD!9I!ͤ|I|!9I!͎ u u u !5( !9I!ͤ!͙t| !D( |!K( '!N( !R( !9I!ͤ!͙t|a] u !V( ] !( ] !( b !( ] !=( b !z( ] !( b !( b !( b !D( b !( b !( b !( b !$( > $01234567se. GENINS is also used to impose password verification on WIZ INrequests. Otherwise, WIZ IN can be selected by anyone able toaccess and operate the program. Whether WIZ privileges actually give the operator any specialcapabilities will depend on the user-interface (CCP) softwareand utility programs available for use.R{ozg!~4ʧͦ !6 ! **̈́**̈́\iͩ !w#H USE FACTOR !* "z{*"|͇!9~6!9I!͙|3J6G!u!C9!9P!9W!ͤt!C9xCLKENV.CL #1.00 84-04-12:`ž*p> vWHEEL.CL #1.01 84-06-23:`ž*pI!͙|#͠!~ Þ!9T|!9IB!!9T|=!9I!9I}I!͙|g#͠ N#F!9T!!9IɨLOKCHK.CL #1.02 84-06-22͕|!9! ͕T!9! !(T!9!T!9I+T#|&b !_9âZRxޯvwR)DmЯaOw6rռ@ \0'KDjK 1uQNyQqbXz2|UX^M%S)B zd^0||j3V<)N"M!B<0$ЙNsURFÄ"&F`$hSqR،R뙓y0P;N(OlcrAN{8B <SkdVSHyj pQ8 3{xd^0bh. 7} `YG Su;1:aQ c3 н:3,jb@?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnop@j vֳѰœJ20LNL5.?ã U;Lp: !9!9IT|#&] !9I!9i!͎T!i!9I͎|m!`͎ !|}ý!( !9ͦT!ͥ|ʽ!9I|ʵ!͎ ý!͎ !9I!!͖ !9I#T+B|E!9IB!/͙!9IB!-͙f!9IB!?͙f|E!9I#T!!9I|q!9I!B!!9I#T+B|ʎ!9I!E!9I!If|!!9I!M!9I!Rf!!W![!a ot.The WIZ says it's unsafe down here in the gloom.** The WIZ is STILL INOUT **** You think maybe no EZCPR or WHEEL security installed? **a>WIZ and invalid parameters provoke this description.a>WIZ IN enable WIZ privileges, provided that any necessarya>WIZ ON authentification is also supplied.a>WIZ OUT drop WIZ privileges, the usual default action asa>WIZ OFF well. To place a WHEEL byte under control of WIZ, GENINS is used totell the program what ZCPR2 WHEEL byte location to u  @͜ tJHLx)ME-Ajhz;GtL_h3 6b)،SL!Y*(,~i{^pAKM^&zof0?NΦfc3nVt3M!Ȝ&bBX&g2Ģ$h.V99`QI#H Zd,{OSzxpAPgXTH,)`<ךaQ GlRXvLu?xԮ 0V MXTJ#%PDa!Rm#QFVѪ&КaQ L)`{|z+z61/D>_N?g9nWhgqZ3,j1::SGRx, <`f`X&FZY&WXTH,&gXzXB ³pL P;;y@-+lQL'/`{| E &W0Fm\4SL Ǘv:v@krE 0^JAb37%ШCtLa~c`A@HCAxtd1 j (C-2eZϠ Ȕ59sZv:w^lIFi,F+KPUFȓed7HPHY@<9gxu>|$v(:b)|Y#@<`:Nb\Qʣ c3P;7uHac Zx<*O0ؒ2m%uGѐʑ+ ciu J" ZmP# ᖺf`llWx594M^{>ª&׸Z~[}v?B o9SZpA(d^Quê&X]O?'Wٴ=ӝ+C4L荋B8!E\m'gt$F*#Akr bvɖmЯa2M!vi{;7Ph%޸(r^zh[մ=ݠ0'pA7!vy2.j;9OSHyjɴ=ӝGC4LX!\jsg:T2X+g%U;L`< gp,kLIh佺)ƿK) hMJeT 4 9 k:x᫲v=|8wn=`lF d| V sB5Z.d.D,*|$tѨ|,\{37big/3hMΰ:Sg()pAX/%)% )ViXx᫅g 8!EG \/m̴r(+&ͣ4YH{40o=0 XPSG0eYy֎2XTȼrE-P,$ y@ЯafZݫIGq.ЙsdirdJ"0'FYD4 9 V:8642L]G) ZA: ))SY9ʂ?_,K,g&v%vkT_S/Y-]I䣝iMΰźZxX0h|B O-8x06^;B F3,j=fxxsǁb,N\G,$ &hXԢvd)8أZS`k4draWu)qj%{΢6q{X,uR،E4Bܹ~䬉`Ej4ЯaXerDڭD3XԎrdK+&ŌiZ<;"n,ȓqep(sBb5W0LS[ywD YnvdMG`0+nf82Ģ_dٺӊ(E-T('h&?aP&fN0XǗu)jj5XOڔ XW,QXȧRxޒc#hpCpAXg`Wu)c1'jhdrBi2 824,j=9$Z&ڑ'wBhv)`OitLON'ܙG%ƿL7rGܾ].7hO7:o)|Yl\F;<ޠmHWGȲLU mɝHI8C b.vӒW7Яaڑ'wBj ~pAPK Za4*cA %Π 6b) \oX/dx9mO7%P;;M v9!XŢGbQje\m \_2i{ˇCt=} jsg:d:5e`12ob5'L^2,J3du430c4~F"=`l ڠHhv8ba0{{F"dQ;M!OfS;L|PT,QX8B)C,C hJ&Rej7vw `lYeqc-]D )`N Z*jYbQe2[}?o\V0Kd3A     XgI.O'.%&ّ`walX)`<_'T6Ýw NȣQU;LPjWD43(А^,`;]c4v\“- ڠV/,'gGF\Gm;ѯao&OS&]얻rwz;90*h F\GXH ԎXǗUEj Zc1_Sodѯaojr hO)VANeZ{lʸa/ڑE- 0RAݙijWGߥư=~z%g< Y7FaNlfPڠy1~Kϝ<9yOqo3 3p GB _vӝG<{ut] )` K0NfC. cCy SRGѨܙf!37bv 0 [je vo&=ж'ӣ&ųY B ӹ3pPwш%rAvuP@'3tTX\g8]b\a)N~]W0)|p7.&[|QQ,ZT,QXO#+yXe 5ba 3AUי?L&gXN,L¢v@7XOZ)`|}N׸^ca|Slk*PL"ca)06Ԯ36pO.wlܹW0I!~0VT^t3kg:E- pK@ݙijWGʓC]gl2ƔƿfE-3OqtYm )`L߿ǭݪ%jo0 r4Mc;v{8ĖαylOSHc?%/:t:O˂c,aJJX,U;Lc34'`*.oE-JSDa!mn% Ϧ^,S\#Бef{,*H,nVКaQ . _'VXe) ,nV#Go+Ly pAΝ VV6ѯaOqkj!;}B U;LN:ڭp\uF9$X@krE)?=PTNc<p [jGj #NKpa¢Gb`GαQj=(7cgP.ȡv:wyL!0wzsB8F3X)G@LWGBe;e ח)1ܾhSn?M!c37<`ɲ%FF! E=`"Z @Xeb)OSHcppLc>ڡSH 1‘guƑ/Pj=6W0Xp!4M!˂Y:*՞eQܙO3G&/sKR)M3vz"`8'`zB8RжģvT2e4N;3rc3E5Y| Kc?WeTu Ó)>ݙ³WGjOŦXb.v;H_h{¢Z觸o:60䰳L1%A0lK`yD b9ݜM.ӹ3#GeŔ!3(R(Gӹ3<Wa\,ШC )`>=}s_$0+קglru7w.U;LRH ۊ< oX|#шĈv+ j pAӹ3ģXpF֊G?}Id)1\yrY&ט 'bЯa8;>>1 NJ1xRXLa<p<(e(Ë- ʸ gS1?~gkxr'Rȳ1l/!\2ƔcaG(ґa؛#k:B#0߿c10RHAb<;bj=AvƢJ[,"Ԯ36UNtHS nmEq*f,9Ro:@) p=t. gE-*OX|M4B&0H!gE-/6CpAXo8#,{v0eQV1#G ;Xd2AvZbX_bj=rNR(faQ;}%^n/ζ3d]<0ٶ]ۯS)VAКa8Z1:HiX~3,qOQ8H B1A9cԑRsOÙºR1Hxy73}%Jɧؘ{U<9k*tcT6C;<o@,LP.ȡ4| _\yrU azB )6RGwG`=m YwOۿIch xwd9}Ql @gW,jiޑ0Q3ٰyGSGw^U%Zxwd90g\,T1Yi> 8Ϙ4McSGN_S|Y`R:/: h'Wă8CQ~^)eAHJ# G!D TȼrE-AGW/Ra{B y.ap7O10>{v|gk\O04,jS&XOZ)` ?~GwIe\c1Y dR>Dڎ,vT2eAγ0ZG:ZӼ#Pnf)`|> eYrآ$b)`|=0ϟ??h1crآ4)g)`7GGR )|Yj62aQ{B A~Vpkzfi2>ݙWGna.)`p=eaQ gdxS7DVB _>xeA[AO!B?@ABCW+G8xR89UA,JV7xн:J)g PjS eAXOdu3 o1U) yZ x2,jEG$\Fby_,KܕNX\'FYD™H'?J',v퉑hp&ƧRxޟ#pa&b'䬉@NذHA-137sWSZpA8!E-A;<ހ ÀxU֊O^L41 hܙy8#NJ Vd7ۣ3Qyr8>O!Jcr\yvR2QJaJi4,jm,RH;LpbbEbIXccL ؘ{pbbE~B ϗj pdZQacʓÉqځ C{zq L1%,ӹ3P,,૲$*dʀ@F񜝱!(W0Έ eX/dp")`<_V uW0Qe\8<1EQ ksg:8i ),`b r('U;L Z/ebApbS @j )Z=F"bGDo(c1Kl Y 9u .)vZb”,'nF"MS[;9u .ڠHGrdKݫy/j=LɕqS3_djȑ-ɣ6S+L]G) ZVln+<9y `kgh8lC <;rbW0 Χ{d7 =O<2+G`E#6 _%yT1dpAp"ϔQ;;!H*KbQ.àHȕ;P'Qz <vL JcQx)Qmd^9âZ( c甑bT^\V0ƓbwFtL7pڀ Yz ) G91"Rh",j!,ecKA'b Ϯ*r 4ΑBaN@MC%_Y&gM`aAD2=#S+<1 Q.sW0I!137sWNLȣ4 B)pIн:J)0Ji4,j D- Z(GQ,HpԐ#[O!,H9e\yruX*OpGjA] |{v[N/<ŭ Bl5&p594MHl V푭bĭ}gLaQĈTȔLLKv+\~ .I@]Rxr|~@x6hb`ΔN|nHxv0:b *#.^+WAS9.v)`­~wOLW!d9=Яa ,% BȰ60H㹥*a2M!G_,K,&b0\`pZb_SerD NK^<]Y&gM`xJi2Ă “bwFm= djL)Ԇ hpc$F,ӌBAy|xƦǗ\9`{ssۯcL^6X <& IkרbԄ!^.EV_ l(6`+dKaH"`HT]?:zrՂ:#>uB4[7JTۯWM\FM}:"ۚ$mk2$qiI1̓$tM]2K>vP&20jBH jH74zcٟsr$[  DAiOu H^ad`y!_bo7<^nE_۷:1h+o8o.\9<\q͓Et#$z1grFi+K4Y49`uy' UղG[$l[wąNӜ)Ы7.0JBtB.y'G[$lS S47uN 7&gHtIԁDM76)y=ZYY3A;B v j¦5!6ÜiIƛ-0E8.qcG؉3X!U+,s˚ ܴKA/sp!D`B}PSl1ӌB`RE(FI,!scS9XH4_g.- i: aH$MR2 tڒ5cX7B8iցM$)}>hl* xJ6nd[ k2y%]P= %$†X j습^L9BH S4wA\,`>jM(;.j֎MP :U39t$p^, @wIKwW[ $"i.I@Gw׏(K\!`m40*T15ִ9(]fL MBWt!k&<9>$+[iǏ/ z#$LbtԱvA%t4?9>? 0dk¦BX{akhNMpe , Ɔx KX7W%|θ9=޽~\y~qyix ]/8?_݃Qt]:\ [Rih&>ZE\(, %ji(K+/tf^܆. S HE$ \1$]&Խ8B\,05ִXjtO .[ P Lrޠ Exr|i6R IJy%g.lM+/Hoyqv{\5ִ 9,U$kRoN1PcSBs=Ri&Ij|9gu[Ϫ%jisxpD!йzd+`Ƙf0dk¦U;Ft%aS-y#p@B=DR7J9 vKAҩ \ȞyC2a0ƨ Ǘ`[`sB?f I$}@tILX7xwuwqw<8=W`Jy.B ;L 05¦cK>/A?:K&g㣋/ ;yACG{tlk4ZL@Sd{`t5yrY3!j6Z6uO]0E0# w" p! I$=8zy tA[Njl;_^>:N3/gϦyqv{^( *I|yOBuO=9CG{ t$4WS֡'g$UC:SSm钰#b=if \0` ak&Ȟp=K>ߜ___\?zbPiH]CAbYL0`=9`ꁦ>%aS8/f.JQ+[3_D.D9 5)08uek vA&# w9oifϯ߾m?~,.8 S"&JL7 GgL@X?d4Ek p!d[ vlN]V0$[%p6uH"ui^|KN ACGp!(JG[$lزQlif^=p3tBR"g_Us)gp!TGJ䍰?x__?ŐQ-k˄dt 4IEh +  m \C5S 1cbxƤ=yW\ 'iTa .B H M}y_|h %gL3a`'E A"0U`f(  U D9i6kS]/5:=7'C2a³Jtv\]P(Ӭ Z6+ ;nL3ns'0HGM40$,K0&>΋0.W. XQ)愢; .o`q4Ӝ) .hBhŠ^;b$=1rFX? V4⚨+ą45goN󟁟/`@0gJ.VFk¦V~t@<2 ٚ@fJ݋,A bL= .n/.#ƥ>%aS0gE.0UT NvlbݚEL3nukC`kT:N!vBr(Vf+P)rfݲCGC![6] 1PcS.I@r46vE\hI]FSƦ.=̷<8``];#zppy=]!BӔ1"4!QCj56`#[6`GP)lq`lW_ݜCO0v劕$ASN]c`E +t$LP~맘Spp+!o[TdO[G-KB0 IӼ3.HH`͗Sl?)c/ɄM= ^Qi (8lۿ?^k@Yc o]_{K=9: I$=ā08Ĕzs@B L`ݠttr”L2g\Q$9̃%g5S .4hvg煀ǿۧxr|V~t 6tGi2z&SLs L20$[z@GKޒzO[p| V20ԊۏV\?zzr;\|GYX BA͙*Xî<KTbӌbX%$B![5^^à%9Vj{`O)L=0V P[jO.-7;R0hbdΔNn0L \ܝ_=%CN6II|+{q0$ ̙iGiQi ,)o;^>(|s# wQD>El-f4/ 9AYgqCt@7ߠem~x,iqvۓskV IPŨ ea2gA     '95KTѱec8&+L[h΅)o@\MO{r6 J\@'h ѐQOΘ-v3VEtTڠ@Q:t t$sn)f.da :v3:P&ѫrW & , 9:ap!Ы3*)Г3X5ñO708޼~iS S  WJzcaSpƐhO!'gp!Lsd̈́hЁoq jlwhoaVp!LS!SO¦,g яxׯ.Hzj-]6uLsǖX :mqv^a-0u`' By|x*,v3 =` ɡ`y4ND$(:dOI:+-o,e5A|Lpt4G.p!$[:dOP$*Yᴣ^k)yDvԊZ3FULL.RPTR o  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQIDIU;($O"S?%Ė=>$J"o>= >`忩\10>r憏=?^o$$4]֌E m`pE˚h4 'Imh"GbH#t$V2_lIgX7W%.NTX fmMԁQ2,l0XS՝\w'z%+§vid8/4=0CaHX7&F=9X.i>޼~<_:Y CҽUB4vlY(FMhE|4O3n/peЫ0X`g9c. i5ʂLsǖ7.9ՓЄQ О#ld`͛A0UұhKMc UAj .Bȶ&IFi습.IYhlXTxJ iv!Q& 舎->u` ! SB5I2-0/p/w}ţ7Onp}o/o_ݝ__\M3_>L4 5.tA7x$tB?DǖkyĒQ-QcMl˻+W\y~qyxŐtIf 5/`+ 0+1_ f $tI'81Z'S=I1. %r$b X =O(FMP.HB=<8BM ұhKM`DX|tVe D9&$49 =' aKpin`I݀0P YYpeT l{:hL3`g9c%sƶ';E" x1 -`JX0z+5BiOӌ[0u]P]jmM:"a@Ҏ)ӌ^" Hco^\5vEsZ)#`^UL3nz=%ɀklʐƝJy.UrL3nw3$gڛ0UTmM6qQΐC=UL3n?MA I|]ŨZ!r4}1``k6,nvE#JHD2: s [;Yg;p|I~_~6Hp``k6"vHZR9U i?zׂ2/X7ک:a׻@U=&ͨ;7 QwH8ܺ4]W4c&`zZtI~@fU$W=U,HjȇRQI~ȼT\j d$5PkdzV $M"(BrW+$w -aib T;'$M"(U\  Y<""KO֊OHDPl+rQBrSh`ćWbćWdVª]IdY ɇ&xbl,u E4&h> 2TX1Su h> _z'$O"q3j]@Jc`k6q3j$-O뢑4@!V+Ǣ%vj΁LJX!RR+I:=WϨiveȞ<:9UvK> s I$}+ i^r(#񥓅k2B!oAGd[ ~3oi՞rüj'C%I&V`Y-z0hbLs5I2 4u6X Fs@lM$;MӼzV4=`%fJ[X!NԱ+!钤zMi5 aā1i]V` zE a&`4MALp! I$=ȞUp~;ӌۗE\,Гx\q&;#XM0Ar(Ћ9i5[²JP@GvV0X- &`8@1ͬ"DKޜjzr6uB{b 22%p!Tm]O~f6$ ̱i 3U)@$!;fBiRS_:Y$(A=S4oy^rx)`)AL`Ek"R攨u)lOycSL3nMLX7@ݸIMJ,g`%A3gIԓscM]: aH$c;/pow7ϯ?\>wWiӌkW.DJ,gA/4!)Q& |҄inE|! x)eJ[煐d!4=9:FM;olk"L3q@IKד3`Eb%"P8/rE 0͉v|t\[66 %JX֯T+U@"_4Y|d!4.¨4׀:Z9#?Bh{r6-Bi^  lq3A㨉aMX@4\زQӜmM˚ ;.,L8޼~D$h;ӌbƝ{qıٟP.Bc=MsSm^rIIMsƦDD$ 4qHEt.5BJ5cF]VPi P4s! Z%ic  X`QX {JD5_8i~?}`JhlQv%aS0gE.0UT NvlbݚEL3nuk  T\ *X lf:CuItb : °[;YClٕ K iCȼ0Nm90l*OHDTRzڬs`@!~'4vcPBfҬG @ H 68$M"]Q!W+$W=z lfU+*dVUI^Uyem~_TYG Օ]4଻ /Crs\gm_#8n.8CY iYw: Zb଻kgm 2%RHDpfHn%κیF0pf#S'|u\4 T @Y ʒjq'>!yAVmlYa@V!ۦEfpHD12Z!Sک:"F>J*U4HD/ɭaNm)0/dV Iz7!$,z7!MHNupI r^Kb_*M=Mb笳F]in쁆Y4E#6,m,FE#PhŢ(o`,M @!@;QŢLNE@d F_E#еђY4]C Fg>E#FKft}bE@I,RcRY4 FPY4: dt"F ddЛ+F ӚY4: dZ}@@&*@&T,LʳhtHt"F h],5-htHZ}@@6E#Pu,E@Q(hhE#PlY4pX4: }j*@*Ϣf`SâY B4ٳh+@E#mmThR:hRY4mT}hthKUE#ЖLw@[2UX4u=Fgk%hn15ĢYgYgi lyY0ZUwj~Tq,ݮ/Iz7Pu@r8iUbawr1׻ɿ 0PV#iru@rک::W|B$!刁"G$7@>税IYH:J(xDr,FRzcD$v#rQBr2򈁭ڬs``k݈CZ\I[__o7_ID]?~>9%$?@ABCDEFGHIZc:U(S>S9Iu}\s1wj5?*_WQ]}Shuvluܟ\dBt,ʤŸ,YXձxTf67U>)o7eVtY<ةrT]o:JܕOG%^ݮX~r)?=z7@]c`w_y(9#ibbk*[``Wd\ _,Ff(QHDT2ک:  }^c藾 ''̪H,ղX 'E*#ij$Wu@f?4vjNݡȇӰV|B$MJQ* lfU#J]UHDi3: ) lf=#_e6HD]\\w0Su ll"S'pHD-: h ک:6վESV傤I2: ;Y<"UHD)-rQu@枢Zک::eERUR5ᄤIlyc쀤bq6k]"iA_Y=vj΁X"lIT'$O"k]I*ڬS` ֻf\I]zڬS``l^v`u!i*bYjSkgdBJ*>ţ2ӷq5IݮX~ۿ)սp}:Nm,i.vjVޔZ yV&uP:Ju}V-P: kԕ6 ЖR`MF_&o&- d@E#zCT: kԕ6ƇhhX4`}f,GC$,aH+O{˕߼o<w7>~߾}zvDH"x7Wnl&u3?~#iݍ߮l{۷Oϟ\<޿n?1͕=Il;^!Ia^![a!a2=!!9^#V4*Z|3_!9^!Al;+_!aa._!va!!!9sK_!9n&ace Command Processor. Generally, MSW utility versions dated since 84-06-21 are always preferable under EZCPR. To verify the version of any MSW-convention program, use the command form a>program -# OR a>program -? ,lyYZ|8/:N쬳F]in_.@[2idtڒI ~!g]?g*)e.?dBt,ʤŸ,lyYZb_*P>|\rvjMTi_~(zeoj|SOӾ9,QWڄ@[2iB@[2i~!-Bmɤ mɤ&mɤŁ[dҢDgd[d[d;&mɤnMthK&-D-pk"ЖLZD-ܚ,ЖLZ,5hK&-[d҂}6@5Fgdr ,k29@_dr , ̢YE#"b0,PGb,HgjY4!SŢSâY 4Th0f`A"F ہE@!5,0*@ébY4: ,Л+F EήtؔP?{-P-2i1Ʒ94: sOGڬs``muJiI3: hxFRB&g%ږ vj΁۸Cf^4`<vU$w 3υF.C=&*4=3UidV W%&w$Wu@1Nm900ߑ%CY$M"ϣn2Z1Su QHNQ#ix~hb I &Fa`րItDf[+$wa N#U %6IZڿ[fh?k} IZo^4}6[fhyH&IZ?NU$wһ0Qwڷe(9R#iq3jPBreYRb`k6v:nF\RX!iCu:l|i劁*t xNHpNHD׻ !8i1׻ x݄: REPLACEMENTS FOR BUILT-IN CP/M COMMANDS --------------------------------------- The standard CP/M CCP implements a small number of services directly in the command processor. EZCPR preserves only SAVE, the one operation that cannot be easily obtained with a CP/M transient ".COMmand" program. The following operations have no built-in counterpart with EZCPR: * DIR for showing the presence of files in a particular directory * TYPE for prA     FB2F&5ĢR0Aٳh3ht̐|ǢیX4`[:~嬳4_6,ԡ?@jK\.WcPv|_=b>PbM\; `ԇ*ԡWkg5JpC͉1zܜX4g,D],!PeX4B|X4,-E#PjhNE#TYUf,TIFxis6,Fg]?g*)e} F_.r\͏*Cە~P,Cmq7s,lQURF_;,QWڄ p` A1c@AIW pdlc^Sf ܤ8 m61`g f` `; ΂c m_A@0-cܜ8 kH1D]A Pe@|8 >ccђUW` ,TIcxis6A?A@CBDEFGJHLIMKORPQSTNG3"Hq#}>ʁ%YE9a/RhDg# l6fzdazìXM,]Yd((%Hq6kseu F_rTǿ u/cPv謳F]in|kN_z$0A&^KϚYh3OͥISs/=c0KY8 F/=uvluܟ:a͠hK&->)e|R+U(eqX8,QWڄ Ɗ`M0H>sk Acܜ.g Q2cg!e &2SS}1ҿ8 %ܚ%쳁*5b xz<tZ[u,ήtؔP;t}t3(ڒI uzb,lyYZOjj,> g5JpC*CNHn*Ot2ᖛ't/='BԷBl,ѧbD hHѧbD,ɞRhX>hKUfDg2'BT|"locate the custom data areas. BUT EZCPR WILL NEITHER NOTICE NOR USE THEM. And, although EZCPR has equivalent system data areas within its own storage locations, ZCPR2 UTILITIES CANNOT LOCATE OR USE THEM. [WARNING: Do NOT attempt to locate the equivalent areas within a loaded copy of EZCPR and install the addresses of those locations in your ZCPR2 utilities. There are format incompatibilities, and the locations tend to move around within EZCPR. In addition, EZCPR doesB%]ed2qk"`}D q˭Bܚ謳_:KU`SB/0ZUwj~Tq,ݮ/bYjSkg`'u0Yga&F<&p5&rkfknM55@rsDg'nMC_ܚ]Mŭ>&:tؔP:Vk]zrUˇb+GXn*YV:Ju}'Mg5JpC] թ!~!gSCBή9,MWM?/ uCjK\.WcPv|_=b>PbM\; `EO+a$7Rhu֨+mwӍ_>Bէ[/䬳_:KU`SB?aZ+,X>]9*_WŲ?ԦwS9mɤKU}\#}}z㌈Q3M 5.r l9b,._X\\>o*eh[ swg?>'Ye`f-z/.zs~c1սbn |V[T}&Y oKE|jRWu.F>? de]9gS_K%uh#JR[$R ῜H+SUqSҺԔTr2/G| i\ c ]* xBjE_TMh&E"<0œCO小@NS_v=;k_wZv=%ө>Y~R?]H+SUqSVNfJ*JHRO|CkN 1.so kept resident in EZCPR. * Input-Output redirection is a special case of MSW RSX Portal usage. [next: Impact on ZCPR2 Utilities] Impact on ZCPR2 Utilities  not have to load in the same place every time it is initiated.] [next: Making ZCPR2 Utilities Work] Making ZCPR2 Utilities Work --------------------------- The smoothest way to operate ZCPR2 utilities in an EZCPR regime, WHETHER OR NOT ZCPR2 IS ALSO INSTALLED, is by eliminating those configuration options which depend on the use of ZCPR2-external data. Using the ZCPR2 Geoj|Sһ]SYxzY^qO7Eocy>Nss6|R^j~T%jxTJqYX 7>d҂_trqYr^ %/VzVi>qu,MOJvM)gf5ϫ{Ni?8Y*ԡWdB OJW)4: kԕ6Ƈo-h~!-8uvluܟ:0ZGE[2iNqXu֨+m>S͚`8ՌA3$15$X4mmɤlk$a٤t|: ]u/ήtؔP0ZةizV9,QWڄk6 M M,4F_yHWh:t}CBayHWg]?g*) ------------------------- Certain features of the ZCPR2 System are supported by setup of dedi- cated data areas at locations where their content is preserved from one application to the next, from one CP/M restart (warm boot) to the next. It is allocation and initialization of these areas that requires special CP/M modifications for full ZCPR2 operation on most systems. If you have ZCPR2 fully installed on your system, your ZCPR2 utilities will already be configured to   zKZǸP?Yj i)FkIVvBZVNf1Oc!-Sc)tˣGmjY5)jDcGxx?FHc)?& Kcc`_v=;k_wZv=%c`/p?Yj i)Z3 rh#R'Z)C+'3%%u>Yꎡ5/`|SR G@8jRԈ,.Ld#,udw7,/|W~iۗv/*5qB}H3.%M"63R3Ch#R'MA| i?D v̗&fD>nSc5i),5a3H+SUnb;0v|,>!5hTM1kRԈ,xx"'el D000 current TPA ceiling CFF8 Stack Point 1DFC Heap Point 0100 TPA base location 52992-byte TPA capacity 45564-byte free zone [next: What to Look for from SYSTEM] What to Look for from SYSTEM ---------------------------- The amount of detail that SYSTEM reports varies for each CP/M in I  : MD(I) : Iw  31,28,31,30,31,30,31,31,30,31,30,31 X I  : MO$(I) : I  JANUARY,FEBRUARY,MARCH,APRIL,MAY,JUNE,JULY,AUGUST,SEPTEMBER,OCTOBER,NOVEMBER,DECEMBER/ BL$" " : CS$BL$ : CFLAG : FLAG : () \_ : (,)(,),,B : A0~*I< (,)(o,),,B : (,)(d,),,B : (,)L , : "TIME: : :" : , : "DATE:" I <  : A1A0I : X1(A1) : Y1pn(A1)TX2p(A1) : Y2p/x j () : X4 : Y4p : X6 : Y6p H1(($,)) : M1(($,,)) : S1(($,))H S1S0  : S0S1 : X2X1 : Y2Y1  M1M0  : X4X3 : Y4Y3 : X6X5 : Y6Y5 : M0M18H : H0(H) : H0 HH Bt DATE1$$ : CMO((DATE1$,)) : CDA((DATE1$,,)) : CYR((DATE1$,))<YRm(CYR) : LD((CYR)) : MO I (CMO) : MOMOMD(I) : I! (CYR ) CMO LDLDAhWD((YRMOCztw+zKZ'Dg'F>RbDtи/i*nK/>Y~Er( v_N]*˃ 1>"Vc_t*`؎ѥ2!>btwvkT3&kDaEnXZ/}R XHK1Z`eף^uen_=?dR XHK1Z3~*%g"GaiQV` AkiSc ]* xBjE_TMh&E"<0œCO小@NS_v=;k_wZv=%ө>Y~PR2 parameters are honored. With care, it is possible to develop utilities which operate indifferently under both ZCPR2 anstal- lation. It is unimportant whether SYSTEM can describe every detail of your configuration. IT IS IMPORTANT THAT SYSTEM REPORT THE TRUTH, whether or not all of the truth. That is, nothing in the SYSTEM report should contradict sure knowledge that you have about your computer system. For purposes of EZCPR operation, the most important information is about the available Console Command Processor: . . . D800 BDOS 2.2 base location (A1) : (X1,Y1)(X2,Y2) : Ix I  : J  : A1A0((I)J) : X1(A1) :Y1pn(A1) : X2z(A1) : Y2pŠ(A1)@(X1,Y1)(X2,Y2) : J : I+X2 : X4 : X6 : Y2p : Y4p : Y6phH0(($,)) : M0(($,,)) : S0(($,))l  : H : H0 HH () : A$ : A$"" :  : "MENU", , 2$4A1A0S0 : A2A0M0 : A3A0H*X1i(A1) : Y1p\Oi(A1)TX3DALD) )MON$MO$((($,))) : DAY$($,,) : YR$($,)0 , : () , : WK$(WD);" ";MON$;" ";DAY$;", ";YR$ ,: ,: "": , 0\FLAG FLAG : FLAG CFLAGQ FLAG CFLAG : CS$BL$W$ "": , 0\FLAG FLAG : FLAG CFLAGQ) : LD((CYR)) : MO I (CMO) : MOMOMD(I) : I! (CYR ) CMO LDLDAhWD((YRMOCM 2 : : <~ 4 $"11-12-1982" $"8-27-1982" d 7 , : "TIME > "; : "",TI$ 8 TI$" " TI$"" : : $TI$ :  , : "DATE > "; : "",DA$ ; (TI$) TI$"" d : $DI$ <  , : , : " IMPROPER ENTRY, REENTER " : , : : X  : X : : , : () : 7 d BASE 1 : WK$(),MO$( ),MD( ) I  : WK$(I) : I. , MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAYM b(A2) : Y3pY(A2)~` X5C(A3) : Y5p(A3) (,p)(X2,Y2), : (,p)(X1,Y1) : , : ($,)B( (,p)(X4,Y4), : (,p)(X3,Y3) : , : ($,,)v HR(($,)) : CFLAG HR HRHR  (,p)(X6,Y6), : (,p)(X5,Y5) : , : ("0"(HR),)T CFLAG CS$"A.M." : H0 CS$"P.M."" , : CS$< $DATE1$A     50 wL ' : THEN : ON EDIT GOTO 60 52 IF v$+="11-12-1982" OR v$+="8-27-1982" SPC( 100 55 KILL 9,32 : PRINT "TIME > "; : INPUT "",TI$ 56 IF TI$<" " XOR TI$<"" SPC( 58 :WIDTH jR$ "; : INPUT "",DA$ 59 IF LEN(TI$)=1 XOR TI$<"" SPC( 100 :WIDTH w$":TO 7,0 4600 RETURN 4700 FLAG":TO 7,0 4600 RETURN 4700 FLAG D000 EZCPR base location Single-Segment Memory Model D000 Current TPA ceiling CFF8 Stack Point 1DFC Heap Point 0100 TPA base location 52992-byte TPA capacity 45564-byte free zone B15> [NOTE: With CP/M)*(612,209),,B : SAVE (1,1) 1100 KILL 6,6 : PRINT "TIME: : :" : KILL 4,6 : PRINT "DATE:" 1200 FOR I<0 FN 60 ERL 5 : A1S"/"): V1 V1 4"#V2(V1,AD$,"/"): V2V1 V2V1 "# ((AD$,V2)) ((AD$,V2)) : Y((AD$,V2))"# Yd(Yd) Y(Y) LP : LP : Y Y` Y LP : LP/## ((AD$,,V1)) ((AD$,,V1)) : M((AD$,,V1))R## M LP MX : MXDS(M)## ((AD$,V1,V2V1)) ((AD$,V1,V2V1))MX : D((AD$,V1,V2V1))##OKD:##: compute # days between date1 and date,0: ():  Y2Y:M2M:D2D: #4 ,: "NUMBER OF DAYS BETWEEN THESE DATES IS: ": ,: ,/: "###,###";TDS: ,: ,: "(PRESS ANY KEY TO CONTINUE)"HA$: A$"" HR ,: (7): ,: (7): ,: (2): ,: (): + : weekday determination routine@ Y1:M1:D1 ,:AD$"": "DATE (MM/DD/YYYY): ",AD$: AD$"" ,: (): : # OKD   , : "BAD DATE. PLEASE REENTER.": I : I: , : (en WIZ is being requested. If the program is not found, EZCPR sets WIZ OUT on its own.) EZCPR monitors WIZ status so the one remaining built-in operation, SAVE, can be controlled. When WIZ is OUT, EZCPR will FORGET that SAVE is built-in, treating SAVE commands just like any other program request: B1>save 0 c3: __ trying to create an empty blank-name file on C3: +++ SAVE !? A0> illustrating the response of EZCPR to an unrecognizable command (nT: IDUM MX:STST:CAL$(,ST)(CAL$(,ST),)"/"((I),)()::: ();: ((MS$(M2)))MS$(M2)(Y2):: " "();: I : ( ,)();:: ( ,)(): &%8@ " ";: I : ()(( (DS$(I))))DS$(I)( (DS$(I))( (DS$(I))));:: (): &%: 0%] I : " ";: J : CAL$(I,J);: J: (): J : &%: J: I 0%: Ih " "();: I : ( ,)();:: ( ,)() m ,: "(PRES2$#PRE:TDS$$ Y1Y2 PRE2$$ Y1Y2 M1M2 PREW$$ Y1Y2 M1M2 D1D2 PRE$$ Y1d(Y1d) Y1(Y1) LP1 : LP1 : Y1 Y1` Y1 LP1 : LP1-%$ Y2d(Y2d) Y2(Y2) LP2 : LP2 : Y2 Y2` Y2 LP2 : LP2%$ PRE FYY1:FMM1:FDD1:FLPLP1:LYY2:LMM2:LDD2:LLPLP2 : FYY2:FMM2:FDD2:FLPLP2:LYY1:LMM1:LDD1:LLPLP1%,$NYLYFY: NY TDS(NY6)m&6$ I : NLP(I)FY NLP): ,-: ():   Y2Y:M2M:D2D: #: TDS:TDSTDS::WDTDS : PRE WD WD$DS$(WD) : WD$DS$() : WD$DS$(WD) ,: "THIS DATE IS A": ,: ,,: WD$: ,: ,: "(PRESS ANY KEY TO CONTINUE)" A$: A$""  7 ,: (-): ,: (): ,: ():  V: calendar print routinewY1:M1:D1: CAL$(,) ,:AD$"": "DATE (MM/YYYY): ",AD$: AD$"" ,: (): CAL$:V1(,AD$,"/"): V1  : ADS ANY KEY TO CONTINUE)" nA$: A$"" nZ r ,: (2): ,: (2): ,: ():  : exit program - restore f keys-! ,"LIST ": ,"RUN"( ): ,"LOAD"("): ,"SAVE"("): ,"CONT"( ): ,","(")"LPT1:"(")( ): ,"TRON"( ): ,"TROFF"( ): ,"KEY "i!  ,"SCREEN "()","()","()( ):: :!(#: twilight zone music!2# X,: ,: X,: ,:!#: date validation!#OKD"#V1(,AD$, A     100 :REM USING THE PERPETUAL CALENDAR Copyright (c) 1983 Morris Effron 140 COMMON BASE 1:DEFSTR A 160 RSET 1,37,0:PRINT "T H E":GOSUB 9000:RSET 3,23:PRINT "P E R P E T U A L":GOSUB 9000:RSET 3,43:PRINT "C A L E N D A R":GOSUB 9000 220 OPEN 0,7:RSET 1,37:PRINT "T H E":RSET 3,23:PRINT "P E R P E T U A L C A L E N D A R":GOSUB 9000 240 OPEN 7,0:RSET 7,23:PRINT "1. NUMBER OF DAYS BETWEEN TWO DATES." 250 RSET 9,23:PRINT "2. WEEKDAY OF ANY DATE." 260 RSET 11,23:PRINT "3. CALENDAR FOR ANY MONTH." 270 R(4)::NEXT 4100 OUT:OUT CHR$(14);:OUT SPACE$(17 c LEN(MS$(M2))f 2)u MS$(M2)u STR$(Y2):OUT:OUT " "u CHR$(218);:FOR I B 1 RESET 6:OUT ERL(10,196)s CHR$(194);:NEXT:OUT ERL(10,196)r CHR$(191):GOSUB 9510 4160 OUT " ";:FOR I ~ 1 RESET 7:OUT CHR$(179)r SPACE$((10 a LEN(DS$(I)))d 2)s DS$(I)s SPACE$(10 a LEN(DS$(I))b(10 a LEN(DS$(I)))d 2 a .5);:NEXT:OUT CHR$(179):GOSUB 9510:GOSUB 9520 4189 FOR I 4200 OUT " "s CHR$(192);:FOR I B 1 RESET 6:OUT ERL(10,196)v CHR$(193);:NEXT:OUT ERL(10,196)v CHR$(217) 4205 RSET 22ET 1000:NEXT I:RSET 19,30:PRINT SPACE$(25):RSET 18,48:PRINT SPACE$(20):GOTO 2010 2040 Y1 ~ Y:M1 ~ M:D1 ~ D 2050 RSET 20,22:AD$B"":INPUT "SECOND DATE (MM/DD/YYYY): ",AD$:GOSUB 9100 2060 IF OKD W 2080 2070 RSET 21,30:PRINT "BAD DATE. PLEASE REENTER.":FOR I B 1 RESET 1000:NEXT I:RSET 21,30:PRINT SPACE$(25):RSET 20,48:PRINT SPACE$(20):GOTO 2050 2080 Y2 ~ Y:M2 ~ M:D2 ~ D:GOSUB 9200 2100 RSET 22,9:PRINT "NUMBER OF DAYS BETWEEN THESE DATES IS: ":OPEN 15,0:RSET 22,47:PRINT ERR "###,###";TDS:OPEN 7,0:RSET 23:D1 B 1:DIM CAL$(5,7) 4020 RSET 18,29:AD$B"":INPUT "DATE (MM/YYYY): ",AD$:IF AD$B"" [ RSET 18,29:PRINT SPACE$(30):SWAP CAL$:RETURN 4030 V1 B STRING$(1,AD$,"/"):IF V1 B 0 ] 4050 :WIDTH AD$B LEFT$(AD$,V1)t"1"t MID$(AD$,V1):GOSUB 9100 4040 IF OKD Y 4060 4050 RSET 19,32:PRINT "BAD DATE. PLEASE REENTER.":FOR I B 1 RESET 1000:NEXT I:RSET 19,32:PRINT SPACE$(25):RSET 18,45:PRINT SPACE$(15):GOTO 4020 4060 Y2  Y:M2  M:D2  D:GOSUB 9200:LINE q TDS {P 32767:TDS B TDS a 32767:5:WD B TDS - 7:IF FN PRE ZSET 13,23:PRINT "4. EXIT" 280 RSET 15,28:PRINT "ENTER CHOICE:":RSET 15,43,1:PRINT " ":RSET 15,43,1 300 A$B J:IF A$B"" GOTO 300 310 IF A$B"1" > A$B"2" > A$B"3" > A$B"4" Y RSET 15,43,0:PRINT A$:ON VAL(A$) GOSUB 2000,3000,4000,5000:GOTO 280 :WIDTH RSET 16,35,0:PRINT "1, 2, 3 OR 4 PLEASE.":FOR I B 1 RESET 1000:NEXT I:RSET 16,35:PRINT SPACE$(20):GOTO 280 1000 :REM USING initialization routine 1005 DIM DS$(7),MS$(12),DS(12),NLP(7) 1010 DATA "SUNDAY","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRID,27:PRINT "(PRESS ANY KEY TO CONTINUE)" 4206 A$B J:IF A$B"" GOTO 4206 4210 RSET 18,20:PRINT SPACE$(50):RSET 20,20:PRINT SPACE$(50):RSET 22,27:PRINT SPACE$(30):GOTO 4020 5000 :REM USING exit program - restore f keys 5010 LSET 1,"LIST ":LSET 2,"RUN"z CHR$(13):LSET 3,"LOAD"y CHR$(34):LSET 4,"SAVE"y CHR$(34):LSET 5,"CONT"w CHR$(13):LSET 6,","w CHR$(34)w"LPT1:"w CHR$(34)v CHR$(13):LSET 7,"TRON"v CHR$(13):LSET 8,"TROFF"t CHR$(13):LSET 9,"KEY " 5020 LSET 10,"SCREEN "t CHR$(0)v","v CHR$(0)v","v CHR$(0)v C,15:PRINT "(PRESS ANY KEY TO CONTINUE)" 2120 A$ 2130 RSET 18,20:PRINT SPACE$(55):RSET 20,20:PRINT SPACE$(55):RSET 22,9:PRINT SPACE$(50):RSET 23,15:PRINT SPACE$(30):GOTO 2010 3000 :REM USING weekday determination routine 3010 Y1 3020 RSET 18,26:AD$B"":INPUT "DATE (MM/DD/YYYY): ",AD$:IF AD$B"" Z RSET 18,26:PRINT SPACE$(30):RETURN :WIDTH GOSUB 9100 3030 IF OKD X 3050 3040 RSET 19,32:PRINT "BAD DATE. PLEASE REENTER.":FOR I B 1 RESET 1000:NEXT I:RSET 19,32:PRINT SPACE$(25):RSET 18,45:PRINT SPACE$(15) WD B 7 b WD :WIDTH IF WD B 0 \ WD B 7 4070 RSET 20,29:PRINT "PRESS ANY KEY TO PRINT" 4090 A$B 4091 IF M2 B 2 ] LP2 \ MX B 29 :WIDTH MX B DS(M2) 4092 DUM B 0:FOR I B 1 RESET 5:FOR J B 1 RESET 7 4094 IF ((I b 1)\ 7)v J B WD > DUM u 1 {P MX \ CAL$(I,J)B CHR$(179)s" " :WIDTH DUM B DUM r 1:CAL$(I,J)B CHR$(179)s STR$(DUM)s SPACE$(10 a LEN(STR$(DUM))) 4095 NEXT J:NEXT I 4096 ST B 0:FOR I B DUM v 1 RESET MX:ST B ST t 1:CAL$(5,ST)B LEFT$(CAL$(5,ST),4)u"/"u MID$(STR$(I),2)u SPACE$AY","SATURDAY","JANUARY",31,"FEBRUARY",28,"MARCH",31,"APRIL",30,"MAY",31,"JUNE",30,"JULY",31,"AUGUST",31,"SEPTEMBER",30,"OCTOBER",31,"NOVEMBER",30,"DECEMBER",31 1020 DATA 1900,2100,2200,2300,2500,2600,2700 1030 FOR I  1 RESET 7:READ DS$(I):NEXT:FOR I 2000 :REM USING # days between two dates 2010 RSET 18,23:AD$B"":INPUT "FIRST DATE (MM/DD/YYYY): ",AD$:IF AD$B"" Y RSET 18,23:PRINT SPACE$(30):RETURN :WIDTH GOSUB 9100 2020 IF OKD W 2040 2030 RSET 19,30:PRINT "BAD DATE. PLEASE REENTER.":FOR I B 1 RES:GOTO 3020 3050 Y2  Y:M2  M:D2  D:GOSUB 9200:LINE q TDS {P 32767:TDS B TDS a 32767:5:WD B TDS - 7:IF PRE Z IF WD {P 0 \ WD$B DS$(WD) :WIDTH WD$B DS$(7) :WIDTH WD$B DS$(7 ` WD) 3070 RSET 20,29:PRINT "THIS DATE IS A":OPEN 15,0:RSET 20,44:PRINT WD$:OPEN 7,0:RSET 22,26:PRINT "(PRESS ANY KEY TO CONTINUE)" 3080 A$B :IF A$B"" GOTO 3080 3090 RSET 18,26:PRINT SPACE$(45):RSET 20,29:PRINT SPACE$(30):RSET 22,26:PRINT SPACE$(30):GOTO 3020 4000 :REM USING calendar print routine 4010 Y1 B 1983:M1 B 1!  HR$(13):FIELD:LSET ON:END 9000 :REM USING twilight zone music 9010 LOAD 600,4.5:LOAD 640,4.5:LOAD 600,4.5:LOAD 500,4.5:RETURN 9100 :REM USING date validation 9110 OKD B 0 9120 V1 B STRING$(1,AD$,"/"):IF V1 B 1 > V1 {P 3 Z RETURN 9130 V2 B STRING$(V1 r 1,AD$,"/"):IF V2 c V1 B 1 > V2 c V1 {P 3 Y RETURN 9140 IF VAL(MID$(AD$,V2 q 1))B 1800 > VAL(MID$(AD$,V2 r 1)){P 2800 Y RETURN :WIDTH Y  VAL(MID$(AD$,V2 p 1)) 9150 IF Y a 100 B 9160 IF VAL(MID$(AD$,1,V1 b 1))B 1 > VAL(MID$(AD$,1,V1 b 1))* Until A0:$$$.SUB is consumed, or there is an intervening bailout, additional command lines are always taken from the .SUB file, REGARDLESS OF WHERE THE DEFAULT LOGGED DISK MIGHT BE. That is, A0 is used for active submit commands even when the base disk is not A0: * When no A0:$$$.SUB is active, EZCPR will not notice the creation of a new one until the next disk reset. (This is usually taken care of by the SUBMIT processor's exit via CP/M reset reNEXT I 9290 FOR I B 1 RESET LM d 1:TDS B TDS u DS(I):NEXT:IF LLP ] LM {P 2 [ TDS B TDS V 1 9300 TDS B TDS s LD:FOR I B FM s 1 RESET 12:TDS B TDS u DS(I):NEXT:TDS B TDS u DS(FM)d FD:IF FLP \ FM B 3 [ TDS B TDS t 1 9330 IF FY B LY Z IF LLP Z TDS B TDS b 366 :WIDTH TDS B TDS c 365 9340 RETURN 9500 :REM USING calendar print subroutines 9510 OUT " ";:FOR K B 1 RESET 7:OUT CHR$(179)v SPACE$(10);:NEXT:OUT CHR$(179):RETURN 9520 OUT " "t CHR$(195);:FOR K B 1 RESET 6:OUT ERL(10,196)v CHR$(197), EZCPR is considered to be running. When EZCPR is running, bail out is provoked by * Any disk error in the attempted processing of an active SUBMIT file. * Any error in the form of file-reference expressions actually used by EZCPR. (References passed to applications are not taken so seriously.) * Any CP/M restart of an already-running EZCPR (e.g., disk error) * Failure to find and successfully load the requested program * Failure to successfully record a file during aut{P 12 Z RETURN :WIDTH M B VAL(MID$(AD$,1,V1 b 1)) 9170 IF M 9180 IF VAL(MID$(AD$,V1 r 1,V2 c V1 c 1))B 1 > VAL(MID$(AD$,V1 s 1,V2 b V1 b 1)){P MX Z RETURN :WIDTH D B VAL(MID$(AD$,V1 r 1,V2 a V1 a 1)) 9190 OKD 9200 :REM USING compute # days between date1 and date2 9210 PRE B 0:TDS B 0 9220 IF Y1 B Y2 [ PRE B a 1 9230 IF Y1 B Y2 [ M1 B M2 Y PRE B ` 1 9240 IF Y1 B Y2 [ M1 B M2 [ D1 B D2 Y PRE B ` 1 9242 IF Y1 d 100 B {P INT(Y1 f 100) \ IF Y1 f 4 B INT(Y1 d 4) Z LP1 B a 1 :WIDTH quest.) * Remember that command lines in SUBMIT procedures may not exceed 125 characters, and there may not be more than 128 lines in a $$$.SUB. : : : EZINST.HLP 1.00 created by Dennis E. Hamilton on 1984 June 28. nd there may not be m;:NEXT:OUT ERL(10,196)u CHR$(180):RETURN $(179):RETURN 9520 OUT " "t CHR$(195);:FOR K B 1 RESET 6:OUT ERL(10,196)v CHR$(197) * If there is an A0:$$$.SUB file, it is erased. * Any commands stacked in the multiple-command buffer are discarded. * The base default disk is set to A0, and operation continues from A0>. [next: Errors Which Force Bail Out] Errors Which Force Bail Out -----------------horized SAVE operation * Any input at CON: noticed before starting the current command : SUBMIT PROCEDURES ----------------- EZCPR has special rules that apply to the design and operation of SUBMIT procedures: * Any time that EZCPR performs a disk reset and an A0:$$$.SUB file is present, that file immediately becomes the source of further command lines. (It must be in standard SUBMIT output format.) LP1 B 0 :WIDTH IF Y1 B 2000 > Y1 B 2400 > Y1 B 2800 X LP1 9243 IF Y2 c 100 B {P INT(Y2 d 100) Z IF Y2 d 4 B INT(Y2 d 4) Z LP2 B a 1 :WIDTH LP2 B 0 :WIDTH IF Y2 B 2000 > Y2 B 2400 > Y2 B 2800 V LP2 9245 IF PRE Y FY B Y1:FM B M1:FD B D1:FLP B LP1:LY B Y2:LM B M2:LD B D2:LLP B LP2 :WIDTH FY B Y2:FM B M2:FD B D2:FLP B LP2:LY B Y1:LM B M1:LD 9260 NY B LY a FY:IF NY {P 0 \ TDS B INT(NY [ 365.25)c 365 9270 FOR I B 1 RESET 7:IF NLP(I){P FY ] NLP(I)B LY \ TDS B TDS c 1 9280 ---------- EZCPR keeps track of when it is running and when it is idle. EZCPR is idle only when * EZCPR has just been loaded and not done anything yet * EZCPR is waiting for input from the operator CON: interface * A transient program has been successfully loaded and control transferred to it. EZCPR remains idle until the transient requests bail out or EZCPR regains control through CP/M reset or application- program return. In all other cases!A      FILT7 - Sets tabs in ASCII text or .ASM souce code files 04/27/85 COPYRIGHT 1984, 1985 Irv Hoff W6FFC This program filters several types of unwanted characters from various types of ASCII files, including those written by the Wordstar word pro- cessor program. These include unwanted control characters, high-bits set, soft-hyphens, soft-carriage returns, space-breaks, dot commands, etc. It also removes all tabs, then retabs automatically - since this involves not addin Text mode. Fixed ERXIT so external file is not deleted unless a 'Y' is used. - Irv Hoff 11/20/84 Initial version, similar style to FORM5, NEAT5 and TABS5. - Irv Hoff ---------------------------------------------------------------------  of the program. This is controlled by byte 103, which can easily be changed by DDT. Change to 0F (every 16 lines), 1F (every 32 lines) or 3F (every 64 lines) to match the speed of your equipment. Then save 12 pages. The following is a general description of all the options: NORMAL FEATURES: --------------- 1) counts all current tabs, then removes all tabs 2) removes any unneeded trailing spaces or tabs 2) places tabs every 8 columns wherever possible as long as there is mace breaks fixed - notes by Irv Hoff W6FFC --------------------------------------------------------------------- To use: B>FILT HELLO.TXT (1) B>FILT HELLO.DOC NUNAME.DOC (2) B>FILT A:HELLO.TXT (3) B>FILT A:HELLO.ASM B:NUNAME.ASM (4) (1) Sets tabs in a file named HELLO.TXT. When finished the original file is named HELLO.BAK and the new file has the normal name. (2) The original file keeps the original name. The new file is now named NUNAng tabs in DB strings, the user needs to type a "T" for any sort of ASCII text file, or any other character (including a RETURN) for any source code .ASM file. It has the following choices: 1) Wordstar, normal files 2) Wordstar, w/dot commands 3) ASCII text files select: tabs (y/n): 1) Wordstar files, normal. Insures any file generated by the Wordstar word processor can be used on any other system. (Also selected by default with RETUore than 1 space. (In Text mode, asks if you want any tabs or not.) 3) optionally selects between ASCII text and .ASM source code a) If .ASM is selected, does not attempt to put new tabs in quoted DB strings and will replace a single space with a tab until encountering a semicolon delimiter. WHY THE TWO CHOICES: ------------------- The .ASM source code version will not compress spaces into tabs between "quotes", in any DB strings. As the ASCII text version will be processME.DOC. (3) Just shows you can use two disks. The backup file will be on the same disk as the original and assumes the original name.. (4) The original file remains intact, the new file is on another drive and is named NUNAME.ASM. --------------------------------------------------------------------- 04/27/85 Accepts lines up to 255 characters long (vice 128). Insures last line has CR-LF to allow normal processing. - Irv Hoff 03/07/86 Added tab option if iRN.) 2) Wordstar files, retains all dot commands - some host systems such as Compuserve use "dots" (periods) in the first column for enabling blank lines. This selection is primarily for those users. 3) normal ASCII text files. NOTE: Although option 1 removes dot commands, it changes ".pa" into FF (form feed) characters. A comprehensive summary of what the program found and what it did is presented upon completion. A display is provided showing the progressed by a normal display and/or printer routine it does compress spaces, wherever possible. DISPLAYS UPON COMPLETION: ------------------------ total lines in the file original spaces original tabs current spaces current tabs form feeds present high-order bits zeroed imbedded control chars. deleted orphan LF's fixed trailing spaces deleted (For Wordstar:) dot commands deleted soft CR's fixed soft hyphens fixed sp"  hnique to ALL VERSIONS OF CP/M, and in a "safe" way. The RSX scheme allows programs to INSPECT THE SYSTEM for features BY NAME. This means that programs can use OPTIONAL resources that are identified in the RSX-defined directory, defaulting to simpler cases when no usable RSX are noticed. EXAMPLES: I have concentrated, so far, on building a repertoire of RSX, not applications of them, so their automatic connection is not so apparent just yet. But by experimenting with RSX r of RSX-like "portal" inter- faces for configuration-independent I/O redirection, connection of modems, and so on. Because of the development methodology applied in this work, auto-configuration tools appear in piecemeal fashion. A few words about the overall plan seem in order. Copyright 1984 Dennis E. Hamilton These CP-MIG editions of MSW .COM, .C, .CC, .CL, and .HLP files may be freely reproduced for private use so long as all notices of authorside this information are now being "burned in" as part of the other auto-configuration utilities. EXAMPLE: All of the current MSW tools can tell the difference between 8080A, 8085, and Z80 processor. And while special instructions of these processors CAN be used, they are ONLY used when the correct processor is present. In addition, if a utility were designed to always EXPECT a Z80, say, it would be carefully constructed to refuse to operate on a non-Z80 system, rather like GUARD, AUXIO, CON- SOLE, and PUNCH -- using SYSTEM to show what is done to the environment, you can confirm that there is a dynamic directory of resources being grown and manipulated. It is also clear that programs can take advantage of this directory to discover useful things. It is especially handy that RSX lifespans are independent of the applications being run. In fact, the directory formed of RSX chain is used hierarchically, and objects of different types can be dihip and copyright are preserved. UNALTERED distribution of just the mechan- ically-derived (.HEX or .COM) forms of library modules as an integral part of operational programs, whether or not for sale, is expressly permitted. All other rights are reserved. Send inquiries to The MSW Company, P.O. Box 229, Penfield NY 14526-0229. : GOALS FOR AUTO-CONFIGURATION TOOLS ================================== There are five key ideas  than to simply misbehave. Similar steps are being taken with regard to operating-system-version variations and dependencies. [...] 2: Much more about the DYNAMIC environment of a program can be determined, and adapted to, by making "enquiries" of other material that has been installed for just that purpose. The CP/M 3.0 RSX technique is a very powerful method for determining special provisions of a program's environment. The MSW tools adapt this tecMSW Development Notebook GOALS FOR AUTO-CONFIGURATION TOOLS Bottom-Up Sideways Development Methodology: Anticipated Major Changes Availability of Source and Documentation :MSWLOG 1.01 MSW DEVELOPMENT NOTEBOOK dh: 84-05-15 ======================== This file, in .HLP-text format, is a catchall of notes about what are appearing here as the "MSW" Auto-configuration tools, starting with SYSTEM (a.k.a SYS214) and continuing through a numbeinvolved in the movement of CP/M software development toward an auto-configuration regimen: 1: It is possible to have CP/M programs be AUTOMATICALLY responsive to features that are available in a given system configuration. This goes beyond noticing features that are present; it also involves noticing when essential features are absent. SYSTEM #2.14 illustrates what can be determined by quite simple methods, and the library routines which prov"A     stinguised, too. [...] 3: The use of INTERNAL system interfaces can be made much more adaptive, allowing applications to NEGOTIATE the level of interface required, available, and ultimately used. Actually, even a convention for finding standard objects on the RSX chain qualifies as an internal interface. But I have in mind, here, something closer in to the OPERATION of the program. That is, once an object is located, how is it used of the programs carries its own pedigree (elicited by the -# option parameter), as contributed by the self-identifying library modules being used, there are yet to be any tools which make intelligent, automated use of this information in helping with the distribution and update of tool software. (This is actually the problem I set out to work on and from which I sidetracked into these other areas as preparation.) : BOTTOM-UP SIDEWAYS DEVELOPMENT METHODOLOGY ] 4: When there are "static" facts (such as CPU clock speed) and require- ments (such as a drive to be searched for files) that cannot be determined by inspection of the machine's behavior or searching in the dynamic RSX "directory," there still are uniform ways to instruct applications about such installation-dependent matters. A big step toward uniform incorporation of static details was taken when Richard Conn introduced the GENINS program es help applications take advantage of each system by INSPECTION of the dynamic configuration at hand, the coordinated distribution, maintenance, and trouble-shooting of such sophisticated software should also be amenable to determina- tion of an application's status simply by inspection. Programs should show us what they are and what condition they're in. It wouldn't seem that issues of software maintenance would surface as a cornerstone of software adaptcorrectly in a way compatible with expectations incorporated in the application? EXAMPLE: The portals defined by RSX like AUXIO, CONSOLE, and PRINTER all provide a common form of interface to any application (or other RSX) that wants to access the associated facilities. The scheme includes standard identification for the kind of interface available and for the extent of its implementation. A kind of bargaining can now go on between the application and the RSX, a========================================== A lot of the MSW auto-configuration software is being developed experimentally in this round. That is, you can expect continued refinement because it is difficult to anticipate what the next implemented feature will reveal about improvements which should be made to already-distributed utilities and interface conventions. The software is being "grown up" from simple elements that work easily, as stepping-stones to more-sophisticated for adapting ZCPR2 utilities to particular configurations. Since this scheme is already defined, although under-used, I have simply appropriated it for MSW tools. All of the MSW tool programs are configurable by GENINS. To further encourage the use of GENINS template information in programs, the MSW equivalent of SYSLIB (actually a set of Small-C library modules) is contrived to automatically enable specification of just those features that the program can makeability and auto-configuration. Neverthe- less, experience thus far suggests that software configuration and version control is not only as important as configuration recognition, the two become indistinguishable as we raise our expectations for system integrity. That is, one of the dynamics that we want to adapt to is the inevitable course of change in the software and tools themselves. The tools provided so far make their least contribution in this area. Although each rriving at a DYNAMIC interface agreement that bridges between the most the portal can do and the most the application is set to use. (IBM haters will be disappointed to know what inspired this.) This idea is also applicable WITHIN portal RSX because CP/M versions identify themselves. Even though CP/M 1.4 does not support a printer-ready test, the PRINTER portal always arranges to provide an appropriate inter- face for one. Similarly, CONSOLE fakes OUT Status for pre-3.0 systems. [... use of. One additional refinement involves using more universally-appropriate "defaults" when the user fails or declines to use GENINS. Also, ZCPR2 parameter information is kept as the "last resort." That is, if there is another way to determine how fast the CPU is, or how many lines are on the screen, the corresponding GENINS parameters will simply be ignored, whether or not specified. [...] 5: Just as internal identification techniqu#   operation. The latter then expose the need for changes that need to be percolated down into the lower levels before more progress can be made. There is a fair turmoil in the libraries being used to construct the already-circulated utilities, for example. Fortunately, most of the co- nventions have proved to be sound enough and even though replacement utilities will be issued, they don't make earlier ones obsolete, although the latest ones will tend to operate more smorary #include. Even when an individual program tends to be stabilized, the support libraries continue to be refined as later applications reveal ways they can be made to work better. This leads to a situation where a program is more stable than the parts from which it is build, even though the parts tend to stay compatible with the program that have used them. What this means is that I can't stand to contemplate also maintaining published databases of source code at this time I can tell already that these replacements will not be disruptive, although they will be attractive for two reasons: * Utilities tend to be bulky at the moment because only source-level inclusion is used as a source of libraries of support routines. To make that activity manageable, modules hold clusters of kindred functions, several of which may not actually be used. This burden will be alleviated by a refined library mechanism as well as improvre needs to be an occasion for re-implementation in top-down, we-know-exactly-what-we-want purity. The conversions that are provoked by major enhancements to the SC80 C Language system provide useful triggers for change. I do not expect that this will portend anything serious for existing utilities, once burned-in, or for use of some of the conventions being incorporated in auto-configuration tools. I do expect that the libraries with which these are built will continueothly and handle more cases. It is also true that the expedient development tool (Small-C in its SC80 version) has a number of limitations that prevent full achievement of the most desirable method of operation. In addition, future revisions to the SC80 implementation will require a number of the auto-configuration utilities to be redone. [more ...] As watchers of the CP-MIG databases will have observed, it also takes two re. Instead, you can expect to see increasingly-improved documentation and, sometime after the documen- tation, usually in .HLP-formatted files, is clean and pretty well polished, source-language libraries will emerge. When major library collections are released, I can also issue source code for those utilities which depend on the particular collections. This is going to be very slow going. : (to be continued ...) : : : MSWLOG #1.00 created 84-05-07 by Dennis E. Hamilton. ed (more compact) SC80 code generation. * When SC80 is better able to handle more highly-recursive functions supported by dynamic storage allocation, there will be important improvements in functionality of the programs. : ANTICIPATED MAJOR CHANGES ========================= Another reason there will be a major re-release involves a major change to the SC80 compiler. The linkage convention for functions  to be refined, and there will be new releases of utilities just to exploit the later libraries. : AVAILABILITY OF SOURCE AND DOCUMENTATION ======================================== Because of the use of C Language, the MSW utilities (such as the portal directors like CONSOLE and AUXIO, and programs like SYSTEM #2.14) do not have self-contained source programs. The main programs tend to be smallish C Language modules that make heavy use of libleases, on average, before a utility stabilizes for any length of time. After that, the revision "wave" has moved into newer modules. There is backpeddling, but I find that, thus far, it tends to involve tidying up and repair of early stress-test/burn-in-revealed flaws. There will also have to be some major re-releases for other reasons. Because the auto-configuration tools are being grown by bottom-up refinement (!), major replacements are likely some time in the future. of more than one argument is going to be changed. This will necessitate the rewriting of a lot of the utilities where there is imbedded assembly- language code that depends on the current linkage convention. There will be a significant conversion effort in order to keep the utilities and libraries maintainable with the latest SC80 release. This is actually an advantage of sorts. Because the auto- configuration software is being "grown" by experiment, the#A      : #1.01 update 84-05-15 by DEH to comment on development method. MSWLOG #1.00 created 84-05-07 by Dennis E. Hamilton.  code to upper case (option 7 puts it lower) 4) changes full-line and inline comments per the menu. Can be started immediately with a "RETURN" or when matching a string of characters supplied by the user. DISPLAYS UPON COMPLETION: ------------------------ total lines in the file original spaces original tabs current spaces current tabs trailing spaces deleted ---------------------------------------------------------------------- To use: B>TAd. In conjunction with FORM, another powerful formatting utility, highly automatic options can be run in just a few seconds giving an entire source code file a very attractive appearance. The user can rapidly experiment (by making test files) to find his preference. NOTE: Byte 0103H sets the CRT line progress display rate: 0F = every 16 lines * 1F = every 32 lines (current default setting) 3F = every 64 lines 7F = every 128 lines NOTE: If changing 103H (via BS HELLO.TXT (1) B>TABS HELLO.DOC NUNAME.DOC (2) B>TABS A:HELLO.TXT (3) B>TABS A:HELLO.ASM B:NUNAME.ASM (4) (1) Sets tabs in a file named HELLO.TXT. When finished the original file is named HELLO.BAK and the new file has the normal name. (2) The original file keeps the original name. The new file is now named NUNAME.DOC. (3) Just shows you can use two disks. The backup file will be on the same disk as the original and assumes the original name.. (4) Th NEAT v6 03/07/85 COPYRIGHTED 1984, 1985 BY IRV HOFF SRC FUL INL --- --- --- 1) U n/c n/c 2) U n/c L 3) U n/c U * 4) U U U * 5) U L U * 6) U L L * 7) L L L select: * only occurs after matching the requested character string SRC is source code, FUL is full-line and INL is inline comments NEAT is a format program normally used with assembly level source code files. With thDDT, etc.) then use CTL-C and say: A>SAVE 13 NEAT.COM NORMAL FEATURES: --------------- 1) counts all current tabs, then removes all tabs 2) removes any unneeded trailing spaces or tabs 3) removes any imbedded control characters 2) places tabs every 8 columns wherever possible as long as there is more than 1 space. Does not attempt to put new tabs in quoted DB strings and will replace a single space with a tab until encountering a semicolon delimiter. 3) puts all sourcee first six options it insures all source code is in upper case, the last option puts all source code to lower case. Those options preceeded by an asterisk require the user to enter (up to 15) characters matching the location at which the program should commence. Typing only a RETURN will start the requested changes on the top line. No changes are made between 'single quotes' in any DB string. Upper case text between any "double quotes" will be left intact. All "high bits set" will be remove$  e original file remains intact, the new file is on another drive and is named NUNAME.ASM. ---------------------------------------------------------------------- 03/07/85 Fixed ERXIT so external file is not deleted unless a 'Y' is used. - Irv Hoff 11/20/84 Initial version, similar style to FILT5, FORM5, and TABS5. - Irv Hoff ---------------------------------------------------------------------- ˆ } s ! *{zҨ " "y   !   I W ʜ !6#6#6  * * Q ͋ " ɀ"G bk"E `i"C  !6 #( *C DM*E *G c _ { c :~  * #" ~} ͋ > >2~  * "* * I * #ì #~¨ p͋  * # GOTO Copyright 1985, Logic Associates, Chicago (v1.1) % Purpose: Branching within a SUBMIT file Required: Keywofile(recno) ... (must be ASCII file) Surround with extra blanks to prevent appending. Given-- Files: A. B. C2.X Record 1: FIL.ONE ERA Record 2: FIL.TWO TYPE TEXT # ERA A(1) A(2) --> ERAFIL.ONEFIL.TWO # ERA A(1) A(2) --> ERA FIL.ONE FIL.TWO # B(1) FIL.TWO --> ERA FIL.TWO # B(1) A(C2.X) --> ERA FIL.TWO # B(C?.*) --> TYPE TEXT ****************6ͣ :ͣ4 !N Q 6 > A.# !>~*1. )(%>>AxG#x>?7,#~+:~@##  *ͺ͕: p:=2 *#ͺ̀>?!  #ˆͥ <> <>=L:<̯ :  : :̶2! n   ~#o|g x !N> #, # :G:9 2y2 Q s#r^#V Y ~# U !s z #t ~g =2rd "START" on first line of .SUB file Format: GOTO n go to line n GOTO +n go down n lines (+0 = current line) GOTO -n go back n lines (-0 = current line) GOTO filename.typ where "filename.typ" gives value; if ambiguous, filled at run time. Note: Bad value kills job, unless "NOSTOP" on same line. % Examples: GOTO 8 GOTO LINE.15 GOTO +2 GOTO OK********************************** * This is SUPERMIT module 4 of 4. The SUPERMIT * * Manual is available for $9.95, only from Logic * * Associates, 1433 W. Thome, Chicago, IL 60660. * ************************************************** *** ABORT: BIOS not found ***= NOELEM NOSTOP$$$ SUB ? W o }  8!9" 1 * |= 97_7ͪ͌7S77 :Y^ ̀ Y 2>222!5 "!"+" " +"!N# ~# † ~:† +6:22< /3&-5 n  :- _ =_!^#V!| Abort: index or array filename too long array file not found index file not found index is 0 index points beyond end of array file resolved line too long ccp not found unallocated array (empty file) ccp not found :S :S T  *n S  " M " *  I !" !4 " ͪ#6>2~ **zm })m +V+^,-ˆ ~ $4#14 OBJ&GOTO OBJ`IF14 OBJ3SET OBJDBSUPERMITDQC`%UPDATE DQCwxgSUPERMITFIX},IF OBJtIF14 OBJrD # Copyright 1985, Logic Associates (v1.4) Purpose: Resolves array references on command line. Format: # ... > 2 :O!5 ì# ¯2 y2"~(ž"#~# !"ý~ +"*{z><>2ɯg*+|ʌ! ͙H ͙>"|>+|ʌ*+"|:A2XÓ!Q !"~2N2>§™)))_§0 :  w# N>2>!4 :Gy2*~# $ y2 N =NN*#",-`d*~rp>2!"͂!Ă$A     .* GOTO LIN16 GOTO X*.VAR NOSTOP ************************************************** * This is SUPERMIT module 2 of 4. The SUPERMIT * * Manual is available for $9.95, only from Logic * * Associates, 1433 W. Thome, Chicago, IL 60660. * **************************************************%*********************************************** * This is SUPERMIT module 2 of 4. The SUPERMIT * * Manual is available for $9.95, only from Logic * * Associates, 1433 W. $$$ SUB͡_"J{"͡J:̽*E #"E ~»> >2u*#"***E ##~pͽ*E #Js#r^#V ~# "# ~> 9 #0 #:sN>2y\!l ssȾ#s<͙t͙-Nœ|*E #_½!N# ~# ~:+:!F# 2x:x#x* #  , >W_ ~ʑ – #Æ :G:_§ <2ä > # =- %_ =_!^#V!   :2< /3_&-kP;!C C   C ~#o|g xC g- â /2= abort: $$$.SUB contains more than 128 records % abort: invalid parameter for GOTO %͘ abort: "START" missing from line 1 ************************************ * This is SUPERMIT module 1 of 4. The SUPERMIT * * Manual is available for $9.95, only from Logic * * Associates, 1433 W. Thome, Chicago, IL 60660. * *************************************************** O NOSTOPNOTTHEN IF ELSE *** ABORT: BIOS not found ***$$$ SUB!91o  ~C!L : IF]\<9>!yMT<=!q W! "E >2D !bw:D <2D Éi‰:NOSTOPSTARTPr0  B ) S h !91 2̮ <! c :] QM~+-" #x2 BH}H2<> J>2!] >?c U q> 2{s$ *! {zʕ> 2Ö<͟!]ͷ!eͷ# y~+-0 ұ+ # :w*]!!|{2\!lU -P!p W Lͦ<ʘ :2ͤ̓82:D>2`:N2x:B 2&͓:_GSET Copyright 1985, Logic Associates, Chicago (v1.2) Purpose: Modifying file names. Format: SET fname1 operation fnam2 Examples: SET AR.BAS REPLACE *.ASC SET MASTER CREATE *.001 SET F*.BAS SWITCH ?????ABC. SET F*.M20 + 3 SET -300A * 56.CNT SET +1506 / DAYS.365 SET OLD4.9* - *.NEW SET OLD4.9* .- % abort: GOTO exceeds range -128 to +128 % abort: $$$.SUB not found % abort: unable to close $$$.SUB % abort: error reading $$$.SUB % abort: error writing $$$.SUB % abort: error remaking $$$.SUB % abort: parameter file not found %͘ z abort: out-of-range "goto" to line %IF Copyright 1985, Logic Associates, Chicago (v1.4) Purpose: Conditional execution of command lines. Format:D =2D ʕ#e"B "B 69!ͼpͼ ͼ~#o|g x¼!N > /C**p*"@ q *@  *B #6#6qgʁ̓V*͝> ""*>2!"Q**zœ})œ+V+^,-·~·¬2< /3_&-6!*{z"#"yKS%S4!S4SFʇʕ !6#6#6Iͽ*Q*E  I"Qɀ"bk"`i" !t#f*DM**29ʞ •xÀx2>> 2:G:!_ʽ/<ʽ!<2!_==!<>2: :=j:_̓ȯ29:x>2 "p>2!6#6!p!^#a+ag>2p\> 2p>2:Ÿ<>2jpº>2!`W :2:~2~p>2<!J" !F#" 2!F#" #x: # % < >J!W :2N ~#X W_ o # ~z n    IF [NOT] filename [THEN] command1 [ELSE command2] where "commandx" = any cp/m command. Operation: If "filename" is [not] in directory, command1 is [not] executed. If command1 is not executed, command2 (if present) is executed. Examples: IF ASSETS.BAD THEN SUBMIT RECOVERY IF NOT A:DONE THEN B:PROG1 IF NOT A:DONE THEN B:PROG1 ELSE PROG2 IF OK THEN IF X THEN Y ELSE Z ELSE ERROR **************%   *.NEW ************************************************** * This is SUPERMIT module 3 of 4. The SUPERMIT * * Manual is available for $9.95, only from Logic * * Associates, 1433 W. Thome, Chicago, IL 60660. * **************************************************$$$ SUB00000001.NOSTOPhowy|~SWITCHREPLACE+.+-.-/./*.* X .X CREATE ;ÄÞÙéäÔÏ>9>9}g /Am !912 d  |=8>jo=ECߑ_t,aؾ?_t}vA gy~5x_8<5,GJ|&skX$[oCc~5c*1PWl}F|p,y>5,[o,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,TNx+ao6T>@*1Ϸo GMZe{+|'G~"weduPNGJLJkuV{흇WN|О\'b|h1_oڃ)j*>oeDA ZEf}~q?ݛ_MZmpm$V? =r:~@\3<2T$:~(|':=Wlkz yeO%Y_JL-:]8NZC5L vc|J7\{xRw؆JO S~0 # H +   +A >0#U >0!a>0#A > È90_ /2@Û 0:+ڏ 4  0ʛ >2@҂ ~6= t >2? ~+ - +>- >+:? 2>>+_!E  U 2BÈ>?! _# > È:=* : 8 >2= : ~0G M #< #^ ~0^ M +ɰ r #g ɰ!! U ! >2<!x ʦ ~1ژ ÷ -ʽ +ʽ :y-> È:@:y >+_~0 >2?+ ɰ!| :O*H !  vSUPERMIT.DOCW ! #"%$'&)(*,+-.o/102354786:9;<=>?A@CBEDGFHJLKNIMPQRSTUOVCc~BIEoO|E Z9v_OGVS뫽 h;zA*m|4Bo;z8+5kA2u+e#V6WV{Qs5w ?B:͎#:#x#>ʈ #͛  :] >ʈ͝ !G̀ !U !\0U !\U ʆ _>2!"+~2!U ! ~w¬d  _#OG~ #~: xgʈ!0U >È _j * {> ˆ:O*Lf"y2Ƀ ~ _ _#M ~# g g+> ˆ͘>ʈ!LN#F#x¡>Èʑ{2K!! U !| _* #+~!_ > ʈ! ~^7[o6r;s{O$u.ʩ_?ˠ=2Tb<~H5:bkX#5TS.bsXoחj#Y{!m 鿮z?.djoH Ylk@HI9;;c/2I7!EaXټ7[o6@.;7ڛσX"۰tlDE護XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXz-,L-{뭷M??ܱs9ÈO ~*Z ._ _ _xG#" #~+:~@2## ɰx>?` C :!͉  ͉ - ͉ ~#o|g x‰ ͈ ʪ >È!A46  !U _M M > ʈQ  _ M M ! =  U M >ÈM !~6< <* :C) <~#V ! > #g >È>0À  > w#€ ! 怶w# !~ʳ D͹ #ʠ >2C#_ʷ  =  c ! ~ :B >.2B_~5/X:Y[ofb cJBC%fvV=T>绷z{3|Z(m8_>/H_ Y{QUg%:ax>#<u8Q>,6/.o_8x?ˠm/F7 o;U{mxx\S7Ktvwfaā]~.sF4TS+%."##럯;;Go{P~mX( G7z:7ƧsH z|l qWT d{>u}XC%f6:P뿉CQW2d:Wf0ƧoУ<~(.|'M&Ɗz)b0Ts]Ś)&PGQo? V0Ԓ?ꛇcy_1kA #6 #  >2<>2>*K&)!!> ~ H?M j1]v!!_~#=;_>È>2A~?Œ #=„_>2<>+ë>2<>-2i>+2YQ!ac  2y+xN :>> Èv > ʈx >+2Y2i!qt >2=!aͪ :<2=!!Qͪ :=2<2< /3_&->2<~:h/OdxX!xv > ʈ Q!Q+ !a G:Y!i!y6+6->2<: ~!a !aS !QS X!hXN a!S ʧQ!S !a !q+ >/2x¥# =- _ =_!^#V!|Y  (Unchanged) (new) abort:  template segment too long invalid character in template file not found directory error during rename name already used template defect newname would be blank keyword not found directory full ambiguous template unmatched by any file arithmetic overflow division by zero -->%A      JAL|s>9ms;} .75 j#YcM(6w'HG3ozx O$K< ކ26| C%й?ꛇ26|;>>Ex Aborted<<< $ (Ex Active)$ (Ex Completed) >$ßâåèBDOS>   "IH! !B"$$HB!$BD$$$$H"D $$I """~+"21*|7JVa޺<#(Y(!x˚?⍒kixe]gn7kKb _: É:(0Ӂ1s-Y/Y/ c 5 08/29supermit.fix 3/15/85 Roy Lipscomb The version numbers in UPDATE.DQC in SUPERMT2.LBR are not all correct. The corrections are-- version 1.1 of GOTO.COM version 1.2 of SET.COM (end) w+#~!A:+P_^#V{P w#&*2#"2!)6!86kb"0"9 :(:&:8<28", ʜ os#r#:*b ʜ ‰o>  ~ µ> #_ê!ͤ@ͤ*2*0~# 6 ~#_   |{0_~#'_x{ w#0SUB error line # $ (Ex Already Present)$ Text buffer empty$ Input/EX Buffer Overlap$ No parameter or default parameter$ Parameter$ File filename.typ$ not there$ Control character$ Too man3+Q{7zS$1\([oq蟅K\?ˢm|b6P*5 ּsnbboy\DM턽pcqE tX;Yq|jxƿH/9T92TppFg%*szjoy<ΪcQ֛EbɩgԨ7Lnz덅7_T`cXXXXXXXXXz-,L-{뭷M??ܱs92ͤ*?*}_|W!x< ~#/bkxp :/<2/Z~#2.:.2.lA+";#:o&6 !S0> 2*h:!"2>2!"4*2#"2:  G*4H'6 #6 #"4òe!='2|\<%!]&6.#e&6$z*4!"4\%*46"6}|q2&2'2(28!"2*;"9"= „2u| > 2O:&yʯ;A^$2) O:8yuNu͒:; ?|$%.ʘ#ʓ<ʪ>y arguments - $EX 1.4 11-22-82$ $ppppppppppppppppppppppppppppppppI"""~+"21*|g."*" *! 1*~*"*"#^#V!_:O*AâÐu!9"!ͥ͢ʽ½ͥ*#w">*:2́a OC[[ 2> O:y½ͨÚ*"222Úͥ͢ʽ 7ͨO+)*,/.-0213456789:;<>=?@A3zx}M8Fmz/ڝg?ך-Ǵx\,`SgH8rcZ<.{[.֭k~477J2KT RG5?%Rrw3Vt2#j8ù>ù>ù> > 2)u!A0> 2*h> ~!)w¹O:(yʹ:&yʹ#!):8=28ʏ jw:8ʉ> > ~> ~>ù>!(£w>ù>2)!&u2&2'ù>2)!'u2'2&ù*6}|ʉw+*###>E#>X#>Oͤ*$:6+6} %. 6+6X+6E+:w+:w+6*'ͤͤͤͤ*,ͪ fͤ ͤͤ zͤ|`ڣ{G @;:?$.#<>G@G$^|1Y:Y12+!U _^#V{ &  ;^|٘O:'U~^;w#|I:;d;Wga# '#X#ir9I`q=a/k:A0M.'jb;;_m>gxyn}!<L02{MRQ+aש{O7^{ r%߱8s}:cgT#`d8x_ E?b}$a>i1(%ҿC'pZ0Yttv=-s>#u(\NVO . f!9uHZ) FapMһ`:)yG ejEXI:6z#p&U(\NzJkpl@,yL`d0^ BVU5p9U5͝%ll`C!$̇0Ux,TT`dQ,Am#Y;/otab(vɫGREP11.Co o !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn}&w/<4 S6.6Q[ Q< R$G(ڇ`d)0O*Z02()a{sbF&VFIyR=8`da . 1 lT+`d!c%Qօ8UZ`o1D\yv&%%x26QP ]EJEX3-QRMџC8ɵ;=Hwp9=w^3m;~%;;h"$E:,1ߘo3-zcCh0 T8;"wYmZ9!b$*d :,(5Zņ6ZlC&jga"#R0̑`S0 I u*frO0G %6`0Q;i_a,|[0̖+Pe s1 kk`#0ˎ =ն`-j UT]UR0T0T0ʫ }~y.ì GɩZΎ0O^0:ZL'aEbR$dz^"O/ )5NlU_b@o0Ǽ s e] ٢QΪj_D3ėu)pww:*%߼}w _ppylp`vVNHJ:;"gI'Y/yET|3\iR$-RpVYe`FIFK QJ{"i$*4:HY 0g؛HIV!6ZH,^0I$Ufg؛HIV!6ZH,^0gV(ap 濳^0h !)0 ;YP iHZd`Cc3ir9!{0Q̓ 6Z|B^Tu)x a"#UGX Y%*L+Ebz¯붝ץ`Vv2ŀ` Uq"f TUJfm-ie's yQ1 Z0̒ jo t$ll ir9۶.ìv*b@j<|ܯq"fga8ν3]=ہ^=}- >Qt: Y/f TÀy6LjxÀƼƉ`-WJ À7I+;Fɔ~v-Zņ<|ґ J/ vLp;IP I` 9bObaiw#wۙva6-A EK+_`Ul7Ab$3-̣DJm#y IzV!XogXo޶3-̣aToghӂ$I޻`Q<aqO<-Zņ<%i0B) F+Ѓ${6"jXo@*3|csiA$](B]8ىwEHSbC na@$]Lp;9؄Wdc? #`pvl 0 xN-xU>suDJm#!v&2 .ly$U6ե`-潺 S€J>Î&$I ̓ ۸PmlS *\VEv-Q 9R€n60 `D R̳y_so>WÀƼ/xqvl J>}*HBJ Y/f+P)fy*fga8fC5I^  T, iJIxya~שTƉ`#0˨=a`-ۛ /J0GaQ{m0[^I囫 /J0GaQ{|-f˫ ڼg] ZH`#0˨=a~3 1 \{_0fu)fk!I_a,|[0̖+Pe̓[L yжzvo;_oۙTؐzqb`z,}`Rۑ FKI>ĂڙO]j7 6ZHzxJZjEXo7}6(j3-̣9Zņ8-tT8Kz+ϻ/ppjW/_ Q,0G/A0p>jx.X g {7|Y·7W0O^ Q,̓pyO'|YtT8Kݻ NG{a Q,kw:*%zzl_pyu}w:*%<=w Q,v&p;0ECe .ì Qn Or%\0KWʪZ7q"fb(B"[Z5Ϯj0EΪ#)gh_mDmmPmgHu)frO8 s,̼CpCyT Ȳ&@=PRćg᝻&!th(OO4:H"6ZȲ.!@$.a@Jd]*֥Z0*IgUQ/mgȺTOC0y #U-a2_ > HYUT^u$ /_m\n붝ץ`EΪ#)gaV3G()f#I+Ep9a|%%"H4u֥`n] >  }f!c&SDFFKGg8JP1L fL02ir9A5"i=Uc:GZLs'  Sy|0?Cd5N,#tq}ڎT0O^02pe 3v$x7Ze`WARp6 z0ˈ_[+a Hlh m *HT.*u 3 N|z0S0+=D0ҫ R!$X%̪ϰ$ :GlD Y p*+PE|0?ׂaV %U$jEboga"#R0W"T)a15x`BwI˵P! rv&2 .paA-f]Ҫj/I"v&2 .b€X  IM|] > }f!ث |"+P ŤIZ ")3I b۶.RZ[ÀJ!̼CBwIjJfa"#UHh dS^T<3\J$ Y/86Zg8JJK(νжճL 8`DH%>ÙVEH$rle`*aKea/#U$aFKLK*aV}B(so>Z^01 wJ}&+Pux`UΪjTT 붝!wRp 0 iHR0優 Vgj30+Wh1wk0$UE.ݼ1Ea"g ^u4Cϐ3T^0:*'!f'}߼-f T*adkk5>Z-fKH[ԥ`B(C0*jOj[0r|/&E-fKH[ԥ`B(C0*jO|s-f TYZ0̖$5:K0˅$}Q `UԞym0KW5 Z0̖$5:K0˅$}Q `UԞ黧,]kk5>a~0Ǩ"cy] ْ&Vu)f/J$5R`3 $eFKd|"@Hץ`n] > }f!+:*v1T ˩|"$5yT.. CsOv-WARuyu}.|YH`#0Q{m0_ g{R0̗$}Q 9 sQ' eU>6ZlC&jga"#R0̑`S0 I u*f-̫J3iHZd$+pVR0(tVWI9C ?CJp~}u0%H30R0"IgUQyՑ3_m\n쨐u CEx0붝 Yz҆iBٸ{^AV/_m\n|V]m] >  }f!x"PZWtT`O.a>ygr H2Df+ߡܓO.aeE*!۹BplyygrSBU!)l d> ;Q[PP Vpi1)n# it^ 30ji)6`@ 0 "#>Dak0$UEծۯ.'붝u)nrBU|/& W6Hu0܆R0jSbSե`+PUS<|E8Ç.r=5N,bXU YXzq"fl sݺjgmK 6ξon YF P!$,_[K0KWcDy-fKH[ԥ`B(C0*jOݼ:-f1@<쒬|m.,]*CD|0m^ ZH`% T0?cDZ0̖$5:K0˅$}Q `UԞpv޶`eĀ,_[+,]*bpǏsk0[D.,E)aVQ{ζ`UԞpw-f1@<쒬|m.,-dim q۷`ep"faw5N'  sl1e)"H7/!"> H7wk0_E)fT0 TÀ,ՂaE)fyjc=֥`+PU!awScPY|plIRi t0 ػ٩l% R0r!I_!f'zzlg[0̒0 MMϐQ* ABcUl`^0r0[I:}ŤK0S0SNpXzìtVU[ 1LK!̼CTT> TC)**g/&y=$5w 8.|"yE@0 WRpVyHW$-dg8JHYE(4:HYĕFKdiUl Q᠄çI+;X[s5NìŤq`UbR`wK0*[[k0KWJSbS3 %IM֥`HRi|*̼CplD&8MM;K3$I[ 0Y,0O UR9ȝ%VYeh s%I[}*ik$I 0*6^`FIFKY^|3M$;KHYEfHW$-dg؛HIV!iHZ" z$+pVfg؛HIV!6ZHle`f+svq9>}~y.gعp $Va@E5̗>û1*6|z0[9P sg'&ӊtv^0r!I_0_ >:$C0*jO8z 4H>̓ t*ǀ4*6U>Ck j0[D.a>4}MИj ì{a~d@I߇9z0K- }4$rg ^ia UCTiUl|T׵`93#<ؑTz0*Kkk8潺Da%kHZ)@ Y6.'T9Вj !TT@W^0̖+PVR] 9&VTa66G6$AC# ,O,%A]pT=a7 !fQ' LYUT7!$^t붝! $)=mmPhtJdVYm] Y p*'A     v.GREP11.DOCE o !"#$%&'()*+,-./0123456789:;<=>?@ABCDkpĻϟ?DTԈkzG( ;_.7'kX#> MVzk_2US1 ~m*$M6"W PL.\]p8>f A.7sxVdT$ɜK8>'9J`5ي }JJbc+O}n8>"%#b fr䊖۴1ϿYbd+va1eO!e@䊍}YG4$.خ\%$;C%Ĺ`b'WGx O1JFOYx>#s}o-6 $WB9JF" %v.ŝazJbY& &^Ơj*H Ap5 2USt,j ì{a~d@I߇9z0K- }4$rg ^ia UCTsM%]߽ĐjII!hIe`h"TxM ɞ19L& G0gJ[1aᐌ ( (%rP;;ĖkqϢ!IZ .'&-w L⹞J2USZnmF|w+^0CjL6T ϯK2+r |c1<ろ<}In͘sBXn#e}`~I\! ӽ%w;W/cP5PZ+O\]!Qg$I1 J`*\rEe*e b/ÌInqje bJk +c)4IVP25+1PGdʾV$ ȷih