dillon@POSTGRES.BERKELEY.EDU (Matt Dillon) (09/09/89)
At the very least you can use the demo code to transfer files from one amiga to another via the parallel port at about 17K/sec. At the very most? Maybe somebody will implement a poor man's network? I will eventually make DNet work over the parallel port but don't count on it happenning to quickly. A proper cable is one which connects ONLY D0-D7 and their grounds. VERY ALPHA CODE! but have fun anyway. Source included of course. Comments, Questions are welcome, Arguments to /dev/null :-) All of this is public domain. *please* use the network code however you want! I am going for robustness in this release and didn't spend too much time optimizing the code. -Matt begin 644 parnet.zoo M6D]/(#(N,#`@07)C:&EV92X:``#<I\3]*@```-;___\"``$````````!W*?$ M_0(!>0(``'$````H$]5Z>1B]`@``"`(```$```````````!214%$344````` M````"@`<N",`````I`%`````0"DC*```%3AY0J6(#A`(A]21(Z>,&SIL\H`@ M\Z;,'!!NWM`!`4?.&SAEY$0$$88-FS=CPM`IPS&,G))LRK#A^$;.QH9SWBP< M8U&!`C-I8L[1H2!!G3DA6\P!.:9HFS!CT*1Q4T8ITZ)P7+H(,Z=-@@1C:K*D M2N=.S34</=)!^88-5I=/W;@8DP!H3!!T7KJ98R8D"!1SZ-2!DX9,B@0@V$Q% M>^=%2SDNWKRUB49.G;D)Z%36>08-G#H;5P;^FG@QB,:/(T\630=S6)-IYJ1Y MXP:$X[)O6MP)(Y%U:3>,'6>%+#G!\+A?[;+,&V9O7SD@RN`I,P9T&#$Q?5*1 M>C%V=#QYR[21*;$D'#1A0`2N8\8,"Q!/R;`,8R=,T.MWUZ9]<^9EF_%RS.&" M`D;4A!<:;R"U7W]A_!=2=P^%9-%*9(`P%0AGE$$''5.=<6`9:4`71!MIG!'& M"1?14=(:'>+U1G10H:&`1FCX]88=?FG&TG`PR42330,*I-%RZ&U4'4,.0211 M'CK!=]1&<+0UDXX8:6B6'&B982!(;I#18E9CK*&A@-K5N!](T(7E!E5C<$@; M"&)8689#>)GUEX%MB/5#"B",6")7%J;XXE-BD@0"$4+(4`,(*6%7A@*:J=32 M'$BE:":/)OD8I4T3J92>8E1=1`0,+1!Q`TE=?A@BAA[5T26917WU50M-J$2' M3P$!W*?$_0(!"0L``,T"```H$ZYUT8HX#@``/`@```$```````````!M86-H M:6YE+2YS<&4`%P`<&#`-`&UA8VAI;F4M<W!E8P```*0!0````$`I(R@``!4H M2$"P29`A2)(X*0("BI0G5)X,><($Q!0H188())@`A\4R<.B4:2.FC!P0,7+@ MR#&P8!@Z=-"4N0."2!HV;-ZXV4@02A4A3)(,J?G$H$*!`Y.<L%,&Q!TY:6"6 M<0,B#(@Y<,J,`6'FS4FK<,+("8.S#)L6<+S2`>&F#)T[7M=4=4.F:INJ8M@T MI?-&`8B_(.B,=3/'C$D0:=QTE=/F91J=($J^+3,U,%P0C<>@25QF3M6U8<2\ MJ;,VQHTE+^9HY5H'9QZ_@-&$H3M']IHR=>O,27P&A$XV>0++!.&1S$NK;#A[ MAARS:=BQ9=F`2"N'CHN_5&2O33.'!>R_S:?+><-WS!OI8V9';BJG#E4QP:VZ M\=I8.ITP<^3.KEM[-)NZ<,DAUQU1H3'7:X")]\88G<WA%5><!>8>;[ZY`9QP M>Z711AFCK66>>R+)X<)&V36%U6I1J<:&&2"D1]4<=<!!76DU8!:&9LI%1EJ% M%\IF!X5OO0%"$M^!0(:0\ZVUQGPTH?$&36W4H1D(.85!!I##C9$&6&J!($2+ MZMUWVW5#KO6&&#^.-@=P1;H(@FQTZ669D)EMUI9GYKG1UA@BY0;'7'7!,9X8 MH5T8DQR4Z;A627GH1$:1,;TTY)MA,,66D&.P44<9(R:%F!LBT168D+*-(1<1 M3K@U*@BZ-165;R<]%5535IWP7%O6D5'&CPR>`&N1#FX8$V]DHJJJFV/4(0>B MH/:XGYS();8&"SP&%Z2-.-XYZGUL=)I`$E3-ED=ZJE$K$Z*(;3>'#@(E2,0- M?\DJ$EMIB)$7>V58&1P*B,:10I%$V/"7&_7>"P*B5H*`PHUK_.MNC51&&$8< M=7`7U6,[N4O#7\FU517%%M.!,0@O5$4&&8C.X5EC`I(,0A%/0&&C@`#/D(!Q M]P$LPU\XAP%P##P?!S`,0>=<)*)ZX8?;5?>)E$`/5+YQ1AI;`8T"RFDPY8;# M@.&G6G5+S]%T&4]'/?561%\-E=9<_Y4&&7**_1+99>=T-DH*NX>UUM3"T=I9 M,7J66(M;_EODVW+B&J!<.E2%4\3:#HZXB6-WFN`54B1!!4-0'+1$$52P6R0* M,:20@$ABUU3C?E6I;-)V+$Y^'0JM1J8:'2E0:Y9J4;\!QT`=TPHRH@`66&U5 M5]6'WGG)[089@70]:7F"@*D`@A,0%4%M&BP&[SC"9,0W_-*O<C?=&RK7*V>D M:P5;AFCA(^:98'GP-A!?3D$U+_X;*JRKE3DQ50K(E!WSF4]7(N'3TEC7@ITA MB@[*:DM=$G.E](C,#6>XGW8FU9_6U.5(R`N+J50%ONG]!04R2$%-S!*&^"2/ M+-+)"E3>4)<WL$AD_2.4:FI(E48IBRUN69S)4-8@A<6@!3&HP;\2H+BX##%E MGB&:`<MR!K*84&$S4"'JUD*$C;'.:Z]#3.S@QJF\\4X,MQO@7YY`%3.$X2;* M*L-`D)8OWG414*JCEJ[8T$+D\5$.9SB,#!]3PQMJJ"DZ7!ID?"B'@32Q958B MHLJHQ;HSD$=(I!M@NP#3@DY"KBE,^EC%B`>"3K9@DW^AH])J<H,$J"UKKEK+ M9LZ`AK89:6U-(8(,6*!+7L:`ES`8G:2&Y9FT)(8.U'H7+VO`2QKP<@8M(`+1 MQ-*4O4W%EG<T'QC!5A<SC.<NWIM8Q:XCJ$N:1SH+.QD49]8P8$WE@YVYH&-T MTH)(KA,%OPE.&^8@!GK92T[FR]-N=$4\6ZK2CC1PIZB<$)D\H.Y3TV&86XJT M32YN#`4PDQG+VID@U8@*!D9HZ+PP&C.1ED&%("B@X#QS!S0$YY'Z46<1I2@X M*I*%6@YJ20*HE]$3>(::EUI+&RP&*I,(RBT+_*E,5<;..1R.C*Q\)B]W281? M2O.I<NKB,E'Y,B<0`01/""GF-,<YSX$.*46:0A&\ZJ4L;$YT"<ID0_C((,SP MTY\&LZ%)5R6OID"&"-"\:EQ3"((@N*XZK%188X)3$B/IQ$0::LU]"*:F"Q$H M)D9,@2U1D$407.&-:UE,302&OY*8IW\571H*6N`#&.0N,(?L$-Y4DZ='Q94& M*H0"79O"AKL2[)]^91%\]B>DOE:H)H$-9ER5"`(IF*6.N807"A:['L=Z;#=1 M8L-D'Z,;RQH/!;C=K`U4^-E7B39@JS+M&_IW4-6RMG34PB&'=@0TVCH**0F2 M0D:*D`0K,"0(#3$K%;@JU_*&]D'O2J]6UDNKP_9)8:QU;7QC2]^K+)@NHR.L M<Q.VSW[^]E[%VEB44M?8U-8EG9)<F5@:!JB!=!BO<AJQ4%\R)48",4B07.H< MR)0$%B6)6@^,8"EC,!`4)&DO&[Q#4WP$2O+<$I;A<D-P.N0W.G@F#V[9;&<- M^S4N"FQAIG+!=4*IY*J@:V\44@^52;-9W'H6M%Q!,+Q*NV#V/E=I)W[O:^4K MV_I>V+:`00%S49"&,\P'7;WU<,'T(EX5.C=I=K0!5W/BNSB?)#QNJ`-)#J/7 MX7;F8&6@6#P5>1(0W01YGI8?J!D$2T#'RWCV+.)&%=9%%9J8@)OQC!D20Y:] M:I,J[VR!#=$B43H4:=:7-9!54FT'LFS*-RP"*1Z3%%'$ZC4\09;#>^I@!L.( MB,`W("^<SSMG(:D7M0YV;VOW3.'26+BVH\.!H_-5EQ=_6"^CRX$*N1S&@(TN M!JY]LWGEK.#3X@O2ZI8P;#?4YW??-ZXQ*!T(L-"#._)K)",IR4EJ_6\-WSG2 M_^YLCTWJ&48YRD9X`+6HQ4;JFFSL#OAI79>7UISW($PN'1H(M'L'!]WUMBF6 MQ-\-KD@Z-Q>!,'$4CJ0RZNLHAG1W^(*@MN<"`I.,Y]L""0C<I\3]`@'A&P`` M4`L``"@3DWG).I@B``"1$````0```````````'!A<BYA<VT`+G-P90`*`!P. MF`````"D`4````!`*2,H```5)$BP`X1!*$&D!&'"I`@3$%">2*$"PDD1*E<D M+@'!Y,D5CD6L.`0AY4D5*DDL3A%(D&5!@RH2)"E"$\0<.GG8E`&!H\6=-')V MHH`31DX8-CK9@(#S1@Z=%"#<E*%SI^D:EP9!Q*2QY,6<,F-`B`GCALQ/,G30 M@$!Q!TV:,6K3S+')YLT=L77H@`@S9DP9.'3"B-&9`BM,F673V$E#ILY1-GGV MDB$3=,Y7,B#:\'4K=0X+$'7@@*#S!D0,&RY<&@9!)$Q@CFFDLBYC)G8:.FG> MN)FCPV4"(3<,(@GBA,B4X4N*@#!)Q;<0&\*)&T>N/*7S&@:#1*F21(IRYLYI M9-_>_?M)$"]`#'GBA$I))LYG&"3C.DS6M6[2B!F\T_7>T6FT449A`^WPFPSS MU>=<#`D&YAP,#8:A6H%9!8$4"&S$5L9<<-2!5!F8A>:"052@48=G>UE6AE,@ MVA08'3O)]1\,+LA$ADZKW>1:C'.1!5I9<BA6AAMKQ9#"B!#)\09I8[RA%!U& M[6;&BCU&I1]_J_EG'VX"U@B%DDPZ"8*,<^0A()1O';5769)1MN$<@NF46H&K M.;%D&3ID146`9;R1UUQSH.$G&YB)L=-7>A7E)YOV?=5D6:FM)D0=9_"651AY MO:$9;F$-248+;YC1`E%CK#$5"&2\L6%42X)0E1QKC&G&FDNBL:)O]P451QT; MPBC':&&8.E=:.V4H&VD@F!'&39$.Y"ANNK$6!!5!L$#$M$$HP!(>9-"6P!=0 M%,70G@+Z2<>VW9KQ;;AR7-O<0-QZ"VY11!`A!;KRLCN$DQG.D9L;,>"K[KQR M[(N47/_*H"W!X_)I;@)DC.$"&PG$`,/%&(-`$*JT8<J&7ESVF1<(=AS%ZUI- MUN'&4PH0[*[&$4^<``E"&%&$Q0&[;"_,$E-,L\TSP)`SNTY,%<1D<D`LL1@) MP$!ANA[K)1555K59V5PHM#&'&""()\9M<Q3V!1%UM-%&'I.J&S/33F_<F-F1 MB5&'&5/*P=+:35-(%!EW+YWWQGNWK"^_".L6@](RPR!X40;WFS#B%"O.TK/_ MJO<$$45H2Z%!1/8`45%2E!$&9BC(;<9G8N0!8]BKB?&&F)ZSVUI@H8^>!PH$ M;LPY"+$7=460,*+0K8Z4H3XWZJIOF/M+G\MQM)N699W'Z)05)O"ZH(O.-[SI M8B_'[[>5<3W!SU\]ONSUU4Y&'@NS6_Z;.B30QAMVE"$S#2C,`4<*UD)XW_\` M9![UK@8"&+0@!C5@R;+8(+,1T*!_`]&=3=QB!KW$!EE:XUI^]H.C@<RO?BY@ M&A%@P`*"%8T.Y=N<BYHBOH$X90[MHU?ZM)>'^'W0?A1SV;18$`3%#40,=&`6 MTT9P`Q:@H(>Y$X-4$N`".%!&66F@F`3=4!I=C8E(<%#2&<SG0?K9CVE'A`'_ M1@C`,MZ'>6<X%7U>$X8SA"$V:WF,76PR%3H0AB5B:$,:F.A$.4!1BLQ['1Q0 M1$406!&.67S#%M^$QR#2H8$/'&$$!8BT-[V@"$^`0F:*LH8?X'&)37SB&P&9 M%2HJ<`X,'&(DVR;!LUGM39X<R!C:`(<0>N^$Y>O?)\O`1U%&D24WC,/$0#"" M&$!0A7G8T&=(92J]F*$IH(&A"X.H@%#Z<93R\Z(PE3("$DI2A51<)E^:R2IG M0O-$+'EA#.6@OMYTL7YM&"819-`"(MS@!4&@9Q!FP((6Y&]_P/3B_58P`QG\ MDW\]-./_F)=0SYFN;J.IHO:N2)J`@I!B.""H0?4W1N@H-"O,(P)T/#<"L21O M6!(=W5HT@X<`E2UW-Y29#JG`0QFH,)^\0U5]EM(4O03E#'+QE45QZ+UZ28&' MAY-@$!CDN37:APQ``0NTB/33H-YJJ#)E5\/*E1=KS4""1)"/H`@U+(?E18&3 MV68"BFDM&TPR*RM@4&S&P(8Z0-4-9WBE9;!*,9'J\H=EB`,3Y2"@LKR5<Z5) MW>H,&5A>W01$GER-=X)`!!`8H3M3H(@0LD"%(B!)".)IPXGT8B@ZZ@4%CX*2 MF!0[H#5AAEB^20``69N9T6Z2#G`!@9]^-<`W(<E.G&HA008"P+3XAXJR"=5H M;*73UQAK5479B;DZ1,T"$?=_R7RDYK()PB&6`&/@)>$1C:10YA6A?G)0'6?R M&AOJ\C4!8;663548,G-5D[!)C2D8\SE&\7PT@%FYPQO-^2OO1*$%/O!A`L0` M!XJY@+#SE2!P<JK@.=1!#&IEZSP/"X()>RY@/P0E?O%HE,$6EF_W;<-\]9N` M(\J@O_\%L$%T58>H8L9?;O!+<^WS7&E&4(6:B0P5]8*&,-3/M'8$T9P6[$A( M6HL&');1$*CPD&5]A45DB.6"17QB#H?SBLO=B1XGHQ/=FH$E/V;>'#15!M>M M#P1E8,-73L"A<4[EE`RDF`.?S.$I5UE%6/[,!ODSIAXAC26SK"733&@TI/%9 M@C*Z3;*@*2`M*Y&7#^XR.-^P71:/X+L6"Z\1^5O>K&C&5#:I0U!`$(0A;$0N M;CA!H@`-H^UQ]XMK!75XQ;M4J)B1><_IP71'EK_2W&$G8_#1.)-(5SG8<@0V M&/6+8[S02Y6*57=YYJ]2JR2EL%9;F?XJDX6XUB*ZV-?4-@CS!"QI`R.802@( MBDZ6!:(D<ID&D[MPAHTYSUV:>`8D#H.)/<7A^IXUTU!>,**>'>USIQND69&W MZ+[":E=OU\(8;B"_;8#'P`Z\+-MEWF0KZYTF!"$EF)/"<HP`D58GISDIKLL; M1#/N1P[1W*1^.`B8ET$K<7`G0;&=I3V>:1DH.*9]Y>>&-_T9=M-A!08_5Z8M M]L,FWUS:Z$XWS[?F<T('?7U#%VS1%0Q$<H^@!EC7^<ZS\EQ684@W:>3MKFQL M:2Y[*M\9US._%19B3..7["7.]-U3;/1WXOK<3U8[\[Z>&:X/NH.W?C:OIZUS M-7NJXDO`LPONL-9()ER"@4I#!3%$&[W@N^IFQSGE'[[N`9.D"%%@[+POXV^$ M'UV@29=OBH.&>IN7&^NU)RP-*JQOC>N^[_\&O,`%#_(4#]_PMD0\$;!3^8A/ M5,X:O!+D/:UK43O\U]:?_4Y<OMVR/U+/D:P!AWMKF4W"*NPF'EU0#"M!3$)A MNV0AP[-)``,C6"N!`]$4MC1]3X95(O1`890"*U!]!G$'P+,3R/)05^4LQ:=W M;<5A)<5:<Q$4FF$;>!51C#4Z>.06)B9S--=*+&12BX4L7X=F7E8:\[-J&@B" M7V<\Y_)C0&9;C%<9>J%<S#052S9OWT(V<),V/-0VS)-:L5$'?K*!<?8&*O4V MKF0Z`5>"@A1R66%_C.470F)K.P!NA"5_!)=_^]=__Z<Q$H1]75=FHG438K$3 M,(`'_8=HM%2&_C=]'2=VA$5PR*1,NG45AK=-Q-0",G!,4_0&G_%'JE8&(5"% MS$<&`?.(>"<S?O5-$I2!)Q6"MH9Q^V:(@20;.K%7CPABD>==NW8QHT9>X&<0 M1&$4'Z(43.$4LC=Q(-)I7A1/2G%0*R!?]71/^=0"^Y1.091FUD<'JD8DF+A8 M+;A.X`,C[G1KN,@:]&1/^*1/_.1/'/5>-*!1!Y5X,192XM%4O1(;KE$Y[.=C M2)<`&550W9A0WU@A$.)0<P-1R.*`X?->,2`#W,A1;?6.!B%2.96,JU*/#_A> M,U53-X4@3;53L>A390!4CV4WT)=#LF,O2'533+5CJ!)58S!5C`610J5YZ/=H MH$=!>J$3HY<Z7;-2CJ=]`V*+%^4]6R4R=.!58"4?GC-69,`A/04@7'6#"4`] MG2A2'!975T17=A4;>76.*BA<Z5B)K!12\0@".CD7`HE2KE*0JS$%4Q$:D_8K M]@@CGQ$&<[=J;:>2JT,'+9!_:TEK'99`!IAK%Q,#H8:*WU=&/!<LA[*(;^E: M'28>T55.*7)EM1:7GS:7=<EKJHB768$H?9E_?PF"PT9-X'8'FA$'472%/]1L MSX9V=ZEU69&6?FEE*T):MU%[EDF6:4!UH%<'??$F:R%@3BA^A4(;+)1$"S=$ MGIESK)<5BA@43;<L>\$&7Q<9="4Z08%B*I0$L_*;.]$8$%@::R8@;A89<49Q M4)('2@F"81F=F>&4`K5?+U:`/Z1'3)2:F'EZ->=D1/!YS.-G@UF:D(6:EYD& MZKE`S^9Y')9,*.)*YZAEB69+C(9"CM:>]*F:ZDF,!I$%13`%GQ$4QB@'1$*( MGS&=;?8&ZS-4@C@"%#I"CFB9G@*AE5F?XA&4DV%\!-,XA0,P<3F@N;1TS).= M>^%&<!0&%;0B',,&8<`^FU>?V)$`G/AL>W>@F`F`"Q9XZ)F9,X>%V0$R;L&3 M%X0A&K(42C(6@Q$99%ECR6F#A<93EJ$?9:9MJT$UFP07&H*561I582:ELN$? MQ&(382`@/GDHI=$M.LH^*L0732('=Y57R+);>M4C;$(L1.(:,$)+(%,:;P!$ M;T0DH+5DS,.<RR4C?X0B=KJC_Z&C<I!&>S$_*I,H@YI>,]JHD=*CJDEU&$>) MA=AOT+=H1--HQ<.J)DH&PL1Y&J8PIHJ9)FA306JK0XI\N:JD<,!W"\:9JI1V M#,AJ;@E:1*JEM3@0U(.B@W,P_J(;Q"J`IB@TB8FLC&D0=:`6;X`&G]$DU/HO MD]A7JTJL+.:B!4JL^&FK.'!\L[IY:Y6/\=IOP6J"7]6K]2JOEW:>]:FO'QJP M5[@:3#"E:;JEI&=D.R$$-?`"H!6?6.:7@8%JW"8FH;(:'-BHV]ECOW4GR^4? M$?L3%U):$D=OF&&C0I6GE=1^M$4F0_)(V2%GI3$D%K9JQJ47!K86P`$5<E$G M3T`1I#FQ;3$DKG(HI_*F/2:9>4%=<U"JZ.FL9%"*N5:7=$F7W"IC&EE5$6F8 M)8`S5XNUXY5UU?:/]L*DK"$>59DL0.&&M!6!2+LR:S$\N.$&Y1@MY[@\/W8? M/Y$6D3FTA7FN\%5$]L1A/><U8%--EFF"<=F>_\<2<N9LQ]J>AMN2/\<2V#JX M),D\"WBQ2A$;VK8IYMJJ\(6`O`F:K*BC.N94H^F6!H9_D)*MB(FU>!B`DENU MI_BXMCN`A`N7/<J:YL=P64MMK2=IVH9Y>0BPA:="9]`JY#>1\*5T$1:C9G62 M5_B[216\0]1P_)6\/6IT>#>4Q/JOV#NP?"A!43>BR\MB!/B9Q)L5#<87S[E3 MD'FR%/>Z>+1P(UFX*F2_#2L>*.!G4!$M4H$'I)4\<9F`N]B>R<K`GE/`!PPC M(/@5S=>CO+>>VSN\_N@JKG>\XP2")AMGM&AKY&N9PP>31!5?2X>^U=L"C&O! MV6MU:\6]+T:?)TR!>=>OLEK";3`#I"@&2'IB(WK#0%J!.NQ6]!4E<P!134)+ M.@$C=8=IBZN9.,@\_%FAEX=)%*$9L%)`1O!>*CR];`>%KU6](#`&*R.15'N8 MN>N^9Y05!L9#49`$+.!GUH(M/:`X/5H#;:.],ZS!_U6\!(9Y$EN8@"5VEFD# MQ)?#MTJ??&R^(->CBDRZGV:U5PO(ZI85?A#'VD''[A($/8!`BML&-]#',@QM MF%QJ#=C!T.1RLXBR](D#BRR^]%G*HRS+(WIW.$R)T6:)S'.567D;,.(&X6M\ MOIP5!S2WNB%K1UE7W1*HA=&C(7IGE/Q=;=QKJKP41?$8<<93LNB_R@F-PZ2+ MO$B-OQB,TS0'"LI8$8J,3>F$(KA=15`<VA(0W*?$_0(!/34``"@<```H$ZIY M4?GX(P``%1D```$```````````!P87)M86X``"YS<&4`"@`<4Q\`````I`%` M````0"DC*````0`8,$^@08$##AH4(!"!#H/$#`9`F*ZA#B?Z&B!R4N4?MA5\ M)/[CQJ"5P80(SGA`HF<`/2>Z&K#`\H3E`'PP&XB@B00/@``P.3BA":(-``8B MT``@`"$"$D!(@"$`!J``F(%0?0+556!H39\$D+3Y!P]F`3A0GJP`\@\<+%X& M":CLN?1%B[8V8<&4P.3)NZ-TMVZP1],N69NS]LI(:[BL+@T>:*[]AT])*\IF M,#2VN6DOA+2!86[@Q;/EJ*)'7Z``@`!F`BAI)].S_(^>&0ZH&:AF;3,0S`C8 M0&L538CG6':_'12^"\\P3ET$>,5FZ_8R/)6-#8.SR>6W)K^`A^O:0,3X/W0P M(3BC*>0RMO;_R('!`.(NN:*4)<!```!)("3!3..>%)?=9Q\LEX'3AC=TA346 M.#`1`-L3;\5U!@4V50#3`KCP))X&Y!!U%S8(MG6A30]LJ(F'/\&D@3'+U198 M=G<]=X``X$%0H4`!G*B'`"_ILH`9+&ZE@20Q!FF!$3$^A\%Z3UP5`#5T"0#3 M`)"4)@`TN>W6FBX(2*@66_14*<0IA@59@#+@Z797D`;H(!E;\)QY9IIFL=)F M8S!A`,:<E-&&CQD8_H@'3`I84Z2+`B0Y(W/.F65!CCO^Y*,`W>FB@"B+ZI(! ME/"]5^!\]<6''S[Z\><?@`)Z1*"I!UJW8(-BD648-U?:TN9D;L$ED%R:W;7= MCPS`](`OPK7HJ1KF(:>+`_3$V%R-MUY)QZ[4E7B=!S3BI4<`Y1BK1YNA>4H" MBPYZ5*TN`^"`;5N5RE5H`,NX1DRG&,!C'GK/ZM$D3!?,]`2>NE"0990HL!2` M7KHD<'"Y&)`6I020^`J`'&<`P(\>6P"2L3\R@(&-"'>A(\EE[$@12*F.24#. M"P"4B@XD*,.\V;=ZP.2`,3DZT843=4`1A!1-!.$$"%*`8$8:;)0!@-!$&PW" M%4HS[705;H0A1M,@T/$&"'*4$089(*`A-AEER`%""62\P+8"`+`-@AAYT%'& M''!CK3777A<5!AMLO#'&VFR03;?=>`-P!P!CA.'&"72`\`8<9;BQ]AQ*OZ'V M'7*D83?<=62]=1E=?QWVV%5SS;;;9(`N.M^FGPW"&&:/L<8<=1A%>QFVX][& M[&^T`4<882L=AM5DA`#`TEQS[CGI9AS?-!D7`Z#WZ*7[#;C@1971AN9Y`!#Z MWJ3W?3K9S%_]>OE?.V]WV6>GO7;;-.2]?O;NDR[&&V3D,3_KKB,?_CKWOMWU M+G<`*`,>*#<&NY'M!'(X@>34=H([G"!NAJO;W4"0!LO);0Z\>X,;R#`'%LQO M;AJ<PPM`.`:X@0!F!$@'(#(`!$`X`&@@8`,@#(``"`#@`&:P``0@L`8)\&<I M9F!`16#!`AN:@0!P`$H=X```H"'A'#^`@>0`0`(6P`P%)-"A`42@0P68H(D" MD((A0&"`C`%`%1+P%0D&@`$)J`$!4Q"$&?!Q%0!@HHYA0J)`')$.0N"BB0XP M@T`(00&X`"&.```"`B0!`!Y*X(=F,$`>S6`/,-Q1&I6<@B'.(`8$7/(`%YJC M*7]X!@:LL@!F<,(FX0$&)-2QD0))!Q%6"40'J/*4F=QD)UF@`0G@4I(%6,H9 M)*`,'@#@`8@H``2((4HQR"(([`#$`\#`BF8^4Q?.?,`9H.@/,!``$H:8`B`@ M"0`F?(,!_+`B%F&``IB18(LH\"(`6!#&'9(1$`HHY!D!D<8U&@"7,(#D?B@) M2Q4@`)0%J.,:*!!(`IC!`>D@P"&=:``XE%,@L)`"*]9)`41.00!FX`<8H$$) M0934AE(0PA2$D-))(E$#(@6$!0!P21BT]*4."(<0J!$20,PTI6`@!2X?`<E? M>.(0&B``.AB`B`-0@!#>?(`BG`D(11Q@E6WTY0#`>@9-ZK&30*!`(1!PC*5@ M``-@O>@O*QG,LX*!!*(T@R[FB$O67+*-9N4D&!RPU+@20)CH5"<[W0E/H''D M'_RX(@-`0`*C(``^*J6!"EIP%#"8P"X`H`!,`L"%U;SE'ZC]!TV26"I^N),` M,/`9T*XJ!45,H1!**(09K/$J?K0600"`0!N$T5HP:..QD3T'`BAK602H8B!' M08`*`,`0!IR!`SU![0L4D!Y1*`$0:3F#`N#PC]="0+9U`(,&2B*1X)H!`DJ0 M1"M!H(:E1$(:($!`)$S"`"$\EP!"D`1H(0!:!D!@N@UX2E1@!A,!D.&[;6(# M%/\!!EI0$0QZZ0@_MEM9WFCE3`<&0(*A`@P&ZT(`-I@,/Z1+W:.TZ0P.0%HD MU,&:_$;C,BJ%KWPG6U\"W#>_^X5L:TGP!?1R1""292YK?`(&&^@!`&!0`6@I M``(EU':("BYQ%9_%C=.F-BUF&&\[OP%;]$JA$+K@;QF@(05#F@0"92!&?8(+ M!G$<&0`<MBS28D%C`I1!-PH(@P9H0F3T(DT*DL`RB8%A,0JCIPI(5BX,.MS# MZ3(`&,[$@'C)R]CS_JP.SFTQ`Y3P7`28`0';30^SGA!B!F3YB*BT`38!80\3 M(`$"*P#,HBU&B$H1(HG9_<<+%F`L!:3E&OPPB`6P*0A7W`(9:X;!="&P8#Q/ MM](BSK*)!8"-U4#X+PQP`P64\&LH(@`,`H`#!`)A:?)>Y1]J($&IZ<N::!"C M!$A8RJ$33>U=&X3"`/@'$NZ<:EU`DP1`^.ZIJ5CH3V^WP*!%0!@,T"8P/#K2 MRQUP3L`Q:PV0``DT48($S""!%(1$(`40A"^H:%Y#*T$$1C$P!F"1@2<J87GV M@$0(LCQ.*"@"#,YXP70)$'&8`$`8IN5%:O\!9BA"&1BH:0H11!SU"(1D(I/E M+`3`@(H[)QD%G/U2!)0@!P.`@``PF8`)$%X-=@A"&.1N@P-@P()F1P47@)!P M?$EN\H6HG--DCNVGYPP!==J,L[J10-H!,5TOH[9-24P["E(`A+]3F!EV0I/B M=3$!+E2<%P1'?$\&$("(AP$!;3(RI/MSC@=,VK+ID84)V/!V)D.@[&??BR&4 M,`O^++/-=+<[,/#>!G/HP0!]5`8".#L1!YQ!!L$NN`2`P8*G/>$,(GB!`?:" M#^GO'KQ/>.]>(-%XBS5#D0"`Q.C;(7U.5%\)A@`S&)9OD$02X%M@@,/HW2%] M/U0?S%\B`5(P77]"%SOW9)H`$Q1@!BY@?>+U`@>P%]!`$V"P$EK!$@"@"-JW M%X@0;'>R?;H@`5X`'GZB`G-V:;Z23#N23)FQ@;H0`<Z@!P1`$RE0!);'6&7Q M:;B'=B\("2=@"/RQ@[]!""``!-&P##%@%`ZP%/27$,Y';1^&)B`8`?S0)F<' M!KY`!F\P!R[`!FD@!G)`/.$C$%YW#I,%=JQA+%P@A"^(`VSG=G!'"'(7?*YP M=WE'`'M7<B='73<8>.@E;4L1%8QV$I42`$G4=RAG>2(S8!"W>1&`!N6W=)!7 M+"_H`92GB+```E;!"@2G`)0F<F=P3U:F"(I6;8@B`8ZG6N&'`.35<$`C,G3! M70U#&%'"#F$`!T/@=KI0!+I8"\EP43+@3!6P!@A`!P`@`L(0!<D`62GP!()@ M#"P`%BG@!(*@#%<$"("```U(``&0`F<``4N@#VGH"O\@#F!@`&<R#T4V!T,@ MCB#@!*[@#VAPB<Z01"[@3`,`"!%(CI1@3D:G`6D!-%K(A5X(AF((`$F0#P+Q M!_[@6*NW74@0/A,!`'08#,EF`"86`=1PB<(`9A1P)A'Y$V2H"Q#@"6G1A<^( M0[0G#$*@%`200V\7`U<77#`I##(ID@H`D\8``G5G#)"`"DL!!8!PB?A%>_C% M"T4S%&?R&Z*`<*0&`*Q`$V<``Q`7=@4'`+*`B#\A"-90DP"`!H#P*UX)E@*A M`!4G!$A07YD2`?Z0E@"PEHQPB=H`D]J@!$!)`N$%`729%%ST`A%@+%Y0&'6G M#04G`'B0`K2G#8+@#0%I<%Y0DR``",;""#49`D!026=@`>N'@2Q@+&A0F9?) M`(Q1=][P`G5G9[H`#^]Q"CF1%N#FBG4P767(`*]'DY9EEU!Y!O2A9ZO!"N4` M"*L!`D0``JL!`;]I`D!@3K,G"+```1.09=#`7U0PE)5G#G=2=^:0'F9PB>H` M@(PE>$#CG%DV72]0`""P!%*`""^`:G6G#J/E"#"I#M%0#.T8`%@``=F04A"G M`*8I".ZI"T`1GT(``U@``%H9`((@#O$YG[8F!8M``DM`@N))8N5G$"!P!B"@ M"Q:3`+JIH09A71#@H0+1`&>``"(*``KP1`X*!LS``!,0,T8!`(S@HL=H!C+@ MH.?IH*4(#-.%H55V96AF,2+P7C0ZI`2PHNBH`JB%;F`@#6`PG.BY"#O:HS!P MHA>*`B?*H1EJ,=:%`2=*HB%J,0I0HC]*BH4`!L0UBD(`7[HE`%.P""*5H._& M`T(@`6?"DPDJ!8#PFR;V`"IPB8RYBD+`"G(*`/[@"T^VG.I0@9KXFS#I#2&P M"/QQGOFE!!B04I$`#%.`".EY#<AP9KI`J.+0!MS0J(#PJ$(`"_QQ%?X@""!` MD3SP!Q0&6S`38V^P%)::4E.`!")PJW@$!/AY!<@`66<@`&OZ0DL!-$SP#@FA M;PB0?9TE`,&ZC/Q05E(0!.@F!!B@C)#ED)$V=Y0&DD_F",5VB>[@G>\$!X86 M<WQ)`B^0`LEJ<$:P&E(I!1CX.T2P&S9@+!B`G-\57C2P?L,&$PP@#/]W??=D M`+\Y72!0!"6@%/Q!"B5@!`#`"9OY9#A`L)Y0`I<)"HS!@PX0(@-3=^Y`L/PP MJ(+@#A0("&DP!B+4A5\8AG(0/E>0!$Y`!$]P!0`@FQU!#2`Y%E1R@4\FF<^2 M<("0(\N$@7U@=))0+@H`!&F1>01K"Y,A#CL0$@IP&$";$Z!0*O@`#7!Q`*$` M`B(03D(`!!'B"M%9&RI6*]1`L&US%ZC9`'AH$JCW%Q1`IGJ&8ZV%7G20!FV0 M-BZ`-G;0LD[SMX&K-FF`.6[P!I$3!G8@/>0#-U6T>F*1&F''$@0`"D8'":GW M:66X7!T&`>SU*Z%U:JB!`"BP=>/&7V^P7):UNN>8NJO;'J%E&4?!!A)`!/Q% M;FR@`$1`""#17A1`,D>1>^QB#;,F!E.@"!2@JL>(>,@[`,ZP&F;@#;B;MYKD MO'#1`B"@`"T'NAV!(9)&:280<_"!#RM@%!`@9%&ZHZN1,0-``[A@,26@2`/@ M`$)P%R(PO#S"MGL(`F3AOR?0ONR0HU+:;U&1=`;1`N\%'_2`P/`+`/5K$#!` M*/Y+D60AP0H,#*M1P0*A`F:@`?C!#UB`8RL`!>?!P5FV&F!``_"!#F`@`G*0 MDR7C&MX`#810,18\&>C`PB2V&K,&:C!`7?EF!M(`P@#@`F8@!D"\P`!0*2), MPF-APBBLP@?\OAWLPC",,C-<PZ7B+`E`!SK,PP(!`Y.1Q3JZQ0`PQ`A0Q`)P MQ-*0P000'TK,!D'TQ!X,`'0<'V!``4J,!JREQ2T<,P301X*0P0C0%F#``1F< MM>``!A*0P>T;R0@`$JEE#VUA&.10*]DG+(813[K0#[(P&:5J'S<&63D"!EQ0 MPB<,62(`!2N0!",!`@F@!#7'#Y.@J8DPRWZL!*Z,8ZL;!.WP#R&P`D@P$A!` M"&"``F;,.&<@#NIT!I+PS`N0,?_`!EG@,;)0!1X3<&QP!=_\#W#`HL3\#R(0 M"<7,#<@,*_%1(NSP!@:POO_`#O%!&_1P!G"`'R3A0RT@7OQL8'QL!C10NAH, M#V:@`E-P&3\\%MSP*MRPHPPF":FX6N-57N_D::\8+&3A!!2M=*FU6A-69Z^" M#S*ST.=1(N3@!MH`'Y%\3PX-T1)=11^]="+M;JKP*N#`STH``0`M+/#<!LI0 M*N"0RI5Q&;:A`NI%%^]8TR$=?AT%<.1<TB?-T"KM!M@P'R^`=DZ-6JL5U>^& M!"5]%?P`=37R;CAP1?DF!(3P76I``$0`"%)`!$H0"&I@`$00",#[$V'@`TI` M!,4:U^[$4]\E3VO=UH#PUG$]UW6M!@*0UX(&`@&PB`$0!A(@V2+P`85=!R]0 MV6.DV9)9!U=4Q$@0!$H0!&8``J5M`P%``P!PMDA00\,@`OT!!#(@`((P##`0 M`$(0!*4]V,4BVD%@`@%`V[U=VK%]MG3P`-``"-,0"+80"&)``)(P"%(`!%&@ M#/\@#\#MK?W!!H'@)FFH"ZP1D.(K$%N-AJB&>%MM=/0KIF!F`KD!`:OA:B0& M:R>"!]J%>$;'#VF!`A^`7F"`$P_IB3&W9WU6!B0<=H,H$,*&9[((`,Z0%K"Y M;Q#`60L``5#A;PX.!N30B;-F#Q]79=60;`)A`>L9!A!`$\SF"K4`;>H`FZ&K M9`C@$]\;9H#'%.BE!)9V!E+`8M752M$7:%2P&FD18B-FBEQ!`XB0C=.%=5+) MG]?68#Q`$RR63-8E`4+'4PVN^>0(0RT\08/ZU%&5^699VA>3:$6VI7#0> M!/KP#T20`D@@"/+`8@1P%)N&T3K^:4"NYS0@8S2FNJA&=->&Y-JV90)@";!` M""\&`0C09T=!YO_E;KQ0$DMW%.\5:M5%Z4MQ8=Y5:J=VE:1`$PQ07Q,!`68` M`QM@%`^`6H%1*_^`Z"2V;3)0B)"'"2?X;EX@;ZP!B-0&#-!0:AS+A#1671;. M60^@X5G6X`'W;BX`XMDDXDC`XWJ.`26N;"W^XF7`BEQ49)]69YX.8/.F`&#@ MGAJ69QZ6YT8G#"JV6AA0`S.IETH0#28.``Z`;ZP!F_*>Y\$5Z2+)`"50Q:Q! MZTH.`-@+"%)I`#L+`&')`"Q:AA091H*@"W]L`DDS=$)I,[)8`,1`X4MPX^B` MLKK`6%5TWA`.Y_]@#'0N"/9PIV&W\5M6`%3@E."W<-^.7B1`J+HP\*RQ%"F@ M!!7_O4()!MGYD&$7!K9`$ZH7:11Y"<M`\18?8Y85!8@0"\JP3":@!"20-"GJ M#H#'`">/0]=,`"8@">:4`E(P]!H/"!QO%AI`16DA,IV(>V'78.#PAF^'NPC0 M!OI1=W4(#,:+`+)PAWL'`5J)VROW#[!I]^,M`*A0DR^P'XH^&PI_?5`TV>D& M9=80>H_O"]^U6C=T8LAPB8N/7A=&X)%VAG=/WG;`AFFD]W$XAX!OAWHG"7RW MAXJ?X^!9!X!(`,`0$@-PB'N8<HM?9XS(WF"."Y&86I/88$)@^NZF"YH(!K:` M7#WA0TL)'72@8D<DFM<G`4I`J-:`NG<13Z!+WAT%92]AN6"!@4)Q8I^EZ%10 M+OC>,Y_F!4,`-W<V_G9>5C!)'C@!2%!TR!L"8'KB"[)LM?7%&B"+_Q,&9R`: M01G^Q(,T!DT`/K5O^`""-L`.*M)%LAEU1QA<"2N0%OR?/0"`M,<>#$#_1PL> M4-VA!:-%%X0<0J4/R!3MT0<@@%#Y@_$W"`2`"^R!HT4<S,!!T$;X$PL@@J-% M&@S!,64$!X$L"@#"8`@ZGR8X^@*`+*`)$I``:*.ET(TNQ`MH`.$(1<&C<J0" MOL`Y2D?KR/]I@X3F_]0!]NE/YJ`__2<!(`OPE#C04WP*SY"F!@,*5MGH$P`: M:#`U&'T@(B`+2C(&0`/`-3W6$V/4&QL"`$1`]L6=N9,!\<[MRWU^9_&]%G7U M:7Y?\`M+HV[S+#'V(`DNS'8X!U2$!@0`8@`,B!L2&`+&`!B\0B$P!*C!((AM MP"`8)#<@``T$P6"[(74`6A$`%D![G($3<`<C01@20T%@#)&A(%"&Q?`8_H-# M$@V1H3)8ALWP'_`!:,@,I2$*6%:59"E@0VG("L`APQN&U;`<C4-D2`S`X1)" MA]T0&5H#=R@.TZ$OP`C4A1MF0U-`#^%A-H0&5R0`$(!E%9F.PC)4!F.0$KB3 MR`0T>E4]K$;'T!_X`'P8YFX5/$2([L`?B($9%VR,#C1(.C8M_(B9\&5%)-)/ MH`LBP.C@`IL'9G1#!?0'5(0"60.?QQ\40`5P=0`@`52`D)#GT!R^JP!3YP%L M/ZA4[."+W8IR5TD+4"`%X)9$"WE3@D_@>X$!2=")/M%S&5.H)L*IK">P$P,. M:R@!?"#340`J$F(>@(D!`((`)5XE,M`F8)-#O(@1T1,@*[B8$:^?.!(`X#`A MT,5_H`.N2$)PB`S@(,(C?X`#!ALP<"QW\2T*QHRH#1:C-J2(;Q%9(0#'Z`+F MXF+T!YG((EY&RF0100`BP`*00`@`)0*P<])0'=@B`_$="(")\*Q@!@2XC$3@ M($9&F-$:W$$_&!F:D?9@1'^`"12C;HR(AB`O/L3=Z`Q0XV4$!,NJ6<'#DH4, MNU9N3%G2T!081]K#'/^!+$`([*"]\(@1Y0\4PD"0!PB!Q@@$5_!,SA8`^`7A M8"+\@G$PD;SC09`#[E$.Y)J#(``6QT$@/7=@/B($`1`&%$("J&SZ,2<:)H50 M``(`'@B0!8`AN$<8$`-DP`R@`37`!MP`')`#M,880!OH)V:`@`W)(3<D#/B0 M'[)#BL@1R2$A`1`XD2@R1:I(!L`B6Z2+5)$G,@'(R!D9`&JDC;R1.!)'PD@% MP"-[I`#XD4`R2`I)(9DB7Y5[5`CM420=2?=8([7CDD22"E))/LDI226KI)6\ MDE@R2VK)+<DENZ27_))@,DR*R3%))K$D!:"2`P`\#H1UH!W39$``W*?$_0(! M03H``(0U```H$W)Y@-F@"```O00```$```````````!P87)M86XN8P!S<&4` M"@`<D9<`````I`%`````0"DC*```%;Q0H0"$"A`@H`21TB2($Q=#$B!$V"2, MFSIAV("`$T9.1C9E-,)Y(X<."#H>W<PQ4T9.08(&$2IDZ!"A%!!FTH`$@:+. MG#)S0+@I0^<.R34@PI`A(P=HT!@I7LI<V-`)PBLX=9;A^=,-F:!TW@@E:E0. M4J5,G8*`^O*%`@4CTK@9PZ8.F:T\YM`AD^:-"S0^WI;!0Z>E&Q!CT'0TV.;C MFS$H4NQXVU@NBC!C6"2U$S7Q8A5A[&SI,GE/P8F>Y1B$@W+R1,2*5:L04\>, MZXE&DC`I8C#G;81LWK@Y`T),GL)S?H,(/OQD#,UT9"AG3CR-9C?3A1,?:K+' MVNS-$Z^9?!IA&C,\,8,(X7U&"A"F$\"I0V<."A$SJX*XF1.D",D*R$>???A1 M51-6_97QWV0)#)8&'2A`I5P?Y8$PQQT/)H8":*+%T`4(?(```QXRP/">::^- M$<9/()P@QPDZ!`A%1T$LU=0<]DD8X'D\H7"8=S/*(4492J%@@G'(:49#"N^Q M!\*2\`7X&AQRR$6'&?=5X4888NP4%@A-*04"&D3>I5H)9+R`)A=NB'`="$H" M*-%$#D*H8P(4RE>E&U?>AV9QQP'%IIN`(B<G;>AYUQ@;P4&&)%!R\H@"HB#T MX)T353#!Q(E23D2EE5B*H"677HJU:*,@E,`&&84*VJ9FC\XAYVMU1BAGGCE5 MBM,;<)3AQF6BR="%9B+<L>".Z*&0JZ4@8*HIIW,B]"F?H:KHQ@DF\>IKJD&9 M01((=U19V*":A;:%L+/2B<>#MC*8)QUIM%&&D73<*:F/N@8Y9)&(PAJHK$UZ M%RNT4^[9IPAU;-GE5E^&R6J"J::YYJM"^6LH@[2N:^>M`<(K+[TRR.FM:BBD MH:MXNL*P`P@F\R#4RBNLD$94T<*&U`H"U[9%&J0ARY.^91KI1ISK>0=E?%,. M>%_"I#(LEL.PE3'&&G/4T<:Q-==Z9YZ2HNRD&P1[JK0(B4E-M=6(O=$&1TWA M%(969(2`=<;L;NVSLN$^.&^_K<ZAV7-9!;Q6V-*.#7'>A;D-]]SJULUQ`F;0 M]<9/RL[,H!E-[5W;H6&.5Z&*+)YP!XPRTFBC4RB$?+G)WGG;ZZ_F"DNL'%B; M\5,9:U2N&0Q,:*9Z@+'J:D9AC%8N\NVYY[1[[R(>6INNISXVZ;^1)DLIL\YN M&F7-\]67I<*E@A#]&.*7T09)>3".D-:/2XIYT'S'^K=F.0D.U?9)>X\P^$Z# M6696_DG7^C36K@#AZELE.QD:D.(=E;$,!"Z+%<QD1K,4+1`$."N.SGC&H'O] M*"$=N8*XYL4=S1SI7W$2W-$Z)2V#A6I4"SN)6!"W%3(II241>P$-R"44`8*` M?>[J6+SF98)Z5:]''PR2"/7F(Z+`JC86@Y3@!H8_3[GP>TV3(;A&6)PWD"$/ M.9P8H8;6-Q\"T8!WPQ>00CC")M+!A.))8=&>1+B-C(UI,?P2#:,VM:I=S8P$ MM%L"/$;$Z(@L<Y/:W.4D1[GZ,4@,G5/.7<P0ACJP@0XQ$I#^!M.K,12&52XZ M`0B^);H38.V,KZ%0P4#E)U8%3RX1LY#4A/,5S?PI5B_XR1AX*+^3R``$+7!. M%(/R`IY$!YC.P>#@`$0A!00$W*?$_0(!O#T``(@Z```H$W9Y#;3>!```-`,` M``$```````````!P87)T97-T+F,`<&4`"@`<RXL`````I`%`````0"DC*``` M%;Q0H0"$"A`@H`210J7(%"HNAB1`B+!)&#=UPK`!`2>,'(ULRFR$\T8.'1!T M/KJ98Z:,G(($#2)4R-`A%1!M\H0A(P<$F3)SZ.Q\:1`FPB%OW-!)@_%-G3EL M\H`(0X=.F39PZ,Q!^0;$'3EIK(*04<,&"#%YQ'8<LZ:,5I@O%"@8P70,FSH_ M0?`(2B;-&Q=H?,@M@\>J'#<@QJ#Q:+`-R#=C4*38(5<QXR="ZIC94B.&C"Z4 M+?=,DGESY\^4V20]`T+(3B)4PZ1>W3HM4"EE=LYVPUJ([3E7P%8MXX:R`L*& M$3,]6<1-&#$AOP014Y*.<<=,4809PV*JG10*1!L,8V<+:`5["E)<[A.H4)Z4 M*8*8@Z8ZB#3&Y3=_'GVZ_1X@P!#?>F:`H-T8((0`X`PI@)!>`G#4H14*(M#4 MT$,XZ<13>T$-)<)D"B1`6%@HQ`"B?'VH-Y-'09#!$U!S:$?'&VEH5UX,7:1P M(D4_=;@A@%31:.,6GX&H(@AFE&1@&B``*.!]>H%PV@X@K+!"&N`E@)EF6Z31 M19/WY4=1DCVAL,,.#3[(7G$A(@8@%!X%%U89*/3XGAS=;6E&=V39`&(":12( MPA1N39'&&<ZQ@0(,W4V1Q!%"2%%$$$L8\<405$C!Q*5\.`JII)1:BJFF7Q#1 MH`D&>AKII)5>FNFF0W3ZZ*JANDJJJ5G*)X8<N:U!60)WH)%&2`:Z"6`+,J09 MHGRJ\0:"&ST=&\.O\@5J()QRP"84;COE(5F6"4`+)K;<DH$":9IU=]J?U0HJ MK@\!@NN;57.46R6`T%([II(H,.DDE4SR\*P<5%J)I8,A`BHHNIMYF2"`*(B6 MPL$/3D11A!.*(,9./L46PH>_6HR0E:Z1H:UL">O*:QB^)IRBR""\+)^;"<4I M')UV#I5G:7R6Q>[%8"EE!H4KDP%""62\@#07;HC0';3J>O;GR]:B@!B\,.1* MT;Q`R3D<8BO@^RL<0=,QM`A?S7ETTDLW_73/?@Z(4(KRD;W<V4B?Q;$8FK4D MQQQ,.]W::['MB)#=0E.8-UKT@E!TX-UQ76]N9!C.4=EX&\TX4%X)9Y4;D-=& MK]>?@YBB`@$!W*?$_0(!"D$```,^```H$WEY7-O+!```!P,```$````````` M``!P87)T:')U+F,`<&4`"@`<P[\`````I`%`````0"DC*```%;Q0H0"$"A`@ MH`210@6)E"HNAA0D:!"A0H8.JX"0\N+*Q(D(Y90)0Z:,'!!UYI29`\)-&3IW MWLA9`X(D&9%S6,8`">*.G#1T3()0Z88,2SIO6KZ,.;,FF9LK=4Y\H4#!B#1N MQK"I4Q($CSETR*1YXP*-CZHC2IK!6@:$D"I&IB2(`0-&U3)X@LIQ`V(,FC`G M5;0)PX;-FS$H4NQ0X!>PVSIFMN"(D4-&E\4*!F-%$68,BYIV4C#^&SB,G2V7 M%>PIB!"$83=G6BYN[?H-;!!T8GRF(V,W9MIIS(#@/`9$B!X@9*0`L3H!G#IT MYJ`0<;'APXTB%"MP#ETZ]876-5[)OC@!7J`H8FBGW8>U1<!!GN*4KOYWZSEW M@/I%H<+TEAA=@,`'"##@(0,,RZU&VQAAJ`3""7*<H,-VP0T'!6!2C$0&"D)` M]IERQB$'8G.T/1?=="*1!((98:3!1AEDD+<=;6*DN$9Y[7%WH@@C^5612'#@ M5(8;T8$P664@B)%'4'/(F(`9,@W'%W(P[-"25V[!-865*ZS@1H(SME8A"A?* MD2%)''IH)&4@'K=F9:(EH*-W*9*Q8HML.%GB3T2:,9T*>K9FAAE;S8$&"F"1 M\09TVB608XTCW>A>7PVV=<(=$E(H')F`7?%34.E]UJ$9'R[GYHAA(F2B=SX! MU1:++L(8*$*0AB&IH]L%B14=?HK0*AU8Q8;#$GB48*>23`YG;`I<N"&"J%I" M&U=%1RI7WJK3]8C&CV4$N=*015:;Y)(K.0EL&V6@8$)NC2K*7*JXI8&NNG0T MVD=/:,0Z'!T@](`<N^7EUB]NY4%Y$@I3$F@E7SQD&1>77H*9`'";ENFIJZ$^ M1NJ;;2)7K<1S3O?KJW@ZF4"MM[('KZY]_CGKBH2F=&BBB]:+XW;GIKNNM9KN M&T.(N"FW,I^\3F?LN,EB!<+1*HUAFU&?'8WL2B\TW>RS'*OP5ER[R0!""[CI MEO764[R``F\ML-LHRK.UIE88=;!!QX0A?]=0>!MUY.1Y=*2W7FOM*1!X50$! MW*?$_0(!Y40``%M!```H$XIUL92B!0``B@,```$```````````!U<V5R+7-P M92YC`&4`%``<%J8*`'5S97(M<W!E8P```*0!0````$`I(R@``!4D&%AE2A$I M(*9`*3($Q`L03HI0N?)$RA(01*0DL7)0@<`J<\*<*0/BC1D09?"$:0.'#<DQ M;\B480%"((Z$9>#0*=-&3!DY(&+DP)&#IL`F8>C005/F#L8T;-B\<>,Q`90J M0I@D:4CD29,@29QX%#AE)YR@.JJ"6`MB2)BH(*"$D1.$#!DY9>;,0=$FCYLR M=,+8Q:LWA5JV=YCB!='W;^#!>>>`2",Y#`@W=7K^#`J"SIN@-5Q4I?+YBIPT M.T%8AA-FS!K`:06RO0RB1]RYIE&702%S#AW'@N]&IBFFCAGB>7;.,2R;;9J3 M;D#@I5-'CAO)+6)T9@JB-YTT;I*FF<JX-1KP),FD(7/Y#1WI>>%,)7-X[7/: MTZM?!]%"!H@Y;[11AA@QY8$2&W.01%EG<N0!WAF=?9:@&^RMUMIK=#2WEF<E M5:<:9'JI1B$(=Y`T!QIOU,$&>V.\Q<9M<DA1AF`H,)?`;/=%YX-M,&Q'4G1B M))<7B3^96(8;[W&X5'IY?1?>=^2U81YZHMW(5G0GIK@B"#ZA%$<=;T7HXV69 M^014D,J!D$>*\'W99!GL%9>AE6O!I&*<)+D4HAEO`&499IH!91)\80!XG0MK M&=$G2BJQY!)-2VK879/@B1?EE']UMYX;)[PW!QQEC/&<@4>F>`8:)9UD67%F MF+$9>)*B)IE<,<Y(1HVB"40:"#(*IAH(K+D&6WU<OO'&B[;12D128?1*1AXU M$BLC==9)1H<<=9"$0@PI3'82@`(2^.QDUC;XH)@35@CLA8")6<<<+$AJQEL) M@H`"#-VZI]@=E)6!*`A4G"?9@JL=R\:Y`HZ!1AAN4-9&KG32ENQ<SJ+`*G+* MV8@C=/!1NU]V8^+EZW<"LI?B>XO>M^2ZPKY'&:?O"<CPG+/Q"=2[$,]6!H(_ M=JR?M=P!:F:J7`HIF<AD_.O$$U04H0,(29RT<KH/2BJEPNC]=R09DF%1=)J) M%0F"USQ\/>22T47'+UQ=EO%EF)Y)BL6_`2^X(*ARN#H&'6P8:,=;ZXG(GAN? MD5S&R9*],<88'H(W9HL)YLR6$^Z1M%12WK8GKH$+7LOP'&V@YB2$%K;L[JP4 MVQIMQ/E5JYH9._G)68(PC6CXR?]/%W<H4>^A_`9V4I*5CR.#GK@+E.!QR MO'$&80-+1GC,,R()@LV,&1@<])/1S%;K^Z711LEI)+6S@?PNQ5\,N08$W*?$ M_0(````````````````````````````````````````````````````````` (````````_(,` ` end
kodiak@amiga.UUCP (Robert R. Burns) (09/12/89)
In article <8909082229.AA07771@postgres.Berkeley.EDU> dillon@POSTGRES.BERKELEY.EDU (Matt Dillon) writes: )...to transfer files from one amiga to another via the parallel port... ) ) A proper cable is one which connects ONLY D0-D7 and their grounds. ) )... Comments ... welcome... When we used the parallel port as an IO device for the Lorraine (the Amiga prototype), we connected it's strobe & acknowledge to acknowledge & strobe of our Sage code development machine. Of course, we had fewer machines than Matt in those days, so we were not trying to network it :-). Did you consider tying the flag input to D5? If the network is only sporatically busy, this would allow an interrupt wake up mechanism for prospective clients instead of having them poll it. That would contribute to the loading problem, though, for which I've no spec to refer to. - Kodiak -- Bob Burns, amiga!kodiak _ | /_ _|. _ | Commodore __ |_) _ |_ _ )' |<(_)(_)|(_\|< /\ | ||| _` /\ |_)(_\| )(_\ | | \ Software ___/..\|\/|||__|/..\___ Faith
dillon@POSTGRES.BERKELEY.EDU (Matt Dillon) (09/12/89)
:When we used the parallel port as an IO device for the Lorraine (the Amiga :prototype), we connected it's strobe & acknowledge to acknowledge & strobe :of our Sage code development machine. Of course, we had fewer machines :than Matt in those days, so we were not trying to network it :-). : :Did you consider tying the flag input to D5? If the network is only :sporatically busy, this would allow an interrupt wake up mechanism :for prospective clients instead of having them poll it. That would :contribute to the loading problem, though, for which I've no spec to :refer to. : :- Kodiak Ah! That's a great idea! Why the !@#$ didn't I think of it! Thanks! My first posting will just be the ND server (two machine network). The server will poll continuously at priority -1. I'll post it to comp.sources.amiga. My second posting will be a new server and nddisk.device that use a new device 'parnet.device' which I am working on right now. This device will properly implement the network (DGRAM level). I think I'll use your idea 'bout the flag input ... That's a cool idea! D5 is used only for line aquisition and would provide a great wakeup mechanism! And it's negative edge, perfect! This would mean that the network would load only the machine a particular packet is destined for. -Matt
walker@sas.UUCP (Doug Walker) (09/14/89)
In article <8909082229.AA07771@postgres.Berkeley.EDU> dillon@POSTGRES.BERKELEY.EDU (Matt Dillon) writes: >...to transfer files from one amiga to another via the parallel port... > Yay Matt! I got NET: working with Matt's parallel port routines last night, and it's FAST FAST FAST! It is actually FASTER to do a dir opt a of df0: over the network than locally on my 512k 1000! I presume this is because you don't have to update the display. It took 54 seconds locally on each of two tries, and 48 and 50 seconds remotely. The current problem is that eventually (after 15-20 minutes of heavy use) I get a write error on the server side. This is fatal since I didn't put any retry capability in the first version. Also, I can only run one direction at a time since I always use channel 1, but I'll take care of that. Matt, if you're listening, how do the channels work? If I do a ParAddress(1), then write, why do I need to send a '1' as the first parameter (which is what parman does?) Expect a new posting within a few days for the parallel version. Only three new files to the source code, plus Matt's parallel port stuff. --Doug
dillon@POSTGRES.BERKELEY.EDU (Matt Dillon) (09/16/89)
The assembly I distributed as Alpha *Does* have a few bugs in it. I have fixed this, just need to send it to the moderator now. -Matt :Matt, if you're listening, how do the channels work? If I do a ParAddress(1), :then write, why do I need to send a '1' as the first parameter (which is what :parman does?) Each host has an address. When you send a packet only the receiving host is allowed to receive it. The sender aquires the line and the receiver sees it is being addressed and fullfills the other half of the protocol. I will send all this stuff to the moderator.... -Matt