DOSRP<pH,y#|(#|,3|#|$N8 <CEQNTB,yC6Nh#LBN| yL23#H p/32<0<CE44Q$B9g9AvJgg`1$ _ H,yNv"yLNbLC*N @ hpNudos.librarygraphics.libraryڸвؼҖܚԜ, R8 (PxDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSq`88qqc81`180Gq#@#q `8D @88`q8@8pp88q@q88qq8@8qqc8A1@1 8 GpA#@#0 q 8@@p`q9H88 8@s@q88q@q@8@8pp【c1΀@18G#@#@ @8P @p88"8 qpp@q 9c@3x@G' p8 @@8q88qp18 a qp@$c!@ G8`@@ 8 p@8 q  @@q 8p@@( q B pc 8@ G8q@@ 80`q@8 qp@q 81$@q88 Pppp8@a88 q@8<0pq 8qxp88q88qq qq88 `0pp88qǀ88qq@80pq x2I2 @ y@ I@ @0 e e e e y 2 L A L 2y  I e e e I    y b  b y    y b  d H P  y 2 \ b R 2y e e e  e e e   $((( $  @@@@@@@@@p?88`@`~0?`0?8@@ ~@ ~?p?@@~~(@?@x@~$@ (@@p88(@Ppp?8@?A@ ~@~?@?@|>@>?H@x<@<~8@p?8@8p@`0>@0?@@ |H ~(@ P@  "D@ ??~ ~> |@<8!:x8p@p0>`@ |9@ @@ ?@@!~P |@8@ x|@@ p?!@? `~!@~ @p@  @$ @ 0?@@0p~@p@?~88xx?~??~?~?~ ~`@  @!LRRL!&@)@)@&@!LRRL!!LRRL!!LRRL!&@)@)@&@!LRRL!x2JJ2xPP@P@P@P@P@P@P@P@P@?P@?P@??P@???P@??P@??P@??P@??P@~??P@|>> P@x@<<@P@p@88 P@`@0?0@P@@  >P@@@|@@A @@C @@@G`?@@O@_ @@@0@@@??@@~@| @x@@p0@`p@@?@?8 @x @ @ ?> @ |?  ? @! `@@?>@@~@A>|80??`@@@@ ?@`?@?@??@@ @@@@?@ ??? @??   ??@ ???~> |@<x8p0` ?@ @ @ @  @ @@@ @ @ ?@ 8@ x?@ @@??@@@@3@s?@0@p@@8@@@@@@@?  "@@ D! Oa DOI)L~S P*U$$$$!) P* RT ISʒU2I(QLeSʔeRT eSL2RdHIG*9SeR ePLRS)#)P R eS!%9$ Rd%8SeR ISȡE")ILeSʜeSʞT P(E,)%$$!) P* P*T OL&dDOc)O~S2 !C@ D <@P*(%I(QRDP$IA Sʔ$I(JTTeI)I%LESR&HDU)T%)DRLPR$@U)T)BRA SR$I JU)T)BRI Sʜ$)@NTTI"I%LP*))@JRDP$ILOc"r&d&@19O"d3 B A B A @{|8D DADA'?)O|d$'"c)?"r'(@ P*D**H@($&eO*eLʙE )JJ%3)$ILJe$I (*(JR QB Je( *(RR$ QLJIRJ*(RR$ QO*eTʒJ$R$ Q@eTJHR) ?)"fS 2'"c)Lr&d DAaAD!x?D  @?) '@$%@eHHH! )O*e(S(L(LJI$$M(H$eB)&I @'LJIHHeD)O*eSSʕL$%@eRJP*! ?)L2Od@D! @x?y?@A@@ !'0| '"| ay (I*THT T)&JTJTPU2)T*TĦPLҏ(PI"T*T(Ld)*TĤ!$&S)&JJTPE? !EA!"@@I 'yHȟ HHJ$$"JRU$(*II*I*2̤PE$$JRd*I)JP))JR*BJ)JH)JRd*bJ)JSʓ*II*I*RJ$PRJHJ$$)"JRQJ$PL2'yȜ2 șB!!BA! @ x=>x?x8AE3"r&2J~RI$%L)JU)L$J*T(LRʢ*E$e@RJ*'LR *)L$*T$%L)J*T3"r&2~SABBx=>? A ! A@'O|L?"y ȞDHI"JP*@I@$%$*I*ISʙA$%O)2<ʔeSBI)LJLJU1)ePD)BA)JU ($ʔeSI$)LJLJU1)$*I*ISʙRH)%O)2<HI"JP*T(I@$%'OfS '?"y ȞDd A @ A@>?@@@?@@@@A@C @G`?@O_0??0p??8 x   ?  ?  ? @!`@@?@@A?  "@@ D! Oa DOI)L~S P*U$$$$!) P* RT ISʒU2I(QLeSʔeRTeSL2RdHIG*9SeRJePLRS)#)P R*eS!%9$ Rd%8SeRISȡE")ILeSʜeSʞTP(E,)%$$!) P* P*T)OL&dDOc)O~S2D !C@ D <@P*(%I(QRDP$IA Sʔ$I(JTTeI)I%LESR&HDU)T%)DRLPR$@U)T)BRA &TSR$I JU)T)BRI )TSʜ$)@NTTI"I%L)TP*))@JRDP$IL&SOc"r&d&@19O"d3 B A B A @{|!LRRL!?D  @?) '@$%@eHHH! )O*e(S(L(LJI$$M(H!$eB)&I @LLJIHHeDRO*eSSʕLR%@eRJP*! L?)L2Od@!D! @x?!LRRL!8>? !EA!"@@I 'yHȟ HHJ$$"JRU$(*II*I*2̤PE$$JRd*I)JP))JR*BJ)J&TH)JRd*bJ)J)TSʓ*II*I*RJ$P)TRJHJ$$)"JRQJ$P&SL2'yȜ2 șB!!BA! @ x=>x?!LRRL!>? A ! A@'O|L?"y ȞDHI"JP*@I@$%$*I*ISʙA$%O)2<xʔeSBI)LJLJU1)ePD)BA)JU ($2ʔeSI$)LJLJU1)$J*I*ISʙRH)%O)2<JHI"JP*T(I@$%2'OfS '?"y ȞDd A @ A@x>?3313033f0330367p03s17303sf6c36303f03300   00@@P P ` ` p p " D/?Oo DOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOSDOS'zWvP…@8|"e@t\ب&3aD%$$`}``@`@`pÀ `π`@,hhp`d`X0o|n   b A )hDAʨK@F 2 =( R2 rr% t+Ȑ HЁ  fB) P+AB@ SA.X$ 8*@ +Z\ k@0 @ Ed*GF% %%Pa A! C@CpB0ѯ!!OE%"O+ (7OD6`"4`\^}9Wr"8FhM:` B@8S03$Dh%V({   @@DFD";WpX`mr A2(6,(p7082P2"3GCr_@R"h4B@׊HV0=!A"@A A P(UP"B`jNnU0`d@ÀՀ̀POH03 " ` W q'P2 nI\ ãC`'w> J`8 A dBSUS;;x !ӀH@"  hK@? ((ltF ݀eA 7!L`=(r @`)D(@0 94 @ X PqЀ?$J@#@ C Ph)|mM%x0 9Vx@* |J T~ <0(A@x ,=!PW*(pg`0, ^DDb`4ho@4hX`l  X A 9@B'BZE~$zdT>TWUQTTV ,Q" kCXMHNVG(@CZPD@(8p2!@W@ۜ,l^nFv4t `pbDB$ =9ƀy @H/Pd38Ar% D*D2P3QF`">g@H@&h)©=Am!Kw@8@;H $@4` ?@,@< 4 ĭ1JtWP/*}(`f (`k (0;02P (   t  4GA`P, (0D (`g(lO(0200@   0  pZ @ @x`t.h }` {j ZB @NN w p ;`80d 4{S!3@8 >p `0`@f`@ rHp `@ jHh HP X YD@&`  X'M@! p  @&  @`e]@@ C]P@!V0`8 `@-  H@+`p 0h @!C@ T0 @@XI+^Q!-@F@@  $8 H@,  (CZ@/` pP?X@)  BZ@( ` pI O oV ,Q" kCXMHNVG(@CZPD@(8p2!@W@ۜ,l^nFv4t `pbDB$ =9ƀy @H/Pd38Ar% D*D2P3QF`">g@H@&h)©=Am!Kw@8@;H $@4` ?@,@< 4 ĭ1JtWP/dɊ+H$m fane2rvfabeLrBDad6DrfaNQQ`8rx`ra@ m gra062<` 2< BTB6aSJ QmNu DNuSABB3f DQNu804@P1Ia]@0`,@(Š@qL$"!Y $\ x4P1!GRAp x`0  y p hy pT2 (\ ?jB !Q`Ѐ`-0q000`pp`O -@p23 L 01 (A 8 :\ f  AAa@`20n0 P:v P  AN, Hra@ `(@0h0 P88 p (PVȠ'(l+ "M (a^ B  ւR K`F  6 BBDĂL .BaP3阩 8x( >DAb?aI8 _NwbB `6@604!f```L9 ) 8tH(  "% p pX$ `ð@<@ڭ`*0* 1@(!$0  02H0Df h `h\ x >  `F(h4AH6 bZ V 87 B TCPPCL "@D)t!m$0(T 06`.D|@4A tB$y 8 p y8ru _5 ` | { 8 p y,|>8@tY;8r@ (eC7B6Ρ%d`f2&b6fN R3JPYػ[;Y 8N@A#0A"`6HL m0C@b0Df@|@ R~ >a;EA"2Od`l`HhbnALMHAЁ X$ 0 >J0DsC$r@ CY!#, C6!%(30nH-,ʚSˀ0;j0 4vv#/hbjbj 0#p#7s1%rwp$"DhDP  &DCRN*@<U8|>pZ0 p (.HV$`3I0 $p iy!.Kp& ɠ H  S\ !IEBBBAB OL['TqAA$0 r @)Pm)1APkv sB1" -0D&0AH(   #a€`ø`7?pQY'02!|Y0>B#ިA4@:0`Cf#Ÿ`#`S("LH"#dB+"" p *yAe Oe MLL蠄+(`Nbge RJ'[@AFR!HHpAPD;C  l  0Õt  ('( 0!'A4(0`  B"0 "Pz C!s{ !ȁȢ& x@Q0C @`BtP](€(@(݀(#0 ;Ph1( P  R<@PE(-h.bK@BFA%A>d\=06PhA`I0L`MFD), vdKH( Ș8x  ( A$!ZDh1R臐@q  <;ve0N(hОРڤ\!58215X4"`CBAvqHXf b ; i7'?DK JxT(dEx (KȠJwD0@E @<@ Ù```b*$p yAru 7UNNN4rb62&&P\ @ZIEa`80 Ӄ C8 0('(41BH@$H @?2OPnp( @J}Hx@yQ H8|;gF,8PH*H _Bi~Z!" y;A F.F A:ʸW H8AKA^[_w#оM@A@[aP0VB.AU#((K XWM SXxIV`p@I@@PȥB^B70CPd2pa  -$ am (wvPo/04!V$G >f"43 ]+ mĠlDWaD0%Jvv(yŪ-0^X&ra z@1 uH`)P  ( s@h~RB/遅D]L\ H!p}`仰Z U!$+h6[`P B%AADHEdoOȡ0q pe f 0+gK-AWNU0eΌ"y1"J%8 Sp&&:;5H S^pRFE%3+-;(9Em=l- ˪ T`da!J'@N`H,KT^c4Cg@6.'%Ȣ.\$- ݎA#K,ήWt@b0R` к{@Jfc9O-!r!1=T-L =]Ml e,]- *jg`Ddjab*^@&hP&@Z QKBW/Y PB@dX Σ t(*N`=d`o z$?$`B1j@R@t]C? y`?vL!!rP B`Vj2 ‚l4.b Bh "aRB!Z/` [@Qp!@ _@PP&@ ` $J0kaZf egvb&ee m0Uf*LCj3>1 Ɂaʁ s @#D`m`xHc b$*06p(<88P$ H( ?2a2@@ P@ ΀ @܊  aVbh H$03!#b  >@ؠ @Ar(@p%^X* &@t_D'oLvpP % !N@P`eOQ}81uk#P30IlR ڸZj*{8X812h21T s[1As( !3! E׀Ax!Jh4RJQhhbDX@F~ք92 Ƅ,+#~2 3Qs0 v02`A`b =(0 X`1*hdJ@,>@@ʆ 0.qJ $ H5doBFHА%ۅ e@D  R1҈1_

@|-@" t9J@,|PЭh'@pP(cn+otK  OaOa("D!K?7rfpLAlp12c$P8DDX0`#^B @, TOQ%50A @&X@ B+בw(P>B7Mg Wzw*0 lPs @!rqJ"C() s@@@r K Z !vh!,NB!0W@@ @)Ch(E".~d,!+h^K\T QqA :P5pX0!(a>%%8ăm(`lAɅ1 P>X4! `JL(8+!&BF0H|B-RB)AVu]9W9U0$! !4oă*kHɈx x x 1Uљ 0#_Ʀh0f+l0@ p"$,:-54 /"l J²73(l A#`@D0&o@D,̠i%9@$ <@PB }C@N"H3_%p'K  uAzjWr]PNP2q\P+HI hmT \ ge ˛t<[P <Ґ!`8(;Ng,୧Άfd\#/+*f7!A TXM X?d. %u&e(K(.p C€TA'bv[h rI* >f`PlZ@tFhÈGS  QFT !; @ D (AA,X#0aC l @D`$ҁA! |P 0: @4pg ptJZp(rH!"saD a)ۡ2d")EK >fP2 J"k ` n*U)q0I9.5z\fII!"@ d@ZJ j߄Ι\ʨK@C _dWNUBy( 9??!8@"U"FD#h'1B#H0 y!ځ0ʫK@ڃVK㒎\$|haB&XϠs2$4G0?=AA9AHA=0L,!$ B %RAZ$FLʛp/4BV0`¼p:e H$ِIl%ׄD$B-(\ I ##!U`^#~::aE@Вp@$Jp>N% &!VX?d )s aR5p¤IA"<JQ+\uȂ b+aD 2%+PL+/@0tШ8&_f*~Kr\"h\H!ǢO   jR B`C&Znb\:dT -iE8ީ$2)%2(3;whhs2$J%+ ;HrBWl lp?F <( x  HU!% g't Pa*B@( O0< g7% <@ F` Hܚ-0:ĀUuDʫK3 &BAPJ!( H>8 聺"@(5 RK&%LJ&G@|L,@ g0!r !ZhRP2n $‰ab@y6`BP%haiD  P5LAQG0(x6`I RB3SU ! ӍS%hWHx 8А%dofP$G!٠bfvH;E^DI@B@u`iDCACnl &y>ф8GM@$B'`p867 ` # NL?($Hμ yB?AB:@3r '0B !ז  H{ۂW;)H+P 2fġ)0B C' |L"Fb X<. 'RC$.haNF_fWNU AC 33:K#'C'O9Uhr i@ [(+` Dܚx0ABיAa$  * h`4  J0"X~  @@uA% KD:H\)0^ \(,( &8 !2FD  3ā$eA3 р ( T2T\ sZ6q0YȘaU ^ J d<Ȁ\ANIzp(PQ!"A:0.[^`0 on%_T0 '"   qf% b d " 0c .imq H+א12I$9AA:A,{''{c2ACgk.R0&&ĕ\H*xZ@-( `>QX7"t@H虅 ӱӰڸX#)l)fUP*P&$E,Nl*^BPB:BeSSq*ЯABL`,`,$ MFq/- S+*x5 J +gCJbK#'C'KSg x(+88ʫB.k^D( Jy u"i.€-@* J@,K | `+% a  !+ 0 ( BA8AH 1@4?xA(!@O͠[095WBn DAPA&!#B P ""lB D̠$V5A $bHROȃ* (+ 7|1Xm(%!l4l”$$ uF)"FGPdJ'c 0p]aa\G SbXJnvB-! A `@9~yBO@< N  E: a@qq q%APh!p*@jeRĐeH9.> ysKp P0A@je& j㶌Ґ;A"PWBnKĤ8~?vH# 4! H. iCrȄ( N;rC{cC@qڙںX8:@^@`@݀10@ΐ0)` J(% p8HA/$XB Kٌeć=}KXxRf>c@PS  . ]FN! 8N<Ɛx&(F-HР ΐ<DeD$ _ H>.H%2RZ0Bl coa#@b-`cI`xZP, cQA  ]FCK3ەӕsWkp`LK`G@ @R@ <ZQzW= /($@4Q Z1Y"\8p dD z$2_AHB']0@HlHBX*X\˔\o\`~LQ &`\(@À C$@,Xp8@^@ F$"o6aD/@9I 9 P`G%уeO?pRe pw-R 0W@LjAW &4-'wO6CC3p]}Bta4vpaRN A|a_@2@v P .gKO(EyPXh+`Ar@_@c 2CP1 @)@<o =@Ln忁Nj;` ~t\!.+¦vI;C[SʢJ\OC¦v.'{N6.f6PpT6(t <] $Ȇ͠  J P- $(6Q!i |+Rf@Ƽl5 "*)aB]9W9U@ta  B7`J6Am>8`jtAăX0x!( H@L J@;_ r  S az4PG"U@\$806`8  ?y p0# A30]9W4@wK18JCCc^[T -` -0^ ß(>ں4!jhPPx-:$\] ru6vp!U1urs!w$27qsGxQ<7< 1< '+*) @CH8+P |H#3|}C Yאp2[ BTT@E6 l6{ 6hIX P5( 2 ,P tP^ƒkq eaCMik RJ ]FIQK3h2mbMF#h-@,:AS2$&l(RBU$UR4 D 2  %+Ih @2*D D B@؆L:jkQ$WǁI JS0  Ap`cp08BC6j6%F^A@G$P-%Z[CpB@0=AA6ArPa n>n( LAxRat(mtA$ȼbIp% 38+A6MC_wib{8np: >l w(wP2   @ p`gp8BCPJ yzZ9. y[px (l???$lz?d9mLML-LM M(P!)2N.LtL&\eYR6:61Chu@PĀP`⥁ 29[E`hSCOuCK%W;yʫ=_Q ~ `@VX phV*^ `7 ;ZB|>0_GH p=p z{[F/p ,K JH t~ pKT@( Ĩ#5@BJ^im~ $`%E?UM+d!MeO!` @@G@ ' @ 1R">P19 ) fB`6-P*(t(D{(8;pOkqh!,Jh~l~_lt\!$pa40,P]U@ W+XPsP@,1P 0  &J@98Upep868""P,ƼZCgk2"fPB-IظWxU#z#C` Gh@0V4N 9h  _PG 8{̚}0Q(80!A !A"<AAr@<1@'`0@0+C#TvKDT6V֌.0 x1VL#pQ&`FTpD Rv& `JF,KKC^HVF$RAfB`63i%[ SIBZp<`/$KlMX?t. [H$ o P HA?ԔX@ $ dPih2  "L  Ar$ io@l̠$`仐5t\@̥8[,dX^ȨaINL=@H0L BnNcp:xF6#s@9JKDI n^o D-!0$3.R:u0' wqvsU{ pj;@/pe<4`97..{(rNP)P8@ $y| @ &KH X0pˠ'V刘/ 8 PP @?Rif*`g,@aA@P@#XPy@P@(AxDl̠$5k! `|I`` ~$ a$Hd$ u@`pD` a   f J+J+jN x x/ח~6Qк6Vn> C@&^^ F,KK ^IVBdm/drr2FNNvfrEE @½<ya;1Cs@q< hBQ }JKL ep%&r,(',*# B/'* *V!hiEHPCǗ o  ݏ </hO :&`P` X rxCWP*0T.!M W@"` 40  0 0 2 -dDA^R?ݵ!``?P`/V:_[ gP`3(`Q(qA&* e*VPPL!r "70sQ574Jx@s w F:5M@yjABRB.PI@P(01AR F@<7Df|  H 7B g`J@ƖlV(% J#aly{(P! @8 .K #^AB' nT"ڠdp`d PNfX A@Y֩'ƅaS#B.%zP0 hgnBHccoll![/ ^# Mʛ;: << d84C $!r0G!:0 =DϔBҸt~IB4$]@(ETq` Pl#/5DH( \ fxanh | )P!o2/@7A 8 BOP-@s1Ђz{U /$hl fH8.`a֎W]!5@4?RifKT i>t\TA D   @@A(BBCR ARA @BP  n*4 |zZQR40rrrb*tB* W.X>GP@@J!2IAcHJ* H^p$9J(ѧՠ,G(c+ x@GF*\ =u0p@+` L4(4K>!r"!y)JsfPCnTG`@tZRXZPP i@+( d$iA K @ lj Et-z`?3@R*Pyfy`Ty%`0Hj;@ `"/L؀1 Q$[:1`r P ցmkr]d  6vI"@((P@P@.pLCaW'_v@/( L#q8 We\j02`&Pـ @x_` L +$@@JAd p-HƼ}8 )ƒ L k8A%03P2@N`" m x# D ac`QQy \(.N_`PFp 4`kL+@2 @ J ?L801p B*WLI{  # \ / y  [zp<Pߗ kf0@@@9."2PqtF T G;$h`hX`fX``XC^B@(`i( m8 &; 8 A2h5B  (D`a` d0A6Z@6F/v O KP)[@f#l'@!A V Y ?O4h)G,lp D ӕsWZ<( L 8SF] ˤ`A6p<"02H4"^$\(>>>">(@@@ϤHt L H` Z gŸE@>>#:>>>(@@ϤI L HdZ gDĉ²0c=0@Sl-?J?"s}p '!#CU!$A&B W`Iz\ D}Bd E$vn+j;@qX  6#i} @ [P3 p@؀ 6?J~% "Odn8A Tt#@\`d (Hg#@e C}=8R1J J X@  K0 lG !?RC0@li *KѰp ( $<$h D` t] AFqQ:`ZX CD`eD#hLERIA1jRw56vw&p!Qh h  X10+8sT#'3 @5@z00"Ø!0 W R@@(``s(A@F)P-0- `a y`Ȭ¾\  6R@Rf0!ij;@v (-e tӕs WԚY\`À; dt% 5Ÿ| `p@ *F!hh,@;lgo@P0,Р%B"fa<awu8Rre  ދ#G]'!lpPi9(#PDE`a@j;QBPA/M,ܮ9Np)`8 cDOQ8jaa"$PVD >- !% #O@,HI~6yjPT?}.HǞ Nu~a.J@f~ NuHthG& G|I`HttG& G|I aVgӒ*Ip/,hN _Jj "M aT`rB- |B-@+hE$qMeXB%J&"M"|3|F#M(prH,h CNDLAJg "M a`ӄLNunarrator.deviceserial.deviceHth&h|B|(hB`Htt&h|B|(hBH,h"LN>LAHp+,hNLA"K afLNua>HJ|faf2Jhga"h3|03|n2Bi4Bi63|@>3|V@`"o$$o(a k"hJjg 0*f Jhg8a`2Jhg$H,iHNL,hN&LCBh @g^3Z23Z43Z03Z63Z@3Z>0 @n (f` @n.g @fpr` @fpr` pr `pr (f` @frYWrt` @ frt0(gb0(f`X @ f*pr(gPpr(gFpr(gC / aɤM-Iana,"_<"QgaASFnLGN\NuJgSF`a(Jg8HEG t,h gB/"@Nb _"KaĸB[BSBfBLONuH k>BBeE p:+ZgDag R@ @m`2r h" A"o$"\M&$BJ$O&J2A@t h4HM,VC "QpH*@Htu@$pg&S@H(b: Eg Ef|8H`(/SC`JCffLNLaJNuHP2&]6(mCm"K fSCfJgRKSA`L8 Nua(pg.`*aHJo On!@L!@`aLNuNuNuH@1|PC8/)B)#h/ H,h IN WBhP oNLA!@/"gaLNuH0a0Am$*,@g zR@a߰`A2g p aSAfL#Nu/ ",@g"(g&"Ar"i22)$o"i4`2,>"_Nur`NUtHa$m2AII\"m ao ">gټ?>s?>s>s>g<<<??<&C<f`~ 0 0H@ @g r,hN(`p"heTJYgLCNu 8BC||U@6O9l\` 9]`€%C0BDbԭ99J 8|"J$l"Al ,iH<4<0:<t @ fRBnB`~ (Nr hBB_$B%"A@@' x hx`k x<01P< @(,4B j}QJ&+/  %I@pU`ir@hRx"E4(DHC}Xk_@1Pn(( T'@ BI- D iD"7`" 8 xFBḣbȗ E0A@)`nA P H)@(J@,t#`!4]EPhԍx3( / (В)[CnXF-6@  ( l* hj  F )$._(a/y)9.]9WHq釩 "v.5, A1E 8Z[AS &t6FNNRhӫ hRxucS:!P>JJl $EdE(`졠={Jm<T-N=2"Q"i2#J"JE $p,hA / Np"_pA hHNpLR@gLONuH@pVt@"hJPg"iPa VLNua.H|"hJPfaftp|fNRpU$m2*$* B(B&"h/0)a)Hjm fЂff܃R@a g"/ R@a f "_ !a `"3|\Ip0a ga$I"_#Jj]j#|(h3lD(lP#i3iF3iH3D3j3j #| &jI#K$f f&J#K,(K#L((JJf]L#L0fIp#L4j8j93o:(Dfgg3Df$L%K%II%LH,h INLC`0/agppX@2*f24* J"h/0)a)Hj"md g>vs`BR@a gX"p:XJa >#jjj3jDD&ijRk(h(lP#|#|#|Ff&Gp#K4"K$j4pa G#KE#J"K3o:YIaZL>_NuHp&J22UCfLNuH`"(g(A$,Lg$Bj>g$*@f",HfLNuD`H (g$@ *Lg$@ *@f%I@LNu%IL`a HxG :g0agDEfRlTa2SEf` (h",Lg$AEfRlTa"*@faa!I0|| E"#J E&#J#H,hpNXLGNuOBJINTH IJhRgBCEJhPg 0gy gag 9ga2 9F(ZJXj@LgSLnpa!h`LJhPgaJh4gJhPgahgapLNuH`("(g(A$,Lg$B4*Dg$*^ժN$*N2HӪVHBH%BN$*bժR$*R2HӪZHBH%BR$*V!ժf$*Z!ժj$*fjJHBH%Bf$*jjLHBH%Bj$*@fl",HfZLNuanH8AagߜJ8g&5AFlZm9AZl\l9A\*Ega aLNuH`p2,Zl\gB$,LgJAfBinagpa*"o$\J!J0)Da @ hP /g5|3h3hH`Tg5|2(i3A3AH`6g5|3h3hF`5|2( ij (@3A3AFLNuHA6 P"o$o0*ni:g@0)nj:g6rJafJabJAf(a,g$paZ$"o?):?<aXO4:!JLNuC" (f!I l݃$@"o?):?<aXO `NuH()Ag 0)n3j:nJ@ga*EgBjrrLNuaHHpC$hcNJ@m>g,&Qk:g \If`\0)HGg2۵f!I`&Q0+:H1kD`0(HLNup`"$@"j2&h,hp)H`NL *pHH@HH@'@ op0)>#@$LONu"|`"|H" ,hN:"@JLANuH,hN.LCNuH`S@nBLNu/ pR@Jf$_m9]NuH@"h0)al)tjSB @kLNuH@0/2/,hHHNJLCNuH,h0/2/ oHHNLCNuH@a"h"i8CT,h JNLGNua"fN]Nu"hNu/ "Q "_NuH``0H`J(jg @aDRa:6@a0$fa&^(8Vab,8add<a&,@"_C010CN6NuJf6!Bl)GNu,h<a(hn 8(,@Nu/ ".g$nB2ahB$_Nu(h,L`xpNuNuH@"/ (g "@"i23A$LNuBl(,@&!)D@NuJf& Bl)GNu,h<al(h(,@Nu(h,L`bH$laZJ(jfJgR   fB`$l | BL3NuBl)|& @NupNupNupCtaJ@gpNu! (f 1|@B,`P,L(@I"NP0) @o`$ @g ) :binf l@gJ,fLa(N)G9h)hL,LNuH@J.f4,<>.D"NC0 .@g\I/. /.ae8-_-_ aLLNuPRT:PRT:RAW/J.go(aغ=|@)hL ,@)@@ NupNu`J|faD)hL)GFB BBgVgPHHh a f֮$`aXv(S(-BPYPhL-GB B)N-D@)D@H"h$LP4"[Bga ,g@r0k RJSBfG0k@g`|N Anf|N#A\ ,k48.2+&0+$,h"J e`a7@$7A&L~Nu)gHz egl  g  fa  fRJNu fa4DdpH6E2Fe*/+B+H瀀pa "KN _'_aLNuahH/))9)7GnTJ@lpJAlrFo4GbVRo6"JN`45@$5A&;B;A;B;C;@;C;@;A"JApNLGg&Ja%_$LN]NuNUHa"i2g*/ "m$m a"_"pR@dfT#m @g 3m") LGN]NuaH$(g"B$i2/*$/ &hgkkJAkJ@kipnirnA7@7A%k$,hسHg!IH"i2$i` "i2$i* f aN` jgN"_#_$LO'NuaPH"(gf"A$i2JgZ/*$&h%k$"i2Jof ,hN`$)p ,hHNLNLN o "h"i2B#_$LONuH,h$h$j2CAciB0%HpNLGNuH2/"0/ HHAI@,h"o oN,LCNuHp"(g,"A2/k$4/kipnirn0HH"i2,hNXOLCNuNUHa &i2+/+$$hf+ag 0-aTapr0- 2- gjj5@5A'j$"K,hHNL '_$a@LON]NuaHP$(g$"B&i2gaag 0aaL NuNUHaL0-k @n"h0)aHi, -a(6 - a 4 -a20-,h _NLGN]NuH`Jg kR"paD3C&gJ@o4)<B3@$LN]Nup`pNU/ af"i2Jf 0)$<`0)&:R@"_N]Nuada P1|R/J@k @l29 @m29 fpf(p f `pg fpAg Afp"Nuaa1|Oǝ%a$&a$&a$&aaQEgk@$;P&;PaJj@LNu?R8-se?!TD-?R8-se/"a/"a"a"a. a" a"a`H$&aJ,.$&a>$&ap$&a.Q$&a\L`ajHz6$&++/ aPMXOJjfg$<vaNuHv,p*gg&BCHC $ЂЀЃSE`"p&<ataPL Nu g1@ Nua$Random Number Seed (-32768 to 32767)?<$!OBg/BBg?<Bhza" 1_ \ONuHpJ[jDJjFD e@&HCJCgHCЃJjDLNuHpJ[jDJjFD e&/& d2HCHC҃cS@`iJjDLNu&BCHC?60H@0`pR/g0kX bRЀ`p0kB b<`prBg +g -fFW0k  b /ПЀЁ`J_jDSJNup0k  c_  e b`H|@*<x Cz`:H|@*<@x Cl`(H|@*<;x C^JjD`H|@*<xC^dNS`o 8SfJfL>Nux0eR :fxA`N`NuNu?BEHE $HE4 :NuNuJg:k< f"` H0$vgd C"aC"a`"L `pNuJfa Nu"o jDNu"o")"o Nu/`/Hf Nu//$ҁҁҟтҁ$Nu0R@Gc0CZ 9cSX80S@fRRRNuR! 9bNuH 4$m"Ja RB<  fa@`"a4LpNua6 &g:S/ +g -fRISBaag .g&"_4Nuak afRISB` Cn."_4`a^al Eg Dg #g !g .f"_4/ Kapa .fSBax Eg eg Dg dfaaaFfSRB`a0aFak #g !gRBRIaBEah*_++rNuak +g -fSBNuakafSB`/ KaaB/Ea"L +rNuSBpal hg: ogSRB`H@J@f H@H+rNuaBk0k bЁ`SRB`a&ka40k  T̜c_  e bЁ`ak SBNuJBkSBk  g  g  gRBSINu 0e 9bDNuDNu Ae Zc ae zbDNuDNuH Hk "M]IEa.+;LNuJg g NuH`PI2222EEth,Hr62"2k Bo aSCf"oEa""$Atd4`$QLNu"M\MH`0g "QEaLNuHP0&]aJ"mV@`2U@fL a2"]I`DH0p0ma?&]/ E aaPM*0;L "M`"b0"gS@f"J`xH JQg$i "jH$Z%LNuH0"gFPR$&Bo $+ fa4UZ&J$op$Ka$k$%Bӫ" L NuHP"jRa-0gf#@"#@#IBJfB ` &R#K 'IB$$IL NuH@"o * f"Jg"@#j *g"@#j *"Ja,LNuHp\Cr$< @gHvC"gJ‚RƒJfG"fB`2‚RƒJfG`(IPd8`(Sj*lX+"L`%R%IL:NuS@k a\IQH@S@kJgaQNuH`$I0a&:g"i$RR@2U@fLNuH@@r `H@@J@k JAk Ana"mJ@gS@fLNuH@t`H@t`H@t@aVt`"m2U@g"U@g"LNuH``2$)$@2#j4%Ba"JaLNu"M0"QS@e aQNu ae zbNua JgE4G i fL0@8(,HvDpSE4k*H´Dk*2#Bk"C kHa`ЂQ4)ЀYmnЀ` "Yg$HaЩ(NuH00J@kg$JAo4$Q6&mEAm RASCgS@fL `r`r`r/ 0$m@np0UAg UAg"$_aJNuHJ,h"<Ia,hrIaLR NuC&. Jk pNaNNJjC gRC de/NJfJ,CfNuH@ HkapEa2""AWϦ.HLNuH@/ $Ra:g. !nHRBPђJ g faXOLNu$@bc * fNuHp g$Yr2fl"J fGaB"JEa| g,pahr$IYJ"J gE&Z2+ fG6XIa `LBNuN\I]fNuH`$mSAkg"J@kUmp`6UUm.0`*H`$mJ@kڰUl<`H`$mJ@kưUl(ՔaJ@g "mS@fCa&2#]aLNuH**Oz|BC!IaB(PL?E (aLNua"mS@fNuH8<4$]2&]@mBJAg>"KJBg(S@@R@Bm,8` R@SAAn RI&I(J fSDfHL<a0a,JNup`H`2$]0"U4gAn4g f SBfa@`!"aLNuQMa`Hxz&i$m`Hxz&iSK0Qo:$mSJ0g2gS@gSAf S@f$Ia&jYni0+j4D@1@a^*"lVTIf0)EZ0+gS@f)E@L#NuHnp2<ap2<aLvNuE"/ $A"* fa"*g"J$AaI*i"gaa0Ѓ:HEЅjAh`"Ѐg&fgdAh ja'X` p`4AAoRQHABAL>NuH"H@4HA6BCXY@gAg@A@i?prxz|JfJgh`/܇ۄ>/ ܇ۄHEЅ*HFBFBEHE҆хgG h`*ҁg.fg"фgG hja%`,rp`&<GGoVWHGBG|QPOLNuHx(g&gHA0/2<Jg4pteBAbgSBkփ`gfgX`"BBeRBA0H@60gR68[\BBCDDi$Ai Co"RSHCBCLNua%`ja$`p`H?.,g*(g HB0/v JfJgfpr$<@HzbeJeFBC`(Aga^_FGGi"CF^FHFBFLNua#`ja#`rp`HJjJjBCfbg D`D LNuH3prt|~ +g -f 0e0 9b* c fR`a҆|цgS` .fg/t +g( -g Eg Df6 +g -f 0e 9b  Ԇ`gD՗SJ$Dv$(jD|*a"a"<=L[av":(a" a" ar":aRBJHBBBЂNu?"o "ҁ Xe JjprNu"H$,.$<>R&// aLڜ|z,.$a"$c*Nƫg>?UUUUUT?"o /BB"0c$"@"k&2k:SC"KH,hNLAa_L NuHP(,@6,N4aof^ dX ff`Na_`ng f , gZp `L fFg PAAoNAtAp gp aQ`*Rl>RA gA;ߎjf a(Rl>raNAaFL _@NuL _@`HAGP (f ,@fG4ga `Bl>BB,LHNuH (hI/,@@a?JfBBe` pa/"m)_@LPNuaB?(8g&j`91A1|aaB/,@)@@0a/J"iSDk / N"_Q ,@f9)_@1_`E?0fgga ,@ENuaBh (g"@"i"a?(f9N`a>CN0(aCL0(a`g @d82NuJ@g9+ah?(1@a/,L,Nuapga_`^", fgN`jFp`BaHz:g>`^a ,ga<x^`fJ gJf gSa&1_` ,@gH,L~|a$ |a@~aL` ,",a(ЬNua;e8Nua]a/ ISEg\Ma6e8.JEg ( . "Ka0, & aZt.8xIlaH*_a."Q`nMBCZ0Hg8 @n7$UGQMa\jE fa;Nuinfo/$"<;|;|+|A`( >.k4 @n4zSAn"RaLN]NuH`$I@pr@aHI AnLNuH S@fLNuH <aXg4 *I <aXg !ICZEr$bSAnC!Ipr,h/AND _JfBi p/N _JkE+J B- |B-@+hE$XB%J!M`vI&\"KL(#k#kSCfEI")JC8#L||E$XB%J!I pEIM&Z'\D'NHXNS@fEh%% "h2<E@2UAn"haLNuHz2`Hz2`Hz3\"h <aW"M <`W !$'*-0369;>ACFIKNPRUWY[^`?Hwbdfgiklnpqrtuvwxyz{{|}}~~~~~~~~~~}}|{{zyxwvutrqpnlkigfdb`^[YWURPNKIFCA>;9630-*'$! ¿audio.deviceALLOCPORTHJgz3@"h"i|3&(`Gt/"[3| #C,iNSBf"c W,hN>$Cp*N _"C <aV"h <aVBEv g "@ <aUBSCf (\g"@H,hNbLAB\J|g.Jhg$H"h,iHNL,hN&LAa]LO@9NuH z,h zNJfLONu zJhPgaV"@ )fBi `)&iDJSg EJjjF(`(3R*0*3@(fU@&iHJfG&S#K"3j.3j,|G0*Sj$$S@n,iN`JNUHaU&i2+/+$$h+Kg 0-aTaT0-2-gjj5@5A'j$;@;AB$<@+Bg - k/r+@g -k/Z+@Jk/NBmf"i.2)Lf&+|?UUU`palP"-a+@a0-2-Jja0-2-J ja&m'_$A"aSLN]NuHH8//a `HH8//aPO/0Haʊ"aX//aPOLNuH,h$- -o "<@a""aBm @f| @Ign|`|2- -at;@ -aXD@;@ -aZ;@ -a>D@;@+m+m0-2-ab;B0-2-aR;B2-J-oB;A;B+m+mBm;|AgnDB;| Bf;|t6-0@|@Cl"a,JFl 0H\@@`0CH@ @SCRB`ڴCfaL@NuH0a80a:H 02|aBD@DD|a:DADE|a2D@DD|a**(02|aDADE|aD@DD|aDADE|aLB2NuHJ-fJ-na.g`$a(g Jmg0`2mmHH"mNLNuH mgBnPmf4-6-8-:-BnDCnE@nAnڸ@mԺAm`мmgVmgr`mgFmgb mf Fg` mf Fg` mf Fg|`t Fgt`l4-6- mgH mgJ mg$`,4-6- mg mg mg`@n$An `$@nAm`@mAm `@mAn`D`DLNutJ@mJAot` JAot`tNu/HaP"-aaL"NuHJmga`AaAmm,h"mfN`/)$N "m#_$LCNuaP <CޒN!|OR0g+L$N g$@` (VH0E8GtBZeaa)a\XJ(^ga7 aa5`Jg*paٺg"@Jig/ paBgaFbTO"WJHg!iHBHB^!IxaB"_!I!QBV/)zRhBa32BhB#J/,h Q"J4|NLa5T <NNCp0$UaNMB|.<a,e,|a,&h-Kpa( Sf|8ap a/. SHga+h`*<~a,`-@a,eNu ("haN aNhg)!G!I-I,.a"n/ /a+O a+L Qf)*IC ,(*CH!I(!I$((VoV(!EVDa#a(` "M$H"<NKB"<. s WN _NLCa4B0(vhg$h1jJjg!R0)g4g.E p*g"B*2I??*/awXOXJS@nXOLNuaxLH@agR|"@1iBJiga!QLNuaxH`pHf"h$)4a` @f0(`A0(aF"@Jig $Q&j2#jpA @f0)`d @f0)`X @f0+$`L @f0+&`@Jig6 @f$j.Er*phS@` @f ` @f"Q )2``QLNuH@@p"(g"Ag")H`0)LJ@NuHPaa (g?<?</avPOL Nu (g&@Jkg 0+at`"(gpb&A"ka\Z!KBga/(lahTO"+H"KauJfBhRBXaorNuHa"@,h QNLCNuH@@"(g"Aig")H` DLNuH0JHg0 (&@f!kH$K *Hg f&J`%IH'iHHBHL NuH`g""hHg"iH`$@#jHH%hH!JLNuHp&h0+a\Cp)2I4)H,hA NzL C )0/ x??rau:f+ 0+a$`OXD'@"@ /H@,hNLSCnPONLNuH@pbatxf "JaZ`O#hH!ILNuH@0, @mV0a\gN0, mH4,mB2,m<6,m6@o2Ao.8) @m&Bm"8)AmCm0, @m @nL0~Nu"JaZ``O*/?<?<atXgO/Hhaa" a Nu?<BB?<BgzaNuH,hN oJ,gJfN.JgN o"h!i8,LCNuH@a"@#hx^!IxLNuH@`Cx"g$AjgC^`"^LNua Bha gNC!IJfb2gA,*O` 2-Jga~ 2 f ff2-fSEQ`4 Afn"m< (wf rCaaZ (wf rCa (wfBmJEgrCaJEfvJ(fa` 2-Jgaa` dxar mfra4v Bm& Bn mf Bm Bn 1I6lvRC/r mfr "JTISI ЁrgRA 0gAr`JRl,f&2DAA Do` mf Do ASDv ,JDgDRFa2- gNu (wgrCa`H@a, lLLH@@C& lNg lNmCxNLNu <N <`a"m0S@npAl ?aFa0 lNglNn2a`0a&`(a"m0o@NHAJAga` ",@gLf"m2lrar`", H~0Kd (gK1EgK"@&i4gKJEg Jf "h&i4~`(JfhgK`J(faaBL~`\"KEHrgfN`>```2URT|`"m<RKSB`| \fƔF` fRF`!&\vx|"h )Qf 0Dn@`faHN```,`d````` gRC`RDRFRK`gRKa g g SKJCg`RF fJCfSK`fJFg RK`RKa< g g g gSK`RF`FJCgRK`pJFggbRFRCRKa @g @g `@0Dn8TCTFTK $fRFRK`0DnRCTFTK`0Dg&XKfa g g` _fSBgSB"KSIrar`JEg m3FfIx"m2"iFl AaJ 2a@2g"ma?SEQ gNu`H``"h )Qg<"KE>rg f IN``````` ` NqffgpLNu#.+-,*$^JEg.0gX@fgR@@ @nHEp0S@f0- @gH"m2@g Ag0H` ah` 2- Agab`")/~ mf~Eaf. gNuf  Jf g@rf f2< f$Cl RA g`hnfJDnbRA fZp%a`R2lr f ffSCn JDnp%atSF 0C @o gRFRCgzp%48aL`pa$aflNo?2,Na2lN`0l>lNoa `JAg gp a SAfaLNuH ,@gaLNuagENu$<(h2(f(hJhg(h`Sg Tg , (@fpNuI ,@CZ)INu!_:a/(:$HNuJBgBB`Dp!_>H{!OB/(>Nu/M(L}BBNu%_>L}/(>BBNua"hJQgDxHzJhmDTaPfDRJgDd$h2$R&J6"hIPlf&66~֊fSAfI$,@f `2$K ) "@fft4(kCf4<1B](p$hRԀaZ-DP!N=hD=|N=|Lx(NafXh r$< (og (agr$< (igr$< (rfBabfaa-D@(NBAf (if faaC"LNua`CNHza$fa~`R (afJfDaBJgNu|~`EBBHBf (ofDNu (igaTaEeDNu"<,~>.Dfha0aDe aDeNu,<aaCeaC"<yNNu"NPNu/ Ea9vM4CZ-I$_7_$Nuptaa`ptBDSEl*("EI*) ,@aJf`1]oBagaQJDNu/ Jj2ETJZg*$R/ JZk"ZJYg&YJj]Ia7BQ`CTa7BQ&_gJja`a,LHzfg`BBHEMxgSDfa8<"_Nu/ EHha8XO$_Nuafa2IA4,O,F4 (rf(h(`B1|a&gA*.g(a,J(fC?| r/~a.a~8&NQK6+aJJ(jf2/ (rg$fR Cf "ka`a SDg` Cf "ka`JjaL`@Ha!L( SDgj ,g`@0 CfXO/`JjXO`PagXO`Fa$H8w f SDg ,gX`0 f*&F"k6+PK Cf"`LaSEf`a6Dg&NQK0+ @fXOa`POSCf(hCr/~af.Jh>faf`?Redo from startagad`?`a\"kaNuH>Bart|g<<` (rf|a4a`d`U<`U`l`&`b`b`\`\`\`]`]`]`c`c`aJ`c`xh`[`^:`Y`Y`a`Y`_:`_J`_`]B````f``l`\`[`[`c`c|`V`\>`\`X`^^`*<`*d`yH`*l`y0`y`y`cH`R`SF`x`O`P@`P`Q`q`x`U`_`x`x`x`c `x`c`wVeee`b`b``2l`x`w` V``&s`b`x`v`mL`h`l`u`ur`r`xD`x`xX`xX`xx`wj`w`- `*`,B`,D`x`x`bt`xD`x\`bh`bd`x`xX`r`s>`w`w`|f`~`}`xX`xP`y@`x8`x0`x4`~@`x `wJ(hg8B(hBhHBJgJfN "ON^JfXOL9 g?`"@Nr`a"H&BYUf!O.&Hr8!SV!J(!J$C!I&" (Ш!@*!M(MKB"H"2 <ETaXl <EaX^C"a!@ga*MadBH?!|t&<C"SBf1|`t`1|a-|\PBnZ1|1|Ct/ ?<!OKaaa\O'HQ1|aa>L`PaH*Nu!|ORCtE~r aaaj (g$@$j$"j$IpR@Jf`"h"i"i+ ;a\M"h )g"@ )4DCD`"i:d!IBYf&N$NpNuH "M-|"` $Ag"* f$NBaWM,G LDNug7:5@F@J=7==B(lB(j <_8NH x"h i. og og#h6.#h22/h2LNu!o POPOHz/_Ns"( g_`_Hp$MGBaYnLNua g81YDJAg0$(Lg*J(hf$Ph1AH1QF1YJ0!I !I!O "BNECaxSJ6<0aP2(Dg(_8 at 6<0aPCaJ"h?)OzaNOHh•+; / z??BhBBhap1@1@arg`fNu.h.KBB(lB(jBhzB"h#h22#h6./(Bza!_"<j6Na a Haga, <HNaCaaaa"han"hah.h.`_/ "W g$@aU\`"_PINuH` .PC03@$R"<JN" :f CH kTI4fpLNu<NJ(jf&J(lg <N`J(hf>Jh4g Jhfavp(rg&(qtffQ`"/ CTJ 1 "_fNQ/ ?qr"@BN f2q "(dgBd "@NJ(kgNuHzNu/ ,x WA8N W!@g a"hN`XONu"h")0)*Bڏ g g g gNu @hg @g`NuH8xDDL $0(g&8LH8,hNLCJg RD Dox1DH "i,!il"Lp`^B(J(fBh"i,!il&Nu @fNu"@R@1@,IA?RA1A.JhgSAfS@f 1|zB(lNup` ),"(g."Ag")H`JVf (f!A`"@ )Vfg#AVNuJkh2)g 9gZ f ƸW_a6g."$(&<|a kJ"g|a*hNtr<<:,x`,hHN`L-JNu/ / ~HGC*!*a()Nu~`~HGRG.hO/(/ / *h*((("h (<<.`~+g~`l:bas.rl:l/bas.rll:bas.dl:l/bas.dl"zdrN ,<?jCh1|,NV&O$O!JF:(SEgrN =B[Sf&Oa HzrN ?< C<*<pNTNpHNNv%@VN$p? <?? <?p?p?Nx Npp?a(Level Four 1988 - ASCII - Coder/Decoder?<'"ON\Op?p? <6? <?p?p?4G*<N@"M\NdN*p?pHN/pHN/pHN/NhN*p?pHN/pHN/pHN/NhN*p?pHN/pHN/pHN/NhN*p?pHN/pHN/pHN/NhN 2p?p?p?aContact Address?<"ON\OzN\\N 8p?p?p?a ?<"ON\OzN\\N 8p?p?p?a Level Four ?<"ON\OzN\\N 8p?p?p?a Plk 124064 C ?<"ON\OzN\\N8p?p?rp?a 6750 Kaiserslautern ?<"ON\OzN\\N8p?p?p?a West-Germany ?<"ON\OzN\\N8p?p?p?a ?<"ON\OzN\\N*p?p?p?aCredits?<"ON\OzN\\Np?p?p?+<;<zN\\N.p?p?p?a Idea while?< "ON\OzN\\N0p?p?p?a reading ASM ?<"ON\OzN\\N0p?p?p?a Concept from ?<"ON\OzN\\N.p?p?p?a all AD's ?< "ON\OzN\\N.p?p?p?a Program by ?< "ON\OzN\\N6p?p?p?a MMS of Level Four?<"ON\OzN\\Np?p?p?+<;<zN\\Np?p2zNpNNN*p ?p ? <,? <?p?*<N N *p ?p ? <,? <?p?*<N N">pH?CNN@&p ?p ? <,?pn?p?*<N NA&p ?p ? <,?pn?p?*<N NBp?p2zNpNC"pJ@nrN ?p J@nrN 2zNNCBCp BQ1|!|/ a Press key !+;< / /<z NP*_NDp?p2zNpNE"pJ@nrN ?p J@nrN 2zNNELCp BQ1|!|/ a1. Decode dec. ASC II+;</ /<zNP*_NF"pJ@nrN ?p J@nrN 2zNNFLCp BQ1|!|/ a2. Decode hex. ASC II+;</ /<zNP*_NG"p J@nrN ?p J@nrN 2zNNGLCp BQ1|!|/ a3. Code in dec. ASC II+;</ /<zNP*_NH"p J@nrN ?p J@nrN 2zNNHLCp BQ1|!|/ a u4. Code in hex. ASC II+;</ /<zNP*_NI"p J@nrN ?p J@nrN 2zNNI>Cp BQ1|!|/ a5. Now: +;</ /<zNP*_NJ+<;<NvCNNJ+<;<NvC$NNJ+<;<NvC*NNL> *V"Bd`f@cp6aG҂фC I&.D (H@C@eTO0 a@ d@J&8k00m@+h z HJcp)S_v>0R T<"u$*CߐP0 (p@ Ap0p qWC'w"e |yVPP"gt 0.>`# @T (aZ.^ " -C5CY^ +X(!W⍗CǚM1ڑ⢄;D"HB@)@sp! Pϻ(WAHAy I3(@ I6͇  lp(11 #dtP6 6&ܣ%K T? <,@@-@P#0Bc, =zz@!q@Ȁ99W/ P<@H pH 88؄TKˁ$4P <)8+OPH*@Jp4 (2p#{V gG:*< %G1`* 03402$0*@ AدZf և@xs&@s`t+|`#  *C(P )+\r P(pR@( /\ A@;sHA Ϡy$y,[A@b$"Gf$u!)\Đ @9H=9F !B(R`30I;vE,QCK-DB9WPJj As!\7!P!pV@@!?! 5{ U/(BF$$)| @-@;-aY PqJ_X!QaSA*P^IT ,x % EIPkWp>g(:  1„ D*) (gxi1G /E+$   >08 (Gĸ!@u`sC10N&HB |,@& D! MT) d E'P/  Av* |!`l`-4qp2rP%y@B8I8Ԑ8 9t<&) ' w"@@*p@P`$O  fjBb)gA:0)h W@A̼p 3̬9pAG (0@P &DZ` b"6m a& ybCP!b$.h@IB H}@`07*0ANpG~ m2 뽎 аsT$0 @AؕX(q v |"Ŭ`C"P  4Zą d @2h@ԗO30"!I C@X@" @ !@A aA A)C@1 pB8 |J pRX "@8Ԡ!B! @&@?B@L @(@     !4A@ 1@`@ `1P`@(  H$h  P`Q4 aB #$@80PB l8'(LUR<*/$* + $"Ё ,H@ |!0@HʋITYTEDppeyh D0!ȭD Xb,! ꈄ($\RNT #-*(R P`pV f@YAF\IPXrP0FA):Xb@8a@L%PYH yIP+ TL~R-V9҂&0@4\P "0=ԐeE *PT#Pb:,1(?8<RMH><90U!PaYY@\P4Q qB"GeTe Hr"xPL!F> !:9~|A~Ѧ4GhI`$(|g3@@pj )* 2 “ `AD.]b$' ! G*Qy0890h ژE"A@pRf]p8 фq0@T)L°AA: i3P`D(ǃtNLt, @HI}W1y B Q (9@ U0: /:HNN@M !Ap2}} "( ax`̀ʸ 3%( V0 @ 09?ǐ9~_v@j 2" #"@GNBDN&I`@)}8rB<I^ @D)"͈`Jf @$dhD!Jc0!@('(pRHw@0L EAk @CԀ*4Pa0% p"8@d<4 \R$(@h? Af`f'ꗠ Fa @R0! V%AA,|JL+A:"8A;0sNd*@@@GXx$GhI`q|z8`jruU420@E\) 5 "aʺ| øp8"bdlJ$'Ibap`ց{!PIya i! %A5SRP@“Ar)Rt2 (e,싉'JΦUAԪ)G/ C̺(lkA ScACCcAeB eO[#{g1&&j6@մ2"/,L4CP'OCSNN! mL .NvDhp`Ќ!V P /bifi&VM*hu!zuzzIzs  t(ld Tv0=tE ,llC!.NUD+kz\m ع 10&t7p`YCj̐eCk{`. % \p6`TR(NvvvcEeMm<̝MڡDilFME̝ mL)!U xB`l@(-@*.6\ŃDL솄m M9فKg Sb ^.aO|88$)©%@8-vr$`JW@JXٖ 9 rMz9~EW0..րD + NW))3CpiQ6zt BT 0!*`iA F'B-!Ub'R?)jF&u11#bhvXUĠ* ZN T'.a S'pNȚ.dlC&B\߈𼫠{3'a榄P$ul. Qp%uc`(b\PQcK{;6x0f ZcC;;{r zXXغ88:YۙpIB  8X%t,[PƼA<\% 8)]@2L62A¥e p>H :! .eDKqeLC- @@ .@ 2P48(J@ H j@ C` x 5JB- R` .p>404X @1@>NF_x gZi@Z$PW`t.` Z 41h$ D:q 5Tӕrc,Kr*@3&f Uj!H ( s BD$<w` 'Ґ0XD1 .T*CB~*m;BlI}xHK2pn`2(!@ N (AՆUhD`Bˬ8sC2"0,3,@ p4$iBYtCACR)4tSa@K 8Uy#DM h(;[L#0C@x(ޠ%  s$ s(Pq5+(O3ʻ$N-Hma #xI +AA_@rD$<ohziAz!A@٠"Fq` J/ZBIk\Wt u8b(4>@  fƉA% I- H@p%`8+ Ӄ#;H\&T00zvh&)S@ G 4EV,E(@(hfC!@bG@B1€ yJr  K !I3"v2%0B$HM8('xD m` 0Q@bD p4#ziCAn HDЍO3h3XЈ0x 'Ӈ4a 9E~Ɯ  'e'bbognD>`hAؘt0dΆPQ/F @@P@^@ 0@ h"?0@=`D!^d@ J!Fa@H_@a; A }#AA (o( .Ȏ^NAU`X00@)@ D T26;"P4@0 4$@0@p4BH%(+ L/`nad!J Ke{3rœjNΖv@`$cap"3t2t@b9B   PAwA9 % ` C%@=s @@ P$ B lh(@2i#3z$h2@9KހHScD P ,Cd0DjD\\6I5`XN*j@,"$p4v=ru>4Dr(@`@0ŘZ! @n3+ (`r12|s8"avȉJ0|A9Dp\ 1@) eS0Mu A" |\;(Ja!ß@Q,,0:!\(0-`*!y P֜D; ~Qn(O#D8tEGBT Cnzn4` @0@ L DxH  ?Lؠ&0 |O#)jhde rs(,D RH6PTȃ _M>9@.Z1SOvy BDe$0]@Ь@>O$8`PSfx ,P*`.g\T0(/@h)pHPv|]4&Tt𡧰,dζ H'#By Ha0, ,PE#9gPzAb/#QxƁX)T# @O* xz404JL V  xpBfP bSb LA@#E@*ĜP.   HX~&_M>E@ E;.PR B#Sj@d P8I D {Qx1 P4EA UPUH ل8~C9^@u0H,`V f`J l aI9A (" ?GG`'_OeAR5 A 0Z 2@7L LxL@%a2fq%%AE@+@0!̀P/3"r`2E p 3|"B+@)p-.sCX @8 P848 8"0 0@ $@< 98vA*H!$  -Jh7"h RN"8퇨BP 1 xd8} 0PIB@ 6 bgh `:1A02 PpO>/0R0;~ XG`)s1Gf@5rS(&/# @}W'qrup̂ @?aYdp `A#&0WRRRH& 2'ǣ 4 !b/2'*QX!Ӑ!ӈ!Ӏ!8QV l1!ZyRLYJNd@1?1%fJOKr g.(ΝE!G{Ht_@.(Kʹ; F' W@0U7TH 4 (" B d+,6 #6` (HX 03p'D| 0 `A/ E R@s I@ `@7p1p0@eDKx )O ;&O%^ I( PʨBGANJC^ H'(ӖA:pU٠!:Z Bp R+@2 q"AȢQB2C1` 0AP,`NPÄ0M7DρՅ60Zz( QڊaG@@(%CC9G  (b@@ `P` PBd$[4`̓Az !s(E9!pa4TLW2Bu/k a F ZO306&@`sJTYnyԣH@ Z Hah b@E$$bz; q^ ofh$q!X( XD pvj >ܝ acIjê9AC  `˘1 U̠ _a{d@qFGZH~ hM0E9 7A8B2 vBp}Jb!@`b@= E2j3P\w@`y,5AN *A\Y\Gbps_#FA'A>>C890Z Y`@@@D(@P@q2TD$ai"09g&OP>fPXf*C [g B 0s.䄌*c]0aUFA S$:NV;G0\`.gW0JBJPe2<%`@1$ AZA@ @+P0x ,`HtЪx5ϡ_6XP i֐B!(h[0`Lp a(OEDvj dqd !K N ĝX! & I@@h`] 0 xR ]2!40$ VzB)I} F28LBD]h A!'pAbH$!_?aT@6ř9QP$ 8Q?(3|EyW'HrC a Q"lB<bv@j/lt N҆zd^hHD #^Z&LP7T\D&T 4t(xP >"@] y)C4 PIta=4/wCAN`G'NE"@zfCB;b@ "B$*IА  D,v93ߐ >O&;0\ Aau0!KK  X"K!O3`"2c(lqaAD BJFJO  8PP;$l0P@r.s8!Appc3#B}.0A \<p&/ 3J" OG" 2 QG 0 3$@ yH>Tb p'A+ J* 02@( 1U31 I̎At# I!J@a!|R2P>cBus /`H)0 e 2 )sfaYF H0!0TaP0vA rA+"$DH`HCliDKTJ R$H)  J8/NtNL`ZC2e`R8?W&{4&G@%I`ɀbF `|/"* P#!YP`)VPV0"aBR(`8"aARB(R1 i LCAf!G 'U`(&0 5$HS(&o @ y}W0vLL @ډ4  "D+ XaC;;{w'KSB)@p2 D *Њ;JIW`ØK`hG(4T d|$$@x!1'a%ǁQ U  Qa*b2EEՄՔee%DdUTeEa J( H]F_Vih@/0E!'AU K(*\ lXB(A9aR B3 @*|(qA P gh0z TR29"$ *)!::0!A `}QCWt>"&Vn^#I(hX d  ` ) +@L@G 0D@75^C+B9<E p@Ȫ@ ],] .O-< y*8Ag`*0h +H0v(x P-< 5RIW /| m@|`c0>  8jX׆PT`hlj`H#c`701@@H)@$`f ph r F   A  5 ;:ِEH*0h8 `U B Yڛ ( e@g { ȰP!4PU E!{#3@ED@ځa@p@4`!T )=2A@S@Ҁ g0/%C#"8gh8XP3(PH B W{K;S; w OL);Z*;X8[886?՗c@߀": H 3@ uZ X`cX iT`"PH0*'H!JN8 y`{X$&B v$L8  4I (1H82K q& 6 V  1ȒEEd #[`+[hkDO%n@tTb (p̀!$HTa8S8$ 4ALQQxQ2jJN @Th1{&q*T#@(0Ёt%.`L a դPdM/4;"  wfDK!N<$&f 3 $t\, @ %r2v 6\t%VY qFV )C97ш'a;WC'Oq0rj T0#` K(ld`N2?@TP9Ath Xפvv `I^ڲPHA)lfb aA.s"@4"hhJΖ^GZcBmAmj](9{S;{Ws [S[h~ z 8CY΄ة%<@-- Mm, <'((A9I@&?PxAW@@, pF  0XC@!lMl 5K@@ ` @'  drM[@+ > tG@/ P (tex^* $Y^A3@`"H2U@) `R@ CG:,96A@@* @- sAgn,p<V@/@ ` dQAwB@/  QC@@&` t3:H `(t3: x<A'<H_@!@ s^OA@)  08EB@, @% GP `  QQxQ2jJN @Th1{&q*T#@(0Ёt%.`L a դPdM/4;"  wfDK!N<$&f 3 $t\, @ %r2v 6\t%VY qFV )C9&+@+H$m fane2rvfabeLrBDad6DrfaNQQ`8rx`ra@ m gra062<` 2< BTB6aSJ QmNu DNuSABB3f DQNuT(0<04AR$5 IpPB_\s2Y MHT( D ( BT aNTt($`` $ %L"8KB 7̾ $`bP63LP  `5Ei 0((@ HD" 5 jx00H$JDQ &l(ZI `` `=0J 0@@VAi>Yr |H8x<xl:M$ t$  J03!(@QG\Do@PES@ 4tP0XZ kva %"P b @s0A*`  X$(H "%!p8@Q@8A!|@ Р }P@ T"@ *Ȅ`@@@@@@- $@`0@`8`08Ⴌ >i RDs@ $D@pB@B?Ґ8W s6$`w!6&$ J@ c! F , "L)$DȂ ! 萦B I  0IXòAB Pp)Yi)&B &zRV$ $/ @9< H; gJ* $$ @w.BAO J%z@`P" 0: @(<%D P ` ^@A0A PRH!bB`M Bp d*+@{& `,8 @   $  A  H 0jEʻ Ua@ S@V4@  @ La\@`@ "@wAAwŀ  @:H&EVaD "+$ p@ d`< t(@ PlU\" 0Q3:@`V%A2AD @PxP 2 (! ! @B_SR bH  p $| @@P`0opI 0T A0Mx$}p+# cf  DZ@p@h@x@`d@ t@ +@ {@`g@w@o0d >h8 x Pd%,$u=DY@" @ L[@#  (, U]@`)0 h ( _za@@B!pjp80`8  U2M@@Ѐ$p818 P4 $m$@@&p808 8 F?zO C~6@}0:P Y@Z@ (@ Q@X@ ( ^a/7S@D0e4jruF`J "(08 EXP i(ĉ 8% $CPP8(Z 8:0 Ȅ/$&gs/*ali AgB ABUBlmOS'"ANPaffBAL c *`U0de 屡$H2ilfogbCiddd8#p (d  x,x@0 A@,,8\Y$.^A dpM($rʺ0 僰_SR bH  p $| @@P`0opI 0T A0Mx$}p+# cf  DZ@p@h@x@`d@ t@ +@ {@`g@w@o0d >h8 x Pd%,$u)+H$m fane2rvfabeLrBDad6DrfaNQQ`8rx`ra@ m gra062<` 2< BTB6aSJ QmNu DNuSABB3f DQNu 05`bA`KB0cy8p H91ʺڃ@h lhpeh hhpcK銌Hbf g2hk`Q98,/464Y30P#r'HN<5<x a!03PqGKU13\(2t-A||(qAA$APK!! ;XDI1% R3i2h0Hd3cOBd(.Go1#HLhR0"@ ! C0;~W.BDr='0y PWK$%J \ F F D2VP~^h2}$% P4!1!J|1\5 pf@ $(?Q? ;A}BE!+ ذQnf|&ApL'`L&0&P5x3/ *@\0Ts(@Z( BH:B6R`4rQHP88JB 5GDCx-v3 $,$4 p& f$.eD'pCpP&20&D.B=r@ N3 QhK @8!G,ċ>08H+pdL "$,'E`.3|bdB8;? +Nk@@#Xe| 0jw%/I ( B'R 3AvP<c"n'XF9W Az_8AdBbE;PRtf3> !H@H@$ q(u\h!]@]H8(]1hEK@] ܠ1jc"i+/*G/C@Oo9p+(@` r !`j@( `LaD?AQp8$#9 XP& )@B* |!mH#)QIH`y0$!yQ(D+HN @6@?B_Y w'\!.pGoA` @),"02(s$S0e\4p2cgg”8h 0@\a˰@ @0@9 RB,0 i bOIFL %qW;M"}pGu?\I JgAR\ f.`%!'AUH0c3 s tPU!   d eHƃDtĉ sQA4CvAtA50D{P 4 !iN} L@ POh8  sA; !`v @  @P$ &d ,eՠBGGo'_OO`3I 2a 0 B6!J"xRv2!lĐ̿!@2aH "a4s`"(!×HXO0\hH" hf BzXiK0IYA4JPܙ 02 1J !!v(h1I8-T 0m?  $8 "VgVHaw <Lrd$ +`9L̀1A8p!'hȇA 4 ,8 zhz8;| 9:}2}) 7 tH;1E*^Z rG1B PP0_\0NPD'dA2A njHb\ (.f%a:@- @Mw<RAi@`T<d<h&ae3As0! eA3/;! ĩZ d| KaRDdvūSF<hI8|Iy `;AT.g@GbB@ 8! oVQ "B X "T* @M aK+LH2pPJn0AI   #! ( 6G -Ϡ$f8Rt`N0{"GGo)NfDD]n!$'@eAW̾<)!s ҢCb`큮H̠I$A d   Da2Fr?K@z3,hq3)!_fpAC rt@!K-mt W(@T0wt$A GAy8@|.fU%e@'E(-(gg"00ADtdwD8$nltYҐk ƇraW`d߃ /Ԑ(  @dNc 4I@A,ڀIhIS Q De(Q@+@ d눐# 2 Gl^NHN<pBx"<pAl iJE`&:@a']B$$F3GeH8 H\YCФ%@(@ 9 (K0H/z0v:`s pe X % g 0]\\SFGGo'_O &P)r` *3k4fb@" R@3 HEfp/$`Col @⩳D؊| M] L\]o(3@p8F0$!{{K;S.@x @aJvC@@@APC3@gI@P@P[`aZ@ U v Ke{Xx9A[KsC7F:@{ XJڻ89كJ0 9LLAC7!b,f.b̴F6&6Tv+`DilFdjeHa@׊]Y4H" ) Aebv&% vJ6ƦdE@HD, U'3 @p0 PP8Np FCXqCڂΦF6󗳶r8Ű@p!HPA=2c)lgn`x* *H: +;:T" d"iʰ 0>ΰ"~ ؠ~p-rF)cjghkjea@ pA(OPH9Ȫp Kʃ0?lljbQCdGUl`:)pNN(P6jc`)l`N0@pxLRȲbFojbnXP1N~l!EVtH@%mB 48#PL(b@^ ,P" d @@5IfB!K@(ZATp%N ҀCp%A GBFR!QZ!0pPQLxACs "Р 4hg3nD7: < 703@ 3JU@!p0 & i*66t2q6pAtx(aD@ㆠ#@ !4hbCFpL94Àb` @ @*`* n$@&Q(:@ z/4NUlj@,ɘP8pB 440@ 6 @"JP`s @ Xa@A0L40I`@OGA'WO> Tg !`@ T2c( @"m)*(O}#NBNAI@"(p(>¥1L64TsC Qw\P"@& a  by7p6Ct:$@ mB :)I@=$> }@  N`@h+AN&bOKF0WH4:@!b[&B$T$s)0a߇whxKHoH+aS`3,`JN!P7P/ (p$8px0pGoGGg'_#O*.`( 8 ¬dLA@@4C(ښ8܏P}p8 } A@^< `TP@xy  ,  LȕăHq+c@N0 2n.h(B@JJ@T`j; D l U P@TD'hncav.|)s@ukz8BA`a 3q .$JN rЇPq s "20e]E(F@A@ )\X@9\ɧLp $F]dz >d 0 2"Ә (B PCs!@N@#Mt#9\`.f W4"6A ̮Jf'A$ f[08 f+.@@qfS .s0! H  @AI4" k8=i)5y{rHBm :eib  s@m:Hf ev9\Ȉ``0 1 0 QL3Re [ Z|@L]AN  H}@2`` 0 e6'4 443 $" g` `1@D@@$Ls8%!&3!hr ʸ1I(R3486%A$1`$&O  l !<  ݐ<@!yEY$e€,* p $"@.p40F_pN|VQ/p``M12QAPb 8;rB Sq 0@@$ЂxT"D <?S( 1 VDl( 8( *_NP"Ĥڈ@:UPT)`4Lph(&NNYp q109A!JPȈ4 "A/17l@sB @BPE7D F V RBg G6=1PQ R5.;|0 x h .`@ HJ>h8` 'vB$1$AoJ4%P ## @ Uhd`h :H\:;B v I"x0?,lŁ@  GoB M@f y% :HU,4`d ̊ 41!` Lʐ`H`H`qӢpaF i?ǡ"(" *Tm'h4|@8Bِ7@ 4|2h%F.d2' }IK K8? %7^UF+5:+0J z8t3 9" 'DP`b(P PK艌HbSLIJĉtW`nd8? ZA@P@7` PvF_ XW,@WR@BЗ8`~ *1`p8@  GoA`&3&J@<ŨH1 %C/*@#j= M9:}|&|@v0! b4fD.2.R,`W%U'baA-9 A`, (G)j$HiB@*7;|(P?LtgtTAh @t M-6"4!0h#+?G.`B`*Aeq A#PD0Y8@I,^P%_ p8 T (3\r B 7C3t0 :v6 tlFKhԠ5O1$ )Dv R@ H42ppBchCB#"b  B fX4@PO$YͫJ0t\ S/," :p>$.@r@ p @O9# q ` TT _8H @P0B-J %6f]M DKɆKہ(x "rMjYE @QB ' h$x6 ;(GU$?߈:D!!x!ZO({D/E ß h ±ʢ:Q;@yHA  `̂2 ̀r 3(@sE@T 6ShAi6|Ss%`7s Ә:q2c(bh8@؀!FyIB!TKD(d›$]@ N Z~DI|8uhR f`X !Zßa{^a*H3;"M<4f' 8 `ĥ b6@ @hah!6)`.Nj@!CJ >PfDQ ]I Pvb'u Eqd IvnPvrhLPKP2<p0C0@s'`)3 '0 ~CЅ( Ё`~ N VCu!s s9:߇}@xpL!``}40rAR*D dpQA/Z @ pdfWB k0tf+qfZ\alՊA˸8@Q8D ׌DH6GK(*$E)<~PH8UC18B@ a 3 !P3v Q\C\!q\YA\:! I1’0i10I(3 cPta`g P //. bh j0 GG> > hQ 0:%`> 3C.ds0 P.BxR@c B04]HL!  ""At`o]y4EpU.Y= 80 L E a`B|pP @`<@ijhEj#\l< L xEp: *mBp\.Efw!\ VS`lA%!L9 8dtQςς\AD  ,HD#PdF  g0 )x<(0+ &Ox,^ !+!o!!/Z.n`pu[#x #p8C20T+1M&`P6dA$z6 09 A5(9)k@n(UH8 p8xC\ W[ p7 A iL`.0 H`0<T. L<PA?@q—F%Aa  KPUȄB< DHfdro!f:Rt_H8d`+w<`"` = HM@X,3XVb$,  PA0`eJ  dH0 1iP ,0.1"%@ Nňhc4 0D1a3g(f8!LP,03n3 aP[_M%B B9 <i@h]*8:Z.P0@EJ@U@AzRA` 0"SP#1m A]Áqs*+$W* 5チ@@RT$vBEZ&@  ΅Ah (p ۅC  @]@@EI—AЁH " )]h H0#H'pA@$`a:# F ʃO`E=Hʸ8(kmCFx0<@`0CI~JIؠ@'癃F6Hn0'3q (0d9X f`-fJ!@4@%&P[M+ȁPJ7\O)Qh0DId-` $̈600+姨"`q @  2r/; (b$: (TI T,Q|>>c*'H`U4@ N LD"MPY@o X%@,h`H 0'2 ,s$@J 5S\ ᐡ ̐s(ă!@1ߐ"!lj\@jMOy`*`Nc 32H:A:&KdJO XHI :`@)$t@t =<,\ӈP&D I ; P4!?*)Z3 uf5F 2U M`q%&KH&`jPT 8F zh!ddfT ׀i'@ 1j]l $# hD/ @ ZQpKᙀ:0xApHtÕ !p1AҦp`'Z$C 5f !$ H[Bs,%Qْy@ڄn.L!Q%iV:RAh"Fv9`ScTF@ S$ ũa A?`@z w P4@̀Ү0\QAMh~ ErP|%[G@D`" 09.;'EBH<$̌9jS PQPL B AEh`za%94 r88q4H)lq6R.C8@  RB@px0I0)`s6f]@̴h1 3qDap^; (^ղ \DaGB(\u  S51(}=!&.R0%@  8$: 1  @<ڀ=RzpR c$Pkl`,\MG9,K "B $qF ~@.BQH($6@` : $8 8Nbp`lQ  !χԂdU♀! G4A QBzDz@AA蒤$yH15Q0:A, G(AАR(J/2$ ) "r#X? Lk0FHP@Dr(A ޡRT?@@9p5sd@%+r0s (_KSxx0LEhP* W ]ab0 `"4H8M<4Srp3,!(]c0A*; R 2J@@$`| 25~GxAA %\@  FB8Cd!s(&pDBH8M<4asT>f Wi@8 "4V8Af3DvJNJ`foPԈw$A8d@AA;Ok^8z(agxb|'rGba C E3`hs!d9 \/2DD"Ri#1Z0bGp"@88x&`n(3=A/ 0s*!s P] H`M8fWo`34 .v&`6'Kf $EDU#B JxFB@@\A}ʹE P AW  9$S xhX"+20\!ph lQt D"%Td0bDIHI`Nb40'2BC4AC9pٌ/t$2""@ D&ن`#p EŔ#F8bh4f@N 3, \/3D 0|fSa$@,`i @P"GA@I8f( ب"$ 14" A}!̟b o¹\F)Iۙa "IޠR;2>'kC(b8DlX* J1&Y|qKfwth8K/l#`H0 edP$ƉB$JbX]R@fORMmjа  g&G^dB0hQ# B$J]@ ހAd#RY D`<02qAC H0a<P c< N`4@(f _` M+ 0l2x2D A* \ 0E0%AKC8Xi@OSeHy  _q43r2tz6 /IbPXX&&`BQI ^f'pC@@0RtfR@3a`4^," (8*e( 3Bl0B0= ` P8 gK#jb 'v4O6Y&Q/RJ1CS&&hRL <v'PP2ٗفA pz4b( 48Kpa|@)A)P ! t@bsA" A  &B\ F4 `%F)_`h(4PX惄@hE(ЀP' ~HA9%h Bd\X}A@X@|3 :P vHSנA ˍN9*r B&mh  !|A+> XhzA(  !8H&\hl"Ck!l P^ (2&h `,:w"\ W#x  $f(@d)D-0(1B*V@"!„z(b*bE^A< ,@`HH h+@x"`R'2 !10b8`0@$D0 dLx B96HGU.3! >^H#:M$B` +fabAA 0L0 0 B|`zC41T0@f`kTa i̘H@Tc Awb "AbymBe.(̀ a=CC6S"!ТGYF($ٌ9A%q:xfP"Xp  $ , @Pᘁr2: HP$@ |C@i@Q %`@@pN` 4`M(f7*1b\B4̐#VA apd`%Pb Z)x@ avH h @ԉ>N2ude( .^l.@(s2D!J p9ÀO():̅,pt1>&4KP7  (@!Ё[ У Iؿ/[4H"5G@20Gl `ْp. 0; uHP&f=sDƌŃ)E@ ): PpRs!@_Qs!-)TֻJDC# ej'B@j@0X8`z!tp_|@̄A $ Q0:$ىb Y$I$ A9HJM9% (>B\d̾@9-0;s 8+U@8 gjJ  8ʸ:;`;`;8 ; 9@@;@8:ӴQ4#(,ApU(K̊@9;s`wHbB`":` >hDw> S:(C@P^ *B(`@N48QJNp u0@Q ;b'(`<\wt: 2prR@0==I،1gYIqFbq.ppP)H`$ 0 sB ZK>Jfh N\@BE]s "8G1I1Dh r$#l)p0WLGhA0 A A:tv\:`2h oEŚ Aa/,4Q-Rf?J/H`@7B#s0'zX@PT`f>$VPD`A <A`@$ @$AiF)üC)Ug8^,. F0\_q0r\ : ,Djf`@ hl %2rvh~Hм փ2覩`HT(htE|1EL-L=C:{0(Adh u!kdd D! @K@Q-p `Bo`J;:0( p#(9'ob VF'`D v@(Ph91At꠴m<ٺ4'!lC]l)4#ilj\ CN 8S0&J[VT m\\HhH@%+;b+ꊪJqHQ IH`rBM7K""F^% x9V76)X4/.[ Ŷ NDX@PC[S"h, *NNNƢbCP&qt696vr"4,bfbX ":-K EB$hhER Nv6싈}kZ=Ȥ kD-윏- u-j%H"Nv"$]K@[U{33".1@(e;c{[R`80ik̺ a!YUYE@A\-IY@gCh؃A{{ Z^(8QX %Q10RF6f *RNE-j6!71t2ddH 5 IC#¦ Sc{s@ m܍UC;c#lR 4MMLm=H "e$ TP!Nv$<(m1C@ <'B]bgCggS3b%$!F@Ȍ(E=lh#(YCc\ fNftlKX Bz %=a!NTB6Je)W0@!%A@u-UT!rT9=P@QEU( @pr j((@b@U!.pPl60PȠ@  hP"P n^E@D1AB!BBr *J rH}B0f܉@)SB+aBBFB2 -0E GaH+ C4 BhHʋ@?#I  d @H h(""( (<( (<+ '")$@ *I@a"RNPPU9i9 43P@!er * *B\PM P(p(8 8eI  ʞ i(   +( ]PAB@]LP-WRU A-!AIm!AI%!فee  E@U! DXqBr"%P#`05 U1t vO` h(VT 8 8US2 :* (^ANIt@ b…rT E Յ)BRQ"((0< A(P?hj :CP@Pǯ(P1) D(<|@P(ya iAA@UeAC@I5e@j& €@@`@@P:y9y!BJ* Y(.Uh& X=QA t+A`z)Hd A 5( ( TB}B 䖅| Q(VP% hK)PB ȊPJ*+ ,((AZ QRUTD AB@@ʀ- P/$@B$充 H(+ 0(   QQaRl((+ NuA|H"A NALNu/ A|H"AH E NALLNuCA|H NNuCJ"A NALNuCNRCNJChNfCvN^CNxCNpCNhCN` 2(4Pl%H甀 o0/HN`r`n`j`f`b`^`Z`V`0``t````&`6Hk@ A"B&C` Hk@ A"B&"$(.<ȇgćf !i`mbH(FVV‡Ƈ$(()~JgFFRӇJgFFRׇL` gD~nCDD* 5mJmp`v <~FFӇ``SQpـ׀~ԄӃgdmp` <FFRӇ&< (<mڄՇӇmڄ` l`Jo  !BJL`BB` l"<t !BD`Hk@ A"B"$V&(V,<Ćg(Ȇg"F†Ɔ؂/$(()*< QBB~zHA<BFHFHC0B@H@܀HAHD0B@H@܀HBHC0B@H@܀0܀GHA0܀GHC0܀G1F<HFBEHC0n=܀GHCHA0܀G1F<HFHA܁*( x$<"< Q mRrہ݁ mR&<Ђkg !EJL`BB` l,< !|D`Hk@ A"BLL.,*< ̅g΅g? F…ƅz|~6m܆ۅԂӁQ`ԄӃn܆ۅԂӁQ @m`~݇ۇ m GJo H`L`z|`6<` l6<*<|D` A0@g `\H AL` fz| BL fvx jEFf H^.gUDLP` A06@gJCL)Nu"<gD~nCDD* 5mJmp`v <~FFӇ``SQpـ׀~ԄӃgdmp` <FFRӇ&< (<mڄՇӇmڄ` l`Jo  !BJL`BB` l"<t !BD`Hk@ A"B"$V&(V,<Ćg(Ȇg"F†Ɔ؂/$(()*< QBB~zHA<BFHFHC0B@H@܀HAHD0B@H@܀HBHC0B@H@܀0܀GHA0܀GHC0܀G1F<HFBEHC0p 4Jm$@-@..ނ-Gg~ y hJgn"h xJgRD`p0..-Gp0v ЃJm>"h v` Ю*@Rp0b4%n5hhh RTp P`gBHxN &@Pg/FONTS:.fontH> o"oJig*<4)hd 0Hڀ`0Hယt(p)Bx(p)DvBF0H2Hg,p)2Hg0@ |(`0@ |0H2r+zHg,p)2Hg0@ |h`0@ |HCRFpFn ` <L|NuNVH?<$n JCtQ/N-@HnN-@&nPg=kkk/|(|4|@|4Jg&~$G|/.Hy2Hy,HnNO`$B$G|Hy>/.Hy8HnNO f|HA0 HHv ԃ/HA0 HH/4 H/4 H/. HH//N*HnHA0 HHP/6 HZ/HH//NO,LN^Nu n"2 x\V fxZAN~TLD,F ZREADABLEWRITEABLEEXECUTEABLEDELETEABLE%s%sNOT %s%s  /r AJgR` Nu o /"@fNu"o o / r`RmNu"o oJgJg fRR`pWDNu/"/t R @Jf $NuH> $o*/ (/$//,Nh,&/,t ///*2N\//*2N///H/*2NO$L|NuNVH8(.&. $./.HyHnNHn/.//yŗo/NrO LN^NuH< /"/*( DHHt` S @"BRo CBL&B(///4N&/NXpO L NuH8 $o$/(///*2NB/*2N&/8t ///4&/NXO L NuH08&/p&|d$S/<Hx/N%@ SJO fp` S$h S hA$ S$h S%h SB yXJ\gj yX(h\`X/<Hx/N$@O fp`F/<Hx/N%@ //* N/ $S/*NlOXJf S$S"j!QL NuH0$o &|d"S i  Sg"S i ({% S h감f$Nx/*.N0B/ /*>NXO`NXO`:/9 S h/( N/9/ Nt"S S h#P/ N6OL NuH80&/(/$|d Rp!@ R hA  R h감g(/9 R h/( N/9/NtO/<Hx/N&@/<Hx/N'@ R/(/ R/(NP R!K/NO(L NuH00$o /&|d Sp!@ S hA$ S h괐|̂g/9 S h/( N/9/ Nt S h$( SOf S h&(` S h& S/(N S hA$ S h괐Xf S h& S!C/ NX`"Nx/*.N0B/ /*>NXOL NuH>8(|d&<X TJfp`T T$hA  T h감g/9$T j/( NP`"C QB\p`z T$h(ɉJɉgR"D(`"C$Q/</N %@\Pfp`/"C$Q/*\"C QHhNz T$h(O Jg T$hA  T h감g"D/) N,Xf|$&B"C$Q\/</N &Pfp`Z/$&B"C$Q\/"C QHhN}O|"D/) $&B"C$Q\/NR T$h긪Og "D(`RpL|Nu Jr xn h&~Jt@@b<PX Dl(r`JPf@@??a{a ??? ?~<@@ H:&o oCE,yNL\NuNu(H ,yTL NL@Nu/,yT"/N,_NuH ,yTL NL@NuH ,yTL NL@NuH ,yTL NLL@NuH ,yTL NFL@Nu 6RnE/,yN|,_Nu/,yNv,_Nu/,yLN:,_Nu/,y"o / N.,_NuH",yL NLDNu/,yLN ,_Nu/,y κ"oN,_Nu/,y"oN,_Nu/,y /N,_Nu/,y oN,_Nu/,y"oN,_Nu/,y"oNb,_Nu/,y"o / N,_Nu $<Vp6/,yP"o o /N,_Nu/,yP"o o N,_Nu/,yP oN,_Nu/,yP"oN,_Nu/,yP"oL N,_Nu/,yPN,_NuH0,yP"oLNL@ Nu/,yP"o / N,_Nu/,yP"o / N,_Nu  8L`|! /,yHLN,_NuH",yHL NLDNuJ/,yLL /N,_Nu/,yL oN,_Nu/,yL oN,_Nu/,yL oN4,_NuH",yLL N"LDNu/,yLLN,_NuH0,yLLLNL@ NuH",yLL NLDNu/,yL oN,_Nu/,yL o / N,_Nu/,yL o / "/Nt,_Nu/,yL o / Nh,_Nu  4H^x ,_Nu/,yk^gz"@pH<L*&g8x C2DC Cm0 C4n.QgՁe"JlDkL<`frk`B` NuNVH<&@tJg*]lDvUx RQCx飂JgH L  P >&H L.dT0 "6 ^ \H@P~xZInfo release 1.1%s%s.infoDisk%s%s.infoNAMETYPESTATUSL topaz.font`topaz.fontv !! ""            r{X`ADDXxDELD SAVE D QUIT / l $ 8 # L# dP  |P  *  4LfIP  zVN"plXT  XDQH88$op&|(|(<` *2 yXp(=mn"@S "@ 0;N  (NHyHx,HxZHx/ NHyHx6HxHx/ NHy Hx?HxFHx/ NHyHxHHxFHx/ NHy*HxQHxFHx/ NHy6HxZHxFHx/ NHyFHxrHxHx/ N"D Q/( Hx?HxHx/ N"D Q/(HxHHxHx/ N"D Q&(tbnj "D Q/HxQHxHx/ N"D Q&(tւ/HxZHxHx/ N yX/(@HxHxZHx/ N/ NFHyTHxHxHx/ N"D Q hOPm,n`Qf`Rf`$<``$<j`$<v`$</Hx6HxHx/ NO`0HyHx,HxZHx/ N yX/(@HxHxZHx/ NHyHxrHx2Hx/ N/ N/ NFHyHxHxHx/ NOX`HyHx,HxZHx/ NHyHx6HxHx/ NHyHx?HxFHx/ NHyHxHHxFHx/ NHyHxrHx2Hx/ NHyHxZHxHx/ N yX/(@HxHxZHx/ N y\$/(|Hx?HxHx/ N y\/(HxHHxHx/ N/ N/ N/ NFHyHxHxHx/ NO`HyHx,HxZHx/ NHyHx6HxHx/ NHyHx?HxFHx/ NHyHxHHxFHx/ NHyHxrHx2Hx/ NHyHxZHxHx/ NHyHxHxHx/ N yX/(@HxHxZHx/ N y\/(|Hx?HxHx/ N y\/(HxHHxHx/ N/ N/ NF/ N 4Hy$HxHxHx/ N/ NO`Hy0Hx,HxZHx/ N yX/(@HxHxZHx/ NHy8HxrHx2Hx/ N/ N/ NFHy@HxqɟHxHx/ NOX`HyLHx,HxZHx/ NOLNuNVH88&.(. $|d&|(|/<Hx,/N#h/<Hx$/N#l/< R/(d/N#p/< R/(d/N#tJhO0gJlgJpg Jtfp`4/<Hx,/N#x/<Hx$/N#|/<Hxt/N#/<Hxt/N(JxO0gJ|gJgJfp` yXp(=mn"@S "@ 0;N VVHx R/(d/9t/9pHxHxlHx/9l/9h R/(`/N\/NxO0`.BHxP/ -k/9HxHxlHx/9|/9x RHht/N\/N~/NxO4`/N/NxBHxP//9HxHxlHx/9|/9x RHht/N\/N~O8`/N/NxBHxP//9HxHxlHx/9|/9x RHht/N\Hx R/(d/9t/9pHxHxHx/9l/9h R/(`/N\/N~OdLN^Nu/$/ ydJhf yB` yd/(hHyT/9NO //if4`2f(`&// NP`$/ NpX`/N:X/ NpXL Nu/ $o/ N/ N/ N yX (=O g / NXB/ /*>NXHx/ NO$_NuHQqNuH8 $oNJj c*Np`<(9/ Nt4*v6*ԃ/& t4*/N8N O LNu oSh f(g /NX`pNub@.h8H0 /&/$/$|Jg /NXJg/9NHXJgHx/NPJHg /9HNXJLg /9LNXJPg /9PNXJTg /9TNXL NuH 8$/$|&|(|/<Hx,/N$O fp`( RC,# RCX# RC4& RCX#tX RCb# RC# RC# RC# RC# RCl# RC# RC# RC# RC# RC# RC# RC#Hx /9HyN&Hx /9HyN& T"|p+Q y"|p+Q y T y"|HnNP` yX/(@HnNP//N/ NHn/ N8/ NHn/ N/ HnBNO(L N^NuHj|vp0 f^@8|hT@80vj^RF:." zrh`VN.& E`@ 4, Hv ~P&>VF4 nZFp8dos.libraryicon.libraryintuition.librarygraphics.librarydisk.info NVH<&<*<o8<DBn=| =|\=|||t4-B-E-yB-CBB=|=|2=|=|=|HnND$Xg//WIHL`[WH]=WH\[WAR]#=WEH4R\[WAR]=WAO4R\[WOR]^=WER\[WR]=R\[WOM]A=WUH3M\[WOM]E=WIH3M\[WEA]R=WEH\[WAN]T=WAAN\ANS[WER]=ER\[WINDOW]=WIH3NDOW\W[W]=\[W]=W\?[X]?= BAY `? [X] ?=BAY` :[X]: = EH3KS \ [X]=Z\X[X]=\[XC]+=KS\[X]=KS\ [Y] = WAY3 \[YOUNG]=YAHNX\ [YOUR]=YOHR` [YOU'RE]=YOHR` [YOU]=YUW` [YES]=YEH2S\ [Y]=Y\F[Y]=AY\PS[YCH]=AYK\#:^[Y] =IY\#:^[Y]I=IY\ :[Y] =AY\ :[Y]#=AY\ :[Y]^+:#=IH\ :[Y]^#=AY\Y[Y]=\[Y]=IH\ :[Z]: = ZIY3 \Z[Z]=\[Z]=Z\[0]= ZIY4ROW \ [1ST]=FER4ST\ [10TH]=TEH4NTH\ [10 ]= TEH4N \[>&1]= WAH4N \ [2ND]=SEH4KUND\[2]= TUW4 \ [3RD]=THER4D\[3]= THRIY4 \[4]= FOH4R \ [5TH]=FIH4FTH\[5]= FAY4V \[6]= SIH4KS \[7]= SEH4VUN \ [8TH]=EY4TH\[8]= EY4T \[9]= NAY4N \[ ]= \[...]= AEND SOW3 AA2N \[.]?= POYNT `[.] =.\[.]= \[!]=.\["] =-AH2NKWOWT- \["]=KWOW2T-\[##]=#\[#]= NAH2MBER \C['S]=S\G['S]=Z\&['S]=IHZ\.['S]=Z\#:&E['S]=IHZ\#:.E['S]=Z\#:^E['S]=S\#['S]=Z\['S]=S\['T]=T\['LL]=L\['D]=D\['M]=M\[$]= DAA2LER \[%]= PERSEH2NT \[&]= AEND `[']=\[*]= AE3STERIHSK \[+]= PLAH3S \[,]=,\ [-] =-\[-]=X( \[/]= SLAE2SH \[:]=. \[;]=.\[<]= LEH3S DHAEN \[=]= IY3KWULZ \[>]= GREY3TER DHAEN `[?]=.\[@]= AE2T \[(]=,\[)]=,\[^]= KAE2RIHT \[~]=TIH3LDAH \[\]= \[[]= \[{]= \[}]= \[|]=OHR `[_]= \[`]= \[]= \>:62.*&"v :[Y] =AY\ :[Y]#=AY\ :[Y]^+:#=IH\ :[Y]^#=AY\Y[Y]=\[Y]=IH\ :[Z]: = ZIY3 \Z[Z]=\[Z]=Z\[0]= ZIY4ROW \ [1ST]=FER4ST\ [10TH]=TEH4NTH\ [10 ]= TEH4N \[ q=D 6R/,yLN:,_Nu/,y"o / N.,_Nu/,y oN,_Nu/,yLN ,_Nu/,y oN,_Nu4H` o XB!HNu8 &`^PP J .info.infocopy copy of of of copy %ld of ) opJWFNu o /g fS Nup`LfNuLJfS`L 5R\[HOW]=/HAW`[H]#=/H\[H]=\ [IN] =IHN` [IBM]=AY3 BIY EH3M\[INPUT]=IH4NPUH1T\ [IN]=IXN\#:[I]NG=IH\ [IS] =IHZ` [IF] =IHF` [INTO] =IH2NTUW\ [I] = AY ` [IT] =IHT` [ITS] =IHTS` [IT'S] =IHTS` [IT'D] =IHTIXD` [I'M] =AYM` [I'D] =AYD` [I'VE] =AYV` [I'LL] =AYL`[I]TION=IH3\[I]SION=IH3\[I] =AY\[IN]D=AYN\SEM[I]=IY\ ANT[I]=AY\[IER]=IYER\#:R[IED] =IYD\[IED] =AYD\[IEN]=IYEHN\[IE]T=AYEH\[I']=AY\ :[I]^%=AY\ :[I]%=AY\[I]%=IY\[IE]=IY3\ [IDEA]=AYDIY3AH\[ISLAND]=AY3LIND\[I]^+:#=IH\#:[I]^AL=IH\[IR]#=AY1R\[Ip0HNu,mg,Va`a$gk`,m,VMnaFa JGk`zabf"/ / afaf a$_XNu&_$_ \g `g`r8L84@f <[fRAI&vNu|~&J6`RF [fFHF<HF6`RF ]ggNuHFSFk6`8 84@ f "gNuDNu~afDNu$oHF6`RF =g8 84@ fgNu~afDNu>SGRG6p \g `fFfNu GBl>?`Q>/p)@04g `f Nup)H04 fp!H04 gC  D".NuGB0< WD@@.; HG&sNNuJGk"`x 84@NuaNuag afDNuagNuaga Ig EgDNuDNua Ef,agX SgB Dg< Rg& Lf:ar Yg&`.af Nf$a\ GfaRg Sf aBgDNuDNua,Nua"NuaNuaNuafDNuaNuafDNuafDNuDNuE0 prvJodf+|  l< f< am zn ]f< RC Cdn8 g*Sg. #f #f f#vNuS| SCSSCNurNuq  Nu-gbH  @mL mp@04f8n mEPHr&J[g Qn`R$Ibf4RL +INu"    #*.$%&@^+:?_ IHEHAAAEIYAOAHEROHEYAYOYAWOWUWpM8G- - HEZg9~7R5 [A. ]=EH3Y. \ [A] =AH`[A] =AH\ [ARE] =AAR` [AND] =AEND` [AS] =AEZ` [AT] =AET` [AN] =AEN` [AM] =AEM` [AREN'T] =AA1RINT\ [ABOVE]=AHBAH3V\ [AROUND]=AHRAW3ND\[A]DAP=AX\ [AVE.] =AE2VINUW\ [AR]O=AXR\[AR]#=EHR\ ^[AS]#=EYS\[A]WA=AX\[AW]=AO\ :[ANY]=EH3NIY\[A]TION=EY3\[A]SION=EY3\[A]^+#=EY\#:[ALLY]=ULIY\ [AL]#=UL\[AGAIN]=AXGEH3N` [AGO] =AHGOW2\ [ANOTHER]=AHNAH3DHER\[ABOUT]=AXBAW1T`[APPLE]=AE3PUL`P)[AMIGA]=AHMIY3GAH\[ATARI]=AHTAA3RIY\[ATOMIC]=AHTAA3MIHK\[A]TOM=AE2\#:[AG]E=IHJ\[A]^%=EY\[AL]F =AE2\[A]^+:#=AE\ :[A]^+ =EY3\ [ARR]=AXRR\[ARR]=AER\ :[AR] =AA3R\[AR] =ER\[AR]=AAR\[AIR]=EH4R\[AI]=EY3\[AY]=EY3\[AU]=AO3\#:[AL] =UL\#:[ALS] =ULZ\[ALK]=AO3K\[AL]^=AOL\ :[ABLE]=EY3BUL\[ABLE]=AXBUL\[A]VO=EY3\[ANG]+=EY3NJ\[A]TTI=AE\ [A]T=AX\[A]A=\[A]=AE\ :[B]: = BIY4 \ [BE] =BIY`[BECAUSE]=BIHKAH1Z\ [BE]^#=BIX\[BEING]=BIY2IHNX\ [BOTH] =BOW3TH` [BY] =BAY` [BUT] =BAHT` [BEEN] =BIHN` [BUS]#=BIH3Z\[BR =EAK]=BREY3K\[BEFORE]=BIXFOH2R\[BUIL]=BIH3L\[BELOW]=BILOW2\[BETWEEN]=BIXTWIY2N\B[B]=\[B]=B\ :[C]: = SIY3 \ [CAN] =KAEN` [CAN'T] =KAENT` [COULD] =KUHD`[COMPUT]+=KUMPYUW3T\[CONSIST]=KUNSIH3ST\[COMMODORE]=KAA3MAXDOHR\[CERTAIN]=SER3TIN\[CONTOUR]=KAA3NTUH1R\[CO]NSOL=KAA4\[COLLE]C=KULEH\ [COS] =KOW3SAY1N` [CH]^=K\^E[CH]=K\[CHA]R#=KEH3\[CH]=CH\ S[CI]#=SAY3\[CI]A=SH\[CI]O=SH\[CI]EN=SH\[CITY]=SIHTIY\[C]+=S\[CK]=K\[COM]^=KUM\[COM]%=KAHM\[CUIT]=KIHT\[CREA]^+=KRIYEY3\[CC]+=KS\[CC]=K\[C]=K\ [DR.] ˠ~=DAA3KTER\ :[D]: = DIY3 \#:[DED] =DIHD\.E[D] =D\#:^E[D] =T\ [DE]^#=DIH\ [DO] =DUW` [DOES]=DAHZ\ [DID]=DIHD`[DONE] =DAH5N`[DOING]=DUW3IHNX`[DOW]=DAW2\#[DU]A=JUW\[DUC]+=DUWS\#[DU]^#=JAX\D[D]=\[DOLLAR]=DAA3LER\[DIA]GR=DAY3AH\[DIA]M=DAYAE3\[DISTANC]#=DIH3STINS\[DISKETTE]=DIHSKEH4T\ [DIS]^:#=DIHS \[D]=D\ [E] = IY4 \#:[E] =\':^[E] =\ :[E] =IY\#[ED] =D\#:[E]D =\[EV]ER=EH3V\#:[ERED] =ERD\#:[ERING]=ERIHNX\#:[EN] =EHN\#:[ENED] =IHND\#:[ENESS] =NIHS\[EXA]M=IHGZAE3\[EXA]C=IHGZAE3\[EDGE]=EHJ\[ENG AC8]LISH=IY3NXG\ [ETC] =EHTSEH3TRAH\[E]^%=IY3\[ERI]#=IY3RIY\[ERI]=EH3RIH\#:[ER]#=ER\[ERROR]=EH3ROHR\[ERAS]#=IHREY3S\[ER]#=EH1R\#:[ER] =ER\#:[ERS] =ERZ\[ER]=ER\[EVEN] =IY3VIN\ [EVEN]=IYVEH3N\#:[E]W=\@[EW]=UW\[EW]=YUW\[E]O=IY\SH[ES] =IHZ\CH[ES] =IHZ\#:&[ES] =IHZ\#:[E]S =\#:[ELY] =LIY\#:[EMENT]=MINT\[EFUL]=FUHL\[EE]=IY\[EARN]=ER3N\ [EAR]^=ER3\[EAD]=EHD\#:[EA] =IYAH\[EA]SU=EH3\[EA]=IY\[EIGH]=EY3\[EI]=IY\ [EYE]=AY3\[EY]=IY\[EU]=YUW\[E]TION=IY3\[E]SION=IY3\[EQUAL]=IY3KWUL\[E]=EH\ :[F]: = EH3F n  \ [FOR] =FOHR` [FROM] =FRAHM` [FT.] =FIY3T\[FUL]=FUHL\[FRIEND]=FREH3ND\[FE]MALE=FIY3\[FORGET]=FOHRGEH3T\[FUNC]^=FAH4NXK\[FATHER]=FAA3DHER\[F]F=\[F]=F\ :[G]: = JIY3 \[GIV]=GIH3V\ [G]I^=G\ [GET] =GEHT`[GE]T=GEH\SU[GGES]=GJEH3S\[GION]=JUN\[GG]=G\ B#[G]=G\[G]+=J\[GREAT]=GREY3T\ [GO] =GOW`[GON]E=GAA3N\#[GH]=\ [GN]=N\[G]=G\ :[H]: = EY4CH \ [HAVE] =/HAEV` [HAV]=/HAEV\ [HAS] =/HAEZ` [HAD] =/HAED` [HE] =/HIY` [HIS] =/HIHZ` [HER] =/HER` [HE'LL] =/HIYL` [HE'D] =/HIYD` [HERE]=/HIYR\ [HOUR]=AW3E>dj[[,y"< < N:#d ydC<0< @f*ydNA*<0B ԈJf Ԉ 0f,yCNhC"& @"PA 3@H@2B97Al xA #xNuHAp< (( (( f9L3 NsA #xNugraphics.library>ig@ғNuA4`$A`An`A&`A`A`A`A `A`A`A`dA`\A`6A`.A`DA`.NxXDxB΄,<CNx,.Np$(< .BJkFD c~䯾o$`D c~DDl`z, Nud& |g ~f Jf` GJgJ~` ff`O~<`~`xBJg.jD< bHF܆[Jj dRNu!T?N3~SUU???z,W}bGX@U @ @ NAB EH> *,Nx,<AN n$<A&<B"<B.,<N nh.,Nx(.,N,Nx,N,Nh*.,Nx$.,<ANh,Nx&.,<BNh"`.JN`.JNDL|NuA` FHNi&N:,.<AN xO|pJg`DL`NuJj Jjf NufNu H$b rVjzMC68343 FLOATING POINT FIRMWARE(C) COPYRIGHT 1981 BY MOTOROLA INC./,y"oNb,_Nu/,yN,_Nu/,y"o / N,_Nu(ff`O~<`~`xBJg.jD< bHF܆[Jj dRNu!T  / Sm fJfpNupnpNuL / JgSn`SaNuL / Sm fSoB`Nu H:&o oCE,yNL\NuNu2 n2ABAHA HA0 2B@H@Nu B@H@HABA"BtҁрnRAQNu/$ B$HBHAЂH@B@ $Nu/$"a$Nu/$"a $Nu/$lD"pJlDF @an4gD$Nu/ @p$lDF"lDF @aH$gD $NuH ,yL NL@Nu/,y"/N,_NuH0,yLNL@ NuH0,yLNL@ NuNNX Numathffp.library VH@^XTPNnoH.rNHLNuH,.rNHLNuA8`A@`AH`AP`AX`A``Ah`Ap`Ax`A`A`~A`tA`jA``A `VA`LAH./rN _ L>>>>> >  > $6;q&$4%5T6p8adressenblink.doc+comfiledata.basedecodeDevPac.docDisk.info^DiskEd$dontuse8dontuseAq ]dontuseFexpansionExplorer.doc$Exterminator'FileZap)futuseCfutuseEGenInst|help ,loaderlsiMetaScopemonitor.timerqqopram\piaramromseka.doc)starst.docsystem-configurationTetraMon.doc TVTxPrintD3P30!1 dd_CmdVectors rs.l 1 dd_CmdBytes rs.l 1 dd_NumCommands rs.w 1 dd_SIZEOF rs.w 0 du_Flags EQU LN_PRI IOB_QUEUED equ 4 IOF_QUEUED equ 1<<4 IOB_CURRENT equ 5 IOF_CURRENT equ 1<<5 IOB_SERVICING equ 6 IOF_SERVICING equ 1<<6 IOB_DONE equ 7 IOF_DONE equ 1<<7 DUB_STOPPED equ 0 DUF_STOPPED equ 1<<0 P_PRIORITY EQU 0 P_STKSIZE EQU $800 PB_IOR0 equ 0 PF_IOR0 equ 1<<0 PB_IOR1 equ 1 PF_IOR1 equ 1<<1 PB_EXPUNGED equ 7 PF_EXPUNGED equ 1<<7 rsset dd_SIZEOF pd_Unit rs.b MP_dJSIZE pd_PrinterSegment rs.l 1 pd_PrinterType rs.w 1 pd_SegmentData rs.l 1 pd_PrintBuf rs.l 1 pd_PWrite rs.l 1 pd_PBothReady rs.l 1 IFGT IOEXTPar_SIZE-IOEXTSER_SIZE pd_IOR0 rs.b IOEXTPar_SIZE pd_IOR1 rs.b IOEXTPar_SIZE ENDC IFLE IOEXTPar_SIZE-IOEXTSER_SIZE pd_IOR0 rs.b IOEXTSER_SIZE pd_IOR1 rs.b IOEXTSER_SIZE ENDC pd_TIOR rs.b IOTV_SIZE pd_IORPort rs.b MP_SIZE pd_TC rs.b TC_SIZE pd_Stk rs.b P_STKSIZE pd_Flags rs.b 1 pd_pad rs.b 1 pd_Preferences rs.b pf_SIZEOF pd_PWaitEnabled rsm.b 1 pd_SIZEOF rs.w 0 PPCB_GFX equ 0 PPCF_GFX equ 1<<0 PPCB_COLOR equ 1 PPCF_COLOR equ 1<<1 PPC_BWALPHA EQU 0 PPC_BWGFX EQU 1 PPC_COLORGFX EQU 3 PCC_BW EQU 1 PCC_YMC EQU 2 PCC_YMC_BW EQU 3 PCC_YMCB EQU 4 rsset 0 ped_PrinterName rs.l 1 ped_Init rs.l 1 ped_Expunge rs.l 1 ped_Open rs.l 1 ped_Close rs.l 1 ped_PrinterClass rs.b 1 ped_ColorClass rs.b 1 ped_MaxColumns rs.b 1 ped_NumCharSets rs.b 1 ped_NumRows rs.w 1 ped_MaxXDots rs.l 1 ped_MaxYDots rs.l 1 ped_XDotsInch rs?ʑ.w 1 ped_YDotsInch rs.w 1 ped_Commands rs.l 1 ped_DoSpecial rs.l 1 ped_Render rs.l 1 ped_TimeoutSecs rs.l 1 ped_SIZEOF rs.w 0 rsset 0 ps_NextSegment rs.l 1 ps_runAlert rs.l 1 ps_Version rs.w 1 ps_Revision rs.w 1 ps_PED rs.w 0 ENDC XTPar_SIZE-IOEXTSER_SIZE pd_IOR0 rs.b IOEXTSER_SIZE pd_IOR1 rs.b IOEXTSER_SIZE ENDC pd_TIOR rs.b IOTV_SIZE pd_IORPort rs.b MP_SIZE pd_TC rs.b TC_SIZE pd_Stk rs.b P_STKSIZE pd_Flags rs.b 1 pd_pad rs.b 1 pd_Preferences rs.b pf_SIZEOF pd_PWaitEnabled rsc_ $0E IECLASS_DISKREMOVED EQU $0F IECLASS_DISKINSERTED EQU $10 IECLASS_ACTIVEWINDOW EQU $11 IECLASS_INACTIVEWINDOW EQU $12 IECLASS_MAX EQU $12 IECODE_UP_PREFIX EQU $80 IECODEB_UP_PREFIX EQU 7 IECODE_KEY_CD_FIRST EQU $00 IECODE_KEY_CD_LAST EQU $77 IECODE_COMM_CD_FIRST EQU $78 IECODE_COMM_CD_LAST EQU $7F * NOTE: above four labels have changed - they were: *IECODE_KEY_CODE_FIRST EQU $00 *IECODE_KEY_CODE_LAST EQU $77 *IECODE_COMM_CODE_FIRST EQU $78 *IECODE_COlMM_CODE_LAST EQU $7F IECODE_C0_FIRST EQU $00 IECODE_C0_LAST EQU $1F IECODE_ASCII_FIRST EQU $20 IECODE_ASCII_LAST EQU $7E IECODE_ASCII_DEL EQU $7F IECODE_C1_FIRST EQU $80 IECODE_C1_LAST EQU $9F IECODE_LATIN1_FIRST EQU $A0 IECODE_LATIN1_LAST EQU $FF IECODE_LBUTTON EQU $68 IECODE_RBUTTON EQU $69 IECODE_MBUTTON EQU $6A IECODE_NOBUTTON EQU $FF IECODE_NEWACTIVE EQU $01 IECODE_REQSET EQU $01 IECODE_REQCLEAR EQU $00 IEQUALIFIER_LSHIFT EQU $0001 IEQUAzLIFIERB_LSHIFT EQU 0 IEQUALIFIER_RSHIFT EQU $0002 IEQUALIFIERB_RSHIFT EQU 1 IEQUALIFIER_CAPSLOCK EQU $0004 IEQUALIFIERB_CAPSLOCK EQU 2 IEQUALIFIER_CONTROL EQU $0008 IEQUALIFIERB_CONTROL EQU 3 IEQUALIFIER_LALT EQU $0010 IEQUALIFIERB_LALT EQU 4 IEQUALIFIER_RALT EQU $0020 IEQUALIFIERB_RALT EQU 5 IEQUALIFIER_LCOMMAND EQU $0040 IEQUALIFIERB_LCOMMAND EQU 6 IEQUALIFIER_RCOMMAND EQU $0080 IEQUALIFIERB_RCOMMAND EQU 7 IEQUALIFIER_NUMERICPAD EQU $0100 IEQUALIFIERrzcB_NUMERICPAD EQU 8 IEQUALIFIER_REPEAT EQU $0200 IEQUALIFIERB_REPEAT EQU 9 IEQUALIFIER_INTERRUPT EQU $0400 IEQUALIFIERB_INTERRUPT EQU 10 IEQUALIFIER_MULTIBROADCAST EQU $0800 IEQUALIFIERB_MULTIBROADCAST EQU 11 IEQUALIFIER_LBUTTON EQU $1000 IEQUALIFIERB_LBUTTON EQU 12 IEQUALIFIER_RBUTTON EQU $2000 IEQUALIFIERB_RBUTTON EQU 13 IEQUALIFIER_MBUTTON EQU $4000 IEQUALIFIERB_MBUTTON EQU 14 IEQUALIFIER_RELATIVEMOUSE EQU $8000 IEQUALIFIERB_RELATIVEMOUSE EQU 15 rss et 0 ie_NextEvent rs.l 1 ie_Class rs.b 1 ie_SubClass rs.b 1 ie_Code rs.w 1 ie_Qualifier rs.w 1 ie_EventAddress rs.w 0 ie_X rs.w 1 ie_Y rs.w 1 ie_TimeStamp rs.b TV_SIZE ie_SIZEOF rs.w 0 ENDC TROL EQU 3 IEQUALIFIER_LALT EQU $0010 IEQUALIFIERB_LALT EQU 4 IEQUALIFIER_RALT EQU $0020 IEQUALIFIERB_RALT EQU 5 IEQUALIFIER_LCOMMAND EQU $0040 IEQUALIFIERB_LCOMMAND EQU 6 IEQUALIFIER_RCOMMAND EQU $0080 IEQUALIFIERB_RCOMMAND EQU 7 IEQUALIFIER_NUMERICPAD EQU $0100 IEQUALIFIERo! <d(j8N$)T!(t" <d(jN <d(jN#AX`")X#p\JLg&<t")X <l(jN`r#AL$)\!($)\!($$")X <l(jN`")X#p\JPg&<t")X <l(jN`r#AP$)\!($)\!($$")X <l(jN``")X f BL`BPJLfJPf ")TBt")X <h(jN`#iX$)")< <hIN`#iX($) ") <hIN`#iX()&)Xt")< <hINB`#iX ()(&)Xt") <hINB(`JLfJPf ")TB&<t")X <h(jN`P")X"0tRgjvWg g g2 g gN g`~JLfJPfJ(gJg")< <d(jNNNqserial.deviceparallel.deviceprinter.device*#pX#pXB4(0X&),p$(jN&)t("p$(jN$) "p$(jXNN&x08#Dt p(jN#A Jf$")p(jN`&)t")p(jNNNqolt") <d(jN")HR&t(") <d(jN") <d(jTN")(!")rsEQU $200 SPECIAL_DENSITY3 EQU $300 SPECIAL_DENSITY4 EQU $400 PDERR_CANCEL EQU 1 PDERR_NOTGRAPHICS EQU 2 PDERR_INVERTHAM EQU 3 PDERR_BADDIMENSION EQU 4 PDERR_DIMENSIONOVFLOW EQU 5 PDERR_INTERNALMEMORY EQU 6 PDERR_BUFFERMEMORY EQU 7 ENDC 68 aTBC0 EQU 69 aTBC3 EQU 70 aTBC1 EQU 71 aTBC4 EQU 72 aTBCALL EQU 73 aTBSALL EQU 74 aEXTEND EQU 75 rsset IO_SIZE io_PrtCommand rs.w 1 io_Parm0 rs.b 1 io_Parm1 rs.b 1 io_Parm2 rs.b 1 io_Parm3 rs.b 1 iopcr_SIZEvY_B_EOFMODE equ 6 SERF_EOFMODE equ 1<<6 SERB_SHARED equ 5 SERF_SHARED equ 1<<5 SERB_RAD_BOOGIE equ 4 SERF_RAD_BOOGIE equ 1<<4 SERB_QUEUEDBRK equ 3 SERF_QUEUEDBRK equ 1<<3 SERB_7WIRE equ 2 SERF_7WIRE equ 1<<2 SERB_PARTY_ODD equ 1 SERF_PARTY_ODD equ 1<<1 SERB_PARTY_ON equ 0 SERF_PARTY_ON equ 1<<0 IOSERB_QUEUED equ 6 IOSERF_QUEUED equ 1<<6 IOSERB_ABORT equ 5 IOSERF_ABORT equ 1<<5 IOSERB_ACTIVE equ 4 IOSERF_ACTIVE equ 1<<4 IOSTB_XOFFREAD equ 4 IOSTF_XOFFREAD equ 1<<4 IOSTB_XOFFWRITE equ 3 vѷ8IOSTF_XOFFWRITE equ 1<<3 IOSTB_READBREAK equ 2 IOSTF_READBREAK equ 1<<2 IOSTB_WROTEBREAK equ 1 IOSTF_WROTEBREAK equ 1<<1 IOSTB_OVERRUN equ 0 IOSTF_OVERRUN equ 1<<0 rsset 0 TERMARRAY_0 rs.l 1 TERMARRAY_1 rs.l 1 TERMARRAY_SIZE rs.w 0 rsset IOSTD_SIZE IO_CTLCHAR rs.l 1 IO_RBUFLEN rs.l 1 IO_EXTFLAGS rs.l 1 IO_BAUD rs.l 1 IO_BRKTIME rs.l 1 IO_TERMARRAY rs.b TERMARRAY_SIZE IO_READLEN rs.b 1 IO_WRITELEN rs.b 1 IO_STOPBITS rs.b 1 IO_SERFLAGS rs.b 1 IO_STATUS rs.w 1 IOEXTSER_SIZE rs.w 0 vUY SerErr_DevBusy EQU 1 SerErr_BaudMismatch EQU 2 SerErr_InvBaud EQU 3 SerErr_BufErr EQU 4 SerErr_InvParam EQU 5 SerErr_LineErr EQU 6 SerErr_NotOpen EQU 7 SerErr_PortReset EQU 8 SerErr_ParityErr EQU 9 SerErr_InitErr EQU 10 SerErr_TimerErr EQU 11 SerErr_BufOverflow EQU 12 SerErr_NoDSR EQU 13 SerErr_NoCTS EQU 14 SerErr_DetectedBreak EQU 15 ENDC !DEVICES_SERIAL_I OFFREAD equ 4 IOSTF_XOFFREAD equ 1<<4 IOSTB_XOFFWRITE equ 3 V1' ; auto scroll mode ENDM M_AWM MACRO DC.B '?7' ; auto wrap mode ENDM ENDC E EQU 4 SGR_NEGATIVE EQU 7 SGR_BLACK EQU 30 SGR_RED EQU 31 SGR_GREEN EQU 32 SGR_YELLOW EQU 33 SGR_BLUE EQU 34 SGR_MAGENTA EQU 35 SGR_CYAN EQU 36 SGR_WHITE EQU 37 SGR_DEFAULT EQU 39 SGR_BLACKBG EQU 40 SGR_REDBG EQU 41 SGR_GREEzoRY_CLIP EQU 0 rsset 0 sm_Msg rs.b MN_SIZE sm_Unit rs.w 1 sm_ClipID rs.l 1 satisfyMsg_SIZEOF rs.w 0 ENDC [Vj SincludepbxMAB_AUD2 EQU 2 DMAB_AUD3 EQU 3 DMAB_DISK EQU 4 DMAB_SPRITE EQU 5 DMAB_BLITTER EQU 6 DMAB_COPPER EQU 7 DMAB_RASTER EQU 8 DMAB_MASTER EQU 9 DMAB_BLITHOG EQU 10 DMAB_BLTDONE EQU 14 DMAB_BLTNZERO EQU 13 ENDC !HARDWARE_DMABITS_I V ~ pegase avirex e ~k۳Ne 64 ND_NotUsed EQU -1 ND_NoMem EQU -2 ND_NoAudLib EQU -3 ND_MakeBad EQU -4 ND_UnitErr EQU -5 ND_CantAlloc EQU -6 ND_Unimpl EQU -7 ND_NoWrite EQU -8 ND_Expunged EQU -9 ND_PhonErr EQU -20 ND_RateErr EQU -21 ND_PitchErr EQU -22 ND_SexErr EQU -23 ND_ModeErr EQU -24 ND_FreqErr EQU -25 ND_VolErr EQU -26 rsset IOSTD_SIZE NDI_RATE rs.w 1 NDI_PITCH rs.w 1 NDI_MODE rs.w 1 NDI_SEX rs.w 1 NDI_CHMASKS rs.l 1 NDI_NUMMASKS rs.w 1 NDI_VOLUME rs.w 1 NDI_SAMPFREQ k-rs.w 1 NDI_MOUTHS rs.b 1 NDI_CHANMASK rs.b 1 NDI_NUMCHAN rs.b 1 NDI_PAD rs.b 1 NDI_SIZE rs.w 0 rsset NDI_SIZE MRB_WIDTH rs.b 1 MRB_HEIGHT rs.b 1 MRB_SHAPE rs.b 1 MRB_PAD rs.b 1 MRB_SIZE rs.w 0 ENDC 0 ROBOTICF0 EQU 1 MALE EQU 0 FEMALE EQU 1 DEFSEX EQU MALE DEFMODE EQU NATURALF0 MINRATE EQU 40 MAXRATE EQU 400 MINPITCH EQU 65 MAXPITCH EQU 320 MINFREQ EQU 5000 MAXFREQ EQU 28000 MINVOL EQU 0 MAXVOL EQU n`[DC vqrxm ~ pegase avirex  ~dvd1<<12) ADKF_UARTBRK EQU (1<<11) ADKF_WORDSYNC EQU (1<<10) ADKF_MSBSYNC EQU (1<<9) ADKF_FAST EQU (1<<8) ADKF_USE3PN EQU (1<<7) ADKF_USE2P3 EQU (1<<6) ADKF_USE1P2 EQU (1<<5) ADKF_USE0P1 EQU (1<<4) ADKF_USE3VN EQU (1<<3) ADKF_USE2V3 EQU (1<<2) ADKF_USE1V2 EQU (1<<1) ADKF_USE0V1 EQU (1<<0) ADKF_PRE000NS EQU 0 ADKF_PRE140NS EQU (ADKF_PRECOMP0) ADKF_PRE280NS EQU (ADKF_PRECOMP1) ADKF_PRE560NS EQU (ADKF_PRECOMP0!ADKF_PRECOMP1) ENDC !HARDWARE_ADKBITS_I rξOF rs.w 0 rsset IO_SIZE io_RastPort rs.l 1 io_ColorMap rs.l 1 io_Modes rs.l 1 io_SrcX rs.w 1 io_SrcY rs.w 1 io_SrcWidth rs.w 1 io_SrcHeight rs.w 1 io_DestCols rs.l 1 io_DestRows rs.l 1 io_Special rs.w 1 iodrpr_SIZEOF rs.w 0 SPECIAL_MILCOLS EQU $01 SPECIAL_MILROWS EQU $02 SPECIAL_FULLCOLS EQU $04 SPECIAL_FULLROWS EQU $08 SPECIAL_FRACCOLS EQU $10 SPECIAL_FRACROWS EQU $20 SPECIAL_ASPECT EQU $80 SPECIAL_DENSITYMASK EQU $F00 SPECIAL_DENSITY1 EQU $100 SPECIAL_DENSITY2 fA[ (1<<12) INTF_RBF EQU (1<<11) INTF_AUD3 EQU (1<<10) INTF_AUD2 EQU (1<<9) INTF_AUD1 EQU (1<<8) INTF_AUD0 EQU (1<<7) INTF_BLIT EQU (1<<6) INTF_VERTB EQU (1<<5) INTF_COPER EQU (1<<4) INTF_PORTS EQU (1<<3) INTF_SOFTINT EQU (1<<2) INTF_DSKBLK EQU (1<<1) INTF_TBE EQU (1<<0) ENDC !HARDWARE_INTBITS_I ~ pegase avirex  ~rGP6 EQU 19 aSHORP5 EQU 20 aDEN6 EQU 21 aDEN5 EQU 22 aDEN4 EQU 23 aDEN3 EQU 24 aDEN2 EQU 25 aDEN1 EQU 26 aSUS2 EQU 27 aSUS1 EQU 28 aSUS4 EQU 29 aSUS3 EQU 30 aSUS0 EQU 31 aPLU EQU 32 aPLD EQU 33 aFNT0 EQU 34 aFNT1 EQU 35 aFNT2 EQU 36 aFNT3 EQU 37 aFNT4 EQU 38 aFNT5 EQU 39 aFNT6 EQU 40 aFNT7 EQU 41 aFNT8 EQU 42 aFNT9 EQU 43 aFNT10 EQU 44 aPROP2 EQU 45 aPROP1 EQU 46 aPROP0 EQU 47 aTSS EQU 48 aJFY5 EQU 49 aJFY7 EQU 50 aJFYhǔcalled from the CLI movem.l (sp)+,d0/a0 restore regs bra end_startup and run the user prog * we were called from the Workbench fromWorkbench lea pr_MsgPort(a4),a0 CALLEXEC WaitPort wait for a message lea pr_MsgPort(a4),a0 CALLEXEC GetMsg then get it move.l d0,returnMsg save it for later reply * do some other stuff here RSN like the command line etc nop movem.l (sp)+,d0/a0 restore end_startup bsr.s _main call our program * returns to here with exit code in d0 mhChove.l d0,-(sp) save it tst.l returnMsg beq.s exitToDOS if I was a CLI CALLEXEC Forbid move.l returnMsg(pc),a1 CALLEXEC ReplyMsg exitToDOS move.l (sp)+,d0 exit code rts * startup code variable returnMsg dc.l 0 * the program starts here even _main ARIES_DOSEXTENS_I include "libraries/dosextens.i ENDC movem.l d0/a0,-(sp) save initial values clr.l returnMsg sub.l a1,a1 CALLEXEC FindTask find us move.l d0,a4 tst.l pr_CLI(a4) beq.s fromWorkbench * we were ruğ6 EQU 51 aJFY0 EQU 52 aJFY2 EQU 53 aJFY3 EQU 54 aVERP0 EQU 55 aVERP1 EQU 56 aSLPP EQU 57 aPERF EQU 58 aPERF0 EQU 59 aLMS EQU 60 aRMS EQU 61 aTMS EQU 62 aBMS EQU 63 aSTBM EQU 64 aSLRM EQU 65 aCAM EQU 66 aHTS EQU 67 aVTS EQU 68 aTBC0 EQU 69 aTBC3 EQU 70 aTBC1 EQU 71 aTBC4 EQU 72 aTBCALL EQU 73 aTBSALL EQU 74 aEXTEND EQU 75 rsset IO_SIZE io_PrtCommand rs.w 1 io_Parm0 rs.b 1 io_Parm1 rs.b 1 io_Parm2 rs.b 1 io_Parm3 rs.b 1 iopcr_SIZEW]{ EVEN ENDM LIBINIT LIB_BASE LIBDEF DR_ALLOCUNIT LIBDEF DR_FREEUNIT LIBDEF DR_GETUNIT LIBDEF DR_GIVEUNIT LIBDEF DR_GETUNITID DR_LASTCOMM EQU DR_GIVEUNIT DRT_AMIGA EQU $00000000 DRT_37422D2S EQU $55555555 DRT_EMPTY EQU $FFFFFFFF ENDC upts.i" for IS_SIZE ENDC !EXEC_INTERRUPTS_I IFND EXEC_LIBRARIES_I INCLUDE "exec/libraries.i" for various ENDC !EXEC_LIBRARIES_I rsset MN_SIZE DRU_DISCBLOCK rs.b IS_SIZE DRU_DISCSYNC rs.b IS_SIZE DRU_INDEX rs.b IS_SIZE DRU_SIZE rs.w 0 ^>cAICRF_IR EQU (1<<7) CIAICRF_SETCLR EQU (1<<7) CIACRAF_START EQU (1<<0) CIACRAF_PBON EQU (1<<1) CIACRAF_OUTMODE EQU (1<<2) CIACRAF_RUNMODE EQU (1<<3) CIACRAF_LOAD EQU (1<<4) CIACRAF_INMODE EQU (1<<5) CIACRAF_SPMODE EQU (1<<6) CIACRAF_TODIN EQU (1<<7) CIACRBF_START EQU (1<<0) CIACRBF_PBON EQU (1<<1) CIACRBF_OUTMODE EQU (1<<2) CIACRBF_RUNMODE EQU (1<<3) CIACRBF_LOAD EQU (1<<4) CIACRBF_INMODE0 EQU (1<<5) CIACRBF_INMODE1 EQU (1<<6) CIACRBF_ALARM EQU (^&r1<<7) CIACRBF_IN_PHI2 EQU 0 CIACRBF_IN_CNT EQU (CIACRBF_INMODE0) CIACRBF_IN_TA EQU (CIACRBF_INMODE1) CIACRBF_IN_CNT_TA EQU (CIACRBF_INMODE0!CIACRBF_INMODE1) CIAB_GAMEPORT1 EQU (7) CIAB_GAMEPORT0 EQU (6) CIAB_DSKRDY EQU (5) CIAB_DSKTRACK0 EQU (4) CIAB_DSKPROT EQU (3) CIAB_DSKCHANGE EQU (2) CIAB_LED EQU (1) CIAB_OVERLAY EQU (0) CIAB_COMDTR EQU (7) CIAB_COMRTS EQU (6) CIAB_COMCD EQU (5) CIAB_COMCTS EQU (4) CIAB_COMDSR EQU (3) CIAB_PRTRSEL EQU (2)^,Eֈ CIAB_PRTRPOUT EQU (1) CIAB_PRTRBUSY EQU (0) CIAB_DSKMOTOR EQU (7) CIAB_DSKSEL3 EQU (6) CIAB_DSKSEL2 EQU (5) CIAB_DSKSEL1 EQU (4) CIAB_DSKSEL0 EQU (3) CIAB_DSKSIDE EQU (2) CIAB_DSKDIREC EQU (1) CIAB_DSKSTEP EQU (0) CIAF_GAMEPORT1 EQU (1<<7) CIAF_GAMEPORT0 EQU (1<<6) CIAF_DSKRDY EQU (1<<5) CIAF_DSKTRACK0 EQU (1<<4) CIAF_DSKPROT EQU (1<<3) CIAF_DSKCHANGE EQU (1<<2) CIAF_LED EQU (1<<1) CIAF_OVERLAY EQU (1<<0) CIAF_COMDTR EQU (1<<7) CIAF_COMRTS E^WqFQU (1<<6) CIAF_COMCD EQU (1<<5) CIAF_COMCTS EQU (1<<4) CIAF_COMDSR EQU (1<<3) CIAF_PRTRSEL EQU (1<<2) CIAF_PRTRPOUT EQU (1<<1) CIAF_PRTRBUSY EQU (1<<0) CIAF_DSKMOTOR EQU (1<<7) CIAF_DSKSEL3 EQU (1<<6) CIAF_DSKSEL2 EQU (1<<5) CIAF_DSKSEL1 EQU (1<<4) CIAF_DSKSEL0 EQU (1<<3) CIAF_DSKSIDE EQU (1<<2) CIAF_DSKDIREC EQU (1<<1) CIAF_DSKSTEP EQU (1<<0) ENDC !HARDWARE_CIA_I CIAB_COMCD EQU (5) CIAB_COMCTS EQU (4) CIAB_COMDSR EQU (3) CIAB_PRTRSEL EQU (2)`1QCC equ 9 BC0B_SRCB equ 10 BC0B_SRCA equ 11 BC0F_DEST equ $100 BC0F_SRCC equ $200 BC0F_SRCB equ $400 BC0F_SRCA equ $800 BC1F_DESC equ 2 DEST equ $100 SRCC equ $200 SRCB equ $400 SRCA equ $800 ASHIFTSHIFT equ 12 BSHIFTSHIFT equ 12 LINEMODE equ $1 FILL_OR equ $8 FILL_XOR equ $10 FILL_CARRYIN equ $4 ONEDOT equ $2 OVFLAG equ $20 SIGNFLAG equ $40 BLITREVERSE equ $2 SUD equ $10 SUL equ $8 AUL equ $4 OCTANT8 equ 24 OCTANT7 equ `+ 4 OCTANT6 equ 12 OCTANT5 equ 28 OCTANT4 equ 20 OCTANT3 equ 8 OCTANT2 equ 0 OCTANT1 equ 16 ENDC !HARDWARE_BLIT_I rs.w 1 bn_beamsync rs.w 1 bn_cleanup rs.l 1 bn_SIZEOF rs.w 0 CLEANMEn equ 6 CLEANME equ 1<^Pi_Flags rs.w 1 rp_LinePtrn rs.w 1 rp_cp_x rs.w 1 rp_cp_y rs.w 1 rp_minterms rs.b 8 rp_PenWidth rs.w 1 rp_PenHeight rs.w 1 rp_Font rs.l 1 rp_AlgoStyle rs.b 1 rp_TxFlags rs.b 1 rp_TxHeight rs.w 1 rp_TxWidth rs.w 1 rp_TxBaseline rs.w 1 rp_TxSpacing rs.w 1 rp_RP_User rs.l 1 rp_wordreserved rs.b 14 rp_longreserved rs.b 8 rp_reserved rs.b 8 rp_SIZEOF rs.w 0 rsset 0 ai_VctrTbl rs.l 1 ai_VctrPtr rs.l 1 ai_FlagTbl rs.l 1 ai_FlagPtr rs.l 1 ai_Count rs.w 1 ai_MaxCount rs.w 1 ai_FirstX rs.w 1 a>wui_FirstY rs.w 1 ai_SIZEOF rs.w 0 ONE_DOTn equ 1 ONE_DOT equ $2 FRST_DOTn equ 0 FRST_DOT equ 1 ENDC <<5 RP_JAM1 EQU 0 RP_JAM2 EQU 1 RP_COMPLEMENT EQU 2 RP_INVERSVID EQU 4 RPB_TXSCALE equ 0 RPF_TXSCALE equ 1<<0 rsset 0 rp_Layer rs.l 1 rp_BitMap rs.l 1 rp_AreaPtrn rs.l 1 rp_TmpRas rs.l 1 rp_AreaInfo rs.l 1 rp_GelsInfo rs.l 1 rp_Mask rs.b 1 rp_FgPen rs.b 1 rp_BgPen rs.b 1 rp_AOLPen rs.b 1 rp_DrawMode rs.b 1 rp_AreaPtSz rs.b 1 rp_Dummy rs.b 1 rp_linpatcnt rs.b 1 rpC>7te equ -138 _LVOSetCollision equ -144 _LVOSortGList equ -150 _LVOAddAnimOb equ -156 _LVOAnimate equ -162 _LVOGetGBuffers equ -168 _LVOInitGMasks equ -174 _LVOGelsFuncE equ -180 _LVOGelsFuncF equ -186 _LVOLoadRGB4 equ -192 _LVOInitRastPort equ -198 _LVOInitVPort equ -204 _LVOMrgCop equ -210 _LVOMakeVPort equ -216 _LVOLoadView equ -222 _LVOWaitBlit equ -228 _LVOSetRast equ -234 _LVOMove equ -240 _LVODraw equ -246 _LVOAreaMove equ -252 _LVOAreaDraw equ -258 _LVOAreaEnd equ -264 _LVOWait0SlP_SIZE lr_LockMessage rs.b MN_SIZE lr_ReplyPort rs.b MP_SIZE lr_l_LockMessage rs.b MN_SIZE lr_DamageList rs.l 1 lr__cliprects rs.l 1 lr_LayerInfo rs.l 1 lr_LayerLocker rs.l 1 lr_SuperSaverClipRects rs.l 1 lr_cr rs.l 1 lr_cr2 rs.l 1 lr_crnew rs.l 1 lr__p1 rs.l 1 lr_SIZEOF rs.w 0 rsset 0 cr_Next rs.l 1 cr_Prev rs.l 1 cr_LObs rs.l 1 cr_BitMap rs.l 1 cr_MinX rs.w 1 cr_MinY rs.w 1 cr_MaxX rs.w 1 cr_MaxY rs.w 1 cr__p1 rs.l 1 cr__p2 rs.l 1 cr_reserved rs.l 1 cr_Flags rs.l 1 cr_SIZEOF rs.w0D5 0 ISLESSX equ 1 ISLESSY equ 2 ISGRTRX equ 4 ISGRTRY equ 8 ENDC lude 'exec/ports.i' for MN_SIZE,MP_SIZE ENDC rsset 0 lr_Front rs.l 1 lr_Back rs.l 1 lr_ClipRect rs.l 1 lr_RastPort rs.l 1 lr_MinX rs.w 1 lr_MinY rs.w 1 lr_MaxX rs.w 1 lr_MaxY rs.w 1 lr_Lock rs.b 1 lr_LockCount rs.b 1 lr_LayerLockCount rs.b 1 lr_reserved rs.b 1 lr_reserved1 rs.w 1 lr_Flags rs.w 1 lr_SuperBitMap rs.l 1 lr_SuperClipRect rs.l 1 lr_Window rs.l 1 lr_Scroll_X rs.w 1 lr_Scroll_Y rs.w 1 lr_LockPort rs.b M<VGmdp_reserved rs.w 1 vp_RasInfo rs.l 1 vp_SIZEOF rs.w 0 rsset 0 v_ViewPort rs.l 1 v_LOFCprList rs.l 1 v_SHFCprList rs.l 1 v_DyOffset rs.w 1 v_DxOffset rs.w 1 v_Modes rs.w 1 v_SIZEOF rs.w 0 rsset 0 cp_collPtrs rs.l 1 cp_SIZEOF rs.w 0 rsset 0 ri_Next rs.l 1 ri_BitMap rs.l 1 ri_RxOffset rs.w 1 ri_RyOffset rs.w 1 ri_SIZEOF rs.w 0 ENDC ~ pegase avirex  ~>6R equ 2 RPF_DBUFFER equ 1<<2 RPB_AREAOUTLINE equ 3 RPF_AREAOUTLINE equ 1<<3 RPB_NOCROSSFILL equ 5 RPF_NOCROSSFILL equ 1<<5 RP_JAM1 EQU 0 RP_JAM2 EQU 1 RP_COMPLEMENT EQU 2 RP_INVERSVID EQU 4 RPB_TXSCALE equ 0 RPF_TXSCALE equ 1<<0 rsset 0 rp_Layer rs.l 1 rp_BitMap rs.l 1 rp_AreaPtrn rs.l 1 rp_TmpRas rs.l 1 rp_AreaInfo rs.l 1 rp_GelsInfo rs.l 1 rp_Mask rs.b 1 rp_FgPen rs.b 1 rp_BgPen rs.b 1 rp_AOLPen rs.b 1 rp_DrawMode rs.b 1 rp_AreaPtSz rs.b 1 rp_Dummy rs.b 1 rp_linpatcnt rs.b 1 rp* AN_DRIntNoAct equ $21000002 AN_MiscRsrc equ $22000000 AN_BootStrap equ $30000000 AN_BootError equ $30000001 AN_Workbench equ $31000000 ENDC !EXEC_ALERTS_I 8400000F AN_MathLib equ $05000000 AN_CListLib equ $06000000 AN_DOSLib equ $07000000 AN_StartMem equ $07010001 AN_EndTask equ $07000002 AN_QPktFail equ $07000003 AN_AsyncPkt equ $07000004 AN_FreeVec equ $07000005 AN_DiskBlkSeq equ $07000006 AN_BitMap equ $07000007 AN_KeyFree equ $07000008 AN_BadChkSum equ $07000009 AN_Disk)UT$IZE SM_BIDS rs.w 1 SM_SIZE rs.w 0 SM_LOCKMSG EQU MP_SIGTASK ENDC !EXEC_PORTS_I qrx ~ pegase avirex  ~+#WQU SOFFSET SOFFSET SET SOFFSET+2 ENDM USHORT MACRO \1 EQU SOFFSET SOFFSET SET SOFFSET+2 ENDM LONG MACRO \1 EQU SOFFSET SOFFSET SET SOFFSET+4 ENDM ULONG MACRO \1 EQU SOFFSET SOFFSET SET SOFFSET+4 ENDM FLOAT MACRO \1 EQU SOFFSET SOFFSET SET SOFFSET+4 ENDM APTR MACRO \1 EQU SOFFSET SOFFSET SET SOFFSET+4 ENDM RPTR MACRO \1 EQU SOFFSET SOFFSET SET SOFFSET+2 ENDM STRUCT MACRO \1 EQU SOFFSET SOFFSET SET SOFFSET+\2!sH (\1),\2 ENDM PRED MACRO MOVE.L LN_PRED(\1),\2 ENDM IFEMPTY MACRO CMP.L LH_TAIL+LN_PRED(\1),\1 BEQ \2 ENDM IFNOTEMPTY MACRO CMP.L LH_TAIL+LN_PRED(\1),\1 BNE \2 ENDM TSTNODE MACRO MOVE.L (\1),\2 TST.L (\2) ENDM NEXTNODE MACRO MOVE.L \1,\2 MOVE.L (\2),\1 BEQ \3 ENDM ADDHEAD MACRO MOVE.L (A0),D0 MOVE.L A1,(A0) MOVEM.L D0/A0,(A1) MOVE.L D0,A0 MOVE.L A1,LN_PRED(A0) ENDM ADDTAIL MACRO LEA LH_TAIL(A0),A0 MOVE.L LN_PRED(A0),D0 ! "AuMOVE.L A1,LN_PRED(A0) MOVE.L A0,(A1) MOVE.L D0,LN_PRED(A1) MOVE.L D0,A0 MOVE.L A1,(A0) ENDM REMOVE MACRO MOVE.L (A1),A0 MOVE.L LN_PRED(A1),A1 MOVE.L A0,(A1) MOVE.L A1,LN_PRED(A0) ENDM REMHEAD MACRO MOVE.L (A0),A1 MOVE.L (A1),D0 BEQ.S REMHEAD\@ MOVE.L D0,(A0) EXG.L D0,A1 MOVE.L A0,LN_PRED(A1) REMHEAD\@ ENDM REMHEADQ MACRO MOVE.L (\1),\2 MOVE.L (\2),\3 MOVE.L \3,(\1) MOVE.L \1,LN_PRED(\3) ENDM REMTAIL MACRO MOVE.L LH_TAIL+LN_PRED(A0),A1!E* MOVE.L LN_PRED(A1),D0 BEQ.S REMTAIL\@ MOVE.L D0,LH_TAIL+LN_PRED(A0) EXG.L D0,A1 MOVE.L A0,(A1) ADDQ.L #4,(A1) REMTAIL\@ ENDM ENDC !EXEC_LISTS_I ED(\1),\1 BNE \2 ENDM TSTNODE MACRO MOVE.L (\1),\2 TST.L (\2) ENDM NEXTNODE MACRO MOVE.L \1,\2 MOVE.L (\2),\1 BEQ \3 ENDM ADDHEAD MACRO MOVE.L (A0),D0 MOVE.L A1,(A0) MOVEM.L D0/A0,(A1) MOVE.L D0,A0 MOVE.L A1,LN_PRED(A0) ENDM ADDTAIL MACRO LEA LH_TAIL(A0),A0 MOVE.L LN_PRED(A0),D0 #"Em request LIBDEF DEV_ABORTIO abort IO request BEGINIO MACRO LINKLIB DEV_BEGINIO,IO_DEVICE(A1) ENDM ABORTIO MACRO LINKLIB DEV_ABORTIO,IO_DEVICE(A1) ENDM DEVINIT MACRO IFC '\1','' CMD_COUNT SET CMD_NONSTD ENDC IFNC '\1','' CMD_COUNT SET \1 ENDC ENDM DEVCMD MACRO \1 EQU CMD_COUNT CMD_COUNT SET CMD_COUNT+1 ENDM DEVINIT 0 DEVCMD CMD_INVALID invalid command DEVCMD CMD_RESET reset as if just inited DEVCMD CMD_READ standard read DEVCMD CMD_WRITE standard write DEV#ʖCMD CMD_UPDATE write out all buffers DEVCMD CMD_CLEAR clear all buffers DEVCMD CMD_STOP hold current and queued DEVCMD CMD_START restart after stop DEVCMD CMD_FLUSH abort entire queue DEVCMD CMD_NONSTD ENDC !EXEC_IO_I ICE rs.l 1 IO_UNIT rs.l 1 IO_COMMAND rs.w 1 IO_FLAGS rs.b 1 IO_ERROR rs.b 1 IO_SIZE rs.w 0 IO_ACTUAL rs.l 1 IO_LENGTH rs.l 1 IO_DATA rs.l 1 IO_OFFSET rs.l 1 IOSTD_SIZE rs.w 0 IOB_QUICK equ 0 IOF_QUICK equ 1<<0 LIBINIT LIBDEF DEV_BEGINIO process IO+ \& ENDM LABEL MACRO \1 EQU SOFFSET ENDM BITDEF MACRO BITDEF0 \1,\2,B_,\3 \@BITDEF SET 1<<\3 BITDEF0 \1,\2,F_,\@BITDEF ENDM BITDEF0 MACRO \1\3\2 EQU \4 ENDM LIBRARY_VERSION EQU 31 ENDC EXEC_TYPES_I YTE MACRO \1 EQU SOFFSET SOFFSET SET SOFFSET+1 ENDM UBYTE MACRO \1 EQU SOFFSET SOFFSET SET SOFFSET+1 ENDM WORD MACRO \1 EQU SOFFSET SOFFSET SET SOFFSET+2 ENDM UWORD MACRO \1 EQU SOFFSET SOFFSET SET SOFFSET+2 ENDM SHORT MACRO \1 E'y 6) BGE.S ENABLE\@ MOVE.W #$0C000,_intena *IF_SETCLR+IF_INTEN ENABLE\@: ENDC IFNC '\1','' MOVE.L 4,\1 SUBQ.B #1,IDNestCnt(\1) BGE.S ENABLE\@ MOVE.W #$0C000,_intena ENABLE\@: ENDC ENDM TASK_ABLES MACRO XREF.L _LVOPermit changed ENDM FORBID MACRO ADDQ.B #1,TDNestCnt(A6) ENDM PERMIT MACRO JSR _LVOPermit(A6) ENDM ENDC !EXEC_ABLES_I ~ pegase avirex  ~.ZZORTIONAL equ 5 FPF_PROPORTIONAL equ 1<<5 FPB_DESIGNED equ 6 FPF_DESIGNED equ 1<<6 FPB_REMOVED equ 7 FPF_REMOVED equ 1<<7 rsset 0 ta_Name rs.l 1 ta_YSize rs.w 1 ta_Style rs.b 1 ta_Flags rs.b 1 ta_SIZEOF rs.w 0 rsset MN_SIZE tf_YSize rs.w 1 tf_Style rs.b 1 tf_Flags rs.b 1 tf_XSize rs.w 1 tf_Baseline rs.w 1 tf_BoldSmear rs.w 1 tf_Accessors rs.w 1 tf_LoChar rs.b 1 tf_HiChar rs.b 1 tf_CharData rs.l 1 tf_Modulo rs.w 1 tf_CharLoc rs.l 1 tf_CharSpace rs.l 1 tf_CharKern rs.l 1 tf_SIZ'yx-IB_BASE LIBDEF LIB_OPEN LIBDEF LIB_CLOSE LIBDEF LIB_EXPUNGE LIBDEF LIB_EXTFUNC reserved rsset LN_SIZE LIB_FLAGS rs.b 1 LIB_pad rs.b 1 LIB_NEGSIZE rs.w 1 LIB_POSSIZE rs.w 1 LIB_VERSION rs.w 1 LIB_REVISION rs.w 1 LIB_IDSTRING rs.l 1 LIB_SUM rs.l 1 LIB_OPENCNT rs.w 1 LIB_SIZE rs.w 0 LIBB_SUMMING equ 0 LIBF_SUMMING equ 1<<0 LIBB_CHANGED equ 1 LIBF_CHANGED equ 1<<1 LIBB_SUMUSED equ 2 LIBF_SUMUSED equ 1<<2 LIBB_DELEXP equ 3 LIBF_DELEXP equ 1<<3 CALLLIB MACRO IFGT NARG- x0p61 FAIL !!! CALLLIB MACRO - too many arguments !!! ENDC JSR \1(A6) ENDM LINKLIB MACRO IFGT NARG-2 FAIL !!! LINKLIB MACRO - too many arguments !!! ENDC MOVE.L A6,-(SP) MOVE.L \2,A6 CALLLIB \1 MOVE.L (SP)+,A6 ENDM ENDC !EXEC_LIBRARIES_I F LIBINIT MACRO IFC '\1','' COUNT_LIB SET LIB_USERDEF ENDC IFNC '\1','' COUNT_LIB SET \1 ENDC ENDM LIBDEF MACRO \1 EQU COUNT_LIB COUNT_LIB SET COUNT_LIB-LIB_VECTSIZE ENDM LIBINIT L<ARIMASK EQU $0F0 SIH_QUEUES EQU 5 ENDC !EXEC_INTERRUPTS_I qrx ~ pegase avirex  ~s!EXEC_INITIALIZERS_I vqrx ~ pegase avirex  ~+,00009 AN_AddSWGadget equ $8401000A AN_OpenWindow equ $8401000B AN_BadState equ $8400000C AN_BadMessage equ $8400000D AN_WeirdEcho equ $8400000E AN_NoConsole equ $8400000F AN_MathLib equ $05000000 AN_CListLib equ $06000000 AN_DOSLib equ $07000000 AN_StartMem equ $07010001 AN_EndTask equ $07000002 AN_QPktFail equ $07000003 AN_AsyncPkt equ $07000004 AN_FreeVec equ $07000005 AN_DiskBlkSeq equ $07000006 AN_BitMap equ $07000007 AN_KeyFree equ $07000008 AN_BadChkSum equ $07000009 AN_Disk~Error equ $0700000A AN_KeyRange equ $0700000B AN_BadOverlay equ $0700000C AN_RAMLib equ $08000000 AN_IconLib equ $09000000 AN_AudioDev equ $10000000 AN_ConsoleDev equ $11000000 AN_GamePortDev equ $12000000 AN_KeyboardDev equ $13000000 AN_TrackDiskDev equ $14000000 AN_TDCalibSeek equ $14000001 AN_TDDelay equ $14000002 AN_TimerDev equ $15000000 AN_TMBadReq equ $15000001 AN_CIARsrc equ $20000000 AN_DiskRsrc equ $21000000 AN_DRHasDisk equ $21000001 : get unit: already has disk-[t.l 1 TC_SPLOWER rs.l 1 TC_SPUPPER rs.l 1 TC_SWITCH rs.l 1 TC_LAUNCH rs.l 1 TC_MEMENTRY rs.b LH_SIZE TC_Userdata rs.l 1 TC_SIZE rs.w 0 TB_PROCTIME equ 0 TF_PROCTIME equ 1<<0 TB_STACKCHK equ 4 TF_STACKCHK equ 1<<4 TB_EXCEPT equ 5 TF_EXCEPT equ 1<<5 TB_SWITCH equ 6 TF_SWITCH equ 1<<6 TB_LAUNCH equ 7 TF_LAUNCH equ 1<<7 TS_INVALID EQU 0 TS_ADDED EQU TS_INVALID+1 TS_RUN EQU TS_ADDED+1 TS_READY EQU TS_RUN+1 TS_WAIT EQU TS_READY+1 TS_EXCEPT EQU TS_WAIT+1 TS_REMOV PED EQU TS_EXCEPT+1 SIGF_ABORT EQU $0001 SIGF_CHILD EQU $0002 SIGF_BLIT EQU $0010 SIGF_DOS EQU $0100 SIGB_ABORT EQU 0 SIGB_CHILD EQU 1 SIGB_BLIT EQU 4 SIGB_DOS EQU 8 SYS_SIGALLOC EQU $0FFFF SYS_TRAPALLOC EQU $08000 ENDC !EXEC_TASKS_I DNESTCNT rs.b 1 TC_SIGALLOC rs.l 1 TC_SIGWAIT rs.l 1 TC_SIGRECVD rs.l 1 TC_SIGEXCEPT rs.l 1 TC_TRAPALLOC rs.w 1 TC_TRAPABLE rs.w 1 TC_EXCEPTDATA rs.l 1 TC_EXCEPTCODE rs.l 1 TC_TRAPDATA rs.l 1 TC_TRAPCODE rs.l 1 TC_SPREG rs/~30000 AG_OpenDev equ $00040000 AG_OpenRes equ $00050000 AG_IOError equ $00060000 AO_ExecLib equ $00008001 AO_GraphicsLib equ $00008002 AO_LayersLib equ $00008003 AO_Intuition equ $00008004 AO_MathLib equ $00008005 AO_CListLib equ $00008006 AO_DOSLib equ $00008007 AO_RAMLib equ $00008008 AO_IconLib equ $00008009 AO_AudioDev equ $00008010 AO_ConsoleDev equ $00008011 AO_GamePortDev equ $00008012 AO_KeyboardDev equ $00008013 AO_TrackDiskDev equ $00008014 AO_TimerDev equ $00008015 AO_CIA0zRsrc equ $00008020 AO_DiskRsrc equ $00008021 AO_MiscRsrc equ $00008022 AO_BootStrap equ $00008030 AO_Workbench equ $00008031 AN_ExecLib equ $01000000 AN_ExcptVect equ $81000001 AN_BaseChkSum equ $81000002 AN_LibChkSum equ $81000003 AN_LibMem equ $81000004 AN_MemCorrupt equ $81000005 AN_IntrMem equ $81000006 AN_InitAPtr equ $81000007 AN_GraphicsLib equ $02000000 AN_CopDisplay equ $82010001 AN_CopInstr equ $82010002 AN_CopListOver equ $82000003 AN_CopIListOver equ $82000004 AN_CopL*oistHead equ $82010005 AN_LongFrame equ $82010006 AN_ShortFrame equ $82010007 AN_FloodFill equ $82010008 AN_TextTmpRas equ $02010009 AN_BltBitMap equ $8201000A AN_LayersLib equ $03000000 AN_Intuition equ $04000000 AN_GadgetType equ $84000001 AN_BadGadget equ $04000001 AN_CreatePort equ $84010002 AN_ItemAlloc equ $04010003 AN_SubAlloc equ $04010004 AN_PlaneAlloc equ $84010005 AN_ItemBoxTop equ $84000006 AN_OpenScreen equ $84010007 AN_OpenScrnRast equ $84010008 AN_SysScrnType equ $840/ S\s.w 1 dfh_Revision rs.w 1 dfh_Segment rs.l 1 dfh_Name rs.b MAXFONTNAME dfh_TF rs.b tf_SIZEOF dfh_SIZEOF rs.w 0 AFB_MEMORY equ 0 AFF_MEMORY equ 1<<0 AFB_DISK equ 1 AFF_DISK equ 1<<1 rsset 0 af_Type rs.w 1 af_Attr rs.b ta_SIZEOF af_SIZEOF rs.w 0 rsset 0 afh_NumEntries rs.w 1 afh_AF rs.w 0 ENDC ~ pegase avirex |9 ~3`Q.w 1 do_DefaultTool rs.l 1 do_ToolTypes rs.l 1 do_CurrentX rs.l 1 do_CurrentY rs.l 1 do_DrawerData rs.l 1 do_ToolWindow rs.l 1 do_StackSize rs.l 1 do_SIZEOF rs.w 0 WB_DISKMAGIC EQU $e310 WB_DISKVERSION EQU 1 rsset 0 fl_NumFree rs.w 1 fl_MemList rs.b LH_SIZE FreeList_SIZEOF rs.w 0 rsset 0 wo_MasterNode rs.b LN_SIZE wo_Siblings rs.b LN_SIZE wo_SelectNode rs.b LN_SIZE wo_UtilityNode rs.b LN_SIZE wo_Parent rs.l 1 wo_Flags rs.b 1 wo_Type rs.b 1 wo_UseCount rs.w 1 wo_Name rs.l 4M-H1 wo_NameXOffset rs.w 1 wo_NameYOffset rs.w 1 wo_DefaultTool rs.l 1 wo_DrawerData rs.l 1 wo_IconWin rs.l 1 wo_CurrentX rs.l 1 wo_CurrentY rs.l 1 wo_ToolTypes rs.l 1 wo_Gadget rs.b gg_SIZEOF wo_FreeList rs.b FreeList_SIZEOF wo_ToolWindow rs.l 1 wo_StackSize rs.l 1 wo_Lock rs.l 1 wo_SIZEOF rs.w 0 WOB_IconDisp equ 7 WOF_IconDisp equ 1<<7 WOB_DrawerOpen equ 6 WOF_DrawerOpen equ 1<<6 WOB_Selected equ 5 WOF_Selected equ 1<<5 WOB_Background equ 4 WOF_Background equ 1<<4 MTYPE_PSTD EQU moh] 1 MTYPE_TOOLEXIT EQU 2 MTYPE_DISKCHANGE EQU 3 MTYPE_TIMER EQU 4 MTYPE_CLOSEDOWN EQU 5 MTYPE_IOPROC EQU 6 GID_WBOBJECT EQU 0 GID_HORIZSCROLL EQU 1 GID_VERTSCROLL EQU 2 GID_LEFTSCROLL EQU 3 GID_RIGHTSCROLL EQU 4 GID_UPSCROLL EQU 5 GID_DOWNSCROLL EQU 6 GID_NAME EQU 7 GADGBACKFILL EQU $0001 NO_ICON_POSITION EQU ($80000000) ENDC rs.b LN_SIZE wo_UtilityNode rs.b LN_SIZE wo_Parent rs.l 1 wo_Flags rs.b 1 wo_Type rs.b 1 wo_UseCount rs.w 1 wo_Name rs.l jsr _LVO\1(a6) endm * macro to define name ICONNAME macro dc.b 'icon.library',0 even endm ENDC qrx ~ pegase avirex |9 ~W{KSIZE-1) rsset LN_SIZE MH_ATTRIBUTES rs.w 1 MH_FIRST rs.l 1 MH_LOWER rs.l 1 MH_UPPER rs.l 1 MH_FREE rs.l 1 MH_SIZE rs.w 0 rsset 0 MC_NEXT rs.l 1 MC_BYTES rs.l 1 MC_SIZE rs.l 1 ENDC !EXEC_MEMORY_I rx ~ pegase avirex |9 ~8ELVOEnable equ -126 _LVOForbid equ -132 _LVOPermit equ -138 _LVOSetSR equ -144 _LVOSuperState equ -150 _LVOUserState equ -156 _LVOSetIntVector equ -162 _LVOAddIntServer equ -168 _LVORemIntServer equ -174 _LVOCause equ -180 _LVOAllocate equ -186 _LVODeallocate equ -192 _LVOAllocMem equ -198 _LVOAllocAbs equ -204 _LVOFreeMem equ -210 _LVOAvailMem equ -216 _LVOAllocEntry equ -222 _LVOFreeEntry equ -228 _LVOInsert equ -234 _LVOAddHead equ -240 _LVOAddTail equ -246 _LVORemove equ -252 _LVO9w RemHead equ -258 _LVORemTail equ -264 _LVOEnqueue equ -270 _LVOFindName equ -276 _LVOAddTask equ -282 _LVORemTask equ -288 _LVOFindTask equ -294 _LVOSetTaskPri equ -300 _LVOSetSignal equ -306 _LVOSetExcept equ -312 _LVOWait equ -318 _LVOSignal equ -324 _LVOAllocSignal equ -330 _LVOFreeSignal equ -336 _LVOAllocTrap equ -342 _LVOFreeTrap equ -348 _LVOAddPort equ -354 _LVORemPort equ -360 _LVOPutMsg equ -366 _LVOGetMsg equ -372 _LVOReplyMsg equ -378 _LVOWaitPort equ -384 _LVOFindPort eq:Pu -390 _LVOAddLibrary equ -396 _LVORemLibrary equ -402 _LVOOldOpenLibrary equ -408 _LVOCloseLibrary equ -414 _LVOSetFunction equ -420 _LVOSumLibrary equ -426 _LVOAddDevice equ -432 _LVORemDevice equ -438 _LVOOpenDevice equ -444 _LVOCloseDevice equ -450 _LVODoIO equ -456 _LVOSendIO equ -462 _LVOCheckIO equ -468 _LVOWaitIO equ -474 _LVOAbortIO equ -480 _LVOAddResource equ -486 _LVORemResource equ -492 _LVOOpenResource equ -498 _LVORawIOInit equ -504 _LVORawMayGetChar equ -510 _LVORawPuw7tChar equ -516 _LVORawDoFmt equ -522 _LVOGetCC equ -528 _LVOTypeOfMem equ -534 _LVOProcure equ -540 _LVOVacate equ -546 _LVOOpenLibrary equ -552 * the only fixed location in the Amiga _SysBase equ 4 * call an exec library routine - destroys A6 CALLEXEC macro name move.l (_SysBase).w,a6 jsr _LVO\1(a6) endm * name of library though not really required EXECNAME macro dc.b 'exec.library',0 even endm ENDC Msg equ -372 _LVOReplyMsg equ -378 _LVOWaitPort equ -384 _LVOFindPort eq2KorizScroll rs.b gg_SIZEOF dd_VertScroll rs.b gg_SIZEOF dd_UpMove rs.b gg_SIZEOF dd_DownMove rs.b gg_SIZEOF dd_LeftMove rs.b gg_SIZEOF dd_RightMove rs.b gg_SIZEOF dd_HorizImage rs.b ig_SIZEOF dd_VertImage rs.b ig_SIZEOF dd_HorizProp rs.b pi_SIZEOF dd_VertProp rs.b pi_SIZEOF dd_DrawerWin rs.l 1 dd_Object rs.l 1 dd_Children rs.b LN_SIZE dd_Lock rs.l 1 dd_SIZEOF rs.w 0 DRAWERDATAFILESIZE EQU (nw_SIZE+2*(4)) rsset 0 do_Magic rs.w 1 do_Version rs.w 1 do_Gadget rs.b gg_SIZEOF do_Type rs=i Minute rs.l 1 ds_Tick rs.l 1 ds_SIZEOF rs.w 0 TICKS_PER_SECOND EQU 50 rsset 0 fib_DiskKey rs.l 1 fib_DirEntryType rs.l 1 fib_FileName rs.b 108 fib_Protection rs.l 1 fib_EntryType rs.l 1 fib_Size rs.l 1 fib_NumBlocks rs.l 1 fib_DateStamp rs.b ds_SIZEOF fib_Comment rs.b 116 fib_SIZEOF rs.w 0 FIBB_READ equ 3 FIBF_READ equ 1<<3 FIBB_WRITE equ 2 FIBF_WRITE equ 1<<2 FIBB_EXECUTE equ 1 FIBF_EXECUTE equ 1<<1 FIBB_DELETE equ 0 FIBF_DELETE equ 1<<0 BPTR MACRO \1 rs.l 1 ENDM BSTR MACRO \>`rA1 rs.l 1 ENDM rsset 0 id_NumSoftErrors rs.l 1 id_UnitNumber rs.l 1 id_DiskState rs.l 1 id_NumBlocks rs.l 1 id_NumBlocksUsed rs.l 1 id_BytesPerBlock rs.l 1 id_DiskType rs.l 1 id_VolumeNode rs.l 1 id_InUse rs.l 1 id_SIZEOF rs.w 0 ID_WRITE_PROTECTED EQU 80 ID_VALIDATING EQU 81 ID_VALIDATED EQU 82 ID_NO_DISK_PRESENT EQU -1 ID_UNREADABLE_DISK EQU 'BAD'<<8 was ('B'<<24)!('A'<<16)!('D'<<8) ID_NOT_REALLY_DOS EQU 'NDOS' was ('N'<<24)!('D'<<16)!('O'<<8)!('S') ID_DOS_DISK EQU 'DOS?aa'<<8 was ('D'<<24)!('O'<<16)!('S'<<8) ID_KICKSTART_DISK EQU 'KICK' was ('K'<<24)!('I'<<16)!('C'<<8)!('K') ERROR_NO_FREE_STORE EQU 103 ERROR_OBJECT_IN_USE EQU 202 ERROR_OBJECT_EXISTS EQU 203 ERROR_OBJECT_NOT_FOUND EQU 205 ERROR_ACTION_NOT_KNOWN EQU 209 ERROR_INVALID_COMPONENT_NAME EQU 210 ERROR_INVALID_LOCK EQU 211 ERROR_OBJECT_WRONG_TYPE EQU 212 ERROR_DISK_NOT_VALIDATED EQU 213 ERROR_DISK_WRITE_PROTECTED EQU 214 ERROR_RENAME_ACROSS_DEVICES EQU 215 ERROR_DIRECTORY_NOT_EMP@rEOTY EQU 216 ERROR_DEVICE_NOT_MOUNTED EQU 218 ERROR_SEEK_ERROR EQU 219 ERROR_COMMENT_TOO_BIG EQU 220 ERROR_DISK_FULL EQU 221 ERROR_DELETE_PROTECTED EQU 222 ERROR_WRITE_PROTECTED EQU 223 ERROR_READ_PROTECTED EQU 224 ERROR_NOT_A_DOS_DISK EQU 225 ERROR_NO_DISK EQU 226 ERROR_NO_MORE_ENTRIES EQU 232 RETURN_OK EQU 0 RETURN_WARN EQU 5 RETURN_ERROR EQU 10 RETURN_FAIL EQU 20 SIGBREAKB_CTRL_C equ 12 SIGBREAKF_CTRL_C equ 1<<12 SIGBREAKB_CTRL_D equ 13 SIGBREAKF_CTRL_D eqgJYu 1<<13 SIGBREAKB_CTRL_E equ 14 SIGBREAKF_CTRL_E equ 1<<14 SIGBREAKB_CTRL_F equ 15 SIGBREAKF_CTRL_F equ 1<<15 ENDC LIBRARIES_DOS_I 03 ERROR_OBJECT_IN_USE EQU 202 ERROR_OBJECT_EXISTS EQU 203 ERROR_OBJECT_NOT_FOUND EQU 205 ERROR_ACTION_NOT_KNOWN EQU 209 ERROR_INVALID_COMPONENT_NAME EQU 210 ERROR_INVALID_LOCK EQU 211 ERROR_OBJECT_WRONG_TYPE EQU 212 ERROR_DISK_NOT_VALIDATED EQU 213 ERROR_DISK_WRITE_PROTECTED EQU 214 ERROR_RENAME_ACROSS_DEVICES EQU 215 ERROR_DIRECTORY_NOT_EMPe6.l 1 DevList_SIZEOF rs.w 0 DLT_DEVICE EQU 0 DLT_DIRECTORY EQU 1 DLT_VOLUME EQU 2 rsset 0 fl_Link rs.l 1 fl_Key rs.l 1 fl_Access rs.l 1 fl_Task rs.l 1 fl_Volume rs.l 1 fl_SIZEOF rs.w 0 ENDC LIBRARIES_DOSEXTENS_I t rs.l 1 rn_Time rs.b ds_SIZEOF rn_RestartSeg rs.l 1 rn_Info rs.l 1 rn_SIZEOF rs.w 0 rsset 0 di_McName rs.l 1 di_DevInfo rs.l 1 di_Devices rs.l 1 di_Handlers rs.l 1 di_NetHand rs.l 1 di_SIZEOF rs.w 0 rsset 0 cli_Result2 rs.l 1 cli_SetName rs.l 1 cli_CommandCBase rs.l 1 pr_Result2 rs.l 1 pr_CurrentDir rs.l 1 pr_CIS rs.l 1 pr_COS rs.l 1 pr_ConsoleTask rs.l 1 pr_FileSystemTask rs.l 1 pr_CLI rs.l 1 pr_ReturnAddr rs.l 1 pr_PktWait rs.l 1 pr_WindowPtr rs.l 1 pr_SIZEOF rs.w 0 rsset 0 fh_Link rs.l 1 fh_Interactive rs.l 1 fh_Type rs.l 1 fh_Buf rs.l 1 fh_Pos rs.l 1 fh_End rs.l 1 fh_Funcs rs.l 1 fh_Func1 EQU fh_Funcs fh_Func2 rs.l 1 fh_Func3 rs.l 1 fh_Args rs.l 1 fh_Arg1 EQU fh_Args fh_Arg2 rs.l 1 fh_SIZEOF rs.w 0 rsset 0 dp_Link rs.l 1 dpD, ,_Port rs.l 1 dp_Type rs.l 1 dp_Res1 rs.l 1 dp_Res2 rs.l 1 dp_Arg1 rs.l 1 dp_Action EQU dp_Type dp_Status EQU dp_Res1 dp_Status2 EQU dp_Res2 dp_BufAddr EQU dp_Arg1 dp_Arg2 rs.l 1 dp_Arg3 rs.l 1 dp_Arg4 rs.l 1 dp_Arg5 rs.l 1 dp_Arg6 rs.l 1 dp_Arg7 rs.l 1 dp_SIZEOF rs.w 0 rsset 0 sp_Msg rs.b MN_SIZE sp_Pkt rs.b dp_SIZEOF sp_SIZEOF rs.w 0 ACTION_NIL EQU 0 ACTION_GET_BLOCK EQU 2 ACTION_SET_MAP EQU 4 ACTION_DIE EQU 5 ACTION_EVENT EQU 6 ACTION_CURRENT_VOLUME EQU 7 ACTIOE+N_LOCATE_OBJECT EQU 8 ACTION_RENAME_DISK EQU 9 ACTION_WRITE EQU 'W' ACTION_READ EQU 'R' ACTION_FREE_LOCK EQU 15 ACTION_DELETE_OBJECT EQU 16 ACTION_RENAME_OBJECT EQU 17 ACTION_COPY_DIR EQU 19 ACTION_WAIT_CHAR EQU 20 ACTION_SET_PROTECT EQU 21 ACTION_CREATE_DIR EQU 22 ACTION_EXAMINE_OBJECT EQU 23 ACTION_EXAMINE_NEXT EQU 24 ACTION_DISK_INFO EQU 25 ACTION_INFO EQU 26 ACTION_SET_COMMENT EQU 28 ACTION_PARENT EQU 29 ACTION_TIMER EQU 30 ACTION_INHIBIT EQUF 31 ACTION_DISK_TYPE EQU 32 ACTION_DISK_CHANGE EQU 33 rsset 0 dl_lib rs.b LIB_SIZE dl_Root rs.l 1 dl_GV rs.l 1 dl_A2 rs.l 1 dl_A5 rs.l 1 dl_A6 rs.l 1 dl_SIZEOF rs.w 0 rsset 0 rn_TaskArray rs.l 1 rn_ConsoleSegment rs.l 1 rn_Time rs.b ds_SIZEOF rn_RestartSeg rs.l 1 rn_Info rs.l 1 rn_SIZEOF rs.w 0 rsset 0 di_McName rs.l 1 di_DevInfo rs.l 1 di_Devices rs.l 1 di_Handlers rs.l 1 di_NetHand rs.l 1 di_SIZEOF rs.w 0 rsset 0 cli_Result2 rs.l 1 cli_SetName rs.l 1 cli_CommandA!Dir rs.l 1 cli_ReturnCode rs.l 1 cli_CommandName rs.l 1 cli_FailLevel rs.l 1 cli_Prompt rs.l 1 cli_StandardInput rs.l 1 cli_CurrentInput rs.l 1 cli_CommandFile rs.l 1 cli_Interactive rs.l 1 cli_Background rs.l 1 cli_CurrentOutput rs.l 1 cli_DefaultStack rs.l 1 cli_StandardOutput rs.l 1 cli_Module rs.l 1 cli_SIZEOF rs.w 0 rsset 0 dl_Next rs.l 1 dl_Type rs.l 1 dl_Task rs.l 1 dl_Lock rs.l 1 dl_VolumeDate rs.b ds_SIZEOF dl_LockList rs.l 1 dl_DiskType rs.l 1 dl_unused rs.l 1 dl_Name rsH ; lower word of plane addr in ram add.l #planesize,d1 ; address of next computed plane dbf d4,makecl ; decrement and loop while not zero move.l #$fffffffe,(a0) ; end of copper list ; dma activated and task desabled jsr forbid(a6) lea $dff000,a5 move.w #$03e0,dmacon(a5) ; copper initialized move.l cladr,cop1lc(a5) clr.w copjmp1(a5) ; create color palette moveq #31,d0 ; counter of color registers lea color00(a5),a1 moveq IF#1,d1 ; first color setab: move.w d1,(a1)+ ; color in corresponding register mulu #3,d1 ; compute next color dbf d0,setab ; decrement and loop while not zero ; initialize playfield move.w #$3081,diwstrt(a5) ; standard values for move.w #$30c1,diwstop(a5) ; screen window move.w #$0038,ddfstrt(a5) ; and bitplane dma move.w #$00d0,ddfstop(a5) move.w #%0110001000000000,bplcon0(a5) ; 6 bitplanes clr.w bplcon1(a5)Ji8 ; no scrolling clr.w bplcon2(a5) ; no priority clr.w bpl1mod(a5) ; all planes modulo = 0 clr.w bpl2mod(a5) ; activate dma move.w #$8380,dmacon(a5) ; modify bitplane moveq #40,d5 ; bytes per line clr.l d2 ; begin with color 0 loop: clr.l d0 move.w vhposr(a5),d0 ; random value in d0 and.w #$3ffe,d0 ; mask off unneeded bits cmp.w #$2580,d0 ; compare with one plane s KEize bcs cont ; if less, continue and.w #$1ffe,d0 ; else erase highest bit cont: move.l planeadr,a4 add.l d0,a4 moveq #5,d4 move.l d2,d3 block: clr.l d1 lsr #1,d3 ; one bit of color in X flag negx.w d1 ; d1 equals X flag moveq #15,d0 ; 16 lines per block move.l a4,a3 ; block address in work register fill: move.w d1,(a3) ; word stored in bitplane  LBq+ add.l d5,a3 ; go to next line dbf d0,fill ; loop while not zero add.l #planesize,a4 ; next bitplane dbf d4,block addq.b #1,d2 ; next color btst #6,ciaapra ; check mouse button bne loop ; if not pressed, continue ; *** end of program *** ; activate old copper list move.l #grname,a1 ; parameter to init OpenLibrary clr.l d0 jsr openlibrary(a6) ; open graphics l M ibrary move.l d0,a4 move.l startlist(a4),cop1lc(a5) ; address of start of list clr.w copjmp1(a5) move.w #$8060,dmacon(a5) ; re-initialize dma channel jsr permit(a6) ; re-enable tast switching ; free copper-list memory move.l cladr,a1 ; parameter to initialize freemem moveq #clsize,d0 jsr freemem(a6) ; free memory ; free bitplanes memory freeplane: move.l planeadr,a1 move.l #planesize*6,d0 jsr freemem(a6) finish:  clr.l d0 rts ; end of program ; identifiers cladr: dc.l 0 planeadr: dc.l 0 ; constants grname: dc.b "graphics.library",0 end ; end of program  ; next color btst #6,ciaapra ; check mouse button bne loop ; if not pressed, continue ; *** end of program *** ; activate old copper list move.l #grname,a1 ; parameter to init OpenLibrary clr.l d0 jsr openlibrary(a6) ; open graphics l? + st equ -138 _LVOCopyCList equ -144 _LVOSubCList equ -150 _LVOConcatCList equ -156 CALLCLIST macro move.l _ClistBase,a6 jsr _LVO\1(a6) endm CLISTNAME macro dc.b 'clist.library',0 even endm rx ~ pegase avirex |9 ~P HiSoft 1987 00000000 bytes free0JTdn~(6_DOSBase_GfxBase_IntuitionBaseclosewindow convspacesdosnamegoawaycloseallgoawayclosegraf&goawaycloseint4goawayfastBgrafnamehexclpHhexconvertFhexdigXintnamemainlooprmessagetestnoconvspaces|L{nomessageoldfreememthestringwindowdeffwindowptrwindowtitleJg##r,xN(gR#AHaA@p 0f Qpr"zH"i2,yN"z6"i2Ap,yN z hV,xNJg "@,xN`"<,yN:`j z,yN"y,xNb"y,xNb"y,xNbpNur$< o^0 QNu22intuition.librarygraphics.librarydos.library qqu -150 _LVOUnLoadSeg equ -156 _LVOGetPacket equ -162 _LVOQueuePacket equ -168 _LVODeviceProc equ -174 _LVOSetComment equ -180 _LVOSetProtection equ -186 _LVODateStamp equ -192 _LVODelay equ -198 _LVOWaitForChar equ -204 _LVOParentDir equ -210 _LVOIsInteractive equ -216 _LVOExecute equ -222 * macro to call the dos library CALLDOS macro name move.l _DOSBase,a6 jsr _LVO\1(a6) endm * the library name is defined in libraries/dos.i as DOSNAME ENDC |9 ~S1A/]N_REV,d0 version lea int_name(pc),a1 CALLEXEC OpenLibrary tst.l d0 beq exit_false if failed then quit move.l d0,_IntuitionBase else save the pointer moveq #GRAPHICS_REV,d0 lea graf_name(pc),a1 CALLEXEC OpenLibrary tst.l d0 beq exit_closeint if failed then close Int, exit move.l d0,_GfxBase lea NewScreen(pc),a0 CALLINT OpenScreen open a screen tst.l d0 beq exit_closeall if failed the close both, exit move.l d0,Screen * now initialise a NewWindow structure. This T\seAis normally easier to * do with dc.w/dc.l statement etc, but for comparison with the C * version we do it like this lea NewWindow(pc),a0 good place to start move.w #20,nw_LeftEdge(a0) move.w #20,nw_TopEdge(a0) move.w #300,nw_Width(a0) move.w #100,nw_Height(a0) move.b #0,nw_DetailPen(a0) move.b #1,nw_BlockPen(a0) move.l #window_title,nw_Title(a0) _temp set WINDOWCLOSE!SMART_REFRESH!ACTIVATE!WINDOWSIZING move.l #_temp!WINDOWDRAG!WINDOWDEPTH,nw_Flags(a0) move.l #CLOSEWINDOW,nwU>z_IDCMPFlags(a0) move.w #CUSTOMSCREEN,nw_Type(a0) clr.l nw_FirstGadget(a0) clr.l nw_CheckMark(a0) move.l Screen(pc),nw_Screen(a0) clr.l nw_BitMap(a0) move.w #100,nw_MinWidth(a0) move.w #25,nw_MinHeight(a0) move.w #640,nw_MaxWidth(a0) move.w #200,nw_MaxHeight(a0) * thats it set up, now open the window (a0=NewWindow already) CALLINT OpenWindow tst.l d0 beq exit_closescr if failed move.l d0,Window save it move.l d0,a1 window move.l wd_RPort(a1),a1 rastport moveV q #20,d0 X moveq #20,d1 Y CALLGRAF Move move the cursor move.l Window(pc),a0 move.l wd_RPort(a0),a1 rastport lea hello_message(pc),a0 moveq #11,d0 CALLGRAF Text print something move.l Window(pc),a0 move.l wd_UserPort(a0),a0 move.b MP_SIGBIT(a0),d1 (misprint in manual) moveq #0,d0 bset d1,d0 do a shift CALLEXEC Wait moveq #0,d4 return code * various exit routines that do tidying up, given a return code in d4 move.l Window(pc),a0 CALLINT CloseWWܸindow exit_closescr move.l Screen(pc),a0 CALLINT CloseScreen exit_closeall move.l _GfxBase(pc),a1 CALLEXEC CloseLibrary exit_closeint move.l _IntuitionBase(pc),a1 CALLEXEC CloseLibrary exit_false move.l d4,d0 return code rts * the definition of the screen - note that in assembler you * MUST get the sizes of these fields correct, but consulting either * the RKM of the header file NewScreen dc.w 0,0 left, top dc.w 320,200 width, height dc.w 2 depth dc.b 0,1 pXdIpens dc.w 0 viewmodes dc.w CUSTOMSCREEN type dc.l MyFont font dc.l screen_title title dc.l 0 gadgets dc.l 0 bitmap * my font definition MyFont dc.l font_name dc.w TOPAZ_SIXTY dc.b FS_NORMAL dc.b FPF_ROMFONT * the variables _IntuitionBase dc.l 0 Intuition lib pointer _GfxBase dc.l 0 graphics lib pointer Screen dc.l 0 Window dc.l 0 NewWindow ds.b nw_SIZE a buffer * some strings int_name INTNAME graf_name GRAFNAME hello_message dc.b 'Hello World' * these are vC strings, so have to be null terminated screen_title dc.b 'My Own Screen',0 font_name dc.b 'topaz.font',0 window_title dc.b 'A Simple Window',0 e.l _IntuitionBase(pc),a1 CALLEXEC CloseLibrary exit_false move.l d4,d0 return code rts * the definition of the screen - note that in assembler you * MUST get the sizes of these fields correct, but consulting either * the RKM of the header file NewScreen dc.w 0,0 left, top dc.w 320,200 width, height dc.w 2 depth dc.b 0,1 pZ 3e ctrl register 1 (scrolling) bplcon2 = $104 ; bitplane ctrl register 2 (sprite<>playfield prty) bpl1pth = $0e0 ; first bitplane bpl1ptl = $0e2 ; pointer bpl1mod = $108 ; modulo for odd planes bpl2mod = $10a ; modulo for even planes diwstrt = $08e ; start of screen window diwstop = $090 ; end of screen window ddfstrt = $092 ; start of bitplane dma ddfstop = $094 ; end of bitplane dma ; register for mouse button (cia-a port a) ciaapra = $bfe001 ; exec library base[˛E] offsets openlibrary = -30-522 ; a1=libname,d0=version forbid = -30-102 permit = -30-108 allocmem = -30-168 ; d0=bytesize,d1=requirements freemem = -30-180 ; a1=memory blocks,d0=bytesize ; graphics base startlist = 38 ; other labels execbase = 4 planesize = 40*256 ; 40 bytes times 256 lines clsize = 13*4 ; 13 copper instructions chip = 2 ; need chip ram clear = chip+$10000 ; chip ram reserved start: ; allocate ram for bi\~2tplanes move.l execbase,a6 move.l #planesize*6,d0 ; ram needed for all planes move.l #clear,d1 ; ram filled with zeroes jsr allocmem(a6) ; ask for allocation move.l d0,planeadr ; store first plane address beq finish ; error --> end of program ; allocate ram for copper list moveq #clsize,d0 ; copper list size moveq #chip,d1 jsr allocmem(a6) ; ask for allocation move.l d0,cladr ; store copper list address bG}&eq freeplane ; error --> free plane memory ; install copper list moveq #5,d4 ; 6 planes --> 6 loops move.l d0,a0 move.l planeadr,d1 move.w #bpl1pth,d3 ; first register in d3 makecl: move.w d3,(a0)+ ; bplxpth in ram addq.w #2,d3 ; next register swap d1 move.w d1,(a0)+ ; upper word of plane addr in ram move.w d3,(a0)+ ; bplxpth in ram addq.w #2,d3 ; next register swap d1 move.w d1,(a0)+^kdnvert * replace leading zeros with spaces lea thestring(pc),a0 moveq #7-1,d0 max to do convspaces cmp.b #'0',(a0) bne.s noconvspaces move.b #' ',(a0)+ dbf d0,convspaces convert them noconvspaces * move the cursor to a suitable place moveq #4,d0 x posn moveq #20,d1 y posn move.l windowptr(pc),a1 move.l wd_RPort(a1),a1 get rastport for window CALLGRAF Move * and print the string move.l windowptr(pc),a1 move.l wd_RPort(a1),a1 lea thestring(pc),a0 string m_2.oveq #thestringlen,d0 length CALLGRAF Text * now see if a message is waiting for me messagetest move.l windowptr(pc),a0 move.l wd_UserPort(a0),a0 windows message port CALLEXEC GetMsg tst.l d0 beq.s nomessage * there was a message, which in our case must be CLOSEWINDOW, * so we should reply then go away move.l d0,a1 CALLEXEC ReplyMsg bra.s closewindow * no messages waiting, so suspend myself for a short while then * do it all agaun nomessage move.l #timeout,d1 CALLDOS D`Relay wait a while bra mainloop * close clicked so close the window closewindow move.l windowptr(pc),a0 CALLINT CloseWindow * close all the libraries goawaycloseall move.l _DOSBase,a1 CALLEXEC CloseLibrary * close the graphics library goawayclosegraf move.l _GfxBase,a1 CALLEXEC CloseLibrary * finished so close Intuition library goawaycloseint move.l _IntuitionBase,a1 CALLEXEC CloseLibrary goawayfast moveq #0,d0 rts * convert d0.l into a string at (a0) onwards in hea[bx hexconvert moveq #8-1,d1 digit count hexclp rol.l #4,d0 move.l d0,d2 save it and.b #$f,d0 cmp.b #9,d0 ble.s hexdig addq.b #7,d0 hexdig add.b #'0',d0 move.b d0,(a0)+ do a digit move.l d2,d0 restore long dbf d1,hexclp do all of the digits rts * window definition here windowdef dc.w 50,50 x posn, y posn dc.w 200,25 width,height dc.b -1,-1 default pens dc.l CLOSEWINDOW easy IDCMP flag dc.l WINDOWDEPTH!WINDOWCLOSE!SMART_REFRESH!ACTIVATE!WINDOWDRAG dc.l b! s 0 no gadgets dc.l 0 no checkmarks dc.l windowtitle title of window dc.l 0 no screen dc.l 0 no bitmap dc.w 0,0,0,0 minimum, irrelevant as no sizing gadget dc.w WBENCHSCREEN in workbench * strings here intname INTNAME name of intuition lib grafname GRAFNAME name of graphics library dosname DOSNAME name of dos library windowtitle dc.b ' ',$a9,' HiSoft 1987 ',0 thestring dc.b '00000000 bytes free' thestringlen equ *-thestring * variables here _Intui tionBase dc.l 0 for int library _GfxBase dc.l 0 for graphics library _DOSBase dc.l 0 for dos library windowptr dc.l 0 for window ptr oldfreemem dc.l 0 for freemem 0)+ do a digit move.l d2,d0 restore long dbf d1,hexclp do all of the digits rts * window definition here windowdef dc.w 50,50 x posn, y posn dc.w 200,25 width,height dc.b -1,-1 default pens dc.l CLOSEWINDOW easy IDCMP flag dc.l WINDOWDEPTH!WINDOWCLOSE!SMART_REFRESH!ACTIVATE!WINDOWDRAG dc.ldP .L4 .L2: MOVE.L D3,-(SP) * STACK OFFSET 4 JSR _CloseWindow * STACK OFFSET 0 ADDQ.L #4,SP .L1: MOVEM.L (SP)+,D2/D3 RTS DATA .L7: DC.B 'Hello World ' DC.B 10,0 .L8: DC.B 'graphics' DC.B 46 DC.B 'library' DC.B 0 DCB.B 1,0 .L9: DC.B 'intuition' DC.B 46 DC.B 'library' DC.B 0 * ALLOCATIONS FOR _main * D3 _w * D2 _i CODE DATA XDEF _TestFont _TestFont: DC.L .L12 DC.B 0 DC.B 8 DCB.B 1,0 DCB.B 1,0 .L12: DC.B 'topaz' DC.B 46 DC.B 'font' DC.B 0 DCB.B 1,0 XDEF _mywe+nindow _mywindow: DC.B 0 DC.B 20 DC.B 0 DC.B 20 DC.B 1 DC.B 44 DC.B 0 DC.B 100 DC.B 255 DC.B 255 DC.B 2 DC.B 0 DC.B 0 DC.B 0 DC.B 0 DC.B 15 DCB.B 4,0 DCB.B 4,0 DC.L .L13 DCB.B 4,0 DCB.B 4,0 DC.B 0 DC.B 20 DC.B 0 DC.B 20 DC.B 2 DC.B 128 DC.B 0 DC.B 200 DC.B 0 DC.B 1 .L13: DC.B 'My first window' DC.B 0 XDEF _GfxBase _GfxBase: DC.B 0 DC.B 0 DC.B 0 DC.B 0 XDEF _IntuitionBase _IntuitionBase: DC.B 0 DC.B 0 DC.B 0 DC.B 0 XREF _OpenWindow XREF _printf *r XREF _OpenLibrary XREF _WaitTOF XREF _CloseWindow * ALLOCATIONS FOR MODULE * IMPORT _dosBase * COMMON _TestFont * COMMON _mywindow * COMMON _GfxBase * COMMON _IntuitionBase CODE END ics' DC.B 46 DC.B 'library' DC.B 0 DCB.B 1,0 .L9: DC.B 'intuition' DC.B 46 DC.B 'library' DC.B 0 * ALLOCATIONS FOR _main * D3 _w * D2 _i CODE DATA XDEF _TestFont _TestFont: DC.L .L12 DC.B 0 DC.B 8 DCB.B 1,0 DCB.B 1,0 .L12: DC.B 'topaz' DC.B 46 DC.B 'font' DC.B 0 DCB.B 1,0 XDEF _mywgskbrarygraphics.libraryHello WorldMy Own Screentopaz.fontA Simple Window2<Lz"0dhtMyFonttNewScreenTNewWindowScreenWindow_GfxBase_IntuitionBase|exit_closeall8exit_closeintDexit_closescr*exit_falsePfont_namegraf_namehello_messageint_namescreen_titlewindow_title ⺠xdpC,xNJg<#|pC,xNJg#A,y|N:Jg#A:1|1|1|,1|d|| !|!|!| 1|.BB!zB"1|d&1|(1|*1|,,y|N4Jg\#"@"i2pr,yN z"h2Ap ,yN z hV(p,xNx zj,y|N zX,y|N"zF,xNb"z6,xNb Nu@t intuition.lii7jBase store lib pointer * and open the graphics library lea grafname(pc),a1 moveq #0,d0 CALLEXEC OpenLibrary tst.l d0 beq goawaycloseint move.l d0,_GfxBase * and open a DOS library lea dosname(pc),a1 moveq #0,d0 CALLEXEC OpenLibrary tst.l d0 beq goawayclosegraf move.l d0,_DOSBase * open a window next lea windowdef(pc),a0 CALLINT OpenWindow tst.l d0 beq goawaycloseall if no window move.l d0,windowptr store the pointer move.l #-1,oldfreemem * the main loop - j(Աdisplay the figure, then wait, then loop mainloop moveq #MEMF_PUBLIC,d1 CALLEXEC AvailMem get the figure * got free mem, see if changed since last time cmp.l oldfreemem,d0 beq messagetest dont print if the same move.l d0,oldfreemem * free memory in d0.l, so convert to a hex string * converting to decimal is left as an exercise to the reader! lea thestring(pc),a0 bsr hexconvert * replace leading zeros with spaces lea thestring(pc),a0 moveq #7-1,d0 max to do convspkBtaces cmp.b #'0',(a0) bne.s noconvspaces move.b #' ',(a0)+ dbf d0,convspaces convert them noconvspaces * move the cursor to a suitable place moveq #4,d0 x posn moveq #20,d1 y posn move.l windowptr(pc),a1 move.l wd_RPort(a1),a1 get rastport for window CALLGRAF Move * and print the string move.l windowptr(pc),a1 move.l wd_RPort(a1),a1 lea thestring(pc),a0 string moveq #thestringlen,d0 length CALLGRAF Text * now see if a message is waiting for me messagetest l move.l windowptr(pc),a0 move.l wd_UserPort(a0),a0 windows message port CALLEXEC GetMsg tst.l d0 beq.s nomessage * there was a message, which in our case must be CLOSEWINDOW, * so we should reply then go away move.l d0,a1 CALLEXEC ReplyMsg bra.s closewindow * no messages waiting, so suspend myself for a short while then * do it all agaun nomessage move.l #timeout,d1 CALLDOS Delay wait a while bra mainloop * close clicked so close the window closewindow move.l windowpm ohich version CALLEXEC OpenLibrary tst.l d0 beq goawayfast if didnt open move.l d0,_IntuitionBase store lib pointer * and open the graphics library lea grafname(pc),a1 moveq #0,d0 CALLEXEC OpenLibrary tst.l d0 beq goawaycloseint move.l d0,_GfxBase * and open a DOS library lea dosname(pc),a1 moveq #0,d0 CALLEXEC OpenLibrary tst.l d0 beq goawayclosegraf move.l d0,_DOSBase * open a window next lea windowdef(pc),a0 CALLINT OpenWindow tst.l d0 beq goawaycloseall  tl 5 graphic blocks * * A1 points at BODY-2 A0 at destination for data * * D1 is pixels wide D2 is pixels deep * CONVERT_BRUSH MOVE.L A6,A0 LEA V,A5 MOVE D2,GDEPTH-V(A5) ADD.L #2,A1 MOVE D1,D3 MOVE D3,D4 LSR #3,D3 AND #$F,D4 BNE CB1 SUBQ #1,D3 CB1 MOVE D3,D4 AND #$FFFE,D4 ADDQ #2,D4 MOVE D4,GWIDTH-V(A5) MULU D2,D4 MOVE.L A0,A2 ADD D4,A2 MOVE.L A2,A3 ADD D4,A3 MOVE.L A3,A4 A uX#DD D4,A4 MOVE.L A4,A5 ADD D4,A5 LSR #1,D3 MOVE D3,D5 TST D7 BNE COMPRESSED NC20 MOVE.W (A1)+,(A0)+ DBRA D3,NC20 MOVE D5,D3 NC21 MOVE.W (A1)+,(A2)+ DBRA D3,NC21 MOVE D5,D3 NC22 MOVE.W (A1)+,(A3)+ DBRA D3,NC22 MOVE D5,D3 NC23 MOVE.W (A1)+,(A4)+ DBRA D3,NC23 MOVE D5,D3 NC24 MOVE.W (A1)+,(A5)+ DBRA D3,NC24 MOVE D5,D3 SUBQ #1,D2 BNE NC20 MOVE.L A5,A6 RTS * Move the ColourvI Data from DISC_BUFFER into the hardware colour register * SET_COLOURS LEA DISC_BUFFER,A1 BSR WORD_TO_BUF ADDQ #2,A1 LEA COLOUR0+CUSTOM,A0 MOVE #$1F,D0 GET_CMAP BSR WORD_TO_BUF CMP.L #'CMAP',WORD_BUF BEQ START_LOAD ADD.W (A1)+,A1 BRA GET_CMAP START_LOAD ADDQ #2,A1 COL_LOOP CLR D1 MOVE.B (A1)+,D1 ASL #4,D1 OR.B (A1)+,D1 CLR D2 MOVE.B (A1)+,D2 LSR #4,D2 OR D2,D1 MOVE D1,(A0)+ w>n DBRA D0,COL_LOOP RTS COMPRESSED ASL #1,D3 ASL #1,D5 COMP1 MOVE.L A0,A6 BSR DECOMP_LINE MOVE.L A6,A0 MOVE.L A2,A6 BSR DECOMP_LINE MOVE.L A6,A2 MOVE.L A3,A6 BSR DECOMP_LINE MOVE.L A6,A3 MOVE.L A4,A6 BSR DECOMP_LINE MOVE.L A6,A4 MOVE.L A5,A6 BSR DECOMP_LINE MOVE.L A6,A5 SUBQ #1,D2 BNE COMP1 RTS DECOMP_LINE MOVE.B (A1)+,D0 EXT.W D0 TST D0 BMI ISCOMP L_NC MOVxE.B (A1)+,(A6)+ SUBQ #1,D3 DBRA D0,L_NC TST D3 BPL DECOMP_LINE MOVE D5,D3 RTS ISCOMP NEG D0 L_ISC MOVE.B (A1),(A6)+ SUBQ #1,D3 DBRA D0,L_ISC ADD #1,A1 TST D3 BPL DECOMP_LINE MOVE D5,D3 RTS GET_AND_TEST BSR WORD_TO_BUF CMP.L #'BODY',WORD_BUF RTS WORD_TO_BUF LEA WORD_BUF,A2 WTB1 MOVE.B (A1),(A2)+ TST.B (A1)+ BNE WTB1 ADD.L #1,A1 RTS WORD_BUF DC.L 0,0,0 ** Prinymt up the data at PLAYFIELDXY as a screen full of 'chite' data *** NEWSCREEN LEA V,A5 MOVE PLAYFIELDY-V(A5),D0 MOVE D0,D2 MULU #160,D0 D2 is y pos MOVE PLAYFIELDX-V(A5),D3 ASL #1,D3 ADD D3,D0 D3 is x pos * 2 for word LEA PLAYFIELD,A2 ADD D0,A2 A2 points at first PLAYFIELD pos'n CLR.L D0 D0 is xy pixel pos NS_L1 SWAP D0 NS_L2 MOVE.L #$00040020,D1 D1 size data for blitter LzEA SCREEN,A1 A1 is first bitplane LEA GRAPHIC,A0 MOVE.W (A2)+,D4 AND #$FF,D4 MULU #(8*4*4*5),D4 ADD D4,A0 A0 points at graphic data MOVEM.L D0-D3/A0-A2,-(SP) BSR BLIT_5_PLANE MOVEM.L (SP)+,D0-D3/A0-A2 SWAP D0 ADD #$20,D0 CMP #$140,D0 BNE NS_L1 ADD #140,A2 Point A2 at next line down CLR D0 SWAP D0 ADD #$20,D0 CMP #$80,D0 BNE NS_L2 BSR BLIT_BIT_MASK LEA V,{A5 MOVE PLAYFIELDY-V(A5),D0 MOVE D0,D2 MULU #160,D0 D2 is y pos MOVE PLAYFIELDX-V(A5),D3 ASL #1,D3 ADD D3,D0 D3 is x pos * 2 for word LEA PLAYFIELD,A2 ADD D0,A2 A2 points at first PLAYFIELD pos'n CLR.L D0 D0 is xy pixel pos NS_L1_BAK SWAP D0 NS_L2_BAK MOVE.L #$00040020,D1 D1 size data for blitter LEA SCREEN,A1 A1 is first bitplane LEA GRAPHIC,A0 MOVE.W (A2)+,D4|9V LSR #8,D4 MULU #(8*4*4*5),D4 ADD D4,A0 A0 points at graphic data MOVEM.L D0-D3/A0-A2,-(SP) LEA BITPLANE6,A2 BSR BLIT_5_PLANE_MASKED MOVEM.L (SP)+,D0-D3/A0-A2 SWAP D0 ADD #$20,D0 CMP #$140,D0 BNE NS_L1_BAK ADD #140,A2 Point A2 at next line down CLR D0 SWAP D0 ADD #$20,D0 CMP #$80,D0 BNE NS_L2_BAK LEA V,A5 RTS * BLIT the current number (foreground or background) graphOўdic, to show * * what will be placed on screen with the mouse * BLIT_CURRENT MOVEM.L D0-D2/A0/A1/A5,-(SP) MOVE CURNUM,D0 MULU #(8*4*4*5),D0 MOVE.L #$00040020,D1 D1 size data for blitter LEA SCREEN,A1 A1 is first bitplane LEA GRAPHIC,A0 ADD D0,A0 MOVE.L #$F00084,D0 BSR BLIT_5_PLANE MOVEM.L (SP)+,D0-D2/A0/A1/A5 RTS LEA SCREEN,A1 A1 is first bitplane LEA GRAPHIC,A0 MOVE.W (A2)+,D4hos incdir ":include/" include intuition/intuition.i include intuition/intuition_lib.i include exec/exec_lib.i include graphics/graphics_lib.i include exec/memory.i include libraries/dos_lib.i include libraries/dos.i * constant for frequency of re-display timeout equ 25 in 50ths of a second * firstly open the intuition library lea intname(pc),a1 moveq #0,d0 dont care which version CALLEXEC OpenLibrary tst.l d0 beq goawayfast if didnt open move.l d0,_Intuition`yYYYYY `^~ ZATBSC @D A0~10~1~11~2~12~3~13~4~14~5~15~6~16~7~17~8~18~9~19~?~gb&@($  `\XTPD$  *&" 3SsDd䣣Ll:;:;"'@'456ZzXxCcVvBbHMm<,<,>.>.?/?/.789 u:,A6 MOVE.L #$291,COLOUR0(A6) RTS * Load a brush file at DISC_BUFFER LOAD_BRUSH MOVE.L A0,D1 MOVE.L #1005,D2 CALL Open,DISCBASE LEA V,A5 MOVE.L D0,FILE-V(A5) BEQ LERROR MOVE.L D0,D1 MOVE.L #DISC_BUFFER,D2 MOVE.L #$8000,D3 CALL Read,DISCBASE LEA V,A5 MOVE.L FILE-V(A5),D1 CALL Close,DISCBASE * Now follows a routine to take the brush data at DISC_BUFFER * and get the 'compressed' flag, x size, y size a s1nd point at data block BRUSH_TEST LEA DISC_BUFFER,A1 BSR WORD_TO_BUF CMP.L #'FORM',WORD_BUF BNE GTERR ADD.L #2,A1 BSR WORD_TO_BUF MOVE (A1)+,D0 MOVE (A1)+,D1 Pixels wide in D1 MOVE (A1)+,D2 Pixels deep in D2 ADD #6,A1 MOVE (A1)+,D7 Compression flag in D7 SUBQ #$8,D0 ADD D0,A1 BTEST1 BSR GET_AND_TEST BEQ CONVERT_BRUSH ADD.W (A1)+,A1 BRA BTEST1 * Convert a DPaint2 brush BODY to[ DC.B $00,$00,$00 Colour register byte map * DC.B $E0,$C0,$A0 Red, Green, Blue * DC.B $00,$00,$00 * DC.B $00,$00,$00 * DC.B $00,$00,$00 * DC.B $00,$00,$00 * DC.B $00,$00,$00 * DC.B $00,$00,$00 * DC.B $00,$00,$00 * DC.B $00,$00,$00 * DC.B $00,$00,$00 * DC.B $00,$00,$00 * DC.B $00,$00,$00 * DC.B $00,$00,$00 * DC.B $00,$00,$00 * DC.B $00,$00,$00 * DC.B $00,$00,$00 * DC.B $00,$00,$00 * DC.B $00,$00,$00 * DC.F aB $00,$00,$00 * DC.B $00,$00,$00 * DC.B $00,$00,$00 * DC.B $00,$00,$00 * DC.B $00,$00,$00 * DC.B $00,$00,$00 * DC.B $00,$00,$00 * DC.B $00,$00,$00 * DC.B $00,$00,$00 * DC.B $00,$00,$00 * DC.B $00,$00,$00 * DC.B $00,$00,$00 * DC.B $00,$00,$00 *CMAPEND * DC.B 'GRAB',0,0 * DC.W GRABEND-GRABST *GRABST * DC.W WIDTH/2,DEPTH/2 *GRABEND * DC.B 'CRNG',0,0 * DC.W CRE1-CRS1 *CRS1 DC.W 0,$AAA,$1,$141F ??? *CRE1 * DCS.B 'CRNG',0,0 * DC.W CRE2-CRS2 *CRS2 DC.W 0,$AAA,$1,$307 ??? *CRE2 * DC.B 'CRNG',0,0 * DC.W CRE3-CRS3 *CRS3 DC.W 0,$AAA,$1,0 ??? *CRE3 * DC.B 'CRNG',0,0 * DC.W CRE4-CRS4 *CRS4 DC.W 0,$AAA,$1,0 ??? *CRE4 * DC.B 'BODY',0,0 * DC.W BODEND-BODST *BODST The bit image follows here * Taking the form.... * Line1 * Bplane 1 * DC.W Column1,Column2...Columnx * Bplane 2 * DC.W Col..........E"...........x * Bplane 5 * LineX *BODEND MAT_NAME DC.B 'MATRIX',0,0 CNOP 0,4 FILE_INFO_BLOCK DC.L 0,0 BRUSH_NAME DS.B 108 DC.L 0,0,0,0 DS.B 256 BRNAME DC.B 'BRUSH',0 DISKNAME DC.B 'DF1:',0,0 CNOP 0,4 * Load in all the brushes whose file names are above, covert them, * and store them in order in the data area 'GRAPHIC' GET_GRAPHICS CALL Output,DISCBASE move.l d0,d4 d4=input handle -T* and print a message MOVE.L DISKNAME,D1 MOVE.L #ACCESS_READ,D2 CALL Lock,DISCBASE LEA V,A5 MOVE.L D0,LOCK-V(A5) BEQ LD_LEND MOVE.L D0,D1 MOVE.L #FILE_INFO_BLOCK,D2 CALL Examine,DISCBASE LEA GRAPHIC,A6 IS_IT_BRUSH LEA V,A5 TST.L D0 BEQ LD_LEND LEA BRUSH_NAME,A0 CLR.L D3 BR_DOT MOVE.B (A0)+,D0 ADDQ #1,D3 TST.B D0 BEQ LD_BRUSH_NEXT CMP.B #'.',D0 BNE BR_DOT LEA BR_jNAME,A1 BR_T_LOOP MOVE.B (A0)+,D0 ADDQ #1,D3 AND.B #%11011111,D0 Convert to upper case CMP.B (A1)+,D0 BNE LD_BRUSH_NEXT TST.B D0 BNE BR_T_LOOP move.l d4,d1 file handle move.l #BRUSH_NAME,d2 address of message CALL Write,DISCBASE and send it LEA BRUSH_NAME,A0 GETGR_L BSR LOAD_BRUSH LD_BRUSH_NEXT LEA V,A5 MOVE.L LOCK-V(A5),D1 MOVE.L #FILE_INFO_BLOCK,D2 CALL ExNext,DISCBASE BRAJ IS_IT_BRUSH LD_LEND RTS * Open the file 'MATRIX' for reading, return 0 in d0 if error * OPEN_MATRIX MOVE.L #MAT_NAME,D1 MOVE.L #1005,D2 CALL Open,DISCBASE LEA V,A5 MOVE.L D0,FILE-V(A5) BEQ MATNOTX MOVE.L D0,D1 MOVE.L #MATRIX,D2 MOVE.L #WIDTH*HEIGHT*2,D3 CALL Read,DISCBASE LEA V,A5 MOVE.L FILE-V(A5),D1 CALL Close,DISCBASE LEA V,A5 MOVE #1,D0 MATNOTX RTS * Open the file 'MATRIX' for writin !xg * WRITE_MATRIX MOVE.L #MAT_NAME,D1 CALL DeleteFile,DISCBASE MOVE.L #MAT_NAME,D1 MOVE.L #1006,D2 CALL Open,DISCBASE LEA V,A5 MOVE.L D0,FILE-V(A5) BEQ W_ERROR MOVE.L D0,D1 MOVE.L #MATRIX,D2 MOVE.L #WIDTH*HEIGHT*2,D3 CALL Write,DISCBASE MOVE.L D0,-(SP) LEA V,A5 MOVE.L FILE-V(A5),D1 CALL Close,DISCBASE MOVE.L (SP)+,D0 CMP.L #$FFFFFFFF,D0 BEQ W_ERROR RTS W_ERROR LEA CUSTOM ;7\(RRa^ Ȁ)] e`(A/ rv'%p"@% a  }@PPX+T@P3< 5JML%ӦHiC#̐ȤHAƣ/+MB i$Q)P(уU偡HVoIJ  H؁I$TI"J0@*@ PFHV% g;  T}ʨKqB   AԈT8Nl@Ł@L0lPJDp`'(h@uphCA1UOq?2$0aJbP  xW Ù!KS0%0@/D /<Rm _/ " ( * rrr@h $ 2Q2 $!D>I(Tx85`6A5r zz~AA@" >e>Ѡ!@ NbK %'_uOf.\,'lFp )`( ` ! :poAV p z j i~AH  T%9h A~HVnEl:Q"sb$`0/+*@13z$9.( y!$sv:|jQ@4 8 B%@@)0Au)2r   J j0? p1F|"p3 0aFPf j+$@ Uz@p9J$$Gsr_@"A RԌ( (4jH`c W܌a9;q7 ^:M P#3 +;'!<P@0@@X0 @3@P0 @9@$8@0 @5@$4@$2 4p +@C@8 & P0  O8 0@*@ PFHV% g;  T}ʨKqB   AԈT8Nl@Ł@L0lPJDp`'(h@uphCA1UOq?2$0aJbP  xW Ù!KS0%0@/D /<Rm _/ " ( * rrr@h $z~ - ba=+fFaagGbbhHjJ kK "aA"eeEE" iiII"nnnnnnn nnnnnnnnnnNNNNNNNNNNNNNNNNN"oO"uuUU"yyyyyyyyyyYYYYYYYYYYY `^~``^```^ ZATBSC @D A0~10~1~11~2~12~3~13~4~14~5~15~6~16~7~17~8~18~9~19~?~d'@($  `\XTPD$ 4{ *&"  ba=+fFaagGbbhHjJ kK "aA"eeEE" iiII"nnnnnnn - *5@KVa[{fFgGhHjJ kK aAeeEE iiIInnnnnNNNNNoOuuUUhlyyyyYYYYY `^~ ZATBSC @D A0~10~1~11~2~12~3~13~4~14~5~15~6~16~7~17~8~18~9~19~?~f'@($  `\XTP,$  *&" SsDd죣Ll:;Mm"'%[4]56>./:?/+=.@7#8^9,[* -%0; ZATBSC @D A0~10~1~11~2~12~3~13~4~14~5~15~6~16~7~17~8~18~9~19~?~usa0@($  *&"r/Y @L.=6EGAAAAAAAAAAAAAAA@~`!1@2#3$4%5޶^6&7*8(9)0߭_-+=|\00QqWwEeRrTtYyUuIiOoPp{[}]112233AaSsDdFfGgHhJjKkLl:;"'445566ZzXxCcVvBbNnMm<,>.?/..778899 ~[9  - "-8CNYfFgGhHjJ kK aAeeEE iiIInnnnnNNNNNoOuuUUyyyKG0" <(j8NJf$G4" <(j$Nr <(jPN"Jfbx&<$)"*\ <IxNJg$)G@" <(j(N`GD" <(j$Nr <(jPN"Jg"0 <(jN%A`Jf0$Gl" $0( <(j(Nr <(jPN`"*` <INJf`r <(j(N#A$G|" $0( <(j(N") <(jN$)r <(j(Nr <(jPN"*dJxl,$G" $0( <(j(Nr <(jPN%j`XxvP$*"*` <IxNr <(jPNNNqDIR Bad args c%S &Unable to find current directory name Can't find %S Can't examine "%S": %s is a file not a directory tidyup $*\Xg "p(jN$*Xrp(jNJ`g rp(jN`g"*`p(jN"p(jNNNqexamine$#p( #A(#jd,() v$)")p(jN#AJf&)$rp(jNJg")NNNqpathnamJf2*|XSf$)G" p(jNrN#Q Jf\") #p$)#p((&)x08R#D$)")p((jN")ҩt:")rN"p(jN#Arp (j(N#A\G$ #B() &)$)")p(IN#A$)v0(#C JfrN")p0(jNJfrN"p0INJg rҪd#A")t0&)x08*)orN")ҩ t0r:gR $)ԩ v/(")t0#B$r#A($n($)ԁv0(ҩ $)ԁ(rҩ(`")t0ԩ &)8rNNqDF0:$T(j(Nr <(jPN"*dJxl,$G" $0( <(j(Nr <(jPN%j`XxvP$*"*` <IxNr <(jPNNNqDIR Bad args tPa@Os8"j8?$ZJF`= P(!R- Il`$ <@Iz l0HC_^H\ A8PA! F/ 2 48 Q)Gd̽F>z( AD `Ѐ& 2FQD( @ א%-@)G^Q$<ED| VAC@%{ӕv7w353t50G MPZ: lH+X08P@Ni,Ԉ4k#_DCJ0( ()BD`,!Sd"!j B)ʹ 88c@ʪCBER4< Дt) {2 $ ao@Sy $@ѬB_DC< aE!492@\cӇ5A2 <@bbcb`x 0+0S@ Q :J8saDv$.P$(`P*P+X :bʹ 8:A!ĐuP 6i38$Ј`" $50AO @ ,)E(H c!(0@*1NˆD(@D,!BV81P{QU@(- +'XCa hYdٜ9 \')Fhoă kHxxx03- ATf~UkM m2 "A_|i@PF.(hٙ! H)s`Ф2!Ĭ@DDE A a @$% a AEA 8 Gbd @&H@" PB@H@E`9p-( 8)@QJ_aH=JC `@0@~V@ P$CB0h!Jqps~p4+x !O~ T FS 0!H.K x.("RRHE@ Vπ?(T $R?! FjVN\ʨK@C _dWNUByH($Eb!X  O*@H$HC@!(CT):$3P4aB`@ U% Il(%)A$^$ (A2 rr$G?=AAH1/Df A0$ B RAZ$FLʛp/4BV~9."yt3 X  H / CH(A\"RRHE@Z?9$CDH$@Øb n+Z'L Ш2:N U$ N-~@R|0>ZPT 1<@@@X>ZjA x- "Ѐ#y)s0q̉tHm(+H$m fane2rvfabeLrBDad6DrfaNQQ`8rx`ra@ m gra062<` 2< BTB6aSJ QmNu DNuSABB3f DQNu0<@P0 ] P.lM P| 20 @ZAOfP<@H ńX,H9,p4,%@^ 1 , 0 BP$= Ak tdɃNZY::{#RlL9)gKAt 3-gS;)W2Z geVt750" "7q52pkMffkeU!PO9 6JgJfJ\gJf <8(jN`") fG H" `lrҩ fG P" `R")S fG \" `8")S oG h" `rҩ m r ҩ`")#A,Jg#i,rҩ&$),G p" <<(j(NJ\f2r$ҩt0Jgr$ҩ$G |" <8(j(NR")(өJf $)")x <8IN#AJfBJfJgHG " #A0#i4tfG " ` G " &$)4")0 <0(j(NJgHG " #A0#i4tfG " ` G " &$)4") Q>0 <0(j(NJgHG " #A0#i4tfG " ` G " &$)4")0 <0(j(Nr <0(j(N#At <0(jNg <0(jN") <0(jNJ gG " <0(j$Nrxg(r <0(jNxg")x <0(jN$)tr <0(j(N")p <0(jNNNqDDIR,P=PAT/K,KEYS/S,DATES/S,NODATES/S,TO/K,S/K,SINCE/K,UPTO/K,QUICK/SArgs no good for key "%S" 2*** Invalid 'UPTO' or 'SINCE' parameter - ignored %#?()#?|()*** Can't open %S :current dir hˢectorycurrent directoryCan't examine "%S": Can't examine "%S": Directory " " is empty current directory Directory " " on %S %S Bad pattern for LIST  [%I5] Dir  empty %I7 Today YesterdayTomorrowFuture %T9 %S : %S %N file%S - s%N director%S - yies%N block%S used s**BREAK compstar#AtnDґ&)֩(08g""ҩ&)֩(08&0"Nrҩ`rNexamine"#Q(#i,() v$0 rp O(jN#AJf$&0( $rp(jNJg")N`Nqexinfo "$*\F#B0#Q(#i,() v$0 rp(jN#AJfV$&0( $rp(jNJgrp(j(N g*G" p(j$Nrp$(j(Np(jNr#A")N*** NEXT ENTRY INVALID: writena"*`p(j$NNNqconcat &x08#D*|0X#F r#A n(R$)ԁv0($ԩ(rҩ`" Nmakecap&x08#Dr#A n.$ԁv0("p(j,N$)ԩ (rҩ `NNqdat.to.&(*#p8#pH #pX|܂~ ނ#F#G }6#Bt")N#B Gh" #A$Gp& #C(xN#D0z#E4G|, #F@G. #GDG #@HJo*J m"  lJm mJf ")$`")(#AT$v0(#CXr#A\XnJ$)Tԁv0(#C`$)ԁc(")ҩ\c")ҩ\crҩ\`")NRr#ATt n$G & ցx08&)ց8rҩT`r#ATtn$G& ցx08&)ց8rҩT`t")0NJf "<n`"<m#ATJo l")TR0`rc0ltd0t ")0Nt0҂&)8t ")0Nr08]ԁ&)8 t")0NJf ")D`")@#AP")Pҩ4$0lR4`$)4rNU#ALr#ATtn.ҩL&)Hցr08v֩T()؃HrҩT`")4SҩP$0t ")Nt0҂&)8t ")Nr0ԁ&)8t<") N#A8t<") N#B t2")N#A ;Zx0Nm<[y1Oj$JanFebMarAprMayJunJulAugSepOctNovDec DD-MMM-YYHH:MM:SSSundayMondayTuesday WednesdayThursdayFridaySaturdaystring.Bv$։#C x0؉#D,z@ډ#EG " <0(j$N")x <0IPNG " <0(j$N`"<(҉#A$ <@(jXN$)")$ <@I NG $ "*` <0(j4NJgFG " <0(j$N")x <0IPNr ҩ&)$G " <0(j(NJgL$)" <0IN$)") <0INJf G " <0(j$Nr#Ap`B(r <8(jNJg r#A `Jg:rҩ$) <8IN&)$)") <8INJf`.")#px$t!ԩ"$) <8I N[Wr!ҩ$) <8I NJl`r!ҩ$) <8I NJo`r#A(tԩ" <8(j$NJgr`r#A,tԩv0("#A0,nr <@(jNrҩ0`Jg ")$0G " <8(j(NJ$o&J\fG (" <8(j$NR`^r ҩ#p,rҩ,#A(R$)#p(|,J\f.J,fG 4" ` G @" $), <<(j(NJ\f")#pt,`*Nqprot x„Jf"`r-p(jNNvrt"), <") px(jhNJfr <(j(Npx(jN`G" px(j$N")JgrN")J g") px(jN#Alp|(jN#ApJlfr <(j(N <(jN")l <(jN <(jN#Attg" <(jN <I,NJf` <(jN")p <(jN")J f $"(`DJg(")#At n"p$(jNrҩ`` p (jNF""JfJf p(jNrN *** BREAK    ? %C!Invalid response - try again : %C'B=B RĚACK/S,DEL=DELETE/S,Q=QUIT/S,T=TYPE/SDeleted add.to.#A&#p8 #jd(z0Ht"NҪdT#A$<Ԫ`oG" p$(j$NrN%id")t0#Br#An&$)ԁv0(tԩԁ(rҩ``")#p") #p J grҩ $)p$(j4NJo")!")! rNNq.No free store for filenames - list incomplete do.workB #jdx#D`#j\p(INJg B`")JxoB#i r#A$ nGX" p4(j$Nrҩ$`rҩ$G`" p,(j( ܕ/NJhg r$҉#A Gl$ #BxtG" <(j(Nv$) ")x <(j8NJftG" <(j(N``") JgTtԩ" <(jhNJf r <(j(N <(jN`r#AG" <(j$N") Jgt#B") Jf J g") tJ fF#B`` p,(jNJgp,(jN#Ap,(j,NtEfr#A")p,(j,NtNfr #A` r;g`t gVv=gLJg$x؉&$) ")p,INJfrNp,(jN#Ar g tfp,(jNJgrNJfr=fp,(jNrNrNrNNo K directiveKeyword too long substwr*#pXRlrN")ҩ")") !rNNqsubstwr*|0X#Fr#An6$ԁv0(() $)"&)p$INJfrNrҩ`rN$substrdBŠAN%Ap(jN"*pp(jN"*lp(jNJf$*xG$" pINr%A`Lt "*p(jJg6B$t#BJfG" p4I`Np4(jN#A`p,(jN#Ap,(j,NtEfr#A")p,(j,NtNfr #A` r;g`t gVv=gLJg$x؉&$) ")p,INJfrNp,(jN#Ar g tfp,(jNJgrNJfr=fp,(jNrNrNrNNo K directiveKeyword too long substwr*#pXRlrN")ҩ")") !rNNqsubstwr*|0X#Fr#An6$ԁv0(() $)"&)p$INJfrNrҩ`rN$substrdB*2I",ҩ#p"ҩt0")ҩv0#B #C$`Vrҩ <4IDN")$ <4IDN`Nrҩ <4IDNJ$g")$ <4IDN` ") t#gv%gx(gz|g`R",lF$)v0(n", NJfrNR")ҩt0)B,#lBB #ir#A nҬ#p$"ҩ$t0#B(`J`prҩ$$ԁr0(#A(",,(fN")ҩ$t0" <8IDN`,")(t#gv%gx'gz(g|?g~|g`rҩ `X`:NqputQ Jf t)B`@#lr#AnҬ$grҩ`R",Ҭ!Nrch ",n t)B`R",Ҭt0)BNnextiter'Xf p INp INNprim "8#l4pIN`Jr)A@"Np IN$pIN"N"pIN"t)4gv)C@pIN"N")tgv#gx(gz)g||g`Nqexp BpItN#At|gv)g xfB$)")pIN#At|gN",ґ$,"pIPN`$,")pIN`setexit`&",ґt0#B",l@BB <$(jN%At <$(jN%ABpBt<%BXv>%C\x$%D`z.%Ed%i%i\x%i,|%it" <$(jintuition.librarySP:69H L ,y0NL@Nu/"/,y0N,_NuH0L,y0NL@ NuH0L!ieD,y0NL@ Nu/,y0N,_Nu/,y0N,_NuH0L,y0NL@ Nu/"/,y0N,_NuH L ,y0NL@Nu/,y0N|,_Nu  $<Xl|_Open_Close_Read0_WriteL_Inputh_Outputx_Seek_DeleteFile_Rename_IoErr/,y,LN:,_Nu/,y,"o / N.,_Nu/,y,"oN,_Nu/,y,LN,_Nu/,y,"o"6Ћ / N,_Nu4H`_AllocMem_FreeMem_FindTask0_SetSignalD_OpenLibrary\ H02,y o"o$o &o$ /("/,$/0&/4NLL NuT_AutoRequestEXIT>intuition.librarySP:69H L ,y0NL@Nu/"/,y0N,_NuH0L,y0NL@ NuH0L;A*N%Ah`@"*h\fJgt"B`Jg"*hp(jNp(jN%Ahr hg thf|r p(jNp(jN%AhNNqNo K directiveKeyword too long getch t "*p (jJg6B$t#BJfG" p4I`Np4(jN#A`%C\x$%D`z.%Ed%i%i\x%i,|%it" <$(j 9n8i 3F <)i/gRi`a:<) ҆Bц` .f JifbeXRi` Eg efPa +g -f ia 0m0 9n*:)iFi im`?)_ f $hB`4)?)_gDBi/gT3|?Jk Si`Jig ktiaZabSi`aRi`t4)?)_gN6$h$$$h$p0)L~NYNXNu,(g !|NuH$hN<L?3FS fiNu?)_g|NuL,.yr%Ad``r#A`V")ҩt0G" <(j(N`.")ҩt0" <(j,NtHgvNg`R")t0l~Jdg0Jg(G" <(j$Nr%Ax <(jPNJg <IN`r%Ah <(jN#Atgdq.d <(jN <Ix#D t"N#A$) rNV#At") NJf ")`rҩҩ#A$)&)$GD" p$(j(N")S#Ar#AnDґtԁr0($GL" p,(j(NrҩtNJf r p,(jNrҩ`#ir#Anr #p,(jNrҩ`")S#Ar#An8ґtԁr0(#A t nvl`r.p0(jNrҩ`p$(jNN%X4: %X2tidyup J\g"*\p (jNp (jNJ`g"*`p (jNp (jN"*xp (jNNNq$TN & H **BREAK typelinJdg$*hG|" p(j(Np(jN"tgrp(jNJgr p(jNrtgFN"p(jNr gt gv fRhrN%I5 typehexBr ҉#A$<hԉ#Bd#Bd%AlBtv%Cpr#A|tnZ" <INJf&&)$)|")!YY @ h"h 9@r#LЁRBgR@UBw 9@ yD$Sԁ SQ S Q"O/ Np`f#:aa#8/$@ *$g,y0 @"(N"* g$<N#Hg @)hHyNp` //NJ8g,"9(gN"9HgN,yN|"y8N .y Usage: read filename <======== rCan't open %s %s %cA ((((( H ((((( H HNVB . l rN @/NZXR`B .l/NXR`/. /.NPN^NuH@ (9>#H;^(NV/<0BNDP0-@JfpN^NuJgbp^/NX fpD`pC/NXp /NXB .l/NXR`p//NP` .N^NuN^Nu*W#6P\vQ8H9l;DNVB 9S#Jkp yR`HyNX-@ g, f nRB` nR .`JfpN^Nu nB .N^NuNVB . S".lL n (S!@Jk "PRp` /.NX-@Rg nR . fNq . nBJfpN^Nu .N^Nu@ &.&4NV-| nd_(Jg ` nfpN^Nu/./. /.aO N^NuNV nJ(g/aX-y-n p n( bg afB`-|R n( +WDHHp n A wg rg af ./@J.gr`r //<//.NdO -@RfpN^Nup/B/.NO J.g <`p-@`J.gp`p".//.NdP-@RfpN^NuJ.g <`p-@`^J.gp`p"./<//.NdO -@RfpN^NuJ.g <`p-@`pN^Nu .rNJ 9n8i 3F <)i/gRi`a:<) ҆Bц` .f JifbRi` Eg efPa +g -f ia 0m0 9n*:)iFi im`?)_ f $hB`4)?)_gDBi/gT3|?Jk Si`Jig ktiaZabSi`aRi`t4)?)_gN6$h$$$h$p0)L~NYNXNu,(g !|NuH$hN<L?3FS fiNu?)_g|NuO,.yintuition.libraryVP:69H L ,y0NL@Nu/"/,y0N,_NuH0L,y0NL@ NuH0L,y0NL@ Nu/,y0N,_Nu/,y0N,_NuH0L,y0NL@ Nu/"/,y0N,_NuH L ,y0NL@Nu/,y0N|,_Nu  $<Xl|_Open_Close_Read0_WriteL_Inputh_Outputx_Seek#4e_DeleteFile_Rename_IoErr/,y,LN:,_Nu/,y,"o / N.,_Nu/,y,"oN,_Nu/,y,LN,_Nu/,y,"o / N,_Nu4H`_AllocMem_FreeMem_FindTask0_SetSignalD_OpenLibrary\ H02,y o"o$o &o$ /("/,$/0&/4NLL NuW_AutoRequestEXITZJ(fa/</./9(N0O -@JjB nB .N^NuNVJgNJ(fa/.NX//./9(NLO N^Nu $fTjFt|<rK(R|=0Z @nB~2v R!YYpYphDvnJx2"6Y^Y<YZYY88*NV n(0JgpN^Nu nJf(f/aPXJgpN^Nu n(gp-@`* n(gpN^Nu n(@-hp n(/./( /N"O -@Jj n( @Jf n(@Jo n!n n(0JgpN^Nu n (S!@Jk "PRp` /.aXN^NuNV-n n (0JgpN^Nu n Jfv(fl fpN^Nu/. aXJgpN^Nu n (@ (!@S!@Jk"PR .r`/. /.alP" N^Nu n (gH fpN^Nu .@p n (r/Hn/-ANO r-A-@` n (gpN^Nu n (@ g:Jo4 (S!@Jk"PR .r`/. /.aP"p-@"n Q gBJj-i` n (-@p n (/./( /NO -@` p-@-@ f n ( @` .g n (@ n (!@"h . U&g*"(S!AJk "PRr`/. /.aP" n (0JgpN^Nu fpN^Nu .N^NuNV nJg(fpN^Nu/9NX n !@ Jfp #pN^Nu n!y(@p!@!@N^Nu#/ [NV . B/NP-@JfpN^Nu n@ . !@/.HyaP n N^NuNV/.aX-@JgN^Nu | N^Nua.p### ### #Nue܅NV-yJg n-P/(/NP-n`N^NuNV"n i"n #H" nJg h n "n#HJf"N^NuNV n Jf "n#h` "n Q!i n Jf"n"` "n i N^Nu+HZHZdNVp. /a"XJfp. /a0XJfp`pN^NuNV. Ae Zbp`pN^NuNV. ae zbp`pN^NuNV. 0e 9bp`pN^NuNVp. /ahXJfp. /aXJf-,p`pN^NuNVp. r0k@fN `* `" ` ` ` `pN^NupN^NuNV. e gp`pN^NuNVp. /aXJgp.  `p. N^NuNVp. /aXJgp.  `p. N^NuNV 9 N^NuNV ./-@aXN^NuNVJnpN^Nu .^rN-| n-P-@JgV . n"(e6f"n"` n (!@Ѯ . n N^Nu-n n-P` ."9ЁSN"9N/-@NX Ĕ)-@Jg/./aP/.a*XN^NupN^NuNV . //.-@aPN^NuNVJ npN^Nu n@ . ^rN-@-H .ѹ -|"n-Q-HJg n (-H nc"n"#n n pN^Nu nf"n" .Ш#@ n pN^Nu nd .䑹 pN^Nu nfP nJg n"nc .䑹 pN^Nu . nѨJg n"nf (ѩ"pN^Nu-n-n n-P` n "n"#n N^NuHF`fJ@J K)YNVA -H nJg6rR-A-H %f %fFtR 9 S# -BJk yRp`Hy/.N P`HnHnHn/.NO-@JglB-@ .lX"9 S# Jk yRCr`ApHy/N P"R` 9 S# Jk yR .r`Hy/.N P"`Hyp/N PN^NuCBJX^l  Uj"6N&v@XD"NV/.NX n-H nR"n R Jf .N^NuNV/.NX n-H .SJo n "nR JgR` nB .N^Nu8 D NVB nJgR` .N^NuNVH,9~Fl:  @Jg" f  @/(NXRG`/. /.N: '0uPLN^Nu< =:YDXxNVH p-@r-Ar -A n-@-@-@ -f pR-@p n/@R @gb 0fp0-@p nR-@p nR"@g" .r NrRЁ-@` n .fDRBp nR"@g" .r NrRЁ-@` n lf pR-@Bp nrHkfNf`ne``g)7`Pc`*s`o`Xx`u`8d`Jg"n QX-P` "n QX-PJj(p-@` Jg"n QX-P` "n QX-Pp -@ .r N-AJjDS .0". .r N-@Jf fS .-A .r -A-H`vJg"n QX-P` "n QX-Pp-@S . @ . .-@JfA .r-A-H`Jg"n QX-P` "n QX-Pp -@S .0". .-@JfA .r -A-H` N X}jb l :fB@8S03$Dh%V  @@DFDB`B  n d` @ܦ0Pl ln 0 D Á47%!P2 X t/   z`ct+уs0 H@_ˌu85P6P?.RQA$%01N._n\f ؁06P&032 o.$MT 0ʹ MX   ( T' V\C,.P?Hp1(AD PDI\eAAT;r  (  ( >d, a@H& B S{ ! %d6OA/zGAF[@^@" !0f s-WZSB@!BHW@,@  b@#IR@@) H'a((; B`u\@" x02\N Jj8)<IARYp, W(!T~EX &B8#B A6\@@)  ?E h.0 g@L@/@  ($ P_@@.` pE  Xb` p(L.Q@@+ @ x!|FV!b`/P@~CQ@/ `JvJ@AQ@ P . ~ l)& H* 1 +$ @h\ @ @ `T  h|`@# [z}q Qx&N@@) I@< `(09M d-@ 1TAM;B@# X;K H7DP W@ '_E   X0j<0ð 0Pp *@O@$  X\3"%7R@ L:L4 `@$Bd &`$Xn4,-VGJ@%C.F67N@'l!vQ5W@,  DЇ8I@@+  sDc@#@  M7 r<$}J Y  l>G.p< @$ (t&W\nPF@$ nA &@G@$CA5MAw/A@- `@&   yPxmJ@@. >@o @!C|O|h~ @@\ #p W@) @ 0x"M ,HP8) T@(@  2u!GNAP@ `8XDA0x@H< \-P `( ) TTZ`@ ¢/ E~R b044o^@' X@!C% HIl I. @hrL@$ A^4Jhh X5.p  J^@@) B@$C!`̵@N Ȝ,8"N@AlQ@+  0<+@0B. @Aq#=EO a B Ɔ@Q AvCp}~U;Kpt* ȖH2 !  0d09 P ci0ٞ ii eH| ba >p8|J &fA7 A F#DA*T8 (  "JS @80X@(?)Dp8X ݨ0" 0PA b(ƒP@} a`! 3p9JĆ  @ 3HP @ $EHBCBCBCBCzBCBC!BCBCUBCBCBCDCρBCBCBCBCBCBCBCBCBCBCBCBCBCDCBCe   p H  8   T  (  p CTG<!#H*` P $ CJK(!# @A!-AA@B`)   xCGL!"%0OA`̀T <%D0` Dpc@P"285(4M*CzG ! %H  xM ?GHL!0#b@^`@%D0b@DpfP"3"X78(3"(0@D0 "2"84(  `  CG<!+#Y@J`*D0~ いBH%BByA0ƒ"AAp5V0xPhD ux`d  `@`0 5p(g !!5 O@@   @00$,"*&(dlbjfi@4 ,<$8(0>% |i ` x x r r tژ`- 6^: 9-J4 &*dd e <Ur[$vR6ʦ.rn" @ 8 dbfaecg`261530  `  A fhp @8| P7A`@- `@+ \6 AJx: qlpt@#_@Gj|< G86  pl `@#`  |\ @#/@G8. p@O8>  dj=^Ax@b!"$! (B`@)  IAH@" @b1 ad \C@@$` B(OVv=@!@ ` -NAHH@# @,>I@@# 08%d(qk@ : 08ohh X5.p  J^@@) B@$C!`̵@N Ȝ,8"N@AlQ@+  0<+@0B. @Aq#=EO a B Ɔ@Q AvCp}~U;Kpt* ȖH2 !  0d09 P ci0ٞ ii eH| ba >p8|J &fA7 A F#DA*T8 (  "J  /.NP n!@Jf N#p# nBpN^Nu .N^NuNV . ". ///.aLO N^NuNVJk/.aX-@Jfp#pN^Nu/./. n/(N0O -@RfN#p# .N^NuNVJk/.afX-@Jfp#pN^Nu ngp/B/.aBO /./. n/(NLO -@RfN#p# .N^NuNV/.aX-@Jg cp#pN^Nu . @//. "n/)NO RfN#p#p// n/(NO N^NuNV  ɮ~/.a`X-@JfpN^Nup n-@gN^Nu n/(NX nB .N^NuNV/.NXJfN#p#pN^NupN^NuNV/.aXN^NuNV/. /.NPJfN#p#pN^NupN^Nu/<Hy NP#(NuNVJgNJ(faJ9 g9 @B9 r. N^Nup/Hn/9(N0O p.N^NuNVJ9 g9 B9 @N^NuavN^NuNVJgNJ(fa8p/Hn /9(NLO p. N^NuNVJ9 gpN^Nu . N^NuNVJgNC/~34A(Oق @ǹOI s @9uh"r]hUڠ^# 3P"Pyx$Rf 18!" QZPsXa\$”QR e}A0II!UD܄ -  c@;!ʸ@CHH`3z(aH("p@3b$VA J)C N*`$=H!+ˬBnR'L!( Q`bb()ءH8@8"FD*" EHAd4@II!@"@`g(?ĈQ&`jfI"0^,ܪq s#:KDk%II!"Q@.l &4J@<J ~ 什(z 0%(K@`OjzAJHDqW-PMfp`$ Jl3a6p"TJiG0[D@D %948D AG`C՟坄 Z B`xR @ &E7r dddDRS9U@BP ~BDD/2 b.U* `  SA SBhH"  i  @%%P^` [a(}  EP"$uv% Bp(5@B蠃%0&JFW09-ė ;Eإ QR!]ABQ"O9P P9@APP(T! E8 `v\`-h\d2U|q3}9]9W@wi%PR-@PKE#Xta`x(a^^p= 09.=y{RB5)Kd6)[$T 4^ @ס5  zaPa3[B1!L`5@a@ SD@IZ!@"@j@s @s @s @s.PB(APY2R:!A86htE xp<5<I@4@ \C p P]PyF<б&̡P2$ $。:@  (  40 גKwـ{ӕr0``"2`e`Qzq&XCN}0,{$I =`U@20"  m9"HVnRClhR!dI,d hd):+7 d@$R RЀ( (@@!P 0y{*xT(RǨ4֊ УT R u\y @P HXc %!? c@``DH&ُ9U swA (e(@9ʸDj(5Z2TPA&@% b"B HP% ZF ! q%a8yR@uG ^ %K I0 72t2tTPG 8PpAzZp8@ (  Kp`u4 A@P0``a105 Bç7ykq@B0%xPܤxAE.p/p5@`JBe@% + /p #IB)Nm (ԥ$ D  03@@~(9% l ( $ a@@#)LjP kh 2YNB&dEƒR"N D@V9.- )<*ptBlH( J J`1aH(dc[1}9]9W9Uv +BgB1@ HP` @aBP*ā!rpW¼h( dn 0d|,D hd_pP `9_J" ` -?[ML-L]-mL -\ ,m mL# zA^ u 4Iʹʪ<<"@8AH""LpcB (hb\d,F D&D,l@K7IX""Z2 r]SjQP+@E/+**.qMA2@B0P[a?f"Hi#Ȱa-0B 1PE&j j P1p+01p+S224h ̰ lBh R,1b dDKJNK Ad!,T(f4M`2^8o ٙ (=3i%hI ?(u 8PBV(@؀`@Ġ"A'd|(H'`,XjP*%-@ e)@OƠ a8#0 72>V"% 4 vN3$M-A(CN`AnH0r Zs("`L"5 -yA2fTJ#/+*aD1qA05(21$ p'a@"@~qApU@x jA@olA /fTX 84|B8݆=FOH<0 DP S0KO`()( |R"HeBX(JYb@p0H>JI% J db 0@8p$0 LD@r[`QpRJ X~:0{!z@2`;E6I#`D A(U AA,:"32aB 5@1@"HHS6"QxI@(.Kx("RRHE@@  NBEK "Y A`PF,բtPU@\JPfP2 rrRUA@ (C5y PtHH !$ T<D4B(01(IB@&(F.U_\R_B){@2/+*2`@Ѓ H 4%pK}0DBf@,(I(HT,. Q#j8K0fŶ HzA+u3߆h 2 H I , CH(A\"RRHE@@DK!t5L_`I$ ):054AV t*  BUCI+(Kh"BC V&a Oh, "O@*Ko#A(DtP,=\@ ȘQ.pCj<@ @*  H S0>J:(!,L^Y(]}@P-T@P3<06y`ЦE $6 m*(F5O!H(AރF_f.B "H1QJ"P+6bZHVnFJ@aK0 xb$`C AP"(вP3Cd ^X ^bd  X <"5AErd%`(@@rs! ܥH0ХH t؁I% #43 $@ L"H  4pG/D$ {f0AJ.P6uA\x 0HCZjJ ltH$@6$/|B@&DoXJx /` o`- A"'+**I Ȁ$(H t14G`6)Gr  AWAW@" ~e6 $=F  %9=,4>s;*)BDVP#(%Ӏ0 \ $^@}9) X4 i~lRSr8 Z'0@u"$7)}R!p 4)f6 RIfH>HRȀ9b3aD%$$s@@`r K Z  (`@M ΉzU%: cCR|(jFC@ "@$ k$P^p @PeDB|r_@D`4hlRT% # XB ٔ)}9]9W O@tHx Ha@ H!2ExH (H1!jp"CT*EH)J2 @I[PIqP$AD!ABj! B9#T(J(+ QDy 46)چa!rHbk"jVT P1) @> Q  1`x* *0N\ pܪ$ >T B(>D *$zAt+.#\@8$k@    @CA0^BOQXAM*y?܁'q3b27JAE0T II*GC bА8%fj0WaDxkNb56C $1)H " >#l 0<`&b#nj<zN`S-/M&* "9 3#X@@7!H`yH`B%<,@ ,^ uB *>$'`YmR*( )R!C1# 06d&CH-H!!A  ȂQSr]W cH+*D H RaI @c ` a|CFN b !4si Bjj P 9%nv %#hLxF`Rh۴ }R!:P !W Q@+&PWF`! 0pQ` Ȯ@'``E)`( & D   8k ZjHS3s +k[;{G'gW7wOg`@ 1C7\:dP!( I:&H mC@XZg7 h pa``[@1 `#nNe! LRXH&.T)@0_@IH"AOQl!B 4i7`@U ,F0 )$ X,*`,  XBuR`!0P  R\B95Q!9pCI}@rs!pApp^ 0$i;!4LА/P! ?F()ז "hY@`, 0 *V ;Bf[`"00OjHrAA>0@.c|c(" Z:z`P h P0(p7(4@2@( L =C  ֤ ;'ziEl(R( B XD *hLL%P9vGbAB`0/GZX I -pڤpPwH& [( @H 1GR(( "@-  "@"B$aJPW0BMzTa± puVi2`$(4@@>HK HT2 h"hRL)P h2X hJA 7P4B"AbB傤RIҁ(QH0 ҥ RW dx1z9.yqCO[Sm A v"=B} ANS0Rе p::E @C 9e 0@ȁ" Z ޤ &( Il3 …<(tMe1E?@^# 8@ņz ". WvS0HHhWa4 P ! ]%Q H"4A@C;AN)ORCe C4 R q @A@QRf@kJ"8m¡8|ˆƈD Ytإb3!N̤A"@pf!Y@2TqpA@PB`$((5R!D ”.+Y&bJ ̂ pV 4 BRVJ`PHk$>QP${!8#- H`|!?&A@vB,rPЭhcfR6DQ I@ E\ A ȠJB A$a(AT{0?N€Tr]=)j1.bc(aF9@@af =B}"3DETnpPM0°XP/TY @i/f CnI((@Hז_@DGR(W!( `J|/ %GS d%Y@)L,L i  J pZX I -pڤpPwHcT@G ( @H 1Cin oZ8?V.~Ć$+1.5^ ${xQ !r %(H( 5A@+PW.)LB $X' _pPFKBP $H$ׄ+ K8RF4֤q > D PL  $<A@#T.X$H!>^ j%` @>*Ry\(Oax"-H(ep0EАR0&d+3"2'dQ;D[B+oF4@A ΆЬ̂CTLmJR(/|rS(X`8AR RxpP ^2h_¼p9NbhpNZ)vSA.Y@0xP`x ^$ ,I! ZFf:E)t H &H6I #%1BMB T $.X*4*1A!$(H/HDHyH>H?/pc QJ X4` [Aj!S A v%8|Kzm@`ХkHu@!0x&TxBeA5\ PL oP (P@ !"L @XBB` 04T@dx?+AijNj klmSd%YCZ=k1!;DȤB ԺlFb &s0ؾ"hJ¼4.2(D.%P& F@U) 4 B⃂C 9 J &Hِ2JOa'``r3\)@~K.rh+@4Ay\ xH@Q@\ !R~`lKۅP@9ALa@(f~#ڤ80P` $8 p;e;p?b< * Au@2($805`4P;6`lp0` ! "` "ŏ` ܝ`0΁Bՙ2AB@R@"sEf  퀂. @ 倂@,k+@   @ @ T @ @  +\$P7$ @B, D  `y d[ k K 2 X< I `E Q P44"4uRh$ A``\Pǀ+X hX *W `j$<$&0g,2P<pg:P2נgL6P6g> 'g Z 1;82ei釀 1C7 ܷ8tAGk}]9r غXZ B2t6F#ĝ<M L=A*k`DhllmbilgBjflj`*&̪"gO`& 'lNA2P $ 9H/|JJ%+X5LA-mŐ*G0 Ad`Ř> phRєk Cb`  03+ a p4  TQEƼ(#:c *J*J P*?T%FJMJ=9*A9.yxfP2 rrJ]0ZQ*b0KL$@U_\0d)l R\Ä #hЌ@@; +D3ROB {|ψFp(r!!`dHu vm1i3Ϙ$30@IJ!BD@!R2DB00@(4 nc$ LDN ~@DYĊ"eH9.y{)qH\ A0L!@JGT @ +`fOe%BJBdB$$]3#Z0jSl(s#a@4u!4AjRABA = W1 0^` 00fB"*IK^J@,C6).r  @J$C> BB@`:!*JS0(+O`@#P P(=(I 0 gT s 7* 8PE&Q=``(P'B@N!Y9"!pBf HRf I_FSM ArM`206`T00V!.sE#Re/+*#mBR4@P[Fc C  `DQ*F \ P!!H ^DJ@,Ά -/ͩP  r2 `I Y!.VPs\.T n QhL)3H `)݉0IAHTœA2 Áڮ@pD }U0)JE)N*<˄X((A  TI@3X%l \,d4[% _Ā9D%3Ɓ>xzp^^S=(2bAd@1 9{Cf g``'@ d|@ .u], mMm<͈$=UCJJ)IxK 9LŐ `,p;U,p4,DM #Px BFJ%sH*NE`('u3 ]F"&d#nOF(A@$RF 8@MxBg9 H0ФJ],^X^+T/E NA.0PDHe`L0π0. B Pq  B$rra4 2 )480ڪ  $&x <‚>PHrw඀yjRłB5@ `j a 0<864084X7 h $ $Y+ !305dr>I 5"ER5ڿyPЁ!D0ӡ`!) 1!K (А̀lP`Xb[@`U@& `ʀć/H m!^ZD` `%0 h\h,   mEX?r=( 3 %ԑa$#n` F@ 'K; /1KgSBaC;cSX~!҃x=T8EP`( ch((cb .@)c.O`|$\ lDMmې:9:Yغ:C01xkߧX0p@#5j $<.h @ x 319U d 1   ,2$(8D$ B! @Pl@#@`,A ^^Cq s4t]J\Q(Bt&Rga̅EIe,LM M= la'* Ep2[`"A0A@W /V(n B`AD4S0$`"6i@G5D,`DMVW)@*JF``A`L` !J:H#p((_E*02LX*3 wxj966 G´3ڮ@rrʢ&tR3u- 8+Ɔv.Άn.v΄r !IxCeq k     `\&4GPQ'@*"*'O+**1 N@ %m9sh2@1$Xb@0p@ay{P`@" >fl4 ӁA nH ۅcdjżi9m%m9h3¢ڮy`XTDΞSYKTB ~@蚠C(ې8[:C7%D$g "Bu2A# (ʍח\ L I'* B\ /Ae#v4 !K`U@@@ل 13 t 8D ̀)T qR#*4p9BS 0Wָ DPnp`[F@@@ jAB`E840 zP5CDX$<  TF`i$$%m;+U% c,Jv '&( @Z D .  ̐YEI ^ ()l B`@r`T͚dU ׀0@P ILPxpD ؀91H0J -E*C1!U]0(J_xהI aH22z((֤P0@?BÍ+S * s*҉98p)+(CNU_^Ќ q3PA3 1fD@ f!HT/NPWA4^Sׯ/p WJF24kw,ap /@uy!rxo' $*PڤS $ p =@M @@\aJBEiRI n ԆJ[!p 4ɹ.ȫXvʸHxIxt5+8\#40@$x6|B:Cg[5HKXS`,)@DiK(ga!{3wCʞ@%Mmh $ ALdA p.`HUAm-\ ,dDL9"rw. 1ffC6NN& PPP'%Z@@<'Lg)=P2 A6 @2A*Gu@B6YzAO^ 8(x84b8.R1ALP1g[ZySh'O`JL LY1 66-9UHR6xf$35`Xrr#""H;3`,p;U, WIP!A `;Ay(svn@H!RfTPX@2Atq)ADf Cz!Zx(^S J P0( P0H \%(0ft3s:tNNNc,N.vU \ L,mLT!!.&&NDن0e@ d'`2)ـ{ӕw 71  :$!p`vH87Qz< ($)EBBC*Pv FpaA¼I@+GQ<8D`}1d`L00 @ 82   88  d;3Hp_CN*2P@baAC ID h \46GF Xv)CBC@ $h/]@^ V@(H66AA@`@T/b@Q8 ^@!@d3J%N PD( 0!#bL +4 ._CJ  WaF_)@*0\4Q%9mhWb8 h\?@Xd p<( P0cCfN( !JbPڤF/ID k^LV 6 ` ] W$ p 0$([PHcPH`jHkPH`c@Hq `H0mˎS\kA 83{&WtzH3pm|}~Cwrv55 CJz 4t6 p#61%:H%572%lkL LFjAAB yBlIb+,9eC7SbA{Cb぀e!aC;cS vK ;ೳd(8YZ88[9]^P ;$Ux,A@xm /b0r@D aC!か`!`g<X IAc`e^P2 U BO@,"?fh@P#/+* '98H(pKR\-bF'`lC^RTtڤP0 :bHA @4 (a  =V`!A \] 08D ̀iT pR#4pBS068bR$Rf(B6X@r?5n$F*+P (!AhL= a^@ZdRR 4@4$-OE*" (H(T &9Ny/(uI*5ঁ P! W1EB CTa b` ĪKCp x  <cLHC@ȊY \8(%1eh0 P Ax6ح+GÒ%zP@W0G}B  01'b` /k`Q ,rKL-] rC Mې^ PVKTDΔI"rM~T@<5<(2<05< %av!%8#C#?#C0#;TR7#t=QD0[(.1P,00P^" n f`l t"C maP(k0u +')@*(OBRb.)'c0)]$`S 8P(y8@'R\LSf?30($2) G˪!I L8r`H\ (}*_r^ @< pp`JN$@. ;ILG"F$c<AT "T@uS@@RAD"Nxȁ4I{t kP ` ADZ3b?$@T@@%`\j`Tj-Pgj8|˄H",H$N l` U# $<> T'3 1f":44D1q' @D~nr#ۦH0VX4h0F? H`A?C@%^c0@RQRAT&HwAR&>M&8` Ƙf#c04#4 S0F$'ӕӕw @ "wא2=4VRU3pP01 P'Ԙ $H`,  ၇qKppP%8 L N e?c.0 !rjP% 81J= p@0( \ 0)\(W& P^'h% ;I@ ז (6!ت#;j>~C |9m L ?p"F遀ҽl`(t#pDP%@()$=$w E6H,< @HE lhRGX11"p0 31Q%@._CJE)aAy{p[pP;GPP(<( Hx |0s C0 ؁<tʂ7a?L ,4yCA7P+@733 W7OXide pw-1z(QB )oDB`k=" T g!%%W#/+*hrh "`ā  E(A.`,KܗEG8)ps)13}9]9WHt͂ *,%&`!ZHGZr>h uR `:8 (HٜSC9NaA` fh pa'>9jyTV%4:h[;;0$uwu0$ hnΌҖvb4`0Sh, $WNT.x 04P6P<(r R :Z=ĂY6^%p@JD@@C`Yhq%`2H $ HSDz %5mFi)T.R]EC8|t\U΄z~a0#̑¢20 BD GA`P&'?f`ZK5AӁ !$ 8@ɁɁb6BB @,(h+R $kC(@ L@ .C PR )@) (z t\UE@ TlH\BR`&p A`5/Tyn `/Р P06Gp*ԨTk{HM hP$)@#֏A1A(jDP3TPP]!zAL$`@ue4 *,5(@{T"8m¡8 "nChFE*@*e"M!CJDM6>@%Q%P{0!pq@Rf`dJfCZbJ>(2E"v$u^C D\rS0\p^(P5 2 rrr萗8!!I"" @T} H;AhR>%v`N p t׳|" g@| BB CB0l a `T}8`@$ihJ &I %لt@ٰ0(HHXBÕB  (aGJP2G#2 rrrop BpB@#F+Iy(A.tPvCdiRǂA8@ @>) _fl!l)A D0pDCJ(fVb~,p(`i 8ˠ1 2H H[=vCJ@<8X`xHOM@t/ -D1.!.04 ( ˆAJX!Pa%AA=%<a$n肩_Z :BBJSҤhGBp+ ~ BF/PY:R}19Nʭ)s:e1BZ@ ` Bߤ0N` @E.ߧ| 0$: \H0%h(d38)$3(@}9]9WDtȽʩ; %@Ch@(*@6ĂA%%10 A ! *du1f"a@A ]&B-hk*B0@$/lAEXPk8O }884enH nUH  j) xf$rr7tD6Vh2F lAx4@!bA@*؁cڮA`\ jH{B T+ȐC  D u2xd6g!< J #1d ҈A(A%" W#^HDj?98d lK::S''{'1w'KK;scC;r{S;3KSwHЀr҇ 8m 0H0ӅP~[>Ĺ -9Q@PRz@`p@1*`L00Q%4 @ +13Pr@ Y18 @ IHpF a!a T1! +Cՠ6qpY5`uI6 PD:|lȄIHL tE7tD6'̑h3BGժb#L$LQ~ 0l@#@x pJiG?C@e9.ϣ[Pf!j"[!s 6-D8\d l`j9@ 4 E6"3$ /#A"A(@)H.| XI2W RP0fd Z@@3( A˂CX(9EA NϤZ@of`b= |Ёڅu}5x0Q".`#F.e/Pb$ndF)cj`AC;cSC'S;aA%.HrPB ,.mr @b 5H݄(b| ESԃ\*Qw87B(% gD1 -+*H8lLf`@y9U p@rTT (+oH"G0DO 08@&XvXz "   61`9 XxÕӕu #AR>4p@!P 0!pDY3@r@*b! q#np@@j? PАC@RoHGt)i2H` 8B`M`:p+0! P;(07pH\hn@ o $ C1 f  )a A+-YYT+8Y`q |%vb5 (+ SH(*E|z0 N )(? @I{ď ?m„A ^Y@  ulk )A(P@x)@a \J φL "AJ/%3&e X}a ~lPO?ÀKل72@d2 xm>@m19)AofHJkY1J 7^@ f/pۅ SĀ Xhٹ /CH,NSGw! xZ0 t 冁/60 3QOk!BF`e آ +p 0 ^/6Dlof0 {3 ʹJډ)#Q%)ZbdP`":Y@0Zd 2T `@̈́%)D @hNֻ ۅҁ$5?TkAH|J EJF{f@ ³IԄr]?RJ`o l L$@B` $ zH+ <r G 0`/$! _@'h`@@ A¼:S4@q uk82ah.u42v*,"I pp0' h8T䑓>HLm-,,S{wDDFn `,pɁ  0r Xq@a$@ATu RԆp!ppp0e&b4"m L] |.s I܇P! Y8AK!L¼$>$ Wab\ @ 800-b0 (3 0, BPT!%{GPW޴ &jBY(|1) eM,-LL\L L=-] Ll ],\ q$f!HXBH+U7JEh(h   %-|Ąi  Br RTA  *T pt\U/B03`P2A`bH T #X(P3a C@@lifa`kJ)1U=! / YPB@)@#LI0 )0!OG100105>J($(/(" ۅ  Bp YDKPDY4'+**:H4`P=2(07pF(, E$$`HH%",IJa(( $\p)iPHS8"S_$ 0Ӆ@HB`Ta s)ZjfD-$3BN- L)AČ:*a":r T *4 gJH(z2*H " C@xF0y@ }BE 0$E`Ӯ"$mR(H2F<- Em.ߠaGRav&.&ab CXbb8D@ 9@ l<,&P@@E@Hd6eR ; z#X(P3a D@P#n 05 ,\,ReB`I H#`$ f,U)DAVMjC-8@Q aPPB F\Hφ;4b0;ofE @ % Il <`A f$b@E$  4 4@E$+@=`0!DI|+T&l ( @ (9N  iw|ʹUAm V`.f6"Ne8X\% 6%0%1*frrDcA|CB΀ҭ=&$!rB|!Y qoة@8ChIdD (;ARR-  pۅCʪ^ V c  .X6RD{HM;Z 0 hX $  .xkp Ia נ  UHK0p #vFA#B39az $'%,d/ 4%x/ T\!.ٲZP20rrPp+I٫NS^\(+ # kKA!E]q00Jf|lUԈPc0@dRR0JDRJQH BH>xR %2 `V{!1A3]9Wa"HAKBNr!DZ.8F :8LD79P29P<19BBzAA61ʽ#W % &0vI@JW b>UUsp rBR`Ti(}H[LB5@@D9 Vo0 (40 p@` L-:ƒPF@ppـp=802`03  T`[`.Ƞ%\" QW d@VA"U!-hאi d$ 840Dlt+Ʉ +f>3@$K @`8$uKfn $CKMP| H٥($<A Vp!B4!/@+0tfr8CA* L|@l@t6d>`3_Pi"e pw-)[ @v "NjiLT@zR¤H 4ɠ>@g K4A#[_D|MԀy(V 9w@B$@- J  '%4DL"V`dʈToR6X$Ja$pPBJ\ rhג'hA""YE` Rԋ3&Q2 @ юb" a a|0_rXQ.p CDUT}tjY @$1x llZƎ(3R) 줃DF  b\L/!^݂p^bH00@e0=@n'g as!() wkpї܂al L U2!"W8S*-Y@+ TF L,` dR?#@%0Z@bp V`jAfal̄ЈǢ(e/@S^K`_J&ltL` AxM, tD@-W; /`DQY SaP 08 #< ـsӕt`08 F((( x0N2Ǣe y{-pEPdR?BU} *DhZyNQpqŸcR6EqW64B(0 `p~.@r` 3 &uٙ=9$<M{4 @$./p@%o`%008 X e!H B0!M SyT9N"\ BE| L  !1u@]!s94zrfE8|Aa9R`.KdXi9O0r`dƈD2)"%2)upT2}4ZM 32U0B @ղy/ H<R )0fģ) (r\dA@BSBJ  ^hTH8BP~$pۅCx.cO ?@Ib6ڎ @Ixttk0 ;( 6,)\ AHAaC 2 JY(  p %.JB, '`("+g`x' NW3<,]MmLm LL\\L'*FB\X  8K ;‰$|C * $ H H@+f# 6CkAtvH0E,d 8 <8${ B Z)@. 了SI@]R (efc\ x ^ `׊V@@(;Ѓ DPe 2P5nF$bh"h2`y(^H "(X5(%85B!9Xt+ Y(2Ty x<1%0%)s ;iE8iCXЁ^x)i3rN'%*bQ!@M)ր ` Up "ZdHm T4d ACkI)D`! 0B { RЊHt{ (M S)F |D @Qـsӕs!H|AT9 T:A-a!d0 p?A¡m ibp x$hbX 4/p@@ &"B6XT!P8P@\>iLTل{TDW%+X\ć@ݐ)39]9WqH[AD@ɀRH HXAw kʃ3j Pa < ;y`BW4Ů5e`t\T$ jA P0 @ ( P  @(0} 0 Px[CbC|@S@PրPڢ   @|}`   (@& {\=PUAJ a J$D5 P,(' O& L*# @, (m!ˀIFP;LJp( * 88 ppyՐ2bBlagim`FCsAqP!TT"ckL@DHd A(hd@N*dhgi S.Nz6FfZa{;K;WS9UqA CA 0!? Qr2t:̸­"h5K! j]> 6"R"@L1`@ " H   rH2\>'.S$( `PH @@p@@T[`R: -Hlp pT<g CR![aづH?c1(p@A Z0@|/lDlp`ʁ v gBe D` BB(^}:UUY$΃A'@8\Py}]9W9U s(uG%)X8" ^J"S 8R(`f]0ăb("8xhR~`mK D 6e@t\U/EРT"@(93A1@`y0 Ҁ`9&ip*, 0  5,6Zc8 1t`4H `)݋8>NPY(2 SB0BpJ/s 7O:(3T#d.L >E ć$,d-.2|\!ȀT'Xz0 A@R= rrr; (*$I@#SF  q9.y |) L =aB ` 'Ix.f,xYf%l@pX6 է_ PP0TM!{" 4)o#D@5_`\ JO =D^@I\ `A@t bT ܎  0D6a  ` , $*At{ ·Jnh*`R@ !, F8 I)BwxH(;(אa$B( F0!8ST&h86CD"!^HPLǣd ``d20;e(0>a@c', ?@P ![$A "4t{0m p6JDM:Y@غ8ZxD@9h(8@ה #@Z+P0@t@@ȠP`A>0 pACj8$A"ndIEX,P4F J$"|$vZփLD%)€DvfL L Te*8(٬ ch  XUt0H^t NSW(PCj e Θ ($# (b Z*;T($( !cU(&pf D @@ B H`9N@pQBp%q b 5AD8p $#nL-ND5HaI !:&ua :@:M  5,vhETPaj5X1.qAJDR8D@%U!~PRr;H IX@HxB0#/&WNUU@ `fwa!B=!T!!rDz`u P@ A@B{BD5J!vM  ^$P0p,(@($Iۅ  @ 0ХH0ӇP~T¼W+**HF/ 0g,(PV> 1z@d*()(1@0&Pe   !r^7ټ (@%T( +WNU0 @p3<B;^*`5B` Aid2eM,-LL\Ll@ (gljdiAA5< X"Sܪ)+CA |ڤA 1D۩h/hWI y@EޤI1 ǁ@G 3-QA@Le.Hi(-Dp@@ (9NR=  K0Ф亖| |ڤA 1m0E4P(|0SXd R6hLcA`pX "@blE6 􆴑,u0#ڮ@XۀA 2 X h QJ BH   Ixr MA¼y@rBT&Ζv@( @60Hr fhBEdjj,"o0PP  Pr |2i;fP0aHQjH-\8X ?HA`!^NWNUU_x@_E@_  Ǥ !#jCC0(#CDr#AHDn($&0(ցx08&*0ց8rҩH`NNqPROMPTParameters no good for PROMPT > $rxu { pegase avirex { ~\DʹʫB\ |$ `Jb$i(J*6pE D! LpD  !"P¼OH:T@@$ʁ8I˔]Ƽܮ<% b`af:CQ. Q[!B.8 8D!\ A0F`T%R 8XH92@fHB'_E8|)@5AoE &#40F$#Z( P*l`9$)#Wf(B B?@ 4)Lꒀ-,3@#0(`-N@HV ;!MpJpQX% %I 6(B&uRb*;CHa_06H wH fH fH+ z"A C@4 ͸E ]=D)9.`tAAHA>Q>A` T@ Р Р92`H J@@@ԍ`szT@PPWJ`i?UQ@y0p2@H7BS!)ְ&@% a.W%$@0 pRi`l=P`P@D`;-Q@`!`!V 45P@/ 6 1 P5|pDE%(4@,P2,   P $‚TAJ@ApLH tP20rrrHAhNHIHJzB!$r}k dRfBVhז" @h*xt&&heX}lT 5< `]WBai$Ri!d#l ЯE^5,CJ _°@ʹʪÜ8g z P8 NhNHIHJzB!(rCd!")|,k ( RVA"UR:(@T.(E&aP bu~HDP+A.7` ĹA(.Z!rr4_Z)!rJ_X" `&PCڬ> (1H@lP1/p C/0|0p!h4A/t 8T 8I8D% Z!J  h@ubdR4"uրTU$hi2(8 /4(u<~R `B{[S[{'Osh[$B+!rx`v> (Q!\ ) HCC{ b _A4׈%\ P0 zCjr]W20 mAz @"AGATiRڜ>rrr䐗8f H-CY*PXƒDC``Qԕ`s$A!z* *r]2ä`$<iΨ@W&1O *iBpi"-t0 <IP~0l)PZ5^Z0e>^:0| -)h 8_g@(PZčOl8b(@P4NK&_d bCp+AT B4appX6hȥEPAKDmRCEIu`ב 1$P `@P qA*fpV8 d$rrc-/r 0sf 2  P$(JH+`< (@- `VД( 'WNUD/h(`(8U"A\*0R00H%@   " J,H $ @  K* {$(#pIA*$DD'yz 8|°)8 Z!t*" /bifijb`DjfjdJal@ (gljc`M% trЁЁсXd  nR   P 0x ,*\ xH@0BE(0_x^Ҕy\K9e8 a >8" =0N}!QI5Jx'@CAT0qT6L9Y I@,H@Vah$H6u $\A((8  # P~(*: !LGQ@l6`C@l#D%D EA(Jal OߜslmRr,A)-!! HvmLML-MA bs Z/0!Tq>" $A*(*H *2aoRz e!ٸ, zq )%EpL`0@X̀1P?h= `% 4* ,04V^NWNUU@\HD$H^Kc^\p ,4C`r1pV *8 p!G,AH,!N 8A.p* p!PJ q0GWT S'& ̦   %P"X. #`0Q*Q)((e(9AV D Tdp2 $HIUI#$$ 5 JaKb^+H$m fane2rvfabeLrBDad6DrfaNQQ`8rx`ra@ m gra062<` 2< BTB6aSJ QmNu DNuSABB3f DQNu'0<@P0A ^ a.Q"`eFoh5KSwaavi9; Ñ5"EXWXB`!v bJD0*gldb u A*a=p72]XnjlXYVU3u2vp"oIPl^PIc BAEl q *;Z04hT !Aq{{K;@udDEI#A{{3q6az*%hkD 8P0saX 'S7K{Wgrʰ[01)'lO&cIzxOOPԘW$09 AlSN茥67$(: $1*cjb`B`L#&=RHyHؓ0P(FplQHH0`~ ):Yٍ DPȠlUĺoQPȠpЀa@ޠ24 (I:;>+@J@X䝁/ )cbtETĠ#֒,\RP/f`Bfp 4);Zǀ $8 AA  % &bpc%C0I'D@e@t\Uaݣ@@rK<-ApjӀ xas/$,s7+4vD H @h t  @eDfMȘDm aDadTCjM Ѐ@ P8TPVR0  < As[Z8/d$pn&%FdC`@ 1 \R$R@$#nCJV/ + I)D#ZIZ! _fD L`|R=-݀8t]UK@En$A*H Iƃ06i7f*QlA@́;PI -$8. kHڃ3@ ɼJ-"3Df)VRU3pd*K3 $YN*3!*i5@X! ((İK 8 -@AA&A@`BBS"h }@3C2H6X Z5F(w l.kxmH) -@TB@j``F'b`X@è0VةAR[h5r¤, rhf UiH:8ʹʨCB\ -'O(_9t.`gwx- U F I >8Pf_`c A|)@> D, (H (H8  [ OİK 8RPy}04:@$(5iRrFB@B`4) P"2#"WA 8xkhAw_^D@`$A4r0$d'IBŠǀ DP%Qps<)%(H3(v"@ 6E8E e@t\U!!.sA@Khz(AX@8I &p< %.`|l H e*^́> )^jP@9.y1#A)Q;P8N\P~ $H12Chb ;(|@!rviQ`?ySYS:System/DiskCopy?xxqg9&$4%5T6p8adressenblink.doc+comfiledata.basedecodeDevPac.docDisk.info^DiskEd$dontuse8dontuseAqh dontuseFexpansionExplorer.doc$Exterminator'FileZap)futuseCfutuseEGenInst|help ,loaderlsiMetaScopemonitor.timerqjgopram\piaramromseka.doc)system-configurationTetraMon.doc TVTxPrint-26D3P30>z k" topaz.font@CancelH ldP84_bodyText1\_bodyText2H_topaz9_IntuitionBase_cancelText,_iorp_diskObj.L103 .L104@_ior_IconBase.L81.L90.L82.L91z lЋ.L83 .L92.L84(.L93".L85P.L948.L86v.L95T.L87.L96j.L88.L97.L89.L98.L99H:(o o"oE:Ot&O,yNpJWFg/HoHTNO OL\NuNu:ps_common0ps_size&__doprntps_emptyBstuffCharLsc_putL/$/Ho //9NO $Nuz m.L1.L2.L3.L4_printfH0,yLNL@ Nu/,yN,_Nu/,yN,_Nu/,y"/Nj,_Nu 0@_Write_Input_Output,_LoadSeg<U/,yLN:,_Nu/,y"o / N.,_Nu/,yLN,_Nu/,yLN,_Nu/,y"oN,_Nu/,y /N,_Nu/,y /N,_Nu/,yLN,_Nu/,y oz nV"N,_Nu/,y"oNb,_Nu/,y oL "/ND,_Nu/,y"oN>,_Nu/,y"oN8,_Nu/,y"o / N,_Nu/,y"o / N,_Nu4Ldx(@_AllocMem_FreeMem_AddHead0_FindNameH_FindTask`_AllocSignalt_FreeSignal_PutMsg_WaitPort_CloseLibrary_OpenDevice_CloseDevice_DoIO_OpenResz\'"1^ource$_OpenLibrary</,y oN,_Nu/,y oN,_Nu/,yLN,_Nu,_GetDiskObject_FreeDiskObject_FindToolType( H02,y o"o$o &o$ /("/,$/0&/4NLL Nu_AutoRequestLN,_Nu/,yLN,_Nu/,y"oN,_Nu/,y /N,_Nu/,y /N,_Nu/,yLN,_Nu/,y oۏp0(j(Nrp0(jN""0p0IN#A @lG8" p0(j$Nrp0(jN")p0(jtN#A Jf GX" p0(j$Nrp0(jN`") p0(jxN")%ALNsizebad argument for STACK current stack size is %n bytes Suggested stack size too small Suggested stack size too large strtonuB$v0(#Cr#A nH$ԁv0(#Ct0n$x9n$)r Nҩt0#A`rNrҩ `")N$zvH,ȏ$v>rx& } pegase avirex  ~qt]ptH .fastdirprs%1es^ ~ Disk.info pre Ft#//RD.B ,d#*4xp^{{?!!!?|`?y??????#+xp^{{|qA]l1cGASE.infodevsE.infoexamplesfoincludellibss1m10 2-26D3P30ur |renvvzu*( cpwyJGFEHy  Runvx|-\}|WloaderpwHԵ:OO(jdp N$"<I(l/ / g ,倲l"4(T`,2(jtp NJg2**p$A. J (F ,d^LF|addquotecharnoDOS1$8021$7952$795stripjunklnextchar3$795newargxstartupDOSNameopenDOSdoquotezBh_exitfromCLI.endargexitToDOSfromWorkbench"doconsLdomainzwaitmsgparmExitexit2k!zR-_stderr_stdoutargvBuffer_WBenchMsg _SysBase_errno argvArray,dosCmdBuf(initialSPdosCmdLen$_stdin_DOSBaseVerRev/$/Jg* 9gp9/NXHyNXJg$Jg/9NX/9NX/9Nz#%/NP$Nu"/ /#h#THx keymap.resourceCannot open keymap.resourceThis program requires at least 1.2 romsconsole.deviceInternal system errorCannot open console.deviceInternal system errorCannot allocate a signalDEVS:keymaps/DEVS:keymaps/Cannot open keymap file:A[wo { StackvoXiOO(jdp N$"<I(l/ / g ,倲l"4(T`,2(jtp NJg2**p$A. J (F Zh { HPromptvZS ~O>O(jdp N$"<I(l/ / g ,倲l"4(T`,2(jtp NJg2**p$A. J (F >09PROMPT start r҉"v$G" pP(j8NJfG" pP(j$NN"JfG$ !"$0vH8Z-,+*)('&%$#876543210/.CBA@?>=<;:9NMLKJIHGFEDYXWVUTSRQPO`_^]\[dcba |SuperEdv a@hsu4M<tfj@sA`АqE(S 0@HCCCq4 fh8(A (;PFk@H'\au7 6=ooK\9C\t(%KŠNȉT9 `cf$UK@b%@ ,㢿R7 D i@@4X&`MfH:7a`x.H95h8(rY k``vT%V:@Fs6 s0uZ^\%̓B!1&<.@ 乘 򀙋̾=  h (@qA/aPlApp7NAS(^ s078:2@d•tu!K#q"G7Qa E/'8oaNH,xKA P"PXXHaL/ Q"H N.&WP ."<N:+@ P S"m "XT"Q/ ,S&m (KJ"< XgN:(XQ&_BB kg kg kg kg kNqJBRn"_Q N.C m X"RSg"P (" (X#@P`BC m PP""m N.LNua(J  K"m ""qPN`HaP`@JgRzNuJ m "pP g$" m (pPS L$I""$Q``͕ "! uqOJO(jdp N$"<I(l/ / g ,倲l"4(T`,2(jtp NJg2**p$A. J (F Usage: find anyword <======== data.baserCan't open data.base %s %cA ((((( H=  ((((( H NVB . l rN @/NZXR`B .l/NXR`/. /.NPN^NuKC (<>#H>^@(NV/<0BNDP0-@JfpN^NuJgbp^/NX fpD`pC/NXp /NXB .l/NXR`p//NP` .N^NuN^Nu*Z#6P\v<l>DNVB 9S#Jkp yR`HyNX-@ g, f nRB` nR .`JfpN^Nu nB .N^NuNVB . S".lL n (S!@Jk "PRp` /.-aNX-@Rg nR . fNq . nBJfpN^Nu .N^NuC &.&4NV-| nd(Jg ` nfpN^Nu/./. /.aO N^NuNV nJ(g/aX-y-n p n( bg afB`-|R n( +WDHHp n A wg rg af ./@J.gr`r //<//.NdO  '}-@RfpN^Nup/B/.NO J.g <`p-@`J.gp`p".//.NdP-@RfpN^NuJ.g <`p-@`^J.gp`p"./<//.NdO -@RfpN^NuJ.g <`p-@`pN^Nu .rN @J(g n"n#H ` nB . n@ p!@!@ .@ N^NuNV n(g/p/N P n( JfJg/(/( N P"n#H #HB)p)/NXN^NuC0j#p6 JK=&t/SNVH A-H n JgrR-A-H %f %fC! "ҩ&)!8")!")v!"ҩ"0 <IXNJg""ҩ$0") <IpN`"ҩ#p"<҉#A") <IN#At$) <IpN")t <INJXg*")txf$)") <IpN`t") <I N")Jg4r <(jN <IN")$0r <(jNRr fl"*\ <(jPNN,,,,,,,,,ALL/S,Q=QUIET/SBad arguments :No file to delete tidyup `,"*t#p"0p(jN"*tp(jxN%itJtf$*x$ }ListvOO(jdp N$"<I(l/ / g ,倲l"4(T`,2(jtp NJg2**p$A. J (F <4XxCcVvBbMm<,;,>.:.?/_-.@7@78^9^9h8 }.f`9fL.=6E~G''''''#''''''"AAAAAAAAAAAAAAA@~`~`!1&@2#3"$4'%5(^6&7*8!(9)0_-)+=_-|\|\0ZzRrTt4lPp}]*${1}23QqSsDd죣Ll:;Mm"'%[4]56>./:?/+=.@7#8^9ˊ^ }usa0r+@L.=6EGAAAAAAAAAAAAAAA@~`!1@2#3$4%5޶^6&7*8(9)0߭_-+=|\00QqWwEeRrTtYyUuIiOoPp{[}]112233AaSsDdFfGgHhJjKkLl:;"'445566ZzXxCcVvBbNnMm<,>.?/..778899 mo~0 }gbV^L.=6EG''''''''''''"AAAAAAAAAAAAAAA@~``!!1@"2#3$$4%%5^^6&&7**8((9))0_-_-+=+=|\|\0QqWwRrTt,dPp{[{[}]}]123SsDd䣣Ll:;:;"'@'456ZzXxCcVvBbHMm<,<,>.>.?/?/.789] (  .fastdir(lnKeymapsnfo }{system-configuration)ڱ ~examplespʊl|{zyxwvuts' }demo.sٿ * Graphic Brushes read from DPaint2 take the following form... * * * DC.B 'FORM',0,0 * DC.W GREND-GRST Length in bytes of remaining data *GRST DC.B 'ILBMBMHD',0,0 * DC.W BMHDEND-BMHDST *BMHDST DC.W WIDTH,DEPTH Pixels wide, pixels deep * DC.W 0,0,$502 ??? * DC.W COMPFLAG =$100 if compressed * DC.W 0,$A0B ???? * DC.W SCRWID,SCRDEP Screen width/depth in pixels *BMHDEND * DC.B 'CMAP',0,0 * DC.W CMAPEND-CMAPST *CMPAST ̌p4 }demo4##"|Pp,xNJg6#L,yLN("$<\v-,yLN"yL,xNbNudos.libraryA Program written with HiSoft's Devpac Amiga ,4>_DOSBaseLdosnamePquit_fastJstartstring\ D0,A0 MOVE.L #$F00084,D0 BSR BLIT_5_PLANE MOVEM.L (SP)+,D0-D2/A0/A1/A5 RTS LEA SCREEN,A1 A1 is first bitplane LEA GRAPHIC,A0 MOVE.W (A2)+,D4 bעonmlkjih}s } q freemem.s}+v * file examples/freemem.s * a sample Intuition program to display a window constantly showing * the free memory figure, until it's closed * this source code (C) HiSoft 1987 All Rights Reserved * both source and binary are FreeWare and may be distributed free of charge * so long as copyright messages are not removed * revision history: * 7th June 86 written * 22nd Sept 86 changed includes * ensure case dependent and debug opt c+,d+ * firstly get the required constants and macr ]cba`_^]prq } 1 freemem2.sqk * file examples/freemem2.s - Workbench version * a sample Intuition program to display a window constantly showing * the free memory figure, until it's closed * this source code (C) HiSoft 1987 All Rights Reserved * both source and binary are FreeWare and may be distributed free of charge * so long as copyright messages are not removed * revision history: * 7th June 86 written * 22nd Sept 86 changed includes * 18th Dec 86 uses easystart for workbench version * ensure case depen2edcs } windowtest.asmc3pϨ CODE XDEF _main _main: .L6: MOVEM.L D2/D3,-(SP) .L10: .L5: PEA .L7 * STACK OFFSET 4 JSR _printf CLR.L -(SP) * STACK OFFSET 8 PEA .L8 * STACK OFFSET 12 JSR _OpenLibrary MOVE.L D0,_GfxBase CLR.L -(SP) * STACK OFFSET 16 PEA .L9 * STACK OFFSET 20 JSR _OpenLibrary MOVE.L D0,_IntuitionBase PEA _mywindow * STACK OFFSET 24 JSR _OpenWindow MOVE.L D0,D3 CLR.W D2 * STACK OFFSET 0 LEA 24(SP),SP .L4: JSR _WaitTOF .L3: ADDQ.W #1,D2 MOVEQ #120,D0 CMP.W D2,D0 BGTfgf } < helloworldfbxdpC,xNJg<#|pC,xNJg#A,y|N:Jg#A:1|1|1|,1|d|| !|!|!| 1|.BB!zB"1|d&1|(1|*1|,,y|N4Jg\#"@"i2pr,yN z"h2Ap ,yN z hV(p,xNx zj,y|N zX,y|N"zF,xNb"z6,xNb Nu@t intuition.li֡bXWVUTSR ~s helloworld.sR? * the 'Hello World' program in 68000 Assembler * the C version is on page 2-10 of the Intuition manual * this source code (C) HiSoft 1987 All Rights Reserved opt c+,d+ incdir ":include/" include exec/exec_lib.i include intuition/intuition.i include intuition/intuition_lib.i include graphics/graphics_lib.i include graphics/text.i INTUITION_REV equ 31 v1.1 GRAPHICS_REV equ 31 v1.1 * Open the intuition library moveq #100,d4 default error return code moveq #INTUITIO MLKJIHG\[ZY ~n halfbrit.SYq ; *** half-brite example *** ; custom-chip registers intena = $9a ; interrupt enable dmacon = $96 ; interrupt request (read) color00 = $180 ; color 0 register vhposr = $6 ; electron beam position (read) ; copper register cop1lc = $80 ; first list address cop2lc = $84 ; second list address copjmp1 = $88 ; jump to first list copjmp2 = $8a ; jump to second list ; bitplane register bplcon0 = $100 ; bitplane ctrl register 0 bplcon1 = $102 ; bitplanړ+POL ~freememOLiCp,xNJg0#Cp,xNJg#Cp,xNJg#A,yN4Jg##r,xN(gR#AHaA@p 0f Qpr"zH"i2,yN"z6"i2Ap,yN z hV,xNJg "@,xN`"<,yN:`j z,yN"y,xNb"y,xNb"y,xNbpNur$< o^0 QNu22intuition.librarygraphics.librarydos.library  -I[Vj Sincludepv ~mathްHueN ~mathtrans_lib.i"r IFND MATHTRANS_LIB_I MATHTRANS_LIB_I set 1 * library offsets off _MathTransBase _LVOSPAtan equ -30 _LVOSPSin equ -36 _LVOSPCos equ -42 _LVOSPTan equ -48 _LVOSPSincos equ -54 _LVOSPSinh equ -60 _LVOSPCosh equ -66 _LVOSPTanh equ -72 _LVOSPExp equ -78 _LVOSPLog equ -84 _LVOSPPow equ -90 _LVOSPSqrt equ -96 _LVOSPTieee equ -102 _LVOSPFieee equ -108 _LVOSPAsin equ -114 _LVOSPAcos equ -120 _LVOSPLog10 equ -126 * macro to call it CALLMATHTRANS macro move.l _MathTransBase,a6 jsr _LVO\1(fHa6) endm * macro to define name MATHTRANSNAME macro dc.b 'mathtrans.library',0 even endm ENDC qrx ~ pegase avirex |9 ~Vg ~ mathffp_lib.iI IFND MATHFFP_LIB_I MATHFFP_LIB_I set 1 * library offsets from _MathBase _LVOSPFix equ -30 _LVOSPFlt equ -36 _LVOSPCmp equ -42 _LVOSPTst equ -48 _LVOSPAbs equ -54 _LVOSPNeg equ -60 _LVOSPAdd equ -66 _LVOSPSub equ -72 _LVOSPMul equ -78 _LVOSPDiv equ -84 * macro to call ffp library CALLFFP macro move.l _MathBase,a6 jsr _LVO\1(a6) endm * macro to define library name FFPNAME macro dc.b 'mathffp.library',0 even endm ENDC , ~mathieeedoubbas_lib.i&V IFND MATHDOUB_LIB_I MATHDOUB_LIB_I set 1 * library offsets off _MathIeeeDoubBasBase _LVOIEEEDPFix equ -30 _LVOIEEEDPFlt equ -36 _LVOIEEEDPCmp equ -42 _LVOIEEEDPTst equ -48 _LVOIEEEDPAbs equ -54 _LVOIEEEDPNeg equ -60 _LVOIEEEDPAdd equ -66 _LVOIEEEDPSub equ -72 _LVOIEEEDPMul equ -78 _LVOIEEEDPDiv equ -84 * macro to call it CALLIEEEDOUB macro move.l _MathIeeeDoubBasBase,a6 jsr _LVO\1(a6) endm IEEEDOUBNAME macro dc.b 'mathieeedoubbas.library',0 even endm ENDC  ~ librariesh6Q ~ dos_lib.iQ)< IFND LIBRARIES_DOS_LIB_I LIBRARIES_DOS_LIB_I set 1 * library offsets from _DOSBase _LVOOpen equ -30 _LVOClose equ -36 _LVORead equ -42 _LVOWrite equ -48 _LVOInput equ -54 _LVOOutput equ -60 _LVOSeek equ -66 _LVODeleteFile equ -72 _LVORename equ -78 _LVOLock equ -84 _LVOUnLock equ -90 _LVODupLock equ -96 _LVOExamine equ -102 _LVOExNext equ -108 _LVOInfo equ -114 _LVOCreateDir equ -120 _LVOCurrentDir equ -126 _LVOIoErr equ -132 _LVOCreateProc equ -138 _LVOExit equ -144 _LVOLoadSeg e7?& ~utranslator_lib.i@8 IFND TRANSLATOR_LIB_I TRANSLATOR_LIB_I set 1 * the offset from _TranslatorBase _LVOTranslate equ -30 CALLTRANS macro move.l _TranslatorBase,a6 jsr _LVO\1(a6) endm TRANSNAME macro dc.b 'translator.library',0 endm ENDC Q ~ dos_lib.isN ~ clist_lib.iN IFND CLIST_LIB_I CLIST_LIB_I set 1 * offsets off _ClistBase _LVOInitCLPool equ -30 _LVOAllocCList equ -36 _LVOFreeCList equ -42 _LVOFlushCList equ -48 _LVOSizeCList equ -54 _LVOPutCLChar equ -60 _LVOGetCLChar equ -66 _LVOUnGetCLChar equ -72 _LVOUnPutCLChar equ -78 _LVOPutCLWord equ -84 _LVOGetCLWord equ -90 _LVOUnGetCLWord equ -96 _LVOUnPutCLWord equ -102 _LVOPutCLBuf equ -108 _LVOGetCLBuf equ -114 _LVOMarkCList equ -120 _LVOIncrCLMark equ -126 _LVOPeekCLMark equ -132 _LVOSplitCLi2S@?>=<  ~`dos.i6 memory.i6`= IFND EXEC_MEMORY_I EXEC_MEMORY_I SET 1 IFND EXEC_NODES_I INCLUDE "exec/nodes.i" ENDC !EXEC_NODES_I rsset LN_SIZE ML_NUMENTRIES rs.w 1 ML_ME rs.w 0 ML_SIZE rs.w 0 rsset 0 ME_REQS rs.w 0 ME_ADDR rs.l 1 ME_LENGTH rs.l 1 ME_SIZE rs.w 0 MEMB_PUBLIC equ 0 MEMF_PUBLIC equ 1<<0 MEMB_CHIP equ 1 MEMF_CHIP equ 1<<1 MEMB_FAST equ 2 MEMF_FAST equ 1<<2 MEMB_CLEAR equ 16 MEMF_CLEAR equ 1<<16 MEMB_LARGEST equ 17 MEMF_LARGEST equ 1<<17 MEM_BLOCKSIZE EQU 8 MEM_BLOCKMASK EQU (MEM_BLOC0 {:987 @  exec_lib.i7 IFND EXEC_EXEC_LIB_I EXEC_EXEC_LIB_I set 1 * defines library offsets and macros for calling exec library * from location _SysBase _LVOSupervisor equ -30 _LVOExitIntr equ -36 _LVOSchedule equ -42 _LVOReschedule equ -48 _LVOSwitch equ -54 _LVODispatch equ -60 _LVOException equ -66 _LVOInitCode equ -72 _LVOInitStruct equ -78 _LVOMakeLibrary equ -84 _LVOMakeFunctions equ -90 _LVOFindResident equ -96 _LVOInitResident equ -102 _LVOAlert equ -108 _LVODebug equ -114 _LVODisable equ -120 _kL exec.iG&l INCLUDE "exec/nodes.i" INCLUDE "exec/lists.i" INCLUDE "exec/interrupts.i" INCLUDE "exec/memory.i" INCLUDE "exec/ports.i" INCLUDE "exec/tasks.i" INCLUDE "exec/libraries.i" INCLUDE "exec/devices.i" INCLUDE "exec/io.i" execdc z funcdef.ic'ܲ FUNCDEF MACRO _LVO\1 EQU FUNC_CNT FUNC_CNT SET FUNC_CNT-6 ENDM FUNC_CNT SET 4*-6 6execŇ'& q libraries.i&,x0 IFND EXEC_LIBRARIES_I EXEC_LIBRARIES_I SET 1 IFND EXEC_NODES_I INCLUDE "exec/nodes.i" for LN_SIZE ENDC !EXEC_NODES_I LIB_VECTSIZE EQU 6 LIB_RESERVED EQU 4 LIB_BASE EQU $FFFFFFFA LIB_USERDEF EQU LIB_BASE-(LIB_RESERVED*LIB_VECTSIZE) LIB_NONSTD EQU LIB_USERDEF LIBINIT MACRO IFC '\1','' COUNT_LIB SET LIB_USERDEF ENDC IFNC '\1','' COUNT_LIB SET \1 ENDC ENDM LIBDEF MACRO \1 EQU COUNT_LIB COUNT_LIB SET COUNT_LIB-LIB_VECTSIZE ENDM LIBINIT L  - y    >  execbase.i  Mq IFND EXEC_EXECBASE_I EXEC_EXECBASE_I SET 1 IFND EXEC_INTERRUPTS_I INCLUDE "exec/interrupts.i" for IV_SIZE,LH_SIZE,SH_SIZE ENDC !EXEC_INTERRUPTS_I IFND EXEC_LIBRARIES_I INCLUDE "exec/libraries.i" for LIB_SIZE ENDC !EXEC_LIBRARIES_I rsset LIB_SIZE SoftVer rs.w 1 LowMemChkSum rs.w 1 ChkBase rs.l 1 ColdCapture rs.l 1 CoolCapture rs.l 1 WarmCapture rs.l 1 SysStkUpper rs.l 1 SysStkLower rs.l 1 MaxLocMem rs.l 1 DebugEntry rs.l 1 DebugData rs.l 1 AlertData rs.l 1 RsvdExt rs.l 1  2B ChkSum rs.w 1 IntVects rs.w 0 IVTBE rs.b IV_SIZE IVDSKBLK rs.b IV_SIZE IVSOFTINT rs.b IV_SIZE IVPORTS rs.b IV_SIZE IVCOPER rs.b IV_SIZE IVVERTB rs.b IV_SIZE IVBLIT rs.b IV_SIZE IVAUD0 rs.b IV_SIZE IVAUD1 rs.b IV_SIZE IVAUD2 rs.b IV_SIZE IVAUD3 rs.b IV_SIZE IVRBF rs.b IV_SIZE IVDSKSYNC rs.b IV_SIZE IVEXTER rs.b IV_SIZE IVINTEN rs.b IV_SIZE IVNMI rs.b IV_SIZE ThisTask rs.l 1 IdleCount rs.l 1 DispCount rs.l 1 Quantum rs.w 1 Elapsed rs.w 1 SysFlags rs.w 1 IDNestCnt rs.b 1 TDNestC  (nt rs.b 1 AttnFlags rs.w 1 AttnResched rs.w 1 ResModules rs.l 1 TaskTrapCode rs.l 1 TaskExceptCode rs.l 1 TaskExitCode rs.l 1 TaskSigAlloc rs.l 1 TaskTrapAlloc rs.w 1 MemList rs.b LH_SIZE ResourceList rs.b LH_SIZE DeviceList rs.b LH_SIZE IntrList rs.b LH_SIZE LibList rs.b LH_SIZE PortList rs.b LH_SIZE TaskReady rs.b LH_SIZE TaskWait rs.b LH_SIZE SoftInts rs.b SH_SIZE*5 LastAlert rs.b 4*4 ExecBaseReserved rs.l 1 SYSBASESIZE rs.w 0 AFB_68010 EQU 0 (will remain set for 68  r020 as well) AFB_68020 EQU 1 AFB_68881 EQU 4 AFB_PAL EQU 8 PAL/NTSC AFB_50HZ EQU 9 Clock Rate ENDC !EXEC_EXECBASE_I V_SIZE IVVERTB rs.b IV_SIZE IVBLIT rs.b IV_SIZE IVAUD0 rs.b IV_SIZE IVAUD1 rs.b IV_SIZE IVAUD2 rs.b IV_SIZE IVAUD3 rs.b IV_SIZE IVRBF rs.b IV_SIZE IVDSKSYNC rs.b IV_SIZE IVEXTER rs.b IV_SIZE IVINTEN rs.b IV_SIZE IVNMI rs.b IV_SIZE ThisTask rs.l 1 IdleCount rs.l 1 DispCount rs.l 1 Quantum rs.w 1 Elapsed rs.w 1 SysFlags rs.w 1 IDNestCnt rs.b 1 TDNestC=-, tasks.i,J IFND EXEC_TASKS_I EXEC_TASKS_I SET 1 IFND EXEC_NODES_I INCLUDE "exec/nodes.i" for LN_SIZE ENDC !EXEC_NODES_I IFND EXEC_LISTS_I INCLUDE "exec/lists.i" for LH_SIZE ENDC !EXEC_LISTS_I rsset LN_SIZE TC_FLAGS rs.b 1 TC_STATE rs.b 1 TC_IDNESTCNT rs.b 1 TC_TDNESTCNT rs.b 1 TC_SIGALLOC rs.l 1 TC_SIGWAIT rs.l 1 TC_SIGRECVD rs.l 1 TC_SIGEXCEPT rs.l 1 TC_TRAPALLOC rs.w 1 TC_TRAPABLE rs.w 1 TC_EXCEPTDATA rs.l 1 TC_EXCEPTCODE rs.l 1 TC_TRAPDATA rs.l 1 TC_TRAPCODE rs.l 1 TC_SPREG rs,Cx  execname.ix5* IFND EXEC_EXECNAME_I EXEC_EXECNAME_I SET 1 EXECNAME macro dc.b 'exec.library',0 even endm ENDC !EXEC_EXECNAME_I  Pexec! PRTW E resources{($  interrupts.i(\ IFND EXEC_INTERRUPTS_I EXEC_INTERRUPTS_I SET 1 IFND EXEC_NODES_I INCLUDE "exec/nodes.i" for LN_SIZE ENDC !EXEC_NODES_I IFND EXEC_LISTS_I INCLUDE "exec/lists.i" for LH_SIZE ENDC !EXEC_LISTS_I rsset LN_SIZE IS_DATA rs.l 1 IS_CODE rs.l 1 IS_SIZE rs.w 0 rsset 0 IV_DATA rs.l 1 IV_CODE rs.l 1 IV_NODE rs.l 1 IV_SIZE rs.w 0 SB_SAR equ 15 SF_SAR equ 1<<15 SB_TQE equ 14 SF_TQE equ 1<<14 SB_SINT equ 13 SF_SINT equ 1<<13 rsset LH_SIZE SH_PAD rs.w 1 SH_SIZE rs.w 0 SIH_P<^) \initializers.i)v2X IFND EXEC_INITIALIZERS_I EXEC_INITIALIZERS_I SET 1 INITBYTE MACRO DC.B $e0 DC.B 0 DC.W \1 DC.B \2 DC.B 0 ENDM INITWORD MACRO DC.B $d0 DC.B 0 DC.W \1 DC.W \2 ENDM INITLONG MACRO DC.B $c0 DC.B 0 DC.W \1 DC.L \2 ENDM INITSTRUCT MACRO DS.W 0 IFC '\4','' COUNT\@ SET 0 ENDC IFNC '\4','' COUNT\@ SET \4 ENDC CMD\@ SET (((\1)<<4)!COUNT\@) IFLE (\2)-255 DC.B (CMD\@)!$80 DC.B \2 MEXIT ENDC DC.B CMD\@!$0C0 DC.B (((\2)>>16)&$0FF) DC.W ((\2)&$0FFFF) ENDM ENDC ^+ Y devices.i IFND EXEC_DEVICES_I EXEC_DEVICES_I SET 1 IFND EXEC_LIBRARIES_I INCLUDE "exec/libraries.i" for LIB_SIZE ENDC !EXEC_LIBRARIES_I IFND EXEC_PORTS_I INCLUDE "exec/ports.i" for MP_SIZE ENDC !EXEC_PORTS_I rsset LIB_SIZE DD_SIZE rs.w 0 rsset MP_SIZE UNIT_FLAGS rs.b 1 UNIT_pad rs.b 1 UNIT_OPENCNT rs.w 1 UNIT_SIZE rs.w 0 UNITB_ACTIVE equ 0 UNITF_ACTIVE equ 1<<0 UNITB_INTASK equ 1 UNITF_INTASK equ 1<<1 ENDC !EXEC_DEVICES_I ' errors.iDj IFND EXEC_ERRORS_I EXEC_ERRORS_I SET 1 IOERR_OPENFAIL EQU -1 IOERR_ABORTED EQU -2 IOERR_NOCMD EQU -3 IOERR_BADLENGTH EQU -4 ERR_OPENDEVICE EQU IOERR_OPENFAIL ENDC !EXEC_ERRORS_I exec)d+*0/.   alerts.i.fY IFND EXEC_ALERTS_I EXEC_ALERTS_I SET 1 SB_ALERTWACK equ 1 SF_ALERTWACK equ 1<<1 IFND EXEC_EXEC_LIB_I include "exec/exec_lib.i" for _LVOAlert ENDC ALERT macro (alertNumber, paramArray, scratch) movem.l d7/a5/a6,-(sp) move.l #\1,d7 IFNC '\2','' lea \2,a5 ENDC move.l 4.w,a6 ; (use proper name!!!) jsr _LVOAlert(a6) movem.l (sp)+,d7/a5/a6 endm AT_DeadEnd equ $80000000 AT_Recovery equ $00000000 AG_NoMemory equ $00010000 AG_MakeLib equ $00020000 AG_OpenLib equ $00077 nodes.i,sV IFND EXEC_NODES_I EXEC_NODES_I SET 1 rsset 0 LN_SUCC rs.l 1 LN_PRED rs.l 1 LN_TYPE rs.b 1 LN_PRI rs.b 1 LN_NAME rs.l 1 LN_SIZE rs.w 0 NT_UNKNOWN EQU 0 NT_TASK EQU 1 NT_INTERRUPT EQU 2 NT_DEVICE EQU 3 NT_MSGPORT EQU 4 NT_MESSAGE EQU 5 NT_FREEMSG EQU 6 NT_REPLYMSG EQU 7 NT_RESOURCE EQU 8 NT_LIBRARY EQU 9 NT_MEMORY EQU 10 NT_SOFTINT EQU 11 NT_FONT EQU 12 NT_PROCESS EQU 13 NT_SEMAPHORE EQU 14 ENDC !EXEC_NODES_I     resident.i # IFND EXEC_RESIDENT_I EXEC_RESIDENT_I SET 1 rsset 0 RT_MATCHWORD rs.w 1 RT_MATCHTAG rs.l 1 RT_ENDSKIP rs.l 1 RT_FLAGS rs.b 1 RT_VERSION rs.b 1 RT_TYPE rs.b 1 RT_PRI rs.b 1 RT_NAME rs.l 1 RT_IDSTRING rs.l 1 RT_INIT rs.l 1 RT_SIZE rs.w 0 RTC_MATCHWORD EQU $4AFC RTB_COLDSTART equ 0 RTF_COLDSTART equ 1<<0 RTB_AUTOINIT equ 7 RTF_AUTOINIT equ 1<<7 RTM_WHEN EQU 1 RTW_NEVER EQU 0 RTW_COLDSTART EQU 1 ENDC !EXEC_RESIDENT_I !" 4 "[ lists.i!8O} IFND EXEC_LISTS_I EXEC_LISTS_I SET 1 IFND EXEC_NODES_I INCLUDE "exec/nodes.i" for LN_PRED ENDC !EXEC_NODES_I rsset 0 LH_HEAD rs.l 1 LH_TAIL rs.l 1 LH_TAILPRED rs.l 1 LH_TYPE rs.b 1 LH_pad rs.b 1 LH_SIZE rs.w 0 NEWLIST MACRO MOVE.L \1,(\1) ADDQ.L #LH_TAIL,(\1) CLR.L LH_TAIL(\1) MOVE.L \1,(LH_TAIL+LN_PRED)(\1) ENDM TSTLIST MACRO IFC '\1','' CMP.L LH_TAIL+LN_PRED(A0),A0 ENDC IFNC '\1','' CMP.L LH_TAIL+LN_PRED(\1),\1 ENDC ENDM SUCC MACRO MOVE.L#$`"!$ io.i#!u IFND EXEC_IO_I EXEC_IO_I SET 1 IFND EXEC_PORTS_I INCLUDE "exec/ports.i" for MN_SIZE ENDC !EXEC_PORTS_I IFND EXEC_LIBRARIES_I INCLUDE "exec/libraries.i" for LIBINIT,LIBDEF ENDC !EXEC_LIBRARIES_I rsset MN_SIZE IO_DEVICE rs.l 1 IO_UNIT rs.l 1 IO_COMMAND rs.w 1 IO_FLAGS rs.b 1 IO_ERROR rs.b 1 IO_SIZE rs.w 0 IO_ACTUAL rs.l 1 IO_LENGTH rs.l 1 IO_DATA rs.l 1 IO_OFFSET rs.l 1 IOSTD_SIZE rs.w 0 IOB_QUICK equ 0 IOF_QUICK equ 1<<0 LIBINIT LIBDEF DEV_BEGINIO process IO%&^&  strings.i%!<> IFND EXEC_STRINGS_I EXEC_STRINGS_I SET 1 EOS EQU 0 BELL EQU 7 LF EQU 10 CR EQU 13 BS EQU 8 DEL EQU $7F NL EQU LF STRING MACRO DC.B \1 DC.B 0 EVEN ENDM STRINGL MACRO DC.B 13,10 DC.B \1 DC.B 0 EVEN ENDM STRINGR MACRO DC.B \1 DC.B 13,10,0 EVEN ENDM STRINGLR MACRO DC.B 13,10 DC.B \1 DC.B 13,10,0 EVEN ENDM ENDC !EXEC_STRINGS_I '(+@$(a ables.i'$ IFND EXEC_ABLES_I EXEC_ABLES_I SET 1 IFND EXEC_EXECBASE_I INCLUDE "exec/execbase.i" for IDNestCnt ENDC !EXEC_EXECBASE_I INT_ABLES MACRO XREF.L _intena needs linker mode ENDM DISABLE MACRO IFC '\1','' MOVE.W #$04000,_intena *(NOT IF_SETCLR)+IF_INTEN ADDQ.B #1,IDNestCnt(A6) ENDC IFNC '\1','' MOVE.L 4,\1 MOVE.W #$04000,_intena *(NOT IF_SETCLR)+IF_INTEN ADDQ.B #1,IDNestCnt(\1) ENDC ENDM ENABLE MACRO IFC '\1','' SUBQ.B #1,IDNestCnt(A)*3"*=  ports.i)`oq IFND EXEC_PORTS_I EXEC_PORTS_I SET 1 IFND EXEC_NODES_I INCLUDE "exec/nodes.i" for LN_SIZE ENDC !EXEC_NODES_I IFND EXEC_LISTS_I INCLUDE "exec/lists.i" for LH_SIZE ENDC !EXEC_LISTS_I rsset LN_SIZE MP_FLAGS rs.b 1 MP_SIGBIT rs.b 1 MP_SIGTASK rs.l 1 MP_MSGLIST rs.b LH_SIZE MP_SIZE rs.w 0 MP_SOFTINT EQU MP_SIGTASK PF_ACTION EQU 3 PA_SIGNAL EQU 0 PA_SOFTINT EQU 1 PA_IGNORE EQU 2 rsset LN_SIZE MN_REPLYPORT rs.l 1 MN_LENGTH rs.w 1 MN_SIZE rs.w 0 rsset MP_S+,#~#,  types.i+t IFND EXEC_TYPES_I EXEC_TYPES_I SET 1 EXTERN_LIB MACRO XREF.L _LVO\1 changed for GenAm ENDM STRUCTURE MACRO \1 SET 0 SOFFSET SET \2 ENDM BOOL MACRO \1 EQU SOFFSET SOFFSET SET SOFFSET+2 ENDM BYTE MACRO \1 EQU SOFFSET SOFFSET SET SOFFSET+1 ENDM UBYTE MACRO \1 EQU SOFFSET SOFFSET SET SOFFSET+1 ENDM WORD MACRO \1 EQU SOFFSET SOFFSET SET SOFFSET+2 ENDM UWORD MACRO \1 EQU SOFFSET SOFFSET SET SOFFSET+2 ENDM SHORT MACRO \1 E-/d.0248:<>@CEG  tgraphics./]%/ text.i-.%Fu IFND GRAPHICS_TEXT_I GRAPHICS_TEXT_I SET 1 IFND EXEC_PORTS_I INCLUDE "exec/ports.i" for MN_SIZE ENDC FS_NORMAL EQU 0 FSB_EXTENDED equ 3 FSF_EXTENDED equ 1<<3 FSB_ITALIC equ 2 FSF_ITALIC equ 1<<2 FSB_BOLD equ 1 FSF_BOLD equ 1<<1 FSB_UNDERLINED equ 0 FSF_UNDERLINED equ 1<<0 FPB_ROMFONT equ 0 FPF_ROMFONT equ 1<<0 FPB_DISKFONT equ 1 FPF_DISKFONT equ 1<<1 FPB_REVPATH equ 2 FPF_REVPATH equ 1<<2 FPB_TALLDOT equ 3 FPF_TALLDOT equ 1<<3 FPB_WIDEDOT equ 4 FPF_WIDEDOT equ 1<<4 FPB_PROP01m1 clip.i-0U# IFND GRAPHICS_CLIP_I GRAPHICS_CLIP_I SET 1 IFND EXEC_PORTS_I include 'exec/ports.i' for MN_SIZE,MP_SIZE ENDC rsset 0 lr_Front rs.l 1 lr_Back rs.l 1 lr_ClipRect rs.l 1 lr_RastPort rs.l 1 lr_MinX rs.w 1 lr_MinY rs.w 1 lr_MaxX rs.w 1 lr_MaxY rs.w 1 lr_Lock rs.b 1 lr_LockCount rs.b 1 lr_LayerLockCount rs.b 1 lr_reserved rs.b 1 lr_reserved1 rs.w 1 lr_Flags rs.w 1 lr_SuperBitMap rs.l 1 lr_SuperClipRect rs.l 1 lr_Window rs.l 1 lr_Scroll_X rs.w 1 lr_Scroll_Y rs.w 1 lr_LockPort rs.b M23^3  regions.i-25 IFND GRAPHICS_REGIONS_I GRAPHICS_REGIONS_I SET 1 IFND GRAPHICS_GFX_I include 'graphics/gfx.i' for ra_SIZEOF ENDC rsset 0 rg_bounds rs.b ra_SIZEOF rg_RegionRectangle rs.l 1 rg_SIZEOF rs.w 0 rsset 0 rr_Next rs.l 1 rr_Prev rs.l 1 rr_bounds rs.b ra_SIZEOF rr_SIZEOF rs.w 0 ENDC 1 clip.i-456z5 +copper.i6-4\ IFND GRAPHICS_COPPER_I GRAPHICS_COPPER_I SET 1 COPPER_MOVE equ 0 COPPER_WAIT equ 1 CPRNXTBUF equ 2 CPR_NT_LOF equ $8000 CPR_NT_SHT equ $4000 rsset 0 ci_OpCode rs.w 1 ci_nxtlist rs.b 0 ci_VWaitPos rs.b 0 ci_DestAddr rs.b 2 ci_HWaitPos rs.b 0 ci_DestData rs.b 2 ci_SIZEOF rs.w 0 rsset 0 crl_Next rs.l 1 crl_start rs.l 1 crl_MaxCount rs.w 1 crl_SIZEOF rs.w 0 rsset 0 cl_Next rs.l 1 cl__CopList rs.l 1 cl_ rs.l 1 cl_CopIns rs.l 1 cl_CopPtr rs.l 1 cl_CopLStart rs.l 1 cl_CopSStart 67eK7 ] gfxbase.i-6V IFND GRAPHICS_GFXBASE_I GRAPHICS_GFXBASE_I SET 1 IFND EXEC_LISTS_I include 'exec/lists.i' for LH_SIZE ENDC IFND EXEC_LIBRARIES_I include 'exec/libraries.i' for LIB_SIZE ENDC IFND EXEC_INTERRUPTS_I include 'exec/interrupts.i' for IS_SIZE ENDC rsset LIB_SIZE gb_ActiView rs.l 1 gb_copinit rs.l 1 gb_cia rs.l 1 gb_blitter rs.l 1 gb_LOFlist rs.l 1 gb_SHFlist rs.l 1 gb_blthd rs.l 1 gb_blttl rs.l 1 gb_bsblthd rs.l 1 gb_bsblttl rs.l 1 gb_vbsrv rs.b IS_SIZE gb_timsrv rs.b IS_SIZE89W 9 V display.i-8x[ IFND GRAPHICS_DISPLAY_I GRAPHICS_DISPLAY_I SET 1 MODE_640 equ $8000 PLNCNTMSK equ $7 PLNCNTSHFT equ 12 PF2PRI equ $40 COLORON equ $0200 DBLPF equ $400 HOLDNMODIFY equ $800 INTERLACE equ 4 PFA_FINE_SCROLL equ $F PFB_FINE_SCROLL_SHIFT equ 4 PF_FINE_SCROLL_MASK equ $F DIW_HORIZ_POS equ $7F DIW_VRTCL_POS equ $1FF DIW_VRTCL_POS_SHIFT equ 7 DFTCH_MASK equ $FF VPOSRLOF equ $8000 ENDC :;%8; sprite.i-:J7 IFND GRAPHICS_SPRITE_I GRAPHICS_SPRITE_I SET 1 rsset 0 ss_posctldata rs.l 1 ss_height rs.w 1 ss_x rs.w 1 ss_y rs.w 1 ss_num rs.w 1 ss_SIZEOF rs.w 0 ENDC graphics<=[=> view.i-< IFND GRAPHICS_VIEW_I GRAPHICS_VIEW_I SET 1 V_PFBA EQU $40 V_DUALPF EQU $400 V_HIRES EQU $8000 V_LACE EQU 4 V_HAM EQU $800 V_SPRITES EQU $4000 GENLOCK_VIDEO EQU 2 rsset 0 cm_Flags rs.b 1 cm_Type rs.b 1 cm_Count rs.w 1 cm_ColorTable rs.l 1 cm_SIZEOF rs.w 0 rsset 0 vp_Next rs.l 1 vp_ColorMap rs.l 1 vp_DspIns rs.l 1 vp_SprIns rs.l 1 vp_ClrIns rs.l 1 vp_UCopIns rs.l 1 vp_DWidth rs.w 1 vp_DHeight rs.w 1 vp_DxOffset rs.w 1 vp_DyOffset rs.w 1 vp_Modes rs.w 1 v>? ?/ 2 rastport.i->G IFND GRAPHICS_RASTPORT_I GRAPHICS_RASTPORT_I SET 1 rsset 0 tr_RasPtr rs.l 1 tr_Size rs.l 1 tr_SIZEOF rs.w 0 rsset 0 gi_sprRsrvd rs.b 1 gi_Flags rs.b 1 gi_gelHead rs.l 1 gi_gelTail rs.l 1 gi_nextLine rs.l 1 gi_lastColor rs.l 1 gi_collHandler rs.l 1 gi_leftmost rs.w 1 gi_rightmost rs.w 1 gi_topmost rs.w 1 gi_bottommost rs.w 1 gi_firstBlissObj rs.l 1 gi_lastBlissObj rs.l 1 gi_SIZEOF rs.w 0 RPB_FRST_DOT equ 0 RPF_FRST_DOT equ 1<<0 RPB_ONE_DOT equ 1 RPF_ONE_DOT equ 1<<1 RPB_DBUFFE@A) LBAH layers.i-@B:Y0 IFND GRAPHICS_LAYERS_I GRAPHICS_LAYERS_I SET 1 IFND EXEC_PORTS_I include 'exec/ports.i' for MP_SIZE ENDC IFND EXEC_LISTS_I include 'exec/lists.i' for LH_SIZE ENDC IFND EXEC_LIBRARIES_I include 'exec/libraries.i' for IS_SIZE ENDC rsset 0 lie_env rs.b 13*4 lie_mem rs.b LH_SIZE lie_FreeClipRects rs.l 1 lie_blitbuff rs.l 1 lie_SIZEOF rs.w 0 LMN_REGION equ -1 rsset 0 memnode_succ rs.l 1 memnode_pred rs.l 1 memnode_where rs.l 1 memnode_how_big rs.l 1 memnode_SIZEOF rs.w@` 0 rsset 0 li_top_layer rs.l 1 li_check_lp rs.l 1 li_obs rs.l 1 li_RP_ReplyPort rs.b MP_SIZE li_LockPort rs.b MP_SIZE li_Lock rs.b 1 li_broadcast rs.b 1 li_locknest rs.b 1 li_pad rs.b 1 li_Locker rs.l 1 li_bytereserved rs.b 2 li_wordreserved rs.b 4 li_longreserved rs.b 4 li_LayerInfo_extra rs.l 1 li_SIZEOF rs.w 0 NEWLAYERINFO_CALLED equ 1 ENDC 2 rastport.i-CDD  5graphics_lib.i-CP IFND GRAPHICS_LIB_I GRAPHICS_LIB_I set 1 * library offsets off _GfxBase _LVOBltBitMap equ -30 _LVOBltTemplate equ -36 _LVOClearEOL equ -42 _LVOClearScreen equ -48 _LVOTextLength equ -54 _LVOText equ -60 _LVOSetFont equ -66 _LVOOpenFont equ -72 _LVOCloseFont equ -78 _LVOAskSoftStyle equ -84 _LVOSetSoftStyle equ -90 _LVOAddBob equ -96 _LVOAddVSprite equ -102 _LVODoCollision equ -108 _LVODrawGList equ -114 _LVOInitGels equ -120 _LVOInitMasks equ -126 _LVORemIBob equ -132 _LVORemVSpriEF/lFB  gfx.i-EBlp IFND GRAPHICS_GFX_I GRAPHICS_GFX_I SET 1 BITSET equ $8000 BITCLR equ 0 AGNUS equ 1 DENISE equ 1 rsset 0 bm_BytesPerRow rs.w 1 bm_Rows rs.w 1 bm_Flags rs.b 1 bm_Depth rs.b 1 bm_Pad rs.w 1 bm_Planes rs.b 8*4 bm_SIZEOF rs.w 0 rsset 0 ra_MinX rs.w 1 ra_MinY rs.w 1 ra_MaxX rs.w 1 ra_MaxY rs.w 1 ra_SIZEOF rs.w 0 ENDC  graphicsGHi  H  gels.i-G 2 IFND GRAPHICS_GELS_I GRAPHICS_GELS_I SET 1 SUSERFLAGS EQU $00FF VSB_VSPRITE equ 0 VSF_VSPRITE equ 1<<0 VSB_SAVEBACK equ 1 VSF_SAVEBACK equ 1<<1 VSB_OVERLAY equ 2 VSF_OVERLAY equ 1<<2 VSB_MUSTDRAW equ 3 VSF_MUSTDRAW equ 1<<3 VSB_BACKSAVED equ 8 VSF_BACKSAVED equ 1<<8 VSB_BOBUPDATE equ 9 VSF_BOBUPDATE equ 1<<9 VSB_GELGONE equ 10 VSF_GELGONE equ 1<<10 VSB_VSOVERFLOW equ 11 VSF_VSOVERFLOW equ 1<<11 BUSERFLAGS EQU $00FF BB_SAVEBOB equ 0 BF_SAVEBOB equ 1<<0 BB_BOBISCOMP equ 1 BF_BOBIIJLN  intuitionJK\^   K intuition_lib.iIJ J` IFND INTUITION_LIB INTUITION_LIB set 1 * Library offsets from _IntuitionBase _LVOOpenIntuition equ -30 _LVOIntuition equ -36 _LVOAddGadget equ -42 _LVOClearDMRequest equ -48 _LVOClearMenuStrip equ -54 _LVOClearPointer equ -60 _LVOCloseScreen equ -66 _LVOCloseWindow equ -72 _LVOCloseWorkBench equ -78 _LVOCurrentTime equ -84 _LVODisplayAlert equ -90 _LVODisplayBeep equ -96 _LVODoubleClick equ -102 _LVODrawBorder equ -108 _LVODrawImage equ -114 _LVOEndRequest equ -120 _LVOGetDefPrefsLMwEM) p intuition.iIL+r IFND INTUITION_I label changed INTUITION_I SET 1 IFND GRAPHICS_GFX_I include 'graphics/gfx.i' for bm_SIZEOF ENDC IFND GRAPHICS_VIEW_I include 'graphics/view.i' for vp_SIZEOF ENDC IFND GRAPHICS_RASTPORT_I include 'graphics/rastport.i' for RP_JAM2,rp_SIZEOF ENDC IFND GRAPHICS_LAYERS_I include 'graphics/layers.i' for li_SIZEOF ENDC IFND EXEC_PORTS_I include 'exec/ports.i' for MN_SIZE ENDC IFND DEVICES_TIMER_I include 'devices/timer.i' for TV_SIZE ENDCNOYf,OM intuitionbase.iINM IFND INTUITIONBASE_I INTUITIONBASE_I SET 1 IFND EXEC_LIBRARIES_I INCLUDE "exec/libraries.i" for LIB_SIZE ENDC IFND GRAPHICS_VIEW_I INCLUDE "graphics/view.i" for SIZEOF_VIEW ENDC rsset 0 ib_LibNode rs.b LIB_SIZE ib_ViewLord rs.b SIZEOF_VIEW ib_ActiveWindow rs.l 1 ib_ActiveScreen rs.l 1 ib_FirstScreen rs.l 1 ENDC  intuitionPQ <(Qq potgo.iPq IFND RESOURCES_POTGO_I RESOURCES_POTGO_I EQU 1 POTGONAME MACRO DC.B 'potgo.resource',0 EVEN ENDM ENDC  resourcesRS3oS_ cia.iR_-E CIAANAME MACRO DC.B 'ciaa.resource',0 ENDM CIABNAME MACRO DC.B 'ciab.resource',0 ENDM Y resourcesTUdU Wmisc.iT>O/k IFND RESOURCES_MISC_I RESOURCES_MISC_I SET 1 IFND EXEC_LIBRARIES_I INCLUDE "exec/libraries.i" for various ENDC !EXEC_LIBRARIES_I MR_SERIALPORT EQU 0 MR_SERIALBITS EQU 1 MR_PARALLELPORT EQU 2 MR_PARALLELBITS EQU 3 NUMMRTYPES EQU 4 rsset LIB_SIZE mr_AllocArray rs.b 4*NUMMRTYPES mr_Sizeof rs.w 0 LIBINIT LIB_BASE LIBDEF MR_ALLOCMISCRESOURCE LIBDEF MR_FREEMISCRESOURCE MISCNAME MACRO DC.B 'misc.resource',0 ENDM ENDC !RESOURCE_MISC_I Vsh tmiscWXlX disk.iYW= IFND RESOURCES_DISK_I RESOURCES_DISK_I SET 1 IFND EXEC_LISTS_I INCLUDE "exec/lists.i" for LH_SIZE ENDC !EXEC_LISTS_I IFND EXEC_PORTS_I INCLUDE "exec/ports.i" for MN_SIZE ENDC !EXEC_PORTS_I IFND EXEC_INTERRUPTS_I INCLUDE "exec/interrupts.i" for IS_SIZE ENDC !EXEC_INTERRUPTS_I IFND EXEC_LIBRARIES_I INCLUDE "exec/libraries.i" for various ENDC !EXEC_LIBRARIES_I rsset MN_SIZE DRU_DISCBLOCK rs.b IS_SIZE DRU_DISCSYNC rs.b IS_SIZE DRU_INDEX rs.b IS_SIZE DRU_SIZE rs.w 0 YZe)Z  ciabase.iYU. IFND RESOURCES_CIABASE_I RESOURCES_CIABASE_I set 1 IFND EXEC_LIBRARIES_I include exec/libraries.i for LIB_SIZE ENDC IFND EXEC_INTERRUPTS_I include exec/interrupts.i for IV_SIZE ENDC rsreset CR_dummy rs.b LIB_SIZE CR_HWADDR rs.l 1 CR_IntMask rs.w 1 CR_IEnable rs.b 1 CR_IActive rs.b 1 CR_INTNODE rs.b IS_SIZE CR_IVTA rs.b IV_SIZE CR_IVTB rs.b IV_SIZE CR_IVALRM rs.b IV_SIZE CR_IVSP rs.b IV_SIZE CR_IVFLG rs.b IV_SIZE CR_SIZE rs.w 0 ENDC [. N\^`df hardware\],]  custom.i[\Kl IFND HARDWARE_CUSTOM_I HARDWARE_CUSTOM_I SET 1 bltddat EQU $000 dmaconr EQU $002 vposr EQU $004 vhposr EQU $006 dskdatr EQU $008 joy0dat EQU $00A joy1dat EQU $00C clxdat EQU $00E adkconr EQU $010 pot0dat EQU $012 pot1dat EQU $014 potinp EQU $016 serdatr EQU $018 dskbytr EQU $01A intenar EQU $01C intreqr EQU $01E dskpt EQU $020 dsklen EQU $024 dskdat EQU $026 refptr EQU $028 vposw EQU $02A vhposw EQU $02C copcon EQU $02E serdat EQU ^_3UK_   cia.i[^ " IFND HARDWARE_CIA_I HARDWARE_CIA_I SET 1 ciapra EQU $0000 ciaprb EQU $0100 ciaddra EQU $0200 ciaddrb EQU $0300 ciatalo EQU $0400 ciatahi EQU $0500 ciatblo EQU $0600 ciatbhi EQU $0700 ciatodlow EQU $0800 ciatodmid EQU $0900 ciatodhi EQU $0A00 ciasdr EQU $0C00 ciaicr EQU $0D00 ciacra EQU $0E00 ciacrb EQU $0F00 CIAICRB_TA EQU 0 CIAICRB_TB EQU 1 CIAICRB_ALRM EQU 2 CIAICRB_SP EQU 3 CIAICRB_FLG EQU 4 CIAICRB_IR EQU 7 CIAICRB_SETCLR EQU 7 C`anaQ Fblit.ib[`M<8 IFND HARDWARE_BLIT_I HARDWARE_BLIT_I SET 1 rsset 0 bn_n rs.l 1 bn_function rs.l 1 bn_stat rs.b 1 bn_dummy rs.b 1 bn_blitsize rs.w 1 bn_beamsync rs.w 1 bn_cleanup rs.l 1 bn_SIZEOF rs.w 0 CLEANMEn equ 6 CLEANME equ 1<=QQQ$#p(BB #p(v։#Cx,؉#D(z@ډ#E<,<܉#FBONu//NPNu//N0PNuHNRPNuHNPNuHN PNu/,o/,n"N,_"@#o ,_Nu|xtplhd`\XTPL  \N@2$ SH<*/(/$/// /N&Pg&////N>JOf//NvP L $/*/ (/$J(g/<Hx//N/@8OgHx//,//NJOg| o(<(Hp܀$o("0*HN@, o("0(HN@,$o(Hx///N%@ /$o<&.$. $n(|(<G/HnN,HyHnN8HxHn/N *Ofp`zHxN/ //NJOg` RfXtjfNBBJBgH/<Hx/./*DN$Og&Hx8"BHQ//NJOg%BB"BHiNX+ gJ/+//./N,tOg'F/+//./N,tOg'F`H/+//./N,tOg'F/+//./N,tOgf'FJfJ2gPHxHn//NJO\ng8&.(. $nz&|BHxN,PfHxg/NdpP`,-j//N,Hy/N8Hx//N (Ogp0*trfBHxN/ //N*O{ہgJBgHx8/*B//N*Og*g2/*//N*O gd/*//N*O f4`J/*//N*O g2/*//N*O gJfJ2gB/*2N$R-BHxHn//N*Og/./*2//N*OgJ6gz(j6p-@`XXJfHxHn//N*Og(j6`@/N$R-BHxHn//N*Ogf/.///N*OgPXJfJFgB/*FN$R-BHxHn//N*Og/./*F//N*Og//N4$JPg*Hx/N%n PL|N^NuH0 / oA& -/N\$Xg /N0X`L Nu/$/ o Hh/NP$NuH8 $//<HxN$@ɊJɊPgPHjNHj/NPJO fHx/ NP` Hx/ Hj/N>JOg `pLNuH0 &/$o$/SRn/ /NPJPfp`&SR"j 0HA!0HA!pL NuH> &/*/ /<Hx^N,Pgb(tN؂$DHjN/ /NPJO g@Hx^// /NVJOg(/ ///N&JOf/ /NhpP` `Hx^/NpPL|NuH8(/$/&tNւ//N.PLNuH00$o$//N&X&Z ͊QYg /// NHJO f =f `pL NuH>$/&//N*XJgPHx|/N(Pg,` /N,Xf///NHJO fp`Jg R$`t`pL|NuH> &/(/ |$D CtBHxHy / NHJO g"Hy/N,///NlO`ZHxHy/ NHJO fzV`Nz` Ѐ$ЂЈ*RHH/N @XlJgHxHy / NHJO frX$R/Hy&/N// /NlO L|Nu"/p0np9m r0`pNu $F4 j B z21 ,VV  V z 4 r XJ@:pl   `"@b\68 &`^PP J .info.infocopy copy of of of copy %ld of ) opJWFNu o /g fS Nup`LfNuLJfS`L<\)` translator.library\h% ) )H"&,xAC <*NJg$@%N"%C&"JNtpLDNup`Jn fNqRn  NupSn f.g/ a"_NuH&N,xJk g p`*"K Q"i"!I&+&"Kpr0+2+ЁN. LHNupNu   @Vp4translator 31.7 (23 Nov 1985) translator.libraryH?>$[/ < r/QBg/ // BB*O+|prvxz|~EIB )#g& * fZal?a6kg E`&2` ra| L|!'~}|{zyxwv>  V info.libraryiQ5&8QVw (E6 J5JҀ &info V1.0 &nP6##"@#H"#Nu /NXNu/NxXNu/NXNu/ /NPNuinfo.library~zvrnhZJ>82.*& o(Rh Nnmlk  mathieeedoubbas.library?@Q%QJD 2Xmathieeedoubbas.librarymathieeedoubbas 31.3 (23 Nov 1985) "ph#>Nu  *h  <DLT\dltJn f2"N Q"i"!I"Np0.n/,yN.,_ 9>NupNu.fRn NupNupSn f .gaNu jd`\ R %  fversion.library)CCpNuJ  .Hversion.librarymylib 1.1 (04 Nov 1985) ,Xl ."@#N"#H&NuRn * NupSn f .*gaNuH *N,m"Jm g *p`$-& MN"M -ЭN. L`NupNuvd`\XTPL zHA<BFHFHC0B@H@܀HAHD0B@H@܀HBHC0B@H@܀0܀GHA0܀GHC0܀G1F<HFBEHC0 4`tsrqpou`  Wdiskfont.libraryu<t ";<`NJN 0Pdiskfont.librarydiskfont 31.9 (23 Nov 1985) HACE" <8NLJg "@#H"NtpNu/ @#,@#Cp/,yN,_#gJCrp/,yN,_# gA* XB!H ,_Nu"y/,yNb,_"N0.nH/,yN.,_p`dos.librarygraphics.library  6 $2z"/ $n*Jg.JjTn$"J Q"i"!I:7654IHGFEDCBA@?TSRQPONMLKJ_^]\[ZYXWVUjihgfedcbam 1p+a}|{zyP  3p  aNH,xKA P"PXXHaL/ Q"H N.&WP ."<N:+@ P S"m "XT"Q/ ,S&m (KJ"< XgN:(XQ&_BB kg kg kg kg kNqJBRn"_Q N.C m X"RSg"P (" (X#@P`BC m PP""m N.LNua(J  K"m ""qPN`HaP`@JgRzNuJ m "pP g$" m (pPS L$I""$Q``kd8+H$m fane2rvfabeLrBDad6DrfaNQQ`8rx`ra@ m gra062<` 2< BTB6aSJ QmNu DNuSABB3f DQNu0:A`bA`K" %ph`YL)@A)lfbH @  H$LMQ@%@B( @ ` tIIz" )~{f)J#PPEQZ@>!;@uAC%T@x^l#P H`_5C1Ȫ` 2pl.ajP @A a@r . Jб@Z!H` 8  ]0@B .   ` ` 0 DSMXRM!Ei@>v BR„OCfW$@"mNج.#0 2D* )!+ >%u* G2y@%#g|Dhp6'I%@L(3@s- .c 4#!jDWP0``.`0`I ALpRIa x~a- \m퍭 ܅ ) S]6"}fP 4wadL@ )%ą ) (X&G #w eϋ( $'b)o@ $A)&S$ri1_$S8fl&_@t10"16#X]`a J| n` .p>( N 0i$?>YB 2' $ψ* 7e J EHJ"JbX@.H31B4.5e&$@P,%J&LC( _Q_BB/'& 49: @!XE.JB0AY: (@ ̃8COɈu h:ʂ$ySÂLi)  W.l(PPX PDA r 0 p# -LP1 U3S6H)(] " JN Tdɒ(2jAqq"3!rH?AՕ̡d7'!,&X, "Na"* Ah0})(@PPByF< @9 F0 ']  8$_P H $D@f@$@ 1p p:` 23ZT%rqd;9i1z  ;sPdݠhҨ "8IH °L0`$! O  h ؘظ:ۙ[:G WcTDDH$@@` 9Da-'x?~ATI"bX HM<18w0 9-s!P:1:Lm- MlmԠH@@@nj`,67H*\̋8 ݠP2 ;a- \ȆdwY߀/j# `>0 #   !>DH]) T!X0|a.4]aD!L AӠCp%3w0%5t,)D>(2|ЮS'1E "2fC(Tb4 %T'h"T@ @Tx*\ C  P 0SM,HtRC8:SJ)`$X``0P@PL b(P +q0f& C ?!.)q30PBj"HUq`\TG  I9O-3! @piD`9W =PBbp_#%π!.&dCHL ,Ix"CW W@ (CD2@"` d@?arH$@pWd!E%$FQW!<> 9A/@D !@( D/@ D  0 U#'HUW^  ؠ!B6Pv/^e<O@ d'RAP7B%'Xl4 CBU@ h@|o:1RH(s;&Hs / q@$ J4!U x dz; D^03`B$Rtd0(B0љcC\{38  AP(H23DX`T44,$"OШ?LU\JP0p(DȀ,%L^O `TV@@ 0@ Ԅ IA x  $  [ˣF@"X @!HND$SHH@#P 1ab/uOjE|` )`HйI@ZY@? p/s rcfC@ $!@ZTQFDH$$2l 8dq@@@P@A@/Pu(K@-C\@ f!@Xx$ & 8 % @\`I6$I@& pdB4 H z  U@+"$D$B .J`+^}a""\*0 $ A@ 14 xKJ$_M"KI PH׈0WS31p %0K*,*; 0H@B0 \D(a@2c 3"(@% 0=p?a;(s.Y (\#Dp`NAHԠ !8e044 `=N.`iC ?d@10.ƈ;)'  u@N$a f48B4]&0Hl <8WPeiT@ip0(OPN P`(@E!"08: x1Ssi3t]8M dxHG,Ol90 :DBx_`%t"_t"Ё"DJAOtF@H9A#`!BaP7YΒV=<;:98  10p8 BTAaNH,xKA P"PXXHaL/ Q"H N.&WP ."<N:+@ P S"m "XT"Q/ ,S&m (KJ"< XgN:(XQ&_BB kg kg kg kg kNqJBRn"_Q N.C m X"RSg"P (" (X#@P`BC m PP""m N.LNua(J  K"m ""qPN`HaP`@JgRzNuJ m "pP g$" m (pPS L$I""$Q`` P ͐('&%$#"! 3210/.-,+*)>- 2p> ͱ; aNH,xKA P"PXXHaL/ Q"H N.&WP ."<N:+@ P S"m "XT"Q/ ,S&m (KJ"< XgN:(XQ&_BB kg kg kg kg kNqJBRn"_Q N.C m X"RSg"P (" (X#@P`BC m PP""m N.LNua(J  K"m ""qPN`HaP`@JgRzNuJ m "pP g$" m (pPS L$I""$Q``+4HqC     D 26p;fedcba`_^]\qponmlkjihg|{zyxwvutsr~}p8 C6p8>`A4H瀀,xxCazg/*Calf~`*@/<gj/$!":v< 0 .aw cP(@(ALPh 9./yPb !¼)3,<@(qu5%wJ1#' ;<]*‚Ac.Ju13).EvLL = =A @XNU_aqM@P X.B_}rހ+hDoP_xjsK`@Xa  f^  x|Ⱦ$0P2* Y wBO>b$, 1 %3Їj3rrʞ. R5t7:(&43!p'u3#7p't7pRG(@@5D̠$AhQ ؁"D C$2tJ H* C`@_"i%|%E)1Be(G00 \ 7)@p_G) <HXU¼>(+ၫBH+#Y% L$JdDЄPtP@h$H.=( al ؁ۡDB)Ӏ) PT0V@ Y L .Q%B"N/pKFBF-8J@pA*?@W[Kh@ P,0] @` 4h@r$%~&$ 30p~ Ͱ)aNH,xKA P"PXXHaL/ Q"H N.&WP ."<N:+@ P S"m "XT"Q/ ,S&m (KJ"< XgN:(XQ&_BB kg kg kg kg kNqJBRn"_Q N.C m X"RSg"P (" (X#@P`BC m PP""m N.LNua(J  K"m ""qPN`HaP`@JgRzNuJ m "pP g$" m (pPS L$I""$Q``#|<0M% 4pA0c Y YA$"|o$` fa4elrvfa(e>rxaH6DrfaQQ`(rx` DNur 6BTCa2 Qm`.SAtfaQNura m gra6XCr `~ |$|frg RAQmN TETRAGON '@R!9@@l?.cA %p"d@9:OÕu%AA F @NN\xD <&1G ' ,2Pp(;*H 8j7A5 P2 BH&H(D0 .b@a< J!p"Fi@@P 6-ZT 5Rp Ed(xaNH,xKA P"PXXHaL/ Q"H N.&WP ."<N:+@ P S"m "XT"Q/ ,S&m (KJ"< XgN:(XQ&_BB kg kg kg kg kNqJBRn"_Q N.C m X"RSg"P (" (X#@P`BC m PP""m N.LNua(J  K"m ""qPN`HaP`@JgRzNuJ m "pP g$" m (pPS L$I""$Q``m waNH,xKA P"PXXHaL/ Q"H N.&WP ."<N:+@ P S"m "XT"Q/ ,S&m (KJ"< XgN:(XQ&_BB kg kg kg kg kNqJBRn"_Q N.C m X"RSg"P (" (X#@P`BC m PP""m N.LNua(J  K"m ""qPN`HaP`@JgRzNuJ m "pP g$" m (pPS L$I""$Q``R}$*> adressenp!+H$m fane2rvfabeLrBDad6DrfaNQQ`8rx`ra@ m gra062<` 2< BTB6aSJ QmNu DNuSABB3f DQNud 3 8π@9Q 0P 8 )t8l P p  ,a@`@$`gP{@0`x `(8P(9(4@ 49,8  ` z xA ŀ` 0:p dPv@00`j@ @@P0 X`)7HLD %i< 4C!A2nNbX$IPsBi # F>bςhcP`@ʆA0F@(e$LbI`LPA!s%wPvCE"$WDHB, @J^Ab.H@)pР@@e!$C $) PQ9 :o!GBP%`= }0Ju 4DsA@fP*O `Q 'ä !.xC~@<LC`8$t  (8o g0q o P P88 hl0P B_9G@&@ p0*@P@) `(W{g:K#'C' |'o09O0 e"dAbͣ9R<!A ` ex f$0h$ yd8!% A]1 i`C0@  H R?S ) ({ RPD J D@3 C^9x(* :F 8"s$$x h !7t`A=|aL@Y@ ;@, 2B$@W ?p  AE@E @ `h "xB r@@CJ@M #@P, p\'@R %0p*p b(pTq@O & ,@^0QAB@Bl'@SBa r0@vhGn bܒ2  5comfilepV ADRESSEN -------- RAM 000000 to 03FFFF ------------------------------------------- This read/write memory is the RAM that is supplied with the AMIGA. Expansion RAM may be added at 40000 and at 200000. Optional RAM 040000 to 07FFFF ------------------------------------------- This memo>ry area is used to provide expanded capability for applications. Additional expansion RAM is mapped into the 200000 to 9FFFFF range. It is theoretically possible that decoding could be provided to address RAM in the range of 000000 to BEFFFF, an address space of nearly twelve megabytes. Unusable address space 080000 to 1FFFFF ------------------------------------------- This nearly t"|wo megabytes of address space is reserved by Commodore. The first half megabyte of RAM will appear three more times in this space (multiple decoding). Expansion address space 200000 to 9FFFFF ------------------------------------------- This eight megabyte address space is use for boards and boxes which attach onto the right side of the AMIGA. All third party hardware add-ons are intended to be U~9addressed in this space whether they are memory devices or not. Unusable address space A00000 to BFCFFF ------------------------------------------- This nearly two megabyte address space is reserved for future use. Commodore refers to this as external decoder expansion space. Reserved address space C00000 to DFEFFF ------------------------------------------- Th(is nearly two megabyte address space is reserved for future use by Commodore. Special AMIGA LSI hardware DFF000 to DFFFFF -------------------------------------------- This area contains over one hundred special purpose reg- isters that control and give information about the hardware that handles DMA, graphics, mouse, audio, serial, disk, and sprites. Reserved address space E00000 to E7*WFFFF -------------------------------------------- This half megabyte address space is reserved for future use by Commodore. Expansion decoding blocks E80000 to EFFFFF -------------------------------------------- When a device is attached to the expansion interface, this area will contain a control block (data structure) that will tell the operating system how to treat the device. ւ5 Unusable address space F00000 to F7FFFF -------------------------------------------- This half megabyte address space is reserved for future use by Commodore. It is referred to in some of Commodore's documentation as cartridge slot space (?). System ROM F80000 to FFFFFF -------------------------------------------- This area contains the operating system. The devel?l- opment version starts at FE0000 while the permanent version will probably start at FC0000. Peripheral interface adapter ---------------------------- This LSI chip is the parallel interface. It normally runs the "Centronics" parallel port on the back of the AMIGA, but it can be induced to do other things as well. tructure) that will tell the operating system how to treat the device. ΃}PONMLKJIHGF[ZYXWVUTSRQ+  blink.docpQ} ============ Introduction ============ BLINK is a linker written as a replacement for ALINK. It is fully ALINK compatible accepting all command line options and WITH files. BLINK supports many additional options not found in ALINK. BLINK has been produce through the combined efforts of The Software Distillery currently comprised of: Dave Baker Ed Burnette Stan Chow Jay Denebeim Gordon Keener Jack Rouse John Toebes Doug Walker It may be freely distributed provided: 1) N$'  Exterminatorpq'P:vectors ! show exception vectors ! p0 l100 h . :kick ! show kickstart RAM ! p FC0000 l 20000 m . :stack ! spy on stack if you have 512K ! p7ffc0 l40 K [999 k h] . :kcats ! spy on stack if you have 256K ! p3ffc0 l40 K [987 k h] . :helloworld [100 $hello world...$ ] . :null . :null ! - a command can end with another command - ! . :double ! - a command within a command - ! ;vectors . :nul͢,7l ! - a command can call a command can call a command - ! . :quad ! - call double, then vectors - ! ;double . :null . :null ! Commands are not subroutines. Don't nest them ! . :null ! This file is called "comfile". You can edit ! . :null ! it with one of the editors in AmigaDOS. ! . :null ! be careful about enclosing comments ! . :null ! and ending lines with ! . p">=<;  F data.basep;{help: This is a simple, but effective, means of storing help: and retrieving diverse items of data. There are help: three utilities in the set. They are: help: help: find xxxxxxx help: looks in the file 'data.base' for a match to help: the word 'xxxxxxx'. It prints each line that help: contains a match. help: help: add aaa bbbbb ccc dd eeeee help: adds the line 'aaa bbbbb ccc dd eeeee' to the help: file 'data.base'. help: help: 7{  decodep u Expansion decoding blocks E80000 to EFFFFF When a device is attached to the expansion interface, this area will contain a control block (data structure) that will tell the operating system how to treat the device. Interactive Analytic Node info: 2345 West Medicine Lake Drive info: Minneapolis, Minnesota 55441 info: (612) 871-6283 info: info: Makers of the EXPLORER debug monitor info: and the EXPERT SYSTEM KIT. review online! AmigaWo@ED  DevPac.docpD1 Devpac Amiga version 1.0 ======================== BLINK Linker ============ We are pleased to say that Devpac Amiga is now supplied with the public domain linker BLINK. This disk has the program in the c/ directory. For details on how to use it see the file 'blink.doc' by entering the command type blink.doc [Return] Using 1.1 Kickstart =================== It is remotely possible for the screen to stay in the 'flashed' state after GenAmiga has flashed it, due to a bug in Kur'&%:9876543210CBA@?$ DiskEdp? ͻS 'aNH,xKA P"PXXHaL/ Q"H N.&WP ."<N:+@ P S"m "XT"Q/ ,S&m (KJ"< XgN:(XQ&_BB kg kg kg kg kNqJBRn"_Q N.C m X"RSg"P (" (X#@P`BC m PP""m N.LNua(J  K"m ""qPN`HaP`@JgRzNuJ m "pP g$" m (pPS L$I""$Q``"P0K%) hdontuse8p Unusable address space 80000 to 1FFFFF This nearly two megabytes of address space is reserved by Commodore. The first half megabyte of RAM will appear three more times in this space (multiple decoding). ʥQɭ:CX4Ie=$@|!{{#KsP;-+))0*<-Lsh6]meA2.%]US#Oa[{'O`PJ Φ润v.ecC"f66&&\P` bC*J*&PI-Q(H`0pe[K;C{QzbQOqSRBd-m H%@4%vIڏ}G`^8` ((I;7CK@}%zr!'WcKRt @5ayA2WIJ V@*NטJ'dhښ؝`cB$L.5"." bN.4f 3+5345qpԡaK3#օ@J:eSS "$h7AÜ ,\,  M+,u6`HT"56ghJ\` 9PD@('SCk{KrZ&m =LMN$/IsDx4Dj;:ٔ72(dklwYPDع"UURS  M| BjZ fu4h Kz Dnfx )Q>T)cc`Kjkn F2wpsh`^ 8 KA#OSa\@0)6C-I)f`DXMƘ>SsBi Z(H#.*bKjknDFlWrdMZJY.bv‚`A@R@ QNI ,3"GR@ NиU8;!S´8v6=iPfW4@ dN aJ X,04,  Bl@ۈT.P0@H?" #d`< ( U+J() @pBZ%vH ʹVNt(8@Z] QH4=$\CPNd"0"/瀁3@O`(0@ .S @J=R!|a!IP ¤rbst aA hE@`Qrx'@07XaB V'_ # Fh ;0iD~(AxQ@@#aELmaN‚A!S0D8,DFtxA c<0+  陳# TV(aAQ LS9b@BXx lJ b P?0 0 @W<# e= !_ oƆG$l&@sAJ}f| ` 2"x g 0AEĥ JDBX!B A @`,?\!~ T81U′p+!a$V@`~9Т +LHH@@.l# XD CAm۠0-`d /"PQnru rݟ_PBJ)} -`NE4Op P\UV TӶ!NVQU#P`m+sf(Q7* ࡀT*8j@sq 9Aa.*$n`Q!H r   AI @x?a'>D|^d LQl7B)pH 3+HNIO"Πp"V#"H!(, WF_ S9;H@SA!BBe$]@5Mʛ  5,p A|)0 d arij#AN '0. "cO HG‹v.(,G[ꁥ@ ` @XX0`np*$U& , Q Hx+DJ'_ 0('2h≮Nl=T rA`C`D) 0GNkAl:>]FJGP #28"$0:040107D1=15`16)8G.A81Š/!*ipA!8mUW"PR"On`ru , T)(\O  !p t0Mpq@SY3Xz "\^ !L !v;/Q LPূ[r @ͺs $Q') @  _ @2EyWtf$jbꁓ &"A 3D: .4u05`+|  aA BO 2*^ h܁u@t Q! QUQyAfR8QSaPeTàQS_$0BP(n =vdp-HĤ(0!h  t6x*|BEf@ P\(!` >I  BhA PbLB1+P0 D>)  R@ȁ@0,8V@G@H*""̀8U?! B pPZ@ Pѱ\?B`0B"0NԸP4`"!z8`vt4@E=GCGp=BP^ah     ) FileZapp ͫ *aNH,xKA P"PXXHaL/ Q"H N.&WP ."<N:+@ P S"m "XT"Q/ ,S&m (KJ"< XgN:(XQ&_BB kg kg kg kg kNqJBRn"_Q N.C m X"RSg"P (" (X#@P`BC m PP""m N.LNua(J  K"m ""qPN`HaP`@JgRzNuJ m "pP g$" m (pPS L$I""$Q``&8%  &futuseCp=ѣ Reserved address space C00000 to DFEFFF This nearly two megabyte address space is reserved for future use by Commodore.   decodep%  futuseEpdsGd Reserved address space E00000 to E7FFFF This half megabyte address space is reserved for future use by Commodore.  }cpI|  GenInstpևg$$ <r,xN:# gC p,xNhJg# C p,xNhJgt# A,z N4JgN# A@aa|g("< $<,z NJfaN`A C 8f."$: p&<,z ZNJk# ",z DN(z H$ \Jf~ 1.00erC 2a"C aJf  MJgi2SAC aAa`a",z N` `aAZC|g2H|g*CA|gH|g|g |g`F) fE pHA"z X,z LN"LFF , Ahelpp Ա~? Help is available for the following commands: BLOCK OPERATIONS: h l m p r s t u z usage: 1 COMMAND OPERATIONS: : ; v ! usage: 2 CONTROL OPERATIONS: [ ] q > < usage: 3 I/O OPERATIONS: k K n P S W ^ $ y usage: 4 DEBUG OPERATIONS: / H T X = i g * ' @ usage: 5 type "?", then the command; e.g. "?p" for help ~1 block operations -g lsip) Special AMIGA LSI hardware DFF000 to DFFFFF This area contains over one hundred special purpose reg- isters that control and give information about the hardware that handles DMA, graphics, mouse, audio, serial, disk, and sprites. the program counter to the start of code. ~' ' -- show next load module block ~@ @nxxx -- set breakpoint "n" to address "xxx" @18000 sets breakpoint #1 to 8000 h for "h" and "m" ~W Wfilename -- append H $  MetaScopep  c#"!   T TetraMon.docp ˶5RFaNH,xKA P"PXXHaL/ Q"H N.&WP ."<N:+@ P S"m "XT"Q/ ,S&m (KJ"< XgN:(XQ&_BB kg kg kg kg kNqJBRn"_Q N.C m X"RSg"P (" (X#@P`BC m PP""m N.LNua(J  K"m ""qPN`HaP`@JgRzNuJ m "pP g$" m (pPS L$I""$Q``H * vu JfRRNNUH0NHBHzNPO)@JfHzN.XO?<N*TOBHzNzPO)@Jf/,NXOHzNXO?<N TO;|BmBNXO+@,mC-I Hx/-NvPOBHlHxHzNOJg/,NpXO/,NfXOHzNXOBHzN`PO)@BBNRPO)@)lNJmfBJmfXO/+HkNZPO` gzUgb`.`L N]Nuexec.libraryTimer process can't open exec.library dos.librarytimer process can't open dos.library Monitor Timertimer.deviceMonitor's Timer process can't open timer.device!!! Monitor T]M,simer,x0/< fNp N0/NuNU,mJg,mRH?aTO`?< aTON]NuNUHm /-HzNO N]Nu"_ "ҁҁ(ACVEVf2<Bkt"Q)O,x)NH瀀N *PONuNU/MZ)NVHm /-Hz\NlO 8 l:f MZ&,V?HlZ,7H?NPO` Hl*MZ&,V??<HlZNO 0(N]NuNU,lVRV MZ&,V|(fP l:f MZ&,V?HlZ,7H?NzPO` Hl*MZ&,V??<HlZNO MZ)NV0-|N]NuNUH $m mf,m(` m o ,mv6(` ,m6H(Bm m lDDm lD;|S 2- HNM 2- HN(JfJmgS- LN]NuNU"H0$m&m Bm+m,KRH8JCg|%fB-0;|;| ;|',KRH8|-fBm,KRH8|0f;|0,KRH8|*f,mT;V,KRH8`6Bm`6- D|0;C,KRH86RCM60H|fи|.f^,KRH8|*f,mT;V,KRH8`6Bm`6- D|0;C,KRH86RCM60H|f;||lf,KRH8;|`|hf ,KRH80H`x;|`;| `;|`;|?-Hm0?-/-4MNO +@6-H׭`Z,mX+V/-N rXO;@`J,mT8M/+N`(cgSg gtYgUgrWgt`M0;N6-mo;mJmgp,mH|-g,mH|+f. m0f&Sm,mRH?NTO|f pL N]Nu`?-NTO|fp`Rm6-SmmnBm` ,mRH?NTO|fp`Rm,mJg 6-mm6-mJmf(`?< NTO|fp`xRm6-Smmn`?NTO|fp`RRm`0-`B/BJjDRDJjD Da,JDgD(Nu/BJjDRDJjD Da `a NuH0HAJAf(HABCw~h4B@H@60"H@0H@BAHAL NuHABv㒔kRQ`ԁjQԁ"L NuNUH $m:- x`&/-,JRH?N \O|f pL0N]NuRDEe0-`NU/ $m ,Re6-|?/ N\O$_N]Nu,RR- H|`NU/ M$N,J/aXOM̵e$_N]NuNUH $mx& f pLN]NuJ* g^* H|g ? Hi 8starsp(@/uN#AB <$(jN#p <8(j8N$r <((jN#AG" <,IN#A r#A$tn ҩ&) ֩$!8rҩ$`J g.") $) !(") tg vְ!v2$G" <0(j8NJf") <0(jxN`"JfG$ !"<| <0(j`N")#p$r#A($n"ҩJf #i(` rҩ(`Jf<"SRt .fastdirpwFIQ ") pX(jN#AJf`0")(ҩ,!&),$)r pX(jN" SYS:copylisBtԉ#B`Rrp(jtN#A JgB$B(""0p(jN$) !(")! #i ""Jf")N$B") pX(jxN") pX(jxNJfG" pX(j$NrpX(jNNNqBackground CLI [CLI %N] !Unable to create backgrwEr#A0tԁvւt08#B4pD(jdN#A8$)0r pH(jN#A<$)$#p(@$)0rpP(jN#ADBHJf$)#p(&0( #C`"t0#B&R#Ct")NRt ҂pX(jtN#A Jf`r ҩ R#A$)S#BLr#APLn&ҩtԁr0($)ԩP(rҩP`")ҩt ") v!")8() !H")8() !H") B ") !@"<|pX(j`Nr#AH$)(#p(Lr#APLn"ҩ(Jf #iP,` rҩP`J,f`"<©4Jg 4r4m`b#i<hG( &)4$<$ϝANx п (4 h`4oX`m  Ҁ: 1 ( <(x@P@ i@uH8$,"*& dlbjfkQ`CZ8P@0@@X0 @3@P0 @9@$8@0 @5@$4@$(J/@H@-@ @$   O A@AX.eR+L&JF A0E!P 87% 酁 @ ]P-(:$l"Ày @ÊZx A`@P|0>H@ @ {@C t0`{" D0a7ԃ`J@B?T"RA9  X 0b&K.ni+H$m fane2rvfabeLrBDad6DrfaNQQ`8rx`ra@ m gra062<` 2< BTB6aSJ QmNu DNuSABB3f DQNu{(0<@P0a@)p0X nSp`qC/:aR*'blTLRȠ!{eC7SrO9U~% ą^! @`~f< 80! UQJ@R5̡L`PHH_M`@' =D;$!ZP  (bH [x3 /sF@ 3"A~Dѐ%%dnz΋@<5<CNA`R@KLFDv $$a),a3B&Lا󻂖 !!頇A90u(wn7H@F`(B1x(@\\VA;WKK{;r ABt "6FN&.PP% vtvGAG@"R5̡hD!kh!I^ӕsU .<0HxB@2/@?A/$Thm!Kd =(a @ 4B墵5h$l *S 1B0G8HJP!.B]A  0(HQz`zZ` ( "051;ZPlHUe/+*%,z@P hjE^+).( ' (ߍ{&M{tP<BQ`M (<bL:  l"vqa2B@%%"0!aA-0%`!:PCmA6DJ!(+ @2+P2'2(I 0O` dP`)`P02Hh aZd5 8mR4"$QI3B݋^?U $ t )*&JB0,Y\π y":AQN"h@ 4N@Oxmв8x`Б !J G12DY@I &@,4NH@Y$P3L(0шIPKу05//tq^$% #/aZB AAZ!0Yp4B$\P8( l;;2 As $&NPS2`HX Rf@@+T.q. 3 "@% fN4@!Z36#ՠM/bS;`@a20D ԝ,],A#=h!h!/p+** sQ/)rAB5.( Q;`0N %=a3!yJBRzd"Bm40H[:HIZ(IJ'*QH:PnQh>jn€E%@e`ǢQrg{'`tEE5D<5E@"JX,Ȕ0 gc^BC~@B@&h J 0 Dȡ̘B(K C$HEiS"&MdBM8 ZBUCp&:1.qL-"f@`&Oʯ  PyRQ"R80TZ/4p?@(E@rhmݔ4uؤOJ@E 9a hX+dٜ> 8)䂞hBhQP (I%"O@ 6dc d@q 7'I F` W}-0:Āi W;g | PFAaDl\$<$A* 7 `BS4P!@p,kɐ KU0?$VM@R(JL$XڀJ*P&RPr`Ё AТKL`m`$=0"a^FN亀`Ʉ# 0 D@TpP6<ٱ ERQZ1 0h) ERC&P=L (I\Z`9z`@ Q 4!RH\hHò7S`!$$23+G1R2;$/E 4*( U1pa> pp`!X%p c:/ 'C@@* CDUZ` 9ƒ%uA,02N`Q'BPӁT`s `[pJtt &A̙(l 8|0iO#Kh!\^OzpW,0#/+*ol 96%H~ U# X@@ 0.fCh&LApP "` o(+ t &gH   V > 酁@@ ZP -(:$lay @Ëx A`&Q=@P|0>H@ 0 OhHa$P #/||D P&)P@CR rĵ8 Z'0@t!27p$s w@̑(} !DWX E a3z$9.& y!$s@@Lr K Z hH3(4OD,0$050,06,4p$020107 51X< '  ʸp3B{``Á@AiA3 M T!_@!A `l.Kt`mH$H|   l0``@`A=020\,H S@߃ ;'ӕqP.x @0 P |@($ ` 6@Y@ q!& T T= m, L,]L!)&B4 >+B(P %PP`ЀXLZ*J* ޾E"bR2\D@T hk p;h0` edwu2qttvbfd6q370 8+=;' dT60b<!a(`  L ,  (      "p $D@A@+@ `& ^ =q6%H~ U# X@@ 0.fCh&LApP "` o(+ t &gH   V > 酁@@ ZP -(:$lay @Ëx A`RS۠S system-configurationpRӉ[y  @@?@@  " ,genericP BT 5Rp$U6z2OBCDN&,0,xC"  .`GFF @ QjA@0]ao`A!p#" aE( %~C ӄBI4,HWzArjE0HS6D/@xL P$, NkP|`@    ӑx } 2D'hIy`B@ pI @(h.THח!!,^,t¼T4 :(0@ D "1A`%2""@؀0 5!$`"H$ P1P83Rl /in! 0L y> ^.@(jŁ i3!PA:h)זHA @P6$VY)?\(N""?0`#h"06/pCp`o`p8BCBp(]!^Xp`fpd8078 P@؎Bmi0d5t\U!"?BAHt@8*@JJ 4!A?A@ P@P9h0SD qA V{0:U1H%%i(8bh*03 J @ R E ^^lSCG BO^p" !y9]9W(9U`qOР,-A H0I^*hNfHS0X6 se!N$!( nB(* a@@&t\TAOР,-A:zB(@̄DT 8"(jaSY pRA ql 00&R# E `$Wc5p$i*` eQ]!#f\(Xc^Xt+ r2c2~((Q^ @@ `D h_f8$ 3$ E4 |A>b@RU% 6 X" bw*8H F PI@ٖq A*>rJABhCf*&b1p6 A4kJ܄Qږ@ht3 \ x4Ldda(@V@`W( ӥ (-WNUUPR jt`ːZ`Z`-@ '`gn(0ARDp8 !@T]X"`$$" 8I(@P (0( b8 0@@ ʘ` b QP`0N. 0M  ]s (pHd@<c016  $X[9 l!E}ABP5AhB>:M(E$fZ ĆH4Ef$@4H  >,H l i$G #hIߗ'iPILPʹʩ<<"@8AH""LpcB (hb\d,F D&D,l@/7Q""Z2 r]7jQP+@E/+**.qMA2@B0P[a?f"H(i#Ȱa-0B 1PE&: a P1p01p hu04h ̰ lBh R,2 dDKJNKAd!, (f4 @`   34!A2@fcM$$ Z!,  1@Bg@'P jP(JCP| 8$@8 E ŋ-@@v亠5̠e(# @ !AGÄR"@@ jWn2_pD "m j @tNكS:"hxH Hpv)%TQԐd&eH a20rr@x8 s[B @v$$T mv̠ 8&hTx" "e@e!@(À(SAʁ.lcЁ$k43wI*?e H!$@DD逊@ b @$(3'20 ` & 1 Pf#J%@%K1qX!+$ [Pczi @r)kQ.xUAB !<,R ʞ(RJQ`1P!D{fP2 J!K (p eFP0D@ -(A E*@@ ZJD>9\) s[PPfP2 rrREH{B+P    bRPtP`nP 5"PxB`*.qBKnYA/J `paAs(!2 rr`9h> @y+BXæL % p3ʕ B Ѥ5*(6-eBC8XK^0@XdLF H(` A`j@(9B B-<:T `/$ \ #h0!$rHNI4AV v*  BUC)+jKh2AD2P dy0):@@@X>Q!KHז.adA  V%50\x(U& :@RА8' FA9`x])P$!I `R0ZE(9 fxC istqRp#̐ȤHAݣ/)0ML L%@>rPD!VRh$p:!I } kHÌ[("8}ʪ9 @ J#q@*5"cH\b$d<3 @p)JB`{zZ!BH@誀c, /fJd1J$ ]^P ?#AxPfCeh(> @( a$0d (@szPk V SO$.NWPtĹ8+D`7ElӠʺQU@5K h"*@M^l5 H:ʈP"0;P)E@0$.XL'8`YJ@+@IB>txt((Y' Y¼0!%zZ04D= :{!0Gq@ Ux = ls4aȡHrJrTpE$ HA/3R ! ӃRzp¼ :CDn9%% O)DF PP XQ k80 B\@ )( H  C"CK8[  (C@@$^B-* @= G!#B$HtPp(Dm"{e4! G@x . '0B h!XBp-Q;z #rJA<Y qɬ rl"' 'p@"@, hu@B ¼a8}9]9W{g:K#'C'O*9UDr }(JBI* azL3!ӐO A@AX.eR+L&JF A0E!P 87% 酁 @ ]P-(:$l"Ày @ÊZx A`@P|0>H@ @ {@C t0`{" D0a7ԃ`J@B?T"RA9  X 0b$IP'$dC`H r(H @C!t0k &C@b\`lcB+$e*83AAAAA"z! Aa`A! !.l.xNI pxPhd*\R[C>(Et1AF UWpx*\Gsr_@ p"Q !I "h71.s !  1CUAjh\* EHRP=84$nZD H t<04.qB0\d | a }9W{ w "{ 046&rw" 7@H@AxEO0G L Rd'bh2> c((`]<3--------- That command works like the above but is used to run a subroutine (ended with RTS instruction) and doesn't enable a breakpoint set. 2.5.3. Step execution. s [address] ---------------------- It is possible to execute a program or subroutine instruction by instruction with simultaneous display of all registers with that command. It starts from the current location if no other address has been specified. 2.6. Miscellaneous a$]functions. ----------------------------- 2.6.1. evaluate expressions. ? ---------------------------- With that function you can view the result of a computation. The expression is evaluated from left to right. The evaluation order (priority) can be modified by using the square brackets '[',']' instead of parentheses '(',')'. 2.6.2. exit to Dos. ! + y ------------------- With that function it is possible to get babe֔ck to the operating system after giving confirmation by entering a 'y'. 3. The editor. -------------- 3.1. moving and simple editing. ------------------------------- The editor is quite simple to use. The four arrows on the cursor pad are used to move around in source code. The editor is auto-inserting : to insert some characters simply type them at the proper place, to insert a blank line type at the end of the line before. To delete the chc=aracters you may use the key which deletes the characters located to the right of the cursor, and which deletes the characters located to the left of the cursor. 3.2. Cut and Paste. ------------------- To increase the power of the editor a small cut-and-paste feature has been implemented. The control keys are as follows : - Mark first block : - Cut from mark : - Paste block : 3.3. Qd[uitting the editor. ------------------------- You can always come back to the Seka command line interface with the key. 3.4. Some tips. --------------- A big problem of Seka's editor is the lack of speed. That point can be improved by using FastFonts (called before loading Seka in the disk's Startup-Sequence) or Add21KB (which removes one bitplane) or even both. 4. Assembler directives. ------------------------ 4.1. Assembling addresse)es. -------------------------- 4.1.1. Assembly origin. org <$address> ----------------------- That directive will give the assembler an address where the program can be assembled but it won't necessarily be loaded at that address at run-time. 4.1.2. Loading address. load <$address> ----------------------- That directive is used to indicate the loading address at run-time. 4.2. equates. ------------- Two formats are authorif9zed for equating an expression. 4.2.1. equate. label: equ -------------- That formulation enables you to use the tabulation. 4.2.2. equate. label = -------------- With that syntax the tabulations are not allowed. 5. Special stuff. ----------------- That manual is the result of hours of experimentation with Seka and some very interesting conversations with my friends Lord Blitter and Skylight from Bamiga Sector VOne. I (The Amiga Buster) want to thank them very much for all their tips. If you are interested in swapping assembly or C language sources (and all other kinds of programs on Amiga) you can contact me at the following address : >>> THESTRIKERS<<< P. B. 18 B-1810 Wemmel Belgium ime. 4.2. equates. ------------- Two formats are authori$T E Uk RC1@"D4lP^ D$$-o†$i8AN@',+x#DBI@@%p9U s4   BR0@z4Bp8@$03$  AI ((H H[߄!|(6OasA <!!'^*.@H@dbH ?W @48/@$I@p-?hQqLٌܮ;Ba0AR#)mPB5a>i,iEg;LWbsa`Ag Z( ${ Fp$D'dPb d b%{ AR@Z%h)RP#  %/|L(m_$ie=.+H$m fane2rvfabeLrBDad6DrfaNQQ`8rx`ra@ m gra062<` 2< BTB6aSJ QmNu DNuSABB3f DQNu0<@P>  %*xH@H.`$ h$; * A`]J@TI @:$ @!Pr};A!a#R0\`a =@ ]:@j  @ (Հ)$_H@_ Ht- aX= P%#H(L>#nt.W%P gz :04 illH8AFT mL] MA)gbbog`%K#'C'O(0`WNUU\lp"C`H$g⸾8!lp,/ P 0V.a(040@PJPP'`Q (D&肠/ `Z9p5#X0\P0`o:H< 06CAL`Wi$! W %]|mZx&P@e0j0m1s dqHXp@p_KO9P3AL^*t7NUUDV-a?$ @-P ȼVEpP .gD  0O_[ j 9B AA}- Vh&P?Ah_Ơ}e K&CH`dl(WPlT  !  ` (i `UPT@=@Y8_@?P) Qg AD!4! *] R kN\ To erase any file on the current drive you need the KF command : it simply asks for a file name to erase. 2.2.2. read a source file. r + -------------------------- That command asks the user to enter a file name and reads that source file into the workspace. 2.2.3. write a source file. w + --------------------------- That command asks the user to enter a file name and writes that source file from the l  workspace back to disk. 2.2.4. read image. ri + + + ------------------ That function enables the programmer to import a block of binary image into his object program, like a Bitmap picture, Sampled Sound, Sound Tracker Module or anything like. Seka will first ask you to enter the file name, then the starting address (or label or register), then the ending address. If you enter a Carriage Returnm<| in place of the ending address, the entire binary file is incorporated. 2.2.5. write image. wi ------------------- That function enables you to save a portion of memory to disk. You can also save a non-relocatable executable program this way. 2.2.6. write object. wo + -------------------- This interesting function permits the user to create a relocatable and also executable program from an assembly result. It asks ynh#eou to enter a file name and then creates the file on current data drive. The resulting file can then be called from Dos by typing his name. 2.2.7. kill source. ks + y / cl + y ------------------- This enables you to erase the current workspace after confirming your intention to do so by typing 'Y'. 2.2.8. old. o ----------- With that command it is possible to get back the workspace lost by a ks or cl command. 2oa]v.3. Editing functions. ----------------------- 2.3.1. insert line(s). i [linenumber] ---------------------- With that command you are enabled to insert some lines at the desired line number. You can get out insert mode by typing Control-C. 2.3.2. edit a line. e [linenumber] ------------------- When assembling a program you can sometimes get an error on a given line : it is possible to edit it and re-assemble. 2.3.3. delete lin p$3e(s). z [number of lines] ---------------------- That command erases the desired number of lines starting from the current line. 2.3.4. set current line. t ------------------------ That command sets the current line to a given line number. 2.3.5. move current line up n lines. u [number of lines] ------------------------------------ That command sets the current line up by a desired step. 2.3.6. move current  qx -------------------- Sometimes, when the screen becomes too messy, it is desirable to clear it : it can be achieved by using the key alone. 2.4. memory functions. ---------------------- 2.4.1. assemble. a [address] + [options] ---------------- That command creates an executable program (in memory) from the current s sjRource file. 2.4.2. dissassemble. n [address] -------------------- With that function you can disassemble a section of machine-language code. 2.4.3. copy a memory address. c.[b]|[w]|[l] + + ----------------------------- That function copies the content of an address (or label) of the desired type into another address. The available types are : - b (byte) 8 bits - w (word) 16 bits - l (long) 32 bi twts The function will ask you to enter a source and destination address for the copy. 2.4.4. fill a memory area. f.[b]|[w]|[l] + + + -------------------------- That command fills a memory range of the desired type (byte,word,long) with a value of the same type. It will ask you to enter the beginning address, the ending address and the value. 2.4.5. hex/ascii dump. q [address] ---------------------- Th_at command displays an hex/ascii dump of the current location if an address is not specified. 2.5. execution functions. ------------------------- 2.5.1. execute program. g [address] ----------------------- With that command you can execute the program you just assembled. It is possible to enter a breakpoint address or label or for running it without breakpoint set. 2.5.2. execute subroutine. j [address] -----------------qvܷ (@ 87x12.`P. cрM@!pP P 5@@@"  P  A`Kƃ`:(0P38\/ ! Aa J05z^@Q.s -1$H-C^ *ˌ(: FG@+@   O/f L  t^ `A@M@ M<0p+ VQWHgha)RCVU&I&a\j| eDB0PO@/E 4'`4@h*k (J( ,LNT ` *"Ab\nȈ L @2(`}`RF0/ ,hi 8hrC`0%/ !B O`O@'WcO*A`fM@ @! @P3B@-  THP  t Z@ @ @  F@$p-& Pn @$p |N&8 tL' P04L@@+  М@NJ4'  N!v@)  1N`6t; 0 !ôv@(@ 4 `>x X 6 ,$x+  0\]@$ 3T2 \ DT0aX@& p(X  Hxtxp[W BBp` m f* BBp`Jf/ NXO jf*m ?<Hm* H?NPO|f0- `f$6*H֪%C* ,RR- H|`:NU/ M$NJ* gM̵ep$_N]Nu`BBB `NU/ $m* H?NTOJ@g5|& ּ%C$_N]Nu?<NTO+@Jg5|* %m`NUH0$l`&R,jHn/ NPO$K& fBL N]NuNU/ M)NB,mHnNtPO$@Jfp$_N]Nu$%m)J P`NUv6-/aXON]NuNUH0$l`,mQg&J$R& fpL N]Nu& g&`)R,jHny[+/ N4POp`NU6-M/68NXOJg0<`B@N]NuNU/-N@XOJfNV9@VpN]Nup`NUH 8-Nt6M$Cθ|m |nJf9|VpL0N]Nu6*|f 9|Vp`v6-//- /NO *f N9@Vp` `NUHxBNPO+@fpN]NuJlXf -`HxHzN/NO ?<N TO`^C NUJg,lN?-NTON]NuNUH0HxHzN0PO)@JfBHyNbPO.lNuHxHzpNPO)@ZJfBHyN8PO`BNrXO&@Jg&+*,E&.$CHH֭T9CB6,H/N z(PO)@H?Hj/,NO HzHH֬/NPO6- RC?/- /,NO Bl$lHRCM60H|gR`H| m2H8JCg6RCM60H|fR`,JRBJDgRl`BB6,RCH/NXPO)@x$l`8HRCM60H|gR`v6,l-8/ NXOR@HRDlev6,lB8N)@9|N)@9|N)@9|9|X/,?,N\OBgNTO`Hk\NXOHk\NXO)@,lJ$g,l"n$/NXO,lJ gLHx,l/. N"PO)@Jg2)lނ)lނ9|9|9|&,+C,m'n {ȩ/,BgN\OBga(TOL pN]Nudos.librarymathffp.library NUBm?-NTORm m mJg,lNJ^g /,^NXOJZg /,ZNXOJf86,H//,NPO6,RCH//,NPO6-H/NXO`N/,NXO -.lNuN]Nu0<`0/ oJfSH"oS@WB /Nu o "ofNu o Jf SNuL 2/ `WRA`BQNuNUH 8-6M$Cθ|m |nJf9|VpLpN]Nu6*|f/N XOBp`"/,lN"/,lN"/,lN"/,lNp,lN,lN|"/,lN(L | ,lN,lNL,lNHL ,lNL Nu"o,lN>N"o,lNbNUH HxNXO(f pLN]NuHyHx"NPO$@Jf /NXOp`%m m |B*DBNXO%@Jg / NZXO` HjNXO `NU/ $mJ g/ NXO|%|v*/NXOHx"/ N`PO$_N]Nu"o,lN /,lNNL,lN:,lN,lNN"o,lNN,lN|N"o /,lN. /,lNN o,lN o XB!HNu oL"/,lNDN,l"o /N }L}3,lNv"o,lNN"o,lN"o,lN2L,lN"o /,lN"o /,lN /,lN o,lN0123456789abcdef $Ē 00000 @@@@@@@@@@@@@@@ @@@@@@@ @@@@@@ @@@@ Nu"o,lN /,lNNL,lN:,lN,lNN"o,lNN,lN|N"o /,lN. /,lNN o,lN o XB!HNu oL"/,lNDN,l"o /Nj Ffn:] ----------------- With the V command you are enabled to display the directory of the currently selected disk drive. But, with a special format of the same command you can also change the current data drive, for example vdf1: WITHOUTSPACES makes the df1: as current data drive. 2.2. File management functions. ------------------------------- 2.2.1. Kill a file on disk. kf + --------------------------- ~ Start Seka, simply type 'Seka' when Dos prompts you for a command. Seka will then ask you to enter the desired workspace size in KB. (the seka prompt is different). At this time, for a 512KB machine, you may enter a number up to 150 if you haven't any other running programs. At this time Seka is now ready to accept your command in a CLI-like fashion. 2. The CLI-like commands. ------------------------- 2.1. Disk functions. -------------------- 2.1.1. Directory. v[df<hg{WSrtCABCA`! UBbBP`PbЩ hST41} HS,EJR%``` BS 418h{q`!bP=hpV 6-@ePa@hypi ^8h AP<A@$ h60`!J(( AY@4 aBg p4ep4 ((w0pG H8  Cx@W@h%@h4J D$ @ @B!` lB[4PL  \ pB  <(   Npp M  `  L D h`jh uh4Ąf*@+N/h`bh xx)CA@(P6 434  jkC!AP, AxU@V@H iZ݆0j45407@ P.x4902 "4 АMԁCAxp Q@ !m 49Sh@h'0!P1( h8 B@ P &$Cp4 djhD D(@B){A@/Ёҁ 8F@H0 !40 BRA(CC&ACqBCA~H%C9 ht CsAC ¼ ~FBN(^ְ#p 8$$@@ `0ހ0$ h!DXP6X 8% "@  Rw61p S;#K;{wRKC 2NG$Ċ* Q @S'HSO#XUj}/B#.f0bv| f&AI;7`b&N.NӴ50T1p(dk!`pDl)BS /KK  A^3Jm#( HEC }afP4CA1{n6&cDLMK;8p#v,*dPVp3doc`*h!'SCk10zAL@r)@P( (00D0  |TA@& `g  !18610!wjfc`lhpV(qruv1 aځ\VPdUx9'h;7KAH0@V6%KCP2 0<- ںוM\]-"pu]K;@Φ 149, X82x,docjz u47zYkFp*)[{'OUNآ q.FV0&(ʻ8wt `,WVv@l5'fcij6J1p< R1@ƦƢK{"0D A5@ԫAS;b@I*:Hд '{s'`tN] \H`rAC[A"vD\LBj6m]\L,],M#F@H^B^^>>rPPPR  00 (A(hC C#3 +;' <b   <.@P ?(hM PWYC K P |@!_0 0"# B(ԁH ;eDhThY B'09 :;l_1>L][8\ x 5A    `XPE8v`|P4 H ArLB A  PYՀD18<,P>A 9h+H<$ 8|>p840 @ @ d 6=H@@ ` 0hA(K@'A |>$ VD@@& `PHX?F@$` b!E@%@ a0/V <Lj*  .3` @_@A 4@R@@+  @&@0 @'  pQ8(m#@ aDSA X,&B<. ZL:FCe   d> !pPEBpD@@& ppb># ``*p68 C`+A@'` @+L@"` 0( @@ B*) t8  pfA Z]@#  @& TR~R@' @F Z @ a @ &CA @(` a5#LXA`@"_@&)6C@ pY@!W tl? P H? Fn7$~ @% pp?K@!/{ \LzM , /0  м/@C@#BMZNt/ x@ hn@ ` U Ln@$p-& Pn @$p |N&8 tL' P04L@@+  М@NJ4'  N!v@)  1N`6t; 0 !ôv@(@ 4 `>x X 6 ,$x+  0\]@$ 3T2 \ DT0aX@& p(X  Hxto0HM a0j`@( ` BD|6 @%  r^Cd, xR`@  04)   XXb`@&1L d!0 !.@B @&B 2 Ld> !)|@&C2H @Ld.p !p- |:h,. N xlL6 a + \eIA9@\@" !jM@%CY@'` ШI@@'  T@%@   p" @@<.3G@@,  8x2P  0)A<puы=]@"Ci > _@@& p,&N@#@ P$"OA0@R@.@   .'N@#` D@$` 0 tZ E@@$ PD0   ,y"d ".X" . P A`KLdbG`0hhO,G  , 0 !0D0@̽ (0-_`GT)CV4Dq&u7H@# P lX@$X(3h6nC\(tC[W08?@46h3kAR@`<@I!AL 0"[#Yh'xexox`o`$m0(35RHc~CCi@'!! ?KAf?(P&h̠@8d8L` `0e"@@@ P ҀP+`0<0B ( 1$bĚ)j愤:} Bi!PABہD`* (@ػ|A @22 gfZ0@@n]P9T/@Pi1D <H3@A%^ O`/hbd&aJqA(!La \@,āP %taB= m ӀiEt+J"M#/w+**.pAKi)20#0q9o ^HFY!(uPR Is`iA@z0hH :\Y%C[r @$H:4ܗHzԘ96̰JP+b@"@pN`m$"T@ADh=t! CT@ d ԄE pdPP$*ԆD$$=J Y 'H/\ #yKb@(!pX'{H\  aL-?٘ Q FPl!@~X'w|A2b0q8j ?D 0炪8 D/@"< B0@ ^0D#"H;(0 ^P1 ` Qڑ3 ' AMHCgxp%(lH Rv}R!THJ`  Dr$05P$Ea)$񁲁!U@@P@@@@7&hC +F؂@(?ৰ!lh)S`)A.Dc(%@RECΏ< AdE @\LpC OS4@> 瘡 A ! ĉ9.H 镰 bL$KIh1% = Pd:I P6 B2{2 0 06 =+dљو :A)@^,(0@( F(A #(l,  b,f(.`C)L@}00a1H09y# @ Ĺ$6oBg"b `s (z@vŠJ 1[QJ2&)JL h @APC g  ^p+dkK @,K Jvx 90qB(.P@%KO+AC*W9OЀ^7@xn #!P&@XO`/ Cj .@< l C H I2$a 1RA1@UAQ@U@#DUDO@!|& O@'W^,o'@XAxI 2@K(@  4 _Q@- `ꑁ a\Ai*Reb{ c=@CA!+@\@@% ` -`@ xxPMP P"P<X 6a <F(Op `i0p 60f  坋EkA cap>`hA8 8( j ZQh`nh` Pؐ ;g{c&n!Đ.@ k*bldS.@*F`Wss`BVt*'HL!X^4 `RD IZ,`RVv $!bDj8Iз[:w&fe2"binkc@NXΛ!謩< *Xڙш HTC,t_`7 P*WH0 Az5B"a'H^Gn`~>: 5 m])`$N$6$p7x>&`LES0$+`@T HT215! 1@d'nhv/`HQw< 0I;pgblR;Hx ɥ&7jDXS3Kc:dol"e ֐rn%P8bbdQT*]EȒhXΖ^älmM̓H::ُS.`Kgjgok`QcSgg2ҖLm M9 0:*`Ldoc` 'fcib`Fodhb$  PX1܀}@@/ 0$ ,T@"M /hbd @$L=M\NT +Su1wD  @ٔ]LM.X;b!;Dpv812u6vs ,^ԑ( j;LKI  *)qt蠡IQ7Xog`lj`# ̥1c[W#T -LLŁ+hhR2@:*upqvlbd`@@5 P h @&+`Մ4 @Ҩu6[!igdP?*h"RĶ`i4ۻ Ce`i#7*gbd*^lp4lp4`$,!# %FΦ&&坝CIM i!A\$ڻ 8 "'Wc!XK;SaA ȩ %.NU=lmGMJZYEVA03Te 9( @D+*P0`<ƒr`mx 0 B Nb @V@0AhA H; @(:YxNpah,qw2vt|} P؋@剩PP\onBnE ,64`䐹}A z@!^\-?}񁟀R5Gu V1G(` 8 w63_5b2@R~*4Q3&RW0x'j,:pp+RX!)2q@G@|hw3CӕsW8G5 -A- ;pEvڀ9,XR EdAAt'( h$DH`S p$ 0b éc@C)F6 =@Ĺ8@"C.D$D@@}uH  'WQF&m P1( mƒ 1C|p/@@ʔ P   XPJi #S &" @BP T 4C /KH @ v!@hlШ?B?A d ҥ gpHPB@! !Ci% U!Y/V\nT9) $4NPd0 \ WXyB@pl`k\J@^ Њ  ,@<, '0`(2@N SOkJ T AAAA%j AHԂ@!(@h*!N+ !* ǪJSӕsW> p -S[a8En0b5s,:!va(c`}q:zRB0‚p@zD`B  e*+f%#^0\PD(M T5hl( W *vTBd @|+ QJ\(*i(@LD%I) J ._LPGK~^2#rrr_~P! aKf0G VhPph`kH Pp@ `k^Lj`f( 0b#HNy`@ 8  \ _`nWNUU_\V_Fҟm*8C ax sdPaTk <24(8kg6gf(8`p0cH4P1la; 0 @v0PtrUH!亰B4>E m_V} ) & %"b+` @ |JJ .P@f2?8dq ` ЁSddA6HThkA̤ (p6 ʹʫK@R@8ú -aO@CeX< 7(BC@` @&)"*AW+O(8kc25bs P(l-9i(0f89g N92.e18 PP .2 \ 8  …$EqrA,0 @[W?V)`P&%aFA3 ࡀ|Ux5P @ ( 9zy0CcI/8  %5 @AA`8LD$"A4(`  P5b 8* 2 (8R>=У҈oDž@ PX!@!bA @Qx+ʫK`R@[Xdt)E]8vŁ rrrakXсj`b ÁT0EP0qKfADp]H(AB?P"4؃D 2"  1(!މP%  ӕsU!.p@CvA?@zZ!rr] 5hb%f dAbQX5!;$(Ё$!EdYt-EsDɜ0T@,|!QtD&u}P遟0XAI A(Caс (s`2娕 YHF^$" p]9W9UP 烄( J AOȭPA M lH0` QP!D5KPd%2(C8T Op'"J~ST!R !P@<h~($#ЅC 8DB @ӕsW8 h cH T 0@&H8`";BB-DB!$d^ qRA D옇V( J̠a'in @mR*P@ABh P  B`6T` 2%!8b d Oh9!:J1j~jH\ ʹʪCB\ ji@:b1H2b X׎ `@@$A@BX%,gdA6AZzeZ *HDڠ"h@u9zhzZan Ҁ&J/+**.pIA2[01 E$ u )@ka `@X!5Zj pp   (@z@H.$ ATs u{ phhZal&'a@` J1Ԡt | $@(# P 8\"0 l}0'K ^:@RD"+`"W&G=? 2 rrrWH%A&80T@eCM``  3D!yr@aJ@&   ]N*  X     €RhH!hqJ@5E+QjliDH@@H 8a⁀Z;*r2-+1 ӕsW8`z) 0Ƅb` 8DG!DIN 0P 0JfA@ P @0܂$D AW 1`` ذiP%:?@BxGRxRP CLfEdQ̡ Ʃ,k k BY&`  KhAJS8} 8X @x30z@j p^&_dxPfX+C Q'dCR ^Blΐn/&"IʁG eP 4P7P3©3(zPAP- C x WNUUX2B!>" <"ZL %Y($老ȡ'd@@ 8x П"Z1򧁂wD ܈nq~UX'E1fHAQY JBH`~@ҀZSe't5`L*X+OIO^( d^BRprTR`| (RWA^82!p4BRD SBQBAI< l0̋PTs:QB)8d c8p;A ')8YKpR sB` lD P0$eco 84HtH0  x lo&?(p0I^.Q_arrr!RP _@ AD( -@(2D0*#0@$<T2Fgr B*ul(^ @9 I s4)q#A6A P !D vp ?HL Ikl '0#9]9W9U@tK , J 0*$273h3FN "HpZ*"( A@e@CD)"b$ 3p (!2  |ʼn=,1Pɨ .A_P)0ep&0BAu!)ZтbP01@L͈.i !@ᗥ%A5@ / P8I 31R1@#Pf!`s0\Trrr  3pw0 AA%q AD v @B Dd%%@R&:j'{p(d$ %*QHI$" @,G>2Č0# c-`A `@IQ)ZJտ)sr(    DffFAQ@mPc)A*P@0P>bW(@*J@

K :A$仰RF Bi Q !6Lĥ0IxJXp" JJ IJ@<р-Z)Vʹ00EY%!L!/d@x#< t酪A nfƄb`٢ ݀r- |*AMQ'@z@pz p"(!jȇ ^A!ĤI? ¤ H$EC0 k#/+**.~@CB}0mm@ "802r q%BaBAb? t@S@."m U! 4!3TT @t)|L8m[:ʋ@DlG) }B@I0PW+%F\ PNꜱ`hA@0R06@^@+`e$2 l1rj@pAr\4옘F`] >u}ADKt>@x`:3eJ8& ,]P !!9Zapp)JvoY ;&z+P=!K` 6h  (l'@";_er0RD@h `>h]b" a:d5 c PN:J1̄00 `"A l3p 8H8'wJ 8  ":(@/$6H #Hِ P"R"PHH,06CD> 5  eZBGp|(M LER!$ZXIA/NK^( 8FK bF@ a(Q"$ &, c$N  , G7T CQ rbBA$oc/+**.xKb?4s2`ReR5@BSÌv`PN!242@ĀxYO 6MM0%pe ;@u ^… haͮ5F_c8 bADIUh$SH AP4@\NWNUU_\2Bt h!N BE+8yOSĠ8lAE0 #zj@B|&@)F AlyzAr(|6`k~e0t\U>%0)la؄ ЯC$LcC^(@}-z@9.xJq/pepXsP e2 xh0hiQBր( B5d nPe0Ĝ@ـh\A( H P   e BA3X6,505@A8@P"R ?PQLa` 7743 N4== == 8$ A w6/ P r (`P@R@C(apJ2 -:@"hqa(;D*s<@a ",x$ b"AP O` B^P&"82"!"h(V` ?(EJz( #/ 03!;@¦E%mB`+ts8  0U!AԐ3PP,Bܮ:~ C$@TY'T TM"B^C <'&$H,@ !pw3( H@~ BԂ  p. `@brrr%8)l!a Aţ("P pE-A$ Zŋ hȍ &M`aA # bHU@% p cѰIL0n*TPCBf^dpB- \ HD`<&9P.K@;"o5 )Cu0-@_XoU(<0$zCCц0y@ 6 Y &B5vX1 2"P&&HKF. A3xpF  .A/MA^rR@3 ( a@De7A1r]*Ä o(0628 T xR9@z3r KH'HH@0K`h0D@E`a(A@ H b t`t(B@ FBBN)=ՠt\J u1zAYj@@GĠ|:0`hL43Xd8#P|(8peI3p)zj/r]P rrr>??%AQzC xv@̠GAI<@"@phlDDh8A(.xT@Bs2HY0S;?GECI,V( 03 Վ5ㆂ BAnIbEDP@A1R'`D с0"PwB `H@ ɔB}@(z0rL90>^*~pqςA :aD (~ň!t_ܔ %L*DX U2̇ s# Q9009(2CH 1 bE=Ԑ( v ф K@R "t@ sDћ29=!,a 0B%)SHJ &L \88NR>`I`;eb6G.| 2`#TaH p7 $$ #%AH1 S8 ,, %*P7  ,1!%¿ )"@Eb@,IX_A@Op~_^>r]4up@"Dd !4P;TP -B"`H I(!~$!IC .Pe@t? ֮0\T!!.xBp5 YXQ@9(SAsC  @B(:(YX W CRI\Et<<_>p  1cFJexl &ֆ@D`BL= HW@"IB_BaH@\ Ep/Ud" B(AA*ʕa (@ "j r?& 仮5t\U^%a'; H_ D!<,.H ?EUHVIHY10E  dF P:p@YXR< '0"(ALD%X$$KL0H\= =^< -?Ā̾;d`@ X8P 8UBrҴAԝ`@@+١k:I,@0׎ *(# y@XLn#&AQ`@\O`9]9W`rgѡTEF.(Db?ԂADa l $RM8?q W81 EDw+ "#BD0'.AĀйHq x$WRR5c̑0 O%rNJ p=C`$DDh@D^nACP )x1:b i?1GFr<@A_aWNUU_\!aĈUEDx!p@c,Y Qz!„IA X'q3P Q  @AU@ ؀PPT~(da , H 8IhF$ r(KF,p b te h0 0B) jI8&I2/A%aԂCE ~'iHc>T0ebt\U!.pAK`@!?/"Qn.'@c@jA?Rfvcd0'd2@(3 #%H@1 / U O*  H$ !A(8 >B!b !!_ I ÀH$aĥ0a ~{#/+**Y sB` "p3X0AtV1(Q-f,"0@QKEˑ*D Ga)fP0 !ru802Y@Xe;DeJB@&1@(BX`"ty0> d&H.C v/ϡ%/rM`.`5E .l(D29@bL):Ufx#d"0Xz6\B |Axd]?x$e"Q+@!@$D BtTq?`b;!!0!BX(\ <\HX KJ(P c^4x(@p !B5 Bp*J!Rh@a\*%_Z AD Q'PI,:aGD aDd܁ /B[ ~$ CX\pB9\* a`X7(7,CQv0`+ǃ1p X4i0Iu\@TJTqE ~.5ĉHCt iCGu ʹʫK@PFȄ  bq@PQ*t\@,   yN-4 & 0W(  AMA!D #,A"A!X209@L )e< @  8UF! $D (C`!p/ԠjpN!$AeŁ `Bu|R "PDhF$C^XD/ @. ;$@&| S{Pnp "Nꜹ`hQT?rrr' @_Hz ` z`@ 8#*d8A D8 "+h\ C^* XBf "$hh9P Aqe0P'eN_A%C}\*2Pm0FB5 iL(@4F>@x`ި?lIL@ދU 8#PRq IX ?Bd+@#@f(2 @xPo]L@" ) rG\tCD0@P>D c 7 a'XD@'m T E$/Ag XMSE*,w+B%0R`@4^P0p $"; @ 86LNH4S$ #M&~b@`,HMl)3a/!N`i&Z8 AP !Zaz`z z@z$uIu-s Ԙ'/ǃzjJrҀѼb    e(7 (@Ԃ<0@(t@8&)#OC"`qzZ@"`2<, !80 "&05&>&9&(3 &2p&0?*xd! 4( `(@((A09@)BPpvMb !H@ T!rR̄EhZ@ @zqr 1B8  [00HV09W9UB .!F0y')יA* @¸1"gAHXQ~  :C P`<^Bj D ,8p@րqP 8 XGT@*HNWNUUP0lCZh$.X"H1H"DPP*BU&⃫!`E.((20BHm0P PE8$B$FCաŠIl_/tF_`WNUU_\ 0q` Kh1@.Pi"]PdP4)Pxp"! }AA4pK NR a%,1 SD"Dm$9X>_ :? Ĺ-9l @IHP pAB3P P"#PJX T &`pjR Q*E DIHJ  IH<-F%`9H!B@hp9@:@Pr]`(280 D m0$( 6A  ):(t„5@j1h+Fv +@\Q0R8 l0/$F @1M@^6"(rrr8`॰!@PP}%jvPHP%Mf44M`@- 4/#pR (NG@dE%%ӄhu. 0< !t\ PeBT"@R̕B!ԂA""^(X  'mF,4= pF@ 4) D +3 !7d=,3 "@$(A(9@%BHlx9H>K ^",(d-IZ@aC #/+**q.qN(^HI`*( @J0(׈%!Ah APPu%!B2MJ, $фpKK )_L) L z!)`D* XT ( -D(D1PHnZB4什pl)! \* bd`o  (^)p":D(84^l͂LĹ4;!i  e(P@@ aA`KjA @b$(! `T g!$6&CX"Xe89H- aH`@`K , Rrp@ j!AdEC! 2 @&  x@ 7^0P< %8; ˃A  \ *98p?n"h 0 }B`&֘ )p"F}-9ą ~8ePpt\U!ǡ.pA PZ3ppAqAp0=(X#`Р-PiP4P`rS9kH [8! l0a |H EH (H҃%PoI8 T `o@ (\ e,@ G6!C#^(D 0@KJ$I$b` "IVtdb2 +%AqJP< u@<8+~H m/I@%^^0@@T`@ˀ@0 $TxAS` 8@ A,#B@ 80!0 ( T)NWNUU_\@ EL?FjR E jKR P$)H JJ 8Ap:X +EM40@Gm.e 5KD4EL |,bP L5::07 /s,P# s"A@S-@@p&`cV<#POԀy8i@ hNq)G(X8pH+ r]% i>t\U%8 -H> ȁ$BR ?Ab=sDbDU +ņ J AKQ%dAG#(%EPP= "9.&#z %utr |6p2BāA pP@K @!p!0o*B!0J`&XNHO'I/@BI(|Ĺ8TD$$ ʠ@0* p*+T D F\ P@\#T UPdPP"P|4(  ؠ`*z ЁNH@ QH6v4H $_A̬)ňB1B*!*P什 ĉOY Ik q@X L/A(A@H7‚h` BA6J H5ـQ@(L K8a"M5`M6B0z@?4n:@ї@(i\)D/f@FB@t8B4L$j+ ԊDm E-8dAd2AgVS!Я%A`D[Ah@R(@' l 9 H8j9]\WRB;*8  z(Dt\UFK #KbA `/ l`G!6Vr@$4P` 8^*0#8#NP 7;X!0C)p0vp r] Ӕq@ӕsVH[ e, J 31 (2 3 AzZ 0 AW D:P  P+|NWNUUTp0j Pt) H@02B\]N$)p< & a`bNGB t> )R /D  28 0"t:F_pD~!8 "ɨ$(@4+@A`@}LJ-`M"hG F(@Tp!`,NRJa[@H ND悑(H WB?3b}9]9W9Us [q@w1r7 R;pd/2*P  C!@. 8k*0+C^) 2AA\pFM@)dDBʠ@P@-D K^ <HM00 r]K 2 rrr䐗8!H=F*90U c@B:) n(O V"@"@a@4:"0V* ^; ȁ0jqgԂp`"onN8G@~ưZ((OnKA#^,`!Sp mp`n m,"APO2rrr$#KdlNVVz l=H) J Qpdl. 2\]`L0\@X0T@FM'X T1v2qR|`3D {  8F$F,3I$MA9h=1ńKIJ :aUP 1#%P-t ̸ k@+  ,5C @! ؐ }HX `Ru;a 0%p`8-pX N$J |128rrr@З8# 0LC ;̀-A("B=zIO<s,aCAfPRU +%[P(l 00e$JL@ CW"!W^A)BwPw/H0P1 2"P&&p@.4AH cC x}q M>? &!8R"FG`+@\Ĺ9`l SKhZ(:z0C`0A@-E`$.Є980?01H$ Jf0x3B0!yA4}@ =:@$@e@3(M@u( `; d:2$> (0H@D^DN"7X""* `9Vi >E0 U$&b P pP 209$Xtc 1,\a € $!!aHR`II@0e07k ub'0AwU=V3V3ð&8VAD;@!p=29^`G$覨 0 5$9&&;Ѹ%ĈA C!`QЙ @ ]Bm!E4kp\@@($b*̀TE0Fb2j""1B -fjTW6D([¢8'  OBRHJ& 2pB,&f  e("R01f?(p z-?!!O`M*pB 0j1]Fja4PD ^'a|;B@` h`c^ _g<| ja^_`Z@ P”6c 02D6>'VcM(E:'^8>&Oπφޯd) ̮#f[q6|A,Z@!T a CJ.(BT@o9E ̀]*&J]7ƨك"H+ Ylh_X!zO #LU]D)3Cj2@2m6 e!{7G,nDygAۊXHK#pe!C  y!ƅYA^^ `5zhhXDЍD;K H  @2C1d `,0e #ph:*}.a9Wy@\H LvZ($ {LB:l1F pRVU 0>*tFy9ʨ@%B%FABA9W7 j\,C` 0K (WHYͰ9T@aT'ݤ-b jpMxVS08p DP@2/,6, qB!d Fx`X `4h pr Pn'Ʒ|O@p|t4@pP-RFD0@gRfp 2k eD$EelnrY[Qh]fIlXHB=9CA V2ؗ? = (V&` DȦ8 *$M-IPda3E@Б !Kʂ$+.(XBddPjS?f8Rf*Aq@ @AEIRRfxc0 `t3Bl)gf?/LAp1!B(pP0h R$P `1Q2R?RR4 ,&8HHHHhhhm0Ġ`A  aDNN!(͉; 10 )(98끠6IG@ͤa p5¸H :@OT D  ` `@@ l!ǏBAÏ$@/$@.R !"͢D , !Dp8v \A 0H0 < A h x,1]q t 8&w0p0` `83 H\ZZ^][I;A @! !@ey @Xʀc*DD5 rC$A%A`!apA T$AJ!DP)ŁD4U$e ,IF@ qP  dYy5Qajʨʫ`DRr*@%E@D)1W!h@)X H,(W.",( $ B ꤅}D-RTSV Te(% RU"$*[eX@0QEC@jEDde$F B2U K)Ʉ!AB (J 4eJJ2 рa!~^րfFƀz"\ 4ĀȀx8XX@@hh((Hpp @\. NKJNONDJ*ωI@F)(N@"E.NE# M"" .<Z(0HHP@q``I89@с10qq)XBb2rJ*(k &@ tnP*kx*EB!Zz@ Cl A `@@sH@)@"BJ@  `A'h톩P" %QIڂ@xsW<u(Z)OH! \06pAv)z:6JiQ`i#b (_&!p| a"M`B@"9 vB0`,́#   !I!HB @ @@RGRyCGC`PB WP9>018Sp pp hp`hb ( (0@9 \H ';a1^h`60P04F R+ +;?_`@AHaI>R?PE|( Q,*QSSN -N@95 980;@>,@9 H %pp T==e@Pk>: ( ΢IA. :IvM㰔0tـP-`44'@j0*0ˀXM0 80@s@JDx8}q 2!:P Z i̅BXtaP̐B.@RfA\+O~f0 Tp  a$ д041 #QL L }#4'$bxw@D @H@ BNeH*01805&5&G 0"Ca !k:AtX+C6T!HPJQ_:Z",ˣՒ?H2rr=!3 @`T <80 4J _g)0Z iTA[8a$0AA\0XT@yHXIh 2@&B` -T"~"vu“h!f̠(T ʹʫlKaC )mH^@(R(Ο@9 =:ta!x:*) Atc, x2Mp`x>L(< 3av 1d _@!zĀDӲi7ABpp_K` j@JN)H!t!݀S i @8`ʺ$MDCE@W ,& 8(v@"   `p# P .J0@'F( NC`E#-&|Tas2eZz@qaM"qy0( $p/Fӄ BGi:*v(- UK TH""FH. (D'@,_aWNUSa C"B@D(!`.Ap0H. c$C.KTFB T$B x$d1EE!(81(p "vT2P>8Ba@ x@ܪD@#H|`s= A 遗AGф7'¡/ fN 9`~ 8ъфIa% Rf`E   `a@$@< #pA E.(G.R/`C?ԁ4^ q`tUk>ۭp..~ R,^XZP$a@,@D&VC^!WNU'%n !cS^K ^<6 lFh b%ƒ_X@ ,d' 2` 3u(0Bf=Lˀ$z@Bž0/#``Aa@p'8l6nVP)WVd , So 0@ZA@#@M@@$ phK|g|.D4d bar l B}.01T DF.kAhiA hhG4π4@4 ـ4ހW\x & , ?/$I ; CqR  *BD`D+J_t H hQyFoE c oFR`:Dy??ÁIї@U?@ l AE-  pLB@&@   @lk\@(@,P`\(23X6)~I-j` xT(hD ,i HcH$ 8 (`S@<h(% _pX]MTK(qG%w@) <8HPE  JP )A C%APC/ W* KnVVVpDp% V1'0iA 0:A  !ZdC!R %!K d5a@$ 6e-V0\ d4NVM! #1.6P3Q.a( / q[V" vO P *vT2TA@"== 9PJ@T@98! 2c@0Pa:Yb@"@z,91Z_Duv(e`??Q!!T'6ĭx:`xC.@H`G`ŨPBBaC :1: @ \H)P)D /C:H ^`sv J N">\հ@.Tep*p(  [&KB+%AD.zTz†_oq[hh BJBnJf!N̐* QE` ;;J"(^1ZArRf–g !X( *t "0AYd)@y%y ICNb Ό˂4d\U>%ȩI:<;! Dr]a!B)0.AdQoTH-0?b@I)p ":!rI0RwPXAPw0P_eX`%]AՊrS/ ]9W `/r  <,ASK`@Ug7)VpP.8@A@N2 (@@P~`@P@'  PHZ  & )p 0 m{ p!8bJN@" !8z'4 QQ@$  l P X<$   x(ZOA@,0T$ ( n@M pPGiE@  @%wcS@@/ `P` @&  @- p hRQी @@` 4!('(]0 P $Ęc <JGr,Eh AV@(   H@#@ 8&ZH&@  xU]A& 8DAd A'`+k ATX$*@ ό >  !_310,AR @8A   2@$593H0{L n(#7`@"` ( O/  #4%P0_dB@a  )E F8ȀD̾9t\TGp<@JP /+P04H !$E-!R >^X ~Q򋗁I"za@Yz?r]Ra:4]9W9U raD! @J(r9p0O@ ) |0@W%D+%+*D" qSA P&jA$J H лꃸ׉/< ̑o)7'B( ߘ:8 % 9D `(tӕsWx>(]@Ax0B^v ``DT AmT|P(0`$89aN2.a8&dd P J . }B d}G9S0# )@;H!j590]e, PJ dG*V6!"0[c!>p `P %5 @@ X Jf"A 8* 2 (,;!T`k(@B A 2̾ܮ N钿ÿ9BC v@P<0QCmTfBa01@[%PMCjBKHHH 0%bJ@,jDd,0a$A4 FӕsW8> E·D7'~ʨ04Rb`Rѿ& "@ `mItHP0$̇)quh`x"Xa(eRPPPb%5D!KRt<. !+_r8 $ 4&O@wK3B-hWzs@0ȄL G(qF@4A0X: rၯA. p@0 x`g`xd 'fF* 0#@&-d( s)Zq0 !YI  9IqB0BQ" 5B[*2#rrr/P%! P; D a@ w"!aQ$eJpqr@05~ D8Q  "5#<DhŬL(8 4 0%@L3023ICTDž lE'>h 34Z x( RQHt*@4 v CHF003 ~!obQ"ERfX`A扣a1d@:):O+zj@ttkP Hh[DPhd@\@S ` V`T8XĈ$DX2fP#I " zXT:($". B %2JplJ% @+ `Ł@;^P1A`:`0H 50! #$;  A`j#ɢf(y SVFX A"!aLܮĹ9)mBZ0 *cƒpCA^v`` x i١ IjJ*PJ T#`D@Ы=- ["?Et0r]@c Rz((`+@ 5( p@@ ΘӁ3.g D 8 L X !xp a сd- 0@P0d@w RT% C4 kz*R ɆA *0#A.h`  ;P .2   3/ 9]9W9U@D %05!:??a"Aҁ"AאA` (iuR@@&P2 5Yj@ PdTD % 4H(1P48V*A`·H@ s"A~A/P xG#A9Ȉ@ԀQAK!["6@TԀU5E ) 7pC/N `m [Sr]TaBK`K_@ KO+*`@T!0y6 y``@ЀPG$ 0?##@Za7HAz*ˈ$ȥxtD"J4}& ̈́Ɉ$5?aAO`Ȏ?` pG 9A8VGp(A/ 22rH .l(0#  I; TtЄCttBt@n xp|p* P* @IV`50L,Qh,C!f D$ 4d%I! 8"u4 @;"G0z sr] @ᒐ1` %t!,)Z0@"wN@ Zbo/D h`5 N8tAӕt l}8p"AA4 f` e@x``. ( E 0 {"B hP '  #p `i%f8T/@9]9W9UqK J 0$ & Ё$5^3!B@[ขP$!谨1fI"*@h/(P(Be ʁ@8 "h%  + [ f-T ,P|! 60o˙B  !r+zQH[@jAX@yD$(,A K@0p#"@!:R &p$NK DH @#2A d T! {RiIHPÙBk9[^0H¼u!3ӕsWޣ]$A7S. AxI(PXC77@AZH``H+4? 4A"P@@<Oq  80Aj@bJ̠)$\@7sϴD?(8 CS3(L(B, bH D I`3rrr_ۆDEȠ{=(.! 1T2 P29 %ȘNL? # @z P3 t "`A%En1 @!bf B:'C?)PzHv`2[`pvD=D0t\U^%ݮP B+K@ L L@ P' (PTGHxH R$`PYMb @)&@\JtZQe%(` 0'Y@B8 PR PBJQ QbÕ4/B5>DRL!GĠ.y{wD)s0T jVx(R!$RE@ Ƞ;A ԝ,مPAHU@;P-/A e_ D`J(3 qHAv+H2O@x)P"Pi6 A(B})1ӕsP05 $W(vt u1 :!Bpx h ! @ @G$h }H20o?(@Р.-P $00`$PN<N҂"BD =AbG@P^.WNU` g` a 0 g`*ҜX  `L? rXX?N9@KR @ $A8*`@l3 a'L$&a" RWU cXp6M:²(f{1P1u3(0 ‚Ł8N`~ʴ 0C,0 HB̥ea :9R)"t @T$4k(HSNPP0\*.g@h  `6 m P* 2ӕsW m30U8$)`e'@ e@@ @&`X,1,5, h aL p;bf d>`@AC=0a?@ 06!YB( vTq $\8+{4#OA@xGwz4`p4j p`ْ q?2fPʁEx(\ % c(Nx(%o@3 #8>MT $L\I9 a'$aD Ԃㅩ%Hү>kIP!ShG+ ` B  ܐXD91`QzT U)DPL@"@)g^PPRDE!B+AD $$0PK@ p'uF<'rOI@  EZ*׊Q&$  (8 sR .pLJ(4 H$1JP>p9@ n 8L0 8]9W!rzpz]* Kh."hD(ALG@D @x'@<)*jqDB(4 B& #_aKd!b zZ. x0r88 8J@}aH U$0 Hq& AY'*}j0LR@`>ND+RvTyD. *u e2( Kӕt02 -?8G@V':*$uQdhF$ QjG$P ZP8$I08$ '`a02Kb0I H092; fPw$2"#xT4@6FL йC=(9~亞.́Bn-:q9UA]@* ){A|1F a:@y ɟ X'xCB1 xr9P 1 X?JtIP2aaKR+T @M:ʉ$Duj @bH4H6b"," g2JDZ4m$`H(0 H2?M#\ @KԀ}@#PG $}8ʹʫRC (!C%"AAJ& \6 a;3B1B4V&]@Hд%` ]A(8J@, d v0P)09(PfpKlA D#.`Aap:`M]K ݀~A'D.@=B~h, (jZa@/v5bO D W A"I<@@@'  H >E\PFA<A7%_~J-Õ)^E;.bH,@\@PBx i[@ k$s8z"txĉ s^O̡F4S3f ,0#h |i^  /qX6$1 64h30"0<2Mdvd`p X+ԀYA%8(邡7BEp|BH!#I A  %G 6Luh\U~% y!(!'jC.W%u/z5 N@9U8D4q|A $A@`@ F `h/ޝ  0TTb≕K0(gDC8/@ +@0 e  T *(@Y sR?DPLtT2z&1tP P H  ,ON׉ (Dr"ß==0;zZbr]zDt\U>% A!H0DP*!@@h\@$ P hT Y@"8p pX  E@)   P`DHA<WӃmЈE` `&`,D ]P@S@@ *J|*?3, bmA((%=8+@WDܗY9 p^  q*Ȍp00   0@P (ӂhkP t͏b!Aq@ ӕr  @^!W`P000z w @R&g)\U UTTT$P4R $ Pj NL@}5;@ w`bA p #p *P*!B#ÄGh'x^hz@+@+B5 fO\)B:@t+W8d@_YMA4#ӀXT , , e x0xp! +o` G @;#Uӕr @BE |jwJX!o$$%!la;e`SA_8H.TF !@),P24H!($@("ĂPR.p$@AgD==!6x(uI~f;0`[G@(@ $c'BPt(  8A "`OQA@4(8̡Š@QP^cH3P4I4 vi`|:OpL1?A`t<4ERe L u '4XSr`'[@0! s>\@(dT$4G X@)H0T!#HSt)1@Q0!70@@p 0k ` (%2 }  k I; Cg GR@dP@8 |,N-  ( ~~QiN<AA2@S^ \$! 5;O(G@Z:ZHH d"/*%2e$:0hPO a`wEp@Ƽ}8z|u0%f 4va Tå XBǺ`GHTdBARwHr@Px2lP`f"L HL@ @R1&Pp2w (C8VS*V$企@ x938C]A\=? P<@  P`,x{0&:eDL&Z$ h<`8~CN"of”< =~TC',/K@B&O( &WHD t@€"`T d@T`hhTp0L@!A&Lf&4I 4 fgB倄@[y{)8rj^p #BЁ|2!}) y9ěp$@8 2 7>JŀI PK 3(H@IRJh 2 C5t\UT H@q!  $BHE%0 H2  . + dK~(8@9B RQ  % W9U`[s`PA(`R ߣ@@F H`0,B@$e@`!0$ -@ 5 cq,!b$A`a`\@ @Ȁ%XoX jX`mX AAa`< J' ; \ux ~ƊP) QBH\K^0R 8  0&PMJЂahIFBP0$)f22AHA_AQp}0"8"RDᤠ&P$&GL!u(`@$ v0)`],vBr x I@Ĩ` @`@T(0003 $3`0X > rDNi;@x5LdAa h<\*CR] ˤ. ``.\ Vu6p4KHI$@v"pR L  QW0~l(EP"P0:  8 Ԁb r]H8 cn"5 -9!E( 3z`cz*1C a @F@tI (:GbNR`s $0U!AdAPo~8kƃp7*.zB -)b"D et]Ba"cAB@'9  #(8"'#Bd@Y>(@ x@@@r"HR&/D@" `$ !*VHE$n*^ -٘& ;4A, nUP0y [!Z:*3420qɫ̠H  e0t\`B4 200cM@!Zb <Ra38!j^+p  @uk fHveH}w,+A @H@B(*2ZtH S, 8 !8!`<+ eSL!* x0f (F a30l@vDTh$DL6DlB`$$HRRf2rrwnP-J?]@% _/ ?„$L.,&с`- ;  `R@CAP@`H̀I+ ZPAPM 1BtZ"* EXA-?Ӏ;@hz@zCoy{sIH цJ a ! -PӃ׎ h0 ` K!I 2#ЀʌĹ9 l`, IA 8BYIHI _@h;DҀ@81ltT2" ՂJ'X C(!B$b$ AZ 6bV@0 v$& !8#@\ pE(a #Vs@0Z I|Pk0F !$I(%* "=$#PH @AI@:X@`@ڡ6 h` 5H A] &@FyP&P`o|o=80@!"b "#T@At( . T!r`x\u =E``p}=18^^:-ah@RbiY% t tT2QRrM (0@0d  @/p@  .`$$@j`$ZNFLD x. DP T xF#jRE/E@!XA64; d#+RA` 2`S ;!`+pFt a $ ,tT2Cd@BWC!P0. L ,"/UTB"@%fk@f KcP`CX@PAH< B | E TF ARp 1p(H\X*QH zX tBlAע_pg&~(b(@3" Ca Qa D(0P2Y@ӕsW8bGPP$ɊL1 A$82`8AV`f EFQ-MK7 Qb?s :/CD$$ƈAJJ *d#"<4EBHz_h>AP "=iB 7HPGE, J 0 KL(P !^4(`'F ̾ 9*\ N=5H,A#^! @p JWP L` B@p HNNUU_ 4qb\L`;j%N@`,( YHs@rI8 R 03xBM HQJ̡' M`Qpa(+%z*$@ $j.B Q@PbЂhqP n,6P)P?Ax'%/z>bB 2f T' 5 B _N!qD u$ 2$H  B(퀐AȢ)A@B!bA@r]` h `D1 4$&tj")`1`taPKѕP@EۡBiRpA;RB *(Ÿ8!XtZd Ґ3"8ATل$ AHDD ,KS1D9 8p]I@ A$:SbB>B̊FHHJ/wTn @3 AeI( xP1b DAjC0qg xBujBtT vz`( ?s2rrr< @dFV< X hPH( q 〹o 0'29G0rBAbRfCDz  B  EuA =FaH. -  40$C@"@a,"4L<$  F2(((8_H@FC_</tXWP0 t(B@R2 X T0NQ`~Nʜ d tTes>A\Ĺ`8qpHY׌\:p Ab?s#! OӄhJ @ ? 4 !̅CJ@9@0KDBP(I48\ \!Z` 4`XNA#^8 `&D-A K`nI~@ $!isABG{s,:@<)s$zzPtaU Rf*. P 18 01303@a\.f,] 0d D!A0N1`` P ȐD9A耜ϯ}D/w%/p@%@pNJ(@5 04P1`B!`M̉m(XҁH׊T2 ;j%`GqN@9 ]R5"D̐> tXU.b C/_Be: ?lJV|q!"+@@C@<*`@B0P"4> 7d-@  B dA@H$  I  O (  _ @P  , mA  l ~ Fs  Hd   4  cc\d t   4  ffintuition.librarydos.libraryOKCancelFile to install:Version 1.0 Copyright HiSoft 1987GenAmiga Installation ProgramText size:XREFs:Tabs:Executable codeLinkable codeCase independentCase dependentSave installed version asQuitSavec:GenAm60000508n0Jb|"*@L~(Phlp"<$@` 0JR\$PT\nv   4 8 R Z t x  ( , H Z b |  4  ffintuition.librarydos.libraryOKCancelFile to install:Version 1.0 Copyright HiSoft 1987GenAmiga Installation ProgramText size:XREFs:Tabs:E/ũuseful for setting up real-time windows onto memory or for repeating the single step command. ~4 I/O operations -- This group of commands may be used to direct the output of a command line to the printer or to the disk. The format of the output may be altered as well. ~5 debug operations -- This group of commands has to do with the testing of and experimentation with object code. ~h h -- show block as hexadecimal ~l lxxx -- set block length to value W>O"xxx" ~m m -- show block as ASCII text ~p pxxx -- set block pointer to address "xxx" ~r rxx -- replicate value "xx" throughout in block ~s sxx yy zz -- search for hex values "xx yy zz" in block ~t txxx -- transfer block to address "xxx" ~u utext -- search for "text" in block ~y y -- toggle register display during trace ~z z -- disassemble block ~: :name -- create new command "name" ~; ;name -- execute command "name" ~v v -- view command file ~! ! -!- ! a comment field ! ~[ [xx -- loop "xx" times (must close with "]") ~] ] -- end loop (must start with "]") ~q q -- quit EXPLORER ~> > -- add length to block pointer (p = p + l) ~< < -- subtract length from block pointer (p = p - l) ~k k -- home cursor ~K K -- clear screen and home cursor ~n n -- place cursor at start of line ~P P -- direct output to printer until end of line ~S S -- toggle output line length for "h" and "m" ~W Wfilename -- append 24xoutput to file "filename" until end of command line ~^ ^ -- carriage return, inserts blank line in output ~$ $ -- $output this line$ (prints to output) ~/ /xxx yy -- deposit value "yy" at memory location "xxx" ~H Hxxx -- show hex value "xxx" as hex, decimal, octal and "xxx" times 4 ~T Tfilename -- show file "filename" in hex and ASCII ~X Xxxx -- EXPLORE address "xxx" ~= = -- show registers ~i irrxxx -- set register "rr" to value "xxpx" ipcfe0000 sets pc to fe0000 ia30 sets a3 to 0 see "=" command ~g g -- single step trace at address in pc ~* *filename -- load file "filename" to memory, display the first block and set the program counter to the start of code. ~' ' -- show next load module block ~@ @nxxx -- set breakpoint "n" to address "xxx" @18000 sets breakpoint #1 to 8000 h for "h" and "m" ~W Wfilename -- append ,'+H$m fane2rvfabeLrBDad6DrfaNQQ`8rx`ra@ m gra062<` 2< BTB6aSJ QmNu DNuSABB3f DQNu5R<05@P0 `& _P 6`@"  P 86D  Hb J<ߟ';aq% ɓru[7 8jKH%M,@8( 0!  t j ,MX"\ (pD$.2P P uh0P$  \i!# B`~#pE)yzH ~ ;p@L8#aH)  ?( f- Every help command shows a "BLOCK" address and a "LENGTH" value. The current block is defined by these parameters. Most of the EXPLORER's commands operate in relation to the defined block. ~2 command operations -- Frequently used command lines may be saved as "named commands". They may then be invoked by typing ";" and the command name. Commands can end with other commands, but they can not be nested as subroutines. ~3 control operations -- Loops are C't$ l! hވS*t ),݁  dCN.X96aBN$4P胦R`<:x!Lː8X(Z`"p?$ O0AK1#  `I aj[2(ĉq}tB@H f49@RQ`P2 v ķdQ Jՠ !%<\ ^d INTWNUU\(BJfe F#DargTy8SD ((">$4C ,Q@D1V aO0:  Y8HH~.փ3O "z=Lb# l(? @#H@# d Kb@3'B`P 0\"t$^&| ^!,4S!?ԶC$AH#`8tY., R_`pHV(  la y؀ %PB^5!WRfd2X\D1w`hZW r]0`c;_rrr# [ˠq![c@'   'Ԃ3 H8@p! CX)7t@A=|A 0D@RZ 2@@@BGA3(lp/H!DJIԊ @ Q!$PNS%B$ [ZqBr]?v c@0l̡|OZP( R$[.P ?Ä$H h$F [ @q! @@s j@G +`P ``  1 $2%$PH FZYA;R.EB.0R@j lt, . hߠr@HT +&=Y:P Q'AR,#g!kCAoH=0.+{2t\x+A&I+`} >ȑA@Ajj_cH0ep0@ #g00AU05ME@DQ3 @n8GVz-@bhZXO @Df亀.C`@<0'*jA0B$#N(j$#` - Q`,P, B BB@5o  P)xQoA@'%HO+X`95 v !2 rrr .@ < _6 ,QB R30 (Ȑ+oJ"FV` ÀPP8HCp3\N`dh$(3`0"D Ç̐A\@1Q` p`!\1zA` %;< @TY:P(\̜OBA-?zܮ9 ‚0h  $3 P30o $1KB`A}@eD .@!@LQ@!A{`aCmA BCyCBC1( $4`h3a2@"Ԉ DE  p bL} '" "$`~6iĈ J A('NUhA4zrh*1$8@X``` Y30AxHx 0 W2Ap=H@CX(TH 0$04$ 8TQ BAR!aaFZI[!M ` (@HO\P@BOl.JJ `b`?!c.ԨJ DP@0!t@A$<h{(@z P^$(" OD Y-JH0x n@ =00@A)Ɉ*f Rƒd.<0 %,1bBL Aw"oB X@j x:p81$0P  @ a !.pI:D  A@d$(Вc'c)ّs @: @( `'B(`0M@' F 80u`@$ u @% !(I@&` @I@!  @$(A eT2P  )BH xPE@-  "(yoB@"` 0 y ArYAR(q` P 0Qx]@@%@ x'p G HJE` `°ylV@  77q(@+  \ F@!!hB@"`  @IA4@_@) p* ("( (@  ,  PT p`H A`P $@8NH@@'  $ `)GV 6_@&a@ @-` P @@&@ "@N@"` +` @/ 0 nh4VAZ AA2@( D J `.5@QA @6@TA@3@^@-@ ` *JJ `b`?!c.ԨJ DP@0!t@A$<h{(@z P^$(" OD=  A"z 8,z ,N"`z"< $<,z N.g*z  C a4|e |d;A C aj"<+A 9 W9iWC aRA;A"$: &: ,z Nа f",z N`aZ`aR",z xN` z p,z dN"y ,xNb"y ,xNb : Pg"@ <,xN.pNu,z *N|C g&CⰼgC఼g"CaC#A4a`0/A,zNvA"_pQA"z,zNNu z hV,xNJf*p z hVp(,xN z hV,xN"@ )@g, g$Eggf,xN` i8(&,xNNuHtA0(p rRdؘJfJkf `P0QBLNu;B@'d rg0e$ҁ҂Ҁ`Nu}` topaz.font2,P &&LL r0 D0ll 2,Px NOTE: An I/OA error occurred &AmigaDos error number 1234567Disc fullDisc write protectedFile not found2x4|DXvvhrr   2xD    d@\ 4ɼJ<ߟ';aq% %&(n3AqH 04 KR0XpP`C@+-@a@ FF@(e$LbI`NPA!s%wPvA(@ 0,P$& )7 R'2 $ `61 kD@89B@N6D>"B }2X\A~@@ 8#9  p m    `  "T*Zą@@8 d8 gP(J5"DY3Id@2*9aAD iRP`b EexR r1XVTH"!?`2,`:#a;*$IhZh@<*@,\F@3؊j!C8ZQB-?ĀD; d%"0ppy (zaODA ~x|@yoh%@%($N@# @p!y{ZP ;PPvAm7  .c(P6C(3( 8P.A(2(BP- @< !E(A3P5 hi@ -$@' @sKЕr RPWJd1FA9]9W9U?q2 Z@X`S5@l/Z8%W%3[ahEa?: Z 0RNP7@ x9JÀrhq 4uh*pXAgDA%l邉|@ k P Ž`vhAP~9u2LP)(b (`g(eJ`la|`|(u8T @I@0(`9P$P%  t  9# A ;! | H8  : ,T 0AI6  =ADkBNBBp0RO!Z(4 3E2i4W%=*FP@!3}BiA[Cy0D2)ǁr@`R6` I ` 0 PH@A@AA h.P" &/|D^L8ȑ`71R `  DTyT%G (HqA8U@@  ?؁ E0ff$^CÀrЁ D ] ˨A  ] R D> uo`@؀,TI^@ۨ@& iL*!u5b^#(, +E8e8 f8`gp u' z@ahFzZ ; W( d G@׊.PP bЉ' ˃B UA"*P qC" 3Dh  pD aB ٱ h%ltKlQhq`aLTazA``]D'A0FA}@VrD} 8 FI*@G}.APA LP@̀)@ (0A( (A9A BH(I|y/  +CӕsWf" (<Dr.+ 0dȠD:) 1." LW2jd4>jPa  (@h ABx`I9Ǘ"!B. l`J,@B xFN  M/@8G^*V ] 謆 uT5Bgp x;"0;& &,籁  3c'_تE\@2m_58`CASaHT@- @ 4 0' z(W p6P(5F x/T%BA$& h EJXk5Mh}J@ v0$}†N/@`p-07-X3=2a aR$<% e P?@%aBbFCĤm]9W9U109Od1J ,@  EJ@  (TH w  F2S KO:Av^-2C`}:Xa" >x(< \X% Rd ;`D`{`*0N ``J5 Br]{` Ko%6 @ 6B> j @{vy0=h ΐg*1a?B;س H'   ›kI ,p""JHbxDP7* /O>͂((D1 JP`q@!)7  s0qBB ?rERAYph@@T%xт ğÀE'Ӑ@AB @ %Ђ!JJ ,5>5 J 0  &d@3! $U.`F(pF!ۄWx2m(l t^%B(4@0 T7r]Rf  0p x B6(001V@Ĉ(׎!  C¤X+Sh_ v)TVI耉u f`4@b@@u*+ڎYAhkP H t\U>% ݠ 00010     4:-! 3$H(p3dI"D0L  @$4.?̠Ba"p@ (E=J.cMT/AH^K ^:|8E,H yh 0X+ĥ̀#B*0hCY0 @ "f!"("[K }HV& Er48EԞ-fLjA07`Bfg@6XaWNU"AEPj qA ds0!ZB`PN! f(XD5xs _( b9!`aA< )3A`@0g@6;ʸ W0=#P" `T *A2⁃9ABB H!pPT&L?$ 4R  L64&p A8# y!] L*Q,1lP$OA)(E T b0E @8`{q"840/*8!%ZR*v$ ;p9 =a>"c$LE$F6 0!@"H@A.E @ ` ),A'ud Gc AO"%NH?쐀hFx7E P(H%l $ aAbpGcCd&D`nX$4H@/b#G*/"A(%qāp*!  @( x0P 4BMlBP4 (*E  \CTAO@Ab AdhHU J#_V!00y5Qc 1P@;H8s;ǁ 8NHh yUHH`d pDDH `l hEYH `EID% !deQ` HJ CPAP@T4  A @7C(x@ @z8xbɪ@`@FP, KI (H̨@<8FID`h@t\P`d@ n^P`` P . ABQ :a* H rB"AԀ><QA1y ` Ā>FFT\PF@"R?DAe`"*1CJ"(&@(>J @ 8PBH }ieՏ Jʢ*UA\@ y#聄 p(8p(" jC p U܏be% # VAH nHH$~00<| 3a@  W"",00<$Bb?Ha4 eEO HXDT a(  I+D G+J 0`a  a4B@"A0U! Ā* 0@(xhZ\@%BkyH@@- `9@@@#  @_@# p &C ::H@- 8`?^@*` h2qFRj)F@!@   8LE@$  P@3A@+` J @0  0 tMU@@, P+H$m fane2rvfabeLrBDad6DrfaNQQ`8rx`ra@ m gra062<` 2< BTB6aSJ QmNu DNuSABB3f DQNu 0<<01FX]X ?No@EO LR`_, 0BA `b804 hbYΆ΄@]1i*N53t53=Xڙj8@v! {sg{;2)K`y ::  2# V@'  HP+p)(ghZҘgCsSrT``+53>&2ډ98'u36,mMm8 b`@rt@|.Qy1@i{c @0>1eA.Dt@8ؐ؀11BPk 66t51: UA̍SJdnP9yD%D4@%!9;S'AeaII[`{b x NN&vz'0'{s'C22b6`%HM@! `Y Y  Ā 44"$त( ). The "find" and "add" commands, along with a file in the root directory comprise the "World's Simplest Database" system. The command "find", followed by any single word will print every line in the file "data.base" that contains the word. The command "add", followed by a line of text, will add tsc'he line of text onto the end of the file "data.base". The file "data.base" may be edited with your favorite editor. If you want to have separate data base files for different topics, just put them in different directories. Thus, the directory "little_black_book" would have a file "data.base" that would contain information different from the file "data.base" in the directory "Amiga_articles_1986". To get started, type "find help". disk. They are "read", "find" and "add". Read  twVD6 >0( )4.( P1˽p0HA H+ wa%a%O7BYd3"Q|CQI @!$%P 8 @\P Qa a ,0HU " > D T @@R cB@a.!2@ O ,9 L,#0@ې0P`  bF $@8F`=!1B8G@a[ +11 p@R g80428x(ij-A'0a `(! g'_.) V( f*&wa C:09: 8` (  J\41:> z`8@ 6 iAOtAN0cT%&?JC&naPp XRdJ ݉$|-P82P0`BOd@T%Z [@0L"h<쎈!pHnO"`('*CbP*` Pmۛp][7R;txXh``   H@6NPMbB0.-U D @8QXʥQɭ:CX4Ie=$@|!{{#KsP;-+))0*<-LP% $y pbJ $ *H(0IP`J݅XÂID%-MFRtri#@D8QZʤC0't2s..`Kt@G"L!ASS;'SCK;{#W33S'B(XwiY %S* p$$4DиP I*S:T (l>@L6BN5@_ڀ@H 2  *  ! !9X  '6NPMbB0.-U D @8QXʥQɭ:CX4Ie=$@|!{{#KsP;-+))0*<-Lh the place where it occurs twice in a row. Immediately following that, is a section of code you may execute. After you have found it and verified that it is self-contained, that is, it loops back on itself, try the following command line: K [999999 kg ] An interesting phenomenon has been observed regarding interrupts in relation to the tracing function. If you execute the command line above, you will eventually get a "Guru message" on your screen. It will indicate th(8(0000" in our startup-sequence file in the "s" directory. If you have difficulty with the EXPLORER, this is the first thing to check. ---------------------------------------------------------------------------- The disassembly of relative branch instructions (Bcc, BRA and DBcc) is done relative to the program counter. This takes the following form: BRA *+$55 or BNE *-$6 This method allows a file of disassembled code to assemble correctly with1){%dfcZH$T d`@@ @@@$T t*U@) %,+Iq &5v぀XBI78D'Gp" ``0 I r0`P/@DdD p0))!fPpP @Q)@`TNG@+D]0 "* ȩ@pXB D P"@(*A 恄&^&ɈERHIL0@N $ АB(!(&BD(>A6"CJ !H3p w DTU"ApES`QCb(KU@6B NKGPU 8 %NKDPMUDA% A $(3 I@j28<``dtH4B>kpF2F(A@ǀ2πPURU@桄!Z2 )ȂtZa  ǃ$Tcn0jO"8 7%DQ *@4yPSA e0 CBЉ. 5<&Q%TX0`$2P8"qF$$ "H)HS`8.84 @9$y62 B.* #@"Jx4D0E¨J"l hdp8Ll0@1 9$` @ax2AJКp]a,?p8@ x&J$*N{J r"j"aTLBP)2`iD"p@@q@BU@@`E0`02 $1 0  02$^-Cb!@b7Ca!`I1$@!x4 x a414TPX `YQ 3OQB{DT@. 't2s.`K@OfffQNդ;7C#&xa7ڔ%L@ݫ("&26! E $,`tjeG(BH<@ p$$ENм&p+p@f "@G%p1" r@hM|ϒπ=8' xs@1   xXV /c@>@;dNvR6ʦ.rn"P DEi jk$$edW@@Y{;c UP rPʝ@ Qg1'Ka@PA@@IYS@2 xh'" <]Lm, ˆB(: %%X$\N@ (7|*`1B`@`*hP ` =P7&( bjff}L-@2@.P A@8 0$G&<: bP @" BD0q (K)P A`L  8PiS血I"`@„tH@@qRA` BdIh @D 9WqD  xt  !N  .`BO @œPL#ABnU4Dh<Pn\8EiA b`*1@ji( =L4X0N,&FH a; 91L,\DYC %) p(@,H NV 6EdP 8#$L$ L1O "4H$ (E*J88$EL FKeMYBH %X*\$H$ED#tMyEhG*&Qk;{wc`A%bڜVS;b)[@B ܁-C;r `Sw"RffB$ԃi5]MAM1S@F L\] H䠁  i`h:iÄ  l $ p"i ؞evrNv.6RmC!VMA> zG5& Ӏ1 )`&$d`Ē@"`p@O%!:.T/@G2@*@j&p@&q4,$ hG @!@zH P9ځ0%'36u1p%#$t128)2! r!P&Ɔ.$%H``HHB]"lH 7p04 HcA$J^  XN!  BPMU$$I(@DRRp^"'HȁD$ 9q <"6$DTṗ@E510@B@9@ 2!$.A(LE*%;\{i p&D8q #PX 0`%0/!>X "  $& DI@2?2X A* qhȇ +@ 9T95DpE@šmXT.0 -llN`"A9;ASF$"K:XS- @ 64p2 =)<"P $2 l1L ABTNvv.NvfP4412&4ut@LbJG% 12il AD4b$@04@050=00@09Ht:A(`f(r0 @Â$ %:֜D” @bAp.@MA@<r read filename help: causes the file 'filename' to be displayed on help: the screen. It pauses every 20 lines, until help: you press . help: help: Obviously you can create a record like this one, help: or make one-line records of things like your help: social security number, phone numbers, addresses, help: or notes on what file you put a certain paper in... help: help: Use the read command to browse through this file help: and see for =D7!yourself what kinds of things you can help: do. To see how to use each of the three commands help: just type the command name. info: The world's simplest data base system is a gift info: to you from: info: info: Interactive Analytic Node info: 2345 West Medicine Lake Drive info: Minneapolis, Minnesota 55441 info: (612) 871-6283 info: info: Makers of the EXPLORER debug monitor info: and the EXPERT SYSTEM KIT. review online! AmigaWo>=rld May/June 86 review courier 2400 modem AmigaWorld May/June 86 review Okimate 20 AmigaWorld May/June 86 review One-on-one AmigaWorld May/June 86 review Seven Cities of Gold AmigaWorld May/June 86 review Borrowed Time AmigaWorld May/June 86 review Monkey Business AmigaWorld May/June 86 review Mindshadow AmigaWorld May/June 86 review Analyse! Amazing Computing April 86 review Racter Amazing Computing April 86 review Barataccas Amazing Computing April 86 review Mindshadow Amazing CompMuting April 86 s of things you can help: do. To see how to use each of the three commands help: just type the command name. info: The world's simplest data base system is a gift info: to you from: info: info: Interactive Analytic Node info: 2345 West Medicine Lake Drive info: Minneapolis, Minnesota 55441 info: (612) 871-6283 info: info: Makers of the EXPLORER debug monitor info: and the EXPERT SYSTEM KIT. review online! AmigaWo@+H$m fane2rvfabeLrBDad6DrfaNQQ`8rx`ra@ m gra062<` 2< BTB6aSJ QmNu DNuSABB3f DQNu02@P?@" X !PB)$!IP3bCB T)`  @vy +a@S U@)11Mt l 4~$L #$ I@@p8TZH ON vaS0$" `p TyI 0ۀd 8$>9  H r9 +9Tp q RrAS dejp O/ !!2r [;ZH0@v\p4R8HBL*,\W"NmH&EШqD @ J8J  8B @S R&*D&!Ѓ3ag(`p( I*A|p>$4`. SJ)mHQ$//$  C(! T0p4X:YP0`T4+2 EDb@Ȉx pNKd !, >A%-k+h@3@B5Rr!%7D'0($$h2gz1X@E*3snj  `035p.h5("^t`% RP `:-B-k+K@ /BC@9^(hTyH. DHP t7 @8(0,"Ĩ "%-,E)ZFPB lU$&J/ȅPe H`$JtSUP =w送bK@BN&4v NJ jh-:Xh.4t\b"0J% "H:ADcpX')QڞG8aDh8 2,&,h ybV$rNÕP@@"QBA4`/0000X   p.h > EA%.@MA!@Z< CƼCf I)'M\ ZEH p1Ø3 qya,`N1ׅH!ǃDT@6C5^$ ("‚U*\hY09 K$&RD `qt ;݆x3 0e! Py[pyGHy %,;@uhn#A$0('׃NM%faĠ(aI%`X)P A!SȒ 1Mm  -ØqJĂD`#0(0%%3 \P5OD* "@"GRj@$L&(R`}@!E(A. ]@VhQ Q A aD`9JSP!(q0)@`P`dJ.0DP;PZ2  $ujJ %`H1&ZftlX݄<D Kp@`cij up80mT `ʠ  }. 0CA  !< `jP,Ȱ$BeB@!LP" jy@ DRxgP# I%/ *p0w$d aNd|D, L,dq0 H` @a1JJ,`+ (` B( NPMUAl *z$p`e@Eq%Ha .$ vHڞG8b S u UQpj#Vd$ؖnDJ#v4Myp8HHHt\h1 `  `B;jJB$^  4 m8  # X  | ^@@S ׀`!0`n0`р` 0)q"hȀpAHRPTzng4d]DZ=CEAickstart. If this happens the only way to correct it is to run Preferences, which resets it, then click on Cancel. Using 1.2 Kickstart =================== Please note: if using version 1.2 of Kickstart then you MUST enter the command setmap usa0 [Return] before running GenAmiga, otherwise your typing will produce gibberish. This only has to be done once, and can be added into your startup-sequence to be done automatically. MonAmiga is not affected by this problem. We apologise Gwfor any inconvenince, and are investigating this incompatibility. To support this command this Workbench disk has extra files c/SetMap and devs/keymap/usa0. Running setmap from Kickstart 1.1 will not work. Last changed: 16th January 1987 to use it see the file 'blink.doc' by entering the command type blink.doc [Return] Using 1.1 Kickstart =================== It is remotely possible for the screen to stay in the 'flashed' state after GenAmiga has flashed it, due to a bug in K G(? ,vt100 SMALLCODE SMALLDATA VERBOSE or better yet, a standard sort of header WITH file that you can append the specifics to the end of the file and save some typing every time you need to create a WITH file. LIBRARY ram:lc.lib ram:amiga.lib SMALLDATA SMALLCODE MAP ram:mymap VERBOSE XREF ram:myxref FROM c.o vt100.0 init.o window.o xmodem.o remote.o kermit.o script.o In the above exmaple you will notice that no TO file was specified. BLINK will atomatically create a TO file for you HFin the current directory with the name of the first module in you FROM list no including the startup routine in this case c.o. So in the above example the executable will be called VT100 without the .o extension. Nice touch EH! ======== Overlays ======== Not supported in this release ========= Map Files ========= MAP are H S X F O PLAIN FANCY MAP [[filename],option,option,...] filename map output file option letter of report to produce (IWsee below) WIDTH n columns allowed in map file (default 80) INDENT n columns to indent on a line (included in width) (default 0) default 0 HEIGHT n lines on a page in map file (0 indicates no pagenation) (default 55) HWIDTH n width of hunk names (default 8) FWIDTH n width of file names (default 16) PWIDTH n width of program unit names (default 8) SWIDTH n width of symbol names (default 8) FANCY flag to allow printer control characters in the map file (this is the default conJ;dition) PLAIN turns off the FANCY option BUFSIZE map: map has sub keywords, they are: h - MapHunk s - MapSym x - MapXref f - MapFile o - MapOvly additionaly it will accept other keywords that can have parameters: width - (1-132) def 80 height - (1-255) def 55 Hwidth - (1-255) def 8 (hunk name width) Fwidth - (1-255) def 16 (file name width) Swidth - (1-255) def 25 (Symbol width) indent - (1-255) def 0 (line indentation) ==================== BLINK ErrorKu<) messages ==================== 1 Parser failure. 2 Pass 1 failure. 4 Coalesce failure. 5 Map failure. 3 Pass 2 failure. 6 Symbol Initialization failure. 200 Out of memory!! 300 Read error on file '%s' 301 Write error on file '%s' 400 *** Break: Blink terminating. 425 Cannot find library %s 426 Cannot find object %s 444 Hunk_Symbol has bad %d symbol %s 445 Invalid HUNK_SYMBOL %s 446 Invalid symbol type %d for %s 447 %s is a load file 448 Invalid hunk #%d 449 No LSDuhunk_end seen for %s 501 Invalid Reloc 8 or 16 reference 502 Distance for Reloc16 > 32768 503 Distance for Reloc8 > 128 504 Distance for Data Reloc16 > 32768 505 Distance for Data Reloc8 > 128 506 Can't locate resolved symbol %s 507 Unknown Symbol type %d 508 Symbol type %d unimplemented 509 Unknown hunk type %d in Pass2 600 Invalid command '%s' 601 %s option specified more than once 602 Unable to open map file '%s' 603 %s is not a valid number 604 with file is not readME{yable 605 Cannot open with file '%s' 606 Unable to open output file '%s' 607 No FROM/ROOT files specified 999 Unknown internal error <<: with file/command line parser Fixed messages so last unresolved reference is not overwritten by VERBOSE messages in PASS2. 6.0 Unreleased Added support for patching reloc16s to allow that -r option of Lattice to used with Blink. Rewrote map sorting algorithm to significantly cut map generation time. Corrected various parser bugs. Added ability to BLINK files linked with ALINK 6.1 Unreleased Added link time to map page headers. Added define statement. Corrected probleO\ms in handling of CHIP and FAST hunk types 6.2 Unreleased Rewrote algorithm for patching reloc16s. Moved map to after pass2. Reduced memory usage by changing required alignment boundary from 4 to 2. Added suppression of dummy entry hunk. Added default TO file logic. 6.3 Unreleased Enhanced algorighm for pathing reloc16s to produce optimal size in two passes. Reduced size of patch jumps to 6 bytes. Added support for allowing startup code to initialize BSS section. Added sP] upport to allow startup code to produce a completely reentrant module to be used with 1.2 resident command. Added minimum size for memory requests to reduce likelyhood of a GURU when system is too tight on memory. If less than 1K contiguous is available, BLINK will terminate. 6.4 Released 22 September 1986 Added cross reference of libraries to the map Major clean up oc return code checking internally Reduced large sections of code Deleted REACH and REALREACH keyword-#ts from parser. Corrected suppressing of dummy entry hunk. Apparent bugs in 6.7 found by HiSoft: If you try a BSR.S to an external the address produced is wrong by 1 byte. Do not try (PC) relative references to externals in separate hunks. BLINK will not report an error, but your program won't run. righm for pathing reloc16s to produce optimal size in two passes. Reduced size of patch jumps to 6 bytes. Added support for allowing startup code to initialize BSS section. Added sR<^o charge is made for its use or distribution 2) This manual is distributed along with the executable module 3) No modifications are made to the executable module Failure to comply with these rules will simply work to convince people that there is no value in producing good freely redistributable software. The latest version of BLINK and our other projects are available from our BBS: Deep Thought (919) 471-6436 Address all correspondence to John Toebes The Software Distillery S: 235 Trillingham Lane Cary NC 27511 Let us know what you do and don't like about it. There are several enhancements that WILL be out in the next major release: * Overlay support * Complete XREF of library references * Additional hunk coalescing features * More finely tuned code =========== Using BLINK =========== Command Line Syntax. -------------------- BLINK is driven by keyword parameters in any order indicating the action to be performed. The basic syntax is: BLINK [FROT'cM][ROOT] files [TO file][WITH file][VER file] [LIBRARY | LIB files][MAP file map_options][XREF file][options] where: file means a single file files means zero or more file names separated by a comma, plus sign or space and the following keywords are recognized: FROM files specifies the object files that are the primary input to the linker. These object files will always be copied to the root of the object module. You must specify at least one object file for the rootUY5. If it appears as the first option to BLINK then the FROM keyword is optional and may be omitted. ROOT is an acceptable synonym for FROM. FROM may be used more than once with the files for each FROM adding to the list of files to be linked. TO file specifies target object module to create. If omitted it defaults to the same name as the first object module listed on a FROM option with its .o suffix removed. WITH file specifies a file containing BLINK command optionsVII to be processed for this link. More than one WITH file may be specified as may WITH files contain WITH statements. The contents of all with files will be treated as if they were specified on the BLINK command line. VER file a destination file to contain all linker output messages. If you do not specify it then all messages go to the terminal. LIBRARY files specifies the files to be scanned as libraries. Only referenced segments from library files will be incluW9Oded in the final object module. LIB is a valid synonym for LIBRARY. XREF file specifies a file to which the cross reference information will be written. If not specified and a cross reference is requested with the MAP option, the cross reference listing will appear as part of the map file. FASTER a do-nothing option that is included only for ALINK compatibility. VERBOSE causes BLINK to print out the names of each file as it processes it. NODEBUG supresses any HX;HUNK_DEBUG, symbol table information or hunk names in the final object file. This is equivalent to the object file that would be produced if STRIPA were run on the final object file SMALLDATA causes all DATA and BSS sections to be Coalesced into a single hunk. This is useful for combining all data hunks from a program into a single hunk - decreasing load time but potentially producing larger hunks that are difficult to scatter load SMALLCODE causes all CODE hunks t Y*o be Coalesced into a single hunk. WIDTH n sets the maximum line length for the map and cross reference listings. This is useful when sending the output to a divice that has different line length requirements. If not specified it defaults to 80. MAP file options - specifies a file to which a map is to be written. options controls which parts of the map will be written. See the MAP section for more information. OVERLAY specifies the start of an overlay tree terminate Z$Ld by a line consisting of a single pound sign '#'. See the OVERLAY section for more information. DEFINE allows for definition or re-definition of a symbol Useful for stubbing yet unwritten routines, resolving unresolved references and link time patches to your code. Possible combinations are: DEFINE symbola = symbolb where you want symbola to be resolved to symbolb and symbolb has been previously defined in your code. DEFINE symbola = some constant where the con [pstant is either a decimal or hexadecimal number. If hexadecimal number is input it must be preceded with a $ sign. ie. DEFINE symbola = $dead or DEFINE symbola = 1234. Example Command Line Usage: --------------------------- BLINK ========== WITH Files ========== Although BLINK is completely compatible with ALINK WITH files the order and format used to input options is quite position independant. FROM files and LIBRARY options can span several lines with or without line  F#Ojcontinuation characters "+". I hope the examples below reflect this remarkable flexability. Gee a tool that is user-friendly. We must be doing something wrong ! Example WITH files ------------------ from c.o vt100.o init.o window.o xmodem.o remote.o kermit.o script.o lib lib:lc.lib lib:amiga.lib verbose smallcode smalldata to vt100 or yet another way FROM c.o vt100.o init.o window.o xmdem.o remote.o kermit.o script.o LIBRARY lib:lc.lib lib:lc.lib MAP ram:vt100.map TO df1:vt100/1]08ɁGzv pAH6m!\ D-H @  Bo  ah;BHXBABLP~)(+fH͙ RI 6T<aT'&IB 5i%4!h|H2Hs`L Aq`a @IPAQ 2H'ACI 0m p c| : BV e@\A/,w̠""/6`d^ Р*@8Ւ&:#C;!; H @AAt%@(Z*-@ J„ (D~J2 rzr D&f 4 8@% N"(*"Eĝz@z` S/pG`'#`,2^H$V_jP*@B&e,7T@@ 8 Q @` J%!`bVe|.):P &. H@H@?0 / mXA" GQcAr `W=  *@@O` N@%X+@ 3_D X: D#h$DH Ih@h 2*P * 0e`<i<0d0C`p%4%25(.Dvk^*W@. 03AHp1"xW''Tu0Q(H_pp a`p`ax(0JD#h$G H@$B abzbhAKU n `9r B6B  MI 2 l!/BDpXPds:YT{1a AT;@3__ @q0`P~ " e'*= B. qP@2 P !E, ^D=IBQ@YX99ED!cp)W!P=p@2 <(&z N T ؁PV9 '(9NP fSaP `0>p( 7C ( |*2 5#feRA P1"AV Qg<&B90S 7 28#c8@ ''*5@P h"A [ @Y + DP` XXx^&ЎP5 >2 /f- 0 QԌh;ʁnt' pӕrEӔI 4`v \ \ `?P$ u?c@f]@1sr` Ta8!"A(@ "O @- H_g @ 8ʹ B"(X PH<p(Pp }(G``!@<P aP@{>BpQ&(K87HEHxp` @@jLӀ~jhhĤP@`bLPj1a 9i1 `h%~(@(c4@!ONUHuC4 GEDEB1A؁؁pARĄb<A$HЋ@"X8f "`(у$0b2)- d7D$P A~\Sq5a  \  A$@xA ˼ a(@J:BCcؒF  ٌ`!!0( %9=9W):v  *&EИ9OҠCP!@<B(< @@,gLEHAԐ@<' v̈ n a$&g63H AĠ0A?`|ZAvc 0P6lRA$^A: br "Pb(C@;`dPQu? " \Vx#  `\@'mW@)@P , z 8]B0Pj0Pz e @Dd 0h0  n 'DP 2 g 6bYReF() |c㤖i Np²J@ 88.q@  `hR@(b dH0, x 0(PZ 81 $ "d /RdMH`0@ xT `@`@$XD@38_q$aYA @* %0{ʂޗ 4ِB]_ ~`I>8AEBXA'H{ ppp2 v"kC ES_$EMRfB)> ) E%'_?虝԰UIAqD >Q^V}Z}l(z.7c~ $" $ 00C$) <BBB N3< h ` N @AUD@DD$ra X@9lp A`K`i܂ܢ s`DY HUH,p(a A!L@$@Qd.cd-a` `"LJCR *P$AOTu$8 쀐0~y!<8N:Iq* P9]L^$rr /r;`ps @@@<f%w@G԰ 2O|p 1\}| K!A@sAexA4„ ;ātf0R#% `eCs0!@i)`Nc  hO0"#0ea㲢|l@b#KxႶ3F( 2 $@$$ 1VgJ@:8<8d,40&Aq[  * k!J@3.,0)$ `` PHz  Hij.eC91"B\I0j2b0f '-d"#`& pl`P?C"Ex01J9es@0  >.rj_0QA0S` "P1  400 X2`o`lj(Y`@҄Qmm.ctH> }3A O!Ca@¼C=@Ƽ`#@Z@Z(8 V@Y(0P Yj(D@7 lR@ F !)0z :  P9  P  " ERfBK zz vxxzP4j@A@L)PH@@@ʆA08Q@,Ab2@N0  , x#; p<@98ƒt_aRV((40,h) `%®@eCcky7S'3{w**HuP I`D`,utt2t2w( p;ne;@-   \0r ^`0@G`ʁz``Aiぞ$0H0j0 @W 7 (UQX4 3$5`B %eɈ` pX )I@'  R5F&@0 dx, x 8@A AIE E Q +`h(2$,OpX~z fF+ OP2s E@ @   \L <. L4cAA "@8$H BQ$ O@'WS/#*A``@= @0  (x `% 9FN@^.UZ.  , C@8 {%*'i@AP=p2 < .ArjFЋ@  h0bD@fX"]P!2V@"HQ0\P4.@!0 K RW&A,`q \S(\  ;ʸ(8X#p="J?Ct'@( HҰ4 80D 8#B/g8 4H@  bD" C B ^ P!\ˁ R@R¯ RR׎.`3_p @  HX!)('EHNHz@0a?͂Q@[A 0 0 7@W4À= z@"OrD8 #k| 82Sӕv+m8W B T@.e$dC(  9@"rC?xuH"DbeQs!)JVE, "p tRIz@ Oa:EIGA0@+H$ i}! X? h Eđ Z$ETDC! F0D J HNT@0B0XW# `  RD @aS :MP ++" Eг0@JT/ ;AA`& @, ad(#x QAAB9=9WpA7s- @Q@`!`0`0P  A' Uf`4@@" `a"A0/%,,n Q%*GDP#H <| a@`(P03( @´VЀJN` VPH z9N< v?; PR(!bDA^4@̀""5A  a,0(  a XR4@BD PDv0@P$Kӕuo@W@@"@Pe b Dia*E`@+ (5p@3 M„4@$6/xԼV`<@x<88 <5<48`<5[b@SBŴ;` K? .( r P  X%@<PJ a?@À ۤA ?` A\Cwӕw ɂ@D"zNr#A@-a6@nXs` C@@ ):B. AT @q P!B3% 0@0IP5LHƻf M"Р* +H'.?fPa+$8`4V``'_伿.peK%L:DCn#N@ \ًoX@,@(0d(  z3`@.{W A`Kf :Ľ;A96'$`@eh% 0K`lR31%:uan`8hv-%+X !9%`^ 4 _Nr q+TzDla/6DUăBQ8BV@偄DaɁA;ŻbzlRS2($ ),Q`J @@ p@ElC@9NA\\x@RlT@!`8!PN@( r[@-0( /q&A'qa QHfrjE"΀h^0h;A"/ !H`p:p Pe" M@(    \ \ ˀV ŠWHPb hمыha>Z=HX@*;) o`J,R,["HS nH`Up(=p@2.aXrjA E$CNHJD`h~@ cRu pwR@1T H PA^@) PPMH،a?lƒ )s``B s pP =4 t$(E`A;Ee:J9=9Wxr0*   ^%i8 lC0\DÄ @ $eN:0LQg4/" xq!L=X@.x}=9W`tၥT@(  p xD"ÐNSa@# X&.vvE@IӁ-  "(@@Z3(@wºx8 ( -T D @Ɓ@( PvvDµ 8P Y  Їr 8 @a|P0$h8fXZAB H@ !8H!D7t`A=|a 0Jੀ 4 B@T@R > # ppL  8p`D 341#@$PMVP 'toP !601b$ 1™(9NxBf3f=0u s? 3qPA. H;PL `Lhm@La_ f@ 262x220b@D "`-`4B"9=9W950J&):81@ |A` <480 4>@485@45@4X0b)0P`G) : t80ӕsW @ Rf):x 6pPgb!X1A1X0% 9a@ ae@؁BA)@4"%u (8 ,"P3(h^(ONUM_@S|(p0$+ U b*!(3&x0_@7D`%՞ ue@`P5 g P4 0f4G@l@)@(D*H % _Xh*P s`2(  A2 0,u4˚@= OQ@W3ʹ0äVd+ 0 aX@W@@) A InFuWAT@BAr@# A:CA$>@_@"` P (b@'{ b)AL)Tp @&` X6KB^!!EFO^@#BD@1  `A1 @&: ~x$C A,@ H@)@ aAU APbUA(7#J BU[(@ % B>t5 * % @-H p®p%X p APvnd`@' Ah0@x[E@&k !@"I@@#` 0(Y H PD6L5P ` hLp5 ` xz`@'!Fl# 0 #0 ^@@'Z,8K2 v;0  hT;0 @`@r,D P p2p PJ p Ax@DAL@#CAMWPOA$*E@!  :@N@%   t 8x T@H8#  `(B" . !8S  @(0 P  X^CA'W \,mLmA.ch\ t*hlijb` @w 9pP5P0E0 *h9: M5 &&   F&6N.ƖfƆ.v( Ю @jPli$!r P 40X$ IH :YzHRb@7L8p5KHp5MBJL(E Ihl< B *:;(AI %@sx\( b^ D SH0! (F SH0qE SBH01 ,G SI8 @3 3rA@ &h`L40 F!c qƆCB``LI40 "3M YfijCb9@<0$F_g_lh(@h@a@' @BPZ((X$ xZ"h1 ? # Pz(sS3 x( Ϡ>D@ 0̿ߔ" ]!a @-@0@`Za p H% 0@``Qe8a3 hDxh%` < , <  `# p H@`M0 ! {? C7Wk#瓣{H:  @ (L@% p p\GN@"z7 (  ,SH@*@  tMM@@) P Y@@( @L   ^E` A AC@!|$E` A@@A@@A! b@B \ OPˁ VAp3( A"p Y FVtDBl4x:r0trcQB\T&0`r 03  `Ҁ@/0`y   A'@95!b!0Ju b0ũ$|FE%%ݠGhAX p,  ;  Hx )z@"iDDXԃD*ՃDp1Kp0@@DE@ڴW!Dd^A%t&B#@,8`j@8%@A- 0@*F*S \UE)AZ?ؐPB(  a#4 @$ D!   えy=%@ PB C0RfhRcHBDX4G`@&HtJr⅀5]"p@'@  @0J@! 0P$) c  f \ \ O/rj Nb%g&2B6H @T& #1p@BSa@a Z! b ,TzAҨ\U KA;az:D܅4`a? ^lA"H0Hb V&qo8 # (AINƠ  eabRHD J FoAR/4p4@`GNA0@H ^&_d𜞜\x E`@ AAI %'MH;Juds" A A060>P?GH3O 4s€hCAJ E(#p(z*A@AhMP `%A DHZARRl! ʁR0D J HNHH #)4P^8ĭ ~RoM ;A~"y{% EJ 12$ RJ NNHЌz H^(+1D ^ +Z]P>S@ZF\A`O0@K@)@  @. 0p3@(@$N@@.  I0@Bt. @Rptd: `@' pX@+  0l40  `*8bf@I/^@@+ @" $0 p B@>@RZ@@!  X:W@% @ A (x h@0B! A :uH B > p үC8/ h J@(  H @(H0  H,DP @$@ T" @R  @" s + `|( @Blh% AT@Q@1 @@ P 0 `@)@ Xp A0/@2 @R%`\pLAX4W@/ AD`Rx9 0 `@. E UP  h@@$ P ,`d'` ` Xxd<p   D$* @T @ !R2EM@@"B&09U@H%@$€Zp% #SP@ `A`/ 6D)h/0!x  ,* @ @ @! !0W` C$H pp}K@ @) @ `HL!E@AD![@$` 0 ;\,& 0Y@@ ` @/ @  & A+ {W@- P@` A 8]@6 $z@!\ t<2mA0IH'ԚЀt@N@$ _LD@, P J'pQ ,8 CZ @' @@P) E 0`{0`0>@@%AH=X@) P %06` p 0-03V2 =H'A& j @)00  nC(|,x  `) R6.'DLmܡɊ`9XA` Fa!@rt68 L< OJBb0p@ahx@fȰlX- 6751(7uvu3tu0"w``t``(ࠀ L!c1@!P7obFojb`9PP6 T0@$X@ ei/%#– p@qfZAv.RCJ`6FL y@Ap Rf&g'jaC;r`s v] 6Q y%Q%5&:fa{O'Ks 8sT2pqu2t63&`H'hcil`G/bf* ̀/)-qD ېL -Ll,mL `@' XPx/<`80m&bPC  s0]:vP\H Rf)0@ 9R@'*4:s2(aU@@d IC@+`YP\A@}( x`R?UJu  RT" !pƉJX)(%  @0 ) " \\ĮQb/$:@KACzC,rJz 8TrAB\Ĺ?X8H  N@Ar!Jr@a/AX( @(@ X p  @@Q@Ax@ @v  A2 P `R J p  Zp0,ptBA`'Tb F l+ 0 N L A$,$NB`G"P  :2T  F  A$$x[@Ӏ@/'+dP CD pV RBA*BB"?-X0`@,w q$@)3 0hC Ap@( )P_f@@lxP^*W&3p&(N+ i\k~P03b @A1P`DV!]D)`fJ%<C9N@P$&  x0E\&h(@ʀ%@qd @[(3@044HL $+d \L ^ 9AISl(( C< >6ĐIJAU;2W@P0N.d($!)0 Qu*@Rn ?k2!I1 OJI @@ H@@qD!@NGN!FЬB\,:.(痸38'@;X83t;7yZ'P?@ f+O|hE N0GD` aHfB`>@Щ5AegA`9C X7" 4 K :P= Yo/p` U`-xhP\`B)`nRa  f 0I@ 6#^8,00O 3 P?( x4.XJI,:*K QqLxD(" HD) BI *\@ ex `F%@ P-T( $B˜xpNQ 8%c$P1=@ǨZ5  @ep  (8&2&\PFKСxSZ E( ?@ԃpNG%=C9N@Q! #?7TCtQ)qE " h ȔE@ B pq0Nc^80( x@+0u$ f,p5T6 P40dP2Ipf r_D!Pm :OQE'*P2((!`:~8p ip (!\m1 H# t8w @CIP` A@dn E( SdƼp&Tb9(WqT$T`m,Tg``f`:8`bzXd `e @׊@׊Uz^)$B h $W RH5z 8T*)`i3hAA@$  X ('fp *aN5aM1A5"P E( qq I͈J~BX" R b [!XAD R H7R\4 5- 4 R E( axp*@iH@@J8"C\PE+$`HL¬bP 6 d&Q (8*c"H5%"(I AU;q :!]J:.G*2B @Pt~P0B3b @Cr6u:R7*D @V5Alq&F~&n%rN!;B@\@!P2H03q/@ ^$D@ *(gh \QqLXD(8._HPP er~ c~^6 o6a^&_xp@8H V`&mN xV@#  h x"PD0xDHdD0|DdD0zDH`D0qDHo.mrkL t rxA&N`e@l*00% q~A81@ 4s"!@Ӂ@CP) `:` 0H@1q`s`P@ (k RP   RPISD!JA*z, W 0pcU8 "fQC@@agg[5 9+P6px2:@JH@ nXSDC4@ RAOu@!y{`aV`X@/x @4'  RPNS"8u@å=04X@@ 0= 8!!y Ck-I,€Q|x" P @I@Yd bT01.<`#6@3 e2 NEŒ bzeP( +`A0@@@@€Q $=H;(?l;'1 @~@ ⁧J0*j`̡: Œ bBQTWNg I P b!Bx>@\Xc8C$ e '2@$  p5⁁ R 3@B`3 M(R x*| D@ pPp( v>A@R@ &9A _T @S@@LD  lX+\0 CY'0(P* 0p.A0=B )J<|ğ"X@ @)qȠTcrP$E( ($"bjdB T ;  RqLU#@ٔ=TC + h,C$  x V@઀0*Zj !@Dh8+X$$ pP@_&(  ' | @CVh( 8 s;T )`*BN "O5q09OpD ` QbB RPD J pZ k |HHB J@/`(p08@ PA$   BE@@#  p@ Bb !•@@`! D@ A Y@- @4@  Z,  @ ^Af6N J*\P :\b FNv.' I@@Ɂ<@ *J.RZp @XlmAlER&@eRP\ PO/ x sV!.x0_)3 (1H , IJ1r ku|"* L La d0dW06OP6- r`j! RP")HY)('@ pD@1GrxP>>!.x0C zJ<,9L(Pcp ~ ,!1;h0K/@'*&~@S * B n `8dp-  PDvB%&L W@Jx9N@XP@  @B=/(A/A!B 78A32;1fN鄈_gB9B@qn>\XHQE 0R2rrzrrjo &`r CT 4B Ґ  n `8dp- PDv@%&Lu %=AU\@ ADT@P@!7^A0 $ І?w0 D2بĐ&.5:80Zx 0j/hh B Y ׄ#ӕs 1RꁓT$@ Rf,T@@ P@  0 80@ HD  rr`d8ӕsU/|v@}',*SP 8GC3CCUCS /CS@CSCCCtClMI`H ١T P0 +ӕsWo)3 ?`l q@8 l8j@l% XpbBTO,`%e!'b,B@b7p4N 8B!!h%i%ځʤ̡V"3CS27rzrrj &`r neHa ȃ( ֲ  D EnA2 vADD uRS"4;QDD@ xXHH *@<;Ah49h ,@#OPVb.;.5@.P005fW('*& Rf)4I `@]@ 0d9a@ aeB)"%w$D v} BAD 8Y#OVg6 k!W2%`g('*&~@X^( +A(04@ąJm P"4OGD"I D =N +ʹɫ @L>F;A3zN`H낗 #C>UH! -PBt(^ Xɫ &`r!a\)\ONUL̠@/ #tst, $F=  Rz`PY)76@ Q@"@i J`Qg,/%|h@KA@)ݠ M`Ā"@ h6@H5 f`f@DD@}ɁzZ Iui A05.t0HV 1APBpCapAd2sOv 8 APrG* m*He*  \Ƌ &`r"!Px0NF-(I0 # `H !HI(H* P lBs0)`0Y p/8zxM.WӕsW_)3 wh%(E)0Pޓ`@"0/p\ϐz|Ő*(׊ 3'&U`H2 P lG¸s0):f`EԶ aInь@pJ `H8@ kO9C +ʹɫA@@F?`ìuP*p!7t`A=8. 8& ) ({ RPD J  T@/I0 # k |HH 26fr@phP3 33`3 (  Bp-Q<(@@E@/P `PH8]  e` OGO!00~^<0`0A'0X@  e@zNAYQ ^7vĀD( Pgc<68 33Ab8P!@P fP (0( `0  p (xx>"H8] e`  G (sAC2C@`|@@La@ ae!H2uC> @Ƽ`Q(Ё\ϐAC 9=9W~q09O0 H     @4     ⁌Ёаtl  T AbA@` 4Jɩ @L>CB g cd}; '`  Y8׊b(^@$ yO 4Iq`pW`u@e'oq,(^4*( "-@ܦa$(>cg"9:=95A L ,D R RPHpD@3h k <%b0O  4@ ܞ)D4 20p8`g*&:_)3J@ɀ@ Ԁy8D@D@€EU 39 4"P?/p B0 PBlB@zǃ< d  " L" 3ӡ@01OŠ0@ p]86H")HnLGBaA@#@T(K(h.  x6h3+\ 3P af@hi zC#H À `ܫ1@АM'* $ $Anruk`A @Ax~RUP P l` #1 GJcWfOЀQ @oa?A3_@,ڣ!GAlB.*` $XBl"h<AǡtBBUU;`"AZ0 ^EJ@X8! &AiAEp|$E@EJ%?C$nDi$$U4rc+7#X6t:4=΁u#{ckg3'SSX(PxY8ی23.MTZP@Ι;/7cP#{[[bp 0<`K P*T@=K%M :T0qpt6"N"*A҆NvE̸+:V53=jkdtS1MaD`P0+t1 UtT U0,docjJFy ԴXU=٘*ۙ&y6r `D@B'` @Ƚ&Hb`cj4RР L;-[0r yAwK {Wy%qpW0. Le*VR؆!t2Nԥ0聢@(jk L`ˁ00#p&  8KP`a A.pI<  |) $('_*P8`L:D@nQKfPAZё  1O3Ipq}Άڞ}U5յm}`Wד#3s#I`H<"Kr.qj|ܪņPNY[(F04RL~@:inl|rtrRQ\--QNJIM@QpR|Ttq&HJJAQlMWK_~)kVlLZBb~BvVv~X~OW~ɼI<>p8|>p8|>p8|>p8|>p8|>p8#p (l, tD& Y `A+?V@@@, P .x WA./bx&XZ@:  4D@!@ 0<A\@@%  *$ LV[a\ :< lNX@@! (mX@!` 8$dJp `@!;oM@ B@FK@& *.P3 YA'D@% @8VU@@%C@c^AP GB^@#K& h< (V ZT@@- P LV@C 6  fL@AHZ@' @ .@@@. p 0@`" XO\@%  8& P D   @A`uM3U@$BR[@& `@)  I>lP@"@ `HB @(  O,R@#@  @!NQ@A$I Ð= !Fa^l `++ P@"` X]A,D@!A!@U@%  P\Al@`" 2 (n @/ W  /P `P4^@@" 0 \|8S@'   Ph~@# ~`@( P hF3<4  @h\QGn0  a\0 0P  l(  $B D@.` @&Hb]@"  (t!D,4B(0\,0 P!<@ " @% T\(d2p @( V,EY,2FH^  C`@% )DAc @$  d  06[@+  4#I@* 9 D,xY pK @#   h[@@&`  &CX(K@/  PIY@@# 0 XhkAV@`" $M@'Alp@X@+@ ` pR5B@ C z_@- `@"  (3, gd+ P @_@$@ ` p"qA@@& \}QA. X@&  6 (~MAn7V@&  2<+D6p- yV_@+ |AA>K@"  (/X@H @/  ,$:Op !D@.  d*U@- P6dO J@+ @ D@@.  (4 Ȏ O뀂k)wF3<4  @h\QGn0  a\0 0P  l(  $B D@.` @&Hb]@"  (t!D,4B(0\,0 P!<@ " @% T\(d2p @( V\( qO} #(D#`4cȼ@@   @ 1(D0@( 8 Lb:t4P?I80=.Z p (;`PBP8 xM x~,-%K H* A`dYLJ  @#Ap(G 8H"@ aIKȒ*SVA/uyqB4\<\zO] \@.`Thr&H HP$@    ?("  <~e\Hy,FD҂% 4@"N!S '4PP@F$eiw  P@(&"^lp !pf />`ЪW0L9Ar LQE$1S %!"B I%>O $Ǚ`C P ",t@d? @I M@AP=yp0„B`J & BAV pqyP23*$ADDD*INC \J  A (@H f <(4D%   (&$ <Hyd@hJ&$@@@@@sE P>ъW35 + B:/ ,^ (m;A`AB~YL vDiB  E 36 <P̂P ` 1F2 ]Xەr .@)`R."06p3qA+b"l:ƒP !t!P0*?@աA N!NUfБAP4,0EapKa@UÏ4 t=1A#H ׎"|>_02 @0(!A/PSKiBxuBV@M }64!i@9`r $b`:XS $|`` 3($Hzc"*O@ '/A`/ AAN?O`PPTSN`T$p< p&u8oA,Ap'#4B0pK@H@0$Đ" l" m(#X(_0 1  <մn(E~N Gt%@ߙ9`??9`h`pb 8haP`DC'8TH.GS$XhT;4rHyd,@Aؐ Ppa@?kT_ -6A,AB40B+O~2g ([ xL: &=lj }уy uH + а7 8A'D&٢hPB0 +\0 y 83 %"+RTW2@"f` A 8"* pq Ju8CA@!4&"D(Y3x6" b(8]C'DCaN&ar @D $b>HP5IQ5ȴ0$H=  }QB ~-zɨ?t*I P ,B e?FhN'  ƅ:25R?|=r A1\5)v  v"@! UQ` c0 gP`+P&LR 8$p`8 P^ ;@CrUB[Ё:`@ X@΀&K pH8 B1pJ@@hB. t7."$8 d. ApppY@ F&i<8bl K` UM<%<): Aa75nB@ J$" 0 | Bp @[ @`@d`Ȅ V @KM D`YA R(Š6 cQ $,  L(.@P0h:"Z -8ZHr <C &`ROAX-0BT`!XhxDHAHl2 m*a(ZD@@Ju b DT  BrB3 zb>` 0P"f@(  ;D񁒳0ԈZLHH m// \ bC2!أ"(P)E'/"3X Fq 4D, Ml"!2 `F 5k` C` Ah+URH!PPU" af!H)!0nݣeFv%^>4 l> 9|f(̎ +\08a"_S7؀`BA `a\0Kb,= 8BT^-A M!s*? Ct2Rd0cd8D:(%(BB$J8 B: ]@ #Dm 96$ &40ώ@"R?@ AGZ` @0 X HK0"a/-D00J& Q %ZWLC(@q '@` I &h@0%(N(@ B@د'`q6HÄ4@ bĠcD Z Z(`V9" (X#@@RFY@rjj 22**2dAQ/ bN 4X F$0ܢ:@ @ @=@+p:1) cK;@tWwOT2sr`)@   ` ` Ô]e> QQʌT@,@^ ! P@dAqJ1H13fXeAW88$2@xG$AB*T-€]Á0#F(hC$&1S*P s  a#ܫܻ ܋@!=E`TR $7T6"d,"0b-Ea+AeDIJʰ!ya=Fu7 V"S*?0O&YyX`L$Ia1rjf k V\"$ q2)0֩ @(^Pܛ>Oe5!Q2"0 º H P "R 2 D@<͉ B 5AP@PZ`L,`l`[0A '8q .Z P,HX`Qx@`5Da sA< A( 0 ځAO@#(,D@d  Q0J & *C8 <%j$D@A$ j8 " @4 KW%YjP\ T*T<(<:@RqF0ARph "'D!@p& LLu $ ,3 QsC""C">pX ,`PP( P=`'$%!Є8g}_l뢴ڐ`\U(.J @,BD @ t+BT }KX T ` :,ăA`%@c)J AW<%3@pR@R,ԐLUxAb)Dpx<*, Qw z0Cp)q+`[0Z@N!PgP.ݠ!$1@B(CP, A x> ! H t 0@ -% G ,TДp' \ZذP%t ATWG2IR\  ,͠7Ɵ"8fC$+C"<)*{΅Kwq0%f@"@Y@*TAJ?F @KS#B@z AL&HpHh HhSР!9T*0$7@%@ @_)02%0YN(PX`*U,u4_yx +@;B`Dh@aPR}C@2H$E .Cza@`v+X! ) 8OR @͔ aI ԘA ` Ka(Erj @ $$ @`C\ r oHN*@$ ! P8dpD ! Ixa*  !)q+`A"`T C@) B)  <j 'B  i>bP1D$AB2 cP0 "Pfh,$D @a@AX@P@PP@P@W @4 lR H EHr h(SHBQ'8;A@`I Аy!!`cSdBDp7"ED H!@\`LPl(`" 8PB@IT0 ?щbAR H! `GX&A@f% F &Հ? :]dNg%<"nx0!U$$P8d h( HbCdseID UO * &Q!F!qGjl P>} &` aQÀBEBGB af hLM0 *Gp P0B`)pH(#"s:' M+ApH !T* Oa|g$A@B~ A`V@AP@$τ"^DBH АA&V@`@p``!aaбЀPxy_@JԠoaU$5@dtd* P[ y5H iP@EYA$  FZ,  X* TTJ p\l"fh!60ObBA/"AH(S Bh# H$@3`+*)O2Ix`@+@XH/h.  *YH ! 8~efD4 P\ gA6 `AsB0 p!pH5Uh , 0 E0 S    (̀  EplA k} fH Bx *@AG*(0 DQ$jtKCMHPhNxSsDd!aN @@ "0&A>@"X *`0EDa1ÁO XQ'g?RBHT$,N@٘tDh x+< !pUrHt) {l0a((B=ph4D SCΡP KP"Xe,P@xPNeR@ڀ! O%BE {Qy8fGbHЋqXlA/uli8hi uvAΠ_DSep~蝔q*F_P4h/h6P`0$WТA0О$BX(. 4 A{<@)_' Y@(8(K2,+(`-\9"~% Aी8<D@ˀ)HC h OUAhA!Jod @ S8:>@ f[z }Q /^X@3A)Ap` IPQ $  h h RDR20 (k [" *)Q0&; @ !,$%EE * .?z.7.4@.04® !0 "(P@P #& @xq-: fac5%υI%Ff : z#^H d0 $ )  }@ v&h`i  0/  5ć0`"O<l 8@L  $A@R¦PKJ`!@t@I % v2 /JD1th$`4TN@ nno%T T4@ b@3Az-c`"2Aa>r4@@m ,@H@ P4~@o '@0BLt@0Ap R y l m!B@BBaB8T@B`>`FAA$@ EO8<PB&@Ӡa( P6PP"!QaHp@ @}\E 0!^>0p@Qр@1<%!]@9 1x@c3r"  1,@P8(\ FРkZ`,@0K X UAD@ p*8$&,6@,04$  ʴ0u!aj]AWlcH L oJ l /4D"`Q IP_sa] 8DAD" p$   qvq/C B&$G6@D/NUh8T#j8K(P)q Q4 #[X ;DXP` 0Pp@_(%GPHTdH P8P D)ZNAXL !-H(:ؠPH(P7V@C:: KOe `)HQ aƏ 4 " D+ RSA/҆*f#n]UWсPX 0@@   O2WS܀T` 0063 (b(  <.@@S ;p ; +H4PxܡE)huD3`P B0Ӛ +@y,lBzA N 5? Ac!\p]`!0  A4& C  !|@r4 %' _N(PT4q8CМb`4B" \[́"N\4  H68-)qAVu!B;aA-3BrJO`0h 2%8@ ̀ ?B@P @T/U@ KfphjF!=]_$ $d A@u,"("4I@7DQz DA4+H$m fane2rvfabeLrBDad6DrfaNQQ`8rx`ra@ m gra062<` 2< BTB6aSJ QmNu DNuSABB3f DQNu804@P9C\, x0Gn aP8ENpиi@b*=NFlh<@ "Z.E6B@`4AxvHpr by@Lp T SP( ZPD@ hIi:! G20('PKK` dS0иI YOhN-ph4C|  K 7ИVԪ?U`i"@@BШ lR+e@3O[<  A"rfclą$@C@#\ )%8 ?4X`_  >r80N0Am I آ K$Hʒ8H}xǣO 50A'!03t6Euq}H]-c@ p ǥ7x/}(&H+9KI(&蜢0AA6_ @ ^PhH6I@@. a b21= B$ 8I8 IX % &K$!!e!b"G @(0 9@ *Ƴ* `H qЊ00 51~ HE1<@ |(v C @T8>SJg Ha   l5`67*L=QJPJxqw'i @ /`E2R8AP6I/!(_pKI0ѠD,"hHO.0\T b EaI` -& HJ" )HD4>0*9Dx:G"LNp @) !1 с  0 51 PB Uܫ@ L(^?`@P)@$(  `NJAC' "H`114Ab4IeQQSx$ N ~*U#h2C Nf C t@Z(U CIP2D("L ȥ"b>66q¥h("Q !b? XFI H`a(!ˆ< oM0sBp0ChS @ \P qRXiB0h҈XQpr!N!@:AA8t Aq O' LI ``/KN `A@'Q Pva@= /@/ *0&` `*@K /P  @Q ! , `%z p# Ƞ0 #HJ.`PF^*"ƝP.(#b m="f9At&"aW'\<( $( 06" N6j(KHD 0+„Bp0T` T@ |)1` 1D/c|R @ HIHUKB*dE!LT r?{T"[vIH 6t*a *A" ` !DKp8'0U! BE N@'A! { ?RUճ`S! RB,0 (` Y @8_0*pc18(0 "LC0&(r6 C Qzc x.!P d@SBHB2B`f@r`! £I 1v  " Ȉ2s .D%<ƊLDL 0&4"( `@7#58Bl VF b0x210 8OaS=0R' !@ XOРh3b3 &@`(d9"!%aTT!\IR8)`hCt3 P&)4+!THʺ<( 3B!`~”B$`%bҿ3_{D}AP iO*<@,jFn B"6DHDH˰uWO` N &D>/ PR\@CP`T*( 8 (%$4_l (.U( ehR/&@L`h" z%|*Th1&D ) 0ʘ|>Z@@<4L  A` I@*phPLx lT.(@@t@@@P.  Q €I Y C .HA   `pX322ğC0NP>* H $+"8$X,Dh )l kdPFX`/h()@U=BLxs4('(= AӢ)XQXS(H 2@@ڃB*EJB+p$ d AgP m؂l`,!?9FKG0S( 4&@  @D ̀ S^@z , T ' A E oPq@X@ %( $,4WXFՄ8p> #!0 * $!a8O`D84 <+$"( @ ,$(,Zq6 '8[uP8? h$(x42+034  C!|(9@ !'PЁ遗遵AʁBcDaYe(aY=(D>eA` (1P50 P VnaD@W$``l0Nx b0'`p@ +8?9 @ ~ ^P7hN8 0%JFP@  iT` \(HĀopHQxJ :!PS訒@,@hC@(X_r?!N\THHPr)h*0 Sxp ? -/C _$>B@!O"ˆ 1<.T @X%b0 @L 03 P@y@q`-HDf@"@A80T0|z8a0[ 8p+aZ\@ 3 E D=pDQ`Xy}aR " Af,P 0dm i*h\ c4Cba*A@[B8D7L<$p0"b 5'Fq8A"pe?A ΆB$ 1<.(T @A<*APPL/*,4S(H.A8 TiIpbJt)t` O x Q)<@POFH?!PP# IЂ4h ą!QA2BE>@a `"h tbPJ@° W CÁ d2 #%00В(!I ȄA @<A0yC#—d U^H:(7 Ä  ahbG\@06@ @H)AAA 5 Oo  ⥄~ɠ%L$A @%a `bRV#   F $\X1`44l<P:@`(0L!J [ PlD@!@ P@  H(t%DW6ed< 0~P(` TVAf8B [bdH[b H4@ZTL P34!Pb쓀S` TDP(1 D#S@7p!HkEPd dP\Ke ]r!(IAp)A%$P^ p* F  B@lP>M"A )BHuJ&rchrEc3!?@ JL q*Bvf>`+!p  < ?A l X `AA!B, %P @E (x(E@L e(p+_16I@X( <T: 58@!Ȣ)QĩVR !)^Q"$@H,b$:\ "й ,n$Ȉ`kb H=l B `HL<&@w#( <`"pǀ вCSP3 #g* tD`< 0L<@5BA3D@@Bw@T(00! d+1RQ@@@X"(k1 #8@ 8:HFaz5G@ApΐB=4J@`@hoH 0 P;7tp8qU 2Q" @@6<@0N  4YXilAm0C[-!Na0 ٱ|t(aZ@ 1Cچ@0AP!xC !PA0 М f- r  Xf0 $O988  1 JY0 < Di> ̀)!ɘT x0B" qȠ@ .#'<8 )Mj9TK@(3 @` + a @E AnI {QzD!@ g5g( P 1H )lB[v(w|@3s1%q@p _hL&1%AR3My$y$OPkh0D(@,@Tu$*` m`Ua UY s Nfp`@k *U2@ @89{ !_ (nj 0bPKz!@@DDF(hEH0 Cs NC\D }䲉Rpg)RdZDD H͐ 舱` <(R@aeP A %!P->[ . 1x;*~,L|@XT (!3 !< $c(`p`JktIE |Ry0Ĉ0f0A aDK؃ ~ɆA l@f-2( i _"@$ T@, M@5!YA!xb0U$-M@NFD'(mYWDE bT@  (dU K*.Ged&N89ԡ@$AaypQꝸPB@Yc HYTHZ h Ĩ 5DAl/TDT4d XVAHAQD/E@6",*!"kY@iI)R(+*, !.N@ x )ʊ) ((Kȫʈu2t @ "@`@04/`h`&.]`08 x T&G@A$@H\!HdU@& @`0XlW@' 9AN@dD8@v!0@q`\@u`T@sDX@wP@p@^8pZ`14@~@D8@y@P!0@}0,@@n aq<@@j $! "@@l $AI2@@h (4PL`5rixN.ں L,mȃ x{ @2 %4 !%#"֡qEuQ%MUIyo_F&fAe1q )i."$eccRvNTHXXlZd@d(䥭qd dR0bBx9C@A@& R'PX2=euX"[\ F 3Z@ 8AX/> ;Cv,D{/c)H!l$1bԈB$8c@X2d'g`dl J8<\ A2d@H}V`Dr206ED00w@@)CT?n@3{k 6ҒV #dP&!I= 01!dJ ?Lt26LPSspVP}8%1R@\ )e%J1Y5fňH|p4+1v$C';g'c @Q>c`"\bFNְ tʝ- ڴխU:;;и6kb "`zN` MiDq*r C-s^7!H%Ss)$哐 eMl , (&[2!0pȤA^BԦ^ׅErKCFX@s:`0@tH󝳙:."!68#YA 6P0ya ج :4vH%vIS ) x9ة9#ohRP,L\-Kcu:[%ciژ$yecnL̍8Z s2u1i$P2V&RU? .VP(`ЀCka.h;C⥱@8 7 EN!N̆ @𽭃uSW)*aRr m\E(:(bbdbxIT KgCggS[#$ &qt2qtAS;]mS'K{]` 6v&A2qXM{W'w0MCX 6TEIPV^N@TFAVJ90=: `4N@+0/U/ifh!44 QqrjbF,/[00X470 ÕLqSCN)+d0/*WATZ @!HN@( @Z@/@ @"  H:Y@! A D@@+ P (z@%B]@%  HZA +H@) 0D3 P  x30  l0(@`+ LV+ HHaT@@) P  &Gü`xH@-@ ` pj]C~@PZ@+ @ pxBL@)@ !D9E@@. |@ (L~L@@! (4 /ڟa ^A<H@%  PX\X@!CjQ@@" P h2¼H  2I@*  PS@@#  o! @Ha @& Xa @) aEaT@! p8Q @)  Q@&@  nP@@$ˆkmP@!`  $F@R@#Cqt8:Ah Z@@(  l.  #|D@.@  $$$ P LkHwpM@)  P^A@AR:Ip@@ )#4|WATZ @!HN@( @Z@/@ @"  H:Y@! A D@@+ P (z@%B]@%  HZA +H@) 0D3 P  x30  l0(@`+ LV+ HHaT@@) P  &Gü`xH@-@ ` pj]C~@PZ@+ @ pxBL@)@ !D9E@@. |@ (L~L@@! (4 / 4@A(O,@@ xPbPY   #8  F<Z,MhA”?9, yR 72y5|AQLB*,>*8L W2Btc3E 3!TT    nqa 1A( ~ ; `V)" `0 - ?wBR)Ky{0ED*)OʃBҐa Pp % 06 4k0 z0Ap*H 3 L` AN@,H#1G ,$'b"V 2`:Li0&̖DK*G4M؋@~ @/KP x H/fxC@@8%lWYύ' d@@ 􋖈x^<A" D- !.O  F>im%B|&( V`FS)DF@ 6  @t @x@,c@S * p& p .L BsA00f~2& @ d TA `8 PztG@Ф̰ am1b -@D`V '*3%EgpQ)Sz rf@~2(D[ȪPH)h4bZb-  qU$Wj7p80b0< -KF !`@A!ppO?<(` HHD ~N(r@C> X\9PF "| ()<D$ a(@TPXyR$_@(' t 8 < T]̰@m  D hS T@j Y&d`@B0 P@P^!B "FH| XD0 :V&#H@`@0 o fmNk hqJ d@ B @Ҁ̐ vV @jf+4\ ] !DW(8 DDA "gq<2k @wP2r.Ҙ p;B ǀ"p8 `L &@ 4 ѭ]6!u@. (@# `(  0 vR8)< B@A h (_e$ : 0aIL bR> X"@* `E| P-0f\΀0"@aAf9ԡ`9ø a $ ަF ຀  8c C($1`a #,`tX  h 8@@ g# 6bGbIo H@-@ `!@ 8@ pI!eH~҆!GAx 7Yn X 6`0bEd R`) B>* Br bB6@́P 3)z@P >X"p+ C>KB`2 B+RҼh]P) FW*C C sfV/L@17$n@$04%JD*Rb pU1a]dRX bEZ eP=d0bed`"0Ιd!<3d2M$c(@d`(JwcDB v 2Y#$Bp3F[A=@N !VU?k 8&#bg>DA7LU4M}`S P-3/ 0E!=0AHÐ,$SxU/_P$(p  |JkP@<@ O)Yхtv$HM(p aO(Q9 %p9hM)H2AB}v(k0"f{d  A&AĠ\J d94MgӀ`LPb+Z@ +"2)A28 B[@b@H){r ` e`:p6(y Jd &.0 7N~ ud@Ѕf#`, v X0|6^ ~(JbÆl~$0A';" ?ɀhAx (2@G F=0PO 4H"*JH #`0O 4#IL!@IX[(/@ 80:)p-pƌq f(UT)W20`0(&҂P(p^?8:U@P;s`+K,VV@V@HNN;D d ^@ C( i"S#hGP7㣶j(/D  |#p!捊 P50f_0f/J>7 Aoc 10 gD;)nP.'Ab !")I'  ? !(Pq$B Ц`H;IhkI I%3qAN '%dF?g 88 T@BDG1@i2p@q@E (W  +OQ3E, NWB P< < $8B9L  "Bd/`~? % wP(3&e ZEY^+LR Ȓ>1J U&4|fȔU 6ɀo0?&gSd{ :2D }1hs@j(x'3ɀs C52P(@!'c3\pԙ!~  ބ^F &e /`(p @@ @J.0'pv $8i0-XHQ^@>@6@, }pE` "1@HGXPp ́b0_Dp*_% ֪'HotDT #8NBI2($6A:Ay`@JRh@FhpC Ԁxh8fX p0`}@YAb@ S LT@>I c2OPn^-!|.P6GCQ+}x MH%   H>pDPP0 $pSWp"?6As-VpbP+'A0@Pj P kP(=( X"1qҁ8`(` # S'd8OB`B`#` Q8@P4F`p` v@!6sD  pa \  'H?r*BR ( 8  ab?D@B J^qs,bՉ"PW0$i=@D!ZY01NNd0e ~NB肀PԠ . !P!phAxC !.SBB``BrdC.CцBt(J d`F6D> !mH WH0B ·P}0DMDиpq7p@pSI0 $ AL0  ru !ޛ||o a8m$T@l0blZY" 4#9B&`B5 t ! N္pPU0P kP(=( H"} JǰdBhOAP ,`EC4 CY+M2@S@ cAbi`@@@rDFg3Aš^( @ gF | 0013n,yBVyd*$Hp Hfyru #7!odlց20.wțA @ ZGx` 3`H`b1 ֈ3HABĈ}DɃ?b0FBI`O`80`e&h^`HL`8v8lSn  xH'pA: AE/eH " ^& (]A@W/+{ӂ 4"AY :l(ЀPPPB;D Y0A ePB"  `#9#r<Dg `)h)x)d0SEdI H@HVAp0hAd@DA8Id<`9:0Q`30`mĠ pP\ v,U ;@(F a'`;G,U@@ `Ά\A6Ll!d@ !@ȥ09aLi@H+S(쓝,KclnfFn@yiB6 Th=zCF.B6y Ɂ(է<mcljhb,] ¦]l,OZۚJ $PI'fo`HdojQAVp3 k 8sp6.sž6v&gcvDԝ B.aEy@x.TMܨͯ*` !̝lDYB M]( UN^\ _ Y *DM,  \%h  BlhUL<\1ZZ,H7윔ʦg ZFJ(3s]L<ف &񴳱3>AA fL m XXxy@N0+! P dؔ~r0*t6n JA U$PFda@RXpi.,RԲ*I~bBCrg BG0?A]%H@bl̬ HZxP$J(aOR&.r'c "RfN  T0 @a"&,@!b:X"n 쏩u315(I/1 3ގҀ*0NԆ12FФ% B@ضNˊ v f@J5410Э8u2r41t5u0q2ؤ `i^քRFPtP|vvvv&P.N&t&nƦ8|>py0 tH0`  *( 0XN@@" 6'?J@#CiJC?pdTNK D@%` p (@M,(  P,.X@@&  0P`@&  Р>Ft(  dK@+   (AF@@/ PL6 @D$" P@W@ @a MD@%`  8^~8M@'C@U&C@#C@4JR@$ C!H@@*@ ]@'  jM_@@)`  . tW@.@   6X k <+ @hU@#B< T. P$N@@( NW0A@!  |<> L[KXN@( 3]@% @-  b@*@ !6\@@%  ht+K!*f@@@,  H5@@&`  nO2  J CaK ÐKAd8  J\%  8J% PhL^^@@%P(]J@+`  8}@ @&  P<X@&@ @Q@,  -L@)` 8