IMD 1.18: 22/01/1996 4:52:14 Micro Cornucopia Kaypro User Group Disk 1 Modem Programs   åååååååååå  1-DISK DOCCRC COM CRC DOC CRCKLISTCRC D COM FLS COMBKMDM795 AQM€ !"#$%&'KMDM795 AQM€()*+,-./01234567KMDM795 AQM€89:;<=>?@ABCDEFGKMDM795 AQM HIKMDM795 COMkJKLMNOPQRSTUVWKMDM795 DOCXKMDM795 LIB€YZ[\]^_`abcdefghKMDM795 LIB ijMODEM7+ COM`klmnopqrstuvMODEM7 COMCwxyz{|}~ååKAYPRO USERS DISK FROM: MICRO CORNUCOPIA THE SINGLE BOARD SYSTEMS JOURNAL PO BOX 223 BEND, OREGON 97709 KAYPRO DISK #1 MODEM PROGRAMS ------------------------------------------------------------------------ Contributed by Wayne Campeau of Anchor Computer Systems, Seattle Washington MODEMPAT.ASM MODEMPAT.COM This program sets up the SIO (serial port) for whatever baud rate, bits per character, stop bits, and parity you need. Run MODEMPAT.COM before outputting to your printer or whateverMODEM7 DOCS€�‚ƒ„…†‡ˆ‰ŠMODEMPATASMC‹Œ�Ž��‘’“MODEMPATCOM^”•–—˜™š›œ�žŸREADME TXT SQ/USQ DOC¡¢SQ COMj£¤¥¦§¨©ª«¬­®¯°TERM DOC ±²TERM MAC³´µ¶USQ COMO·¸¹º»¼½¾¿Àåååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååå to be compatible. Most data communication by phone is 8 bits/char, 1 stop bit, no parity bits. 300 baud is standard for the slow modems, 1200 baud is becoming more and more available so it is often worthwhile to pick up a fast modem if you are planning to do much data transfer. MODEM7+.COM This is MODEM7.COM with the MODEMPAT added so you can select the correct communications interface each time you enter MODEM7. MODEM7.COM MODEM7.DOC The original MODEM7 configured for the KAYPRåå  O. You set the baud rate before you enter this version of MODEM7. ------------------------------------------------------------------------- From James Brown Grier Associate Professor at Northern Illinois University KMDM795.COM KMDM795.LIB KMDM795.AQM KMDM795.DOC This is a superset of MODEM7.COM. This program lets you set baud rate on the fly. However, it is not setup for changing the bits/char, the stop, or parity bits. Try it, this is also public domain so you can pass it arth file - !× ~·ÊÍT #ÃÍM ÍM ¯2­ 2® 2¯ 2° É!× >2Õ åÍ3áþÂo:Õ ·Â�:¸ ·ÊÍ@ ***No CRC Files found***$>·Éæþ ʉþ ʉw#:Õ <2Õ þPÚ6:Õ ·Ê.6¯ÉÍ@ Can not parse string !× ~·Ê½ÍT #ñÍM !× ÊÕ> ¾ÊÐ6 #ÂÈ6^#6!× ~·ÊéÍT #ÃÝ!¯ 4ÍM ɾÀ#x¹ÈÃñå]Í #eÍ ¯wá~·Ê ÍT #Ã>2· Í@ - Ís ÒMÍ@ File not found !° 4à >2Ò ÍoÀ:µ G:² ¸Â„:´ G:³ ¸Â„Í@ *Match* ¯2¸ !­ 4¯ÉÍ@ <-- is, was --> :´ Í) > ÍT :µ Í) ÍM ¯2¸ !® 4¯<ÉÍÀ2´ ~#þ ÊëÍ@ Not a space between CRC values¯<ÉÍÀ2µ G¯É-CATALOG???de by entering CNTL E (to leave terminal mode and display menu) R PROG.BAS (to begin receiving "PROG.BAS") When the transfer is complete, you can enter T to get back into terminal mode and look for more files or sign off etc. ENJOY! ------------------------------------------------------------- RROR++ ¯<É*² |æ€õ):¶ …oñÊ% |î g}î—o"² ÉõÍ2 ñæþ Ú; ÆÆ0ÃT ã~ÍT #~·ÂA ãÉ> ÍT > ÅÕåæ_ÕÍh ÑÍáÑÁÉ:± þFÀ{͇ɀͯ2h2|:· ·Ê² !\º  Í :\2Æ !º \ Í \ÍÃÚ !Æ \ Í \Í!º \ Í \Í<7È=懇‡‡‡Æ�o&åÇ  Í á] Í ¯2h2|2· ÉÍ ÀÍ À~æþ$#É~# x±Â ÉÑ Í:± þFÂ} *‚}æÂ= "€>õ͇ñÂ1 ]Í<Âu  ^ ÍÃu CANNOT CLOSE CRCFILE$]ÍÍ� ++ABORTED++$Ñ Í:Ò ·Ê~ ¯2± ÍM Í@ Quantity of file CRC that matched - :­ ̓ :® ·Ê ÍM Í@ Quantity of file CRC that did notound at will. Note that KMDM795.AQM is a squeezed version of the .ASM file. See below for more information on squeezing and unsqueezing files. TERM.DOC TERM.MAC This is a disassembly of the TERM program that comes with the KAYPRO. Now that you have the commented source, you can configure it for your own needs. ---------------------------------------------------------------------- From CP/M Users Group and Big Board Users Disks (The KayPro contains a very close relation of the Big BoarÍ@ ++ Now searching for "-CATALOG" file++ !õ Í ÍÂ) Í.Â) !× Íå”>.¾Â”#Íô”Í͔͡”ÍÍ›Íø›ÍøÊtþK›ÍÍ›͸›*« ÍýÃ=:¸ ·Â=Í”Ã="« Í ÀÍ ʳþ À ª~#þ.ÀÍ ÊÈþ À ¿É~þ ÊÖþ À#~þ ÊÖþ ÊÖ¿ÉÍôÀÍøÈþ.À+¿ÉÍøÀ~#þ0Úþ:Ò¿Éþ0É~#þ!ÚþÒ¿ÉþAÉÍ.ÀOÍ.ÀGy°¿É~#þ0ÚMÖ0þ ÚKæÖþ ÚMþÒM¿É·É:m2± þFÂSÄCRCKLIST$$$›Íø›ÍøÊtþK›‰, ݈ õ*€ë*‚}“|šÚù!"‚ë*€{•zœÒë*~ëÍ]Í·ÂÊ€*‚"‚Ü ÖÍñÃî DISK FULL: CRCFILE$€Í!"‚ë*~ëñÃ#CRC.COM 5.0 6/18/82CRCKFILE???!9"‡ 1‡ ÍM Í@ CRC Ver 5.0 CTL-S pauses, CTL-C aborts :]þ ÂOÍ@ ++Searching for CRCKLIST file++ÍÊÇÍ@ Now searching for "CRCKFILE" file++ ! Í ÍÂ1‡ Í.Â) F!×  ÍñÂÍ¡Â]ÍñÂ͸Â!â ÍýÃÇÍ”ÃÇÃ0CRCKLIST???CRCKFILE???!9"‡ ‰ M à*,ë*.}“|šÚ‰!".ë*,{•zœÒ{**ëÍ Í·Âu€*.".ÃG*.",€Í!".ë**ë*,}´>È*.#".ɯ22)! ",". Í<ÂÙ ÇÍÃî NO FILECRC FILE$! × Í >.Í ¯Í@ Checking wi match - :® ̓ :¯ ·ÊJ ÍM Í@ Quantity of lines failed parse test - :¯ ̓ :° ·Ê~ ÍM Í@ Quantity of file(s) not found - :° ̓ *‡ ùÉdÍ”  Í” Æ0ÃT ÿ �Ò– €Wy³Ê© ö0ÍT 0zÉtiild computer) SQ.COM USQ.COM SQ/USQ.DOC FLS.COM These programs squeeze and unsqueeze files, any kind of files. Use these to reduce the time required to transfer data across the phone lines. You'll find that many bulletin boards provide squeezed files almost entirely. ------------------------------------------------------------------- Accessing an RCPM To receive files from most RCPMs or bulletin boards, enter: XMODEM S PROG.BAS then from MODEM7 you get out of (T)erminal mo*‚#"‚ɯ2i2}! "€!"‚]Í]Í<ÂS ;ÍÃî NO DIR SPACE: CRCFILE$1‡ >2Ò Ís Ò :· ·Ê~Í# ++FILE NOT FOUND++$:± þFÂ*‚}æÂ’"€>õ͇ñ†]Í<ÂÊ ³ÍÃÊ CANNOT CLOSE CRCFILE$ÃîCRCKLISTCRCSK FULL: CRCFILE$€ÍÍà å w# ÂþÑÍÉ!]ÍÍùÍ� DONE$!eÍ ÊS!]QÍ !eZÍ Í@ --> FILE: XXXXXXXX.XXX CRC = ÍoÊSÃ) \Í<‘Í@ ++OPEN FAILED++à !"² !"Ó *Ó |þÊÈ Í·Ê¹ÍþÊ) \Í·ÂÖ!€~2¶ #"Ó Í Ã�þÂî:³ Í) > ÍT :² Í) ¯ÉÍ@ ++FILE READ E   Using CRC Type CRC to verify all the files on this disk. Type CRC *.* F to generate CRC's for an entire disk and create a CRC file (CRCKLIST.CRC) for checking the CRC's of a copy of the disk etc. Omitting the F will suppress creation of a CRCKLIST.CRC file. *.* can be replaced with an unambiguous file name for checking just one file. C 4Ø:Ò!4Ã:Ò!5É( Í µÖŸ! ¦ÒI3Í= ÿÍ: [Í= ÉÍt:\þÊa:\=_Í: :]þ Ât Å?]Í\ : Òƒ! 6?ÃŽÿ Í: 2  Å ]ÍQ  Å?\Í\ ÅÍ: DM, ÍQ !Ñ "= *3 ##)ë*= "; */ &#Íì "! *3 #"#  !! Íò "% >ÿ!1 Í. Ÿ2' É\Í: 2 : þÿÊ©: 懇‡‡‡Æ€o&"* ~þåÊ›*# +"# ** DMÍY Ò›** DMÍ  å*; Áq#p* " . å** #DM*; ëá -Âe**  å*; Ñw* #" )ë*= å*; ëás#r*; "; Í: 2 ÃÉ!S 6!"V * "n >!S ¾Òd*S &T ) ^#Vë"K O!l ^#Vë"M :S =2S M K Í Òa*K "G * .DOC CRC = E5 81 --> FILE: 1-DISK .DOC CRC = 88 1B --> FILE: KMDM795 .COM CRC = F6 30 --> FILE: KMDM795 .DOC CRC = BC 4F --> FILE: TERM .DOC CRC = A1 9B --> FILE: TERM .MAC CRC = B7 E5*( ÍÔ ë*‘ "‘ Í Ã3É*1 #"ž "  "¢ *5 "œ >œ Í# µÊR :œ ÒB *ž +"ž !œ Íò ë+s#rÃ( !¤ 6Í: "š *š ~2¥ *¢ #"˜ *˜ +"˜ >Í µÊ¶ :¥ 2¥ Ò’ *  +"  :¤ <2¤ O>¹Ò³ !¤ 6*š #"š *š ~2¥ Ãp ̓Í: ÆAOÍK �Í= *ž Ͱ�Í= * Í·›Í= * Ͱ�Í= *# Í·›Í= *  Ͱ¬Í= ÉÉ. æg æ”ÂS -ÂA É>ÿØ>É!  ~þ?Êl W æº>À#Â^ :·À /æÉ!:' ·Â—  ·Ê‘ #‹ É W ²Ê¢ #™ Éi`N#F�oˆgÉDM!>õ)ë—)ë�‘o|˜gÒÎ ñ=¼ ÉDM!>)ë)ëÒã =ÂÛ É^#Vë) Âì É^#Vë|·g}o ÂöM "I ë*K Íö )ë*= ^#Vë"O I G Í ÚÇ*G )ë*= N#F*O ëÍ? þÿÂJ*G #"G Ã(*I )ë*= ^#V*O DMÍ? þÿÂm*I +"I ÃJI G Í ÚÄ*G )ë*= ^#Vë"Q *I )ë*= å*G )ë*= ãN#Fáq#p*I )ë*= å*Q ëás#r*G #"G *I +"I ÃK I Í G M åÍ ÑÍ Ò!M G Í Ò:S <2S O!T å*G ëás#r*S &l ) å*M ëás#r*I "M Ã^I K Í ÒX:S <2S O!T å*K ëás#r*S &l ) å*I ëás#r*G "K ÃíûÉ!"„ "†  † Í Ò#*† #"† )ë*= å*„ #"„ )ë*= ãN#Fáq#p † Í Ÿõ*„ )ë*= å*† ) ë*= ^#VáN#FÍ? ÖÖŸÁH¡Ò *† #"† )ë*= ^#Vë";  *; ^#Vë"ˆ *„ )ë*= Ãÿ Hit Space: ÍKÃK : k Used: /k Not used: k ë*% ÍÔ DMÃf : remain on 1 !9" !Ñ ùÍJÍú> Í# µÊ->! Í. Ò*ͪÍe> Í# µÊ<Í×Í * ùÉv ÍK É ÍK  ÍK É!B r+s+p+qA ? Í Úp*A É*? É:]þ$ÂŽ Ål]ÍQ !]6 !E 6!C 6 :C Í Ú*C &l ~2D þU¼:E 2 :D þSÂÊ:E 2:D þFÂØ:E 2:D þVÂæ:E 2:D þPÂô:E 2 :D ÖNÆÿŸ2E ! É_{•ozœgÉO{‘oz˜gÉi`N#F‘o˜gÉo&•oœgÉ_{–_z#žWëÉà þÈÅOÍK ÁÃ= YÃáã -ÂS Éáã{-Â_ É!¨ s+p+q*¦ å« ͼ 2ª <2© :¨ !© ¾Ú—  ÍK !© 4Ã� !© 6:ª =!© ¾Ú» *© &« NÍK !© 4œ Éáã>õ3ÊÕ Íá Æ0õ3}´ÂÄ Z;ñÂ× {ÉÅ ¯)¹Úî ‘#Âæ ÁÉÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ --> FILE: KMDM795 .LIB CRC = 37 D5 --> FILE: MODEMPAT.ASM CRC = C6 40 --> FILE: SQ .COM CRC = 95 B0 --> FILE: USQ .COM CRC = FE 42 --> FILE: SQ/USQ .DOC CRC = AB B1 --> FILE: D .COM CRC = 66 48 --> FILE: KMDM795 .AQM CRC = 8F 66 --> FILE: MODEM7 .DOC CRC = C7 BA --> FILE: MODEM7 .COM CRC = 9C C6 --> FILE: FLS .COM CRC = 79 B4 --> FILE: MODEMPAT.COM CRC = B9 B8 --> FILE: MODEM7+ .COM CRC = 05 F6 --> FILE: CRC .COM CRC = B2 07 --> FILE: CRC ^#Vë"; *; ˆ ͪ  å*; Áq#pÃ�Ãn*„ " É!‹ p+q*Š )ë*= ^#Vë"; !Œ 6> !Œ ¾Úi*Œ &ë*; >¦OÍK :Œ <2Œ ÂE:/ÒÖ *; ^#V*% ÍÔ DMÍf kÍK :ÒÖ *; NÍf ÍE*; ~þ€Ú»WÍK þÍE *; ~þ€ÚÓSÍK ÃÖÍEÉ Í= !— 6:!— ¾Ú':/Ò :Ò –Í= !:— ¾Ò‰Í= :— <2— Ââ* "• !"‘ >!• Í. Ò *• ë*&͵ ë"( *• ë*&͵ >Í µÊj*( #"( *DM*( ëÍV"( !"� ( � Í ÒúÍK!"� }2— :— <2— O:¹Úð*� ë*� å*‘ Á "“  “ Í Úâ>!— ¾ÒÓÀÍ= *“ DMÍ**• +"• *( ë*� "� Ø*� #"� Ã*&ë  *ùÍKÍžÃ+ƒ!žƒ!˜)Ã'Ã+ÃFÃŽÃrÃÃû Í– þ8Ê{ æÄ‚w#w#wÑÁÉÍÆÃÞá^#V#å*~#foÉá^#å*~#foÉá^#V#å*nÉá^#å*nÉá^#V#åë ~#foÉá^#åë& ~#foÉ!È+É!È#É!Ø+É!Ø#É!ð+É!ø+ÉÈÉÈÉØÉØÉðÉøÉ}»À|ºÉëz¼À{½Éë|ºÀ}»Éë|ªòìz·ð7Éë|ªòó|·ð7ÉzõÍZëÍZëÍ)ñ·ð|/g}/o#É|µÈÕå͉ÑÍk|/g}/o#Ñɯ2qÍZëÍZÍk:qÐ|/g}/o#É|·ð/g}/o#:q<2qÉÅÍqÁÉDM!x±ÈxGyOÒƒë)ëÃv|µÈÅÍ”`iÁÉ|·ú )ÖëxõÍÝÚ·Õz/W{/_ѯzW{_ñ=ÈõyOxGæ¯2qÍZëÍZë͉ÃM|ºØÀ}»Éëȯ|g}oÃæëÈ)Ãô|/g}/o! !, ë!$ s#rÍ�?#n}þ:Â> !$ ^#Vr+sÕÍ�?nëás!$ ^#Vr+së6:!) n&ëÍ Í?€ë!& s#r!( 6!( n}·Ê§ Í�$å!& ^#Vr+sën¯g|¢g}£oëás{þ ÊŸ !$ ^#Vr+s!( 5Ãd !$ ^#Vr+së6.!( 6!( n}·Êÿ Í�$å!& ^#Vr+sën¯g|¢g}£oëás{þ Ê÷ !$ ^#Vr+s!( 5ü Í�$6!, å!Y åÍD ÑÑ!* ^#Vr+sý Í�*|µÂ= Í�?å!] å!åÍJ ÑÑÑë!;9ùëÁÉ%s %s is bad afn %s %s not found - ignored Ã� ÃíÑäÅ!ÿÿ9ùDMÍw}·Ê» * åÍx Ñë`is{þ ¸ * åÍx Ñë`isÃÐ !åÍ{ Ñë`is{þÂÐ Í~ `in}þÂß !ÿÿà `in}þ  `i6 Íw}·Â ! å!åÍ{ ÊT#=2½<#^#V#Õ^#V#ë"Å<ë^#Vë"Ç<Ñ:É<·Ê~#*°<ë!:Ä<æ@Ê�#"Ç<áÁÉå*Û<#w"Û<áÉå*Û<~þÿÊ«#·Â¶#,ÍL3ÍÄ;áÉ+"Û<áÉå*Û<+"Û<áÉå!l@"Û<6ÿ!”@"Ý<áÉå*Û<~·áÈþÿÉåõ*Ã<ë*Ý å!åͪÑÑ`i¯w#wÍ�Íùҹ͡ë! s#rz³Â†! 6 #6Í�ë! åÍ�ëás{þ ­Í�ë! 6ù`i^#Vr+sÃ_! n}·ÊÌ! åÍ­Ñ! n}·ÂLͰë!9ùëÁÉ1.0 06/07/81Parameter list sÃ*Í� åÍ�ëás#r! ~#foåÍ� ~#fo)ѯw#wÃ8! ^#Vr+s`i^#Vr+sÃ\ë!9ùëÁÉCan't open %s Û2­>Ó2°>É2¯2²!Ì"�!"“!@"‘!"• ÍæÊžÍ!€ßF#x·Â±Ã~#±¯!ßb¯2r~#þ ÊÈ·Êþ"ÂÞ2rÃß+}|~#·ÊÅG:r·xÁÊþ"Âæ¯2r+w#þ Âæ+6#ÃÈÕ!×6#¯2w2x*sé!ÿÿÉ>õÍrÚ<o&åÍFáñ=þÂ-ÃÍ`Í ÍrÚ'~æÊhåÍÅÍëÍÁá6þÿ!À+ÉÍ`WÖØþ?ØÕ_!×~æ7ÑzÈ?ÉÍ`ÅÍ åþ:>ªÍÖ@w#ÍGþ.¶ÍƯww#Ã?Åþ*>?ÊéÍñÚçw#ÂÇÁÍñØÃÞ> w#ÂéÁÉÍþ.7Èþ:7Èþ7ÈÑÑ`in&à ë!9ùëÁÉÃ" ÃÛÈäÑÅ!9ùDMÍw}·Ê� ! n}þ ÂO *å! åÍ ÑÑ*å! n&åÍ ÑÑ#|µÂz !Û å!åÍ ÑÑÍ Íw&|¢g}£o|µÂ� ÁÉ! åÍ Ñ|µÊ° !åÍ Ñ+++|µÂ° Í ! n}þ ÂÈ ! å!åÍ ÑÑ! n&å!åÍ ÑÑÁÉFile output error; disk full? ÃÃÈäÃ^çÃíÅ!úÿ9ùDM*##sÕ*#ÑsÕ*Ñs! ~#foåÍ� ~#fo)Ñå*Ñs#r! 6#6`i6#6Í�åÍ� ~#foÑÍúÒDÍw}·Ê|ÃD! ~#foåÍ�)Ñ~#fon}þ<Ê©þ|ÊUþ+ÊÎþ>ÊâÃ-! ~#foåÍ�)Ñ~#fo#n}·ÂÇÃý* å! ~#foåÍ�)Ñ~#fo#åÍý ÑÑ#|µÂ! ~#foåÍ�)Ñbuilder - Version %s by Richard Greenlaw 251 Colony Ct. Gahanna, Ohio 43230 Accepts redirection and pipes. Omit other parameters for help and prompt Parameters are from command line or (singly) from console input. Drive names and -options are passed thru. Ambiguous file names are expanded. CR or EOF to stop. *ÃP ÿÃqÈÑÅ!Åÿ9ùDMÍ�?n}þ-Ê{ Í�?#n}þ:ÂŒ Í�?##n}·ÂŒ Í�?å!F åÍD ÑÑÃ= Í�?å`iåÍG ÑÑ#|µÂµ Í�?å!J å!åÍJ ÑÑÑÃ= !* ¯w#w!€å!åÍM ÑÑÍ�*|µÊâ `iå!åÍM ÑÑÃî `iå!åÍM ÑÑë!) s!) n}þÿ ÃMÍ�|µÂÍðÃÒÍ�+++|µÂ'!åÍóÑÃÒÍ�##^#Vr+sz³ÊQÍ�^#Vr+sën&ÃÒ!åÍ�åÍ�~#foåÍöÑÑÑë`is#r!ÍÚŽÍ�##^#Vr+sëÃÒÍ�##åÍ�€Í?+ëás#rÍ�åÍ�ëás#rÍ�^#Vr+sën&ÃÒë!9ùëÁÉÃçà ÑÃÜÅ!9ùDMÍ�+|µÂ! n&åÍÞÑÁÉÍ�++|µÂ%! n&å!åÍáÑÑÁÉÍ�+++|µÂD! n&å!åÍáÑÑÁÉÍ�++++|µÂ|! n}þ Âi! å!åÍáÑÑ! n&å!åÍáÑÑÁÉÍ�##^#Vr+sz³Ê­Í�^#Vr+sÕ! nëásë&ÁÉ!åÍ�åÍ�~#foåÍäÑÑÑÍåÊ×!ÿÿÁÉÍ�##6ÿ#6Í�åÍ�ëás#rÍ�þ!ÉþaØþ{ÐÖ Éþ Ê þ Ê ÉÅÍ`·OÂE×!·æyÂ6ÁÉÕ$Ñ Â-7ÁÉÍrÚBÖo&))T])))ë!·yÁÉÕÅõå€ÍáñÁÑÉ¿!>Í15:Ì<Í15>{Í15Y/Íe5Ã6!Í'Â":Ê<æÀÂÝ!>}Í15Y/ÃÂ!:Ê<æÀÄc+ÍÀ&Â">&Í15¯Í15\0ÃÂ!:Ê<æÊ/"Íž)ÃÐ :¿<æÂ@"ͧ*Íž)ÃZ!:Ê<æÀ>åÊL">ÕÍ15Íž)>ÑÍ15>@2Ê<ÃZ!å*Á<"¢<áÚ/Íe5:¿<æþö2¿<É"¢<|·Â›"}·ÂŒ"Q0Íe5Éõñõ·Ê¢"Â�"ñQ1Íe5Éñ>�GÈ>)Í15ç"#ÍÆ(Íl'ñõÍ·*ÍÞÍ÷*Íž)Í!2þÊÊÙ"Í«'-ÍL3ÑÉ#Í·&Âæ"x0Íe5ñÍG)õÍ�'Í«'Í·*ñÍÞÍ÷*Íž)Íb)É~þùÄF9#^#V#Í#Í!2ÉÅåë)))äU~õæþÂ,ÌL3ñæ‡G~õæ`°2Ä<ñæ2É<#~æ2Ã<~æ?>~#fo#å!Må!åÍÑÑÑÍ*6!\å! ~#foåÍ�)Ñ~#foåÍÑÑ|µÂR*ån&|²g}³oëásÃ|*##4! ~#foåÍ�)Ñ~#fo#å*###Ñs#r! ~#foåÍ�)Ñ~#fo#n}·ÊË! ~#foåÍ�)Ñå!hëás#r! ~#foåÍ�)Ñå*Ñs#rÃâ*#ån&|²g}³oëás! ~#foåÍ�)Ñ~#fo#n}·Â !uå!åÍÑÑÍ! ~#foåÍ�)Ñ~#fo#åÍ Ñ*å! ~#foåÍ�)Ñ~#fo#åÍ ÑÑ#|µÂw! ~#foåÍ�)Ñ~#fo#å!”å!åÍÑÑÑÍ*#4Íw}·ÂÍ�ë! s#rÍ�åÍ� ~#foÑÍúÒÞ! ~#foåÍ�)Ñå! ~#foåÍ�#)Ñ~#foëás#r! ^#Vr+sÑÍ� ^#Vr+s`i^#Vr+s*^#Vr+  ^#Vr+sÕ! nëásë&ÁÉÁÉÃÃDÅ!9ùDMÍ�å!åÍ�åÍÑÑëás#rz·òH!ÿÿÁÉÍ�##¯w#wÍ�~#foÁÉÁÉÅ!þÿ9ùDM`i¯w#w! ~#foåÍ�Ñnå! ~#foåÍ�ÑnÑ}»Â¸! ~#foå`i^#Vr+sëÑn}·Âµ!ÃäÃl! ~#foåÍ�Ñnå! ~#foåÍ�ÑnѯgWÍúÃäë!9ùëÁÉÃóÈÅ!9ùDMÍ�åÍ�åÍðÑëás#rz·ò!ÿÿÁÉÍ�åÍ�ëás#rÍ�##6#6Í�~#foÁÉÁÉÃKùÅ!9ùDMÍ�ÍëÒe!ÁÉÍ�~#foåÍHÑÁÉÁÉÂÃÜüà Å!þÿ9ùDMÍ�ÍëÒ�!úÍ�##~#foÍå¶!úÍ�##~#fo€ëÍËÍúë`is#rÍ�åÍ�åÍ�~#foåÍyÑÑÑåÍ�ÑÍåÊ!ÿÿÍ*£|µ*uÊB*¡€€~#Â"¡*sëÍ·*uÂB#"u*£+"£ÃÁÉÍ7¯Í,Ú2që*ŸëÅÍ&ÍþÿÁÊ:qÍ):¡·Ê€=Ê€=Âr:qo&ÉÑçÃDÍ7*ŸÅåÍ‹Ñ\ÍþÿÁÊ!å*ŸåÍŽÑÑÉÃ#Í7*£|µÈÅDM*¡ë*ŸÍ Úë><êßí°ÁÉ~# x±ÂßÁÉ ë ë><êûí¸ÁÉ~+ x±ÂûÁÉ|ºÀ}»Éà Ã]!Í7:ŸÍ,ÚÅå*ŸåÍ Ñë:£*¡·Ê5 }|æ2qã å¾Êf ãëÕÍÑáþÿÂ\ ÑÁÃ:qwÕÍÑþÿÊW ! Ñ{æwëÁÉÍ7Å*Ÿë!Äÿ9åååÍ&á 6C#6O#6MÑÍþÿ§ áÁÃ*¡|µÂ½ ¡Õ!\Í&áÃÏ ë!\Í&*£|µÂÏ !£ë!lÍ&�¯!¡å~#fo´Ê!> +Íþ #~·Âì á##Ãà þa+sÕ`inëásà !œ ^#Vr+sÕ`inëásÃÍ�œ6ë!˜9ùëÁÉÃ8ÃÛÅ!ÿÿ9ùDM! ^#Vr+sënë`is{·Ê�`in}þ ÂnÍ�å! åÍ5ÑÑÍ�å`in&åÍ5ÑÑ#|µÂŠ!ÿÿÓÃ@!Óë!9ùëÁÉâà Å!9ùDMÍ�n}·ÊÌ! ^#Vr+sën&åÍŸÑêÁÉÃÔÃÎÅ!ÿÿ9ùDMÍ�åÍ� ÑÍìÒ$Í�^#Vr+sÕÍ� ÍëÒÍ�0ÃÍ�7ëás!&ÃoÍ� åÍ�åÍ� Ñ͉åÍ�åÍÑÑÑÑë`isÍ� åÍ�åÍ� ÑÍ)åÍ�åÍÑÑÑÑ`in&#&Ãoë!9ùëÁÉÅ!9ùDM! n&0ÍùͯÚ£! n&9ÍͯÁÉÁÉíÃxÅ!þÿ9ùDM`i¯w#wÍ�~#fon&åͪÑ}·ÊúÍ� Í?åÍ�^#Vr+sënѯgÐÿë`is#rûÍ�Ãvÿ© KMDM795.ASMi öÿ ßÿòÿõÿºÿ³ÿ¾ÿ«ÿ¼ÿ­ÿ°ÿ¬ÿ¶ÿ »ÿ!±ÿ²ÿ"$#¯ÿÄÿ&%¹ÿ'(½ÿ)Óÿ+*,·ÿªÿ-šÿ.0/©ÿØÿ213Ñÿ546¸ÿ7ÅÿÏÿ�ÿ‹ÿ�ÿµÿ89§ÿ‘ÿ:;oÿ´ÿ<–ÿ¦ÿžÿ=>¥ÿ?Îÿ@Œÿ“ÿAÍÿ¨ÿCBD›ÿEÒÿŠÿœÿF’ÿ™ÿGIHúÿJ®ÿKLÔÿÌÿMN˜ÿ�ÿ—ÿOÈÿ�ÿPQËÿR†ÿÊÿÂÿüÿÛÿSÉÿÕÿÇÿUTÆÿˆÿÀÿVÐÿùÿûÿ¿ÿ‰ÿW”ÿÖÿX×ÿ¡ÿYÝÿZ[Üÿ]\‡ÿ^øÿ_÷ÿÞÿbac`ÁÿŽÿÙÿáÿgehfÃÿdôÿ£ÿïÿåÿ…ÿÿþñÿðÿÚÿ•ÿ¤ÿóÿùßfèq^æw^¿"IŠ|$¯^ª}‘üPêÖ=%-én…Ø ³=âWªJUiÄ×ü6¿‡ø²)ç”HÍ«©C.ž�=úó²¿�ºð,MúÍ�+€Í?ë`is#rÍ�##~#fo|µÊ“!€åÍ�åÍ�åÍ�ÑåÍ|ÑÑÑÍ�##å~#foåÍ�Ñëás#rÍ�å~#foåÍ�ÑÍúëás#r!å!ÿÿåÍ�~#foåÍÑÑÑúÍ�##6#6Í�åÍ�ëás#r!úë!9ùëÁÉÃÒÃÎÃxçà Å!hÿ9ùDM!ž ^#Vr+së~#foë! s#rÍ�žë!– s#r! ^#Vr+sënë`is{·Ê#`in}þ% ! ë!� s#r!” 6#6!‘ s!� s!� sÍ�n}þ-Âb! ^#Vr+s!� 4Í�n}þ0Âr!‘ 4Í�n&åÍÉÑ}·Ê�! åÍÌÑÃ’!ë!’ s#r! ^#Vr+sënë`is{þ.ÂÚ! åÍÌÑë!” s#r!� 4! ^#Vr+sënë`is`in&åÍÏÑ}þDÊþUÊBþXÊKþOÊTþCÊšþSØþ{ÐÖ Éá!€p3!!Ö*w#Â!Á:þ**Ê+!*ù!åÃÖÕÅÍÑÕÍÁÑ·Êø€ÍÃ!€ëÃÙÍ Í,ÚÅ FN¯xg>G�oy ò�!$ÁÉ!ë!9ùëÁÉÃÃBÅ!9ùDM! n&åÍ Ñ|µÊ7! n&àÿÃ<! n&ÁÉÁÉÅ!9ùDM! n&aÍùͯÚm! n&zÍͯÁÉÁÉÍ7Å*¡~#þ Êxþ Êx+ë*ŸÍ&!ÁÉÍ7Å:ŸO*¡ëÍo`ÁÉà Í Åë!\Í&Í!ÁÉÍ7Å*Ÿë!æÍ&*¡ë!öÍ&æÍÁþÿÊ!ÉÑÑÉ,Í Åë!\Í&Í!ÁÉTELÌkÃÃÍ7Ã'Ãx ÈäÍ7*¡^#V#z³Â/+V+^+ÕÂ:*ŸåÍ!Xå!åÍ!Ã$Broken pipe Í7:ŸÍ)Ú~æÊÅ:ŸÍ,"s!"u*£|µÊ¼*¡ëÍ*sëÕÍÑþÁÊÅþÂÁ! ~þ€Â¼6*uÁÉ*£+"£*¡€"¡*u#"uÈÍ7:ŸÍ)Ú~æÊÅ:ŸÍ,"s!"u€ñå¼~E’ùH^½Tû"æ÷ìo�'³ÞÏÈÕeN±ë0�gSzñå¼~E’ ¯‡<ºî«ïo3õHqó»~�')R7úÉlJÏ!¾üYûW/©uÎB.f¼žõ~ÔüÎáÁüÎÿoÝK$Ïjׯ›ßùÿ�ß…Ç©�ù�ÿ_á k�hi¶,„Š^%l!Ìoóùߦ’$Ï’#uÎ|²’˜ßæ·ù�H–-ÿ´îÑ„¦‚å^kþV²R¿“…Z)T½ó;Î�•òï-w6¢Üc5¿±§hÍV–;-Ù8wQ;Š?jª5…/$˽¿,³•¥RÈüÃ"Y¨÷~ï¨÷*66¿±GË_vYæo%+ÕÒüeãÜ©rgãÖüÓºGš –T~Ë7•êü®¯ù % Åž’–ÔF(ZîíJjOÁ’Rço%+õ;÷Zs§BMí°nœ{´T°¤Ìo(Õ{B÷h; *•êÜ¡µ I©ó·’•Êkþ²qîT¹³qk²R+vÔôæ7öhBSÁ’ÊVÅšJŠ=%-[ÿüe™;­¹¦RÅÛ–Uª8)Åß­ùm~ç?�µGü*"âW•Fd®üûG­¦hŠŠ�³%4¥�´üå�ÐÜkMËE*XRæwþÓYÅÞ/êõƹk¯‚J–;­IS*òŠ¢åo%ëÞ®=Š5ʺ·ÊüÎ:S°¤ò¯ÊËÃ÷Í�–~#fo|·òB!� ^#Vr+së6-Í�–åÍ�–~#foÍúëás#r!’ ^#Vr+s! 6 ÃZ! 6ÃZ! 6!’ å~#foå! n&å!– ^#Vr+së~#foå!� åÍÆÑÑÑѯgÍúëás#rÃC!� ^#Vr+sÕ!– ^#Vr+së~#foëás!’ ^#Vr+sÃC!� n}·ÂÞ!” 6È#6!– ^#Vr+së~#foë! s#rÍ�n}·ÊCÍ�”|µÊC!� ^#Vr+sÕ! ^#Vr+sënëás!” ^#Vr+s!’ ^#Vr+sÃùÍ��6! ë!� s#r!� n}·Âš!’ ^#Vr+s!ÍÒš!œ ^#Vr+sÕ!‘ n}·Ê‘!0Ô! ëásÃ_Í�œå!� ^#Vr+sënëás{·ÊÃ!œ ^#Vr+sÚ!� n}·Êô!’ ^#Vr+s!ÍÒô!œ ^#Vr+së6 ÃÍà !œ ^#Vr  R­¦þ*R¡Þ¡µî¢Ô©ØûMµ¦�,)Z¶R4Ö=šÐܵWAµnÍoóùߦ’:™ßæ÷Fÿ·ÉÁr¯5wíUP©¦„ûŸ=5Õš?DºBDl�®s‡ÆšdÍí,$ÊÜim¥~ÿRAms£ÿÛ˜ßæ÷Fÿ·ÉÁ’Ê]{T’É›*]!vß®@òï-¡òO+Åš e*7B©+v6NK*ÅÇÎ�þoc~oô›Tªs’»ö*¨Ü¥nÝSÒZSÈ=ËÜXùG�J!iù[ÉJýNµò�b�Fµæ�57ú¿�ù½Ñÿmò¯’¶kOèõŽbOIK% Åž’ÖºÍÁ’Ê]{T’"¡+ÄîÛðFþÝ¡å/Tþi¥Xs£ÿÛ˜ßýß&wZs'ÕÔ.JMÑþR¹K©NÖ=5õWQ±q¶R ÅMh*XRù[ÉJýNJ¸ÿÙQP­¹ÑÿmÌï�þo“;4Öü«¤íÚúG½£ØSÒRÉB±§¤µ¦�{ –©`IeÈ¿Êß¿wh¬¹GK)Ç67ú¿�ùm~7{•J¡¹GKRä#t…Ø`+ê`~›ßæùïdÍ£ëü!’Ð"÷TÒ;{´ÖT°¤ry4qj^3Mœš> ¹bsüïæ–ºFœáq94yq^}Ô‹‘qîÐX“4k΂9þws«•{4ªuk~›ß\© RÁrG‘ –:ááV¨ÿPîTT(…L…z‡Öú{¯µuOIK宬P UÒÌñ¿›[Hõž‚Ê ¥P%-[)áþ‡¢ý¥rG‘Ê¿;Š=%-O©nÖgÎ+ È£3·Bý‡Ú�U™4¥"•¡ÔBª÷TÎy™Ÿ2 ì1Å…¬Ñ¬n…úµa…òïNEþUþþ½Ccͽ]ùØcŠ=Y¨©¿+ÕjŽÿÝÜ»v*Z© iJEV(ÿîTä_åïß;4ÖÜÛ•�=¦Ø“…šúK±R­æ£T«ç�2£�5Fgn…úµáNE…RÈT(… ­Ø£ Må®ýyæ¯4S\=ÿÛz-˜üoë»ù¥ß]%æ›;…³™æã2K“�>ϼ–œL1ÿwóZ0ùßÝ ÄüÇ�õ’ÉyIÖ˜¢ygjd¾ è6"ò7wv¦6¿Íë2F_$ÿÛ oä[g…Q¹]¥sq™ª¦Q©DóÛ™+¼ªyþ{éÕüoKÕ®R‰æ·yþ»€\ùßV«óÛüâ /{a†æ/äâ2_ f�rõ—kä_Ö¯ª9×¼š¥É!¾¼z©öE2ó{ˆo?çâY¿¼Ö˜â“YïçJR¸¥géY>¯ŸµŸ�>/#ý Ü¿ì)R¡LÕªÈ]Ju¶R4ÖTS;¬›ÏK·MŠ \ö(æ¥AŠ \öܨÙßÀ½‘�Š?T*we+EcÍ_ö)$KŠ–jj‡ucóÅuÛ¤È>?u‹k�"ûüÔ¹Q³¿�û—=E*”© Z¹K©N5õ—ÚÛ•jj‡ucóyé¶I‘}~zóÒ Eöùé¹Q³¿�{#;¨TîJ5õ—ÚÛ•¿ì)RH–-ÕÔëÆæ·ù=Ä—M9§Dj^ÍÕ_ŽýKÏuÎ~2áÉ,üìg½Ÿ!Ú\ó¶ëÅÈ~E¡9êÅÈ~a£f÷-ÙùêÞQPÉB©V˜f´]/Fö+ŠÂ Ô‹‘ýÂFÍþnåEþ²ó‡U½£ ’…R­0/Ìh›9ljˆ¢0¤È9N6jö7p+ÿ(ò·’•ú�•4…ZY‘,”jEnt„yaFÛ¤È9ÎEaH‘sœ ¸•ù[ÉJýοJšB­¬HJµÂc%³ú˜ãÔØ¨ÙßÀ½CcÍV…RMå_%M¡VVä/+(óÛü”já×èQÈHœR-Ü\@®¶5׃…€\Ð\R¤¹€\m‡7˜«G! ÂÌÕÍïYAí¨³•î(Ú_ª5wÔTîRªSlb›9YîЄR©PæÆÊ?êÖ­ù<ý•æ:rµ­ÏÕ‡9 k´ÓcU¬ŠUTVìý¢ÞQoœ,wZ“¦Tä/EË¿,whB)ÖlÝ£ý¥r#”ºuOIKº[!"¶æ·ùm>:óðZ0P5�hÞ¬^ *óÛ|^$‚�ׂÁèÌÃ=:óR79¯_‘ŒØ²ÍeÍ4Aoâµ`ÐÞ2îšiš×3èÍ—MéÙèórôÅCózjž?õþxÁü6½Ï>ñZ0h7gHýz–&‡&/ä(9ú~Î>“ù²~MéÏÿmÝ!R�)j^ÍQrŠoþ†˜¿Þ�&x-´«ps†Ô¯girhòBŽ’ý�¾oŽÿ¶îð¸üUóéÏË×{é!ë×”þ²£‡ùm~·dgcje¾Ì/˜_¥¼ T-‹¸/BtÖ+¼\Rö‚ùmNŠœã\Èׂ�ªe7)ò‘œ…�^N^¥sR¤\ãB¾ T»‹¸I‘�¤\cåUú0¯#û…|-¨DÜõbdö5^^¥sRä'ùZ0Pµ,âŽà2I‘�ä,|ôrò*}˜“"ûüÔÈׂ�ª]ÄMŠ|$û›O^Öz¤ðåú´ÔœÙç§#_ ªv7)ò‘ìo>ýyÙß’ûæ¤ÈÀe�|-¨vq“"Éð¸ÌZ�>›è‘5Ó4ùÈ5ö[jNŠ \väkÁ@µ»ˆ›ùH†Çeö·ä¾9/×ê$üäkÁ ]%â&+üä(Ù_x#GI^òZ]Š��S±÷›J…2[)kî䮽 Êÿ»¹U S©²}Ãö•*#6ŒØ]¥Jaî^©J•»o(DË*Un°a»q„Je.ùY' È*ܬԮ�?ŠTìý¦R¡ÌVŠÆšYî¨wþ*(uîÑÌñ¿›[A©ïÑv*ò·’•Ê]{T*Ô;´Ö]”Úÿ»¹Uª’•ªØÙ8Îö U[•°l¥þÆIOŸ±ª¶t³•úk^¿Ó¯d a*Ü¿P©¦XP;ŠTìý¦rÃÜÈNŪÕV%,[©¿æ�­Ç{²Æ÷}éwW‰¸S8/7Ì'\{ŠrOÁRùG‘¬{­•4õWa~JuŠ= Èßò¥ß]%âNá”Ü0EcÍ ¥P%Íü„1Åd�ïõ¥ß]%âNá\¹a¥P¡T²Pïєڜáa}Þ{²Æ·éwW‰¸S8=7ÌY¡l¥r�Æâ�"”p)ò—?»vQjóÑŸb�BÖøŽ/ýî*1ïÎÈ s¨wh­¿÷¹k¯‚J…2ÕÔo¥‚2ë󦨣�5¾û_úÝU"îÎ~n˜…EË=‹?ŠTPÂ¥È_þìÚE©Í{L±GYã+œ/ýî*w G8¹aŠÆš4J¸ù—åŽz篂R›ßæ÷îvTkþi¥XSI«Ø8Ù8/Btª•õ 3²?úÂ#õѼj~ñåÕKµ/²5¿Í/Bt½?^²F³Nx¸ê?Ô†!:+Y©ßæá æaD!kŒÎ<Ü õjCš’F¢³•Rüa‘jåÅ�2³óñˆBÖ�y¸ê?Ô†{»’¥ò7•ÿ¨[•êÜ¡±æß jG�­ÕE3Çÿnnµò�b�FåŽ"çéavnÞ¬0æù‰BÖ�y¸ê?Ô†»'…g©T§P5µ£ Ôæõúa®z¼(d�f�ðp+Ô¨ ï´„Êm½~r×^e>CdsF²F³Nx¸ê?Ô†¬Ô®�?ŠT(s²¤þ¶¤õÏïüË’úÛ’=šPsüïæÞµSÑJmÈJíÚùS¡H…2gŸù—%õ·%{4¡æ£T«çÍ>£�5Fgn…úµáNE…RÈT(… ­Ø£ M宜,©¿-iýó;Êœ}šÏÂ?õO¸¢�5šuÂíPÿ¡6ü«¤m„R+ò—�¿-ie±ó—J…2Õ~1¥Z=¯þ‰BÖ�y¸ê?Ô†;J!S¡*´b�&4•»ò—–´²H…2Õ~1_Rž& ÈÍ:ááV¨ÿPî°²æirg—‚Rçìæ£T«ç�& YctæáV¨ÿPîTT(…L…R¨ÐŠ=šÐTîÊÓäÎ.¥ÎÙÍG_ü”jáQÈÍæ@Ã|žfçQÌuäj[Ÿ«s@Öh_b¬ŠU±Êèo˜ßæ7ì‘�þ¼<š¿�A,Ì‘ÉËÈúå¯>™õ~2áõ,Ÿ×ÏÚ7�«m}®>¢� ú\}˜ ÈÕvkD! ÂXÃ\@®¶Þ¾æQÈ…Ÿ·¯¹¹€\m�ýëE! ÆþõÌäj[ŸYÈ…€\Ðgr™ßæa?|^�šãÈ…‹]ï�‡› šWsˆ//Btúv•*I‘�ÐaŽÒ–9›ûáóz;pWKê&yæ˜ëÈÕ¶>Wæ�5¾Jݺ§¤å.¥:š!:}»J•¤ÈG2(vÔŠ=šÐÜQä¥T+ò©Ä¯9d�ÙãÓÄ*sô7Ìoó°>¯·GÍ1×9�«m}®>pë&yÉÍ«9Ä—!:}»J•uY]šCÖh_büýPêÖ=%-w)ÕÑüÙÙ˜…Z™ZçTþfñGA©¿ñìñib•9úæ·ù­yx}ä~azžR-<Å×_œ„ #—©yª¶æ§T �BÖP™ßæ·æáõ‘û…驹z½¹†.<{a†æ/Å×_ê&ù{òÉ­ù=Ïþ®³æË!¾lÊ9%Rój†7‡.<#E=ÅÔ!¯þÂããì›ßLx2›Òsˆ//BtÖeu¹5¿Í5׃5ùh¬Xµ»hŽÂ ¨ZÍA>+Ví�}ó÷¹V'á'_ *7Yá'GÉðF¾Ïãy­®Ç¾y‘×ê$üäkÁ@57Yá'GÉðF)óZ]�}óºÿ�ðƒ|-¨šZÄMVøÉQ2¼‘uëÇüõ>% ?ùZ0V©ˆ›¬ð“£d}ÊüÉuNÖz„|ìù®‘¯÷Òsù‚yÓÉëÈׂA„JÌÿ6wÓѼš¯÷Ò“¬ðc^:Ã_G¾ ÚU"îòy½3<_ï¥'YáÇüZýuäkÁ@U©ˆûZ]�ý|½—žd…óÅC$)ùZ0h"îÅCäëIŠ|æ¥ë*)ùZ0h—"îÒuUó5^’"ŸyäÒcŽ€|-Dl°nÎ�úõ,M†7 —!ÙÙ®ÊQ2ré‘Mé9 ¹˜ñº9þÛºGá/W3^Ï‹�‹…^êu²aøºðŒØ`ƒ$‹½5¿ÍgŸùOg¯“ÿm}ç7ÿq3áÉ%ûkÁ¼0ò;ûü¦æa¼%³4ù�?�!_ó&2_ _áÍ—~w•ˆüßÍ�ÂÞä†ùÂ\×3EÌ:{-˜üo뻾ô»«Äüos§pVn˜a¬>²4)¾%_7eä?�½Lþ·õ•_úÝUbþ·¹S827ÌÇe–&Çcó5òŸÎ^ &ÿÛú6_úÝUbþ·¹S8Mn˜kþðyž¬>óòÃÉó7¯“ÿm}›/ýî*1ÿÛÜ{4ª5…ª•XP¬©P ¥,)u²¤ÔÔÖübNx}�…¬Ñ±îöˆ r—R�*,ZãŒØ@•»”êlW±`ÑšJZ^„hsüïæ¦)ù§•bͽ]y¢³Y'<óyd]ʈBFBõßFÄý÷�ZMÑg+¥H…2…ÜQÿÎ_”JE ¹§`iŽÿÝÜõþKµò�b�Få.¥:/Btœ,þ(rcåuþUV°šã7÷/J¥")šB½q²¤ÔTîíÊ�•’åÎF¨TҨܡ±šã77+Õº§¦R¡LVe*iYï?óºÿL±GYã»Û/ýî*1ïÎnsÃêZëï=EÒ©îoýÐ)…ÜS°Ì‹m>Åj½…¬ñ­¿ô»«DÜ)œ:7L¦•bM!÷,ó"Dç-”ú÷m§Âÿ»¹3+Y©T(ó/ËšP*ÙùÚê•JZîªØØ\ê0§Ø£�5¾òK¿»JÄ�‘¹a^„è”{­•4õWa~›ßæš·MŠœã\QhRäçÊ�šý Ü{´ü­d¥~ç_%M¡VV$ ¥Za^˜Ñ6)R®qEQ˜R¤\ãÊ�šý ÜÊ?Šü­d¥~'ëŽb'Y(Õ sÍÛ&EÊ5®(4)R®qåFÍþî=ZþV²R¿“uG±“,”j…ùâºmRdಎbq Rdà²Î�š  ¾»ˆ»½åœ§ÌŸ8Û3Œre­Gœ¼äµºûæ(Ì€ªeÑ䣱b•0Ñ…Pµ,šƒ|4V¬ší"îJ³ÖãWS\}Íñzœý-™�¯úÍ©šc’Ü*s„±Öç5§j¹0^'æ÷ö¿�ùm~›WK‘œDÍ1×9x}…FsÌuHù¼s¶†Œ›Y 3ùh̘¬Ÿg޹ÎA-K0Çakȸ™µ0s��ÆŒËõ¸9æ:µ,Á‡­!Æu£/bŽ  ñ„õyæ �7ë„gŽ0x£Osªæãu5Ç‘ Ìê£9UüÿúÞ-ÝmËíæc¡t] ëƒÿ_ß»¥»ÝÀ¥/,üÿúÞ-ÝíiòÑXñâ!’‰ÿ6÷nén70G ÌêcŽSã¿Í½[ºÛ Ì!à›¯“üÿúÞ-Ýíæ �—®«¤Hü·¹wKw»�9ÂX`VsœÿmîÝÒÝn`>^'QsÌuÂX÷ÏÛ¿ú �s61^'7/qNñÍŸ<š?sÌu~޾渫oäWϦ’?µ4Ǽ4¾ù5‡€Oð2Jwµ¤n’—‘³ðÑËÉ)®¾æxݤ|PÇ wXŸgŽyiÔ?áÂ=^Ù”žõš?áZó™CÀ7ÁKù�/ýÿn6 ÿo«]EÿßVûôÿmE¨èÿÛŠØ€þ¿�°ˆ¯ù½ýoc~›ßæa¬>¢æ8l 1V™C.‰pᮾ‘óúù† cÍsñH„±æî°>/õ0Çak„+cÍÜa¬>ò”¹N†±æ�9æ:ú\}˜CÖ˜=>Mü%E>’t·Bl�ôÙñ+Õ4âÏŸ&V™c®söÃçuÜUýy9 ot•ék蓼Võ™c®s ¹KvÜšë¡×Ñ›/—”ý…ð‚9ÈGcÅ£3·ªiDs„±À}šS5Ç$ ¸Uæc!¬ÏkNÕs�ƒ«—Y®�ûêe¾r>z9Y®¡ æ8r�Y}4§Šÿ_ß»¥»m¹Ý¥/,üÿúÞ-ÝíiòÑXñâ!’‰ÿ6÷nén70G ÌêcŽSã¿Í½[ºÛ Ì!à›è/ŒÕþ}ï–îvs��ÆŠK×UR$þÛÜ»¥»ÝÀa,0«�9N�ÿ6÷nén70¿ÍoóþÂX}DÍqäB¹†.wõ�$Kó,×Ð…›ƒ”êxáëóRs¹p¢ëýñò¾Ñt˜£ô……;¼‘ÍYÕ`R>Xq�»úF–kè³^óÇ‚M„vܼŒ¼Ñ昗Æw~qÏuN _êuZš ÃçÐ…ÓaÁ&¤^ç:¸÷_ˆ³Zr”ÔÃóÒøÊR7Û­9æ¥1:ópo·CÔ!›³ª©C†7¶ælb¼NŽ9ÈGcÅ£3·ªiĤ§ÏuN‰ÌY®ýÔ|”lôyÀ½[ºÛ–éšC@.„ˆÿ¿¾wKwÛ2]󱢿 �7넇[•ôôF¹r–k?5%}pï–î¶eºæ!¢Žš#Œ…°>¯9UsÌuj¦!¡j¹0^'Çü6¯™†„jÔs�}®>Ì!kÌŸ&>Mü­¤’$Ôo¥zãüåÏ®]”:¿±ÊG.„õyÍ©š£ô…eÁ&j¦!¡a޹Î�>Wæ�5¾J-+©äÏŸ&>Mü�~ãú�«ÌÑß0¿Ík¦!¡5Ç\ç@Ÿ«sÈß¿ÊVŠ5+©äÏŸ&>M\¿sb•9úæ·ùcëA�šc®s0ûiÌ1×9˜§¿pÏóVÏQòq™¥É0û{+>�9ä/£T�;<.ó4漜fÿ�¨9æ:�­Çxa˜CÀ'[ò8pWKê&C‰3””…GVßH‘á�®ûêû9V}^6¥§Ôëh^ͦ’G×}õ}ó;K“œ!õë!Ã(ýÉÔ<‡øÂKYC®‘+„Gê³O?4y[ó;ßšbÊ: FÖ/…EäW_s¼ò^ͦô¼z¹^Ïr½¾†.|k~çʯ¬SõMÍ¥žk¼�¼¤Ôëh^�óê¥ÚÉH}NJfáüÍa~çâ2ûLç9JÎBÈâ2I‘o›yV)ë$LY¿”uª¶É\9Šù�-'gHýzÈÕ_®sJä“[óÛœ3¤>ºŽšßøÒÿïfúÿ¶ÚUôÿmµo@ÿßV„Šþ¿­ˆ èÿÛ‹øšËßµáú­ÞaÍá¡�ž®J=]a»Ó· «”î÷w}Íe�o½aMѲV+i­JZþ·i§ÖA/ÄÐï¾»¾¸¿õ×\ÖøÎ g]‡¼vZwX)ÚNþ·ÕNÑ.Œž®Bз·,,â‹û;¿æ²ÆWnx¢ó_xÛNOW%Œ^]!èUÂT¾¸¿òk.k|߆ƒúËr›³®Cþÿº�^X»0úJwo™¾åöº_Üß÷5—5¾Í†]IËF)d¥Îÿ6íôÂÚ…ÑÓ�‚¾]Õý‹ûÛ|Íe�ouÃêN+�R$_aå›vzaªvza»ïN/Dû-q«_sYã+n(w6B¥¸£fÝ8ÿÝN/¬]}¥»·Lßrý.s¹0 ÿÔ?áʼgáŸ×GÖkþ„kÍ—£dgj:ÌQúÂ2‡`¼Ô?áÂ]-©›ä%gáŸ×ƒ.Ü䣱âÎÔæ� ¼ŒR5ç¥þ WÔG.<öšÍ©š£ô……û±×t˜ƒ|4V¬2G �½fsªÀ=OϦôä�=rhòÌ!Ø/ã±Wsª¸«%K“�½šSÍf�ðÌqäÂ)³ðÇSìæ(}aábaŽÌÈ—áq™…çc¯æTé0)¬¸6‡`¼ŒRŽÿBœºÉSfá�=¦Ø³Y'ÅŽ»0ãbFŽÇÙèór”ì�”ñè0Ç/n©Ã,œ¿9è0‡`R‡Yx;îýâ”:ÌÂù›#é\VK’ÇóÐ5Ǽ4¾ùÅÍK–kèÂ3\o~%æl‚<Îà�yqVK’ÇsÌKã+~q“Ç™\áçÉlJ§Ã‚M�Ç™Üû/ÄY-Ig"Ì1×9�«mÍõ Ešc®s@Êç5³6Ç\ç@ó¶I‘r�+ïj©ëó’¹²ºz½ªo»5Ç\ç@ó¶I‘r�+ïívŠ«¯9^YxÍŸ9Ø}a™#Œ…7ÅÒœ*îþÂù¦X²9«jŽ0N™Í©âî/¼‘§Ìu²9«jŽ#Ê5tḯ^æ !ÉÒ<Ë5táæ˜—Æ÷}q¿)–$E>:Ì!à›àåM·€!Wê&yæ ��Î<Üá�|S,9JŽÎ¶æèo˜óòóö£cwx#›Ò“—üyûYzFö«ùóöÍÑß0¿Í{4§5ùh¬xtæ™#Œ…Ç^³9UsÈ…ñ:9æ·yŸŸþ–Ü�šc®s yÛ¤È9Îe޹ÎÁâºmRdŸŸÚs�ƒyé{Ý/î¯ø5—5¾zÃÈ��iTŠ;¿SêŠ�3Ûé…©Úé…Ø@½0ºûâþ꯹¬ñlØë:äµÓºÃJÑvò¿­vúˆvaôÂ6h™¾]%l÷/î¯àk.k|6”;ÙcÍ¥ðl�FËÿÝ´ÓG´·L/LØîô»·¬Úý‹ûûó5—5¾gÃK­ªÞù�A¡TSùßV;}„*‚^˜0ºô»·,Äî_Üßó5—5¾dê¢bã ¿÷,ó¿M;}¥ª è7ˆ K/„°ˆö/î/ùšË_¾aøÃ‚R×ê�=Z†�[3Ûé[n§K_iËô*º•¶qù×\Öø– ûöl¯ åŸ]»¨üoÓNOW%Œ~ƒˆÝé#6Ø]ˆ/îoùšËßkßíE)(u+EËÿ6íôÂÚ…ÑÓÝ@ú–7hYˆþÅý½¾æ²Æ·Å†µúÏ_*ûŽB¹kWþï¦�>BÕNA7‚¾½Rº»q[|Íe�oß�ì¨[’ןŠ�PêüoÓN/¬=‚žn¥BЫvBˆ/îoÿšËß°aþÓù/îoøšËß±aþÓù/îïøšË_fÃü§ó_Ü_æk.k|?æ?�ÿâþ~¾æ²Æ7rÃü§ó_Üßȯ¹¬ñeo˜ÿtþ‹ûËþšËßý óŸÎq÷¿æ²ÆwsÃü§ó_Üßͯ¹¬¡Â›;)«$jsÌMŒ¾xh^ϼÃã’~Ñ7ú¼~}4——-5‡`ãu�Ìû”r™ãÈ…Ñ?¥Z¸9J_Xæl"ü\§T 7Ç‘ §T§Øq‡ÇežR-œsLr¡6‡`áqyJÕ<ü\§T �šãÈ…ÆÃ¥/,s6ÁË ÃG.œ0¦ØÍ1É…Ú¾ ^Næ8ráè0šS5Ç$Ëa,Fsªæ˜ëÌ~sÌuf?�9æ:' ªæ˜ëÌ~sÈ…ñ:9漜0¢8rá"D×û㙣ô…eÁ&B„9Ž\�:Ì)vÜ!:¥³pþæ Ã“\¨Í!Ø„ÔaÞŽ{ÿ…8¥³pþæH:—ý ¦ó%ÉãŒ9Ž\¨ûÏ;î‹�uë‡sLr¡6‡`uëÇG.L±Z/Fâ¾Ñ9ÅÅ«/ëÅH:Ì1É…ÚD\!ÒDˆæ˜›à/²^Œ4ÇU.ˆæ¸Ê…+DšC°‰ñ:9æ!"jŽ#ÖçM±ãž§„—š_ÌÈšiš×éîÝÒݶLד\¨Í!ØDˆX¸u“û/Ä)uXõy9˵�ÿ¶îÝÒݶL×G.„õySì¸Ëõxj~1#k¦i^§Ã“\¨ÍAÊ+®q÷Fé/§¸úšãõûדæðMð2JÕG.ðFŸæTqË’¼Œ\ç”È ëó  ¶I‘}~º9úæ·ù ƒ„jG.Fsªæ(}a™C°‰ ÕsÌuô¹ú0‡¬ñ½Ô{4¥Î½ÖTÒ¾ñìñib•9úæ' ªQsÌuô¹ú0‡¬ñ½Ô{4¥Î½ÖTîÚõ�g�O«ÌÑß0¿Íy¥5Ç\ç 0£mR¤\ã2)Ôñ2Ç‘ §ÌæTÍQúÂ2‡€oâŒýë™ãÈ…7ÅÒœª9J_XælbŠ?³›Ÿ±½(Hù`ŵ9æ:cÿzæ˜ëLñ'¬ÏîQ2ŒÒ_ž2×IÝdÍ4ÍëY®Çͧø3{䣱âÙÍ1É…Ú¾‰ñ:9æ8raIys”¾°Ì!ØÄx�sÈ…ð¸<�ùm>^''j޹ÎAŸŸþ–ÜÇ=^Ù”žýͧ?OæW_s¼nßÄx�D˜c®s yÛ¤H¹ÆeŽÅ5è6"î0º¾òZ]�}s61^'€yUNÅ\ç`ì_Ϥ|PÇËs�ƒ)þ„õyæ8ráM±4§jŽÒ–9›àåM±˜ƒ”V\›c®sP˜Ñ6)R®q™óò¦X¢ �ÏnŽI.ÔæðMŒ×I„9Ž\XRžÆ‚MŒ×I„9Ž\xS,Í©š£ô…eßDx\žÆ䣱âÓ˜C@.Tõç4æ·ùÂú¼¨9Ž\8:ŒæTÍQúÂ2‡`¼™CóiŽþ†ù½ýoc~›ßæœ!ýÍ5ùh�ø•fŠ«›Cs6Ds¶†ŒÛ#èšC. iÎÒßl�šã°5dL/üºŒÑi©9ä’�æ åƒÜR´|)ž¬÷³=¢ÒíÖ¥/,sôu€{»%«oäßvkR>8±ˆ{»å ©_ÏÒdxs”ÌA>b¬2ÇÅWˆ4‡\¢9®rá ‘æ �«Ì±äÄ1)œxáîo0�‡ŒÔCLÎ�úõ,ÍvkŽþpo·í•f½?^ö7K—!5OñlÍïíóÛü6�ìC†Ÿ¨9[CÆu£/bÎ{Dö5ùhÌ8 I–9æ:µ,¡s\L!ÍqØ2nf-Ìä£1ãÈ®Ç3Ç\ç –%ôaŽ«\�æ`O±jŽ‹ "¤9[CÆí•šC. iŽ«\�æ`O±j9ÙÍAÊ+ÍQúÂ1‡€o‚?öˆìÃý ó{û߯ü6¿Íç)á ‹šã°5dÜÌZ˜9ÈGcÆó”ðÌ1×9¨e æèo˜ßÛÿ6æ·ùm^Ëúˆšãb‚ˆÚDHs\L!šãb‚ˆ+Dšc®sPËÌq• Wˆ4ÇU.ˆæ¸ÊiŽ«\¨ÍÑß0¿·ÿmÌoóÛœ”Ï‹ˆšã°5ĸ™µ0sÌu4×£™u0Çakˆq3ks¶†Œ›Y 3‡­QÇ»o Â]÷·~R¾³ös†�׳)=Ã)‘9O™?æl¢î?í¸ ¹R7ÉËÈf…‘ó”ùcŽÃÖ¨c!T*Üuë'å;k?gaøx=›Ò³Yaä¯6ÇU.\!Ò¤|@âeÍÙÍÄ#!ž°>7yœÉYY\¦|aô²R<ôýU·[sü·uo·Õ7 žŒÏÇÇëšWó£W~ûßœDnÍg9…×QsÌKã4æðMÔý§÷v;ö¯—tŠÒ)W3^Ï·¦˜Gó—Í{r»5ùh¬øýâÞn#ÅÇ“$V™Cs6DsÈÙQ›CÀ7qJ¹ÚÛÍÑß0¿·ÿmÌoóÛ¼ú_äEÍ1×9ÐçêòÆìñiâï£)(uîÚ« ’¶ó›J…2¡R¡Þ¡µî¢ÔjŠ5é3ç¯zŽ’-=¢ù�Uæ8l O"k¦1Ç\ç@óšisÌuf?�9úæ÷ö¿�ùm~›“òy»GÍqØ2žDÖLcŽÃÖãfÖ»›c®s0/r4æèo˜ßÛÿ6æ·ùm^®Çw�šã°5dÜÌzws��ÆŒËõ¸9æ:µ,Áý ó{û߯ü6¿Íû[²RUÔ‡­!ãfÖ»›ƒ|4fÜß’æ˜ëÔ²sô7ÌïíóÛü6�ËJU3jòѨãJU¢9[CŒ+U‰æáq9Åö¨9.&ˆ�æ˜ë„ë=iŽ«\�æ åƒsÌuH‘…昗Æ+ÍW7Gß4Ç\ç Œ5p�FŽ’á½Ô�9J_X¸çâó�³†.<ûkÁ¼0ž4‡`áG_†9.&ˆ¨Íq1A„hR>xqmòјñ £0Ãs�ƒZ–`Ž«\Íq• µ9/G‡Å‘ a}^sªæ˜—F³Nxæè›æ åƒ׿ å/shΆhŽ  ñ„õy¸ÉãLÎBÈâ2å £—ý�â¡ï¯ºÝšÏr �šc^§1‡€o‚—YNḷ۱½¤S”N¹šñz¾5Å<š¿lÞ“Û­9ÈGcÅßè÷v)>žä‘Ò÷3¬ÏË5‡þ¼­9æ:cÿzæ¼Ìr �šc®sP}ƒ,¶9&¹ šãb‚ˆÚsš~ÂÇW¹P›£¿a~›Wß ‹Å‘ a}æ¼ÌQúÂ2‡`�©ÛÍqä]s„Z£RÜÛíµª/ëwJdÎyåvk¹˜º}™ßæ�©Û£æ8r�®y`êö5‡œ ÷v[zÖ²„WÈú=¾Ýš£¿ÜÛmkŠOæâ2¥?a}^ê�ü=ùäÖü6ëóšS�BÖhÖ Ïü¬0êýÑ…¬¡2?+ŒzDD!k¨Ìoóæš~Â'jòÑX1»4MþÓÙ—¹rŽ~èCŽ’a”k»5Ç\ç 0£mR¤\ãʼ·ÛþH/g!3^ÏÂŒ‹[s��†ŒUùï·Lrˆ/k¦i^ÏY>Ì1×9МùHþÿú®¾‘g…‘õþx!Ããc»5G g…QùhÔq{„9æ:¤|ž9úæ÷ö¿�ùm~›ß�>/G_<4¯g/ÌÐü%}ÎuΓ©‡˜æ÷,|ôrèG6½�¯Í×É^˜¡ùۚߣ/š×“¬ý¬_ÎÅç;çÉŒõy—šW³ÞO&h^ÍYøèåг·æ·ù苇æõ¨9.&ˆÍq1A„4Çŵ9.&ˆ¸B¤9[CŒ›Yïn޹Î�æz4³yk®‡^Go¾�ͬC^EóñävkŽÃÖãfÖ•Û[Î{»%ëýOöWÝšc®s ¹ͬƒyõ�¨9æ:Õ7ø"ÏG.L"k¦©‘wä Ùèóòññú“昗F„J4‡`£/N„9æ:¤|Þîæ˜ë”ëñÝÍ1/ UÓˆ¸ûL穇˜ª¦“¼Åƒ9|³ð¡9îFŸ—²¼�¼Œ|l†ù苇Ó5Ç\ç@Ÿ«sȳǧ‰¿•+7{T²*©Ö¤)I ×^«¢råo<{|šXe>úâáDDÍ1×9ÐçêòÆwlÌ‚J:u:¥B™jJñGMK…2+Y©ßßxöø4æ�5¾ccTÒiÑ)ÊTSôMA©“¶ó›Šæ7®ß9±Ês�ƒŸ·¯¹9æ:Ì\á™c®s0ö¯‡ûM±dá*<G‡7 —a›ºÉ•S\}Íñzê�ýͧ?Oƹ²9«š:dxÃü%Ã(ýå_Nqõ5ÇëÛ\I[†dirD–œâêkŽ×C®þ2ŒÒŸŒÍïšIJIÖ~Ö/Ã(ýÉÔMÊt2…ÞËYy|¤æI'͇ ?áC'ó{ÕåóZº5¿Í5'E>5Ç‘ Í cžs”¾°ÌqØuܱ�Ê‚M M^?æ8l�:ŽØ@¥2š¼~¢æ˜ëôùéoÉ}s6Q}£ÞÏr²Q›ƒ”V\›£ô…ißÄÐäõcŽþ†ù½ýoc~›ßæÕ7êýñ¢æ˜ëhÞ6)R®qíæ˜ëü¼}ÍÍ1/�¹¸9ú¦yøÑW{DÔš³!šCÎŽÚ¾‰ð¸œb»9úæ·9)²0#jŽ‹ "®iNŠ,Ì8QsÌuÂ㲿%÷Í!à› Efs\åÂ"Í1×9(Ìh›)׸Ì1×9û×3GÃü6×{2jŽ#Ø¥iFæ(}a™còM vis¹.ùYwõ� ×{2?ë0/…¯¢¢¥æøoë–ï¬ýÔ!›^Hª¶*aÞ̦ô —ü¬“f»9þÛºGIÕ6‚n†7³)=Ã%?ë`ÃÂ¥/,sôMàîo0�§nReR>˜ñ2Ç‘ Í cžܺÉÝ“ˆ›qÊÂÔçå4Gé Ë‚M„KžË¤|°âiŽ%%¦9Hù`ÆË<\ò\QÌuÂ%Ûqf¼ž§”ËrvLsôMsÈ…pÉs™ßæá’íQü·eŽÃÖ�q»ê¿-Ü«.ÌHÕV%,Û¹FF$7Íqä»4ÍÃ¥/,s6.y®vs¶†Œ… Sá^RÀ„‘MéÉ.M“ã…¡yÕG.¼)–æTÍAÊu¼ÌqäÂ)³9Us”¾P›C°‰pÉsµ›ã°5d±» ÷’&Œ\Õ¥y6¥g¤Œ—oŠÅ<\ò\íQÈɆĭ9=O)—9Ž\`—¦a˜£ô…eŽÉ71Ø¥iÌAÊ+~ï�öüoso·«¯çýЇ­9æ:š“"Éÿ_ßKÊ$¥¿œëœ�£¤æ¤ÈG¶[s„±pVõþˆÈÿ6÷v»¸Ì0VžF½?6:u“û…ÉÕßvkŽ‹ "¤9æ:œ!ýÍvsÌu"û�á'ÿéìŽìz¼âËþfé2˜ã*¤9[CŒë2F_ÄšwHsÈÙ!ó_x{�FÖLÓ¼ž³0|dSzn¾^Ì!ØÄý´0Ç‘ g…Qï�öüosWßÈ!¾<+Œ¬÷Ç 9Ä52òõ·Ýšƒ”H¼òßïí6¬Ï“¹¸Ì‹9ÄGRóíÖš³!æ¿ðöÞnë2F_dk޹ÎÁØ¿ž9äì�ælbŽ~Z˜ãÈ…³Â¨÷G„9Hù€ÄËš³!šc®s0ö¯g>G?-¢æ �³ Ïÿ�r‡Çe†±úÈ)®¾æx}»5Ç\ç 0£mR¤\ãʼ·ÛQ²?RÆËYÈŌ׷æèo˜ßÛÿ6æ·ùm^÷·~¢æ¸˜ BâëóRs¶†ŒU¸7_/©‡9Ž\ EÎqjÜÕ7rˆ/Ï #I‘�ä,|ôr²ÞÏ‹k¨šZÄÞÈ!¾}ñ@ôȺ¿õ“µyJdÒçšC^ži޹ÎAaFÛ¤È9NDÞáq™zä(9Ä—¤ÈGÌqäB³Â˜çwõ�lV9O™?ÙœU5Gé wx#›³ªÁèo0�›C@.Œ¾x8æ÷ö¿�ùm~›Ï‡æQs¶†Œ+U‰æ �‡!É2Ç\ç –%˜÷·$éQsÌuú[²R•9æ¥ÑŽûq™¥ÉFŸgÁ&úLçÁóÒˆÀ]/™ý-iÁ&úLçŒ9æ:áqY©jšc^¯4S\÷ã2K“�>/é³=R7YjÁ›c»5‡`ý ¦ó€{»�E¾Ô!GÉúex|lÍ1/�¹8î¹ø|笡 §Ã‚MŒ¾ø\Ür¡¿%I7¿·ÿmÌoóÛ¼¿Át¢æ˜ëèsõaYcöø4ñ·råf¯‚J…z‡Öº‹Rç_åo”‚b­\ùÏŸ&®ß9±Êr¡¿Átn~oÿÛ2¿ÍoóþÓ95Ç\ç@Ÿ«sȳǧ‰¿•+7{T*Ô;´Ö]”:ÿÐZÿüýKµ¶îúSQ¹ò7ž=>M\¿sb•9äBƒéÜüÞþ·e~›ßæ£/>�šc®s ÏÕ‡9d�ÙãÓħ‰¿•+çPïÐZwQêü»CûKUTP¬Y¹ò7ž=>M\¿sb•yƒé?ý-¹oßDäÒƒ]¸9æ:š·MŠ”k\昗»psø&"—ìÂÍÑß0¿Í›Yï5‡ &Ìü6¿Ãã2WÎëW$}žùm—�>Qs��ÆŠGgîu"×~ȦôùrŠoþ†$)ò¥æzèuÎ~žáqiŽ0æO`HsªæáqÙèÓ5Ç\çàZ]�}Üá�¼V×c?u“ýµ`^OšãÈ…z�)6§šyOñÍŸÔMæ }�—�>o»5Gé ÷vKŠ|©C†7¶æðM„Çål7ùh¬xtæáÖ\ê¹ÆËð¸Ì¦ô¬×˜b’"Ÿ9ÂX�ËæTÍqäBFsª¸u“�îaäÐäå;³Ýš£ô……{» sñâËYY\æÑüm·æ˜|ƒ“šipo·MéI˜3ôu^òE^Øšc®s— Ç—!}^òE^Ž’ýͧ?¯›CÀ'ÂãrFàž«÷ý o$y‹‡ä%Ié/}^Øšƒ|4Vü­¿¸Ã(WÖkLq»5G õSlN5óÞnI‘/Ë5tá[s��ÆŠ_¸Í×Ivóz>.Í1×9�KsÈYø3¿ÌoóÛœ/òÊOÔ䣱âòÃÉó®–"“/òèÇ;'û›O^7Ç\ç <.Íq• ¢9ú0¿·ÿmÌoóÛ¼úFã8l 1nfm޹Î�æz4³•#ò–å…äe¤æzèuôæKÙõç™ãÈ…Í©š£ô…eÁ&ª|‘w.sÌuô¹ú0‡¬ñ]Bîì)öhBs×^•´�ßÔ7ž=>M¬2¯òEÞ¹¢æ˜ëˆ�¯s&ª|‘w.sÌuªop‚»úFñ%_ä™c^¯ ܺÉWFœC|pk®‡^ãå, Ù”ž�>/ÇþõÌqØbÜ̺r»9_ä�«5ùhÔñæ˜ëô7?¸«oäW7‡€OTßàD˜9Ž\hÑœª9J_Xæl¢ú'æ˜ëèsõaYã;ö~S©ü£H5õ—ÚÛÈMhîÚ« h;¿©o<{|šXe^}ƒ“ˆ¨9äBuþ„×ÍïíóÛü6¯¾Á‰°¨9æ¥ñÊÀ­›|eÄ9ÄÇ“—$¥¿lôyÁ‚MTyÃóÒx¥™â긫eäsÌuúü„7‡9}~^æ˜ëDöðæ0Ç\ç@óÙ/æ˜ë„Çåš?æ� }~Îe~›÷ùyeDÍ1×9ˆìõ)óÇs�ƒð¸\óÇs�ƒyJhô1‡€\�…?óæw`ê^˜¡ù æ·yx\6ø¹"¢æ˜ë�†/òp‡·ú³)=ù"/¤ð+ɦt²FKÍ!˜à�=81Ç‘ ͬ+·«pë&çõ+’ÙvØÙèó¶[s,®Q©JĽÝÊ¿#ÃãÒ¾‰ÁÏaŽ# ^‡õy¸«o$_ä™ã°5dÜÌ7)Ÿ—zä(ÙÌÚì)VÍA>uÜa޹Î)Ÿgö«æâ‘àuXŸ‡{IÙ³4É{$_ä™ã°5ĸÑçÍ�{†�lôy!›ÂpiÍ;ˆ9äÂàçŠ0¿·ÿmÌoóÛœ?öà$jŽÃÖc¾È›#ïY>’/òB6…áÒrvsø&?W»9[CŒù"¯fšÌ;¬ÏË0VY𬙦yÝA<¼ëóÌqäB£Ï›ÃóÒhyܼ$)ýåÏ–wÏÑÍëÁ}šƒ|4VÜòî¸ ?ûÉþ6¯g£{Ùòîæc¡ÑçÍaŽþ†ù½ýoc~›ßæw˜‹‡œDÖL“³0|h^M¾È ¹¸Ì‹CójÊw4Ñãõ~¸Ö|-5¿W3^ϳÂH¾È3¿ÍÃ\˜1ÉÜÛíâ2/fd¸Ö|9Ä×ßÖä·ÿmÌoóÛ<<.g{ÔG.4³®ÜnŽyi|ókÁ&êóÓèóÌÃãrFDÍ1×9˜¼¿‰»úFr†Ô¯gi²¿Yº æ˜ë”ëñFs��Æ‹+U™c®s¹ôàëÇ<<.Ï5Ç\ç Ëðæ0‡`"<._iÌ1×9Ð|öÀ‹9ÈGcÅíæcáõ>‡yx\ökDÍ1×9�KQvsÌuÂã2¼iŽ#æO`Hsªæ(}a™cn"<.gŸæ˜|áq9‚9æ:Õ7Öü1‡`"<.û5Ì! Âãò\æ÷ö¿�ùm~›‡Çå+MÔ䣱âW†9æ:áqi޹ÎAõ�5Ì!˜�ËWsÈYø3¿·ÿmÌoóÛüîo>ýy¹²Ñç™ßæ}~}¢æ8raþ†Èæ ÜÕ7’ù²¿Ì ãɬ÷³\¯¯Qº9ÂX˜?�!Í©â£ô—z˜÷ùiôi�šc®sp­®Ç>îðF^«ë±ŸºÉþZ0/Œ'�{·t·-·›ãÈ…z�)6§š÷ßüIÝ$aÎØnÍQú½Ý6ú¼$E¾­9|}~f»9ÈGcÅÍ:áánΪf¤øúËQ²¿Át¾Ýš#Œ…ð¸lN÷vÛ”žü±G6ú¼}ñ°5Ç\ç úFÃqWßÈ!¾lôyÉy[søDŸŸ�{®Þ÷3¼‘ä-’—$¥¿lôyaã2K“|‘gÁ&—|‘gR> ñÂ}1#ù"/5ÏfÖæ8r¡Esª¸çâ9ö¯—z¤n’—lÑœª9J_Xæl"ü\cÿ2Ç\ç û# óðs�ý+Š‹ "jÜa}^ΟÀs��ÆŠ×üÁ½æOVßšWó¼1^7Ç\ç <.Íq• µ94gCÄ]}#ùc�œâêæ åƒܲðïÈóFò¢ÃÛþ·eŽyiÐmDÜÛí\LxY>¯7§Dn·æl¢:Â븷[ÍGÉ«—j_$Wkk¹ÀyçªšßæÍØaDÍqäB3ö'æÐ¼c™#Œ…fìO>Ì1/ !p¯þ2òå9Ä—�>/Çþõè0‡`áš# ÜÕ’ºÉPÌ—áQ�òÁЉ9æ¥ñÍ/îñÂȦô ךÏ“obì_÷Ø¿^ê&yæèo˜ßæáš#Œ(Hù`ÅÄóÒøæ÷xadSz†kÍ—šg£{Ùèórì_/ëýñÌÑ7�[þY˜q1#¯×u‘©› ךÏ䣱âïö sÌuÆþõÌ! —Ḡ3.fd£{Ùèórì_/ëýñÌïíóÛü6\òE^ÔG.´hNÕ¥/,sL¾‰ÙOcR>XñÄ—9Å7CÌ1×9�Ks��F·›c®sÐßüàžâ›?�!Y-EÒaŽyiAx\âÞn# ÿŽ �Ëì¿*ÙèóR¾ «| ]øÖG.´hNwKdòE^êf»5Gé ÷vÛ¢9ÕäedxckR>X11‡`kþœËs�ƒfì�0p�ýëåW_s¼žoÌ­ùš?犚ãb‚ˆwXŸ—ó'0Ää£QÇí¸#—Ù”žýͧ?¯o·æ˜ëô7?¸·ÛQrÍ^"ϓշݚã*jÜÛmõ�¡y5Ïãõ­9aþ„×Í1/�5Ì!à›Xóç\æÐœ 7ì‘S\ÝrvHsø&ø"ç æ �¿ÒLqõ¼Ç;'û›O^ÏÇe–&ù"Ïs�ƒð¸4Ç‘ -šS5Gé Ë“oböÓ˜ƒ”duÜn޹ÎAóƒ»úFNñÍŸÀ�íÖ“\�¸·Û¦’ýͧ?¯oÍ!Ø_ä•ó0ÂëQs��ÆŠkÉÉó®—L¾È£ïœìo>ýyÝs�ƒð¸4Ç‘ -šS5Gé Ë‚M„Ÿ^o7Ç\ç@Ÿ«sÈßÉ’úÛ’Ö?¿“R«•êo<{|šXe~fx½=jòÑxq¥*ܲ¤¸¸ âúѼšåóº9æ:‘K~.ܲðïÈ«k>’N+ré¡y5ùú¡S’P5ùh¬xÍsÌuÂãÒr!<.9i7¿·ÿm£QÇ*s¶†O"k¦©a¹$js��‰#T¢9[CŒ'‘5ÓTn7)Ô11‡æµ94ï¨ÍÃ\ü\íQshΆh9;js6!y˜‹›ƒ”VLÌ1/�•hßD˜‹Ÿ«Ý<ÌÅÏ5‡ælˆ¸ßùØ£¯ ך/˜CÎŽÚ‚MHæâæ åƒsÌK#B%šC°‰0?W„9‚x$ê*'wXŸ—a¬>²4Éy!5ÏIdÍ4æÐ¼£6‡œlˆæa.~.aQshΆh9;js6!y˜‹›ƒ”VLÌ1/�•hßD˜‹ŸK˜9Ž\à‹¼9pÏÂð’/ò‚94ïXæc�/òæ0sñsí5‡ælˆ¸ß®5_0‡œµ9›�<ÌÅÍAÊ+&昗F„J4‡`a.~®ÝÍ! Â\ü\ÂÌïíóÛü6—<ÌÅ£æ  G¨DÜáZóåjÆëyV9ÅÕÍq• ¢9úæ÷ö¿�ùm~›ß×Yó…ä�=’/òR󬙦y=CÉï¼ÈÑü}“¬ý¼V/õ0¿ÍG¥fš¨9Žx$ê*'Áä£QÇ*s¶†Œ›Y×LS9Â|Ô犚ƒ”VLÌ1/�•hÁ&F¯›Ç¥9ÂXlHshΆhÍÙ�æÐ¼£Æ= ÃGNqõ�š'_ä™C@.Œú\æ÷ö¿kòÑXñ·þâ£\Y¯1ÅíÖa,ÔkL±9Õ¼·[RäËr ]øÖrAþÌoó>?³=jŽ#šYWnÇMÖÏËÀô—�>/uH¾È“昗Æ7¿æl¢>?�>Ïr¡ÏÏf~›÷ù™QsÌuæÏ¼H„9æ:ó§^?ÌeÞçg ‹šc®sðú �>æ˜ë�õó}ÌqäB‹æTÍQúÂÂ- ÿ޼ºæ#I¨¦n¶[s6Ñç§ ÷v«y¶`ôÛ­9Ž\¨×˜bsªøosï–îvs”¾°Ì!ØDŸŸ& ÜÛméY¯1EsÌuô¹úÀÿ¯ïÝÒÝn`YãÛìUP©dAÑâTS;¬§B™jê/µ·êÏŸ&V™÷ùiˆšãÈ…ùÒœª9J_Xæ �óõcßDŸŸFŸs��ÆŠgŸæ}~}"¢æ˜ë„Ç¥9Ž\hÑœª9J_Xæl¢ÏϹÌqäÂü iNÿmîÝÒÝîÞnŽÒ–9|}~øú!À­›Ô€û�ð2¬ýœâ›?�!IŠ|æ�5¾“%õ·%­~ç-©]»¨¿Šo<{|šX…ÿ¶îÝÒÝîÞnÞçç\Q”N¦ˆ{ÿ…ÔM–N¦˜áñ±ÝšC°‰*ïoàÞnß /eÉòy}k^�?áõ¨9[CŒ›Yãžç­žÍ¬Sø�=ß5Rvýy-ÝnÍ1×9Ð\�fÖ¡rDÞÛmÐ|¾Ô#‰®Š#ë—r‘U}r»5Ç‘ -šSŽÝÖû9JI²ø~Nqõ°5Gé Ë‚MTçOx½Ýs�}®>Ì!k|'KêoKZÿüNJ­Vª¿ñìñib•yuþ„×Û£æ˜ëˆ�¯ܲ¤¸¸ âúѼšåóº9Õù^o7‡€\¨¾ÁI»y•÷7¢æ¸ÊÑý ó{û߯ü6¿ÍÅÀ×OÔ䣱b¾~p‡Çeòõ“ úl·æ˜ë„Ç%îí¶¿ùôGój®ù³5Ç\ç`þ¬ºô�[þY}#E†W“¹R|ý™ƒ|4ê8wäÒ##2¼Y¸ Û­9æ:ýÍîíVóìo>ýy[sÌKcÍܺÉ5âþÓyFê!n·æè›À½ÝÎÕû~ÎóVßš#ŒiŽþ†ù½ýoc~›ß惓ši¢æ �7넇{®s²é…dx\6údág? ŸokŽ0š0šS5G �>osÌuÂ\܇­!Æ|‘W3�9‚x$xÖçáëórIÙ³4ÙFòEžùàçj�šc®s0ú(5Ó˜ã°5ĸ™µ9[CÆÍ¬k¦  �ùm~›�^7�˨94gC4)¬˜à~käc�¾2\k¾`ŽyiD¨Ds61zÝ<.ÍÄ#QW9 æ8l 1nf]3Måö¼/fäFçWY¿¦ô—|‘gR> qmŽþ†ù½ýoc~›ßæ·æ9¯_‘ül#âÔM6ú¼Ô!û¯J–ža?Ä©Gê�S\¼údŽ’ßzý|·æ·ùü™‰ˆšƒ|4fÜa޹ÎA-K0Gé wƒéχ­!ãfÖæ˜ëÔ²sÌKCÕ4¢9ú¦ùmŽ%%–9–”X¸ sF.úþªYïo·æXRb™cI‰…{»‘£d£¹Ünͱ¤Ä½ÝòE^jž’¬­9[CŒ+U‰æXR☃”N¼p‹'¯¢ù9JJÝ“/òÌqØ2ÂrIHÜWÑ|ä(ÙUr�Ñu�õþxæ åƒs,®Q©JÄ=^IBmßù™b·n2¼'Y?/§¸xõ™Cs6DÜS|ó'Ã~�ä£ë:ëýñÌAÊ+&æX\£R•h޾ ܼŒl;ì‡,=Ûî¿*æ�“ ÑœüL±5ÇakȘ¾RsÈ%!q_Eó‘âÉQ²ÑçñE^VÎvs¶†Œ›YWnÇV™£¿a~›ßôÿ»nèóóz�šßæ7&KêoKZs—R�»Ô;¿÷hBãTn„R«ÿÐâÜ¡±&‹õžbã¤Ôj¥ºu›×ŽzO±qRjµRÝj~ãï�¦Tä/T²R ꯂbÍ?´ ªµ5,©d±£ÞSlœJŠ=%-Yî´æ/EËVª‚ú« X·æ7Ú·O­Vªó¯’•Já¿Þ§|-M!wZ³•Rä-û›ŸT+ÿ(öhÔÖüFÄöõ>åÛP•»”ê¤)“R«•êÖ8_ïS>áE¸©r—R�”Z­T·nÍoÛê]©`I©©ÜkÍZRjµR§ZùG±G£RM)þ¨i­)äž‚eþÝQ«7Î];B³•RlÍoó>?¯÷¨9.&ˆ¸B$î°>/§¸z޾x zŒ'ÍqäÂë}ʇ»úFö7Ÿþ¼|½—ž³ÈgŽÅnR�Ü|½ÐaÁ&úü¼Þ#pï¿'/Ùß|úóòõ^º9®rá ‘¸û £ô—S\=G_<=Æ“æcwx#çê}? ÏQRs©ç/Ï×{éæèo˜÷ùy½GDÍq• WˆÄÝ_¥¿œâê9úâ�è1ž4GÃü6¿éÿw#ÜÐçG¾Þ£9YR[Òš»”êÜI5õ—ÚÛ•”Z­Tç�5Y÷ZYTìlÜš;,X¨•,Ô{; ÊüÎá¥V+Õù›jmæLôù‘¯w܆\©›âë/#WÈÅóõ^º9楊hÁ&úü„"š£ô…eÁ&úü„昗Æ+ÃaLsôMs�òA/s¹Ð¢9Us”¾°Ì!ØDŸŸðz7ïóž5)¬¸6Ç\ç`öÓ˜c®s >v1Ç\ç@Ÿ«sÈ_1ÕÔß�|¿¬qÒ”Š EüƳǧ‰Uæ}~Âë=jòѨãvÜ‘K�lJÏö on·æ˜ëô7?¸·ÛH=Ää%§¸z0‡€Oôù ¯÷¼O)W2|è“áqùzÊŸ9Ž\˜?�!ͩ⮾‘S|ó'0$›³ªæ(}aáž}¦æùšæÍA‡9ÈGcÅ|ý྘‘|ý¤æ¹ædˆ9|}~Âë¸y‰3<.sˆ/ùú1Ç‘ �îa�—wõ�lt#‡&/C¤S4Gé ·¸B6º‡‘¡ˆY¿Ç³¿ùôçI:ÌA>+æë÷ÅŒäë'5Ï5'CÌ!ØDŸŸðzîýââã—É×�9ÈGcųOÜã�“áqùzÎ>S‡Ô<_Ó¼9Ìûü„×#¢æ˜ë„Ç%îívˆ/ùúI¥:gŸ©¦„ûªUaŽ#^ïsà^ué#u³ÝšCóŽ…{»�|)®ÏËþÖŸÜnÍÆÂë}ÜÛí_¾ÞKßnÍ1/�×ûÑ÷v{4уs&úüôkàÞæ �«Ì1×9˜§Ï>qÏóVÏÙgÎÂðñº9[CŒ+U‰æ}~¦Ø£æ �:n7Ç\ç ¿ù1‡`¢ÏOe˜c®sÐççõŽ{ŠoþdSzö7Ÿþ¼|½—nÁDŸùz7)�x™CóŽcßDŸŸ)vs¹0CšS5Gé Ë‚Môù™}šƒ”d<ÍÁî Ëa,È5Vsªæ �:n7Ç\ç ¿ù1‡`¢ÏOe˜c®sÐççõŽ{ŠoþdSzö7Ÿþ¼|½—nÁDŸùz7Ç$¤9|}~æëÝ|Š?�3$jŽ#úü^ÌAÊu¼ÌqäBxsðbŽI.Ôæl¢¿ùYóÇšw,sLr¡6‡€obÕ¥sô7ÌïíóÛü6ïó3ûŒšƒ|4^�›3¤~=K“³Ï¬÷Ç æ}~fŸQs��F·›c®sÐßü˜C0Ñç'Œ2Ì1×9èóóz7‡`¢Ï�|½›CÎŽgßDŸŸÙg„9æ:Sü™}š£ô…eÁ&¦ø8CÌqäB‹æTÍQúÂ2‡`}~ÂëݼÏÏì¯GÍ1×9ÐçêòÆìñiâoåÊ9ûLJ­Vª³råo¬2‡€\èósun~oÿÛ˜ßæ}~æë=jŽ#Z4§jŽÒ–9›èó^ïæ}~æÕ£æ˜ëèsõaYcöø4ñ·rMÊç¥Ô=ù"/GÉfÖÛ­9ÈG£ŽÛÛqo·‘zˆ…9ÅÅ«šWSvýy[sÌuHù$VáÞnUÙ”žýñEÞÖ‡­!ãfÖæ �GÃÝ_ä™c®sPËÌÑß0¿·ÿmÌoóÛ|þÔ뇹¢æ8r¡^?ÌUï�gŽÒ–9ú¦9ÈGcÆ¡O±1Çakȸ™µ9æ:µ,Ášw,sôMÜ�>ÝJm3KŠ–B•Tk*”Ùç'¼ÞS¡LÔB©T°¤²b�F™ßù/¼Ú¡±f+EcÍ�äëgk~›÷ù‘¯÷¨9Ž\hÑœ*îŒ~cûß–9J_X¸·ÿm‘"æl¢ÏOx½ãÞ!N^’„ªyŸùz¿¢æ˜ëœÔçêòÆìñib•9Ž\x½OùpWßÈþæÓŸ—¯÷œE>s,®Ñtò:îÈrˆ¯¿\ÙôE4¯æë½t:Ì!ØDŸùz�È›—8«%§øæO6¥gù¼Þn޹Î�>Wæ�5¾•+g£Þù½Gš”Z­TgåÊù�Uæ˜ëôù‘¯÷ ò¾ºæ#7:K“¯÷ÒÍÍûüÈ×{DÔG.¼Þ§|¸«odóéÏË×{Î"Ÿ9×(�á¯ãŽ\!‡øúËų|^ï 7‡`}~äë]XÞ¼ÄY-9Å7²)=¯ÕõØÏ×{éæ˜ëèsõaYã[¹r–�PjõZRjµR�•+ç7V™c®sÐçG¾Þ70ïó#_ï¢æ8ráõ>åÃ]}#û›O^¾Þsù̱¸Æµúë¸#WÈ!¾þr嵺ûùz/�s6ÑçG¾ÞwÏ›—8«%/¦W_ÍŸ9æ:ú\}˜CÖøV®œ×ŽzO±qRjµR�•+ç7V™c®sÐçG¾Þ70ïó#_ï»GÍ! úü„×;îjÉny‰sôý\Õ¥¹9Ž\hÑœª9J_Xæl¢ÏOXõ0ïó3ZDÍ1×9˜?-=Ì!ØDŸŸðæ0ïóV=¢æ˜ëÌSB£�9æ:¯³õ0‡¬1{|šø[¹r2´�_*¨T(SMý¥ö6Bå/Ê¿-Iú\¿(ÕŠ=šÐ¬\ùÏŸ&þ¶ý5¿Íûü„QFÔG.´hNÕ¥/,s6Ñç'Ì>Íûü„kDÍ1×9ÐçêòÆìñiâoåÊ9ö~SÊ?Ь\9¿±Ê¼ÏÏÕyÔG.¼Þç0ÇÅ¢9ÈGCŒUæ åƒ/sÌuä›…æ¸ÊÑs�ƒÙOcÞç'Ì>£æ˜ëôù ³ÏsÈ…>?áõn~›ß½0Có—‘úœ ‘zL1›^HÎ>s”œâ›?�!©›|}ò‘ý­)¾�¯÷Ù§ù½¸ÌF÷0ÈKrtæ™ßæ}~Âì3"jŽ#^ïs˜c^¯÷Ù§9:ß4Ç‘ �îa�gŽÒ–9ú¦9Ž\˜?�!Í©š£ô…eŽÎ7Í1É2G ó'0¤9Us„±0Cds†9Ž\hÑœª9J_Xæè›æ˜ëèsõaYã[¹r!÷YîÑ„¦B™“%õ·%­~ço%+••+ãÙãÓ˜CÖøV®œ�¢±Rêü½³qÒ”Šü…ÊÙgþÝa±óK••+ãÙãÓÄõ;'åœ,©¿-iýó;)µZ©ÎÊ•ó«Ì! úü\�›ßÛÿ6æ·ùmÞßü¬ù5Ç\ç <.×ü1‡€\èóÞæ÷ö¿�ùm~›‡Çåš?Qs��ÆŠ×ü1Ç\ç <.ÍÑß0¿·ÿmÌoóÛ<<.EÙ£æ8r¡Esªæ(}a™C°‰ð¸91Ç\ç@Ÿ«sȳÇß@ÑX÷hBs£ó«Ìq1A„hŽ#‰ðæàwõ� oŽÒ“3¤~Ýs�ùfaî«k>R�Ô<囚¬c޹Î�>Wæ�5¾™ÂÿÆ*sÌu¤È.ÌÀÝÞrÖz¤øØ9 ÿ¼táIç²0ãb†9æ:ú\}˜CÖøŠ-ýÆ*s\å‚h—"'Qs��ÆŠCÍ1×9�Ks¹Þ¼˜c®s—æ8r!¼9x1Ç$Ës�ƒð¸4GÃüÞþ·1¿Íoóð¸ oFÍA>+n7G r�Õœª9ÈGcÆ*sÌuæé³Os¶†WªÍÃãrFÍAÊ+&æ˜ë„Ç¥94ï8æðM„Çå4»/,s„± ×XÍ©š£¿a~oÿÛ˜ßæ·yx\Ο5)¬xšc®s—æèo˜ßÛÿ6æ·ùm—³Ï¨9æ:�æ³Os�òÁŠ¥9æ:áqiR>Xñ3Ç\ç <.ÍÁî Ëý ó{û߯ü6/yÙ†KsÈ…ë,>Å*nÍ“Nóg^$‚NIŸý�”…¿âëÏüÞþ·1¿Íoó›0ghúFŸ—kÎB¦î…š¿lz!9¯_‘dÂëß�Õ^˜Ëün4ûɬ÷“¬þ“›OW_ÏJÕN÷W•ªÌï¹zßO2¼‘ºI^’”þ’/òBÎų~Ù†KóÛœ4|‘5iÖœ/Ü+Éš½¤æIÖì%l�®Íoó>?áÍ5ùh¬¸Ýa,¼Þç0ïóÓ¯5»/,Ü›¯—\s2Äa,¼Þ§|¸çy«góéÏË×{é9‹|æ8r¡Esªæ(}a™C°‰>?¡…9æ:ú\}˜CÖ˜=þ.!wö{4¡¹Ñù�U渘 BÄÖç¥æ8â‘o^pWßÈðæ(=9Cê×Í¡9"îš!Wêa޹Î�|³0÷Õ5Þ¥'gHýzjžòMMÖ1Ç\ç@Ÿ«sÈßþ7N•9æ:Rdfàno9k=R|윅^ºð¤sY˜q1Ãs�}®>Ì!k|Å–~c•9Hù`Åwág?O‰Ìz¼d“YïçÕKµ/bŽ«\q÷Fé/õ0¿Íûü„Qü·uG.=²)=C³ô|e˜ƒ|4ê¸]…»]•áÍÂe0Ç\ç ¿ù1‡`¢ÏOe˜c®sÐççõŽ{ŠoþdSz¾ÞK‹éÕ—Gógx\&_?æ·ù-÷ZYTìlœ –TÒþüþ…R§rW*XRI©ÕJuœ¬ÊÜÉ¿;jõÞŽP*Õ”â�š–;4֬أQ¹‹¢X·æ·yŸùzß jŽ#^ïsா‘¯÷Ò“3¤~ÝDˆæ  1V™ƒ”N¼Ì1×9�ofà–:\gí§æ¸ÊÑs�ƒÙOƒ[–œ=ÎÓ˜£¿a~›ßU¥"C“>…RŠü¥Bù·%¹ÑqþR¡üÛ’Üèü«üÍ¢‚úMÑ«ùmÞç'1 v_X¸7_/¹ædˆ9ÂXhtƒ¼¼5—z®ñ²Ñ=Œ EÌþæç+ÍA>uÜŽ{hò 3rÃlÏð¦9æ:ýÍîêÞ¥›C0Ñç'Œ2ò®–‘C“W˜a޹ÎAŸŸ×;î)¾ù“MéÙß|úóòõ^º9}~äëݤ| ãeòѨãvsÌuú›s&úü„Q†9æ:}~^︧øæO6¥góéÏË×{éæLôù‘¯wsL²Ì1ÉiÁ&úüÈ5–9Ž\hÑœª9J_Xæl¢ÏOx½›÷ù©Ã‹šc®s ÏÕ‡9d�ÙãÓÄßÊ•3ëÖl¥þ*”êÜèÜ£¥ÈªþƳǧ‰Uæ� }~ÂëÝü6ïó#×XQs�òÁŠ¥9ÂXèóx1ùh¬¸Ýa,È5Vsª  ¿Í«o¬ù5ùhÔq» ¸ÛUÞ,\sÌuú›Y5‡`¢úÆe˜c^kþ˜£ošƒ”êx™ãÈ…Í©š£ô…eÁ&Öüy½›ƒ”V\›c®s0ûiÌ1×9»˜c®s ÏÕ‡9d�¯˜�ú»‘ï—5NšR‘kþ|ãÙãÓÄ*ó5^ïQs¹ðzŸÃšw,s„±ðzŸÃrv,sÌKãõ~41GŸæ8r¡Esªæ(}a™C°‰V]ú0¯®ùó‰šc®s0Z0z˜#Œi޾i>êKQsÌu^gëaYcöø4ñwîо_E¶R4Öl¥þ*”ꤧÏõ‹R­Ø£ ýƳǧ‰¿mÍ«o¬QFÔG.´hNÕ¥/,s6±æÏëÝs�}®>Ì!kÌŸ&þ޽ߔò�"•´\óçÏŸ&V™C@®\óçõn~oÿÛ˜ßæ·ùüYué#jŽ#Z4§jŽÒ–9ú&ÌçϪ«%j޹ÎAk˜£ošc®sðóö57Ǽ4æâæè|Ó|Õ¥�¨9[#\qkþ˜¯ºôq¢æ �:n7Ç\ç ¿ù1‡€O¬ºôqÌA>+ž‹›c®s—æ«.}DFÍA>uÜn޹ÎAócŸXué#Ò䣱âo~Í1×9�KsÌuô¹ú0‡¬1{|šøÛ•{4*ÿ‡­!cY3�y—áÍsEÍq1ADmŽ‹ "¤9ÈGcÆaH²Ì1×9¨e æ8l 7³6ùh̸¿%Í1×9¨e æ¸ÊiŽ«\¨ÍQúÂ2‡`]†7Ë�9äìXæl¢¿Ò˜c®sð:[sÈßÊ•³Ù« RMí°&¥V+ÕY¹rÛ_ó.Ûå'jŽÃÖãJU¢9ä’�æ`O±jÍ;¦9Hù`ÅÓóÒ�5Ó½YI¥y×LÓ¼žAo¾Ô<Û#*Íz¼ oŽÒƒ9›è²n˜sÌ! º ožËüÞþ·e~›ßæý•&jòÑXq»9ÂXx¥9Us�òÁЧy—uÜ5G áMÍëÆ‡­!ƲfsñH„7¯ÑÍqØ2®T%šƒ|4f†$Ës�ƒZ–`¹Ðexs˜ßÛÿ6æ·ùmÙÛ#jŽ#‰ðæ5º9ØS¬šã°5ĸR•h޹Î)Ÿ×Q©9ØS¬š#ˆG"¼y�nŽ#›š×�94ïXæc!¼©yݘc^²fš 7+©4ïšiš×3èÍ—šg{D¥Yï�—áÍQz0Gç›æ‘½>eþDÍqäBxSóº1Gé Ë}Ó¤|0ãeŽÃÖ�±¬™Æ\þDösEÍq1A„hŽ‹ "¤9.&ˆ¨ÍA>3C’e޹ÎA-K0Çakȸ™µ9ÈGcÆ‘]�g=Å7²)=—)|UÓˆ-5‡€o"òpó2òq™¥I©ûö¿­«—ùBÈÇ�s¹@û±nQ�|\nÿÛª¾‘¢®Š/Œ|ìñøH^¶Þãæ åƒ/Ü‘¢žbVõç…|ìñøÈY>’¾Ýä£!Æ*s�ò�ŒEs¹Ð'¸«od³t™³0|di’,v>öx|dx�›ƒ”^¼p‡õy©Gjžò™C. ÑrIˆ¸ s†¾Î~nt–&{<>BÒ·›C. wM^ÈöˆJÍ!—„h¹$DsÈ%!šC. ÑrIHÜKÊÔ<ƒÞ|Yš<+Œ|ìñø0G�DŸ|àëór”±Nö7K—9 Ç9úÀ½¸ÌÇÖÃüÞþ·1¿ÍoóÛü¾Šæ#GI©û›£ôý||ô}óÛ<ò¢æ�³cáf¸,yõ÷ɯæ=×׋kÃMÖÏKR$s˜�»›cI‰…›0gèëìoÿÛ2Ç’ ÷v[ï§°ˆ¬ß\LxæXRbáÞnßšbJÝߥï›cI‰…{»}|ôýÔ!…E˜cI‰…{»­÷Ç y ¯šã°5ĸR•ˆ«h>r”¬™¦yÝKJÜWÑ|ä(ùøèûæXR£}Ü¥iÂ9Jö7K—9 Ç9HùàÄ ·x’—È¼Šæ#ä(ÙßÌY>ÌAÊuLpWßÈþfé2gaø0‡œlˆ«\¸B¤9.&ˆ¸B¤9æ:Ì%gŸ¸ç:“9k¼œ}šcI‰iR>˜ñ2�ËȨ9æ:áqÙß’ûæðM„Çe¤9®rá ‘æ˜ëf´MŠ”k\æèo˜ßæ‘K¾~¢æ8r¡Esªæ(}a™C°‰È¥?—9æ:ú\}˜CÖø.!wö{4¡¹GÛSìíT$_?ßxöø4±Êæ8uÞîÐþRë7ž=>M\¿sb•9ÈGcÅßú›ÿmîÁtž„9CÓ7ú¼$E¾íÖa,ÔkL±9ÕÌ{»-M“¡d/ÌÐüåã2lÍ! dáoÌg~oÿÛ˜ßæ·¹æ³^¢æ¸˜ B4Ç�Dxsð‚»úF†7GéÉR¿nÍÙq× ¹RsñH„7/¸Ã(ý¥æ åƒs\å‚hŽþ†ù½ýoc~›ß毯Ðè5Ç‘ õSlN5oYøwä ?Ù”ž¯¯ð¶[s”¾°po·š'aÎÐô�>/I‘/ÞnÍ!Ø/+üàÞnL)Kê±5Çakȸ™µ9ÈGcÆ¡O±1Ç\ç –%˜CóŽe޾i޹Î�>Wæ�5¾Í^•”píµ*Z“ž>ÇÆ,¨ü~÷¿ßT(“Rï´RÑüÆõ;'V™c®sðóö57ÇÅWˆ4Ç\ç`ì_ÏW¹p…HsÌu˜¹Â3Ǽ4¾û_sø&ÈãŒ9æ:³ŸÆœ—~¢æ8l 7³6ùhÌøõž9æ:µ,Áý ó{û߯ü6¿ÍëóÓèó¢æ˜ëèsõ�»fhþR7ÉK6ú¼Ô!ù"OfSzÒ)<.锥'�ú›O�Ì!kÌŸ&þreîÚ« ²•õwo×Åú�g�O×ïœXe¹@gÌÍÉúy�>Qs¶†Œ›Y޹ÎA-K0ÇU.Ôæ¸ÊiŽ«\ÍQúÂ2‡€o"²¿ÞÍqØb\©J4‡\Òì)VÍ!gÇ4‡€oBþDös™ƒÝ–9ÂXoj^7æ8l 1–5Ó˜#ˆG"¼y�nŽþ†ù½ýoc~›ßæ‘ýõùhÌx.n޹ÎAx\šc®sð:[sȳǧ‰¿O­VªSHõžb�&4wíUPßxöø4ñ·í¯ùm~ÓÿïF¸¡¿ù‰f§þR{¡r'ÿ²ÜQïüUPjóÛü{¿)åE*ö~S¹×š{´¬ãÜ£e+õWIcmÝæ£)ÔçFövòÛßüÈê7Y© JAµ¦Ðõ/;B)óû/ËõÎ_¥nM%-,©¬Ø£QÛl”꤄kç7‹ *N–;Ù£ MáéŸVE¶R4Eîd+õW¡TÇùw§¢b�&Ôüîo~d5…Ü«¨HVª‚RP¹CÛ8+öhTÒ”{­TîÑXÿü¥Xó/ËõÎ_¥nÍSx5¡v)ÕT*XRæ÷š?¿âë'…Tþ©`Í_¨TS©½�P¬[óÛ¼¿ù‘Õ(^ &Û6Ç\ç@ó¶I‘r�Ës�ÍÛ&EÊ5.óþæ'jŽ‹ "¤9Ž\hVóü˜£ô…eÁ&HxÓ¤|°âÚKJ,s�òA/sÞŒšã°5dܾ�ê¿-Ü-«„'Yš,]WsÕÿæ�“ w½æOÊÉs”|ìñøHÎ�úusÈɆhŽ#Èb?öÀ= ¹V©‡˜“éýñ‘d±·æ(}aáÖMò’d±sÿ sj]­¾Ž{ˆ�gXŸ—ýÍÒeÎÂð‘‹ïG®}sLr�˜CÀ'HéOên^ëjõõ¨9Ê+®q‡õyÉ_dö7K—9 Ç9ÂXè“s�òÁŠ î°>/ù‹L²ØÛ|ìñøH^¶æc�,öcsÈRú“ºã®–l4—IJùØãñÌñ¸Ô�y¹oô‰šƒÝ–9ÂXhfýØÃ‡­!ãfÖæ �—ëqsÌujY‚94ïXæðM”ëñòc޹ÎÁël=Ì!k|çíûU¤’EË]{TÛ_ór=^~¢æ8r¡Esªæ(}a™£ošc®s—Cà^yt�dÍ^2ˆ%2äÐäå(—0GÃü6Ÿ§„FŸ¨9[CÆÍ¬ÍA>3ž§„g޹ÎA-K0‡æË�ošc®sð:[sÈß¹Cû~ù·BÙJ宽 ªí¯y—áÍ5Ç‘ áMÍëÆrv,s„±ÞÔ¼nÌ! è²>eþ˜ãˆG"¼y�nŽÃÖ�q¥*Ñs�R>¯=¢RsñH„7¯ÑÍÑß0¿·ÿmÌoóÛ¼Ëú”ù5Ç‘ ¯4§jŽyi´›#Œi޾iòј±ÊÕ7’Y}üŠùHÎÂG/'ëýṉ̃¸F‘×ê$ü˜C@.\«ë±ßn~oÿÛ2¿Íoó÷yüZ=jŽ#ÞµºûùßÖ]}#ßçñ¼V×c?ûkÁ¼0²ÞÏ¥/¬üÇÞÈæ¬j0Gç›ù/¼¿u“ïóx^«ë±Ÿ¼Œ ×›ºÑOfƒéÜG.0«�9N�yWßHfõñ+Rä#9 ½œ¬÷Ç3ÇâE^«“ð“y‡7²)=¯ÕõØ7Géïs­NÂOæÍKd†7²)=ßçñ¼V×cßüZ]�ýö¨9äBaFÛ¤È9Εy‡ÇeŽ’!:éÍoü·•ÿmîHññ,Ìh›9ǹR–²¿‘z˜ßøo+ÿÛÜ‘úœ¬–¬×üÉQr®s4¯f/ÌÐü™ßÛÿ6æ·ùmÎ˵ºQs¹p¢ëýñÌQúÂ2Gß4Ç‘ ÌêcŽSç›»úF2«�_‘"ÉYøèåd½?ž9J×àåZ�„Ÿüos÷ÞÈku=ö³Ö# Ï‹m¹P˜Ñ6)rŽs™ßÛÿ6æ·ùm®¹Kö¨9Žx$ÚÍqØ2f¹$¤9‚x$>a¬Q¹ÝrIHsñH|~Þ¾æ•ÛÍ!—„4G�Ägì_¯r»9Ž\¸Ñõþxæ(}a™C° ¹ÚÖ\R$îþÓyÊÂ_6½�¢Ù 34Û­9Ž\мmRä盃|4fLÖÏ3Ç\ç –%˜CóŽeŽÎ7Í1×9x�­‡9d�ïS«•ê¤Ï¹Cû~ù{§%TîÚ« ¾ñìñiÌ!k|åžšú«Pª7ν֬Øk U±qîúSQñ�g�OÛþšßæÐ æE"Øæ“÷7£æ �7ú½™÷,äbÆËFŸ—Ao¾l>‡.<5ÏyýŠdÄV¸ÌqØ2nf�û*š�%}^ÎÂG/'ëSæ�9æ:µ,ÁG<ͬ+ †»úFö7K—9 Ç9‚x$úäw¥¿ÔÇ­!Æ*Ü›¯—�9‚x$šYW& wá�ì‹ËB²¿YºLͳ™µ9úæx\êÆü6‡nÀËÈy‘¶ùäýͨ9ÈGcÅ_:¾¸ÉSÌuN>öx|s„±ÐÌú±‡9ÈGcŪ¦ÍÆYìǸ5×#Ébçc�äekòјqèSlpWßÈox«O1ÝÃøfç9[CÆÍ¬Í1×9¨e ¸û[2ÝÃ0‡æ wäë/‡øúËÅ÷é0‡€o"òpWËÈPÈ3Ç\çàu¶æ�5¾•+g³WA%M©È]Ê?4Ö¬\¹í¯ùm~÷·d’Ò_JÝߥïçã£ëÌosRú“ºGÍA>3}Šwx«O1ùcs¶†Œ›Y›c®sPËp÷·dJÝóñÑ÷Í¡yÇÂnÌ1×9˜?«.}˜“È¡£æ˜ëôùéoÉ}s6A¦¸º9äìxæðM�È¡Í!g‡4‡€o‚Dm9;jsø&HxÓW¹ ÍÆ4GÃü6'S\=jŽ#.Bt½?^þïæÖ!‡ø’ùH®¼Ñt˜£ô…•ÿÂÃÞÈæ¬j0‡`dŠ«·çÿ¯ïýâ0ä2Ç\ç@ó¶I‘sœ+󮾑¯÷ÒéÃXƒ Yï�gŽÅ5^ïS’ð“ÿ»¹É ?Y˜‘ëœ|ìù®‘¯÷Ò³Ö#¤ð…ÑoÐRs„±ðzŸòåÿ¯ï°>/‡øòõ^zÎ"Ÿ9™âêíQsÌu4o›)׸Ìq• ÒD\!Òs�æ’³Ïüÿõ=×™ÌYãåìÓKJL˜ƒ”f¼ÌqäBï5§jŽÒ–9› …knŽ#>á½æTÍQúÂ2‡€o‚R¸ææ8rA®±šS5Gé Ë‚MðB ×Üœ®yÔW¹p…Hs\Lq…HsÌu‚X"Íy!…k5ÇU.\!Ò¥/,sô7ÌïíóÛü6�˨9.&ˆ¸B¤9Ž\á½æTÍQúÂ2‡`¤ð s¹ð ï5§jŽÒ–9|¼�ÂË0Ç‘ r�Õœª9J_Xæl‚Rxæ¤ðÂŒ¨9®rá ‘æ¸˜ â ‘æ˜ë±DšóB /#jŽ  ªÜŽ{»ÕMò2ò"D›#Œ…ÂŒ¶I‘sœ«r»94ïXæc¡0£mR¤\ãªÜnŽ04o›)׸*·›CóŽeŽ04o»^ŒìWåvs„±P˜Ñv½Ù¯ÊíæÐ¼c™#Œ…ÂŒ¶I‘sœˆÊíæèo˜ßæwNñÍŸ,×Ð…‡8/f¤*5Ïu]½\]¯ñò:k¾�šg¹†.<ǪÏ3¿S7Y®¡ ÏðΛãIó«—Y®5Çakȸ™uåvs¹Ø�æc¡\Cn^®q®¨94gCšãÈņ4Ǽ4¾ù5Gß4Çakˆq¹F}ÌA>u\®Q?úr�ú˜—kÌŸ¨9&¹@Ì!à›(×àÅóÒø–/þ}ï–î¶åvsø&Ê5æO;þ}ï–î¶åvs°ûÂÂÿ¯ïÝÒݶÜnŽ0˜ÕGsªøÿõ½[ºÛ–ÛÍ! Ê5æOþ}ï–î¶åvóÛ¼\cþ´GÍ1/�ïúâÿ×÷nén[n7‡€o¢\cþDàÿ×÷nén[n7ùh¬xtæáÿ×÷nén[n7G Ìê£9UüÿúÞ-ÝmËíæåó'"jòÑ ± ÿ¿¾wKwÛr»9äB¹Æ¹Ìoór ^¢æÐœ ÑrvÔæðM”kÌsÌuxŸ#I¨šã*®‰ûê/¼þyÆš?æ� äqÆü6¿Íeá/jŽ#ê5>Xñ3Ç’_Õ×s�ƒ9ö¯gŽ«\Íq• ÒW¹P›ã*®iŽþ†ù½ýoc~›ßæ7ýÿn„¤È.̈&}ÊÂÔçåÕßÔAžâcgaÆÅŒì…š¿­ùm.EvaFÔDˆæ¸˜ â ‘æ 僋¸«o$ Yï�g޹Î�øØwaÆÅŒuUÌÒåëYï�gR>XñÁ]}#OÈzv‰šãb‚ˆ+Dš£¯n޾º9úêæè«›c®sÀu]s\åÂ"͹®ë5ÇâªF4Ǽ4ÚUæLèÀbŽ%5èšëÀ5Ç’_Õ×raì_ÏüÞþ·1¿Íoó»¿Át2òW¹ùzÉðFê&û}?Wøyr›ºIœ¡é}^’"_œC|Üüæ%[0/ ]xÈ~žŒSÀ„‘-=ÌoóùÓ‚Ñ#jŽ#ê5¦Øœª9J_XæðMÌŸc…Ü+üdSzö7ú¾94ïX¸û oäæë%›S5GÃüÞþ·1¿ÍoóùÓb¬ð5ùh¬¸Ýa,¼Þç0Ç\ç@Ÿ«sȳǧ‰¿äO…b�E•”Z­T·&Eû«üCSPjŠuû�g�OcYã;6fAe‹T(S¸ÿÙSÄÙþƬqÓ”,(sÌuô¹ú0‡¬1{|šø+÷Zÿ*i4ꯂbýƳǧ‰Uæ˜ëHfá|dÞ,whBéÿ°HK*Yüþ½g¹ðØzàªL…2çõ+b~›ËÂߘ/j޹Î/×êzàî/¼‘£$/y­®Ç¾9ÈGcÅ£3Ïa,4º‡AîðF6º‡A?4yÙœUÅ[÷nénwo7G MÍ©âî/¼‘„9C7ú¼}ñ`Ž0x£Osª¸·[&<™šçx�h¾Nö ÍßÖ“,s„±Öç5§Š;Œr%y¤ôý ëóRó¯“ì…š¿­9Ž\¯“æTq‡÷R7Ùß`:ÏQ¶[s”¾°po·ãu¢ù:IŠ|Û­9|äq÷v»šñz²¿Íë[sÌuf?�9äÂx�˜ßæ¤|^3ë¨9[CŒ›YWnoÙ‡­!ãfÖæ �:noÙs�R>Ïì¾°ÌÆB3ëÀ‹9ÂXhfýØÃý ó{û߯ü6¿ÍƒX"£æ˜—ÆiÌ!ØÄû×3Ǽ4f7‡`sì_ÏóÒ‚M̱=sÌKã›_s&‚X"ÅÇ6Ǽ4è6¢9sì_Ï<ˆ%R|ì¨9.&ˆ¸B¤9ÈGcÅ_áÍ1×9˜cÿzæ¸Ê…+Dšc®s >v1ùh¬øÛÒ¯9äÂû×3¿·ÿmÌ}k.kÌŸ&þvŠž¢)(u^]“Õ÷SÉB±§¤å�5wíUPIÛùM¥’V±q4¿qýΉUæ8l O"k¦1Ç\ç@óšisÈ…ðF3kó{û߯ü6¿ÍÇë$¼5Ç‘ ͬ+·Ó5Ǽ4¾ù5‡€o"¬Ïªrs��ÆŠ›uÂ3G a}^sªæ ��Ϋʣæ �7ë„gŽ0x£Osªæèo˜ßÛÿ6æ·ùmÎ_d½5Ç‘ !ºÞÏ¥/,sôMsÌuô¹ú0‡¬1{|šøûh J�œ2ë�?¬êÍo¬Â[÷nén[n7Çakˆq3ëÊB˜ƒ|4H¬Â}1#äÊÍ×Kjž�îaäU‚ºð %WÈQÌO)×QsÌu~޾減ÒçË!¾”¯YÌY®¡ ÏÒ¤0•*ëÅÈ­9æ¥1;î¹z׫ú²¿‘��×CÖ‹‘Ù×xæðMÌÂù‹¬qWË 9Jñå cÕGñÉì…š¿¤ÏþÓyŽ’din޹ÎÁì§Á}õR틤) 9Ä×ßÖr!¼Q/FšßÛÿ6æ·ùm> ç/²Žšc^ÂT"n²~^¦¿Ôã¶[s&N)׸·Û•RWõˆó�ð¶[sÌKCØqo·²ðïÈ5ç»Fê±5‡¦Øœª9J_XæðMÈÂߘæ8r¡Esªæ(}a™C° NÂè<˜ƒ|4ê¸=¸7_/Y˜‘Í蜄ª9[CŒ›Ñ9 Us��ÆŠU曯—sEAÊ$^æÐœ ÑrvÔæðMl¾^ÎeòѨãö྘‘�>/ù"/5ÏftNBÕ‡­!ÆÍ¬+·æ8l 7£sªæ§,IB5jòÑXñî¸ÃX}di²ÑçåØ¿æ˜äBmÁ&®×u‘¸/f¤æy½®‹LÝd(æ 僘c^ßüâ–…G^ÌHÍ3\k>s6~®pÁa,6$î0J©y6£sªæÐœ i~®pE¡9¢9äì¨ÍAÊ+®ÍQúÂîÇe–&}^òEæl¢�“PUá–:\gíg£ÏK¾È3‡€\8eIªÀ}J¹²)=/C|=§¸úšãuóÛüz]5)¬˜˜c^ßü·Ùèórì_/¹Æ>æl¢�“PUá®–ÔM†bòÑXñwûîwÂË‹y½®‹LÍ“¼Võ™#ŒÅ†4‡ælHsÈÙQ›C@.œ²$ U˜ßæÍ蜄ª*j޹Î�>Wæ�5f�OcÞŒÎI¨FÍ!Ú#Ì!k¨Ì1×9ÐçêòÆ7‡z‡Öº‹R«)Öo<{|šø4±Êœ“0:Qs¹ÐS¡L5¥PoÍüÆõ;'V™c®sðóö57ÇÅWˆ4Ç\ç`öÓ˜ã*®i޹Î3Wx¸5ã-™¥I:-®sƒF¤“9æ¥ñí_sôMsÌKãÛâkßÄüiÁèaŽÒ–9úæ÷ö¿�ùm~›±û׋šãb‚ˆ+Dšc®s ÏÕ‡9d�ï_…º‚þ«Ìq• Wˆ4Ç’»«DsÌuÆþõÌoó;²ëñre]ój–&§¸úšãõ`~›ësõ5{ˆÇ\Ÿë\Qs�òÁЉ9J_XælBŸ«¿a޹ÎÁû×3‡ælˆæ� ú\ç2×çêoDÍÁâ1GÃüÞþ·1¿Íoó«ªQs��ÆŒ¯®ù0‡€\¨e æ÷ö¿�ùm~›¿ÎÖ#jŽ«\�æ˜ë\}�P5ùh¬¸~ç˜c®s0ö¯gŽ#ê5¦Øœª9J_XæðMÈÂߘÏ䣱âo‹/îþÂÙ¢9Us„±Ð¢9UsÈ…U—>p¯ºô‘eˆ¯ç,äbÆëæ·ùcë5ÇakȸR•hòјq’,sÌujY‚9Žx$ÂXóÇá�9Ž\ë3çeŽÒ–9›PáŽ\�d]Ê0GÃüÞþ·1¿ÍosR>¯=¢Ò¨9ÈG£ŽÛ#*5'åó¢æ åƒs„±Ø�æÐœ Ñš³!Í!gGmßoóÛ|ŽýëEq1ADmŽ‹ "¤9.&ˆÍAÊ/^æ �GöY¸9æ:µ,ÁW¹ šã*¤9®r¡6GÃüÞþ·1¿ÍoóÙOÅÅWˆ4ùh¬xvsÌuÆþõÌA>+>�9æ:cÿzæ¸Ê…+Dš£¿a~oÿÛ˜ßæ·ùØ¿^D\!ÒDÔæ¸˜ Bšãb‚Ѥ|0ãeþû׋b®sÐ6}Ûæ¸ÊÑW¹ Íq• µ9®rá ‘æèo˜ßÛÿ6æ·ùmÆQs\LQ›ãb‚iŽ‹ "DóÛüÆQÌuÚ¦oÛW¹ šã*¤9®r¡6Gé Ëý ó{û߯ü6¿ÍÞ¾æQs\LQ›ãb‚iŽ‹ "DóÛüóóö5�b®sÐ6}Ûæ¸ÊÑW¹ Íq• µ9úæ÷ö¿�ùm~›3s…5Ǽ4ZnqOqñê yJäë9Wx9ÅÕׯo·æè¸·[ÍsÑ÷WÍQ’¹®×s®ð¶æ˜—ÝZ4GçÓ‹klЈæèo˜ßÛÿ6æ·ùm.ß,̈âb‚ˆ+Dšãb‚ˆÚDHs\L!šã°5꘾]eŽÃÖ�1}»¹|³0QsÈ%Q›Cs6¤9òÍÂD˜ã°5ê¸]e¹$js°§X5)¬X4Gé Ç“oB¾Y˜aR€OœR® ÌAÊ$^æ åƒ/sÌuÆþõp¿)–âË)®¾æx=¯?iÍÙÍ! N)׿÷ö¿�ùm~›ß•üïÖü®ÿ¥ó»’üokö˜:¤ðçÆ+öþf§XÿÐXwh7Ωd¥2üùE­ü£Ø£Q­-Í�PêÖ=%-Û·*Tb~W’ÿmUªªT•„FýVÒöþ¶âÿו˜ß•à£Tb~W’ÿmKª•ÊÖ?¿¨•{4ª5…Ü«¨È¿Êß,þ(¨Ü¡±æ_–Ôß–äN*Ô¨lo™þ—=*1¿+Éÿ¶æÆ+öþf§XÿÐXwh7Ωd¥r—R�;ù›jmÝJ¥rWî¨ÙS¨wÔgEª`¹E%æw%øß(•˜ß•ä›Á’Ê?­T*w¥‚å^k¶þeIý¦RÈ½ŠŠúgG½CSPT²R ê¯bOIKå®Ü©¨@%æw%ùßVëMh•;4ÖdUþù¥‚Ê_öI©ÕJukœ;™”Z­T·f ¹§`™¹CËT²²¢ó»’üo‹öç÷/”:S¹+“R«•êüeOÑçNEEþòGݪHJ­Vª[S¹++(šPËlo9•jTb~W’ÿmUP­­q !ÄV!ZBx’Ê]¹SQ‘ítéÙS$¥V+ÕùËu«¢5Îk¦Bl…¢ÒÝ…'ÌwXŸ—²ëÏK^¶æcAêðË9[CŒ›Yã®Ïâ?Y˜‘�>/gᣗ“õ)ó'˜c®s ¹ͬƒ9Ž\�:üð‚ûbFÊ®?/9Cê׳^óÇa,4³6Çakˆqažwa”þ2¼9JÉR¿¶[s¶†ŒÃ›ƒ—:ïí¶)=ù‹ÌFŸ—£/š×·æ �:o^}xsðRçÝ 34¹N() ©y’Ç™­9æ:¤|ž9Ž\�ËæTqWË 9J>=Ä×3<.³ôíÖ¥/,ÜÛmóéÏËFŸ§|×ãRóêvkßDx\6ú´ãÞn™«ðŒõ³fhþ2¼±ÝšC@.ôùiôiǽÝñesV55Oœ¡é}^’"߸wKwÛr»ùm. cFÍ1×9ÐçêòÆìñiâ直H…z‡Öº‹R·æ_åo”‚býƳǧ‰ëwN¬2—…¿1WÔG.Hfsª¸Ã{©›”:ÌÂù›##ÅÇsˆ½0UÑ¥/,sø&dáȯ›—8eáß‘R‡Y8s˜ËÂߘuÔs�}®>Ì!kÌŸ&þ^jªµ5ûLç©P&ë^ë_%�FýU|ãú�ÏŸ&V™ƒ|4fÜå,Üs�ƒZ–€;ré‘MéÙ_¸ ÏóÒPI÷\½ëU}Ùß`:7‡€oB)ŸgŽþ†ù½ýoc~›ßæ·æzèuôæ 9¯_‘lôy9 ½œ¬O™?!×È ¦˜‹ËlyŠæ·yx£™uÔ‡­!ãIdÍ4æ8l 1nfm޹ÎÁ¼ÈÑü™c®spõ2Ë5̧øæ'Qs¹Ð̺r;î)¾ù“…ç_^]“Õ÷³\CnŽyi|ßwƒéM¬2‡€\èïña>}^ÔG.4³®ÜN·n²\CžC\#ù{2d£ÏK¾È‹·[sÌKã›_ÜÛíÏ)¾ù“£dx/u“|‘·Ýš£óMàÞn[‡¶©›äel·æý=>¢æ˜ëèsõ�{»•%ßçõý!j^Íòy  ¨Äü®$ÿÛRîÊÜ©¨Èd¡lmÝû¥‚ʬPÒ„RêLJ­Vªó—?êVEë6Sø�ÚÍ©üÍâ�‚R£ó»’üo‹S !•ꖴƹh¬jJÈ Û̱C£h¿ìüù祦hнÖVzq§¢"Îv!*mo)*1¿+ÁÿF©Äü®$ÿÛ’TëžPÅšt.ÿ*Y)Öüeã¼vþT¤¸Ckm �úËR§à�Êvaq¶ Qi;P‰ù] þ7J%æw%ùßÖT²ØX½'”¥"…ÿ·¥Ù.D¥íqÎ5 Ц Ô¹Z[•÷vT+þÛªÄü®ÈÿÝÔJáÊÝ7hÇ›JÌïJ€üßM]¡TþÞµGU°¦¸WQÑ'ѹ{¥ªvaøo«ó» ÿw#¬]د*Ý`za*º»ã7•˜ß•à£Tb~W’ÿm –{­ÉB­ªÞù�¿w6Î_¨Ü¥¦¨Š�SM±P+Yÿü¥Xs—R�4%�ž…Z¹kO‘Z©-*1¿+ÁÿF©Äü®ä·æ·ù�ÇGßÇ<}ö3—œ}Æ�æ³ÏxŠ?³OóÛ|ž>ûŒâµ`Ð6îþÂ9ûÌ5'C˜³FéÙ”ž+ù‹LòBXÕ·5ÇÅ¢9[CŒUæ⑘}~Ö1ÇU.ˆæèo˜ßÛÿ6æ·ùmÎ\röÅkÁ mÜÌ%×x9ûÌ5'C˜³FéÉÍ«Yï�½ó;÷Zs�¶§ØÛ©¨Ø8)á¢þþQP¬Û¯9d�ÙãÓħ‰Uæ·9æ:œ=ÂìÜü6Ç\ç@Ÿ«sÈßüÞ–jŠÊC)”:§ò÷ïkë7ž=>�9d�ÿ¿þ΋$}>áÚSä.µòw*Xîµ& µR¨zçw*”9¯_‘o<{|sÈ:ÿý•º'}ž½VE²î©©¿ ¥zãÜ¡±f+‹�¿TîRST ÿ÷ÎÆÙÊ‚ú»·kãdUïm„jéײÆìñiÌ!k|__IŸO½ÓJ宽 *…ÿ{gãleAýÝÛµq²ª÷6BµôϟƲÆ÷”jÒçd¹CJ%+µkçO…"YÕ{¡²rþi¥ÔISnSø­,¨¿{»6NVõÞF¨¬œZ)uK¿æ�5f�OcYã›ÿ¿Þ¡±¦šj¥ɺ×Ú’Öm&µºÍSª¹TqžRÍ:…ÿ§•RçFçÚ_–;4¡kK¿æ�5f�Oc~CÖø†K&}J‘­,(Š5•»r×^•Ê? ¹GK¥þ½GÛ©ÈßJVêÏŸ&V™ßæ7æ:¡ôk„a~CÀ7ÁËÐä™ß˜ëèsõaYã;4Iú ”"[)õÞNE²PªùËÎÖTï(¨üƳǧ‰Uæ·9/C“5Ç‘ £T«çÍ>ÍQúÂ2‡`¼ŒR�}šc®s ÏÕ‡9ðR›c®s@Êç™ã°5ĸ¿0z¹FÞý…QúËr ]xŽUŸgŽÃÖ�q¹F}ÌA>u\®Q?úr�ú˜c®s@Ê癃|4V¬2G ¤iNµwá�$Íšó…�½0Có·Ýšc’ÜÛíâ2 s†ÎÑ©yÎÞvkŽ0š0šSŽݖ&W]úØšC@.°¯>Ìoó{ˆ/g!dq™äq&uȪþ<žõ;%2N^ÆË!®‘š7¥“5táy­>ôdÎê9Jñ™ß!:uHÍg!×yã™ßæäq&"j޹ÎÁ<}„a޹ÎÉÿÝèsõ�ÿ_ß»¥»m™®9d�oþ ïÃMh•‡R((uNåïß;4ÖÖo<{|šø4æ�5¾)fÒ§ÜkeQ±³q*Xîµæm—Rý{G±§¤}ãÙãÓ˜CÖø&™ô)÷ZYTìlœÿ¨ÕM‘­”B±GÚú�g�OŸÆ²Îÿ_sdÒç Ô¿÷h;ù[ÉJ}ãÙãÓ˜CÖùÿëo¾Lú”ú÷m§"+Y©rOÁ2©¿,•ßxöø4æ�5¾y2ésPêß{´�Šü­d¥RÈ=ˬPþÝ©Hê/Kå7ž=>�9d�oþ·i”êü»ÃBñG½Gš J¸ù§•Ê!|¥:_*ÕyZš�>�/ò¶cÿÊëײÆìñiÌ!k|ó¿MPì¨Içó מ"Êü«üý{‡Æš¿•¬Ô7ž=>M|šXe~›ãÈ•ÿm.Bt½?ž9J_ùßf™C°™ÿ¿,óÛG.Hæ»9æ:AlÆþõÌ!k|3éSîµþUÒhÔ_Å7ž=>M¬2Ç‘ uÿ™b7Ç\ç ˆÍØ¿ž9d�o&}ŠÆš¿¨©�–|ãÙãÓÄ*s¹0Åj½i޹ÎA›±=sÈßLúœ,whB©üeçkªwÔ7ž=>M¬2¿ÍÃ+jŽ#F_ü”jáæ(}a™C° ^F_ü”ª9Ž\8¥:Ån޹ÎA›±=sÈßLúêZëï=EV(…*ißxöø4±Êü6çeôÅO©FÍqä c„aŽÒ–9›àå„aŽ#NSìæ˜ë±û×3‡¬ñͤϡ*´‚Jê=š‚RãÙãÓÄ*óÛœ—FDÔ䣱âÓ˜c®s0ö¯gŽ#Âú¼)vsÌu‚ØŒýë™CÖøfÒgPì¨ùWÉbãÜ£)”ùËŸ]»(õ7ž=>M¬2Ç‘ ëó¦ØÍ1×9b3ö¯gYçÿ¯¿™ôJùWÉbãÜ£)”ùËŸ]»(õ7ž=>�9d�oþ· е"é\…’EþÞÙ8¡R¡*´‚bÍ�ÖTîRP´ÜiMVªuOM±n¿ñìñiÌ!k|ó¿ÍJ—š§ðWK·æ¸˜ ⠑渘 ¢6ÇÅ¢9ÈG£Ž+5)Ìx™ãˆGböùYÇœ¹ä)劚ƒ”V<ÍÑÏ4)Ìx™ƒ”V|ÌÑ×1)œx™ƒ”V,š£¯cR>ãeŸ?úÒä|°b÷_V}�ÒS‡d §½å¬œlá´Gdåd gƒ¬œíæ`w�v•ˆ{…ìoB—Of½Ÿsê1¶æ å1^¸ÏuÆë|�—ÕÇ__£ôŒõS‡,Íxܤ|°âƒ› O¦æöù{á… 9úâ�ètáyõ2Ê,'˜ƒÝ5"ÚEÜ:$[8í-gåd §}ƒ¬œláDdålßæuH²ö³~æ åƒ/ÜLx2ëý L†ÌмšìÒ³R•˜MéÉ.=ÛU¢yøÑ—QsÈÙQã^\&»ôTm fSz²Kψv15Ï!¾\R°æã#g‘Ͼ æ’§”ËA<³ÏÏ:æ¸ÊÑW¹P›ã*®iŽþ†ù½ýoc~›ßæ�æ³Ï(^ mãn4×AÌÙgÎu&sÖÐ…÷lJÏÂŒ‹I^«úÌq1AÄ"ÍÁî Ës�æ’³OsÌu˜KÎ>Íq1A„hŽ#‰Ùçgs�ò�ŒEs�òÁ‹�9®rA4ÇU.\!Òý ó{û߯ü6¿Í§ø3ûŒâµ`Ðd�ï˜3és(… ­ r²¤þ¶¤õÏï_Í>ó·’•J%-ÕÔ_jo#Ô7ž=>M¬2¿Íy¥:ûŒšãÈ…QªÕóês”¾°Ì!Ø/£TësÌuô¹ú0‡¬ñuOúJ¡B+¨üeçoKZYìü¥R¡LõŸ_ò¯’¶Jݺ§¤}ãÙãÓÄ*óÛœ—QªõOÔG.ŒR­žwÊ4Gé Ë‚Mð2Jõ”i޹Î�>Wæ�5¾ã̤ϡ*´‚ÊloiV(ÿîTä_åïß;4ÖÜûý›bÝÛQPßxöø4æ�5¾ù/¼‹hiV(ÿîTä_åïß;4ÖÜÙ¥ Ôù�Uæ8rá±Ç»9æ:AlÆþõÌ!kÌŸ&V™ß漌R=eFÍqäÂ(Õêy§1Gé Ë‚Mð2Jõ4æ˜ëèsõaYã;N“ô9”B…VPÙJÑX³b�Fí¢(ÖÜÙ¥ ÔùwG­ÞÛJ¥šRüQÓ¾ñìñib•ùmÎË(ÕÓDÍqäÂ(Uvis”¾°Ì!Ø/£TÙ¥iÌ1×9ÐçêòÆw°KÒçP ZA%»4M*¨VÅMhîÑRA©ïÑv*ò·’•Ê]{T*ÿ(XüQ|Í!kÌŸ&V™ß漌Re—¦‰šß8rá"D×ûã™ß(}a™ßðMðÂb~c®s ÏÕ‡ù YãË’ôyöZ©¦2(”,R¡*´‚jMVªõ¯zïŠ5•´lýóK+%ÜÿP4E¶þUSmû5‡¬1{|šø4æ�uþÿú›=“>;õ—ÚÛ•óúÉ]{TþiÝ£ ÍÉR½×ª h­-/µR¡ü«¬øÆ³Ç§1‡¬óÿ×ß ™ô(kÎëW$wíUPù§u�&4'Kõ^«‚¢µR´¼ÔJ…ò¯²âϟƲÆ7ÿÛLåïß;4ÖÜk�f¾R�¡¥Ùèóø"o;ö¯o<{|sÈßüoÓs‡Æš!ÿîÐòO+• –TîRVT(…Ü£ ÍÖ?¿üUþþ½Ccm�~ãÙãÓ˜CÖøæ¿×™ôYÿ©hI*Ô;´Ö]”:ÿ´îÑ„¦�{¬wÔ¬­)|j+t›•l+ié7ž=>�9d�oþ{‹Lúlñg�Räo%+•§)ó7ÕÚº#”jM…2ÿ*i­Ê ª¥ßxöø4æ�5¾ùï#“>;¥ø£¦¥B™ Jý{�¶S‘¿•¬TîìRPêT¨wh­»(õ7ž=>�9d�oþû'“>?{”�ùËÆ ª5êZë.J­¦XSIË¿JZ«²‚úƳǧ‰OcYã;XRÙºGZAe¥PPêü«üý{‡ÆÚš¿w6Î�ŠVeþBåŸVŠ5•´T°¤¾ñìñiÌ!k|ÿ*ÿÞ¡±fÅ�J!YR´T°¤’…Z)T:Eé”;ŠlU쨩ܕ{4*÷h¬{wTkþòg×.J�{­©dAѶßxöø4æ�5¾ù߆]š&wþ(”¿w{w**6Î?­k*”ÙªP²È=‹?Š’%EK!Õ{Š=šÐo<{|sÈßüo³ëOEEþòg×.J� e²îµ¶$NváÙJÑ©P¦šjýó›Ú~ãÙãÓħ‰Uæ8raôŧØÍ1×9b3ö¯gYã›IŸC½CkÝE©s…©uîÚ« R¡L5õ[© ¾ñìñiâÓÄ*s¹pÊ,ü±Ç»9J_Xæ8rá±Ç»9|ýÙœa޹ÎA›±=sÈßLú �5+”w*ò¯’¦P++ò/ËõÎ_¥N…2ÕÔo¥‚úƳǧ‰Uæ� ì«óþˆlΈšc®sÄfì_ϲÆ7“>9%\ŠüËrG½óWA©SÈ½ŠŠü…Ê?­kîRª³Bùw§"ÿ*i µ²âÏŸ&V™ßæì«�¨9æ:ú\}˜CÖ˜=>Mü•Ô®�?Š”ê½�PÑüÆ*s��ÆŒ'ÓeøÁ=™Þ)uøÉ†ásèÂÍ1×9¨e æXR㻾ÀMÖÏË¦Öæ˜ëŒýë™ßæÐMæ¼H·nr^$?¯gÄ–m~›ƒ|4^¬jwõ�œLï��dÂëÉËÖä£1ã6î)¾ù“³Ï¬÷Ç Yšìo>ýy2É aUŸ9.&ˆÍqÄ#1ûü¬cR>X±hŽÒŽ9®rA4Gß4ùh¬XÕ4¢9úæ·ùìó³NÔ2*óÛœ<Ψ¢æ8r�7ú4§jŽÒ–9|äqwµ¤n’—lôy¹æÐŸg޹Î�>W¸ß /¯®ùHòBXÕgYcöø4ñiÌ!k|+©$KJMåï��ó*”p)r�– –Tþ¦~+Õç/ví¢ÔYI%ßxöø4æ�5¾•T’Z‘BîUTä/TV([ù‡VAµ¶&/'•êŒì#ÿ*ÿÞ¡±¶æŽšÊ?­kVRÉײÆìñiâú�«ÌA>u�;"Ié/ëwN0Ç‘ õ;ý¸«oäÐ䙃”N¼ÌqäB³Â˜çÇ¥/,s6QŸR.s�òÁŠ�9–”8æ åƒ/óú”rEAÊ3>æõ<¥\Q¶†Œ#Tÿmá^uaFª¶*aÞ,\óZŸR®(Hù`ÅÏ¥/HsÈɆ4‡€o¢Ö§”ËrvLsø&êyJ¹ÌA>+®ß9æ˜ëŒýë™CÎŽÚ¾‰ú”r™ßæäq&jŽÃÖãþÂ<óî/ŒÒ_†7GéÉR¿¶[s¶†ŒÃ›ƒ—:ïí¶)=ù‹ÌFŸ—£/š×·æ �:o^}xs~+T¶nܪ ~·~ãÙãÓÄ*óG.„7˜k„a~£ô…e~C° ^.B´ù�¹Î�>Wæ7d�ox#é3PŠü«üýûmïïŽbOIKJµ¢õÏŸ&V™C@.ðr¢Íos^8C¢æ˜ëœüß�>Wæ�uþÿú;×Iú”{;IûóûJý�g�OcYçÿ¯¿2̤O¹×úWI£Qßxöø4æ�5¾õþKú”{­•4õW‘;4ÖTS¿(•Šo<{|šø4±Êü6çå"DGÍ1×9ÐçêòÆ7ÿw3XR¹KYQ¡r�&4wÔT*(õï=ÚNE*(áRä/ví¢ÔùWùû÷�µ5ú5‡¬1{|šø4æ�uþÿú+ßIú”T¥ ò7õ[©Þ8ù³k¥ÎkîÚ« ¾ñìñiÌ!ëüÿõ——“ôÙ)Å5-ÊTPêß{´�Šü­d¥’>iʬP¶¶¦rW²î(vr�–¿üÙµ‹RÍ!k̟ƲÎÿ_#ûHúŒTï)¨üMýVª7Î_þìÚE©S¡Lֽ֖䮽 êÏŸ&>M¬2Ç\瀳G˜�›ßæ˜ëèsõaYã›ÿ¿>Ê¿;9•¿ïÐX[SH–{TîÑrPêß{´�Š$JVêÏŸ&>M¬2Ç‘ �­Ç»9æ:AlÆþõÌ!k|3é  •h޹ÎA-K0Ǽ4ÚU¸™ðz /Ù®¢Ã‚‰Ð…-ܺÉPRÀ�+W/ —æŒF» w`êÑ×ٮʦ’z˜ãb‚ˆ+DâëóRs��ÆŠ¿í_Ü…3²]õ )uUsÌuÆþõp÷w•>Rs\åÂ"Í[ÕÂv¢XRã«úâ.̸˜‘íß�RWõHáÏÂ?¯�%W˜Z·Ôs�ƒ±=Üý]¥�Ôc£šßæx\êÆü6Ç\ç`öÓ˜ãÈÞèÓœª9J_XæðMðR3 UsÌuªo„kšc®s ÏÕ‡9d�oþ²±‚jMå®üåÏ®]”:w©)êÏŸ&V™óR3 Õ(Ì1×9ÐçêòÆwB—)|1w)Õ)R,ZÍo¬2¯¾1‰Œšã°5d<‰¬™÷ããõœ…�Å¥9æ:š×LÓ˜c®s0ûiÌqØ2žDÖLS9"ï«h>r”œ…�Å¥9æ:úÌB.sÈßy‘o¬2‡€O<¶æ˜ëè3 ¹Ì!k|O©~c•9|â”*‘æ˜ëè3 ¹Ì!k|¥îßXeŸ�º›c®s Ï,ä2‡¬ñ}}}c•9|âõ^c޹Î�>³�˲ƗŽo¬2‡€OL¦_«›ß˜ëè3 ¹ÌoÈßpÉo¬2¿!àá�pIsÌuô™…\æ�5¾C“Áì§1‡€\`_}˜ßæ¼ôÞˆšc®s ÏÕ‡9d�oåÊùÿëA©ïÑv*ò·’•Ê]{T*YP´üÿuåÊßxöø4æ�5¾•+'ÓJed©T§|'¡v)ÕTžRÍ¿Êß¿wh¬Y¹ò7ž=>�9d�ÙãÓħ‰ëwN¬2»/,sÈöÕ‡ùmþú ¯‰â°5d<‰¬™&ï‹9‰Ì£ùKÍGÉfÖ¹FŠÇ‡­!ÆÍ¬Í1×9˜9š?sÌuHù¼fÖ¸Iù¼lf]¹½å%›Y›ãÈ…fÖ•ÛÍ1/�o~Í!Ø/ãs$îjIÝ$/Ùèó2\oêF?iŽÃÖ�q3ks��ÆŒCŸbc޹ÎA-K0‡æ ·*u“�>/yÙ†Ksø&^_�>/ïògµäë+Ì!k|›½ *)õN+Åú�g�O«Ì! ØWæ·yx#\2j޹Î�>Wæ�5¾�¦ ÔÙÊ‚¢Xs—Zù;U)üÖ ¥�T«¢¥©P¦)ü];­ ªUÑÒh~c•9/?o?D1×9c s6ÁËÏÛæ˜ëü¼}ÍÍ1×9û×3Ç\ç¨9æ:R‡Y8æ˜ëèsõaYcöø4ñWx^RîµþUÒhÔ_ÅšÂM¸}ãÙãÓÄõ;'V™C@.<¶äqó{û߯ü6¿ÍëýW│9æ:ú\}˜CÖ˜=>Mü­*•¬¿lLmÿÛúƳǧ‰Uæ`÷…e޹ÎAaFÛ¤È9Îe޹ÎAaFÛ¤È9N„9Žx$æ‘u)wõ�œåȬKyõBrIÙ_YzF®N².e˜ãšânC®%õ0¿·ÿmÌoóÛ\ê5ùhÌx2]†sÌujY‚9ÂX�:ü„õ1Ç\ç@ê~Â0Ç‘ R‡Ÿ°>æ åƒ/s��ÆŒÃ;2ü˜c®sPËÌ! ØWæ·ù)Uþ"£8r�7ú4§jŽÒ–9›à¥¿ð†9æ:ú\}˜CÖ˜=>MüÕ´VJ­HÖ½Ö–ä.¥:YÕ{¡ò«ÌqäÂ$²fšÊ-›c^ßüšCÀ7®7u#ÍA>3žL—áÇs�ƒZ–`Ž%5¾ëk®7u#£æ¸˜ â ‘æŒÆw}Í1/�ö–Í!༌ϑæ åƒ/s\åÂ"Íq1A„4Ç\ç`ì_Ïœ—1{s�}®>Ì!kÌŸ&þŠ{ŠTSŠ?jZ É’¢¥šÚaÝø«Ì1×9øyûš›c^³›CÀ7Á˘Ýs�ƒÙOcòјq/,s6ÁKgjªæ˜ëèsõaYã[ïümI+‹�¿TúÏ/ßxöø4±Êý óÛœ—ÎÔ$T£æ˜ëèsõaYã[ïümI+‹�¿Tîµæ/;[ÒÊbç/õ�g�O«ÌÑß0¿ÍG©ž2£8ra”jõ¼S¦9J_Xæl‚—ñ9ÒG.œ2 ì1ÅnŽI–9ÂX8eþØcŠÝs�ƒQª§ÌsÈöÕ‡ùm>Jõ”5Ç\ç@Ÿ«sÈ_¦•Êo¬2Ç‘ §ÌÂ{L±›£ô…eŽ#{L±›C°‰S& UsÌu‚ØŒýë™CÖøæ/Ô.¥šÊ åß�Šü«üý{‡Æú�g�O«ÌÑß0¿ÍO™$T£9×9b3ö¯gYã› e¶R4Ö¬PþݩȿÊß¿wh¬©P¦šú­TPßxöø4±Êý óÛ|”êi¢8ra”jõ¼Ó˜£ô…eÁ&xŸ#ÍqäÂ’ò4æ˜d™#Œ…%åiÌ1×9¥zšsÈöÕ‡ùm>Jõ4QsÌuô¹ú0‡¬ñ={4jE±æ7V™ãÈ…%åiÌQúÂ2‡€oâ4$TÍ1×9ÐçêòƗ—‘ßXe~ªQÌuô¹ú0‡¬ñm¥hŠÜÙ¥ ÔùwG­ÞÛJ¥šRüQÓ¾ñìñib•9úæ·ù(ÕÁ.M5Ç‘ o¬2‡€O„7†&æ˜ëè3 ¹Ì!k|ÇœßXeŸ¥:û4Ç\ç@ŸYÈeYã;êþ�Uæð‰QªõO¸Ì1×9Ðgr™CÖøŽ3¿±Ê>1Jõ”i޹Î�>³�˲Æwœæ«Ì!à£TOc޹Î�>³�˲Æw°Ë7V™CÀ'F©vis¹p¢ëýñÌQúÂ2‡€o‚Î�sÌuô™…\æ�5¾œ!ßXeŸà ¹:7ç…3$"Š#ÂÌ5Â0Gé Ë‚MðÞ`®sÌuô™…\æ�5¾á�o¬2‡€O„7˜ëñaÎKxƒ¹"¢æ˜ëè3 ¹Ì!k|y9ßXeÁg�r�vàž«÷ý oä†ÉK’5¦hŽ#x£Osªæ(}a™CÀ7ÁK£O¹8îjÉñÎÉr½¾Fé©›ä%}^–ëqs¹Pº®†õÁÿ¯ïÝÒÝn`Ž0J×ÕæTñÿë{·t·˜c®sP3 UsñHˆ'¬ÏÃÝß`:ÏQr¼N4_g»5‡€\¯ÜÛ-)òe¤b†õyY®¡ ßnÍñßÖ½Ýê&¯þ>º0áìçã«>OnÍosÎåíQsÌuô™…\æ�5¾‘}|c•9|"²�FsÌuô™…\æ�5¾ò�o¬2‡€OðÙèóÌqäÂEˆ®÷Ç3Gé Ë‚M„ ¬Ï[æŒÆWõ5Ǽ4ÚUæð ^ÆçHs�òA/s��ÆŠ…0G`jÔæc!\ò³Ž9æ:á’$TÍ! ØWæ·y¸$ Õ(æ:ú\}˜CÖøJý{�¶S‘¿•¬TîÚ« RùGÁâ�"Y©Š��s¯5UÛo¬2Ç‘ á’ŸuÌAÊu¼Ì±¤ÄÂÁ6Ç’5nalsÌK£]eR>¨ãeŸàeóõbòÑXñWõ5Ç\ç`ì_Ϥ|°âÚœ—Í×KDˆæ åƒ/s��†«Ì1×9�of˜ã*DsÌuô¹ú0‡¬ñÍVꯒÆÚš,(uþe¹£Þù« Ôßxöø4±Êý óÛ<¬Ï[Qs\Lq…HsÌuô¹ú0‡¬1{|šø4±ÊW¹p…Hsô7ÌoóðÆÐ$j~c®sJ¿Fæ7|¼ŒÏ‘æ˜ëèsõaYãË´R©¢ß ʺ·*ÙùÚê•B²¤ÔT4þšCÖ˜=>�9d�¯jCa*Uœí¶G¨TqFl±»J§° w¯T¥Šs÷ …hYõßVœ;4ÖÜ`Ãv!¶-ÉzçëökYcöø4ñiâï£)(und§âÍo¬2ç?o?йÎAkàþyûW!ÐaÁ&øÏÛÇÍ 9ÄÇó”r™c®sðóö5Ç]}#§¸úá sÌujYÌq• Òä£1ãðŽ ?æ˜ëÔ²óÛºÁ¼H¸u“ó"ùy}›[¶ùmŽ#&‘5ÓT¦‹»úFò™Lx=9Cê×Í1/�•ÜS|ó'›Ò3\k>s6:ÝÜ�­Gê&yIþ"“ ¯›ã77gHýz†ëMÝè'Í a*¸ÃèúʦÖ昗F;pOñÍŸlJOá–í*sø&B§[·n’—‘W×|dá/¥®êaŽ#&‘5ÓT®wõ� o.Sêª昗F„JnÝ$/#õæË!>nR>¨ãÜz¤ÁeJ]Õ#Cɰ>/õ0ùh¬¸¸ß /õH’ ¯g»9›�nmR>Xq ÜÕ72¬Ï“ÁeJ]ÕÃ�шhYî0º¾r…©u..Íñ¿›{I™í*óV5Ý_¢ åƒ:^ÀMÊç¥9JÖ¹¸4ùhÌ8B%wxƒž¹²aøºðœës\LQwXŸ—z˜ƒ|4^¬j¸«oädz|$^7Ç\ç –%7gHýzjžËW¹Pwa”þ²™�£dmŽI.ÔÀ½¸ÌYȵúË!>bÁ&B§»€û±õHÝ$ç¸xõIs�òÁ‹kà~'¼ o$‘É„×Í1×9¨e ÀÍR¿n~›ãq©óÛ¼UMw'йΣTÙ¥iÌQúÂ2‡`¼ŒÏ‘æ8r�]šf„aŽI–9ÂX`—¦a˜c®sÀ.MCBÕr�}õa~›³KÓ�P�šãÈ…QªìÒ4æ(}a™£ošc®s ÏÕ‡9d�/»4M*¨VÅMh~c•9Ž\`—¦a˜£ô…eß»Œ0 7Ç\ç@Ÿ«sÈ_^F~c•9»Œ0 �šc®s ÏÕ‡9d�ïŸVŠ5÷h© Ô¿÷h;ù[ÉJ宽 *•,þ(¾ñìñib•9úæ·yxƒ¹Qs¹Þ`®†9J_Xæl‚—ñ9Òs�¹Úo0W7‡€\`_}˜ßæüE6ú¼¨9Ž\à�>Í©š£ô…eß/�>åâ0Ç‘ ͬ…Unî)¾ù“C\#}^F®�ýµ`^Ošc^ßüšC° ^}ÊÅqë&yÉFŸ§,ü;òõž9[CÆÍ¬…™ƒ|4füú Ïs�ƒZ–Ї9ÈGcÅ£3·,ÉËÈuN‰Ìñ:Ñ|�íÖa,ðFŸæTqo·a}^ÍçK^²Ñçm·æ˜d÷v®7u£ŸÜš#Œ…°>¯9Us¶†7³f޹Î�æz4³æ8l 1®Ë}sñHˆ'¬Ï3‡€\`_}˜ßÛÿ6æ·ùmÙG£OÔG.ðFŸæTÍ1/�Ñ™gÁ&xiô–Í1×9Ðgrá–/ÃÙôB²=ŒÔgrå\ç˜CÖøÊ0¿±Ê>!u˜…·›c®s Ï,ä2‡¬ñ­÷ß7Váÿ×÷nén[fŸ¨÷_½ÿÌ1×9Ðgr™CÖøÎu¾±Ê‚‰Ð²9ÈGcÅ*¸›RNñeØãs„±0‰¬™¦òÛIdÍ4Jq�Ôc»5‡€\�¥\¸·ÛSÊOÈ5²\CžMé)õ:æ¡å¨9.&ˆÍqäÂ$²fšÊæ8l 1ž…\G‡a޹ÎÁ,äZýáž…\«¿�G‡‘WÑ|<™£d½ŸâÙnÍq• "îív”œâê©y.úþª[s&xŸ#qÏÕû~†7rÃä%ÉS4—¥\#jŽ‹ "Dܧ,™¥ëªæëd3ëŒÔCÌÑÍëÛ­9æ:á�fÖ¸·ÛIdÈÅeVKŽ’õ«jÎ5¯fi¶[s\傈{»½z©öE¶©ÏɦœS"3,òò”ªžÛ­9äBa¬>po·+¤nòê¥ÚÉÈ×_ÎuΓ©‡¸Ýšã¿­{»�ׯHÎBÈâ2�æok~›ß漌ϑQsÌuxŸ#I¨šC@.°¯>ÌoóÛœ—ñ9’„jÔs�}®>Ì!k|+WNMÛÈNÅkNåïß;4Ö¬\ùÏŸ&®ß9±Êý ó{û߯ü6¿Í¥³ðöšãõlz!ùóö벺4Ç\ç`ì_Ïs�ƒ°>o™#0_Õ×óÒhÙ>ÁËøiŽ0H¸Þ“æ˜ë„7êÅHsÌuÂC“sÈöÕ‡ùmÞšDDÍ1×9¥_# sø&ÂCaæ˜ëèsõaYãÛwTîRªSÁ’Ê�¿•¬T*ö~Sô %}+EcÍßTkëŽP*÷Z³•R¤B™ßXe¹ÞšìnÞš‹šc®s ÏÕ‡9d�/Q²R¿³•E±æ^k~c•yxch²{Ôs�ƒz1òêÃý óÛ<”~�0¢æ8r!¼Á\# s�òA/s¹p¢ëýñÌQúBmŽþ†ùm>Juö5Ç‘ £T«çÍ>ÍQúÂ2‡`¼ŒÏ‘æ8raþ†Èæ sL²ÌÆÂü ‘Íæ˜ëŒR�}F˜C@.°¯>ÌoóQª³Ïˆ¨9J_XæðMLñý�P5Ç\ç@Ÿ«sÈßÙgþV²RÙJ)¾ñìñib•9úæ·ùß Õ¨9æ:ú\}˜CÖøN–Ôß–´þù�¿•¬T¶RŠo<{|šXeŽþ†ùm>Jµþ WÔG.ŒR­žWÿ˜£ô…eÁ&xŸ#ÍqäÂ,üSÿ„Ë“,s„±0 ÿÔ?á2Ç\ç`”jý®sÈöÕ‡ùm>Jµþ WDÔ¥  )7Ç‘ ͬ…UnÇ=Å7rˆkd£ÏËȲ¿Ì ãIsÌKã›_s6ÁK£O¹¸9Žx$ÄÖç™c®sÀÒß ¸¥?ÙõxÙ 34¹B2áÉÔ|»5Ç\ç ²~po·šç_j>dø Ÿì…š¿­9æ:ó”ð„™ƒ|4V<:óÌÆoôiNÕ“,s„±Öç5§jŽÃÖãfÖÂÌ1×9Ð\�fÖ!ïú,þ“…ÙÌ:CÉÈ®Çx<}^ÎÅ¿#ë—¯¯ðäÖ‡­!Æu£/bŽ  ñ„õyæ� ì«ó{û߯ü6¿Íyiô)�šc®s ÏÕ‡9d�oåÊÉ•ÙìUPYXP´¬\ùÏŸ&®ß9±Êr�}õa~›ßæ÷uÈ^˜¡ùK©ÃuÖ~È!¾¼ÄÂ_r†Ô¯‡Ô<‡øò躯¾o~›s†\�GÍq1A„h޹ÎÁ<}„a޹Î�>Wæ�5¾ù/<œ½_Ô;ê�S¹+/–J•üÏï_(uk*we§~+T†�[ÔïÖo¬2ùh̸]XþÓÙÍR¿ž¥É£ù 9J’òyæ8l 1æ ©�®3ï%e!di2¦Ï—ä‘Ò÷ÍqØ2–5Óä›{IÙ_Yš«WßHòHéûæ˜ëðy4ù¿›;ŒÕGFê!æì§1G‹ ™ÿ~W>�94™CÖø®oü•ßø[¾ñ·Å7þöoü ßøûùÆßñ�¿çkYã«úÆßöoü­¿æ·ù=Ä—ü±G¶ Ëz¼�¯³Nñ%gHýz–&ëýñBÖoD¾Ç3¼9x©sq™áÍÁË3ï/ŒÀ£æ�5T±*VŪX«Ì!#!k¦1‡¬¡ŠU±*VÅ*óÛ<¼9x©ó¿­×‚AÛ¸ÃX}dir¬ú¼$«ÿ¼nÞç'ðÍÿ¶d náÑ<¼9x‰æ[2*Ü)<š¿Þçˆæÿnd îLáÑüõ>勿[²† wþ·%<š¿Òœj4ÿw#k¨pçÿn„G´ Ëz¼�õ‘ïñ«>/Éê?¯óðæ5z4ÿÛ’‘�5ÓàÎÿÝüÊ<¼©yÝD3e îüoëWæd±{Dó¿-YC…;óWæ}òÍÿ62ªÄ�¿2—k¬æT£™²† ÷¯ÌÛƒ——ÿm½ ÚÆý¸ÌÒäXõyIVÿyÝü6'EÎqêh¦¬¡¢ÛˆæÌê£9Õh¦¬1:óðÿë{·t·-·›3«�9NMYcñIŠÄ-üÈòêï£ Î~–®«¤È–÷nén70ì5›S�fÊ*ó7ÅÒœj4SÖhÖ Ïü”Ùœj™²F³Nxæó'0¤9ÕhÊ£3Ïüè0šS�fÊÍ:á™7a4§E¦¬1:óÌÝà /š)k¡I„9Ž\˜…êŸp™c®s0Jµþ W„9æ:£TOa޹ÎÁ(ÕSf„9æ:ú\}˜CÖøJý{�¶S‘¿•¬TîÚ« ò—?»vQêÜkÍo¬2Ç‘ ¼Ñ§9Us”¾°Ì!ØÄšCž9æ:ú\}˜CÖøîѾ±Ê|Í¡?/j޹Î�>Wæ�5¾;{¡¾ñìñiâ/CûÓJ±& ¥Z±§¤¥rWþòg×.J�{­ù�Uæ˜ëTß×4Ç\ç@Ÿ«sÈßüecÕú�g�O«Ì1×9`—¦!¡j޹ÎA¸$ UsÌuf?�9äûêÃü6¯¾®Å\ç úYls�òA/sñHˆ'¬Ï3GÓ“Ls��ÆŠUæu�cR>8ñ2)¬¸6G¨kˆæ å1^æ˜ëÈ7 3ÌÑß0¿Íg!×ÑaDÍ!kdËq~Ã7ÎoÿÆùß8¿ïçWüÆù=_s}f!WÔš> ¹p¯<ºN²f/æš×LÓDÍ¡yÍ4À½òè:Éš½˜ßæ·nrÕåó²fhþR–’—‘ç�Ü/L>©Gjž+¯^®×“,Î_�Íï!>žC|IÖì%ÉÚÏúe`ê0ô`ƓٔžC|Ù”sJ¤æÕì…š¿¨ùm~k^3M5¿A>3î²fós�ƒZ–Їù�þp×ÌÈúå\Ãqÿÿÿÿÿÿÿÿÿÿ}ÛÉÓÉÛÉæÉþÉæÉþÉÛÉÓÉÓÉÓ2d6É×ÃØÃ*ÍaÉÍaÉÃ/ÃTÃ_ÃGÃ1:·Ê°ÍaVersion for: PMMI S-100 MODEM Starting at Port E0H ÉÍaVersion for: Kaypro II Computer É>Ó>DÓ>Ó>ÁÓ>Ó>êÓ:þÂý>ÓÉþÂ>ÓÉþÂ> ÓÉþÂ> ÓÉþÂ%>ÓÉ>ÓÉÍØÉÉÉA=Amrad 1-703-734-1387B=Ben Bronson 1-312-955-4493C=CBBS Pasadena 1-213-799-1632D=PMMI 1-703-379-0303E=Tech. CBBS 1-313-846-6127F=Ron Fowler 1-313-729-1905RG=Gasnet NASA gCæ¿ß‹Ë¬r¥æœ!WçíQshΆˆ;üè+/BtJ½ŽæÕ/GÉšiš×Í1×9ך/àŽÈÇG×/då–áZó…Ü0[–S\}Íñz0‡ælˆæÐœ Ñä£QÇÂTæ˜ë�òyæ˜ëðy4æ�³câæ ©_ÏÒäÑü…%¯®ù0‡`œ!Wçæ� œ!Wçíæ÷ö¿�ùm~›óy4Q྘rvúÓäI)}?¯¢ùx2ëýüÊ÷5ùh¬xvܳ›#ŒÅ†ÄFé/õ0ùh¬ø4¸OcÍÙ�¸k†\yÍÇëæc±!q‡QúËÓ˜Cs6$îš!W^Eóñº9úæ÷ö¿�ùm~›‡kÍ¢æ �G¨DÜáZó™#ŒÅ†4‡ælHÜíæc±!Í¡9w„9ÂXlHshΆÄ-Ìý ó{û߯ü6¿Í9C®Î#¢æ �Ûþš#ŒÅ†4ùhÌøêšs¶†ŒeÍ4¸¯¢ùÈQr¬ú¼,Mr†Ô¯‡%¯®ù0Ç\ç –%˜c®s0ûiÌ1×9˜ý4æ¸ÊÑr�}õa~oÿm~›ßæ³�kõ5)Ô1Á= ¹V!}ÕŒÔCÌŒÎ<Ü�îad(bö7Ÿþ<™!R�)¦ð7_/¹šñz¶‡‘¡ˆ-5OXŸE¦ŒD]Æè‹˜O"k¦‰"SÖ¨T%Æ*sdÊ€JU¢¹Ôᇗ(2e@»¹Ôá'¬O4S´›‡ÇesªÑLÐnÎë°>/ŠLa^W9 QdÊ€óFŸ7G™2 Ýœ/òæˆ"S´›—®«a}¢™2 ÿ¿¾wKw»�y3ö'QdÊ€vóüwЮR™‡±æO™2 ¼™µ°(2e€0aæÍ¬k¦‰"S´o`.k¦AækÁ m˜óE^Í4È|-Èši* _ÖLôf%íªˆÝ[Š»fšæõlJO¾È ©yÖkL1I‘ok~ã¿Í]>¯7§D†\uù¼¼z©öErù¶æ·ù�Z–�¯³Æ æ·y—³p¼ ÚÍ#û,¯ƒóFa^ ˜_]ó�ׂ�æ]ÖLƒ×‚A»Ê|^ ííæý…7ðZ0hfޑᯃöÝÍËõ8^ í˜ÏSÂÃkÁ ½eóЧØàµ`ÐN×<ô)r¼ Ú+5}…‡×‚A»æý-‰×‚A„Ê<²ëñðZ0ˆh7'ëçáµ`aÞÇkÁ B˜ùdº ?x-Dl`†$ ¯ƒˆ–Í}‚ÞÄkÁ@Øæµ,¯ƒ ÌûÓ×ÁkÁ@eÞÌý5ÌÉÒä,|ôrè§ùm>/r4QsL"�æ¸W]'Y³s©û #j©ûÑa÷Ê£ë$köb—C“¨9Âãrhòp¯<ºN²f/æõbäÕGÔWõb$p¯<ºN²f/æ¼Ñ§9Õ¨9d�f�ðpóÒÉ:g?Ã9J6ë„·ÍuN‰ Ùõx9Êvk~ã¿­{»%�”¾Ÿšçx�h¾N’"ßÖ¼\C5‡¬¡2¿ÍË5êƒ×‚AÛæ·ùâ!²9Õ¨9d�ïúšKfsªQsÈ_ù5/]W›S�šCÖø–¯y‹æT£æ�5¾-¾æ=¼×œjԲƷÍCx¯9Õ¨9d�oøšÂ{Í©FÍ!k|?_óñ:iN5jYã;¾æ§Ì)6§5‡¬ñ=_ów­®Ç~Ô²ÆWõÅý>�絺û˜š¾\CnŽÿ¶îÂÏ~®ÏÒgÕç¥æù ß\\æ·“ù‚y¹V×c?jYãÛþÅ]¤Ìku=ö305}¹†.ÜÿmÝ…Ÿý\Ÿ¥ÏªÏKÍ󾹸Ìoÿ&)òóz�)6§5‡ hÇÞÈQò[³ÞOò8³MY^H^F®sJdæ M¿Ýš—kÔ¯ƒ¶qo·�>/ÙÍë)>žW/Õ¾Hj®‡^çìç\ç<¹57ï/Œ^®n„‘õKÍ3,ò²tùz®�cÕçåªËç 1-301-344-9156H=Dave Hardy 1-313-846-6127I=Wayne Hammerly 1-301-953-3753J=RBBS Pasadena 1-213-356-1034K=David Kozinn 1-216-334-4604L=Program Store 1-202-337-4694M=Kelly Smith 1-805-527-9321N=SuperBrain Sys 1-617-862-0781O=R.L.Plouffe 1-703-524-2549P=K.Petersen 1-313-759-6569RQ=Bruce Ratoff 1-201-272-1874R=Mark Pulver 1-312-789-0499S= T= U= V= W= £ÃØnÍg!×¹¢æÐœ ÷v»¤ì/„'³ÞOñl³Ñ=Œ|ç‘ÇÇvkŽI.ÜÛmiòè0’0adý’3¤~=K“ï<òøÛ­9›ø¬£%îí¶~šWsr­þä6ûLç!#õ·[sÈÙQãÞnçê}?é›\ôýUS–’—±ÝšCÀ71 ¹Î…{»ÍYøXšçâùÎ#��Ô<�ckŽ0¦ùg-£æèo˜ßæœ=Âì/™+ÞþÕ_æ˜ëÌÓGæèo˜ßæóôFG.„Ùùxa˜£ô…eÁ&Na�Æs�ƒyz˜�›£¿a~›Ÿ2Â:MÔ䣱âÙÍ1×9û×3ùhÔq{„9ÈGcŧ1?Í)åŠb®s0ö¯g9;jsø&NsJ¹ÌÑ߀ùm>™~­5Ç\ç`ž>Â0Ç\ç@Ÿ«sÈßü^Í?j5ESd Š=šÐÖo<{|šø4ñib•9Ž\˜?�!²9Ãs�ƒQª³Ïs¹pÂa˜£ô…eÁ&x9a3Ç\çà„ABÕœ—†°¨9æ:á�¯ƒ ¦hÞÌú±^ ͬ+·G˜7³¼àµ`Ð̺²°ófÖ�¼ šYWaÞÌ:¯ƒ–§h~›Ÿ—hW©Dsáõÿn„çñBÖoD¾Ç3¼9x©sq™áÍÁË3ï/ŒÀ£æ�5T±*VŪX«Ì!#!k¦1‡¬¡ŠU±*VÅ   X= Y= Z= !9"_71_7Í/ MODEM 7.95 - 12/04/82 ÍpÍb>ÿ2.6/2ÓÍ”:c6·>2d6»>2d6:/6G:·xÊÑþCÊ.þDÊÈ)þ Ê^þHÊ€ÍKÍòÍ+Í+¯2f62g6:/6þEÂþ>ÿ2f6à þL >ÿ2g6à þTÊ þSÊ„ þRÊú Í«)Ã^:]þ Â4>ÿ2.6/2ÓÃUÍKÍ a7Ía7Í!8"l6>2.6:c62ù6·>2d6Âi>2d6ÍTÊVÍ_þ Ò-Gþ‰: ·Ê‰>Ã-:e6·>2e6ʨ:·xÊ-:¸xÊ-÷:¸Êë:·xÂ-:¸Ê†:¸Ì Êi:·ÊÖ:¸Ê­:·Êú:¸Âú:i6/2i6Í:Í:ÍýÍ:ÃV:·ÊÃ]þʇþÊHw:36·ÊÍ)Å>ͧÁ#}þÊ]ÃÐ:ú6<2ú6þ Ê<~þ ÄGÉ~þ È>.ÍGÃ5:36·Ä:yͧÍKþʇ!\ÍZ :36·Ê~Í/Checksum error ͉Ú~ÃÇáÉ>ͧÍòÍKþÈ7É>2j62÷6Íö!‘w"ó6ÍM!\‚7Íj2ÍÚÝ:fæ€Â¸*ó6\ë Íqë"ó6!÷64ø!ø65¬!‘w"ó6:÷6þAØ>@2÷6Éå!ø66!o6N!p6 6 !o6F#ÊI~þ Â#ÊI~þ Ê"õ6+#ÊI~þ Â):ø6<2ø6#ÊI~þ Ê;Ã)6 áÉ*õ6„7~þ Êb#ÃU#~þ Êb"õ6!ƒ7pÉ Í·È€Í\Íþÿȇ‡‡‡‡!€…o ~æ€Â¥#~æ€È+øÿ] Íq!e~æw#~æw\Í!\l Íq!u6B#6A#6KlÍ!l6\ÍÉ:·È\Í<È ÃS Í/ ++File transfer unsuccessful++ ÃS Í/ ++ Transfer cancelled ++ ñÁÑáÉ6# 6 #Â] 6#Âf ÉÍ/ Enter file name to be transferred - C/R TO QUIT: n6Í01Í:Én6!c Íj2Éc ÍÉc ÍÉ€!€ÕÍÿ Ñ~Íð þÈÍT·Êê Í_þÈ#ÂÑ ÉõÍ�Âñ ñÍ(ÍGÉ:·ÄG :·ÈO:·Ê y�OÍ Èà è:·Ê9 J:f6G:g6°Ê9 ð:·ÄG {²ÈÃ9 ÍóÀÍ+þÌT ÉÍóÂT Í+þÂT É>ÿ2h6Í2:;6·Â² >ÿ2ò6:j6·Ä›ÍË Òº >B2;6>ͧÃÐ:]þ ÊŸÍýÍPÍÔÍ\Úì Í@>2X6ÍøÍ9:h6·ÌXÄSÍeÚÓ ÃÅ >ͧÍeÚì ÃÐ:2h6/ Sending # å*V6ÍrÍ/ (Í–Í/H)á>ͧ:V6ͧ:V6/ͧÉ>2a6Íp!€~ͧ,ÂF¯2a6ÉyͧÉÍ¡zͧ{ͧ¯É ÍEÚÒþÈG:36·Ê–xÍ:Í£Í/H Recv'd, not ACK :X6<2X6=þ Ø:36·Ê­ͺ7ÈÍC Can't send sector -- Aborting $:36·Ê–Í/ Timeout on ACK Ö:36·ÈÍTÈÍ_þÀ1_7ÍKÒ>ͧÍKÒ> ͧÍ/ Routine cancelled >B2;6ÃÓå*V6#"V6}áÉ:;6·Ê–\Í<ÈÍ/File exists -- Type 'Y' to erase: Í_õÍGñÍiþYÂ^Í:\ÍÉÍ/ No file specified Ã^\Í<ÀÍCError - Can't make file Directory is likely full $#:$¸ÊÈ):"¸Ê :#¸õåÌ+áñÊV:¸Ê9:¸xÂ-:.6þÿÊV>ÿÃ;>2ÓÍDÃVÍ/ ** Memory buffer :Ó·ÊtÍ/open ** :ÉÍ/closed ** ÉÍ:ÍQÿÍ%Í.Í1ÉÍ�¤> Ã-ÍÕÒ†Ùå*IÍ�ÂÄ~#þÊÍÍ(ñÍÕÒÑñáÃVáÆÍTÊéÍ_G:¸Âé7?É7É>ÿ2e6ÃVÍ%Í4Í7É:i6·ÊÍ/Printer is on ÉÍ/Printer is off ÉÍ(G:g6·Â?:f6·ÊFxÍGÍŽ> ¸ÂV: ·ÊVÙÍóÂiÍ+æÊiÍGGÍŽ:f6·ÊvxÍ(> ¸Âi: Êi:f6·Â™> Ãd:i6·ÊŸÅåXÍáÁ:ÓþÈxw#"l6þ µ>:ÍGÍ¿¼ÅÌÖÁÉ:·ÊÎ:ÞÃÑ:=É>Í(Í  2ÔÍ  2ÕÕÍÆ ÍØ Ñ!8Ê :Ôw#ÍGÃÅÅÕå€ÍáÑÁ¯2h:¶·ÂP>2¶!\· ÍÏ:\2Ã!·\ ÍÏÅÕå\ÍáÑÁÄ!Ã\ ÍÏÅÕå\ÍáÑÁ!·\ ÍÏÅÕå\ÍáÑÁ<7Â�2¶É=懇‡‡‡Æ�o&åÄ ÍÏá] Íϯ2h2|É~# x±ÂÏÉ>2X6¯2Y6:36·ÊÍ/ Awaiting # å*V6#ÍrÍ/ (Í–Í/H)}á ÍKÚ¿ÍWÚdþÊë·Êþ7ÈG:36·ÊTxÍ:Í£Í/H recv'd, not SOH ÍKÒT:h6·>Âp:k6·>Êp>Cͧ:X6<2X6þ Úß:36·ÊŒͺÊÚÍ>ÍC ++ Unable to receive block - Aborting ++ $:36·ÊèÍ/ ++ Timeout ++ :X6å&oÍráÍ:ÍîÃT:X6þÀ:k6·È:h6·À/2Í2:;6·Â >2ò6Í�Ò( >B2;6ÃÐ:]þ ÊŸÃ. ÍqÍñÍKͼ:36·Êc :;6·Êc Í/File open, ready to receive :h6·>Ân >Cͧ:36·Ê­ :h6·Â• Í/CRC in effect í Í/Checksum in effect ÍÚÚ¿ ÍÚÍ@Íòí ÍòÍòÍ>ÃÐ:36·Êé Í/Awaiting name NAK PÍõ>ͧ!÷65ú *ó6\ Íq"ó6Í·É>ͧ7Éå y2ú6!]~æͧ:36·~Ê1Í)ÅÍKÁÚ[þÂ1# >ͧ:36·Ä:QÍKºÊˆ>uͧ:36·Ê{Í/Checksum error PÍõ>ͧÃ>ͧáÉ!\ÍZ :36·Ê´Í/Awaiting file name ͉Ú´ÍÆþÊÄ·É7Éåy2ú6!]ÍKÒ:36·ÊÍ/Time out receiving filename \Í*}"_6!"}ɯ2h\Í<Â5ÍCCan't open file$:36·ÈÍ 5É\Í<ÀÍCCan't close file$:]6=2]6ús*[6€Ío"[6É:Z6þ7È‘7ÅÕÍ\ÍÑÁ·Ê±=ÊÀÍC++ File read error ++$!€ë yþ€ÊÆÃ>2Z6y2]6!‘7"[6€ÍÃ\*[6ë!€Íoë"[6:]6<2]6þ€À:]6·ÈO‘7åÕÅÍ\ÍÁÑá·Â&!€ë Âû¯2]6!‘7"[6ÉͧÍC Error writing file $Í+Í+Õ:·ÊVx‡G˜:ÍòÍóÊqÂ\Â\ÂVÑ7É:·Ê€Í%æ82Y6Í+ÑõÍy�O:46·ÊŸ:66·Â¤:a6·Ê¤ñõÍñ·Éõ:56·Ê½:66·ÂÂ:a6·ÊÂñõÍñõÍy�OÍ�ÂÉñÍ(É:36·ÊõÍ/Awaiting initial NAK ÍòÍKþÈÊ :Õw#ÍG>Í(ÉÕ:b6æûÍ@:·ÂÊ, „Í­ Ê\ þÊ, æÍGõ:ÓþÊX ñw#"l6þ Â, >:ÍGÃ, ñÃ, :b6Í@Ñ*l6:·Êu :ÞÃx :=¼ÂiÍ/ Memory save buffer full Ãi:·âÊ­ Ä Íóʺ x±Â­ ÉÍ+É6#È}·l&õ)ñ>�oÉ8Í Õa7Í ÑëÕ€Ñë+|µÂÛ Éa7ÍÉÅÕåõÍñáÑÁÉ!a7ÍX !\a7 ÍqÉåÕÅõ!c ÍX !lÍX Ín :p6þ Êe Ͱ ͺ þÿ» Í/ ++File does not exist++ Í/Type "R" to return to modem Type "A" to re-enter name: Í_ÍiÍGÍ:þAÊ0 þRÊS Ãe €ÍÍà þÊà þÊ ÍÌ þÊà þÊ1 Ãà Í/ ++File transfer completed++h62:36·ÈÍ/++ Switching to Checksum mode ++ ++ Sender may not be CRC capable ++ Éõ:Y6§Êbñ7ÉñÉ:36·ÊTÍ/ :Y6æ Ê”Í/++ Framing error ++ ÍÜ:Y6æÊ·Í/++ Overrun error ++ ÍÜ:Y6æÊÙÍ/++ Parity error ++ ÍÜÃT:X6å&oÍráÍ:ɯ2k6ÍKÚ¿ÍWÚdWÍKÚ¿ÍWÚd/ºÊ::36·ÊTÍ/ ++ Bad sector # in Hdr ÃTz2U6>2a6Íp!€ÍKÚ¿ÍWÚdw,ÂK:h6·Ê�Q¯2a6ÍKÚ¿ÍWÚdºÂÇ:U6G:V6¸Êì<¸ÂÉÍKÚ¿ÍWÚdÂ�Ͳ·Ê|:36·ÊTÍ/ ++ CRC error ++ÃÚ:36·ÊTÍ/ ++ Checksum error ++ ÃÚÍòÃÚ>ͧÉ:36·Ê&Í  þCÊ ÊÃõ:36·Ê-Í/CRC request received ¯2h6É:·È::6·ÂF:d6æÏÃR:96·À:d6æÏö ÃC:·È:d6öÃC*"X"c"M:·ÊK:&2D<2)2,<2;2><2AÉ]2/6þ È!06 ¾ÂÄþOµ¯2c6ÿþA¿>ÿ2c66Û#¥ͫ)ñÃ^:;6·Âe:36·Ê> !>w#Âå !]>¸Ê ~þ Ê#x·ÊÃó~þ Ê>.ÃóÍ/ Í/ Transferred :\2ð6!\ÍX :ð62\!H6U6 Íq:ò6·Â‰ à Í/ All transfers completed :16·ÂÓÍ/ Press RETURN to disconnect Íþ ÂŒÍ/ Disconnected Í/Ã[ÍU>ÿ2k62j62.6/2Ó:76·Â^Í:ÃU!l\Íq¯2|rt baud rate : ·ÊF#Í/TCC - Toggle Checksum/CRC mode on receive : ·Ê{#Í/TBR - Toggle backspace to rub conversion :·ÊÞ#Í/TLC - Toggle 1) local command immediate 2) local command after :Í : ·Ê$Í/TLF - Toggle send linefeed after carriage return :·Ê^$Í/TXO - Toggle XOFF testing in terminal mode file output è$Í/CAL - Dial number DSC - Disconnect BYE - Disconnect and reboot Í/ The following are terminal text buffer commands: DEL - Delete memory buffer andde E - Terminal mode with echo L - Terminal mode with local echo For capturing text use T(or E or L) FILENAME.TYP and Start & Stop toggles described on subsequent screen. R - Receive CP/M file using Christensen Protocol S - Send CP/M file using Christensen Protocol Command is: R(or S) FILENAME.TYP R and S can use the following subcommands: B - Bulk transfer using wildcards (e.g. *.*) Q - Quiet mode (no messages to console) T - Return t#.Í1TXOÒt.:·Â)Í1NUMÒa/:·Ê.)Í1SETÒÕ.Í1NOLÚN):.6·ÂE/:ù6226ÍD*l6ÃUÍ1WRTÒ/Í1DELÒâ.:·Ê�)Í1DSCÒÈ)Í1BYEÒé)Í1CALÚ�)> 2r6Ã�)å:p6! 1Íí/áÚ¥)åÍzáûÍ«)Ã(Í/++ Invalid Command ++ ÉÍ/Í/ << Disconnected >> ÆÍ/ Goodbye... ¯ÍCÍ@* éÍ2ñ6Íb3:ñ6_ÍÃ(:.6·ÊÃ*Í/ Insert disk for drive :t6þ ÂO*ÍÆAõÖAþÒ¥)_ñÕÍGÍ/ Hit return when readyÍ_þ Â]*Í: ÍÑÍ:u6þ ʽ*Ö0þ«*:v6þ G>Ê«*xÖ&G ÅÿÍÁ¸Ê½*XÍÍ:Ã(Í/++ Terminal mode file open ++ ++ Use WRT or DEL2hÉþ Ê-þ Ê-þ Ê-þ ÚþÚ-õ>(Í-ñÍ£>)Ã-ÅÕå_ÍáÑÁÉõ> ÍG> ÍGñÉõÅÕåOÍáÑÁñÉÅÕåÍáÑÁ·ÉÅÕåÍáÑÁÉþaØþ{Ðæ_ÉõÅÕåöÿÿÿ Ú| ë|µÄr{Æ0Í-áÑÁñÉåõ|Í£}Í£ñáÉõͬñæþ 򵮮0ÃG:;6·ÂÃ<É>2X6Í/ Multiple errors encountered. Type Q to quit, R to retry: Í_õÍ:ñÍiþRÈþQº·ÉõÍ/ctrl-ñÆ@ÍGã~·Ê<Í-#Ã0ãÉ ÃÑÍ>>ÍG:;6·ÂÓ>Q236ÀÍ*_7ù:·ÊÉ€~#ÂqÉn6!\Íj2Í”:]þEÈþHÈþLÈG:·xÊžþCÈþTÊþSÊÐþRµ:;6·ÈÃÐÍ/ ++ Bad Option ++ ÃÖ:mþ ÀÍ/ Re-enter PRIMARY option and file name file NOL - Return to terminal mode - no loss of data in buffer WRT - Write memory buffer to disk file Íù/Í/ Local Commands while in Terminal Mode :Í - Exit to command mode :·Ê&:$Í - Disconnect :"Í - Send break :#Í - Change baud rate :·Ê7&:Í - Transmit logon :·ÊY&:Í - Toggle printer > ÍG:Í - Start copy into buffer :Í - Stop copy into buffer Start & Stop may be toggled as often as desired. A ":" at start of line indicates bo terminal mode after transfer V - View bytes transferred on console The single letter commands may also be used on the command line when the program is initially executed. Íù/Í/ Three Letter Commands CPM - Exit from this program to CP/M DIR - List directory and space free (may specify drive) ERA - Erase file (may specify drive) LOG - Change default drive + user no. (specify drive + user) and reset disks. e.g. LOG A0, LOG B (user # unchanged) TIM - Set serial po before LOG command ++ ¯Ã(n6!\Íj2Íò:]þ Ê¥)\Í<Â_+Í/++ File not found ++ Ã(\ÍÍ/File erased Ã(Í/Enter speed from 0 (slowest) to 9 (fastest): ÍTʬ+Í_ÍGÍ/,Ö0þ Ò¥)G> �2ÍÏ+Ã(Í/Terminal mode file output delay is 0.:G‡€þ GÒ ,>0ÍGxåo&ÍráÍ/ seconds per character ÉõÍ/ ñÉÍ/Use 0-5 to give baud rate where:, 0=300, 1=1200, 2=2400, 3=4800, 4=96000, and 5=19.2k Baud. Enter value: ÍTÊ©,Í_ÍGÍ/,Ö0þÒ¥)2ÍðÍË,Ã(Í"- -Í/Rate for the S mode time-to-send message is  only: n6Í01Ãz:mþ Â%>2Ó>ÿ2.6É>2.6É:·ÈÍ/ Enter New Baudrate: !e6Í_þ Â]Í:Ãðþ0ÚOþ:ÒOwOÍG#ÃOå!"½áÉõÅåO*½yO}o|gÒ–|îg}î!o‚"½áÁñÉõ¯ÍyÍyå*½T]áñÉå*½|µáÈ>ÿÉ:.6·Â^Í/ ** There may be text in the memory buffer ** ** It will be lost unless NOL or WRT commands are used ** :o:·ÊG}…oMÐ{²ÂK ÂH>ÍGÂG!H6U6 Íq!<606 Íq>2¶/2j6Ã(Í!0Í/ Single Letter Commands H - Display this information ? - Display current settings T - Terminal mouffer is open. XOFF automatically used to stop input when writing full buffer to disk, XON sent to resume. :Í - Transfer ASCII file to remote :·:Ââ'Í - Send local control character to remote Ã(Í - Next character will be used for local control Í/ Default Drive: ÍÆAÍGÿ Íþ ÚM(Ö õ>1ÍGñÆ0ÍGÍ::.6·Âz(Íø0Í/ bytes of buffer free Í/COMMAND (H for Help): n6Í01Í:p6Í1CPMÒ[Í1LOGÒ*Í1DIRÒ*Í1ERAÒ!+Í1?Ò=0Í1TIMÒ9,Í1TCCÒ+-Í1TBRÒn-Í1TLCÒº-Í1TLFÒ  set to Ã-Í/Modem speed is Íõ5É:G:°É: ·Ê¥):/2Í?-Ã(·ÂV-Í/CRC mode set ÉÍ/Checksum mode set É: ·Ê¥): /2 Í‚-Ã(·Ê�-Í/Backspace is rub ÉÍ/Backspace is backspace É:·Ê¥):/2ÍÎ-Ã(Í/Use :·:Êü-Í before local command ÉÍ to send local command to remote É: ·Ê¥): /2 Í7.Ã(Í/Linefeed : ·ÂS.Í/NOT Í/sent after carriage return É:·Ê¥):/2͈.Ã(:·ÈÍ/XOFF testing :·Â­.Í/NOT Í/used in terminal mode file output É:·Ê¥)ÍNÃ(:.6·ÂE/:b7þ ÊE/a7Í >ÿ2.6/2>Í3ÁáÉw#Â3Éþ:Â3æ_Ö@w#Éþ Èþ.Èþ È ú!3w#Ã!3~þ*ÊE3#Â73ÃH3ÍZ3~þ*ÊV3#ÈÃJ3ÍZ3É6?#ÂZ3Én6!\Íj2!ã4ÍX :l2ã4:mþ õ̺4ñÄÈ4€Í¯2525ã4ÍþÿÊ4õñÍÔ4~·Êá3ûÿ~æ€Âá3öÿ#Î3ÍqÍqÍ/ . >ÿ25ã4ÍþÿÊ4õ:5·Ê¡3:5<25æ·Ì:ij4>25á3Í/NO FILE:ã4·Ê'4=_ÍÍ##~2 5#~25##^#Vë"5Íë*5#ÕÚV4W+}´Êg4zÂQ4ÑÃM4Ñi`: 5ÖÊw4)=Âr4å:ã4·Â…4Í<Æ@2•4Í/ DRIVE HAS áÍrÍ/K BYTES FREE ÉÍ/| É>? !ä4w#ÂÁ4É!mä4 ÍqÉæ‡‡‡‡‡_!€É;MACROS LIBRARY FOR CP/M ROUTINE SIMULATION 11/15/82 ;CONTAINS: ; 1) INBUF - DUPLICATES READ BUFFER ROUTINE ; SAME AS CP/M FUNCTION 10, BUT DOES ; NOT USE CTRL-C (REASON FOR ROUTINE). ; DOES ALLOW CONTROLS U, R, E, AND H (BACKSPACE). ; OUTPUTS BELL IF INPUT GREATER THAN BUFFER ; 2) CMDLINE - PARSES A CP/M BUFFER INTO FORMAT SAME AS ; CP/M COMMAND LINE. ; 3) INLNCOMP - COMPARES STRINGS FOLLOWING CALL TO 'ILCOMP' ; TO STRING ADDRESSED BY DE REGS. ; 4) MFACCESS - MÓ!a7ÍX !8"l6Ã(:.6þÿÊE/:b7þ ÊE/*l6Í¿ ÍØ Íù >ÿ2.6/2Ó!a7ÍX !8"l6Ã(Í/++ No File Open ++ Ã(åÍ!0Í/ Library of Phone Numbers of Remote Systems !0‘7ÍÆ/##ÍqÍÏ/##ÍqÍÆ/ ÊØ/ë/> > É> É>$ ‘7ÍÍ:Í:áÃ(F#¾Êø/Âî/7ÉÍ/HIT any KEY to CONTINUEÍTÊ0Í_Í!0É:·Ê,0ÍYÉ> ÍG > ÍGÂ50ÉÍ!0Í/ Current Settings :Í?-:·Êx0ÍýÍË,: Í‚-Í7.ÍÎ-Í/Terminal mode file buffer is :.6·Êµ0Í/inÍ/active Unused portion of buffer is Íø0Í/ bytes ͈.ÍÏ+Í:Ã(Í¿G*l67 KMDM795 is the public domain MODEM795 program modified to run on the KAYPRO II computer. A few modifications were added, including the ability to set different baud rates using the TIM instruction. Possibilities are 300, 1200, 2400, 4800, 9600, and 19,200 bits/sec. The higher speeds may be useful if you have the KAYPRO wired directly to another computer. For example, I run high speeds with my OSBORNE I, and my dealer is running 19,200 between a KAYPRO and XEROX 820. Í/FILE OPEN - *_6ÍrÍ/ (Í–Í/ HEX) RECORDS SEND TIME: :_!¶5~*_6ÍÄ5å&ÍrÍ/ MINS, !½5:_~áÍÚ5Íè5Íè5Íè5Íè5&ÍrÍ/ SECS AT Íõ5Í/USE CTL-X TO CANCEL É 1ÀJ3&!ÅO¯)|‘úÔ5g}öoÂÈ5ÁÉG\l&ÈÃá5É}o·|gÐ>€µoÉ!6:‡‡_ë ÍÍ/0 BAUD É 30$120$240$480$960$19,20$ADOQRSVTL01ADOQRSVTL01B‘7‘7ÿÿÿÿ8€ULTI-FILE FILE ACCESS ROUTINE FROM ; CP/M USERS GROUP. ; 5) SENDTIME - SHOWS THE APPOROXIMATE TIME TO SEND A FILE ; FOR SEVERAL DIFFERENT BAUD RATES. ; 6) PRTBAUD - SHOWS BAUD RATES SET FOR TIME TO SEND FILE ; MESSAGE ; 7) DIRLIST - LISTS DIRECTORY, AND GIVES FREE SPACE ; ON REQUESTED DRIVE. INBUF MACRO ;NO PARAMETERS USED. LOCAL START,INBUFO,INBUFA,DELETE,NODEL,ALERT LOCAL INBUFLT,CLEAR,CLEARL,INBUFR,RETYPE,BKSPC,PCRLF LOCAL CONIN,CONOUT,CONIN1,CONOUT1,NOUCASE,CTLRLP ?>�oxœgÍrÉSRTEHLãÕ~·Ê,1¾Â$1#Ã1>#¾Â&17Ñ#ãÉõåÅÕÍ2ÑÕ¯ëÍ2þ Êÿ1þÊ{1þÊ{1þʱ1þÊÃ1þÊò1þ Ú>1Gëáå#4+~#¾Úè1ëpxÍU2#Ã>1ëáå#G~ÖwÚš1ë+xF6 þÊ¡1þÊŸ1Ã>14ëÃ>1>ÍU2> ÍU2>ÍU2Ã>1>#ÍU2> ÍU2> ÍU2Ã41ÑÕG>#ÍU2> ÍU2> ÍU2x·Ê>1ÍU2ÂÜ1Ã>1>ÍU25ëÃ>1> ÍU2> ÍU2Ã>1> ÍU2> ÍU2ÑÁáñÉÑáåÕF##> w#Â2ÉåÕÅÍC2·Ê!2Í;2þaÚ72þ{Ò72æ_ÁÑáÉ*éåÕÅÍM2ÁÑáÉ*éåÕÅõÍa2ñÁÑáÉ* OéõÅÕåÍä2ë#^#6 áÑÕåÍ3Í!3þ ÊÐ2þ Ê¢2áå Í!3þ ÊÐ2þ ²2â2þ ÊÐ2áå Í3Í!3þ ÊÐ2áå Í!3áå#Í53áå Í53áÑÁñÉåÅ6# > Í3>Í3 > Í3 There are three screens of help information, which you will see how to obtain. A known bug is that the time to send figures are not correct. Perhaps someone could fix this; the necessary routines are in the LIB file. Brown Grier (312) 690-0359   LOCAL CONSTAT,CONST1,CONINLP PUSH PSW PUSH H PUSH B PUSH D ;DE REGISTERS MUST BE PUSHED LAST START CALL CLEAR ;CLEAR THE BUFFER AREA POP D ;GET ADDRESS OF BUFFER ON RETRIES PUSH D ;RESTORE STACK XRA A INX D ;ADDRESS COUNT FIELD STAX D ;INITIALIZE WITH A ZERO IN COUNT BYTE INX D XCHG ;ADDRESS FIRST BUFFER BYTE WITH HL INBUFA CALL CONIN CPI 0DH ;IS IT A RETURN? JZ INBUFR ;IF SO, THEN RETURN CPI 7FH ;IS IT A DELETE? JZ DELETE CPI 8 ;CTRL-H WILL BACKSPACE.. JZ DELE INBUFR MVI A,0DH CALL CONOUT MVI A,0AH CALL CONOUT POP D POP B POP H POP PSW RET CLEAR POP D ;ACCOUNTS FOR CALL POP H ;ADDRESS BUFFER IN HL PUSH H ;RESTORE.. PUSH D ;..STACK MOV B,M ;SAVE MAXIMUM IN B INX H ;POINT TO FIRST.. INX H ;..BUFFER BYTE. MVI A,20H CLEARL MOV M,A INX H DCR B JNZ CLEARL RET CONIN PUSH H ! PUSH D ! PUSH B CONINLP CALL CONSTAT ORA A JZ CONINLP CALL CONIN1 CPI 61H ;CHANGE TO UPPER.. JC NOUCASE ;..CASE SINCE CP/M.. CPI NING OF BUFFER. XCHG ;RESTORE BUFFER POINTER TO HL DCX H ;POINT TO LAST BYTE INPUTTED MOV A,B ;GET BACK EITHER 7FH OR 08H MOV B,M ;GET CHARACTER BEING DELETED MVI M,20H ;RESTORE BLANK CPI 8 JZ BKSPC CPI 7FH ; @ 7.5 JZ BKSPC0 ; @ 7.5 JMP INBUFA ;GET NEXT CHARACTER NODEL INR M ;DON'T LEAVE COUNT NEGATIVE XCHG ;RESTORE POINTER TO HL JMP INBUFA BKSPC0 MVI A,08H BKSPC CALL CONOUT ;TRUE ERASE IF 08H MVI A,20H CALL CONOUT MVI A,8 CALL CONOUT JMP INBUFA INBUFO MVI A,'USH H CALL INIT ;FILLS FCBS WITH BLANKS AND NULLS XCHG ;GET START OF COMMAND LINE IN HL. INX H ;ADDRESS # BYTES IN CMD LINE. MOV E,M ;LOAD DE PAIR WITH # BYTES. MVI D,0 INX H DAD D ;POINT TO BYTE AFTER LAST CHAR.. MVI M,0DH ;..IN CMD LINE AND STORE DELIMITER. POP H ;RESTORE HL AND DE. POP D PUSH D PUSH H INX D ;ADDRESS START OF COMMAND. INX D CALL DRIVE NAME1 MVI C,8 ;TRANSFER FIRST FILENAME TO FCB. CALL TRANS CPI 0DH JZ DONE CPI 20H ;IF SPACE, THEN STATE ;..OVER DELETED CHAR. CPI 'U'-40H ;IS IT A CTRL-U JZ INBUFO ;OUTPUT # CR LF AND START OVER CPI 'R'-40H ;CTRL-R RETYPES LINE JZ RETYPE CPI 'E'-40H JZ PCRLF CPI 20H ;NO CONTROL CHARACTERS OTHER.. JC INBUFA ;..THAN ABOVE ALLOWED. MOV B,A ;SAVE INPUTTED CHARACTER XCHG ;SAVE HL IN DE POP H ;GET ADDRESS OF BUFFER IN HL PUSH H ;RESTORE STACK INX H ;ADDRESS COUNT BYTE INR M ;INCREASE COUNT BYTE DCX H ;ADDRESS MAXIMUM MOV A,M ;PUT MAXIMUM IN A INX H ;ADDRESS COUNT CMP7BH ;..DOES THE SAME. JNC NOUCASE ANI 5FH NOUCASE POP B ! POP D ! POP H RET CONIN1 LHLD 1 LXI D,6 DAD D PCHL CONSTAT PUSH H ! PUSH D ! PUSH B CALL CONST1 POP B ! POP D ! POP H RET CONST1 LHLD 1 LXI D,3 DAD D PCHL CONOUT PUSH H ! PUSH D ! PUSH B ! PUSH PSW CALL CONOUT1 POP PSW ! POP B ! POP D ! POP H RET CONOUT1 LHLD 1 LXI D,9 DAD D MOV C,A PCHL ENDM CMDLINE MACRO ;NO PARAMETERS USED ;LOADS A COMMAND LINE ADDRESSED BY DE REGISTERS (MAX # CHARACTERS #' CALL CONOUT MVI A,0DH CALL CONOUT MVI A,0AH CALL CONOUT JMP START RETYPE POP D PUSH D INX D ;POINT TO CURRENT NUMBER.. LDAX D ;..OF CHARACTERS. MOV B,A MVI A,'#' CALL CONOUT MVI A,0DH CALL CONOUT MVI A,0AH CALL CONOUT MOV A,B ;TEST IF ZERO INPUT ORA A JZ INBUFA CTLRLP INX D LDAX D CALL CONOUT DCR B JNZ CTLRLP JMP INBUFA ALERT MVI A,7 CALL CONOUT DCR M XCHG JMP INBUFA PCRLF MVI A,0DH CALL CONOUT MVI A,0AH CALL CONOUT JMP INBUFA RT OF.. JZ NAME2 ;..SECOND FILENAME. TYPE1 POP H ;FILETYPE MUST BE AFTER.. PUSH H ;..EIGHTH BYTE OF NAME. LXI B,9 DAD B MVI C,3 ;TRANSFER TYPE OF FIRST FILE CALL TRANS CPI 0DH JZ DONE NAME2 LDAX D ;EAT MULTIPLE SPACES.. CPI 20H ;..BETWEEN NAMES. JNZ NAME2C INX D JMP NAME2 LDAX D CPI 0DH ;TEST IF FIRST NAME.. JZ DONE ;..ONLY AND THEN SPACE. NAME2C POP H ;SECOND NAME STARTS IN 16TH BYTE. PUSH H ;POINT HL TO THIS BYTE. LXI B,16 DAD B CALL DRIVE MVI C,8  M ;COMPARE COUNT TO MAXIMUM JC ALERT ;IF MAXIMUM, RING BELL AND WAIT FOR CR XCHG ;RESTORE BUFFER POINTER TO HL MOV M,B ;PUT INPUTTED CHARACTER IN BUFFER MOV A,B ;OUTPUT IT CALL CONOUT INX H ;BUMP POINTER JMP INBUFA ;GET NEXT CHARACTER DELETE XCHG ;SAVE BUFFER POINTER IN DE POP H ;ADDRESS BEGINNING OF BUFFER PUSH H ;RESTORE STACK INX H ;ADDRESS COUNT FIELD MOV B,A ;SAVE DELETE CHAR - 7FH OR 08H MOV A,M SUI 1 ;DECREASE COUNT MOV M,A JC NODEL ;DON'T DELETE PAST BEGIIN LINE ;IN DE, NUMBER OF CHARS IN LINE IN DE+1, LINE STARTS IN DE+2) INTO FCB ;ADDRESSED BY HL REGISTERS. THE FCB SHOULD BE AT LEAST 33 BYTES IN LENGTH. ;THE COMMAND LINE BUFFER MUST HAVE A MAXIMUM LENGTH OF AT LEAST ONE MORE ;THAN THE GREATEST NUMBER OF CHARACTERS THAT WILL BE NEEDED. LOCAL CMDLINE, DEFDR, DONE, DRIVE, FILL1, FILL, FILL2, INIT, INITL1 LOCAL INITL2, INITL3, INITL4, NAME1, NAME2, SCAN, TRANS, TSTNAM LOCAL TSTTYP, TSTTYPL, TYPE1, TYPE2, NAME2C PUSH PSW PUSH B PUSH D P  CALL TRANS CPI 0DH JZ DONE TYPE2 POP H ;SECOND TYPE STARTS IN 25TH BYTE. PUSH H LXI B,25 DAD B MVI C,3 CALL TRANS DONE POP H PUSH H INX H ;POINT TO FIRST CHAR OF FIRST NAME IN FCB. CALL SCAN ;CHECK FOR * (AMBIGUOUS NAMES). POP H PUSH H LXI B,17 ;POINT TO FIRST CHAR OF SECOND NAME IN FCB. DAD B CALL SCAN POP H POP D POP B POP PSW RET ; =============>>> SUBROUTINES <<=============== INIT PUSH H ;INITIALIZES FCB WITH 1 NULL (FOR FIRST DRIVE),.. PUSH B  INX H INX D JMP ILCOMPL NOTSAME MVI A,0 ;IF NOT SAME, FINISH THRU.. NSLP INX H ;..STRING SO RETURN WILL.. CMP M ;..GO TO INSTRUCTION AFTER.. JNZ NSLP ;..STRING AND NOT REMAINDER OF STRING. STC SAME POP D INX H ;AVOIDS A NOP INSTRUCTION.. XTHL ;..WHEN RETURNING. RET ENDM MFACCESS MACRO ;NO PARAMETERS USED LOCAL MOVE, CPM, MFNAME, MFN01, MFN02, MFFIX1, MFREQ LOCAL MFCUR, MOVER, SRCHF, SRCHN, STDMA, BDOS, FCB, FCBEXT LOCAL FCBRNO ;MFFLG1 IS NOT SET LOCAL BECAUSE IT CE C-REG IS LESS THAN ZERO, KEEP READING.. MOV M,A ;..CMD LINE BUT DO NOT TRANSFER TO FCB. INX H JMP TRANS SCAN MVI B,8 ;SCAN FILE NAME ADDRESSED BY HL. TSTNAM MOV A,M CPI '*' ;IF '*' FOUND, FILL IN REST OF FIELD.. JZ FILL1 ;..WITH '?' FOR AMBIGUOUS NAME. INX H DCR B JNZ TSTNAM JMP TSTTYP FILL1 CALL FILL TSTTYP MVI B,3 ;SCAN AND FILL TYPE FIELD FOR NAME.. TSTTYPL MOV A,M ;..SPECIFIED ABOVE. CPI '*' JZ FILL2 INX H DCR B RZ JMP TSTTYPL FILL2 CALL FILL RET FILL CALL BDOS POP H POP D POP B ENDM ; ;------------------------------------------------ ; ; MULTI-FILE ACCESS SUBROUTINE ; ;THE ROUTINE IS COMMENTED IN PSEUDO CODE, ;EACH PSEUDO CODE STATEMENT IS IN <<...>> ; MFNAME: ;<> CPM STDMA,80H XRA A ! STA FCBEXT ;<> LDA MFFLG1 ! ORA A ! JNZ MFN01 ; <> MVI A,1 ! STA MFFLG1 ; <> MOVE FCB,MFREQ,12 ;SAVE ORIG REQ LDA FCB ! STA MFCUR ;SAVE DISK IN CURR FCB  ;..11 BLANKS, 4 NULLS, 1 NULL (FOR 2ND DRIVE),.. MVI M,0 ;..11 BLANKS, AND 4 NULLS. INX H MVI B,11 MVI A,20H CALL INITFILL MVI B,5 MVI A,0 CALL INITFILL MVI B,11 MVI A,20H CALL INITFILL MVI B,4 MVI A,0 CALL INITFILL POP B POP H RET INITFILL MOV M,A INX H DCR B JNZ INITFILL RET DRIVE INX D ;CHECK 2ND BYTE OF FILENAME. IF IT.. LDAX D ;..IS A ":", THEN DRIVE WAS SPECIFIED. DCX D CPI ':' JNZ DEFDR ;ELSE ZERO FOR DEFAULT DRIVE ('INIT' PUT ZERO) LDAXMUST BE RESET ;IN MAIN MODEM PROGRAM ON AN ABORT ; ; MUST BE ASSEMBLED BY "MAC" ; ;MULTI-FILE ACCESS SUBROUTINE. ALLOWS PROCESSING ;OF MULTIPLE FILES (I.E. *.ASM) FROM DISK. THIS ;ROUTINE BUILDS THE PROPER NAME IN THE FCB EACH ;TIME IT IS CALLED. THIS COMMAND WOULD BE USED ;IN SUCH PROGRAMS AS MODEM TRANSFER, TAPE SAVE, ;ETC IN WHICH YOU WANT TO PROCESS SINGLE OR ;MULTIPLE FILES. ; ;THE FCB WILL BE SET UP WITH THE NEXT NAME, READY TO ;DO NORMAL PROCESSING (OPEN, READ, ETC.) WHEN ROUTINE  MVI M,'?' ;ROUTINE TRANSFERS '?'. INX H DCR B JNZ FILL RET ENDM INLNCOMP MACRO ;NO PARAMETERS USED ;IN-LINE COMPARE. COMPARES STRING ADDRESSED BY DE-REG TO STRING ;AFTER CALL (ENDS WITH ZERO). RETURN WITH CARRY SET MEANS STRINGS ;NOT THE SAME. ALL REGISTERS EXCEPT A-REG ARE UNAFFECTED. LOCAL ILCOMPL, SAME, NOTSAME, NSLP XTHL ;POINT HL TO 1ST CHAR. PUSH D ILCOMPL MOV A,M ;HL POINTS TO IN-LINE STRING. ORA A ;END OF STRING IF ZERO. JZ SAME LDAX D CMP M JNZ NOTSAME  ; <> MOVE MFREQ,FCB,12 CPM SRCHF,FCB ;<> JMP MFN02 MFN01: ; <> MOVE MFCUR,FCB,12 CPM SRCHF,FCB ; <> MOVE MFREQ,FCB,12 CPM SRCHN,FCB ;<> MFN02: ;<> INR A ! STC ! JNZ MFFIX1 ! STA MFFLG1 ! RET ;FIX BY M.Z. MFFIX1: ;<> DCR A ! ANI 3 ! ADD A ADD A ! ADD A ! ADD A ! ADD A ADI 81H ! MOV L,A ! MVI H,0 PUSH H ;SAVE NAME POINTER MOVE ,MFCUR+1,11 ;<> POP H ! MOVE ,FCB+1,11 ;<> XRA A ! STA FCBEXT ! STA FCBRNO ;FIX BY M.Z. ;<> RET ; ;MULTI-FILE ACCESS WORK AREA ; MFFLG1 DB 0 ;1ST TIME SW MFREQ DS 12 ;REQ NAME MFCUR DS 12 ;CURR NAME ;------------------------------------------------ ; ;MOVE SUBROUTINE ; MOVER MOV A,M STAX D INX H INX D DCX B MOV A,B ORA C JNZ MOVER RET ; ;EQUATES USED BY MULTI-ACCESS SUBROUTINE ; SRCHF EQU 17 SRCHN EQU 18 STDMA EQU 26 ;FIX BY M.Z. BDOS EQU 5 FCB EQFTHL MOV A,L RAR MOV L,A ORA A ;CLEAR THE CARRY MOV A,H RAR MOV H,A RNC MVI A,80H ORA L MOV L,A RET ENDM PRTBAUD MACRO LOCAL BAUDLST LXI H,BAUDLST MVI D,0 LDA MSPEED ;GET BAUD RATE CODE ADD A ;X2 ADD A ;X4 MOV E,A DAD D ;POINT TO CORRECT RATE XCHG MVI C,PRINT CALL BDOS CALL ILPRT DB '0 baud',CR,LF,0 RET BAUDLST DB ' 30$' DB '120$' DB '240$' DB '480$' DB '960$' DB '19,20$' ENDM DIRLIST MACRO LOCAL DIRLP,PRTNAME,MULTIPLIER POP H ;GET REMAINDER CALL MULHA ;MULTIPLY THE H X A CALL SHFTHL CALL SHFTHL CALL SHFTHL CALL SHFTHL MVI H,0 CALL DECOUT ;PRINT THE SECONDS PORTION CALL ILPRT DB ' secs at ',0 CALL BAUDPRT CALL ILPRT DB 'Use CTL-X to Cancel',CR,LF,0 RET BTABLE DB 5,13,19,25,29,49,0 ;RECORDS/MIN FOR 110-1200 BAUD SECTBL DB 192,74,51,38,33,20,0 ;----> DIVHL-A: DIVIDES HL BY VALUE IN A, ; UPON EXIT: L=QUOTIENT,H=REMAINDER DIVHLA PUSH B MVI B,8 ;SHIFT FACTOR TO B MO'.',' ',' ', 0 ;8 SPACES, PERIOD, 3 SPACES, 1 SPACE MVI A,0FFH STA NAMEGD NEXTSR LXI D,SRCHFCB MVI C,SRCHN ;DO NEXT SEARCH CALL BDOS CPI 0FFH JZ DIRDONE PUSH PSW LDA NAMEGD ORA A JZ DIRLP LDA NAMECT INR A STA NAMECT ANI 03H ORA A CZ CRLF CNZ FENCE MVI A,0 STA NAMEGD JMP DIRLP NOFILE CALL ILPRT DB 'NO FILE',0 ;DETERMINE STORAGE REMAINING DIRDONE LDA SRCHFCB ORA A JZ DEFLT DCR A MOV E,A MVI C,SELDSK CALL BDOS DEFLT MVI C,GETPARM ;current disk U 5CH FCBEXT EQU FCB+12 FCBRNO EQU FCB+32 ENDM SENDTIME MACRO ;NO PARAMETERS USED ; SHOWS THE TIME TO SEND A FILE AT VARIOUS BAUD RATES LOCAL BTABLE,SECTBL,DIRHLA,DIV2,DIV3 LOCAL MULHA,MULLP,SHFTHL CALL ILPRT ;PRINT: DB 'File Open - ',0 LHLD RCNT ; GET RECORD COUNT. CALL DECOUT ;PRINT DECIMAL NUMBER OF SECTORS CALL ILPRT DB ' (',0 CALL DHXOUT ;NOW PRINT SIZE IN HEX. CALL ILPRT DB ' Hex) Records',CR,LF DB 'Send Time: ',0 LDA MSPEED ;NOFILE,DIRDONE,QSTMARK,QSTLP,PRNTNAME,NEXTSR LOCAL MOVENAME,GETADD,SRCHFCB,NAMECT,PRNTHD,DRNAME LOCAL FENCE,GSPBYT,GSPLUP,NOTFRE,ENDALC,FREKLP,PRTFREE LXI D,CMDBUF ;PUT COMMAND LINE IN FCB LXI H,5CH CALL CPMLINE LXI H,SRCHFCB CALL INITFCBS LDA 6CH ;GET DRIVE # STA SRCHFCB LDA 6DH CPI 20H ;IF BLANK GET ALL NAMES PUSH PSW CZ QSTMARK POP PSW CNZ MOVENAME ;ELSE MOVE NAME INTO FCB LXI D,80H MVI C,STDMA CALL BDOS XRA A STA NAMEGD STA NAMECT ;CR AFTER 4 NAMES LXI D,SV C,A ;DIVISOR TO C DIV2 XRA A ;CLEAR CARRY FLAG AND ACCUMULATOR DAD H MOV A,H SUB C JM DIV3 ;DONT BORROW ON NEG RESULTS MOV H,A MOV A,L ORI 1 ;BORROW 1 MOV L,A DIV3 DCR B JNZ DIV2 POP B RET ;----> MULHA: MULTIPLY THE VALUE IN 'H' BY THE VALUE IN 'A' ; RETURN WITH ANSWER IN 'HL' MULHA MOV B,A ;PUT LOOP COUNT IN B MVI D,0 MOV E,H MOV L,H MVI H,0 MULLP DCR B RZ DAD D JMP MULLP RET ; SHIFT 'HL' REGISTER PAIR ONE BIT TO THE RIGHT SHparameter block CALL BDOS INX H ! INX H MOV A,M ;get block shift factor STA BSHIFTF INX H ;bump to block mask MOV A,M ;get it STA BMASK INX H ! INX H MOV E,M ;get max block number INX H MOV D,M XCHG SHLD BMAX ;put it away MVI C,GETALC ;address of cp/m allocation vector CALL BDOS XCHG ;get its length LHLD BMAX INX H LXI B,0 ;initialize block count to zero GSPBYT PUSH D ;save allocation address LDAX D MVI E,8 ;set to process 8 blocks GSPLUP RAL ;test bit JC NOTFGET THE SPEED INDICATOR LXI D,0 MOV E,A ;SET UP FOR TABLE ACCESS LXI H,BTABLE ;POINT TO BAUD FACTOR TABLE DAD D ;INDEX TO PROPER FACTOR MOV A,M ;FACTOR IN A LHLD RCNT ;GET # OF SECTORS CALL DIVHLA ;DIVIDE HL BY VALUE IN A (SECTORS/MIN) PUSH H MVI H,0 CALL DECOUT ;PRINT THE MINUTES PORTION CALL ILPRT DB ' mins, ',0 LXI H,SECTBL ;POINT TO DIVISORS FOR SECONDS LXI D,0 ; CALCULATION LDA MSPEED ;GET INDEX FOR BAUD RATE MOV E,A DAD D ;INDEX INTO TABLE MOV A,M ;GET RCHFCB MVI C,SRCHF ;DO FIRST SEARCH CALL BDOS CPI 0FFH JZ NOFILE PUSH PSW DIRLP POP PSW CALL GETADD LXI D,15 ;OFFSET FOR RECORD COUNT DAD D MOV A,M ORA A JZ NEXTSR ;NO LIST IF FILE IS ZERO LENGTH LXI D,-5 DAD D ;POINT TO $SYS ATTRIB BYTE MOV A,M ANI 80H JNZ NEXTSR ;NO LIST IF $SYS FILE LXI D,-10 DAD D ;POINT TO BEGINNING OF NAME INX H ;POINT TO FIRST LETTER LXI D,PRNTNAME MVI B,8 CALL MOVE INX D MVI B,3 CALL MOVE CALL ILPRT PRNTNAME DB ' ',  RE INX B NOTFRE MOV D,A ;save bits DCX H MOV A,L ORA H JZ ENDALC ;quit if out of blocks MOV A,D ;restore bits DCR E ;count down 8 bits JNZ GSPLUP ;do another bit POP D ;bump to next count.. INX D ;..of allocation vector. JMP GSPBYT ;process it ENDALC POP D ;clear alloc vector pointer from stack MOV L,C ;copy block to hl MOV H,B LDA BSHIFTF ;get block shift factor SUI 3 ;convert from sectors to thousands (k) JZ PRTFREE ;skip shifts if 1k blocks FREKLP DAD H ;multiply bloc 224-6409Q= R= S= T=Tech CBBS 1-313-846-6127U= V=Vanc BC CBBS 1-604-687-2640W= X= Y= Z= !9"¯"1¯"ͺ MODEM7 as of 12/18/80 Originally Written by Ward Christensen Revised by Jim Willing . $Ñ Í͆>ÿ2œ!/2Óÿ͸:�!þXÂá>ÿ2Ãò:�!G:·xÊòþCÊõþ ÊòþMÊòÍÍ drive BMASK DS 1 ;sec/blk - 1 BSHIFTF DS 1 ;number of shifts to multiply by sec/blk ENDM Í ÍÃÑÍÍ ÍÃÑ:¦!·Â; >ÿ2€":Ø!·ÄŸ Íö ÒC >B2¦!>ÍÃå:]þ ÊÍcPÍGÍÚÚj ͪ¯2º!ÍÍ­ÍÄÍÉÚX ÃK >ÍÍÉÚj Ãå:¦!·Â’ >2€"ͳ Ò� >B2¦!Ãå:]þ Êã Íu Íõ ͲÍ$:¡!·ÂØ :¦!·ÊØ Í³FILE OPEN, READY TO RECEIVE ÍÞ Úê ÍXͪÍyÃØ ÍpÍyͼÃå:¡!·Ê ͳAWAITING NAME NAK PÍo>Í!…"5ú8 *�"\ Íì"�"Í? ·É>Í7Éå !]~æÍ:¡!·~ÄÅÍÇÁÚ þÂU #ÂG >Í:¡!·ÄQÍǺʬ >uÍ:¡!·ÊŸ ͳCHECKSUM ERROR PÍo>ÍÃ@ >ÍáÉ!\Í :¡!·ÊØ Í³AWAITING FILE NAME ͈ ÚØ Íê þÊè ·É7Éå!]ÍÇÒ# :¡!·Ê Íks by k per block DCR A JNZ FREKLP PRTFREE PUSH H LDA SRCHFCB ;IF NO DRIVE, GET ORA A ;LOGGED IN DRIVE JNZ PRNTHD MVI C,CURDSK CALL BDOS INR A PRNTHD ADI 'A'-1 STA DRNAME CALL ILPRT DB CR,LF,'Drive ' DRNAME DB ' has ',0 POP H CALL DECOUT ;in modem7, # of free bytes in hl. CALL ILPRT FREEMSG DB 'K bytes free',CR,LF,0 RET ;SUBROUTINES FENCE CALL ILPRT DB '| ',0 RET QSTMARK MVI A,'?' ;IF BLANK IN FCB, PUT IN 11 ?'s MVI B,11 LXI H,SRCHFCB+1 QSTLP MOV M,A º>2œ!ÍÍ:�!þEÊÑþTÊ,þSÊ þRÊx þDÊœÃò:œ!þÿÊk:]þ ÂJ>ÿ2œ!/2ÓÿÃkͲͽ±"ͱ"Í!+"}">2œ!ÍÊ·Í'þÊòþÊœþÌÏÊkG:·xÊ�þõå̯áñþÊ·þ´:œ!þÿÊ·:/2÷Í Í ÍÍÂkÍþÊkæÍõ:þÊñw#"}"G:·xÊíÓÿÃ÷þ Â÷>:Í:=¼Ì ÃkñÃk>Í ÍF2ÍF2ÕÍu͇Ñ!+Ê@:w#ÍÊ@:w#Í>Í É:·ÊSÄ ÃVâÍ ÍÍÊi x±ÂVÉÍÉ6#Õ}·l&õ)ñ>�oÉ+ͱÕ±"ͱÑëÕ€Ñë+|µÂŠÉ±"ÍÉÅÕåõÍñáÑÁÉ!±"Í!\±" ÍìÉåÕÅõ!°Í!lÍÍ:Û!þ ÊÍ`ÍjþÿÂjͳ ++FILEÃ*ÿúÛÉÓÉæÉþÉÛÉæÉþÉÃëÓpÉÛrÉÓrÉÓsÉA=Atlanta CBBS 1-404-394-4220B=Chicago CBBS 1-312-545-8086C=Calamity Clif 1-312-234-9257D=Detroit CP/M* 1-313-588-7054E=Eight BBS 1-408-296-5799F= G= H= I= J= K= L= M= N= O=Oregon CBBS 646-5510P=Portland ABBS ³TIME OUT RECEIVING FILENAME Ã\ þʆ þÊG w:¡!·~ÄÅ>ÍÁ#}þÊ\ Ãð :¡!·ÄyÍÍÇþʆ !\Í :¡!·Ê} ͳCHECKSUM ERROR ͈ Ú} Ãë áÉ>ÍÍWÍÇþÊmþÈ7É>2Ø!2…"Íú !á*"�"ÍQ !\Ò"Í‹Í Úá :fæ€Â¼ *�"\ë Íìë"�"!…"4ü !†"5° !á*"�":…"þAØ>@2…"Éå!†"6!Ú!N!Û! 6 !Ú!F#ÊM ~þ  #ÊM ~þ Ê "ƒ"+#ÊM ~þ Â- :†"<2†"#ÊM ~þ Ê? Ã- 6 áÉ*ƒ"Ô"~þ Êf #ÃY #~þ Êf "ƒ"!Ó"pÉ Í·È€Í\Íþÿȇ‡‡‡‡!€…o ~æ€Â© #~æ€È+øÿ] Íì!e~æw#~æw\Í!\l Íì!u6B#6A#6KlÍ!l6\ÍÉ:·È\Í INX H DCR B JNZ QSTLP RET MOVENAME LXI H,6DH LXI D,SRCHFCB+1 MVI B,11 CALL MOVE ;MOVE IN MAIN PROGRAM RET GETADD ANI 03H ;GET MOD4 FOR CP/M 1.4 ADD A ! ADD A ! ADD A ;ADD 32 ADD A ! ADD A MOV E,A MVI D,0 LXI H,80H ;ADD DMA OFFSET DAD D RET ;PARAMETERS USED GETALC EQU 27 ;cp/m function for allocation vector address GETPARM EQU 31 ;current disk parameters address ;UNINITIALIZED STORAGE SRCHFCB DS 33 NAMEGD DS 1 NAMECT DS 1 BMAX DS 2 ;highest block number on DOES NOT EXIST++ ͳTYPE "R" TO RETURN TO MODEM TYPE "A" TO RE-ENTER NAME: Í'Í1ÍÍþAÊßþRÊÀÍÍsþÊ�þʶÍ|þÊ�þÊàÃrͳ ++FILE TRANSFER COMPLETED++ Ãͳ ++FILE TRANSFER UNSUCCESSFUL++ Ãͳ ++ TRANSFER CANCELLED ++ ñÁÑáÉ6# 6 # 6#ÂÉͳ ENTER FILE NAME TO BE TRANSFERRED - C/R TO QUIT: Ù!ÍTÍÉÙ!!°Í‹É°ÍɰÍÉ€!€~Í›þÈÍ·Ê•Í'þÈ#Â�ÉõÍ ÍÍœñÍ ÍÉ Ãͳ ++FILE TRANSFER UNSUCCÍ ÍÍÊ ÍÊÑÍ'þÊòG:·xÊ þõ̯ñþÊÑ  <ÈÃÉ ÅÕå€ÍáÑÁ¯2h:º ·ÂT >2º !\»  ÍÓ :\2Ç !» \ ÍÓ ÅÕå\ÍáÑÁÈ !Ç \ ÍÓ ÅÕå\ÍáÑÁ!» \ ÍÓ ÅÕå\ÍáÑÁ<7‘ 2º É=懇‡‡‡Æ�o&åÈ  ÍÓ á] ÍÓ ¯2h2|Éw#~æw\Í!\l Íì~# x±ÂÓ É¯2º!:¡!·ÊͳAWAITING #:¹!<Í:ÍÍÇÚ£þÊmþÊзÊþ7ÈG:¤!·Ê*:¡!·ÊBxÍ:ͳH RCD, NOT SOH ÍÇÒB>Í:º!<2º!þ Úâ :¤!·Êi:¡!·ÊoÍQÊÞ Í¼ÍÇ++ UNABLE TO RECEIVE BLOCK -- ABORTING ++ $:¤!·Ê±:¡!·ÊBͳ++ TIMEOUT ++ :º!Í:ÍÃBÍÇÚ£WÍÇÚ£/ºÊ:¤!·Êô:¡!·ÊBͳ++ BAD SÚY!Ú!~þÚl!Þ!Ã#͉ͳ WAITING FOR DIAL TONE >Í!dÍ Ðͳ ++NO DIAL TONE AFTER 10 SECONDS++ 7É !.á"Í�ÍìÍ™ÍìÍ� Ê¢Ãy> > É> É>$ á"ÍÍͳENTER NUMBER OR LIBRARY LETTER - TYPE C/R WHEN FINISHED, CTRL-X CANCELS WHILE DIALING: Ù!ÍT:Ú!·Ê²!Û!A~¸Ê7 ÊQÃ*!.{·ÊL~·ÊX ÂBÃX:Ú!_!Û!~·Õ[" õÌñÑʲ͸Í·Ä'þʲ#Õå͘áÑÂXÊ:¯Í*Í!Å͘ÁÉ>úÍ'Í$æ€Ê�Í$æ€Â¥Â�É͉ÃòÍþ0Øþ:ÐæþÂÊ> O:Í'Í$æ€ÂÑÍ$æ€ÊÙ>Í!Í$æ€Âæ>Í!Í$æ€Êó Âá>:¤!·Â:¿!·ÊñõÍÍñ·Éõ:£!·Ê-:¤!·Â2:¿!·Ê2ñõÍÍñõ�OÍ ÍÍÂ6ñÍ É:¤!·ÊU:¡!·ÊoͳAWAITING INITIAL NAK ÍWÍÇþÈþÊmÊmÃo*" "+":·Ê: 2"<2 2<2%2(<2+É]2�!þ ÊÜ!ž! ¾ÂÔ6ÿ#ÂËÃÀ!:¤!·À2¡!É:¦!·ÂL:¡!·Ê%!]ÍìÍìͳ TRANSFERRED :\2"!\Í:"2\!°!¸!Íì:€"·Â Ãx >ÿ2Ø!2œ!/Óÿ2:¤!·Êh:¡!·Êˆͳ ALL TRANSFERS COMPLETED :Ÿ!·ÂÞͳ ++PRESS RETURN TO DISCONNECT++ Íþ Â�ͳ ++DISCONNECTED++ ͉Ãß:¥!·ÂòÍÃk:·È:ž!·ÂýÍNà : ! Command: Ù!ÍTÍÛ!Í7CPMÒßÍ7DIRÒÂÍ7RETÚ>*}"Ãk:·ÊOÍ7DSCÒœÍ7WRTÒìÍ7XPRÒÍ7DELÒÈ:·Ê†Í7CALÚ†>2Ú!Ôå:Û!!2Í&áÚåÍáÃá:·Êò͉ͳ ++DISCONNECTED++ Ã̓ ÃÜ:²"þ ʱ"ͱ>ÿ2œ!/2Óÿ!±"ÍÃ:œ!þÿÊ:²"þ Ê*}"Ín͇ͨ>ÿ2œ!/2Óÿ!±"ÍÃ:/2ÃF#¾Ê1Â'7ÉSRTEãÕ~·ÊP¾ÂH#Ã9>#¾ÂJ7Ñ#ãÉõåÅÕÍ/ÑÕ¯ëÍ?þ Ê þÊŸþÊŸþÊÒþÊäþÊþ ÚbGëáå#4+~#¾Ú ëpxÍv#Ãbëáå#G~ÖwÚ½ë+xF6 þÊÂxÍvÃb4ëÃbÍv> Ív>ÍvÃb>#Ív> Ív> ÍvÃXÑÕG>#Ív> Ív> Ívx·ÊbÍECTOR # IN HDR ÃBz2¸!>2¿!!€ÍÇÚ£w,Â"Q¯2¿!ÍÇÚ£ºÂQ:¸!G:¹!¸Ês<¸ÂmÉ:¤!·Ê_:¡!·ÊBͳ++ CKSUM ++ ÃÄÍyÃÞ >ÍÉ:¡!·ÊšͳSEND # :¹!Í:Í>Í:¹!Í:¹!/ÍÉ>2¿!!€~Í,·¯2¿!ÉyÍÉÍÁÚ9þÈþÊmG:¡!·ÊùxÍ:ͳH RCD, NOT ACK :º!<2º!þ Ø:¤!·Ê:¡!·ÊÍQ7ÈÍÇCAN'T SEND SECTOR -- ABORTING $:¡!·ÊùͳTIMEOUT ON ACK Ãù:¤!·Êc:¡!·ÈÍÈÍ'þÀ1¯"ÍÇÒp>ÍÍÇÒ}> ÍͳROUTINE CANCELLED >B2¦!ÃÞ:¹!<2¹!É:¦!·Êþ\Í<ÈͳFILES EXISTS -- TYPE 'Y' TO ERASE: Í'õÍñÍ1þYÂòÍ\Í!͘É͘Í$¢ÈÅÕÍ·Ä'þÊ*ÑÁ  7ÉÑÁÜ>?Í*>Í!ÉÍ>Í*͘>]Í!ÿÍ ÒÁ͉:-·Â³ͳ No answer after time-out. Redial? (Y/N/C): Í'ÍÍ1ÍþNÊòþYʳþCÂY¯/2-2͘ÍÒÃYͳ Connection established - Select options: Í·Â>ÍÃñÙ!!\Í‹͸:]þEÈþMÈG:·xÊ!þCÈþTÊ“þSÊQþRÂ8:¦!·ÈÃQͳ ++Bad Option++ ÃW:mþ Àͳ Re-enter PRIMARY option and file name only: Ù!ÍTÃ:mþ ©>2>ÿ2œ!/ÓÿÉ>2œ!É:·ÈͳEnter New Baudrate: !e6Í'þ ÂßÍÃëþ0ÚÑþ:ÒÑwOÍ#ÃÑ!°!¸!Íì!§!·Â ÍNà :eþÊþ ÈÃ> 2eÍNÍ'þ4>_Ú,>Í*: !·>Ê?:ž!·>À! -ÂB%ÂBÍ!É:eþ >4È:eþ>4Èe!þ Êdþ0ÚŸþ:ÒŸÖ0DM)) )…oƒ${þhÂd|/W}/_! =ÿÿÚ–x·yÈÍÇ++ INVALID BAUD RATE ++$!l\Íì¯2|2hÉþ Êõþ Êõþ Êõþ ÚæþÚõõ>(ÍõñÍ:>)ÃõÅÕå_ÍáÑÁÉõ> Í> ÍñÉõÅÕåOÍáÑÁñÉÅÕåÍáÑÁ·ÉÅÕåÍáÑÁÉþaØþ{Ðæ_ÉõÍCñæþ ÚLÆÆ0Ã:¦!·ÂZ<ɯ2º!ͳMULTIPLE ERRORS ENCOUNTERED. TYPE Q TO QUIT, R TO RETRY: Í'õÍñÍ1þRÈþQÂQ·Éã~·ÊÀÍõ#ôãÉ ÃÑÍÂͳ:¦!·ÂÞ>Q2¡!Ãm€ÍÀ~#ÂìÉ:·È¯2-ÍvÂýÃb>Ív5ëÃb> Ív> ÍvÃb> Ív> ÍvÑÁáñÉÑáåÕF##> w#Â8ÉåÕÅÍd·ÊBÍ\þaÚXþ{ÒXæ_ÁÑáÉ*éåÕÅÍnÁÑáÉ*éåÕÅõÍ‚ñÁÑáÉ* OéõÅÕåÍ ë#^#6 áÑÕåÍ0 ÍB þ Êñþ ÊÃáå ÍB þ Êñþ ÂÓÃÃþ Êñáå Í0 ÍB þ Êñáå ÍB áå#ÍV áå ÍV áÑÁñÉåÅ6# > Í) >Í)  > Í) >Í) ÁáÉw#Â) Éþ:Â@ æ_Ö@w#Éþ Èþ.Èþ È úB w#ÃB ~þ*Êf #ÂX Ãi Í{ ~þ*Êw #ÈÃk Í{ É6?#Â{ ÉÙ!!\Í‹!z!Í:l2z!:mþ õÌ+!ñÄ9!ÍT!€Í¯2›!z!ÍþÿÊ!ÍE!~·Ê !ûÿ~æ€Â !öÿ#í ÍìÍìͳ | :›!ÍÉͳ No file specified Ãò\Í<ÀÍÇERROR - CAN'T MAKE FILE DIRECTORY MUST BE FULL $\Í<‚ÍÇCAN'T OPEN FILE$:¦!·ÂŽ:¡!·ÈͳFILE OPEN - EXTENT LENGTH: :kÍ:>HÍÍÉ\Í<ÀÍÇCAN'T CLOSE FILE$:¾!=2¾!úñ*¼!€Íê"¼!É:»!þ7Èá"ÅÕÍ\ÍÑÁ·Ê/=Ê>ÍÇ++ FILE READ ERROR ++$!€ë yþÊDÃý>2»!y2¾!!á""¼!€ÍÃÚ*¼!ë!€Íêë"¼!:¾!<2¾!þÀ:¾!·ÈOá"åÕÅÍ\ÍÁÑá·Â¤!€ë Ây¯2¾!!á""¼!ÉÍÍÇERROR WRITING FILE $ÍÍÕ:·ÊÒx‡G˜:ÍWÍ ÍÍÊóÂØÂØÂÒÑ7ÉÍÑõ�O:¢!·Êž! Íì>2º /2Ø!:·ÂÜͳ WRT - Write file to disk (from terminal mode) DEL - Erase present file (from terminal mode) RET - Return to terminal mode with no loss of data :·ÊìͳDSC - Disconnect CAL - Dial number ͳXPR - Toggle expert mode (Menu on/off) DIR - List directory (may specify drive) CPM - Exit to CP/M S - Send CP/M file R - Receive CP/M file T - Terminal mode (optional file name) E - Terminal mode with echo ͳ DEFAULT DRIVE: ÍÆAÍͳ  <2›!æ·Ìz!ÍþÿÊ'!ÃÁ ͳNOT FOUNDÍÉ>? !{!w#Â2!É!m{! ÍìÉæ‡‡‡‡‡_!€É:z!·Ê`!Æ@Ãg!ÍÆA2u!ͳ DRIVE ÉÉ6?#Â{ ÉÙ!!\Í‹!z!Í:l2z!:mþADOQRSVTTADOQRSVTBá"á"ͳINVALID OPTION Ãòÿ€#í ÍìÍìͳ | :›!<2›!æ·Ìz!ÍþÿÊ'!ÃÁ ͳNOT FOUNDÍÉ>? !{!w#Â2!É!m{! ÍìÉæ‡‡‡‡‡_!€É:z!·Ê`! ++BAD LIBRARY NUMBER CALLED++ $¦Ê� ÍÕÚ� ñ>û ñõ·Êº =ë_~/w¾/w{ëõÊ® ÍÕÒ® Í�ñ=ʺ ÕYPÁ× ñáÉã"ÿ!ÿËðpÿéÇCÇEÿÃÇÂÿÍÇÄÿÉÇÇÿéÇÇÆÏç"ÇÀ÷ÓßÝÿíÿËÿÿç *²!##F+N+~þÒ…o>Œg~É *** KAYPRO-II MODEM PROGRAM *** VERS. 2.0 Anchor Computer Systems 323 1st. Ave. So. Seattle, WA 98104 (206) 621-9307 Voice (206) 621-8665 Data 0. 300 1. 600 2. 1200 3. 2400 4. 4800 5. 9600 6. 19.2K Choose one of the above BAUD RATES:(0-6) Any other key wilA $@ !€ „ !‚!HB!DHˆII @ � ! „$�  B €@A‰� ˆ’$!�’BI "@ˆ€„ˆˆ$" "$’I$‚I! @ !‚D€€$BB$�’"I€�$„„  $€€’!’D€�‚‘$„’$€I$I$’$"A$$’I  �@I ‘ªªªªªI$ @„"H @„ @@BHABIA $ @@ ¾Â!/ Ãa #   ¾Ê # ÂþÃʶþÍÊ­¾Êà # Â2æÀþ@Êm þ€ÊR zæÇÖÊI =ÊC =Ê: zæÀÊÛzæÊÏÖʶÖÊ­ÖÊ•zæ Ÿ zæO=!å Í3ÍUþÃ;ÿúÛÉÓÉæÉþÉÛÉæÉþÉÃëÓpÉÛrÉÓrÉÓsÉA=Atlanta CBBS 1-404-394-4220B=Chicago CBBS 1-312-545-8086C=Calamity Clif 1-312-234-9257D=Detroit CP/M* 1-313-588-7054E=Eight BBS 1-408-296-5799F= G= H= I= J= K= L= M= N= O=Oregon CBBS 646-5510P=Portland ABBS !å/…o>ÿŒg{¹Â!z�Â!á<É33Ãø ¯É@ �BA„��’I $@„$B$€‰@$$‚�@!$D ‰ ‰I $’I $$$�’$ BA"$� BHB„$„$ !�$$B„$�! B! $$" „" A„! H�’� B’BBHBBHA�H�D!I €„‘I„��ˆ I$$! $‰‰@B $„„!B�� "I  €ˆ „ €‚H ’"DI!HI �$ „!l set 300 BAUD. WHAT IS YOUR SELECTION ?$ Choose one of the following WORD LENGTHS: 0. 8 BITS 1. 7 BITS 2. 6 BITS 3. 5 BITS WHAT IS YOUR SELECTION?$ Choose from the following STOP BITS: 0. 1 STOP BIT 1. 1.5 STOP BITS 2. 2 STOP BITS WHAT IS YOUR SELECTION?$ # Â2æÀþ@Êm þ€ÊR zæÇÖÊI =ÊC =Ê: zæÀÊÛzæÊÏÖʶÖÊ­ÖÊ•zæ Ÿ zæO=!å Í3ÍUþÂâ !â Í3ÃÚ!Þ Í3ÍUWÍ’HÍÃÚ!ò Í3ü!î Í3æÂÉÍ\,ÍÍ÷ ÃÚ!ö Í3Í\ÃÚ!Ú zæÊl zæ=Ê1 õæÊ Í3ñæÊ !+ ͤ͵ ÃÚ͵ !. ͤÃÚñþ!² Ê !Ñ ·O Í3Í�ÃÚA,,AÍ3Í�1é0Í*Í(*Í*Í4*ͬ*Í*¯Ã;Í*ÍÉÍb*Í‚*2å/ÉÍ>*ÍJ*ÍV*ÉÍj*Í‚*2æ/ÉÍr*Í‚*2ç/ÉÍz*Í‚*2è/É+ Ã>- Ã". Ãö. ÃÅÿͷʃ*ÁæþÊÞ0ú *¸Ú¡*¯õÆ0_ÍñÉ:å/!Ð/Í+Ó>Ó>Ó>Ó:ç/!ß/Í+G:è/!â/Í+°Ó>Ó:æ/!Û/Í+Ó>Ó:æ/!×/Í+Ó>Ó>ÓÉ 224-6409Q= R= S= T=Tech CBBS 1-313-846-6127U= V=Vanc BC CBBS 1-604-687-2640W= X= Y= Z= !9"¯"1¯"ͺ MODEM7 as of 12/18/80 Originally Written by Ward Christensen Revised by Jim Willing for WRAM Computer Corp. $Ñ Í͆>ÿ2œ!/2Óÿ͸:�!þXÂá>ÿ2Ãò:�!G:·xÊòþCÊõþ ÊòþMÊòÍÍ B"!AI$I$��’I$ �I$’A$ I$’@D! $„"$ HD��I’DBH�I’B�A„’I@AHHH�"H@@D$„$ˆI A’BI$�I$H’„‘B@I$’@$’I$’J $$‚I��’B@*ªªªªª¨ I$‰$’I"HˆI$��‰$’ @ $’!$ˆ�I!"@’! $�‘AI$�$! "B� $�‘� „„ "H„�‚@"! $€ HD‰@DH"„$’’@€ˆ�!$€‘$ H ‰ �! @AA@H@H€’BD@@BIˆ’@$‘€ $HBD!„€B€� H€’I$�$’$"‰$‘ ‚D‘ˆ„‚$‚’"HIˆHBI$’I$D€„H@’"€Choose from the following PAIRITY SELECTIONS: 0. NO PAIRITY 1. EVEN PAIRITY 2. ODD PAIRITY WHAT IS YOUR SELECTION?$ èȨˆÁA�DXL@CA¯ÍÑ>#ÍyÍhÍ�þ Ê!J!6þ-ÂB5Í�ÖAÚ]þÒ]_!Y^#Vëé¯]8]03]]Ù¡]]å]§’!]]j]]åÕů2[\ͯÁÑáÉ>2M!!€""²!ÉÍÖÒ]ÍзÂÉ:J!·ÊÓÍ Ã=Â]Íg" Í ÃÍÖÒ]ÍÐÊýÍg" =ÊýÍg"=Â]¯Ãÿ> 2ÍÃÍÐÚ]Ê]Ígåª*“^*'**1Ígå=Â-ÅÃ1ÍgåÑÁ!  º>2œ!ÍÍ:�!þEÊÑþTÊ,þSÊ þRÊx þDÊœÃò:œ!þÿÊk:]þ ÂJ>ÿ2œ!/2ÓÿÃkͲͽ±"ͱ"Í!+"}">2œ!ÍÊ·Í'þÊòþÊœþÌÏÊkG:·xÊ�þõå̯áñþÊ·þ´:œ!þÿÊ·:/2÷Í Í ÍÍÂkÍþÊkæÍõ:þÊñw#"}"G:·xÊíÓÿÃ÷þ Â÷>:Í:=¼Ì ÃkñÃk>Í ÍF2ÍF2ÕÍu͇Ñ!+Ê@:w#ÍÊ@:w#Í>Í É:·ÊSÄ ÃVâÍ ÍÍÊi x±ÂVÉÍÉ6#Õ}·l&õ)ñ>�oÉ+ͱÕ±"ͱÑëÕ€Ñë+|µÂŠÉ±"ÍÉÅÕåõÍñáÑÁÉ!±"Í!\±" ÍìÉåÕÅõ!°Í!lÍÍ:Û!þ ÊÍ`ÍjþÿÂjͳ ++FILEECTOR # IN HDR ÃBz2¸!>2¿!!€ÍÇÚ£w,Â"Q¯2¿!ÍÇÚ£ºÂQ:¸!G:¹!¸Ês<¸ÂmÉ:¤!·Ê_:¡!·ÊBͳ++ CKSUM ++ ÃÄÍyÃÞ >ÍÉ:¡!·ÊšͳSEND # :¹!Í:Í>Í:¹!Í:¹!/ÍÉ>2¿!!€~Í,·¯2¿!ÉyÍÉÍÁÚ9þÈþÊmG:¡!·ÊùxÍ:ͳH RCD, NOT ACK :º!<2º!þ Ø:¤!·Ê:¡!·ÊÍQ7ÈÍÇCAN'T SEND SECTOR -- ABORTING $:¡!·ÊùͳTIMEOUT ON ACK Ãù:¤!·Êc:¡!·ÈÍÈÍ'þÀ1¯"ÍÇÒp>ÍÍÇÒ}> ÍͳROUTINE CANCELLED >B2¦!ÃÞ:¹!<2¹!É:¦!·Êþ\Í<ÈͳFILES EXISTS -- TYPE 'Y' TO ERASE: Í'õÍñÍ1þYÂòÍ\³TIME OUT RECEIVING FILENAME Ã\ þʆ þÊG w:¡!·~ÄÅ>ÍÁ#}þÊ\ Ãð :¡!·ÄyÍÍÇþʆ !\Í :¡!·Ê} ͳCHECKSUM ERROR ͈ Ú} Ãë áÉ>ÍÍWÍÇþÊmþÈ7É>2Ø!2…"Íú !á*"�"ÍQ !\Ò"Í‹Í Úá :fæ€Â¼ *�"\ë Íìë"�"!…"4ü !†"5° !á*"�":…"þAØ>@2…"Éå!†"6!Ú!N!Û! 6 !Ú!F#ÊM ~þ  #ÊM ~þ Ê "ƒ"+#ÊM ~þ Â- :†"<2†"#ÊM ~þ Ê? Ã- 6 áÉ*ƒ"Ô"~þ Êf #ÃY #~þ Êf "ƒ"!Ó"pÉ Í·È€Í\Íþÿȇ‡‡‡‡!€…o ~æ€Â© #~æ€È+øÿ] Íì!e~æw#~æw\Í!\l Íì!u6B#6A#6KlÍ!l6\ÍÉ:·È\Í·Â ÍNà :eþÊþ ÈÃ> 2eÍNÍ'þ4>_Ú,>Í*: !·>Ê?:ž!·>À! -ÂB%ÂBÍ!É:eþ >4È:eþ>4Èe!þ Êdþ0ÚŸþ:ÒŸÖ0DM)) )…oƒ${þhÂd|/W}/_! =ÿÿÚ–x·yÈÍÇ++ INVALID BAUD RATE ++$!l\Íì¯2|2hÉþ Êõþ Êõþ Êõþ ÚæþÚõõ>(ÍõñÍ:>)ÃõÅÕå_ÍáÑÁÉõ> Í> ÍñÉõÅÕåOÍáÑÁñÉÅÕåÍáÑÁ·ÉÅÕåÍáÑÁÉþaØþ{Ðæ_ÉõÍCñæþ ÚLÆÆ0Ã:¦!·ÂZ<ɯ2º!ͳMULTIPLE ERRORS ENCOUNTERED. TYPE Q TO QUIT, R TO RETRY: Í'õÍñÍ1þRÈþQÂQ·Éã~·ÊÀÍõ#ôãÉ ÃÑÍÂͳ:¦!·ÂÞ>Q2¡!Ãm€ÍÀ~#ÂìÉ:·È¯2-Í DOES NOT EXIST++ ͳTYPE "R" TO RETURN TO MODEM TYPE "A" TO RE-ENTER NAME: Í'Í1ÍÍþAÊßþRÊÀÍÍsþÊ�þʶÍ|þÊ�þÊàÃrͳ ++FILE TRANSFER COMPLETED++ Ãͳ ++FILE TRANSFER UNSUCCESSFUL++ Ãͳ ++ TRANSFER CANCELLED ++ ñÁÑáÉ6# 6 # 6#ÂÉͳ ENTER FILE NAME TO BE TRANSFERRED - C/R TO QUIT: Ù!ÍTÍÉÙ!!°Í‹É°ÍɰÍÉ€!€~Í›þÈÍ·Ê•Í'þÈ#Â�ÉõÍ ÍÍœñÍ ÍÉ Ãͳ ++FILE TRANSFER UNSUCCÍ ÍÍÊ ÍÊÑÍ'þÊòG:·xÊ þõ̯ñþÊÑÍÉͳ No file specified Ãò\Í<ÀÍÇERROR - CAN'T MAKE FILE DIRECTORY MUST BE FULL $\Í<‚ÍÇCAN'T OPEN FILE$:¦!·ÂŽ:¡!·ÈͳFILE OPEN - EXTENT LENGTH: :kÍ:>HÍÍÉ\Í<ÀÍÇCAN'T CLOSE FILE$:¾!=2¾!úñ*¼!€Íê"¼!É:»!þ7Èá"ÅÕÍ\ÍÑÁ·Ê/=Ê>ÍÇ++ FILE READ ERROR ++$!€ë yþÊDÃý>2»!y2¾!!á""¼!€ÍÃÚ*¼!ë!€Íêë"¼!:¾!<2¾!þÀ:¾!·ÈOá"åÕÅÍ\ÍÁÑá·Â¤!€ë Ây¯2¾!!á""¼!ÉÍÍÇERROR WRITING FILE $ÍÍÕ:·ÊÒx‡G˜:ÍWÍ ÍÍÊóÂØÂØÂÒÑ7ÉÍÑõ�O:¢!·Ê<ÈÃÉ ÅÕå€ÍáÑÁ¯2h:º ·ÂT >2º !\»  ÍÓ :\2Ç !» \ ÍÓ ÅÕå\ÍáÑÁÈ !Ç \ ÍÓ ÅÕå\ÍáÑÁ!» \ ÍÓ ÅÕå\ÍáÑÁ<7‘ 2º É=懇‡‡‡Æ�o&åÈ  ÍÓ á] ÍÓ ¯2h2|Éw#~æw\Í!\l Íì~# x±ÂÓ É¯2º!:¡!·ÊͳAWAITING #:¹!<Í:ÍÍÇÚ£þÊmþÊзÊþ7ÈG:¤!·Ê*:¡!·ÊBxÍ:ͳH RCD, NOT SOH ÍÇÒB>Í:º!<2º!þ Úâ :¤!·Êi:¡!·ÊoÍQÊÞ Í¼ÍÇ++ UNABLE TO RECEIVE BLOCK -- ABORTING ++ $:¤!·Ê±:¡!·ÊBͳ++ TIMEOUT ++ :º!Í:ÍÃBÍÇÚ£WÍÇÚ£/ºÊ:¤!·Êô:¡!·ÊBͳ++ BAD SÚY!Ú!~þÚl!Þ!Ã#͉ͳ WAITING FOR DIAL TONE >Í!dÍ Ðͳ ++NO DIAL TONE AFTER 10 SECONDS++ 7É !.á"Í�ÍìÍ™ÍìÍ� Ê¢Ãy> > É> É>$ á"ÍÍͳENTER NUMBER OR LIBRARY LETTER - TYPE C/R WHEN FINISHED, CTRL-X CANCELS WHILE DIALING: Ù!ÍT:Ú!·Ê²!Û!A~¸Ê7 ÊQÃ*!.{·ÊL~·ÊX ÂBÃX:Ú!_!Û!~·Õ[" õÌñÑʲ͸Í·Ä'þʲ#Õå͘áÑÂXÊ:¯Í*Í!Å͘ÁÉ>úÍ'Í$æ€Ê�Í$æ€Â¥Â�É͉ÃòÍþ0Øþ:ÐæþÂÊ> O:Í'Í$æ€ÂÑÍ$æ€ÊÙ>Í!Í$æ€Âæ>Í!Í$æ€Êó Âá>Í ÍÃÑÍÍ ÍÃÑ:¦!·Â; >ÿ2€":Ø!·ÄŸ Íö ÒC >B2¦!>ÍÃå:]þ ÊÍcPÍGÍÚÚj ͪ¯2º!ÍÍ­ÍÄÍÉÚX ÃK >ÍÍÉÚj Ãå:¦!·Â’ >2€"ͳ Ò� >B2¦!Ãå:]þ Êã Íu Íõ ͲÍ$:¡!·ÂØ :¦!·ÊØ Í³FILE OPEN, READY TO RECEIVE ÍÞ Úê ÍXͪÍyÃØ ÍpÍyͼÃå:¡!·Ê ͳAWAITING NAME NAK PÍo>Í!…"5ú8 *�"\ Íì"�"Í? ·É>Í7Éå !]~æÍ:¡!·~ÄÅÍÇÁÚ þÂU #ÂG >Í:¡!·ÄQÍǺʬ >uÍ:¡!·ÊŸ ͳCHECKSUM ERROR PÍo>ÍÃ@ >ÍáÉ!\Í :¡!·ÊØ Í³AWAITING FILE NAME ͈ ÚØ Íê þÊè ·É7Éå!]ÍÇÒ# :¡!·Ê Í:¤!·Â:¿!·ÊñõÍÍñ·Éõ:£!·Ê-:¤!·Â2:¿!·Ê2ñõÍÍñõ�OÍ ÍÍÂ6ñÍ É:¤!·ÊU:¡!·ÊoͳAWAITING INITIAL NAK ÍWÍÇþÈþÊmÊmÃo*" "+":·Ê: 2"<2 2<2%2(<2+É]2�!þ ÊÜ!ž! ¾ÂÔ6ÿ#ÂËÃÀ!:¤!·À2¡!É:¦!·ÂL:¡!·Ê%!]ÍìÍìͳ TRANSFERRED :\2"!\Í:"2\!°!¸!Íì:€"·Â Ãx >ÿ2Ø!2œ!/Óÿ2:¤!·Êh:¡!·Êˆͳ ALL TRANSFERS COMPLETED :Ÿ!·ÂÞͳ ++PRESS RETURN TO DISCONNECT++ Íþ Â�ͳ ++DISCONNECTED++ ͉Ãß:¥!·ÂòÍÃk:·È:ž!·ÂýÍNà : !  Í!͘É͘Í$¢ÈÅÕÍ·Ä'þÊ*ÑÁ  7ÉÑÁÜ>?Í*>Í!ÉÍ>Í*͘>]Í!ÿÍ ÒÁ͉:-·Â³ͳ No answer after time-out. Redial? (Y/N/C): Í'ÍÍ1ÍþNÊòþYʳþCÂY¯/2-2͘ÍÒÃYͳ Connection established - Select options: Í·Â>ÍÃñÙ!!\Í‹͸:]þEÈþMÈG:·xÊ!þCÈþTÊ“þSÊQþRÂ8:¦!·ÈÃQͳ ++Bad Option++ ÃW:mþ Àͳ Re-enter PRIMARY option and file name only: Ù!ÍTÃ:mþ ©>2>ÿ2œ!/ÓÿÉ>2œ!É:·ÈͳEnter New Baudrate: !e6Í'þ ÂßÍÃëþ0ÚÑþ:ÒÑwOÍ#ÃÑ!°!¸!Íì!§!vÂýÃb>Ív5ëÃb> Ív> ÍvÃb> Ív> ÍvÑÁáñÉÑáåÕF##> w#Â8ÉåÕÅÍd·ÊBÍ\þaÚXþ{ÒXæ_ÁÑáÉ*éåÕÅÍnÁÑáÉ*éåÕÅõÍ‚ñÁÑáÉ* OéõÅÕåÍ ë#^#6 áÑÕåÍ0 ÍB þ Êñþ ÊÃáå ÍB þ Êñþ ÂÓÃÃþ Êñáå Í0 ÍB þ Êñáå ÍB áå#ÍV áå ÍV áÑÁñÉåÅ6# > Í) >Í)  > Í) >Í) ÁáÉw#Â) Éþ:Â@ æ_Ö@w#Éþ Èþ.Èþ È úB w#ÃB ~þ*Êf #ÂX Ãi Í{ ~þ*Êw #ÈÃk Í{ É6?#Â{ ÉÙ!!\Í‹!z!Í:l2z!:mþ õÌ+!ñÄ9!ÍT!€Í¯2›!z!ÍþÿÊ!ÍE!~·Ê !ûÿ~æ€Â !öÿ#í ÍìÍìͳ | :›!colon (:) will be printed at the beginning of each line when memory save is active. The colon will not be transmitted over the modem nor will it be saved in memory. If a file is not specified, then memory save can not be activated. If the memory buffer is full (the buffer is from the top of the program to the bottom of BDOS), the contents are automatically written to disk (but the file is not yet closed). ž! Íì>2º /2Ø!:·ÂÜͳ WRT - Write file to disk (from terminal mode) DEL - Erase present file (from terminal mode) RET - Return to terminal mode with no loss of data :·ÊìͳDSC - Disconnect CAL - Dial number ͳXPR - Toggle expert mode (Menu on/off) DIR - List directory (may specify drive) CPM - Exit to CP/M S - Send CP/M file R - Receive CP/M file T - Terminal mode (optional file name) E - Terminal mode with echo ͳ DEFAULT DRIVE: ÍÆAÍͳ CP/M MODEM PROGRAM DOCUMENTATION by Mark M. Zeiger and James K. Mills and Gary Grossoehme for WRAM Computer Corp. 8/28/82 This program uses the file transfer routines written by Ward Christensen in his CP/M file transfer program (V2.0 as of 8/6/79) and is compatable with his program in single file transfer mode. Multi-file transfers are only possible between two systems running the program described below. This program has two functions: <2›!æ·Ìz!ÍþÿÊ'!ÃÁ ͳNOT FOUNDÍÉ>? !{!w#Â2!É!m{! ÍìÉæ‡‡‡‡‡_!€É:z!·Ê`!Æ@Ãg!ÍÆA2u!ͳ DRIVE ÉÉ6?#Â{ ÉÙ!!\Í‹!z!Í:l2z!:mþADOQRSVTTADOQRSVTBá"á"ͳINVALID OPTION Ãòÿ€#í ÍìÍìͳ | :›!<2›!æ·Ìz!ÍþÿÊ'!ÃÁ ͳNOT FOUNDÍÉ>? !{!w#Â2!É!m{! ÍìÉæ‡‡‡‡‡_!€É:z!·Ê`! ++BAD LIBRARY NUMBER CALLED++ $Communications may then continue with the buffer reinitialized. The computer with which you are communicating must accept the X-ON and X-OFF (Control-Q and Control-S) conventions or data will be lost. When communications are over, use Control-E to exit from the Terminal mode and enter the Menu. The file to which you are writing must then be closed by using the 'WRT' command. If this is not done, all data will be l Command: Ù!ÍTÍÛ!Í7CPMÒßÍ7DIRÒÂÍ7RETÚ>*}"Ãk:·ÊOÍ7DSCÒœÍ7WRTÒìÍ7XPRÒÍ7DELÒÈ:·Ê†Í7CALÚ†>2Ú!Ôå:Û!!2Í&áÚåÍáÃá:·Êò͉ͳ ++DISCONNECTED++ Ã̓ ÃÜ:²"þ ʱ"ͱ>ÿ2œ!/2Óÿ!±"ÍÃ:œ!þÿÊ:²"þ Ê*}"Ín͇ͨ>ÿ2œ!/2Óÿ!±"ÍÃ:/2ÃF#¾Ê1Â'7ÉSRTEãÕ~·ÊP¾ÂH#Ã9>#¾ÂJ7Ñ#ãÉõåÅÕÍ/ÑÕ¯ëÍ?þ Ê þÊŸþÊŸþÊÒþÊäþÊþ ÚbGëáå#4+~#¾Ú ëpxÍv#Ãbëáå#G~ÖwÚ½ë+xF6 þÊÂxÍvÃb4ëÃbÍv> Ív>ÍvÃb>#Ív> Ív> ÍvÃXÑÕG>#Ív> Ív> Ívx·ÊbÍ 1. Communication 2. Program transfer COMMUNICATIONS The program may emulate a terminal or echo data back to sender (act as a computer). Terminal Mode - 'T' Option The terminal mode may be called with or without a file name. If a file is specified (it should be a new file), then anything received by the modem may be saved in memory and later written on disk. The save feature is toggled ON/OFF by Control-Y. A   ost. I decided not to close the file automatically since there will be times when you leave terminal mode and then decide to re-enter. This may be done while in the Menu by using the 'RET' command. You may re-enter Terminal mode and save in the same file as many times as you wish as long as you have not closed the file with the 'WRT' command. While in Terminal mode, Control-T will put you in File Transfer mode.nning of the program (106H) that will create a backup file if a file on the disk has the same name as the file being received in multi-file transfer (see MODEM.SET). If this byte is set to 0FFH, a backup file will be created. If it is zero the file on the disk will be deleted before the new file is received. If you are running CP/M 2 and a file on the disk is designated R/O or SYS, a backup will be created whether the byte at 10rminal mode. Remember that if you are operating a remote computer using a timesharing program (such as Ward Christensen's "BYE"), the remote should be instructed to send or receive in the quiet (Q) mode as a secondary option. Examples of commands for sending and receiving are listed below. Multi-file transfers Using the B (batch) secondary option, more than one file and ambiguous filenames may be transferretifile transfers may only be done from the menu. It may not be specified when the MODEM program is called. In other words A>MODEM SAB *.COM will result in an INVALID OPTION error message. Return to Menu - 'M' option When asked to select an option, 'M' returns to Menu. The MENU If the Modem program is entered with no option, the Menu is called. The Menu gives the choice of selecting the standard options as defined This will allow you to send the contents of an ASCII file over the modem. This routine does no error checking and there are no protocols specified between this program and the receiving computer other than that it should be ready to receive data via the modem. Control-X will cancel the transfer. Computer mode - 'E' Option This mode echos data received by other computer. Only one computer may be in this mode at on6H is set or not. Be careful - if you are running CP/M 1 and the drive on which you are receiving has an R/O file with the same name created by CP/M 2, the R/O file can not be accessed (found, changed, erased, etc.) by CP/M 1. You will therefore have two files with the same name when you are running CP/M 2. To fix this problem, use CP/M 1 to change the name of the file that is not R/O. Then use CP/M 2 to do what you want withd. To send files, use the primary option "S" and the secondary option "B" (along with any other secondary options and baudrate). To receive the files being sent, use the "R" primary option and the "B" secondary option. Files may not be named since filenames are sent by the sending program, but a disk drive may be specified (or else the files are written to the default drive). Backup option There is a byte at the begi by Ward Christensen (T, E, R, and S). The Terminal mode has been greatly expanded as described above. The "R" and "S" commands must be called with a filename or you will be required to enter the primary command (S or R) and the filename again (but NOT the secondary options). If you want multi-file transfers, then the "R" option does not need a filename. RET - You may also enter terminal mode using the 'RET' command, but e time. There is no save feature in this mode. Useful if you wish to communicate with somebody running the terminal portion of the program. File transfer - 'S' and 'R' Options These features are the same as in the CP/M Modem program written by Ward Christensen except that upon completion of the transfer, control returns to the Menu unless the secondary 'T' option has been selected. In the latter case, control returns to Te the R/O file. Examples: The sender enters SBT B:*.COM to send all the COM files on disk B. Also specified was terminal mode when done. The receiver enters RB to receive all the files being sent on the default drive. The sender enters the command SB ASM.COM *.HEX B:M*.* which will send ASM.COM from the default drive, all the HEX files from the default drive, and all the files starting with "M" from the B drive. Mul   no data will be saved since a file may not be named with 'RET'. Use the 'RET' command to RE-ENTER Terminal mode after it has first been entered with the 'T' option. If this is done, you will still be able to save the communications if you were doing so before you exitted the terminal mode. WRT - The 'WRT' command must be used after leaving Terminal mode. This writes the last buffer to disk and closes the file. Failure  transfer. SBQ *.COM Send two files from two different drives SB A:fn1.ft1 B:fn2.ft2 Receive files being sent by above on drive A. RB A: Terminal mode, save communication in file, originate mode (in terminal must type CTRL-Y to start save, in menu must type "WRT" to close file) TO fn.ft Any problemsor bus) R - receive a CP/M file (must name file unless B sec opt used) T - terminal mode (specify file if memory save wanted) E - terminal mode with echo M - return to menu X - used only when program is called to initially toggle menu off Secondary options B - multi-file mode for sending and receiving files T - return to terminal mode after transfer (memory save off) R - view what is received in file transfer ; ; KAYMODEM PATCH ; ; ALLOWS USER TO SPECIFY: ; baud rate, word length, stop bits, pairity ; for the Z-80 SIO/DART ; ; WRITTEN: 03/01/83 ; BY: Wayne E. Campeau ; FOR: Anchor Computer Systems ; ; USE: This program is to be patched into the MODEM7 program ; available frome either the CP/M Users Group or the ; Special Interest Group (SIG). ; Some simple changes need to be made for the program to ; run alone (Remove the REENTRY patch). ; ;-------------------------------------to use the 'WRT' command results in loss of all data and a file of length zero. DEL - The 'DEL' command erases the most recent file accessed in Terminal mode. Useful if you decide after communications that you don't want to save information just gathered. CPM - The 'CPM' command reboots and returns to CP/M. XPR - The 'XPR' command is a toggle which causes the menu to be printed or not printed. Initially the menu is on unless the gs, please call me: Or latest revisor: Mark M. Zeiger James K. Mills 198-01B 67th Ave. 824 Jordan Place Flushing, N.Y. 11365 Rockford, IL 61108 (212) 454-6985 (815) 398-0579 or WRAM Computer Corp. (503) 244-2168 S - view what is being sent in file transfer V - view what is being sent or received in file transfer T - Terminal mode (used with remotely controlled computer) EXAMPLES (fn = filename, ft = filetype) Send file. S fn.ft Receive file on B drive, view what is being received, return to terminal mode RRT B:fn.ft Send all COM files, no messages on console, same way as last ------------------------------------ WBOOT EQU 0000H ;DEFINE WARM BOOT ADDRESS BDOS EQU 0005H ;DEFINE BDOS ENTRY POINT LOADPT EQU 0100H ;DEFINE CP/M LOAD POINT REENTRY EQU LOADPT+0036H ;DEFINE PROGRAM RE-ENTRY POINT INTO MODEM7 ;------------------------------------------------------------------------- ; CP/M DOS CALL NUMBERS CONIN EQU 1 ;DEFINE CONSOLE INPUT CALL CONOUT EQU 2 ;DEFINE CONSOLE OUTPUT CALL DIRIO EQU 6 ;DEFINE DIRECT CONSOLE I/O CALL PMSG EQU 9 ;DEFINE PRINT MESSAGE DOS program is called with the "X" option (ie. A>MODEM X ). DIR - The 'DIR' command lists the directory of a CP/M disk. A drive may be specified (ie. DIR B:) or the default drive will be listed. After the directory is listed, the menu will not be printed whether XPR mode is on or off. If XPR mode is on and you wish to see the menu, hit return. LISTING OF COMMANDS AND OPTIONS Primary options S - send a CP/M file (must specify file/   COMMAND ;-------------------------------------------------------------------------- ; CHARACTER DEFFINITIONS CNTRL$C EQU 3 ;DEFINE CTRL-C CHAR (^C) CR EQU 13 ;CARRIAGE RETURN LF EQU 10 ;LINE FEED ESC EQU 27 ;ESCAPE CHAR (^[) ;------------------------------------------------------------------------ ; PORT DEFFINITIONS SIO$CONTROL EQU 6 ;SIO STATUS/COMMAND PORT BAUD$PORT EQU 0 ;BAUD RATE CONTROLER PORT ;======================================================================== ;URN PRINT$STOPS: LXI D,STOP$MSG MVI C,PMSG JMP BDOS ;PRINT THE STOP-BITS PROMPT & RETURN PRINT$PAIRITY: LXI D,PAIRITY$MSG MVI C,PMSG JMP BDOS ;PRINT THE PAIRITY PROMPT & RETURN GET$SEL: PUSH B ;SAVE THE MAX NUMBER OF SELECTIONS WAIT: MVI C,DIRIO MVI E,0FFH ;SET FOR INPUT CALL BDOS ; ORA A ;CHECK FOR CHAR READY JZ WAIT ;IF NOT READY THEN WAIT POP B ;GET THE MAX VALUE. INR B ;INC THE MAX VALUE. ANI 7FH ;STRIP THE PAIRITY BIT. CPI CNTRL$C ;IS IT A BREAUD: CALL PRINT$BAUD ;PRINT THE BAUD-RATE PROMPT MVI B,6 ;SET THE MAX NUMBER OF SELECTIONS CALL GET$SEL ;GET THE USERS SELECTION STA BAUD$RATE ;SET THE BAUD RATE RET CONFIG: CALL BITS$MENU ; CALL STOP$MENU ; CALL PAIRITY$MENU ; RET ; BITS$MENU: CALL PRINT$BITS ;PRINT THE WORD LENGTH PROMPT MVI B,3 ;SET THE MAX NUMBER OF SELECTIONS CALL GET$SEL ;GET THE USERS SELECTION STA WORD$LENGTH ;SET THE WORD LENGTH RET ; STOP$MENU: CALL PRINT$STOPS ;PRINT THE STOP BITS PROMP LDA PAIRITY ;GET THE PAIRITY MODE.. LXI H,PAIRITY$TBL ; CALL LOOKUP ; ORA B ;OR THE COMMAND WORDS FOR STOP BITS AND ;PAIRITY MODE TOGETHER. OUT SIO$CONTROL ;NOW SEND THE COMBINED COMMAND WORD. ; MVI A,3 ;ADDRESS REG. 3 OUT SIO$CONTROL ; LDA WORD$LENGTH ;LOAD THE Rx WORD LENGTH LXI H,BITS$TBL2 ; CALL LOOKUP ; OUT SIO$CONTROL ; ; MVI A,5 ;ADDRESS REG. 5 OUT SIO$CONTROL ; LDA WORD$LENGTH ;LOAD THE Tx WORD LENGTH LXI H,BITS$TBL1 ; CALL LOOKUP ; OUT SIO$CONT BEGINING OF PROGRAM ORG LOADPT ;ORG AT THE START OF THE PROGRAM JMP PATCH ; ;========================================================================= ; MAIN BODY OF PROGRAM IS BEYOND THE END OF THE MODEM7 PROGRAM ORG LOADPT+2900H ;ORG AT THE END OF THE PROGRAM ;(DELETE FOR STAND ALONE) PATCH: ; LXI SP,STACK ;DEFINE OUR OWN TEMP. STACK CALL CLS ;CLEAR THE SCREEN CALL BAUD ;GET THE BAUD RATE CALL CLS ;CLEAR THE SCREEN CALL CONFIG ;GET THE CHANNEL CONFIG CALL PROGK? JZ WBOOT ;YEP, ABORT. SBI '0' ;SUBTRACT ASCII OFFSET OF '0' JM DEFAULT ;IF UNDER-FLOW THE USE DEFAULT (0) ;ELSE, CMP B ;COMPARE THE CHAR TO IT JC ECHO$SEL ;IF CHAR <= MAX THEN ECHO THE SELECTION & RET ;ELSE, DEFAULT: XRA A ;SET A=0 ECHO$SEL: PUSH PSW ;SAVE THE ANSWER ADI '0' ;ADD THE ASCII OFFSET OF '0' TO MAKE CHAR PRINTABLE MVI C,DIRIO ;SET THE BDOS FUNCTION MOV E,A ;PUT THE CHAR IN E. CALL BDOS ;PRINT IT POP PSW ;RESTORE THE CHAR. RET ;RETURN ;--T MVI B,2 ;SET THE MAX NUMBER OF SELECTIONS CALL GET$SEL ;GET THE USERS SELECTION STA STOP$BITS ;SET THE STOP BITS RET ; PAIRITY$MENU: CALL PRINT$PAIRITY ;PRINT THE PAIRITY PROMPT MVI B,2 ;SET THE MAX NUMBER OF SELECTIONS CALL GET$SEL ;GET THE USERS SELECTION STA PAIRITY ;SET THE PAIRITY RET ; PRINT$BAUD: LXI D,BAUD$MSG MVI C,PMSG JMP BDOS ;PRINT THE BAUD-RATE PROMPT & RETURN PRINT$BITS: LXI D,BIT$MSG MVI C,PMSG JMP BDOS ;PRINT THE WORD LENGTH PROMPT & RETROL ; ; MVI A,1 ;ADDRESS REG. 1 OUT SIO$CONTROL ; MVI A,00000010B ;ENABLE Tx. OUT SIO$CONTROL ; RET ; LOOKUP: ADD L MOV L,A MVI A,0 ADC H MOV H,A MOV A,M RET ;------------------------------------------------------------------------- BAUD$MSG: DB ' *** KAYPRO-II MODEM PROGRAM *** VERS. 2.0', CR,LF DB CR,LF DB ' Anchor Computer Systems', CR,LF DB ' 323 1st. Ave. So.', CR,LF DB ' Seattle, WA 98104', CR,RAM ;PROGRAM THE CHANNEL CALL CLS ;CLEAR THE SCREEN XRA A ;CLEAR A. JMP REENTRY ;JUMP BACK INTO THE MODEM7 PROGRAM ;(CHANGE TO A JMP WBOOT FOR STAND ALONE) ;========================================================================== ; SUBROUTINES CLS: ;CLEAR THE SCREEN MVI C,DIRIO ; MVI E,ESC ;LEAD-IN CALL BDOS ; ; MVI C,DIRIO ; MVI E,'*' ; CALL BDOS ;CLEAR CODE RET ;RETURN ;------------------------------------------------------------------------- BA----------------------------------------------------------------------- PROGRAM: ;PROGRAM THE I/O CHANNEL LDA BAUD$RATE ; LXI H,BAUD$TBL ; CALL LOOKUP ; OUT BAUD$PORT ; MVI A,18H ;LOAD RESET CODE OUT SIO$CONTROL ;RESET THE SIO CHANNEL MVI A,10H ;LOAD RESET STATUS INTERUPTS CODE OUT SIO$CONTROL ;RESET THEM ; MVI A,4 ;ADDRESS REG. 4 OUT SIO$CONTROL ; LDA STOP$BITS ;GET THE NUMBER OF STOP BITS, LXI H,STOPS$TBL ; CALL LOOKUP ; MOV B,A ;SAVE FOR LOGICAL OR.. ;   LF DB CR,LF DB ' (206) 621-9307 Voice', CR,LF DB ' (206) 621-8665 Data', CR,LF DB CR,LF DB ' 0. 300', CR,LF DB ' 1. 600', CR,LF DB ' 2. 1200', CR,LF DB ' 3. 2400', CR,LF DB ' 4. 4800', CR,LF DB ' 5. 9600', CR,LF DB ' 6. 19.2K', CR,LF DB CR,LF DB ' Choose one of the above BAUD RATES:(0-6)', CR CR,LF DB ' 1. EVEN PAIRITY', CR,LF DB ' 2. ODD PAIRITY', CR,LF DB CR,LF DB ' WHAT IS YOUR SELECTION?' DB '$' ;--------------------------------------------------------------------------- ; SIO CONTROL-WORD TABLES BAUD$TBL: DB 5,6,7,10,12,14,15 BITS$TBL1: DB 11101000B,11001000B,10101000B,10001000B ;REG 5 BITS$TBL2: DB 11000001B,01000001B,10000001B,00000001B ;REG 3 STOPS$TBL: DB 01000100B,01011000B,01001100B ;REG 4 PAIRITÃ* ÿÇ  ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ Bþ¿Ã7ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ«««« F ® ?ÇÇÚ b »�� ¬aCž Ë S Žèq Ù­ 4€ ¼ Rø ÷pÊ÷páÑÁ¯2h:º ·ÂT >2º !\»  ÍÓ :\2Ç !» \Ã* ÿÇ  ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ Bþ¿Ã7ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ«««« F ® ?ÇÇÚ b »�� ¬aCž Ë S Žèq Ù­ 4€ ¼ Rø ÷pÊ÷páÑÁ¯2h:º ·ÂT >2º !\»  ÍÓ :\2Ç !» \,LF DB CR,LF DB ' Any other key will set 300 BAUD.', CR,LF DB CR,LF DB ' WHAT IS YOUR SELECTION ?' DB '$' BIT$MSG: DB CR,LF DB ' Choose one of the following WORD LENGTHS:', CR,LF DB CR,LF DB ' 0. 8 BITS', CR,LF DB ' 1. 7 BITS', CR,LF DB ' 2. 6 BITS', CR,LF DB ' 3. 5 BITS', CR,LF DB CR,LF DB ' WHAT IS YOUR SELECTIONÃ* ÿÇ  ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ Bþ¿Ã7ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ«««« F ® ?ÇÇÚ b »�� ¬aCž Ë S Žèq Ù­ 4€ ¼ Rø ÷pÊ÷páÑÁ¯2h:º ·ÂT >2º !\»  ÍÓ :\2Ç !» \Ã* ÿÇ  ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ Bþ¿Ã7ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ«««« F ® ?ÇÇÚ b »�� ¬aCž Ë S Žèq Ù­ 4€ ¼ Rø ÷pÊ÷páÑÁ¯2h:º ·ÂT >2º !\»  ÍÓ :\2Ç !» \Y$TBL: DB 01000000B,01000011B,01000001B ;REG 4 ; SELECTIONS MADE BY USER BAUD$RATE: DB 0 ; WORD$LENGTH: DB 0 ; STOP$BITS: DB 0 ; PAIRITY: DB 0 ; ;--------------------------------------------------------------------------- DS 100H ;RESERVE SOME STACK SPACE STACK EQU $ ;SET STACK HERE END LOADPT ; Ã* ÿÇ  ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ Bþ¿Ã7ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ«««« F ® ?ÇÇÚ b »�� ¬aCž Ë S Žèq Ù­ 4€ ¼ Rø ÷pÊ÷páÑÁ¯2h:º ·ÂT >2º !\»  ÍÓ :\2Ç !» \Ã* ÿÇ  ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ Bþ¿Ã7ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ«««« F ® ?ÇÇÚ b »�� ¬aCž Ë S Žèq Ù­ 4€ ¼ Rø ÷pÊ÷páÑÁ¯2h:º ·ÂT >2º !\»  ÍÓ :\2Ç !» \?' DB '$' STOP$MSG: DB CR,LF DB ' Choose from the following STOP BITS:', CR,LF DB CR,LF DB ' 0. 1 STOP BIT ', CR,LF DB ' 1. 1.5 STOP BITS', CR,LF DB ' 2. 2 STOP BITS', CR,LF DB CR,LF DB ' WHAT IS YOUR SELECTION?' DB '$' PAIRITY$MSG: DB CR,LF DB ' Choose from the following PAIRITY SELECTIONS:', CR,LF DB CR,LF DB ' 0. NO PAIRITY', Ã* ÿÇ  ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ Bþ¿Ã7ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ«««« F ® ?ÇÇÚ b »�� ¬aCž Ë S Žèq Ù­ 4€ ¼ Rø ÷pÊ÷páÑÁ¯2h:º ·ÂT >2º !\»  ÍÓ :\2Ç !» \Ã* ÿÇ  ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ Bþ¿Ã7ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ«««« F ® ?ÇÇÚ b »�� ¬aCž Ë S Žèq Ù­ 4€ ¼ Rø ÷pÊ÷páÑÁ¯2h:º ·ÂT >2º !\»  ÍÓ :\2Ç !» \  Ã* ÿÇ  ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ Bþ¿Ã7ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ«««« F ® ?ÇÇÚ b »�� ¬aCž Ë S Žèq Ù­ 4€ ¼ Rø ÷pÊ÷páÑÁ¯2h:º ·ÂT >2º !\»  ÍÓ :\2Ç !» \Ã* ÿÇ  ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ Bþ¿Ã7ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ«««« F ® ?ÇÇÚ b »�� ¬aCž Ë S Žèq Ù­ 4€ ¼ Rø ÷pÊ÷páÑÁ¯2h:º ·ÂT >2º !\»  ÍÓ :\2Ç !» \Ã* ÿÇ  ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ Bþ¿Ã7ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ«««« F ® ?ÇÇÚ b »�� ¬aCž Ë S Žèq Ù­ 4€ ¼ Rø ÷pÊ÷páÑÁ¯2h:º ·ÂT >2º !\»  ÍÓ :\2Ç !» \Ã* ÿÇ  ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ Bþ¿Ã7ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ«««« F ® ?ÇÇÚ b »�� ¬aCž Ë S Žèq Ù­ 4€ ¼ Rø ÷pÊ÷páÑÁ¯2h:º ·ÂT >2º !\»  ÍÓ :\2Ç !» \Ã* ÿÇ  ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ Bþ¿Ã7ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ«««« F ® ?ÇÇÚ b »�� ¬aCž Ë S Žèq Ù­ 4€ ¼ Rø ÷pÊ÷páÑÁ¯2h:º ·ÂT >2º !\»  ÍÓ :\2Ç !» \Ã* ÿÇ  ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ Bþ¿Ã7ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ«««« F ® ?ÇÇÚ b »�� ¬aCž Ë S Žèq Ù­ 4€ ¼ Rø ÷pÊ÷páÑÁ¯2h:º ·ÂT >2º !\»  ÍÓ :\2Ç !» \Ã* ÿÇ  ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ Bþ¿Ã7ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ«««« F ® ?ÇÇÚ b »�� ¬aCž Ë S Žèq Ù­ 4€ ¼ Rø ÷pÊ÷páÑÁ¯2h:º ·ÂT >2º !\»  ÍÓ :\2Ç !» \Ã* ÿÇ  ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ Bþ¿Ã7ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ«««« F ® ?ÇÇÚ b »�� ¬aCž Ë S Žèq Ù­ 4€ ¼ Rø ÷pÊ÷páÑÁ¯2h:º ·ÂT >2º !\»  ÍÓ :\2Ç !» \Ã* ÿÇ  ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ Bþ¿Ã7ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ«««« F ® ?ÇÇÚ b »�� ¬aCž Ë S Žèq Ù­ 4€ ¼ Rø ÷pÊ÷páÑÁ¯2h:º ·ÂT >2º !\»  ÍÓ :\2Ç !» \Ã* ÿÇ  ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ Bþ¿Ã7ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ«««« F ® ?ÇÇÚ b »�� ¬aCž Ë S Žèq Ù­ 4€ ¼ Rø ÷pÊ÷páÑÁ¯2h:º ·ÂT >2º !\»  ÍÓ :\2Ç !» \Ã* ÿÇ  ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ Bþ¿Ã7ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ«««« F ® ?ÇÇÚ b »�� ¬aCž Ë S Žèq Ù­ 4€ ¼ Rø ÷pÊ÷páÑÁ¯2h:º ·ÂT >2º !\»  ÍÓ :\2Ç !» \Ã* ÿÇ  ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ Bþ¿Ã7ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ«««« F ® ?ÇÇÚ b »�� ¬aCž Ë S Žèq Ù­ 4€ ¼ Rø ÷pÊ÷páÑÁ¯2h:º ·ÂT >2º !\»  ÍÓ :\2Ç !» \Ã* ÿÇ  ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ Bþ¿Ã7ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ«««« F ® ?ÇÇÚ b »�� ¬aCž Ë S Žèq Ù­ 4€ ¼ Rø ÷pÊ÷páÑÁ¯2h:º ·ÂT >2º !\»  ÍÓ :\2Ç !» \Ã* ÿÇ  ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ Bþ¿Ã7ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ«««« F ® ?ÇÇÚ b »�� ¬aCž Ë S Žèq Ù­ 4€ ¼ Rø ÷pÊ÷páÑÁ¯2h:º ·ÂT >2º !\»  ÍÓ :\2Ç !» \Ã* ÿÇ  ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ Bþ¿Ã7ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ«««« F ® ?ÇÇÚ b »�� ¬aCž Ë S Žèq Ù­ 4€ ¼ Rø ÷pÊ÷páÑÁ¯2h:º ·ÂT >2º !\»  ÍÓ :\2Ç !» \Ã* ÿÇ  ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ Bþ¿Ã7ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ«««« F ® ?ÇÇÚ b »�� ¬aCž Ë S Žèq Ù­ 4€ ¼ Rø ÷pÊ÷páÑÁ¯2h:º ·ÂT >2º !\»  ÍÓ :\2Ç !» \Ã* ÿÇ  ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ Bþ¿Ã7ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ«««« F ® ?ÇÇÚ b »�� ¬aCž Ë S Žèq Ù­ 4€ ¼ Rø ÷pÊ÷páÑÁ¯2h:º ·ÂT >2º !\»  ÍÓ :\2Ç !» \Ã* ÿÇ  ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ Bþ¿Ã7ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ«««« F ® ?ÇÇÚ b »�� ¬aCž Ë S Žèq Ù­ 4€ ¼ Rø ÷pÊ÷páÑÁ¯2h:º ·ÂT >2º !\»  ÍÓ :\2Ç !» \Ã* ÿÇ  ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ Bþ¿Ã7ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ«««« F ® ?ÇÇÚ b »�� ¬aCž Ë S Žèq Ù­ 4€ ¼ Rø ÷pÊ÷páÑÁ¯2h:º ·ÂT >2º !\»  ÍÓ :\2Ç !» \Ã* ÿÇ  ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ Bþ¿Ã7ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ«««« F ® ?ÇÇÚ b »�� ¬aCž Ë S Žèq Ù­ 4€ ¼ Rø ÷pÊ÷páÑÁ¯2h:º ·ÂT >2º !\»  ÍÓ :\2Ç !» \  Ã* ÿÇ  ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ Bþ¿Ã7ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ«««« F ® ?ÇÇÚ b »�� ¬aCž Ë S Žèq Ù­ 4€ ¼ Rø ÷pÊ÷páÑÁ¯2h:º ·ÂT >2º !\»  ÍÓ :\2Ç !» \Ã* ÿÇ  ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ Bþ¿Ã7ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ«««« F ® ?ÇÇÚ b »�� ¬aCž Ë S Žèq Ù­ 4€ ¼ Rø ÷pÊ÷páÑÁ¯2h:º ·ÂT >2º !\»  ÍÓ :\2Ç !» \Ã* ÿÇ  ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ Bþ¿Ã7ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ«««« F ® ?ÇÇÚ b »�� ¬aCž Ë S Žèq Ù­ 4€ ¼ Rø ÷pÊ÷páÑÁ¯2h:º ·ÂT >2º !\»  ÍÓ :\2Ç !» \Ã* ÿÇ  ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ Bþ¿Ã7ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ«««« F ® ?ÇÇÚ b »�� ¬aCž Ë S Žèq Ù­ 4€ ¼ Rø ÷pÊ÷páÑÁ¯2h:º ·ÂT >2º !\»  ÍÓ :\2Ç !» \Ã* ÿÇ  ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ Bþ¿Ã7ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ«««« F ® ?ÇÇÚ b »�� ¬aCž Ë S Žèq Ù­ 4€ ¼ Rø ÷pÊ÷páÑÁ¯2h:º ·ÂT >2º !\»  ÍÓ :\2Ç !» \Ã* ÿÇ  ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ Bþ¿Ã7ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ«««« F ® ?ÇÇÚ b »�� ¬aCž Ë S Žèq Ù­ 4€ ¼ Rø ÷pÊ÷páÑÁ¯2h:º ·ÂT >2º !\»  ÍÓ :\2Ç !» \l set 300 BAUD. WHAT IS YOUR SELECTION ?$ Choose one of the following WORD LENGTHS: 0. 8 BITS 1. 7 BITS 2. 6 BITS 3. 5 BITS WHAT IS YOUR SELECTION?$ Choose from the following STOP BITS: 0. 1 STOP BIT 1. 1.5 STOP BITS 2. 2 STOP BITS WHAT IS YOUR SELECTION?$ Ã* ÿÇ  ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ Bþ¿Ã7ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ«««« F ® ?ÇÇÚ b »�� ¬aCž Ë S Žèq Ù­ 4€ ¼ Rø ÷pÊ÷páÑÁ¯2h:º ·ÂT >2º !\»  ÍÓ :\2Ç !» \Ã* ÿÇ  ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ Bþ¿Ã7ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ«««« F ® ?ÇÇÚ b »�� ¬aCž Ë S Žèq Ù­ 4€ ¼ Rø ÷pÊ÷páÑÁ¯2h:º ·ÂT >2º !\»  ÍÓ :\2Ç !» \Ã* ÿÇ  ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ Bþ¿Ã7ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ«««« F ® ?ÇÇÚ b »�� ¬aCž Ë S Žèq Ù­ 4€ ¼ Rø ÷pÊ÷páÑÁ¯2h:º ·ÂT >2º !\»  ÍÓ :\2Ç !» \1é0Í*Í(*Í*Í4*ͬ*Í*¯Ã6Í*ÍÉÍb*Í‚*2å/ÉÍ>*ÍJ*ÍV*ÉÍj*Í‚*2æ/ÉÍr*Í‚*2ç/ÉÍz*Í‚*2è/É+ Ã>- Ã". Ãö. ÃÅÿͷʃ*ÁæþÊÞ0ú *¸Ú¡*¯õÆ0_ÍñÉ:å/!Ð/Í+Ó>Ó>Ó>Ó:ç/!ß/Í+G:è/!â/Í+°Ó>Ó:æ/!Û/Í+Ó>Ó:æ/!×/Í+Ó>Ó>ÓÉÃ* ÿÇ  ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ Bþ¿Ã7ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ«««« F ® ?ÇÇÚ b »�� ¬aCž Ë S Žèq Ù­ 4€ ¼ Rø ÷pÊ÷páÑÁ¯2h:º ·ÂT >2º !\»  ÍÓ :\2Ç !» \Ã* ÿÇ  ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ Bþ¿Ã7ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ«««« F ® ?ÇÇÚ b »�� ¬aCž Ë S Žèq Ù­ 4€ ¼ Rø ÷pÊ÷páÑÁ¯2h:º ·ÂT >2º !\»  ÍÓ :\2Ç !» \Choose from the following PAIRITY SELECTIONS: 0. NO PAIRITY 1. EVEN PAIRITY 2. ODD PAIRITY WHAT IS YOUR SELECTION?$ èȨˆÁA�DXL@CAÃ* ÿÇ  ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ Bþ¿Ã7ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ«««« F ® ?ÇÇÚ b »�� ¬aCž Ë S Žèq Ù­ 4€ ¼ Rø ÷pÊ÷páÑÁ¯2h:º ·ÂT >2º !\»  ÍÓ :\2Ç !» \Ã* ÿÇ  ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ Bþ¿Ã7ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ«««« F ® ?ÇÇÚ b »�� ¬aCž Ë S Žèq Ù­ 4€ ¼ Rø ÷pÊ÷páÑÁ¯2h:º ·ÂT >2º !\»  ÍÓ :\2Ç !» \…o>Œg~É *** KAYPRO-II MODEM PROGRAM *** VERS. 2.0 Anchor Computer Systems 323 1st. Ave. So. Seattle, WA 98104 (206) 621-9307 Voice (206) 621-8665 Data 0. 300 1. 600 2. 1200 3. 2400 4. 4800 5. 9600 6. 19.2K Choose one of the above BAUD RATES:(0-6) Any other key wil!  The files named .CPM are actually .COM files for CP/M. If you copy the files to a CP/M system without using 22DISK, just rename all *.CPM to .COM  You will find much more documentation in the DOC files and, especially, in the front of the source (.C) files. In general, these programs accept simple parameters either on the command line or from the console (interactive mode). Using the redirection or piping of the console input and output streams built into these programs provides most of the flexibility.  produce many squeezed or unsqueezed files from and to various diskettes. Squeezed files can be transmitted faster over data links and cassette tapes and more of them can be crammed onto a diskette. The latter is especially inportant in the case of a distribution diskette for a large program product. Example: Unsqueeze all squeezed ASM files on drive B and send the results to drive C: Also unsqueeze all squeezed TXT files on drive A: and send the results to drive D: A>fls c: b:*.AQM d: *.þ!ÉþaØþ{ÐÖ Éþ Ê þ Ê ÉÅÍ`·OÂE×!·æyÂ6ÁÉÕ$Ñ Â-7ÁÉÍrÚBÖo&))T])))ë!·yÁÉÕÅõå€ÍáñÁÑÉ¿!>Í15:Ì<Í15>{Í15Y/Íe5Ã6!Í'Â":Ê<æÀÂÝ!>}Í15Y/ÃÂ!:Ê<æÀÄc+ÍÀ&Â">&Í15¯Í15\0ÃÂ!:Ê<æÊ/"Íž)ÃÐ :¿<æÂ@"ͧ*Íž)ÃZ!:Ê<æÀ>åÊL">ÕÍ15Íž)>ÑÍ15>@2Ê<ÃZ!å*Á<"¢<áÚ/Íe5:¿<æþö2¿<É"¢<|·Â›"}·ÂŒ"Q0Íe5Éõñõ·Ê¢"Â�"ñQ1Íe5Éñ>�GÈ>)Í15ç"#ÍÆ(Íl'ñõÍ·*ÍÞÍ÷*Íž)Í!2þÊÊÙ"Í«'-ÍL3ÑÉ#Í·&Âæ"x0Íe5ñÍG)õÍ�'Í«'Í·*ñÍÞÍ÷*Íž)Íb)É~þùÄF9#^#V#Í#Í!2ÉÅåë)))äU~õæþÂ,ÌL3ñæ‡G~õæ`°2Ä<ñæ2É<#~æ2Ã<~æ?>*ùÍKÍžÃ+6žÂ55OÃ'Ã+ÃFÃŽÃrÃÃû Í– þ8Ê{ æÄ‚w#w#wÑÁÉÍÆÃÞá^#V#å*~#foÉá^#å*~#foÉá^#V#å*nÉá^#å*nÉá^#V#åë ~#foÉá^#åë& ~#foÉ!È+É!È#É!Ø+É!Ø#É!ð+É!ø+ÉÈÉÈÉØÉØÉðÉøÉ}»À|ºÉëz¼À{½Éë|ºÀ}»Éë|ªòìz·ð7Éë|ªòó|·ð7ÉzõÍZëÍZëÍ)ñ·ð|/g}/o#É|µÈÕå͉ÑÍk|/g}/o#Ñɯ2qÍZëÍZÍk:qÐ|/g}/o#É|·ð/g}/o#:q<2qÉÅÍqÁÉDM!x±ÈxGyOÒƒë)ëÃv|µÈÅÍ”`iÁÉ|·ú )ÖëxõÍÝÚ·Õz/W{/_ѯzW{_ñ=ÈõyOxGæ¯2qÍZëÍZë͉ÃM|ºØÀ}»Éëȯ|g}oÃæëÈ)Ãô|/g}/oTQT |usq The above example simulates a "pipe" indicated by the "|" by sending the "console" output of the fls.com program to a temporary file and then running the sq.com progam with options which cause it to read its parameters from its "console" input, which is really redirected to come from the temporary file. This DOES run under plain old vanilla CP/M! Many of the smarts are burried in the COM files in the form of library routines provided with the BDS C package (available from Lifeboat). ÊT#=2½<#^#V#Õ^#V#ë"Å<ë^#Vë"Ç<Ñ:É<·Ê~#*°<ë!:Ä<æ@Ê�#"Ç<áÁÉå*Û<#w"Û<áÉå*Û<~þÿÊ«#·Â¶#,ÍL3ÍÄ;áÉ+"Û<áÉå*Û<+"Û<áÉå!l@"Û<6ÿ!”@"Ý<áÉå*Û<~·áÈþÿÉåõ*Ã<ë*Ý2>! å! å!åͧÑÑÑ!c å!åͧÑÑ>2>>:2>>2>`i6#6`i~#foå! ~#foÑÍúÒB! ~#foå`i~#fo)Ñ~#foåͪÑ`i^#Vr+sÃ! ~#foÍùÒô!­ å!åͧÑÑ!/ å!åͧÑÑ`i¯w#w`i~#foÍùÒ×Í¡ë! s#rz³Âœ! 6 #6`i~#foë! å! ~#foëás{þ ÂË`i~#foë! 6Ã×`i^#Vr+sÃs! n}·Êê! åͪÑ! n}·Â`Í­ë!9ùëÁÉThis diskette contains many source files which together form three executable programs: SQ.COM Squeezes files and creates a new one with similar name but with a Q in the second letter of the file type. USQ.COM Unsqueezes files created by SQ, creating an exact replica of the original under the original name. FLS.COM Produces parameter lists for SQ and USQ. Its main purpose is to expand wild card names, especially *.?Q?. The overall effect is to be able to issue a single command which will#Éz/W{/_É!9~#foÉ!à !à ! à ! à !à !à Ÿ!9Å~#ÂAÁÉá"s!`å*"³!è"µ!ÜY"—>Û2­>Ó2°>É2¯2²!Ì"�!"“!@"‘!"• ÍæÊžÍ!€ßF#x·Â±Ã~#±¯!ßb¯2r~#þ ÊÈ·Êþ"ÂÞ2rÃß+}|~#·ÊÅG:r·xÁÊþ"Âæ¯2r+w#þ Âæ+6#ÃÈÕ!×6#¯2w2x*sé!ÿÿÉ>õÍrÚ<o&åÍFáñ=þÂ-ÃÍ`Í ÍrÚ'~æÊhåÍÅÍëÍÁá6þÿ!À+ÉÍ`WÖØþ?ØÕ_!×~æ7ÑzÈ?ÉÍ`ÅÍ åþ:>ªÍÖ@w#ÍGþ.¶ÍƯww#Ã?Åþ*>?ÊéÍñÚçw#ÂÇÁÍñØÃÞ> w#ÂéÁÉÍþ.7Èþ:7Èþ7È"  1.5 08/29/81File squeezer version %s by Richard Greenlaw 251 Colony Ct. Gahanna, Ohio 43230 Accepts redirection and pipes. Omit other parameters for help and prompt Parameters are from command line or one-at-a-time from standard input and are output drives and input file names. Empty to quit. *ÃD ÃÒ%à &Û%Ã:&ã Å!îÿ9ùDM! ~#fon}þ-Âj *>}·Í�}2>Ã2 ! ~#fo#n}þ:ÂÞ ! ~#fon&åÍ5 Ñ|µÊÄ ! ~#fo##n}·ÂÁ ! ~#foå!; åÍ8 ÑÑ! ~#fon}2>Ã2 ÃÞ ! ~#foå!M å!åÍ; ÑÑÑÃ2 ! ~#foë`is#r`i~#fon}·Ê8 `i~#fon}}·Ê ! 6åÍêÑ!qåÍíÑ*6}·Êo!:å!åÍðÑÑ!:åÍóÑ!:åÍêÑ!|å!‡åÍöÑÑ*6}·Êo*6å!“ëás#r*6¯w#w*6å*6åÍùÑÑÁÉtempin.$$$tempin.$$$tempout.$$$ë! s#rë~#fo#|µÊ#! ~#fo^#Vr+s`i~#foÍåÂËͨ!  6ÿ#6ÿ!  ~#fo#|µÊT!OåÍ«Ñ!  ~#foåÍ®Ñ!  å~#foë͉ëás#rͨ! s#r! s#r! ~#foÍùÒü! ~#foÍk">~#fo|µÊî! ~#foÍk">##6! ^#Vr+së)ë! å! ~#foëás#r! ^#Vr+sÊ! ÍãÑë`is{þ Â! 6åÍãÑë`isÃ2!åÍæÑë`is{þÂ2Íé`in}þÂA!ÿÿÃk`in}þ Âc`i6 *6}·Âc! å!åÍæÑÑ`in&Ãkë!9ùëÁÉÉÜ&Û%ó1Ãã*ö1Ãâ&Å!úÿ9ùDM{26{26{26! ~#foåÍ� ~#fo)Ñ"6! 6#6`i6#6Í�åÍ� ~#foÑÍúÒ†*6}·ÊåÆ! ~#foåÍ�)Ñ~#fon}þ<Êþ|ʹþ+Êþ>Ê1Ão! ~#foåÍ�)Ñ~#fo#n}·Â0ÃL! 6å! ~#foåÍ�)Ñ~#fo#åÍwÑÑ#|µÂ|! ~#foåÍ�)Ñ~#fo#å!�å!åÍzÑÑÑÍ}>26!žå! ~#foåÍ�)Ñ~#foåÍ€ÑÑ|µÂ¶*6&|²g}³o}26ÃÆ!64! ~#foåÍ�)Ñ~#fo#"6! ~#foåÍ�)Ñ~#fo#n}·Ê! ~#foåÍ�)Ñ">6ÿ#6ÿ`i^#Vr+sæë!9ùëÁÉÅ!óÿ9ùDM! s#r! s#r! s#r! ~#foÍùÒÈ! ~#foÍk">~#foå! ~#foå! ~#foÑÍúÑÍóÒ“! ^#Vr+s! å~#foå! ~#foÍk">~#foÑëás#r! ^#Vr+sÃC! ~#fo#ë! s#r! 6! ¯w#w! ~#foÍùÒo! ~#foÍk">~#foë! s#r! ~#foå! ~#foÑÍìÒa! ~#fo|µÊa! ~#foÍk">å! ~#foëás#r! 6! ^#Vr+sÃç! n}·Â+! ~#foÍÒÚ! ¯w#w! ~#foÍùÒÚ! ~#foÍk">å~#foå! ~#foÑ͉ëás#r! ^#Vr+sÃ’ë! 9ùëÁÉÃéýÅ!þÿ9ùDM! ~#fo++ëÍþ*Ê `i~#fon}þ?Â, ! ~#foå!b å!åÍ; ÑÑÑÃ2 `i^#Vr+sÃì ! 6!>å! åÍ> ÑÑ! ~#fo#n}þ:Âi ! ~#fo##Ãq ! ~#foå! åÍ> ÑÑ! ë`is#r`i~#fon}·Ê `i~#fon}þ. `i~#fo#n}·Â· `i~#fo6à `i~#fo##n}þqÊÓ þQÊÓ þÊí Ãø ! ~#foå!} å!åÍ; ÑÑÑÃ2 `i~#fo###6`i~#fo##6Qà `i^#Vr+sÆ !ž å! åÍ> ÑÑ! å! ~#foåÍA ÑÑë!9ùëÁÉ Output drive =%s ERROR - Ignoring %s Ambiguous name %s ignored %s ignored ( already squeezed?).QQQÃÇ Ã &Ü&Û%Ãâ&Ã:'Ã!ßÃcÃNÃk'è(Å!ð÷9ùDM! ~#foå! ~#foå!Gåͦ ÑÑÑ! å! ~#foåÍ© ÑÑ#|~#foå! åͱÑÑ! ~#foå! åÍ´ÑÑÍ·*)Lå!åͺÑÑ#|µÊ>ͽ>22O!"0Oë! 9ùëÁÉ*** rescaling ***, ÃlÃ*"Ó"Å!öÿ9ùDM! ~#foå!vÿåÍfÑÑ! ~#foå*>åÍfÑÑ! ~#fo#n}þ:¸! å~#fo##ëás#r! ~#foå! ~#fon&åÍiÑÑ! ^#Vr+sën}·Â¸*)LÍùÍ©Òú!Ã*)Lÿë! s#r! ~#foå! ~#foåÍfÑÑ! ¯w#w*)Lë`is#r! ~#foå! ~#foÑÍúÒE`i~#foÍk">###~#foë! s#r`i~#foÍk">~#foë! s#r! ~#foÍùͩҫ! ~#fo#Íúü*)Lå! ~#foÑÍúë! s#r! ~#foÍùÍ©Òç! ~#fo#ÍúÃø*)Lå! ~#foÑÍúë! s#rå!ªëás#r! ~#foåÍ�)Ñ"6Ã1*6&|²g}³o}26! ~#foåÍ�)Ñ~#fo#n}·Â\!·å!åÍzÑÑÍ}! ~#foåÍ�)Ñ~#fo#å̓Ñ!:å! ~#foåÍ�)Ñ~#fo#å͆ÑÑ#|µÂÂ! ~#foåÍ�)Ñ~#fo#å!Öå!åÍzÑÑÑÍ}!64*6}·ÂFÍ�ë! s#rÍ�åÍ� ~#foÑÍúÒ'! ~#foåÍ�)Ñå! ~#foåÍ�#)Ñ~#foëás#r! ^#Vr+sÃÚÍ� ^#Vr+s`i^#Vr+s*6++"6ÃlÍ� åÍ�ëás#r! ~#foåÍ� ~#fo)ѯw#wÃz! ^#Vr+s`i^#Vr+sÃÆë!9ùëÁÉCan't open %s ë! s#r! ~#foå`i^#Vr+sás#r! ~#fo###å! ~#foëás#r! ~#foå! ~#foëás#r! ~#foå! ~#foÍk">~#foå! ~#foÍk">~#foÑëás#r! ~#fo##å! ~#foÍk">##n&å! ~#foÍk">##n&åÍNÑÑëás! ~#fo+å!å! ~#foåÍKÑÑÑÃ`! ~#fo~#fo")Lë! 9ùëÁÉÅ!µÂ ! ~#foå!Så!åͬ ÑÑÑÃ>!  å! ~#foåͯ ÑÑ#|µÂZ ! ~#foå!så!åͬ ÑÑÑ! åͲ ÑÃ>!">!„åͦ Ñ͵ ! å͸ Ñ! åͲ Ñ! ~#foå!  åÍ» ÑÑ!�åͦ Ñ! å! ~#foåÍ© ÑÑ#|µÂË ! ~#foå!œå!åͬ ÑÑÑÃ,͵ ! å; Ñë! s#rz³Ê!  å! ~#foåÍÁ ÑÑ#|µÂ! ~#foå!¼å!åͬ ÑÑÑÃ#ÃÎ !Ùåͦ Ñ! åͲ Ñ!  åÍÄ Ñ!  åͲ Ñë!9ùëÁÉ %s -> %s: Can't open %s for input pass 1 Can't create %s analyzing, squeezing, Can't open %s for input pass 2 ERROR - write failure in %s done.ÃìÃõ)à1ó1Å!ÿÿ9ùDM*6}·Ê! 6å! ~#foå! ~#foåÍfÑÑ! ~#foå! ~#foåÍfÑÑ! ^#Vr+s`i^#Vr+sÃ1ë! 9ùëÁÉÃTà !Å!ýÿ9ùDM`i6! 6*2Oå! nѯgWÍúÚá! n}·Â‹`in&Ã�`iånå*3Oå! n¯gÍúÑÍòÑ|²g}³oëás*3Oå! nѯgÍä"3O*2Oå! nѯgWÍú}22O`in&Ã�*2O&ÍÒ+`iånå*3Oå! n¯gÍúÑÍòÑ|²g}³oëás! ånå*2OѯgWÍúëás*0OÍåÂU>22O! n}þÂM!ÿÿÃR`in&Ã�! ~#foåÍQÑ"0O#|µÂq!"0O*0O),M~#fo"3O*0O+Ln}22OÃfë!9ùëÁÉÅ!þÿ9ùDM`i¯w#w`i~#foÍùÒ`i~#foÍk">¯w#w`i~#foÍk">##6`i~#foÍk">###6ÿ#6ÿ`i~#foÍk#  þÿ9ùDM`i¯w#w`i~#foÍùÒ3`i~#fo+L6`i^#Vr+sà ë!9ùëÁÉÃBÃ<Å!üÿ9ùDM! ~#foÍk">###~#foë`is#r! ~#foÍk">~#foë! s#r`i~#fo#|µÂ! ~#fo#|µÂ! ~#fo+Lå! ~#foëás! ~#fo),Må*.Oå! ~#foÍúÿÿÍäÑ|¢g}£oëás#r! ~#foÍÒ!ÿÿà !ôî`i~#fo#|µÊ`*.Oå! ~#foÍò}/o|/gÑ|¢g}£o".O`i~#foå! ~#fo#åÍ?ÑÑ#|µÂ`!ÿÿô! ~#fo#|µÊ®*.Oå! ~#foÍòÑ|²g}³o".O! ~#foå! ~#fo#åÍ?ÑÑ#|µÂ®!ÿÿô!ôë!9ùëÁÉÃÆÃH ýÅ!üÿ9ùDM! ~#foÍ?#ë`is#r! ~#foå! ~#fo)Ñ~#foë! s#rz·ò '!ÿÿÁÉÍ�åÍ�ëás#rÍ�##6#6Í�~#foÁÉÁÉÃ@'Ãê2Å!9ùDMÍ�ÍëÒZ'!ÁÉÍ�~#foåÍ='ÑÁÉÁÉÃw'Ãí2à1Ã3Å!9ùDMÍ�+|µÂ—'! n&åÍn'ÑÁÉÍ�++|µÂµ'! n&å!åÍq'ÑÑÁÉÍ�+++|µÂÔ'! n&å!åÍq'ÑÑÁÉÍ�++++|µÂ (! n}þ Âù'! å!åÍq'ÑÑ! n&å!åÍq'ÑÑÁÉÍ�##^#Vr+sz³Ê=(Í�^#Vr+sÕ! nëásë&ÁÉ!åÍ�åÍ�~#foåÍt'ÑÑÑÍåÊg(!ÿÿÁÉÍ�##6ÿ#6Í�åÍ�ëás#rÍ�^#Vr+sÕ! nëásë&ÁÉÁÉô(Ã3Ã…3ÃÖ3Å!þÿ9ùDMÍ�ÍëÒÏ(!Ãì)Í�##~#foÍåÂè(!Ãì)Í�##~#fo€ëÍËÍú! ~#foåÍõ"Ñë`is#r`i~#fo#|µÊ.#*>å`i~#foÑ">`i~#foÃ7#ë!9ùëÁÉÃI#Ãr+à &Å!þÿ9ùDM*>}·ÊÂ#!Ë#åÍC#Ñ`i¯w#wÍ�ÍùÒº#Í�ëÍ|µÂ’#Í�å!ù#åÍF#ÑÑÍ�Ík">~#foå!$åÍF#ÑÑ`i^#Vr+sÃg#!$åÍC#Ñë!9ùëÁÉ Counts after 1st algorithm and maybe scaling %4X %5u Ã$à &Å!þÿ9ùDM*>}·Ê3%*)Lå!<%åÍ $ÑÑ`i¯w#wÍ�ÍùÒÈ$Í�Ík">~#fo|µÊ¼$Í�Ík">~#foåÍ�Ík">###~#foåÍ�Ík">##n&åÍ�Ík">~#foåÍ�å!W%åÍ $ÑÑÑÑÑÑ`i^#Vr+sÃ2$!u%åÍ $Ñ`i¯w#wÍ�ÍùÒ3%Í�+Ln&ÍÒ'%Í�),MVr+sënë`is`in&åÍ,Ñ}þDÊ8-þUÊt-þXÊ}-þOʆ-þCÊÌ-þSÊý-Ã)/Í�–~#fo|·òt-!� ^#Vr+së6-Í�–åÍ�–~#foÍúëás#r!’ ^#Vr+s! 6 ÃŒ-! 6ÃŒ-! 6!’ å~#foå! n&å!– ^#Vr+së~#foå!� åÍø+ÑÑÑѯgÍúëás#rÃu.!� ^#Vr+sÕ!– ^#Vr+së~#foëás!’ ^#Vr+sÃu.!� n}·Â.!” 6È#6!– ^#Vr+së~#foë! s#rÍ�n}·Êu.Í�”|µÊu.!� ^#Vr+sÕ! ^#Vr+sënëás!” ^#Vr+s!’ ^#Vr+sÃ+.Í��6! ë!� s#r!� n}·ÂÌ.!’ ^#Vr+s!ÍÒÌ.!œ ^#Vr+sÕ!‘ n}·ÊÃ.!0ÃÆ.! ëásÑ.Í�œå!� ^#Vr+sënëás{·Êõ.!œ ^#Vr+sÃÌ.!� n}·Ê&/!s#r`i~#foå! ~#foÑÍÚ `i~#foå! ~#foÑÍúÒq! ~#foå`i~#fo#)Ñ~#foå! ~#foå`i~#fo)Ñ~#foåÍÀÑÑ|µÊq`i^#Vr+s! ~#foå`i~#fo)Ñ~#foå! ~#foåÍÀÑÑ|µÊ ! ~#foå! ~#fo)Ñå! ~#foå`i~#fo)Ñ~#foëás#r! ~#foå`i~#fo)Ñå! ~#foëás#r! ~#foå`i~#foå! ~#foåÍÃÑÑÑë!9ùëÁÉÅ!9ùDM! nå! nѯgWÍÍ©Ò= ! n&ÃB ! n&ÁÉÁÉÅ!9ùDM! ~#foÍk">~#foå! ~#foÍk">~#foÑÍóÒ‹ !&ÁÉ! ~#foÍk">~#foå! ~#foÍk">~#foÑÍåÂû ! ~#foÍk">##nå! ~#foÍk">##nѯgWÍÒû !&ÁÉ!&ë`is#rÍ�åÍ�åÍ�~#foåÍ«(ÑÑÑåÍ�ÑÍåÊ5)!ÿÿÃì)Í�+€Í?ë`is#rÍ�##~#fo|µÊÅ)!€åÍ�åÍ�åÍ�ÑåÍ®(ÑÑÑÍ�##å~#foåÍ�Ñëás#rÍ�å~#foåÍ�ÑÍúëás#r!å!ÿÿåÍ�~#foåͱ(ÑÑÑÃì)Í�##6#6Í�åÍ�ëás#r!Ãì)ë!9ùëÁÉÃ*Ãàà1ÃA4Å!þÿ9ùDMÍ�|µÂ*Íø)ÃÚ*Í�+++|µÂ/*!åÍû)ÑÃÚ*Í�##^#Vr+sz³ÊY*Í�^#Vr+sën&ÃÚ*!åÍ�åÍ�~#foåÍþ)ÑÑÑë`is#r!ÍÚ–*Í�##^#Vr+sëÃÚ*Í�##åÍ�€Í?+ëás#rÍ�åÍ�ëás#rÍ�^#Vr+sën&ÃÚ*ë!9ùëÁÉÅ!þÿ9ùDM`i¯w#w! ~#foåÍ�Ñ~#foåÍ�+Ln&åÍ�åÍ�å!…%åÍ $ÑÑÑÑÑ`i^#Vr+sÃÖ$ë!9ùëÁÉ Encoding tree - root=%3d %3d w=%5u d=%3d l=%3d r=%3d Huffman codes %3d %4X l=%2d c=%4x ä%Ãõ+Ãd/Å!yÿ9ùDM!� å`iåÍž%ÑÑÍ�‹å`iåÍ¡%ÑÑÃÉ%ë!‡9ùëÁÉÃÛ%ÃÎ/Ãý/Å!9ùDM! n&åÍÕ%Ñ|µÍ£Â&! n&åÍØ%Ñ|µÍ£ÁÉÁÉÃ&Ãõ+Ãr+Å!yÿ9ùDM!‹ å`iåÍ&ÑÑ`iåÍ&Ñë!‡9ùëÁÉÅ!þÿ9ùDMÍ�ë`is#rÍ�n}·Êd&! ^#Vr+sÃL&! ^#Vr+sÕÍ�nëás! ^#Vr+sën}·Âd&Í�Ó&ë!9ùëÁÉâ&Ãu2Å!9ùDMÍ�å!åÍ�åÍŸ&ÑÑëás#rz·òÌ&!ÿÿÁÉÍ�##¯w#wÍ�~#foÁÉÁÉÃè&ù2Å!9ùDMÍ�åÍ�åÍå&Ñëá’ ^#Vr+s!ÍÒ&/!œ ^#Vr+së6 Ãÿ.Ã2!>ÁÉÃ!Ãò"Ãr+ó1Å!9ùDM*!>}þÊ;!þÊR!þÊð!þÊý!Ã">2!>! ~#foåÍ!Ñ">ÁÉ*>>�½Âa!>¼Êp!>ÿ½Âm!>ÿ¼Êz!Ã!>2!>!ÁÉ!ÿÿÁÉ!">! ~#foåÍ!Ñ">å*>ÑÍå¶!*>ÿÍùÒ¶!*>#">Ã…!*>>½ÂÅ!>¼ÊÔ!>½ÂÑ!>¼ÊÜ!Ãæ!*>">ÁÉ>2!>*>ÁÉ>2!>!�ÁÉ>2!>*>">ÁÉ>2!>*>ÁÉ!"åÍ!Ñ!åÍ!ÑÁÉBug - bad state Ã6"ä+Û%ó1Å!9ùDM! ~#foå! ~#foåÍ-"ÑÑå! ~#foÑÍåÊz"!|"å!åÍ0"ÑÑ!åÍ3"ÑÁÉWrite error in putw() ß"Ãk'Û%ó1Å!9ùDM! ~#foå! ~#foåÍ–"ÑÑ#|µÂÙ"!Û"å!åÍ™"ÑÑ!åÍœ"ÑÁÉWrite error in putc() Ãø"Ãõ)Å!þÿ9ùDMnå! ~#foåÍ�ÑnÑ}»Â=+! ~#foå`i^#Vr+sëÑn}·Â:+!Ãi+Ãñ*! ~#foåÍ�Ñnå! ~#foåÍ�ÑnѯgWÍúÃi+ë!9ùëÁÉÃx+Ãí2Å!9ùDMÍ�n}·Ê¢+! ^#Vr+sën&åÍu+ÑÀ+ÁÉê+Ãk'Å!9ùDMÍ�åÍ�ëÍ)åͧ+ÑÑ|·úî+Í�åÍ�ë͉åͧ+ÑÑ|·úî+Í�ÁÉ!ÿÿÁÉÁÉÃ,Ã,0ÃÖ0Ã1Ãh1Å!hÿ9ùDM!ž ^#Vr+së~#foë! s#rÍ�žë!– s#r! ^#Vr+sënë`is{·ÊU/`in}þ%Â?/! ë!� s#r!” 6#6!‘ s!� s!� sÍ�n}þ-”,! ^#Vr+s!� 4Í�n}þ0¤,!‘ 4Í�n&åÍû+Ñ}·ÊÁ,! åÍþ+ÑÃÄ,!ë!’ s#r! ^#Vr+sënë`is{þ. -! åÍþ+Ñë!” s#r!� 4! ^#$  ÁÉÁÉà 1ÃÖ0Å!þÿ9ùDM`i¯w#wÍ�~#fon&åÍ1Ñ}·ÊX1Í� Í?åÍ�^#Vr+sënѯgÐÿë`is#rÃ1Í�Ã_1ë!9ùëÁÉÃn1Ãý/Å!9ùDM! n&åÍk1Ñ|µÊ•1! n&àÿÚ1! n&ÁÉÁÉÍ7Å:ŸO*¡ëÍo`ÁÉà Í Åë!\Í&Í!ÁÉÍ7Å*Ÿë!õ1Í&*¡ë!2Í&õ1ÍÁþÿÊ!ÉÑÑÉ,Í Åë!\Í&Í!ÁÉTELÌkÃÃÍ7Ã62÷4Û%ó1Í7*¡^#V#z³Â>2+V+^+ÕÂI2*ŸåÍ-2!g2å!åÍ02Ã32Broken pipe Í7¯Í,Ú2që*ŸëÅÍ&ÍþÿÁÊ:qÍ):¡·ʱ2=ʱ2=Âr:qo&ÉÃÂ2ö1Ãu2Í7*ŸÅåͼ2Ñ\ÍþÿÁÊ!å*ŸåÍ¿2ÑÑÉÃ#Í Åþ Â3 Í> .............. 0dh Cursor Positioning - -------------------- Escape Sequence (ESC+"=") .... 1bh,3dh Cursor Rows .................. 0-23 Cursor Columns ............... 0-79 Positioning Sequence: In MBASIC ... PRINT chr$(27)+"="+chr$(20+row)+chr$(20+col); Line Insert/Delete - -------------------- Line Insert (ESC+"E") ........ 1bh,45h Line Delete (ESC+"R") ;This is the TERM.COM program distributed with the Kaypro ;computer. It was dissambled and commented to make it ;easier to change the communication protocol. As ;distributed the program was set for 8 bit, no parity. ;Some systems (eg., IBM's) use other protocols ;(eg., 7 bit, even parity). Code has been included to ;set the baud rate if you desire. ; ; ;Note: It is not unusual to see strange characters ;on the screen during communications. These are ;communication control codes, normally non-pr _Í ÍæÂ3ÁÉÍþÊÁÉÍ7:ŸÍ)Ú~æÊÅ:ŸÍ,"s!"u€Í*£|µ*uʃ3*¡€€~#ÂZ3"¡*sëÍ·*uƒ3#"u*£+"£ÃG3ÁÉÍ7*£|µÈÅDM*¡ë*ŸÍÐ3Ú´3><ê¨3í°ÁÉ~# x±Â¨3ÁÉ ë ë><êÄ3í¸ÁÉ~+ x±ÂÄ3ÁÉ|ºÀ}»ÉÃÜ3Ü5Í7:ŸÍ,ÚÅå*ŸåÍÙ3Ñë:£*¡·Êþ3}|æ2qã å¾Ê/4ãëÕÍÑáþÿÂ%4ÑÁÃ:qwÕÍÑþÿÊ 4! Ñ{æwëÁÉÍ7:ŸÍ)Ú~æÊÅ:ŸÍ,"s!"u*£|µÊ—4*¡ëÍ*sëÕÍÑþÁÊÅþœ4! ~þ€Â—46*uÁÉ*£+"£*¡€"¡*u#"uÃc4Í7Å*Ÿë!Äÿ9åååÍ&á 6C#6O#6MÑÍþÿÂæ4áÁÃ*¡|µÂü4¡Õ!\Í&áÃ5ë!\........ 1bh,52h Clear to End of Screen/Line - ----------------------------- Clear EOL (Ctl-X) ............ 18h Clear EOS (Ctl-W) ............ 17h Set Greek or ASCII - -------------------- Set ASCII (ESC+"A") .......... 1bh,41h Set Greek (ESC+"G") .......... 1bh,47h After Setting Greek, lower case letters will print as the Greek Alphabet. 11/14/82 def  Ctrl-S pauses, Ctrl-C Aborts, Ctrl-X skips to next file Listing file KPROTERM.TXT The following is a list of the KPRO II "Terminal" attributes and control sequences. Cursor Control - ---------------- cursor left (bs) ............. 08h cursor right ................. 0ch cursor down (lf) ............. 0ah cursor up .................... 0bh home cursor .................. 1eh clear screen & home cursor ... 1ah carriage returninting, ;that the Kaypro displays as greek characters unless ;you turn them off (ESC,"A"). ; ; Brown Grier ; 312 690-0359 ; ; ASEG L0000 EQU 00H L0005 EQU 05H ; ORG 100H ; CALL L0154 ;Home cursor, clear screen CALL L016F ;Print sign on message to screen ; ;Initialize the RS232 port (# output bytes in B, Start location in HL) ; LD C,6 LD A,(L03D1) ;03D1H LD B,A LD HL,L03D2 ;03D2H OTIR ; ;Set Baud rate to 300 ; LD A,5 OUT Í&*£|µÂ5!£ë!lÍ&�¯!¡å~#fo´ÊF5> +Í=5#~·Â+5á##Ã5þaØþ{ÐÖ Éá!€pr5!Ö*w#ÂS5Á:þ**Êj5*ù!åÃÖÕÅÍÑÕÍÁÑ·Êø€ÍÃ!€ëÃÙÍ Í,ÚÅ FN¯xg>G�oy òÀ5$ÁÉ B>.FÏc|´�z÷Ý�R'cŒI~9¹z9›kÞнûÑB qf~´w¬Ç�/$~Iì{£ç1Æ+ù½û.ù…âÌ$¿w¬Ç�/$~Iì{£ç1Æ+ù½ûn”…âÌŒ²w¬Ç�/$~Iì{%  (00H),A ; ;Console monitor routine for initialization message to user ; L0111: ;0111H LD E,0FFH ;Console input LD C,6 CALL L0005 ;5 OR A ;Anything there ? JR Z,L0111 ;No, look again CP 1BH ;Is it ESC JR NZ,L0120 ;No, continue RET ;Yes, return to CPM L0120: ;0120H CP 0DH ;Is it CR ? JR Z,L0129 ;Yes, start program JR L0111 ;loop back to check console again ; ;Start of program ; L0129: ; CALL L0154 ;Home cursor, Clear screen CALL L0360 ;Outout messasge about hster 05 DB 00101000B ;7 bit, Transmit enable END ; ; ;Alternately, for use with some modems, the last ;line might read ; ; DB 10101010B ;DTE, 7 bit, Transmit enable, RTS ; int message on screen LD C,9 LD DE,L0178 ;Address of message start CALL L0005 ;5 RET ; ;Initialization messages to user ; L0178: ;Initial message DB 0AH,0DH,'Grier',27H,'s Experimental Terminal ' DB 'Emulator',0AH,0DH,0AH,0DH DB 'Press either to ' DB 'start using the terminal ' DB 'or',0AH,0DH,'press ' DB 'to return to CP/M: $' ; ; L0360: ;Subroutine to output short message about ending LD C,9 LD DE,L0369 ;0369H CALL L0005 ;5 RET ; ; L0369: ;Ending meþ!ÉþaØþ{ÐÖ Éþ Ê þ Ê ÉÅÍ`·OÂE×!·æyÂ6ÁÉÕ$Ñ Â-7ÁÉÍrÚBÖo&))T])))ë!·yÁÉÕÅõå€ÍáñÁÑÉ¿!>Í15:Ì<Í15>{Í15Y/Íe5Ã6!Í'Â":Ê<æÀÂÝ!>}Í15Y/ÃÂ!:Ê<æÀÄc+ÍÀ&Â">&Í15¯Í15\0ÃÂ!:Ê<æÊ/"Íž)ÃÐ :¿<æÂ@"ͧ*Íž)ÃZ!:Ê<æÀ>åÊL">ÕÍ15Íž)>ÑÍ15>@2Ê<ÃZ!å*Á<"¢<áÚ/Íe5:¿<æþö2¿<É"¢<|·Â›"}·ÂŒ"Q0Íe5Éõñõ·Ê¢"Â�"ñQ1Íe5Éñ>�GÈ>)Í15ç"#ÍÆ(Íl'ñõÍ·*ÍÞÍ÷*Íž)Í!2þÊÊÙ"Í«'-ÍL3ÑÉ#Í·&Âæ"x0Íe5ñÍG)õÍ�'Í«'Í·*ñÍÞÍ÷*Íž)Íb)É~þùÄF9#^#V#Í#Í!2ÉÅåë)))äU~õæþÂ,ÌL3ñæ‡G~õæ`°2Ä<ñæ2É<#~æ2Ã<~æ?>ow to terminate ; ;Real program start ; L012F: ;Read RS232 and send out to screen IN A,(06H) ;Read status register BIT 0,A ;Anything there ? JR Z,L0144 ;No, check console IN A,(04H) ;Yes, get it AND 7FH ;Strip parity CP 4 ;Is it EOT (Control D) ? JP Z,L0000 ;Yes, Warm Boot LD E,A ;No, output to screen LD C,2 CALL L0005 ;5 L0144: ;Read console and send out RS232 CALL L015C ;Check console input JR Z,L012F ;Nothing there, check line LD C,A ;Something there, so CALL*ùÍKÍžÃ+)ž (35Ã'Ã+ÃFÃŽÃrÃÃû Í– þ8Ê{ æÄ‚w#w#wÑÁÉÍÆÃÞá^#V#å*~#foÉá^#å*~#foÉá^#V#å*nÉá^#å*nÉá^#V#åë ~#foÉá^#åë& ~#foÉ!È+É!È#É!Ø+É!Ø#É!ð+É!ø+ÉÈÉÈÉØÉØÉðÉøÉ}»À|ºÉëz¼À{½Éë|ºÀ}»Éë|ªòìz·ð7Éë|ªòó|·ð7ÉzõÍZëÍZëÍ)ñ·ð|/g}/o#É|µÈÕå͉ÑÍk|/g}/o#Ñɯ2qÍZëÍZÍk:qÐ|/g}/o#É|·ð/g}/o#:q<2qÉÅÍqÁÉDM!x±ÈxGyOÒƒë)ëÃv|µÈÅÍ”`iÁÉ|·ú )ÖëxõÍÝÚ·Õz/W{/_ѯzW{_ñ=ÈõyOxGæ¯2qÍZëÍZë͉ÃM|ºØÀ}»Éëȯ|g}oÃæëÈ)Ãô|/g}/ossage DB 0AH,0DH,'Press and ' DB ' at the same time when ' DB 'done ',0AH DB 0DH,'and the program will ' DB 'exit to CP/M.',0AH,0DH,0AH DB '$' ; ;Port initialization vector ; L03D1: ;Output file to initialize RS232 DB 09H ;# Bytes to output L03D2: DB 00011000B ;reset DB 04H ;Register 04 DB 01000111B ;x16 clock, 1 stop bit, even parity DB 01H ;Register 01 DB 00000000B ;For safety, reset it (?) DB 03H ;Register 03 DB 10000001B ;7 bit, Read Enable DB 05H ;RegiÊT#=2½<#^#V#Õ^#V#ë"Å<ë^#Vë"Ç<Ñ:É<·Ê~#*°<ë!:Ä<æ@Ê�#"Ç<áÁÉå*Û<#w"Û<áÉå*Û<~þÿÊ«#·Â¶#,ÍL3ÍÄ;áÉ+"Û<áÉå*Û<+"Û<áÉå!l@"Û<6ÿ!”@"Ý<áÉå*Û<~·áÈþÿÉåõ*Ã<ë*Ý21>:21>21`i6#6`i~#foå! ~#foÑÍúÒC! ~#foå`i~#fo)Ñ~#foåͪÑ`i^#Vr+sÃ! ~#foÍùÒõ!° å!åͧÑÑ!2 å!åͧÑÑ`i¯w#w`i~#foÍùÒØÍ¡ë! s#rz³Â�! 6 #6`i~#foë! å! ~#foëás{þ ÂÌ`i~#foë! 6ÃØ`i^#Vr+sÃt! n}·Êë! åͪÑ! n}·ÂaÍ­ë!9ùëÁ L0165 ;Send it out JR L012F ;Return to check RS232 for input ; ;End of Main Program--Start of Subroutines ; L0154: ;Subroutine to home cursor and clear screen LD E,1AH LD C,2 CALL L0005 ;5 RET L015C: ;Subroutine to do console input LD E,0FFH LD C,6 CALL L0005 ;5 AND A RET L0165: ;Subroutine to transmit out RS232 IN A,(06H) ;Read status BIT 2,A ;Buffer empty ? JR Z,L0165 ;No, wait till it is LD A,C ;Yes, send character OUT (04H),A RET L016F: ;Subroutine to pr#Éz/W{/_É!9~#foÉ!à !à ! à ! à !à !à Ÿ!9Å~#ÂAÁÉá"s!`å*"³!è"µ!ÜY"—>Û2­>Ó2°>É2¯2²!Ì"�!"“!@"‘!"• ÍæÊžÍ!€ßF#x·Â±Ã~#±¯!ßb¯2r~#þ ÊÈ·Êþ"ÂÞ2rÃß+}|~#·ÊÅG:r·xÁÊþ"Âæ¯2r+w#þ Âæ+6#ÃÈÕ!×6#¯2w2x*sé!ÿÿÉ>õÍrÚ<o&åÍFáñ=þÂ-ÃÍ`Í ÍrÚ'~æÊhåÍÅÍëÍÁá6þÿ!À+ÉÍ`WÖØþ?ØÕ_!×~æ7ÑzÈ?ÉÍ`ÅÍ åþ:>ªÍÖ@w#ÍGþ.¶ÍƯww#Ã?Åþ*>?ÊéÍñÚçw#ÂÇÁÍñØÃÞ> w#ÂéÁÉÍþ.7Èþ:7Èþ7È&  É1.5 08/02/81File unsqueezer version %s by Richard Greenlaw 251 Colony Ct. Gahanna, Ohio 43230 Accepts redirection and pipes. Omit other parameters for help and prompt Parameters are from command line or one-at-a-time from standard input and are output drives and input file names. Empty to quit. *ÃJ ÀøÃIÃxòà Å!þÿ9ùDM! ~#fon}þ-ÂÕ ! ~#fo#n&åÍ8 ÑFÍåÍ�}225}·Ê� ! ^#Vr+s!ÿÿ"05! ~#fo#n}·ÊÒ ! ~#fo#åÍ; Ñ"05|µÂÒ ! ~#fo#å!¿ å!åÍ> ÑÑÑö ! ~#fo#n}þ:ÂO ! ~#fon&åÍA Ñ|µÊ5 ! ~#Í�ë! s#rÍ�åÍ� ~#foÑÍúÒZ! ~#foåÍ�)Ñå! ~#foåÍ�#)Ñ~#foëás#r! ^#Vr+sà Í� ^#Vr+s`i^#Vr+s*)++")ßÍ� åÍ�ëás#r! ~#foåÍ� ~#fo)ѯw#wí! ^#Vr+s`i^#Vr+sÃùë!9ùëÁÉCan't open %s Ñ`iåÍ> Ñë!)9ùëÁÉCan't open %s %s is not a squeezed file %s -> %s: %s has invalid decode tree size Can't create %s Write error in %s ERROR - checksum error in %s ÃÃ�Ã$Ã+$Å!ÿÿ9ùDM*)}·ÊP! )åÍÑë`is{þ ÂM! )åÍÑë`isÃe!åÍÑë`is{þÂeÍ`in}þÂt!ÿÿÞ`in}þ –`i6 *)}·Â–! å!åÍÑÑ`in&Þë!9ùëÁÉüÃàÃIÃ+$ÃäÃ.$ÃÑÅ!úÿ9ùDM{2){2){2)! ~#foåÍ� ~#fo)Ñ")! 6#6`i6#6Í�åÍ�Ñëás#rz·ò!ÿÿÁÉÍ�##¯w#wÍ�~#foÁÉÁÉÃ,Ã�Å!üÿ9ùDMÍ�åÍ)Ñë`is#rz·úrÍ�åÍ)Ñë! s#rz·úrÍ�Í?åÍ�ÑÃx!ÿÿÃxë!9ùëÁÉÃ�ÃÃ$Ã1%Å!þÿ9ùDMÍ�|µÂ¤Í„ÃfÍ�+++|µÂ»!å͇ÑÃfÍ�##^#Vr+sz³ÊåÍ�^#Vr+sën&Ãf!åÍ�åÍ�~#foåÍŠÑÑÑë`is#r!ÍÚ"Í�##^#Vr+sëÃfÍ�##åÍ�€Í?+ëás#rÍ�åÍ�ëás#rÍ�^#Vr+sën&Ãfë!9ùëÁÉÅ!þÿ9ùDMÍ�ë`is#rÍ�n}·Ê™! ^#Vr+sÃ�! ^#Vr+sÕÍ�nëás! ^#Vr+sën}·Â™Í�ÃÈë!9ùëÁÉÃ×ç%Å!9ùDMÍ�åÍ�åÍÔÑëás#rz·òü!ÿÿÁÉÍ�fo##n}·Â2 !"05! ~#foå!Í åÍD ÑÑ! ~#fon}21ö ÃO ! ~#foå!ß å!åÍ> ÑÑÑö ! ~#foë`is#r`i~#fon}·Ê© `i~#fon}þ*ʃ `i~#fon}þ?Â� ! ~#foå!ô å!åÍ> ÑÑÑö `i^#Vr+sÃ] ! ~#foåÍG Ñë!9ùëÁÉ BAD COUNT %s Output drive =%s ERROR - Ignoring %s Can't accept ambiguous name %sÃA ÃàÃIïøÃ&Ã�ÃoòÃÒÃÁÃÑÃ)ÃfóÅ!×÷9ùDM`iå!- ~#foåÍ ÑÑ#|µÂz !- ~#foå!zå!åÍ ÑÑÑÃq!' ¯w#w!"1Í Í `iåÍ# ÑvÿÍåʸ !- ~#foå!‰å!åÍ ÑÑÑÃj`iåÍ# Ñë! s#r"5! s#r! ~#foå`iåÍ& Ñëás! ^#Vr+sën}·ÂÑ ! 6!1! åÍÕÑÑ!-å! n&åÍÕÑÑ#|µÂ0!�å!åÍØÑÑÍÛ*)&|¢g}£o|µÂEÁÉ! åÍÞÑ|µÊe!åÍÞÑ+++|µÂeÍÛ! n}þ Â}! å!åÍÞÑÑ! n&å!åÍÞÑÑÁÉFile output error; disk full? Å!"5ÁÉÅ!c"5ÁÉÃÇÃ]Å!þÿ9ùDM*5ÍÒë*5+"5* 5ÃTÃT! ~#foåÍÄÑë`is#r!�ÍåÊ(`i~#fo" 5* 5#|µÂ!0u"5* 5ÃTÃT! ~#foåÍÄÑ"5|µÂF!�ÃTÃT*5++"5* 5ÃTë!9ùëÁÉÃcÃ�Å!üÿ9ùDM`i¯w#w*5#"5ÍÒÌ! ~#foåÍ`Ñ"5#|µÂ�!ÿÿÃ@!"5`i~#fo))1å*5|¢g}£o)Ñ~#foë`is#rÃû`i~#fo))1å*5Íå"5|¢g}£o)Ñ~#foë`is#r`i~#f ~#foÑÍúÒ¹*)}·Êù! ~#foåÍ�)Ñ~#fon}þ<ÊEþ|Êìþ+ÊRþ>Êdâ! ~#foåÍ�)Ñ~#fo#n}·ÂcÃ! )å! ~#foåÍ�)Ñ~#fo#åͪÑÑ#|µÂ¯! ~#foåÍ�)Ñ~#fo#å!Âå!åÍ­ÑÑÑͰ>2)!Ñå! ~#foåÍ�)Ñ~#foåͳÑÑ|µÂé*)&|²g}³o}2)Ãù!)4! ~#foåÍ�)Ñ~#fo#")! ~#foåÍ�)Ñ~#fo#n}·ÊO! ~#foåÍ�)Ñå!Ýëás#r! ~#foåÍ�)Ñ")Ãd*)&|²g}³o}2)! ~#foåÍ�)Ñ~#fo#n}·Â�!êå!åÍ­ÑÑͰ! ~#foåÍ�)Ñ~#fo#åͶÑ!-å! ~#foåÍ�)Ñ~#fo#å͹ÑÑ#|µÂõ! ~#foåÍ�)Ñ~#fo#å! å!åÍ­ÑÑÑͰ!)4*)}·ÂyåÍ�ëás#rÍ�##6#6Í�~#foÁÉÁÉÃ5ÃÒÃ$ÃØ%Å!9ùDMÍ�+|µÂU! n&åÍ,ÑÁÉÍ�++|µÂs! n&å!åÍ/ÑÑÁÉÍ�+++|µÂ’! n&å!åÍ/ÑÑÁÉÍ�++++|µÂÊ! n}þ ·! å!åÍ/ÑÑ! n&å!åÍ/ÑÑÁÉÍ�##^#Vr+sz³ÊûÍ�^#Vr+sÕ! nëásë&ÁÉ!åÍ�åÍ�~#foåÍ2ÑÑÑÍåÊ%!ÿÿÁÉÍ�##6ÿ#6Í�åÍ�ëás#rÍ�^#Vr+sÕ! nëásë&ÁÉÁÉÃrÃØ%Ã@&Ñ&Å!þÿ9ùDMÍ�ÍëÒ�!êÍ�##~#foÍå¦!êÍ�##~#fo€ëÍËÍúë`is#rÍ�åÍ�åÍ�~#foåÍiÑÑÑåÍ�ÑÍåÊó!ÿÿêÍ�+€Í?ë`å! åÍ) ÑÑ!"5å! åÍ) ÑÑ! å!- ~#foå!¤åÍ, ÑÑÑ`iåÍ# Ñë! s#r! ~#fo|·ú^ ! ~#foÍùÚx !- ~#foå!°å!åÍ ÑÑÑÃj!ÿþ"1!ÿþ"1!  ¯w#w!  ~#foå! ~#foÑÍúÒê !  ~#fo))1å`iåÍ# Ñëás#r!  ~#fo))1##å`iåÍ# Ñëás#r!  ^#Vr+sÃŒ *05|µÊ¯! åÍ/ Ñ`iåÍ2 Ñë! s#rz³Êœ!' ~#foå*05ÑÍìÒœ! ~#fo|¢g}£oë! s! n& ÍùÚY! n&~ÍÒ�! n}þ Êvþ Êyþ Ê„þ Ê„ÇÙ!' ^#Vr+sÃ�! 6.! n&åÍ/ ÑÃú *25}·Ê¬! åÍ/ ÑÃj! å! åÍ5 ÑÑ#|µÂÚ! å!Ñå!åÍ ÑÑÑÃX`iåÍ2 Ñë! s#rz³Ê2*1å! ~#foÑ"1o|·òq`i~#fo#Íúë`is#r`i~#foÍåÂ+!ÿÿÃ1`i~#foë`is#r`i~#foÃ@ë!9ùëÁÉÃRÃsÃâ!Å!yÿ9ùDM!� å`iåÍLÑÑÍ�‹å`iåÍOÑÑÃwë!‡9ùëÁÉÆÃL"Å!9ùDM! n&å̓Ñ|µÊ­! n&àÿò! n&ÁÉÁÉþÃ{"Å!ûÿ9ùDM`i¯w#w! 6#6Í� në! s{þ Êñ! n}þ Âÿ! ^#Vr+sÃÕ! n}þ-Â! 6ÿ#6ÿ! ^#Vr+s! ^#Vr+sënë! sÕÍ»Ñ|µÊ_Í� Í?å! nѯgÐÿë`is#rÃÍ�åÍ�ÑÍ?Ãoë!9ùëÁÉÃ�ê"ÃL"Å!9ùDM! n&åÍ{Ñ|µÍ£®! n&åÍ~Ñ|µÍ£ÁÉÁÉûÃsÃÙ"Å!yÿ9ùDM!‹ å`iå͵ÑÑ`iå͸Ñë!‡9ùëÁÉÃæÃí$Å!9ùDMÍ�å!åÍ�åÍãÑ'  is#rÍ�##~#fo|µÊƒ!€åÍ�åÍ�åÍ�ÑåÍlÑÑÑÍ�##å~#foåÍ�Ñëás#rÍ�å~#foåÍ�ÑÍúëás#r!å!ÿÿåÍ�~#foåÍoÑÑÑêÍ�##6#6Í�åÍ�ëás#r!êë!9ùëÁÉùÃü&Å!9ùDMÍ�ÍëÒÓ!ÁÉÍ�~#foåͶÑÁÉÁÉÅ!þÿ9ùDM`i¯w#w! ~#foåÍ�Ñnå! ~#foåÍ�ÑnÑ}»Â>! ~#foå`i^#Vr+sëÑn}·Â;!ÃjÃò! ~#foåÍ�Ñnå! ~#foåÍ�ÑnѯgWÍúÃjë!9ùëÁÉÂà #Ã{"õ#ÀÅ!hÿ9ùDM!ž ^#Vr+së~#foë! s#rÍ�žë!– s#r! ^#Vr+sënë`is{·ÊÓ!`in}þ%½!! ë!� s#r!” 6#6!‘ s!� s!� sÍ�n}þ-Â7Å*Ÿë!Äÿ9åååÍ&á 6C#6O#6MÑÍþÿÂ.'áÁÃ*¡|µÂD'¡Õ!\Í&áÃV'ë!\Í&*£|µÂV'!£ë!lÍ&�¯!¡å~#fo´ÊŽ'> +Í…'#~·Âs'á##Ãg'þaØþ{ÐÖ Éá!€pº'!Ö*w#›'Á:þ**ʲ'*ù!åÃÖÕÅÍÑÕÍÁÑ·Êø€ÍÃ!€ëÃÙÍ Í,ÚÅ FN¯xg>G�oy ò($ÁÉGåÍÜ"ÑÃç"ÁÉÃ#à #Å!ÿÿ9ùDMÍ�åÍ� ÑÍìÒa#Í�^#Vr+sÕÍ� ÍëÒN#Í�0ÃV#Í�7ëás!&ì#Í� åÍ�åÍ� Ñ͉åÍ�åÍ#ÑÑÑë`isÍ� åÍ�åÍ� ÑÍ)åÍ�åÍ#ÑÑÑ`in&#&ì#ë!9ùëÁÉû#Ã{"Å!þÿ9ùDM`i¯w#wÍ�~#fon&å͸#Ñ}·Ê$Í� Í?åÍ�^#Vr+sënѯgÐÿë`is#rÃÉ#Í�Ã$ë!9ùëÁÉÍ7Å:ŸO*¡ëÍo`ÁÉà Í Åë!\Í&Í!ÁÉÍ7Å*Ÿë!m$Í&*¡ë!}$Í&m$ÍÁþÿÊ!ÉÑÑÉ,Í Åë!\Í&Í!ÁÉTELÌkÃÃÍ7î$Ãÿ&ÃIÃ+$Í7*¡^#V#z³Â¶$+V+^+ÕÂÁ$*ŸåÍ¥$!ß$å!åͨ$ë$Broken pipe Í7¯Í,Ú2që*ŸëÅå! ^#Vr+s!� 4Í�n}þ0Â"!‘ 4Í�n&åÍyÑ}·Ê?! åÍ|ÑÃB!ë!’ s#r! ^#Vr+sënë`is{þ.Š! åÍ|Ñë!” s#r!� 4! ^#Vr+sënë`is`in&åÍÑ}þDʶþUÊòþXÊûþOÊ þCÊJ þSÊ{ ç!Í�–~#fo|·òò!� ^#Vr+së6-Í�–åÍ�–~#foÍúëás#r!’ ^#Vr+s! 6 à ! 6à ! 6!’ å~#foå! n&å!– ^#Vr+së~#foå!� åÍvÑÑÑѯgÍúëás#rÃó !� ^#Vr+sÕ!– ^#Vr+së~#foëás!’ ^#Vr+sÃó !� n}·ÂŽ !” 6È#6!– ^#Vr+së~#foë! s#rÍ�n}·Êó Í�”|µÊó !� ^#Vr+sÕ! ^#Vr+sënëás!” ^#Vr+s!’ ^#Vr+sé Í��6! ë!�åÍ&ÍþÿÁÊ:qÍ):¡·Ê)%=Ê)%=Âr:qo&ÉÍ7:ŸÍ)Ú~æÊÅ:ŸÍ,"s!"u*£|µÊ‡%*¡ëÍ*sëÕÍÑþÁÊÅþÂŒ%! ~þ€Â‡%6*uÁÉ*£+"£*¡€"¡*u#"uÃS%ð%Ã.$Ãí$Í7*ŸÅåͪ%Ñ\ÍþÿÁÊ!å*ŸåÍ­%ÑÑÉÍ7:ŸÍ)Ú~æÊÅ:ŸÍ,"s!"u€Í*£|µ*uÊ>&*¡€€~#Â&"¡*sëÍ·*uÂ>&#"u*£+"£Ã&ÁÉÍ7*£|µÈÅDM*¡ë*ŸÍ‹&Úo&><êc&í°ÁÉ~# x±Âc&ÁÉ ë ë><ê&í¸ÁÉ~+ x±Â&ÁÉ|ºÀ}»É×&Ãä'Í7:ŸÍ,ÚÅå*ŸåÍ”&Ñë:£*¡·Ê¹&}|æ2qã å¾Êê&ãëÕÍÑáþÿÂà&ÑÁÃ:qwÕÍÑþÿÊÛ&! Ñ{æwëÁÉÃ#Íå s#r!� n}·ÂJ!!’ ^#Vr+s!ÍÒJ!!œ ^#Vr+sÕ!‘ n}·ÊA!!0ÃD!! ëásÃ!Í�œå!� ^#Vr+sënëás{·Ês!!œ ^#Vr+sÃJ!!� n}·Ê¤!!’ ^#Vr+s!ÍÒ¤!!œ ^#Vr+së6 Ã}!ú!!œ ^#Vr+sÕ`inëásÃÐ!!œ ^#Vr+sÕ`inëásñÍ�œ6ë!˜9ùëÁÉÃè!Ã)Å!ÿÿ9ùDM! ^#Vr+sënë`is{·Ê="`in}þ Â"Í�å! åÍå!ÑÑÍ�å`in&åÍå!ÑÑ#|µÂ:"!ÿÿÃC"Ãð!!ÃC"ë!9ùëÁÉÅ!9ùDM! n&aÍùͯÚw"! n&zÍͯÁÉÁÉÅ!9ùDM! n&0ÍùͯÚ¦"! n&9ÍͯÁÉÁÉÅ!9ùDM! n&AÍùͯÚÕ"! n&ZÍͯÁÉÁÉÃß"ÃÒÅ!9ùDMÍ�n}·Ê #! ^#Vr+sën&å