10  REM LHS DECISION LIBRARY -- PUNCHED JULY 18 '73
20  DIM B$[255]
30  REM *****  GIANT  *****  DOUG OMAN  *****  12/31/70  *****
40  REM COPYRIGHT 1972 BY THE REGENTS OF THE UNIV. OF CALIF.
50  REM PRODUCED AT THE LAWRENCE HALL OF SCIENCE, BERKELEY
60  REM MODIFIED TO HP BASIC  (ACCESS SYSTEM)   3/18/76
70  LET W=5
80  V=0
90  DIM A$[72],C$[40],D[6],E[6],X$[5],Y$[72],Z$[72],W$[72]
100  LET C$="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,! ?:/-'"
110  LET Z$='1'2'3'6'7"@ABCDEFGHIJKLMNOPQRSTUVWXYZ"
120  LET Z$[33]="0123456789!#$%&'()*:=-+;<,>.?/["'92"]^"
130  MAT D=ZER
140  MAT E=ZER
150  PRINT "REVISED FOR 132 CHARACTER PRINTERS"
160  PRINT '10"CHARACTERS THAT CAN BE ENLARGED:  "C$;LIN(2)
170  PRINT LIN(1)"STATEMENT YOU WISH ENLARGED:"
180  LINPUT A$
190  PRINT 
200  IF LEN(A$)=0 THEN 1310
210  FOR A=1 TO LEN(A$)
220  GOSUB 960
230  IF X>0 THEN 290
240  IF V=1 THEN 280
250  PRINT '10"THE FOLLOWING ARE ILLEGAL CHARACTERS:  "A;
260  LET V=1
270  GOTO 290
280  PRINT ",";A;
290  NEXT A
300  IF V=1 THEN 170
310  PRINT "POSITION THE PAPER - PUSH 'RETURN' WHEN READY TO START."LIN(6)
320  ENTER 255,H,B5
330  PRINT LIN(20)
340  FOR A=1 TO LEN(A$)
350  LET W$=""
360  GOSUB 960
370  IF X#30 THEN 400
380  PRINT LIN(16)
390  GOTO 480
400  RESTORE 
410  GOTO TYP(0) OF 440,420
420  READ Y$
430  GOTO 410
440  READ B
450  IF B <> X THEN 410
460  GOTO TYP(0) OF 470,510
470  PRINT LIN(8)
480  NEXT A
490  PRINT LIN(16)
500  STOP 
510  READ Y$
520  LET V=0
530  GOSUB 1020
540  LET Q=P
550  IF Q>3 THEN 640
560  GOSUB 1020
570  LET N=P
580  FOR F=1 TO 2*Q
590  GOSUB 1020
600  LET D[F]=P
610  NEXT F
620  MAT E=ZER
630  GOTO 750
640  LET Q=Q-3
650  FOR G=1 TO 2*Q
660  GOSUB 1020
670  LET D[G]=P
680  NEXT G
690  GOSUB 1020
700  LET N=P
710  FOR J=1 TO 2*Q
720  GOSUB 1020
730  LET E[J]=P
740  NEXT J
750  FOR L=1 TO N
760  LET W$[LEN(W$)+1]="  "
770  IF A$[A,A]="," THEN 790
780  LET W$[LEN(W$)+1]="   "
790  FOR M=1 TO Q
800  FOR U=1 TO D[2*M-1]
810  LET W$[LEN(W$)+1]=" "
820  NEXT U
830  FOR S=1 TO D[2*M]
840  LET W$[LEN(W$)+1]=A$[A,A]
850  NEXT S
860  NEXT M
870  B$[1,30]="                              "
880  B$[LEN(B$)+1]=W$
890  PRINT B$
900  B$=""
910  LET W$=""
920  MAT D=D+E
930  NEXT L
940  IF V<LEN(Y$) THEN 530
950  GOTO 460
960  LET X=0
970  FOR Y=1 TO LEN(C$)
980  IF A$[A,A] <> C$[Y,Y] THEN 1000
990  LET X=Y
1000  NEXT Y
1010  RETURN 
1020  LET V=V+1
1030  IF V <= LEN(Y$) THEN 1060
1040  READ Y$
1050  LET V=1
1060  LET X$=Y$[V,V]
1070  LET P=-6
1080  LET P=P+1
1090  IF Z$[P+6,P+6] <> X$ THEN 1080
1100  RETURN 
1110  DATA 1,"D@)H@BBHOOOOD@"'92"H@"'6,2,"AH@^CH@LLLLLE@3@3HA"'6"B"'6,3,"DP1E"'6"D"
1120  DATA "EFOROD"'6"@D@BH@O3OE@O3OHA@"'6"@",4,"AH@^BI@O3OEBOZOCB@"'2"@DH)EB"
1130  DATA '2,5,"AH@^CK@LLLLL",6,"AH@^BKXLLL",7,"DP1E"'6"DEFOROD"'6"@D@BG@O3O"
1140  DATA "F@OFESODB@"'6"@"'6"@EHRMMEB"'6"@"'6,8,"AH@^AHTTAH@^",9,"AH@^",10,"EOOO"
1150  DATA "OE"'3"@C@BC@O3ODC[HC"'3"AH*O",11,"AH@^DVPD"'6"DENNDNH"'6"@D@",12,"AH@^"
1160  DATA "AL@O",13,"AH@^D$UN"'3"@D@UNC@AH@^",14,"AH@^D$UN"'3"@AH@^",15,"DP1"
1170  DATA "E"'6"DEFOROC"'6"@D@BI@O3OEBOZOCB@"'2"@DH)EB"'2,16
1180  DATA "AH@^BHOOOOEQOKO"
1190  DATA "DB@"'2"@DYYDB"'2,17,"DP1E"'6"DEFOROC"'6"@D@BI@O3OF@OIHMOBB@"'1"@A@EDV"
1200  DATA "OOBB"'1"A@AAH)DI&B"'3"AECHC5B"'3"@E"'2,18,"AH@^BHOOOOEMSKOC"'6"D"'2"@EHL"
1210  DATA "D2E"'6"@D"'2,19,"EFLLXD"'7"@@BFBLLLHLC"'7"@@@B@CF@LLLLLF@LLLLLCA@"'6
1220  DATA "@@@EC3LLDA"'6"@@",20
1230  DATA "AH*OAH@^AH*O",21,"DP)H"'6"BAH@ODB"'92"HB"'6,22,"D$"
1240  DATA "UM"'3"@D@UNC@",23,"DP'H"'6"BAD@ODDOHD@D5OH"'2"@AD@ODB"'92"HB"'6,24,"E@N5"
1250  DATA "NHB@"'2"@DP1EB"'2"DVPD"'6"DENNDNH"'6"@D@",25,"D*OH"'6"@D@)C@"'6"D@%C@BD4OH"
1260  DATA "B@",26,"E@N5NH@B"'6"@F@NBNPNH@@B@"'6"@E@NR1H@@B"'6,27,"DBFB"'7"BAC@J"
1270  DATA "DAHBA"'6,28,"E@ADFB@A"'6"BAB@MDALCA"'6,29,"EBFD-B"'7"B"'7"@BC@JB-EAHC"
1280  DATA "-BA"'6"A@",31,"D:HG"'7"BFBFDTPLC"'7"B"'7"B@"'6"CA@JBZNHF@JB1LHCA"'6"AB"'2"BD5"
1290  DATA "1GB"'2,32,"ESFJFB"'7"B"'6"BBCQJFJERHHHBA"'6"B"'6,33,"DCAC"'7"CD@JZB@D,GC"
1300  DATA "B"'3,34,"APYJ",35,"D+HD"'2"ED&RCD"'1,36
1310  END 
