ÆÀÀe”÷ û_�vÿß‹tÿý€‡ ***THIS VOLUME DOES NOT CONTAIN A HARDWARE BOOTABLE SYSTEM *** ¼ ¼¼¼$¼t:#»zü xQ»z¬ k»zNÀNÀz*O:»z÷ \ÍU÷�é8é÷é4éw(é÷$é÷  ‡÷%²è†÷åªè÷ *ówzí÷ˆÿ÷„ÿ÷ nô•Ì Ãe  <CCOMP8àK°09JUN80172104CCOMP8 [001,001] DECFILE11A 6Rÿÿÿÿÿ.àt:#»z09JUN80172104Ì#§]‰.àü xQ»z09JUN80172104Ì'(úN.ଠk»z09JUN80172104ÌA� .à€NÀNÀz09JUN80172104Ì&N.à*O:»z09JUN80172104̲>.@@à€ŽÆŽÆz09JUN80172601ÌßÇ`.@@à23|�8¢_09JUN8017265509JUN80172626Ì1*˜ð.@@à./„jL¢_09JUN8017273009JUN80172702Ì-\Ÿû. @@à#DdqÌ09JUN8017275409JUN80172739ÌŠóL. @@à&Fd„Ì09JUN8017281909JUN80172803Ì‹D. @@à-ödÀÌ09JUN8017284509JUN80172829ÌŒ[. @@à%FdMÌ09JUN8017290909JUN80172854Ì�äP. @@à%Fdà2Ì09JUN8017293409JUN80172919Ì�pw.@@à'HdvKÌ09JUN8017295809JUN80172943Ì‘Œ.@@à%FdÆKÌ09JUN8017302309JUN80173008Ì’P†.@@à$DdØhÌ09JUN8017304809JUN80173033Ì“i .@@à&FdjÌ09JUN8017311209JUN80173057Ì”¤¢.@@à$Dd€fÌ09JUN8017313609JUN80173122Ì•�.@@à$DdTqÌ09JUN8017320009JUN80173146Ì–æ¨.@@à0Ô°Ì09JUN8017322309JUN80173210Ì—|?.@@à¬*^» 09JUN8017324709JUN80173234̘÷9.@@à*Ô€p^09JUN8017331109JUN80173258Ì›¡û.@@àJK©€ @09JUN8017335909JUN80173322ÌIœŠ.@@àCD):€ @09JUN8017345009JUN80173412ÌB滩.@@à:àM209JUN8017352809JUN80173507Ì)g.@@àMjL¢_09JUN8017361409JUN80173545Ì-/÷.@@à&îÀÀ]À09JUN8017365309JUN80173633ÌI®.@@à)t!kQ09JUN8017373309JUN80173712ÌJÒ�.@@àà2jL¢_09JUN8017381809JUN80173752ÌKÔ.@@à)S€ @09JUN8017390209JUN80173837Ì \Ö‘.@@à€p€p09JUN8017394509JUN80173923Ìjè. @@à*RA;Àv209JUN8017402709JUN80174005Ìk]û.!@@à !¬K�8¢_09JUN8017411909JUN80174048Ìm."@@àjLjL¢_09JUN8017421209JUN80174141Ì�©$.#@@à„9€p€p09JUN8017430109JUN80174236̦ 3t:#»zü xQ»z¬ k»zNÀNÀz*O:»zŽÆŽÆzBàÿÿÿÿÿÿÿÿÿÿÿ .dsabl reg .enabl gbl .psect c$data[.event$1:m .word .end.globl .settop .globl .endo .globl sbreakm .title sbreak. .psect c$textosbreak:h jsr %5,c$sav mov $1,%4 mov %4,%0. bic #-2,%0 add %0,%4a mov %4,%0 add 4(%5),%0 mov 4(%5),%1 bic #-2,%1 add %1,%00 mov %0,4(%5)mov 4(%5),(%6)jsr %7,.settop cmp %0,4(%5)beq $3 mov $1,(%6)ejsr %7,.settopclr %0br $2 $3: ;37i mov 4(%5),$1 mov %4,%0$2:o jmp c$ret .endline to the terminal*bnext, *pbuf; LONG lseek, lact, lenÁXÀO  , ûp2�äµzj  jö j‰€}j@'ÔœL;j<@'ÔÎu:Zp:d`;k�ƒjmèYjÑp:#!'Ô""�`j@, jœ, 'Ôœ,;"jœ,@`'Ô ,Ðf'ÔÌ.öq'Ôå.ˆr'Ôï.ÀDj<9X'Ô;L;j9;Kj<;X9j|L*}j?M'ÔqQ€W'ÔxQZXêr'Ô°YjN`M'ÔaœS\g|\g\g²(\g²2\gÀv\g@y\g´‰\g*’\g–TqaTq�wTq`�EwdFw*}j wñxR'Ôäy""'Ôòyüjòyw:'ÔµzØYµz*}'Ô*}*} ô}dXaj”€p'ÔÕàq€K'ÔÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿN`M'Ô\g²2Fw*}jµzØY*}*} ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ O *\g²2¯”Läµz@,8^@ö @*‰€}@áÎ@¯ˆw@ØÎ@@@*YÎ@•e @œL;@ `"@ s"@* ° @ <‘@<@@#!@""�`@* #}@;L;@|L*}@N`M@\g@*Tqa@Uq5a@Fwòy@ñxR@òyw:@**}*}@q…R@(üa (aœSh*ô}h #(Îu:hZp:hªd`;hh*\g|hH\g²(hx\g²2h$\g@yhV\g´‰h€\g*’hÚ¯” üa  "*2: (08 ÿ*redefinedillegal definitionillegal : .:=  #*w æ DBƒ€ÀEþ5øÿ7! ÷  ° $#!(&÷ Î3÷ à · Î ÷ *@ <@ üa 3""�`#! $üa *J,ô  ôôÎ÷ Ží÷ ""�`\g*päô5Î÷ ÀEÿÀU@]øÿ üa ""�`–4´´w `"üa @@>,RöLäfäe*  #>  # #ö  #ä  #äTädäcäbäaÎ9*  #ä  #ä #ä  #ä  #ÎhÎ8Î7Î6Î5Î4*  #Î  #Î #Î  #Î  #Î*|Î3Î2Î1Î0Hillegal operands f*  #Î  #Î #Î  #Î  #H¢or %punknown binop!  #ª*ªw Æeêÿuöÿõ%˜öÿ‚W-öÿ© ‚uöÿèÿW- ° *Ðöÿ©õªöÿ@ðUW-öÿ  W-öÿ*ö@Àeæÿ5ìuäÿuuäÿW-öÿ* À†À 5öÿ €À ð €À 5,ö (ö *Böÿ €À ð Ψ÷ %‚ é€À Ì ö  üa ¨""�`&*}*}*hN&÷ Ö À N&÷ Ö À Ì ‰€} ‰€}*ŽN÷ æ�÷ Ö wÄeÜ  N`M üa �""�` `"*´Ë‹À’Á@w PŽ÷ |L€tÁ’@`Àe üa @ <‘*ÚÐÿƒ éý€tÁ’@`Àe©ÿôƒ À’ÀeÐÿ5*øÿN&÷ tÖ 5tøÿ`äó‹ƒ À’ÀeÐÿ*& f&÷ J–%t`ÐŽ÷  ˃ ×¢ LL@@÷ zÂÿÿ¼ž üa · ·  #h*hw D —,@Kò H2- ° |L*}*ŽDà ÎæŽ`æa÷ –%À 5 5ØÎ*´Îæ÷ Ö ·2-@|L*},8^|L*}*Ú À�Ž æ÷ Ö 2òÎæaòyw:òyw:áÎ*æŽ`÷ –%η÷ 2‚­ÀEÿ YÎ üa ·äµz*&ÀUI44 ´—,@7Šwf… òyw:$ `"*Læ N& ÷ Ö À° ÀÁp\g#!#!$#!*rww ÆeìÿD5 êÿ5 ìÿõîÿ÷  s" °  @&|L*}*˜Îæ÷ \üÖ Â Î¦÷ FüÖ —,@ #!|L*}#!*¾@!Ž÷ Î÷ ÀÀ&\g<@$@*ä&÷ –%Î÷ ÷ ÷ w‚Òƒ(Tqaüa ¯ˆwq…RUq5a `" õ”çÿõ‹çÿ÷À’÷ ,ÿõŠçÿƒ õ üa ½½can't create temp file  #$*$f…æ Îæ÷ &÷ –%7ν÷ q…R•e  üa  &üa ½J ÷ w""�` #} s"üa ÔÔcan't backup .  #V*Vf…æ õ ÎÔ÷ wõ û ÷ Îþõ  üa Ô""�` s"|÷ üa ä äÂH¼¬žÌputval!*  #  #¼ #¬  #ž  #Ì  #€*€w DÀEþ@ÁäwÎæ÷  ° üa ä <‘&œL;*¦Ö Îæ÷ Ö wÀœjþûÀEÿö"Fwòy;L;Fwòy `" üa jþ*ÌÎø÷ ðïf…æ @ð  @ üa ø ""�`*òæ÷ Ö @÷ @þ@tøÿ÷  \g .þw s" O **}*}¯”L(üa (Ž*}*}hb ¯” üa *ÇJWÅWJÃKWÀWK½ID·DÇÅÃÀ ½&·*&I±IW«WI¥HŸ™ED–BC± «¥Ÿ™$–&L�BDŠCB„CD~DBxDCr� Š„~x"rr*r6b,6269,605d,5459,504d,444b,42f9*˜40L3R6L3,R3a,WR32,WL2a,WR22,WL1*¾a12a21L4,WRBECEDEXE$ äEB EC EDEX  *f5e5d5c5f1e1d1c1DMCMD@D  C&@*C=CD:= ::*:ebebe3e3D{wsWoW{w s&o `Hj jjjc6,R80R4L33L49R4€€«§W£WHž«§£žžžd6,R90R5L3bL4°°WÇWHÂÇ Âce,R88R4ÌÌWãWHÞãÞÞ Þde,R98RèèWÿWHúÿúú úe6,Ra0RWWH ee,Ra8Re  W7WH2722 2f6,Rb0R<<WSWHNSNN Nfe,Rb8RXXWlWÿÿjljjjf7WƒWÿÿ€ ƒ€€€1f17WžWÿÿ˜ž˜˜˜37,1f37,17W¼Wÿÿ¶¼¶¶¶b7,1fb7,17I×LÔ×ÔÔ Ôe9c3,WRÞ ÞIê êêêc2L0,WRBD CD $73,23,7271,23,70BD1CD(1 (((5e,23,564e,23,46DDF FFF7e,23,66,6fWW^ ^^^2fbbÎF€°Ìè *Î F €°Ìè v<Xn†¤ÂÞò:*<Xn † ¤ÂÞò:ŠRRV O *µzØY¯”L@@ `"@ s"@* ° @ <‘@<@@""�`@ #}@*<9X@ÖKòy@ýMø @\g@\gvL@*Iq@*y}@ô}@™’È}@(*üa (r #(ŽÑp:hxQhR\ghÔ*\gÀvhŽ\g–hÖTqahRTq�wh`Tq`�hf*Ewdh� whêµzØYh0ÕàhJ¯” üa   can't write temp file  #*w Dô‹£�Îe&æ÷  ° &ô}*&–%�Áe Î ÷  ÷ 4Š4 ™’È} üa ""�` #} Lw `"üa   TD?  #R*Rw D à ‚ Ãûæêæ�¦÷  ° ê"�(*y}*xÆe 'Î)æ÷ HÖ Î"æ×, üa ) üa "*ž†ÀÀ&Îe$÷ Ú–%Î ææÎ` üa $ üa Ä÷ Æ–%à×w `"üa *!*pN.ä„putcode!*  #p  #N #.  #ä  #„  #Ô&Ôw @Á*wÁWp„W¬ Á& ° üa * <‘üa üa *öWp„NÎe÷ úþÁWp„@ÀeÃ×p„*üa üa üa üa $üa *Áœ³Š@`H�wÎ÷ ÊþΆ÷ Âþ÷•( üa  üa  `" üa  üa †*BÎ÷ ´þîÁWp„NÎe÷  þÁWp„*üa  üa üa üa $üa *hqÝ÷ À 7ÓÎ>÷ Î( üa üa üa "üa >&""�`*Žw N÷ 5!†@fæ ° ÖKòy*´÷ –%N÷ fæ÷ –%ww ™’È}ÖKòy™’È}$ `"( ° *ÚÆeüÿÄ•Ä @Á Á  tÀEðÿÀá*AÁeöÿ@`— À0À7€`>�àÎ*&æöÿNaæ÷ –%N÷ fæ÷ ™’È}ÖKòy(™’È} L–%w `"üa GGtoo many public symbols  #R*Rw À0 À0 Ä•B ò   °  @<@*x"Ä% %ÎG÷ ‚ð·,ò üa G""�`@*ž·,rmòòU2ò5<@*Äâ„ àÎ÷ ”Îeýÿ÷ ŠN÷ ‚N÷ *êzB ò5.„!ÀU À* ÷ ÎæŽ`÷ Ö Ž÷ 6Î \g\gvL*6÷ & ÷ Îÿÿ÷ ÷ N÷ üü‚Ê\g<9X*\ww  & & æ÷ ÆeÎæ÷ È" `" ° ô}ýMø $üa *‚Ö ×­wÃ�Îæ÷ ¬Ö À�5 (üa  `"üa  üa $üa *¨æ÷  Î÷ Îæ÷ Ö ÙÀÁ�&üa \g üa \gvL"üa *ÎÁEÿ@`Á�Wt@`À·�€tøÿ"üa üa üa "üa *ô7�× ÀÀ ! tÎU€ üa *€ÀeþÿP÷ ŽÎeþÿÎU€÷ Îeðÿ÷ \g\g(\g*@Žæ÷ Ö ƒà“Î÷ ÎæŽ`÷ Ö ˆ$ üa  \gvL\g üa $\gvL*ff…æ NÎEÿ÷ A vøÿNÎEÿ÷ \g(\g*Œww æ Nf÷ ŽÖ Nf÷ ~ s" ° *²Ö  !€Àea’ÁÁeaA’@à5øÿ*Ø@øÿ w„ çw æ Nf÷ 4Ö  `" ° *þÀeNf÷ Ö ÀeÄÄ µ’ùÿ*$Ò’S�ùÿøww DB üw `" ° ( `"üa __bad temp file read  #J*Jw  µ  NŽàfŽ`æ÷ –%  ° ô}"Iq"pµ  Î_÷  ÷ aãw üa _""�` #} `"jO *Fw*}¯”L,8^@ØÎ@ `"@* s"@ ° @ <‘@Zp:@d`;@*œ, @œ,@œ,@`@?M@ZXêr@*\g€%@Fwòy@äy""@òyw:@µz*}@*q€K@(üa (Àö hœL;h,*;L;h5|L*}h: #(–äµzh  h^*‰€}hvk�ƒhmèYhˆ""�`h$@, hd*œ,;"hšï.ÀDh„9;Kh8<;X9hp°Yh�"Fw*}h°òyühDdXaht¯” üa *† „… ‚�+©ª&PQRSTULWBCDE  #*w DÎæ÷ Ö ÷óI3  ° µz*},8^µz*}*&ó — ÀÀe€`•‚ õ— €‚ *LÁÁe@`ŠõÀwf…À<· <À p>  `"üa < üa < (üa >rw s"üa DDþìÚ¶*  #  #þ #ì  #Ú  #¶ X”ÿÿ   #” #  #v*vw DÀEþ@ÁDwŽ÷ öÀ  ° üa D <‘*œ ô -ÿÿÀ Ž÷ ÔÀ ô *Â-À wŽæ,÷ Ö œ `" üa ,$Fwòy*è,õŽæ5÷ Ö œ5ìÀ•éŽ÷ †åµ  üa , üa 5Fwòy üa 5À ÝÜ üa `*`NOHAIFGHAIillegal []illegal subscri†pt  #*w DB€ÀEþò Î÷ PÀ  ° *DÎw÷ ØwÎEþæf÷ Ö œ`Î& üa w `" üa fFwòy $üa `"jl÷ ´íÀEÿÀP4´lâ üa lüa ŠŠº¬Š†^2…0„*  #º  #Š #^  #2  #0*žîƒ¸‚illegal publicillegal =i  #î  #¸  #*Ällegal !illegal -illegal *illegal &ê  #ˆ*ˆw @ðE@@ÀEþ@ ° *®ÁŠw— I Ž÷ ÌÀ Îá÷ T @ üa Š <‘ üa á*ÔAAÁEÿÁUApw— H @A `"*úAÁEÿÁUIpî— AÂ%GÎ×÷  &üa ×* ã@ðUÝÜÄ Ž÷ TÀ ÎÍ÷  &üa Í*FÜÐ@AA pÆÄ Ž÷ (À *lÎÃ÷ °º@AAA p°— IŽ  üa Ã*’÷ úÀ @,@ι÷ v�N÷  üa ¹(d`;*¸˜Ãà ÎfÎeæÎ`÷ –%À µz*}"ØÎ*Þà Ϊ÷ :ÃçóU@ðUwæþ  üa ª$Nff÷ –%@ðUwÆþZp:üa ë ë %i:  #$*$f…æ Îæíæ÷ –%Nfæ÷ " ?M üa íäy""\g€%&äy"" J–%Îëæ÷ Ö · ww (\g€% üa ëäy""\g€%ZXêr s"f÷ <÷ <À<À > ÷ ( ° üa <üa <üa < üa >€! · À• wüœ,?M `"üa ò'òÈ\® ®ÿÿpmissing %acbtnvfr*  #È  #® #®  #p #š*šw ÷ Âÿ€ÁòwNæ÷ jÿÖ Ž÷  ° üa ò <‘ üa *ÀœüÀÿÿ!÷ ˜ÿ— ÿÿí— êÂ%A— Z*æ€Àe €æ÷ Ö !Àew üa Fwòy* Â%0%— 9"€ÀeÐÿ÷ >ÿŽ÷ BÀ  `"*2�ÁeÓÿt÷ "ÿŽ÷ &À t�Áe*XÐÿ@PÖ€ÀEÿÒŽ÷ òû͵ Àÿÿ€ ~ÀEÿà üa !|&*^*  #  # #  #  #*-,+><*  #  # #  #  #>=:Æ9Æ8Æ7*  #  # #Æ  #Æ  #ÆRÆ6Æ5Æ4Æ3Æ2*  #Æ  #Æ #Æ  #Æ  #ÆfÆ1:0'ú"ô]*  #Æ  #: #  #ú  #ôzî[è)â(Ú Ú;*  #î  #è #â  #Ú  #Ú&޾/¸ÿÿillegal character %ac"  #¾  #¸  # #„*„w ÷ Øþ× × ÿÿ× Ã%ÀÁ ° *ªw÷ °þëÀÿÿ÷ ¢þ× × ÿÿ÷ üa  <‘*ÐÎ÷ ˆûØ×ÀþÿwÀýÿûÀüÿøÀûÿõÀ `"*öúÿòÎ"÷ ˜þÎ÷ 8öÀ•@å7 Î'$q€K*÷ zþÀtÀ`7òÀ•HÒ÷ &þÎq€Kq€K*B÷ . xÄ•Õ0Ä•7 Î÷ À q€K*h!Ã%a × f Î÷ ÜúÀ•H«Ã%A÷*Ž× FôÃ%aÀWÃ%AÀ7À0Á(q€K*´DtÁ`àw÷ ¢ýÌÀÀeÐÿ7÷ �ýÎ÷  q€Kq€K*Ú”À ÁWp Á`@ÀeÐÿ7íÎ÷ búÀ•H q€Kq€K*Î÷ wxþ€wÎ÷ À Î÷  œ,@` `"(œ, *&õÎæš÷ òüÖ wPþw DÄ%a!z  üa š ° *LÄ%A!Z!.!_À ww & `"*rDÄ%0!9À wf…W- °  `"*˜HW-AÀ ww Æeúÿ5 öÿu- s" ° *¾öÿ"†@@möÿ¡ 5øÿ@øÿÀ À @mÀ”*ä@í 5ôÿ B5! †À”�”@à5ôÿ  * õ ôÿ@øÿ€ 5öÿÏ„ éõ ôÿ @øÿÀ À 0@mwuøÿ¼ `"üa °°string too long  #D*Df…æ À� ~·ŠÀ�p�ΰ÷ " òyw:òyw:òyw: òyw: &üa °*j¸û7Šww DÄ%A!ZÀe òyw: s" ° �w `"¼O *N`M¯”Läµz@  @ØÎ@*YÎ@Yòy@•e @ `"@ ° @* <‘@Îu:@Zp:@k�ƒ@mèY@*""�`@ #}@&½`@ö&`;@@, @*œ,ô&@œ,a'@ï.ÀD@9;K@<;X9@*ÖKòy@aœS@\g|@\g²(@\g²2@*\g*’@Fw*}@äyp:@äya@òyü@*(üa (m@hØ<@hÚ#!hÜ*<9XhÄ?MhÆZXêrhÈñxRhÔäy""hÊ*òyw:hâµz*}hÞ”€phàq€KhÖ #(¨*œ, hœ,@`h ,Ðfh†Ì.öqh å.ˆrhpqQ€WhN`Mhb¯” üa *WþPûQøRõSòTïUëXçBã*þ ûøõòï ë$ç(ã*&›ߟÛž×™ÓCÏDË£ǧæ¿¡&ß Û×ÓÏËÇ"Ã&¿*L»E¶š±˜¬�§œ¢©�¢˜ “¥Ž*»¶ ±¬§¢� ˜$“(Žr¤ˆ¨€¬ˆ €€*€publiccalljpojpejnzjncjmp*¦cpocpecnzcncspjzjpjm*Ìjchldeczcpcmccbcafl*òhedcbaÑ�΂˃ȄŭÑÎË"È&Å*Â…¿ùÿ¼†¹¶�²® ª ¦+¢*¿ ¼¹¶²® ª$¦(¢*> ž š–’Ž‰„z&ž š–’Ž‰„"&zdupupp*p=a^<^><-><+><*>->^=^=>*–=!<><=:=::-^->+^|^*¼=:-,+*&!¿ó»û·Û³¿ »$·(³*âدø«ð§È¢?�'˜v“ŽÓ‰É&¯ «§¢�˜“"Ž&‰*„ÐÀzèuàp7jÇdÏ^×XßR*„ zupjd ^$X(R.çLïF÷@ÿL F@@*@rst7rst6rst5rst4rst3rst2r*fst1rst0stcrporpernzrncre*Œtoutnophltdaacmcrzrprm²rcineidi^ÄÄÒÒ  #*w Æeøÿu�òÿÄ•÷ 5N÷ À  ° @, $9;K*&N÷ À !í„ AÁeòÿ@`H�äN <;X9*L÷ æòÿNaææ÷ Æe€  üa Fw*}*ræòÿNaææÔ÷ Æe7Ö÷EÿÖÀ•  üa ÔFw*}üa Ö&üa Ö*˜Hw!„ AÁeòÿ@`ŠõÃÞà Î `""üa Þ*¾æòÿNaæÎ`÷ –%À à NÎeòÿ÷ ØÎ(äµz*äÃæÀÀEþ H÷ÖÀ•HÊ÷àüa Ö(üa à ÀÀEþà üa bbillegal operator %ac  #*w Æeüÿu�÷ÿ÷ 5�øÿ÷ 5�ùÿÄ•Ä  ° @, @, *:æ÷ÿNaææ÷ Æe € ÷  üa Fw*}&@, *`æb÷ Ö wÄ AÁe÷ÿ@`’÷ Ø$ üa b ""�` `"&  üa w*wtermstring, xstringx, stringexpres �sion!  #†*†w ÆeðÿDõ À— &÷ ÈÖ  ° üa —*¬ô !€ÀE¿þ — ­Î�&÷ RÖ Î  üa �*Ò†æêÿNa÷ ’Ö Î|æêÿNa÷ 0Ö €w üa † üa |*øÎwæêÿNa÷ hÖ ŽæêÿNa&÷ –% `" üa w$Zp:É üa ¢¢^@FA4H`illegal %p*  #^  #F #4  #` # * w DÁ¢w÷ ô@w" ° üa ¢ <‘òyü( `"*F÷ tøÿ÷ ïîNæ²÷  òyüòyü $üa ²(""�`lÖ æ üa ¾*¾pýÿXHÐIÐA–missing ]token! %*  #p  #X #Ð  #Ð  #–*äooperandmissing %pmissing )   #p*pw ÆeîÿD4 Îææa÷ –%÷  ° üa $YÎ*–— A— I÷ 5øÿW-øÿùÿÎÜæï.ÀDï.ÀD&üa Ü*¼à÷ Ö ç€Á¾wÃàW-øÿ Î&&üa àÎu: üa ¾ <‘üa à*â÷  þÖ æ÷ Ö ôUÀÀEþ4Îu:*ôôÎæÎ`æa÷ –%Bøÿ"YÎ*.— ûÿgÎæèÿNa÷ DþÖ — úÿ]ÎÒ÷  $üa Ò(""�`*TXëôHôÖ4 ÷ ßÎ&÷ þüa Öï.ÀD*zÖ — üÿÎù÷ Ð÷ Ì 4 õ  üa ù""�`ï.ÀD* Næî÷ Ö Â5@´÷ ´ üa î""�`$ï.ÀD*Æ€Â5€Îæ&÷ –þÖ 5øÿŽ&÷ Ö B üa æ$mèY*ìøÿŸŽæÜ÷ Ö €w€üNÎeèÿ&÷  üa Ü""�` `"(k�ƒÖ ÷ ‰ï.ÀDüa * illegal constantsyntax errorcan't re*1ad %p..data.textcan't create %pbaWd flags %pi,o*,s*  #*w ÆeÞÿÎÔæÒæÄæbæNaæNa÷ ( ° üa Ô üa Ò üa Ä üa b*BÆe  ÎæU÷ Ö  ÷ ÷ Ò3õ $œ,a' üa U""�` #}"üa Ò*h0N÷ À 5øÿ@øÿ@o¢8"W-øÿ ÖKòy*Ž@ÀeØÿ7Ò fæØÿNa÷ –%@ÀeØÿ@møÿ üa ÒYòy*´÷ ÀrÀm>�÷ Ò#ÎææaœSüa Ò"aœSÚÒ÷ –%7 ÎÒæE÷ &üa Ò•e äyaüa Ò üa E*òÖ  ÷ Îææ÷ –%÷Ê÷ (""�` #}äyaäyaö&`;&üa Ê*ÒÀÒõ @ ÷ Î?÷ &üa Ò üa Ò \g²2 $üa ?(äµz>7ØÎ9÷ 7ÚÎ7÷ (üa Ø üa 9äµzüa Ú üa 7*T7ÜÀÜðØÎ& æNaæNa÷ &äµzüa Ü üa Üüa Ø(œ,ô&*zÆe7×-@þÿæ)÷ Ö â äyp:äyp: üa )$""�`* ÎÞ÷ ÷ ÈÀ w ææ÷ *üa Þ \g²(üa È `""äyp:&äyp:*Æ–% æèÿNa÷ °ûÖ !ÿÿ!þÿ Î÷ ö&`; &üa *ìÎ÷ µ@êÿÀEþ áõ5êÿÝ— ""�` äyp:&½`*HNìÿ÷ Õ— A— INÎeèÿ÷ É\g|&\g*’*8— @ Ãã÷‹âÁÀ’÷ ÷Šâƒ õÎ ÷ ( üa ãüa â\g|üa â &üa ^´""�`üa jj!?  #b*bw DÂÊ „, Ê ÂÊ „, ° üa  üa $ˆ ÂeîÊ €ÀjwÂeì üa j `" ææ÷ *üa Þ \g²(üa È `""äyp:&äyp:*Æ–% æèÿNa÷ °ûÖ !ÿÿ!þÿ Î÷ ö&`; &üa *ìÎ÷ µ@êÿÀEþ áõ5êÿÝ— ""�` äyp:&½`*HNìÿ÷ Õ— A— INÎeèÿ÷ É\g|&\g*’*8— @ Ãã÷‹âÁÀ’÷ ÷Šâƒ õÎ ÷ ( üa ãüa â\g|üa â &üa ^´""�`üa jj!?ÁXÀO  -Î ü.òäµz  ö ‰€}@jœL;<@jÎu:%ØZp:%Ød`;%Øk�ƒmèY#!j""�`@, œ, jœ,;"œ,@`j ,ÐfjÌ.öqjå.ˆrjï.ÀD<9Xj;L;9;K<;X9|L\K%Ø|L*}?MjqQ€WjZXêrj°YN`MjaœS%Ø\g|%Ø\g²(%Ø\g²2%Ø\g@y%Ø\g´‰%Ø\g*’%ØFw*}ñxRjäy""jòyüòyw:jµz*}j*}*}"&dXa”€pjq€KjÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿN`Mj\g²2%ØFw*}*}*}"&ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿjO *Fw*}¯”L,8^@ØÎ@ `"@* s"@ ° @ <‘@Zp:@d`;@*œ, @œ,@œ,@`@?M@ZXêr@*\g€%@Fwòy@äy""@òyw:@µz*}@*q€K@(üa (Àö hœL;h,*;L;h5|L*}h: #(–äµzh  h^*‰€}hvk�ƒhmèYhˆ""�`h$@, hd*œ,;"hšï.ÀDh„9;Kh8<;X9hp°Yh�"Fw*}h°òyühDdXaht¯” üa *† „… ‚�+©ª&PQRSTULWBCDE  #*w DÎæ÷ Ö ÷óI3  ° µz*},8^µz*}*&ó — ÀÀe€`•‚ õ— €‚ *LÁÁe@`ŠõÀwf…À<· <À p>  `"üa < üa < (üa >rw s"üa DDþìÚ¶*  #  #þ #ì  #Ú  #¶ X”ÿÿ   #” #  #v*vw DÀEþ@ÁDwŽ÷ öÀ  ° üa D <‘*œ ô -ÿÿÀ Ž÷ ÔÀ ô *Â-À wŽæ,÷ Ö œ `" üa ,$Fwòy*è,õŽæ5÷ Ö œ5ìÀ•éŽ÷ †åµ  üa , üa 5Fwòy üa 5À ÝÜ üa `*`NOHAIFGHAIillegal []illegal subscri†pt  #*w DB€ÀEþò Î÷ PÀ  ° *DÎw÷ ØwÎEþæf÷ Ö œ`Î& üa w `" üa fFwòy $üa `"jl÷ ´íÀEÿÀP4´lâ üa lüa ŠŠº¬Š†^2…0„*  #º  #Š #^  #2  #0*žîƒ¸‚illegal publicillegal =i  #î  #¸  #*Ällegal !illegal -illegal *illegal &ê  #ˆ*ˆw @ðE@@ÀEþ@ ° *®ÁŠw— I Ž÷ ÌÀ Îá÷ T @ üa Š <‘ üa á*ÔAAÁEÿÁUApw— H @A `"*úAÁEÿÁUIpî— AÂ%GÎ×÷  &üa ×* ã@ðUÝÜÄ Ž÷ TÀ ÎÍ÷  &üa Í*FÜÐ@AA pÆÄ Ž÷ (À *lÎÃ÷ °º@AAA p°— IŽ  üa Ã*’÷ úÀ @,@ι÷ v�N÷  üa ¹(d`;*¸˜Ãà ÎfÎeæÎ`÷ –%À µz*}"ØÎ*Þà Ϊ÷ :ÃçóU@ðUwæþ  üa ª$Nff÷ –%@ðUwÆþZp:üa ë ë %i:  #$*$f…æ Îæíæ÷ –%Nfæ÷ " ?M üa íäy""\g€%&äy"" J–%Îëæ÷ Ö · ww (\g€% üa ëäy""\g€%ZXêr s"f÷ <÷ <À<À > ÷ ( ° üa <üa <üa < üa >€! · À• wüœ,?M `"üa ò'òÈ\® ®ÿÿpmissing %acbtnvfr*  #È  #® #®  #p #š*šw ÷ Âÿ€ÁòwNæ÷ jÿÖ Ž÷  ° üa ò <‘ üa *ÀœüÀÿÿ!÷ ˜ÿ— ÿÿí— êÂ%A— Z*æ€Àe €æ÷ Ö !Àew üa Fwòy* Â%0%— 9"€ÀeÐÿ÷ >ÿŽ÷ BÀ  `"*2�ÁeÓÿt÷ "ÿŽ÷ &À t�Áe*XÐÿ@PÖ€ÀEÿÒŽ÷ òû͵ Àÿÿ€ ~ÀEÿà üa !|&*^*  #  # #  #  #*-,+><*  #  # #  #  #>=:Æ9Æ8Æ7*  #  # #Æ  #Æ  #ÆRÆ6Æ5Æ4Æ3Æ2*  #Æ  #Æ #Æ  #Æ  #ÆfÆ1:0'ú"ô]*  #Æ  #: #  #ú  #ôzî[è)â(Ú Ú;*  #î  #è #â  #Ú  #Ú&޾/¸ÿÿillegal character %ac"  #¾  #¸  # #„*„w ÷ Øþ× × ÿÿ× Ã%ÀÁ ° *ªw÷ °þëÀÿÿ÷ ¢þ× × ÿÿ÷ üa  <‘*ÐÎ÷ ˆûØ×ÀþÿwÀýÿûÀüÿøÀûÿõÀ `"*öúÿòÎ"÷ ˜þÎ÷ 8öÀ•@å7 Î'$q€K*÷ zþÀtÀ`7òÀ•HÒ÷ &þÎq€Kq€K*B÷ . xÄ•Õ0Ä•7 Î÷ À q€K*h!Ã%a × f Î÷ ÜúÀ•H«Ã%A÷*Ž× FôÃ%aÀWÃ%AÀ7À0Á(q€K*´DtÁ`àw÷ ¢ýÌÀÀeÐÿ7÷ �ýÎ÷  q€Kq€K*Ú”À ÁWp Á`@ÀeÐÿ7íÎ÷ búÀ•H q€Kq€K*Î÷ wxþ€wÎ÷ À Î÷  œ,@` `"(œ, *&õÎæš÷ òüÖ wPþw DÄ%a!z  üa š ° *LÄ%A!Z!.!_À ww & `"*rDÄ%0!9À wf…W- °  `"*˜HW-AÀ ww Æeúÿ5 öÿu- s" ° *¾öÿ"†@@möÿ¡ 5øÿ@øÿÀ À @mÀ”*ä@í 5ôÿ B5! †À”�”@à5ôÿ  * õ ôÿ@øÿ€ 5öÿÏ„ éõ ôÿ @øÿÀ À 0@mwuøÿ¼ `"üa °°string too long  #D*Df…æ À� ~·ŠÀ�p�ΰ÷ " òyw:òyw:òyw: òyw: &üa °*j¸û7Šww DÄ%A!ZÀe òyw: s" ° �w `"¼O *N`M¯”Läµz@  @ØÎ@*YÎ@Yòy@•e @ `"@ ° @* <‘@Îu:@Zp:@k�ƒ@mèY@*""�`@ #}@&½`@ö&`;@@, @*œ,ô&@œ,a'@ï.ÀD@9;K@<;X9@*ÖKòy@aœS@\g|@\g²(@\g²2@*\g*’@Fw*}@äyp:@äya@òyü@*(üa (m@hØ<@hÚ#!hÜ*<9XhÄ?MhÆZXêrhÈñxRhÔäy""hÊ*òyw:hâµz*}hÞ”€phàq€KhÖ #(¨*œ, hœ,@`h ,Ðfh†Ì.öqh å.ˆrhpqQ€WhN`Mhb¯” üa *WþPûQøRõSòTïUëXçBã*þ ûøõòï ë$ç(ã*&›ߟÛž×™ÓCÏDË£ǧæ¿¡&ß Û×ÓÏËÇ"Ã&¿*L»E¶š±˜¬�§œ¢©�¢˜ “¥Ž*»¶ ±¬§¢� ˜$“(Žr¤ˆ¨€¬ˆ €€*€publiccalljpojpejnzjncjmp*¦cpocpecnzcncspjzjpjm*Ìjchldeczcpcmccbcafl*òhedcbaÑ�΂˃ȄŭÑÎË"È&Å*Â…¿ùÿ¼†¹¶�²® ª ¦+¢*¿ ¼¹¶²® ª$¦(¢*> ž š–’Ž‰„z&ž š–’Ž‰„"&zdupupp*p=a^<^><-><+><*>->^=^=>*–=!<><=:=::-^->+^|^*¼=:-,+*&!¿ó»û·Û³¿ »$·(³*âدø«ð§È¢?�'˜v“ŽÓ‰É&¯ «§¢�˜“"Ž&‰*„ÐÀzèuàp7jÇdÏ^×XßR*„ zupjd ^$X(R.çLïF÷@ÿL F@@*@rst7rst6rst5rst4rst3rst2r*fst1rst0stcrporpernzrncre*Œtoutnophltdaacmcrzrprm²rcineidi^ÄÄÒÒ  #*w Æeøÿu�òÿÄ•÷ 5N÷ À  ° @, $9;K*&N÷ À !í„ AÁeòÿ@`H�äN <;X9*L÷ æòÿNaææ÷ Æe€  üa Fw*}*ræòÿNaææÔ÷ Æe7Ö÷EÿÖÀ•  üa ÔFw*}üa Ö&üa Ö*˜Hw!„ AÁeòÿ@`ŠõÃÞà Î `""üa Þ*¾æòÿNaæÎ`÷ –%À à NÎeòÿ÷ ØÎ(äµz*äÃæÀÀEþ H÷ÖÀ•HÊ÷àüa Ö(üa à ÀÀEþà üa bbillegal operator %ac  #*w Æeüÿu�÷ÿ÷ 5�øÿ÷ 5�ùÿÄ•Ä  ° @, @, *:æ÷ÿNaææ÷ Æe € ÷  üa Fw*}&@, *`æb÷ Ö wÄ AÁe÷ÿ@`’÷ Ø$ üa b ""�` `"&  üa w*wtermstring, xstringx, stringexpres �sion!  #†*†w ÆeðÿDõ À— &÷ ÈÖ  ° üa —*¬ô !€ÀE¿þ — ­Î�&÷ RÖ Î  üa �*Ò†æêÿNa÷ ’Ö Î|æêÿNa÷ 0Ö €w üa † üa |*øÎwæêÿNa÷ hÖ ŽæêÿNa&÷ –% `" üa w$Zp:É üa ¢¢^@FA4H`illegal %p*  #^  #F #4  #` # * w DÁ¢w÷ ô@w" ° üa ¢ <‘òyü( `"*F÷ tøÿ÷ ïîNæ²÷  òyüòyü $üa ²(""�`lÖ æ üa ¾*¾pýÿXHÐIÐA–missing ]token! %*  #p  #X #Ð  #Ð  #–*äooperandmissing %pmissing )   #p*pw ÆeîÿD4 Îææa÷ –%÷  ° üa $YÎ*–— A— I÷ 5øÿW-øÿùÿÎÜæï.ÀDï.ÀD&üa Ü*¼à÷ Ö ç€Á¾wÃàW-øÿ Î&&üa àÎu: üa ¾ <‘üa à*â÷  þÖ æ÷ Ö ôUÀÀEþ4Îu:*ôôÎæÎ`æa÷ –%Bøÿ"YÎ*.— ûÿgÎæèÿNa÷ DþÖ — úÿ]ÎÒ÷  $üa Ò(""�`*TXëôHôÖ4 ÷ ßÎ&÷ þüa Öï.ÀD*zÖ — üÿÎù÷ Ð÷ Ì 4 õ  üa ù""�`ï.ÀD* Næî÷ Ö Â5@´÷ ´ üa î""�`$ï.ÀD*Æ€Â5€Îæ&÷ –þÖ 5øÿŽ&÷ Ö B üa æ$mèY*ìøÿŸŽæÜ÷ Ö €w€üNÎeèÿ&÷  üa Ü""�` `"(k�ƒÖ ÷ ‰ï.ÀDüa * illegal constantsyntax errorcan't re*1ad %p..data.textcan't create %pbaWd flags %pi,o*,s*  #*w ÆeÞÿÎÔæÒæÄæbæNaæNa÷ ( ° üa Ô üa Ò üa Ä üa b*BÆe  ÎæU÷ Ö  ÷ ÷ Ò3õ $œ,a' üa U""�` #}"üa Ò*h0N÷ À 5øÿ@øÿ@o¢8"W-øÿ ÖKòy*Ž@ÀeØÿ7Ò fæØÿNa÷ –%@ÀeØÿ@møÿ üa ÒYòy*´÷ ÀrÀm>�÷ Ò#ÎææaœSüa Ò"aœSÚÒ÷ –%7 ÎÒæE÷ &üa Ò•e äyaüa Ò üa E*òÖ  ÷ Îææ÷ –%÷Ê÷ (""�` #}äyaäyaö&`;&üa Ê*ÒÀÒõ @ ÷ Î?÷ &üa Ò üa Ò \g²2 $üa ?(äµz>7ØÎ9÷ 7ÚÎ7÷ (üa Ø üa 9äµzüa Ú üa 7*T7ÜÀÜðØÎ& æNaæNa÷ &äµzüa Ü üa Üüa Ø(œ,ô&*zÆe7×-@þÿæ)÷ Ö â äyp:äyp: üa )$""�`* ÎÞ÷ ÷ ÈÀ w ææ÷ *üa Þ \g²(üa È `""äyp:&äyp:*Æ–% æèÿNa÷ °ûÖ !ÿÿ!þÿ Î÷ ö&`; &üa *ìÎ÷ µ@êÿÀEþ áõ5êÿÝ— ""�` äyp:&½`*HNìÿ÷ Õ— A— INÎeèÿ÷ É\g|&\g*’*8— @ Ãã÷‹âÁÀ’÷ ÷Šâƒ õÎ ÷ ( üa ãüa â\g|üa â &üa ^´""�`üa jj!?  #b*bw DÂÊ „, Ê ÂÊ „, ° üa  üa $ˆ ÂeîÊ €ÀjwÂeì üa j `"²O **}*}¯”L(üa (~*}*}hR ¯” üa *JWWJKWWKIDúD &ú*&IóIWíWIçHß×EDÒBCó íçß×$Ò&LÂBD²CB¢CD’DB‚DCr ²¢’‚"rr*rmov l,e;mov h,dmov l,c;mov h,bmov e,*˜l;mov d,hmov e,c;mov d,bmov c,l;mov *¾b,hmov c,e;mov b,dsphlmov L,Rmvi L*ä,Rlda Rsta Llhld Rshld Lldax dst ax dldax bstax blxi L,R&*&BEŽCEˆDE‚XEzEBsEClEŽˆ‚z s&lLDeEX\e \\*\push pswpush hpush dpush bpop psw*‚pop hpop dpop bDMÁMD¼DC·CÁ ¼&· ¨D² ²²*²xchgxchgxthlxthlDüö"ü(öØWðWHêðêê*êadi Radd Rinr Linx Ldad R8&82W,WH&2 ,&&*&sui Rsub Rdcr Ldcx LWVWHP V&PPPaci Radc RWtWHntnnnsbi Rsbb RW’WHŒ’ŒŒŒani Rana RW°WHª°ªªªxri Rxra RWÎWHÈÎÈÈÈori Rora RWìWHæìæææcpi Rcmp RWWÿÿrrcrlcW"Wÿÿ"rarralW@Wÿÿ8@88"8stc;rarstc;ralWdWÿÿZdZZ&Zora a;rarora a;ralI…L€…"€€€pchljmp R Œ ŒI˜ ˜˜˜L RBDÄCD® Ä®®*®mov m,e;inx h;mov m,dmov m,c;inx h;moÔv m,bBDCDììì*ìmov e,m;inx h;mov d,mmov c,m;inx h;mov b,mDD$ $$*$mov a,m;inx h;mov h,m;mov l,aWWN &NNNcma&”Æ>\z˜¶* & ”Æ>\z˜¶fÔò &HnŒÚœ*Ôò  & HnŒÚœzBBO *\g²2¯”Läµz@,8^@ö @*‰€}@áÎ@ØÎ@@@YÎ@*œL;@ `"@ s"@ ° @ <‘@*<@@#!@""�`@<9X@ƒ:Ð@*;L;@|L*}@N`M@\g@\gœ'@*Fwòy@ñxR@òyw:@*}*}@(*üa (ÊaœSh #(ºÎu:hZp:hÌ*d`;h<|L\Kh&\g|hj\g²(h†\g²2hˆ"\g@yh\g´‰h`\g*’h’¯” üa  cseg     dseg *86420.,*(?amlhedcbN*864 2 0.,*((N$<LJGD??sphdb·´°­©¥*LJG D·´°­ ©"¥\¢Ÿ›˜”‘�‰†ƒ*¢Ÿ› ˜ ”‘�‰†ƒ*p~zvj??jmpcalljmjpjpejpojcjn~zv*–cjzjnzcmcpcpecpocccncczcnz:*¼ redefinedillegal definitionillegal â .:=  #*w æ DBƒ€ÀEþ5øÿ7! ÷  ° $#!(&÷ ÎÛ÷ à · ÎÈ÷ *@ <@ üa Û""�`#! $üa È*Jô  ô÷ ÀÀ ÷ Ž$""�`@üa  üa &\gœ'*pí÷ Šwô5ξ÷ õÀE `" üa ¾ ""�`*–ÿÀU@]øÿ4´´· âæA #!¼÷  Ö λ÷ × üa »\gœ'üa è*è( ;RôL2illegal operands f*  #(  # #  #ô  #2or %punknown binop!  #Ì*Ìw Æeìÿuøÿõ%˜øÿ‚W-øÿ© ‚uøÿêÿW- ° *òøÿ©õªøÿ@ðUW-øÿ  W-øÿ*@Àeèÿ5ìuæÿuuæÿW-øÿ*> À†À 5øÿ €À ð €À 5,ö (ö *døÿ €À ð Î÷ %‚ é€À Ì ö  üa ""�`&*}*}*ŠN&÷ Ö À N&÷ Ö À Ì ‰€} ‰€}*°N÷ æü÷ Ö wÄeÜÎ ÷  N`M üa ü""�` `"*ÖË‹À’ÁèwÎ ÷ éN&÷ \g üa è <‘\g*übÖ ƒ ìýN&÷ NÖ õÎ ÷ Î $\g*"÷ ìÎ ÷ çÀ’÷ âw D\g\g\g ° *H —,@Jò G2-Cà Î|L*}*næŽ`æa÷ –%À 4 4Îæ÷ ØÎ |L*}(,8^*”Ö ·2-@ À�Ž æ |L*}"òyw:*º÷ Ö 2òÎæaæŽ`÷ –%òyw:áÎ&YÎ*à· $ò$‚®ÀEÿÀUI44 ôüa $ üa $*Ž&÷ Ö —,@7Šww D@òyw:" `"& ° *,Bô•_ô•_ Õ× ÀeÀ`�RÁEðÿÁeaH�—tüÿƒ ïw `"üa & & db %i  #j jf…æ NÎEÿæ&÷ Ö w üa &\gœ' s"üa .). end end %p public extrn :  #†*†w ÆeîÿD5 ìÿ5 îÿõðÿ÷ 2Î÷  ° @ |L*}&üa *¬Â *ŽæêÿNa÷ bÿÖ æI÷ �Ö \gœ'|L*}*ÒÎP÷ —,@Ž÷ ª‚ãƒõ”éÿõ‹éÿ üa P \gœ'*ø÷À’÷ hÿõŠéÿƒ õÄ ô 7-7-$@*ÎH÷ ôU÷ !Îæ4÷ *<@ üa H\gœ'ñxR"ñxR &üa 4*DÖ Þô5Î?÷ ô5òæ\gœ' üa ?\gœ'"jA÷ ðÖ Î=÷ çÎ.÷ w$ üa =\gœ' üa .\gœ' `" üa S*S. title %b name %b@ /:]memorystayck  #ˆ$ˆw DÎv÷ ðÎo÷ ð* ° üa väµz@ üa o äµz*¨Ä Îk&÷ Ö €aÈ‹ €€ `ñ@ üa kƒ:Ð(ÎÎ÷ wÎS&÷ Ö &÷ À*üa  \gœ' `" üa Sƒ:Ð"<9Xò`ÀU&÷ –%å  üa ` üa U\gœ'üa || ,0 dw 0 db 0  #*w õ5·÷ @€ Ä Î�÷  ° üa ‡\gœ' &üa �**!ÀÀ  Î~÷  øw\gœ' üa ~"\gœ'PÎ|÷ Äåà `" üa | \gœ'üa ŽŽ<. _T°˜*  #<  #   #T  #°  #˜%¢~Â%i%i%i+%i%ac$@.?  #~ # #`*`w DÀEþ@ÁšwÎæ÷  ° üa š <‘&œL;&†Ö À ÷ wÎæ÷ Ö À (Fwòy üa \gœ' `";L;Fwòy*¨:÷ òÀÀehþÀ P÷ éô  —  üa :\gœ' üa P\gœ'*ÎÀe€`È‹Àe€`’ÁŽwW-H üa Ž" <‘*ôFÎEÿæ­÷ Ö Åô .æ³÷  üa ­\gœ' &üa ³*Ö º÷ ÀÁÀ¿÷ ‚ Èý÷ *\gœ' <9X üa Á üa ¿\gœ'(<9X*@À½À»÷ ñÀe€`’æ·÷  üa ½ üa »\gœ' &üa ·*fÖ åô ‘æ°÷ Ö ‰æª÷ \gœ' üa °\gœ' &üa ª ŒÖ �\gœ'üa à à dw '  #’*’f…æ ÎÅ÷ NæA÷ ´þÖ ÎÃ÷ w üa Å\gœ' "üa Ã&\gœ'¸ s"È‹Àe€`’#an/cp=chdr,clib/lb,anlib/lb,clib/lb/units=12 stack=3000//æ³÷  üa ­\gœ' &üa ³*Ö º÷ ÀÁÀ¿÷ ‚ Èý÷ *\gœ' <9X üa Á üa ¿\gœ'(<9X*@À½À»÷ ñÀe€`’æ·÷  üa ½ üa »\gœ' &üa ·*fÖ åô ‘æ°÷ Ö ‰æª÷ \gœ' üa °\gœ' &üa ª ŒÖ �\gœ'üa à à dw '  #’*’f…æ ÎÅ÷ NæA÷ ´þÖ ÎÃ÷ w üa Å\gœ' "üa Ã&\gœ'¸ s"È‹Àe€`’&anat/cp=chdr,clib/lb,antlib/lb,clib/lb/units=12 stack=3000//æ³÷  üa ­\gœ' &üa ³*Ö º÷ ÀÁÀ¿÷ ‚ Èý÷ *\gœ' <9X üa Á üa ¿\gœ'(<9X*@À½À»÷ ñÀe€`’æ·÷  üa ½ üa »\gœ' &üa ·*fÖ åô ‘æ°÷ Ö ‰æª÷ \gœ' üa °\gœ' &üa ª ŒÖ �\gœ'üa à à dw '  #’*’f…æ ÎÅ÷ NæA÷ ´þÖ ÎÃ÷ w üa Å\gœ' "üa Ã&\gœ'¸ s"È‹Àe€`’.ENABLE SUBSTITUTION*.ASKS OUP WHAT IS THE SYSTEM DEVICE (DK0:)+.ASKS LBR WHAT IS THE LIBRARY DEVICE (DK0:) +.ASKS INP WHAT IS THE CURRENT DEVICE (DK1:) -.ASKS INC WHAT IS THE CURRENT UIC ([200,200]);; TKB @BLDPP TKB @BLDP1 TKB @BLDP82 TKB @BLDANT TKB @BLDANA TKB @BLDCPM TKB @BLDLD8 TKB @BLDLB8' TKB @BLDHEX' TKB @BLDREL; ASN 'LBR'=LB:SET /UIC=[1,1]PIP LB:C8.CMD='INP''INC'C8.CMD"PIP LB:CHDR.OBJ='INP''INC'CHDR.OBJ"PIP LB:CLIB.OLB='INP''INC'CLIB.OLBPIP LB:CHDR.R='INP''INC'CHDR.RPIP LB:CLIB.A='INP''INC'CLIB.APIP LB:IHDR.R='INP''INC'IHDR.RPIP LB:ILIB.A='INP''INC'ILIB.APIP LB:MLIB.A='INP''INC'MLIB.APIP LB:IEND.R='INP''INC'IEND.RPIP LB:STD.H='INP''INC'STD.HPIP LB:RSX.H='INP''INC'RSX.HPIP LB:CPM.H='INP''INC'CPM.HPIP LB:ISIS.H='INP''INC'ISIS.H; ASN 'OUP'=SY:KSET /UIC=[1,54]B PIP SY:CPP.TSK='INP''INC'CPP.TSK PIP SY:CP1.TSK='INP''INC'CP1.TSK"PIP SY:CP82.TSK='INP''INC'CP82.TSK"PIP SY:ANAT.TSK='INP''INC'ANAT.TSKPIP SY:AN.TSK='INP''INC'AN.TSK PIP SY:CPM.TSK='INP''INC'CPM.TSK"PIP SY:LD80.TSK='INP''INC'LD80.TSK$PIP SY:LIB80.TSK='INP''INC'LIB80.TSK PIP SY:HEX.TSK='INP''INC'HEX.TSK PIP SY:REL.TSK='INP''INC'REL.TSK;RINS SY:CPP.TSK/TASK=...CPPINS SY:CP1.TSK/TASK=...CP1INS SY:CP82.TSK/TASK=...C82CINS SY:ANAT.TSK/TASK=...ANT'INS SY:AN.TSK/TASK=...ANAINS SY:CPM.TSK/TASK=...CPMINS SY:LD80.TSK/TASK=...LD8YINS SY:LIB80.TSK/TASK=...LB8INS SY:HEX.TSK/TASK=...HEXINS SY:REL.TSK/TASK=...REL;'SET /UIC='INC'ASN == ASN SY:='INP'K PIP SY:C%cpm/cp=chdr,clib/lb,cpmlib/lb,clib/lbS/Iunits=12 stack=6000//IB80.TSK='INP''INC'LIB80.TSK PIP SY:HEX.TSK='INP''INC'HEX.TSK PIP SY:REL.TSK='INP''INC'REL.TSK;RINS SY:CPP.TSK/TASK=...CPPINS SY:CP1.TSK/TASK=...CP1INS SY:CP82.TSK/TASK=...C82CINS SY:ANAT.TSK/TASK=...ANT'INS SY:AN.TSK/TASK=...ANAINS SY:CPM.TSK/TASK=...CPMINS SY:LD80.TSK/TASK=...LD8YINS SY:LIB80.TSK/TASK=...LB8INS SY:HEX.TSK/TASK=...HEXINS SY:REL.TSK/TASK=...REL;'SET /UIC='INC'ASN == ASN SY:='INP'K PIP SY:C%hex/cp=chdr,clib/lb,hexlib/lb,clib/lbS/Iunits=12 stack=3000//IB80.TSK='INP''INC'LIB80.TSK PIP SY:HEX.TSK='INP''INC'HEX.TSK PIP SY:REL.TSK='INP''INC'REL.TSK;RINS SY:CPP.TSK/TASK=...CPPINS SY:CP1.TSK/TASK=...CP1INS SY:CP82.TSK/TASK=...C82CINS SY:ANAT.TSK/TASK=...ANT'INS SY:AN.TSK/TASK=...ANAINS SY:CPM.TSK/TASK=...CPMINS SY:LD80.TSK/TASK=...LD8YINS SY:LIB80.TSK/TASK=...LB8INS SY:HEX.TSK/TASK=...HEXINS SY:REL.TSK/TASK=...REL;'SET /UIC='INC'ASN == ASN SY:='INP'K PIP SY:C'lib80/cp=chdr,clib/lb,liblib/lb,clib/lb/units=12 stack=3000//80.TSK='INP''INC'LIB80.TSK PIP SY:HEX.TSK='INP''INC'HEX.TSK PIP SY:REL.TSK='INP''INC'REL.TSK;RINS SY:CPP.TSK/TASK=...CPPINS SY:CP1.TSK/TASK=...CP1INS SY:CP82.TSK/TASK=...C82CINS SY:ANAT.TSK/TASK=...ANT'INS SY:AN.TSK/TASK=...ANAINS SY:CPM.TSK/TASK=...CPMINS SY:LD80.TSK/TASK=...LD8YINS SY:LIB80.TSK/TASK=...LB8INS SY:HEX.TSK/TASK=...HEXINS SY:REL.TSK/TASK=...REL;'SET /UIC='INC'ASN == ASN SY:='INP'K PIP SY:C%ld80/cp=chdr,clib/lb,ldlib/lb,clib/lbl/units=12 stack=3000////80.TSK='INP''INC'LIB80.TSK PIP SY:HEX.TSK='INP''INC'HEX.TSK PIP SY:REL.TSK='INP''INC'REL.TSK;RINS SY:CPP.TSK/TASK=...CPPINS SY:CP1.TSK/TASK=...CP1INS SY:CP82.TSK/TASK=...C82CINS SY:ANAT.TSK/TASK=...ANT'INS SY:AN.TSK/TASK=...ANAINS SY:CPM.TSK/TASK=...CPMINS SY:LD80.TSK/TASK=...LD8YINS SY:LIB80.TSK/TASK=...LB8INS SY:HEX.TSK/TASK=...HEXINS SY:REL.TSK/TASK=...REL;'SET /UIC='INC'ASN == ASN SY:='INP'K PIP SY:C$cp1/cp=chdr,clib/lb,p1lib/lb,clib/lb/units=12 stack=3000//////80.TSK='INP''INC'LIB80.TSK PIP SY:HEX.TSK='INP''INC'HEX.TSK PIP SY:REL.TSK='INP''INC'REL.TSK;RINS SY:CPP.TSK/TASK=...CPPINS SY:CP1.TSK/TASK=...CP1INS SY:CP82.TSK/TASK=...C82CINS SY:ANAT.TSK/TASK=...ANT'INS SY:AN.TSK/TASK=...ANAINS SY:CPM.TSK/TASK=...CPMINS SY:LD80.TSK/TASK=...LD8YINS SY:LIB80.TSK/TASK=...LB8INS SY:HEX.TSK/TASK=...HEXINS SY:REL.TSK/TASK=...REL;'SET /UIC='INC'ASN == ASN SY:='INP'K PIP SY:C&cp82/cp=chdr,clib/lb,p82lib/lb,clib/lb/units=12 stack=3000////80.TSK='INP''INC'LIB80.TSK PIP SY:HEX.TSK='INP''INC'HEX.TSK PIP SY:REL.TSK='INP''INC'REL.TSK;RINS SY:CPP.TSK/TASK=...CPPINS SY:CP1.TSK/TASK=...CP1INS SY:CP82.TSK/TASK=...C82CINS SY:ANAT.TSK/TASK=...ANT'INS SY:AN.TSK/TASK=...ANAINS SY:CPM.TSK/TASK=...CPMINS SY:LD80.TSK/TASK=...LD8YINS SY:LIB80.TSK/TASK=...LB8INS SY:HEX.TSK/TASK=...HEXINS SY:REL.TSK/TASK=...REL;'SET /UIC='INC'ASN == ASN SY:='INP'K PIP SY:C$cpp/cp=chdr,clib/lb,p0lib/lb,clib/lb/units=12 stack=3000//////80.TSK='INP''INC'LIB80.TSK PIP SY:HEX.TSK='INP''INC'HEX.TSK PIP SY:REL.TSK='INP''INC'REL.TSK;RINS SY:CPP.TSK/TASK=...CPPINS SY:CP1.TSK/TASK=...CP1INS SY:CP82.TSK/TASK=...C82CINS SY:ANAT.TSK/TASK=...ANT'INS SY:AN.TSK/TASK=...ANAINS SY:CPM.TSK/TASK=...CPMINS SY:LD80.TSK/TASK=...LD8YINS SY:LIB80.TSK/TASK=...LB8INS SY:HEX.TSK/TASK=...HEXINS SY:REL.TSK/TASK=...REL;'SET /UIC='INC'ASN == ASN SY:='INP'K PIP SY:C$rel/cp=chdr,clib/lb,relib/lb,clib/lb/units=12 stack=3000//////80.TSK='INP''INC'LIB80.TSK PIP SY:HEX.TSK='INP''INC'HEX.TSK PIP SY:REL.TSK='INP''INC'REL.TSK;RINS SY:CPP.TSK/TASK=...CPPINS SY:CP1.TSK/TASK=...CP1INS SY:CP82.TSK/TASK=...C82CINS SY:ANAT.TSK/TASK=...ANT'INS SY:AN.TSK/TASK=...ANAINS SY:CPM.TSK/TASK=...CPMINS SY:LD80.TSK/TASK=...LD8YINS SY:LIB80.TSK/TASK=...LB8INS SY:HEX.TSK/TASK=...HEXINS SY:REL.TSK/TASK=...REL;'SET /UIC='INC'ASN == ASN SY:='INP'K PIP SY:C.ENABLE SUBSTITUTION.ASKS FIL FILE'CPP -X -I LB:[1,1] -O CTMP1.TMP 'FIL'.C'CP1 -O CTMP2.TMP CTMP1.TMPC82 -O CTMP3.TMP CTMP2.TMPANA -O 'FIL'.R CTMP3.TMP0PIP CTMP1.TMP;*/DE,CTMP2.TMP;*/DE,CTMP3.TMP;*/DESK/TASK=...CP1INS SY:CP82.TSK/TASK=...C82CINS SY:ANAT.TSK/TASK=...ANT'INS SY:AN.TSK/TASK=...ANAINS SY:CPM.TSK/TASK=...CPMINS SY:LD80.TSK/TASK=...LD8YINS SY:LIB80.TSK/TASK=...LB8INS SY:HEX.TSK/TASK=...HEXINS SY:REL.TSK/TASK=...REL;'SET /UIC='INC'ASN == ASN SY:='INP'K PIP SY:C21 !>> PROGRAM : CCC.BAS 'C' COMPILER CONTROLLER. 4 EXTEND 5 ON ERROR GOTO 32000 C%10 KB%=12% : OPEN 'KB:' AS FILE KB% M20 L$ = CHR$(13%)+CHR$(10%) P30 RETURN IF S% E999 ! MAIN CODING AREA... L1000 PRINT #KB%, 'CCC>'; \ INPUT LINE #KB%, INP$ \ INP$ = CVT$$(INP$,4%) 1199 ! BUILD FORCE STRING... Cs1200 JJ$ = RIGHT(NUM1$(PEEK(518%)/2%+100%),2%) \ KB$ = CHR$(ASCII(RIGHT(SYS(CHR$(6%)+CHR$(9%)+CHR$(0%)),2%))/2%) Lc1220 T1$ = 'CTMP' + JJ$ + '.TMP ' \ T2$ = 'CTM2' + JJ$ + '.TMP ' \ T3$ = 'CTM3' + JJ$ + '.TMP ' O¬1230 OUT$ = 'CPP -I[1,2] -X -O' + T1$ + INP$ + '.C' + L$ + 'CP1 -O' + T2$ + T1$ + L$ + 'C82 -O' + T3$ + T2$ + L$ + 'ANA -O' + INP$ + '.R ' + T3$ + L$ @1250 Z$ = SYS(CHR$(6%)+CHR$(-4%)+KB$+OUT$) !!! DO THE CALL !!! 1260 GOTO 32767 30000 ! CCL ENTRY... G30005 S%=-1% : GOSUB 5% M$30010 CORE.COMMON$ = SYS(CHR$(7%)) @30020 INP$ = RIGHT(CORE.COMMON$,INSTR(1%,CORE.COMMON$,' ')+1%) =30030 IF CVT$$(INP$,-1%)='' THEN 1000% ELSE 1200% T32000 ! ERROR TRAPS... 32767 ENDT$ = 'CPP -I[1,2] -X -O' + T1$ + INP$ + '.C' + L$ + 'CP1 -O' + T2$ + T1$ + L$ + 'C82 -O' + T3$ + T2$ + L$ + 'ANA -O' + INP$ + '.R ' + T3$ + L$ @1250 Z$ = SYS(CHR$(6%)+CHR$(-4%)+KB$+OUT$) !!! DO THE CALL !!! 1260 GOTO 32767 30000 ! CCL ENTRY... G30005 S%=-1% : GOSUB 5% M$30010 CORE.COMMON$ = SYS(CHR$(7%)) @30020 INP$ = RIGHT(CORE.COMMON$,INSTR(1%,CORE.COMMON$,' ')+1%) =30030 IF CVT$$(INP$,-1%)='' THEN 1000% ELSE 1200% *€p¯”L #}@ù¯üX@°úp@* ±p:@(þ¬¯yì #(üa ($  #(  #÷ ÷ &÷ ù¯üX ±p: #}üa (COPYRIGHT (C) 1978 WHITESMITHS, LTD. Z$ = SYS(CHR$(6%)+CHR$(-4%)+KB$+OUT$) !!! DO THE CALL !!! 1260 GOTO 32767 30000 ! CCL ENTRY... G30005 S%=-1% : GOSUB 5% M$30010 CORE.COMMON$ = SYS(CHR$(7%)) @30020 INP$ = RIGHT(CORE.COMMON$,INSTR(1%,CORE.COMMON$,' ')+1%) =30030 IF CVT$$(INP$,-1%)='' THEN 1000% ELSE 1200% uÿbuybuf.rí… c.rets c.r3 c.r2 c.r4 c.ents buybuf. alloc.Í¿õ!~#fo"·!~#fo"¯!øÿå!å*ªåÍÏññáywx# w!øÿ~#fo"¡!¯—–>#žÒ‰x*¢å*¢#"£áå*²å*²#"µáÁ~:«Ö2©:«Þ2©Ã�=!øÿ~#foMDØcmpbuf.rÈl c.rets c.r3 c.r2 c.r4 c.ents cmpbuf.Í¿!~#fo"·!~#fo"¯!~#fo"¡!§—–>#žÒ‰S*²å*²#"±*ªå*ª#"­áÁ ¾ÊŒYÜÙ:£Ö2¡:£Þ2¡È$cpystr.rÃg c.rets c.r3 c.r4 c.r2 c.ents cpystr.Í¿!~#fo"µ!"©*­~#fo"¡!¤~#¶Ê‰O*£~·Ê‰\*²å*²#"³áå*¢å*¢#"¥áÁ~É(*³6*³MDÙ*«##"©Ãˆdecode.r‰ ú c.rets c.r3 c.r2 c.r4 c.ents c.ret _putf. _dcodx.] c.ent decode.Íß!ôÿ9ù!ô<ÿå!Á~#~!öÿå!Á~#~!øÿ>w‡Ÿ#w! å!N#FÅ!ôÿå!Š]åÍÏññññ!øÿ~#foMDÃÁÍ¿!~#fo"·!~#fo"¯!~#fo"¡!§—–>#žò‰í*¶ å*· Á – #žÒ‰í*µN#FÅ*·~Æw#~Îwáå*ªå*ª#"­áÁ~*· ~Æw#~Îw:£Ö2¡:£Þ2¡Ã��!~#foMDØdtento.rB K c.rets c.dmul c.dtd c.ddiv c.r0 c.r2 c.r3 c.r4 c.ents dtento. _dtens. _ntens.Íß! ~#fo"Ñ:Ò·ò‰Š*×>•o>œg"Ë>2ÇŸ2Á!Ì~#¶Ê‰!ñ:–:Ã#žÒ‰*Ï}æo|æg}´Ê�!å!åá¿~Õ#~ŠhÑ!ºå*Ä)))ë åͱͪñÉ!×—–>#žò‰Ÿ*Ñ"Ë>2ÇŸ2Á!Ì~#¶Ê‰È!ñ:–:Ã#žÒ‰È*Ï}æo|æg}´Êޝ!å*Ä)))ì åá¿~Õ#~ŠçÑ!¿å!åͪ͡ñɯ:Ë·2É:Ê2É*Â#"ÁÉ-!Ï—–>#žÒ�Ÿ!å!åá¿~Õ#~Š;Ñ!ºå*ô)))ëøÿ åͱͯñ!å!åá¿~Õ#~ŠmÑ!ºå*ô)))ëøÿ åͱͪñ:ËÖ2É:ËÞ2ÉÉ!¿å!åͪñÙ:Ë·2É:Ê2É*Â#"Áɦ!Ï—–>#žÒŽŸ!å*ô)))ìøÿ åá¿~Õ#~ŠíÑ!¿å!åͯ͡ñ!å*ô)))ìøÿ åá¿~Õ#~ŠÑ!¿å!åͪ͡ñ:ËÖ2É:ËÞ2ÉÈÈencode.ri Û c.rets c.r3 c.r2 c.r4 c.ents c.ret _getf. _ncodx.H c.ent encode.Íß!öÿ9ù!ö1ÿå!Á~#~!øÿå!Á~#~! å!N#FÅ!öÿå!ŠHåÍÍññññÃÁÍ¿!~#fo"·!~#fo"«>2£‡Ÿ2¡*· —–>#žÒ�Ó!:¢–:£#žÒ‰Ó*ªå*ª#"«áå*·~#foÁ~*· ~Öw#~Þw*¢#"¡*µN#FÅ*·~Æw#~Îwá~þ ‰k*£MDØerrfmt.rb" c.ret c.ent errfmt. write. _putf.ͧ!å! N#FÅ!å!²åͽññññØfclose.rè " c.r2 c.r3 c.rets c.r4 c.ents fclose. _pfio. exit. write. close.Í¿!~#fo"±!´~#¶Â�4!å!–/å!åÍßñññ!åÍÒñé!É"¡*¥~#fo"™!œ~#¶Ê‰q!±:š¾Â‰\:›#¾Â‰œ*¢å*Ÿ Á~#~*· ~þÂ�‚#~þʉ©*· ~þÿÂ�–#~þÿ‰É©*� "¡Ã‰:*· ~#¶ʉ*· N#FÅ*¶ å*µN#FÅÍÝñññÅ*· Áy¾ÂŒçx#¾Ê�! å!–"å!åÍßñññ!åÍÒñ*µN#FÅÍäñx·ú‰*³MDìèwrite error bad fclose call fcreat.r¸c c.rets c.r4 c.ents fcreate create. finit.ͯ!å!~þÿÂ�#~þÿÂŒÃ�%!N#F Å!N#FÅ;ñññi`"¡:¢·ú�]!N#FÅ*§å!N#FÅÍÄñññÜØfopen.r¸c c.rets c.r4 c.ents fopen. open. finit.ͯ!å!~þÿÂ�#~þÿÂŒÃ�%!N#F Å!N#FÅ;ñññi`"¡:¢·ú�]!N#FÅ*§å!N#FÅÍÄñññÜØfread.rÜ‚ c.rets c.r2 c.r4 c.ents fread. read.ͳ>2«‡Ÿ2­!:ª–:«#žÒ�Y!~#foå!¯Áy–Ox#žGÅ!N#FÅ!N#FÅÍÆñññi`"¡!§—–>#žú‰a*«MDÞ!å!§Á † #Ž*ªå*¤ãÁ "©Ãˆ frelst.r¬T c.rets c.r2 c.r4 c.ents frelst. free.Í·!~#fo"¯!~#fo"¡!¬~#¶Ê‰L!¡:ª¾Â‰1:«#¾Ê‰L*­N#FÅ*ªåÍÅññi`"©Ã‰*«MDØgetch.rM c.ret c.ent getch. stdin. getc.Í¡!²åͺñØgetf.rf& c.ret c.ent getf. getl. _getf.ͧ!å!N#FÅ!N#FÅ!²åͽññññØgetfi.rTÐ c.rets c.r3 c.r2 c.r4 c.ents getfile cmpstr. open.Í¿!~#fo"·!~#fo"©*´#~·òŒ+!ÿÿ"¡Ã‰X*´~#¶Ê‰M!’Ðå*¯~#foN#FÅÍÍññy°Ê�•!~#fo"¡*¯~Æw#~Îw*·~Öw#~Þ w+—–>#žúŒ€ÃŽƒy°Ê‰È*·>ÿw>ÿ#wÃ�È!å!å*¯~#foN#FÅÍÖñññi`"¡:¢·ò�X! ~#fo"¡Ã‰X*£MDØ-getfl.rò ð c.r3 c.r4 c.rets c.r2 c.ents getflag lenstr. btoi. cmpstr.Í¿!öÿ9ù!(~#fo~Æw#~Îw!~#fo~Öw#~Þw+—–>#žò�{!~#f o~#fo~#fo"±!’òå*²åÍÝññy°Ê�•!~#fo~Öw#~Þw!~#fo~Æw#~Îwï!~#f o~Æw#~ÎwÉ!’ðå*²åÍÝññy°Â‰{*´~þ-ʉ¹*´~þ+‰{*´~þ-‰É*²#"±*³~·Ê��!~#fo"§!ôÿ>w‡Ÿ#w!øÿå! Á}|*±"™*¤~þ*Â�‡!ôÿ>w ‡Ÿ#w!öÿå*›~·Ê‰%*›MDÃ�a!~#fo~Öw#~Þw+—–>#žò�\!~#fo~Æw#~Îw+~#foN#FÉa*ŸMDáywx# w!öÿN#FÅÍÏñi`å!öÿ ~#foãÁ "™Ã‰Q*¤~þ?Â�¼!ôÿ>w ‡Ÿ#w!öÿå*ŸÁ~‡Ÿ*›~·Ê‰Q*š#"™Ã‰Q*¤~þ#ÂŽT!ôÿå*œ~þ0ú‰â*œ>9¾úŒâÃ�åáywx#w!òÿ> w‡Ÿ#w*œ~þ0‰h*Ÿ ~þAú‰.*Ÿ >Z¾ú‰.*Ÿ ~O‡ ŸG! MDÉ:*Ÿ ~O‡ŸGyþxÂŒCxþÂ�“!òÿ>w‡Ÿ#wÉh*¤~þ,ʉ¡*£~·Â‰ÌÃ�¡!òÿN#FÅ!öÿå*šåÍËñÅ*šåÍÕññññ*š "™Ã�Q!òÿ>w‡Ÿ#wÃ�h!ôÿ~#¶Ê�6!øÿ~#fo~#foå!öÿÁ~#~*™"±Ã‰É*¤~þ>Â�c!ôÿ~#¶Ê��!øÿ~#f o~#fo—–>#žÒ�¦!øÿ~#f3o~#fo##å!øÿ~#fo~#fo~Öw#~Þw+~#fo)ãÁ å!öÿÁ~#~*™"±Ã‰É*£~·Ê�[!øÿ~Æw#~Îw*±"™*¢#"¡Ã‰ü*³MDé*¢å*œÁ ¾Â�®!ôÿ>w‡Ÿ#w!öÿ>w‡Ÿ#w*š#"™Ã�Q!øÿ~Æw#~Îw*±"™Ã‰Q*³MDï!ôÿ>w‡Ÿ#w*¤~þ,ʉÝ*¤~þ>ʉÝ*£~·Ê‰Ý*¢#"¡Ã‰¹:£Ö2¡:£Þ2¡ÈQ---getfmt.rm" c.ret c.ent getfmt. getl. stdin. _getf.ͧ!å!N#FÅ!ºå!²åÍÅññññØgetlin.r` c.ret c.ent getlin. stdin. getl.ͧ!N#F Å!N#FÅ!²åͼñññØinbuf.rîŒ c.rets c.r3 c.r2 c.r4 c.ents inbuf.Í¿!~#fo"·!~#fo"©!·—–>#žÒ�P!~#fo"¡*ªå*¤Á ¾Â‰c*¯å!Áy–Ox#žGÙ*¯å!Áy–Ox#žGÙ*¢#"¡*£~·Â‰0:³Ö2±:³Þ2±*ª#"©Ãˆinstr.rÃp c.rets c.r2 c.r4 c.ents instr.Í·!~#fo"©*«~·Ê�I!~#fo"¡*£~·Ê‰\*ªå*¤Á ¾Â‰f*¯å!Áy–Ox#žGÙ*¯å!Áy–Ox#žGÙ*ª#"©Ã‰*¢#"¡Ãˆ!itols.rˆA c.rets c.irsh c.r4 c.ents itols.Í·!~#fo"©*ªå*ª#"¯áå!Á~*¯å!N#FÅ!åÍ¥áÁ}*«MDØlstoi.rx? c.rets c.r4 c.ents lstoi.ͯ!~#fo"¡*§~O‡ŸGi` }æÿo|ægå*§ ~O‡ŸGi`))))))))ãÁ MDØnotbuf.r  c.rets c.r3 c.r2 c.r4 c.ents notbuf.Í¿õ!~#fo"·!~#fo"©!·—–>#žÒ�W!øÿ>w ‡Ÿ#w!~#fo"¡*ªå*¤Á ¾Â�„!øÿ>w‡Ÿ#wÉ“*¯å!Áy–Ox#žGÙ:³Ö2±:³Þ2±*ª#"©Ã‰*¢#"¡*£~·Â�<!øÿ~#¶‰jÈWnotstr.rÙ„ c.rets c.r2 c.r4 c.ents notstr.Í·õ!~#fo"©*«~·Ê�P!øÿ>w ‡Ÿ#w!~#fo"¡*£~·Ê‰m*ªå*¤Á ¾Â�z!øÿ>w‡Ÿ#wÉm*¯å!Áy–Ox#žGÙ*ª#"©Ã�!øÿ~#¶‰cÉP*¢#"¡Ãˆ-prefix.r•J c.rets c.r2 c.r4 c.ents prefix.Í·!~#fo"¯!~#fo"¡*£~·Ê‰D*ªå*ª#"©*¢å*¢#"¥áÁ ¾ÊŒÜØputch.rW c.ret c.ent putch. stdout. putc.ͧ!N#FÅ!²åÍ»ññØputf.rf& c.ret c.ent putf. putl. _putf.ͧ!å!N#FÅ!N#FÅ!²åͽññññØputfmt.rm" c.ret c.ent putfmt. putl. stdout. _putf.ͧ!å!N#FÅ!ºå!²åÍÅññññØputlin.rt' c.rets c.r4 c.ents putlin. stdout. putl.ͯ!~#fo"§!N#FÅ*¢å!ºåÍÄñññØscnbuf.rÀq c.rets c.r2 c.r4 c.ents scnbuf.Í·!ÿÿ9ù!~#fo"¯!ùÿå!Á~!~#fo"¡!¯—–>#žÒ‰D*§å!ùÿÁ ¾Â‰W*§å!Áy–Ox#žGÙ:«Ö2©:«Þ2©*¢#"¡Ãˆ*scnstr.r¤W c.rets c.r2 c.r4 c.ents scnstr.Í·!ÿÿ9ù!~#fo"¯!ùÿå!Á~*©"¡*£~·Ê‰;*§å!ùÿÁ ¾Â‰M*¢å!¯Áy–Ox#žGÙ*¢#"¡Ãˆ%sort.rÇ ÿ c.ihl c.r3 c.r2 c.rets c.r4 c.ents c.ret _sort." c.ent sort.Íß!å!~#foÿÿ å!åÍŒ"ñññÃÉÍÇ!~#fo"¿!å! Á – #žú‰F÷!~#foÿÿ "¯!~#fo"¡!¡:ª–:«#žò‰±*ª#"©!¡:ª–:«#žò‰ì*¿ å!N#FÅ*ªå*½~#foÍŸñññ—‘>˜ò‰oÃ�ì!:ª¾Â‰Á:«#¾Ê‰d*¿ å!N#FÅ*ªå*¿ ~#foÍœñññÉd:£Ö2¡:£Þ2¡!¡:ª–:«#žò‰1*¿ å!N#FÅ*¢å*½~#foÍžñññx·ò‰ì!¡:ª–:«#žò‰`*¾ å*¢å*ªå*¿ ~#foÍœñññÉ`*¯å!Áy–Ox#žGÅ!~#foå!¯Áy–Ox#žGá}‘|˜ò‰È*ºå*¯ÿÿ å!N#FÅÍŒ"ñññ*¿å!N#FÅ*® åÍŒ"ñññÉü*¿å!N#FÅ*® åÍŒ"ñññ*ºå*¯ÿÿ å!N#FÅÍŒ"ñññðstdin.rstdin. stdout.rstdout. substr.rz7 c.ret c.ent substr. subbuf. lenstr.ͧ!N#FÅÍ¿ñÅ!N #FÅ!N#FÅÍ¿ñÅ!N#FÅ͵ññññØmain.rT ` c.rets c.r3 c.r2 c.ents _main. create. close. open. exit. putstr. main.Í·!ùþ9ù!tÿå!óþÁ}|!€"®!öÿå*ªå*ª#"¯áÁ~‡Ÿ !öÿ—–>#žò�d!öÿ—–>#žò‰ì*¬> ¾ò‰ü*¬~þú‰ìÃ�ü!øÿ>w ‡Ÿ#w!vÿ—}ywx#w!óþ"¥!tÿ:¢¾Â‰’:£#¾Ê‰©*¤~þ<Â�È!åÍÏñ!å!å*¦ åÍÖñññy°Ê�N!å!’oå*¦ å!–qå!åÍç! 9ù!åÍÚñÃ�N!öÿ—–>#žú‰Ã�d!öÿ~Öw#~Þw*ª#"©Ã�B!öÿ—–>#žò‰Ž*¬> ¾ò‰Ž*¬~þò�Ž!tÿN#FÅ!tÿ~Æw#~Îwáå*¬~þAú‰l*¬>Z¾ú‰l*¯~O‡ŸG!  MDÉt*¯~O‡ŸGáyw!öÿ~Öw#~Þw*ª#"©Ã�!tÿN#FÅ!tÿ~Æw#~Îwá6Ã�5!vÿå!øÿN#FÅÍëññÙ*¢#"¡Ã‰‚*¤~þ>Â�&!åÍÏñ!å!å*¦ åÍÇñññyþÂŒøxþÊ�N!å!’`å*¦ å!–bå!åÍç! 9ù!åÍÚñÃ�N!øÿN#FÅ!øÿ~Æw#~Îwá)å!vÿãÁ :¢w:£#w*£~·Ê‰¾*¢#"¡ÃˆN can't write can't read open.rh0 c.ret c.ent open. _copen.ͧ!N#F Å!~#¶ÊŒÃ�Å!N#FÅÍ´ñññØremove.rQ c.ret c.ent remove. _copen.ͧ!å! å!N#FÅÍ´ñññØuname.r>  c.ret c.ent uname.Í¡!“ MDØctempc.cgetf.rÈ B  c.ret c.ihl c.ent btoi. c.dtf c.dtd btod. btol. cpybuf. c.lor c.r1 c.llsh c.r0 c.r3 c.r4 _getx. c.r2 c.rets c.ents _getf.͇!Üý9ù!~#fo"—B !~#fo"—D !~#fo~·ÂŒ1Ç!ðÿå!å!Öý"�*‚åÍ� ññáywx# w+—–>#žúŒ`ÿÿÇ!ôÿ>w ‡Ÿ#w!~#fo"�*ƒ~·Ê‰­*„~þ%ʉ­*„~þ ʉ­*‚å*„Á ¾Â�Â!ðÿ—–>#žú‰ÏÉÂ*ƒ~·Â�í!ôÿ~#foMDÇ!ôÿ~#foMDÃ�*‚#"‡!ðÿ~Öw#~Þw*‚#"�Év*„~þ Â�P!ðÿ>w‡Ÿ#w*‡ ~·Ê�<!ðÿå!å!Öý"�*‚åÍ� ññáywx# w+—–>#žú�<!ôÿ~#¶Ê�J!ôÿN#FÃŒMÿÿÃ�*‚#"‡!øÿ>w ‡Ÿ#w!×ÿ6 *„~þ-Â�‘!øÿ>w ‡Ÿ#w!×ÿå*‚#"�*„Á~ɬ*„~þ+ÂŽ¬!×ÿå*‚#"�*‡Á~!îÿ>w‡Ÿ#w*„~þ0ú‰û*„>9¾úŽû!îÿå*‡~O‡ŸG!îÿ~#foÅMD)) )Á Ðÿ Á}|*‚#"�Ã�·!òÿ>w‡Ÿ#w*„~þ.‰Z*‚#"�*„~þ0ú‰Z*„>9¾úŽZ!òÿå*‡~O‡ŸG!òÿ~#foÅMD)) )Á Ðÿ Á}|*‚#"�É*„~þaʉ~*„~þhʉ~*„~þoʉ~*„~þuÂŽª!Öÿå*‚å*‚#"‡áÁ~!Öÿ~þhÂ�³!öÿ>w‡Ÿ#wÃ�Ö!Öÿ6Ã�’!Öÿ~þoÂ�Ë!öÿ>w‡Ÿ#wÃ�Ö!öÿ> w ‡Ÿ#w!Úÿ:‚w:‡#w!èÿå!ðÿÁ~#~!îÿ—–>#žò‰�*�"‡!êÿå!îÿå!ðÿÁ – #žò�(!îÿN#FÃ�/!ðÿN#Fáywx#w!êÿ—–>#žò�h!êÿ~#foå*‡ÿÿ ãÁ ~þ Â�h!êÿ~Öw#~Þw*‡å!êÿ~#foãÁ "‡!ðÿå!ê ÿÁ – #žÃ�!ðÿ—–>#žò‰®*„> ¾ò‰ê*„~þò‰ê*�"‡!ðÿ—–>#žò‰*„> ¾ò‰*„~þò�!ðÿ~Öw#~Þw*‚#"�Ã�´!ðÿ~Öw#~Þw*‚#"�ÃŽ�!êÿå*‚å!‡Áy–Ox#žGáywx#w!øÿ~#¶Ê�W!êÿ—–>#žò‰²*‡å!×ÿÁ ¾Â�²!êÿ~Öw#~Þw*‚#"�Ã�%!Øÿå!êÿ~#foå*‡ÿÿ ãÁ Á}|!êÿ—–>#žò�²!Øÿ~#f oå!×ÿÁ ¾Â�²!êÿ~Öw#~Þw!Øÿ~Öw#~ÞwÉu*„~þxʉ<*„~þbʉÍ*„~þpÂ� !òÿ~#¶Ê�ž!êÿå!êÿå!òÿÁ – #žò�ù!êÿN#FÃ�!òÿN#Fáywx#wÉž*„~þlÂ�Q!Öÿ~þaÂ�f!Üÿ—w#w#w#w!êÿ—–>#žò�¢!Üÿå!Üÿåáÿ~#~#~#~!þå!åÍñ*‚å*‚#"ƒÁ 2뇟2é2é2é!êåÍçáÁ~#~#~#~!êÿ~Öw#~ÞwÃ�(!êÿN#FÅ*‡å! ~#foN#FÅÍÜñññ*„~þpÂ�ü! ~#f.o~#foå!êÿ~#foãÁ 6! ~Æw#~Îw!ôÿ~Æw#~ÎwÃ�<! ~Æ?w#~Îw! N#FÅ! ~Æw#~Îwá~#foå!êÿÁ~#~!ôÿ~Æw#~Îw!å*‡ Á}|Ék*„~þdʉà*„~þf‰Ã�à!öÿN#FÅ!Üÿå!êÿN#FÅ*‚åÍ×ññññ!êÿy¾ÂŒ’x#¾Ê�¢!ôÿ~#foMDÇ! N#F5Å! ~Æw#~Îwá~#foå!ÜÿÁ~#~#~#~!ôÿ~Æw#~ÎwÃ�<!àÿå!êÿN#FÅ*‚åÍÏñññ!êÿy¾ÂŒx#¾Ê�:!ôÿ~#foMDÃ�*„~þcʉž*„~þiʉž*„~þsÊ�ž!Öÿ~·Ê‰Éž*„~þdÂ�j! N#FÅ! ~Æw#~Îwá~#foå!àÿåÍÂñÃ�Ž! N#FÅ! ~Æw#~Îwá~#foå!àÿåÍ¿ñ!ôÿ~Æw#~ÎwÃ�<!Öÿ~þaÂ�G!ìÿ>w‡Ÿ#w!êÿ—–>#žòŽƒ!ìÿå*‚å*‚#"‡á~O‡ŸG!)ìÿ~#fo))))))))}±o|°gÁ}|!êÿ~Öw#~ÞwÃ�³!èÿ—–>#žò� !Úÿ~#foå*„Á ¾Â� !Úÿ~#fo#"‡!ðÿå!èÿ~#foÿÿ Á}|Ã�<!öÿN#FÅ!ìÿå!êÿN#FÅ*‚åÍ·ññññ!êÿy¾ÂŒsx#¾Ê�ƒ!ôÿ~#foMDÃ�*„~þcÂ�±! N#FÅ! ~Æw#~Îwá~#foå!ìÿÁ~Ã�×! N#F-Å! ~Æw#~Îwá~#foå!ìÿÁ~#~!ôÿ~Æw#~Îw*„~þcʉ<*„~þiʉ<*„~þsʉ<:ƒÖ2�:ƒÞ2�Ã�<!ôÿ~#foMDÃ�ͯ!N#F Å!N#FÅ*’D å*‘B ͤñññØbtod.r‹2 c.rets c.dneg c.r2 c.dadd c.itd c.r1 c.dmul c.r0 c.dtd c.r3 c.r4 c.ents btod. _dtens. _dzero. dtento. btoi.Í÷!ôÿ9ù!~#fo"ï!~#fo"ç!øÿ>w‡Ÿ#w!ï—–>#žÒ‰G*ä> ¾ò‰�*ä~þò‰�!ï—–>#žÒ‰›*ä~þ-‰"*â#"á:ëÖ2é:ëÞ2ï!øÿ>w‡Ÿ#wÉ›*â#"á:ëÖ2é:ëÞ2éÃŽ)!îÿå!‚åÍÚñ!ï—–>#žÒ‰E*ä~þ0ú‰E*ä>9¾ú�E!îÿå!îÿåá×~Õ#~ŠÙÑ!Òå!‚åÍÉ*æ~O‡ŸG!Çå!Ðÿ å͹ͱÍÚñ*â#"á:ëÖ2é:ëÞ2éɨ*ä~þ+‰›*â#"á:ëÖ2é:ëÞ2éË›>2«‡Ÿ2©!ï—–>#žÒ‰*ä~þ.‰*â#"á:ëÖ2é:ëÞ2é!ï—–>#žÒ‰*ä~þ0ú‰*ä>9¾ú�!îÿå!îÿåá×~Õ#~ЬÑ!Òå!‚åÍÉ*æ~O‡ŸG!Çå!Ðÿ å͹ͱÍÚñ*â#"á:ëÖ2é:ëÞ2é:«Ö2©:«Þ2©É{!ï—–>#žÒ‰�*ä~þAú‰4*ä>Z¾ú‰4*ç~O‡ŸG!  MDÉ<*ç~O‡ŸGyþeÂŒExþ‰�*â#"á:ëÖ2é:ëÞ2ï! å!öÿå*êå*âåÍ…ññññ*â "á*¯å!öÿ~#foãÁ "®!îÿå*¯å!îÿ >+F+NÅ=‰£͆! 9ù!ÒåÍßñ!~# foå!øÿ~#¶Ê�!îÿåá×~Õ#~ŠÝÑ!ÒåÍ¢á×~Õ#~ŠöÑÃ�!îÿ×~Õ#~ŠÑ!ÒåÍÚñ*çå!Áy–Ox#žGØcmpstr.r¦X c.rets c.r2 c.r4 c.ents cmpstr.Í·!~#fo"¯!~#fo"¡*£~·Ê‰D*ªå*ª#"©*¢å*¢#"¥áÁ ¾ÊŒÙ*«~·ÂŒRÃŒUØcputf.r   c.ret c.ihl c.ent exit. write. itob. dtoe. ltob. dtof. lenstr. c.rets _putx.Ô c.r3 c.r2 c.r4 c.ents _putf.͇!Úÿ9ù!~#fo"‡! ~#fo"‡!~#fo"— !~#fo"‘"*�"ù*û~·Ê‰b*ü~þ%ʉb*ú#"ùÉ:*ý "�É4!ù:‚–:ƒ#žÒ‰Š*úå!‡Áy–Ox#žGÅ*‚åÍ‹Ôññ*úå*ú#"üá~·Â‰žÃï!Ôÿ>w ‡Ÿ#w!áÿ6 *ü~þ-Â�Ø!Ôÿ>w ‡Ÿ#w!áÿå*ú#"ù*üÁ~Éó*ü~þ+ÂŽó!áÿå*ú#"ù*ÿÁ~!Öÿ>w‡Ÿ#w*ü~þ0ú‰B*ü>9¾úŽB!Öÿå*ÿ~O‡ŸG!Öÿ~#foÅMD)) )Á Ðÿ Á}|*ú#"ùÃ�þ!Øÿ>w‡Ÿ#w*ü~þ.‰¡*ú#"ù*ü~þ0ú‰¡*ü>9¾úŽ¡!Øÿå*ÿ~O‡ŸG!Øÿ~#foÅMD)) )Á Ðÿ Á}|*ú#"ùÉ]*ü~þaʉÅ*ü~þhʉÅ*ü~þoʉÅ*ü~þuÂŽñ!àÿå*úå*ú#"ÿáÁ~!àÿ~þhÂ�ú!Üÿ>w‡Ÿ#wÃ�5!àÿ6Ã�Ù!àÿ~þoÂ�!Üÿ>w‡Ÿ#wÃ�5!àÿ~þuÂ�*!Üÿ> w‡Ÿ#wÃ�5!Üÿ>öw>ÿ#w*ü~þxÂ�L!Úÿ>w‡Ÿ#wÉÀ*ü~þbÂŽû!Þÿå*‚å*ƒ##"‡áÁ~#~!Úÿå*‚å*ƒ##"‡áÁ~#~ !Øÿ~#¶Ê�À!Úÿå!Úÿå!ØÿÁ – #žò�³!ÚÿN#FÃ�º!ØÿN#Fáywx#w!Ôÿ~#¶Ê�w!Úÿå!Ö ÿÁ – #žò�w!å!áÿåÍ�Ôññ!Öÿ~ Öw#~ÞwÉÊ*ü~þpÂŽo!Þÿå*‡Á~#~!Úÿå*‚å*ƒ##"†áN#FÅÍçñáywx#w!Øÿ~#¶Ê�À!Úÿå!Úÿå!ØÿÁ – #žò�_!ÚÿN#FÃ�f!ØÿN#Fáywx#wÉÀ*ü~þlÂ�ý!àÿ~þaÂŽ!Þÿå*‚å*ƒ##"‡áÁ}|a!âÿå!Þÿ~#fo#Á~!ãÿå!Þÿ~#foÁ~!äÿå!Þÿ~#fo###Á~!åÿå!Þÿ~#fo##Á~!Þÿå!âÿÁ}|!Úÿ>w‡Ÿ#wÉÀ*ü~þfÂ�Ì!Þÿå!â'ÿÁ}|!Úÿå!ØÿN#FÅ!å!ØÿÁy–Ox#žGÅ*‡ N#FÅ*‡ N#FÅ*‡ N#FÅ*‡N#FÅ!âÿåÍß!9ùáywx#w*‡}Æo|Îg"�Ã�À!Þÿå!âÿÁ}|!Úÿå!ÜÿN#FÅ*‡ N#FÅ*‡N#FÅ!âÿåÍ×ññññáywx#w*…####"�ÉÀ*ü~þdÂ�U!Þÿå!âÿÁ}|!Úÿå!Øÿ>–>#žòŒýÃ�!ØÿN#FÅ!å*‡ N#FÅ*‡ N#FÅ*‡ N#FÅ*‡N#FÅ!âÿåÍÏ!9ùáywx#w*‡}Æo|Îg"�ÉÀ*ü~þcʉy*ü~þsʉy*ü~þiÊ�y!àÿ~·Ê�²!àÿ~þaÂŽÍ!Þÿå*‚å*ƒ##"‡áÁ}|*ü~þcÂ�9!Úÿ>w‡Ÿ#wÃ� !Þÿ:úw:ÿ#w!Úÿ>w‡Ÿ#wÃ�À!Þÿå!âÿÁ}|!Úÿå!ÜÿN#FÅ*‚å*ƒ##"‡áN#FÅ!âÿåÍÇñññáywx#w*ü~þcʉÀ*ü~þsʉÀ*ü~þiʉÀ:ûÖ2ù:ûÞ2ùÃ�À!âÿå!Þ5ÿ~#fo#Á~!ãÿå!Þÿ~#foÁ~!Þÿå!âÿÁ}|!Úÿ>w‡Ÿ#wÃ� !Úÿ—–>#žò�™!ÚÿN#F Å!ÞÿN#FÅÍ�Ôññ!Ôÿ~#¶Â�U!Úÿå!Ö ÿÁ – #žò�U!å!áÿåÍ�Ôññ!Öÿ~ Öw#~ÞwÉ£ͯ!N#F Å!N#FÅ*’"å*‘ ͧñññ!y¾ÂŒx#¾Ê�! å!–$å!åÍ¿ñññ!åͲñØwrite error dtoe.r‡~ c.rets c.imod c.idiv c.r3 c.r2 c.dtd c.dneg c.r0 c.dcmp c.r4 c.ents dtoe. _dzero. _norm. _round.Íï!íÿ9ù!~#fo"æ!å!úåÍÙò�W!å!åá×~Õ#~Š5Ñ!ÒåÍÉÍÂñ*âå*â#"çá6-!øÿå!å! >+F+NÅ=ÂŽj!çÿå͇! 9ùáy$wx#w!øÿå!~#foå!~#foãÁ }Ö|ÞÒ�Á!~#foå!~#foãÁ MDÃ�ÄÅ!å!çÿå͇ñññá~�w#~ˆw>2»‡Ÿ2¹:»Ö:»Þò�5!:º–:»#žÒ‰5*âå*â#"çáå!çÿå*¿ãÁ Á~*º#"¿!øÿ~Öw#~ÞwÃ�æ!—–>#žÒ‰©*âå*â#"æá6.>2³‡Ÿ2µ!:²–:³#žÒ‰í*ºå*·ãÁ }Ö|Þò‰í*âå*â#"çáå!çÿå*¿ãÁ Á~*º#"¹*²#"±Ã‰Z*âå*â#"çá6e!øÿ#~·ò‰*âå*â#"çá6-!øÿå!øÿ~#fo>•o>œgÁ}|Ã�#!:²–:³#žÒ‰©*âå*â#"äá60*²#"±Ã‰í*âå*â#"äá6+*âå*â#"çáå!øÿN#FÅ! åͯá0 Á}*âå*â#"çáå!øÿN#FÅ! åͧá0 Á}*çå!Áy–Ox#žGØdtof.r] v c.rets c.r2 c.dtd c.dneg c.r0 c.dcmp c.r3 c.r4 c.ents dtof. _dzero. _norm. _round.Íß!êÿ9ù!~#fo"×!~#fo"Î!å!êåÍÁò‰b*Êå*Ê#"Ïá6-!å!åá¿~Õ#~ŠNÑ!ºåͱͮñ!éÿ"§!æÿå!å! >+F+NÅ=‰|*¢åÍ÷! 9ùáywx#w!äÿå!æÿ~#foå*×ãÁ Á}|!äÿ>–>#žò�Ê!äÿ>w‡Ÿ#w!æÿå!äÿN#FÅ!å!éÿåÍÿñññá~�w#~ˆw!å!æÿÁ – #žò�-!æÿ~#foå!Áy–Ox#žG*¢ "§!æÿå!Á~#~!æÿ—–>#žú‰e*Êå*Ê#"Ìá60!×—–>#žò‰Á*Êå*Ê#"Ìá6.Ã�Á!æÿ—–>#žò‰H*Êå*Ê#"Ëáå*§å!éÿÁy •OxœGyÖxÞÒ‰«*¢å*¢#"§á~O‡ŸGÃ�®0áyw! æÿ~Öw#~ÞwÃ�e!æÿ#~·ò‰!×—–>#žò‰*Êå*Ê#"Ïá60!æÿ ~Æw#~Îw:ÓÖ2Ñ:ÓÞ2ÑÉÁ!×—–>#žò‰c*Êå*Ê#"Ëáå*§å!éÿÁy •OxœGyÖxÞÒ‰J*¢å*¢#"§á~O‡ŸGÃ�M0áyw:ÓÖ2Ñ:ÓÞ2ÑÉ*Ïå!Áy–Ox#žGØcnorm.rÚt c.rets c.dsub c.itd c.r1 c.dti c.dmul c.ilsh c.ddiv c.r3 c.dtd c.dneg c.r0 c.dcmp c.r2 c.r4 c.ents _norm. _ntens. _dtens. _dzero.͇!öÿ9ù!~#fo"ƒ>2ƒ‡Ÿ2†!å!‚åÍùò�S!å!åá÷~Õ#~Š?Ñ!òåÍéÍâñ!‡å!åÍùò‰Ý*…ÿÿ "Ù!ß—–>#žòŽ…!å*Ü)))ƒ åÍùú�É!å!åá÷~Õ#~Š¡Ñ!òå*Ü)))ƒ åÍÑÍâñ*†å!å*Þÿÿ åÍÍáãÁ "�ËÉ>2Û‡Ÿ2Ý!:Ú–:Û#žÒ�l!øÿå!åá÷~Õ#~Š Ñ!òå!‚åÍÁÍ¿ñ!å!åá÷~Õ#~Š5Ñ!òå!‚åÍÁ!·å!øÿN#FÅͩ͡Íâñ*‚å*‚#"‡áå!øÿ~ #fo0 Á}*Ú#"ÙÃŽç!å!‚åÍùú�Ü!å!åá÷~Õ#~ЧÑ!òå!‚åÍÑÍâñ*‚#"�ÉÜ:ÛÖ2Ù:ÛÞ2ÙÉl*…ÿÿ "Ù!ß—–>#žòŽÝ!ðÿå*Ü)))„ åá÷~Õ#~Š Ñ!÷å!åÍÁÍá!‚åÍùò�Y!å!ðÿåÍæñ!å*Þÿÿ åÍÊá:‚•2�:‚œ2�:ÛÖ2Ù:ÛÞ2ÙÉæ*ƒMDØcpybuf.rÇl c.rets c.r3 c.r2 c.r4 c.ents cpybuf.Í¿!~#fo"·!~#fo"¯!~#fo"¡!§—–>#žÒ‰_*²å*²#"³áå*ªå*ª#"­áÁ~:£Ö2¡:£Þ2¡Ã�$!~#foMDØcround.rGá c.rets c.r2 c.r4 c.ents _round.Í·!~#fo"¯!#~·ú�…!å! Á – #žò‰…*¯å!~# foãÁ ~þ5ú�…!~#foÿÿ "¡:¢·ú‰‹*ªå*§ãÁ ~þ9‰Í*ªå*¦ãÁ 60:£Ö2¡:£Þ2¡ÃŒOÙ:¢·ò‰…*¯61!~#fo"¡!§—–>#žò‰Û*ªå*¦ãÁ 60:£Ö2¡:£Þ2¡É¢*ªå*¥ãÁ 4ÃŒ‹Øfinit.r/ \ c.rets onexit. _flush.þ lseek. exit. write. c.r2 c.r4 c.ents finit._pfio.\Íß!~#fo"×!~#fo"É!Ô~#¶Â�<!å!–då!åÍÇñññ!åͺñ*×å!Á~#~*× >w‡Ÿ#w*Ö å:Ëþ‰n:ËþÂ�Ÿ!å!—`##N#FÅ+++N#FÅ!N#FÅÍ·ññññx·úŒŸÿÿɤ*ÏMDáywx#w:Ëþ‰·:ËþʉÊ:Ëþÿ‰Ç:Ëþÿ‰ö*Õ :’\w:“]#w*Ñ"‘\!”^~#¶Â‰ö!Šþåͤñi`"‘^*ÓMDÙÍÙ*‘\"Ñ!Ô~#¶Ê‰C*× —–>#žò‰K*× N#FÅ*Ö å*ÕN#FÅÍÄñññÉK*“^MDÙ*× ~#fo"ÑÈbad finit call getc.rNÐ c.rets c.r4 c.ents getc. exit. write. read.ͯ!~#fo"¡!¤~#¶Â�1!å!–Ðå!åÍÇñññ!åͺñ*§ ~#¶‰y*§ å!å*¦ å*§ Á} | i`N#FÅ*¥N#FÅÍÏñññáywx#w*§ ~Ö w#~Þw+#~·ò‰¤*§ >ÿw>ÿ#wÿÿÙ*§ N#FÅ*§ ~Æw#~Îwá~O‡ŸGyæÿOxæGØbad getc call getl.rî A c.rets c.r3 c.r2 c.r4 c.ents getl. exit. write. read.Í¿!~#fo"·!~#fo"©!´~#¶Â�<!å!–Aå!åÍ×ñññ!åÍÌñ>2£‡Ÿ2¡*· ~#¶‰Ž*· å!å*¶ å*· Á} | i`N#FÅ*µN#FÅÍßñññáywx#w*· —–>#žú‰´*· >ÿw>ÿ#w*£MDÃ�!:¢–:£#žÒ‰*· —–>#žò‰*¢#"¡*· ~Öw#~Þw*ªå*· N#FÅ*· ~Æ w#~ÎwáÁ~*¬~þ ‰7*£MDÃ�!:¢–:£#žÚ‰F*£MDÙ*ª#"©Ãˆ´bad getl call itob.r©  c.rets c.umod c.udiv c.r2 c.r3 c.r4 c.ents itob. uldiv. ulmod.ÍÏ!~#fo"Á*Á"¿!#~·ò�O!—–>#žú�O!~#f o>•o>œg"±*ºå*º#"¼á6-Ã�Z!~#fo"·!~#¶Â�r!> w‡Ÿ#wÃ�—!#~·ò�—!å!~#fo>•o>œgÁ}|!:²–:³#žÚ�Ï!N#FÅ*·å!N#FÅÍ©*ºåÍŒñññ*º "¹*ºå*·å!N#FÅͧá0 Á}*¼>9¾ò‰ú*½~Æ'w*ºå!ÇÁy–Ox#žGØltob.rY ¢ c.rets c.ladd c.r1 c.lclt c.lneg c.r0 c.r2 c.r4 c.ents ltob. uldiv. ulmod.Íßõõ!~#fo"Ñ*Ñ"Ï!#~·ò�n! —–>#žú�n!å!åáÇ~#~#~#~!ÂåÍ¿áÁ~#~ #~#~*Êå*Ê#"Ïá6-! ~#¶Â�†! > w‡Ÿ#wÃ�«! #~·ò�«! å! 5~#fo>•o>œgÁ}|!öÿå! Á#~‡Ÿ~+~ !#~·ú�Þ!å!öÿåͱú�1! N#F$Å!öÿ##N#FÅ+++N#FÅ!##N#FÅ+++N#FÅÍíññññ!Ç##N#FÅ+++N#FÅ*ÊåÍ�ññññ*Ê "É*Ïå!öÿ##N#FÅ+++N#FÅ!##N#FÅ+++N#FÅÍõññññ!Äå>02«‡Ÿ2©2©2©!ªåͧáÁ##~*Ì>9¾ò‰�*Í~Æ'w*Êå!×Áy–Ox#žGØputc.r[—) c.rets c.r2 c.r4 c.ents putc. exit. write.Í·!~#fo"¯!~#fo"¡!¬~#¶Â�<!å!–±å!åÍÏñññ!åÍÂñ:¢·ú‰‚*¯ ~Ö#~Þò‰š*¯ N#FÅ*¯ ~Æ w#~Îwáå*¯ ãÁ :¢wÉ*¯ —–>#žú‰0*£MDÙ*¯ N#FÅ*® å*­N#FÅÍÍñññÅ*¯ Áy¾ÂŒËx#¾Ê�ë! å!–¤å!åÍÏñññ!åÍÂñÉ*¯ >w‡Ÿ#w*­ :¢w:£þ ‰:£þ‰(*¯ ~þÿÂ�%#~þÿ‰‚*£MDÙ*¯ N#FÅ*® å*­N#FÅÍÍñññÅ*¯ Áy¾ÂŒax#¾Ê��! å!–—å!åÍÏñññ!åÍÂñÙ*¯ >w‡Ÿ#w*£MDØ)write error write error bad putc call putl.r½é) c.r3 c.rets c.r2 c.r4 c.ents putl. exit. write.Í¿õ!~#fo"·!~#fo"©!´~#¶Â�@!å!–å!åÍ×ñññ!åÍÊñç!~#fo"™!Ÿ—–>#žòŽÞ!øÿå*¶ å*· ~#f oãÁ Á}|!Ÿ—–>#žò‰l*· ~Ö#~Þò�l!øÿN#FÅ!øÿ~Æw#~Îwáå*ªå*ª#"­áÁ~:›Ö2™:›Þ2™*· ~Æw#~ÎwÉx*· ~þÿÂ�ï#~þÿʉË*· ~#¶ʉË*· ~#foå*· ãÁ ~þ ‰Ë*· N#FÅ*¶ å*µN#FÅÍÕñññÅ*· Áy¾ÂŒLx#¾Ê�Ø! å!–éå!åÍ×ñññ!åÍÊñÉË!Ÿ—–>#žò�K!å*¶ å*µN#FÅÍ×ñññyþÂŒšxþÊ�º! å!–öå!åÍ×ñññ!åÍÊñÉK*· >w‡Ÿ#wÃ�K!~#foMDá*· >w‡Ÿ#wÈË)write error write error bad putl call putstr.r”B c.rets c.r4 c.ents putstr. write. lenstr.Í­!"¡*¤~#¶Ê‰?*¥N#FÅÍÃñÅ*§N#FÅ!N#FÅͼñññ*£##"¡Ã‰ Øsubbuf.rlÿ c.rets c.r4 c.r2 c.r3 c.ents subbuf.Í¿!~#fo"¶!å*·å!Áy–Ox#žGi`å! ~#foãÁ Á • œÚ‰¥*·å!~#foÁ ¾Â‰²*±"¯!~#fo"¡*¯å!Áy–Ox#žG!y–x#žÒ‰¼*§å!Áy–Ox#žG! ~‘#~˜Ú‰¼*ªå*¤Á ¾Ê‰îÃ�¼!~#foMDÙ*²#"±Ã‰*§å!Áy –Ox#žG! y¾ÂŒØx#¾Â‰²*·å!Áy–Ox#žGÙ*¢#"¡*ª#"©Ãˆ]create.rU c.ret c.ent create. _copen.ͧ!N#FÅ!å!N#FÅÍ´ñññØlseek.rÏ ( c.llsh c.r0 c.r4 c.ladd c.r2 c.rets c.r3 c.ents lseek. _ckfd. _setex.Í×õ!N#FÅÍäñi`"É!Ì~#¶Ê‰**Ï ~·òŒ0ÿÿÃÁ*Ï ~#fo"¿! ~#¶‰f*¿$ å!Á~#~#~#~Ã�! ~þÂ�t#~þ‰‹*¿$ å!åͲñË>2«‡Ÿ2­!å*ªå*ÊåÍîñññx·úŽÐ!øÿå*¿ Á~‡Ÿ*¯}Æ€o|Îg"©Ã‰•*¾$ å*¯å!øÿ~# foãÁ |‡Ÿ2¡2¢|2¢}2¡!¦å!åÍž!åÍ·áÁ~#~#~#~!~#foMDÃÀread.r/ í, c.ladd c.r0 c.switc c.r2 c.r4 c.rets c.r3 c.ents read. _ckfd. cpm. exit. _rdwr.Í×!N#FÅÍäñi`"É!Ì~#¶ÂŒ#ÿÿÃÁ*Ï ~#fo"¿!~#fo"·!—–>#žò‰g*Ï ~·ò‰z*Ï ~O‡ŸG!‘íé*·å!Áy–Ox#žGÃÅ!å*ÊåÍûññ!‘ùé!¼~#¶ÂŒœÃÁ*¿! ~·Â‰*¿* 6}*¿* å! åÍïññ! å!åÍëññ*¿! åÅ*¿+ Á~O‡ŸGáyw*¾" å*¿, Á}|*¿" ~#foåÅ*¿+ Á~O‡ŸGá 6 *²å*¿" N#FÅ*¿" ~Æ w#~ÎwáÁ~*¾! 5*Ï~O‡ŸGyæ OxæGy°Â‰�*²#"·!~Öw#~ÞwÉ<*·å!å!åÍîññáywÃŒGÃÁ*´~þ ʉ<*³~·Ê‰<*´~þʉg*´~þ ‰Ç*·å!Áy–Ox#žGÃÁ*²#"·!~Öw#~ÞwÃŒ<ÿÿÃÁ*·å!Áy–Ox#žGÃÇ!—–>#žò‰<*¿! ~·Ê‰<*²å*¿" ~#foÁ~*Ï~O‡ŸGyæ OxæGy°Â‰Š*²#"·!~Öw#~Þw*¾! 5*¿" ~Æw#~Îw*¿$ å>‡Ÿ2¡2£>2£>2¡!¢åÍšñÉ÷*¶~O‡ŸG!‘é*·å!Áy–Ox#žGÃÁÉKÉKÊKÅ*Ï Á~O‡ŸGyþÿÂŒËxþÿÂ�Ö!åÍòñ*²#"·!~Öw#~ÞwÈKŠsþÿŒ�ÿÿˆŠŠäŒÞÿÿˆ÷Š´Š® Š«Œ˜ˆÖbtoi.r°Ö c.rets c.imul c.r3 c.r2 c.r4 c.ents btoi.ÍÇõõõ!~#fo"¿!~#fo"³>2«‡Ÿ2­!öÿ:ºw:¿#w!ôÿ>w‡Ÿ#w!·—–>#žÒ‰\*¼> ¾ò‰–*¼~þò‰–!·—–>#žÒ‰°*¼~þ-Â�=!ôÿ>w‡Ÿ#w*º#"¹:³Ö2±:³Þ2±ɰ:³Ö2±:³Þ2±*º#"¹Ã�>! ~þÂ�¾#~þ‰`:³Ö:³ÞÚ‰`*¼~þ0‰`*¿ ~þAú‰*¿ >Z¾úŠÅ*¿ Á~O ‡ŸG! MDÊÅ*¿ Á~O‡ŸGyþxÂŒxþ‰`*»##"¹:³Ö2±:³Þ2±É`*¼~þ+‰°*º#"¹:³Ö2±:³Þ2±ɰ!·—–>#žÒ‰˜*¼~þ0ú‰*¼>9¾úŽ!øÿå*¿~O‡ŸG!Ð ÿ Á}|Ã�(!~#f oå!ôÿ~#¶Ê‰»*¯MD>‘O>˜GÉÀ*¯MDáywx#w!·—–>#žÒ‰Ã*¼~þAú‰õ*¼>Z¾ú‰õ*¿~O‡ŸG!  MDÉý*¿~O‡ŸGyþlÂŒxþ‰Ã*º#"¹Ã‰Ã*¼~þaú‰a*¼>z¾ò‰sÉa*¯å! N#FÅͧáå!øÿ~#foãÁ "©:³Ö2±:³Þ2±*º#"¹Ã‰`*¼~þAú‰˜*¼>Z¾úŽ˜!øÿå*¼~þAú‰›*¼>Z¾ú‰›*¿~O‡ŸG!  MDÉ£*¿~O‡ŸG!©ÿ Á}|!øÿå! Á – #žú‰(ɘ*¿å!öÿÁy–Ox#žGØbtol.ru X c.rets c.ladd c.lmul c.r1 c.lneg c.r0 c.r3 c.r2 c.r4 c.ents btol.Íçõõõõ!~#fo"ß!~#fo"×!ôÿ—w# w#w#w!øÿ:Úw:ß#w!òÿ>w‡Ÿ#w!×—–>#žÒ‰_*Ü> ¾ò‰™*Ü~þò‰™!×—–>#žÒ‰³*Ü~þ-Â�@!òÿ>w‡Ÿ#w*Ú#"Ù:ÓÖ2Ñ:ÓÞ2Ñɳ:ÓÖ2Ñ:ÓÞ2Ñ*Ú#"ÙÃ�A! ~þÂ�Á#~þ‰c:ÓÖ:ÓÞÚ‰c*Ü~þ0‰c*ß ~þAú‰ *ß >Z¾úŠ Å*ß Á~O ‡ŸG! MDÊÅ*ß Á~O‡ŸGyþxÂŒ"xþ‰c*Û##"Ù:ÓÖ2Ñ:ÓÞ2ÑÉc*Ü~þ+‰³*Ú#"Ù:ÓÖ2Ñ:ÓÞ2Ñɳ!×—–>#žÒ‰•*Ü~þ0ú‰Q*Ü>9¾ú‰Q*ß~O‡ŸGi`Ðÿ "ÉÃ�f!~#f oå!òÿ~#¶Ê�Û!ôÿåáÇ~#~#~#~!ÂåͺáÇ~#~#~#~Ã�ð!ôÿÇ~#~# ~#~á:Âw:Ã#w:Ã#w:Ã#w!×—–>#žÒ‰E*Ü~þAú‰3*Ü>Z¾ú‰3*ß~O‡ŸG!  MDÉ;*ß~O‡ŸGyþlÂŒDxþ‰E*Ú#"ÙÉE*Ü~þaú‰ì*Ü>z¾ò‰þÃ�ì!ôÿå!ôÿåáÇ~#~#~#~!Çå! #~‡Ÿ2±2²~2³+~2±!²åÍ©:ˇŸ2±2±:É2±:É2±!²åͧáÁ~#~ #~#~:ÓÖ2Ñ:ÓÞ2Ñ*Ú#"ÙÉc*Ü~þAú‰•*Ü>Z¾ú‰•*Ü~þAú‰!*Ü>Z¾ú‰!*ß~O‡ŸG!  MDÉ)*ß~O‡ŸGi`©ÿ "Í! :Ê–:Ë#žú‰fÉ•*ßå!øÿÁy–Ox#žGØcfcon.riB_ntens.@_dzero.8_dtens.B€@ BÈCG@¾M ¼[É¿�u­Å+¨·plenstr.r�8 c.rets c.r2 c.r4 c.ents lenstr.Í·!~#fo"©*©"¡*£~·Ê‰&*¢#"¡Ã‰*¢å!¯Áy–Ox#žGØcopen.rR „? onexit. _getnam _clrbuf alloc. _wcbs. _copen.Þ c.r2 c.r3 c.rets cpm. close. c.r4 c.entsÍû>2ó‡Ÿ2ñ:óÖ:óÞò‰,*òåÍêñ*ò#"ñÉ :—†O‡ŸGÅ!åÍãññ*“„MDÃÙÍÿõ!~#fo"õ!øÿ—‡ywx#w!ø ÿ~#fo~#¶Ê‰©*ñ"×!øÿ~#fo~#fo"É*Òå*ÌÁ ¾Â‰¿*Ë~·Ê‰¿*Ò#"Ñ*Ê#"ÉÃŒƒÃß!øÿ~Æw#~ÎwÉ`*Òå*ÌÁ ¾Â�¯!øÿ~#f o##~O‡ŸGÃÙÍÿ!ôÿ9ù!~#fo"ñ:“†þÂ� !å!åÍäññy2—†!öÿ>w‡Ÿ#w!öÿ~Ö#~Þò�6!öÿ~#fo))¼ ~·Â�J!öÿ~Ö#~ÞúŒZÿÿÃß!öÿ~Æw#~ÎwÃ�!øÿå!ö ÿ~#fo))¿ Á}|!øÿ~#fo6!!~#¶Â�“!øÿ~#fo~öw!øÿ~#fo##>w‡Ÿ#w!îÿ:òw:õ#w>2ˇŸ2É*ô~þ:ʉ*ó~·Ê‰:ËÖ:ËÞò‰P*Êå*Ê#"Ïáå!ñÿãÁ å*ô~þaú‰*ô>z¾ú‰*÷~O‡ŸG!àÿ MDÉ*÷~O‡ŸGáywÃŽP!ñÿå*ÎãÁ 6*ô~þ:Ê�Z!îÿ~#fo"÷!øÿ~#fo#:’†wÉ�*ò#"ñÃ�»!øÿ~#f o#å!ñÿåÍ�Eñáyw~þÂ�ˆ!öÿN#FÅÍíñÿÿÃÙ*ò#"÷!øÿ~#fo#~·ò�È!øÿ~#f o#~O‡ŸGyþÿÂŒ´xþÿÂ�#!~þÂ�Å#~þÂ�#!å!ªå͵ññi`"×!øÿ~#fo##:Òw:×#w!ªå*ÒåÍ«ññ*×( >ÿw>ÿ#w!øÿ~#fo#~·ò�0!öÿ~#foMDÃß!öÿ~#foMDÃÙ*òå*ÒåÍ�ññ!øÿ~#fo#~O‡ŸGÅ!åÍçññ!~#fo}æûo|æÿg}þÂŒn|þ‰•*Öå!åÍåññx·ò�ü!öÿN#FÅÍíñÿÿÃÙ*Öå!åÍçññ!~þÂ�°#~þÂ�Ì!öÿN#FÅÍïñ!öÿ~#foMDÃÙ*Öå!åÍåññx·ò�ð!öÿN#FÅÍíñÿÿÃß!øÿ~#fo~öw!”„~#¶Â‰!ŠåÍœñi`"—„!öÿ~#foMDÃÙÍÿ!~#fo"÷!~#fo"Ë>2Ó‡Ÿ2Ñ*Ì~þ.ʉ°*Ë~·Ê‰°:ÓÖ:ÓÞò‰¦*Òå*Ò#"Óáå*÷ ãÁ å*Ì~þaú‰›*Ì>z¾ú‰›*Ï~O‡ŸG!àÿ MDÉ£*Ï~O‡ŸGáyw*Ê#"ÉÉB:ÓÖ:ÓÞò‰Ù*Òå*Ò#"Óáå*÷ ãÁ 6 ɰ*Ì~þ.‰é*Ê#"Ë>2Ó‡Ÿ2Ñ*Ë~·Ê‰X:ÓÖ:ÓÞò‰X*Òå*Ò#"Óáå*÷ ãÁ å*Ì~þaú‰C*Ì>z¾ú‰C*Ï~O‡ŸG!àÿ MDÉK*Ï~O‡ŸGáyw*Ê#"ÉÉó:ÓÖ:ÓÞò‰�*Òå*Ò#"Óáå*÷ ãÁ 6 ÉXÃØ’Á’¿’½’»’·ÿ’³þ’¯ý—«üLSTPUNRDRCONDCBAclose.r×s c.rets c.r4 c.ents close. _ckfd. free. _wblk.ͯ!N#FÅͼñi`"¡!¤~#¶ÂŒ#ÿÿÙ*§ ~#¶ʉa*§~O‡ŸGyæ OxæGy°Â�a!å*¢åÍËññ*§ N#FÅÍÂñ*§6!~#foMDØalloc.rZ¼* _hmergeH free.é sbreak. _breakug c.udiv c.r3 c.r2 exit. write. c.rets c.r4 nalloc.K c.ents alloc.Íÿ!N#F Å!N#FÅÍ�Kññi`"é!ì~#¶Ê‰.*ëMDÃå!å!–Äå!åÍßñññ!åÍÒñÃáÍÿõõõ!~#fo"é:ëÖ:ëÞÒŒoÉt*ïMDi`#}æ þo|æÿg##"é!‘¾"É*Í~#fo"Á!Ä~#¶Ê‰Û*Ç~#fo####å!ïÁy–x#žÚ‰ý*Âå!ïÁ – #žÒ‰ *Êå*Ç Á~#~É!:“¼þ‰è:“½þʉ@*–¼å!åͺá"‘¼É@*Å "ÉÉŠ*Êå*êå*ÂåÍ�gññáywx#w*Ç å! Á~#~*Ç MDÃç!øÿ>w‡Ÿ#w!é:’¼–:“½#žÚ�”!øÿå!ôÿ:’¼w:—½#w+N#FÅͯñáywx#w+~#¶Â‰”*–¼å!åͺá"‘¼Ã�K!øÿ~#¶Â�¿!øÿå!ôÿ:êw:ï#w+N#FÅͯñáywx#w!øÿ~#¶ÂŒÏÃç!øÿ~#foå!ôÿ~#foüÿ Á}|!”À~#¶Â�þ!øÿ~#fo"—À!öÿå!øÿÁ~#~!öÿ~#foå!ôÿ~#foãÁ :’•:’ÜÒ�F!öÿ~#foå!ôÿ~#foãÁ MDÉK*•ÂMDi`"—Â!å!øÿ ~#fo##åÍ‹éññÉ„Íÿõ!~#fo"ï!~#fo"Í!øÿ:êw:ï#w+~#foå*ÌãÁ "Á*Âå*î~#foå!ÏÁy–Ox#žGáywx#w*Æ å*ï Á~#~*êå*Ïüÿ Á}|*ÃMDÃáÍÿ!~#¶Ê�Q!~#foþÿ "É*Ï~#fo}æo|æg}´Â‰7!‘À:Ê–:Ë#žÚ‰7!‘Â:Ê–:Ë#žÚ�^!å!–×å!åÍßñññ!åÍ×ñ!~#foMDÃá!”¾~#¶Â‰~*Ï >w‡Ÿ#w*É"‘¾ÉQ!‘¾:Ê–:Ë#žÒ‰®*Í :’¾w:“¿#w*É"‘¾*ÊåÍŠHñÉQ*‘¾"é*ï ~#fo"Á!Ä~#¶Ê‰ã!É:–:Ã#žÒ‰ã*Á"éÉ´!Ä~#¶Ê‰*Í :Âw:Ã#w*í :Êw:Ë#w*ÊåÍŠHñ*êåÍŠHñÉQ*Ï >w‡Ÿ#w*í :Êw:Ë#w*êåÍŠHñÉQÍÿ!~#fo"é*é"Á*ï ~#fo"É*Âå*ï~#foãÁ ####å!ÌÁy¾ÂŒ‰x#¾Â‰¹*êå*Ï~#fo### #Á … Œ*î å*Ï Á~#~Ãà*out of heap space bad free call exit.rºP c.rets c.r4 c.ents c.ihl c.ent exit. onexit.4͹!”P~#¶Ê‰+!‰4:’P½Â‰:’Q¼Ê‰+*‘Pͳi`"‘PÉ*‘RͱÉ+Í©*‘P"§!~#fo"‘P*£MDØŠ4sbreak.r¨a c.ret c.ent sbreak. _memoryͧõõõõ!øÿ:’aw:“b#w*—aå!~#foãÁ "•a!øÿ:’a•:’bœÒ‰C!±:’a•:’bœÒ�T!øÿ~#fo"”aß!øÿ~#foMDذwrite.r4  write.Ñ _ckfd. c.ladd c.r0 _rdwr. c.r2 c.switc c.rets exit. cpm. c.r3 c.r4 c.entsÍÿ!~#fo"÷!~#fo"ï!—–>#žò�Z! åÍçñyæOxæGy°Ê�m!åÍåñyþÂŒLxþÂ�m!åÍÚñÉm*ïå!Áy–Ox#žGÃÑ*÷ ~·ò‰‹*÷ ~O‡ŸG!‘ ÃÉ*÷ ~#fo"Å!å*òå;ññyþÿÂŒ¯xþÿÂŒÿÿÃÑ*ï~O‡ŸGÅ!åÍçññ!~ Öw#~Þw*ê#"éÉ*ï~O‡ŸGÅ!åÍãññÉÊ*ï~O‡ŸGÅ!åÍãññÃ�Ê!~#foMDÃ×!—–>#žò‰™*Ç! ~·Ê‰™*Ç" N#FÅ*Ç" ~Æ w#~Îwáå*êå*ê#"íáÁ~*Ç$ å>‡Ÿ2±2³>2³>2±!²åͯñ!~Öw#~Þw*Æ! 5É*÷~O‡ŸGyæ OxæGy°Ê‰Ç*Ç! ~·Ê‰Ç*Ç" ~#fo6*õ~öwÉÍÿ!N#FÅͤñi`"é!ì~#¶ÂŒôÿÿÃÑ*ï~O‡ŸGyæ OxæGy°Â�&!N#F Å!N#FÅ*êåÍŒñññÃ×!~#fo"÷!—–>#žò‰q*ñ"Ç!—–>#žò‰„*ô~þ ʉ„*ò#"÷!~Öw#~ÞwÉD*÷å!Áy–Ox#žGÃÑ*òå!ÇÁy–Ox#žGÅ*Âå*êåÍ�ñññÅ*òå!ÇÁy–Ox#žGá}¹Â‹º|¸ÊŒÃÿÿÃ×!—–>#žò�1!å!’å*êåÍ�ñññyþÂŒëxþÊŒôÿÿÃÑ*ò#"÷!~Öw#~ÞwÈ1ŠöüÿŠáýÿŒ¸ÿÿ‹  ckfd.rŽD c.rets c.r4 c.ents _ckfd. _wcbs.ͯ!~#fo"¡:¢·ú‰0:£Ö:£Þò‰0*£))¼ ~·ÂŒ6Ù*£))¼ MDØwcbs.rê_wcbs.ª- ÿ— ÿ ÿ5wblk.rÔx c.irsh c.switc cpm. _clrbuf6 _setex. _wblk. c.rets c.r3 c.lrsh c.r0 c.r2 c.r4 c.ents _rdwr.Íÿõ!~#fo"ñ*÷ ~#fo"î!øÿå*ï$ åáç~#~#~#~!æå!åÍßáÁ##~#~Å*ï$ Á##N#Fi`}æo|æg"Ñ*ï! å!€å!×Áy–Ox#žGáyw*î" å*î* å*×ãÁ Á}| !~#¶ÂŽË!øÿå*ï( Á ¾Â� #¾ÂŒËÃÍ!å*òåÍ�ññx·ú�ü!N#F Å!øÿN#FÅ*òåÍŽñññx·òŒÿÿÃÊÅ*ï Á~O‡ŸGÅÅ*ï Á~O‡ŸGyæÿOxæGá}‘|˜úŒ5ÃŽ8i`"Ö!øÿå*ï( Á ¾Â�S #¾Â‰^*ÓMDÃÉ*ï( å!ø ÿÁ~#~!Ô~#¶Ê�‘!€å*î* åÍŽ6ññÃÊÅ*÷ Á~O ‡ŸGÅ!åÍ«ññ*ï* å!åÍ«ññ*îå!åÍ­ññi`"×!€å!åÍ«ññ*ÓMD!‘xäÃÍ!€å*î* åÍŽ6ññÃÉÃÉÍÿ!~#fo"ñ*÷ ~#fo"é*÷~O‡ŸGyæ OxæGy°Ê�`!å*ï( N#FÅ*òåÍ�ñññyþÿÂŒWxþÿÂŒ®ÿÿÃÏ!~#¶ʉ*÷~O‡ŸGyæ OxæGy°ÊŠÅ*÷ Á~O ‡ŸGÅ!åÍ«ññ*îå!åÍ«ññ*õ~æÏwÊÅ*÷ Á~O ‡ŸGÅ!åÍ«ññ*ï* å!åÍ«ññ*îå!åÍ­ññi`"×!€å!åÍ«ññ!Ô~#¶ÊŒÿÿÃÉ*õ~æýw*õ~öwÃŒ`ÃÉÍÿ!~#fo"ñ*÷ ~#fo"×!N#FÅ!åÍšá"êÅ*× Á~O‡ŸG:ê¹Â‰d:ê¸Â‰|*÷~O‡ŸGyæ OxæGy°ÂŠÅ*÷ Á~O ‡ŸGÅ!åÍ«ññ*÷~O‡ŸGyæ OxæGy°Ê‰Á*Öå!åÍ­ññx·òŒÁÿÿÃÉ*õ~æÏw*Õ :êw*Öå!åÍ­ññx·ò�!~#¶‰*Öå!åÍ­ññx·ò‰*÷~öwÿÿÃÉ*õ~ö w*× å!~#fo}æo|ægÁ}ÃÉÍÿ!~#fo"÷!~#fo"é:ëÖ2é:ëÞ2é:ê·ú‰u*ó6*ò#"ñÉOÃÈŠêŒäˆûfill.r›P c.rets c.r2 c.r4 c.ents fill.Í·!~#fo"¯!~#fo"¡!§—–>#žÒ‰C*¯å!Á~:£Ö2¡:£Þ2¡Ã�!~#foMDØlower.rÌx c.rets c.r2 c.r4 c.ents lower.Í·!~#fo"«>2£‡Ÿ2¥!:¢–:£#žÒ‰k*ªå*¬~þAú‰O*¬>Z¾ú‰O*¯~O‡ŸG!  MDÉW*¯~O‡ŸGáyw*¢#"¡*ª#"©Ã�!~#foMDØsqze.ræ… c.rets c.r2 c.r3 c.r4 c.ents squeezeÍ¿!~#fo"·!~#fo"©*©"¡!·—–>#žÒ‰X*§~O‡ŸG!y¾ÂŒ?x#¾Ê‰k*ªå*ª#"«áå*¤Á~Ék*¯å!Áy–Ox#žGÙ:³Ö2±:³Þ2±*¢#"¡Ãˆuÿdecode.r‰ ú c.rets c.r3 c.r2 c.r4 c.ents c.ret _putf. _dcodx.] c.ent decode.Íß!ôÿ9ù!ô<ÿå!Á~#~!öÿå!Á~#~!øÿ>w‡Ÿ#w! å!N#FÅ!ôÿå!Š]åÍÏññññ!øÿ~#foMDÃÁÍ¿!~#fo"·!~#fo"¯!~#fo"¡!§—–>#žò‰í*¶ å*· Á – #žÒ‰í*µN#FÅ*·~Æw#~Îwáå*ªå*ª#"­áÁ~*· ~Æw#~Îw:£Ö2¡:£Þ2¡Ã��!~#foMDØerrfmt.rb" c.ret c.ent errfmt. write. _putf.ͧ!å! N#FÅ!å!²åͽññññØputf.rf& c.ret c.ent putf. putl. _putf.ͧ!å!N#FÅ!N#FÅ!²åͽññññØputfmt.rm" c.ret c.ent putfmt. putl. stdout. _putf.ͧ!å!N#FÅ!ºå!²åÍÅññññØencode.ri Û c.rets c.r3 c.r2 c.r4 c.ents c.ret _getf. _ncodx.H c.ent encode.Íß!öÿ9ù!ö1ÿå!Á~#~!øÿå!Á~#~! å!N#FÅ!öÿå!ŠHåÍÍññññÃÁÍ¿!~#fo"·!~#fo"«>2£‡Ÿ2¡*· —–>#žÒ�Ó!:¢–:£#žÒ‰Ó*ªå*ª#"«áå*·~#foÁ~*· ~Öw#~Þw*¢#"¡*µN#FÅ*·~Æw#~Îwá~þ ‰k*£MDØgetfmt.rm" c.ret c.ent getfmt. getl. stdin. _getf.ͧ!å!N#FÅ!ºå!²åÍÅññññØgetf.rf& c.ret c.ent getf. getl. _getf.ͧ!å!N#FÅ!N#FÅ!²åͽññññØcgetf.rÈ B  c.ret c.ihl c.ent btoi. c.dtf c.dtd btod. btol. cpybuf. c.lor c.r1 c.llsh c.r0 c.r3 c.r4 _getx. c.r2 c.rets c.ents _getf.͇!Üý9ù!~#fo"—B !~#fo"—D !~#fo~·ÂŒ1Ç!ðÿå!å!Öý"�*‚åÍ� ññáywx# w+—–>#žúŒ`ÿÿÇ!ôÿ>w ‡Ÿ#w!~#fo"�*ƒ~·Ê‰­*„~þ%ʉ­*„~þ ʉ­*‚å*„Á ¾Â�Â!ðÿ—–>#žú‰ÏÉÂ*ƒ~·Â�í!ôÿ~#foMDÇ!ôÿ~#foMDÃ�*‚#"‡!ðÿ~Öw#~Þw*‚#"�Év*„~þ Â�P!ðÿ>w‡Ÿ#w*‡ ~·Ê�<!ðÿå!å!Öý"�*‚åÍ� ññáywx# w+—–>#žú�<!ôÿ~#¶Ê�J!ôÿN#FÃŒMÿÿÃ�*‚#"‡!øÿ>w ‡Ÿ#w!×ÿ6 *„~þ-Â�‘!øÿ>w ‡Ÿ#w!×ÿå*‚#"�*„Á~ɬ*„~þ+ÂŽ¬!×ÿå*‚#"�*‡Á~!îÿ>w‡Ÿ#w*„~þ0ú‰û*„>9¾úŽû!îÿå*‡~O‡ŸG!îÿ~#foÅMD)) )Á Ðÿ Á}|*‚#"�Ã�·!òÿ>w‡Ÿ#w*„~þ.‰Z*‚#"�*„~þ0ú‰Z*„>9¾úŽZ!òÿå*‡~O‡ŸG!òÿ~#foÅMD)) )Á Ðÿ Á}|*‚#"�É*„~þaʉ~*„~þhʉ~*„~þoʉ~*„~þuÂŽª!Öÿå*‚å*‚#"‡áÁ~!Öÿ~þhÂ�³!öÿ>w‡Ÿ#wÃ�Ö!Öÿ6Ã�’!Öÿ~þoÂ�Ë!öÿ>w‡Ÿ#wÃ�Ö!öÿ> w ‡Ÿ#w!Úÿ:‚w:‡#w!èÿå!ðÿÁ~#~!îÿ—–>#žò‰�*�"‡!êÿå!îÿå!ðÿÁ – #žò�(!îÿN#FÃ�/!ðÿN#Fáywx#w!êÿ—–>#žò�h!êÿ~#foå*‡ÿÿ ãÁ ~þ Â�h!êÿ~Öw#~Þw*‡å!êÿ~#foãÁ "‡!ðÿå!ê ÿÁ – #žÃ�!ðÿ—–>#žò‰®*„> ¾ò‰ê*„~þò‰ê*�"‡!ðÿ—–>#žò‰*„> ¾ò‰*„~þò�!ðÿ~Öw#~Þw*‚#"�Ã�´!ðÿ~Öw#~Þw*‚#"�ÃŽ�!êÿå*‚å!‡Áy–Ox#žGáywx#w!øÿ~#¶Ê�W!êÿ—–>#žò‰²*‡å!×ÿÁ ¾Â�²!êÿ~Öw#~Þw*‚#"�Ã�%!Øÿå!êÿ~#foå*‡ÿÿ ãÁ Á}|!êÿ—–>#žò�²!Øÿ~#f oå!×ÿÁ ¾Â�²!êÿ~Öw#~Þw!Øÿ~Öw#~ÞwÉu*„~þxʉ<*„~þbʉÍ*„~þpÂ� !òÿ~#¶Ê�ž!êÿå!êÿå!òÿÁ – #žò�ù!êÿN#FÃ�!òÿN#Fáywx#wÉž*„~þlÂ�Q!Öÿ~þaÂ�f!Üÿ—w#w#w#w!êÿ—–>#žò�¢!Üÿå!Üÿåáÿ~#~#~#~!þå!åÍñ*‚å*‚#"ƒÁ 2뇟2é2é2é!êåÍçáÁ~#~#~#~!êÿ~Öw#~ÞwÃ�(!êÿN#FÅ*‡å! ~#foN#FÅÍÜñññ*„~þpÂ�ü! ~#f.o~#foå!êÿ~#foãÁ 6! ~Æw#~Îw!ôÿ~Æw#~ÎwÃ�<! ~Æ?w#~Îw! N#FÅ! ~Æw#~Îwá~#foå!êÿÁ~#~!ôÿ~Æw#~Îw!å*‡ Á}|Ék*„~þdʉà*„~þf‰Ã�à!öÿN#FÅ!Üÿå!êÿN#FÅ*‚åÍ×ññññ!êÿy¾ÂŒ’x#¾Ê�¢!ôÿ~#foMDÇ! N#F5Å! ~Æw#~Îwá~#foå!ÜÿÁ~#~#~#~!ôÿ~Æw#~ÎwÃ�<!àÿå!êÿN#FÅ*‚åÍÏñññ!êÿy¾ÂŒx#¾Ê�:!ôÿ~#foMDÃ�*„~þcʉž*„~þiʉž*„~þsÊ�ž!Öÿ~·Ê‰Éž*„~þdÂ�j! N#FÅ! ~Æw#~Îwá~#foå!àÿåÍÂñÃ�Ž! N#FÅ! ~Æw#~Îwá~#foå!àÿåÍ¿ñ!ôÿ~Æw#~ÎwÃ�<!Öÿ~þaÂ�G!ìÿ>w‡Ÿ#w!êÿ—–>#žòŽƒ!ìÿå*‚å*‚#"‡á~O‡ŸG!)ìÿ~#fo))))))))}±o|°gÁ}|!êÿ~Öw#~ÞwÃ�³!èÿ—–>#žò� !Úÿ~#foå*„Á ¾Â� !Úÿ~#fo#"‡!ðÿå!èÿ~#foÿÿ Á}|Ã�<!öÿN#FÅ!ìÿå!êÿN#FÅ*‚åÍ·ññññ!êÿy¾ÂŒsx#¾Ê�ƒ!ôÿ~#foMDÃ�*„~þcÂ�±! N#FÅ! ~Æw#~Îwá~#foå!ìÿÁ~Ã�×! N#F-Å! ~Æw#~Îwá~#foå!ìÿÁ~#~!ôÿ~Æw#~Îw*„~þcʉ<*„~þiʉ<*„~þsʉ<:ƒÖ2�:ƒÞ2�Ã�<!ôÿ~#foMDÃ�ͯ!N#F Å!N#FÅ*’D å*‘B ͤñññØcputf.r   c.ret c.ihl c.ent exit. write. itob. dtoe. ltob. dtof. lenstr. c.rets _putx.Ô c.r3 c.r2 c.r4 c.ents _putf.͇!Úÿ9ù!~#fo"‡! ~#fo"‡!~#fo"— !~#fo"‘"*�"ù*û~·Ê‰b*ü~þ%ʉb*ú#"ùÉ:*ý "�É4!ù:‚–:ƒ#žÒ‰Š*úå!‡Áy–Ox#žGÅ*‚åÍ‹Ôññ*úå*ú#"üá~·Â‰žÃï!Ôÿ>w ‡Ÿ#w!áÿ6 *ü~þ-Â�Ø!Ôÿ>w ‡Ÿ#w!áÿå*ú#"ù*üÁ~Éó*ü~þ+ÂŽó!áÿå*ú#"ù*ÿÁ~!Öÿ>w‡Ÿ#w*ü~þ0ú‰B*ü>9¾úŽB!Öÿå*ÿ~O‡ŸG!Öÿ~#foÅMD)) )Á Ðÿ Á}|*ú#"ùÃ�þ!Øÿ>w‡Ÿ#w*ü~þ.‰¡*ú#"ù*ü~þ0ú‰¡*ü>9¾úŽ¡!Øÿå*ÿ~O‡ŸG!Øÿ~#foÅMD)) )Á Ðÿ Á}|*ú#"ùÉ]*ü~þaʉÅ*ü~þhʉÅ*ü~þoʉÅ*ü~þuÂŽñ!àÿå*úå*ú#"ÿáÁ~!àÿ~þhÂ�ú!Üÿ>w‡Ÿ#wÃ�5!àÿ6Ã�Ù!àÿ~þoÂ�!Üÿ>w‡Ÿ#wÃ�5!àÿ~þuÂ�*!Üÿ> w‡Ÿ#wÃ�5!Üÿ>öw>ÿ#w*ü~þxÂ�L!Úÿ>w‡Ÿ#wÉÀ*ü~þbÂŽû!Þÿå*‚å*ƒ##"‡áÁ~#~!Úÿå*‚å*ƒ##"‡áÁ~#~ !Øÿ~#¶Ê�À!Úÿå!Úÿå!ØÿÁ – #žò�³!ÚÿN#FÃ�º!ØÿN#Fáywx#w!Ôÿ~#¶Ê�w!Úÿå!Ö ÿÁ – #žò�w!å!áÿåÍ�Ôññ!Öÿ~ Öw#~ÞwÉÊ*ü~þpÂŽo!Þÿå*‡Á~#~!Úÿå*‚å*ƒ##"†áN#FÅÍçñáywx#w!Øÿ~#¶Ê�À!Úÿå!Úÿå!ØÿÁ – #žò�_!ÚÿN#FÃ�f!ØÿN#Fáywx#wÉÀ*ü~þlÂ�ý!àÿ~þaÂŽ!Þÿå*‚å*ƒ##"‡áÁ}|a!âÿå!Þÿ~#fo#Á~!ãÿå!Þÿ~#foÁ~!äÿå!Þÿ~#fo###Á~!åÿå!Þÿ~#fo##Á~!Þÿå!âÿÁ}|!Úÿ>w‡Ÿ#wÉÀ*ü~þfÂ�Ì!Þÿå!â'ÿÁ}|!Úÿå!ØÿN#FÅ!å!ØÿÁy–Ox#žGÅ*‡ N#FÅ*‡ N#FÅ*‡ N#FÅ*‡N#FÅ!âÿåÍß!9ùáywx#w*‡}Æo|Îg"�Ã�À!Þÿå!âÿÁ}|!Úÿå!ÜÿN#FÅ*‡ N#FÅ*‡N#FÅ!âÿåÍ×ññññáywx#w*…####"�ÉÀ*ü~þdÂ�U!Þÿå!âÿÁ}|!Úÿå!Øÿ>–>#žòŒýÃ�!ØÿN#FÅ!å*‡ N#FÅ*‡ N#FÅ*‡ N#FÅ*‡N#FÅ!âÿåÍÏ!9ùáywx#w*‡}Æo|Îg"�ÉÀ*ü~þcʉy*ü~þsʉy*ü~þiÊ�y!àÿ~·Ê�²!àÿ~þaÂŽÍ!Þÿå*‚å*ƒ##"‡áÁ}|*ü~þcÂ�9!Úÿ>w‡Ÿ#wÃ� !Þÿ:úw:ÿ#w!Úÿ>w‡Ÿ#wÃ�À!Þÿå!âÿÁ}|!Úÿå!ÜÿN#FÅ*‚å*ƒ##"‡áN#FÅ!âÿåÍÇñññáywx#w*ü~þcʉÀ*ü~þsʉÀ*ü~þiʉÀ:ûÖ2ù:ûÞ2ùÃ�À!âÿå!Þ5ÿ~#fo#Á~!ãÿå!Þÿ~#foÁ~!Þÿå!âÿÁ}|!Úÿ>w‡Ÿ#wÃ� !Úÿ—–>#žò�™!ÚÿN#F Å!ÞÿN#FÅÍ�Ôññ!Ôÿ~#¶Â�U!Úÿå!Ö ÿÁ – #žò�U!å!áÿåÍ�Ôññ!Öÿ~ Öw#~ÞwÉ£ͯ!N#F Å!N#FÅ*’"å*‘ ͧñññ!y¾ÂŒx#¾Ê�! å!–$å!åÍ¿ñññ!åͲñØwrite error btod.r‹2 c.rets c.dneg c.r2 c.dadd c.itd c.r1 c.dmul c.r0 c.dtd c.r3 c.r4 c.ents btod. _dtens. _dzero. dtento. btoi.Í÷!ôÿ9ù!~#fo"ï!~#fo"ç!øÿ>w‡Ÿ#w!ï—–>#žÒ‰G*ä> ¾ò‰�*ä~þò‰�!ï—–>#žÒ‰›*ä~þ-‰"*â#"á:ëÖ2é:ëÞ2ï!øÿ>w‡Ÿ#wÉ›*â#"á:ëÖ2é:ëÞ2éÃŽ)!îÿå!‚åÍÚñ!ï—–>#žÒ‰E*ä~þ0ú‰E*ä>9¾ú�E!îÿå!îÿåá×~Õ#~ŠÙÑ!Òå!‚åÍÉ*æ~O‡ŸG!Çå!Ðÿ å͹ͱÍÚñ*â#"á:ëÖ2é:ëÞ2éɨ*ä~þ+‰›*â#"á:ëÖ2é:ëÞ2éË›>2«‡Ÿ2©!ï—–>#žÒ‰*ä~þ.‰*â#"á:ëÖ2é:ëÞ2é!ï—–>#žÒ‰*ä~þ0ú‰*ä>9¾ú�!îÿå!îÿåá×~Õ#~ЬÑ!Òå!‚åÍÉ*æ~O‡ŸG!Çå!Ðÿ å͹ͱÍÚñ*â#"á:ëÖ2é:ëÞ2é:«Ö2©:«Þ2©É{!ï—–>#žÒ‰�*ä~þAú‰4*ä>Z¾ú‰4*ç~O‡ŸG!  MDÉ<*ç~O‡ŸGyþeÂŒExþ‰�*â#"á:ëÖ2é:ëÞ2ï! å!öÿå*êå*âåÍ…ññññ*â "á*¯å!öÿ~#foãÁ "®!îÿå*¯å!îÿ >+F+NÅ=‰£͆! 9ù!ÒåÍßñ!~# foå!øÿ~#¶Ê�!îÿåá×~Õ#~ŠÝÑ!ÒåÍ¢á×~Õ#~ŠöÑÃ�!îÿ×~Õ#~ŠÑ!ÒåÍÚñ*çå!Áy–Ox#žGØbuybuf.rí… c.rets c.r3 c.r2 c.r4 c.ents buybuf. alloc.Í¿õ!~#fo"·!~#fo"¯!øÿå!å*ªåÍÏññáywx# w!øÿ~#fo"¡!¯—–>#žÒ‰x*¢å*¢#"£áå*²å*²#"µáÁ~:«Ö2©:«Þ2©Ã�=!øÿ~#foMDØdtoe.r‡~ c.rets c.imod c.idiv c.r3 c.r2 c.dtd c.dneg c.r0 c.dcmp c.r4 c.ents dtoe. _dzero. _norm. _round.Íï!íÿ9ù!~#fo"æ!å!úåÍÙò�W!å!åá×~Õ#~Š5Ñ!ÒåÍÉÍÂñ*âå*â#"çá6-!øÿå!å! >+F+NÅ=ÂŽj!çÿå͇! 9ùáy$wx#w!øÿå!~#foå!~#foãÁ }Ö|ÞÒ�Á!~#foå!~#foãÁ MDÃ�ÄÅ!å!çÿå͇ñññá~�w#~ˆw>2»‡Ÿ2¹:»Ö:»Þò�5!:º–:»#žÒ‰5*âå*â#"çáå!çÿå*¿ãÁ Á~*º#"¿!øÿ~Öw#~ÞwÃ�æ!—–>#žÒ‰©*âå*â#"æá6.>2³‡Ÿ2µ!:²–:³#žÒ‰í*ºå*·ãÁ }Ö|Þò‰í*âå*â#"çáå!çÿå*¿ãÁ Á~*º#"¹*²#"±Ã‰Z*âå*â#"çá6e!øÿ#~·ò‰*âå*â#"çá6-!øÿå!øÿ~#fo>•o>œgÁ}|Ã�#!:²–:³#žÒ‰©*âå*â#"äá60*²#"±Ã‰í*âå*â#"äá6+*âå*â#"çáå!øÿN#FÅ! åͯá0 Á}*âå*â#"çáå!øÿN#FÅ! åͧá0 Á}*çå!Áy–Ox#žGØdtof.r] v c.rets c.r2 c.dtd c.dneg c.r0 c.dcmp c.r3 c.r4 c.ents dtof. _dzero. _norm. _round.Íß!êÿ9ù!~#fo"×!~#fo"Î!å!êåÍÁò‰b*Êå*Ê#"Ïá6-!å!åá¿~Õ#~ŠNÑ!ºåͱͮñ!éÿ"§!æÿå!å! >+F+NÅ=‰|*¢åÍ÷! 9ùáywx#w!äÿå!æÿ~#foå*×ãÁ Á}|!äÿ>–>#žò�Ê!äÿ>w‡Ÿ#w!æÿå!äÿN#FÅ!å!éÿåÍÿñññá~�w#~ˆw!å!æÿÁ – #žò�-!æÿ~#foå!Áy–Ox#žG*¢ "§!æÿå!Á~#~!æÿ—–>#žú‰e*Êå*Ê#"Ìá60!×—–>#žò‰Á*Êå*Ê#"Ìá6.Ã�Á!æÿ—–>#žò‰H*Êå*Ê#"Ëáå*§å!éÿÁy •OxœGyÖxÞÒ‰«*¢å*¢#"§á~O‡ŸGÃ�®0áyw! æÿ~Öw#~ÞwÃ�e!æÿ#~·ò‰!×—–>#žò‰*Êå*Ê#"Ïá60!æÿ ~Æw#~Îw:ÓÖ2Ñ:ÓÞ2ÑÉÁ!×—–>#žò‰c*Êå*Ê#"Ëáå*§å!éÿÁy •OxœGyÖxÞÒ‰J*¢å*¢#"§á~O‡ŸGÃ�M0áyw:ÓÖ2Ñ:ÓÞ2ÑÉ*Ïå!Áy–Ox#žGØfclose.rè " c.r2 c.r3 c.rets c.r4 c.ents fclose. _pfio. exit. write. close.Í¿!~#fo"±!´~#¶Â�4!å!–/å!åÍßñññ!åÍÒñé!É"¡*¥~#fo"™!œ~#¶Ê‰q!±:š¾Â‰\:›#¾Â‰œ*¢å*Ÿ Á~#~*· ~þÂ�‚#~þʉ©*· ~þÿÂ�–#~þÿ‰É©*� "¡Ã‰:*· ~#¶ʉ*· N#FÅ*¶ å*µN#FÅÍÝñññÅ*· Áy¾ÂŒçx#¾Ê�! å!–"å!åÍßñññ!åÍÒñ*µN#FÅÍäñx·ú‰*³MDìèwrite error bad fclose call fcreat.r¸c c.rets c.r4 c.ents fcreate create. finit.ͯ!å!~þÿÂ�#~þÿÂŒÃ�%!N#F Å!N#FÅ;ñññi`"¡:¢·ú�]!N#FÅ*§å!N#FÅÍÄñññÜØfopen.r¸c c.rets c.r4 c.ents fopen. open. finit.ͯ!å!~þÿÂ�#~þÿÂŒÃ�%!N#F Å!N#FÅ;ñññi`"¡:¢·ú�]!N#FÅ*§å!N#FÅÍÄñññÜØfrelst.r¬T c.rets c.r2 c.r4 c.ents frelst. free.Í·!~#fo"¯!~#fo"¡!¬~#¶Ê‰L!¡:ª¾Â‰1:«#¾Ê‰L*­N#FÅ*ªåÍÅññi`"©Ã‰*«MDØgetch.rM c.ret c.ent getch. stdin. getc.Í¡!²åͺñØgetfi.rTÐ c.rets c.r3 c.r2 c.r4 c.ents getfile cmpstr. open.Í¿!~#fo"·!~#fo"©*´#~·òŒ+!ÿÿ"¡Ã‰X*´~#¶Ê‰M!’Ðå*¯~#foN#FÅÍÍññy°Ê�•!~#fo"¡*¯~Æw#~Îw*·~Öw#~Þ w+—–>#žúŒ€ÃŽƒy°Ê‰È*·>ÿw>ÿ#wÃ�È!å!å*¯~#foN#FÅÍÖñññi`"¡:¢·ò�X! ~#fo"¡Ã‰X*£MDØ-getfl.rò ð c.r3 c.r4 c.rets c.r2 c.ents getflag lenstr. btoi. cmpstr.Í¿!öÿ9ù!(~#fo~Æw#~Îw!~#fo~Öw#~Þw+—–>#žò�{!~#f o~#fo~#fo"±!’òå*²åÍÝññy°Ê�•!~#fo~Öw#~Þw!~#fo~Æw#~Îwï!~#f o~Æw#~ÎwÉ!’ðå*²åÍÝññy°Â‰{*´~þ-ʉ¹*´~þ+‰{*´~þ-‰É*²#"±*³~·Ê��!~#fo"§!ôÿ>w‡Ÿ#w!øÿå! Á}|*±"™*¤~þ*Â�‡!ôÿ>w ‡Ÿ#w!öÿå*›~·Ê‰%*›MDÃ�a!~#fo~Öw#~Þw+—–>#žò�\!~#fo~Æw#~Îw+~#foN#FÉa*ŸMDáywx# w!öÿN#FÅÍÏñi`å!öÿ ~#foãÁ "™Ã‰Q*¤~þ?Â�¼!ôÿ>w ‡Ÿ#w!öÿå*ŸÁ~‡Ÿ*›~·Ê‰Q*š#"™Ã‰Q*¤~þ#ÂŽT!ôÿå*œ~þ0ú‰â*œ>9¾úŒâÃ�åáywx#w!òÿ> w‡Ÿ#w*œ~þ0‰h*Ÿ ~þAú‰.*Ÿ >Z¾ú‰.*Ÿ ~O‡ ŸG! MDÉ:*Ÿ ~O‡ŸGyþxÂŒCxþÂ�“!òÿ>w‡Ÿ#wÉh*¤~þ,ʉ¡*£~·Â‰ÌÃ�¡!òÿN#FÅ!öÿå*šåÍËñÅ*šåÍÕññññ*š "™Ã�Q!òÿ>w‡Ÿ#wÃ�h!ôÿ~#¶Ê�6!øÿ~#fo~#foå!öÿÁ~#~*™"±Ã‰É*¤~þ>Â�c!ôÿ~#¶Ê��!øÿ~#f o~#fo—–>#žÒ�¦!øÿ~#f3o~#fo##å!øÿ~#fo~#fo~Öw#~Þw+~#fo)ãÁ å!öÿÁ~#~*™"±Ã‰É*£~·Ê�[!øÿ~Æw#~Îw*±"™*¢#"¡Ã‰ü*³MDé*¢å*œÁ ¾Â�®!ôÿ>w‡Ÿ#w!öÿ>w‡Ÿ#w*š#"™Ã�Q!øÿ~Æw#~Îw*±"™Ã‰Q*³MDï!ôÿ>w‡Ÿ#w*¤~þ,ʉÝ*¤~þ>ʉÝ*£~·Ê‰Ý*¢#"¡Ã‰¹:£Ö2¡:£Þ2¡ÈQ---getlin.r` c.ret c.ent getlin. stdin. getl.ͧ!N#F Å!N#FÅ!²åͼñññØltob.rY ¢ c.rets c.ladd c.r1 c.lclt c.lneg c.r0 c.r2 c.r4 c.ents ltob. uldiv. ulmod.Íßõõ!~#fo"Ñ*Ñ"Ï!#~·ò�n! —–>#žú�n!å!åáÇ~#~#~#~!ÂåÍ¿áÁ~#~ #~#~*Êå*Ê#"Ïá6-! ~#¶Â�†! > w‡Ÿ#wÃ�«! #~·ò�«! å! 5~#fo>•o>œgÁ}|!öÿå! Á#~‡Ÿ~+~ !#~·ú�Þ!å!öÿåͱú�1! N#F$Å!öÿ##N#FÅ+++N#FÅ!##N#FÅ+++N#FÅÍíññññ!Ç##N#FÅ+++N#FÅ*ÊåÍ�ññññ*Ê "É*Ïå!öÿ##N#FÅ+++N#FÅ!##N#FÅ+++N#FÅÍõññññ!Äå>02«‡Ÿ2©2©2©!ªåͧáÁ##~*Ì>9¾ò‰�*Í~Æ'w*Êå!×Áy–Ox#žGØputch.rW c.ret c.ent putch. stdout. putc.ͧ!N#FÅ!²åÍ»ññØputlin.rt' c.rets c.r4 c.ents putlin. stdout. putl.ͯ!~#fo"§!N#FÅ*¢å!ºåÍÄñññØmain.rí è c.r4 c.rets c.r3 c.r2 c.ents _main. read. create. close. open. exit. putstr. main.Í¿õ!øÿ>w‡Ÿ#w!‘û"•Ž!zå!–å!åÍÎñññi`"±:²·ò‹=>2³‡Ÿ2±!‘"©!·—–>#žò‰p!·—–>#žò‰˜*¬> ¾ò‰§*¬~þú‰˜Ã�§!øÿ~#fo)—Ž >w‡Ÿ#w!—Žå!øÿN#FÅÍûññá!·—–>#žú‰ÁÉp:³Ö2±:³Þ2±*ª#"©Ã‹O>2›‡Ÿ2™!±:š–:›#žò‰*ªå*ŸãÁ > ¾ò‰*ªå*ŸãÁ ~þò‰*š#"™Ã‰Ë*šå*š#"›áå*®ãÁ 6*¬~þ<Â�p!åÍßñ!å!å*® åÍæñññy°Ê�ò!å!’íå*® å!–ïå!åÍ÷! 9ù!åÍêñÉò*¬~þ>Â�Î!åÍßñ!å!å*® åÍ×ñññyþÂŒ xþÊ�ò!å!’Þå*® å!–àå!åÍ÷! 9ù!åÍêñÃ�ò!øÿN#FÅ!øÿ~Æw#~Îwá)’Ž :ªw:«#w!™:²–2±:³#ž2±*ªå*œãÁ "©ÃˆCi can't write can't read putstr.r”B c.rets c.r4 c.ents putstr. write. lenstr.Í­!"¡*¤~#¶Ê‰?*¥N#FÅÍÃñÅ*§N#FÅ!N#FÅͼñññ*£##"¡Ã‰ Øsubstr.rz7 c.ret c.ent substr. subbuf. lenstr.ͧ!N#FÅÍ¿ñÅ!N #FÅ!N#FÅÍ¿ñÅ!N#FÅ͵ññññØalloc.rZ¼* _hmergeH free.é sbreak. _breakug c.udiv c.r3 c.r2 exit. write. c.rets c.r4 nalloc.K c.ents alloc.Íÿ!N#F Å!N#FÅÍ�Kññi`"é!ì~#¶Ê‰.*ëMDÃå!å!–Äå!åÍßñññ!åÍÒñÃáÍÿõõõ!~#fo"é:ëÖ:ëÞÒŒoÉt*ïMDi`#}æ þo|æÿg##"é!‘¾"É*Í~#fo"Á!Ä~#¶Ê‰Û*Ç~#fo####å!ïÁy–x#žÚ‰ý*Âå!ïÁ – #žÒ‰ *Êå*Ç Á~#~É!:“¼þ‰è:“½þʉ@*–¼å!åͺá"‘¼É@*Å "ÉÉŠ*Êå*êå*ÂåÍ�gññáywx#w*Ç å! Á~#~*Ç MDÃç!øÿ>w‡Ÿ#w!é:’¼–:“½#žÚ�”!øÿå!ôÿ:’¼w:—½#w+N#FÅͯñáywx#w+~#¶Â‰”*–¼å!åͺá"‘¼Ã�K!øÿ~#¶Â�¿!øÿå!ôÿ:êw:ï#w+N#FÅͯñáywx#w!øÿ~#¶ÂŒÏÃç!øÿ~#foå!ôÿ~#foüÿ Á}|!”À~#¶Â�þ!øÿ~#fo"—À!öÿå!øÿÁ~#~!öÿ~#foå!ôÿ~#foãÁ :’•:’ÜÒ�F!öÿ~#foå!ôÿ~#foãÁ MDÉK*•ÂMDi`"—Â!å!øÿ ~#fo##åÍ‹éññÉ„Íÿõ!~#fo"ï!~#fo"Í!øÿ:êw:ï#w+~#foå*ÌãÁ "Á*Âå*î~#foå!ÏÁy–Ox#žGáywx#w*Æ å*ï Á~#~*êå*Ïüÿ Á}|*ÃMDÃáÍÿ!~#¶Ê�Q!~#foþÿ "É*Ï~#fo}æo|æg}´Â‰7!‘À:Ê–:Ë#žÚ‰7!‘Â:Ê–:Ë#žÚ�^!å!–×å!åÍßñññ!åÍ×ñ!~#foMDÃá!”¾~#¶Â‰~*Ï >w‡Ÿ#w*É"‘¾ÉQ!‘¾:Ê–:Ë#žÒ‰®*Í :’¾w:“¿#w*É"‘¾*ÊåÍŠHñÉQ*‘¾"é*ï ~#fo"Á!Ä~#¶Ê‰ã!É:–:Ã#žÒ‰ã*Á"éÉ´!Ä~#¶Ê‰*Í :Âw:Ã#w*í :Êw:Ë#w*ÊåÍŠHñ*êåÍŠHñÉQ*Ï >w‡Ÿ#w*í :Êw:Ë#w*êåÍŠHñÉQÍÿ!~#fo"é*é"Á*ï ~#fo"É*Âå*ï~#foãÁ ####å!ÌÁy¾ÂŒ‰x#¾Â‰¹*êå*Ï~#fo### #Á … Œ*î å*Ï Á~#~Ãà*out of heap space bad free call btoi.r°Ö c.rets c.imul c.r3 c.r2 c.r4 c.ents btoi.ÍÇõõõ!~#fo"¿!~#fo"³>2«‡Ÿ2­!öÿ:ºw:¿#w!ôÿ>w‡Ÿ#w!·—–>#žÒ‰\*¼> ¾ò‰–*¼~þò‰–!·—–>#žÒ‰°*¼~þ-Â�=!ôÿ>w‡Ÿ#w*º#"¹:³Ö2±:³Þ2±ɰ:³Ö2±:³Þ2±*º#"¹Ã�>! ~þÂ�¾#~þ‰`:³Ö:³ÞÚ‰`*¼~þ0‰`*¿ ~þAú‰*¿ >Z¾úŠÅ*¿ Á~O ‡ŸG! MDÊÅ*¿ Á~O‡ŸGyþxÂŒxþ‰`*»##"¹:³Ö2±:³Þ2±É`*¼~þ+‰°*º#"¹:³Ö2±:³Þ2±ɰ!·—–>#žÒ‰˜*¼~þ0ú‰*¼>9¾úŽ!øÿå*¿~O‡ŸG!Ð ÿ Á}|Ã�(!~#f oå!ôÿ~#¶Ê‰»*¯MD>‘O>˜GÉÀ*¯MDáywx#w!·—–>#žÒ‰Ã*¼~þAú‰õ*¼>Z¾ú‰õ*¿~O‡ŸG!  MDÉý*¿~O‡ŸGyþlÂŒxþ‰Ã*º#"¹Ã‰Ã*¼~þaú‰a*¼>z¾ò‰sÉa*¯å! N#FÅͧáå!øÿ~#foãÁ "©:³Ö2±:³Þ2±*º#"¹Ã‰`*¼~þAú‰˜*¼>Z¾úŽ˜!øÿå*¼~þAú‰›*¼>Z¾ú‰›*¿~O‡ŸG!  MDÉ£*¿~O‡ŸG!©ÿ Á}|!øÿå! Á – #žú‰(ɘ*¿å!öÿÁy–Ox#žGØbtol.ru X c.rets c.ladd c.lmul c.r1 c.lneg c.r0 c.r3 c.r2 c.r4 c.ents btol.Íçõõõõ!~#fo"ß!~#fo"×!ôÿ—w# w#w#w!øÿ:Úw:ß#w!òÿ>w‡Ÿ#w!×—–>#žÒ‰_*Ü> ¾ò‰™*Ü~þò‰™!×—–>#žÒ‰³*Ü~þ-Â�@!òÿ>w‡Ÿ#w*Ú#"Ù:ÓÖ2Ñ:ÓÞ2Ñɳ:ÓÖ2Ñ:ÓÞ2Ñ*Ú#"ÙÃ�A! ~þÂ�Á#~þ‰c:ÓÖ:ÓÞÚ‰c*Ü~þ0‰c*ß ~þAú‰ *ß >Z¾úŠ Å*ß Á~O ‡ŸG! MDÊÅ*ß Á~O‡ŸGyþxÂŒ"xþ‰c*Û##"Ù:ÓÖ2Ñ:ÓÞ2ÑÉc*Ü~þ+‰³*Ú#"Ù:ÓÖ2Ñ:ÓÞ2Ñɳ!×—–>#žÒ‰•*Ü~þ0ú‰Q*Ü>9¾ú‰Q*ß~O‡ŸGi`Ðÿ "ÉÃ�f!~#f oå!òÿ~#¶Ê�Û!ôÿåáÇ~#~#~#~!ÂåͺáÇ~#~#~#~Ã�ð!ôÿÇ~#~# ~#~á:Âw:Ã#w:Ã#w:Ã#w!×—–>#žÒ‰E*Ü~þAú‰3*Ü>Z¾ú‰3*ß~O‡ŸG!  MDÉ;*ß~O‡ŸGyþlÂŒDxþ‰E*Ú#"ÙÉE*Ü~þaú‰ì*Ü>z¾ò‰þÃ�ì!ôÿå!ôÿåáÇ~#~#~#~!Çå! #~‡Ÿ2±2²~2³+~2±!²åÍ©:ˇŸ2±2±:É2±:É2±!²åͧáÁ~#~ #~#~:ÓÖ2Ñ:ÓÞ2Ñ*Ú#"ÙÉc*Ü~þAú‰•*Ü>Z¾ú‰•*Ü~þAú‰!*Ü>Z¾ú‰!*ß~O‡ŸG!  MDÉ)*ß~O‡ŸGi`©ÿ "Í! :Ê–:Ë#žú‰fÉ•*ßå!øÿÁy–Ox#žGØcmpbuf.rÈl c.rets c.r3 c.r2 c.r4 c.ents cmpbuf.Í¿!~#fo"·!~#fo"¯!~#fo"¡!§—–>#žÒ‰S*²å*²#"±*ªå*ª#"­áÁ ¾ÊŒYÜÙ:£Ö2¡:£Þ2¡È$cmpstr.r¦X c.rets c.r2 c.r4 c.ents cmpstr.Í·!~#fo"¯!~#fo"¡*£~·Ê‰D*ªå*ª#"©*¢å*¢#"¥áÁ ¾ÊŒÙ*«~·ÂŒRÃŒUØcpybuf.rÇl c.rets c.r3 c.r2 c.r4 c.ents cpybuf.Í¿!~#fo"·!~#fo"¯!~#fo"¡!§—–>#žÒ‰_*²å*²#"³áå*ªå*ª#"­áÁ~:£Ö2¡:£Þ2¡Ã�$!~#foMDØcpystr.rÃg c.rets c.r3 c.r4 c.r2 c.ents cpystr.Í¿!~#fo"µ!"©*­~#fo"¡!¤~#¶Ê‰O*£~·Ê‰\*²å*²#"³áå*¢å*¢#"¥áÁ~É(*³6*³MDÙ*«##"©Ãˆdtento.rB K c.rets c.dmul c.dtd c.ddiv c.r0 c.r2 c.r3 c.r4 c.ents dtento. _dtens. _ntens.Íß! ~#fo"Ñ:Ò·ò‰Š*×>•o>œg"Ë>2ÇŸ2Á!Ì~#¶Ê‰!ñ:–:Ã#žÒ‰*Ï}æo|æg}´Ê�!å!åá¿~Õ#~ŠhÑ!ºå*Ä)))ë åͱͪñÉ!×—–>#žò‰Ÿ*Ñ"Ë>2ÇŸ2Á!Ì~#¶Ê‰È!ñ:–:Ã#žÒ‰È*Ï}æo|æg}´Êޝ!å*Ä)))ì åá¿~Õ#~ŠçÑ!¿å!åͪ͡ñɯ:Ë·2É:Ê2É*Â#"ÁÉ-!Ï—–>#žÒ�Ÿ!å!åá¿~Õ#~Š;Ñ!ºå*ô)))ëøÿ åͱͯñ!å!åá¿~Õ#~ŠmÑ!ºå*ô)))ëøÿ åͱͪñ:ËÖ2É:ËÞ2ÉÉ!¿å!åͪñÙ:Ë·2É:Ê2É*Â#"Áɦ!Ï—–>#žÒŽŸ!å*ô)))ìøÿ åá¿~Õ#~ŠíÑ!¿å!åͯ͡ñ!å*ô)))ìøÿ åá¿~Õ#~ŠÑ!¿å!åͪ͡ñ:ËÖ2É:ËÞ2ÉÈÈfinit.r/ \ c.rets onexit. _flush.þ lseek. exit. write. c.r2 c.r4 c.ents finit._pfio.\Íß!~#fo"×!~#fo"É!Ô~#¶Â�<!å!–då!åÍÇñññ!åͺñ*×å!Á~#~*× >w‡Ÿ#w*Ö å:Ëþ‰n:ËþÂ�Ÿ!å!—`##N#FÅ+++N#FÅ!N#FÅÍ·ññññx·úŒŸÿÿɤ*ÏMDáywx#w:Ëþ‰·:ËþʉÊ:Ëþÿ‰Ç:Ëþÿ‰ö*Õ :’\w:“]#w*Ñ"‘\!”^~#¶Â‰ö!Šþåͤñi`"‘^*ÓMDÙÍÙ*‘\"Ñ!Ô~#¶Ê‰C*× —–>#žò‰K*× N#FÅ*Ö å*ÕN#FÅÍÄñññÉK*“^MDÙ*× ~#fo"ÑÈbad finit call getc.rNÐ c.rets c.r4 c.ents getc. exit. write. read.ͯ!~#fo"¡!¤~#¶Â�1!å!–Ðå!åÍÇñññ!åͺñ*§ ~#¶‰y*§ å!å*¦ å*§ Á} | i`N#FÅ*¥N#FÅÍÏñññáywx#w*§ ~Ö w#~Þw+#~·ò‰¤*§ >ÿw>ÿ#wÿÿÙ*§ N#FÅ*§ ~Æw#~Îwá~O‡ŸGyæÿOxæGØbad getc call getl.rî A c.rets c.r3 c.r2 c.r4 c.ents getl. exit. write. read.Í¿!~#fo"·!~#fo"©!´~#¶Â�<!å!–Aå!åÍ×ñññ!åÍÌñ>2£‡Ÿ2¡*· ~#¶‰Ž*· å!å*¶ å*· Á} | i`N#FÅ*µN#FÅÍßñññáywx#w*· —–>#žú‰´*· >ÿw>ÿ#w*£MDÃ�!:¢–:£#žÒ‰*· —–>#žò‰*¢#"¡*· ~Öw#~Þw*ªå*· N#FÅ*· ~Æ w#~ÎwáÁ~*¬~þ ‰7*£MDÃ�!:¢–:£#žÚ‰F*£MDÙ*ª#"©Ãˆ´bad getl call inbuf.rîŒ c.rets c.r3 c.r2 c.r4 c.ents inbuf.Í¿!~#fo"·!~#fo"©!·—–>#žÒ�P!~#fo"¡*ªå*¤Á ¾Â‰c*¯å!Áy–Ox#žGÙ*¯å!Áy–Ox#žGÙ*¢#"¡*£~·Â‰0:³Ö2±:³Þ2±*ª#"©Ãˆinstr.rÃp c.rets c.r2 c.r4 c.ents instr.Í·!~#fo"©*«~·Ê�I!~#fo"¡*£~·Ê‰\*ªå*¤Á ¾Â‰f*¯å!Áy–Ox#žGÙ*¯å!Áy–Ox#žGÙ*ª#"©Ã‰*¢#"¡Ãˆ!itob.r©  c.rets c.umod c.udiv c.r2 c.r3 c.r4 c.ents itob. uldiv. ulmod.ÍÏ!~#fo"Á*Á"¿!#~·ò�O!—–>#žú�O!~#f o>•o>œg"±*ºå*º#"¼á6-Ã�Z!~#fo"·!~#¶Â�r!> w‡Ÿ#wÃ�—!#~·ò�—!å!~#fo>•o>œgÁ}|!:²–:³#žÚ�Ï!N#FÅ*·å!N#FÅÍ©*ºåÍŒñññ*º "¹*ºå*·å!N#FÅͧá0 Á}*¼>9¾ò‰ú*½~Æ'w*ºå!ÇÁy–Ox#žGØlenstr.r�8 c.rets c.r2 c.r4 c.ents lenstr.Í·!~#fo"©*©"¡*£~·Ê‰&*¢#"¡Ã‰*¢å!¯Áy–Ox#žGØnotbuf.r  c.rets c.r3 c.r2 c.r4 c.ents notbuf.Í¿õ!~#fo"·!~#fo"©!·—–>#žÒ�W!øÿ>w ‡Ÿ#w!~#fo"¡*ªå*¤Á ¾Â�„!øÿ>w‡Ÿ#wÉ“*¯å!Áy–Ox#žGÙ:³Ö2±:³Þ2±*ª#"©Ã‰*¢#"¡*£~·Â�<!øÿ~#¶‰jÈWnotstr.rÙ„ c.rets c.r2 c.r4 c.ents notstr.Í·õ!~#fo"©*«~·Ê�P!øÿ>w ‡Ÿ#w!~#fo"¡*£~·Ê‰m*ªå*¤Á ¾Â�z!øÿ>w‡Ÿ#wÉm*¯å!Áy–Ox#žGÙ*ª#"©Ã�!øÿ~#¶‰cÉP*¢#"¡Ãˆ-prefix.r•J c.rets c.r2 c.r4 c.ents prefix.Í·!~#fo"¯!~#fo"¡*£~·Ê‰D*ªå*ª#"©*¢å*¢#"¥áÁ ¾ÊŒÜØputc.r[—) c.rets c.r2 c.r4 c.ents putc. exit. write.Í·!~#fo"¯!~#fo"¡!¬~#¶Â�<!å!–±å!åÍÏñññ!åÍÂñ:¢·ú‰‚*¯ ~Ö#~Þò‰š*¯ N#FÅ*¯ ~Æ w#~Îwáå*¯ ãÁ :¢wÉ*¯ —–>#žú‰0*£MDÙ*¯ N#FÅ*® å*­N#FÅÍÍñññÅ*¯ Áy¾ÂŒËx#¾Ê�ë! å!–¤å!åÍÏñññ!åÍÂñÉ*¯ >w‡Ÿ#w*­ :¢w:£þ ‰:£þ‰(*¯ ~þÿÂ�%#~þÿ‰‚*£MDÙ*¯ N#FÅ*® å*­N#FÅÍÍñññÅ*¯ Áy¾ÂŒax#¾Ê��! å!–—å!åÍÏñññ!åÍÂñÙ*¯ >w‡Ÿ#w*£MDØ)write error write error bad putc call putl.r½é) c.r3 c.rets c.r2 c.r4 c.ents putl. exit. write.Í¿õ!~#fo"·!~#fo"©!´~#¶Â�@!å!–å!åÍ×ñññ!åÍÊñç!~#fo"™!Ÿ—–>#žòŽÞ!øÿå*¶ å*· ~#f oãÁ Á}|!Ÿ—–>#žò‰l*· ~Ö#~Þò�l!øÿN#FÅ!øÿ~Æw#~Îwáå*ªå*ª#"­áÁ~:›Ö2™:›Þ2™*· ~Æw#~ÎwÉx*· ~þÿÂ�ï#~þÿʉË*· ~#¶ʉË*· ~#foå*· ãÁ ~þ ‰Ë*· N#FÅ*¶ å*µN#FÅÍÕñññÅ*· Áy¾ÂŒLx#¾Ê�Ø! å!–éå!åÍ×ñññ!åÍÊñÉË!Ÿ—–>#žò�K!å*¶ å*µN#FÅÍ×ñññyþÂŒšxþÊ�º! å!–öå!åÍ×ñññ!åÍÊñÉK*· >w‡Ÿ#wÃ�K!~#foMDá*· >w‡Ÿ#wÈË)write error write error bad putl call scnbuf.rÀq c.rets c.r2 c.r4 c.ents scnbuf.Í·!ÿÿ9ù!~#fo"¯!ùÿå!Á~!~#fo"¡!¯—–>#žÒ‰D*§å!ùÿÁ ¾Â‰W*§å!Áy–Ox#žGÙ:«Ö2©:«Þ2©*¢#"¡Ãˆ*scnstr.r¤W c.rets c.r2 c.r4 c.ents scnstr.Í·!ÿÿ9ù!~#fo"¯!ùÿå!Á~*©"¡*£~·Ê‰;*§å!ùÿÁ ¾Â‰M*¢å!¯Áy–Ox#žGÙ*¢#"¡Ãˆ%subbuf.rlÿ c.rets c.r4 c.r2 c.r3 c.ents subbuf.Í¿!~#fo"¶!å*·å!Áy–Ox#žGi`å! ~#foãÁ Á • œÚ‰¥*·å!~#foÁ ¾Â‰²*±"¯!~#fo"¡*¯å!Áy–Ox#žG!y–x#žÒ‰¼*§å!Áy–Ox#žG! ~‘#~˜Ú‰¼*ªå*¤Á ¾Ê‰îÃ�¼!~#foMDÙ*²#"±Ã‰*§å!Áy –Ox#žG! y¾ÂŒØx#¾Â‰²*·å!Áy–Ox#žGÙ*¢#"¡*ª#"©Ãˆ]cnorm.rÚt c.rets c.dsub c.itd c.r1 c.dti c.dmul c.ilsh c.ddiv c.r3 c.dtd c.dneg c.r0 c.dcmp c.r2 c.r4 c.ents _norm. _ntens. _dtens. _dzero.͇!öÿ9ù!~#fo"ƒ>2ƒ‡Ÿ2†!å!‚åÍùò�S!å!åá÷~Õ#~Š?Ñ!òåÍéÍâñ!‡å!åÍùò‰Ý*…ÿÿ "Ù!ß—–>#žòŽ…!å*Ü)))ƒ åÍùú�É!å!åá÷~Õ#~Š¡Ñ!òå*Ü)))ƒ åÍÑÍâñ*†å!å*Þÿÿ åÍÍáãÁ "�ËÉ>2Û‡Ÿ2Ý!:Ú–:Û#žÒ�l!øÿå!åá÷~Õ#~Š Ñ!òå!‚åÍÁÍ¿ñ!å!åá÷~Õ#~Š5Ñ!òå!‚åÍÁ!·å!øÿN#FÅͩ͡Íâñ*‚å*‚#"‡áå!øÿ~ #fo0 Á}*Ú#"ÙÃŽç!å!‚åÍùú�Ü!å!åá÷~Õ#~ЧÑ!òå!‚åÍÑÍâñ*‚#"�ÉÜ:ÛÖ2Ù:ÛÞ2ÙÉl*…ÿÿ "Ù!ß—–>#žòŽÝ!ðÿå*Ü)))„ åá÷~Õ#~Š Ñ!÷å!åÍÁÍá!‚åÍùò�Y!å!ðÿåÍæñ!å*Þÿÿ åÍÊá:‚•2�:‚œ2�:ÛÖ2Ù:ÛÞ2ÙÉæ*ƒMDØcround.rGá c.rets c.r2 c.r4 c.ents _round.Í·!~#fo"¯!#~·ú�…!å! Á – #žò‰…*¯å!~# foãÁ ~þ5ú�…!~#foÿÿ "¡:¢·ú‰‹*ªå*§ãÁ ~þ9‰Í*ªå*¦ãÁ 60:£Ö2¡:£Þ2¡ÃŒOÙ:¢·ò‰…*¯61!~#fo"¡!§—–>#žò‰Û*ªå*¦ãÁ 60:£Ö2¡:£Þ2¡É¢*ªå*¥ãÁ 4ÃŒ‹Østdin.rstdin. stdout.rstdout. cfcon.riB_ntens.@_dzero.8_dtens.B€@ BÈCG@¾M ¼[É¿�u­Å+¨·pitols.rˆA c.rets c.irsh c.r4 c.ents itols.Í·!~#fo"©*ªå*ª#"¯áå!Á~*¯å!N#FÅ!åÍ¥áÁ}*«MDØlstoi.rx? c.rets c.r4 c.ents lstoi.ͯ!~#fo"¡*§~O‡ŸGi` }æÿo|ægå*§ ~O‡ŸGi`))))))))ãÁ MDØsort.rÇ ÿ c.ihl c.r3 c.r2 c.rets c.r4 c.ents c.ret _sort." c.ent sort.Íß!å!~#foÿÿ å!åÍŒ"ñññÃÉÍÇ!~#fo"¿!å! Á – #žú‰F÷!~#foÿÿ "¯!~#fo"¡!¡:ª–:«#žò‰±*ª#"©!¡:ª–:«#žò‰ì*¿ å!N#FÅ*ªå*½~#foÍŸñññ—‘>˜ò‰oÃ�ì!:ª¾Â‰Á:«#¾Ê‰d*¿ å!N#FÅ*ªå*¿ ~#foÍœñññÉd:£Ö2¡:£Þ2¡!¡:ª–:«#žò‰1*¿ å!N#FÅ*¢å*½~#foÍžñññx·ò‰ì!¡:ª–:«#žò‰`*¾ å*¢å*ªå*¿ ~#foÍœñññÉ`*¯å!Áy–Ox#žGÅ!~#foå!¯Áy–Ox#žGá}‘|˜ò‰È*ºå*¯ÿÿ å!N#FÅÍŒ"ñññ*¿å!N#FÅ*® åÍŒ"ñññÉü*¿å!N#FÅ*® åÍŒ"ñññ*ºå*¯ÿÿ å!N#FÅÍŒ"ñññðfread.rÜ‚ c.rets c.r2 c.r4 c.ents fread. read.ͳ>2«‡Ÿ2­!:ª–:«#žÒ�Y!~#foå!¯Áy–Ox#žGÅ!N#FÅ!N#FÅÍÆñññi`"¡!§—–>#žú‰a*«MDÞ!å!§Á † #Ž*ªå*¤ãÁ "©Ãˆ create.r½ / c.r2 c.rets c.r4 c.ents create. _wcbs. close. open. isis.Í·!ôÿ9ù>2«‡Ÿ2©:«Ö :«Þò‰:*«))Ç ~O‡ŸGy æOxæGy°Â‰M:«Ö :«ÞúŒWÿÿá*ª#"©Ã‰*«)) "™*Ÿ6!~#¶Â‰y*Ÿ~öw!îÿå*Ÿ Á}B|!ðÿå!Á~#~!òÿ>w‡Ÿ#w!ôÿ>w‡Ÿ#w!öÿå!øÿÁ}|!îÿå!åÍßññ!øÿ~#¶Ê�í!øÿ~#f o>•o>œgMDç!~þÂ�û#~þʉ'*ªåÍÏñ!N#FÅ!N#FÅ!N#FÅÍÔñññá*«MDàlseek.r t c.land c.r1 c.lrsh c.lneg c.r0 c.rets c.r4 c.ents lseek. _ckfd. isis.Í×!ðÿ9ù!N#FÅÍäñi`"É!Ì~#¶ÂŒ(ÿÿÃÇ!#~·ò�r!å!åá¿~#~#~#~!ºåÍ·áÁ~#~"#~#~! ~Öw#~Þw!øÿå!åá¿~#~#~#~!¾å!åͪ—2¡2£>ÿ2£>2¡!¢åÍŸáÁ##~#~!öÿå!åá¿~#~#~#~!¼å>2£‡Ÿ2¡2¡2¡!¢åÍŸáÁ##~# ~!êÿå*Ï Á~P#~!ìÿå! ~#fo##Á}|!îÿå!øÿÁ}|!ðÿå!öÿÁ}|!òÿå!ôÿÁ}|!êÿå!åÍïññ!ôÿ~#fo>•o>œgMDÃÀopen.rŠ c.r2 c.rets c.r4 c.ents open. _wcbs. isis.Í·!ôÿ9ù>2«‡Ÿ2©:«Ö :«Þò‰:*«))Ç ~O‡ŸGy æOxæGy°Â‰M:«Ö :«ÞúŒWÿÿá*ª#"©Ã‰*«)) "™*Ÿ6!~#¶Â‰y*Ÿ~öw!îÿå*Ÿ Á} |!ðÿå!Á~#~!òÿå!~þÂ�®#~þÂŒ·Ã�¿!N#F+áywx#w!ôÿ>w‡Ÿ#w!öÿå!øÿÁ}|!îÿå!åÍÏññ!øÿ~#¶Ê� !øÿ~#f o>•o>œgMDá*«MDàread.rŠ c.r4 c.r2 c.rets c.r3 c.ents read. _ckfd. isis.Í¿!òÿ9ù!N#FÅÍÌñi`"±!´~#¶ÂŒ(ÿÿë>2£‡Ÿ2¡!¤~#¶Â޹!ìÿå*· Á~L#~!îÿå!Á~#~!ðÿå!Á~#~!òÿå!øÿÁ}|!ôÿå!öÿÁ}|!ìÿå!åÍ×ññ!öÿ~#¶Ê�Á!öÿ~#f o>•o>œgMDé*£MDï!øÿ~#¶ʉà*·~O‡ŸGyæ OxæGy°Â�í!øÿ~#foMDï!øÿ—–>#žò�2!~#fo~þ Ê�9!~Æw#~Îw!~Öw#~Þw*¢#"§!øÿ~Öw#~ÞwËí>2›‡Ÿ2Ÿ!øÿ~#foÿÿ :š•:šœò�)!~#foå*ŸãÁ å!~#foå*Ÿ ãÁ Á~*š#"™ÃˆCremove.r€J c.ret c.ent remove. isis.ͧ!ôÿ9ù!ô'ÿå!Á~#~!öÿå!øÿÁ}|!ôÿå!åÍ·ññ!øÿ~#fo>•o>œgMDØsbreak.r¨a c.ret c.ent sbreak. _memoryͧõõõõ!øÿ:’aw:“b#w*—aå!~#foãÁ "•a!øÿ:’a•:’bœÒ‰C!±:’a•:’bœÒ�T!øÿ~#fo"”aß!øÿ~#foMDذuname.r>  c.ret c.ent uname.Í¡!“ MDØctempc.write.r\¿ c.r4 c.r2 c.rets c.r3 c.ents write. _ckfd. isis.Í¿!öÿ9ù!N#FÅÍÌñi`"±!´~#¶ÂŒ(ÿÿë>2£‡Ÿ2§!—–>#žò‰†*·~O‡ŸGyæ OxæGy°Ê‹Ž>2›‡Ÿ2�!:š–:›#žò�™!~#foå*ŸãÁ ~þ ‰É™*£MDï!~#fo"ž!ðÿå*· Á~#~!òÿå!Á~#~!ôÿ:šw:Ÿ#w!öÿå !øÿÁ}|!œ~#¶Ê�!ðÿå!åÍ×ññ!øÿ~#¶Ê�i!øÿ~#f o>•o>œgMDé*š#"™Ã�^!—–>#žò�2!òÿ—¿ywx#w!ôÿ>w‡Ÿ#w!ðÿå!åÍ×ññ!øÿ~#¶Ê�›!øÿ~#f o>•o>œgMDî!å!ŸÁ † #Ž!å!ŸÁ – #ž*¢å*œãÁ "¡Ã�!~Æw#~Îw!~Öw#~Þw*¢#"¡Ãˆ2 close.rª c.rets c.r4 c.ents close. _ckfd. isis.ͯõõõ!N#FÅͼñi`"¡!¤~#¶ÂŒ&ÿÿÙ*§ >–>#žú‰I*§6!~#foMDÞ!ôÿå*§ Á~#~!öÿå!øÿÁ}|!ôÿå!åÍÇññ!øÿ~#¶Ê�˜!øÿ~#f o>•o>œgMDÙ*§6!~#foMDØckfd.rœQ c.rets c.r4 c.ents _ckfd. _wcbs.ͯ!~#fo"¡:¢·ú‰=:£Ö :£Þò‰=*£))¿ ~O‡ŸGy æOxæGy°ÂŒCÙ*£))¼ MDØwcb.r7$_wcbs.$exit.rÞl c.rets c.r4 c.ents isis. c.ihl c.ent exit. onexit.PÍÆ!öÿ9ù!”l~#¶Ê‰0!‰P:’l½Â‰:’m¼Ê‰0*‘lÍ»i`"‘lÃ�!öÿå!øÿÁ}|!öÿå! åͳññÉ?Í©*‘l"§!~#fo"‘l*£MD؈Pfill.r›P c.rets c.r2 c.r4 c.ents fill.Í·!~#fo"¯!~#fo"¡!§—–>#žÒ‰C*¯å!Á~:£Ö2¡:£Þ2¡Ã�!~#foMDØlower.rÌx c.rets c.r2 c.r4 c.ents lower.Í·!~#fo"«>2£‡Ÿ2¥!:¢–:£#žÒ‰k*ªå*¬~þAú‰O*¬>Z¾ú‰O*¯~O‡ŸG!  MDÉW*¯~O‡ŸGáyw*¢#"¡*ª#"©Ã�!~#foMDØsqze.ræ… c.rets c.r2 c.r3 c.r4 c.ents squeezeÍ¿!~#fo"·!~#fo"©*©"¡!·—–>#žÒ‰X*§~O‡ŸG!y¾ÂŒ?x#¾Ê‰k*ªå*ª#"«áå*¤Á~Ék*¯å!Áy–Ox#žGÙ:³Ö2±:³Þ2±*¢#"¡Ãˆ/* CP/M INTERFACE HEADER FILE* * copyright (c) 1979 by Whitesmiths, Ltd. */’#define TINY char,/* the CP/M file control block, as augmented */#define FCB struct fcb struct fcb { TEXT et; /* assumed zero */! TEXT fn[8]; /* blank padded */a TEXT ft[3]; /* ditto */! TINY ex; /* start with zero */) TEXT pad[2]; /* assumed zero by CP/M */ TINY rcount; /* [0, 128] */-: TINY dmap[16]; /* eight records per 1024 byte cluster */+ TINY nr; /* next record to read/write */ TINY bleft; TEXT *bnext;L LONG lseek; COUNT bufseg; TEXT buf[128]; }; /* the Whitesmiths control block */c#define WCB struct wcb struct wcb { TINY flags, dev; FCB *pf;{ };X/* flag values:z *//#define WOPEN 1/#define WDIRT 2a#define WSTD 4#define WCR 010#define WXDIRT 020#define WXOPEN 040/* device values:o */P#define LST -4u#define PUN -3*#define RDR -2]#define CON -1d#define DSKA 0#define DSKB 1#define DSKC 2#define DSKD 3#define NODEV 4l/* intermodule communication */C#define CTRLZ 032 #define EOF 1#define FAIL -1m#define MCREATE 0#define MOPEN 1 #define MREMOVE 2t#define MWRITE 4#define NFILES 9#define SYSBUF 0x80a/* CP/M innardsn */E#define CRDCON 1#define CWRCON 2#define CRDRDR 3#define CWRPUN 4#define CWRLST 5#define CGIOST 7#define CSIOST 8#define CPRBUF 9#define CRDBUF 10d#define CICRDY 11f#define CLFTHD 12n#define CINIT 13#define CLOGIN 14C#define COPEN 15#define CCLOSE 16#define CSRCH 17#define CSRCHN 18#define CDEL 19 #define CREAD 20#define CWRITE 21d#define CMAKE 22#define CRENAME 23#define CILOGIN 24#define CIDRNO 25f#define CSETAD 26n#define CIALLOC 27 CP/M innardsn */E#define CRDCON 1#define CWRCON 2#define CRDRDR 3#define CWRPUN 4#define CWRLST 5#define CGIOST 7#define CSIOST 8#define CPRBUF 9#define CRDBUF 10d#define CICRDY 11f#define CLFTHD 12n#define CINIT 13#define CLOGIN 14C#define COPEN 15#definÁXÀO  -%ß ýä»ä| À+¼À+Mg'¤Ëg'ÔÔe"üÀ+w”z""�`±'Rœ,x(œ,‹wqQ€WüdÀ+äfèf\gx(XqXqK|qÀ+¤yzhzz*}ü}À+€…ÀD=†|ŠÀ+ü–À+2™ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÔe"w”€…ÀDÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿO *Ôe"¯”LØÎ@•e @ `"@* s"@ ° @w@""œ'@ #}@*&½`@ö&`;@œ,À@E`€W@\gÀ@*\gœ'@\gx(@\gK@Iq@XqK@*äya@€…ÀD@™’È}@(üa (| *| À+h¼À+hMg'hËg'hüÀ+h*zh±'RhüdÀ+h |qÀ+h ü}À+h*=†h|ŠÀ+hü–À+h #(ò»h*ähÖ¤hðÔh*Ôe"hd""�`húœ,x(hœ,‹wh>¯” üa ÿ ( can't extract %p can't read block  #*w ÆeâùW-À ÎÿÿfæìýNa÷  ° äya*&–%5êýNæßýNa÷ Ö 5 øÿW-øÿ@# ö&`;€…ÀD*L!@0Wp ñ‹.Wp @œ"5 øÿ&Î  üa  üa "*ræßýNaWp fÎe÷ –%À õ øÿw üa ØÎ*˜(Næ ÷ TÖ wµ øÿÈ!@ë„ Ç  üa  *¾Wp @œ%ÀEÿ5ôÿ — ê€t5 ôÿä  üa %*äWp €Àe&`@’ÀEÿÎæßùNaÁÀ v  üa &*  ÀeÁe@ f&fæ÷ Æe  Iqw*0Î( ÷ ‚ Ê@Àeßù5Üù × õ€t  üa ( *VÀ`5 ôÿî÷ ΀fÜùfêý÷ –%õe€Üùüa  \gK*|ƒ å5 öÿW-öÿ€øW¯Üù ý‹Üùµ öÿµ Üù*¢ðW¯Üùè@ŸÜùÎEÿfêý÷ Ö ìW-\gÀÈNêý÷ w &½` `"üa : *: file too large: %p can't write block *` no free space directory full a: %p † can't read %p  #Ö*Öw ÆeìùÎ& f÷ –%5òÿNæ‡  ° üa E`€W (üa ‡ *ü÷ úÖ ÷ Næ€ ÷ Ö  fòÿæêýNa üa  üa € \gœ'*"÷ –% ÷ NÎeêý÷ 5èý5 øÿõ èýõ ö&`;*HøÿW-øÿ5 öÿW-öÿ@AöÿWp ñ‹  &üa *nµ öÿòõ èýwdNæ: ÷ pÖ wRµ øÿ  üa : *”ÕW-öÿ@Îp ÷ T*AöÿWp @Àe5æý üa p $üa *º5 ôÿW-ôÿ @æýµ æýе ôÿôNAöÿWp*à fÎe÷ Ö AöÿWp q�øÿ"5 ôÿõ èýÅ üa €…ÀD üa "*W-ôÿÁ !óô‹„ øµ ôÿí!ó  üa *,Îa ÷ Æ´ŠAöÿWp @Àe&@môÿ‘ @ üa a üa  üa &*RÀeæù5æýõ èý—  × €+@æýµ æýA*xèýµ èýH’ƒ òÎææùNaÀ v ÀeÁe*ž@ f&fæ÷ Æe  ³ÎN ÷ 8®™’È}w "üa N *ÄAöÿWp ±Š%NÎeêý÷ d5èý‚ ¼NÎeêý÷  üa %*êww Î÷  !@Wp ñ•å&½` `" ° *„ õNf¦÷ –%ww Î÷ â üa XqK `" ° *6õ Îf&÷ –%õ õeï \÷ w\gx( `"üa – – %p: not found d: %p  #d*dw ÆeôÿNæïÿNa÷ Ö   !@"Wp ° €…ÀD*Š ñ‹)Î æïÿNaWp fÎe÷ –%À  üa  üa $ØÎ*°‚ ÷ Næ¥ ÷ Ö  õ N üa  üa ¥ \gœ'*Öæ– ÷ Ö „ ÌWp ñ•å÷wf üa – üa & `" ü…æ Nf÷ Ö  ÷ w""œ' #} s"üa ¬ *¬ bad block %i in %.8p.%.3p can't acces*Ò s filesys: %p can't create filesys: %ø p   #*w ÆeüÿW-Îææ÷ –%5öÿ ° üa "•e *>'Îæá ÷ ®ÿÖ Îfæ÷ –%5öÿ üa  üa á üa "E`€W*dÎæææföÿæ÷ Æe   üa Iq w*Š @öÿS뾂 ÷ ZÿÖ  õøÿ!@üa  üa Ç *°Wp ñ‹ — Wp €Àe&`@’ÀE üa  "üa &*Öÿó‹ õ øÿ& ÷ "„ Ú‚ âÃ% üa  #}*üóWp NÎeWp fÎeææ¬ ÷  üa  üa  $üa ¬ (""œ'*"Æe5 øÿåà 㳊à@öÿww æ õ  üa  `"" ° *H7Š{  !€À�{  ÿÿÄ 3 wüa { üa { *n×­{  õ øÿ7Š{ À�{  ÿÿìN÷  `"üa { üa { üa { *”5øÿW-øÿÿÿ÷•ÿÿ{ ì÷ éW-øÿ å÷•œ,Àüa { üa *º{ õ øÿÞt�øÿû „ Â!€ ÷  üa { üa û "üa àÀ4�û „ òÀû ½ üa û üa û ” O *€…ÀD¯”L»@ä@| À+@*¼À+@Mg'@•e @¤@ `"@* s"@ ° @Ëg'@Ô@Ôe"@*üÀ+@w@z@""�`@ #}@*ö&`;@±'R@œ,a'@œ,x(@üdÀ+@*\gœ'@\gòy@|qÀ+@*y}@äya@*ü}À+@=†@|ŠÀ+@™’È}@ü–À+@*(üa (³ #(ÖqQ€WhäfhT*èfhn\gx(hXqh>XqKhb¤yzh¤*hzzhê*}h*€…ÀDhî2™hº¯” üa */dev/rx0dx0:flag conflict bad fla$&gs +cpm,dec,b,c,d,p,r,t,v,x,f*  #w Îæææææ& °  ±'Rü–À+|ŠÀ+ü}À+|qÀ+ææææææ&üdÀ+üÀ+ ¼À+| À+Ëg'Mg'*2*æNaæNa÷ Æe æ¦æ  üa *œ,a' "üa  (üa *Xæ÷ Æe ÷ ÀÀmÀmÀmÀm& \gòy #}¼À+üÀ+"üdÀ+&|qÀ+&~Àm· ÷ ÷ À À(ü}À+ü–À+ü}À+±'RËg' üa * 7Ä%ï ææ÷ –% ÷ ã$ üa ±'R üa \gòy& #}*Æ÷ Nf÷ Ö ÷ Nf÷ ¼À+¤üÀ+*ìÖ Î÷ w÷ Nf÷ FÖ ïÔ #} `"üdÀ+*÷ Nf÷ Ö ä÷ Nf÷ |qÀ+ü}À+*8ðÖ Ù÷ ÖNf÷ jÖ Îf…æ  f ü–À+^f÷ –%w s"üa FFx: %p can't create %p  #n*nw õ  •Îææ÷ –% ÷  ° äya ö&`;(œ,x(*”õ õ Îæf÷ –%N| À+ •e *ºæM÷ Ö wõ õeß÷ N üa M ""�` `"$|ŠÀ+$àæF÷ Ö Â îN¦&÷ –%æ üa F \gœ'»üa ^^can't write filesys: %p   #*f…æ Îæææfæ÷ Æe z ™’È}$w*& Îæ^÷ Ö wf…æ Nf ±'R üa ^""�` s"*Læ÷ Ö &÷ –%wf…æ õ  f œ,x( s"*rf÷ –%Nf÷ Ö õ õeè Ôe"ä*˜N÷ `ÿww AWp @ÀeAWp s" °  z*¾ @ÀeÄ• Ä ‹¢€’Á’@à wÄ  z& `"*ä‚ ƒ ñw æ AWp @ÀeAWp @ ° z$ Àe ! µ’ùÿÒ’S�ùÿ„ öwz" `"üa w*w%i/%i free clusters %i/%i free extent�s %.8p.%.3p[%i] %3i  #***w  ÷  æêæ¤æ@÷ Æe •@ °  œ,x(ê¤*y}*P!@(Wp ñ‹7 Wp @œÎEÿz z*vWp @œ &Wp fÎe Wp fÎeæ " z z $z (üa  *œ÷ Æe÷ Î@¦æŒ÷ –%  !\gœ'|ŠÀ+ üa Œ \gœ'*Âó ô‹‚ „ ¾wÎó¦æw÷ –% =† `" "üa w&\gœ'*èõ„ éw  W¯. ý‹!@µ  ° *ý¥a W¯z@ŸÀeàÿ@Ÿ>�*4„ µ Ü!@µ È• „ õW¯.*Zµ  ý‹!@µ ý¥a W¯*€z@ŸÀeàÿ@Ÿ>�„ µ à!*¦@µ È• „ õwf…æ Îff `"Ì÷ žü–%w s"PO *w¯”LMg'@ `"@ ° @*Ëg'@ýMø @( #(Jwh ¯”  #*w ÷ ÷  f ff÷ Æe °  Mg'Ëg'$ýMø *&À ,Nf fý –%5 "@tùÿ*LÄ @A vùÿB�À r�À r*rB÷ ÷ % @wÄ õeõeMg'Ëg' `"*˜€ u õe€ ÓÂ% À �Wp*¾�cAÀ rB÷ à ÀÀ ÀLÁWpËg'*ä�`AÀ rBÂ5À  �� `B * ÁWp�`AÀ vf&f÷ ÆeÀ ÎýMø 0€f fý –% €¤  ( #(Jwh ¯”  #*w ÷ ÷  f ff÷ Æe °  Mg'Ëg'$ýMø *&À ,Nf fý –%5 "@tùÿ*LÄ @A vùÿB�À r�À r*rB÷ ÷ % @wÄ õeõeMg'Ëg' `"*#include /* ECHO ARGUMENTS TO STDOUT& * copyright 1978 by Whitesmiths, Ltd. */BOOL main(ac, av)5 COUNT ac; TEXT **av; { FAST COUNT n, ns, nw; if (++av, --ac <= 0) return (YES);% else  { ns = lenstr(*av); nw = write(STDOUT, *av, ns); while (++av, --ac) { n = lenstr(*av); ns =+ 1 + n;$ nw =+ write(STDOUT, " ", 1);  nw =+ write(STDOUT, *av, n); } nw =+ write(STDOUT, "\n", 1);  return (nw == ns + 1); } }g'Ëg' `"* .title .end); copyright (c) 1978 by Whitesmiths, Ltd.p; define end of programs .globl .end,.settop .psect c$text .even.settop: mov 2(sp),r0N cmp r0,#max blo $1a clr r0=$1: rts pc( .psect $99999 .even.end:t .blkb 40001max: .endUT, *av, ns); while (++av, --ac) { n = lenstr(*av); ns =+ 1 + n;$ nw =+ write(STDOUT, " ", 1);  nw =+ write(STDOUT, *av, n); } nw =+ write(STDOUT, "\n", 1);  return (nw == ns + 1); } }g'Ëg' `"*ÁXÀO  .ø ÿü""�`ü249qQ€W\gKq\g–\g –"q0„ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ\g –ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿO *\g –¯”L `"@ s"@ ° @* <‘@ #}@U(à@œ,a'@ N(_@*E`€W@\gòy@™’È}@(üa (w*ü2h49h #(.""�`hqQ€Wh6*\gKqh´\g–h¢\g –hÖ"q0„hü¯” üa   #*f…æ  ffæ÷ Æe ææ\gòy $üa &÷ –% ÷ w\gòy #} s"üa *Jê¤unknown record typeba"  #J  # #ê  #¤*,d record length$ can't open bad fla Rgsh  #6*6w ÆeÞÿÎæUæNaæNa÷ Æe5 ° üa üa U"œ,a'*\ØÿNØÿæK÷ ”ÿÖ õ Î& f÷  üa K(E`€W*‚–%7Næ?÷ jÿÖ ÷ Îæ<æ"üa  üa ?üa &üa <*¨÷ –%ÎæÚÿNa÷ >Ö NÎeÛÿ÷ × ™’È}$ N(_*Î æ*÷ $ÿÖ @�ÚÿÁwÃåà ßÃ% üa * üa  <‘*ô À ÀæÚÿNa÷ ðÖ áíÍÎ*æàÿNa÷ ØÖ  æÚÿNaæßÿNa÷ Ö &÷ t N(_*@–%À•wNÎeÞÿ÷ Ãåà Ã% À `" N(_*f ÀæÚÿNa÷ „Ö æÚÿNa¦÷ ,–%*ŒáaäÎæÚÿNa÷ \Ö † æ÷ RþÖ w  üa ²üþ üa WWcan't write hex  #´*´w Æe°ÿõ•:ªÿNæ«ÿNa÷ ÒÖ @t ° *Úøÿæ­ÿNa÷ ºÖ `Næ¯ÿNa÷ ¨Ö `õ *À æ±ÿNa÷ ŠÖ ` • 5!*&@ŸæªÿNaŽ`÷ hÖ `„ Âeµ ìÎ*L æªÿNaŽ`÷ HÖ @Àeªÿ�Áe@`È• ŽÎe*ræªÿNaæ÷ –%�Áe  æW÷ hý™’È} $üa W*˜Ö @ww DB€tüÿ&÷ Ö  `" ° *¾Žæa÷ Ö €ÀEÿww DÄEðÿ! `" ° ä À0À7a=�w `"üa ggcan't read file  #ü*üf…æ Nfæ÷ –%5  æg÷ üa U(à &üa g"ÜüÖ @w s"¯ÿNa÷ ¨Ö `õ *À æ±ÿNa÷ ŠÖ ` • 5!*&@ŸæªÿNaŽ`÷ hÖ `„ Âeµ ìÎ*L æªÿNaŽ`÷ HÖ @Àeªÿ�Áe@`È• ŽÎe*ræªÿNaæ÷ –%�Áe  æW÷ hý™’È} $üa W*˜Ö @ww DB€tüÿ&÷ Ö uÿbtou.reA c.lret c.btouåÅ!9~#foN#F!9~o-ú�(xGyOÃ�!9~!=úŠ0)Ã�(+y¥Ox¤G!9q#pØcount.r c.countÉculdiv.rM" c.uldiv c.r0 uldiv.!9MD!§ w #w #w #w!¤åÅÍšñÉculmod.rM" c.ulmod c.r0 ulmod.!9MD!§ w #w #w #w!¤åÅÍšñÉculrsh.rT( c.ulrsh c.r0 ulrsh.!9MD!§ w #w #w #w!§å! N#FÅÍšñÉdcmp.r®‚ c.zret c.dcmpåÅÕ! 9~#foN#Fx·ò�—‘O>€˜G!9~#fo^#Vz·ò�1—“_>€šWxÆ€GzÆ€Wy“oxšÚŠJµÊ‹O>Ëw>ÿÃ�w! 9N#F!9~#fo# ##¾Â�| +¾ÂŠ|ÂŒb—чÙډJÈEddiv.r¹f c.lret c.repk c.unpk c.ddiv!åÅÕ!9ë!áÿ9ù!ëÿ6!N#FÅ!÷ÿåÍ­ññy°Â�J! N#F ö>ÿ Ã�`!ÿÿ~·ò�j!÷ÿÕ·>#žwÂ�[Ñ!ëÿ4!ìÿq#p! N#F ·ò�†æ!ëÿ 4 Å!îÿåÍ­ññy°Ê�`y!ìÿ–Ox#žGyÆ€+wxÎ#w— !àÿ#w Â�³!êÿ69! áÿ·#~w Â�Æ!÷ÿMD! Õ +¾ÂŠæŠÛÑÚ�!íÿMD!öÿÕ · #žÂ�øÑ!âÿ4!  ·+~w ÂŽ!êÿ5Â�¿!ìÿN#FÅ!áÿåͧññ!ëÿ~æÊ�H!áÿ~#¶Ê�H~ö€w! N#F !àÿÕ#~Â�WÑëùÑØdmul.rn  c.lret c.repk c.unpk c.dmulåÅÕ!9ë!áÿ9ù! N#F!ëÿ6 ·ò�$Æ€4 Å!îÿåÍ­ññy°Ê�!ìÿq#p!N#FÅ!÷ÿåÍ­ññy°Â�g! N#F — ‰^Ã�!ìÿ~�O#~ˆGyÖ€+wxÞ#w!àÿ— #w Â�ƒ>8!êÿw!ÿÿ ~‡#+~w Â�™!õÿ~·ò�Â!àÿMD!öÿÕ · #ŽÂ�¸Ñ!íÿ·#~w ÂŽÉ!êÿ5Â��!ìÿN#FÅ!áÿåͧññ!ëÿ~·Ê�!áÿ~#¶Ê�~ö€w! N#F !àÿÕ#~Â�ÑëùÑØdsub.rnC c.lret c.dadd c.dsub"åÅÕ!9ë!øÿ9ù!N#F !÷ÿÕ #wÂ�Ñ!ùÿ~Æ€w! N#FÅ!øÿåͤëùÑØdneg.r) c.dneg å!9~#fo~#¶ÊŽ~Æ€wáÉdtd.rA" c.lret c.dtdåÅ!9N#F!9~#foÕ~#~ŠÑØdtf.rqM c.lret c.dtf$åÅ!9N#F!9~#fo w #w #w #w ·ò›+4›#4Â�+++4ž#4~æŸ=w>ÿ+w##w#wØdtl.rû¬ c.lret c.unpk c.dtr¤ c.dtlƒ c.dtimãÅÕMD!9ë!÷ÿ9ùÅ!N#FÅ!÷ÿåÍ¥ññy°Ê�hyÖ¨OxÞGò�N!ÿÿÕ ~‡#+~wÂ�<Ñy°Â‰2Ëhy°Ê�h!ùÿÕ·#~�w‹[Ñ ÃŽN! ÉÍ�N#F!úÿ ~#~ëùÑÙÍ�N#F!ýÿ~+~ +~+~ ëùÑÙ͋MDÈsenter.rÁa c.rets exit. write. c.ihl c.ents leave.$ enter.͹*–aå!9"—a!N#F #~#foåi`ͲÅÍ‹$ñÁ*“a}´Â�D!å!ŽRå!åÍ­!åÍ£ùá"—a!9]Tßbad leave call ents.r–)c.r4=c.r3;c.r29c.r11c.r0) c.rets c.entsÁ!þÿ9ëå*’=å*’;å*—9åi`é!úÿùá"’9á"’;á"’=ÑÉftd.rI+ c.lret c.ftd)åÅ!9N#F!9~#fo~#~#~#~—Øidiv.rWÿ c.lret c.umodä c.udivÉ c.imodƒ c.idiv<.áÕÕÅåø!9~‡w#~�w#~�w#~�w+MD!9 –_ #žÚ� { !94Ã� åÅÕ! 9~·ò�T—+–w># žw! 9N#Fx·ò�h—‘O>˜GÍŒÁññÒ�x—‘O>˜G ! 9q#pÑßåÅÕ! 9~·ò�š—+–w># žw! 9N#Fx·ò�®—‘O>˜GÍŒñÁñÒ�¾—‘O>˜G ! 9q#pÑßåÅÕ! 9N#FÍ�Áññ! 9q#pÑßåÅÕ! 9N#FÍ�ñÁñ! 9q#pÑØilsh.rÈ‚ c.lret c.urshO c.irsh$ c.ilsh åÅ!9~·ò‹/<É4ÊŸO!9~#fo) ‰Ã�våÅ!9~·ò‹4/<ÉÊŸO!9~# fo|‡|g}o ‰@Ã�våÅ!9~·ò‹_/<ÉÊŸO!9~# fo|·g}o Â�kMD!9q#pØimul.rgD c.lret c.imulåÅ!å! 9~+¶Ê‹9~Ò�! 9N#Fá å! 9~‡w#~�w! 9~·w+~wÃ�Á!9q#pØin.r4 c.ihl in.Áá&Éå!Ûå!9ÍžáÅO—GÉladd.rL. c.lret c.ladd,åÅ!9N#F!9~#fo ##† #Ž +++Ž #ŽØland.rD& c.lret c.land$åÅ!9N#F!9~#fo ¦ #¦ #¦ #¦Ølclt.rH* c.zret c.lclt(åÅ!9N#F!9~#fo ##– #ž +++ž #žÃ˜lcmp.rL+ c.zret c.lcmpåÅ!9N#F!9~#fo ¾Â� #¾Â� #¾Â� #¾Ã˜lcom.r- c.lcomå!9~#fo~/w#~/w#~/w#~/wáÉldiv.r¼ c.lret c.ulmod´ c.uldivv c.lmod; c.ldiva!9MD!9~#~#~#~— ø!9~‡w#~�w#~�w#~�w#~�w#~�w#~�w#~�w!9MD! 9 – #ž #ž #žÚ�#!9MD! 9 – #ž #ž #ž!94Ã�#ãÅÕë!ðÿ 9ùëé!9ùÑß#~#~+++~#~É#~·ò��—#–>#*ž>+++ž>#žÉ~#~#~ #~É{æÊ�Ï—–>#ž>#ž >#žÉÍ�‡!9MD!9~#foÍ�¯! 9MD!9~#fo͉¯Í�!9N#F!9͉âÉ”Í�‡!9MD!9~#foÍ�¯! 9M D!9~#fo͉¯Í�!9N#F!9͉âÉ”Í�‡! 9M D!9~#fo#Í��!9MD! 9~#fo#͉�Í�!9N#Fkb9͉Ïɔ͋‡È{lmul.rÅ¢ c.lret c.lmul5åÅ!9~#foN#FÅ#N#FÅ! 9~#foN#FÅ#N#FÅ!åå!9~+¶+¶+¶Ê‹‚~Ò�X!9MD!=9 † #Ž #Ž #Ž!9~‡w#~�w#~�w#~�w!9~·w+~w+~w+~wÃ�)!9N#F!9~#~á}|! 9ùØlneg.r4! c.lneg!å!9~#fo—##–w>#žw>+++žw>#žwáÉlor.rD& c.lret c.lor$åÅ!9N#F!9~#fo ¶ #¶ #¶ #¶Øllsh.rì§ c.lret c.ulrsho c.lrsh6 c.llsh åÅ!9~·ò‹/<ÉFÊŸO!9~#fo##~‡w#~�w+++~�w#~�w ‰ßåÅ!9~·ò‹F/<ÉÊŸO!9~#fo##+~‡~w+~w###~w+~w ‰TßåÅ!9~·ò‹/<ÉÊŸO!9~#fo##+~·w+~w###~w+~w ‰�Ølsub.rL. c.lret c.lsub,åÅ!9N#F!9~#fo ##– #ž +++ž #žØltd.rú¥ c.lret c.repk c.ultdŒ c.ltdr c.utdd c.itdT2ãÅÕMD!9ë!÷ÿ9ùÅ!N#F!÷ÿ>w#w#w#É#w#w!¨å!÷ÿåͧññ! N#F !öÿÕ#~Â�EÑëùÑÙÍ�q#px‡Ÿ#w#wÉ$Í�q#p—#w#wÉ$Í� w #w #w #w‡ŸÃ‰$Í� w # w #w #w—È$lxor.rD& c.lret c.lxor$åÅ!9N#F!9~#fo ® #® #® #®Øout.r1 c.ihl out.Áá&Éã}!Óå!9ÍšÅÉswitch.r>% c.switc~#¶Â� #~#foéy#¾ÂŒ x#¾Â�!+++~#foé##Èutob.r}V c.lret c.utob åÅÕ! 9~!=úŠ)Ã� +ë!9~ë=úŠ#)Ã�ë!9~! 9~#fo=úŠ9)Ã�1}£O|¢G! 9~#fo{/¦±wz/#¦°wÑØdadd.r0ç c.lret c.repk c.unpk c.daddåÅÕ!9ë!ìÿ9ù!N#FÅ!÷ÿåÍ­ññy°Ê�á!ìÿq#p! N#FÅ!îÿåÍ­ññy°Â�L!N#FÃ�Ë!ìÿy–Ox#žGú‹ny°Ê�›+~�w#~ˆw!ÿÿÃ�y—‘O>˜G!öÿÕ ~‡#+~w‰Ò��öw y°Ê�šÃ�zÑ!öÿMD!íÿÕ · #ŽwÂ�©Ñ!ìÿN#FÅ!îÿåͧññ!îÿMD ! ~#fo+Õ #wÂ�ØÑëùÑØent.r2 c.ret c.ihl c.ent !9ëãéëùÑÉrepk.rë c.repkÕ!9N#F! ~·ò�&i`+ ·>#žwŠÃ�4+¶ÂŠ4‰(Ã�é! ~·Ê�Y# ·+~wÂ�A!9~Æw#~ÎwÃ�4! ~·ú�€i`+ ·#~�wÂ�h!9~Öw#~ÞwËY ·ò�˜—i`7#~Îw‰ŒÃ�4!9~·ò�°i`+—#w‰§Ã‰éÊ�Ãi`>ÿ#wÂ�¹>²w!! å!9z‡~áw+~ w++~ wŠÝÑÉunpk.r‹n c.unpk(Õ!å!9N#F!9^#V! ëÅ#~#~ Â�Á—! ~#~WÒ�=ã+ã·ÂŽL‰CÃ�h>w+~ö€wã}·Ê�hi`·>#žwÂŽ_JñÑÉzret.rD' c.lret c.zret'õ!9N#F###q#pÁ+++qÁáññÉ!9N#F#q#pÁáñÉcend.r_memoryiend.r& stackö_memory isis@2- exit. _main._hl.]_de.[_bc.Y cpm. start*ùÍ¢ÅÍŸ!9N#FÕ#^#V#~#foÍ"“]kb"“[i`"–YÑO‡ŸGÉ-copyright (c) 1979 by Whitesmiths, Ltd./* ISIS INTERFACE HEADER FILE * * copyright (c) 1979 by Whitesmiths, Ltd. */%/* the Whitesmiths ISIS control block */#define WCB struct wcb struct wcb { TINY flags; COUNT waftn;  };#define WOPEN 1#define WCR 2#define FAIL -1a#define NFILES 9/* ISIS innards  */`#define IOPEN 0#define ICLOSE 1#define IDELETE 2#define IREAD 3#define IWRITE 4#define ISEEK 5ÿ#define ILOAD 6#define IRENAME 7#define ICONSOL 8 #define IEXIT 9#define IATTRIB 10#define IRESCAN 11#define IERROR 12r#define IWHOCON 13#define ISPATH 14%/* the Whitesmiths ISIS control block */#define WCB struct wcb struct wcb { TINY flags; COUNT waftn;  };#define WOPEN 1#define WCR 2#define FAIL -1a#define NFILES 9/* ISIS innards  */`#define IOPEN 0#define ICLOSE 1#define IDELETE 2#define IREAD 3#define IWRITE 4#define ISEEK 5ÿ#define ILOAD 6#define IRENAME 7#define ICONSOL 8 #define IEXIT 9#define IATTRIB ÁXÀO  .#Ì þJ ¶ät!äjLäµzQˆwÆ[e^^€%Æ€¢Æ @QÆ""�`œ,y œ,Tqì.²2í.aó.[ž49Æ<9Æy:ÕjL¶^ÆYMØYMgMHqQ€WÆxQÆ‘Z8Táyx$,8^*¨�Wp À @`ÎfæÎ`÷ áyx(YÎΖ%K�sÀw `"üa &*&ªjºundefined local: bad symb  #ª  #j  #ºLol number  #à*àw æ 5 øÿõ ÷ ˆÃ5€ !÷ v ° *÷ 5`øÿ„ õÎÿÿ÷ @øÿwõà àÀ\g£\g£ `"*,týÿÀEðÿÀÀEøÿÀe ÷ 2Àe÷ *R(÷ "tP€Á&wÄmÎEÿ÷  üa & <‘€€¢(\g£*x5`øÿtøÿÎEÿ÷ 5`øÿ•ƒ Æ÷ à\g£*ž÷ 5`øÿ‚ õÀA@ì`ÚÂåB-\g£€¢*Ä æD÷ @Ö Î�Wp Am@’À5�Wp  üa D*êAmDl½�Wp NNmŽ æ2÷ Ö °f  üa 2 …æ Nf÷ Ö  ÷ wUq  #} s"üa VVcan't read file:  #,*,f…Æeöÿý õÿÿøÿÎ& @&÷ (E`€W*R–%5øÿ@æV÷ ¦ÿÖ ý ýe@øÿ  üa Vxw s"üa hhcan't read relocation bits  #|*|f…æ ÷ ΀ææ÷ –%7÷& UZKåp€%49Iq$UZK(åp€%*¢÷  æh÷ ZÿÖ À· ’ÀEÿw(µr ™UZK üa hµr ™µr ™( s"*Èf…æ Îff÷ –% ý‹@U(à*îÎefÎe÷ Ö >À• w N(_( s"üa ƒƒcan't read file header  #*f…ÆeöÿÎæøÿNaf÷ –%  æU(à:ƒ÷ ÎþÖ @øÿw üa ƒ s"üa š*šcan't read symbol tabletoo many symbo(Àls in filecan't read binary header  #J*Jw DÎ&f÷ –%  æË÷  ° U(à &üa Ë*pœþÖ Ì% ‚ æ²÷ ŠþÖ ÷ Îe÷  üa ² N(_*–4Îe÷ 4Wp B ¦÷ Ö  N(_ N(_&,8^*¼Žæf÷ –%  æš÷ 4þÖ ÀwU(à üa š( `"âf…7 ww UZK49 s"üa äämultiply defined:  #ô*ôw ÆeöÿNÎeôÿf÷ @ÿÖ 5ðÿuôÿòÿõ  ° *Bðÿ 5!òÿ€’À5(€’À5$ŽŽ ÷ V*@À’À5õõ Bðÿ 5!òÿN*föÿ€’&÷ Ö 2`€’À5Âe „ Í f Tq8^*Œðÿ÷ Ö @wwmøÿwmöÿïÂe „ ÖU(@ `"€¢€€¢*²ŽŽ ÷ Ü Ž€’&ÎEøÿæŽ`÷ ˆû–%é*Ø€’À5 À’À5  ŠŽŽ æä÷ Ö Ø€’À5 üa ä Uq *þ€’ÀEøÿ �³ÌÀ’À5ȳ,À$€3¼ üa ÷÷ D T phase error  #2*2w ÆeöÿNÎeôÿf÷ þÖ 5ðÿN÷ Œþu ° *XôÿòÿBðÿ 5!òÿ€’À5%Nöÿ€’&÷ Ö &Tq8^(~2`3÷ 4Îüæ÷ Ö Îùæ÷ * |Š üa ü€€¢\g– üa ù$€¢*¢Ö Î÷æf ÷ –%€’À5Ê•ðÿ\g– üa ÷\gÀv*ÈŽŽ ÷ Æ æÿ÷ 0üÖ Ê’òÂe  üa ÿ*î„ ¸ ÀÁæ& €e�e@ f&æ÷ " Q}ˆwQ}ˆw€€¢$´^(ýMø *ÆeNöÿæôÿNafòÿfðÿ÷ ²úÆe7` À$ €@Q*:Áæ& €e�e@ f&æ÷ ÆeNøÿ"QˆwQˆw €¢´^ ýMø *`æôÿNafòÿfðÿ÷ núÆe7` fðÿ÷ Ö  @Q&U(@*†wmøÿwmöÿww  7! Ä5? t €¢€€¢ `" ° ‘Z8T*¬úÿÀ  „ Âe íÎfæŽ`÷  áyxÒ–%À ð€wØÎ `"ðO *\g£¯”Lät!@äjL@äµz@*¯ˆw@•e @ `"@ s"@ ° @* <‘@""�`@œ,y @œ,a'@ì.²2@*í.a@o;øM@ÖKòy@YMØ@YM@*ýMø @\gòy@*y}@™’È}@(*üa (DQˆwh^€%h\€¢h @Qh*49h€<9hTjL¶^ho*  #w Î^æ`æZæ\æ( ° üa ^ üa ` üa Z üa \*XæVæTææNaæNa÷ Æe( üa X üa V üa T üa  œ,a'$<Žæ÷ Ö ÷ ^ ÷ TÀÀ( üa  ""�`üa ^üa T üa *\7^Ä`!  æ À &b÷ –%„ ( üa üa ^ üa ` üa b$äµz*‚ñNf÷ Ö ÷ |÷ ´÷ |÷ F÷ üa | üa |(¨|Nf÷ ÒÖ ÷ V÷ À|w(üa |üa V"üa |& `"üa // TD?  #Ì*Ìw æ  æ®æ8æv÷ Æe · v.†€& ° ®8üa v*y}$üa v*òÀEÀÿWp €túÿÀ @`Î8æ÷ D üa  üa 8*Ö Î1æÀ’&ÎEüÿÎe3÷ â–%Î/ææ üa 1 üa 3 "üa />Î`÷ Ζ%‚ Ïw `"üa 99undefined: _end  #PPw ÷x÷z÷( °  üa  üa xüa üa zbvÎzææE÷ –%×-(üa üa v üa z üa Eät!z\ÿÿÀÀmZÀ\7÷*üa \ üa üa Züa \üa *”Z 7! Ä5? túÿÀ w€’(üa Züa  üa  üa & `"*ºÀ5  €’&÷ Ö 2` 2ŠŽŽ æ9÷  &üa 9à"Ö „ Âe × üa M MTT NAME __eecan't create  #ì&ìw Îææ^÷ –%7~Î^æ& ° üa ^•e üa ~"üa ^*e÷ Ö ÷ Tw8ÀÁà €àÁà€  üa e""�`üa T üa *47 wÁx ÀeÁe@ à €àÁà€ 7"üa  üa üa xüa *Zw Î æT÷  Ö  ÎEÿ÷ 6ÎxÎe"üa üa üa T&üa x$€æ`÷ Ö Îæc÷ Ö Îæ& üa ` o;øMüa  üa co;øM* _÷ fÖ 7Îÿÿ÷ ü æxÎeÎmz¦& " üa _üa üa x$üa z$Ææ~÷ ÆeÎæR÷ Ö Îæ&üa ~ ýMø üa  üa Ro;øM*æM÷ Ö  ÎEÿ÷ ¶Îÿÿ÷ ® æxÎe üa M$üa x( ¦& æ~÷ ÆeÎzÎeæ`÷ Ö Î& üa ~ýMø üa z üa `"o;øM*0æc÷ Ö Îæ_÷ ÄÖ 7Îÿÿ÷ Z(üa üa c o;øM üa _ üa *V÷-†ÀÀ   €àÁà€ 7"üa  üa üa üa | w÷ ÷*üa üa  üa üa üa  Œ wüa  `"üa s*sbad library file in bad file format: ™  #’*’w ÆeìÿNÎeæNa÷ Ö Ž÷  ° œ,y &í.a*¸! Φ÷ Ö 6w!mÿ !uÿ @YMØ `"*Þþÿæˆ÷ Ö $õèÿõ æÿNÎeêÿ¦÷  üa ˆ""�`*Ö À Ž÷ !@þÿæs÷ ì.²2í.a $üa s(""�`**Ö & & ÷ –%Ž÷ ­ ¦÷ Ö À fäjL¯ˆw YMØ*Pèÿfæÿ÷ –%@øÿÀe 5`æÿu`èÿu æÿ  äjL*vfèÿfæÿ¦÷ Æe¸w ÆeêÿõäÿNÎeýMø  ° "üa *œæNa÷ Ö Ž÷ !F@œ,y í.a*Âþÿ& & ¦÷ Æe6÷ Ti æxÎe¦& YMüa T üa x*èæ~÷ ÆeÎ ÎEÿ÷ ®Îÿÿ÷ ¦ æüa ~ ýMø üa *xÎeÎmz¦& æ~÷ ÆeÎ ÎEÿ÷ (üa x üa züa ~ýMø  üa *4zÎÿÿ÷ r6Ž÷ ¨@äÿõeäÿ5æÿ5¯ˆw*Zèÿ@æÿAèÿvë fèÿfæÿ¦÷ ÆeN"ýMø *€Îeêÿ¦÷ Ö Ž÷ NÎeêÿfèÿfæÿ¦÷  ì.²2í.a(YM¦ÆeÎw `"üa can't write file  #°*°f…æ õ ÷ š×-š€Îšæœæ~*üa šüa š üa š $üa œ(üa ~*Ö÷ –%7 š æ÷ Ö õ  Àš· &™’È} üa š üa ""�`&üa š&üšp�œ7 šò@ww N÷ &üa š üa œüa š s" ° *5!†@fæ÷ –%NÖKòy"™’È}*D÷ fæ÷ –%ww ÆeüÿÄ•Ä ÖKòy™’È} `" ° *j@Á Á  tÀEðÿÀáAÁeöÿ@`*�— À0ÀW€`>�àÎæöÿNaæ&¶÷ –%N÷ fæ÷ –%w"™’È}ÖKòy™’È}$ `"üa ..øðìì*  #ø  #ð #ì  #ì  #  #Ø*Øf…@ÀEüÿÁ.w ÀwÀ@í& üa . <‘üa " s"&üa þùø üa BB  #*f…æ  ffæ÷ Æe æBæ\gòy $üa B**÷ –%7 |ww æ @ÀEÀÿWp @\gòy üa | s" ° *PtúÿÀ @`@ÀEÀÿWp @túÿÀ  üa *v@` !€€ a’Á� aA’@à5øÿ  üa *œ@øÿ w„ éw æ @ÀEÀÿWp  `" ° *Â@túÿÀ @`@ÀEÀÿWp @t  üa *èúÿÀ @`Ä Ä µ’ùÿÒ’S�ùÿøww  üa & `"*DB  “ÎEÿ÷ †ý` „ ôÀ ° 4w `" #*f…æ  ffæ÷ Æe æBæ\gòy $üa B**÷ –%7 |ww æ @ÀEÀÿWp @\gòy üa | s" ° *PtúÿÀ @`@ÀEÀÿWp @túÿÀ  üa *v@` !€€ a’Á� aA’@à5øÿ  üa *œ@øÿ w„ éw æ @ÀEÀÿWp  `" ° *Â@túÿÁXÀO  .9å ÿ.Ò(@œÔüt!À…""�`è.Ð5H£|:L;ŠK|hMp!oQ¸8qQ€W�ZH£T[ #(gÐ\g« Uq XqK|qír X�xd*}ü}ZŠÀv|Šü–2™Ìÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ2™ÌÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÒO *2™Ì¯”L,8^@¯ˆw@Øòy@*•e @ `"@ s"@ ° @ <‘@* #}@U(à@œ,a'@o;øM@ýMø @* N(_@/N€ @õ_|—@E`€W@\gòy@*Uq5a@q…R@™’È}@(üa (x*üh5H£hoQ¸8h�ZH£hT[ #h*|qh ír Xhü}h ZŠÀvh|Šh*ü–h #(² (@œhÔhPt!À…hZ*""�`hrè.Ðh�|:L;hPŠK|hŽhMp!h*qQ€WhØ(gÐht\g« h¬Uq h XqKh:"�xdh° *}h 2™ÌhÈ ¯” üa *uÿpadding errorw&rite errorread error  #*w Æeüý5 öÿ5 øÿ@A v @öÿAøÿ ° *&@íAí € vM@A v)@öÿAøÿ*LÀeÁe@ f&@A €å�å€ v@*rA @íöÿAíøÿ€ D �À 5`öÿu`øÿu öÿ½Ä*˜æöýNaf÷ –%@A vU(à*¾ æ1÷ ªÖ Ü (@A v3@öÿA  üa 1*äøÿææ N €EN �Ev%Îæ$f÷ üa  üa $(™’È}* –%  æ÷ VÖ ŽæöýNaf÷  üa (™’È}$0–% § æ%÷ 2Ö  @öÿAøÿw üa %" `"üa <<d c no delete files  #P*Pw Æeâÿõøÿõ  æB÷ Ö  f ° üa B*v÷ ˆÖ  ÷ ÎæÞÿNa&÷ ú–%À 8*œNÎeÞÿff÷ ¢–%5Üÿ<NÎeÞÿ¦÷ ²*ÂÖ @ôÿAöÿææ N €EN �E@môÿAmöÿ@ f& üa *è¦&÷ þÆe÷ ÆNÎeÞÿæ?÷ Ö ½üa  üa ?*÷ Ž÷  & f÷ ˆ–%@øÿwÎf¯ˆw ¯ˆw" `"&üa *4öÿfôÿ&÷ pÆe÷ žNÜÿæ<÷ ´Ö –üa  üa <*Zf…æ ÷ ÷ Àwf…æ Nf q…RUq5aüa  s"*€÷ †Ö  ÷ ww Îff÷ –%" #} s" ° üa &U(à*¦7 ý‹ K×- @0 @Aüa üa *Ìp@ÎefÎe÷ Ö À f N(_*ò&fÎe÷ Ö À v€e�e@ „ t N(_*@ÀmŠõ @ÀåÿÿÁåÿÿ€  üa *>vÀ wf…æ õ @õ  `"*d Nf÷ Ö À @w üõeØòy s"Šê üa R"Rcan't write to can't create  #Ž*Žw õ  ÷ 5÷ ÎZ÷ 7Î( ° q…Rüa Z"õ_|—&üa *´æf÷ –%Næb÷ žþÖ Î•e üa b*Úæ&÷ –% NæR÷ xþÖ w üa ™’È} üa R `"üa p*p´eÿ mÿŠuÿÈnot library format: c"  #´  #  #Š  #È*–an't read header for can't read libra¼ry  #*w Î& f÷ –% õ Næ¬ ° E`€W (üa ¬*(÷ FþÖ Ä ×-Àeÿ ×-Àmÿüa  üa &NÀuÿ7ÀÁpwÎæ&÷ ( üa üa  üa p <‘ üa *p–% ïNæ•÷ ìýÖ ç÷÷ U(à üa •"üa (üa &–7 w÷÷÷ó÷(üa  `"üa üa üa $¸÷÷éNæ€÷ žýÖ á*üa  üa üa  üa €üa À*Àconflicting flagsbad flags: d,r,t,x,(æv,#usage: lib name  #Ø*Øw õeBõ W- æê÷ výÖ  ° "üa êþMÎæææ æ æ* üa  üa  üa  üa üa *æÞæNaæNa÷ ÆeÎæÒ÷  üa  üa Þœ,a' &üa Ò*<4ýÖ ,ÀÀm Àm ÀmÀ% æÀ÷ ý* üa üa üa üa  $üa À*bÖ ÷ ÄÈ ÷ Ä ÷ Ä:& üa È üa  "üa (:(ˆ÷ ÄPÄ ŽffÌ –%w üa P & `"üa  replacement botch  #¬*¬w ÆeæÿÎ÷ &÷ @þÖ N÷ Àý  ° q…R*ÒæàÿNa¦÷ ²ü–%À @öÿAøÿÀåÿÿÁåÿÿ€ v*ø ÷ Ž÷ wõ  @õe¯ˆw¯ˆw `"*5øÿõ öÿ æ ÷ @üÖ NÎeàÿ&÷ 4Ö @  üa *DöÿAøÿææ N €EN �E@möÿAmøÿ@ f&&¦  üa j÷ ’ùÆe® üa can't write header  #t*tw  !@aÈ‹„ ö!„ @m ° *šŠ÷@fÎe÷ Ö @fo;øM*ÀÎe÷ Ö ×-@ApÎ o;øMüa (üa (æff÷ –%7  æ÷ nûÖ w&™’È}üa üa & `"üa //  # * f…æ  ffæ÷ Æe æ/æ\gòy $üa /0÷ –%w\gòy s"üa 1*1a can't read r can't read c no reWplacement files  #:*:w ÆeÞÿõ  æR÷ ûÖ  f÷ ¤üÖ  ° üa R*` ÷ &ü fÎ ÷ Ö 5öÿuöÿôÿÎ,8^*†æÚÿNa¦÷ þú–%À 8NÎeÚÿff÷ ¦û–%*¬5ØÿMNÎeÚÿæ÷ ¶þÖ @ðÿAòÿææ N €E "üa *ÒN �E@mðÿAmòÿ@ f&æ¦÷ øÆe÷ ÆN $üa *øÎeÚÿæO÷ ÿÖ ½Ž÷ õ u@È‹w üa O¯ˆw* 5 øÿW-øÿw@ÀeÚÿ@møÿAAmøÿH’*Dxµ øÿìÎ@ðÿAòÿææ N €EN �E@mðÿ üa *jAmòÿ@ f&¦÷ ÆeÎ& æÚÿNa÷ –%ýMø &E`€W*�NÎeÚÿæC÷ ÐùÖ õÿÿòÿõ ðÿNÎeÚÿæ  üa C*¶÷ ºýÖ @ôÿõeôÿ& & æ&÷ ,÷Æe~*Ü÷ ÷ NØÿæ@÷ þÖ =ŠØÿw„þÎ÷ ¯ˆw üa  üa @* @ôÿ@íöÿ rföÿf÷ Šü–%À•¯ˆw*( wõewØþõÿÿòÿõ ðÿÎ& æÚÿNa÷  `"*N –%NÎeÚÿæ4÷ ùÖ NÎeÚÿæ÷ ýÖ E`€W üa 4*t @ôÿõeôÿ& & æ&÷ töÆe~÷ (¯ˆw*š ÷ ÆNæ1÷ ^ýÖ ¾f…æ õ @üa  üa 1*À AÀEÿÿÁEþÿ5`u`u @Av *æ Îfff÷ Æeww ÆeÜÿõ•ýMø  s"" ° * :Öÿõ• ×ÿÎf÷ àùÖ ÎæàÿNa&*2 ÷ Zø–%À +NÎeàÿff÷ ù–%À &÷  (üa *X /Î føÿföÿæØÿNa÷ ÆeAÁeØÿ@`Š/N€ *~ NÎeÖÿæàÿNa÷ |üÖ ÷ À•wίˆw$ `"(üa (¤ føÿföÿ&÷ þþÆe· æàÿNa÷ FüÖ ì üa ggx can't create ÿ  #È *È w ÆeæÿÎf÷ &ùÖ ÎæàÿNa&÷  ° *î  ÷–%À NÎeàÿff÷ Hø–%À Îf &üa * øÿföÿ&÷ �þÆeÝ÷ À•wÎæ¯ˆw" `"*: æàÿNa÷ –%NÎeàÿæj÷ ÷Ö føÿ•e üa j*` föÿ¦&÷ ”ôÆe føÿföÿÁÀ @ @A  üa *† v@&÷ þÆeŽ÷ ÷  NÎeàÿæg÷ ¯ˆwüa  &üa g ¬ \ûÖ —|üÖ ÷ À•wίˆw$ `"(üa !' isis exit. _main. stack isis. start1±ÍªÅͧ!9NÕ##^#VÍŸÑ!9N#FÉ'copyright (c) 1979 by Whitesmiths, Ltd..$@@à#ŒÜpxÌ09JUN8017451009JUN80174351ÌÀ ¶.%@@àTq�8¢_09JUN8017472109JUN80174554ÌÃñ:.&@@à6ˆ�s209JUN8017492809JUN80174807ÌÙ²Ë.'@@àAÚ³sx}Ì09JUN8017531409JUN80175014ÌÞl.(@@àÆ"wskQ09JUN8017550709JUN80175400Ì)~ü.)@@à?�äy209JUN8017565909JUN80175609ÌáÔ.*@@à:* €ÀÌ09JUN8017583709JUN80175746ÌäjÉB DSFUN+1,RSCS2(R5) ;;; YES, SET UNIT SELECT&10$: MOV (PC)+,R1 ;;; GET DISK ADDRESS$DSDA:: .WORD 0 ;;;% BIT #2,RSDT(R5) ;;; IS THIS AN RS04?; BNE 20$ ;;; YES + ASL R1 ;;; NO, 64 WORDS/SECTOR; DOUBLE IT;320$: ASL R1 ;;; 128 WORDS PER SECTOR DOUBLE TO 256 - MOV R1,RSDA(R5) ;;; SET TRACK SECTOR ADDRESSR;C#; GET NEXT BLOCK OF DATA TO PROCESS ;E(DS1: SUB #BLKLEN,R0 ;;; FULL BLOCK LEFT? BPL 10$ ;;; YES.* ADD #BLKLEN,R0 ;;; NO, GET RESIDUAL COUNT BLE DSEXIT ;;; DONE IF ZEROR MOV R0,R1 ;;; COPY COUNT CLR R0 ;;; ZERO RESIDUAL COUNT BR 20$ ;;;/10$: MOV #BLKLEN,R1 ;;; SET TO READ BLKLEN*256.T220$: SWAB R1 ;;; CONVERT LOGICAL SECTORS TO WORDS NEG R1 ;;;;N ; START I/OE;R# MOV R1,RSWC(R5) ;;; SET WORD COUNTR( BISB #0,RSCS1(R5) ;;; SET FUNCTION CODEDSFUN = .-4 ;;;30$: TSTB RSCS1(R5) ;;; DONE?T" BPL 30$ ;;; NO, LOOP UNTIL IT IS! TSTB RSCS1+1(R5) ;;; ANY ERRORS?? BPL DS1 ;;; NO- BIT #4000,RSCS2(R5) ;;; NON-EXISTANT MEMORY?" BNE DSEXIT ;;; YES, STOP READING' MOVB #11,RSCS1(R5) ;;; NO, CLEAR DRIVE  BR $DSDRV ;;; TRY AGAIN;-DSEXIT: MOVB RSCS2(R5),R4 ;;; GET UNIT NUMBER6- BIC #177770,R4 ;;; CLEAR ALL BUT UNIT NUMBERODSEND: RETURN ;;;  .SBTTL RP04 DRIVERV($DBDRV::MOV (PC)+,R0 ;;; GET LOAD LENGTHDBLLEN:.WORD 0 ;;;N! MOV (PC)+,R5 ;;; GET CSR ADDRESSTDBCSR: .WORD 0 ;;;E9 CLR RJPCS1(R5) ;;; ZERO FUNCTION CODE AND MEM EXTEN BITS;1 MOV #0,RJPBA(R5) ;;; SET STARTING BUFFER ADDRESSRDBSA = .-4 ;;;N% CMPB DBFUN+1,#-1 ;;; UNIT SPECIFIED?R! BEQ 10$ ;;; NO, USE CURRENT ONE 2 MOVB DBFUN+1,RJPCS2(R5) ;;; SET UNIT SELECT FIELD;10$: MOV #23,RJPCS1(R5) ;;; ISSUE PACK ACKNOWLEDGE FUNCTIONA. MOV #0,RJPDA(R5) ;;; SET SECTOR/TRACK ADDRESS$DBDA == .-4 ;;;E* MOV #0,RJPDC(R5) ;;; SET CYLINDER ADDRESS$DBCA == .-4 ;;;;6 BIS #14000,RJPOF(R5) ;;; SET 16 BIT MODE, INHIBIT ECC& MOV RJPDS(R5),R1 ;;; GET DRIVE STATUS COM R1 ;;; COMPLEMENT BITS9 BIT #10300,R1 ;;; MEDIUM ON-LINE,READY, AND VOLUME VALID  BNE DBCLR ;;; NO, ERROR ;T#; GET NEXT BLOCK OF DATA TO PROCESSU;N(DB1: SUB #BLKLEN,R0 ;;; FULL BLOCK LEFT? BPL 10$ ;;; YES0* ADD #BLKLEN,R0 ;;; NO, GET RESIDUAL COUNT BLE DBEXIT ;;; DONE IF ZERO5 MOV R0,R1 ;;; COPY COUNT CLR R0 ;;; ZERO RESIDUAL COUNT BR 20$ ;;;/10$: MOV #BLKLEN,R1 ;;; SET TO READ BLKLEN*256.0+20$: SWAB R1 ;;; CONVERT SECTORS TO WORDS NEG R1 ;;;; ; START I/O ;T$ MOV R1,RJPWC(R5) ;;; SET WORD COUNT) MOVB #0,RJPCS1(R5) ;;; SET FUNCTION CODELDBFUN = .-4 ;;;30$: TSTB RJPCS1(R5) ;;; DONE?" BPL 30$ ;;; NO, LOOP UNTIL IT IS" TSTB RJPCS1+1(R5) ;;; ANY ERRORS?" BPL DB1 ;;; NO, CONTINUE READING9 BIT #4000,RJPCS2(R5) ;;; YES, IS IT NON-EXISTENT MEMORY?Z BNE DBEXIT ;;;0DBCLR: MOVB #11,RJPCS1(R5) ;;; ISSUE DRIVE CLEAR BR $DBDRV ;;; TRY AGAINL4DBEXIT: MOVB RJPCS2(R5),R4 ;;; GET UNIT SELECT FIELD# BIC #177770,R4 ;;; CLEAR HIGH BITS;DBEND: RETURN ;;;  .SBTTL RX01 DRIVER )$DXDRV:: MOV (PC)+,R5 ;;; GET CSR ADDRESS DXCSR: .WORD 0 ;;; $ MOV (PC)+,R4 ;;; GET BUFFER ADDRESSDXSA: .WORD 0 ;;;3 MOV (PC)+,R3 ;;; GET LOAD LENGTH IN LOGICAL BLOCKSRDXLLEN: .WORD 0 ;;; T .IF DF M$$MGE # CLC ;;; CLEAR CARRY! ROL R4 ;;; CONVERT BASE ADDRESSD% ROL R4 ;;; TO 32 WORD BLOCK ADDRESS; SWAB R4 ;;;C, MOV R4,@#KISAR6 ;;; SET UP MAPPING REGISTER P .ENDC ; ASL R3 ;;; CONVERT TO LENGTH ASL R3 ;;; LOGICAL SECTORS% CMPB DXFUN+1,#-1 ;;; UNIT SPECIFIED?1 BNE DX2 ;;; YESM MOVB R0,DXFUN+1 ;;; NO, SET IT+DX2: BIC #20,DXFUN ;;; DEFAULT TO UNIT ZEROU TSTB DXFUN+1 ;;; UNIT 0? BEQ 10$ ;;; YES $ BIS #20,DXFUN ;;; NO, SELECT UNIT 1)10$: CMP $DXSLO,#3 ;;; READING FROM DISK?- BNE DXSILO ;;; NO, FILL SILO BEFORE WRITINGT2DXLOOP: MOV (PC)+,R1 ;;; GET LOGICAL SECTOR NUMBER;; PERFORM SILO/DISK TRANSFER;;$DXBLK:: .WORD 0 ;;;T8 CALL $TRKSC ;;; CONVERT LOGICAL SECTOR TO TRACK/SECTOR# MOVB (PC)+,(R5) ;;; START FUNCTION,DXFUN: .WORD 0 ;;;D CALL TRWAIT ;;; WAIT BCS $DXDRV ;;; ERROR MOVB R1,2(R5) ;;; SET SECTOR; CALL TRWAIT ;;; WAIT BCS $DXDRV ;;; ERROR MOVB R0,2(R5) ;;; SET TRACK CALL TRWAIT ;;; WAIT BCC $DXDRV ;;; ERROR- INC $DXBLK ;;; UPDATE LOGICAL SECTOR NUMBER,% CMP $DXSLO,#3 ;;; READING FROM DISK?  BEQ DXSILO ;;; YES& DEC R3 ;;; NO, ALL BLOCKS PROCESSED? BLE DXNXM ;;; YESK;.; PERFORM SILO/MEMORY TRANSFER;V .ENABL LSBE'DXSILO: MOV R5,R2 ;;; COPY CSR ADDRESS;( MOV (PC)+,(R2)+ ;;; SET EMPTY/FILL SILO$DXSLO:: .WORD 0 ;;;B, MOV #128.,R0 ;;; SET COUNT OF BYTES IN SILO O .IF DF M$$MGE ;: MOV #140000,R4 ;;; SET BASE ADDRESS OF BUFFER TO USE APR6 C .ENDC 10$: BITB #240,(R5) ;;; DONE?R BMI $DXMOV ;;; YES BEQ 10$ ;;; NO BR DXEF ;;; YES, SILO EMPTYA+$DXMOV:: MOVB (R2),(R4)+ ;;; MOVE NEXT BYTER DEC R0 ;;; DONE? BR 10$ ;;; LOOPD0DXEF: TST R0 ;;; ALL BYTES IN SILO TRANSFERRED? BNE $DXDRV ;;; NO, ERROR  .IF DF M$$MGE * ADD #2,@#KISAR6 ;;; UPDATE BUFFER POINTER I .ENDC :$ TST TRPFLG ;;; IS NXM TRAP SET UP? BNE 15$ ;;; YESI/ MOV PC,R0 ;;; NO, GET ADDRESS OF TRAP ROUTINEE ADD #DXTRP4-.,R0 ;;;R, MOV @#4,-(SP) ;;; SAVE CURRENT TRAP ADDRESS$ MOV R0,@#4 ;;; SET UP TRAP ADDRESS MOV @#6,-(SP) ;;; SAVE PS MOV #340,@#6 ;;; SET NEW PS INC TRPFLG ;;; SET NXM SET UPT)15$: CMP $DXSLO,#3 ;;; READING FROM DISK?' BNE DXLOOP ;;; NO MUST WRITE SILO OUTF DEC R3 ;;; ALL SECTORS READ? BGT DXLOOP ;;; NOE8DXNXM: MOV R3,R0 ;;; GET NUMBER OF SECTORS LEFT TO READ& ASR R0 ;;; CONVERT TO LOGICAL BLOCKS ASR R0 ;;;$ MOVB DXFUN+1,R4 ;;; GET UNIT NUMBER! MOV (SP)+,@#6 ;;; RESET LOW CORE4 MOV (SP)+,@#4 ;;; TRAP VECTOR BR DXEND ;;; DONEE .DSABL LSB#;;; WAIT FOR DISK TO SHOW READY6;S%TRWAIT: CLC ;;; DEFAULT TO TR READYE10$: BITB #240,(R5) ;;; DONE?S BMI 20$ ;;; YESX BEQ 10$ ;;; NO, LOOP SEC ;;; YES20$: RETURN ;;;I;S<; PROCESS NON-EXISTANT MEMORY TRAP (STOP READING OR WRITING);X'DXTRP4: CMP (SP)+,(SP)+ ;;; CLEAR STACK  BR DXNXM ;;;6TRPFLG: .WORD 0 ;;; TRAP FLAG, 0=NOT SET UP, 1=SET UP;X=; CONVERT LOGICAL SECTOR NUMBER TO PHYSICAL TRACK/SECTOR PAIR4; INPUT:; R1 - LOGICAL SECTOR ; OUTPUT:; ; R0 - TRACK ; R1 - SECTOR ;T"$TRKSC:: MOV #8.,R0 ;;; SET COUNT MOV #6400,R2 ;;; AND DIVISORE.30$: CMP R2,R1 ;;; DOES 26. GO INTO DIVIDEND?$ BHI 40$ ;;; BRANCH IF NOT, C CLEAR* SUB R2,R1 ;;; SUBTRACT 26. FROM DIVIDEND SEC ;;;,40$: ROL R1 ;;; SHIFT DIVIDEND AND QUOTIENT DEC R0 ;;; DONE? BGT 30$ ;;; NO, LOOP MOVB R1,R0 ;;; GET TRACK CLRB R1 ;;; CLEAR TRACK  SWAB R1 ;;; SHIFT DOWN SECTORE# CMP #12.,R1 ;;; C=1 IF 13<=R1<=25P) ROL R1 ;;; DOUBLE FOR INTERLEAVE FACTORU# ASL R0 ;;; ADD TRACK - TRACK SKEW ADD R0,R1 ;;; SKEW BY 2*TRACKC ADD R0,R1 ;;; SKEW BY 4*TRACKO ADD R0,R1 ;;; SKEW BY 6*TRACKG! ASR R0 ;;; RESTORE TRACK NUMBERN MOV #26.,R2 ;;; SET MODULUS 750$: SUB R2,R1 ;;; MODULO SECTOR INTO RANGE -26. TO -1;/ BGE 50$ ;;; LOOP TILL REMAINDER GOES NEGATIVE?( ADD R2,R1 ;;; CONVERT TO RANGE 0 - 25.* INC R0 ;;; BUMP TRACK TO SKIP TRACK ZERO( INC R1 ;;; AND SECTOR TO RANGE 1 - 26. RETURN ;;;<DXEND: RETURN ;;;; .END FOR INTERLEAVE FACTORU# ASL R0 ;;; ADD TRACK - TRACK SKEW ADD R0,R1 ;;; SKEW BY 2*TRACKC ADD R0,R1 ;;; SKEW BY 4*TRACKO ADD R0,R1 ;;; SKEW BY 6*TRACKG! ASR R0 ;;; RESTORE TRACK NUMBERN MOV #26.,R2 ;;; SET MODULUS 750$: SUB R2,R1 ;;; MODULO SECTOR INTO RANGE -26. TO -1;/ BGE 50$ ;;; LOOP TILL REMAINDER GOES NEGATIVE?( ADD R2,R1 ;;; CONVERT TO RANGE 0 - 25.* INC R0 ;;; BUMP TRACK TO SKIP TRACK ZERO( INC R1 ;;; AND SECTOR TO RANGE 1 - 26. RETURN ;;;<DXEND: RET/ .TITLE $INSCM - INSTALL COMMON BLOCK PROCESSOR .IDENT "02";.;C;9A; COPYRIGHT 1975, DIGITAL EQUIPMENT CORP., MAYNARD, MASS.3A; COPYRIGHT 1974, DIGITAL EQUIPMENT CORP., MAYNARD, MASS.T;TA; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE @; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION@; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT1; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC..;2@; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT@; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL; EQUIPMENT CORPORATION.;R@; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY?; OF ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.C;E ; VERSION: 02S ; BY: H. LEVN; DATE: 11/20/73 5; MODIFIED: 3/4/75 FIX DEVICE PARTITIONS TO SKIP READP2; 4/24/75 ADD SYSTEM CONTROLLED PARTITION SUPPORT,; 6/21/75 ADD 11/70 EXTENDED MEMORY SUPPORT;.! .MCALL CALL,PCBDF$,RETURN,TCBDF$C N S;B; EQUATED SYMBOLSO;; LABEL BLOCK OFFSET;B&L$BLDZ = 14 ; LOAD SIZE OF TASK IMAGE PCBDF$ ; DEFINE PCB OFFSETS TCBDF$ ; DEFINE TCB OFFSETS;H ; LOCAL DATA;I&LODSIZ: .WORD 0 ; COMMON BLOCK LENGTH,LODBAS: .WORD 0 ; COMMON BLOCK BASE ADDRESS;; ERROR MESSAGES;E/ERR1: .ASCIZ <15>/INS -- COMMON BLOCK OCCUPIED/T .EVEN R;+1; *** - $INSCM - MCR INSTALL COMMON BLOCK OVERLAYT1; THIS OVERLAY READS A LIBRARY INTO AN UNASSIGNED6; PARTITION. IT RECEIVES CONTROL FROM TH! build compiler passes tkb @bldpp tkb @bldp1 tkb @bldp82 tkb @bldant tkb @bldana tkb @bldcpm tkb @bldld8 tkb @bldlb8õ tkb @bldhex tkb @bldrel! compile driverold cc8compile ! set proper modespip [1,2]cc8.bac<232>/repip [1,2]cpp.tsk<104>/repip [1,2]cp1.tsk<104>/repip [1,2]cp82.tsk<104>/repip [1,2]anat.tsk<104>/repip [1,2]an.tsk<104>/re.pip [1,2]cpm.tsk<104>/repip [1,2]ld80.tsk<104>/repip [1,2]lib80.tsk<104>/repip [1,2]hex.tsk<104>/repip [1,2]rel.tsk<104>/repip [1,2]clib.olb<040>/rekpip [1,2]chdr.obj<040>/rebpip [1,2]chdr.r<040>/re pip [1,2]clib.a<040>/rekpip [1,2]ihdr.r<040>/repip [1,2]ilib.a<040>/repip [1,2]mlib.a<040>/recpip [1,2]iend.a<040>/rerpip [1,2]std.h<040>/repip [1,2]rsx.h<040>/repip [1,2]cpm.h<040>/repip [1,2]isis.h<040>/re8 ! make ccls#ut ccl cc8-=[1,2]cc8.bac;priv 300002ut ccl cpp-=[1,2]cpp.tsk;0ut ccl cp1-=[1,2]cp1.tsk;0ut ccl c82-=[1,2]cp82.tsk;00ut ccl ant-=[1,2]anat.tsk;0kut ccl ana-=[1,2]an.tsk;01ut ccl cpm-=[1,2]cpm.tsk;0ut ccl ld8-=[1,2]ld80.tsk;0>ut ccl lb8-=[1,2]lib80.tsk;0ut ccl hex-=[1,2]hex.tsk;0ut ccl rel-=[1,2]rel.tsk;0p [1,2]ilib.a<040>/repip [1,2]mlib.a<040>/recpip [1,2]iend.a<040>/rerpip [1,2]std.h<040>/repip [1,2]rsx.h<040>/repip [1,2]cpm.h<040>/repip [1,2]isis.h<040>/re8 ! make ccls#ut ccl cc8-=[1,2]cc8.bac;priv 300002ut ccl cpp-=[1,2]cpp.tsk;0ut ccl cp1-=[1,2]cp1.tsk;0ut ccl c82-=[1,2]cp82.tsk;00ut ccl ant-=[1,2]anat.tsk;0kut ccl ana-=[1,2]an.tsk;01utÁXÀO  /î ÿX¨¼üœ,Tq<9qQ€WxQµzxZx_øf\gTq\g‹w\gµzTq`;Ewd w¼w*}µz<„ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ*}µzÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¨O **}µz¯”L,8^@¯ˆw@ `"@* s"@ ° @ <‘@ #}@U(à@*U(@@œ,a'@ƒ:Ð@ N(_@E`€W@*\gœ'@\gòy@Iq@*y}@(*üa (z¼hüh<9hxZh *x_h øfh¼wh<„h #(’*œ,TqhqQ€WhJxQµzh\gTqht\g‹whÞ*\gµzhTq`;h^Ewdh| whÄ*}µzh ¯” üa %can't read code ÿ  #*f…ÆeöÿÎæùÿNaf÷ –%  æIq(&æ÷ –%7 õ•ÿÿùÿ@�ùÿÀEÿw& üa  \gòyüa & s"üa !!: bad flag: c,d,i,s,u  #JJw Îææææ( ° üa  üa  üa  üa *`æ1æNaæNa÷ Æe æ$¦  üa üa 1œ,a' &üa $$†æ&æ÷ Æe ÷ ÀÀmÀm& üa &\gòy #}üa  üa *¦ÀmÀm÷÷õ%À*üa üa  üa üa üa *Ì õ Ä  æ!fæ÷ Æe  üa !"\gòy*òÀ wõ õeåN÷ PÀ ô7 ñüa  `"&üa *w æ Âõ øÿõ øÿ €€ Ä•Ä ×¢ °  üa üa *>_KŸ wŽÎe÷ 2Âe äƒ ê `" N(_d×¢.û@ œö üa <<,0%+02hH db 0%+02hH  #t*tf…æ ÷%<ÎU÷ 7 <õ ÷ < (üa < üa U\gœ'üa <&üa <(šõ ÎS÷ 7 <÷ < NæG÷ ( üa S\gœ'üa <üa < $üa G"¾Ö · < Næ>÷ Ö · <w&\gœ' üa < üa >\gœ'üa <Ü s"üa X*Xâœê +0%hH dw %.7pbad symb  #â  #œ  #ê*~ol number ?d??c?%.7p equ $+0%hH %¤pseg ?%p?:  #Þ*Þw æ Nfæ¢÷ –%N ææ‘÷  ° üa ¢\gœ' &üa ‘*–%õ N÷ êýÃ5€ !N÷ **Ôý÷ Bÿ„ õÎÿÿ÷ 6ÿwõààÎÿÿ÷ $ÿ `"*PÀtýÿÀEðÿÀÀEøÿÀe N÷ ŒýÀe*vN÷ ~ýN÷ týtP€ÁXw $üa X( <‘*œõ�øÿNøÿæm÷ Ö Ä ÀfÀd&( üa � üa m\gœ' üa f &üa d*Â÷ Ö Â•ƒ ¹N÷ (ý÷ –þ‚ õõ‰øÿ\gœ' &üa ‰*èÜÂåÂ-  ævæ÷ –%7 Ì�Wp  üa üa v\gòy"üa * Ám@€ 5øÿÂw ÂÄ Ä €’A üa  ° üa üa *4A @@5  ŽæŽ`f÷ –%wÂe\gœ'& `"Z æ üa °*°text: %+04h data: %+04h total: %+04*Öh end dc%.7p equ 0%hH extrn %.7*üp public %.7p .titlename %p %b@ *"_..$?@can't read symbol table bHad format: can't read  #^*^w ÆeøÿÎ& f÷ –% ÎæòÿNa ° E`€W*„¦÷ –%  æTfæVæ÷ ÆeU(à üa T üa V&\gòy*ªŽ÷ NÎeòÿ÷   æEf ¯ˆw N(_ $üa E*ÐæGæ÷ ÆeŽ÷ wNÎeôÿ÷ " üa G\gòy¯ˆw `"( N(_*ö7 NÎeöÿ÷ 5öÿNÎeøÿ÷ 5øÿÁ Wpüa  N(_ N(_&üa * D &÷ Ö 7æ¦÷ –%  ,8^üa üa  U(à*Bæ,æ÷ –% æ÷ Ö Ž÷ Á÷ $ üa ,\gòyüa U(@"¯ˆw&hÀ)÷ À&À#÷ �ü÷ *üa  üa )üa üa & üa #*Š÷ NÎ f÷ Ö f÷ À(üa  üa  üa ƒ:Ð$üa *°À&æ÷ ÆeÎ æ æÿ÷ Hþ( üa  üa  üa \gœ' $üa ÿ*Ö–%Î ææò÷ 6þ–%Îææã÷ $þ–% üa ò "üa ã*üÎæáföÿ¦÷ ÐüÆeÎæßføÿ¦÷  üa á üa ß*"ºüÆeÎÙ÷ ÷ ÷ ÷ Â÷ N( üa Ù\gœ'üa üa $üa *HöÿNmøÿføÿföÿæ°÷ Æe æ÷ Ö  üa °\gœ'"üa &U(@*nŽ÷ À•ww AWp Ám@€ A¯ˆw `" °  üa *”Wp Ám@€ Ä•Ä ‹¢€’Á’@à  üa *ºw‚ ƒ òw æ AWp ÁmBAWp  `" ° üa &àÁmCÄ Ä µ’ùÿÊ’K�ùÿ‚ ƒ öwüa $ `"üa bb%.7p TD?%+04h%ac%ac  # w ÎÄæ|æ ÷ –%ÂÄ& °  Ä|üa *y}üa * Ä ÷  €’À5 wÂe ñ÷ ú üa  üa  `"&üa *D€’À5ö÷ €’À5À ÀL€’ÀE üa *jüÿœh&¦æm÷ ÆeŽŽ æb÷ Ö & üa h üa m\gœ' "üa b&\gœ'�ÓÄ ‹¢€’Á’@à  üa *ºw‚ ƒ òw æ AWp ÁmBAWp  `" ° üa &àÁmCÄ Ä µ’ùÿÊ’K�ùÿ‚ ƒ öwüa $ `"üa bb%.7p TD?%+04h%ac%ac  # w ÎÄæ|æ ÷ –%ÂÄ& °  Ä|üa *y}üa * Ä ÷  €’À5 wÂe ñ÷ ú üa  üa /* RSX INTERFACE DEFINES* * copyright (c) 1978 by Whitesmiths, Ltd. */#define QIOW 06003#define IO_ATT 01400#define IO_DAC 010000#define IO_DET 02000#define IO_KIL 00012#define IO_RLB 01000#define IO_RVB 010400#define IO_WLB 00400#define IO_WVB 011000#define EFN 1#define IE_ADP -0142#define IE_IEF -0141#define IE_ILU -0140#define IE_SDP -0143#define IE_ULN -5#define IE_UPN -1#define IE_EOF -10#define IS_SUC 01’ /* THE NMBLK */#define FNB struct fnblkstruct fnblk {!/* TEXT fid[6], fnam[6], ftyp[2];m BITS fver;* BITS stat, next;0 TEXT did[6], dvnm[2]; BITS unit;  */ COUNT fid[15]; };O)/* bits in the file name block stat fieldR */0#define NBVER 01#define NBTYP 02#define NBNAM 04#define NBSVR 010#define NBSTP 020#define NBSNM 0402#define NBDIR 0100#define NBDEV 0200#define NBSD1 0400#define NBSD2 01000N /* THE FDB */N#define FDB struct fdb struct fdb { TINY rtyp, ratt;K BYTES rsiz; LONG hibk, efbk; BYTES ffby; TINY racc, rctl;  LONG bkds, nrbd; TINY *nrec; BYTES eobb; COUNT cntg, stbk; BYTES aloc; TINY lun, facc; TINY *dspt; FNB *dfnb; 6/* TINY bkef, bkp1, err, err1, mbct, mbc1, mbfg, bgbe; BYTES vbsz, bbfs; LONG bkvb;A TINY *bdb; BYTES spdv; TINY spun, chr; BITS actl, seqn; */ COUNT bkef[13];d FNB fnb;  };/* bits in the fdb */ #define RFIX 1#define RVAR 2#define RSEQ 3#define FDFTN 01#define FDCR 02 #define FDBLK 010;#define FDRWM 01#define FDRAN 02#define FDPLC 04#define FDINS 010#define FDREC 01#define FDCCL 02#define FDTTY 04#define FDDIR 010c#define FDSD1 020F#define FDSQD 040 #define FARD 01r#define FAWRT 02#define FAEXT 04#define FACRE 010k#define FATMP 020#define FASHR 040 #define FANSP 0100#define FADEL 0400$/* the Whitesmiths RSX control block */t#define RCB struct rcb struct rcb { TINY rlun, flags; BYTES rleft, bleft; TEXT *bnext, *pbuf; LONG lseek, lact, lend; FDB *fdb; };D#define WOPEN 1L#define WTTY 2#define WCR 4#define WFIX 8#define WDIRT 16#define WNL 32d#define WWRITE 64d#define TTYLUN 5#define NFILES 10#define IOSB struct iosb struct iosb  { TINY cc;n TEXT lc;k COUNT nread;  };#define WBUF struct wbuf struct wbuf {n TEXT bbuf[BUFSIZE]; COUNT recsize;c TEXT rbuf[BUFSIZE]; }; RCB struct rcb struct rcb { TINY rlun, flags; BYTES rleft, bleft; TEXT *bnext, *pbuf; LONG lseek, lact, len! compile the echo program cpp -x -i[1,2] -otmp1.tmp echo.ccp1 -otmp2.tmp tmp1.tmp8c82 -otmp3.tmp tmp2.tmpnana -o echo.r tmp3.tmp%! load the echo program for cpm usageL+ld8 -o echo.com chdr.r echo.r clib.a mlib.ai&! load the echo program for isis usageAld8 -o -t040000 -o echo ihdr.r echo.r ilib.a ilib.a mlib.a iend.r ! make an isis hex imagehex echo >echo.hex0! echo may be moved to isis or cpm for execution,! echo echoes the input line to the terminal*bnext, *pbuf; LONG lseek, lact, len|�8¢_„jL¢_ dqÌ d„Ì dÀÌ dMÌ dà2ÌdvKÌdÆKÌdØhÌdjÌd€fÌdTq̰Ì^» €p^©€ @):€ @M2MjL¢_ÀÀ]Àt!kQà2jL¢_)S€ @€p€p A;Àv2!¬K�8¢_"jLjL¢_#„9€p€p$ÜpxÌ%Tq�8¢_&�s2'³sx}Ì("wskQ)äy2* €ÀÌ/* THE STANDARD HEADER* * copyright (c) 1978 by Whitesmiths, Ltd. */l/* the pseudo storage classesr */#define AFAST register#define FAST register5#define GLOBAL extern #define IMPORT extern #define INTERN static #define LOCAL static/* the pseudo types0 */ typedef char TEXT, TINY;typedef double DOUBLE;*typedef int BITS, BOOL, COUNT, FILE, VOID;typedef long LONG;typedef unsigned BYTES;4typedef int METACH; /* system parameters */e#define STDIN 0 #define STDOUT 1#define STDERR 2#define YES 1 #define NO 0W#define NULL 0#define FOREVER for (;;)#define BUFSIZE 512#define BWRITE -1t#define READ 0#define WRITE 1n#define UPDATE 2#define EOF -1t#define BYTMASK 0377 /* macrosn */A&#define abs(x) ((x < 0) ? -(x) : (x))-#define isalpha(c) (islower(c) || isupper(c));-#define isdigit(c) ('0' <= (c) && (c) <= '9')y-#define islower(c) ('a' <= (c) && (c) <= 'z')e-#define isupper(c) ('A' <= (c) && (c) <= 'Z')?#define iswhite(c) ((c) <= ' ' || 0177 <= (c)) /* ASCII ONLY */ +#define max(x, y) (((x) < (y)) ? (y) : (x))O+#define min(x, y) (((x) < (y)) ? (x) : (y)) ;#define tolower(c) (isupper(c) ? ((c) + ('a' - 'A')) : (c))2;#define toupper(c) (islower(c) ? ((c) - ('a' - 'A')) : (c))/* the file IO structure */ typedef struct fio { FILE _fd; COUNT _nleft; COUNT _fmode; TEXT *_pnext; TEXT _buf[BUFSIZE]; } FIO;er(c) ('a' <= (c) && (c) <= 'z')e-#define isupper(c) ('A' <= (c) && (c) <= 'Z')?#define iswhite(c) ((c) <= ' '&CPP -X -I LB:[1,1] -O CTMP1.TMP ECHO.CCP1 -O CTMP2.TMP CTMP1.TMPC82 -O CTMP3.TMP CTMP2.TMPANA -O ECHO.R CTMP3.TMP(0PIP CTMP1.TMP;*/DE,CTMP2.TMP;*/DE,CTMP3.TMP;*/DE+LD8 -O ECHO.COM CHDR.R ECHO.R CLIB.A MLIB.A(:LD8 -I -T040000 -O ECHO IHDR.R ECHO.R ILIB.A ILIB.A MLIB.AHEX ECHO >ECHO.HEXct fio { FILE _fd; COUNT _nleft; COUNT _fmode; TEXT *_pnext; TEXT _buf[BUFSIZE]; } FIO;er(c) ('a' <= (c) && (c) <= 'z')e-#define isupper(c) ('A' <= (c) && (c) <= 'Z')?#define iswhite(c) ((c) <= ' '' MOV $TKTCB,I.TCB(R0) ; SET TCB ADDRESSK7 MOV $MDEV,R5 ; GET UCB ADDRESS OF DEVICE TO BE MOUNTEDS$ MOV R5,I.UCB(R0) ; SET IT IN PACKET. MOV #5*400,I.FCN(R0) ; SET MOUNT REQUEST CODE1 MOVB #EFN1,I.EFN(R0) ; SET EVENT FLAG TO WAIT ONU' MOV R0,-(SP) ; SAVE I/O PACKET ADDRESST; MOV #IOSB,I.IOSB(R0) ; SET VIRTUAL ADDRESS OF STATUS BLOCK2( MOV #IOSB,R0 ; GET STATUS BLOCK ADDRESS CALL $RELOC ; RELOCATE IT+* MOV (SP)+,R0 ; RESTORE I/O PACKET ADDRESS' MOV R1,I.IOSB+2(R0) ; SET BLOCK NUMBERO? MOV R2,I.IOSB+4(R0) ; SET PHYSICAL ADDRESS OR OFFSET FROM APR6V7 MOV $MCPB,I.PRM+2(R0) ; SET ADDRESS OF PARAMETER BLOCK.7 MOV #$MCPBL,I.PRM+4(R0) ; SET LENGTH OF PARAMTER BLOCKO; 4; REQUEST MOUNT, AND INCREMENT OUTSTANDING I/O COUNT;A& MOV $MVCB,U.VCB(R5) ; SET VCB ADDRESS) CALL $SWSTK,50$ ; SWITCH TO SYSTEM STATEA4 INC @U.VCB(R5) ; INCREMENT VOLUME TRANSACTION COUNT, BICB #US.MNT,U.STS(R5) ; SET DEVICE MOUNTED( MOV $MACP,U.ACP(R5) ; STORE ACP ADDRESS' MOV U.ACP(R5),R0 ; GET ACP TCB ADDRESSO TST T.STAT(R0) ; IS ACP ACTIVE? BPL 35$ ; YESF$ MOV #401,R1 ; NO, SET UIC TO [1,1]# CALL $TSKRT ; REQUEST RUN OF TASKM$ MOV $MACP,R0 ; GET TASK TCB ADDRESS" BR 37$ ; SKIP SETTING EVENT FLAG/35$: BIS #1,T.EFLG(R0) ; SET ACP'S EVENT FLAG 1$537$: INCB T.EFLG+2(R0) ; INCREMENT MOUNTED UNIT COUNTI1 BITB #TS.WFR,T.STAT+2(R0) ; IS ACP IN A WAITFOR?O( BEQ 40$ ; NO, DON'T HAVE TO WAKE IT UP6 CALL $SETCR ; ASK FOR SCAN OF STD TO START ACP AGAIN640$: ADD #T.RCVL,R0 ; POINT TO ACP'S RECEIVE LIST HEAD* MOV MCMPKT,R1 ; GET ADDRESS OF I/O PACKET/ CALL $QINSP ; INSERT I/O PACKET IN ACP'S LISTL* MOV $TKTCB,R0 ; GET ADDRESS OF MOUNTS TCB/ INCB T.IOC(R0) ; MAKE LIKE WE HAVE I/O PENDINGN' CLR T.EFLG(R0) ; ZERO EVENT FLAGS 1-16T RETURN ; RETURN TO USER STATE950$: WTSE$S #EFN1 ; WAIT TILL ACP HAS SEEN MOUNT REQUEST. TSTB IOSB ; ANY ERRORS?I BPL 60$ ; NO* CLR $MVCB ; YES, VCB IS ALREADY RELEASED) CLR $MCPB ; SO IS COMMUNICATIONS PACKETN* CMPB IOSB,#IE.RSU ; RESOURCE UNAVAILABLE? BNE 51$ ; NO JMP MCMER5 ; YES, ERRORO*51$: CMPB IOSB,#IE.IFC ; ILLEGAL FUNCTION? BNE 55$ ; NO" JMP MCMER4 ; YES, NT NOT MOUNTED055$: JMP MCMER3 ; DEVICE NOT DEFINED IN NETWORK60$: RETURN ;T .END0) ; ZERO EVENT FLAGS 1-16T RETURN ; RETURN TO USER STATE950$: WTSE$S #EFN1 ; WAIT TILL ACP HAS SEEN MOUNT REQUEST. TSTB IOSB ; ANY ERRORS?I BPL 60$ ; NO* CLR $MVCB ; YES, VCB IS ALREADY RELEASED) CLR $MCPB ; SO IS COMMUNICATIONS PACKETN* CMPB IOSB,#IE.RSU ; RESOURCE UNAVAILABLE? BNE 51$ ; NO JMP# .TITLE SAVSUB - SAVE SUBROUTINES .IDENT "02";;A; COPYRIGHT 1975, DIGITAL EQUIPMENT CORP., MAYNARD, MASS.A; COPYRIGHT 1974, DIGITAL EQUIPMENT CORP., MAYNARD, MASS.;A; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE@; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION@; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT1; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.;@; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT@; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL; EQUIPMENT CORPORATION.;R?; DEC ASUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITYC?; OF ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.C;E ; VERSION: 02O ; BY: H.LEV; DATE: 2/12/743; MODIFIED: 8/7/74 BRAKE SAVE INTO SEPARATE MODULESC1; 3/11/75 SWITCH TO SYSTEM STATE TO FOLLOW LISTST'; 3/18/75 ADD RX01 FLOPPY DISK SUPPORTN.; 6/13/75 ADJUST SIZE OF LAST PARTITION IF IT%; IS A SYSTEM CONTROLLED PARTITION.I,; 6/21/75 ADD 11/70 EXTENDED MEMORY SUPPORT Y G .MCALL DIR$,WTSE$S,MRKT$O .MCALL PCBDF$ PCBDF$ ; DEFINE PCB OFFSETS & .SBTTL EQUATED SYMBOLS AND LOCAL DATA ;U; CONSOLE TYPEWRITER REGISTERS;CTPCS = 177564 ; CONTROL STATUS TPB = 177566 ; DATA BUFFERO I; ; MISCELANEOUS DEFINITIONS; !EFN1 = 1 ; EVENT FLAG TO WAIT ONELUN1 = 1 ; "TI" LUNLUN2 = 2 ; LOAD IMAGE FILE LUNS;U ; LOCAL DATA;5.SAVMKT: MRKT$ EFN1,1.,2 ; WAIT FOR ONE SECOND EDEVMSG: .ASCII /DEVICE /2OFNAM: .ASCIZ <0><0><0><0>/: NOT IN CONFIGURATION/ .$ .SBTTL $PRTMS AND $MOVE SUBROUTINES;+(; *** - $PRTMS - PRINT MESSAGE ON LUN1;Q; INPUT:; R0 - ADRESS OF BUFFERU; ;--$PRTMS::MOV R0,$MODPB+14 ; SET BUFFER ADDRESSN!10$: TSTB (R0)+ ; END OF MESSAGEB BNE 10$ ; NO, NOT ZERO, LOOP DEC R0 ; POINT TO ZERO BYTEN" SUB $MODPB+14,R0 ; COMPUTE LENGTH MOV R0,$MODPB+16 ; SET IT! MOV #$MODPB,R0 ; SET DPB ADDRESSA CALL $DOIO ; WRITE IT OUT RETURN ;D;+2; *** - $MOVE MOVE CODE FROM ONE PLACE TO ANOTHER;:; INPUT:; R0 - SOURCE ADDRESST; R1 - DESTINATION ADDRESS; R2 - LENGTH OF MOVE IN WORDS;S ; OUTPUT:1; NONE;-#$MOVE:: MOV (R0)+,(R1)+ ; MOVE WORD DEC R2 ; DONE? BNE $MOVE ; NO, LOOP RETURN ; YES, RETURN; D, .SBTTL $WRTBB - WRITE BOOT BLOCK SUBROUTINE;+$; *** - $WRTBB WRITE OUT BOOT BLOCK;4; INPUT:5; $SVWBB - FLAG TO DECIDE WHETHER TO WRITE BOOT BLOCK ; 0 - NO, 1 - YESC6; IODPB - QIO DPB SET UP FOR WRITING ON 256 WORD BLOCK ; OUTPUT:O; CARRY SET - ERROR IN WRITING; CARRY CLEAR - GOOD COMPLETIONT; ;-3$WRTBB::TST $SVWBB ; SHOULD WE WRITE A BOOT BLOCK? BEQ 10$ ; NO( CLR $IODPB+22 ; YES, ZERO LOGICAL BLOCK CLR $IODPB+24 ; (BOOT BLOCK)$;E; MOVE DRIVER TO BOOT BLOCK,;T# CMP $DVDRV(R5),#"DX ; FLOPPY DISK? BNE 3$ ; NOE. MOV #$DXBOT,R0 ; YES, GET BOOT DRIVER ADDRESS% MOV #$DXBLN,R2 ; GET LENGTH IN WORDST BR 7$ ; SKIP13$: MOV $DVDRV+DRVADR(R5),R0 ; SET SOURCE ADDRESSE& MOV $DVDRV+DRVLEN(R5),R2 ; GET LENGTH$7$: MOV #$BTDRV,R1 ; SET DESTINATION CALL $MOVE ; MOVE CODE8 MOV #$BTBLK,$IODPB+14 ; SET ADDRESS OF BOOT BLOCK IMAGE! MOV #$IODPB,R0 ; SET DPB ADDRESS$ CALL $DOIO ; WRITE IT OUTB10$: RETURN ;  ;$ .SBTTL $DOIO AND $MVDRV SUBROUTINES;+#; *** - $DOIO ISSUE QIO'S AND WAITO; ; INPUT:; R0 - ADDRESS OF DPBB ; OUTPUT:,!; CARRY CLEAR - NORMAL COMPLETIONB; CARRY SET - ERROR DURING I/O;-$DOIO:: DIR$ R0 ; ISSUE QIO BCS 10$ ; ERROR IN DPB$ WTSE$S #EFN1 ; WAIT FOR COMPLETION BCS 10$ ; ERROR IN DPB DEC $IOSTA ; ANY ERRORS? BEQ 10$ ; NO SEC ; YES SET FLAG410$: RETURN ; ;+$; *** - $MVDRV MOVE DRIVER TO VBN1; INPUT:!; R5 - INDEX TO DRIVER PARAMETERST ; $DVDRV+12(R5) - DRIVER ADDRESS(; $DVDRV+14(R5) - DRIVER LENGTH IN WORDS ; OUTPUT:W; DRIVER IS MOVED TO VBN1A;-5$MVDRV::MOV $DVDRV+DRVADR(R5),R0 ; SET SOURCE ADDRESSO) MOV #$DRVER,R1 ; SET DESTINATION ADDRESSI& MOV $DVDRV+DRVLEN(R5),R2 ; SET LENGTH CALL $MOVE ; MOVE IT RETURN ;  P. .SBTTL $SMCR - SEND COMMAND TO MCR SUBROUTINE;+=; *** - $SMCR SEND A COMMAND TO MCR. ECHO IT FIRST ON "CO" ;; INPUT:B; R0 - ADDRESS OF COMMAND TO SEND, IT IS TERMINATED BY A ZERO BYTE;R ; OUTPUT: !; CARRY CLEAR - NORMAL COMPLETIOND; CARRY SET - ERRORL;T;-,$SMCR:: CALL $PRTMS ; PRINT MESSAGE ON "CO";-; ALLOCATE MCR BUFFERV;() CALL $SWSTK,10$ ; SWITCH TO SYSTEM STATER* MOV #84.,R1 ; SET LENGTH OF BLOCK TO GET CALL $ALOCB ; TRY TO GET IT  ROR $ERFLG ; SAVE CARRY BIT& MOV R0,$MCRBF ; SAVE ADDRESS OF BLOCK" RETURN ; RETURN TO SYSTEM STATE%10$: ROL $ERFLG ; GET CARRY BIT BACKO& BCS 30$ ; ERROR COULDN'T GET A BLOCK; !; SET UP SOURCE UCB AND COPY TEXT ;E' MOV $MCRBF,R0 ; GET BLOCK ADDRESS BACKC CLR (R0) ; ZERO LINK WORDO( MOV $COPT,R1 ; GET ADDRESS OF "CO:" UCB) CALL $SWSTK,17$ ; SWITCH TO SYSTEM STATE,15$: MOV U.RED(R1),R1 ; GET REDIRECT POINTER5 CMP U.RED(R1),R1 ; REDIRECTED TO SELF (END OF LIST)?O" BNE 15$ ; NO, FOLLOW LIST TO END, MOV R1,2(R0) ; YES, SET UCB ADDRESS FOR MCR RETURN ; RETURN TO USER STATE17$: MOV R0,R1 ; COPY POINTER ADD #4,R1 ; POINT TO TEXT AREA' MOV $MODPB+14,R2 ; GET ADDRESS OF TEXTS&20$: MOVB (R2)+,(R1)+ ; MOVE CHARACTER( BNE 20$ ; LOOP UNTIL THEY'RE ALL MOVED;Z3; LINK MESSAGE INTO MCR MESSAGE QUEUE AND START MCRU; MOV R0,R1 ; COPY MSG ADDRESS) CALL $SWSTK,25$ ; SWITCH TO SYSTEM STATEI# CALLR $QMCRL ; LINK INTO MCR LISTI+25$: MOV $MCRPT,R0 ; GET ADDRESS OF MCR TCBO TST T.STAT(R0) ; IS MCR BUSY? BMI 30$ ; NO5 DIR$ #SAVMKT ; YES, SET CLOCK TO RING IN ONE SECOND7 BCS 25$ ; DIRECTIVE ERROR WTSE$S #EFN1 ; WAIT FOR CLOCK BR 25$ ; AND LOOK AGAINR30$: RETURN ;: V$ .SBTTL $FNDUB - FIND UCB SUBROUTINE  O;+=; *** - $FNDUB - FIND UCB ADDRESS BY SEARCHING DEVICE TABLESU;N; INPUT:; R3 - UNIT NUMBER IN BINARY; R4 - DEVICE MNEMONIC IN ASCIIC;O ; OUTPUT:T!; CARRY CLEAR - FOUND UCB ADDRESSL; R1 - UCB ADDRESS'; CARRY SET - COULD NOT FIND DEVICE UCBA;0;; IN EITHER CASE R0,p€ � ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ � Ž � � ‘ ’ “ ” • – — ˜ ™ š › œ � ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï R1, R2, AND R3 ARE USED BY THIS ROUTINEL; ;-0$FNDUB::MOV $DEVHD,R0 ; GET ADDRESS OF FIRST DCB: BIC #177400,R3 ; CLEAR HIGH ORDER BITS TO PREVENT TROUBLE+10$: CMP R4,D.NAM(R0) ; MNEMONICS THE SAME?  BEQ 20$ ; YES 315$: MOV D.LNK(R0),R0 ; NO, GET ADDRESS OF NEXT DCBH BNE 10$ ; TRY THIS ONE. BR 40$ ; ZERO IS END OF LIST, DIDN'T FIND IT.20$: CMPB R3,D.UNIT(R0) ; IS UNIT ON THIS DCB? BLO 15$ ; NO CMPB R3,D.UNIT+1(R0) ; MAYBE BHI 15$ ; NO) MOVB D.UNIT(R0),R2 ; GET LOW UNIT NUMBERA, MOV D.UCB(R0),R1 ; GET ADDRESS OF FIRST UCB* SUB R2,R3 ; COMPUTE RELATIVE UNIT NUMBER BEQ 50$ ; FOUND IT*30$: ADD D.UCBL(R0),R1 ; POINT TO NEXT UCB DEC R3 ; IS THIS THE ONE?0 BNE 30$ ; NO BR 50$ ; YES40$: SEC ; SET ERROR FLAG)50$: RETURN ; RETURN X' .SBTTL $TSTDV - TEST DEVICE SUBROUTINE ;+-; *** - $TSTDV TEST FOR NON-EXISTANT DEVICES3%; AND SET THEM BUSY IF NOT IN SYSTEMO; INPUTS: NONE; OUTPUTS: NONE ;A;-3$TSTDV::MOV $DEVHD,R5 ; GET ADDRESS OF DEVICE TABLEN. MOV @#4,-(SP) ; SAVE CURRENT INTERRUPT VECTOR .IF DF M$$MGE MOV @#6,-(SP) ; SAVE CURRENT PS .ENDC MOV #NODEV,@#4 ; SET BUS ERROR, .IF DF M$$MGE MOV #170340,@#6 ; AND SET PSO .ENDC;3-; SET UP MESSAGE AS IF DEVICE ISN'T ON SYSTEMR;A0TSTD1: MOV #OFNAM,R0 ; POINT TO DEVICE NAME AREA% MOVB D.NAM(R5),(R0)+ ; PUT IN DEVICET" MOVB D.NAM+1(R5),(R0)+ ; MNEMONIC+ MOVB D.UNIT(R5),R1 ; GET FIRST UNIT NUMBERU) CLR R2 ; SET TO SUPPRESS LEADING ZEROES:- CMP R1,#7 ; FIRST UNIT GREATER THAN UNIT 7?M BGT 10$ ; YESV& MOVB #60,(R0)+ ; NO, SET LEADING ZERO$10$: CALL $CBOMG ; CONVERT TO OCTAL* MOVB D.UNIT+1(R5),R2 ; COMPUTE NUMBER OF ' MOVB D.UNIT(R5),R1 ; UNITS ON THIS DCBP SUB R1,R2 ;, MOV D.UCB(R5),R4 ; GET ADDRESS OF FIRST UCB;A; TRY NEXT DEVICE,;;<TSTD2: MOV U.SCB(R4),R1 ; GET ADDRESS OF SCB FOR NEXT DEVICE1 BIT #DV.PSE,U.CW1(R4) ; IS THIS A PSUEDO DEVICE?N BNE 40$ ; YES, THEN SKIP TESTU" TST @S.CSR(R1) ; IS DEVICE THERE? BCC 14$ ; YES,, CALL SETOFF ; SET OFFLINE AND SEND MESSAGE BR 15$ ; M014$: BICB #US.OFL,U.ST2(R4) ; SET DEVICE ON LINE15$: DEC R2 ; ANY MORE UNITS? BLT 40$ ; NO+ INCB -1(R0) ; YES, INCREMENT UNIT NUMBBERN CMPB -1(R0),#67 ; IS IT > "7" BLE 30$ ; NO/ INCB -2(R0) ; YES, INCREMENT HIGH ORDER DIGITV- MOVB #60,-1(R0) ; SET LOW ORDER DIGIT TO "0" *30$: ADD D.UCBL(R5),R4 ; POINT TO NEXT UCB BR TSTD2 ; LOOPD/40$: MOV D.LNK(R5),R5 ; GET ADDRESS OF NEXT DCBT BNE TSTD1 ; LOOP UNTIL DONE .IF DF M$$MGE MOV (SP)+,@#6 ; E .ENDC) MOV (SP)+,@#4 ; RESTORE INTERRUPT VECTOR ' CALL $TSTPY ; SET UP PARITY REGISTERS5( CALL $CRSIZ ; DETERMINE SIZE OF MEMORY RETURN ;R; @; MARK DEVICE AS OFF-LINE AND SEND OUT OFFLINE MESSAGE IF NEEDED;3CSETOFF: BITB #US.OFL,U.ST2(R4) ; IS DEVICE ALREADY MARKED OFF LINE?,* BNE 10$ ; YES, DON'T PRINT MESSAGE AGAIN( MOV #DEVMSG,R0 ; GET ADDRESS OF MESSAGE CALL $TYPE ; PRINT IT OUTK MOV #OFNAM+4,R0 ; RESET R0 010$: BISB #US.OFL,U.ST2(R4) ; SET DEVICE OFFLINE20$: RETURN ;6 E;.; ENTRY FOR BUS ERROR INTERRUPTT;U#NODEV: BIS #1,2(SP) ; SET CARRY BITR RTI ; RETURNC 2 .SBTTL $TSTPY - TEST FOR PARITY MEMORY SUBROUTINE;+2; *** - $TSTPY - TEST FOR PARITY MEMORY HARDWARE; 5; SET CSR TABLE FOR EACH PARITY MEMORY MODULE PRESENTA;A;-:$TSTPY::MOV $PARPT,R0 ; GET ADDRESS OF PARITY TABLE IF ANY BEQ 40$ ; THERE ISN'T ANYS1 MOV @#4,-(SP) ; SAVE MEMORY ADDRESS ERROR VECTORF MOV #20$,@#4 ; SET TEMP VECTORU .IF DF M$$MGE  MOV @#6,-(SP) ; SAVE PS MOV #170340,@#6 ; SET TEMP PS .ENDC' MOV R0,R1 ; GET ADDRESS OF FIRST WORDE' MOV #1,(R1)+ ; SET FIRST WORD OF TABLET3 MOV #MPAR-2,R2 ; GET ADDRESS OF FIRST CSR REGISTER*& MOV #16.,R3 ; SET COUNT OF REGISTERS#10$: ADD #2,R2 ; POINT TO NEXT CSRP TST (R2) ; IS HARDWARE THERE?) MOV R2,(R1)+ ; YES, SET ADDRESS IN TABLEP BR 30$ ;,20$: CMP (SP)+,(SP)+ ; NO, POP OFF PC AND PS- MOV R0,(R1)+ ; SET POINTER TO START OF TABLEV30$: DEC R3 ; DONE? BNE 10$ ; NO, LOOP8 MOV #35$,@#4 ; SET TRAP FOR 11/70 CACHE PARITY REGISTER3 MOV #MPCSR,R2 ; GET 11/70 CACHE PARITY REG ADDRESS( MOV R2,(R1) ; STORE IT IN PARITY TABLE TST (R2) ; IS IT IN HARDWARE?F BR 37$ ; YES&35$: CMP (SP)+,(SP)+ ; NO, CLEAN STACK% MOV R0,(R1) ; AND DUMMY TABLE ENTRYP37$: .IF DF M$$MGE% MOV (SP)+,@#6 ; RESTORE INTERRUPT PSA .ENDC) MOV (SP)+,@#4 ; RESTORE INTERRUPT VECTOR; 40$: RETURNP N2 .SBTTL $CRSIZ - COMPUTE SIZE OF MEMORY SUBROUTINE;+=; *** - $CRSIZ - DETERMINE MEMORY SIZE OF CURRENT PROCESSORR3; AND SET SIZE OF LAST SYSTEM CONTROLLED PARTITIONG/; TO USE ALL OF MEMORY IF IT IS LAST PARTITION 4; IN SYSTEM OR LAST NON-DEVICE PARTITION IN SYSTEM.;E ; OUTPUT: (; $SYSIZ - SET UP TO CURRENT MEMORY SIZE;K;-0$CRSIZ::MOV $RESDL,R1 ; GET RESIDUAL BLOCK COUNT4 BEQ 10$ ; ZERO MEANS WE READ IT ALL IN,MAY BE MORE4 INC R1 ; INCREMENT BLOCKS NOT READ(SECONDARY BOOT)= MOV $SYSIZ+10,R0 ; GET NUMBER OF DISK BLOCKS IN SYSTEM IMAGE+ SUB R1,R0 ; COMPUTE NUMBER OF BLOCKS READO$ ASL R0 ; CONVERT TO 32 WORD BLOCKS ASL R0 ; ASL R0 ; BR 60$ ;910$: MOV @#4,-(SP) ; SAVE NON-EXISTANT MEMORY TRAP VECTORY& MOV #120$,@#4 ; SET OURS IN ITS PLACE# .IF DF M$$MGE ; MEMORY MANAGEMENT?U MOV @#6,-(SP) ; YES, SAVE PS-! MOV #170340,@#6 ; SET OUR OWN PSU .IFTF2 MOV $SYSIZ+10,R0 ; GET NUMBER OF DISK BLOCKS READ0 ASL R0 ; CONVERT TO NUMBER OF 256. BYTE BLOCKS .IFFB# SWAB R0 ; CONVERT TO BYTE ADDRESSO20$: CMP R0,#160000 ; 28K? BEQ 50$ ; YES CLR (R0)+ ; NO, ZERO NEXT WORD+ BR 20$ ; LOOP, UNTIL TRAP OR REACHING 28K;-50$: BIC #377,R0 ; CLEAR LOW BYTE OF ADDRESSS& SWAB R0 ; CHANGE TO 256. BYTE BLOCKS ASL R0 ; CONVERT TO $ ASL R0 ; NUMBER OF 32. WORD BLOCKS .IFTE ASL R0 ; CONVERT TO NUMBER OFP ASL R0 ; 32. WORD BLOCKS020$: BIT #FE.EXT,$FMASK ; 11/70 EXTENDED MEMORY? BEQ 22$ ; NO CMP R0,#170000 ; END OF MEMORY? BHIS 50$ ; YES BR 25$ ; NOA(22$: CMP R0,#7600 ; END OF VALID MEMORY? BHIS 50$ ; YES825$: MOV R0,@#UISAR6 ; NO, SET MEMORY BLOCK BASE ADDRESS! MOV #140000,R2 ; SET TO USE APR6 (30$: CMP #144000,R2 ; END OF 1K SEGMENT? BEQ 40$ ; YES CLR (R2)+ ; NO, ZERO NEXT WORD BR 30$ ; AND LOOP (40$: ADD #40,R0 ; POINT TO NEXT SEGMENT BR 20$ ; LOOPC50$: MOV (SP)+,@#6 ; RESTORE PS3 W .IFTF $ MOV (SP)+,@#4 ; RESTORE TRAP VECTOR$60$: MOV R0,$SYSIZ ; SET SYSTEM SIZE 0 .IFT  M* MOV #$PARHD,R1 ; GET POINTER TO FIRST PCB+70$: MOV (R1),R2 ; GET ADDRESS OF NEXT PCB  BEQ 100$ ; END OF PCB LIST' BIT #FE.EXT,$FMASK ; IS THIS AN 11/70?M BEQ 80$ ; NO9 CMP P.REL(R2),#177600 ; YES, IS THIS A DEVICE PARTITION? BHIS 100$ ; YESC BR 90$ ; NO 680$: CMP P.REL(R2),#7600 ; IS THIS A DEVICE PARTITION? BHIS 100$ ; YESE390$: MOV R2,R1 ; NO, GET POINTER TO NEXT PARTITION3- BR 70$ ; LOOP UNTIL DEVICE PARTITION OR END D100$: BITB #PS.SYS,P.STAT(R1) ; IS IT A SYSTEM CONTROLLED PARTITION? BEQ 110$ ; NON7 SUB P.REL(R1),R0 ; YES, COMPUTE SIZE OF LAST PARTITION  MOV R0,P.SIZE(R1) ; AND SET ITT B .ENDC $!110$: RETURN ; RETURN TO CALLER$; %; NON EXISTENT MEMORY TRAPS COME HEREI; )120$: CMP (SP)+,(SP)+ ; POP OFF PS AND PC BR 50$ ; :, .SBTTL $STCLK - SET SYSTEM CLOCK SUBROUTINE;+*; *** - $STCLK SELECT A CLOCK FOR SYSTEM; 4; DECIDE WHICH CLOCK IS ON SYSTEM, DEFAULT TO KW11-P ; SET UP SYSCM FOR CORRECT CLOCK;S;-7$STCLK::MOV @#4,-(SP) ; SAVE NON-EXISTANT MEMORY VECTOR0 MOV #10$,@#4 ; SET VECTOR .IF DF M$$MGE MOV @#6,-(SP) ; SAVE OLD PS MOV #170340,@#6 ; SET NEW PS .ENDC. MOV $CKCSR,R0 ; GET CURRENT CLOCK CSR ADDRESS TST (R0) ; IS IT THERE?E BR 30$ ; YES)10$: CMP (SP)+,(SP)+ ; NO, CLEAR OF STACK  MOV #20$,@#4 ; SET VECTOR UPT# MOV #172540,R0 ; SET UP FOR KW11-P  MOV R0,$CKCSR ; MOV #172542,$CKCNT ;  MOV #10.,$CKLDC ;. MOV #1000.,$TKPS ; SET 1000. TICKS PER SECOND TST (R0) ; IS IT THERE?S BR 30$ ; YES&20$: CMP (SP)+,(SP)+ ; NO, CLEAR STACK# MOV #177546,R0 ; SET UP FOR KW11-L$ MOV R0,$CKCSR ; MOV R0,$CKCNT ; CLR $CKLDC ;* MOV #60.,$TKPS ; SET 60. TICKS PER SECOND30$: .IF DF M$$MGE MOV (SP)+,@#6 ; .ENDC1 MOV (SP)+,@#4 ; RESET NON-EXISTANT MEMORY VECTOR,( MOV #$NONSI,@#100 ; RESET KW11-L VECTOR& MOV #$CKINT,@#104 ; SET KW11-P VECTOR& CMP R0,#172540 ; IS THE KW11-P THERE? BEQ 40$ ; YES,* MOV #$CKINT,@#100 ; NO, SET KW11-L VECTOR( MOV #$NONSI,@#104 ; RESET KW11-P VECTOR40$: RETURN ; RETURN P .SBTTL NON-INTERRUPT TTY DRIVER;+(; *** - $TYPE PRINT OUT MESSAGE ON TT0:-; *** - TYPIT PRINT OUT ONE CHARACTER ON TT0:,;P; INPUT:,; R0 - ADDRESS OF MESSAGE, ENDS IN ZERO BYTE$; TYPIT R1 - CHARACTER TO BE PRINTED;T ; OUTPUT:N; R0 - UPDATED;M;-$TYPE:: MOV R1,-(SP) ; SAVE R1 MOV #12,R1 ; PRINT LFS CALL TYPIT ;'10$: MOVB (R0)+,R1 ; GET NEXT CHARACTER" BEQ 20$ ; ZERO IS END OF MESSAGE CALL TYPIT ; PRINT CHARACTER BR 10$ ; LOOPS20$: MOVB #15,R1 ; PRINT CR CALL TYPIT ; MOV (SP)+,R1 ; RESTORE R1 RETURN *; ; TYPE A CHARACTER;E&TYPIT: MOVB R1,@#TPB ; PRINT CHARACTER10$: TSTB @#TPCS ; READY? BPL 10$ ; NO, LOOP RETURN ;  .END BYTE$; TYPIT R1 - CHARACTER TO  .SBTTL RX01 BOOT STRAP .ENABL LSB#5$DXSEC:: .BLKW 4 ; 4 PHYSICAL TRACK/SECTOR ADDRESSEST*$DXBOT:: CLR R3 ; INITIALIZE SECTOR INDEX MOV (PC)+,R5 ; GET CSR ADDRESSSDXBCSR: .WORD 0 ; ; CLR R4 ; ZERO BUFFER ADDRESS TST R0 ; BOOTED FROM UNIT 1? BEQ 10$ ; NO$ BIS #20,DXBFUN ; YES, SELECT UNIT 1*10$: MOV (PC)+,(R5) ; SET FUNCTION TO READ%DXBFUN: .WORD 7 ; READ FUNCTION CODE CALL DXWAIT ; WAIT BCS $DXBOT ; ERROR) MOV PC,R1 ; GET ADDRESS OF SECTOR TABLED ADD R3,R1 ; +15$: MOVB $DXSEC-15$(R1),2(R5) ; SET SECTOR  CALL DXWAIT ; WAIT BCS $DXBOT ; ERROR( MOVB $DXSEC-15$+1(R1),2(R5) ; SET TRACK CALL DXWAIT ; WAIT BCC $DXBOT ; ERROR MOV R5,R2 ; COPY CSR ADDRESS! MOV #3,(R2)+ ; SET TO EMPTY SILOT!20$: BITB #240,(R5) ; BYTE READY?$ BMI 30$ ; YESD BEQ 20$ ; NO, WAIT BR 40$ ; YES, SILO EMPTY$30$: MOVB (R2),(R4)+ ; GET NEXT BYTE BR 20$ ; LOOPC%40$: TST (R3)+ ; UPDATE SECTOR INDEX  CMP R3,#6 ; DONE? $ BLOS 10$ ; NO, READ IN NEXT SECTOR* CLR PC ; YES, GO TO SECONDARY BOOT BLOCK#DXWAIT: CLC ; DEFAULT TO TR READYS50$: BITB #240,(R5) ; DONE?C BMI 60$ ; YES, TR READYK BEQ 50$ ; NO SEC ; YES, DONE60$: RETURN ;,0$DXBLN == <.-$DXSEC>/2 ; LENGTH OF DX BOOT BLOCK .DSABL LSB: BITB #240,(R5) ; BYTE READY?$ BMI 30$ ; YESD BEQ 20$ ; NO, WAIT BR 40$ ; YES, SILO EMPTY$30$: MOVB (R2),(R4)+ ; GET NEXT BYTE BR 20$ ; LOOPC%40$: TST (R3)+ ; UPDATE SECTOR INDEX  CMP R3,#6 ; DONE? $ BLOS 10$ ; NO, READ IN NEXT SECTOR* CLR PC ; YES,  .SBTTL RX01 DRIVERB9$DXDRV:: MOV PC,R5 ; COMPUTE ADDRESS OF NXM TRAP ROUTINE( ADD #DXTRP4-.,R5 ;$ MOV R5,@#4 ; AND SET IT$6 MOV #DXTRP4,@#4 ; SET NON-EXISTANT MEMORY TRAP VECTOR CLR @#6 ;; MOV (PC)+,R5 ; GET CSR ADDRESS DXCSR: .WORD 0 ; " MOV (PC)+,R4 ; GET BUFFER ADDRESSDXSA: .WORD 0 ;1 MOV (PC)+,R3 ; GET LOAD LENGTH IN LOGICAL BLOCKS;DXLLEN: .WORD 0 ; ASL R3 ; CONVERT TO( ASL R3 ; LOGICAL SECTOR # CMPB DXFUN+1,#-1 ; UNIT SPECIFIED?N BNE DX2 ; YESE MOVB R0,DXFUN+1 ; NO, SET IT DX2: TST DXFUN+1 ; UNIT 0?, BEQ 10$ ; YESR" BIS #20,DXFUN ; NO, SELECT UNIT 1'10$: CMP $DXSLO,#3 ; READING FROM DISK?M+ BNE DXSILO ; NO, FILL SILO BEFORE WRITING 0DXLOOP: MOV (PC)+,R1 ; GET LOGICAL SECTOR NUMBER; ; PERFORM SILO/DISK TRANSFER;RDXBLK: .WORD 0 ;E6 CALL $TRKSC ; CONVERT LOGICAL SECTOR TO TRACK/SECTOR! MOVB (PC)+,(R5) ; START FUNCTION;DXFUN: .WORD 0 ;T CALL TRWAIT ; WAIT BCS $DXDRV ; ERROR MOVB R0,2(R5) ; SET SECTORB CALL TRWAIT ; WAIT BCS $DXDRV ; ERROR MOVB R1,2(R5) ; SET TRACK CALL TRWAIT ; WAIT BCC $DXDRV ; ERROR* INC DXBLK ; UPDATE LOGICAL SECTOR NUMBER# CMP $DXSLO,#3 ; READING FROM DISK?  BEQ 10$ ; YESN$ DEC R3 ; NO, ALL BLOCKS PROCESSED? BLE DXNXM ; YES"10$: MOV #128.,R0 ; SET BYTE COUNT;:; PERFORM SILO/MEMORY TRANSFER;R,DXSILO: MOV (PC)+,(R5) ; SET EMPTY/FILL SILO$DXSLO:: .WORD 0 ;; 10$: BITB #TR!DONE,2(R5) ; DONE? BMI $DXMOV ; YES BEQ 10$ ; NO BR DXEF ; YES, SILO EMPTYL*$DXMOV:: MOVB 2(R5),(R4)+ ; MOVE NEXT BYTE DEC R0 ; DONE? BR 10$ ; LOOPT.DXEF: TST R0 ; ALL BYTES IN SILO TRANSFERRED? BNE $DXDRV ; NO, ERROR# CMP $DXSLO,#3 ; READING FROM DISK? % BNE DXLOOP ; NO MUST WRITE SILO OUTB DEC R3 ; ALL SECTORS READ? BGT DXLOOP ; NO26DXNXM: MOV R3,R0 ; GET NUMBER OF SECTORS LEFT TO READ$ ASR R0 ; CONVERT TO LOGICAL BLOCKS ASR R0 ;" MOVB DXFUN+1,R4 ; GET UNIT NUMBER BR DXEND ; DONEN;; WAIT FOR DISK TO SHOW READY ;#TRWAIT: CLC ; DEFAULT TO TR READY:10$: BITB #TR!DONE,(R5) ; DONE?E BMI 20$ ; YES? BEQ 10$ ; NO, LOOP SEC ; YES20$: RETURN ; ;N<; PROCESS NON-EXISTANT MEMORY TRAP (STOP READING OR WRITING); %DXTRP4: CMP (SP)+,(SP)+ ; CLEAR STACKL BR DXNXM ;;;=; CONVERT LOGICAL SECTOR NUMBER TO PHYSICAL TRACK/SECTOR PAIR ; INPUT:; R1 - LOGICAL SECTORA ; OUTPUT:N ; R0 - TRACK ; R1 - SECTORR;; $TRKSC:: MOV #8.,R0 ; SET COUNT MOV #6400,R2 ; AND DIVISOR ,30$: CMP R2,R1 ; DOES 26. GO INTO DIVIDEND?" BHI 40$ ; BRANCH IF NOT, C CLEAR( SUB R2,R1 ; SUBTRACT 26. FROM DIVIDEND SEC ;*40$: ROL R1 ; SHIFT DIVIDEND AND QUOTIENT DEC R0 ; DONE? BGT 30$ ; NO, LOOP MOVB R1,R0 ; GET TRACK CLRB R1 ; CLEAR TRACK) SWAB R1 ; SHIFT DOWN SECTOR! CMP #12.,R1 ; C=1 IF 13<=R1<=25 ' ROL R1 ; DOUBLE FOR INTERLEAVE FACTOR! ASL R0 ; ADD TRACK - TRACK SKEW ADD R0,R1 ; SKEW BY 2*TRACK; ADD R0,R1 ; SKEW BY 4*TRACKU ADD R0,R1 ; SKEW BY 6*TRACK  ASR R0 ; RESTORE TRACK NUMBERN MOV #26.,R2 ; SET MODULUSN550$: SUB R2,R1 ; MODULO SECTOR INTO RANGE -26. TO -1I- BGE 50$ ; LOOP TILL REMAINDER GOES NEGATIVEN& ADD R2,R1 ; CONVERT TO RANGE 0 - 25.( INC R0 ; BUMP TRACK TO SKIP TRACK ZERO& INC R1 ; AND SECTOR TO RANGE 1 - 26. RETURN ;DXEND: RETURN ; IF 13<=R1<=25 ' ROL R1 ; DOUBLE FOR INTERLEAVE FACTOR! ASL R0 ; ADD TRACK - TRACK SKEW ADD R0,R1 ; SKEW BY 2*TRACK; ADD R0,R1 ; SKEW BY 4*TRACKU ADD R0,R1 ; SKEW BY 6*TRACK  ASR R0 ; RESTORE TRACK NUMBERN MOV #26.,R2 ; SET MODULUSN550$: SUB R2,R1 ; MODULO".TITLE UFD - CREATE DIRECTORY FILE.SBTTL TITLE PAGE.IDENT "V0405";A; COPYRIGHT 1975, DIGITAL EQUIPMENT CORP., MAYNARD, MASS.A; COPYRIGHT 1974, DIGITAL EQUIPMENT CORP., MAYNARD, MASS.;A; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE@; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION@; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT1; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.;@; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT@; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL; EQUIPMENT CORPORATION.;R@; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY?; OF ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.C;E"; ANDREW C. GOLDSTEIN 25 JUN 1974 E".SBTTL MACRO CALLS AND DEFINITIONS; MACROS FROM SYSTEM LIBRARY .MCALL DIR$,WTSE$S,CALL,RETURNY .MCALL GLUN$C,ALUN$,EXIT$SI .MCALL NMBLK$ .MCALL QIO$,QIO$S,GMCR$ .IIF NDF,R$$11M .MCALL QIOW$N; MACRO TO CALL QIO ROUTINE .MACRO QIO DPB JSR R5,XQIO .WORD DPB .ENDM QIOD; MACRO FOR SOB'SO .IF NDF R$$EISE.MACRO SOB RX,LABELS DEC RXF BNE LABEL .ENDM SOBI .ENDC I UFDLUN=1UFDEFN=1COLUN=2 COEFN=2P E.SBTTL ASSORTED DATA - DPB'S .PSECT IMPURE,D .LIST MEB; GET COMMAND LINE GCML: GMCR$R; ASSIGN LUN TO DEVICEASLUN: ALUN$ UFDLUN,XX,0$UDEV== ASLUN+A.LUNA$UUNIT==ASLUN+A.LUNU .IF NDF R$$11MQ .IFTC; ACCESS INDEX FILE FOR READ8ACCES1: QIOW$ IO.ACR,UFDLUN,UFDEFN,,IOSTAT,,IDXFID: .WORD 1,1,0E!; READ HOME BLOCK FROM INDEX FILEF;RHOME: QIOW$ IO.RVB,UFDLUN,UFDEFN,,IOSTAT,, ; DEACCESS INDEX FILEL,DEACC1: QIOW$ IO.DAC,UFDLUN,UFDEFN,,IOSTAT,,; CREATE NEW DIRECTORY FILE 5CREATE: QIOW$ IO.CRE,UFDLUN,UFDEFN,,IOSTAT,,<$FNB,1,>R$UDSIZ= CREATE+Q.IOPL+2E; ENTER DIRECTORY IN MFD1ENTER: QIOW$ IO.ENA,UFDLUN,UFDEFN,,IOSTAT,,<$FNB>F#; WRITE ATTRIBUTES TO NEW DIRECTORYF7WATT: QIOW$ IO.WAT,UFDLUN,UFDEFN,,IOSTAT,,<$FNB,ATTBLK>,; ERROR RECOVERY7; REMOVE DIRECTORY FROM MFD ON WRITE ATTRIBUTES FAILURE2REMOVE: QIOW$ IO.RNA,UFDLUN,UFDEFN,,IOSTAT,,<$FNB>7; DELETE DIRECTORY ON ENTER OR WRITE ATTRIBUTES FAILURED1DELET: QIOW$ IO.DEL,UFDLUN,UFDEFN,,IOSTAT,,<$FNB> .IFF ; ACCESS INDEX FILE FOR READ>ACCES1: QIO$ IO.ACR,UFDLUN,UFDEFN,,IOSTAT,,IDXFID: .WORD 1,1,0.!; READ HOME BLOCK FROM INDEX FILE;RHOME: QIO$ IO.RVB,UFDLUN,UFDEFN,,IOSTAT,,U; DEACCESS INDEX FILET8DEACC1: QIO$ IO.DAC,UFDLUN,UFDEFN,,IOSTAT,,; CREATE NEW DIRECTORY FILEO=CREATE: QIO$ IO.CRE,UFDLUN,UFDEFN,,IOSTAT,,<$FNB,,103400,1,,>O$UDSIZ= CREATE+Q.IOPL+6U; ENTER DIRECTORY IN MFD5ENTER: QIO$ IO.ENA,UFDLUN,UFDEFN,,IOSTAT,,<,,,,,$FNB>E#; WRITE ATTRIBUTES TO NEW DIRECTORYI:WATT: QIO$ IO.WAT,UFDLUN,UFDEFN,,IOSTAT,,<$FNB,ATTBLK,,,,>; ERROR RECOVERY7; REMOVE DIRECTORY FROM MFD ON WRITE ATTRIBUTES FAILURE,6REMOVE: QIO$ IO.RNA,UFDLUN,UFDEFN,,IOSTAT,,<,,,,,$FNB>7; DELETE DIRECTORY ON ENTER OR WRITE ATTRIBUTES FAILURE,5DELET: QIO$ IO.DEL,UFDLUN,UFDEFN,,IOSTAT,,<$FNB,,,,,>, .ENDC ,.SBTTL OTHER RANDOM DATA ; WRITE ATTRIBUTES CONTROL BLOCK(ATTBLK: .BYTE 5,10 ; FILE NAME AND TYPE .WORD $FNB+N.FNAM .BYTE 7,2 ; VERSION NUMBER .WORD $FNB+N.FVER# .BYTE 4,S.FATT ; RECORD ATTRIBUTESD .WORD RECATTF .BYTE 1,2 ; FILE OWNER .WORD $UUIC$$PRFLG::.BYTE 2,2 ; FILE PROTECTION .WORD $UPRO .WORD 0 ; ENDI; RECORD ATTRIBUTESSRECATT: .BYTE R.FIX,0E .WORD 16. ; RECORD LENGTHE .WORD 0,0 ; FILE LENGTHE .WORD 0,1 ; END OF FILE VBNO .WORD 0 ; FIRST FREE BYTE&; FILE NAME BLOCK FOR CREATE AND ENTER$FNB:: NMBLK$ ,DIR,1. = $FNB+N.DID .WORD 4,4,0. = $FNB+S.FNB; RANDOM VARIABLES.E$UUIC:: .WORD 0 ; FILE OWNERN$UPRO:: .WORD 0 ; PROTECTIONO&$UALL:: .WORD 0 ; RECORDS TO ALLOCATE)$UVNAM::.WORD 0 ; POINTER TO VOLUME NAMET-$UVNML::.WORD 0 ; CHAR COUNT OF VOLUME LABEL0ERRNUM: .WORD 0 ; ERROR INDEXSTRING: ; STRING BUFFER.LUNBUF: .BLKW 6 ; AND BUFFER FOR GET LUN INFO#IOSTAT: .BLKW 2 ; I/O STATUS BLOCK,IOBUFF: .BLKB 64. ; BUFFER FOR VOLUME LABEL .NLIST MEBD T.SBTTL ERROR MESSAGESR .PSECT MSGSTR,D; ERROR MESSAGE INDEX TABLEERRMSG: .WORD ERRM1 .WORD ERRM2 .WORD ERRM3 .WORD ERRM4 .WORD ERRM5 .WORD ERRM6 .WORD ERRM7 .WORD ERRM8 .WORD ERRM9 .WORD ERRM10T .WORD ERRM11M; THE ERROR MESSAGES THEMSELVESF8ERRM1: .ASCIZ <15>"UFD -- CAN'T READ MCR COMMAND BUFFER"'ERRM2: .ASCIZ <15>"UFD -- SYNTAX ERROR"B/ERRM3: .ASCIZ <15>"UFD -- DEVICE NOT IN SYSTEM"S.ERRM4: .ASCIZ <15>"UFD -- NOT FILES-11 DEVICE"/ERRM5: .ASCIZ <15>"UFD -- HOME BLOCK I/O ERROR"S'ERRM6: .ASCIZ <15>"UFD -- WRONG VOLUME"S3ERRM7: .ASCIZ <15>"UFD -- DIRECTORY ALREADY EXISTS"21ERRM8: .ASCIZ <15>"UFD -- FAILED TO ENTER IN MFD"E5ERRM9: .ASCIZ <15>"UFD -- FAILED TO CREATE DIRECTORY"E4ERRM10: .ASCIZ <15>"UFD -- WRITE ATTRIBUTES FAILURE".ERRM11: .ASCIZ <15>"UFD -- VOLUME NOT MOUNTED" .EVEN E.SBTTL MAIN PROGRAM>;+;Y); *** - $UFD - ENTRY FOR UFD MAIN PROGRAMI;N?; CREATING A NEW DIRECTORY IS REALLY CRETINOUSLY SIMPLE. WE GETR=; THE COMMAND LINE AND PARSE IT FOR THE NECESSARY INFORMATION1=; AND OPTIONS. THEN WE VERIFY THAT THE DEVICE EXISTS AND WILLLA; TAKE MULTIPLE DIRECTORIES, AND VERIFY THE VOLUME LABEL. FINALLY?; WE CREATE THE DIRECTORY FILE, ENTER IT IN THE VOLUME MFD, ANDA?; SET UP THE ATTRIBUTES CORRECTLY. THE WRITE ATTRIBUTES IS DONEF>; LAST TO ENSURE THAT AN ERROR UNWIND FROM AN ENTER FAILURE IS ; POSSIBLE. ;U;- .PSECT CODE$UFD::( CLR $PRFLG ; SET PROTECTION TO DEFAULT CLR ERRNUM ; INIT ERROR INDEXH$ CLR $UUNIT ; CLEAN OUT UNIT NUMBER$ DIR$ #GCML ; READ THE COMMAND LINE BCC 10$ JMP CMLERR ; NO COMMAND LINE$10$: CLR R1 ; SET BLANK SUPPRESSION# MOV #.UFDKT,R2 ; GET KEYWORD TABLEC' MOV $DSW,R3 ; GET COMMAND LINE LENGTH ' MOV #GCML+2,R4 ; GET COMMAND LINE ADDR , MOV #.PSTRT,R5 ; GET START STATE FOR PARSER* CALL .TPARS ; AND PARSE THE COMMAND LINE BCC 20$ JMP SYNERR ; SYNTAX ERROR2; ASSIGN THE LUN AND SEE IF THE DEVICE IS SUITABLE20$: DIR$ #ASLUN ; ASSIGN LUN$ BCS BADDEV ; DEVICE DOES NOT EXIST0 GLUN$C UFDLUN,LUNBUF,CODE ; GET LUN INFORMATIONH CMP LUNBUF+U.C1,#DV.DIR!DV.F11!DV.MNT ; TEST FOR MULTI DIRECTORY DEVICE BEQ 30$! JMP NDDEV ; ANYTHING ELSE - OUTM4; NOW READ THE HOME BLOCK TO VERIFY THE VOLUME LABEL$30$: QIO ACCES1 ; ACCESS INDEX FILE BCC 40$ .IF DF,R$$11M4 CMPB IOSTAT,#IE.PRI ; CHECK FOR PRIVILEGE VIOLATION .IFFJ1 CMPB IOSTAT,#IE.DNR ; CHECK FOR DEVICE NOT READYS .ENDC4 BEQ VNMO ; WHICH REALLY MEANS VOLUME ISN'T MOUNTED BR NRIDX ; SOMETHING ELSEN!40$: QIO RHOME ; READ HOME BLOCKO BCS NRIDX" QIO DEACC1 ; DEACCESS INDEX FILE BCS NRIDX5 MOV #IOBUFF+H.VNAM,R0 ; POINT TO LABEL IN HOME BLOCKP3 MOV $UVNAM,R1 ; POINT TO LABEL FROM COMMAND STRING / MOV $UVNML,R2 ; GET CHAR COUNT OF VOLUME LABELS! BEQ 70$ ; CHECK FOR BLANK LABEL. MOV #12.,R3 ; SET MAX COUNTP'50$: CMPB (R0)+,(R1)+ ; COMPARE STRINGSJ BNE BADNAM ; WRONG LABEL DEC R3 ; CHECK LIMIT' BLT BADNAM ; OVER 12 CHARS IS NO GOOD SOB R2,50$M/ TST R3 ; SEE IF STRING WAS LESS THAN 12 CHARSO BEQ 70$/60$: TSTB (R0) ; CHECK FOR END OF VOLUME LABELN BNE BADNAM ; NO MATCHM!; SET UP NAME BLOCK FOR MFD ENTRY ,70$: MOV #STRING,R2 ; POINT TO STRING BUFFER MOV $UUIC,R3 ; GET UICV4 MOV #3,R4 ; REQUEST NO PUNCTUATION, LEADING ZEROES$ CALL .PPASC ; CONVERT UIC TO ASCII. MOV #$FNB+N.FNAM,R5 ; POINT TO FILE NAME AREA' MOV #STRING,R0 ; POINT TO ASCII STRING CALL $CAT5 ; CONVERT TO RAD-50 MOV R1,(R5)+ ; PUT IN NAME " CALL $CAT5 ; GET 2ND RAD-50 WORD MOV R1,(R5)+H5; COMPUTE NUMBER OF BLOCKS TO ALLOCATE FOR DIRECTORY. 1 MOV $UALL,R1 ; GET NUMBER OF ENTRIES TO ALLOCATEP* ASR R1 ; DIVIDE BY 32. ENTRIES PER BLOCK ASR R1O ASR R1R ASR R1R ASR R1U INC R1 ; ROUND UPV+ MOV R1,$UDSIZ ; SET UP SIZE IN CREATE CALLO" QIO CREATE ; AND CREATE THE FILE BCS NCREAT#= MOV IOSTAT+2,RECATT+F.HIBK+2 ; ALSO SET UP RECORD ATTRIBUTESN QIO ENTER ; ENTER IN MFD BCS 80$ ; ENTER FAILUREM# QIO WATT ; SET UP FILE ATTRIBUTEST BCS 90$ EXIT$S ; THAT'S ALL, FOLKS!"; FAILED TO ENTER DIRECTORY IN MFD%80$: MOVB IOSTAT,R5 ; SAVE I/O STATUS  QIO DELET ; DELETE THE FILE( CMPB R5,#IE.DUP ; WAS NAME A DUPLICATE? BEQ DUPLIC ; YES BR NENTER ; SOMETHING ELSE; FAILED TO WRITE ATTRIBUTES"90$: QIO REMOVE ; REMOVE FROM MFD QIO DELET ; DELETE THE FILEN BR WATF I.SBTTL ERROR EXITS=; BRANCHES TO THE ERROR EXITS BUMP UP AN ERROR INDEX WHICH IS>; USED TO LOCATE THE APPROPRIATE ERROR MESSAGE. THE MESSAGE IS; OUTPUT TO "CO". &VNMO: INC ERRNUM ; VOLUME NOT MOUNTED,WATF: INC ERRNUM ; WRITE ATTRIBUTES FAILURE&NCREAT: INC ERRNUM ; FAILED TO CREATE,NENTER: INC ERRNUM ; FAILED TO ENTER IN MFD)DUPLIC: INC ERRNUM ; DUPLICATE DIRECTORYN'BADNAM: INC ERRNUM ; WRONG VOLUME NAME.NRIDX: INC ERRNUM ; FAILED TO READ INDEX FILE+NDDEV: INC ERRNUM ; NOT A DIRECTORY DEVICER%BADDEV: INC ERRNUM ; BAD DEVICE NAME .SYNER::"SYNERR: INC ERRNUM ; SYNTAX ERROR#CMLERR: ; COMMAND LINE I/O ERRORH MOV ERRNUM,R0 ; GET ERROR INDEX ASL R0 + MOV ERRMSG(R0),R0 ; GET ERROR MESSAGE ADDRR MOV R0,R1*10$: TSTB (R1)+ ; LOOK FOR THE TERMINATOR BEQ 20$ BR 10$E)20$: SUB R0,R1 ; COMPUTE CHARACTER COUNT- QIO$S #IO.WVB,#COLUN,#COEFN,,,,>M BCS 30$" WTSE$S #COEFN ; WAIT FOR MESSAGE030$: QIO DEACC1 ; CLEAN OUT LUN JUST TO BE SURE EXIT$SN D.SBTTL QIO CALL ROUTINE ;+;M; CALL: JSR R5,XQIO ; .WORD DPBE ; (RETURN); ;-XQIO: DIR$ (R5)+ ; DO ITD$ BCS 1$ ; CHECK FOR DIRECTIVE ERROR .IF DF R$$11M& WTSE$S #UFDEFN ; WAIT FOR COMPLETION .ENDC# TSTB IOSTAT ; CHECK FOR I/O ERROR  BGT 1$E SEC ; SET CARRY ON ERROR 1$: RTS R5 .END $UFD ER COUNT- QIO$S #IO.WVB,#COLUN,#COEFN,,,,>M BCS 30$" WTSE$S #COEFN ; WAIT FOR MESSAGE030$: QIO DEACC1 ; CLEAN OUT LUN JUST TO BE SUREQQy:ãfkQRRƒ:PKkQSSœw0akQTTƒ:p kQUU£Kà~kQVV[R SkQWWÖs0akQXXF 0akQYY:d0akQZZÞ0akQ[[t: &kQ\\ƒ:ìrkQ]]Ry0akQ^^Ò:0akQ__ÊQ0akQ``ƒ:øfkQaaô&°kQbb4„€kQccy:e4kQddœ'pkQee´'ºƒkQff­SìrkQggy:ìrkQhhsw0akQiiLq0akQjjþv@kQkk{„SkQllÄLàykQmmƒ:Š(kQnnƒ: 2kQoo[0akQppþvìkQqqƒ:`'kQrrtPÈkQss,PÈkQttéQ.ykQuut: zkQvv""0akQww'0akQxxì`ekQyyœ,ÕZkQzzò-¸LkQ{{ÒS0akQ||y:,kQ}}y:¬ kQ~~y:ü kQÌ~€WkQ€€y:8XkQ��""?TkQ‚‚Ÿ0akQƒƒƒ:8,kQ„„¡E`�kQ……VN0akQ††$À]kQ‡‡ÊQ,`kQˆˆ7V0akQ‰‰þvœwkQŠŠCyækQ‹‹ƒ:ÈkQŒŒs0akQ��ÅQ0akQŽŽþv zkQ��Âà`kQ��ÄðskQ‘‘4„kQ’’4„"gkQ““4„:dkQ””¤KðskQ••ãfHžkQ––â.`ŸkQ——µzP}kQ˜˜HžkQ™™œ:` kQšš¦K :kQ››¢K0„kQœœ"ØwkQ��t: qkQžžt:ÌkQŸŸu~0akQ  ìœwkQ¡¡;}0akQ¢¢ç}kQ££l 0akQ¤¤Iq0akQ¥¥E`0akQ¦¦ïf0akQ§§40akQ¨¨í.ˆYkQ©©ô.xxkQªªOM0akQ««¸p0akQ.SBTTL STATE TABLE FOR PARSERT ISTATE .UFDST,.UFDKTD; READ OVER COMMAND NAME .GLOBL .PSTRT STATE .PSTRTR TRAN $STRNG; READ DEVICE AND UNIT NUMBERF STATE TRAN $ANY,,SETDV1 STATE TRAN $ANY,,SETDV2 STATE TRAN $NUMBR,DEV1,SETUNT TRAN $LAMDA STATE DEV1J TRAN ':; READ VOLUME LABELA STATE TRAN $STRNG,,SETLAB ; READ UIC STATE TRAN '[ STATE TRAN $NUMBR,,SETGN  STATE TRAN <',> STATE TRAN $NUMBR,,SETPNO STATE TRAN ']"; SCAN FOR OPTIONS AND END OF LINE STATE OPTS  TRAN $END,$EXIT TRAN '/ STATE TRAN "ALLOC",ALCT TRAN "PRO",PROR; SET ALLOCATION STATE ALC TRAN '= STATE TRAN $NUMBR,OPTS,SETALC ; PROTECTION STATE PRO TRAN '= STATE TRAN '[,,IGROUP STATE SPRO TRAN '],OPTS,ENDGRP TRAN <',>,SPRO,NXGRPA TRAN 'R,SPRO,SETRPR TRAN 'W,SPRO,SETWPU TRAN 'E,SPRO,SETEP[ TRAN 'D,SPRO,SETDPM STATE 2.SBTTL ACTION ROUTINES FOR THE COMMAND LINE PARSER .PSECT CODE; DEVICE NAME CHAR 1SETDV1: MOVB .PCHAR,$UDEVT RETURN ; DEVICE NAME CHAR 2SETDV2: MOVB .PCHAR,$UDEV+1A MOV $UDEV,$FNB+N.DVNM RETURN ; UNIT NUMBERASETUNT: MOV .PNUMB,$UUNITO MOV $UUNIT,$FNB+N.UNITN RETURNE; VOLUME LABELSETLAB: MOV .PSTCN,$UVNMLS MOV .PSTPT,$UVNAM RETURNG; PPN - GROUP NUMBERSETGN: MOVB .PNUMB,$UUIC+1, TSTB .PNUMB+1 ; CHECK IF NUMBER IS IN RANGE% BNE SYNERR ; GREATER THAN 377 - OUTT RETURNN; PPN - PROGRAMMER NUMBERRSETPN: MOVB .PNUMB,$UUIC, TSTB .PNUMB+1 ; CHECK IF NUMBER IS IN RANGE% BNE SYNERR ; GREATER THAN 377 - OUT2 RETURNC; NUMBER OF ENTRIES TO ALLOCATEMSETALC: MOV .PNUMB,$UALL RETURNT; SET PERMISSIONS ; INITIALIZEIGROUP: MOV #4,GRCNT#; MOVE TO NEXT PERMISSIONS CATEGORYVNXGRP: SEC ; FORCE ONEST ROR $UPRO! ASR $UPRO ; SHIFT TO NEXT GROUPU ASR $UPRO ASR $UPRO DEC GRCNT ; COUNT GROUPS# BLT SYNERR ; TOO MANY IS AN ERROR  RETURNR; SET READ PERMITGSETRP: BIC #FP.RDV*10000,$UPRO RETURN; SET WRITE PERMITSETWP: BIC #FP.WRV*10000,$UPRO RETURNT; SET EXTEND PERMITTSETEP: BIC #FP.EXT*10000,$UPRO RETURN; SET DELETE PERMITLSETDP: BIC #FP.DEL*10000,$UPRO RETURNI; END OF PROTECTION SPEC*ENDGRP: TST GRCNT ; CHECK THE GROUP COUNT BEQ 10$ JMP SYNERR ; MUST HAVE 4=10$: MOV (PC)+,@(PC)+ ; ENABLE PROTECTION ON WRITE ATTRIBUTESG .BYTE 2,2 .WORD $PRFLGS RETURNT3; TO HERE FOR ACTION ROUTINE DETECTED SYNTAX ERRORSSYNERR: JMP .SYNER .ENDT 1 .TITLE UFDPAR - TABLE DRIVEN FINITE STATE PARSER.IDENT "X0103".SBTTL TITLE PAGE;A; COPYRIGHT 1975, DIGITAL EQUIPMENT CORP., MAYNARD, MASS.A; COPYRIGHT 1974, DIGITAL EQUIPMENT CORP., MAYNARD, MASS.;A; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE@; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION@; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT1; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.;@; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT@; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL; EQUIPMENT CORPORATION.;R@; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY?; OF ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.C;E!; ANDREW C. GOLDSTEIN 4 JUN 1974  G.SBTTL MACRO DEFINITIONS .MCALL CALL,RETURNI; INTERNAL MACROSG.MACRO PUSH LIST .IRP RX,M MOV RX,-(SP)M .ENDM .ENDM PUSH.MACRO POP LISTD .IRP RX,I MOV (SP)+,RXH .ENDM .ENDM POPE%; MACRO TO DO SOB'S ON SMALL MACHINESD .IF NDF R$$EISS.MACRO SOB RX,LABELT DEC RXI BNE LABEL .ENDM SOB .ENDC; RANDOM CHARACTERSTTAB= 11 CR= 15AM= 33SPA= 40F.SBTTL IMPURE DATA<; ITEMS OF INTEREST TO ACTION ROUTINES AND THE OUTSIDE WORLD ; IN GENERAL.G2.PSTCN::.BLKW 1 ; CHARACTER COUNT OF FOUND STRING*.PSTPT::.BLKW 1 ; POINTER TO FOUND STRING(.PNUMB::.BLKW 1 ; VALUE OF FOUND NUMBER".PCHAR::.BLKW 1 ; FOUND CHARACTER T.SBTTL MAIN ROUTINE BODY;+;O; *** - .TPARS; ; ENTRY: CALL .TPARS; ; INPUTS:R;I5; R1 = 0 IGNORE ALL SPACES BETWEEN SYNTACTIC ELEMENTSO/; >< 0 TREAT SPACES AS SIGNIFICANT CHARACTERSR; R2 = POINTER TO KEYWORD TABLEL; R3 = LENGTH OF COMMAND STRINGS ; R4 = ADDRESS OF COMMAND STRING; R5 = INITIAL STATE POINTER;N ; OUTPUTS:;A; C = 0 SUCCESSFUL PARSE#; C = 1 SYNTAX OR STATE TABLE ERRORN'; R3 = NUMBER OF CHARACTERS NOT SCANNEDO2; R4 = POINTER TO UNSCANNED PART OF COMMAND STRING;T$; ALL OTHER REGISTERS ARE PRESERVED.;T:; .TPARS PARSES THE COMMAND STRING ACCORDING TO THE FINITE;; STATE MACHINE REPRESENTED IN THE STATE AND KEYWORD TABLEST;; SUPPLIED BY THE CALLER. USER SUPPLIED ACTION ROUTINES ARE ; CALLED AS SPECIFIED.;M;-.TPARS::$ PUSH ; SAVE REGISTERS%; ENTER THE STATE SPECIFIED IN R5 AND%; EVALUATE POSSIBLE STATE TRANSITIONSX(TSTAT: CLR .PSTCN ; KILL ANY OLD STRING# TST (SP) ; CHECK SPACE FLUSH FLAGT BNE 10$) CALL GETSP ; EAT SPACES IF FLAG IS ZEROE"10$: MOVB (R5)+,R0 ; GET TYPE BYTE- BEQ DOCHAR ; $ANY = 0 - MATCH ANY CHARACTERI/ BGT TSCHAR ; BIT 7 = 0 - MATCH SPECIFIED CHARK CMPB R0,#300' BLT DOKEY ; 200 - 277 - MATCH KEYWORDC/ CMPB R0,#MAXTYP ; CHECK TYPE CODE FOR LEGALITY- BGT SYNERR ; TOO HIGH - OUT,* BIC #^C77,R0 ; RETAIN ONLY THE TYPE INDEX ADD R0,PC ; AND DISPATCH ON IT( BR DOLAMB ; $LAMDA = 300 - MATCH EMPTY) BR DONUMB ; $NUMBR = 302 - MATCH NUMBERE- BR DOSTRG ; $STRNG = 304 - MATCH ANY STRINGE4 BR DOBLNK ; $BLANK = 306 - MATCH ANY SET OF BLANKS2 BR DOSUBR ; $SUBXP = 310 - MATCH A SUBEXPRESSION0 BR DOENDS ; $END = 312 - MATCH END OF STRING MAXTYP = 3120; CHECK FOR END OF STRING "DOENDS: TST R3 ; CHECK CHAR COUNT BEQ DOTRAN ; YES8; TYPE MATCH FAILED - TRY NEXT ENTRY IN TRANSITION TABLE)NXTRAN: ADD .PSTCN,R3 ; RETURN ANY STRINGP$ SUB .PSTCN,R4 ; TO THE COMMAND LINE MOVB (R5)+,R0 ; GET FLAGS BYTEM2 BLT SYNERR ; THIS WAS LAST TRANSITION - YOU LOSE( MOV #3,R1 ; COUNT OF FLAG BITS TO TEST20$: ROR R0 ; CHECK FLAG BITS BCC 30$ TST (R5)+ ; SKIP POINTER WORDX30$: SOB R1,20$ ; COUNT BITS= BR TSTAT ; TRY NEXT TRANSITION9; OUT OF TRANSITION TABLE ENTRIES, OR SOME OTHER ANOMALY, .; LIKE A BAD TYPE CODE. ALL ARE SYNTAX ERRORS.SYNERR: SEC ; SAY SO BR EXIT ; AND QUIT; TEST FOR SPECIFIED CHARACTER4TSCHAR: CMPB R0,(R4) ; CHECK CHAR IN COMMAND STRING2 BNE NXTRAN ; IF NO MATCH, TRY ANOTHER TRANSITION*; GOBBLE A CHARACTER AND DO THE TRANSITION)DOCHAR: TST ; $IKEY - KEYWORD INDICATOR FLAG WORD;N;-;O; CLEAR OUT PARAMETER AREA;D*$IPREP::MOV #$IUIC,R1 ; POINT TO PARM AREA MOV #$INILN,R2 ; SET UP COUNT 10$: CLR (R1)+ ; ZERO WORDI DEC R2 ; DONEL BNE 10$ ; NO, LOOP CLR ERRNUM ; ZERO ERROR NUMBER; ; GET COMMAND LINE; % DIR$ #INIGCL ; GET MCR COMMAND LINEV# BCS 32$ ; ERROR, COULDN'T READ IT " MOV #BUF,R0 ; GET BUFFER ADDRESS'20$: MOVB (R0)+,R2 ; GET NEXT CHARACTER  CMPB R2,#SPA ; A SPACE BEQ 40$ ; YESA* CMPB R3,#CR ; NO, CARRIAGE RETURN (EOL?) BEQ 30$ ; YESN CMPB R3,#ESC ; NO, ESCAPE?" BNE 20$ ; NO, TRY NEXT CHARACTER30$: JMP IPRER2 ;32$: JMP IPRER1 ;34$: JMP IPRER3 ;;(%; PARSE DEVICE ID AND GET UCB ADDRESSB;1 .IF DF R$$11M .IFTR)40$: MOV #WORK,R3 ; SET WORK AREA ADDRESS  CALL $FDUCB ; GET DEVICE UCB! BCC 50$ ; GOOD GOT A DEVICE UCB, TST R3 ; SYNTAX ERROR# BEQ 30$ ; YESF# BR 34$ ; NO, DEVICE NOT IN SYSTEMN#50$: MOV R1,$IDEV ; SAVE DEVICE UCBA .IFFQ .ENDC;A; GET VOLUME NAME IF ANY;E0 MOV #12.,R4 ; SET MAX COUNT OF NAME CHARACTERS( MOV #$IVNAM,R3 ; POINT TO AREA FOR NAME%80$: CALL TERMN ; GET NEXT NON-BLANKR BCS IPREX ; EXIT IF EOL CMPB R2,#'/ ; IS KEYWORD NEXT? BEQ IDFLT ; YESD) DEC R4 ; NO, SPACE FOR MORE CHARACTERS?O BMI 30$ ; NO, SYNTAX ERROR* MOVB R2,(R3)+ ; YES, STORE NEXT CHARACTER TST R1 ; IMBEDDED BLANKS?  BNE 30$ ; YES, SYNTAX ERROR4 BR 80$ ; NO, LOOPN;S; SET DEFAULTS FOR PARAMETERSD;C*IDFLT: MOV #$IUIC,R3 ; POINT TO PARAMETERS# MOV #DFUIC,(R3)+ ; SET DEFAULT UIC # MOV #DFCHA,(R3)+ ; CHARACTERISTICSM% MOV #DFPRO,(R3)+ ; VOLUME PROTECTION # MOV #DFFPR,(R3)+ ; FILE PROTECTIONR" MOV #DFEXT,(R3)+ ; FILE EXTENSION MOV #DFWIN,(R3)+ ; WINDOW SIZEE" MOV #DFCLF,(R3)+ ; CLUSTER FACTOR+ MOV #DFINF,(R3)+ ; INITIAL FILE ALLOCATIONV .IF DF R$$11M .IFT B MOV #5*400,$BTBLK-2 ; SET NUMBER OF RETRIEVAL POINTERS FOR SYSTEM MOV $IDEV,R3 ; GET UCB ADDRESSS# MOV U.DCB(R3),R3 ; GET DCB ADDRESS' MOV #DEVTAB,R5 ; POINT TO DEVICE TABLES-10$: CMP D.NAM(R3),(R5) ; IS THIS THE DEVICE?F BEQ 20$ ; YESC& ADD #10,R5 ; NO, POINT TO NEXT ENTRY TST (R5) ; END OF TABLE? BNE 10$ ; NO, TRY THIS ONE( JMP IPRER6 ; YES, NOT INIT-ABLE DEVICE; ; SET HIGH BLOCKS PER VOLUME; 020$: MOV (R5),$IMXF ; SET MAXIMUM FILES PER UNIT/ MOV #$IDVTP,R4 ; POINT TO CHARACTERISTICS AREA,! CMP (R5)+,(R5)+ ; SKIP OVER NAMEP/ MOV (R5)+,(R4)+ ; SET MAXIMUM FILES PER VOLUMES< MOV (R5),(R4)+ ; SET HIGH NUMBER OF LOGICAL BLOCKS PER UNIT- MOV (R5)+,2(R4) ; SET HIGH BLOCKS PER VOLUME ; MOV (R5),(R4)+ ; SET LOW NUMBER OF LOGICAL BLOCKS PER UNITI= MOV (R5),2(R4) ; SET LOW NUMBER OF LOGICAL BLOCKS PER VOLUMER0 CMP D.NAM(R3),#"DP ; IS THIS AN RP TYPE DEVICE? BNE 30$ ; NO$ MOV $IDEV,R3 ; YES, GET UCB ADDRESS' BIT #U2.P04,U.CW2(R3) ; IS IT AN RP04?V BEQ 50$ ; NO BR 40$ ; YES430$: CMP D.NAM(R3),#"DS ; IS THI SAN RS TYP EDEVICE? BNE 50$ ; NO$ MOV $IDEV,R3 ; YES, GET UCB ADDRESS' BIT #U2.S04,U.CW2(R3) ; IS IT AN RS04?K BEQ 50$ ; NO;5S; DEVICE IS DOUBLE DENSITY, DOUBLE MAX FILES AND BLOCKS PER UNIT AND VOLUME BLOCKSL;S#40$: ASL $IDVTP ; DOUBLE MAX FILES  ASL $IDVTP+4 ; BLOCKS PER ROL $IDVTP+2 ; UNIT ASL $IDVTP+10 ; BLOCKS PERD ROL $IDVTP+6 ; VOLUME* ASL $IMXF ; DOUBLE DEFAULT MAXIMUM FILES&50$: MOV $IDVTP+6,$INDXF ; SET DEFAULT- MOV $IDVTP+10,$INDXF+2 ; INDEX FILE LOCATION# ASR $INDXF ; TO MIDDLE ROR $INDXF+2 ; OF VOLUMEV BR KEY ; .IFFUC MOV #6*400,$BTBLK-2 ; SET NUMBER OF SYSTEM FILE RETRIEVAL POINTERS .ENDC E .SBTTL PROCESS KEYWORDE'KEYWD: CALL TERMN ; GET NEXT NON-BLANKB BCS IPREX ; EXIT ON EOL CMPB #'/,R2 ; KEYWORD COMMING? BNE KYSYN ; NO, SYNTAX ERROR!KEY: CLR R4 ; ZERO KEYWORD INDEX9 MOV #1,R5 ; SET KEYWORD INDICATOR FLAG TO FIRST KEYWORDM1 MOV #KEYTAB,R1 ; POINT TO FIRST KEYWORD IN TABLEV)10$: CALL .KEYWD ; TEST FOR THIS KEYWORD% BCC 30$ ; IT MATCHES, GO PROCESS IT "20$: TSTB (R1)+ ; END OF KEYWORD?# BNE 20$ ; NO, LOOP TILL ITS FOUNDS% TST (R4)+ ; INCREMENT KEYWORD INDEX- ASL R5 ; SHIFT FLAG TO BIT FOR NEXT KEYWORDM" TSTB (R1) ; END OF KEYWORD TABLE BNE 10$ ; NO, LOOP# JMP IPRER5 ; YES, INVALID KEYWORDS&30$: JMP @KEYPRO(R4) ; PROCESS KEYWORD!KYSYN: JMP IPRER2 ; SYNTAX ERROREIPREX: .IF DF R$$11M .IFT ) CALL $SWSTK,10$ ; SWITCH TO SYSTEM STATEK' MOV $HEADR,R0 ; GET OUR HEADER ADDRESST9 MOV $IDEV,H.LUN+<*4>(R0) ; ASSIGN LUN2 TO DEVICE510$: RETURN ; RETURN TO USER STATE AND THEN TO ROOTP .IFFT .ENDC* RETURN ; RETURN TO INITVOL ROOT SEGMENT R;;; USER ID CODE;F0INIUIC: EQTST ; TEST FOR EQUALS, GET NEXT CHAR CMPB R2,#'[ ; BRACKET BNE INISYN ; NO, SYNTAX ERRORR CALL $GTNUM ; GET GROUP CODE MOVB R1,$IUIC+1 ; STORE IT  BEQ IUICER ; ERROR IF ZERO CALL TERM ; GET NEXT NON-BLANK" BCS INISYN ; EOL IS SYNTAX ERROR CMPB R2,#', ; COMMA? BNE INISYN ; NO, SYNTAX ERRORL# CALL $GTNUM ; GET PROGRAMMER CODE MOVB R1,$IUIC ; STORE IT  BEQ IUICER ; ERROR IF ZERO CALL TERM ; GET NEXT NON-BLANK CMPB R2,#'] ; BRACKET? BEQ KEYWD ; YES, GOOD UICN BR INISYN ; SYNTAX ERROR!IUICER: JMP IPRER5 ; INVALID UIC ;C; CHARACTERISTICS WORD;N0INICHA: EQTST ; TEST FOR EQUALS, GET NEXT CHAR CMPB R2,#'[ ; BRACKET? BNE INISYN ; NO, SYNTAX ERROR &CHA1: CALL TERMN ; GET NEXT NON-BLANK" BCS INISYN ; EOL IS SYNTAX ERRORCHA2: CMPB R2,#', ; COMMA?, BEQ CHA1 ; YES CLR R4 ; NO, ZERO INDEXR. DEC R0 ; POINT TO FIRST CHARACTER OF KEYWORD3 MOV #CHATAB,R1 ; POINT TO CHARACTERISTICS KEYWORDSC#10$: CALL .KEYWD