home *** CD-ROM | disk | FTP | other *** search
/ Frostbyte's 1980s DOS Shareware Collection / floppyshareware.zip / floppyshareware / KAND / GED2HTML.ZIP / UUDECODE.TXT < prev   
Encoding:
Text File  |  1994-05-31  |  38.6 KB  |  910 lines

  1. Downloaded from SPECTROX SYSTEMS 1.408.252.1005 spectrx.saigon.com
  2.  
  3.  
  4. Checksum:  291836341  (Verify with "brik -cv")
  5.  
  6. [Date of last change 12/26/91 Release 1.8]
  7.  
  8.                          UseNet CBIP Starter's Kit
  9.  
  10.    This kit contains what you will need to begin downloading files from
  11. comp.binaries.ibm.pc. This kit contains:
  12.  
  13.         1) Instructions
  14.         2) BASIC source to create UUDECODE.COM
  15.         3) DEBUG script to create UUDECODE.COM
  16.         4) C source for UUDECODE
  17.         5) Documentation for UUDECODE
  18.         6) BOOZ 2.0, ZOO extractor, in uuencoded form
  19.  
  20. You will need:
  21.  
  22.         1) GW-BASIC or DEBUG (from MS-DOS)
  23.         2) File editor
  24.  
  25. What to do:
  26.  
  27. You will need to split this file into 5 parts. Each part is separated by a
  28. line stating "---CUT HERE---" and a short description. Using a text editor,
  29. separate the parts for the BASIC and DEBUG sources and the BOOZ extractor.
  30. If you have a GW-BASIC interpreter, run the UUDECODE.BAS program, which will
  31. create UUDECODE.COM. If you have the MS-DOS DEBUG program, create
  32. UUDECODE.COM by saving the DEBUG script below as UUDECODE.DBG and feeding it
  33. to DEBUG by giving the command
  34.  
  35.         DEBUG < UUDECODE.DBG
  36.  
  37. This will create UUDECODE.COM. You can alternately compile UUDECODE.C.
  38.  
  39. Then use the UUDECODE program to decode BOOZ into executable form by saving
  40. the BOOZ.UUE file and saying
  41.  
  42.         UUDECODE BOOZ.UUE
  43.  
  44. This will create BOOZ.EXE, which can be used to extract ZOO archives by
  45. specifying
  46.  
  47.         BOOZ X FILENAME
  48.  
  49. NOTE: This file is for the purpose of ease of use on any system. Although
  50. other formats (such as shar files) are easier to handle, they present a
  51. problem on the portability between systems.
  52.  
  53. ---CUT HERE--- Save as UUDECODE.BAS and run under GW-BASIC
  54. 100 REM - BASIC PROGRAM TO CREATE UUDECODE.COM v2.0 (a fast uudecoder)
  55. 105 REM UUDECODE.BAS created by w8sdz@WSMR-SIMTEL20.ARMY.MIL (Keith Petersen)
  56. 110 CLS:PRINT "Creating UUDECODE.COM.  See UUDECODE.DOC for instructions."
  57. 115 OPEN "UUDECODE.COM" AS #1 LEN = 1
  58. 120 FIELD #1, 1 AS A$: CHECKSUM#=0
  59. 130 FOR I = 1 TO    73
  60. 140  LINESUM#=0: LOCATE 2,3: PRINT "Countdown: "    73 - I ;
  61. 150  FOR J = 1 TO  16: READ BYTE$: CHECKSUM#=CHECKSUM#+VAL("&H"+BYTE$)
  62. 160   LINESUM#=LINESUM#+VAL("&H"+BYTE$)
  63. 170   IF (BYTE < 256) THEN LSET A$=CHR$(VAL("&H"+BYTE$)): PUT #1
  64. 180  NEXT J
  65. 190  READ LINETOT$: LINECHECK# = VAL("&H"+LINETOT$)
  66. 200  IF LINECHECK# = LINESUM# THEN GOTO 220
  67. 210  LOCATE 4,2: PRINT "Error in line #"  ;  260 +  10 * I: GOTO 260
  68. 220 NEXT I
  69. 230 CLOSE: READ FILETOT$ : FILECHECK# = VAL(FILETOT$)
  70. 240 IF CHECKSUM# <> FILECHECK# THEN GOTO 260
  71. 250 PRINT: PRINT "UUDECODE.COM created successfully": SYSTEM
  72. 260 PRINT: PRINT "UUDECODE.COM is not valid!": END
  73. 270 DATA EB,5F,90,49,6E,70,75,74,20,66,69,6C,65,20,65,72,  6A1
  74. 280 DATA 72,6F,72,2E,4F,75,74,70,75,74,20,66,69,6C,65,20,  5F2
  75. 290 DATA 65,72,72,6F,72,2E,73,74,61,72,74,20,6E,6F,74,20,  617
  76. 300 DATA 66,6F,75,6E,64,2E,45,6E,64,20,6E,6F,74,20,66,6F,  5C7
  77. 310 DATA 75,6E,64,2E,20,65,78,69,73,74,73,2E,20,41,62,6F,  595
  78. 320 DATA 72,74,69,6E,67,21, 0, 0, 0, 0,AC, 3,AC, 3,5C, 3,  402
  79. 330 DATA  0,E8,FA, 1,E8,54, 1,BF,5C, 3,E8,D1, 0,AD,3D,62,  743
  80. 340 DATA 65,75,F4,AD,3D,67,69,75,EE,AD,3D,6E,20,75,E8,BF,  87F
  81. 350 DATA 5C, 3,B4,20,AC,3A,C4,76,FB,AC,3A,C4,75,FB,AC,3A,  84E
  82. 360 DATA C4,76,FB,3A,C4,74, 4,AA,AC,EB,F8,BA,5C, 3,33,C9,  8F9
  83. 370 DATA 88, D,80,3E,60, 1,FF,74,1E,B4,4E,CD,21,3C, 2,74,  5E7
  84. 380 DATA 16,3C,12,74,12,8B,CF,2B,CA,E8,2F, 1,BA,44, 1,B9,  609
  85. 390 DATA 12, 0,B0, 5,E9,16, 1,B4,3C,CD,21,73, 3,E9,E3, 0,  5E7
  86. 400 DATA A3,58, 1,BF,5C, 3,E8,65, 0,AC, A,C0,74,48,BB,20,  674
  87. 410 DATA 20,2A,C3, A,C0,74,3F,32,E4,8B,E8,B9, 4, 6,AC,8A,  70C
  88. 420 DATA E0,AC,8A,D0,2B,C3,D0,E4,D0,E4,D2,E8, A,C4,AA,4D,  ABB
  89. 430 DATA 74,D4,8A,E2,AC,8A,D0,2B,C3,D2,E4,D0,E8,D0,E8, A,  AD8
  90. 440 DATA C4,AA,4D,74,C1,8A,E2,AC,2B,C3,8A,CD,D2,E4, A,C4,  9D1
  91. 450 DATA AA,4D,75,C7,EB,B0,E8,15, 0,AD,3D,65,6E,75, 5,AC,  7AE
  92. 460 DATA 3C,64,74, 3,E8,AE, 0,E8,61, 0,B4,4C,CD,21,8B,36,  6A5
  93. 470 DATA 5A, 1,89,3E,5E, 1,BD,50, 0,BF, C, 3,33,C0,AB,B9,  5B3
  94. 480 DATA 27, 0,B8,20,20,F3,AB,BF, C, 3,3B,36,5C, 1,72, 6,  4D1
  95. 490 DATA E8,38, 0,E8,55, 0,AC,3C,60,75, 4,B0,20,EB, 8,3C,  61D
  96. 500 DATA  D,74,1B,3C, A,74,18,AA,4D,75,DF,3B,36,5C, 1,72,  4F9
  97. 510 DATA  3,E8,37, 0,AC,3C, A,75,F2,BF,5C, 3,EB,B4,46,89,  707
  98. 520 DATA 36,5A, 1,8B,3E,5E, 1,BE, C, 3,C3,BA,5C, 3,8B,CA,  5B7
  99. 530 DATA 87, E,5E, 1,2B,CA,76, A,8B,1E,58, 1,B4,40,CD,21,  54D
  100. 540 DATA 72, 1,C3,BA,14, 1,B9,12, 0,EB,22,BA,AC, 3,B9,54,  653
  101. 550 DATA FA,8B,1E,56, 1,B4,3F,CD,21,72, C, B,C0,74, 8,8B,  62B
  102. 560 DATA F2, 3,C6,A3,5C, 1,C3,BA, 3, 1,B9,11, 0,50,E8, A,  648
  103. 570 DATA  0,58,E9,55,FF,BA,36, 1,B9, E, 0,52,51,BA,3E, 3,  5EB
  104. 580 DATA B9, 2, 0,90,E8, C, 0,59,5A,E8, 7, 0,BA,3E, 3,B9,  595
  105. 590 DATA  2, 0,90,BB, 2, 0,B4,40,CD,21,C3,90, D, A,54,68,  557
  106. 600 DATA 69,73,20,50,72,6F,67,72,61,6D,20,52,65,71,75,69,  5FA
  107. 610 DATA 72,65,73,20,44,4F,53,20,56,65,72,73,69,6F,6E,20,  576
  108. 620 DATA 32,2E,30,20,6F,72,20,68,69,67,68,65,72,2E, D, A,  46D
  109. 630 DATA 24, D, A,49,6E,70,75,74,20,70,61,74,68,2F,66,69,  516
  110. 640 DATA 6C,65,3A,20,20,4E,6F,20,61,63,74,69,6F,6E,B4,30,  58A
  111. 650 DATA CD,21,3C, 2,73, C,BA, C, 3,B4, 9,CD,21,B8, 1,4C,  524
  112. 660 DATA CD,21,E8,46, 0,73,33,BA,68, 4,B9,1B, 1,90,E8,6A,  69F
  113. 670 DATA FF,BA,41, 3,B9,14, 0,BB, 2, 0,B4,40,CD,21,BF,7F,  6A7
  114. 680 DATA  0,C6, 5,50,8B,D7,B4, A,CD,21,E8,1E, 0,73, B,BA,  667
  115. 690 DATA 55, 3,B9, 9, 0,B0, 1,E9,33,FF,BA, 4, 4,B8, 0,3D,  59D
  116. 700 DATA CD,21,72, 4,A3,56, 1,C3,E9,1C,FF,BE,80, 0,BF, 4,  726
  117. 710 DATA  4,FC,AC, A,C0,74,2F,B4,20,AC,3A,C4,76,FB,3A,C4,  806
  118. 720 DATA 76,26,3C,2F,74, 4,3C,2D,75,18,8B,D0,8B, 4,3C,3F,  4DA
  119. 730 DATA 74,1B,24,5F,3D,4F,20,8B,C2,75, 7,F6,16,60, 1,46,  53A
  120. 740 DATA 46,AC,AA,AC,EB,D8,F9,C3,C6, 5, 0,F8,C3,BA,68, 4,  973
  121. 750 DATA E9,66,FF,90,55,55,44,45,43,4F,44,45,20,76,32,2E,  622
  122. 760 DATA 30, 0,4F,72,69,67,69,6E,61,6C,6C,79,20,62,79,20,  565
  123. 770 DATA 54,68,65,6F,64,6F,72,65,20,41,2E,20,4B,61,6C,64,  565
  124. 780 DATA 69,73, 0,54,68,6F,72,6F,75,67,68,6C,79,20,72,65,  608
  125. 790 DATA 68,61,63,6B,65,64,20,62,79,20,44,61,76,69,64,20,  583
  126. 800 DATA 50,20,4B,69,72,73,63,68,62,61,75,6D,2C,20,54,6F,  588
  127. 810 DATA 61,64,20,48,61,6C,6C, 0,55,55,44,45,43,4F,44,45,  4B4
  128. 820 DATA 20,5B,2D,3F,5D,5B,2D,6F,5D,20,5B,64,3A,5D,5B,5C,  4C5
  129. 830 DATA 70,61,74,68,5C,5D,62,69,6E,61,72,79,2E,55,55,45,  608
  130. 840 DATA 20,3C,52,45,54,55,52,4E,3E, D, A,55,73,69,6E,67,  497
  131. 850 DATA 20,74,68,65,20,66,69,6C,65,6E,61,6D,65,2E,74,79,  5DD
  132. 860 DATA 70,20,69,6E,20,74,68,65,20,22,62,65,67,69,6E,22,  531
  133. 870 DATA 20,6C,69,6E,65,2C, D, A,70,72,6F,64,75,63,65,73,  570
  134. 880 DATA 20,75,75,64,65,63,6F,64,65,64,20,66,69,6C,65,6E,  600
  135. 890 DATA 61,6D,65,2E,74,79,70,20,6F,6E,20,63,75,72,72,65,  5FC
  136. 900 DATA 6E,74,20,64,72,69,76,65,5C,70,61,74,68, D, A,28,  564
  137. 910 DATA 70,72,6F,76,69,64,69,6E,67,20,66,69,6C,65,6E,61,  661
  138. 920 DATA 6D,65,2E,74,79,70,20,64,6F,65,73,6E,27,74,20,61,  5B2
  139. 930 DATA 6C,72,65,61,64,79,20,65,78,69,73,74,29,2E, D, A,  53C
  140. 940 DATA 2D,6F,20,73,77,69,74,63,68,20,66,6F,72,63,65,73,  5F0
  141. 950 DATA 20,6F,76,65,72,77,72,69,74,65,20,6F,66,20,65,78,  5F9
  142. 960 DATA 69,73,74,69,6E,67,20,66,69,6C,65,6E,61,6D,65,2E,  61D
  143. 970 DATA 74,79,70, D, A,2D,3F,20,70,72,6F,64,75,63,65,73,  565
  144. 980 DATA 20,74,68,69,73,20,68,65,6C,70,20,6D,65,73,73,61,  5DA
  145. 990 DATA 67,65,2E, D, A,24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  135
  146. 1000 DATA 114365
  147. ---CUT HERE--- Save as UUDECODE.DBG and feed to DEBUG
  148. e 0100
  149. EB 5F 90 49 6E 70 75 74 20 66 69 6C 65 20 65 72
  150. e 0110
  151. 72 6F 72 2E 4F 75 74 70 75 74 20 66 69 6C 65 20
  152. e 0120
  153. 65 72 72 6F 72 2E 73 74 61 72 74 20 6E 6F 74 20
  154. e 0130
  155. 66 6F 75 6E 64 2E 45 6E 64 20 6E 6F 74 20 66 6F
  156. e 0140
  157. 75 6E 64 2E 20 65 78 69 73 74 73 2E 20 41 62 6F
  158. e 0150
  159. 72 74 69 6E 67 21 00 00 00 00 AC 03 AC 03 5C 03
  160. e 0160
  161. 00 E8 FA 01 E8 54 01 BF 5C 03 E8 D1 00 AD 3D 62
  162. e 0170
  163. 65 75 F4 AD 3D 67 69 75 EE AD 3D 6E 20 75 E8 BF
  164. e 0180
  165. 5C 03 B4 20 AC 3A C4 76 FB AC 3A C4 75 FB AC 3A
  166. e 0190
  167. C4 76 FB 3A C4 74 04 AA AC EB F8 BA 5C 03 33 C9
  168. e 01A0
  169. 88 0D 80 3E 60 01 FF 74 1E B4 4E CD 21 3C 02 74
  170. e 01B0
  171. 16 3C 12 74 12 8B CF 2B CA E8 2F 01 BA 44 01 B9
  172. e 01C0
  173. 12 00 B0 05 E9 16 01 B4 3C CD 21 73 03 E9 E3 00
  174. e 01D0
  175. A3 58 01 BF 5C 03 E8 65 00 AC 0A C0 74 48 BB 20
  176. e 01E0
  177. 20 2A C3 0A C0 74 3F 32 E4 8B E8 B9 04 06 AC 8A
  178. e 01F0
  179. E0 AC 8A D0 2B C3 D0 E4 D0 E4 D2 E8 0A C4 AA 4D
  180. e 0200
  181. 74 D4 8A E2 AC 8A D0 2B C3 D2 E4 D0 E8 D0 E8 0A
  182. e 0210
  183. C4 AA 4D 74 C1 8A E2 AC 2B C3 8A CD D2 E4 0A C4
  184. e 0220
  185. AA 4D 75 C7 EB B0 E8 15 00 AD 3D 65 6E 75 05 AC
  186. e 0230
  187. 3C 64 74 03 E8 AE 00 E8 61 00 B4 4C CD 21 8B 36
  188. e 0240
  189. 5A 01 89 3E 5E 01 BD 50 00 BF 0C 03 33 C0 AB B9
  190. e 0250
  191. 27 00 B8 20 20 F3 AB BF 0C 03 3B 36 5C 01 72 06
  192. e 0260
  193. E8 38 00 E8 55 00 AC 3C 60 75 04 B0 20 EB 08 3C
  194. e 0270
  195. 0D 74 1B 3C 0A 74 18 AA 4D 75 DF 3B 36 5C 01 72
  196. e 0280
  197. 03 E8 37 00 AC 3C 0A 75 F2 BF 5C 03 EB B4 46 89
  198. e 0290
  199. 36 5A 01 8B 3E 5E 01 BE 0C 03 C3 BA 5C 03 8B CA
  200. e 02A0
  201. 87 0E 5E 01 2B CA 76 0A 8B 1E 58 01 B4 40 CD 21
  202. e 02B0
  203. 72 01 C3 BA 14 01 B9 12 00 EB 22 BA AC 03 B9 54
  204. e 02C0
  205. FA 8B 1E 56 01 B4 3F CD 21 72 0C 0B C0 74 08 8B
  206. e 02D0
  207. F2 03 C6 A3 5C 01 C3 BA 03 01 B9 11 00 50 E8 0A
  208. e 02E0
  209. 00 58 E9 55 FF BA 36 01 B9 0E 00 52 51 BA 3E 03
  210. e 02F0
  211. B9 02 00 90 E8 0C 00 59 5A E8 07 00 BA 3E 03 B9
  212. e 0300
  213. 02 00 90 BB 02 00 B4 40 CD 21 C3 90 0D 0A 54 68
  214. e 0310
  215. 69 73 20 50 72 6F 67 72 61 6D 20 52 65 71 75 69
  216. e 0320
  217. 72 65 73 20 44 4F 53 20 56 65 72 73 69 6F 6E 20
  218. e 0330
  219. 32 2E 30 20 6F 72 20 68 69 67 68 65 72 2E 0D 0A
  220. e 0340
  221. 24 0D 0A 49 6E 70 75 74 20 70 61 74 68 2F 66 69
  222. e 0350
  223. 6C 65 3A 20 20 4E 6F 20 61 63 74 69 6F 6E B4 30
  224. e 0360
  225. CD 21 3C 02 73 0C BA 0C 03 B4 09 CD 21 B8 01 4C
  226. e 0370
  227. CD 21 E8 46 00 73 33 BA 68 04 B9 1B 01 90 E8 6A
  228. e 0380
  229. FF BA 41 03 B9 14 00 BB 02 00 B4 40 CD 21 BF 7F
  230. e 0390
  231. 00 C6 05 50 8B D7 B4 0A CD 21 E8 1E 00 73 0B BA
  232. e 03A0
  233. 55 03 B9 09 00 B0 01 E9 33 FF BA 04 04 B8 00 3D
  234. e 03B0
  235. CD 21 72 04 A3 56 01 C3 E9 1C FF BE 80 00 BF 04
  236. e 03C0
  237. 04 FC AC 0A C0 74 2F B4 20 AC 3A C4 76 FB 3A C4
  238. e 03D0
  239. 76 26 3C 2F 74 04 3C 2D 75 18 8B D0 8B 04 3C 3F
  240. e 03E0
  241. 74 1B 24 5F 3D 4F 20 8B C2 75 07 F6 16 60 01 46
  242. e 03F0
  243. 46 AC AA AC EB D8 F9 C3 C6 05 00 F8 C3 BA 68 04
  244. e 0400
  245. E9 66 FF 90 55 55 44 45 43 4F 44 45 20 76 32 2E
  246. e 0410
  247. 30 00 4F 72 69 67 69 6E 61 6C 6C 79 20 62 79 20
  248. e 0420
  249. 54 68 65 6F 64 6F 72 65 20 41 2E 20 4B 61 6C 64
  250. e 0430
  251. 69 73 00 54 68 6F 72 6F 75 67 68 6C 79 20 72 65
  252. e 0440
  253. 68 61 63 6B 65 64 20 62 79 20 44 61 76 69 64 20
  254. e 0450
  255. 50 20 4B 69 72 73 63 68 62 61 75 6D 2C 20 54 6F
  256. e 0460
  257. 61 64 20 48 61 6C 6C 00 55 55 44 45 43 4F 44 45
  258. e 0470
  259. 20 5B 2D 3F 5D 5B 2D 6F 5D 20 5B 64 3A 5D 5B 5C
  260. e 0480
  261. 70 61 74 68 5C 5D 62 69 6E 61 72 79 2E 55 55 45
  262. e 0490
  263. 20 3C 52 45 54 55 52 4E 3E 0D 0A 55 73 69 6E 67
  264. e 04A0
  265. 20 74 68 65 20 66 69 6C 65 6E 61 6D 65 2E 74 79
  266. e 04B0
  267. 70 20 69 6E 20 74 68 65 20 22 62 65 67 69 6E 22
  268. e 04C0
  269. 20 6C 69 6E 65 2C 0D 0A 70 72 6F 64 75 63 65 73
  270. e 04D0
  271. 20 75 75 64 65 63 6F 64 65 64 20 66 69 6C 65 6E
  272. e 04E0
  273. 61 6D 65 2E 74 79 70 20 6F 6E 20 63 75 72 72 65
  274. e 04F0
  275. 6E 74 20 64 72 69 76 65 5C 70 61 74 68 0D 0A 28
  276. e 0500
  277. 70 72 6F 76 69 64 69 6E 67 20 66 69 6C 65 6E 61
  278. e 0510
  279. 6D 65 2E 74 79 70 20 64 6F 65 73 6E 27 74 20 61
  280. e 0520
  281. 6C 72 65 61 64 79 20 65 78 69 73 74 29 2E 0D 0A
  282. e 0530
  283. 2D 6F 20 73 77 69 74 63 68 20 66 6F 72 63 65 73
  284. e 0540
  285. 20 6F 76 65 72 77 72 69 74 65 20 6F 66 20 65 78
  286. e 0550
  287. 69 73 74 69 6E 67 20 66 69 6C 65 6E 61 6D 65 2E
  288. e 0560
  289. 74 79 70 0D 0A 2D 3F 20 70 72 6F 64 75 63 65 73
  290. e 0570
  291. 20 74 68 69 73 20 68 65 6C 70 20 6D 65 73 73 61
  292. e 0580
  293. 67 65 2E 0D 0A 24
  294.  
  295. r cx
  296. 0486
  297. n uudecode.com
  298. w
  299. q
  300. ---CUT HERE--- Save as UUDECODE.C and compile
  301. /*
  302.  * Copyright (c) 1983 Regents of the University of California.
  303.  * All rights reserved.
  304.  *
  305.  * Redistribution and use in source and binary forms are permitted
  306.  * provided that the above copyright notice and this paragraph are
  307.  * duplicated in all such forms and that any documentation,
  308.  * advertising materials, and other materials related to such
  309.  * distribution and use acknowledge that the software was developed
  310.  * by the University of California, Berkeley.  The name of the
  311.  * University may not be used to endorse or promote products derived
  312.  * from this software without specific prior written permission.
  313.  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
  314.  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  315.  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  316.  */
  317.  
  318. /*
  319.  * Modified 12 April 1990 by Mark Adler for use on MSDOS systems with
  320.  * Microsoft C and Turbo C.
  321.  *
  322.  * Modifed 13 February 1991 by Greg Roelofs for use on VMS systems.  As
  323.  * with the MS-DOS version, the setting of the file mode has been disabled.
  324.  * Compile and link normally (but note that the shared-image link option
  325.  * produces a binary only 6 blocks long, as opposed to the 137-block one
  326.  * produced by an ordinary link).  To set up the VMS symbol to run the
  327.  * program ("run uudecode filename" won't work), do:
  328.  *        uudecode :== "$disk:[directory]uudecode.exe"
  329.  * and don't forget the leading "$" or it still won't work.  The binaries
  330.  * produced by this program are in VMS "stream-LF" format; this makes no
  331.  * difference to VMS when running decoded executables, nor to VMS unzip,
  332.  * but other programs such as zoo or arc may or may not require the file
  333.  * to be "BILFed" (or "unBILFed" or whatever).  Also, unlike the other
  334.  * flavors, VMS files don't get overwritten (a higher version is created).
  335.  */
  336.  
  337. #ifndef lint
  338. static char sccsid[] = "@(#)uudecode.c    5.5 (Berkeley) 7/6/88";
  339. #endif /* not lint */
  340.  
  341. #ifdef __MSDOS__        /* For Turbo C */
  342. #define MSDOS 1
  343. #endif
  344.  
  345. /*
  346.  * uudecode [input]
  347.  *
  348.  * create the specified file, decoding as you go.
  349.  * used with uuencode.
  350.  */
  351. #include <stdio.h>
  352.  
  353. #ifdef VMS
  354. #  include <types.h>
  355. #  include <stat.h>
  356. #else
  357. #  ifndef MSDOS            /* i.e., UNIX */
  358. #    include <pwd.h>
  359. #  endif
  360. #  include <sys/types.h>   /* MSDOS or UNIX */
  361. #  include <sys/stat.h>
  362. #endif
  363.  
  364. /* single-character decode */
  365. #define DEC(c)    (((c) - ' ') & 077)
  366.  
  367. main(argc, argv)
  368. char **argv;
  369. {
  370.     FILE *in, *out;
  371.     int mode;
  372.     char dest[128];
  373.     char buf[80];
  374.  
  375.     /* optional input arg */
  376.     if (argc > 1) {
  377.         if ((in = fopen(argv[1], "r")) == NULL) {
  378.             perror(argv[1]);
  379.             exit(1);
  380.         }
  381.         argv++; argc--;
  382.     } else
  383.         in = stdin;
  384.  
  385.     if (argc != 1) {
  386.         printf("Usage: uudecode [infile]\n");
  387.         exit(2);
  388.     }
  389.  
  390.     /* search for header line */
  391.     for (;;) {
  392.         if (fgets(buf, sizeof buf, in) == NULL) {
  393.             fprintf(stderr, "No begin line\n");
  394.             exit(3);
  395.         }
  396.         if (strncmp(buf, "begin ", 6) == 0)
  397.             break;
  398.     }
  399.     (void)sscanf(buf, "begin %o %s", &mode, dest);
  400.  
  401. #if !defined(MSDOS) && !defined(VMS)    /* i.e., UNIX */
  402.     /* handle ~user/file format */
  403.     if (dest[0] == '~') {
  404.         char *sl;
  405.         struct passwd *getpwnam();
  406.         struct passwd *user;
  407.         char dnbuf[100], *index(), *strcat(), *strcpy();
  408.  
  409.         sl = index(dest, '/');
  410.         if (sl == NULL) {
  411.             fprintf(stderr, "Illegal ~user\n");
  412.             exit(3);
  413.         }
  414.         *sl++ = 0;
  415.         user = getpwnam(dest+1);
  416.         if (user == NULL) {
  417.             fprintf(stderr, "No such user as %s\n", dest);
  418.             exit(4);
  419.         }
  420.         strcpy(dnbuf, user->pw_dir);
  421.         strcat(dnbuf, "/");
  422.         strcat(dnbuf, sl);
  423.         strcpy(dest, dnbuf);
  424.     }
  425. #endif    /* !defined(MSDOS) && !defined(VMS) */
  426.  
  427.     /* create output file */
  428. #ifdef MSDOS
  429.     out = fopen(dest, "wb");    /* Binary file */
  430. #else
  431.     out = fopen(dest, "w");
  432. #endif
  433.     if (out == NULL) {
  434.         perror(dest);
  435.         exit(4);
  436.     }
  437. #if !defined(MSDOS) && !defined(VMS)    /* i.e., UNIX */
  438.     chmod(dest, mode);
  439. #endif
  440.  
  441.     decode(in, out);
  442.  
  443.     if (fgets(buf, sizeof buf, in) == NULL || strcmp(buf, "end\n")) {
  444.         fprintf(stderr, "No end line\n");
  445.         exit(5);
  446.     }
  447.     exit(0);
  448. }
  449.  
  450. /*
  451.  * copy from in to out, decoding as you go along.
  452.  */
  453. decode(in, out)
  454. FILE *in;
  455. FILE *out;
  456. {
  457.     char buf[80];
  458.     char *bp;
  459.     int n;
  460.  
  461.     for (;;) {
  462.         /* for each input line */
  463.         if (fgets(buf, sizeof buf, in) == NULL) {
  464.             printf("Short file\n");
  465.             exit(10);
  466.         }
  467.         n = DEC(buf[0]);
  468.         if (n <= 0)
  469.             break;
  470.  
  471.         bp = &buf[1];
  472.         while (n > 0) {
  473.             outdec(bp, out, n);
  474.             bp += 4;
  475.             n -= 3;
  476.         }
  477.     }
  478. }
  479.  
  480. /*
  481.  * output a group of 3 bytes (4 input characters).
  482.  * the input chars are pointed to by p, they are to
  483.  * be output to file f.  n is used to tell us not to
  484.  * output all of them at the end of the file.
  485.  */
  486. outdec(p, f, n)
  487. char *p;
  488. FILE *f;
  489. {
  490.     int c1, c2, c3;
  491.  
  492.     c1 = DEC(*p) << 2 | DEC(p[1]) >> 4;
  493.     c2 = DEC(p[1]) << 4 | DEC(p[2]) >> 2;
  494.     c3 = DEC(p[2]) << 6 | DEC(p[3]);
  495.     if (n >= 1)
  496.         putc(c1, f);
  497.     if (n >= 2)
  498.         putc(c2, f);
  499.     if (n >= 3)
  500.         putc(c3, f);
  501. }
  502.  
  503. /*
  504.  * Return the ptr in sp at which the character c appears;
  505.  * NULL if not found
  506.  */
  507.  
  508. #define    NULL    0
  509.  
  510. char *
  511. index(sp, c)
  512. register char *sp, c;
  513. {
  514.     do {
  515.         if (*sp == c)
  516.             return(sp);
  517.     } while (*sp++);
  518.     return(NULL);
  519. }
  520.  
  521. ---CUT HERE--- Save as UUDECODE.DOC and read
  522.  
  523.             UUDECODE.DOC
  524.    by David Kirschbaum <kirsch%maxemail@peo-mis-emh1.army.mil>
  525.  
  526. UUDECODE uudecodes uuencoded files to original binary form.  It is
  527. compatible with the Unix (and other) uuencode/uudecode utilities.
  528.  
  529. Usage:
  530.  
  531.           UUDECODE<RETURN>
  532.     Displays usage message, prompts for input file name.
  533.  
  534.           UUDECODE [-o ][d:][\path\]filename.uue
  535.     Produces a uudecoded file, with the filename taken from
  536.     within the uuencoded file (which might include a path),
  537.     (provided the filename doesn't exist.  Use the "-o"
  538.     (or "/o") switch to force overwriting of any existing
  539.     output file.)
  540.  
  541.           UUDECODE /?  (or -?)
  542.     Writes a brief help screen to STDOUT and terminates.
  543.  
  544. Notes:
  545.  
  546. UUDECODE checks for existing files with the same name as the newly
  547. created output file.  It will produce an error message and abort if it
  548. finds one!  (Use the "-o" switch to force overwriting existing files.)
  549.  
  550. UUDECODE will accept an input path\filename up to 80 chars long, and will
  551. prompt if none is specified.
  552.  
  553. A uudecoded filename is taken from the uuencoded source file and is
  554. written to the current directory (or to the path included in the file
  555. header).
  556.  
  557. Input files may be any length.
  558.  
  559. Uuencoded file headers (mailing headers, etc.) need not be removed.
  560. However, any spurious lines between the "begin" and "end" lines MUST
  561. be removed.
  562.  
  563. Anything beyond the "end" line is ignored.  If no "end" is found, the
  564. output file is saved, but an error message is displayed.
  565.  
  566. Certain uuencoders append a "checksum" character to the end of each
  567. uuencoded line.  UUDECODE ignores these.
  568.  
  569. Uuencoded files generated or moved through a Unix system may have LF
  570. (ASCII 10) line endings instead of the DOS-convention CR/LF (ASCII
  571. 13/10) endings.  UUDECODE will handle those LF ends of line as well.
  572. you MAY get a "end not found" message, but the uudecoded file will be
  573. intact.
  574.  
  575. Certain systems and mailers will strip off trailing spaces on lines.
  576. UUDECODE attempts to replace them.
  577.  
  578. ---CUT HERE--- Save as BOOZ.UUE and use UUDECODE
  579. begin 644 booz.exe
  580. M35I$`!T``P`@`&P&___("8``````````/@````$`^S!J<@``````````````
  581. M```````````````````````!````W@```!`!````````````````````````
  582. M````````````````````````````````````````````````````````````
  583. M````````````````````````````````````````````````````````````
  584. M````````````````````````````````````````````````````````````
  585. M````````````````````````````````````````````````````````````
  586. M````````````````````````````````````````````````````````````
  587. M````````````````````````````````````````````````````````````
  588. M````````````````````````````````````````````````````````````
  589. M````````````````````````````````````````````````````````````
  590. M````````````````````````````````````````````````````````````
  591. M``````````````````````"Z"P,NB18U`K0PS2&++@(`BQXL`([:HY``C`:.
  592. M`(D>B@")+J8`Z#T!Q#Z(`(O'B]BY_W_\\J[C84,F.`5U]H#-@/?9B0Z(`+D!
  593. M`-/C@\,(@^/XB1Z,`(S:*^J+/B(%@?\``G,'OP`"B3XB!8''Q&MR*`,^&@5R
  594. M(K$$T^]'.^]R&8,^(@4`=`>#/AH%`'4.OP`0.^]W!XO]ZP/IA`&+WP/:B1Z>
  595. M`(D>H@"AC@`KV([`M$I7S2%?T^?ZCM*+Y_LSP"Z.!C4"OYX%N<1K*\_\\ZJT
  596. M`,T:B1:4`(D.E@`S[;@*`X[8O@``OPP`Z.H`+HX>-0+_-H8`_S:$`/\V@@#H
  597. M.@$NQ@;G`7(NQ@;6`0!0Z#D8N`H#CMB^#`"_#`#HN``NCAXU`O\6J`/_%JH#
  598. M_Q:L`RZ.'C4"Z'(`,\"+\+DM``($@-0`1N+X+:4,=`FY&0"Z+0#HQ0"+[+1,
  599. MBD8"S2&Y#@"Z1@#IP0`>N``US2&)'G(`C`9T`+@$-<TAB1YV`(P&>`"X!37-
  600. M(8D>>@",!GP`N`8US2&)'GX`C`:``+@`)8S*CMJZ7`'-(1_#'K@`)<46<@#-
  601. M(1\>N`0EQ19V`,TA'QZX!27%%GH`S2$?'K@&)<46?@#-(1_#M/^+UXO>.]]T
  602. M%(`__W0*.&<!=P6*9P&+TX/#!NOH.]=T((O:'@<&@#\`Q@?_+HX>-0)T!R;_
  603. M7P(?Z\4F_U<"'^N^P[1`NP(`S2'#N1X`NE0`+HX>-0+HZO^X`P!0Z/G^```!
  604. M`%6+[$Q,5E>+?@2+=@:#_P-]*+C7`%#HD@!9N!(!4.B*`%FXJ`!0Z((`6;@L
  605. M`5#H>@!9N`$`4.C6%EGHN@.+1`*)1OZ+7OZ`/TQU`\8';(M>_H`_6'4#Q@=X
  606. MBU[^@#]4=0/&!W2+7OZ`/VQT&H`_>'05@#]T=!"XJ`!0Z"X`6;@!`%#HBA99
  607. MB\8%!@!0B\<%_?]0_W;^_W0$Z-\&@\0(,\!0Z&L665]>B^5=PU6+[%97BWX$
  608. M"_]T&U?HO"A9B_`+P'00N+X#4%:X`0!05^BF&X/$"%]>7<-5B^Q6BT8$)7\`
  609. MB_"Y!`"[?`,N.0=T!D-#XO?K&"[_9PBX30%0Z*W_6>L<N%@!Z_2X80'K[S/`
  610. M4%"X:@%0N&8`4.B\_X/$"/]V!NB(_UG_=@CH@?]9_W8*Z'K_68-^!&9U"+@!
  611. M`%#HT!597EW#90!F`&T`=P`Z`S\#5@,P`U6+[%;K9H-^"@!\#G\'@7X(`"!V
  612. M!;X`(.L#BW8(B\:9*48(&58*_W8$5K@!`%"XM`=0Z)<9@\0(.\9T!;@#`.L[
  613. M5KBT!U#H[@%968-^!@!T&_]V!E:X`0!0N+0'4.C"&H/$"#O&=`6X`@#K$(-^
  614. M"@!_E'4&@WX(`'>,,\!>7<-5B^Q6@WX&`'4%N`$`ZR4S]NL:B\;1X(M>"`/8
  615. M_S?_=@3H$P!960O`=`+KWD8[=@9\X3/`7EW#58OL5E>+?@2+=@8SP(O0B\CK
  616. M#(`]`'4%N`$`ZS1&1XH$.@5T[H`]`'0'@#P_=0+K[(`\*G4'1HO.B]?KX@O2
  617. M=`Z+VH`_`'0'0HOZB_'KT#/`7UY=PU6+[#/`4%"X>@%0N&8`4.AF_H/$"%W#
  618. M58OL5NLBBU8&BT8$L03H%BB)1@2)5@:+5@J+1@BQ!.@%*(E&"(E6"H-^!@!_
  619. MV'4'@7X$$"=WSXM&!`M&!G4$,_;K,S/`N@H`4%+_=@;_=@2+3@:+7@0K7@@;
  620. M3@HSTKCH`^AA*E)0Z!`G!04`@](`4E#H!2>+\(O&7EW#58OL5E<S]NL)BUX*
  621. MBD8$B`!&.W8,?/*+1@H#1@Q(B_C&!0!/BT8,2(OP@WX(`'\(?$>#?@8`<D$S
  622. MP+H*`%!2_W8(_W8&Z,4F!#"(!4\SP+H*`%!2_W8(_W8&Z*$FB48&B58(3HM&
  623. M!@O"=`0+]G6[BT8&"T8(=0+K&C/VZP>+7@K&`"I&.W8,?/2+7@P#7@K&1_\`
  624. MBT8*7UY=PU6+[%97BSZ>!S/VZQ^+Q[$(T^B+7@10B@"8B]\SV('C_P#1XU@S
  625. MAYX%B_A&.W8&<MR)/IX'7UY=PU6+[%97BWX$,_;1Y[H(`.L9T>^+QS/&J0$`
  626. M=`N+QM'H-0&@B_#K`M'N2@O2?^.+QE]>7<-5B^Q6,_;K#E;HP/]9B][1XXF'
  627. MG@5&@?X``7+L7EW#58OLBQZ0`='CBT8$B8>V)_\&D`&!/I`!T`=R$C/`4%"X
  628. MK@%0N&8`4.B5_(/$"%W#58OLBT8$H[0GBT8&HZP'QP:R!PD`QP:J!P`"QP9>
  629. M-P(!QP:0`0``QP:N!P``QP9@-P``@SZ.`0!U#[@$8%#H#R=9HZ0'_P:.`8,^
  630. MI`<`=0/HQ?W_-K0GN/P/4+@!`%"XM!=0Z',6@\0(BQZT)_='`A``=`:X`0#I
  631. M!P'H\`'H`P&CJ`<]`0%U38,^8#<`=$*#/JP'`'0N_S:L!_\V8#>X`0!0N+0'
  632. M4.B&%X/$"#L&8#=T$C/`4%"XQP%0N&8`4.C/^X/$"/\V8#>XM`=0Z'7^65DS
  633. MP.NB@3ZH!P`!=1WHC0'HH`"CJ`>CH@>BH`>BI@>@H`>84.B-`5GK@Z&H!Z.P
  634. M!Z&H!SL&7C=R.Z&B!Z.H!Z"F!YA0Z+G^6>LJH:@'N@,`]^J+'J0'`]B*1P*8
  635. M4.B@_EFAJ`>Z`P#WZHL>I`<#V(L'HZ@'@3ZH!_\`=\Z@J`>BI@>BH`>84.AV
  636. M_NL1_PZ0`8L>D`'1X_^WMB?H%P%9@SZ0`0!UY^AP`:&P!Z.B!^G\_EW#58OL
  637. M@^P*5E>AK@<E!P")1OBAK@?1Z-'HT>B)1ORAK@<#!K('HZX'@7[\]P]R8XM&
  638. M^`,&L@>CK@>X_`\K1OR)1O:+1OP%M!>+^+ZT%^L)B@6(!$=&_T[V@W[V`'_Q
  639. M_S:T)_]V_+@!`%!6Z.H4@\0(BQZT)_='`A``=!(SP%!0N-X!4+AF`%#HA/J#
  640. MQ`C'1OP``(M&_`6T%XOPB@2T`(E&_D:*!+0`L0C3X(M6_@O0B5;^1HH$B$;[
  641. M@W[X`'0:BT;^BD[XT^A0BD;[F+$0*D[XT^!:"]")5OZ+'K('T>.+1OXCAY(!
  642. M7UZ+Y5W#58OLQP:R!PD`QP:J!P`"QP9>-P(!7<-5B^R!/F`W_`]R2(,^K`<`
  643. M="[_-JP'_S9@-[@!`%"XM`=0Z(85@\0(.P9@-W02,\!04+C[`5"X9@!0Z,_Y
  644. M@\0(_S9@-[BT!U#H=?Q96<<&8#<``(L>8#>*1@2(A[0'_P9@-UW#58OLH5XW
  645. MN@,`]^J+'J0'`]B@H`>(1P*A7C>Z`P#WZHL>I`<#V*&B!XD'_P9>-Z%>-SL&
  646. MJ@=R$X,^L@<-?0S_!K('H:H'T>"CJ@==PU6+[('LT@!65\=&]@``QT;T``#'
  647. M1O(!`(MV!.L!1H`\`'0%@#PN=?6`/"YT+O]V!.C*(5D%!0!0Z.$C68OP"\!U
  648. M`^B?^O]V!%;HC2%96;AP`E!6Z$HA65F)=@2X=0)0_W8$Z/`165F+^`O`=16X
  649. MB`)0_W8$N'@"4+AF`%#HW?B#Q`A7C4;$4.B!!5E9,\!0_W;>_W;<5^B_$X/$
  650. M"%>-1I)0Z)@%65F!?I+<IW4'@7Z4Q/UT$C/`4%"XB@)0N&8`4.B9^(/$"(M&
  651. MF`M&FG4#Z;`$BT::BU:8B5;ZB4;\_W8*_W8(C4:W4.AN^8/$!@O`=0/I@02+
  652. M7@:`/VQT`^EU`O]VK/]VJO]VJ/]VINCM^8/$"(E&YHM&H+$)T^@E?P")1O"+
  653. M1J"Q!=/H)0\`B4;NBT:@)1\`B_"+1J*Q"]/H)1\`B4;LBT:BL073Z"4_`(E&
  654. MZHM&HB4?`-'@B4;H@W[R`'05N*`"4.C)]UFXR`)0Z,'W6<=&\@``N`D`4(V&
  655. M+O]0_W:H_W:FN"``4.CJ^8/$"E"-AD+_4.A!(%E9N`4`4(V&+O]0BT;FF5)0
  656. MN"``4.C&^8/$"E"-AD+_4.CD'UE9N/0"4(V&0O]0Z-8?65FX"0!0C88N_U#_
  657. M=JS_=JJX(`!0Z)3Y@\0*4(V&0O]0Z+(?65FX]P)0C89"_U#HI!]96;@#`%"-
  658. MAB[_4(O&F5)0N"``4.AC^8/$"E"-AD+_4.B!'UE9N/H"4(V&0O]0Z',?65FX
  659. M`P!0BT;NN@,`]^J+%D8"`]!2C89"_U#HC1:#Q`:X_`)0C89"_U#H1Q]960OV
  660. M=":#?NX`=""X`P!0C88N_U`SP+ID`%!2BT;P!5``F5)0Z`(@4E#K#[@#`%"-
  661. MAB[_4#/`,])04K@@`%#HV_B#Q`I0C89"_U#H^1Y96;C^`E"-AD+_4.CK'EE9
  662. MN`,`4(V&+O]0BT;LF5)0N#``4.BI^(/$"E"-AD+_4.C''EE9N``#4(V&0O]0
  663. MZ+D>65FX`P!0C88N_U"+1NJ94E"X,`!0Z'?X@\0*4(V&0O]0Z)4>65FX`@-0
  664. MC89"_U#HAQY96;@#`%"-AB[_4(M&Z)E24+@P`%#H1?B#Q`I0C89"_U#H8QY9
  665. M6;@$`U"-AD+_4.A5'EE9C4:W4(V&0O]0Z$<>65FX!P-0C89"_U#H.1Y968V&
  666. M0O]0Z,#UZ0`"@'ZN`G\,@'ZN`G4?@'ZO`7X9N`D#4(U&MU"X&`)0N&4`4.C#
  667. M]8/$".G6`8M>!H`_='4#Z;@`@W[V`'0#Z:\`N`L#4(U&MU#HEPY968E&_@O`
  668. M=0/IF`!0Z.H+6;@9`U"-1K=0N`X#4+AM`%#H>O6#Q`BXK@-0N`$`4%"-1O!0
  669. MZ+`/@\0(N*X#4+@!`%!0C4;N4.B=#X/$"(!^[@IUYX!^\'ET'H!^\%ET&(!^
  670. M\&YT$H!^\$YT#(!^\&%T!H!^\$%UFH!^\&%T!H!^\$%U`_]&]H!^\&YT!H!^
  671. M\$YU$K@S`U"-1K=0N"D#4+AM`.DS_XM>!H`_='4'QT;^``#K$+@U`U"-1K=0
  672. MZ-D-65F)1OZ+7@:`/W1T'X-^_@!U&;A(`U"-1K=0N#@#4+AE`%#HNO2#Q`CI
  673. MO@`SP%#_=I[_=IQ7Z*,/@\0(QP:>!P``C4:W4.AL]%FX5@-0Z&3T68!^EP!U
  674. M%?]VK/]VJO]V_E?H^/2#Q`B)1OCK-H!^EP%U"?]V_E?HUO?K#8!^EP)U"_]V
  675. M_E?H?P=96>O;N%@#4(U&MU"X&`)0N&4`4.A`](/$"(-^^`!T(8U&MU#HZQQ9
  676. M@W[X`74%Z*[UZRZX;0-0C4:W4+A:`^E4_XM&I#L&G@=T#[AO`U#HV_-9QT;T
  677. M`0#K"+B'`U#HS/-9BUX&@#]T=`?_=O[H1`I9,\!0_W;\_W;ZZ13[5^@S"EG_
  678. M=O3H"0I97UZ+Y5W#58OL@^P$5HMV!(I$`Y@E_P"Q"-/@4(I$`I@E_P!:"\*)
  679. M1OS'1OX``(M&_,=&_```B4;^BD0!F"7_`-/@4(H$F"7_`%H+P@E&_(%._@``
  680. MBU;^BT;\7HOE7<-5B^Q6BW8$BD0!F"7_`+$(T^!0B@28)?\`6@O"7EW#58OL
  681. M@^PB5O]V!K@B`%"X`0!0C4;>4.B!#8/$"(OPC4;>4/]V!.@Z`%E9B\9>B^5=
  682. MPU6+[(/L-%;_=@:X,P!0N`$`4(U&S%#H4`V#Q`B+\(U&S%#_=@3H>0!968O&
  683. M7HOE7<-5B^Q,3%97BW8$BWX&QT;^``#K"HM>_HH!B`#_1OZ#?OX4?/"+QP44
  684. M`%#H4O]9B404B\<%%@!0Z$7_68E$%HO'!1@`4.C?_EF)1!B)5!J+QP4<`%#H
  685. MS_Y9B40<B50>BD4@B$0@BD4AB$0A7UZ+Y5W#58OL3$Q65XMV!(M^!E?H_OY9
  686. MB02+QT!`4.CS_EF)1`**102(1`2*106(1`6+QP4&`%#H@?Y9B40&B50(B\<%
  687. M"@!0Z''^68E$"HE4#(O'!0X`4.BZ_EF)1`Z+QP40`%#HK?Y9B400B\<%$@!0
  688. MZ*#^68E$$HO'!10`4.@Z_EF)1!2)5!:+QP48`%#H*OY9B408B50:BD4<B$0<
  689. MBD4=B$0=BD4>B$0>B\<%(`!0Z`C^68E$'XE4(8O'!20`4.A1_EF)1"/'1OX`
  690. M`.L,BU[^BD$FB$`E_T;^@W[^#7SN7UZ+Y5W#58OL5HI.!-,F8C?K6:%D-RE&
  691. M!(M.!*%F-]/@BQ9B-PO0B19B-XL>;FOW1P(@`'0(QP9F-P``ZRB+'FYKBP=(
  692. MB0<+P'P.BQYN:XMW"O]'"HH$ZPC_-FYKZ%$46;0`HV8WQP9D-P@`BT8$.P9D
  693. M-W^>*09D-XL.9#>A9C?3Z(L68C<+T(D68C=>7<-5B^Q6L1`J3@2A8C?3Z(OP
  694. M_W8$Z&'_68O&7EW#58OL5HMV!H-^"`!T)_]V"%:X`0!0_W8$Z'T,@\0(.\9S
  695. M$C/`4%"XB@-0N&8`4.C(\(/$"%;_=@3H<O-965Y=PU6+[,<&8C<``,<&9C<`
  696. M`,<&9#<``+@0`%#H__Y97<-5B^R#[`165_]V!NAW_UF)1OP+P'4R_W8&Z&G_
  697. M68E&_C/VZP;&A&A7`$8[=@1\]3/VZPR+WM'CBT;^B8=R7T:!_@`!?.[IA0`S
  698. M]NM:H6(WL0W3Z(E&_CT'`'40OP`0ZP71[_]&_H4^8C=U]8-^_@=]!;@#`.L&
  699. MBT;^!?W_4.A\_EF*1OZ(A&A71CMV"'48N`(`4.CP_EF)1O[K!L:$:%<`1O].
  700. M_GWU.W;\?*'K!L:$:%<`1CMV!'SUN')?4+@(`%"X:%=0_W8$Z#`#@\0(7UZ+
  701. MY5W#58OL@^P$5E>X"0!0Z*/^68E&_`O`=32X"0!0Z)3^68E&_C/VZP;&A&QI
  702. M`$:!_OX!?/0S]NL,B][1XXM&_HF':#=&@?X`$'SNZ<H`,_;IF0"+'F(WL0C3
  703. MZ]'CBX=R7XE&_CT3`'PHOX``A3YB-W0+BU[^T>.+AW)AZPF+7O[1XXN'?%>)
  704. M1O[1[X-^_A-]VXM>_HJ':%>T`%#HCOU9@W[^`G\]@W[^`'4'QT;^`0#K*8-^
  705. M_@%U#;@$`%#H]OU9!0,`ZPNX"0!0Z.G]6044`(E&_NL&QH1L:0!&_T[^??7K
  706. M"HI&_@3^B(1L:48[=OQ]`^E?_^L&QH1L:0!&@?[^`7STN&@W4+@,`%"X;&E0
  707. MN/X!4.@5`H/$"%]>B^5=PU6+[%97@SYJ:0!U0+@0`%#HA/U9HVII"\!U"L<&
  708. M:&D!`#/`ZV^X`P!0N`4`4+@3`%#HWOV#Q`;HJ_ZX__]0N`0`4+@.`%#HR?V#
  709. MQ`;_#FIIBQYB-[$$T^O1XXNW:#>!_OX!<B._"`"%/F(W=`J+WM'CB[=R8>L(
  710. MB][1XXNW?%?1[X'^_@%SX(J$;&FT`%#H??Q9B\9?7EW#58OL3$Q6BQYB-[$(
  711. MT^O1XXN'<E^)1OX]#@!R*+Z``(4V8C=T"XM>_M'CBX=R8>L)BU[^T>.+AWQ7
  712. MB4;^T>Z#?OX.<]N+7OZ*AVA7M`!0Z"7\68-^_@!T&(M&_DA0Z)_\68I._O[)
  713. MN@$`T^(#T(E6_HM&_EZ+Y5W#58OLZ-W\QP9J:0``7<-5B^SH[/_'!FQK``#'
  714. M!FAI``!=PU6+[$Q,5E>+?@8S]NL@BQYJ:XH!B]Z(`:%J:T`E_Q^C:FM&B\8[
  715. M1@1U!(O&ZV[_#FQK?=KHE_Z)1OZ#/FAI`'0"Z^>!?O[_`'<1B]Z*1OZ(`4:+
  716. MQCM&!'7;Z\^+1OXM_0"C;&OH__Z+UBO02H'B_Q^)%FIKZQZ+'FIKB@&+WH@!
  717. MH6IK0"7_'Z-J:T:+QCM&!'4"ZY;_#FQK?=SKF%]>B^5=PU6+[%:+1@2C;FOH
  718. M/?_K';BT!U"X`"!0Z$3_65F+\/]V!E"XM`=0Z+;[@\0&@SYH:0!TW#/`7EW#
  719. M58OL@^QV5E?'1OX!`.L1BU[^T>.-1M`#V,<'``#_1OZ#?OX0=NG'1OX``.L8
  720. MBUX&`U[^B@>T`-'@C5;0`\*+V/\'_T;^BT;^.T8$<N#'1HP``,=&_@$`ZS&+
  721. M7O[1XXU&B@/8BP>+7O[1XXU6T`/:BQ>Q$"I._M/B`\*+7OY#T>.-5HH#VHD'
  722. M_T;^@W[^$';)@WZL`'02,\!04+B4`U"X9@!0Z/OK@\0(N!``*T8(B4;XQT;^
  723. M`0#K*8M>_M'CC4:*`]B*3OC3+XM>_M'CC4:N`]B*3@@J3OZX`0#3X(D'_T;^
  724. MBT;^.T8(=L_K&8M>_M'CC4:N`]BQ$"I._K@!`-/@B0?_1OZ#?OX0=N&+7@C1
  725. MXXU&C`/8BP>*3OC3Z(E&_@O`=":X`0"*3@C3X(E&_.L1BT;^T>"+7@H#V,<'
  726. M``#_1OZ+1OX[1OQUYXM&!(E&]K$/*DX(N`$`T^")1O+'1OH``.G@`(M>!@->
  727. M^HH'M`"+^`O`=0/IR@"+W]'CC4:*`]B+!XO?T>.-5JX#V@,'B4;T.WX(=RR+
  728. MW]'CC4:*`]B+!XE&_NL2BT;^T>"+7@H#V(M&^HD'_T;^BT;^.T;T<N;K<HO?
  729. MT>.-1HH#V(L'B4;\BD[XT^C1X(M6"@/0B_*+QRM&"(E&_NM!@SP`=1R+7O;1
  730. MXS/`B8=\5XM>]M'CB8=R88M&]HD$_T;VBT;RA4;\=`F+!-'@!7)AZP>+!-'@
  731. M!7Q7B_#19OS_3OZ#?OX`=;F+1OJ)!(O?T>.-1HH#V(M&](D'_T;ZBT;Z.T8$
  732. M<P/I%?]?7HOE7<-5B^Q6,\!0_W8$Z"T,65F+\#W__W4"ZQKW1@8"`'0&]\8!
  733. M`'4$,\#K"<<&D@`%`+C__UY=PU6+[(,^I@,@=06X`0#K$XL>I@/1XXM&!(F'
  734. M<&O_!J8#,\!=PU6+[%:+=@0+]GP%@_X4?`FX!@!0Z-`-ZP^+WM'CQX?N!/__
  735. M5NC5"UE>7</#58OLZPJ+'J8#T>/_EW!KH:8#_PZF`PO`=>O_=@3HI^=97<-5
  736. MB^Q65XMV!+___SET#G0"ZV"#?`8`=!Z#/`!]"U;H5P!9"\!T`NM*]T0"!`!T
  737. M!_]T".A@$UF`?`0`?`N*1`284.AM_UF+^,=$`@``QT0&``#'!```QD0$_X-\
  738. M#`!T$S/`4/]T#.@1"5#H\Q%9QT0,``"+QU]>7<-5B^Q65XMV!`OV=07H<P#K
  739. M:SET#G0%N/__ZV.#/`!\*?=$`@@`=0J+Q@4%`#E$"G46QP0``(O&!04`.40*
  740. M=0B+1`B)1`KK->LSBT0&`P1`B_B+!"O'B017BT0(B40*4(I$!)A0Z!,)@\0&
  741. M.\=T#O=$`@`"=0>!3`(0`.N:,\!?7EW#58OL3$Q65\=&_@``OQ0`OJX#ZQ+W
  742. M1`(#`'0(5NA?_UG_1OZ#QA"+QT\+P'7GBT;^7UZ+Y5W#58OL3$Q65XMV"#/_
  743. MQT;^```SR8O>1HH'BM`\<G4(OP$`N0$`ZR"`^G=U!;\"`^L(@/IA=0V_`@G'
  744. M1OZ``+D"`.L$,\#K;XH$BM!&/"MT#8`\*W4C/'1T!#QB=1N`^BMU!(H$BM"+
  745. MQR7\_PT$`(OXQT;^@`&Y`P"`^G1U!H'/`$#K'H#Z8G4&@<\`@.L/H18%)0#`
  746. M"_B+QZD`@'0$@<E``,<&J@-,)(M>!HD_BUX$BT;^B0>+P5]>B^5=P@8`58OL
  747. M@^P$5HMV"/]V!(U&_E"-1OQ0Z"O_B40""\!T'(!\!`!](_]V_/]V_O]V!NB"
  748. M#8/$!HA$!`K`?0W&1`3_QT0"```SP.L_BD0$F%#HF`M9"\!T!8%,`@`"N``"
  749. M4(5$`G0%N`$`ZP(SP%`SP%!6Z/0%@\0("\!T!U;HEOU9Z\3'1`P``(O&7HOE
  750. M7<(&`%:^K@.`?`0`?`J+QH/&$#WN!'+P@'P$`'P$,\#K`HO&7L-5B^Q6Z-?_
  751. MB_`+P'4$,\#K"E;_=@3_=@;H-?]>7<-5B^Q6BW8(.70.=`0SP.L/5N@Q_5E6
  752. M_W8$_W8&Z!/_7EW#58OL5H-^!`!\">B1_XOP"\!U!#/`ZQ"*1@2(1`16,\!0
  753. M_W8&Z.G^7EW#58OL3$Q65XM^".G%`/]&!HM>!(M'!CM&!G8%BT8&ZP:+7@2+
  754. M1P:+\(M>!/='`D``=%Z#?P8`=%B+1P8[1@9S4(,_`'5+_TX&,_;K#(M>!`-W
  755. M!HM'!BE&!HM>!(M'!CM&!G;I5E>*1P284.A:#H/$!HE&_@/X.\9T68O&*T;^
  756. M`48&BUX$@T\"(.M1BD;^B`5'_TX&BT8&"\!T,$YT+8M>!(L'2(D'"\!\$E.+
  757. M7PJ+PUO_1PJ+V(H'M`#K!_]V!.CI"%F)1OX]__]UP(-^_O]U`NNO@WX&`'0#
  758. MZ3+_BT8&7UZ+Y5W"!@!5B^R#[`16BW8&"_9U`NLVB]XSR8M&"#/2Z/\1B4;\
  759. MB5;^@_H!=Q]R!`O`<QG_=@3_=OS_=@KHX?Y0BT;\6BO",]+W]NL",\!>B^5=
  760. MPU6+[%97BUX$@S\`?0B+1P8#!T#K"HM>!(L'F3/"*\*+\(O(BUX$]T<"0`!T
  761. M`NLOBUX$BW\*@S\`?1WK"4^+WX`_"G4!08O&3@O`=?#K$(O?1X`_"G4!08O&
  762. M3@O`=?"+P5]>7<("`%6+[%:+=@16Z,W[60O`=`6X___K2H-^"@%U$(,\`'X+
  763. M5NAV_YDI1@895@B!9`)?_L<$``"+1`B)1`K_=@K_=@C_=@:*1`284.C["(/$
  764. M"(/Z_W4*/?__=06X___K`C/`7EW#58OL@^P$5HMV!(I$!)A0Z$T$68E&_(E6
  765. M_H,\`'T-5N@6_YD!1OP15O[K"U;H"?^9*4;\&5;^BU;^BT;\7HOE7<-5B^R#
  766. M[`16BW8&"_9U!8M&".LQB]XSR8M&"#/2Z*80B4;\B5;^@_H!=QAR!`O`<Q+_
  767. M=@3_=OS_=@KH/0$STO?VZP(SP%Z+Y5W#58OL5HMV!HL$2(D$5HI&!)A0Z`4`
  768. M65E>7<-5B^Q6BW8&BD8$HK!K@SS_?3>+!$")!(M<"O]$"J"P:X@']T0""`!T
  769. M'8`^L&L*=`>`/K!K#74/5NB7^ED+P'0&N/__Z;D`Z;$`]T0"D`!U!_=$`@(`
  770. M=0>!3`(0`.OB@4P"``&#?`8`=$2#/`!T"U;H8/I9"\!T`NO'BT0&]]B)!(M<
  771. M"O]$"J"P:X@']T0""`!T&8`^L&L*=`>`/K!K#74+5N@N^ED+P'0"ZY7K38`^
  772. ML&L*=1_W1`)``'48N`$`4+@<!5"*1`284.@$#(/$!CT!`'48N`$`4+BP:U"*
  773. M1`284.CL"X/$!CT!`'0/]T0"``)U"(%,`A``Z4;_H+!KM`!>7<-5B^Q6BW8$
  774. MN+X#4%;H[_Y965Y=PU6+[$Q,5E>+?@:+=@2)?O[W1`((`'0FZQI6BUX(_T8(
  775. MB@>84.C#_EE9/?__=04SP.GW`(O'3PO`==_IZ@#W1`)``'4#Z8,`@WP&`'1E
  776. M.7P&<RB#/`!T"U;H8?E9"\!T`NO,5_]V"(I$!)A0Z$L+@\0&.\=S`NNWZ:T`
  777. MBP0#QWP:@SP`=0JX__\K1`:)!.L+5N@I^5D+P'0"ZY17_W8(_W0*Z)('@\0&
  778. MBP0#QXD$`7P*ZW57_W8(BD0$F%#H^PJ#Q`8[QW,#Z6;_ZUV#?`8`=$'K-HL$
  779. M0(D$"\!]%HM<"O]$"E.+7@C_1@B*!UN(![0`ZP]6BUX(_T8(B@=0Z-+]65D]
  780. M__]U`^DF_XO'3PO`=</K%E?_=@B*1`284.@9`H/$!CO'<P/I!_^+1OY?7HOE
  781. M7<(&`*"R`YA0Z-\%60O`=0:!)K`#__VX``)0A0:P`W0%N`$`ZP(SP%`SP%"X
  782. MK@-0Z#8`@\0(H,(#F%#HK059"\!U!H$FP`/__;@``E"%!L`#=`6X`@#K`C/`
  783. M4#/`4+B^`U#H!`"#Q`C#58OL5E>+=@2+?@HY=`YU#(-^"`)_!H'__W]V!KC_
  784. M_^FF`(,^(`4`=0Z!_KX#=0C'!B`%`0#K$X,^'@4`=0R!_JX#=0;'!AX%`0"#
  785. M/`!T$;@!`%`SP#/24%)6Z/#[@\0(]T0"!`!T!_]T".C5"EF!9`+S_\=$!@``
  786. MB\8%!0")1`B)1`J#?@@"=#T+_W8YQP:H`VTD@WX&`'465^AT"UF)1@8+P'0'
  787. M@4P"!`#K`^EM_XM&!HE$"HE$"(E\!H-^"`%U!8%,`@@`,\!?7EW#58OL5E?_
  788. M=@3H&PE9B_C_=@;H$@E9B_`[1@AV`XMV"%:+1@0#QU#_=@;HR`6#Q`:+QP/&
  789. MBUX$`]C&!P"+1@1?7EW#58OLN`$`4#/`,])04O]V!.AR!(/$"%W#58OL5HMV
  790. M!@OV=0.^M&O&!`"X)`505NA6"%E9N`H`4(O&!0,`4#/`4/]V!.@,!8/$"+@H
  791. M!5!6Z#8(65F+QEY=P@0`58OL5HMV!%:#/K)K_W4%N`(`ZP.X`0`!!K)KH;)K
  792. M4.B<_XOP,\!05NAR]5E9/?__==6+QEY=PU6+[('LB@!65XM&"$`]`@!S!3/`
  793. MZ=(`BUX$T>/WA^X$`(!T$O]V"/]V!O]V!.A3"(/$!NFS`(M>!-'C@:?N!/_]
  794. MBT8&B4;XBT8(B4;\ZU7_3OR+7OC_1OB*!XA&^SP*=03&!`U&BD;[B`1&C89V
  795. M_XO6*]"!^H``?#&+UBO0B_I24/]V!.C\!X/$!HE&_CO'=!,+P',%N/__ZTJ+
  796. M1@@K1OSK/>M`C89V_XOP@W[\`'6?C89V_XO6*]"+^HO""\!V)E*-AG;_4/]V
  797. M!.BW!X/$!HE&_CO'=!`+P',"Z[F+1@@#1OXKQ^L#BT8(7UZ+Y5W#5E<S_[ZN
  798. M`^L0]T0"`P!T!5;H"_59@\801X/_%'SK7U[#5E>_!`"^K@/K$/=$`@,`=`56
  799. MZ&'U64^#QA`+_W7L7U[#58OLBT8$B]2!Z@`".\)S!Z.:`#/`ZPG'!I(`"`"X
  800. M__]=PU6+[(M&!(M6!@,&F@"#T@"+R`O2=1"!P0`"<@H[S',&AP::`.L)QP:2
  801. M``@`N/__7<-5B^S_=@3HI/]97<-5B^R+1@294E#HM_]965W#58OLBTX(M$.*
  802. M1@:+5@3-(7(#D>L$4.CM`5W#58OLM#Z+7@3-(7(,T>/'A^X$__\SP.L$4.C/
  803. M`5W#58OL@^P$BUX$T>/WA^X$``)T!;@!`.M,N`!$BUX$S2%R/O;"@'4UN`%"
  804. M,\F+T<TA<BY24+@"0C/)B]'-(8E&_(E6_EI9<AFX`$+-(7(2.U;^<@EW!3M&
  805. M_'("Z[<SP.L$4.AI`8OE7<-65[\4`+ZN`^L3BT0")0`#/0`#=056Z"ST68/&
  806. M$(O'3PO`=>9?7L-5B^Q6BW8$]T0"``)T`^C(__]T!HM$"(E$"E"*1`284.B<
  807. M!(/$!HD$"\!^"(-D`M\SP.L>@SP`=0Z+1`(E?_X-(`")1`+K",<$``"#3`(0
  808. MN/__7EW"`@!5B^Q6BW8$BP1`B016Z`0`65Y=PU6+[%:+=@2#/`!^$(L$2(D$
  809. MBUP*_T0*B@?I@@"#/`!\!_=$`A`!=`F#3`(0N/__ZV^!3`*``(-\!@!T#%;H
  810. M5?\+P'0"Z^;KQ/=$`@`"=`/H'/^X`0!0N,)K4(I$!)A0Z*<$@\0&"\!U((I$
  811. M!)A0Z)7^63T!`'0"ZZ^+1`(E?_X-(`")1`+KI>NC@#[":PUU!_=$`D``=+&#
  812. M9`+?H,)KM`!>7<.XK@-0Z%;_6<-5B^RT1(I&!HM>!(M."HM6",TA<@R#?@8`
  813. M=02+PNL&ZP10Z`(`7<-5B^Q6BW8$"_9\%8/^6'X#OE<`B38N!8J$,`68B_#K
  814. M$8O&]]B+\#TC`'_EQP8N!?__B3:2`+C__UY=P@(`58OLN`!$BUX$S2&2)8``
  815. M7<-5B^R+7@31XX&G[@3__;1"BD8*BUX$BTX(BU8&S2%R`NL%4.B,_YE=PU6+
  816. M[(/L(E97!HM^"AX'BUX(@_LD=UB`^P)R4XM&#(M.#@O)?1&`?@8`=`O&!2U'
  817. M]]GWV(/9`(UVWN,/D2O2]_.1]_.(%$;C">OQ*]+W\X@41@O`=?6-3M[WV0/.
  818. M_$Z*!"P*<P0$.NL#`D8$JN+OL`"J!XM&"E]>B^5=P@P`58OL@WX("G4&BT8$
  819. MF>L%BT8$,])24/]V!O]V"+`!4+!A4.A>_UW#58OL_W8&_W8$_W8(_W8*L`!0
  820. ML&%0Z$3_7<-5B^S_=@;_=@3_=@C_=@J#?@H*=06X`0#K`C/`4+!A4.@?_UW#
  821. M58OL5E>,V([`BWX$BW8&BTX(T>G\\Z5S`:2+1@1?7EW#58OL5E>,V([`BT8$
  822. M.T8&<P;]N`$`ZP/\,\"+=@2+?@:+3@@+P'0&`_%.`_E/]\<!`'0$XQ&D22OP
  823. M*_C1Z?.E<P4#\`/XI/Q?7EW#58OL_W8(_W8$_W8&Z*;_@\0&BT8$7<-5B^R+
  824. M3@2T/(M6!LTA<@+K!%#H#OY=P@0`58OLBUX$*\DKTK1`S2%=P@(`58OL@^P$
  825. M5E>+=@;WQ@#`=0RA%@4E`,"+U@O0B_+WQ@`!='JA&`4A1@B+1@BI@`%U![@!
  826. M`%#HP/TSP%#_=@3HL?M968E&_CW__W4I]T8(@`!T!#/`ZP.X`0")1O[WQO``
  827. M="G_=@0SP%#H:O^+^`O`?1/IL0#WQ@`$=".X4`!0Z'?]Z:,`5^B%^UGK%_]V
  828. M!/]V_NA!_XOX"\!]:NF(`,=&_@``5O]V!.B$`%E9B_@+P'Q3,\!05^@9_5E9
  829. MB4;\J8``=!Z!S@`@]\8`@'0>)?\`#2``4+@!`%!7Z/;\@\0&ZPKWQ@`"=`17
  830. MZ`3_@W[^`'04]\;P`'0.N`$`4%#_=@3H\?J#Q`8+_WP=]\8``W0%N``0ZP(S
  831. MP(O6@>+_^`O0B]_1XXF7[@2+QU]>B^5=PU6+[$Q,L`&+3@;WP0(`=0JP`O?!
  832. M!`!U`K``BU8$L?`B3@8*P;0]S2%R&HE&_HM>_M'CBT8&)?_X#0"`B8?N!(M&
  833. M_NL$4.B#_(OE7<-5B^R#[`165XM&"$`]`@!R#8M>!-'C]X?N!``"=`4SP.F,
  834. M`/]V"/]V!O]V!.B&`(/$!HE&_D`]`@!R#8M>!-'C]X?N!`"`=`6+1O[K8HM.
  835. M_HMV!AX'B_Z+WORL/!IT+3P-=`6JXO3K'.+P!E.X`0!0C4;]4/]V!.@[`(/$
  836. M!EL'_(I&_:H[^W4"ZYGK(%.X`0!0]]D;P%!1_W8$Z##\@\0(BUX$T>.!C^X$
  837. M``);*_N77UZ+Y5W#58OLM#^+7@2+3@B+5@;-(7("ZP10Z++[7<-5B^Q65_R+
  838. M?@0>!XO7,L"Y___RKHUU_XM^!KG___*N]]$K^8?W]\8!`'0"I$G1Z?.E<P&D
  839. MDE]>7<-5B^Q65XS8CL#\BWX&B_<RP+G___*N]]&+?@3SI(M&!%]>7<-5B^Q7
  840. MC-B.P(M^!#/`_+G___*ND??02%]=PU6+[+1!BU8$S2%R!#/`ZP10Z"7[7<-5
  841. MB^R+7@31X_>'[@0`"'03N`(`4#/`,])04O]V!.A1^X/$"+1`BUX$BTX(BU8&
  842. MS2%R#U"+7@31XX&/[@0`$%CK!%#HWOI=PUD.43/)ZQ99#E&Y`0#K#ED.4;D"
  843. M`.L&60Y1N0,`5597B^R+^8M&"HM6#(M>#HM.$`O)=0@+TG1I"]MT9??'`0!U
  844. M'`O2>0KWVO?8@]H`@\\,"\EY"O?9]]N#V0"#]P2+Z;D@`%<S_S/VT>#1TM'6
  845. MT=<[_7(+=P0[\W(%*_,;_4#BYUOWPP(`=`:+QHO7T>OWPP0`=`?WVO?8@]H`
  846. M7UY=R@@`]_/WQP(`=`&2,]+K[5L.4X#Y$',0B]K3Z-/Z]MF`P1#3XPO#RX#I
  847. M$)*9T_C+``````````````!65XOTBUP&@^L$<@X['HP%=`7H0@#K`^@#`%]>
  848. MPSD>B@5T(XMW`O8$`70&B3:,!>L@.S:*!70-B][H5`"+1P*CC`7K#8O>,\"C
  849. MB@6CC`6CC@53Z#GW6\/_#SL>B@5T&(MW`HL$J`%U#P,'B02+/P/[B74"B][K
  850. M`^@R`(L_`_N+!:@!=`'#`0>+]P/PB5P"B]^+?P8[WW0.B3Z.!8MW!(EU!(E\
  851. M!L/'!HX%``##BS:.!0OV=!"+?`:)7`:)702)?P:)=P3#B1Z.!8E?!(E?!L-6
  852. M5XOTBT0&"\!T4@4%`'(V)?[_/0@`<P.X"`"#/HH%`'0?BQZ.!0O;=`V+TSD'
  853. M<QJ+7P8[VG7UZ&8`ZR'HB@#K'.@<`.L7,\#K$XOP@\8(.3=SZ>AK__\'B\,%
  854. M!`!?7L-0,\!04.AY]EM;)0$`=`DSTE)0Z&OV6UM84#/;4U#H8/9;6SW__W04
  855. MB]B)'HH%B1Z,!5A`B0>#PP2+P\-;,\##4#/;4U#H.?9;6SW__W06B]BAC`6)
  856. M1P*)'HP%6$")!X/#!(O#PU@SP,,I!XOS`S>+_@/X0(D$B5P"B74"@\8$B\;#
  857. MB^Q34%%0Z!7_6PO`=!\>!_R+^(MV_HL,@\8$5H/I!='I\Z6)1O[H)OY;BU[^
  858. M@\0&PXO"@\((.]%W-8O1.QZ,!74/B0?_!P/#4U#HD/5;6^L>B_L#^(E=`BO0
  859. M*1>+]P/RB7P"0HD5B\N+W^@Y_HO9@\,$PU9758OLBUX(BT8*"\!T-PO;="V#
  860. MZP2+#TF+T(/"!8/B_H/Z"',#N@@`.\IR#'<%@\,$ZPCHA__K`^A1_XO#ZPM0
  861. MZ&?^ZP13Z)+]6UU?7L-6EI*%P'0"]^/C!9'WY@/!EO?C`]9>PP``CP:4!8\&
  862. ME@6/!I@%+HP>BB^)-IH%B3Z<!?R.!HX`OH``,N0FK$",Q8?6DXLVB`!&1KD!
  863. M`(`^D``#<A&.!HH`B_ZQ?S+`\J[C;H#Q?U"+P0/#0"7^_XO\*_AR7(OG!A\6
  864. M!U%)\Z0RP*J.W8?RA]F+PXO00^@9`'<'<D#H$@!W^3P@=`@\#70$/`EUZ#+`
  865. MZ^0+P'0'0JH*P'4!0X;@,L#YXQ6L22PB=`\$(CQ<=0>`/")U`JQ)"_;#Z=K1
  866. M60/*+HX>BB^)'I`%0P/;B_2+["OK<N:+Y8DND@7C#HEV`(/%`C:L"L#@^G3P
  867. M,\")1@`NCAZ*+XLVF@6+/IP%_S:8!?\VE@6AD`6C@@"AD@6CA`#_)I0%````
  868. M``)9(0```!",+P````````````!4=7)B;R!#*RL@+2!#;W!Y<FEG:'0@,3DY
  869. M,"!";W)L86YD($EN=&PN`$YU;&P@<&]I;G1E<B!A<W-I9VYM96YT#0I$:79I
  870. M9&4@97)R;W(-"D%B;F]R;6%L('!R;V=R86T@=&5R;6EN871I;VX-"@``````
  871. M````````````````````````````````````````````Q&O$:P``````````
  872. M`````%5S86=E.B`@8F]O>B![;'AT?2!A<F-H:79E6RYZ;V]=(%L@9FEL92`N
  873. M+BX@70H`4'5B;&EC(&1O;6%I;B!Z;V\@87)C:&EV92!E>'1R86-T;W(O;&ES
  874. M=&5R(&)Y(%)A:'5L($1H97-I"@!697)S:6]N(#(N,"`H,3DY,2\P-R\P-RD*
  875. M`&P@/2!L:7-T+"!X(#T@97AT<F%C="P@="`]('1E<W0*`%=!4DY)3D<Z("``
  876. M15)23U(Z("``1D%404PZ("``26YT97)N86P@97)R;W(*`%)A;B!O=70@;V8@
  877. M;65M;W)Y"@```````````````````````````````/\!_P/_!_\/_Q]3=&%C
  878. M:R!O=F5R9FQO=R!I;B!L>F0H*0H`3W5T<'5T(&5R<F]R(&EN(&QZ9"@I"@!)
  879. M;G!U="!E<G)O<B!I;B!L>F0Z<F1?9&-O9&4*`%=R:71E(&5R<F]R(&EN(&QZ
  880. M9#IW<E]D8VAA<@H`02!H:6=H97(@=F5R<VEO;B!O9B!/;WH@:7,@;F5E9&5D
  881. M('1O(&5X=')A8W0@`$@",#`P2F%N1F5B36%R07!R36%Y2G5N2G5L075G4V5P
  882. M3V-T3F]V1&5C`"YZ;V\`<F(`0V]U;&0@;F]T(&]P96X@``H`0F%D(&5N=')Y
  883. M(&EN(&%R8VAI=F4*`$QE;F=T:"`@("!#1B`@4VEZ92!.;W<@($1A=&4@("`@
  884. M("!4:6UE"@`M+2TM+2TM+2`@+2TM("TM+2TM+2TM("`M+2TM+2TM+2T@+2TM
  885. M+2TM+2T*`"4@`"`@`"``(``@`#H`.@`@(``*``H`<F(`3W9E<G=R:71E(``@
  886. M*%EE<R].;R]!;&PI/R``4VMI<'!I;F<@``H`=V(`0V]U;&0@;F]T(&]P96X@
  887. M`"!F;W(@;W5T<'5T+@H`(``*`$DO3R!E<G)O<B!W<FET:6YG(``*`#PM+0=7
  888. M05).24Y'.B`@0F%D($-20RX*``H``&1I<VL@9G5L;`!"860@9&5C;V1E('1A
  889. M8FQE"@```$<91QE'&0``"0(`````````````K@,```H"`0```````````+X#
  890. M```"`@(```````````#.`P``0P(#````````````W@,``$("!```````````
  891. M`.X#`````/\```````````#^`P````#_````````````#@0`````_P``````
  892. M`````!X$`````/\````````````N!`````#_````````````/@0`````_P``
  893. M`````````$X$`````/\```````````!>!`````#_````````````;@0`````
  894. M_P```````````'X$`````/\```````````".!`````#_````````````G@0`
  895. M````_P```````````*X$`````/\```````````"^!`````#_````````````
  896. MS@0`````_P```````````-X$`2`"(`(@!*`"H/______________________
  897. M_________________P!`__\```T````````05$U0`"XD)"0``````!,"`@0%
  898. M!@@("!05!1/_%@41`O________________\%!?____________________\/
  899. M_R,"_P______$___`@(%#P+___\3__________\C_____R/_$_\`````````
  900. $``````__
  901. `
  902. end
  903. ---CUT HERE--- End of CBIP Starter's Kit
  904.  
  905. =======================================================================
  906. Brian O'Neill - Systems Manager, Computer Science, University of Lowell
  907. Internet: oneill@ulowell.edu                 (508) 934-3645 
  908. UUCP: harvard!ulowell!oneill
  909.  
  910.