@CAT,P 1015-019-023.,///10000 @ASG,T TEMP.,///10000 @ELT,OI TEMP.1015-019-023,,,130103053241,000 )@@G@@**PF**@@@@1G@@@@@@@@@@@[@#'@@@]FE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AA )@@G@@@@@@@@@@@@@@@@@@@@@@@@P@@^W@@@]F^ ;Q@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@@@@@@@AB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@C@@@@@@@@@@@@@@@@@@@@@@@@@@@AC )@@G@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@[@@@@@@@@@@@@@@@@@@@@@AE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@]@@@@@@@@@AF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AI )@@G@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@E@@@@@@@@@AL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AM )@@G@@@@@@@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@E@@FAN )@@G@@EDNVIMAP @@@@@@@@[@@@ @ @@@[A@@@@[@@@@W@OF>EODEDNYDMAP AO )@@G@@@@@@@@@@[@@@ @ @@@[A@@@@[@@@@W[OF\EODEDN1 @@@@@@@@[@@^AP )@@G@@ @ @@@[]@@@ >@@@@W]MD>^MEEDN1 @@@@@@@@ @@@ AQ )@@G@@@@@@@@@@,4G RGREPHONES AY )@@G@@@@@@@@@@[@@@ @ @@@[[@@@[S@@@@\TDL9[VFFULL @@@@@@@@[@@@AZ )@@G@@ @ @@@[[@@@@1@@@@01D,"[VFKEYINS @@@@@@@@[@@@ BA )@@G@@@ @@@[[@@@A1@@@@1+E]C[WFDNG @@@@@?@@[@@4 @ @@@[]@@@@YBB )@@G@@@@@@)$C.=FKCCTABLE @@@@@@@K[@@@ @ @@@[[@@@[!@@@@- N6@@@@@[@@@ @ @@@[A@@@@ BQ )@@G@@@@@[[]C^>CKBEDQC$ @@@@@@@@[@[EP1MAP @ @@@[A@@@@ @@@[[BL5/FFEBR )@@G@@P1MAP @@(@@@@@[@@@SNOOPY @ @@@[A@@@@A@@@[[GC^>CKBCERU$ BS )@@G@@@@@@@@@@[@@$ @ @@@[]@@@@K@@@[[MN@!BECCERU$ @@@@@@@@ @@@BT )@@G@@ATT @@@[[+@@A@@@@@@[[+L17EHESYSIO @@@@@@@@[@@, BU )@@G@@@ @@@[]@@@[/@@@[[*B?OFEEP1MAP @@@@@@@@[@@@FLAP @ @@@[A@@@@ BV )@@G@@@@@[#=C^>CKBFILE @@@@[D@@[@@7 @ @@@[]@@@#P@@@[#(D[FFKCBW )@@G@@MACS @@@@@@@@[@@0 @ @@@[]@@@#K@@@[A"C3)FKCEDQT BX )@@G@@@@@@@@@@[@@@P1MAP @ @@@[A@@@@ @@@[EIL*>FFEEDDBK @@@@@@@@[@@_BY )@@G@@ @ @@@[]@@@[E@@@[ENL^2 ]CSYSIO @@@@@@@@ @@@ BZ )@@G@@@@@[F\@@^@@M@@@[FXK<4G]EMISC @@@@@@@@ @@@ @@@[G=@@O@@1CA )@@G@@@@@[F3K=MG]EMACS @@@@@@@@ @@@ @@@[HL@@^@@T@@@[G8K=!G]ECB )@@G@@VARS @@@@@@@@ @@@ @@@[H-@@#@@G@@@[HPK=/G]EFLC CC )@@G@@@@@@@@@@ @@@ @@@[I#@@^@@Z@@@[H=K>LG]EIRAS @@@@@@@@ @@@CD )@@G@@ @@@[IN@@^@@G@@@[IBK>)G]EDNG @@@@@@@@ @@@ CE )@@G@@@@@[IW@@#@@ @@@[IRK>%G]EPRINT @@@@@@@@ @@@ @@@[I+@@]@@#CF )@@G@@@@@[IZK>2G]ETOPS @@@@@@@@ @@@ @@@[I*@@#@@^@@@[I=K>'G]ECG )@@G@@FILE @@@@@@@@ @@@ @@@[JE@@A@@Z@@@[I:K&IG]EGP CH )@@G@@@@@@@@@@ @@@ @@@[J%@@ @@U@@@[JKK&>G]ETXD @@@@@@@@ @@@CI )@@G@@ @@@[J8@@]@@D@@@[J\K&,G]EIMM @@@@@@@@ @@@ CJ )@@G@@@@@[K[@@#@@B@@@[J'K&'G]EHDG @@@@@@@@ @@@ @@@[KC@@]@@^CK )@@G@@@@@[K^K$^G]ESEQ @@@@@@@@ @@@ @@@[KI@@]@@^@@@[KEK$GG]ECL )@@G@@CALLR @@@@@@@@ @@@ @@@[KP@@#@@ @@@[KKK$RG]EMSGS CM )@@G@@@@@@@@@@ @@@ @@@[K(@@J@@L@@@[KSK$=G]EEDDBK @@@@@@@@ @@@CN )@@G@@ @@@[LQ@@G@@Y@@@[K8K(WG]EEDDBF @@@@@@@@ @@@ CO )@@G@@@@@[L>@@]@@#@@@[L+K(*G]EMANUAL @@@@@@@K[@@@ @ @@@[[@@@NXCP )@@G@@@@@[L$N)'D#EMCC @@@@@@@@[@[# @ @@@[]@@@]Z@@@[>^C1&FKCCQ )@@G@@MCC @@@@@@@@ @@@ @@@[$'@@I@@R@@@[$ZGFEMACROS @@@@@@@@[@@@NYU CY )@@G@@@ @@@[@@@@@C@@@]##[2']]FEDQ @@@@@@@K[@@@NEWS @ @@@[[@@@#KCZ )@@G@@@@@]#F[2;]]FAAPCT @@@@@@@@[@@@ @ @@@[@@@@@K@@@@!4F]L[QFDA )@@G@@CKEY @@@@@@@@[@@@ @ @@@[@@@@[D@@@@,^FAO[QFCNSLIT DB )@@G@@@@@@@@@@[@@@ @ @@@[@@@@@B@@@@\HFE:[QFCSN @@@@@@@@[@@@DC )@@G@@ @ @@@[@@@@@^@@@@\OJ"K]$GBEDRC @@@@@@@@[@@@ @ @@@[@@@@@^@@@@\&KA1GBEDF )@@G@@EX8LOD @@@@@@@@[@@@ @ @@@[@@@@@]@@@@\%KB[GBEEXITF0 DG )@@G@@@@@@@@@@[@@@ @ @@@[@@@@@+@@@@\?KEXGBEFNCCNT @@@@[)@@[@@@DH )@@G@@ @ @@@[@@@@@^@@@@0IKFQGBEINIT1 @@@@[(@@[@@@ DI )@@G@@@ @@@[@@@@@^@@@@0MI(Q[]FINIT2 @@@@@@@@[@@@ @ @@@[@@@@@^DJ )@@G@@@@@@0QKG3GBEIO @@@@@@@@[@@@ @ @@@[@@@@@D@@@@0UAW9GMEDK )@@G@@KPOOL @@@@@@@@[@@@ @ @@@[@@@@@[@@@@0[L&EPEIO-WITH-FIX @@@@@@@@[@@@ @ @@@[@@@@[[EN )@@G@@@@@@8SL3 EQEAASMTAGS @@@@@@@@[@@@ @ @@@[[@@@[N@@@@9TEN5EREEO )@@G@@FALL @@@@@@@@[@@@ @ @@@[[@@@@Q@@@@'?O/1EVESN$AP EP )@@G@@@@@@@@@@[@@@ @ @@@[@@@@[=@@@@;]@I]EWEIO @@@@@@@@[@@@EQ )@@G@@ @ @@@[@@@@@/@@@@/&KZ%EYEIOMSA @@@@@@@@[@@@ ER )@@G@@@ @@@[@@@@@ @@@@.+MQREYESMSAPR @@@@]A@@[@@@ @ @@@[@@@@@FES )@@G@@@@@@.$MU2GDESMUPQ @@@@@@@@[@@@ EW )@@G@@@ @@@[@@@@@ @@@@":J#4GFEK DISTRIBUTION <<<<<<<<<',/,@G@@@@ *' ACCEX )@@G@@OUNT',T16,'FILES',T26,'FIXED',T37,'REMOV',T46,'SEC TAPES', @F@@@@ *EY )@@G@@T58,'V-OPTION',T69,'G-OPTION',T84,'F2',T95,'F4',T105,'F17', @E@@@@ *EZ )@@G@@T116,'F14',T127,'F40',/,' -----',21('------'),/,) @[@@@@ @ @@@@FA )@@G@@ 1003 FORMAT (1X,2A6,I6,10I11)@[@@@@ @B@@@@ 1004 FORMAT (1X,2A6,I4,FB )@@G@@I7,I6,6I5,2I6) @[@@@@ @D@@@@ 1005 FORMAT ('0FILES:',I6,', FIXEDFC )@@G@@ TRACKS:',I6, @E@@@@ *', V-OPT TRACKS:',I6,', SECURE BACKUP BLFD )@@G@@OCKS:',I6,/,@C@@@@ *16X,'REMOV TRACKS:',I6,', G-OPT TRACKS:',@ @@@@FE )@@G@@ *I6,A1,' UNLOADED:',I6) @[@@@@ @C@@@@ 1006 FORMAT(1H1,'SUMMARFF )@@G@@Y BY BILLING AREA: ', @E@@@@ *3X,'FILES (F) TRACKS (R) V/G-OPFG )@@G@@T SEC TAPES'/) @[@@@@ @A@@@@ 1007 FORMAT(1H0,4A6,4I9,3X,I9) FH )@@G@@@[@@@@ @ @@@@ 1008 FORMAT ('0END GBILL') @[@@@@ @ @@@@ 2000 FI )@@G@@FORMAT(4A6,I4,10I5,'GB')@[@@@@ @]@@@@ END ___ F1RE BACKUP BLFJ )@@G@@)@@@F]S@@@@@)@#@C@)@]@C@)[G@C@)@#@IS)@?@C@IN HOU@@@@@[@@@@@@@@@@@@@@@@@@FK )@@G@@/,0@@@AA@@@F)@![S@@@@@@@ /AMC ORNELLROCK/C ER L CENTMEDICAFL )@@G@@ SE AB@@@F)@8[S@@@@@@@,G) ACT (T,USTUDENCH RESEARSORED FM )@@G@@UNSPON SEARCHRED RESPONSOAC@@@F)[#[C@@@@@@@)@[@E@@@@@@@ FN )@@G@@ OTHER EXEC CTS AD@@@F)@][F#L#L#L#L] #@K3@@@@@FO )@@G@@;)@@@PC@@@@]@[=@@@@@@@[H/,0@@@ @@[X4 @@[X3 @@[X2 @@[X1AE@@@F)@F[M[@^G^G1FP )@@G@@#H#G@@C@@@@][^0@@]+8);__C^)@@][@@@@#C/@@@[/K@@@L*@@@@GG/@__";C@@@0, FD Q>0 @[@C@B. @[@C@BGQ )@@G@@. @B@C@B. CEIL @[@C@B. @]@C@BGR )@@G@@FGCEIL* @ @C@BFILL(1) SAC CBSIGN,CBSCEL @ @C@BFILL(1) SAC CBXGS )@@G@@FLC,CBXFNP @ @C@BFILL(1) SAC CBXFLQ,CBXFDQ @ @C@BFILL(1) SAC CBXGT )@@G@@CEL,CBXFFC @[@C@B. @[@C@B. @B@C@B. GU )@@G@@ TRUNC @]@C@BFGTRUN* @ @C@BFILL(1) SAC CBSIGN,CBSTRN @ @C@BGV )@@G@@FILL(1) SAC CBXFTQ,CBXFNP @ @C@BFILL(1) SAC CBXFLQ,CBXFDQ @ @C@BGW )@@G@@FILL(1) SAC CBXTRN,CBXFDP @[@C@B. @[@C@B. @[@C@B. @B@C@BGX )@@G@@FGROUN* . ROUND @G@C@BFILL(1) SAC GGTNOP,GY )@@G@@CBSRON . ALL OF THE WORK IS DONE AT STAGEING @ @C@BFILL(1) SAC CGZ )@@G@@BBNOP,0 . @[@C@B. @[@C@B. @[@C@B. @B@C@BFGMAXT* . HA )@@G@@ MAX @[@C@B. @[@C@B. @ @C@BFILL(1) SAC GGTHB )@@G@@ARI,BFSMAX .@ @C@BFILL(1) SAC BFFMIN,CBBNOP @ @C@BFILL(1) SAC BFBHC )@@G@@MIN,CBBNOP @[@C@B. @[@C@B. @B@C@BFGMINT* . HD )@@G@@ MIN @[@C@B. @[@C@B. @ @C@BFILL(1) SAC GGTARI,BFSMIN HE )@@G@@@ @C@BFILL(1) SAC BFFMIN,CBBNOP @ @C@BFILL(1) SAC BFBMIN,CBBNOP HF )@@G@@@[@C@B. @[@C@B. @B@C@BFGMODT* . MOD BIFHG )@@G@@@[@C@B. @[@C@B. @ @C@BFILL(1) SAC BFTMOD,BFSMOD @ @C@BFILL(1HH )@@G@@) SAC BFMODF,CBBNOP @ @C@BFILL(1) SAC BFMODB,CBBNOP @[@C@B. HI )@@G@@@[@C@B. @C@C@BFGABST* . ABSOLUTE VAL @[@C@BHJ )@@G@@. @[@C@B. @ @C@BFILL(1) SAC CBTABS,CBSABS @ @C@BFILL(1) SACHK )@@G@@ CBABFR,CBBNOP .@H@C@BFILL(1) SAC CBABBR,CBBNOP . REAL ARE CODEHL )@@G@@, COMPLEX DONE AT STAGING @[@C@B. @[@C@B. @C@C@BFGSIGN* . HM )@@G@@ SIGN BIF @[@C@B. @[@C@B. @A@C@BFILL(1HN )@@G@@) SAC CBSIGN,CSSIGN . @A@C@BFILL(1) SAC CBSGFR,CBBNOP . HO )@@G@@@A@C@BFILL(1) SAC CBSGBR,CBBNOP . @[@C@B. @[@C@B. @E@C@BHP )@@G@@. INLINE DATA TYPE BIF'S @B@C@BFGBINTHQ )@@G@@* . BINARY @B@C@BFGDECT* . HR )@@G@@ DECIMAL@B@C@BFGFIXD* . FIXED @B@C@BFGFLTTHS )@@G@@* . FLOAT @C@C@BFGPREC* . HT )@@G@@ PRECISION @[@C@B. @[@C@B. @ @C@BFILL(1) SAC CBCONV,GGHU )@@G@@SNOP .@ @C@BFILL(1) SAC CBBNOP,0 . @[@C@B. @[@C@B. @E@C@BHV )@@G@@. REAL IMAG BIFS AND P.V. @[@C@B. HW )@@G@@@]@C@BFGCPLE* @[@C@B. @[@C@B. @C@C@BFILL(1) SAC BFTMOD,GGHX )@@G@@SADS . COMPLEX BIF @ @C@BFILL(1) SAC CBCPLF,CBCPLF .@ @C@BFILL(1HY )@@G@@) SAC CBCPLB,CBCPLB .@[@C@B. @[@C@B. @C@C@BFGCONJ* . HZ )@@G@@ CONJUGATE @[@C@B. @[@C@B. @ @C@BFILL(1) SACIA )@@G@@ CBTABS,GGSNOP .@ @C@BFILL(1) SAC CBCJGR,CBCJGF @ @C@BFILL(1) SACIB )@@G@@ CBCJGR,CBCJGB @[@C@B. @[@C@B. @C@C@BFGIMAG* . IC )@@G@@ IMAG BIF @[@C@B. @[@C@B. @ @C@BFILL(1) SAC CBTID )@@G@@REL,GGSNOP .@^@C@BFILL(1) SAC CBIMG,0 .@[@C@B. @[@C@B. @B@C@BIE )@@G@@FGRLPV* . REAL PV@C@C@BFGREAL* . IF )@@G@@ REAL BIF @[@C@B. @[@C@B. @ @C@BFILL(1) SAC CBTIG )@@G@@REL,GGSNOP .@^@C@BFILL(1) SAC CBREL,0 .@[@C@B. @[@C@B. @B@C@BIH )@@G@@FGIMPV* . IMAG PV@[@C@B. @[@C@B. @ @C@BII )@@G@@FILL(1) SAC CBTREL,GGSNOP .@ @C@BFILL(1) SAC CBIMAG,0 . @[@C@BIJ )@@G@@. @[@C@B. @A@C@B. HBOUND, LBOUND AND DIM @]@C@BFGDIMTIK )@@G@@* @]@C@BFGHBND* @]@C@BFGLBND* @[@C@B. @[@C@B. @ @C@BIL )@@G@@FILL(1) SAC CBTDIM,GGSNOP @^@C@BFILL(1) SAC CBDIM,0 @[@C@B. IM )@@G@@@[@C@B. @A@C@B/ . MATHEMATICAL FUNCTIONS @[@C@B. @B@C@BIN )@@G@@. FUNCTIONS WITH 1 REAL ARGUMENT @[@C@B. @[@C@B. @^@C@BIO )@@G@@. GENERATED CODE @[@C@B. @A@C@B. DL A3,REAL ARGUMENIP )@@G@@T @ @C@B. LMJ X11,FUNCTION @B@C@B. DS A3,TEMPORIQ )@@G@@ARY FOR RESULT @[@C@B. @[@C@B. @D@C@B. STAGING (TARGETIR )@@G@@ING AND CODE GEN ARE NO-OPS) @[@C@B. @[@C@B. @#@C@BCBRAND LABIS )@@G@@EL . @D@C@B GNTR 2. RAND ENTRY POINT @E@C@BIT )@@G@@ NONPL1 XGFRND,DCBRND,CBBRL1 . RAND NOT STANDARD @F@C@B IU )@@G@@ GOTO CBBRL1 . MERGE WITH REAL ARG ROUTINES @#@C@BCBB1RLIV )@@G@@ LABEL . @#@C@B GNTR 2 .@#@C@BCBBRL1 LABEL . @F@C@B IW )@@G@@ IF SDRLCX,OFF,SGDCLS THEN,CBBRL2 . -> REAL ARGUMENT @D@C@B IX )@@G@@ SET SDRLCX,OFF,SGDCLS . USE REAL PART ONLY @C@C@B EXERR EXEIY )@@G@@RB1 LEVEL,2 . 'REAL PART USED'@]@C@B GEN@^@C@B GFREE AGIIZ )@@G@@M1 @#@C@BCBBRL2 LABEL . @#@C@BCBBRL3 LABEL . @D@C@B LOAJA )@@G@@DA X2,SGDAID+DCGSLT . POINT TO RESULT @D@C@B MOVE SGDAID+DCJB )@@G@@GSLT,SGDAID . SET RESULT AIDC @G@C@B SET SGDSGN,OFF,SGDAID+DJC )@@G@@CGSLT . TURN OFF UNARY MINUS IN OPND@D@C@B LINK CBSFLT . JD )@@G@@ SET RESULT TO FLOAT@#@C@BCBBRL5 LABEL . @E@C@B IF SDRJE )@@G@@LCX,OFF,SGDCLS THEN,CBBRL6 . ->REAL ARG. @#@C@B GEN . @C@C@BJF )@@G@@ GDBLE OPDL,AGRA1,AGIM1 . LOAD IMAG PART@#@C@BCBBRL6 LABEL . JG )@@G@@@#@C@B GENM . @A@C@B GDBLE OPDL,AGRA3,AGRL1 . @#@C@BJH )@@G@@CBBRL7 GLBL . @^@C@B GSUB 'BILTN' @E@C@BCBBNOP GLBL . JI )@@G@@ USED FOR NO-OP ICODE @#@C@B GFIN . @E@C@BJJ )@@G@@ IF SDRLCX,OFF,SGDCLS THEN,CBBRL8 . RESULT REAL @#@C@B JK )@@G@@ GENM @E@C@B GGETGR AGIM2,2 . GET REGISTERS FOR RJL )@@G@@ESULT @B@C@B GDBLE OPDS,AGRA1,AGIM2 'NO' . @#@C@B GFIJM )@@G@@N . @#@C@BCBBRL8 LABEL . @#@C@B GENM @E@C@B GGEJN )@@G@@TGR AGRL2,2 . GET A TWO WORD REGISTER @B@C@B GDBLE OPDJO )@@G@@S,AGRA3,AGRL2 'NO' . @#@C@B GFIN . @D@C@B XGPOP . JP )@@G@@ POP OFF STACK ELT @#@C@BCBBRL4* LABEL . @A@C@B JQ )@@G@@ MOVE SGDID,SD0ART+SGDEXP,I@C@C@B LOAD X4,0,I . SJR )@@G@@ET ICODE @^@C@B GOTO GGTRET . @[@C@B/. @E@C@B. MATJS )@@G@@HEMATICAL FUNCTIONS WITH 1 ARG (REAL OR COMPLEX)@[@C@B. @[@C@B. JT )@@G@@@^@C@B. CODE GENERATED @[@C@B. @ @C@B. DL A1,COMPLEJU )@@G@@X RG @ @C@B. DL A3,REAL ARG @B@C@B. LMJ X11,FUNCTJV )@@G@@ION (REAL ARG) @C@C@B. LMJ X11,FUNCTION+1 (COMPLEX ARG) JW )@@G@@@ @C@B. DS A3,REAL RESULT @A@C@B. DS A1,COMPLEX RESUJX )@@G@@LT @[@C@B. @H@C@BCBB1RC LABEL . STAGEING FOR JY )@@G@@ONE ARG (REAL OR COMPLEX) @#@C@B GNTR 2 .@#@C@BCBBRC1 LABJZ )@@G@@EL . @E@C@B IF SDRLCX,OFF,SGDCLS THEN,CBBRL2 . -> REAL ARG KA )@@G@@@C@C@B LOAD A7,DXGARG . COMPLEX ARG @^@C@B ADDKB )@@G@@ A7,1,I . @ @C@B STORE A7,DXGARG . @E@C@B GOTO CBBKC )@@G@@RL3 . PROCESS AS IN REAL PART @[@C@B. @B@C@B. FUNKD )@@G@@CTION TO CONVRT ARG TO FLOAT @[@C@B. @#@C@BCBSFLT LLOC . @ @C@BKE )@@G@@ USING SGDSCT,X2 . @D@C@B MOVE SGDSCL,0,I . NKF )@@G@@O SCALE FOR FLOAT @C@C@B LOAD A3,SGDCLS,X7 . GET CLASS KG )@@G@@@D@C@B OR,U A3,SDFXFL . TURN ON FLOAT BIT @ @C@B KH )@@G@@ STORE A4,SGDCLS,X2 . @E@C@BCBSFL2 LOCAL . ALTERNAKI )@@G@@TE ENTZY POINT @D@C@B CGCONV R,X2 R,X7 . CONVERT TO FLKJ )@@G@@OAT @D@C@B SET SGDSGN,OFF,SGDCLS . RESULT NOT NEG. @ @C@BKK )@@G@@ USING SGDSCT,X7 . @#@C@B JMP . @[@C@B. @^@C@BKL )@@G@@. ARC TANGENT @[@C@B. @D@C@B. ATAN 1 REAL OR COMPLEKM )@@G@@X ARG OR 2 REAL ARGS @[@C@B. @ @C@B. ENTRY POINT 1 = 1 ARGKN )@@G@@@ @C@B. ENTRY POINT 2 = 2 ARG@[@C@B. @C@C@BCBBATD LABEL . KO )@@G@@ ATAND ENTRY @#@C@B GNTR 2 .@C@C@B LOAKP )@@G@@D A7,DXGNAR . SEE IF 2 ARGS@E@C@B IF A7,EQ,DCGSLT,I KQ )@@G@@THEN,CBBRL1 . -> I REAL ARG @D@C@B LOAD A7,DXGARG . SKR )@@G@@ET ENTRY POINT 2 @^@C@B ADD A7,1,I . @#@C@BCBATD1 LABEL . KS )@@G@@@ @C@B STORE A7,DXGARG . @E@C@B IF SDRLCX,OFF,SGDCKT )@@G@@LS THEN,CBATD2 . -> ARG 2 REAL@A@C@B SET SDRLCX,OFF,SGDCLS . KU )@@G@@@C@C@B EXERR EXERB1 LEVEL,2 . 'REALPART USED' @]@C@B GENKV )@@G@@@^@C@B GFREE AGIM1 @#@C@BCBATD2 LABEL . @F@C@B IF KW )@@G@@ SDRLCX,OFF,SGDCLS+DCGSLT THEN,CBATD3 . ->ARG 1 REAL@B@C@B SETKX )@@G@@ SDRLCX,OFF,SGDCLS+DCGSLT . @C@C@B EXERR EXERB1 LEVEL,2 . 'REAKY )@@G@@L PART USED'@#@C@B GEN . @^@C@B GFREE AGIM2 . @#@C@BKZ )@@G@@CBATD3 LABEL . @F@C@B MOVE SGDPRE+2*DCGSLT,SGDPRE . ARG 2 ISLA )@@G@@ RESULTING PREC @I@C@B LOADA X2,SGDAID+2*DCGSLT . LB )@@G@@ CONVERT ARG TO RESULTING @^@C@B LINK CBSFLT . @D@C@BLC )@@G@@ XGPOP . POP ARG 2 FOR NOW @C@C@B LOALD )@@G@@DA X2,SGDAID+DCGSLT . CONVERT ARG 1@^@C@B LINK CBSFL2 . @D@C@BLE )@@G@@ SUB X7,DCGSLT,I . GET ARG 2 BACK @#@C@B GENLF )@@G@@M . @A@C@B GDBLE OPDL,AGRA3,AGRL2 . @A@C@B GDBLE OPLG )@@G@@DL,AGRA1,AGRL1 . @^@C@B GSUB 'BILTN' @D@C@B GGETGR ALH )@@G@@GRL2+DCGSLT,2 . GET REAL REGISTER @F@C@B GDBLE OPDS,AGRA3,AGRLI )@@G@@L2+DCGSLT 'NO' . SET RESULT @#@C@B GFIN . @D@C@B LJ )@@G@@ XGPOP 'SIZE',2*DCGSLT . POP OFF TWO ARGS. @C@C@B GOTO CBBLK )@@G@@RL4 . ->RETURN @[@C@B. @#@C@B. ARCTAN @^@C@BLL )@@G@@. EP1=1 REAL @^@C@B. EP2=1 COMPLEX @^@C@B. EP3LM )@@G@@=2 REAL @[@C@B. @#@C@BCBBATN LABEL . @#@C@B GNTR 2 .LN )@@G@@@D@C@B LOAD A7,DXGNAR . SEE HOW MANY ARGS @D@C@B LO )@@G@@ IF A7,EQ,DCGSLT,I THEN,CBBRC1 . -> 1 ARG @ @C@B LOAD A7,LP )@@G@@DXGARG . @C@C@B ADD A7,2,I . ENTRY POINT 3@D@C@BLQ )@@G@@ GOTO CBATD1 . ->MERGE WITH ATAND @ @C@B/ . LR )@@G@@ INLINE BIF'S@[@C@B. @^@C@B. ABSOLUTE VALUE @[@C@B. LS )@@G@@@C@C@BCBTABS LABEL . TARGETING @#@C@B GNTLT )@@G@@R 2 . @A@C@B CGCONV R,X7 R,X7 . SET X4 @I@C@B MOVE SGDLU )@@G@@AID+DCGSLT,SGDAID . RESULTING TYPE IS TYPE OF @^@C@BLV )@@G@@ GOTO GGTRET . @[@C@B. @[@C@B. @[@C@B. @C@C@BCBSABSLW )@@G@@ LLOC . STAGEING @D@C@B IF SDRLCX,OFLX )@@G@@F,SGDCLS THEN,LJMP . -> REAL @^@C@B GNTR 2 . @E@C@B LY )@@G@@ LOADA X2,SGDAID+DCGSLT . POINT TO ELT. FOR BIF @E@C@B MOVLZ )@@G@@E SGDAID+DCGSLT,SGDAID . COPY ATTRIBUTES @D@C@B LINK CMA )@@G@@BSFLT . CONVERT TO FLOAT @E@C@B GENM . MB )@@G@@ COMPUTE (X**2+Y**2)**1/2 @D@C@B GIFR CBSAB1,AGRL1 . IMC )@@G@@S REAL IN REG? @D@C@B GIFR CBSAB2,AGIM1 . IS IMAG IN REMD )@@G@@G? @C@C@B GLOAD AGIM1,2 . GET INTO REG @D@C@BCBSAB2ME )@@G@@ GLBL . IMAG IN REG HERE @D@C@B GFLOAT OMF )@@G@@PDFM,AGIM1,AGIM1 'NO' . GET Y**2 @E@C@B GDBLE OPDL,AGRA3,AGMG )@@G@@RL1 . GET REAL INTO A3-A4 @D@C@B GFLOAT OPDFM,AGRA3,AGRA3 'NMH )@@G@@O' . GET X**2 @C@C@B GFLOAT OPDFA,AGRA3,AGIM1 . GET SUM MI )@@G@@@C@C@B GGOTO CBSAB3 . GO CALL SQRT @D@C@BCBSAB1 GLBMJ )@@G@@L . REAL PART IS IN REG@D@C@B GFLOAT OPDFM,AMK )@@G@@GRL1,AGRL1 'NO' . GET X**2 @E@C@B GDBLE OPDL,AGRA3,AGIM1 . ML )@@G@@GET IMAG INTO A3-A4 @D@C@B GFLOAT OPDFM,AGRA3,AGRA3 'NO' . MM )@@G@@GET Y**2 @C@C@B GFLOAT OPDFA,AGRA3,AGRL1 . GET SUM @D@C@BMN )@@G@@CBSAB3 GLBL . HERE TO CALL SQRT @C@C@B GSUMO )@@G@@B BFSQRT . COMPUTE SQRT @D@C@B GGETGR AGRL2,2 . MP )@@G@@ GET REG FOR RESULT @C@C@B GDBLE OPDS,AGRA3,AGRL2 . SAVE RMQ )@@G@@ESULT @#@C@B GFIN . @D@C@B XGPOP . PMR )@@G@@OP OFF ARGUEMENT @F@C@B SET SDRLCX+SGDSGN,OFF,SGDCLS . SAY MS )@@G@@RESULT IS REAL @D@C@B GOTO GGTRET . RETURN TO XGEMT )@@G@@N @[@C@B. @^@C@B. SIGN(N) BIF @[@C@B. @B@C@BCBSIGNMU )@@G@@ LABEL . TARGETING FOR SIGN BIF @#@C@B GNTR 2 .@F@C@B MV )@@G@@ LINK CBRLCX . CONVERT ARG TO REAL, IF IMAG @#@C@BCBSGN2MW )@@G@@ LABEL . @B@C@B CGCONV R,X7 R,X7 . SET X4 @#@C@BCBSGN3MX )@@G@@ LABEL . @B@C@B GOTO GGTRET . DONE @[@C@B. MY )@@G@@@F@C@B. COMPLEX INPUT TO SIGN, GIVE ERROR AND USE ONLY REAL PARTMZ )@@G@@@[@C@B. @#@C@BCBRLCX LLOC . @E@C@B IF SDRLCX,OFF,SGDCNA )@@G@@LS THEN,LJMP . ->REAL ALREADY @#@C@B LOCAL . @E@C@B SETNB )@@G@@ SDRLCX,OFF,SGDCLS . USE ONLY REAL PART @#@C@B GEN . NC )@@G@@@^@C@B GFREE AGIM1 .@D@C@B EXERR EXERB1 LEVEL,2 . ND )@@G@@'REAL PART USED' @C@C@B JMP . ->RETURN NE )@@G@@@[@C@B. @[@C@B. @[@C@B. @B@C@BCSSIGN LABEL . STAGGING FORNF )@@G@@ SIGN BIF @^@C@B GNTR 2 . @G@C@B MOVE SGDAID+NG )@@G@@DCGSLT,DCBCLN . SET RESULT TO FIXED BIN 35,0 @B@C@B GOTO GNH )@@G@@GTRET . EXIT @ @C@B/ . HBOUND LBOUND AND DIM@[@C@B. NI )@@G@@@[@C@B. @#@C@BCBTDIM LLOC . @#@C@B GNTR 2. @F@C@B NJ )@@G@@ CGCONV DCBCSM R,X7 . CONVERTT TO FIXED BIN(17,0) @E@C@B NK )@@G@@ LOADA X3,SGDRBS . SAVE ADDR OF ARG. 2 @E@C@B STONL )@@G@@RE X3,DCGSV2+8 . SAVE FOR RETURN TO XGEN @#@C@B XGPOP . NM )@@G@@@D@C@B LOAD X2,SGDIBS+1 . DIMENSIONALITY @E@C@B NN )@@G@@ STORE X2,DCGSV2+3 . SAVE FOR RETURN TO XGEN @E@C@B MOVNO )@@G@@E SGDAID+DCGSLT,DCBCSM . SET RESULT DATA TYPE @^@C@B LOAD X4,NP )@@G@@0,I . @C@C@B GOTO GGTRET . RETURN @A@C@B/ . NQ )@@G@@ MAX MIN AND MOD BIF'S@[@C@B. @D@C@BBFSMAX LLOC . NR )@@G@@ STAGING FOR MAX @F@C@B SET IGPLUS,ON,DGFLGZ . SENS )@@G@@T FLAG FOR 'JP' INSTRUCTION @D@C@B GOTO BFSMNG . CONT )@@G@@NTINUE STAGING @F@C@BBFSMIN LLOC . ENTRY POINT FONU )@@G@@R STAGING FOR MIN @F@C@B SET IGPLUS,OFF,DGFLGZ . SET FLAG FOR NV )@@G@@'JN' INSTRUCTION @#@C@BBFSMNG LABEL . @#@C@B GNTR 2 .@C@C@BNW )@@G@@ LOAD X4,0,I . CLEAR X4 @D@C@B MOVE AGLNX )@@G@@BL,0,I . CLEAR AW FOR JUMPS @C@C@B LOADA X3,AGLBL . NY )@@G@@ SET AW TO USE@D@C@B STORE X3,DCGSV2+8 . SET ICODE REGNZ )@@G@@ X3 @C@C@B LINK CBRLCX . MAKE ARG REAL@F@C@B OA )@@G@@ ADD X7,DCGSLT,I . MOVE DOWN ONE STACK ELEMENT @D@C@B OB )@@G@@ LINK CBRLCX . MAKE ARG 2 REAL @C@C@B SUB X7,OC )@@G@@DCGSLT,I . RECOVER STACK@D@C@B IF SDFXFL,ON,SGDCLS THENOD )@@G@@,GGSAD5 . ->FLOAT @^@C@B LOAD X2,SGDPRE@F@C@B SUB X2,OE )@@G@@1,I . STAGING PREC 1 LESS THAN + PREC@ @C@B STORE X2,OF )@@G@@SGDPRE . @A@C@B LOAD X2,SGDPRE+DCGSLT . @^@C@B SUBOG )@@G@@ X2,1,I . @A@C@B STORE X2,SGDPRE+DCGSLT . @ @C@B STOOH )@@G@@RE X2,DGGPRE . @^@C@B GOTO GGSAD5 . @^@C@B/. MOD TARGEOI )@@G@@TTING @[@C@B. @[@C@B. @[@C@B. @#@C@BBFTMOD LLOC . @#@C@BOJ )@@G@@ GNTR 2 .@C@C@B LINK CBRLCX . MAKE ARG REALOK )@@G@@@F@C@B ADD X7,DCGSLT,I . MOVE DOWN ONE STACK ELEMENT OL )@@G@@@D@C@B LINK CBRLCX . MAKE ARG 2 REAL @C@C@B OM )@@G@@ SUB X7,DCGSLT,I . RECOVER STACK@B@C@B GOTO GGTAR2 . ON )@@G@@ ->MERGE@[@C@B. @[@C@B. @[@C@B. @^@C@B. MODOO )@@G@@ STAGING @#@C@BBFSMOD LLOC . @#@C@B GNTR 2 .@C@C@B OP )@@G@@ LOAD A8,0,I . ASSUME FLOAT @C@C@B IF SDFXFL,ONOQ )@@G@@ THEN,BFSMO1 . ->FLOAT @D@C@B LINK GGSSCL . SCALE TOR )@@G@@O SAME SCALE@D@C@B LOAD A8,DGGSCP . GET SCALE AND PRE OS )@@G@@@D@C@B SSA A8,9 . GET SIGNED SCALE @D@C@BBFSMO1OT )@@G@@ LABEL . MERGE WITH FLOAT @D@C@B ADD AOU )@@G@@8,SGDPRE . GET P2+MAX(Q1,Q2) @D@C@B LOAD A9,18,I . OV )@@G@@ ASSUME DECIMAL @D@C@B IF SDDCBN,OFF THEN,BFSMO2 . IS ITOW )@@G@@ DECIMAL @D@C@B LOAD A9,60,I . ASSUME FLOAT BIN OX )@@G@@@D@C@B IF SDFXFL,ON THEN,BFSMO2 . IS IT FLOAT BIN @D@C@B OY )@@G@@ LOAD A9,35,I . IT IS FIXED BIN @F@C@BBFSMO2 LABEL . OZ )@@G@@ MERGE HERE WITH MAX PRE IN A9 @E@C@B IF A9,GE,PA )@@G@@A8 THEN,BFSMO3 . IS COMPUTED PRE TOO BIG? @D@C@B LOAD A8,A9 .PB )@@G@@ YES,USE MAX PRE @#@C@BBFSMO3 LABEL . @E@C@B MOVPC )@@G@@E SGDAID+2*DCGSLT,SGDAID+DCGSLT . SET RESULT @D@C@B STORE APD )@@G@@8,SGDPRE+2*DCGSLT . SET NEW PRE @D@C@B MOVE SGDSCL+2*DCGSPE )@@G@@LT,DGGSCL . SET SCALE @E@C@B MOVE AGLBL,0,I . CLEAR WPF )@@G@@ORD FOR JUMPS @D@C@B GRTN 2 . RETURN TO XGEPG )@@G@@N @E@C@B/ . CONVERSION BIF'S (BIN, DEC, FIX, FLT, PREC) PH )@@G@@@#@C@BCBCONV LABEL . @#@C@B GNTR 2 .@D@C@B LOAD A2,PI )@@G@@0,I . SET PRECISION TO 0 @B@C@B STORE A2,DGGSCP . PJ )@@G@@ Q=0 @D@C@B LOAD A3,DXGNAR . GET NUMBER OF ARGS PK )@@G@@@E@C@B DIV A2,DCGSLT,I . DIVIDE BY STACK SIZE @D@C@BPL )@@G@@ LOAD X5,A2 . SAVE NUMBER OF ARGS@D@C@B GOTPM )@@G@@O *$,A2 . A2 IS AT LEAST 1 @C@C@B +CBCNV1 . PN )@@G@@ 1 ARG (X) @C@C@B +CBCNV2 . 2 ARGS PO )@@G@@(X,P) @D@C@B +CBCNV3 . 3 ARGS (X,P,Q) @[@C@BPP )@@G@@. @[@C@B. @#@C@BCBCNV3 LABEL . @D@C@B LINK CBCNST . PQ )@@G@@ GET CONSTANT Q @ @C@B STORE A8,DGGSCL . @#@C@BPR )@@G@@CBCNV2 LABEL . @D@C@B LINK CBCNST . GET CONSTANTTPS )@@G@@ P @B@C@B STORE A8,DGGPRE . SET P @#@C@BCBCNV1 LABPT )@@G@@EL . @D@C@B MOVE DGGCLS,SGDCLS . GET ATTR. OF X @D@C@BPU )@@G@@ LOAD X4,X5 . SAVE NUMBER OF ARGS@F@C@B ADDPV )@@G@@ X5,DXGARG . GET ADDRESS OF BRANCH TABLE @ @C@B LOAPW )@@G@@D X11,0,X5 . @^@C@B LINK 0,X11 . @I@C@B. PX )@@G@@ RETURN FROM SETTING PROPER DATA TYPE FOR RESU @D@C@BPY )@@G@@ CGCONV DGGSTK R,X7 . CONVERT ARGUMENT @#@C@B GENPZ )@@G@@ . @^@C@B GMOVE 2,1 . @#@C@B XGPOP . @D@C@B QA )@@G@@ LOAD X4,0,I . SET NO ICODE TOGEN @E@C@B GOTO GGTQB )@@G@@RET . SET RESULT STACK ENTRY @[@C@B. @[@C@B. @[@C@BQC )@@G@@. @[@C@B. @[@C@B. @D@C@BBFDECT* EQU $-1 . DQD )@@G@@ECIMAL ROUTINES @C@C@B +FGDEC1 . DECIMAL (X) QE )@@G@@@C@C@B +FGDEC1 . DECIMAL(X,P) @D@C@B +FGQF )@@G@@DEC1 . DECIMAL(X,P,Q) @[@C@B. @^@C@BBFBINT* EQUQG )@@G@@ $-1 . @C@C@B +FGBIN1 . BINARY (X) @C@C@BQH )@@G@@ +FGBIN1 . BINARY (X,P) @C@C@B +FGBIN1 .QI )@@G@@ BINARY(X,P,Q)@[@C@B. @^@C@BBFFLTT* EQU $-1 . QJ )@@G@@@C@C@B +FGFLT1 . FLOAT (X) @C@C@B +FGQK )@@G@@FLT2 . FLOAT (X,P) @E@C@B. +FGFLT3 . QL )@@G@@ FLOAT(X,P,Q) ILLEGAL @[@C@B. @^@C@BBFFIXD* EQU $-1 . QM )@@G@@@C@C@B +FGFIX1 . FIXED (X) @C@C@B +FGQN )@@G@@FIX2 . FIXED (X,P) @C@C@B +FGFIX2 . QO )@@G@@ FIXED (X,P,Q)@[@C@B. @^@C@BBFPREC* EQU $-1 . @C@C@B QP )@@G@@ +FGPRC1 . PRECISION(X) @D@C@B +FGPRC2 . QQ )@@G@@ PRECISION(X,P) @D@C@B +FGPRC3 . PQR )@@G@@RECISION(X,P,Q) @[@C@B. @#@C@BFGDEC1 LABEL . @E@C@B SETQS )@@G@@ SDDCBN,OFF,DGGCLS . SET RESULT TO DECIMAL @D@C@B GOTO *BFQT )@@G@@PREC,X4 . DO PRECISION PART @[@C@B. @#@C@BFGBIN1 LABEL . QU )@@G@@@E@C@B SET SDDCBN,ON,DGGCLS . SET RESULT TO BINARY @C@C@BQV )@@G@@ GOTO *BFPREC,X4 . DO PRECISION @[@C@B. @#@C@BFGFLT1QW )@@G@@ LABEL . @B@C@B LOAD A7,6,I . SET P=6@E@C@B QX )@@G@@ IF SDDCBN,OFF,DGGCLS THEN,FGFLT1X . ->NOT BINARY@F@C@B LOAQY )@@G@@D A7,27,I . SET FLOAT BINARY PRECCSION @#@C@BFGFLT1X LABQZ )@@G@@EL . @B@C@B STORE A7,DGGPRE . SET P @#@C@BFGFLT2 LABRA )@@G@@EL . @A@C@B SET SDFXFL,ON,DGGCLS . @C@C@B LJMP . RB )@@G@@ ->RETURN @[@C@B. @[@C@B. @#@C@BFGFIX1 LABRC )@@G@@EL . @D@C@B LOAD A7,5,I . SET FIXED DEC P @C@C@BRD )@@G@@ IF SDDCBN,OFF,DGGCLS THEN,FGTFX2 . @D@C@B LOAD A7,RE )@@G@@35,I . SET FIXED BIN PP @#@C@BFGTFX2 LABEL . @ @C@B RF )@@G@@ STORE A7,DGGPRE . @#@C@BFGFIX2 LABEL . @A@C@B SET SDFRG )@@G@@XFL,OFF,DGGCLS . @C@C@B LJMP . ->RETURN RH )@@G@@@[@C@B. @#@C@BFGPRC3 LABEL . @E@C@B IF SDFXFL,OFF,DGGCRI )@@G@@LS THEN,LJMP . ->FIXED RESULT @[@C@B. @F@C@B. Q SHOULD NOT BE EXPRESRJ )@@G@@SED FOR FLOAT (EXCEPT IF ZERO)! ERROR? @[@C@B. @D@C@B MOVRK )@@G@@E DGGSCL,0,I . IGNORE Q FOR FLOAT @#@C@BFGPRC2 LABEL . @#@C@BRL )@@G@@FGPRC1 LABEL . @#@C@B LJMP . @[@C@B. @[@C@B. @[@C@BRM )@@G@@. @E@C@B. ROUTINE TO GET CONSTANT VALUE FROM STACK RN )@@G@@@[@C@B. @#@C@BCBCNST LOCAL . @G@C@B IF SDVRCN,ON,SGDCLRO )@@G@@S THEN,CBCNS8 . -> CONSTANT, SO FAR OK @E@C@B EXERR ERRG08 LERP )@@G@@VEL,2 . ARG SHOULD BE CONSTANTT @B@C@B. RQ )@@G@@ 10 USED@#@C@BCBCNS6 LABEL . @D@C@B LOAD A8,10,I . RR )@@G@@ SET DEFAULT OF 10 @^@C@B GOTO CBCNS7 . @F@C@BCBCNS8 LABRS )@@G@@EL . SET IS SMALL INTEGER CONSTANT @F@C@B IF RT )@@G@@ SDRLCX,OFF,SGDCLS THEN,CBCNS1 . ->REAL CONSTTNT @C@C@B EXERU )@@G@@RR ERRG10 LEVEL,1 . USE REAL PART @]@C@B GEN@ @C@B GSERV )@@G@@T AGRL1,AGIM1 . @#@C@BCBCNS1 LABEL . @ @C@B USING SDSECT,X4RW )@@G@@ . @ @C@B LSDP X4,SGDRSD . @ @C@B LOAD A2,SDLCOFRX )@@G@@,X4 . @^@C@B USING WORD,A2 .@E@C@B IF SDFXFL,ON,SDCLSRY )@@G@@1 THEN,CBCNS9 . -> FLOAT CONST@^@C@B SUB A2,2,I . @F@C@B RZ )@@G@@ IF W1,NZERO THEN,CBCNS9 . -> NOT FIXED BINARYCONST @E@C@B SA )@@G@@ ADD A2,1,I . POINT TO FIXED BINARY @G@C@B IF SB )@@G@@ SGDSCL,NZERO THEN,CBCNS3 . ->NOT INTEGER FIXED BINARY @F@C@B SC )@@G@@ LOAD A8,W1 . FINALLY GET FIXEDDBINARY VALUE @^@C@B SD )@@G@@ GOTO CBCNS4 . @#@C@BCBCNS9 LABEL . @D@C@B EXERR ERRG09 LESE )@@G@@VEL,2 . NON INTEGER VALUE @D@C@B GOTO CBCNS6 , SSF )@@G@@ET DEFAULT OF 10 @#@C@BCBCNS3 LABEL . @C@C@B LOAD A8,W1 . SG )@@G@@ GET VALUE @C@C@B LOAD A3,SGDSCL . SET SCASH )@@G@@LE @D@C@B SSA A8,0,A3 . SCALE TO INTEGER @D@C@BSI )@@G@@CBCNS4 LABEL . CHECK VALID VALUE @E@C@B IF SJ )@@G@@ A8,GT,0177777,I THEN,CBCNS9 . ->NO GOOD VALUE@E@C@B IF SGDSK )@@G@@SGN,OFF,SGDCLS THEN,CBCNS7 . ->NOT COMPL. @C@C@B LOADN A8,A8 .SL )@@G@@ SWITCH SIGN @D@C@BCBCNS7 LABEL . SET RETSM )@@G@@URN VALUE @#@C@B GENM @^@C@B GFREE AGRL1 . @^@C@BSN )@@G@@ GFIN 'POP' @G@C@B JMP . ->RETURSO )@@G@@N, VALUE IN A8, STACK POPPED @B@C@B/ . REAL AND IMAGINARY BIF'S ANSP )@@G@@D PV'S@[@C@B. @[@C@B. @#@C@BCBTREL LABEL . @#@C@B GNTSQ )@@G@@R 2. @E@C@B MOVE DGFLGZ,SGDCLS . SET FLAGS FOR ICODER SR )@@G@@@A@C@B SET SDRLCX,OFF,SGDCLS @D@C@B LOAD X4,0,I . SS )@@G@@ SET ICODE TYPE @^@C@B GOTO GGTRET . @#@C@B/. ST )@@G@@ ROUND @[@C@B. @[@C@B. @#@C@BCBSRON LABEL . @^@C@B SU )@@G@@ GNTR 2 . @E@C@B LINK CBRLCX . SET CONSTANT SV )@@G@@TO REAL @D@C@B LINK CBCNST . GET THE CONSTANT SW )@@G@@@E@C@B CGCONV R,X7 R,X7 . SET CONSTANTS STRAIGHT @C@C@BSX )@@G@@ LOAD A7,SGDSCP . GET SCALE,PRE@E@C@B SSA ASY )@@G@@7,9 . GET SIGN EXTENDED SCALE @G@C@B ANU A8,A7 .SZ )@@G@@ GET N-Q INTO A9 ************ @C@C@B LOADM ATA )@@G@@8,A8 . GET ABS(N) @D@C@B LOAD A6,SGDPRE . GTB )@@G@@ET PRE FOR TESTING@D@C@B ADD A6,1,I . ROUND UPS THETC )@@G@@ PRE @G@C@B SET IGPLUS++IGRLCX++IGMPDV,OFF,DGFLGZ . ASSUME REALTD )@@G@@ AND SCALING@E@C@B IF SDRLCX,OFF,SGDCLS THEN,CBSRO1 . IS IT REALTE )@@G@@? @C@C@B SET IGRLCX,ON,DGFLGZ . SAY COMPLEX @#@C@BCBSRO1TF )@@G@@ LABEL . @E@C@B IF SDDCBN,OFF,SGDCLS THEN,RONDF1 . IS IT DECITG )@@G@@MAL? @E@C@B IF SDFXFL,ON,SGDCLS THEN,RONBF1 . IS IT FLOAT BIN? TH )@@G@@@[@C@B. @^@C@B. BIN FIXED HERE @G@C@B. COMPUTETI )@@G@@: TRUNC(A*2^(N-Q-1)+1/2)/2^(N-Q-1) @F@C@B. TJ )@@G@@ =TRUNC(A*2^(N-Q)+1)/2^(N-Q) @[@C@B. @D@C@B TK )@@G@@ LOAD A3,34,I . SET UP FOR CHECKING@D@C@B LINK RTL )@@G@@ONCHK . CHECK IF ARG OK @C@C@B LOADN A9,A9 . TM )@@G@@ GET -(N-Q) @E@C@B IF A9,LT,0,I THEN,RONEND . ROUND AT EXITN )@@G@@STING DIGIT?@F@C@B IF A9,NE,0,I THEN,RONBX3 . INITIAL SHIFTING TTO )@@G@@O BE DONE @E@C@B SET IGPLUS,ON,DGFLGZ . SAY NO INITIAL SHITP )@@G@@FT @D@C@BRONBX3 LABEL . SET UP SHIFT COUNTS@E@C@BTQ )@@G@@ STORE A9,AGX0OF . SET INITIAL SHIFT COUNT @E@C@B TR )@@G@@ MOVE AGXTMP,AGXR0 . SET TEMP ADDRESS WORD @E@C@B ADDTS )@@G@@ A9,1,I . SHIFT BACK ONE EXTRA @E@C@B STORE ATT )@@G@@9,AGX0OF . SET SHIFT BACK COUNT @#@C@B GENM . @D@C@BTU )@@G@@ GBOFF RONBX6,IGRLCX . IS IT COMPLEX? @D@C@B GIFTV )@@G@@R RONBX4,AGIM1 . IS IMAG IN REG? @D@C@B GLOAD AGIM1,ITW )@@G@@ . GET IMAG INTO REG @#@C@BRONBX4 GLBL . @E@C@B GBOTX )@@G@@N RONBX5,IGPLUS . INITIAL SHIFT TO BE DONE?@E@C@B GSHIN OTY )@@G@@PSSA,AGIM1,AGXTMP 'NO' . SHIFT TO SCALE @E@C@BRONBX5 GLBL . TZ )@@G@@ HERE IF NO INITIAL SHIFT @D@C@B GINST OPLA,AGRA3,AGUA )@@G@@RR12 'NO' . GET A ONE @D@C@B GINST OPTP,AGRX0,AGIM1 'NO' .SEUB )@@G@@E IF POS @E@C@B GINST OPLNA,AGRA3,AGRA3 'NO' . GET -1 IF NEUC )@@G@@G @D@C@B GINST OPAA,AGIM1,AGRA3 'NO' . ADD IN +- 1/2@C@C@BUD )@@G@@ GSHIN OPSSA,AGIM1,1,I 'NO' . TRUNCATE@D@C@B GSHIN OUE )@@G@@PLSSC,AGIM1,AGXR0 'NO' . RESCALE @A@C@BRONBX6 GLBL . HERE FOR REALUF )@@G@@ PART @D@C@B GIFR RONBX7,AGRL1 . IS REAL PART IN REG@D@C@BUG )@@G@@ GLOAD AGRL1,1 . GET IT INTO REG @B@C@BRONBX7 GLBUH )@@G@@L . REAL PART NOW IN REG @G@C@B GBON RONBX8,IGPLUS . IUI )@@G@@NITIAL SHIFT NEEDED FOR REAL PART? @C@C@B GSHIN OPSSA,AGRL1,AUJ )@@G@@GXTMP 'NO' . SCALE@#@C@BRONBX8 GLBL . @D@C@B GINST OPLA,AGUK )@@G@@RA3,AGRR12 'NO' . GET A ONE @E@C@B GINST OPTP,AGRX0,AGRL1 'NUL )@@G@@O' . IS REAL PART POS @C@C@B GINST OPLNA,AGRA3,AGRA3 'NO' . UM )@@G@@GET -1@C@C@B GINST OPAA,AGRL1,AGRA3 'NO' . ADD +-1@C@C@B UN )@@G@@ GSHIN OPSSA,AGRL1,1,I 'NO' . TRUNCATE@D@C@B GSHIN OPLSSC,UO )@@G@@AGRL1,AGXR0 'NO' . RESCALE @#@C@B GFIN . @A@C@BRONEND LABUP )@@G@@EL . HERE TO FINISH UP @#@C@B GEN . @E@C@B GMOVE +UQ )@@G@@2,1 . MOVE ARG ONTO BIF SGD @A@C@B XGPOP . POP OFFUR )@@G@@ STACK TOP @D@C@B LOAD X4,0,I . SET TO ONLY ICODE US )@@G@@@B@C@B GOTO GGTRET . RETURN @D@C@BRONBF1 LABEL . UT )@@G@@ FLOAT BIN HERE @[@C@B. @G@C@B. COMPUTE: UU )@@G@@ TRUNC(A*2^(N-Q-1)+1/2)/2^(N-Q-1) @[@C@B. @C@C@BUV )@@G@@ LOAD A3,59,I . SET FOR CHECK@C@C@B LINK RUW )@@G@@ONCHK . GO CHECK ARG @E@C@B IF A9,EQ,0,I THEN,RONDF4 . UX )@@G@@IS ANY SHIFTING NEEDED @F@C@B ADD A9,02000,I . GET EXPUY )@@G@@ONENT FOR FLOAT NUMBER @D@C@B SLB A9,1 . MAKE ROUZ )@@G@@OM FOR 1 @D@C@B ADD A9,1,I . GET SET FOR 020004 VA )@@G@@@F@C@B STORE A9,AGX0OF . PUT IT WHERE IT CAN BE GOTTEN VB )@@G@@@#@C@B GENM . @F@C@B GINST OPLA,AGRA2,AGXR0,U 'NO' .VC )@@G@@ GET EXPONENT INTO REG @F@C@B GSHIN OPLDSL,AGRA1,59,I 'NO' . VD )@@G@@SHIFT TO PROPER POSITION@E@C@B GFIN . SCALINGVE )@@G@@ CONSTANT SET UP @C@C@B LOADA A3,A1 . POINT TO A1 VF )@@G@@@E@C@B STORE A3,AGX0OF . SET TO POINT TO CONSTANT @E@C@BVG )@@G@@ GOTO RONDF5 . GO MERGE WITH DECIMAL @E@C@BRONDF1VH )@@G@@ LABEL . HERE FOR DECIMAL ROUNDING@[@C@B. @G@C@BVI )@@G@@. COMPUTE: TRUNC(A*10^(N-Q-1)+SIGN(A)*.5)/10^(N-Q-1) VJ )@@G@@@[@C@B. @D@C@B LOAD A3,17,I . SET FOR CHECK . VK )@@G@@@C@C@B LINK RONCHK . CHECK PRE,ARG@D@C@B LOAVL )@@G@@DM A3,A9 . GET MAG OF N-Q-1 @G@C@B ADD A3,A3 .VM )@@G@@ GET 2*N-Q-1 FOR INDEX INTO TABLE @E@C@B LOADA AVN )@@G@@8,KKPW10-2,A3 . POINT TO POWER OF 10 @C@C@B STORE A8,AGX0VO )@@G@@OF . SET FOR ICODE@D@C@B IF A9,NE,0,I THEN,RONDF5 . NEED SVP )@@G@@CALING? @D@C@BRONDF4 LABEL . HERE IF NO SCALING VQ )@@G@@@D@C@B SET IGPLUS,ON,DGFLGZ . SAY NO SCALING @B@C@B VR )@@G@@ GOTO RONDF6 . MERGE @E@C@BRONDF5 LABEL . VS )@@G@@ CHOOSE DIVIDE OR MULT @D@C@B IF A9,GE,1,I THEN,RONDF6 . VT )@@G@@MUST MULTIPLY @D@C@B SET IGMPDV,ON,DGFLGZ . SAY TO DIVIDVU )@@G@@E @ @C@BRONDF6 LABEL . START CODEGEN@#@C@B GENM . @C@C@BVV )@@G@@ GBOFF RONDX1,IGRLCX . IS IT REAL? @D@C@B GIFR RVW )@@G@@ONDF7,AGIM1 . IS IMAG IN REG? @C@C@B GLOAD AGIM1,2 . VX )@@G@@ GET INTO REG @E@C@BRONDF7 GLBL . IMAG PART NOWVY )@@G@@ IN REG @D@C@B GBON RONDF9,IGPLUS . SCALING NEEDED? VZ )@@G@@@D@C@B GBON RONDF8,IGMPDV . MULTIPLY OR DIVIDE?@F@C@B WA )@@G@@ GFLOAT OPDFM,AGIM1,AGXR0 'NO' . MULTIPLY BY SCALE FACTOR@E@C@B WB )@@G@@ GGOTO RONDF9 . FINISHED FIRST SCALING @D@C@BRONDF8 GLBWC )@@G@@L . HERE TO DIVIDE @D@C@B GFLOAT OPDFD,AWD )@@G@@GIM1,AGXR0 'NO' . SCALE DOWN @D@C@BRONDF9 GLBL . HWE )@@G@@ERE TO ADD .5 @^@C@B GLIT 1 . @B@C@B DL AWF )@@G@@3,KK5000 . GET .5 @D@C@B GINST OPTP,AGRX0,AGIM1 'NO' . SWG )@@G@@EE IF POS @D@C@B GDBLE OPDLN,AGRA3,AGRA3 'NO' . GET -.5 WH )@@G@@@C@C@B GFLOAT OPDFA,AGIM1,AGRA3 'NO' . ADD .5@D@C@B GFLWI )@@G@@OAT OPDFA,AGIM1,AGXUNZ 'NO' . TRUNCATE @D@C@B GBON RONDX1,WJ )@@G@@IGPLUS . ANY SCALING NEEDED?@D@C@B GBON RONDF0,IGMPDV . MWK )@@G@@ULT OR DIVIDE? @D@C@B GFLOAT OPDFD,AGIM1,AGXR0 'NO' . UNSCALWL )@@G@@E @C@C@B GGOTO RONDX1 . NOW DO REAL @B@C@BRONDF0WM )@@G@@ GLBL . HERE TO UNDO DIVISION @D@C@B GFLOAT OPDFM,AGIM1,AWN )@@G@@GXR0 'NO' . UNSCALE @D@C@BRONDX1 GLBL . HERE FOWO )@@G@@R REAL PART @D@C@B GBAL CDXLDR . LOAD REAL INTO REG WP )@@G@@@F@C@B GBON RONDX3,IGPLUS . ANY INITIAL SCALING NEEDED? WQ )@@G@@@D@C@B GBON RONDX2,IGMPDV . MULT OR DIVIDE @C@C@B WR )@@G@@ GFLOAT OPDFM,AGRL1,AGXR0 'NO' . SCALE @ @C@B GGOTO RONDX3 WS )@@G@@. @F@C@BRONDX2 GLBL . HERE TO DIVIDE FOR SCALINWT )@@G@@G @C@C@B GFLOAT OPDFD,AGRL1,AGXR0 'NO' . SCALE @D@C@BRONDX3WU )@@G@@ GLBL . HERE TO DO TRUNC @^@C@B GLIT 1WV )@@G@@ . @B@C@B DL A3,KK5000 . GET .5 @D@C@B GINWW )@@G@@ST OPTP,AGRX0,AGRL1 'NO' . SEE IF POS @D@C@B GDBLE OPDLN,AWX )@@G@@GRA3,AGRA3 'NO' . GET -.5 @D@C@B GFLOAT OPDFA,AGRL1,AGRA3 'WY )@@G@@NO' . ADD +- .5 @D@C@B GFLOAT OPDFA,AGRL1,AGXUNZ 'NO' . TRUNCWZ )@@G@@ATE @C@C@B GBON RONDX5,IGPLUS . ALL DONE? @D@C@B XA )@@G@@ GBON RONDX4,IGMPDV . MULTIPLY OR DIVIDE?@D@C@B GFLOAT OXB )@@G@@PDFD,AGRL1,AGXR0 'NO' . UNSCALE @C@C@B GGOTO RONDX5 . XC )@@G@@ ALL DONE @E@C@BRONDX4 GLBL . HERE TO UNSCAXD )@@G@@LE DIVIDE @D@C@B GFLOAT OPDFM,AGRL1,AGXR0 'NO' . UNSCALE XE )@@G@@@E@C@BRONDX5 GLBL . MERGE HERE WHEN DONE @#@C@BXF )@@G@@ GFIN . @E@C@B GOTO RONEND . MERGE WITH BIXG )@@G@@N FIXED @F@C@BRONCHK LLOC . HERE TO CHECK COMPUTED PRE AND XH )@@G@@ARG SIZE @ @C@B USING WORD,A3 . @D@C@B IF A6,GE,XI )@@G@@W1U+2 THEN,RONCH1 . NEW PRE TOO BIG?@D@C@B STORE A6,SGDPRE . XJ )@@G@@ ROUND UPS THE PRE @#@C@BRONCH1 LABEL . @D@C@B IF A8,LE,XK )@@G@@W1U THEN,LJMP . ARG SMALL ENOUGH? @D@C@B LOCAL . XL )@@G@@ CALL FOR ERROR MSG @F@C@B EXERR EXROUN LEVEL,2 . ARG TO XM )@@G@@ROUND TOO BIG. ONE USED @D@C@B LOAD A9,1,I . GET REPXN )@@G@@LACEMENT ONE@C@C@B SUB A9,A7 . GET N-Q AGAIN@B@C@BXO )@@G@@ JMP . RETURN @A@C@B/ . FLOOR, CEXP )@@G@@IL AND TRUNC@[@C@B. @[@C@B. @#@C@B. STAGING @[@C@B. XQ )@@G@@@D@C@B. ON OUTPUT, X4 HAS THE FOLLOWING VALUES: @[@C@B. XR )@@G@@@^@C@B. X4 X Q @ @C@B. 0 FLOAT ANY @^@C@BXS )@@G@@. 1 FIXED 0 @ @C@B. 2 FIXED BIN <0 @ @C@B. XT )@@G@@ 3 FIXED DEC <0 @ @C@B. 4 FIXED BIN >0 @ @C@B. XU )@@G@@ 5 FIXED DEC >0 @[@C@B. @#@C@BCBSFLR LABEL . @#@C@BCBSCELXV )@@G@@ LABEL @#@C@BCBSTRN LABEL . @#@C@B GNTR 2 .@E@C@B XW )@@G@@ MOVE SGDAID+DCGSLT,SGDAID . SET ATTR OF RESULT @D@C@B LOAXX )@@G@@D X4,0,I . ASSUME FLOAT RETURN@D@C@B IF SDFXFL,ONXY )@@G@@,SGDCLS THEN,CBSTRX . -> FLOAT@D@C@B STORE X4,SGDSCL+DCGSLT . SXZ )@@G@@ET RESULT Q=0 @B@C@B ADD X4,1,I . X4=1 @D@C@BYA )@@G@@ IF SGDSCL,ZERO THEN,GGTRET . ->FIXED Q=0 @[@C@B. @B@C@BYB )@@G@@. COMPUTE Q=MIN(N, MAX(P-Q+1,1) ) @[@C@B. @B@C@B LOAYC )@@G@@DN A7,SGDSCP . -Q @^@C@B SSA A7,9 @B@C@B YD )@@G@@ LOAD A9,A7 . SAVE -Q@B@C@B ADD A7,SGDPRE . YE )@@G@@ P-Q @B@C@B IF A7,LT,0,I THEN,CBSCL1 . @^@C@B YF )@@G@@ LOAD A7,0,I . @C@C@BCBSCL1 LABEL . MAX(P-Q,0) YG )@@G@@@^@C@B ADD A7,1,I . @C@C@B LOAD A8,18,I . SYH )@@G@@ET MAX P @C@C@B IF SDDCBN,OFF,SGDCLS THEN,CBSCL2 . @^@C@BYI )@@G@@ LOAD A8,35,I .@#@C@BCBSCL2 LABEL . @B@C@B IF A7,YJ )@@G@@LT,A8 THEN,CBSFL5 . @^@C@B LOAD A7,A8 . @C@C@BCBSFL5 LABYK )@@G@@EL . A7=PRECISION @A@C@B STORE A7,SGDPRE+DCGSLYL )@@G@@T . @B@C@B ADD X4,1,I . X4=2 @C@C@B STOYM )@@G@@RE A9,AGX0OF . ASSUME Q<0 @F@C@B IF SDDCBN,OFF,SGDCYN )@@G@@LS THEN,CBSFL3 . ->DECIMAL DATA @B@C@B IF A9,GE,0,I THEN,YO )@@G@@GGTRET . @E@C@B STOREN A9,DCGSV2+3 . SET TO RETURN Q TO YP )@@G@@ICODE @B@C@B ADD X4,2,I . X4=4 @C@C@B ADDYQ )@@G@@ A9,36,I . GET 36-Q @D@C@B STORE A9,AGX0OF . YR )@@G@@ SET SHIFT FACTOR @^@C@B GOTO GGTRET . @#@C@BCBSFL3 LABYS )@@G@@EL . @B@C@B ADD X4,1,I . X4=3 @B@C@B IF YT )@@G@@ A9,GE,0,I THEN,CBSFL4 . Q<0@^@C@B LOADN A9,A9 . @B@C@B YU )@@G@@ ADD X4,2,I . X4=5 @#@C@BCBSFL4 LABEL . @E@C@B YV )@@G@@ LOADA A8,KKPW10-2 . POINT TO 10**(ABS(Q)) @^@C@B ADDYW )@@G@@ A8,A9 . @C@C@B ADD A8,A9 . 2*Q IS OFFSET@ @C@BYX )@@G@@ STORE A8,AGX0OF . @C@C@B GOTO GGTRET . -YY )@@G@@>RETURN @D@C@BCBSTRX LABEL . FLOAT OPERATION YZ )@@G@@@ @C@B LOADA A7,KK9999 . @ @C@B STORE A7,AGX0OF . ZA )@@G@@@^@C@B GOTO GGTRET . @[@C@B. @[@C@B. @[@C@B/. @^@C@BZB )@@G@@. ICODE FOR SIGN@[@C@B. @#@C@BCBSGFR GLBL . @B@C@B ZC )@@G@@ GSHIN OPDLSC,AGRA1,AGRL1 . @^@C@B GLIT 1 . @^@C@BZD )@@G@@ SSA A1,34 .@ @C@B GGETGR AGRL2,1 . @A@C@B ZE )@@G@@ GINST OPLA,AGRL2,AGRA1 . @^@C@B GFIN 'POP' .@#@C@BCBSGBRZF )@@G@@ GLBL . @D@C@B GIFR CBSGB1,AGRL1 . IF RL1 IN REG? ZG )@@G@@@ @C@B GGETGR AGRL2,1 . @B@C@B GSHIN OPLSC,AGRL2,ZH )@@G@@AGRL1 . @B@C@B GGOTO CBSGB2 . MERGE @C@C@BCBSGB1ZI )@@G@@ GLBL . RL1 IS IN REG@B@C@B GSHIN OPLSC,AZJ )@@G@@GRL1,AGRL1 'NO' . @ @C@B GSET AGRL2,AGRL1 .@#@C@BCBSGB2 GLBZK )@@G@@L . @A@C@B GSHIN OPSSA,AGRL2,34,I .@^@C@B GFIN 'ZL )@@G@@POP' .@[@C@B. @^@C@B. ICODES FOR ABS@[@C@B. @C@C@B ZM )@@G@@ GMODE 'M' . PACK ICODES TOGETHER @#@C@BCBABFR GLBL . @ @C@BZN )@@G@@ GIFR CBABF2,AGRL1 . @ @C@B GGETGR AGRL2,2 . @A@C@BZO )@@G@@ GDBLE OPDLM,AGRL2,AGRL1 . @^@C@B GFIN 'POP' @#@C@BZP )@@G@@CBABF2 GLBL . @C@C@B GDBLE OPDLM,AGRL1,AGRL1 'NO' . ABS ZQ )@@G@@@ @C@B GSET AGRL2,AGRL1 . @^@C@B GFIN 'POP' @[@C@BZR )@@G@@. @#@C@BCBABBR GLBL @ @C@B GIFR CBABB2,AGRL1 . @^@C@BZS )@@G@@ GGETGR AGRL2,1 @A@C@B GINST OPLMA,AGRL2,AGRL1 @^@C@BZT )@@G@@ GFIN 'POP' @#@C@BCBABB2 GLBL . @B@C@B GINST OPLZU )@@G@@MA,AGRL1,AGRL1 'NO' @ @C@B GSET AGRL2,AGRL1 .@E@C@B ZV )@@G@@ GFIN 'POP' . POP STACK AND RETURN @[@C@B. @F@C@BZW )@@G@@. ICODE FOR HBOUND,LBOUND & DIM @[@C@BZX )@@G@@. @#@C@BCBDIM GLBL . @E@C@B GINST OPLA,AGRA3,AGRL1,U ZY )@@G@@ . DV OF ARGUMENT ARRAY@C@C@B GINST OPLA,AGRA2,AGPTX3 . ARG2ZZ )@@G@@ ->A2 @^@C@B GSUB 'BILTN' @^@C@B GLITRG A9 . @^@C@BAA )@@G@@ GGETGR AGRL2 @A@C@B GINST OPLA,AGRL2,AGRA3 . @^@C@BAB )@@G@@ GFIN 'POP' @[@C@B. @D@C@B. AC )@@G@@ ICODE FOR MAX/MIN @[@C@B. @#@C@B GMODE 'M'@#@C@BBFFMINAD )@@G@@ GLBL @C@C@B GIFR BFFMX1,AGRL2 . SET IN REG @^@C@BAE )@@G@@ GLOAD AGRL2,2 @#@C@BBFFMX1 GLBL @C@C@B GDBLE OPDAF )@@G@@L,AGRA3,AGRL2 'NO' . DL A3,Y@C@C@B GFLOAT OPDFAN,AGRA3,AGRL1 'AG )@@G@@NO' . A3=Y-X@F@C@B GBON BFFMX5,IGPLUS . SHOULD IT BE A 'JPAH )@@G@@' OR A 'JN'?@H@C@B GCJMP OPJN,AGRA3,AGPTX3 . GENERATE A 'JN' FOAI )@@G@@R THE 'MIN' FUNCTION @E@C@B GGOTO BFFMX6 . CONTINAJ )@@G@@UE CODE GENERATION@#@C@BBFFMX5 GLBL . @H@C@B GCJMP OPJP,AGRAAK )@@G@@3,AGPTX3 . GENERATE A 'JP' FOR THE 'MAX' FUNCTION @#@C@BBFFMX6 GLBAL )@@G@@L . @D@C@B GDBLE OPDL,AGRL2,AGRL1 . SWITCH X AND Y @E@C@BAM )@@G@@ GGOTO BFFMX2 . CONTINUE CODE GENERATION @D@C@BBFBMINAN )@@G@@ GLBL . BINARY MAX AND MIN @ @C@B GIFR BFFAO )@@G@@MX3,AGRL2 @^@C@B GLOAD AGRL2,1 @#@C@BBFFMX3 GLBL @B@C@BAP )@@G@@ GINST OPLA,AGRA3,AGRL2 'NO' . @B@C@B GINST OPANA,AGRAQ )@@G@@A3,AGRL1 'NO' . @F@C@B GBON BFFMX7,IGPLUS . SHOULD IT BEAR )@@G@@ A 'JP' OR A 'JN'?@H@C@B GCJMP OPJN,AGRA3,AGPTX3 . GENERATE A 'AS )@@G@@JN' FOR THE 'MIN' FUNCTION @E@C@B GGOTO BFFMX8 . AT )@@G@@CONTINUE CODE GENERATION@#@C@BBFFMX7 GLBL . @H@C@B GCJMP OPJAU )@@G@@P,AGRA3,AGPTX3 . GENERATE A 'JP' FOR THE 'MAX' FUNCTION @#@C@BBFFMX8AV )@@G@@ GLBL . @A@C@B GINST OPLA,AGRL2,AGRL1 . @D@C@BBFFMX2 GLBAW )@@G@@L . CLEAN UP EVERYTHING@ @C@B GLABEL AGPTX3 AX )@@G@@. @F@C@B GAPPN BFMINMORE . SEE IF ANY MORE MAX AND MIN INNARAY )@@G@@G @C@C@B GSET AGRL2,AGRL1 . MOVE ANS TO SLOT @#@C@BBFFMX4AZ )@@G@@ GLBL . @^@C@B GFIN 'POP' . @H@C@BBFMINMORE GLBL . BA )@@G@@ SET IF ANY MORE IN LST @ @C@B LOABB )@@G@@D A3,DXGNAR . @ @C@B SUB A3,DCGSLT,I . @D@C@B IF BC )@@G@@ A3,LE,DCGSLT,I THEN,BFMIN9 . --> DONE@ @C@B STORE A3,DXGNARBD )@@G@@ . @A@C@B SET DCGRPT,ON,DCGFLG . @D@C@B SETL A4,5BE )@@G@@,I . IGNORE NEXT ICODE @#@C@BBFMIN8 LABEL . @#@C@B BF )@@G@@ GETC . @^@C@B LOOP A4,BFMIN8 @#@C@B LJMP @#@C@BBG )@@G@@BFMIN9 LABEL. @C@C@B XGPOP . RESET STACK BH )@@G@@@B@C@B MOVE SGDAID+DCGSLT,SGDAID . @#@C@B LJMP . BI )@@G@@@[@C@B. @E@C@B. REAL AND IMAG BIFS BJ )@@G@@& PV'S@[@C@B. @#@C@B GMODE 'M'@#@C@BCBIMAG GLBL @C@C@BBK )@@G@@ GBON CBIMG1,SDRLCX .->COMPLEX ARG @#@C@BCBREL GLBL BL )@@G@@@B@C@B GBOFF CBREL1,SDRLCX . ->REAL @D@C@B GFREE AGIBM )@@G@@M1 . FREE IMAG PART @#@C@BCBREL1 GLBL . @^@C@B BN )@@G@@ GMOVE +2,1 . @^@C@B GFIN 'POP' . @#@C@BCBIMG GLBL BO )@@G@@@ @C@B GBON CBIMG1,SDRLCX @C@C@B GSET AGIM1,AGDZRO . BP )@@G@@ SET IMAG TO 0@#@C@BCBIMG1 GLBL . @^@C@B GFREE AGRL1 . BQ )@@G@@@ @C@B GSET AGRL1,AGIM1 . @^@C@B GGOTO CBREL1 . @[@C@BBR )@@G@@. @[@C@B. @[@C@B. @[@C@B. @#@C@BCBCPLF GLBL . @D@C@BBS )@@G@@ GIFR CBCP10,AGRL1 . IMAG PART IN REG? @ @C@B GGEBT )@@G@@TGR AGXTMP,2 . @A@C@B GDBLE OPDL,AGXTMP,AGRL1 .@#@C@BCBCP10BU )@@G@@ GLBL . @E@C@B GSET AGIM2,AGXTMP . MOVE RESULT TO STACBV )@@G@@K @ @C@B GAPPN CBPLXA . @^@C@B GMOVE +2,1 . BW )@@G@@@^@C@B GFIN 'POP' .@[@C@B. @[@C@B. @#@C@BCBCPLB GLBBX )@@G@@L . @A@C@B GIFR CBCP10,AGRL1 . @ @C@B GGETGR ABY )@@G@@GXTMP,1 . @A@C@B GINST OPLA,AGXTMP,AGRL1 .@ @C@B GGOBZ )@@G@@TO CBCP10 . @#@C@BCBPLXA GLBL . @ @C@B USING SGDSCT,X7CA )@@G@@ . @H@C@B SET SDRLCX,ON,SGDCLS+DCGSLT . SET CCB )@@G@@OMPLEX RESULT @C@C@B XGPOP . POP STACK CC )@@G@@@#@C@B LJMP . @[@C@B. @[@C@B. @[@C@B. @C@C@BCBCJGFCD )@@G@@ GLBL . CONJG BIF @ @C@B GIFR CBCJ1,AGICE )@@G@@M1 @C@C@B GGETGR AGXTMP,2 . ALLOCATE REG @A@C@B CF )@@G@@ GDBLE OPDLN,AGXTMP,AGIM1 . @ @C@B GSET AGIM1,AGXTMP @^@C@BCG )@@G@@ GGOTO CBCJGR . @#@C@BCBCJ1 GLBL @B@C@B GDBLE OPDCH )@@G@@LN,AGIM1,AGIM1 'NO' @^@C@B GGOTO CBCJGR . @#@C@BCBCJGB GLBCI )@@G@@L @C@C@B GIFR CBCJ2,AGIM1 . BINARY CONJG @^@C@B CJ )@@G@@ GGETGR AGXTMP,1@A@C@B GINST OPLNA,AGXTMP,AGIM1 @ @C@B CK )@@G@@ GSET AGIM1,AGXTMP @^@C@B GGOTO CBCJGR @#@C@BCBCJ2 GLBCL )@@G@@L @B@C@B GINST OPLNA,AGIM1,AGIM1 'NO' @#@C@BCBCJGR GLBCM )@@G@@L @^@C@B GMOVE +2,1 . @^@C@B GFIN 'POP' @[@C@BCN )@@G@@. @[@C@B. @[@C@B. @[@C@B. @B@C@B. ICODES FOR TRUNCO )@@G@@C, FLOOR AND CEIL @[@C@B. @[@C@B. @[@C@B. @ @C@B. FIXCP )@@G@@ED BINARY ICODES @[@C@B. @D@C@BCBXFLR GLBL . FCQ )@@G@@IXED BIN+Q FLOOR @D@C@B GIFR CBXFL1,AGRL1 . PUT OP 1 IN RCR )@@G@@EG @^@C@B GLOAD AGRL1,1 .@#@C@BCBXFL1 GLBL . @H@C@B CS )@@G@@ GINST OPLA,AGRA3,AGRL1 'NO' . GET SIGN OF ARGUMENT CT )@@G@@@D@C@B GSHIN OPSSA,AGRA3,36,I . PROPAGATE SIGN @C@C@B CU )@@G@@ GSHIN OPSSL,AGRA3,AGXR0 . SHIFT BY 36-Q@C@C@B GINST OPANA,AGRCV )@@G@@L1,AGRA3 . ADD Q 1'S @^@C@B GGOTO CBXTRN @[@C@B. @D@C@BCW )@@G@@CBXCEL GLBL . FIXED BIN +Q CEIL @ @C@B GIFCX )@@G@@R CBXCL1,AGRL1 @^@C@B GLOAD AGRL1,1 @#@C@BCBXCL1 GLBL CY )@@G@@@B@C@B GINST OPLNA,AGRA3,AGRL1 'NO' @D@C@B GSHIN OCZ )@@G@@PSSA,AGRA3,36,I . PROPAGATE SIGN @A@C@B GSHIN OPSSL,AGRA3,AGXDA )@@G@@R0 @A@C@B GINST OPAA,AGRL1,AGRA3 . @[@C@B. @[@C@B. DB )@@G@@@D@C@BCBXTRN GLBL . FIXED BIN +Q TRUNC @ @C@B DC )@@G@@ GIFR CBXTR1,AGRL1 @^@C@B GLOAD AGRL1,1 @#@C@BCBXTR1 GLBDD )@@G@@L @^@C@B GAPPN CBXTR @A@C@B GSHIN OPSSA,AGRL1,AGXDE )@@G@@R0 . @F@C@BCBXFNP GLBL . FIXED Q=0 FLOOR,CEIL & TRDF )@@G@@UNC @D@C@B GSET AGRL2,AGRL1 . SET RESULT REG @^@C@BDG )@@G@@ GFIN 'POP' @[@C@B. @#@C@BCBXTR GLBL @E@C@B DH )@@G@@ LOAD A3,DCGSV4+3 . GET Q FROM CALLING REG @ @C@B STODI )@@G@@RE A3,AGX0OF . @#@C@B LJMP @[@C@B. @[@C@B. @F@C@BDJ )@@G@@CBXFLQ GLBL . FIXED BIN -Q FLOOR,CEIL & TRUNC@ @C@BDK )@@G@@ GIFR CBXFQ1,AGRL1 @^@C@B GLOAD AGRL1,1 @#@C@BCBXFQ1DL )@@G@@ GLBL @E@C@B GSHIN OPLSSC,AGRL1,AGXR0 . WATCH FOR SIGN BITDM )@@G@@S @^@C@B GGOTO CBXFNP . @[@C@B. @[@C@B. @D@C@B. DN )@@G@@ FLOATING ARGUMENTS TO FLOOR, CEIL AND TRUNC @[@C@B. @F@C@BCBXFDQDO )@@G@@ GLBL . FIXED DEC -Q FLOOR,CEIL & TRUNC@E@C@B DP )@@G@@ GBAL CDXLDR . MAKE SURE IT IS IN REG @H@C@B GFLDQ )@@G@@OAT OPDFM,AGRL1,AGXR0 . MPY BY 10**Q (Q<0) @A@C@BDR )@@G@@ GGOTO CBXFNP . ->FINISH UP @[@C@B. @[@C@B. @D@C@BCBXFDPDS )@@G@@ GLBL . FIXED DEC +Q TRUNC @D@C@B GBAL CDXDT )@@G@@LDR . LOAD ARG INTO REG @D@C@B GFLOAT OPDFD,AGRL1,AGDU )@@G@@XR0 . SCALE BY 10**Q @C@C@BCBXFTQ GLBL . FLOAT TDV )@@G@@RUNC @C@C@B GBAL CDXLDR . LOAD ARG @#@C@BCBXFT1DW )@@G@@ GLBL . @H@C@B GFLOAT OPDFA,AGRL1,AGXUNZ . DX )@@G@@ TRUNCATE - ADD FUNNY 0 @C@C@B GGOTO CBXFNP . ->FINISDY )@@G@@H UP @[@C@B. @E@C@BCDXLDR GLBL . FLOAT LOAD INDZ )@@G@@TO REGS @C@C@B GIFR CBXLD1,AGRL1 . -> ALREADY IN REG @^@C@BEA )@@G@@ GLOAD AGRL1,2 @#@C@BCBXLD1 GLBL @#@C@B GRTRN . EB )@@G@@@[@C@B. @[@C@B. @[@C@B. @C@C@BCBXFLC GLBL . EC )@@G@@ FLOAT CEIL @^@C@B GBAL CDXLDR . @E@C@B GINST OPTED )@@G@@N,AGRX0,AGRL1 'NO' . TEST SIGN OF NUMBER @C@C@B GFLOAT OPDFA,AGEE )@@G@@RL1,AGXR0 . ADD .99999 @^@C@B GGOTO CBXFT1 . @[@C@B. @C@C@BEF )@@G@@CBXFLF GLBL . FLOAT FLOOR @^@C@B GBAL CDXEG )@@G@@LDR . @A@C@B GINST OPTP,AGRX0,AGRL1 'NO'@C@C@B GFLOAT OPEH )@@G@@DFAN,AGRL1,AGXR0 . ADD .99999@A@C@B GGOTO CBXFT1 . ->TRUNCATE EI )@@G@@@[@C@B. @[@C@B. @D@C@BCBXFFC GLBL . FIX DECEJ )@@G@@ +Q CEIL @C@C@B GBAL CDXLDR . LOAD ARG @B@C@BEK )@@G@@ GDBLE OPDL,AGRA3,AGXR0 . 10**Q @#@C@B GLIT 1 @E@C@BEL )@@G@@ DFAN A3,KKPW10-2-(IN 63,0,1,0) . 10**Q-1=9999999 @B@C@B EM )@@G@@ GINST OPTN,AGRX0,AGRL1 'NO' . @D@C@B GFLOAT OPDFA,AGRL1,AGEN )@@G@@RA3 . ADD IF POS NUM @B@C@B GGOTO CBXFDP . -> TRUNCATE EO )@@G@@@[@C@B. @[@C@B. @D@C@BCBXFFF GLBL . FIXED DEP )@@G@@EC +Q FLOOR @C@C@B GBAL CDXLDR . LOAD ARG @A@C@BEQ )@@G@@ GDBLE OPDL,AGRA3,AGXR0 . @#@C@B GLIT 1 .@B@C@B ER )@@G@@ DFAN A3,KKPW10-2-(IN 63,0,1,0) @A@C@B GINST OPTP,AGRX0,AGRLES )@@G@@1 'NO'@E@C@B GFLOAT OPDFAN,AGRL1,AGRA3 . SUB IF NUMBER NEG ET )@@G@@@C@C@B GGOTO CBXFDP . ->FINISH UP @[@C@B. @C@C@BEU )@@G@@. FIXED BIN MOD@[@C@B. @#@C@BBFMODBEV )@@G@@ GLBL . @D@C@B GIFR BFMOB1,AGRL2 . IS ARG1 IN REG? EW )@@G@@@D@C@B GLOAD AGRL2,1 . GET IT INTO ONE @D@C@BBFMOB1EX )@@G@@ GLBL . ARG1 NOW IN REG @D@C@B GIFR BEY )@@G@@FMOB5,AGRL1 . IS ARG2 IN REG? @D@C@B GINST OPTNZ,AGRX0,AEZ )@@G@@GRL1 'NO' . SEE IF ZERO @C@C@B GJUMP AGLBL . JUMP ARFA )@@G@@OUND @B@C@B GGOTO BFMOB6 . MERGE @E@C@BBFMOB5 GLBFB )@@G@@L . HERE AGRL1 IS IN REG @F@C@B GCJMP OFC )@@G@@PJZ,AGRL1,AGLBL 'NO' . LEAVE RESULT IF ZERO @E@C@BBFMOB6 GLBL . FD )@@G@@ MERGE HERE TO CONTINUE @D@C@B GSHIN OPDSA,AFE )@@G@@GRL2,36,I 'NO' . SIGN EXTEND @C@C@B GINST OPDI,AGRL2,AGRL1 'NFF )@@G@@O' . DIVIDE @F@C@B GSHIN OPLDSL,AGRL2,36,I 'NO' . PUT BACK INTFG )@@G@@O ODD REG @F@C@B GCJMP OPJZ,AGRL2,AGLBL . TEST POS. DOESN'T FH )@@G@@HDLE NEG. 0 @B@C@B GINST OPTP,AGRX0,AGRL2 'NO' . @E@C@B FI )@@G@@ GINST OPAMA,AGRL2,AGRL1 . GET POSITIVE RESULT @D@C@B GLAFJ )@@G@@BEL AGLBL . SET JUMP TO HERE @C@C@B GSET AGRL2+DFK )@@G@@CGSLT,AGRL2 . SET RESULT@D@C@B GAPPN BFMOB4 . GO POP FL )@@G@@OFF ARGS @D@C@B GFIN . ALL DONE ICODE FM )@@G@@@E@C@BBFMOB4 GLBL . HERE TO POP OFF TWO ARGS @A@C@BFN )@@G@@ XGPOP 'SIZE',2*DCGSLT . @#@C@B LJMP . @[@C@B. FO )@@G@@@F@C@B. FLOAT OR FIXED DEC MOD BIF FP )@@G@@@[@C@B. @#@C@BBFMODF GLBL . @D@C@B GIFR BFMOF1,AGRL2 FQ )@@G@@. ARG ONE IN REG? @D@C@B GLOAD AGRL2,2 . GET IT FR )@@G@@INTO ONE @D@C@BBFMOF1 GLBL . ARG ONE NOW IN REG FS )@@G@@@F@C@B GINST OPTNZ,AGRX0,AGRL1 'NO' . SEE IF DIVISOR ZERO FT )@@G@@@^@C@B GJUMP AGLBL .@F@C@B GDBLE OPDL,AGRA1,AGRL2 'NFU )@@G@@O' . LOAD INTO SCRATCH REG @C@C@B GFLOAT OPDFD,AGRA1,AGRL1 'FV )@@G@@NO' . DIVIDE@D@C@B GINST OPTP,AGRX0,AGRA1 'NO' . SEE IF POS FW )@@G@@@E@C@B GLIT 1 . NEG HERE,HELP FLOOR FUNC @ @C@BFX )@@G@@ DFAN A1,KK9999 . @D@C@B GFLOAT OPDFA,AGRA1,AGXUNZ FY )@@G@@'NO' . TRUNCATE @G@C@B GFLOAT OPDFM,AGRA1,AGRL1 'NO' . GET FLFZ )@@G@@OOR(ARG1/ARG2)*ARG2 @D@C@B GFLOAT OPDFAN,AGRL2,AGRA1 'NO' .GA )@@G@@ GET MOD @C@C@B GSET AGRL2+DCGSLT,AGRL2 . SET RESULT@D@C@BGB )@@G@@ GCJMP OPJP,AGRL2,AGLBL . IS RESULT NEG. @F@C@B GINGC )@@G@@ST OPTP,AGRX0,AGRL1 'NO' . DO DBLE ADD MAGN. @E@C@B GFLGD )@@G@@OAT OPDFAN,AGRL2,AGRL1 'NO' . GET POS. RESULT @B@C@B GINST OGE )@@G@@PTN,AGRX0,AGRL1 'NO' . @E@C@B GFLOAT OPDFA,AGRL2,AGRL1 . GEGF )@@G@@T POS. RESULT @^@C@B GLABEL AGLBL .@C@C@B GAPPN BGG )@@G@@FMOB4 . POP STACK @#@C@B GFIN . @ @C@B/. CONGH )@@G@@STANTS NEEDED @[@C@B. @[@C@B. @^@C@BDCBCSM SFW 0 . GI )@@G@@@B@C@B +SGDEXP++SD0ART,SDDCBN,0,17 . @A@C@BDCBCLN SFW 0 . SGJ )@@G@@TACK ELT FOR 35,0 @D@C@B +SGDEXP++SD0ART,SDDCBN,0,35 . WHY SGDEXGK )@@G@@P? @[@C@B. @ @C@B. WORDS FOR NONPL1 MSGS@[@C@B. @C@C@BGL )@@G@@DCBRND INSERT 4,'RAN','D ' . RAND USED @C@C@BERXGRN EQU 52 GM )@@G@@. NON STANDARD PL1 USED@B@C@BEXERB1 EQU 51 . REAL PARGN )@@G@@T USED@G@C@BEXROUN EQU 0200 . ARG TO ROUND OUT OF BOUNDGO )@@G@@S. ONE USED @D@C@BERRG08 EQU 41 . NON-CONSTANT. 10 USED GP )@@G@@@C@C@BERRG10 EQU 42 . REAL PART USED @F@C@BERRG09 EQUGQ )@@G@@ 43 . SMALL INTEGER NEEDED, NOT FOUND @D@C@BIGPLUS EQUGR )@@G@@ 02000 . FLAG FOR MIN & MAX @F@C@BIGMPDV EQU 01000 .GS )@@G@@ MULTIPLY OR DIVIDE IN ROUND @E@C@BIGZERO EQU 01000 .GT )@@G@@ FLAG FOR ZERO SHIFT COUNT@#@C@B CEND . @#@C@B GU )@@G@@ END . @A@@@C/. BASED STORAGE BUILT-IN FUNCTIONS @[@@@C. @[@@@CGV )@@G@@. @[@@@C. @]@@@CFGNULL* @ @@@CFILL(1) SAC GGTNOP,BBBNULGW )@@G@@@ @@@CFILL(1) SAC BBBNOP,0 @[@@@C. @[@@@C. @]@@@CFGALLCGX )@@G@@* @A@@@CFILL(1) SAC GGTNOP,BBBALL . @ @@@CFILL(1) SAC BGY )@@G@@BBNOP,0 . @[@@@C. @[@@@C. @]@@@CFGADDR* . @A@@@CFILL(1) SACGZ )@@G@@ GGTNOP,BBBADR . @ @@@CFILL(1) SAC BBBNOP,0 . @]@@@C/. NULHA )@@G@@L BIF @[@@@C. @[@@@C. @ @@@C USING SGDSCT,X7 . @#@@@CHB )@@G@@BBBNUL LABEL . @^@@@C GNTR 2 . @E@@@C LOADA HC )@@G@@A3,BFNULL . GET ADDR OF A NULL PTR @ @E@C STORE A3,SGDRHD )@@G@@BS . @ @@@E STORE A3,SGDRDS . @D@@@C LOADA A3,AGRHE )@@G@@X0 . MAKE ADDR OFF X0 @ @E@C STORE A3,SGDRDS . @ @@@EHF )@@G@@ STORE A3,SGDRBS . @D@@@C MOVE SGDAID,BBBPTR . SHG )@@G@@AY IT IS A PTR @^@@@C GRTN 2 . @[@@@C. @[@@@C. HH )@@G@@@[@@@C. @[@@@C. @ @@@CBBBALL LABEL . ALLOCATON BIF@[@@@C. HI )@@G@@@^@@@C GNTR 2 . @#@@@C GENM . @F@@@C GINHJ )@@G@@ST OPLA,AGRA3,AGRL1,U . LOAD ADDR OF IMPLIED PTR @ @@@C GSUHK )@@G@@B BFALLC . @^@@@C GFIN 'POP' .@E@@@C MOVE SHL )@@G@@GDAID,BBBFBC . SAY RESULT IS FIXED BIN @E@@@C LOAD A3,AGRAHM )@@G@@2 . SET TO SAY RESULT IN A2 @ @@@C STORE A3,AGRL1 . HN )@@G@@@^@@@C GRTN 2 . @[@@@C. @[@@@C. @[@@@C. @[@@@CHO )@@G@@. @ @@@CBBBADR LABEL . ADDR BIF @[@@@C. @[@@@C. @^@@@CHP )@@G@@ GNTR 2 . @D@@@C LOAD A3,SGDRSD . GET SD HQ )@@G@@OF THING @D@@@C STORE A3,AGX0OF . SET TO PASS IT HR )@@G@@@#@@@C GENM . @D@@@C GINST OPLA,AGRA1,AGXR0,U . LA,UHS )@@G@@ A1,SDADDR @E@@@C GINST OPLA,AGRA3,AGRL1,U . LA,U A3,ADDR OF HT )@@G@@THING @^@@@C GFIN 'POP' .@D@@@C GTMP 3 . HU )@@G@@ GET A TEMP PTR @D@@@C STORE A8,AGR10D . MAKE ANHV )@@G@@ AW FOR IT @ @@@C LOAD A3,AGXR10 . @E@@@C STORE AHW )@@G@@3,AGRL1 . SET TOP OF STK TO TEMP @D@@@C MOVE SGDAID,HX )@@G@@BBBPTR . MAKE STACKTOP A PTR@#@@@C GENM . @F@@@C GINHY )@@G@@ST OPLA,AGRA2,AGRL1,U . LA,U A2,ADDR OF TEMP PTR @ @@@C GSUHZ )@@G@@B BFADDR . @#@@@C GFIN . @^@@@C GRTN 2 IA )@@G@@@[@@@C. @[@@@C. @B@@@CBBBNOP GLBL . TELL XGEN TO DO NO MORE IB )@@G@@@#@@@C GFIN . @#@@@C/. CONSTANTS USED @[@@@C. @D@@@CBBBFBCIC )@@G@@ SFW 0 . FIXED BIN RESULT @ @@@C +SD0ART,SID )@@G@@DDCBN,0,35 @C@@@CBBBPTR SFW 0 . PTR RESULT @ @F@CIE )@@G@@ +SD0PTR,SDVRCN,0,0 . @ @@@F +SD0PTR,SDDCBN,0,0 . @#@@@CIF )@@G@@ END . ___ESULT @D@C@B GLABEL AGLBL . SIG )@@G@@ET JUMP TO HERE @C@C@B*[S@@@*SDFF*@C@@@@. COPYRIGHT 1975 BY UNIVERSIIH )@@G@@TY OF MARYLAND @[@@@@. @D@@@@. QUESTIONS CONCERNING THIS SHOULDII )@@G@@ BE DIRECTED TO: @[@@@@. @ @@@@. MARVIN V. ZELKOWITZ @B@@@@IJ )@@G@@. DEPARTMENT OF COMPUTER SCIENCE @A@@@@. UNIVERSITY OF MIK )@@G@@ARYLAND @B@@@@. COLLEGE PARK, MARYLAND 20742 @[@@@@. IL )@@G@@@G@@@@. PERMISSION TO USE THESE LISTINGS AND THE COMPUTER PROGRAMIM )@@G@@S THEY@E@@@@. REPRESENT IS GRANTED UNDER THE FOLLOWING CONDITIONS: IN )@@G@@@[@@@@. @G@@@@. 1. UNLIMITED USE MAY BE MADE OF THE PROGRAMS IO )@@G@@REPRESENTED BY @G@@@@. THESE LISTINGS PROVIDED THAT THE NAME PLUM OIP )@@G@@R UNIVERSITY OF MARYLAND@E@@@@. PL/1 COMPILER REMAINS ASSOCIATED WITH IQ )@@G@@THESE PROGRAMS. @[@@@@. @F@@@@. 2. MODIFICATIONS MAY BE MADIR )@@G@@E TO THE LISTINGS PROVIDED: @[@@@@. @G@@@@. (A) ANY RESULTIIS )@@G@@NG PROGRAM, OR REPORT, PAPER OR DOCUMENTATION @G@@@@. DESCRIBINIT )@@G@@G SUCH PROGRAM WILL CLEARLY INDICATE THAT THE PROGRAM @E@@@@. IS IU )@@G@@A DIALECT OF PLUM OR IS DERIVED FROM PLUM, AND @[@@@@. @G@@@@. IV )@@G@@ (B) ALL SUCH MODIFICATIONS, OTHER THAN TRIVIAL CORRECTIONS @F@@@@IW )@@G@@. OF ERRORS IN THE SOURCE PROGRAMS, SHALL BE REPORTED AND @G@@@@IX )@@G@@. A BRIEF DESCRIPTION OF THE FEATURE ADDED SHALL BE SUBMITTED IY )@@G@@@C@@@@. TO THE UNIVERSITY OF MARYLAND, AND @[@@@@. @F@@@@IZ )@@G@@. (C) NO PROGRAMS DERIVED FROM THESE LISTINGS SHALL BE SOLD@G@@@@JA )@@G@@. WITHOUT WRITTEN APPROVAL FROM THE UNIVERSITY OF MARYLAND, AND JB )@@G@@@[@@@@. @F@@@@. (D) COPIES OF THESE PROGRAMS MAY BE TRANSMITTJC )@@G@@ED TO OTHER @G@@@@. LOCATIONS PROVIDED THAT SUCH TRANSMITTALS CLEJD )@@G@@ARLY INDICATE @G@@@@. WHETHER THE PROGRAMS ARE EXACT COPIES OJE )@@G@@F THE UNIVERSITY OF @E@@@@. MARYLAND PLUM COMPILER OR ARE MODJF )@@G@@IFICATIONS TO IT. @[@@@@. @G@@@@. 3. THESE CONDITIONS ONLY APJG )@@G@@PLY TO THE PLUM COMPILER ITSELF, @F@@@@. AND ARE NOT MEANT TO APPLYJH )@@G@@ TO ANY PROGRAM WRITTEN USING PLUM. @E@@@@. THE PURPOSE OF THESE CONDIJI )@@G@@TIONS IS TO ALLOW ANY USER TO @F@@@@. EXPERIMENT WITH THE COMPILER AS JJ )@@G@@LONG AS THE RESULTING PRODUCT @G@@@@. IS NOT SOLD AND AS LONG AS IT ISJK )@@G@@ KNOWN THAT THE PRODUCT DEVELOPED @#@@@@. FROM PLUM. @[@@@@. JL )@@G@@@[@@@@. @[@@@@. @[@@@@. @[@@@@. @[@@@@/. @#@@@@/ JM )@@G@@ AXR$ . @#@@@@ DCLRG . @#@@@@@ADD,P PLTVDS @#@@@@@ADD,PJN )@@G@@ PLCGST @#@@@@@ADD,P PLDSAW @#@@@@ LIST . @#@@@@ JO )@@G@@ PLWORD . @#@@@@ PLAC . @#@@@@ PLCGD . @#@@@@ JP )@@G@@ PLSD . @#@@@@ PLIG . @D@@@@ PLAR . ESTABLISH ACTIJQ )@@G@@VATION RECORD DSECTS @#@@@@ CEND . @^@@@@/XGCG CSECT 3 JR )@@G@@. @D@@@@GSSL EQU 0400000000000 . GET SUBSCRIPT LIST @D@@@@JS )@@G@@GTMP EQU 0200000000000 . GET CROSS SECTION DV @E@@@@LIST EQUJT )@@G@@ 0100000000000 . START SCAN OF SUBSCRIPT LIST @E@@@@GTCV EQU 004JU )@@G@@0000000000 . LOCATE TALLY CELL VECTOR @F@@@@SSUB EQU 002000000JV )@@G@@0000 . FORM TALLY CELL INTO SUBSCRIPT @E@@@@SCPY EQU 001000000JW )@@G@@0000 . COPY BNDS&MULTP INTP CRSC DV @D@@@@SEND EQU 0004000000000 .JX )@@G@@ BEGIN COMMA PROCESSING @D@@@@BSSL EQU 0002000000000 . BUMP SS LISJY )@@G@@T OFFSET @E@@@@TCV0 EQU 0001000000000 . START CONSECUTIVE STAR JZ )@@G@@COUNT @D@@@@TCV1 EQU 0000400000000 . COUNT CONSECUTIVE STARS@C@@@@KA )@@G@@TCV2 EQU 0000200000000 . COUNT #SUB'S @E@@@@STFS EQU 000KB )@@G@@0100000000 . MOVE CONSECURIVE TC'S TO SSL @E@@@@SSBW EQU 000004000KC )@@G@@0000 . COMPUTE NON-* SUBSCRIPT MASK @D@@@@STUF EQU 0000020000000 .KD )@@G@@ MOVE SUBSCRIPT TO SSL @D@@@@COMP EQU 0000010000000 . ADDR <-ADDRKE )@@G@@+SS(I)*M(I) @D@@@@NEXT EQU 0000004000000 . SCAN NEXT SUBSCRIPT KF )@@G@@@C@@@@STF0 EQU 0000002000000 . (SAME AS STFS) @D@@@@LARG EQUKG )@@G@@ 0000001000000 . GEN LA OF SSL AND DV @D@@@@TLYC EQU 000000040KH )@@G@@0000 . GEN CALL TO EXTLYC @D@@@@SUBR EQU 0000000200000 . GEN CKI )@@G@@ALL TO EXSUBR @D@@@@CRSC EQU 0000000100000 . GEN CALL TO EXCRSKJ )@@G@@C @D@@@@RESA EQU 0000000040000 . SET RESULT DESCRIPTION @F@@@@KK )@@G@@RESB EQU 0000000020000 . SET RESULT DESCRIPTION(NOSUBRG) @E@@@@KL )@@G@@STV0 EQU 0000000010000 . FINISH CRSC DV CONSTRUCTION @D@@@@POPS KM )@@G@@ EQU 0000000004000 . CLEAR STACK ENTRIES @C@@@@ . DEFINITION OF AKN )@@G@@RRAY PROCESSING STATE MASKS @F@@@@XGSCLR SF +GSSL+LIST+TCV2+STUF+COMP+KO )@@G@@NEXT+LARG+SUBR+RESB+RESA+POPS @^@@@@ . ARRAY EXPRSSION MASK @F@@@@XGACCXKP )@@G@@ SF +GSSL+LIST+GTCV+SSUB+SEND+TCV0+STUF+COMP+NEXT+SSBW; @ @@@@+LARG+KQ )@@G@@TLYC+RESB+RESA+POPS . @^@@@@ . CROSS SECTION MASK @F@@@@XGCRSE SF +GKR )@@G@@SSL+GTMP+LIST+SCPY+BSSL+TCV2+SSBW+STUF+COMP+NEXT; @A@@@@+LARG+CRSC+RKS )@@G@@ESA+RESB+STV0+POPS . @F@@@@ . ONE OF THE FOLLOWING MASKS IS ANDED AGAKT )@@G@@INST ONE OF THE ABOVE @E@@@@ . MASKS TO ACCOUNT FOR THE STATUS OF THE KU )@@G@@SUBSCRIPT RANGE @#@@@@ . CONDITION. @^@@@@ . SUBSCRIPT RANGE MASK KV )@@G@@@F@@@@XGSBRG SF +GSSL+LIST+GTCV+BSSL+TCV0+TCV2+SSBW+STUF+NEXT+LARG+SUBR;KW )@@G@@@^@@@@+TLYC+CRSC+RESA+POPS . @ @@@@ . NO SUBSCRIPT RANGE MASK @G@@@@KX )@@G@@XGNBRG SF +GTMP+LIST+GTCV+SSUB+SCPY+SEND+TCV2+SSBW+COMP+NEXT+RESA+RESB; KY )@@G@@@]@@@@+STV0+POPS .@ @@@@ . MASK FOR SUBSEQUENT STARS @A@@@@XGSTAR SF +TKZ )@@G@@CV0+TCV1+STFS+STF0 . @^@@@@XGCCS2 SFW 0 . @^@@@@FILL(1) SQ LA )@@G@@ SD0STR @A@@@@FILL(1) SQ SDCHBT+SDARST+SDVRCN @#@@@@FILL(1) SQ LB )@@G@@ 0 @#@@@@FILL(1) SQ 1 @D@@@@XGCCS1 SAC AGRX0-AGRX0+AGAW,KKF1LC )@@G@@-(IN 63,0,1,0) . @D@@@@FILL(1) SAC AGRX0-AGRX0+AGAW,KKD0-(IN 63,0,1,LD )@@G@@0) . @#@@@@XGCONO SFW 0 .@B@@@@FILL(1) SQ SD0ART+SGDEXP LE )@@G@@ . @ @@@@FILL(1) SQ SDDCBN .@ @@@@FILL(1) SQ 0 LF )@@G@@ .@ @@@@FILL(1) SQ KBXMXP .@D@@@@FILL(1) SAC AGXR0-AGRLG )@@G@@X0+AGAW,KKF0-(IN 63,0,1,0) . @#@@@@XGCON1 SFW 0 .@ @@@@FILL(1) SQ LH )@@G@@ SD0ART+SGDEXP .@^@@@@FILL(1) SQ SDDCBN . @#@@@@FILL(1) SQ 0 .LI )@@G@@@^@@@@FILL(1) SQ KSLPRE . @#@@@@XGCON2 SFW 0 .@^@@@@FILL(1) SQ LJ )@@G@@ SD0ART . @^@@@@FILL(1) SQ SDDCBN . @#@@@@FILL(1) SQ 0 .@^@@@@LK )@@G@@FILL(1) SQ KBXMXP . @#@@@@XGCON3 SFW 0 .@^@@@@FILL(1) SQ SD0LL )@@G@@ART . @^@@@@FILL(1) SQ SDDCBN . @#@@@@FILL(1) SQ 0 .@^@@@@FILL(1LM )@@G@@) SQ KSLPRE . @#@@@@XGCON4 SFW 0 .@^@@@@FILL(1) SQ SD0ART . LN )@@G@@@B@@@@FILL(1) SQ SDRLCX++SDFXFL++SDDCBN . @#@@@@FILL(1) SQ 0 .LO )@@G@@@^@@@@FILL(1) SQ 60 . @B@@@@LRR1U0 SF +(LR R1,0,0,U) LP )@@G@@ . @H@@@@DRAW34 SAC AGRX0-AGRX0+AGAW,34 . AW USED AFTER LSC IN FLQ )@@G@@INDING POWERS OF 2@C@@@@R14ETY SAC AGRX0-AGRX0+AGAW,EXTLYC . LR )@@G@@@D@@@@XGMSK1 SF 0777000 . MASK USED TO CHECK Q3 OF H2 @H@@@@XGMSK2LS )@@G@@ SF 0400000000000 . MASK USED TO MARK A10 WITH BY-NAME EXPRESSION LT )@@G@@@ @@@@XGMSK3 SAC 1,0 .@G@@@@XGMSK4 SAC 0777777,000000 LU )@@G@@ . FOR MASKING OUT LOWER HALF WORD@H@@@@XGMSK5 SAC 0200000,0LV )@@G@@00000 . COMPARISON AFTER SHIFTING TO SEE IF POWER OF 2@]@@@@. **TABLES LW )@@G@@@A@@@@XGTBLE EQU +(IN 0,H2,1,$) . @A@@@@XGPCTB EQU +(IN 0,H1LX )@@G@@,1,$) . @G@@@@ . H1 IS PUNCTUATIONLY )@@G@@ BRANCHING TABLE @F@@@@ . H2 IS OPERALZ )@@G@@ND BRANCHING TABLE@H@@@@FILL(1) SAC XGNXT0,XGARST . SKIP QNSMA )@@G@@ SYMBOL, ARITHMATIC OPERAND @B@@@@FILL(1) SAC 000000,XGMLA MB )@@G@@ . @B@@@@FILL(1) SAC XGCCST,XGSART . @B@@@@FILL(1) SACMC )@@G@@ XGSTRR,XGSART . @F@@@@FILL(1) SAC XGNXT0,XGETRY MD )@@G@@ . SKIP ACNIL, ENTRY OPERAND @B@@@@FILL(1) SAC 000000,XGMLE ME )@@G@@ . @B@@@@FILL(1) SAC XGCCST,XGSTNR . @B@@@@FILL(1) SACMF )@@G@@ XGCMMA,XGSTNR . @I@@@@FILL(1) SAC XGCCST,XGSTRU MG )@@G@@ . CHECK FOR CONDITION CODE, STRUCTURE OPER @D@@@@FILL(1) SAC XGCMH )@@G@@MMA,XGSTRU . ACCOMA FOUND @F@@@@FILL(1) SAC XGCCST,XGSTRU MI )@@G@@ . CHECK FOR CONDITION CODE @G@@@@FILL(1) SAC XGASOP,XGSTRU MJ )@@G@@ . ASSIGNMENT OPERATOR OR COMMA @G@@@@FILL(1) SAC XGNXT0,XGMK )@@G@@ARST . SKIP RIGHT PAREN, STRING OPERAND@B@@@@FILL(1) SAC 000ML )@@G@@000,XGMLS . @I@@@@FILL(1) SAC XGNXT0,XGSTST . SKMM )@@G@@IP LEFT PAREN, STRING IN STATIC CHECK @B@@@@FILL(1) SAC 000000,XGMN )@@G@@STST . @I@@@@FILL(1) SAC XGCCST,XGLABL . CHECK FOMO )@@G@@R CONDITION CODE, LABEL OPERAND @B@@@@FILL(1) SAC XGRBRK,XGMLA MP )@@G@@ . @B@@@@FILL(1) SAC XGNXT0,XGSTLA . @B@@@@FILL(1MQ )@@G@@) SAC 000000,XGSTLA . @H@@@@FILL(1) SAC XGCCST,XGFILE MR )@@G@@ . CHECK FOR CONDITION CODE, FILE OPERAND@B@@@@FILL(1) SAC XGAMS )@@G@@CMA,XGMLA . @B@@@@FILL(1) SAC XGSBNX,XGSTFI . MT )@@G@@@B@@@@FILL(1) SAC 000000,XGSTFI . @G@@@@FILL(1) SAC XGNMU )@@G@@XT0,XGVRBL . SKIP ACPTQ, POINTER OPERAND @B@@@@FILL(1) SACMV )@@G@@ 000000,XGMLA . @B@@@@FILL(1) SAC XGSEXP,000000 MW )@@G@@ . @B@@@@FILL(1) SAC 000000,000000 . @B@@@@FILL(1) SACMX )@@G@@ XGSEX1,000000 . @B@@@@FILL(1) SAC 000000,000000 MY )@@G@@ . @B@@@@FILL(1) SAC XGNEXP,000000 . @B@@@@FILL(1) SACMZ )@@G@@ 000000,000000 . @D@@@@ . ** BUILT-IN FUNCTION ARGUMENT BRANA )@@G@@NCHING TABLE ** @A@@@@XGBFTB EQU +(IN 0,H1,1,$) . @ @@@@XBU NB )@@G@@ LABEL .@H@@@@FILL(1) SAC XBSSS,0 . 0 NC )@@G@@ THE LEFT HALF TELLS YOU WHICH @H@@@@XBX LABEL .ND )@@G@@ PATTERN OF EVENTS TO CHOSE FROM, @G@@@@FILL(1) SAC XBMNE )@@G@@,XGBNON . 1 . WHILE THE RIGHT HALF GIVES @G@@@@XBNS LABNF )@@G@@EL . THE PATTERNS FOR THE VARIOUS@H@@@@FILL(1NG )@@G@@) SAC XBSSS,XGBARY . 2 . ARRANGEMENTS OF ARGS FOR BIF'S. NH )@@G@@@ @@@@XBSSS LABEL .@B@@@@FILL(1) SAC XBL,XGBVAL NI )@@G@@ . 3 . @ @@@@XBSS LABEL .@B@@@@FILL(1) SAC XBSNJ )@@G@@,XGBVAL . 4 . @ @@@@XBS LABEL .@B@@@@FILL(1NK )@@G@@) SAC XBR,XGBVAL . 5 . @ @@@@XBM LABEL .NL )@@G@@@B@@@@FILL(1) SAC XBS,XGBMAT . 6 . @ @@@@XBL LABEL NM )@@G@@ .@B@@@@FILL(1) SAC XBU,XGBMAX . 7 . @ @@@@XBLLI NN )@@G@@ LABEL .@B@@@@FILL(1) SAC XBSSS,XGBMAX . 8 . NO )@@G@@@ @@@@XBLII LABEL .@B@@@@FILL(1) SAC XBLII,XGBMAX NP )@@G@@ . 9 . @B@@@@FILL(1) SAC XBSS,XGBGNR . 10 . @ @@@@XBLR NQ )@@G@@ LABEL .@B@@@@FILL(1) SAC XBLLI,XGBMAX . 11 . NR )@@G@@@ @@@@XBR LABEL .@B@@@@FILL(1) SAC XBSS,0 NS )@@G@@ . 12 . @ @@@@XBLQ LABEL .@B@@@@FILL(1) SAC XBLNT )@@G@@R,XGBMAX . 13 . @B@@@@FILL(1) SAC XBA,0 . 14 . NU )@@G@@@ @@@@XBA LABEL .@B@@@@FILL(1) SAC XBM,XGITER NV )@@G@@ . 15 . @B@@@@FILL(1) SAC XBX,XGSAX . 16 . @B@@@@FILL(1NW )@@G@@) SAC XBX,XGEAX . 17 .@ @@@@XBB LABEL .NX )@@G@@@B@@@@FILL(1) SAC XBA,XGITER . 18 . @B@@@@FILL(1) SAC XBLNY )@@G@@,XGSASL . 19 . @B@@@@FILL(1) SAC XBA,XGEAXL . 20 . NZ )@@G@@@ @@@@XBP LABEL .@#@@@]XBADDR LABEL . @B@]@@FILL(1OA )@@G@@) SAC XBB,000000 . 21 . @B@@@]FILL(1) SAC XBB,XGBADR OB )@@G@@ . 21 . @B@@@@FILL(1) SAC XBP,000000 . 22 . @ @@@@XBVW OC )@@G@@ LABEL .@B@@@@FILL(1) SAC XBX,000000 . 23 . OD )@@G@@@B@@@@FILL(1) SAC XBVW,000000 . 24 . @B@@@@FILL(1) SAC XBMOE )@@G@@,000000 . 25 . @B@@@@FILL(1) SAC XBNS,000000 . 26 . OF )@@G@@@B@@@@FILL(1) SAC XBM,000000 . 27 . @B@#@@FILL(1) SAC XBXOG )@@G@@,000000 . 28 . @C@@@#FILL(1) SAC XBADDR,000000 . 28OH )@@G@@ . @B@@@@FILL(1) SAC XBM,000000 . 29 . @^@@@@. ** ARRAY TOI )@@G@@ABLES ** @H@@@@XGATBL EQU +(IN 0,H1,1,$) . H1 IS ARRAY SUBSCRIPOJ )@@G@@T LIST PROCESSING TABLE @F@@@@XGOPST EQU +(IN 0,H2,1,$) . H2 IS ENOK )@@G@@D OF SUBEXPRESSION TABLE@E@@@@FILL(1) SAC XGGSSL,XGRRAY . GOL )@@G@@ET SUBSCRIPT LIST @F@@@@FILL(1) SAC XGGTMP,XGUSCL . GET CROOM )@@G@@SS SECTION DV @E@@@@FILL(1) SAC XGLIST,XGRVAG . SCAN SUON )@@G@@BSCRIPT LIST@F@@@@FILL(1) SAC XGGTCV,XGRTMP . GET TALLY CELOO )@@G@@L VECTOR @D@@@@FILL(1) SAC XGSSUB,XGRVR4 . MAKE TCV SUB OP )@@G@@@F@@@@FILL(1) SAC XGSCPY,XGRBVL . BOUND + MULTPR TO CRSC OQ )@@G@@@E@@@@FILL(1) SAC XGSEND,0 . SUBSCRIPT COMMA @E@@@@OR )@@G@@FILL(1) SAC XGBSSL,XGRFLL . SUBSCRIPT OFFSET @D@@@@FILL(1OS )@@G@@) SAC XGTCV0,XGRCRS . COUNT STARS @D@@@@FILL(1) SAC XGTOT )@@G@@CV1,XGRSNG . COUNT STARS @F@@@@FILL(1) SAC XGTCV2,XGRSBF OU )@@G@@ . NUMBER OF SUBSCRIPTS @G@@@@FILL(1) SAC XGSTFS,000000 OV )@@G@@ . TALLY CELL TO SUBSCRIPT LIST @D@@@@FILL(1) SAC XGSSBW,00OW )@@G@@0000 . NON STAR MASK@G@@@@FILL(1) SAC XGSTUF,000000 OX )@@G@@ . SUBSCRIPT TO SUBSCRIPT LIST @C@@@@FILL(1) SAC XGCOMP,000000 OY )@@G@@ . COMPUTE@D@@@@FILL(1) SAC XGANXT,000000 . NEXT SUBOZ )@@G@@SCRIPT@G@@@@FILL(1) SAC XGSTF0,000000 . TALLY CELL TO SUBSCPA )@@G@@RIPT LIST @F@@@@FILL(1) SAC XGLARG,000000 . LOAD SUBSCRIPPB )@@G@@T AND DV @D@@@@FILL(1) SAC XGTLYC,000000 . CALL EXTLYC PC )@@G@@@D@@@@FILL(1) SAC XGSUBR,000000 . CALL EXSUBR @D@@@@FILL(1PD )@@G@@) SAC XGCRSC,000000 . CALL EXCRSC @D@@@@FILL(1) SAC XGRPE )@@G@@ESA,000000 . SET RESULT @D@@@@FILL(1) SAC XGRESB,000000 PF )@@G@@ . SET RESULT @D@@@@FILL(1) SAC XGSTV0,000000 . FPG )@@G@@INISH CRSC @E@@@@FILL(1) SAC XGPOPS,000000 . CLEAR STACK ENPH )@@G@@TRY @B@@@@FILL(1) SAC 000000,000000 . @#@@@@ CENPI )@@G@@D @#@@@@XGSARY EQU 0 @#@@@@XGSUSC EQU 1 @#@@@@XGSVAG EQUPJ )@@G@@ 2 @#@@@@XGSTP1 EQU 3 @#@@@@XGSVR4 EQU 4 @#@@@@XGSBVL EQUPK )@@G@@ 5 @C@@@@FILL(1) EQU 6 . UNUSED *** @#@@@@XGSFLLPL )@@G@@ EQU 7 @#@@@@XGSCSC EQU 8 @#@@@@XGSSNG EQU 9 @#@@@@XGSSBFPM )@@G@@ EQU 10 @#@@@@XGSETS EQU 0 @^@@@@XGSTRS EQU 3 . @^@@@@PN )@@G@@XGCOMS EQU 11 . @^@@@@XGBRKT EQU 16 . @^@@@@ . ** TEMPORPO )@@G@@ARY EQU'S **@H@@@@SDBFLM EQU 12 . $$$ PARTITIONPP )@@G@@S SDBFCL INTO 2 SECTIONS@D@@@@DXGAXSLT EQU SGDXSD-SGDXNX+1 . AGGR STACPQ )@@G@@K ENTRY SIZE@C@@@@DXGFSLT EQU 9 . FUNCTION STACK ENTRY SIZE @F@@@@PR )@@G@@AQDVMSLN EQU 1 . OFFSET OF MAX LENGTH FIELD IN STRING DV AR @E@@@@PS )@@G@@ERCGSTER EQU 47 . ILLEGAL OP IN STATIC MODE - OTHER USED @C@@@@ERCGSWPT )@@G@@ EQU 48 . ILLEGAL OP IN STATIC MODE @D@@@@KBXMXP EQU 35 . MAXPU )@@G@@IMUM FIXED BINARY PRECISION @F@@@@KSLPRE EQU 17 PV )@@G@@ . SUPPLIED LENGTH PRECISION@H@@@@ERGPRG EQU 50 . SCALEPW )@@G@@R ARGUMENT SUPPLIED TO AGGREGATE PARAMETER@ @@@@ERCGNDCL EQU 49 PX )@@G@@ .@D@@@@ERCGBSBV EQU 54 . BASED PARAMETER PASSED BY VALUE @D@@@@PY )@@G@@DCGTSLOT EQU 1 . TEMPORARY STACK WIDTH @G@@@@SUBSCR EQUPZ )@@G@@ DCONSU . SUBSCRIPT CHECKING FLAG IN DCGONF @D@@@@LFDGE QA )@@G@@ EQU +(IN 0,0,1,0) . FUDGE FOR LOCAL DATA @ @@@@AGSSL EQU SGDQB )@@G@@SLB-FH1 . @C@@@@AGMPLR EQU SGDMLR . MULTIPLIER AW @ @@@@QC )@@G@@AGTCV EQU SGDCVB-FH1 . @B@@@@AGADDR EQU SGDSLB-FH1 . ADDREQD )@@G@@SS AW @ @@@@AGBRO EQU AGARTN .@^@@@@AGDV EQU AGIM1 . QE )@@G@@@ @@@@AGALST EQU SGDFAL .@A@@@@DXGFCK EQU DCGSLT+DXGFSLT QF )@@G@@ . @I@@@@DXGFCHK2 EQU DXGFSLT+DXGAXSLT . NUMBER OF WORDS TO QG )@@G@@MOVE FOR CHECK ENTRY @F@@@@FLITRG EQU A10+1 . GEN LITERALQH )@@G@@ STORED IN F REGISTER @]@@@@/. **XGEN** @^@@@@ USING SGDSCT,X7QI )@@G@@@#@@@@XGENFL* LLOC @D@@@@ LOAD A6,XGSVAL*01000+XGSFLL,I QJ )@@G@@. LOADS 7 @A@@@@ GOTO XGBEGN .@#@@@@XGENS* LLOQK )@@G@@C . @D@@@@ LOAD A6,XGSVAL*01000+XGSSNG,I . LOADS 9 @#@@@@QL )@@G@@XGBEGN LABEL @E@@@@ GNTR 1 . STORE REGS X1-X5 AND A7-AQM )@@G@@10 AND F. @#@@@@XGBGN1 LABEL . @F@@@@ STORE A6,DXGSTT . PREQN )@@G@@PARES DXGOPS IN Q3 & DXGOPN IN Q4 @ @@@@ MOVE DXGMSK,XGSCLR .QO )@@G@@@ @@@@ MOVE DXGSBG,XGSBRG @I@@@@ IF SUBSCR,ON,DCGONQP )@@G@@F THEN,XGNEXT . -> ENABLED SUBSCRIPT CHECKING SO S @E@@@@ MOVQQ )@@G@@E DXGSBG,XGNBRG . MASK FOR SUBREGISTERS @D@@@@ GOTO XGNQR )@@G@@EXT . START GENERATION @#@@@@XGNXT1 LABEL . @D@@@@ QS )@@G@@ GETC . READ TOKEN(PTR) @#@@@@XGNXT0 LABEL . QT )@@G@@@E@@@@ GETC . READ NEXT CHARACTER @#@@@@QU )@@G@@XGNEXT LABEL . @F@@@@ IF A8,GE,ACQNS,I THEN,XGSPSM . SPECIQV )@@G@@AL PUNCTUATION @E@@@@ IF A8,LT,ACOPER,I THEN,XGOPND . FOUNQW )@@G@@D OPERAND @#@@@@. **OPERATOR** @#@@@@XGOP LABEL . @F@@@@ QX )@@G@@ LOADA X5,XGTBL2 . BUILT-IN FUNCTIONS BRANCH USING XGTBL2@H@@@@ QY )@@G@@ IF A8,GE,ACABS,I THEN,XGOP0 . SKIP TO USE XGTBL2 FOR BIFUNC QZ )@@G@@@E@@@@ LINK XGBSDO . RESOLVE BASED ON OP TYPE @F@@@@RA )@@G@@ LOADA X5,XGTBL1 . REGULAR OPERATORS BRANCH USING XGTBL1 @#@@@@RB )@@G@@XGOP0 LABEL . @ @@@@ LOADA X11,XGOP3 . @#@@@@XGOP1 LOCRC )@@G@@AL . @F@@@@ LAND A8,0377,I . 8 LOW ORDER BITS IDENTIRD )@@G@@FY OP @^@@@@ ADD X5,A8 @^@@@@ USING WORD,X5 .@ @@@@RE )@@G@@ LOAD F,W1H1 . @D@@@@ STORE F,DXGARG . RF )@@G@@STORE ADDRESS @E@@@@ LOAD F,W1H2 . LOAD POINTER TO ACRG )@@G@@TION TABLE @F@@@@ STORE F,DCGODE . SAVE POINTER TO ACTRH )@@G@@ION TABLE @E@@@@XGOP2 LABEL . IF REPEAT PERFORMED X5 IS FIRST RELORI )@@G@@ADED @D@@@@ LOAD X5,DCGODE . MODIFY BY OFFSET @F@@@@RJ )@@G@@ LOAD X6,W1H1,X5 . GET OFFSET TO TARGET ROUTING @D@@@@RK )@@G@@ LINK 0,X6 . LINK TO TARGETING@E@@@@ LOARL )@@G@@D X6,W1H2,X5 . GET OFFSET TO STAGING @G@@@@ LINK 0,XRM )@@G@@6 . OFFSET TO PROPER GENERATION ROUTINE IN X4@ @@@@ LOARN )@@G@@D A7,X4 .@^@@@@ SRBD A7,1 @H@@@@ ADD X5,RO )@@G@@A7 . DECODE RETURNED OFFSET INTO TABLE POSITION @ @@@@ RP )@@G@@ LOAD X2,W1H2+1 . @B@@@@ IF A8,LT,0,I THEN,XGOP6 . RQ )@@G@@@ @@@@ LOAD X2,W1H1+1 . @#@@@@XGOP6 LABEL . @^@@@@ RR )@@G@@ GENMR R,X2 . @D@@@@ JMP . RETURN ADDRESS SET INTO STACK ARS )@@G@@BOVE @#@@@@XGOP4 LABEL . @A@@@@ SET DCGRPT,OFF,DCGFLG RT )@@G@@@[@@@@. @G@@@@. KLUDGE KLUDGE KLUDGE KLUDGE KLUDGE KLUDGE RU )@@G@@ KLUDGE KLUDGE @G@@@@. KLUDGE KLUDGE KLUDGE KLUDGE KLUDGE KRV )@@G@@LUDGE KLUDGE KLUDGE @G@@@@. KLUDGE KLUDGE KLUDGE KLUDGE KLUDRW )@@G@@GE KLUDGE KLUDGE KLUDGE @[@@@@. @G@@@@ ADD A0,1,I RX )@@G@@. RESET RETURN ADDRESS ONTO STACK***** @^@@@@ GOTO XGORY )@@G@@P2 @#@@@@XGOP3 LABEL . @[@@@@. @C@@@@. THIS IS A POSSIRZ )@@G@@BLE PLACE FOR A STUDY @G@@@@. MAYBE THE CONSTANT FLAG SSA )@@G@@HOULDN'T BE TURNED OFF HERE @[@@@@. @A@@@@ SET SDVRCN,OFSB )@@G@@F,SGDCLS . @F@@@@XGCNRT* LABEL . RETURN HERE FROM UNSC )@@G@@ARY OPS @G@@@@ IF DCGRPT,ON,DCGFLG THEN,XGOP4 . BACK FOR SD )@@G@@MORE ARGUMENTS @#@@@@XGEXPR LABEL . @E@@@@ SET SGDEXP,ONSE )@@G@@,SGDID . SET EXPRESSION BIT @#@@@@XGLOOP LABEL . @G@@@@ SF )@@G@@ LOAD A8,DXGOPN . GET THE OPERAND STATE FM DXGSTT @G@@@@SG )@@G@@ IF A8,NE,XGSSNG,I THEN,XGNXT0 . IF SINGLE OPERAND RETURN SH )@@G@@@#@@@@XGEND LABEL . @#@@@@ GRTNS 1 @ @@@@. **PROCESS SPECIASI )@@G@@L SYMBOL** @^@@@@ USING WORD,X2 .@#@@@@XGSPSM LABEL . @ @@@@SJ )@@G@@ ANU,U A8,ACPRNT . @F@@@@ AND,U A9,017000 . MASKSK )@@G@@ BITS FOR BRANCHING INTO A10 @G@@@@ SRB A10,8 . SL )@@G@@ SELECT BITS WHICH IDENTIFY CODE @G@@@@ LOAD X5,A10 . X5 ISSM )@@G@@ DOUBLE WORD INDEX INTO PUNCT BRANCH TABLE@ @@@@ LOAD X2,XGPCTBSN )@@G@@,X5 .@^@@@@ GOTO 0,X2 @#@@@@XGCCST LABEL . @G@@@@ SO )@@G@@ LOAD X11,XGPCTB+1,X5 . MUST ALLOW FOR H1 JAP1/14 @G@@@@SP )@@G@@ GOTO 0,X11 . PART OF XGPCTB JAP1/14 SQ )@@G@@@A@@@@. **PROCESS META CODE IDENTIFIER** @B@@@@ . X5 (AND A8) POINT TOSR )@@G@@ SD OF OPERAND @C@@@@ . A10 HOLDS THE ADDRESS WORD TAKEN FROM THE SDSS )@@G@@@ @@@@ . A7 IS USED FOR SCRATCH @E@@@@ . X2 POINTS TO APPROPRIATE PST )@@G@@ROCESSING MODULE IN XGTBLE @#@@@@XGOPND LABEL . @F@@@@ LINSU )@@G@@K XGPUSH . PUSH SGDSCT ONTO STACK FOR OPAND @ @@@@ USISV )@@G@@NG SGDSCT,X7 . @#@@@@XGOPN0 LABEL . @F@@@@ STORE A8,SGDRSDSW )@@G@@ . SAVE SD POINTER IN STACK @E@@@@ LSDP X5,A8 SX )@@G@@ . LOAD PNT TO SD INTO X5 @^@@@@ USING SDSECT,X5@#@@@@SY )@@G@@XGOPN1 LABEL . @D@@@@ LOAD A10,SDA1BS-FH1 . LOAD AW 1 FM SZ )@@G@@SD @#@@@@XGOPNA LABEL . @F@@@@ MOVE SGDCLS,SDCLS1 .TA )@@G@@ FILL STACK W/SD ATTRIBTURS @F@@@@ MOVE SGDEPT,SD2SP .TB )@@G@@ MOVE SCALE AND PRECISION @G@@@@ LOAD A6,SDCLS0 .TC )@@G@@ USE SD TYPE AS INDEX INTO TABLE @F@@@@ AND,U A6,15 . TD )@@G@@ REMOVE STORAGE TYPE BITS @F@@@@ STORE A7,SGDID TE )@@G@@ . SET SGD STACK ENTRY TYPE @D@@@@ IF SD0BSD++SD0CNTF )@@G@@T,OFF,SDCLS0 THEN,XGOPNB@F@@@@ SET SGDRES,ON,SGDID . SAY BSTG )@@G@@D VAR NEEDS RESOLVING @#@@@@XGOPNB LABEL . @F@@@@ IF SDCTH )@@G@@HCK,OFF,SDCLS3 THEN,XGIND . VARIABLE CHECKED? @F@@@@ SET SGDTI )@@G@@CHR,ON,SGDID . SET VARIABLE CHECKED FLAG @#@@@@XGIND LABEL . TJ )@@G@@@E@@@@ SLB A7,2 . INDEX ON FOUR WORD GROUPS @E@@@@TK )@@G@@ ADD A7,DXGOPS . ADD IN STATE FACTOR @E@@@@ TL )@@G@@ ADD A7,DXGTPS . TYPE TESTING STATE @^@@@@ LOATM )@@G@@D X2,A7 . @^@@@@ USING WORD,X2 @F@@@@ LOAD X3,XGTBLETN )@@G@@-SD0ART*4-XGSVAL,X2 . OFFSET TO MODULE @F@@@@ GOTO 0,X3 TO )@@G@@ . SPLIT TO APPROPRIATE MODULE @I@@@@ . ---------------------TP )@@G@@-------------------------------------------------------- @B@@@@. **OPTQ )@@G@@ERANDS IN MAXIMUM LENGTH MODE** @I@@@@ . ---------------------------TR )@@G@@-------------------------------------------------- @F@@@@ . MAXIMUM LTS )@@G@@ENGTH MODE OCCURS ONLY DURING THE PROCESSING OF STRING@F@@@@ . FUNCTION TT )@@G@@ARGUMENTS FOR WHICH A DUMMY ARGUMENT MUST BE CREATED. @E@@@@ . IN MAX LETU )@@G@@NGTH MODE, THE MAX LENGTH FIELDS OF STRING DV'S @F@@@@ . (INCLUDING THE TV )@@G@@TOP+1 WORD OF ARRAY DV'S AND THE DUMMY DV OF @F@@@@ . STRING RETURNINTW )@@G@@G FUNCTIONS) ARE EXAMINED TO CALCULATE THE MAX @F@@@@ . LENGTH FIELD OFTX )@@G@@ THE DV OF THE DUMMY ARGUMENT TO BE CREATED. @F@@@@ . AFTER THIS INFOTY )@@G@@RMATION IS CALCULATED THE ARGUMENT IS RESCANNED @F@@@@ . SO THAT CODE TOTZ )@@G@@ GENERATE THE TEMPORARY IS CREATED. IF EVER @F@@@@ . AUTOMATIC ARITHUA )@@G@@MATIC TO STRING CONVERSIONS ARE IMPLEMENTED @B@@@@ . SEVERE CHANGED UB )@@G@@WILL BE NEEDED HERE. @I@@@@ . ---------------------------------------UC )@@G@@-------------------------------------- @#@@@@XGMLA LABEL . @D@@@@UD )@@G@@ LINK XGIGNR . SKIP ARG/SS LIST @G@@@@ IF UE )@@G@@ A8,LT,ACGE,I THEN,XGIGNR . IGNORE G-CODE WHICH IS NOT @G@@@@ UF )@@G@@ IF A8,GE,ACCAT,I THEN,XGIGNR . A COMPARISON OP (=<> ETC) @#@@@@UG )@@G@@XGMLA1 LABEL . @G@@@@ MOVE SGDAID,XGCONO,2 . RESULT OF COMPUH )@@G@@ARE IS STRING LENGTH @G@@@@ GMARK SGDCDE . . REMEMUI )@@G@@BER LOC OF CODE FOR OPERAND @^@@@@ GOTO XGNXT0 @D@@@@XGMLE UJ )@@G@@ LABEL . ENTRY NAME IN MAX LENGTH COMPUTATION @ @@@@ USING SDSUK )@@G@@ECT,X5 . @C@@@@ IF SDARST,OFF,SDCLS1 THEN,XGMLA . @E@@@@UL )@@G@@ IF SDBLUS,ON,SDCLS1 THEN,XGMLS1 ELSE,XGBNTR . @F@@@@XGMLS UM )@@G@@ LABEL . STRING VAR OR CONST IN MAX LENGTH COMPUTATION @F@@@@ UN )@@G@@ IF SDVRCN+SDCCNC,ON,SDCLS1 THEN,XGMLSC . CONSTANT @#@@@@XGMLS1UO )@@G@@ LABEL . @F@@@@ ADD A10,AQDVMSLN,I . SET AW TO REF MAUP )@@G@@X LENGTH FLD@C@@@@ STORE A10,AGRL1 . SET AW @E@@@@UQ )@@G@@XGMLS2 LABEL . ENTRY POINT FROM STRING CONSTANTS BELOW @H@@@@ UR )@@G@@ MOVE SGDAID,XGCON1 . SET STACK ID, CLS, SCALE AND PRECISION US )@@G@@@^@@@@ LINK XGIGNR @F@@@@ GMARK SGDCDE . .UT )@@G@@ SAVE LOC OF THIS OPNS CODE @^@@@@ GOTO XGNEXT @#@@@@XGMLSCUU )@@G@@ LABEL . @E@@@@ LOADXM X6,SDLCOF . OFFSET TO CONSTANUV )@@G@@T @ @@@@ LOADXI X6,AGXR0+FH1 .@E@@@@ SUB X6,1,I UW )@@G@@ . AW POINTS TO MAX LENGTH FIELD@B@@@@ STORE X6,AGRL1 UX )@@G@@ . FORM AW@B@@@@ GOTO XGMLS2 . MERGE@I@@@@ . ---UY )@@G@@------------------------------------------------------------------------UZ )@@G@@-- @B@@@@. ** OPERANDS IN STATIC TYPE CHECK MODE** @I@@@@ . ---------VA )@@G@@-------------------------------------------------------------------- VB )@@G@@@G@@@@ . STATIC STATE IS ENTERED BY THE DRIVER (CGBK) DURING THE CREATIOVC )@@G@@N @F@@@@ . OF DOPE VECTORS FOR STATIC VARIABLES. NATURALLY IN THIS VD )@@G@@STATE @E@@@@ . ONLY STATIC VARIABLES AND CONSTANTS ARE ACCEPTABLE SINCE VE )@@G@@@B@@@@ . NO OTHER VARIABLES HAVE BEEN ALLOCATED.@B@@@@ . X4 POINTS TO SVF )@@G@@D OF POSSIBLE CORRECTION@F@@@@XGSTST LABEL . . STRINVG )@@G@@G IN STATIC CHECK MODE @E@@@@ LOAD X4,DLXVC . SUPPLVH )@@G@@Y 1 IF IN ERROR @^@@@@ GOTO XGSTCN @G@@@@XGSART LABEL . VI )@@G@@ . ARITHMETIC IN STATIC CHECK MODE @^@@@@ LOAVJ )@@G@@D X4,DLXB1 @#@@@@XGSTCN LABEL . @^@@@@ USING SDSECT,X5@E@@@@VK )@@G@@ IF SDVRCN,OFF,SDCLS1 THEN,XGSTVR . NOT CONSTANT @F@@@@XGSTLWVL )@@G@@ LABEL . . CONTINUE PROCESSING OPERAND @^@@@@ VM )@@G@@ USING WORD,X2 .@F@@@@ LOADXM X3,XGTBLE-2-SD0ART*4-XGSVAL,X2 .VN )@@G@@ TO NORMAL MODULE @#@@@@ GOTO 0,X3@G@@@@XGSTVR LABEL . VO )@@G@@ . CHECK FOR POSSIBLE ST VARIABLE @H@@@@ IF SD0VP )@@G@@STA,ON,SDCLS0 THEN,XGSTWN . -> CAN BE USED AFTER WARNING @#@@@@XGSTERVQ )@@G@@ LABEL . @A@@@@ EXERR ERCGSTER LEVEL,2 @E@@@@ . SD (X5), VR )@@G@@'IS ILLEGAL IN DIMENSION, LENGTH, OR INITIAL; @D@@@@ . ATTRIBUTE OF STVS )@@G@@ATIC VARIABLE', SD (X2), ' IS USED' @^@@@@ LINK XGIGNR @D@@@@VT )@@G@@ LINK BCKPGC . BACK UP GETC ONE TOKEN @^@@@@ LOAVU )@@G@@D A8,X4 . @C@@@@ GOTO XGOPN0 . MERGE T @#@@@@VV )@@G@@XGSTWN LABEL . @B@@@@ IF A8,EQ,X4 THEN,XGSTLW . @G@@@@VW )@@G@@XGSTWA LABEL . ENTRY POINT WHEN X4 HAS NOT BEEN SET TO CORRECTION SD VX )@@G@@@A@@@@ EXERR ERCGSW LEVEL,1 . @F@@@@ . 'NON-CONSTANT OPERANDVY )@@G@@ (' SD (X5), 'IN DIMENSION, LENGTH, OR; @B@@@@ . INITIAL ATTRIBUTE OF VZ )@@G@@STATIC VARIABLE.' @^@@@@ GOTO XGSTLW . @E@@@@XGSTFI LABEL . WA )@@G@@ . FILE IN STATIC MODE @A@@@@ LOAD X4,KFOSD WB )@@G@@ . @E@@@@ IF SDPARM,ON,SDCLS2 THEN,XGSTER ELSE,XGSTLWC )@@G@@W . @#@@@@XGSTNR LABEL . @E@@@@ IF SDBLUS,ON,SDCLS1 THENWD )@@G@@,XGSTT0 . USER DEFINED @ @@@@ LOAD A9,SDBFCL . @D@@@@ WE )@@G@@ IF A9,LT,SDBFLM THEN,XGSTWA ELSE,XGSTT1 . @#@@@@XGSTT0 LABEL . WF )@@G@@@C@@@@ IF SDEXTN,OFF,SDCLS2 THEN,XGSTT1 @D@@@@ LOAWG )@@G@@D X6,SDPLST . ARG LIST POINTER @F@@@@ GOTO XGSTT2 .WH )@@G@@ JUMP INTO LOOP TO TEST EACH PARAMETER @#@@@@XGSTT3 LABEL . @ @@@@WI )@@G@@ LOAD X6,ELWNXT,X6 .@#@@@@XGSTT2 LABEL . @B@@@@ IF WJ )@@G@@ X6,ZERO THEN,XGSTWA . @ @@@@ LOAD X3,ELWSD,X6 .@ @@@@WK )@@G@@ USING SDSECT,X3 .@D@@@@ IF SD4ENT+SDSTRU,ON,SDCLSWL )@@G@@4 THEN,XGSTT1 @C@@@@ IF SDARRY,OFF,SDCLS2 THEN,XGSTT3 . WM )@@G@@@#@@@@XGSTT1 LABEL . @^@@@@ USING SDSECT,X5@E@@@@ IF WN )@@G@@ SDARST,OFF,SDCLS1 THEN,XGSART ELSE,XGSTST . @D@@@@XGSTLA LABEL WO )@@G@@ . LABEL IS STATIC @ @@@@ LOAD X4,DUVLB . WP )@@G@@@C@@@@ IF A8,EQ,X4 THEN,XGSTLW ELSE,XGSTER @I@@@@ . ---------WQ )@@G@@-------------------------------------------------------------------- WR )@@G@@@ @@@@. **OPERANDS IN VALUE MODE** @I@@@@ . ---------------------------WS )@@G@@-------------------------------------------------- @F@@@@ . VALUE MODWT )@@G@@E IS THE NORMAL STATE OF AFFAIRS FOR MOST OPERANDS. @E@@@@ . SUB BRANCWU )@@G@@HING IS MADE HERE ACCORDING TO THE TYPE OPERAND @D@@@@ . AS DETERMINED FWV )@@G@@ROM THE SD'S (SYMBOL TABLE ENTRIES).@E@@@@XGARST LABEL . CHECK IF OPEWW )@@G@@RAND IS VARIABLE OR CONSTANT @F@@@@ IF SDVRCN,ON,SDCLS1 THENWX )@@G@@,XGCNT . OPERAND IS A CONSTANT@D@@@@XGVRBL LABEL . ENTRY FWY )@@G@@ROM LABEL VARIABLE@D@@@@ IF SDARRY,ON,SDCLS2 THEN,XGARY1 . ARWZ )@@G@@RAY @G@@@@ IF SDMEMS,ON,SDCLS2 THEN,XGMEMS . SCAL MEM OF STXA )@@G@@RUCTURE @#@@@@XGOPN2 LABEL . @F@@@@ STORE A10,AGRL1 XB )@@G@@ . SET AW IN SG FOR REAL PART @#@@@@XGOPN3 LABEL . @G@@@@ XC )@@G@@ IF SDRLCX,OFF,SDCLS1 THEN,XGLOOP . REAL VARIABLE THEN DONE @F@@@@XD )@@G@@ LOAD A9,SDRTC . GET SPACE ALLOTED TO VAR @E@@@@XE )@@G@@ SRB A9,1 . USE 1/2 FOR IMAG PART @D@@@@ XF )@@G@@ ADD A10,A9 . GET IMAG ADDRESS@F@@@@ STORE A10XG )@@G@@,AGIM1 . SET AW IN SG FOR IMAG PART @C@@@@ GOTO XGLXH )@@G@@OOP . FINISHED @#@@@@XGMEMS LABEL . @G@@@@ IF XI )@@G@@ SDARST,ON,SDCLS1 THEN,XGOPN2 . STRING HAS DOPE VECTOR @F@@@@ XJ )@@G@@ STORE A10,AGARL1 . SET AUX WORD FOR REAL BASE @ @@@@ XK )@@G@@ LOADA A10,AGARL1 @F@@@@ SLB A10,18 . MOVE XL )@@G@@TO AW BASE FIELD POS @C@@@@ GOTO XGOPN2 . MERGXM )@@G@@E @#@@@@. **CONSTANTS** @#@@@@XGCNT LABEL . @G@@@@ MOVXN )@@G@@E SGDRDS,SDLCOF . MOVE SD DISPLACEMENT TO AW IN SGD @#@@@@XGCNT1XO )@@G@@ LABEL . @E@@@@ MOVE SGDRBS,AGXR0+FH1 . SET ABSOLUTE ADDRXP )@@G@@ESS @F@@@@ SET SGDSGN,OFF,SGDCLS . MAKE SURE CONST IS POSITXQ )@@G@@IVE @E@@@@ IF SDRLCX,OFF,SDCLS1 THEN,XGLOOP . FINISHED XR )@@G@@@F@@@@ MOVE AGIM1,AGRL1 . IMAG CONST SO SET IMAG PART XS )@@G@@@H@@@@ MOVE AGRL1,AGDZRO-AGRX0+(IN 63,0,1,AGAW) . SET REAL XT )@@G@@PART TO ZERO@I@@@@ GOTO XGEXPR . MAKE INTO AN EXPRXU )@@G@@ESSION-SO CONVERSIONS WORK @#@@@@XGFILE LABEL . @F@@@@ IF XV )@@G@@ SDPARM,ON,SDCLS2 THEN,XGOPN2 . PARAMETER FILE VAR @E@@@@ MOVXW )@@G@@E SGDRDS,SGDRSD . AW TO REFERENCE SD @D@@@@ MOVE SGDXX )@@G@@RBS,AGXR0+FH1 . FILL BASE FIELD @^@@@@ GOTO XGLOOP @#@@@@XY )@@G@@XGETRY LABEL . @F@@@@ . THE GAMMA CODE FOR FUNCTIONS IS AN SD POINTERXZ )@@G@@ FOR THE FUNCTION @D@@@@ . FOLLOWED BY AN ARGUMENT LIST (WHICH MAY BE NUYA )@@G@@LL OR)@D@@@@ . ACRBRK , POSTFIX EXPRESSION, ACCOMA, ... , ACLBRK. @G@@@@YB )@@G@@ . EACH ACRBRK OR ACCOMA HAS A POINTER IN ITS 2ND QUARTER (Q2 OR Q4) YC )@@G@@@F@@@@ . TO A REPRESENTATIVE SD FOR THE ARGUMENT SO THAT APPROPRIATE YD )@@G@@@C@@@@ . DUMMY DV'S OR TEMPS MAY BE SET UP AS NEEDED. @G@@@@ . AFTER PROYE )@@G@@CESSING THESE ARGUMENTS (FIRST SCANNING THE REPRESENTIVE DV @F@@@@ . ANDYF )@@G@@ THEN SCANNING THE WHOLE ARGUMENT) A CALL TO THE FUNCTION @#@@@@ . IS YG )@@G@@GENERATED. @F@@@@ IF SDBLUS,OFF,SDCLS1 THEN,XGBNTR . BUILT YH )@@G@@IN ENTRY @A@@@@. *USER DEFINED FUNCTION REFERENCE @I@@@@ IF YI )@@G@@ SDARST,ON,SDCLS1 THEN,XGSTRY . USER DEFINED FUNCT RTNS STRING YJ )@@G@@@D@@@@. **USER DEFINED FUNCTION RETURNING ARITHMETIC VALUE @B@@@@ YK )@@G@@ LOAD A3,SGDID . @A@@@@ AND,U A3,SD0ART++0760YL )@@G@@ . @B@@@@ STORE A4,SGDID . @E@@@@ LOAYM )@@G@@D A7,2,I . ASSUME TYPE REQUIRES 2 WORDS @D@@@@ IF SDFYN )@@G@@XFL,ON,SDCLS1 THEN,XGNTTM . FLOAT @E@@@@ IF SDDCBN,OFF,SDCLYO )@@G@@S1 THEN,XGNTTM . DEC-FIXED @C@@@@ LOAD A7,1,I .YP )@@G@@ FIXED BIN @#@@@@XGNTTM LABEL . @F@@@@ LOAD A8,A7 . A7 YQ )@@G@@CONTAINS THE NUMBER OF WORDS NEEDED @^@@@@ GTMP R,A8 @^@@@@YR )@@G@@ STORE A8,SGDRDS@A@@@@ MOVE SGDRBS,AGXR10+FH1 . @]@@@@YS )@@G@@ GEN@A@@@@ GINST OPLA,AGRA1,AGRL1,U @I@@@@ IF YT )@@G@@ SDRLCX,OFF,SDCLS1 THEN,XGNTY1 . SKIP GETTING MORE TEMPS FOR IMAG YU )@@G@@@G@@@@ LOAD A8,A7 . RELOAD A8 WITH # OF WRDS NEEDED FOR TEMYV )@@G@@P AW @^@@@@ GTMP R,A8 @D@@@@ GOTO XGNTY1 YW )@@G@@ . READY FOR MERGE @C@@@@. ** USER DEFINED FUNCTION RETURNING STRINYX )@@G@@G @#@@@@XGSTRY LABEL . @E@@@@ MOVE AGRL1,AGSTK . SET RESYY )@@G@@ULT TO STRING STACK @F@@@@ LOAD A3,SGDID . YZ )@@G@@ JAP1/14@F@@@@ AND,U A3,SD0STR++0760 . ZA )@@G@@ JAP1/14@F@@@@ STORE A4,SGDID . ZB )@@G@@ JAP1/14@G@@@@ STORE A10,AGARL1 . A10 = AZC )@@G@@DDRESS WORD FROM XGOPN1 . @#@@@@ GENM @G@@@@ GINZD )@@G@@ST OPLA,AGRA1,AGARL1,U . LOAD ADDRESS FOR DV TEMPLATE @G@@@@ ZE )@@G@@ GSUB EXSTMP . ALLOCATE STRING TEMP ACCORDING TO DV @#@@@@ZF )@@G@@ GFIN @F@@@@. **ALLOCATE SPACE FOR ARG LIST AND GIVE CONTROLZG )@@G@@ ARG LIST STARTS @#@@@@XGNTY1 LABEL . @E@@@@ LOAD A8,SDNARGZH )@@G@@ . NUMBER OF ARGUMENTS TO EXPECT @^@@@@ ADD A8,1,I . @^@@@@ZI )@@G@@ GTMP R,A8 . @E@@@@ STORE A8,SGDTLV . SAVE OFFSET FORZJ )@@G@@ LATER FREEING @E@@@@ STORE A8,SGDFAT . SAVE START OF ARG LZK )@@G@@IST OFFSET @E@@@@ STORE A8,SGDRAD . INITIALIZE ARGUMENT LIST ZL )@@G@@AW @A@@@@ MOVE SGDRAB,AGXR10+FH1 . @F@@@@ GENM . ZM )@@G@@ ADDRESS OF RETURNED VALUE LOCATION @G@@@@ GINST OPSZN )@@G@@A,AGRA1,AGARL1 . STORE AS FIRST ENTRY IN ARGLIST@F@@@@ GSUZO )@@G@@B EXGDVA . TELL EX CONTROL ARG LIST STARTS NOW@#@@@@ GFIZP )@@G@@N @E@@@@ STORE X7,AGIM1 . SAVE COMPILE STACK POINTER ZQ )@@G@@@B@@@@ IF SDNARG,ZERO THEN,XGNFC1 . @E@@@@ GETC ZR )@@G@@ . SKIP SD POINTER IN META-CODE @G@@@@ XGPUSH 'SIZE',DZS )@@G@@XGFSLT-DCGSLT . NEED MORE SPACE FOR FUNCTION @C@@@@ MOVE SGDZT )@@G@@FSA,DXGSTT . SAVE XGEN STATE @ @@@@ MOVE SGDFSM,DXGMSK .@ @@@@ZU )@@G@@ LOAD X4,SDPLST . @^@@@@ STORE X5,SGDFSD@ @@@@ ZV )@@G@@ GOTO XGBMP1 . @H@@@@ . ---------------------------------------ZW )@@G@@------------------------------------@ @@@@/. **BUILT IN FUNCTIONS** ZX )@@G@@@I@@@@ . ---------------------------------------------------------------ZY )@@G@@-------------- @F@@@@ . THE BUILT-IN FUNCTION CLASS IS USED TO DETERMZZ )@@G@@INE WHAT ACTION @F@@@@ . IS NECESSARY FOR EACH ARGUMENT. STACK ITEMS AA )@@G@@MAY BE GENERATED @E@@@@ . FOR EACH ITEM ALONG WITH APPROPRIATE CONVERSIAB )@@G@@ON MACHINE @E@@@@ . CODE SO THAT THE ARGUMENT WILL BE OF THE PROPER TYPAC )@@G@@E. @F@@@@ . AFTER THE ARGUMENTS ARE SCANNED THE OP CODE IS PLACED IN AD )@@G@@A8 @E@@@@ . AND THE OPERATOR DRIVER IS USED (AS WITH OTHER OPERATORS)AE )@@G@@@F@@@@ . TO GENERATE (USING CGOA,CGBF, OR CGOS) WHATEVER CODE IS NEEDED AF )@@G@@@E@@@@ . FOR TARGETING, STAGING, OR CHANGING THE STACK ITEMS. @I@@@@AG )@@G@@ . ---------------------------------------------------------------------AH )@@G@@-------- @B@@@@ . ** REGISTER USAGE DURING COMPILATION **@F@@@@ . X2AI )@@G@@ IS USED TO COMPUTE CURRENT ACTION AND TO COUNT ARGUMENTS @D@@@@ . X3AJ )@@G@@ POINTS TO CURRENT ACTION POINTER IN XGBFTB @A@@@@ . X4 TEMPORARY SAK )@@G@@DSECT POINTER @^@@@@ . X5 POINTS TO SDSECT @ @@@@ . X6 IS USED FORAL )@@G@@ SCRATCH @C@@@@ . X7 POINTS TO SGDSCT (CODE GENERATOR STACK) @F@@@@AM )@@G@@ . A10 IS USED TO SAVE THE METACODE POINTER (H2 OF X1 AND A1) @D@@@@AN )@@G@@ . X10 POINTS TO 1ST FREE WORD FOR GENERATED CODE @B@@@@ . AO )@@G@@ (H2 OFTEN STORED IN SGDCD1) @B@@@@ . X1 USED BY GETC (H2 STORED IN SGAP )@@G@@DCD2) @B@@@@ . A1 USED BY GETC (H2 STORED IN SGDCD3) @A@@@@ . A7 HOLDSAQ )@@G@@ SELECTOR BITS WORD @D@@@@ . A9 USED FOR SCRATCH (NUM OF VARYING DIAR )@@G@@MENSIONS) @ @@@@ . GENR AND GENMR CLOBBER X2 @B@@@@ . BUILT-IAS )@@G@@N ENTRY NAME ENCOUNTERED@#@@@@XGBNTR LABEL . @ @@@@ USING SGAT )@@G@@DSCT,X7 @ @@@@ USING SDSECT,X5 . @E@@@@ MOVE SGDAU )@@G@@ACT,SDBLAC . OPERATOR CODE FOR BIF @C@@@@ MOVE SGDBST,DXAV )@@G@@GSTT . SAVE XGEN STATE @D@@@@ MOVE SGDBMS,DXGMSK . SAVE XGEN AW )@@G@@MASK STATE @D@@@@ MOVE SGDBAR,DXGNRG . SAVE ARG COUNTER AX )@@G@@@F@@@@ LOAD X2,SDBFCL . BIF CLASS FOR ARG LIST CAN AY )@@G@@@F@@@@ ADD X2,DXGOPS . MODIFIED BY VAL/LEN STATE AZ )@@G@@@F@@@@ LOAD X3,XGBFTB-XGSVAL,X2 . X3=OFFSET TO ARG DESCRIPTION BA )@@G@@@B@@@@ GETC . SKIP '(' @ @@@@ MOVE DXGBB )@@G@@NRG,0,I @H@@@@ LOAD X2,W1U,X7 . X2+OFFSET POINTS TO ARGBC )@@G@@UMENT DESCRIPTION IN SGD@^@@@@ GOTO XGBSRT @D@@@@XGBVL0 LABBD )@@G@@EL . RESET META CODE POINTER @E@@@@ LMCP R,A10 . RBE )@@G@@ELOAD META CODE POINTER WITH A GETC @C@@@@ LINK BCKPGC . BACK UBF )@@G@@P BEFORE THE GETC @E@@@@XGBVAL LABEL . . COMPUTE VALBG )@@G@@ OF BIF ARGU@D@@@@ SUB X3,1,I . BACK UP ACTION POINTER BH )@@G@@@ @@@@ LOAD X2,DXGNRG @ @@@@ ADD X2,W1U,X7 .BI )@@G@@@E@@@@ STORE X3,SGDBPT,X2 . RESET ACTION TABLE POINTER @F@@@@BJ )@@G@@ MOVE DXGOPS,XGSVAL,I . SET VALUE/LENGTH MODE @#@@@@BK )@@G@@XGBVML LABEL . @F@@@@ MOVE DXGOPN,XGSBVL,I . RETURN TO VBL )@@G@@ALUE AFTER EXP @D@@@@XGBARG LABEL . . SCAN BIF ARBM )@@G@@GUMENT@F@@@@ GOTO XGNXT0 . -> EVALUATE ARGUMENT EXPRESSIBN )@@G@@ON @H@@@@XGRBVL LABEL . COME HERE AFTER EVALUATION OFBO )@@G@@ BIF ARGUMENT @E@@@@ LOAD X2,DXGNRG . COUNT NUMBEBP )@@G@@R OF ARG @ @@@@ ADD X2,DCGSLT,I . @^@@@@ STORE X2,BQ )@@G@@DXGNRG@ @@@@ ADD X2,W1U,X7 . @H@@@@ IF A8,EQ,ACRBR )@@G@@BRK,I THEN,XGBEND . -> ALL ARGUMENTS ARE SCANNED @E@@@@ LOABS )@@G@@D X3,SGDBPT,X2 . DESCRIPTION OF LAST ARGUMENT@E@@@@ ADD X3,BT )@@G@@1,I . POINT TO NEXT DECRIPTION @D@@@@XGBSRT LABEL BU )@@G@@ . ENTER HERE FOR FIRST ARG @ @@@@ STORE X3,SGDBPT,X2 .@^@@@@BV )@@G@@ USING WORD,X3 @ @@@@ LOAD X6,W1H2 . @^@@@@ BW )@@G@@ GOTO 0,X6 @E@@@@XGBMAX LABEL . . COMPUTE MAXBX )@@G@@ LENGTH @C@@@@ MOVE DXGOPS,XGSMXL,I . SET STATE @E@@@@BY )@@G@@ GOTO XGBVML . MERGE WITH VALE PROC @F@@@@XGBNONBZ )@@G@@ LABEL . . BIF'S WITH NO ARGS COME HERE @F@@@@ CA )@@G@@ LINK BCKPGC . ADJUST BETA CODE POINTER @D@@@@XGBENDCB )@@G@@ LABEL . . END OF ARG LIST @D@@@@ MOVE DXGCC )@@G@@NAR,DXGNRG . SET COUNT OF ARG @D@@@@ USING SGDSCT,X2 CD )@@G@@ . RESTORE STATE @B@@@@ MOVE DXGSTT,SGDBST . CE )@@G@@@A@@@@ MOVE DXGMSK,SGDBMS . @E@@@@ MOVE DXGNRG,SGCF )@@G@@DBAR . RESTORE OUNER ARG COUNT@F@@@@ LOADA X5,XGTBL2 .CG )@@G@@ PREPARE TO PROCESS BIF OPERATOR @E@@@@ LOAD A8,SGDACT CH )@@G@@ . OPERATOR CODE FOR BIF @F@@@@ GOTO XGOP0 . -> MECI )@@G@@RGE WITH OPERATOR PROCESSING @A@@@@ USING SGDSCT,X7 . CJ )@@G@@@F@@@@XGITER LABEL . . ITERATE THRU ARRAY/STRU ARG CK )@@G@@@ @@@@ USING WORD,X3 . @F@@@@ MOVE SGDCD1,W1H2+1 CL )@@G@@. SAVE OFFSETS TO EXPRESSION DRIVERS@A@@@@ MOVE SGDCD2,W1H2+2 CM )@@G@@. @^@@@@ LOAD X2,SGDACT@F@@@@ LOADA X6,XGTBL2,X2 . CN )@@G@@LOAD ADDRESS OF BIF OPERATOR TABLE @^@@@@ USING WORD,X6 .@ @@@@CO )@@G@@ LOAD X5,W1H1,X6 . @C@@@@ LINK XGPUSH . GET SCP )@@G@@TACK SPACE @C@@@@ LINK 0,X5 . GO TO INITALIZATION @D@@@@CQ )@@G@@ LINK XGPUSH . GET MORE STACK SPACE @E@@@@ LINCR )@@G@@K XGETSD . FIND REPRSENTATIVE SD @#@@@@ GOTO $+2CS )@@G@@@F@@@@ LINK XGETB9 . SET UP STACK ENTRY FOR SCALARCT )@@G@@@F@@@@ LOAD X2,SGDCD1+DXGAXSLT+2*DCGSLT . OFFSET TO SAX ROUTINECU )@@G@@@^@@@@ LINK 0,X2 @F@@@@ LOAD X3,DXGXPR .CV )@@G@@ EXTABLISH REFERENCE POINT @E@@@@ LOADA X3,DXGAXSLT,X3 CW )@@G@@ . ENTRY FOR ARG VLAUE @A@@@@ STORE X7,SGDBWK+2*DCGSLT,X3@ @@@@CX )@@G@@ MOVE DXGTMP,0,I @E@@@@ MOVE DXGTMP+FS1,IGMOVE,I .CY )@@G@@ CONSTRUCT MACRO CALL @ @@@@ SUB X3,W1U,X7 . @ @@@@ CZ )@@G@@ STORE X3,DXGTMP+FS2 .@ @@@@ GENR DXGTMP .@^@@@@ DA )@@G@@ ADD X7,X3 . @ @@@@ LOADA X5,XGTBL2 .@A@@@@ LOADB )@@G@@D A8,SGDACT+2*DCGSLT . @^@@@@ LINK XGOP1 @B@@@@ LOADC )@@G@@DXM X2,SGDCD2+DCGSLT,X7 . @E@@@@ LOAD X7,SGDBWK+DCGSLT DD )@@G@@ . RESET STACK LEVEL @#@@@@ XGPOP @F@@@@ LINK 0,XDE )@@G@@2 . ENTER END OF LEAF EXPR RTN @E@@@@ MOVE DXGDF )@@G@@STT,SGDBST+2*DCGSLT . RESTORE XGEN STATE @D@@@@ MOVE DXGMSK,SGDG )@@G@@DBMS+2*DCGSLT . RESTORE MASK @E@@@@ MOVE DXGNRG,SGDBAR+2*DCGSLDH )@@G@@T . RESTORE ARG COUNT @]@@@@ GEN@#@@@@ GMOVE 3,2@E@@@@DI )@@G@@ XGPOP 'SIZE',2*DCGSLT . CLEAR STACK ENTRIES @^@@@@ DJ )@@G@@ GOTO XGLOOP @F@@@@XGSASL LABEL . . SAX ROUTINEDK )@@G@@ FOR STRING BIF @E@@@@ LOAD X3,DXGXPR . PTR FOR AGGDL )@@G@@ STACK ENTRY@E@@@@ STORE X11,SGDAXR,X3 . SAVE LEAF EXIT ADM )@@G@@DDRESS@C@@@@ MOVE DXGOPN,XGSSBF,I . SET RETURN @E@@@@ DN )@@G@@ LINK XGSDL1 . START SCAN OF RP SD @#@@@@XGSAX1 LABDO )@@G@@EL . @E@@@@ LMCP SGDFMC+FH2,X3 . POINT TO START OF METACODE DP )@@G@@@F@@@@ GOTO XGNEXT . EVALUATE EXPR FN THIS LEAF DQ )@@G@@@F@@@@XGRSBF LABEL . . PROCESS STR BIF ARGUMENT DR )@@G@@@C@@@@ LOAD X4,SGDATP+DCGSLT . LEAF SD PTR@^@@@@ USIDS )@@G@@NG SDSECT,X4@E@@@@ IF SDARRY,OFF,SDCLS2 THEN,XGRVR4 . NOT ARRDT )@@G@@AY @E@@@@ LOAD A9,SDNDIM . NUMBER OF DIMENSIONS DU )@@G@@@A@@@@ STORE A9,SGDANS+DCGSLT . @E@@@@ IF A9,EQ,0,IDV )@@G@@ THEN,XGRVR4 . -> SCALER REFERENCE @#@@@@ GENM @A@@@@ DW )@@G@@ GIFR XGRSB7,AGRL1 . @A@@@@ GLOAD AGRL1 'A' . DX )@@G@@@#@@@@XGRSB7 GLBL . @D@@@@ GINST OPAA,AGRL1,AGRR12 'NO' . LODY )@@G@@AD A ONE @#@@@@ GFIN @E@@@@ LOAD A7,SGDXSW+DCGSLDZ )@@G@@T . SELECTOR BITS WORD @ @@@@ USING SDSECT,X4 . @C@@@@EA )@@G@@ MOVE AGIM1,SDA1BS-FH1 . SET AW FOR DV @ @@@@ LOAD X3,EB )@@G@@SGDIDS . @D@@@@ SUB A9,1,I . SET FOR LOOP INST EC )@@G@@@#@@@@XGRSB4 LABEL . @D@@@@ ADD X3,2,I . OFFSET TO NEXED )@@G@@T MLPR PAIR @ @@@@ SLBD A6,1 .@ @@@@ JB A6,EE )@@G@@XGRSB4 .@E@@@@ STORE X3,SGDIDS . FORM AW FOR MPLR/BNEF )@@G@@D @#@@@@ GENM @B@@@@ GINST OPLA,AGRA1,AGRR12 'NOEG )@@G@@' . @^@@@@ GFSR AGRX5 . @D@@@@ GINST OPAA,AGRA1,AGIMEH )@@G@@1,H2 'NO' . A1 = 1 + U @E@@@@ GINST OPANA,AGRA1,AGIM1,H1 'NO' EI )@@G@@. A1 = 1 + U - L @D@@@@ GIFR XGRS4B,AGRL1 . IS REAL IN REEJ )@@G@@G? @ @@@@ GLOAD AGRL1 .@C@@@@XGRS4B GLBL . EK )@@G@@ NOW IN REG @E@@@@ GINST OPMSI,AGRL1,AGRA1 'NO' . LEL )@@G@@ <- L * EXTENT @#@@@@ GFIN @D@@@@ LOOP A9,XGRSB4EM )@@G@@ . REPEAT FOR EACH DIMENSION @#@@@@ GEN . @D@@@@ GINEN )@@G@@ST OPANA,AGRL1,AGRR12 . ADD NEGATIVE ONE @^@@@@ GOTO XGRVR4 EO )@@G@@@F@@@@XGEAXL LOCAL . . EAX ROUTINE FOR STRING BIF EP )@@G@@@E@@@@ LINK XGSDL2 . CONTINUE SCAN OF SD @D@@@@EQ )@@G@@ GOTO XGSAX1 . EVAL NEXT LEAF @^@@@@ GOTER )@@G@@O XGEAX8 @G@@@@XGSDL1 LLOC . ROUTINE TO LOOP THRU LEAVES )@@G@@ES OF STRUCTURE @F@@@@ LOAD X4,SGDXLS,X3 . ADDR (MAJORET )@@G@@ STRUCTURE SD) @G@@@@XGSDL4 LABEL . . LOOP THRU SEU )@@G@@ONS TO NON-STRUCTURE @ @@@@ USING SGDSCT,X3 .@ @@@@ EV )@@G@@ USING SDSECT,X4 . @E@@@@ IF SDSTRU,OFF,SDCLS4 THEN,XGSDEW )@@G@@L3 . -> LEAF FOUND@F@@@@ LSDP X4,SDSON,X4 . FOLLOW EX )@@G@@POINTER TO SON @E@@@@ GOTO XGSDL4 . LOOP TIL LEEY )@@G@@AF IS FOUND @F@@@@XGSDL3 LABEL . SAVE LEAF SD,EZ )@@G@@COUNT IT @C@@@@ STORE X4,SGDATP,X3 . SAVE LEAF SD @ @@@@FA )@@G@@ LOAD X6,SGDXDP,X3 .@E@@@@ ADD X6,1,I . COUNTFB )@@G@@ 1 FOR EACH LEAF SCANNED@ @@@@ STORE X6,SGDXDP,X3 .@B@@@@ FC )@@G@@ LJMP . -> RETURN TO CALLER @C@@@@XGSDL2 LLOC . PICK UP SCANNFD )@@G@@ING OF STRUCTURE @F@@@@ LOAD X3,DXGXPR . BASE ADDRESS OF AFE )@@G@@GGX STACK ENTRY @D@@@@ LOAD X4,SGDATP,X3 . SD OF LAST LEAF SFF )@@G@@CANNED@E@@@@XGSDL5 LABEL . SCAN BROTHERS OF LEAF SD FG )@@G@@@^@@@@ LOAD A3,X4 @G@@@@ IF A3,EQ,SGDXLS THEN,LJMFH )@@G@@P1 . ALL LEAFS HAVE BEEN SCANNED @E@@@@ LOAD X6,SDDAD,X4 .FI )@@G@@ SAVE POINTER TO FATHER SD @E@@@@ LSDP X4,SDBROT,X4 . FOFJ )@@G@@LLOW POINTER TO FATHER @F@@@@ IF X4,NZERO THEN,XGSDL4 . -> TFK )@@G@@EST BROTHER FOR SON, ETC@E@@@@ LOAD X4,X6 . FOLLOW POINFL )@@G@@TER TO FATHER @E@@@@ GOTO XGSDL5 . -> TEST BROTHER OF FM )@@G@@FATHER, ETC.@#@@@@XGBGNR LABEL . @^@@@@ LINK XGIGNR @B@@@@FN )@@G@@ IF A9,NE,ACRBRK,I THEN,XGIGNR @ @@@@ LOAD X2,DXGNRGFO )@@G@@ . @E@@@@ ADD X2,W1U,X7 . POINT TO STACK ENTRY FP )@@G@@@^@@@@ GOTO XGBEND @#@@@@XGBMAT LABEL . @#@@@@ XGPFQ )@@G@@OP @C@@@@ LINK BCKPGC . RESET BETA-CODE POINTER@^@@@@ FR )@@G@@ GOTO XGMLA @#@@@@XGBARY LABEL . @C@@@@ LINK XGPUSH FS )@@G@@ . GET STACK SPACE @^@@@@ LINK XGETSD @ @@@@ LINFT )@@G@@K XGEA8C .@ @@@@ USING SDSECT,X4 .@^@@@@ USIFU )@@G@@NG SGDSCT,X7@F@@@@ MOVE AGRL1,SDA1BS-FH1 . SET DV OF REPRESENTAFV )@@G@@TIVE SD @C@@@@ STORE A7,AGIM1 . SBW FOR REFERENCE@ @@@@FW )@@G@@ LOAD A7,SDNDIM,X4 @^@@@@ SUB A7,X3 @ @@@@ FX )@@G@@ STORE A7,SGDIBS+1 @D@@@@ LMCP R,A10 . RESET META-COFY )@@G@@DE POINTER @D@@@@ LINK BCKPGC . BACK UP GETC ROUTINE FZ )@@G@@@^@@@@ LINK XGIGNR @E@@@@ IF A9,NE,ACCOMA,I THEN,XGA )@@G@@GIGNR ELSE,XGRBVL . @[@@@^/. @A@@@^XGBADR LABEL . EVAL ADDR ARGGB )@@G@@UMENT @ @@@^ USING SGDSCT,X7 . @ @@@^ USING SDSECT,GC )@@G@@X5 . @D@@@^ LINK XGPUSH . GET STACK SPACE @^@@@^GD )@@G@@ GETC . READ SD@E@@@^ STORE A8,SGDRSD . PUT IT GE )@@G@@IN STACK ENTRY @^@@@^ LSDP X5,A8 .@F@@@^ IF SD0BSDGF )@@G@@++SD0CNT,ON,SDCLS0 THEN,XGBADR3 . -> IF BASED @D@@@^ LOAD AGG )@@G@@10,SDA1BS-FH1 . GET AW FOR SSTACK @C@@@^ IF SDARRY,ON,SDCLS2 GH )@@G@@THEN,XGBADR1 . @C@@@^ IF SDARST,ON,SDCLS1 THEN,XGBADR1 . GI )@@G@@@C@@@^ IF SDMEMS,OFF,SDCLS2 THEN,XGBADR1 . @C@@@^ . SGJ )@@G@@CALER MEM OF STRUCT => SET UP 2 AWS @ @@@^ STORE A10,AGARL1 . GK )@@G@@@ @@@^ LOADA A10,AGARL1 . @ @@@^ SLB A10,18 . GL )@@G@@@F@@@^XGBADR1 LABEL . AUTOMATIC NOT SCALER IN SRUCT GM )@@G@@@ @@@^ STORE A10,AGRL1 . @ @@@^ GOTO XGBADR4 . GN )@@G@@@D@@@^XGBADR3 LABEL . BASED VAR -- RESOLVE IT @A@@@^ GO )@@G@@ SET SGDRES,ON,SGDID . @E@@@^ LINK XGBSDU . RGP )@@G@@ESOLVE TOP OF STACK @#@@@^XGBADR4 LABEL . @#@@@^ GETC . GQ )@@G@@@ @@@^ GOTO XGRBVL . @[@@@^. @[@@@^. @[@@@^. GR )@@G@@@[@@@^. @[@@@^. @[@@@^. @ @@@@. ** OPERANDS IN VALUE MODE GS )@@G@@@#@@@@XGLABL LABEL . @ @@@@ USING SDSECT,X5 .@F@@@@ GT )@@G@@ IF SDVRCN,OFF,SDCLS1 THEN,XGVRBL . LABEL VARIABLE @D@@@@ GU )@@G@@ LSDP X4,SDBKLK . COMP TO REF IN WORD @D@@@@ LOAD X4,GV )@@G@@SDBKAW,X4 . AW DISP TO AW OF @^@@@@ STORE X4,SGDRBS@[@@@@GW )@@G@@. @B@@@@. DISPLACEMENT OF ARINCT IS ZERO @[@@@@. @F@@@@GX )@@G@@ . MOVE SGDRDS,ARINCT,I . SET UP AW FOR INVOCATION COUNT @[@@@@GY )@@G@@. @G@@@@ STORE X5,SGDIDS . SET LABEL'S SD INTO SGD FGZ )@@G@@OR REFERENCE@A@@@@ MOVE SGDIBS,AGXR0+FH1 . @^@@@@ GOTHA )@@G@@O XGLOOP @C@@@@/ . ** STRUCTURE IN STRUCTURE EXPRESSION ** @A@@@@HB )@@G@@ . ENTRY FROM OPERAND PROCESSING @A@@@@ . X4 CONTAINS AW OF STRUCTURHC )@@G@@E @^@@@@ . X5 POINTS TO SD @A@@@@ . X3 IS AN AUXILLARY SD POINHD )@@G@@TER @B@@@@ . X6 IS USED AS A TEMPORARY SD POINTER @D@@@@ . X2 COUNTHE )@@G@@S THE NUMBER OF ELEMENT BEING PROCESSED @#@@@@XGSTRU LABEL . @B@@@@HF )@@G@@ LOAD A7,DXGOPN . @G@@@@ IF A7,NE,XGSHG )@@G@@CSC,I THEN,XGSTR0 . NOT CROSS SECTION EXPANSION@^@@@@ LOAD A7,HH )@@G@@DXGMSK@^@@@@ LAND A7,XGSBRG@ @@@@ STORE A7,DXGMSK .HI )@@G@@@F@@@@ GOTO XGARY0 . -> MERGE WITH ARRAY PROCESSING HJ )@@G@@@#@@@@XGSTR0 LABEL . @E@@@@ LOAD X4,DXGXPR . X3 CUHK )@@G@@RRENT STACK ENTRY @G@@@@ LOAD X2,SGDXDP,X4 . NUMBER OF EHL )@@G@@LEM IN STRU PROCESSED @D@@@@ SUB X2,1,I . LESS ON FOR CHM )@@G@@URRENT COUNT@#@@@@XGSTR1 LABEL . @A@@@@ LOAD X5,SDSON,X5 HN )@@G@@ . @ @@@@ STORE X5,SGDRSD . @#@@@@XGSTR3 LABEL . @G@@@@HO )@@G@@ IF SDSTRU,ON,SDCLS4 THEN,XGSTR1 . CHECK FOR NEXT SON HP )@@G@@@F@@@@ LOOP X2,XGSTR2 . -> THIS ELEMENT HAS BEEN PROCESSED HQ )@@G@@@E@@@@ LAND A10,XGMSK4 . MASK OUT LOWER HALF WORD @E@@@@HR )@@G@@ ADD A10,SDA1DP,X5 . ADD NEW DISPLACEMENT @C@@@@ HS )@@G@@ GOTO XGOPNA . PROCESS THIS ELEMENT@#@@@@XGSTR2 LABEL . @E@@@@HT )@@G@@ LOAD X6,SDDAD . SAVE FATHER POINTER @D@@@@ HU )@@G@@ LOAD X5,SDBROT . FOLLOW BROTHER POINTER @^@@@@ STORE X5,HV )@@G@@SGDRSD@F@@@@ IF X5,NZERO THEN,XGSTR3 . -> TEST BROTHER FOR SOHW )@@G@@N, ETC@ @@@@ LOAD X5,X6 .@^@@@@ GOTO XGSTR2 HX )@@G@@@ @@@@. **PROCESS ARRAY IDENTIFIER**@ @@@@ . A7 CONTAINS ARRAY BIT MASKHY )@@G@@@D@@@@ . A10 CONTAINS ARRAY AW FROM OPERAND PROCESSING @C@@@@ . X2HZ )@@G@@ COMPUTES ACTION IN ARRAY TABLE XGATBL @F@@@@ . X4 POINTS TO ADDRESSIA )@@G@@ OF CURRENT ACTION IN ARRAY TABLE XGATBL @^@@@@ . A9 USED FOR SCRATCH IB )@@G@@@^@@@@ . X3 USED FOR SCRATCH @^@@@@ . X5 POINTS TO SD @A@@@@ . X2 IC )@@G@@IS DESTROYED BY GENR AND GENMR@A@@@@ . X2 AND X3 ARE DESTROYED BY GASSN ID )@@G@@@#@@@@XGARY1 LABEL . @^@@@@ LOAD A7,DXGMSK@^@@@@ LANIE )@@G@@D A7,DXGSBG@^@@@@ STORE A7,DXGMSK@E@@@@XGARY0 LABEL . IF )@@G@@ . ENTRY FROM STRU IF CRSC@C@@@@ LINK XGPUSH .IG )@@G@@ GET STACK SPACE @C@@@@ MOVE SGDSTT,DXGSTT . SAVE XGEN STATEIH )@@G@@@ @@@@ MOVE SGDMSK,DXGMSK .@C@@@@ MOVE DXGSTT,XGSVAL*0II )@@G@@1000+XGSARY,I . @ @@@@ MOVE DXGMSK,XGSCLR @E@@@@ STOIJ )@@G@@RE A10,AGRL1 . FOR NO SUBREGISTER @D@@@@ STORE A10IK )@@G@@,AGIM1 . AW FOR ARRAY DV @E@@@@ STORE A10,AGRL2 IL )@@G@@ . FOR CROSSECTION USE @F@@@@ MOVE SGDNDM,SDNDIM IM )@@G@@ . DIMENSIONALITY OF ARRAY @E@@@@ MOVE SGDDVT,SDDVA IN )@@G@@. ADDRESS OF DV TEMPLATE@C@@@@ IF SUBSCR,ON,DCGONF THEN,XGAIO )@@G@@RYA @G@@@@ LINK XGBSA2 . REOLVE ARRAY DV ADDRESS IP )@@G@@PRIOR TO @I@@@@ . SUBSCRIPTS IF SS IQ )@@G@@CHECKING IS DISABLED SINCE @H@@@@ .IR )@@G@@ THE DV ADDR IS NEEDED TO GEN INLINE CODE @#@@@@XGARYA LABEL . @ @@@@IS )@@G@@ LOAD X2,0,I .@E@@@@XGDECD LABEL . .IT )@@G@@ ARRAY EXPANSION DRIVER @D@@@@ LOAD A7,SGDMSK . SELECIU )@@G@@T INPUT @#@@@@XGDCDA LABEL . @ @@@@ SLB A7,0,X2 . IV )@@G@@@G@@@@ LOADA X4,XGATBL-1,X2 . POINT TO FIRST -1 SLOT FOR INIW )@@G@@PUT @ @@@@XGDCDB LABEL .@D@@@@ LOADA X11,XGDCDIX )@@G@@B . SET RETURN ADDRESS @ @@@@ ADD X4,1,I .@E@@@@IY )@@G@@ IF A7,EQ,0,I THEN,XGLOOP . END OF MASK -> EXIT@ @@@@ IZ )@@G@@ SLBD A6,1 .@H@@@@ IF A6,EVEN THEN,LJMP1 . -> NO JA )@@G@@BIT AND NOT ZERO -> LOOP FOR BIT @ @@@@ LOAD X2,W1H1,X4 .JB )@@G@@@ @@@@ GOTO 0,X2 .@E@@@@XGCOMA LABEL . COMMJC )@@G@@A SCANNED IN ARRAY EXPRESSION @F@@@@XGRRAY LABEL ENTRY FJD )@@G@@ROM COMMA OR RIGHT BRACKET @E@@@@ LOAD X2,SGDNSB+DCGSLT . JE )@@G@@COUNT # OF SUBSCRIPT @D@@@@ ADD X2,1,I . BY JF )@@G@@1 FOR EACH @A@@@@ STORE X2,SGDNSB+DCGSLT @G@@@@ LOAJG )@@G@@D A7,SGDMSK+DCGSLT . BIT MASK FOR ARRAY BRANCH TABLE @F@@@@ JH )@@G@@ LOADA X2,XGCOMS . SHIFT CONSTANT FOR COMMA @E@@@@ JI )@@G@@ GOTO XGDCDA . LET DRIVER DO REST @F@@@@XGSTRR LABJJ )@@G@@EL . * (STAR) IN SUBSCRIPT LIST SCANNED @F@@@@ LOAJK )@@G@@D X2,SGDNSS . COUNT NUMBER OF STAR SUBSCRIPTS @C@@@@ ADDJL )@@G@@ X2,1,I . BY ONE FOR EACH @ @@@@ STORE X2,SGDNSS .JM )@@G@@@ @@@@ LOADA X2,XGSTRS .@D@@@@ GOTO XGDECD .JN )@@G@@ LET DRIVER DO THE REST @F@@@@XGABRK LABEL . . ARRAYJO )@@G@@ RIGHT BRACKET SCANNED @ @@@@ LOAD A3,SGDNDM . @G@@@@ JP )@@G@@ IF A3,NE,SGDNSB THEN,XGSTRR . ARE ALL DIM ACCOUNTED FOR ? @C@@@@JQ )@@G@@ LINK XGBSA1 . RESOLVE ARRAY@#@@@@XGBRK0 LABEL . JR )@@G@@@A@@@@ MOVE DXGSTT,SGDSTT . @B@@@@ MOVE DXGMSK,SGJS )@@G@@DMSK . @G@@@@ LOADA X2,XGBRKT . SHIFT CONSTJT )@@G@@ANT FOR RIGHT BRAKET @E@@@@ GOTO XGDECD . LET DJU )@@G@@IRVER DO REST @F@@@@XGGSSL LOCAL . GET TEMP FOR SUBSJV )@@G@@CRIPT (SS) LIST @B@@@@ LOAD A8,SGDNDM . # DIM@D@@@@JW )@@G@@ GTMP R,A8 . GET SPACE FOR LIST@A@@@@ STOJX )@@G@@RE A8,SGDSLD .@D@@@@ MOVE SGDSLB,AGXR10+FH1 . ESTABJY )@@G@@LISH BASE @E@@@@ MOVE SGDAID,XGCON2 . ATTRIBUTES FOR SJZ )@@G@@S @F@@@@ STORE A8,SGDSLR . REMEMBER OFFSET FOR LATTER FRKA )@@G@@EEING @C@@@@ JMP . RETURN TO DRIVER @F@@@@XGGTMPKB )@@G@@ LOCAL . GET TEMP SPACE FOR CRSC @D@@@@ KC )@@G@@ LOAD A8,SGDNDM . NUMBER OF DIMENSIONS @F@@@@ SLB A8,KD )@@G@@1 . *2 = # WORDS FOR CRSC DOPE VECTOR @D@@@@ GTMP R,AKE )@@G@@8 . GET TEMP FOR DOPE VECTOR @ @@@@ STORE A8,AGR10D .KF )@@G@@@E@@@@ MOVE SGDCVD-FH2,AGXR10 . AW FOR CROSS SECTION DV @#@@@@KG )@@G@@ GENM . @G@@@@ GDBLE OPDL,AGRA3,SGDDVB-FH1 . COPY VIKH )@@G@@RTUAL ORIGIN AND LENGTH @B@@@@ GDBLE OPDS,AGRA3,AGXR10 . KI )@@G@@@#@@@@ GFIN . @C@@@@ JMP . RETURN TO DKJ )@@G@@RIVER @E@@@@XGLIST LABEL . TEST FOR PRESENCE OF LIST KK )@@G@@@F@@@@ GETC . ->LOOK AHEAD TO NEXT META-CODE KL )@@G@@@E@@@@ AND,U A8,0777000 . MASK OUT FLAG AND POINTER BITS @H@@@@KM )@@G@@ IF A9,EQ,ACLBRK,I THEN,XGNXT0 . -> '(' PRESENT SCAN FIRST KN )@@G@@SS @F@@@@ LINK BCKPGC . RETURN GETC TO CURRENT POSITIKO )@@G@@ON @G@@@@ GOTO XGABRK . -> SIMULATE ')', STARS WILL BKP )@@G@@E ADDED @ @@@@ . ** STAR IN SUBSCRIPTS** @E@@@@XGGTCV LLOC KQ )@@G@@ . FIRST STAR IN SS SCANNED @G@@@@ LOAD X3,DXGXPRKR )@@G@@ . ADDRESS OF AGGR EXPRESSION STACK ENTRY @F@@@@ LOAD X2,KS )@@G@@SGDXTI,X3 . OFFSET TO TALLY CELL VECTOR (TCV) @H@@@@ SUB X2,KT )@@G@@1,I . NUM OF SUBSCRIPTS COUNTED BEFORE ACTION TAKEN @C@@@@ KU )@@G@@ STORE X2,SGDCVD . FORM AW FOR TCV @E@@@@ MOVE SGDCVB,AGKV )@@G@@PX10+FH1 . PROTECTED TEMPORARY BASE @C@@@@ LJMP .KW )@@G@@ RETURN TO DRIVER @E@@@@XGSSUB LOCAL . FORM STACK ENTRY FOR KX )@@G@@TCV ENTRY @D@@@@ LINK XGPUSH . -> GET STACK SPACE KY )@@G@@@B@@@@ MOVE SGDAID,XGCON3 . @G@@@@ LOAD A2,KZ )@@G@@SGDNSS+DCGSLT,X7 . OFFSET FOR NUMBER OF SUBSCRIPT @G@@@@ AU LA )@@G@@ A2,DCGSLT+SGDCVB-SGDAID-FH1,X7 . AW FOR TCV INDEX ****** @ @@@@ LB )@@G@@ STORE A3,AGRL1 .@D@@@@ ADD A2,W1U+1,A2 . OFFSET IN DV LC )@@G@@OF BOUNDS @A@@@@ ADD A2,SGDADV+DCGSLT . @ @@@@ STOLD )@@G@@RE A2,AGTMP1 . @D@@@@ GENM . GET TALLY CELL OFFSLE )@@G@@ET @ @@@@ GLOAD AGRL1,1 'NO' . @I@@@@ GINST OPAA,AGRLLF )@@G@@1,AGTMP1,XH2 'NO' . ADD LOWER BOUND TO TALLY CELL OFFSET @F@@@@ LG )@@G@@ GFIN . COMPUTED SUBSCRIPT IS NOW IN REGISTER@C@@@@ LH )@@G@@ JMP . RETURN TO DRIVER @G@@@@XGSCPY LOCAL LI )@@G@@ . COPY MULTIPLIER AND BOUNDS TO CRSCDV @F@@@@ LOAD X2,LJ )@@G@@SGDCVD . CROSS-SECTION DV AW DISP FIELD @C@@@@ ADD X2,LK )@@G@@2,I . COUNT BY 2'S @E@@@@ STORE X2,SGDCVD . AW FOLL )@@G@@R MPLR/BNDS IN CRSC DV @E@@@@ LOAD X2,SGDNSB . NUMBER OF SLM )@@G@@UBSCRIPTS SEEN @G@@@@ ADD X2,W1U,X2 . X2 = OFFSET IN ALN )@@G@@RRAY DOPE VECTOR OF MB @C@@@@ ADD X2,SGDDVB-FH1 . AW FOR DV OLO )@@G@@RIGIN @E@@@@ STORE X2,SGDMLR . PUT IT WHERE GEN CAN USE IT LP )@@G@@@#@@@@ GENM . @D@@@@ GDBLE OPDL,AGRA3,SGDMLR . MOVE TOLQ )@@G@@ CRSC DV @B@@@@ GDBLE OPDS,AGRA3,SGDCVB-FH1 . @#@@@@ LR )@@G@@ GFIN . @C@@@@ JMP . RETURN TO DRIVER @#@@@@LS )@@G@@XGSEND LABEL . @E@@@@ LINK BCKPGC . GO BACK AND REGETLT )@@G@@ META-CODE @E@@@@ GETC . REALLY LOOKING AT A '*'LU )@@G@@? @E@@@@ AND,U A8,0777000 . MASK OUT FLAG AND POINTER BITS LV )@@G@@@I@@@@ IF A9,NE,ACSTAR,I THEN,XGCOMA . -> NO, DON'T MOVE METLW )@@G@@A-CODE POINTER @C@@@@ GETC . SKIP TO COMMA LX )@@G@@@D@@@@ GOTO XGCOMA . -> ENTER COMMA DRIVER @E@@@@XGBSSLLY )@@G@@ LABEL . BUMP SUBSCRIPT LIST OFFSET @D@@@@ LOALZ )@@G@@D X2,SGDSLD . POINT TO NEXT SUBSCRIPT@ @@@@ ADD X2,1,I MA )@@G@@ .@ @@@@ STORE X2,SGDSLD .@F@@@@ GOTO XGTCV2 MB )@@G@@ . -> COUNT NUM OF SUB'S AND CONTINUE @D@@@@XGTCV0 LABEL MC )@@G@@ . FIRST * IN A SERIES @F@@@@ LOAD A3,SGDMSK . ACTIVMD )@@G@@ATE TCV,STFS, DEACTIVATE TCV0 @B@@@@ XOR A3,XGSTAR-(IN 0,0,1,0ME )@@G@@) . @ @@@@ STORE A4,SGDMSK .@F@@@@ MOVE SGDNST,0,MF )@@G@@I . CLEAR CONSECUTIVE STAR COUNTER @E@@@@XGTCV1 LABEL MG )@@G@@ . STAR SUBSCRIPT NOT THE FIRST @F@@@@ LOAD X2,SGDNST .MH )@@G@@ COUNT NUMBER OF CONSECUTIVE STARS @D@@@@ ADD X2,1,I .MI )@@G@@ COUNT BY 1 FOR EACH @ @@@@ STORE X2,SGDNST .@E@@@@XGTCV2MJ )@@G@@ LABEL . COUNT # SUB'S AND CONTINUE @D@@@@ LOAMK )@@G@@D X2,SGDNSB . COUNT # SUBSCRIPTS @G@@@@ ADD X2,1,I ML )@@G@@ . COMMA WILL NOT BE ENTERED AFTER THIS STAR@ @@@@ STORE X2,MM )@@G@@SGDNSB .@E@@@@ LINK BCKPGC . RE-GETC THE CURRENT METMN )@@G@@A-CODE@E@@@@ GETC . REALLY LOOKING AT A STAR? MO )@@G@@@F@@@@ AND,U A8,0777000 . MASK OUT ANY FLAG AND POINTER BITS MP )@@G@@@H@@@@ IF A9,NE,ACSTAR,I THEN,XGABRK . -> MERGE WITH COMMA AFMQ )@@G@@TER STAR @B@@@@ GETC . SKIP COMMA @F@@@@ MR )@@G@@ GOTO XGANXA . -> MERGE WITH COMMA AFTER STAR @ @@@@ . ** MS )@@G@@PROCESS SUBSCRIPT** @F@@@@XGSSBW LLOC . SET BMT )@@G@@IT INDICATING NON * SS @C@@@@ LOAD F,0,I . SET FLMU )@@G@@AG BIT@ @@@@ LOAD A4,1,I .@D@@@@ LOAD X3,SGDNSBMV )@@G@@+DCGSLT . NUMBER SUB @G@@@@ SRBD A4,0,X3 . MW )@@G@@MOVE FLAG TO PROPER POSITION IN WORD@D@@@@ OR F,SGDSBW-SGDAIDMX )@@G@@+DCGSLT,X7 . @G@@@@ STORE A6,SGDSBW+DCGSLT . ACCUMULAMY )@@G@@TE BIT FLAGS INTO WORD ****** @E@@@@ LJMP 1 MZ )@@G@@ . RETURN TO DRIVER @#@@@@XGSTF0 LOCAL . @E@@@@ SUB X7,NA )@@G@@DCGSLT,I . FAKE A STACK ENTRY @E@@@@ LINK XGSTF2 NB )@@G@@ . MERGE W/ NON STARSS STF@ @@@@ XGPOP .NC )@@G@@@D@@@@ LOAD F,DXGMSK . RESET MASK BITS @E@@@@ ND )@@G@@ XOR F,XGSTAR-(IN 0,0,1,0) . ******@ @@@@ STONE )@@G@@RE A6,DXGMSK .@C@@@@ JMP . RETURN TO CALLERNF )@@G@@@F@@@@XGSTFS LABEL . . COPY TCV CHUNK TO SS LIST NG )@@G@@@#@@@@XGSTF2 LOCAL . @H@@@@ LOADN A8,SGDNST+DCGSLT,X7 . NH )@@G@@ NUMBER OF CONSECUTIVE STARS @B@@@@ AU,U A8,1 . -NI )@@G@@ (NST - 1) @C@@@@ AU A9,SGDCVD-SGDAID-FH2+DCGSLT,X7 . @F@@@@NJ )@@G@@ ADD A10,SGDNSS+DCGSLT,X7 . ADD NUMBER OF STARS @E@@@@NK )@@G@@ STORE A10,SGDCVD+DCGSLT . (A(TCV)-1)+NSS-(NST-1) @F@@@@ NL )@@G@@ LOAD X2,SGDNSB+DCGSLT . NUMBER OF SUBSCRIPTS SEEN @C@@@@ NM )@@G@@ ADD X2,A9 . NSB - (NST - 1) @H@@@@ ADD X2,W1U+1,NN )@@G@@X2 . 2 * (NSB - (NST - 1)) + 1 = LOWER BOUND OFFSET @D@@@@ ADDNO )@@G@@ X2,SGDDV+DCGSLT,X7 . A(LOWER BOUND) @E@@@@ STORE X2,AGTMP1NP )@@G@@ . SAVE IT FOR CODE GENERATOR @I@@@@ SUB A8,SGDSLD-FH2+DNQ )@@G@@CGSLT,X7 . PREPARE ADDRESS OF NEXT SUBSCRIPT @F@@@@ JNZNR )@@G@@ A9,XGSTF1 . ->NUMBER OF CONSECUTIVE STARS > 1 @F@@@@ GENNS )@@G@@M . PREPARE ONE SUBSCRIPT LIST ENTRY @F@@@@ GINNT )@@G@@ST OPLA,AGRA1,SGDCVD+DCGSLT-FH2 . TALLY CELL INDEX @D@@@@ GINNU )@@G@@ST OPAA,AGRA1,AGTMP1,XH2 . ADD LOWER BOUND@G@@@@ GINST OPSA,AGRANV )@@G@@1,SGDSLD+DCGSLT-FH2 . PUT IN SUBSCRIPT LIST @#@@@@ GFIN . NW )@@G@@@E@@@@ GOTO XGSTF3 . -> BUMP SUBSCRIPT LIST POINTER @#@@@@NX )@@G@@XGSTF1 LABEL . @E@@@@ STOREN A9,AGX0OF . STORE NST-1 FOR LOONY )@@G@@P COUNT @H@@@@ GENM . PREPARE MULTIPLNZ )@@G@@E SUBSCRIPT LIST ENTRIES@G@@@@ GINST OPLA,AGRA1,SGDCVD+DCGSLT,U OA )@@G@@. A1 = A(TALLY CELL INDEX) @F@@@@ GINST OPLA,AGRA2,AGTMP1,U .OB )@@G@@ A2 = A(NEXT LOWER BOUND) @C@@@@ GINST OPLA,AGRA3,SGDSLD+DCGOC )@@G@@SLT-FH2,U . @F@@@@ GINST OPLR,AGRA1,AGXR0,U . R1 = LOOP COUOD )@@G@@NT = NST - 1@A@@@@ . FAKE RAW FOR R1 USING AGRA1@F@@@@ GSUOE )@@G@@B EXPMSL . SUBROUTINE CALCULATES SUBSCRIPTS @#@@@@ GFIOF )@@G@@N . @#@@@@XGSTF3 LABEL . @H@@@@ STOREN A8,SGDSLD-FH2+DCGSLTOG )@@G@@,X7 . UPDATE SUBSCRIPT LIST POINTER @B@@@@ LOAD F,SGDMSK+OH )@@G@@DCGSLT . @F@@@@ XOR F,XGSTAR-LFDGE . DEACTIVATE TCVOI )@@G@@,STFS ****** @B@@@@ STORE A6,SGDMSK+DCGSLT . @ @@@@OJ )@@G@@ JMP .@E@@@@XGSTUF LOCAL . MOK )@@G@@OVE SUBSCRIPT TO SS LIST@F@@@@ GASGN SGDAID+DCGSLT R,X7 . ASSIGOL )@@G@@N SUB TO SS LIST SLOT @ @@@@ USING SGDSCT,X7 .@#@@@@ OM )@@G@@ XGPOP @E@@@@ LOAD X2,SGDSLD . BUMP SSLD TO NEXON )@@G@@T SLOT@^@@@@ ADD X2,1,I @^@@@@ STORE X2,SGDSLD@#@@@@OO )@@G@@ JMP . @D@@@@XGCOMP LOCAL . COMPUTE A <- A + I OP )@@G@@* M @ @@@@ . A9 CONTAINS MULTIPLIER @A@@@@ . A10 COUNTS PLACES TOOQ )@@G@@ SHIFT LEFT @ @@@@ . X2 IS USED FOR SCRATCH @ @@@@ . X3 IS USED FOROR )@@G@@ SCRATCH @F@@@@ LOAD X2,SGDNSB+DCGSLT . NUMBER OF SUBSCROS )@@G@@IPTS SEEN @E@@@@ ADD X2,SGDNSB+DCGSLT . MULTIPLY IT BOT )@@G@@Y 2 @E@@@@ LOAD A9,SGDADV+DCGSLT . AW WORD FOR DV ORIGIN OU )@@G@@@E@@@@ ADD A9,X2 . A9=AW FOR MPLR FOR SS @E@@@@OV )@@G@@ STORE A9,SGDMLR+DCGSLT . WHERE IDEN CAN GET IT @F@@@@ OW )@@G@@ ADD X2,SGDDVT+DCGSLT . ADD ADDRESS OF DV TEMPLATE @ @@@@ OX )@@G@@ USING WORD,X2 .@C@@@@ LOAD A9,W1+1,X2 . GET THE MULTOY )@@G@@IPLIER@ @@@@ LOADA X11,XGCPAD .@E@@@@ STACK X11 OZ )@@G@@ . SET RETURN ADDRESS ON STACK @B@@@@ . REGISTERS A7, AND X11, PA )@@G@@X1 AND A1, @B@@@@ . X7, X9, X10, TVDSECT, ADXGEN, @C@@@@ . ADPB )@@G@@CGSTRT, AND X4 MUST BE RETURNED AS IS. @ @@@@ . A9 CONTAINS THE MULTPC )@@G@@IPLIER@G@@@@ . X2 CONTAINS A POINTER TO AW ON RETURN OR [A2] VALUE OF SPD )@@G@@UBSCRIPT @B@@@@ . X5, X6, X8 AND A10, AND ARE FREE @ @@@@ PE )@@G@@ GOTO VGCVB0 .@ @@@@XGCPAD LABEL .@E@@@@ PF )@@G@@ LOAD X5,SGDASD,X7 . ARRAY SD POINTER @G@@@@ IF PG )@@G@@ A3,EQ,VGCON,I THEN,XGCMP5 . -> SUBSCRIPT IS A CONSTANT @E@@@@ PH )@@G@@ LOAD X3,X2 . POINTER TO VARIABLE SUBSCRIPT @H@@@@ LOAPI )@@G@@DA X2,XGCMP3 . ICODE ADDRESS FOR MULTIPLIER NOT A POWER OF 2 @F@@@@PJ )@@G@@ IF A9,EQ,0,I THEN,XGCMP1 . -> MULTIPLIER NOT KNOWN @ @@@@PK )@@G@@ USING SDSECT,X5 . @H@@@@ IF SDPARM,ON,SDCLS2 THENPL )@@G@@,XGCMP1 . -> PARM CODE IS NOT OPTIMIZED @F@@@@ LSC A9,A9 . PM )@@G@@ TEST IF MULTIPLIER IS POWER OF 2 @F@@@@ IF A9,NE,XGMPN )@@G@@SK5 THEN,XGCMP1 . -> NOT A POWER OF 2 @F@@@@ LOADA X2,XGCMPOPO )@@G@@ . ICODE ADDRESS FOR MULTIPLIER OF ONE @F@@@@ IF A10,EQ,34PP )@@G@@,I THEN,XGCMP1 . -> MULTIPLIER IS ONE @C@@@@ SUB A10,DRAW3PQ )@@G@@4 . CREATE SHIFT AW @ @@@@ STOREN A10,SGDMLR . @F@@@@ PR )@@G@@ LOADA X2,XGCMP4 . ADDRESS OF IGEN CODE TO MAKE SHIFT @F@@@@XGCMP1PS )@@G@@ LABEL . GEN CODE FOR MULTIPLIER * SUBSCRIPT @E@@@@ PT )@@G@@ GENMR R,X2 . CALL INTERPRETIVE ODED @E@@@@ JMPPU )@@G@@ . RETURN TO DRIVER @E@@@@ GMODE 'M'PV )@@G@@ . SET FOR MACRO TYPE PACKING @D@@@@XGCMP4 GLBL PW )@@G@@ . MLPR POWER OF TWO @E@@@@ GIFR XGCMPR,AGPTX3 .PX )@@G@@ SUBSCRIPT IN REGISTER @F@@@@ GLOAD AGPTX3 . LOAD SPY )@@G@@UBSCRIPT INTO REGISTER @#@@@@XGCMPR GLBL @F@@@@ GSHIN OPLPZ )@@G@@SSC,AGPTX3,SGDMLR . SUBSCRIPT * MULTIPLIER @B@@@@ GGOTO XGCQA )@@G@@MPN . -> MERGE @E@@@@XGCMP3 GLBL . MULTIPLIER NQB )@@G@@OT POWER OF 2 @A@@@@ GIFR XGCMP0,AGPTX3 . @^@@@@ QC )@@G@@ GLOAD AGPTX3,1 @#@@@@XGCMP0 GLBL @F@@@@ GINST OPMSI,AGPQD )@@G@@TX3,SGDMLR . SUBSCRIPT * MULTIPLIER @#@@@@XGCMPN GLBL @F@@@@QE )@@G@@ GINST OPAA,AGPTX3,AGADDR . ADD NEW CONPONENT TO ADDRESS @E@@@@QF )@@G@@ GSET AGADDR,AGPTX3 . KEEP TRACK OF ADDRESS @#@@@@ QG )@@G@@ GFIN @D@@@@XGCMP5 LABEL . CONSTANT SUBSCRIPT IN X3QH )@@G@@@F@@@@ IF A9,EQ,0,I THEN,XGCMP6 . -> MULTIPLIER NOT KNOWN QI )@@G@@@ @@@@ USING SDSECT,X5 . @I@@@@ IF SDPARM,ON,SDCLSQJ )@@G@@2 THEN,XGCMP6 . -> MULTIPLIERS ARE UNKNOWN FOR PAR @D@@@@ MPYQK )@@G@@S A9,A2 . SUBSCRIPT * MULTIPLIER @G@@@@ ADD A9,SGDCOFQL )@@G@@ . ACCUMULATE CONSTANT COMPONENT @ @@@@ STORE A9,QM )@@G@@SGDCOF .@D@@@@ JMP . RETURN TO DRIVER QN )@@G@@@#@@@@XGCMP6 LABEL . @C@@@@ IF A2,EQ,0,I THEN,JMP . NO CODE QO )@@G@@NEEDED@ @@@@ MOVE DGFLGZ,1,I @E@@@@ IF A2,GE,0,IQP )@@G@@ THEN,XGCMP7 . SUBSCRIPT POSITIVE @D@@@@ MOVE DGFLGZ,0,I QQ )@@G@@ . NEGATIVE OFFSET @ @@@@ LOADM A2,A2 .@#@@@@XGCMP7QR )@@G@@ LABEL . @D@@@@ STORE A2,AGX0OF . ADDRESS FIELD OF LOADA QS )@@G@@@B@@@@ LOADA X2,XGCMPA . IF SS = 1 @C@@@@ SUB A2,QT )@@G@@1,I . DOES SS = 1 ? @D@@@@ IF A2,EQ,0,I THEN,XGCMP8 .QU )@@G@@ -> YES, GEN CODE @C@@@@ LOADA X2,XGCMPB . DOES SS = 2 ? QV )@@G@@@ @@@@ SUB A2,1,I .@F@@@@ IF A2,EQ,0,I THEN,XGQW )@@G@@CMP8 . YES, GEN APPROPRIATE CODE @B@@@@ LOADA X2,XGCMPC .QX )@@G@@ FOR SS > 2 @#@@@@XGCMP8 LABEL . @^@@@@ GENMR R,X2 @A@@@@QY )@@G@@ JMP . -> RETURN TO DRIVER@E@@@@ GMODE 'M' .QZ )@@G@@ SET FOR MACRO TYPE PACKING @B@@@@XGCMPB GLBL . WHEN RA )@@G@@SS = 2@C@@@@ GLOAD SGDMLR,1 . LOAD MULTIPLIER @C@@@@ RB )@@G@@ GINST OPAA,SGDMLR,SGDMLR 'NO' . *2 @B@@@@XGCMPA GLBL . RC )@@G@@ . SS=1 @ @@@@ GSET AGTMP1,SGDMLR .@B@@@@ GGORD )@@G@@TO XGCMP9 . -> MERGE @#@@@@XGCMPC GLBL . @^@@@@ GGERE )@@G@@TGR AGTMP1 @D@@@@ GINST OPLA,AGTMP1,AGXR0,U . LOAD CONSTANT RF )@@G@@@C@@@@ GINST OPMSI,AGTMP1,SGDMLR . SUB*MLR @#@@@@XGCMP9 GLBRG )@@G@@L . @D@@@@ GBON XGCMPD,0001 . POSITIVE OFFSET @ @@@@RH )@@G@@ GIFR XGCMPH,AGADDR .@ @@@@ GLOAD AGADDR,1 . @#@@@@RI )@@G@@XGCMPH GLBL . @E@@@@ GINST OPANA,AGADDR,AGTMP1 . ADD IN NEWRJ )@@G@@ COMPONENT @#@@@@ GFIN . @H@@@@XGCMPO GLBL . ERK )@@G@@NTRY FOR NON-CONSTANT SUBSCRIPT, MULTIPLIER = 1 @F@@@@ GSET AGTRL )@@G@@MP1,AGPTX3 . TREAT SUBSCRIPT AS THE PRODUCT @#@@@@XGCMPD GLBL . RM )@@G@@@D@@@@ GIFR XGCMPF,AGTMP1 . -> PROD IS IN REGISTER @E@@@@ RN )@@G@@ GIFR XGCMPG,AGADDR . -> ADDRESS IS IN REGISTER @ @@@@ GLORO )@@G@@AD AGTMP1,1 . @D@@@@XGCMPF GLBL . MERGE WHEN PRODUCT IS IN REGISTRP )@@G@@ER @E@@@@ GINST OPAA,AGTMP1,AGADDR . ADD IN NEW ADDR COMP RQ )@@G@@@F@@@@ GSET AGADDR,AGTMP1 . DEEP TRACK OF RESULT ADDR. RR )@@G@@@#@@@@ GFIN @A@@@@XGCMPG GLBL . ADDR IS IN REGISTER@A@@@@RS )@@G@@ GINST OPAA,AGADDR,AGTMP1 . @#@@@@ GFIN . @ @@@@XGANXTRT )@@G@@ LABEL .@G@@@@ LINK BCKPGC . RE-GETC THERU )@@G@@ CURRENT META-CODE INTO A8 @#@@@@ GETC . @G@@@@XGANXA LABRV )@@G@@EL . MERGE POINT - CURRENT META-CODE IN A8 @E@@@@ RW )@@G@@ AND,U A8,0777000 . MASK OUT POINTER IN LOW BYTE @E@@@@ IF RX )@@G@@ A9,EQ,ACCOMA,I THEN,XGNXT0 . IF MORE TO LIST @#@@@@XGNLST LABEL . RY )@@G@@@E@@@@ GOTO XGABRK . -> END OF LIST WRAP IT UP @ @@@@RZ )@@G@@. ** END OF SUBSCRIPT LIST** @F@@@@XGLARG LOCAL . .SA )@@G@@ LOAD ADDR OF SS LIST AND DV @F@@@@ MOVE SGDSLD,SGDSLR .SB )@@G@@ DISP TO START OF SS LIST @C@@@@ LOAD X3,SGDNDM . # OF SC )@@G@@DIMENSIONS @F@@@@ SUB X3,1,I . -1 FORM BETTER FOR RUNTSD )@@G@@IME ROUTINE @E@@@@ STORE X3,SGDNDM . PUT IT WHERE IGEN CAN GSE )@@G@@ET IT @#@@@@ GENM @G@@@@ GINST OPLA,AGRA1,SGDSLB-FH1SF )@@G@@,U . LOAD ADDRESS OF SUBSCRIPT @ @@@@ GFSR AGRX5 .SG )@@G@@@E@@@@ GINST OPLA,AGRA2,SGDDV,U . LOAD ADDRESS OF DV @#@@@@SH )@@G@@ GFIN @E@@@@ LOAD A8,SGDSLR . OFFSET TO SI )@@G@@SS LIST TEMP@C@@@@ FTMP R,A8 . FREE TEMPORARY @E@@@@SJ )@@G@@ JMP . RETURN TO DRIVER @F@@@@XGTLYCSK )@@G@@ LLOC . GEN CALL TO BOUNDS CHCKER @E@@@@ SL )@@G@@ IF SGDNSS,ZERO THEN,XGSUBR . NO STARS PRESENT @E@@@@ LOASM )@@G@@D X3,DXGXPR . ADDRESS OF AGGX STACK @E@@@@ LOAD X2,SN )@@G@@0200000,I . SET I-FIELD FOR USE WITH LMJ @C@@@@ ADD X2,SGDXTCSO )@@G@@,X3 . OFFSET TO TCV @C@@@@ STORE X2,AGR10D . SAY OFFSSP )@@G@@ET,X10@B@@@@ LOAD X2,AGXR10 . GET AW @E@@@@ MOVSQ )@@G@@E DGFLGZ,3,I . SET FLAG FOR SBW AND FREE A1@B@@@@ GOTO XGSSR )@@G@@UB1 . -> MERGE @G@@@@XGSUBR LABEL . CALL SUBROUSS )@@G@@TINE TO DO SUBSCRIPT CHECK @D@@@@ LOADA X2,EXSUB . SUBROST )@@G@@UTINE'S ADDRESS @C@@@@ MOVE DGFLGZ,2,I . NO SBW, FREE A1 SU )@@G@@@E@@@@XGSUB3 LABEL . ENTRY FROM BELOW TO PUT ADDRESS INTO AGRX0 @E@@@@SV )@@G@@ STORE X2,AGX0OF . SET AS OFFSET PAST X0 @E@@@@ SW )@@G@@ LOAD X2,AGXR0 . GET ADRESS WORD FOR CALL @E@@@@XGSUB1 LOCSX )@@G@@AL . ENTRY FROM TLYC AND CRSC @E@@@@ STORE X2,SY )@@G@@AGXTMP . SET ARGUMENT TO GSUB @^@@@@ LOAD A9,SGDSBWSZ )@@G@@@C@@@@ MOVE SGDASD-FH1+FH2,SGDNDM . #DIMS -1 @E@@@@ LOATA )@@G@@D A10,SGDASD-FH1 . SD OF ARRAY !! #DIMS -1@#@@@@ GENM TB )@@G@@@F@@@@ GINST 074,AGRX11,AGXTMP,013 'NO' . GEN CALL TO SUB TC )@@G@@@D@@@@ GBOFF XGSUB2,1 . -> SBW NOT REQUIRED@D@@@@ TD )@@G@@ GLITRG A9 . MOVE SBW TO CODE@ @@@@XGSUB2 GLBL TE )@@G@@ .@E@@@@ GLITRG A10 . SD OF ARRAY !! #DTF )@@G@@IMS -1@D@@@@ GBOFF XGSBR3,2 . -> LEAVE RESULT IN A1 @G@@@@TG )@@G@@ GGETGR SGDDBS-FH1+DCGSLT 'X' . GET FIXED PT REG FOR ADDRESS TH )@@G@@@F@@@@ GINST OPLX,SGDDBS-FH1+DCGSLT,AGRA1 . LOAD ADDR IN NEW REGTI )@@G@@@#@@@@XGSBR3 GLBL . @#@@@@ GFIN @#@@@@ JMP . TJ )@@G@@@F@@@@XGCRSC LLOC . GENERATE CALL TO CROSS SECTIONER TK )@@G@@@F@@@@ LOADA X2,EXCRSC . OFFSET TO CROSS-SECTIONER ADDRESS TL )@@G@@@B@@@@ MOVE SGDDBS-FH1+DCGSLT,AGRA1 . @D@@@@ MOVE DGFTM )@@G@@LGZ,1,I . FLAG FOR SBW, KEEP A1 @B@@@@ GOTO XGSUB3 .TN )@@G@@ -> MERGE @D@@@@XGRESA LLOC . FORM ADDRESS WORD TO )@@G@@@A@@@@ LOADA F,SGDDBS+DCGSLT-FH1 .@^@@@@ SLB F,18 . TP )@@G@@@^@@@@ STORE F,AGRL2 .@H@@@@ IF SDRLCX,OFF,SGDCLS+DCGTQ )@@G@@SLT THEN,LJMP1 . -> NOT COMPLEX, DONE @C@@@@ MOVE SGDIBS+DCTR )@@G@@GSLT,SGDRBS+DCGSLT . @C@@@@ LSDP X3,SGDASD . GET STS )@@G@@D @E@@@@ LOAD F,SDRTC,X3 . # BYTES IN BASIC ELEMENT TT )@@G@@@E@@@@ SRB F,1 . HALVE IT FOR OFFSET @E@@@@TU )@@G@@ STORE F,SGDIDS+DCGSLT . FINISH OFF STACK ENTRY @#@@@@ TV )@@G@@ LJMP 1 .@F@@@@XGRESB LOCAL . FORM AW FORM ADDRESS AND CONSTANT CTW )@@G@@OMP OF ADDR @E@@@@ IF SGDCOF,ZERO THEN,XGRES3 . -> NO CODE NETX )@@G@@EDED @F@@@@ MOVE DGFLGZ,0,I . SET CODE FOR NO HIGH ORDER BITY )@@G@@TS @F@@@@ LOADM A9,SGDCOF . PREPARE TO TEST SIZE OF CONSTANTZ )@@G@@T @G@@@@ IF A9,LT,XGMSK2+FH1 THEN,XGRES4 . -> LOW ORDER BUA )@@G@@ITS ONLY @E@@@@ MOVE DGFLGZ,1,I . SET CODE FOR HIGH ORDERUB )@@G@@ BITS @G@@@@ MOVE AGX0OF,SGDCOF+FH1 . PREPARE HIGH ORDER UC )@@G@@BITS AW @D@@@@XGRES4 LABEL . MERGE TO PREPARE LOW ORDER BITS AW UD )@@G@@@B@@@@ MOVE SGDCOF+FH1,AGXR0+FH1 . @#@@@@ GENM . UE )@@G@@@ @@@@ GGETGR AGTMP1 'X' .@G@@@@ GINST OPLX,AGTMP1,SGDUF )@@G@@COF,XU 'NO' . GEN LOAD OF LOW ORDER BITS @E@@@@ GBOFF XGRES5,1 UG )@@G@@ . -> HIGH ORDER BITS NOT NEEDED@E@@@@ GINST OPLXI,AGTMP1,AGUH )@@G@@XR0,U . LOAD HIGH ORDER BITS @G@@@@XGRES5 GLBL . MERGE WHEN CONSTANTUI )@@G@@ COMPONENT LOADED IN X-REGISTER @G@@@@ GINST OPAX,AGTMP1,AGAUJ )@@G@@DDR . ADD IN PART ALREADY COMPUTED @B@@@@ GSET SGDDBS+DCUK )@@G@@GSLT-FH1,AGTMP1 . @#@@@@ GFIN . @A@@@@ JMP . -> RETUUL )@@G@@RN TO DRIVER@D@@@@XGRES3 LABEL . MAKE SURE AW IS IN RIGHT LOCATION UM )@@G@@@ @@@@ GEN .@D@@@@ GSET SGDDBS+DCGSLT-FUN )@@G@@H1,AGADDR . TRANSFER AW @#@@@@ JMP . @B@@@@XGSTV0 LOCAL . UO )@@G@@ STORE NEW V.O. @D@@@@ LOAD X2,SGDNSS . NUMBER OF STAR UP )@@G@@SS SEEN @D@@@@ ADD X2,2+W1U,X2 . OFFSET TO END OF TEMP DV UQ )@@G@@@F@@@@ LOAD A2,DCGTLV . POINTS TO TEMP STACK ENTRY FOR DV UR )@@G@@@ @@@@ USING TGDSCT,A2 . @C@@@@ STORE X2,TGSIZE,A2 .US )@@G@@ SET NEW DV SIZE @C@@@@ MOVE AGR10D,TGFSET . FORM AW FOR TEMP UT )@@G@@@#@@@@ GENM . @F@@@@ GINST OPLA,AGRA1,AGRL2,U . LOAD AUU )@@G@@DDRESS OF CONSTANT PART @E@@@@ GINST OPSA,AGRA1,AGXR10 . RESULT UV )@@G@@IS LOCATION OF DV @ @@@@ GSET AGRL2,AGXR10 . @#@@@@ GFIUW )@@G@@N . @#@@@@ JMP . @G@@@@XGPOPS LABEL . .UX )@@G@@ REMOVE WORK STACK ENTRY FROM STACK @#@@@@ XGPOP @E@@@@ UY )@@G@@ GOTO XGLOOP . PROCESS NEXT ICODE @^@@@@. **ASSINGMEUZ )@@G@@NT OPERATOR @F@@@@XGASOP LABEL . ASSIGNMENT COMMA ISVA )@@G@@ @ LINE 2555@G@@@@ IF A8,EQ,ACASNC,I THEN,XGACMA . IS THIS AN ASVB )@@G@@SIGNMENT COMMA? @E@@@@ IF DXGLHS,NZERO THEN,XGASN0 . -> MUVC )@@G@@LTIPLE LHS @F@@@@ LINK XGBSDB . SINGLE ASG- RESOLVEVD )@@G@@ RHS + LHS @B@@@@ GASGN SGDAID+DCGSLT SGDAID . @D@@@@ VE )@@G@@ XGPOP 'SIZE',2*DCGSLT . POP OFF BOTH SIDES @G@@@@ GOTO XGLVF )@@G@@OOP . PROCESS NEXT META CODE SYMBOL @#@@@@XGASN0 LABVG )@@G@@EL . @E@@@@ LINK XGBSDU . MULT ASG-RESOLVE RHS VH )@@G@@@C@@@@ LOAD X3,X7 . POINT TO LHS @F@@@@ IF VI )@@G@@SDARST,ON,SGDCLS THEN,XGASN2 . SEE IF STRING TEMP @F@@@@ LOAVJ )@@G@@D X2,X7 . SET TO USE ATTRIBUTES OF RHS @D@@@@ GASVK )@@G@@GN 'TEMP' R,X3 'ATTR',R,X2 'COND','IFEXPR'@#@@@@ GEN . @D@@@@VL )@@G@@ GKEEP AGRL1 . PROTECT REAL PART@E@@@@ IF VM )@@G@@SDRLCX,OFF,SGDCLS THEN,XGASN4 . IS IT COMPLEX? @#@@@@ GEN . VN )@@G@@@E@@@@ GKEEP AGIM1 . PROTECT IMAGINARY PART @E@@@@VO )@@G@@ GOTO XGASN4 . GO MERGE WITH STRINGS @F@@@@XGASN2VP )@@G@@ LABEL . COME HERE TO HANDLE STRINGS @F@@@@ VQ )@@G@@ IF SGDEXP,OFF,SGDID THEN,XGASN4 . DON'T FUSS IF NOT TEMP @F@@@@ VR )@@G@@ GENM . FIND REAL ADDRESS OF STRING @G@@@@ VS )@@G@@ GSUB EXTMPS . GET ADDRESS OF STRING TEMP INTO A1 @F@@@@VT )@@G@@ GINST OPLX,AGRX1,AGRA1 . GET POINTER TO DV INTO X1 @#@@@@VU )@@G@@ GFIN . @D@@@@ LOADA A7,AGRX1 . SET UP ADDRESVV )@@G@@S WORD@D@@@@ STORE A7,SGDRBS . SET X1 AS BASE @D@@@@VW )@@G@@ MOVE SGDRDS,0,I . SET TO BE 0,X1 @#@@@@XGASN4 LABVX )@@G@@EL . @ @@@@ USING WORD,X3 .@ @@@@ MOVE DXGTMP,W1,VY )@@G@@3 @D@[@@ LOAD X5,W1U,X7 . OLD STACK TOP @E@@@[VZ )@@G@@ LOAD X5,W1U+DCGSLT,X7 . OLD STACK TOP @ @@@@ WA )@@G@@ LOAD X2,DXGLHS .@H@@@@ . CHECK FOR EXPLICIT PTR IN RIGHTWB )@@G@@MOST LHS TO ADJUST STACK SIZE CTR @^@@@@ . EG A,PC->D= @H@@@@WC )@@G@@ IF SGDPTR,OFF,SGDID+DCGSLT THEN,XGASN5 . LOOK AT SECOND STACK EWD )@@G@@NTRY @E@@@@ ADD X2,DCGSLT,I . ADD IN ANOTHER STACK SIZEWE )@@G@@@#@@@@XGASN5 LABEL . @F@@@@ ADD X2,W1U+DCGSLT,X7 . LEFT WF )@@G@@MOST LEFT HAND SIDE @E@@@@ LOADXM X7,DCGSLT+W1U,X2 . WG )@@G@@NEW TOP OF STACK @ @@@@XGASN1 LABEL .@D@@@@ LINWH )@@G@@K XGBSDA . RESOLVE CURRENT LHS@C@@@@ GASGN R,X2 R,X3WI )@@G@@ . ASSIGN @E@@@@ MOVE W1,DXGTMP,3 . REFREWJ )@@G@@SH STACK ENTRY @E@@@@ LXI,XU X2,-DCGSLT . SET TO GO BACWK )@@G@@K UP STACK @E@@@@ TLEM,U X5,0,*X2 . . LOOP THRU ALLWL )@@G@@ LHS @ @@@@ GOTO XGASN1 .@D@@@@ MOVE DCGTLV,DXWM )@@G@@GTLV . FREE ALL TEMPS @ @@@@ USING SGDSCT,X3 .@E@@@@WN )@@G@@ IF SDARST,OFF,SGDCLS THEN,XGLOOP . NON STRING @F@@@@ WO )@@G@@ IF SGDEXP,OFF,SGDID THEN,XGLOOP . NON EXPRESSIONS @E@@@@ WP )@@G@@ LOADA X2,SGDRBS,X3 . AW FOR DOPE VECTOR @ @@@@ USIWQ )@@G@@NG SGDSCT,X7 .@B@@@@ MOVE AGR10D,5,I . AD(ARENDPTR) @#@@@@WR )@@G@@ GENM @E@@@@ GINST OPLA,AGRA3,AGPTX2,H2 . GET POINTEWS )@@G@@R TO STRING @D@@@@ GINST OPSA,AGRA3,AGXR10,H2 . RESET AREPTR WT )@@G@@@#@@@@ GFIN . @^@@@@ GOTO XGLOOP @A@@@@. ** SUBSCRIWU )@@G@@PT OR ARGUMENT COMMA** @#@@@@XGCMMA LABEL . @#@@@@XGRBRK LABEL . WV )@@G@@@#@@@@XGNEXP LABEL . @H@@@@ LINK XGBSDU . RESOLVE TOP OF SWW )@@G@@TK- SUBSCRIPT OR EXPRESSSION END @D@@@@ LOAD X11,DXGOPN WX )@@G@@ . GET STATE OFFSET @D@@@@ LOAD X11,XGOPST,X11 . OPERAND SWY )@@G@@TATE TABLE @F@@@@ GOTO 0,X11 . BRANCH TO SELECTEWZ )@@G@@D MODULE @ @@@@. **PROCESS FUNCTION ARGUMENT @F@@@@XGUSCL LABEL . XA )@@G@@ . RETURN HERE AFTER CALR AGR @#@@@@XGUARG LABEL . XB )@@G@@@A@@@@ LOAD X5,SGDPSD+DCGSLT @^@@@@ USING SDSECT,X5XC )@@G@@@ @@@@. ** ALL SCALAR ARGUMENTS @^@@@@ LOAD A7,SGDID @G@@@@XD )@@G@@ IF A7,EQ,SD0FLE,I THEN,XGLAAG . FILE PASSED AS ARG, NOT TEMPXE )@@G@@@E@@@@XGATST LABEL . TEST FOR ARG/PARAMETER MATCH @A@@@@XF )@@G@@ MOVE DXGWRK,SDCLS0-FQ1 . @E@@@@ MOVE DXGWRK+FXH2,SD2XG )@@G@@SP . COPY SCALE AND PRECISION @ @@@@ LOAD A3,DXGWRK+FH1 .@C@@@@XH )@@G@@ AND,U A3,0760 . REMOVE LOWER BITS @ @@@@ LOAD F,SXI )@@G@@GDCLS . @^@@@@ AND,U F,017 . @G@@@@ ADD A6,A4 . XJ )@@G@@ IGNORE CONST.VRBL,ARITH/STRNG,FCTN @ @@@@ STORE A6,XK )@@G@@DXGWRK+FQ2 .@F@@@@ LOAD A3,DXGWRK+FXH2 . A3<- SCALE AND PREC OFXL )@@G@@ ARG SD @G@@@@ IF A6,NE,SGDCLS THEN,XGBOBS . -> ATTRIBUTEXM )@@G@@S DO NOT MATCH @F@@@@ IF A3,EQ,SGDSCP THEN,XGUAS2 . -> ATTXN )@@G@@RIBUTES MATCH @#@@@@XGBOBS LABEL . @G@@@@ IF SGDEXP,ON,SGXO )@@G@@DID THEN,XGUAS1 . IF EXPRESSION, NO MESSAGE @C@@@@. LOAD A3,XP )@@G@@SGDID,X7 . GET TYPE FROM STACK@D@@@@ AND,U A3,SD0LAB . EXAMINEXQ )@@G@@ ONLY LABEL BITS @H@@@@ IF A4,EQ,SD0LAB,I THEN,XGUAS1 . -> LXR )@@G@@ABEL VARIABLE NEVER NEEDS @D@@@@ SET SGDEXP,ON,SGDID . FORXS )@@G@@CE INTO TEMPORARY @F@@@@ IF SDVRCN,ON,SGDCLS THEN,XGUAS1 . NO MEXT )@@G@@SSAGE FOR CONSTANT@D@@@@ LOAD X2,SGDFSD+DCGSLT . A(ENTRYXU )@@G@@ SD) @A@@@@ EXERR ERCGNDCL LEVEL,0 . @F@@@@ GOTO XXV )@@G@@GUAS1 . SKIP BASED PARAMTER TEST @E@@@@ . 'CONVERSION REQXW )@@G@@UIRED TO MATCH PARAMETER',SDX5,'OF',SDX2 @G@@@@XGUAS2 LABEL . XX )@@G@@ CHECK IF PARAMETER IS BSD OR CNT @D@@@@ LOAD XXY )@@G@@3,SGDRSD . GET SD OF ACTUAL @ @@@@ USING SDSECT,X3 XZ )@@G@@@G@@@@ IF SD0BSD++SD0CNT,OFF,SDCLS0 THEN,XGUAS1 . -> IF NOTYA )@@G@@ BASED@E@@@@ SET SGDEXP,ON,SGDID . PASS BSD VAR BY VALUE YB )@@G@@@A@@@@ LOAD X2,SGDFSD+DCGSLT . @A@@@@ EXERR ERCGBSBYC )@@G@@V LEVEL,0 .@C@@@@ . BASED PARAMETER SDX3 OF SDX2 PASSED BY VALUE @#@@@@YD )@@G@@XGUAS1 LABEL . @F@@@@ GASGN 'TEMP' R,X7 'ATTR',DXGWRK 'COND'YE )@@G@@,'IFEXPR' . @H@@@@ IF SGDEXP,ON,SGDID THEN,XGLAA3 . -> YF )@@G@@ARG IS EXPRESSION, NO CHECK @^@@@@ LOAD X3,SGDRSD@^@@@@ YG )@@G@@ USING SDSECT,X3@C@@@@ IF SDCHCK,OFF,SDCLS3 THEN,XGLAA3 YH )@@G@@@^@@@@ XGPUSH 'SIZE',1@B@@@@ MOVE SGDAID,SGDAID+1,DXGFCYI )@@G@@K @B@@@@ STORE X3,SGDAID+DXGFCK+FH1 . @H@@@@ IF YJ )@@G@@ SDARRY,OFF,SDCLS2 THEN,XGCHR1 . -> NOT AN ARRAY REFERENCE @A@@@@YK )@@G@@ LOAD A6,SGDFAL+DCGSLT @A@@@@ STORE A6,SGDAID+DXGFCYL )@@G@@K+FH2 @^@@@@ GOTO XGLAA3 . @#@@@@XGCHR1 LABEL . @B@@@@ YM )@@G@@ MOVE SGDAID+DXGFCK+FH2,0,I . @#@@@@XGLAA3 LABEL . @E@@@@ YN )@@G@@ IF SGDRDS,NZERO THEN,XGLAAG . -> MUST USE LOADA @D@@@@ IF YO )@@G@@SDARST,OFF,SGDCLS THEN,XGLAA0 . NOT STRING@F@@@@ IF SGDEXP,YP )@@G@@OFF,SGDID THEN,XGLAA0 . -> NOT STRING TEMP@F@@@@ GEN . YQ )@@G@@ LOAD ADDRESS OF STRING TEMP @E@@@@ GSUB EXTMPS YR )@@G@@. FIND ADDRESS OF TEMP @C@@@@ GOTO XGXPOP . YS )@@G@@ MERGE THERE @#@@@@XGLAA0 LABEL . @[@@@@. @E@@@@. SGDYT )@@G@@RDS = 0,ADDRESS MUST BE IN REG,POINT TO THAT REG@[@@@@. @E@@@@ YU )@@G@@ LOAD X2,SGDRBS . POINT TO THE ADDRESS WORD@[@@@@. @H@@@@YV )@@G@@. SINCE SGDRDS WAS ZERO,THE VALUE MUST YW )@@G@@BE @G@@@@. 0,ADDRESS , AND WE NEED TYX )@@G@@O STORE THE @E@@@@. ADDR. INTO THE PARMYY )@@G@@ LIST.@[@@@@. @#@@@@XGLAAE LABEL . @#@@@@ GENM @ @@@@YZ )@@G@@ GIFR XGLAA1,AGPTX2 .@A@@@@ GINST OPLA,AGRA3,AGPTX2 ZA )@@G@@@B@@@@ GINST OPSA,AGRA3,AGALST+DCGSLT @^@@@@ GGOTO XGLZB )@@G@@AA2 @#@@@@XGLAA1 GLBL @E@@@@ GIFX XGLA1A,AGPTX2 . IZC )@@G@@S ADDRESS IN X REG? @E@@@@ GINST OPSA,AGPTX2,AGALST+DCGSLT .ZD )@@G@@ IN AN 'A' REG @B@@@@ GGOTO XGLAA2 . MERGE @#@@@@ZE )@@G@@XGLA1A LABEL . @F@@@@ GINST OPSX,AGPTX2,AGALST+DCGSLT . IT ISZF )@@G@@ IN A 'X' REG @#@@@@XGLAA2 GLBL @^@@@@ GFREE AGPTX2 ZG )@@G@@@^@@@@ GFIN 'POP' .@^@@@@ GOTO XGBMPL @A@@@@ . PRZH )@@G@@OCESS USER FUNCTION ARGUMENT @ @@@@XGRCRS LABEL .@ @@@@ZI )@@G@@XGLAAG LABEL .@#@@@@ GEN . @G@@@@ GINZJ )@@G@@ST OPLA,AGRA1,AGRL1,U . LOAD ADDRESS OF ARGUMENT @#@@@@XGXPOPZK )@@G@@ LABEL . @#@@@@ XGPOP @ @@@@XGSTAG LABEL .ZL )@@G@@@#@@@@ GENM @^@@@@ GFSR AGRX5 @G@@@@ GINZM )@@G@@ST OPSA,AGRA1,AGALST . STORE ADDRESS INTO ARGUMENT LIST @#@@@@ ZN )@@G@@ GFIN @F@@@@XGBMPL LABEL . FOLLOW POINTER TO NEXT ZO )@@G@@SD PARAMETER@^@@@@ LOAD X4,SGDPLS@F@@@@ LSDP X4,ELWNXTZP )@@G@@,X4 . X4 = A(NEXT ENTRY CHAIN ENTRY) @#@@@@XGBMP1 LABEL . @G@@@@ZQ )@@G@@ STORE X4,SGDPLS . SAVE ADDRESS OF NEXT PARAMETER LIST WORD ZR )@@G@@@#@@@@XGBMAL LABEL . @E@@@@ LOAD X2,1,I . INCREMENT AZS )@@G@@RG LIST POINTER @ @@@@ ADD X2,SGDFLD . @ @@@@ STOZT )@@G@@RE X2,SGDFLD . @ @@@@ LINK BCKPGC .@#@@@@ GETZU )@@G@@C . @A@@@@ AND A8,XGMSK1-LFDGE . @E@@@@ IF A9,ZV )@@G@@EQ,ACRBRK,I THEN,XGNFCN . END OF ARG LIST @H@@@@XGPRAR LABEL . ZW )@@G@@ GETC POINTS TO ACCOMA OR '(', X4 -> ENTRY CHAIN @ @@@@ LSDZX )@@G@@P X5,ELWSD,X4 .@E@@@@ STORE X5,SGDPSD . SAVE PARAM ZY )@@G@@SD ADDR @E@@@@ LINK XGETSD . FIND REP SD FOR AZZ )@@G@@RG @D@@@@ GOTO XGPA10 . -> AGGREGATE ARGUMENT @G@@@@AA )@@G@@ LMCP R,A10 . RESET GETC ROUTINE FOR SCALER ARGUMENT AB )@@G@@@D@@@@ LINK BCKPGC . BACK UP GETC ROUTINE @ @@@@ AC )@@G@@ LOAD X5,SGDPSD . @^@@@@ USING SDSECT,X5@G@@@@ IF AD )@@G@@ SDSTRU,ON,SDCLS4 THEN,XGPA01 . SCALAR ARG TO AGGRE PARAM @H@@@@ AE )@@G@@ IF SDARRY,OFF,SDCLS2 THEN,XGPA20 . -> SCALER ARG AND PARAMETER AF )@@G@@@A@@@@ . SCALAR ARG TO AGGREGATE PARAM @#@@@@XGPA01 LABEL . @ @@@@AG )@@G@@ LOAD X2,SGDFSD .@B@@@@ EXERR ERGPRG LEVEL,1 AH )@@G@@ . @D@@@@ . 'SCALER ARGUMENT SUPPLIED TO AGGREGATE PARAMETER' @ @@@@AI )@@G@@ . [SD6] SD5, 'OF',[SD1] SD2 .@E@@@@ LINK XGETAG . -> SEAJ )@@G@@T UP AGG STACK ENTRY @E@@@@ STORE X5,SGDXLS . USE PARM SDAK )@@G@@ AS REPRESENTATIVE@ @@@@ STORE X5,SGDXEL .@D@@@@ LINAL )@@G@@K SXGBC . CREATE META CODE POINTER @F@@@@ STORE A3,SGDFMCAM )@@G@@,X7 . SAVE IT IN COMPILE STACK @H@@@@ MOVE SGDXDV,SDAN )@@G@@A2BS-FH1 . USE PARM'S DV TEMPLATE FOR BOUNDS @F@@@@ LINAO )@@G@@K XGTMP0 . -> ALLOCATE AGGREGATE TEMPORARY @F@@@@ LOAAP )@@G@@DA X2,SGDFAL+DXGAXSLT . X2 -> ARG LIST =A(TEMP DV) @G@@@@ STOAQ )@@G@@RE X2,SGDXDV+FH1 . FORM AW TO REFERENCE TEMP DV @B@@@@ AR )@@G@@ MOVE SGDXDV+FH2,0,I . @F@@@@ GOTO XGPA13 .AS )@@G@@ -> MERGE WITH AGGREGATE PARAMETERS @B@@@@ . **SCALAR ARGUMENT TO SCALARAT )@@G@@ PARAMETER @#@@@@XGPA20 LABEL . @G@@@@ MOVE DXGSTT,XGSVAL*0AU )@@G@@1000+XGSUSC,I . STATE FOR SCALER ARGUMENT @B@@@@ MOVE DXGMSK,XGAV )@@G@@SCLR . @C@@@@ GETC . READ SD POINTER AW )@@G@@@C@@@@ GETC . READ WHAT FOLLOWS @E@@@@ ANDAX )@@G@@,U A8,0777000 . MASK OUT ANY FLAGS OR POINTER @F@@@@ IF A9,AY )@@G@@NE,ACNIL,I THEN,XGFRED . -> NO, POSSIBLE LHS @E@@@@ SET 040AZ )@@G@@0,ON,SGDID . MUST BE EXPRESSION @E@@@@XGFRED LABEL BA )@@G@@ . MERGE POINT WHEN FLAG NOT SET@^@@@@ SUB X1,1,I . @ @@@@BB )@@G@@ USING SDSECT,X5 .@E@@@@ LOAD A3,SDCLS0 . SEBC )@@G@@E IF ENTRY PARAMETER @^@@@@ AND,U A3,017 . @E@@@@ IF BD )@@G@@ A4,NE,SD0ENT,I THEN,XGNXT0 . -> NOT ENTRY @E@@@@ ADD X1,BE )@@G@@1,I . SKIP SD ALSO (2 GETC'S) @C@@@@ LINK XGPUSH BF )@@G@@ . GET STACK SPACE @ @@@@ USING SDSECT,X4 .@G@@@@ BG )@@G@@ IF SDBLUS,ON,SDCLS1 THEN,XGNTNM . -> USER DEFINED FUNCTION @B@@@@BH )@@G@@ . **PASSING BUILT IN FUNTION AS ARGUMENT @D@@@@ LOAD X2,SDBLACBI )@@G@@,X4 . OPERATOR CODE FOR BIF @D@@@@ LX,H1 X2,XGTBL2,X2 . X2 ABJ )@@G@@DDRESS OF BIF @ @@@@ LOAD F,SDBLAC,X5 @I@@@@ IF BK )@@G@@ F,EQ,ACATND-ACABS THEN,XGPA25 . -> BIF IS ATAND, OFFSET IS CORREC BL )@@G@@@F@@@@ LSDP X3,SDPLST,X5 . LOOK AT PARAMETERS OF ENTRY PARM BM )@@G@@@D@@@@ LSDP X6,W1H1,X3 . SD OF FIRST PARAMETER @^@@@@ BN )@@G@@ USING SDSECT,X6@I@@@@ IF SDRLCX,ON,SDCLS1 THEN,XGPA24 . ->BO )@@G@@ PARM REQUIRES 1 COMPLEX ARGUMEN @E@@@@ LOAD F,ELWNXT,X3 .BP )@@G@@ OFFSET TO NEXT PARM ENTRY @B@@@@ IF F,GE,0,I THEN,XGPA25 BQ )@@G@@. @G@@@@ LOADA X2,W1,X2 . SET OFFSET FOR ENTRY WITH 2 RBR )@@G@@EAL ARG @E@@@@XGPA24 LABEL . SET ENTRY FOR 1 COMPLEXBS )@@G@@ ARG @ @@@@ LOADA X2,W1,X2 .@F@@@@XGPA25 LABEL . BT )@@G@@ NORMAL OFFSET IS 1 REAL ARGUMENT @H@@@@ STORE X2,AGX0OFBU )@@G@@ . PUT OFFSET WHERE IGEN CAN GET IT @#@@@@ GENBV )@@G@@M @D@@@@ GGETT AGRL1,1 . GET TEMPORARY SPACE @F@@@@BW )@@G@@ GINST OPLA,AGRA3,AGXR0,U . COPY ADDCON INTO ARG WORD @G@@@@BX )@@G@@ GINST OPSA,AGRA3,AGRL1,H1 . STORE ROUTINE ADDRESS IN H1 BY )@@G@@@F@@@@ GINST OPSNA,AGRA3,AGRL2,XH2 . SET NEGATIVE FLAG FOR BIF BZ )@@G@@@#@@@@ GFIN @E@@@@ GOTO XGROBT . FREE TEMPORARCA )@@G@@IES BELOW THIS ONE@C@@@@ . ** USER DEFINED FUNCTION PASSED AS ARGUMEMT CB )@@G@@@#@@@@XGNTNM LABEL . @ @@@@ USING SDSECT,X5 .@C@@@@ CC )@@G@@ LOAD X2,SDA1BS,X4 . SET AW FOR PARM @G@@@@ IF SDPARM,ONCD )@@G@@,SDCLS2 THEN,XGLAAE . -> PARAMETER ENTRY NAME @F@@@@ LOAD X2,CE )@@G@@SDBKLK . FIND BLOCK WHERE FCN IS DECLARED @ @@@@ USING X2,CF )@@G@@SDSECT .@F@@@@ MOVE AGR10D,SDBSLD . SET UP AW FOR ENVIORNMECG )@@G@@NT POINTER @C@@@@ STORE X4,AGX0OF . FORM AW FOR SD @#@@@@CH )@@G@@ GENM @G@@@@ GGETT AGRL1,1 . TEMP WORD FCI )@@G@@OR SD AND ENVIORNMENT @F@@@@ GINST OPLA,AGRA1,AGXR0,XU . LOAD CJ )@@G@@ADDRESS OF ENTRY'S SD @ @@@@ GFSR AGRX5 .@F@@@@ CK )@@G@@ GINST OPSA,AGRA1,AGRL1,H1 . STORE IN H1 OF TEMP WORD @E@@@@ CL )@@G@@ GINST OPLA,AGRA3,AGXR10 . ENVIORNMENT POINTER@G@@@@ GINCM )@@G@@ST OPSA,AGRA3,AGRL1,XH2 . STORE ENVIORNMENT AR BASE IN H2 @#@@@@ CN )@@G@@ GFIN @F@@@@XGROBT LABEL . FREE TEMPORARIES BELOW CUCO )@@G@@RRENT ONE @G@@@@ LOAD A8,SGDFTP+DCGSLT,X7 . ADDRESS OF UNDECP )@@G@@RNEATH TEMPORARY @B@@@@ FTMP R,A8 . FREE THEM @G@@@@CQ )@@G@@ MOVE SGDFTP+DCGSLT,AGRL1 . SET LATEST TEMP FOR LATER FREEING CR )@@G@@@E@@@@ GOTO XGLAAG . -> ADD TO AGRUMENT LIST@B@@@@CS )@@G@@ . **AGGREGATE EXPRESSION AS ARGUMENT @#@@@@XGPA10 LABEL . @D@@@@CT )@@G@@ LOAD X5,SGDPSD+DXGAXSLT . PARAMETER SD @C@@@@ GETCU )@@G@@C . TEST CODE FOLLOWING SYMBOL @E@@@@ AND,U A8,0777000 . MACV )@@G@@SK OUT FLAGS AND POINTERS @D@@@@ LMCP R,A10 . RESET GCW )@@G@@AMMA-CODE POINTER @C@@@@ LINK BCKPGC . BACK UP GETC ROUTINE CX )@@G@@@H@@@@ IF A9,LT,ACEPON,I THEN,XGPA09 . -> OPERATOR AT LEVEL 0CY )@@G@@ AGG EXPR @E@@@@ . BRANCH BELOW IF THE CURRENT META CODE POINTS TO ONECZ )@@G@@ MORE @D@@@@ . THAN THE CURRENT POSITION OF THE GETC ROUTINE. @ @@@@DA )@@G@@ LINK BCKPGC .@C@@@@ GETC . LET'S LOOK AT THE PDB )@@G@@OINTER AGAIN@C@@@@ AND,U A8,0777 . GET THE OFFSET ALONE @F@@@@DC )@@G@@ IF A9,EQ,0,I THEN,XGPA04 . -> POSSIBLE CROSS SECTION @C@@@@DD )@@G@@XGPA09 LABEL . AGGREGATE EXPRESSION ARGUMENT @F@@@@ LINK XGTDE )@@G@@EMP . -> ALLOCATE AGGREGATE TEMPORARY @E@@@@XGPA13 LABEL DF )@@G@@ . ENTRY FROM SCALER ARGUMENT @E@@@@ LINK XGSAX DG )@@G@@ . -> PROCESS ARRAY EXPRESSION @E@@@@ LOAD X4,DXGXPR .DH )@@G@@ BASE OF AGG EXPR STACK ENTRY @D@@@@ LOAD X5,SGDPSD+DXGAXSLT,X4DI )@@G@@ . PARAMETER SD @E@@@@ LOADA A10,SGDFAL+DXGAXSLT,X4 . FORM AWDJ )@@G@@ FOR TEMP @C@@@@ LINK XGPUSH . GET STACK SPACE @G@@@@DK )@@G@@ STORE X5,SGDRSD,X7 . PUT SD POINTER INTO STACK ITEM DL )@@G@@@E@@@@ SLB A10,18 . A10 = AW FOR PARAMETER DV @H@@@@DM )@@G@@ MOVE DXGOPN,XGSVAG,I . COME BACK TO XGRVAG AFTER PROCEDN )@@G@@SSING @G@@@@ SUB X1,1,I . BACK UP META CODE POINTER ONEDO )@@G@@ POSITION @#@@@@ GETC . @D@@@@ GOTO XGOPNA .DP )@@G@@ -> FAKE SCAN OF TEMP SD@G@@@@XGRVAG LABEL . RETURN HEREDQ )@@G@@ AFTER SETTING UP TEMP LS @E@@@@ SET SGDCHR,OFF,SGDID DR )@@G@@ . TURN OFF CHECK FLAG@E@@@@ MOVE DXGOPN,XGSVR4 . RDS )@@G@@ESET TO AGGX STATE@G@@@@ LOAD F,SGDCLS+DCGSLT . TAKE 4 DT )@@G@@LOW BITS OF CLASS + @E@@@@ SRBD F,4 . MOVE BITS TDU )@@G@@O TOP STACK ENTRY @D@@@@ LOAD F,SGDCLS . THIS SIMULATES MVDV )@@G@@N @ @@@@ SLBD F,4 .@ @@@@ STORE F,SGDCLS DW )@@G@@ .@F@@@@ IF F,NE,SGDCLS+DCGSLT THEN,XGPCKL . CHECK FOR LADX )@@G@@BEL @G@@@@ LOAD F,SGDEPT . LOAD TO CHECK BOTH SCALE AND DY )@@G@@PRECISION @H@@@@ IF F,EQ,SGDEPT+DCGSLT THEN,XGPA16 . -> THEDZ )@@G@@Y'RE THE SAME, NO MSG @F@@@@XGPCKL LABEL . MERGE POINTEA )@@G@@ TO CHECK FOR LABEL @C@@@@ LOAD F,SGDID . GET TYPEB )@@G@@E @D@@@@ AND,U F,SD0LAB . SEE IF TYPE LABEL @F@@@@EC )@@G@@ IF A6,EQ,SD0LAB,I THEN,XGPA16 . A LABEL, SO NO CONVERSION@G@@@@ED )@@G@@ IF SGDEXP,ON THEN,XGPA16 . AN EXPRESSION REQUIRES NO MESSAGE EE )@@G@@@E@@@@ LOAD X4,DXGXPR . BASE OF AGGREGATE EXPRESSION @E@@@@EF )@@G@@ LOAD X2,SGDFSD+DXGAXSLT,X4 . ORIGINAL SD PARAMETER@E@@@@ EG )@@G@@ LOAD X5,SGDPSD+DXGAXSLT,X4 . ORIGINAL PARAMETER SD@ @@@@ USIEH )@@G@@NG SDSECT,X5 .@I@@@@ IF SDSTRU,OFF,SDCLS4 THEN,XGPA17 . -EI )@@G@@> NON-STRUCTURE, SD IS THE SAME @D@@@@ LOAD X5,SGDRSD .EJ )@@G@@ PARAMETER SD OF LEAF @ @@@@XGPA17 LABEL .@A@@@@ EK )@@G@@ EXERR ERCGNDCL LEVEL,1 . @D@@@@XGPA16 LABEL . ASSIGEL )@@G@@N ARG TO TEMP @A@@@@ GASGN SGDAID SGDAID+DCGSLT @E@@@@ EM )@@G@@ XGPOP 'SIZE',2*DCGSLT . CLEAR STACK ENTRIES@F@@@@ LINEN )@@G@@K XGEAX . -> SIGNAL END OF LEAF EXPRESSION @D@@@@ GOTEO )@@G@@O XGBMPL . -> ARGUMENT COMPLETED @D@@@@ . ** TEST FOR POSSIBLE EP )@@G@@OCCURANCE OF CROSS SECTION @F@@@@ . THESE 2 REGISTERS ARE THUSLY ONLYEQ )@@G@@ DURING THIS TEST ROUTINE @ @@@@ . X11 HOLDS A LOOP POINTER @A@@@@ER )@@G@@ . A2 SAVES ORIGINAL SD POINTER @#@@@@XGPA04 LABEL . @ @@@@ ES )@@G@@ LOAD A2,X5 .@E@@@@ GETC . LOOK AHEAD ET )@@G@@TO NEXT META-CODE @E@@@@ LOAD X6,A8 . X6 = SD POINTER EU )@@G@@TO ARGUMENT @F@@@@ LINK BCKPGC . RETURN GETC TO FORMER PEV )@@G@@OSITION @E@@@@ LINK XGPA08 . SKIP NORMAL LOOP INCREMEW )@@G@@ENT @E@@@@ LOAD X6,SDBROT,X6 . FOLLOW POINTER TO BROTHER SD EX )@@G@@@ @@@@XGPA08 LABEL .@ @@@@ USING SDSECT,A2 .EY )@@G@@@I@@@@ IF SDSTRU,OFF,SDCLS4 THEN,XGPA07 . -> BASE ELEMENT OF EZ )@@G@@STRUCTURE FOUN @F@@@@ LOAD X6,SDSON,X6 . FOLLOW SON POINTEFA )@@G@@R OF ARGUMENT @E@@@@ LOAD A2,SDSON,A2 . FIND SON SD IN PAFB )@@G@@RAMETER @G@@@@ GOTO XGPA08 . -> LOOP THRU SONS TO FIFC )@@G@@RST BASE ELEM @D@@@@XGPA07 LABEL . COMPARE CLS1 TYPEFD )@@G@@S @F@@@@ LOAD F,SDCLS1,X6 . USE WORD TO SIMULATE SDCLS1(XFE )@@G@@6) @H@@@@ IF F,NE,SDCLS1 THEN,XGPA09 . -> CONVERSION REQUIFF )@@G@@RED, CREATE DUMMY @ @@@@ USING SDSECT,X6 .@G@@@@ LOAFG )@@G@@D A3,SDCLS0,X6 . LOOK ONLY AT LABEL CLASS BITS @C@@@@ FH )@@G@@ AND,U A3,SD0LAB . MASK OUT OTHERS @H@@@@ IF A4,EQ,SD0FI )@@G@@LAB,I THEN,XGPA11 . -> SKIP REST OF TEST FOR LABEL @F@@@@ LOAFJ )@@G@@D F,SD2SP,A2 . COMPARE LENGTH-SCALE/PRECISION @F@@@@ IF FK )@@G@@ F,NE,SD2SP THEN,XGPA09 . -> CONVERSION REQUIRED @ @@@@XGPA11 LABFL )@@G@@EL .@F@@@@ LOAD X3,SDDAD,A2 . SAVE FATHER POINTFM )@@G@@ER IN PARAMETER @F@@@@ LOAD A2,SDBROT,A2 . FIND BROTHER IN PFN )@@G@@ARM SD STRUCTURE @E@@@@ IF A2,NE,0,I THEN,LJMP . -> TEST BROFO )@@G@@THER, ETC. @ @@@@ LOAD A2,X3 .@G@@@@ IF A2,FP )@@G@@EQ,0,I THEN,XGPA14 . -> ENTIRE STRUCTURE CHECKED, OK. @F@@@@ LOAFQ )@@G@@D X6,SDDAD,X6 . FIND FATHER SD IN ARG STRUCTURE @ @@@@ GOTFR )@@G@@O XGPA11 .@C@@@@ . **ARGUMENT AND PARAMETER IDENTICALLY DECLAREDFS )@@G@@@#@@@@XGPA14 LABEL @ @@@@ USING SDSECT,X6 .@F@@@@ FT )@@G@@ IF SDCHCK,OFF,SDCLS3 THEN,XGPA19 . -> NOT CHECKED @E@@@@ FU )@@G@@ XGPUSH 'SIZE',1 . MAKE ROOM FOR CHECK INFO @B@@@@ MOVFV )@@G@@E SGDAID,SGDAID+1,DXGFCHK2 . @ @@@@ USING WORD,X7 .@E@@@@FW )@@G@@ STORE A8,W1H1+DXGFCHK2 . SAVE SD POINTER @I@@@@ FX )@@G@@ MOVE W1H2+DXGFCHK2,0,I . INDICATE THIS IS NOT AN ARRAY REFERENFY )@@G@@CE @ @@@@XGPA19 LABEL .@D@@@@ LOAD F,SGDANS FZ )@@G@@ . NUMBER OF CONSTANT SUBS@E@@@@ LINK XGEA8C . -> POGA )@@G@@P AGG EXPR STACK ENTRY @F@@@@ IF F,EQ,0,I THEN,XGPA12 . -> FGB )@@G@@ULL ARRAY OR STRUCTURE @C@@@@ MOVE DXGSTT,XGSVAL*01000+XGSCSC,GC )@@G@@I . @B@@@@ MOVE DXGMSK,XGCRSE . @D@@@@ GOTGD )@@G@@O XGNXT0 . ->EVALUATE ARGUMENT @ @@@@XGPA12 LABEL GE )@@G@@ .@B@@@@ SUB X7,DCGSLT,I . PUSH STACK @ @@@@ USIGF )@@G@@NG SDSECT,X6 .@F@@@@ MOVE AGRL1,SDA1BS-FH1 . AW FOR GG )@@G@@ARRAY DOPE VECTOR @#@@@@ GETC . @ @@@@ LINK XGIGNR GH )@@G@@ .@G@@@@ GOTO XGLAA3 . -> MERGE WITH USER ARGUMENT PGI )@@G@@ROCESSING @C@@@@ . **END OF USER DEFINED FUNCTION ARGUMENT LIST @#@@@@GJ )@@G@@XGNFCN LABEL . @E@@@@ MOVE DXGSTT,SGDFSA . RESTORE XGEGK )@@G@@N STATE @C@@@@ MOVE DXGMSK,SGDFSM . RESTORE MASK @E@@@@GL )@@G@@ LOAD X5,SGDFSD . PICK UP ENTRY SDA DRESS@E@@@@ GM )@@G@@ XGPOP 'SIZE',DXGFSLT-DCGSLT . GET RID OF EXCESS @^@@@@ USIGN )@@G@@NG SDSECT,X5@#@@@@XGNFC1 LABEL . @F@@@@ LOAD A8,SGDTLV . FGO )@@G@@REE TEMPS USED IN FUNCTION CALL @^@@@@ FTMP R,A8 . @H@@@@GP )@@G@@ MOVE SGDALD,SGDFAT . RESET ARGUMENT LIST POINTER TO BOGQ )@@G@@TTOM @B@@@@ LOAD F,ARPRBG+ARFNRN+ARPRNM,I @G@@@@ IF GR )@@G@@ SDPARM,OFF,SDCLS2 THEN,XGNFC2 . REFERENCE TO ENTRY NAME @E@@@@ GS )@@G@@ SUB F,ARPRNM,I . SET FLAG FOR PARAMETER NAME @D@@@@ LOAGT )@@G@@DA X3,SDA1BS . AW FOR APRAMETER @]@@@@ GEN@F@@@@ GU )@@G@@ GINST OPLA,AGRA2,AGPTX3,U . LOAD ADDRESS OF PARAMETER@#@@@@XGNFC2GV )@@G@@ LABEL . @G@@@@ IF SDCHCK,OFF,SDCLS3 THEN,XGNWLB . -> ENTRGW )@@G@@Y NAME NOT CHECKED@F@@@@ ADD F,ARCHCK,I . ADD FLAG FORGX )@@G@@ CHECKED FUNCTION @#@@@@XGNWLB LABEL . @E@@@@ STORE F,SGDIAD GY )@@G@@ . SAVE FLAGS NEXT TO SD POINTER@ @@@@ SLB F,18 .GZ )@@G@@@ @@@@ ADD F,SGDRSD .@#@@@@ GENM @F@@@@ HA )@@G@@ GINST OPLA,AGRA1,AGARL1,U . LOAD ADDRESS OF ARGUMENT LIST@G@@@@ HB )@@G@@ GSUB EXNTRY . CALL SERVICE ROUTINE TO ENTER FUNCTION @F@@@@HC )@@G@@ GMRK AGARL1 . SAVE LOCATION OF FLAG BYTE FOR CGDR @ @@@@HD )@@G@@ GLITRG FLITRG .@#@@@@ GFIN . @D@@@@ LOAHE )@@G@@D F,W1U,X7 . WAS STACK ENTRY MOVED? @F@@@@ IF F,EQ,SGDIHF )@@G@@DS THEN,XGNFN4 . NO CHECKED ARGUMENTS @D@@@@ MOVE DXGWRK,SGHG )@@G@@DAID,4 . SAVE STACK ENTRY @F@@@@ LOAD X4,SGDIDS . X4 HH )@@G@@-> ORIGINAL POSITION OF ENTRY @#@@@@XGCHG5 LABEL . @A@@@@ LOAHI )@@G@@D A7,SGDISD,X4 . @D@@@@ IF A7,EQ,0,I THEN,XGCHG3 . NOT AHJ )@@G@@RRAG REF @F@@@@ STORE A7,AGXR10-AGRX0+(IN 63,H2,1,AGAW) . FORHK )@@G@@M AW FOR ADD@#@@@@ GENM @G@@@@ GINST OPLA,AGRA1,AGXHL )@@G@@R10 . LOAD ADDRESS OF CHECKED VARIABLE @E@@@@ GSUB ONCHKA HM )@@G@@ . CALL ROUTINE TO DO PRINTING @B@@@@ GGOTO XGCHG4 .HN )@@G@@ -> MERGE @#@@@@ GFIN . @#@@@@XGCHG3 LABEL . @#@@@@ HO )@@G@@ GENM @G@@@@ GSUB ONCHK . CALL ROUTINE TO PRINT CHP )@@G@@HECK VARIABLE @#@@@@XGCHG4 GLBL @#@@@@ GLITRG X4@#@@@@HQ )@@G@@ GFIN @^@@@@ SUB X5,1,I @^@@@@ LOAD F,XHR )@@G@@5 @^@@@@ USING WORD,X7 .@A@@@@ IF F,NE,W1U THEN,XHS )@@G@@GCHG5 @E@@@@ LOADXM X7,AGIM1 . RESET STACK POINTER HT )@@G@@@E@@@@ MOVE SGDAID,DXGWRK,4 . REFRESH STACK ENTRY @#@@@@HU )@@G@@XGNFN4 LABEL . @F@@@@ LOAD F,SDRTC . NUMBER OF BYHV )@@G@@TES USED BY ANSWER@B@@@@ SRB F,1 . TAKE HALF @D@@@@HW )@@G@@ ADD F,SGDRBS . ADD TO REAL PART @C@@@@ STOHX )@@G@@RE F,SGDIBS . FORM IMAG AW@^@@@@ GOTO XGEXPR @F@@@@HY )@@G@@XGPUSH LLOC . GET STACK ENTRY OF STANDARD SIZE @ @@@@HZ )@@G@@ XGPUSH .@#@@@@ LJMP . @C@@@@ . STACK ENTIA )@@G@@RY FOR AGGX HAS BEEN ESTABLISHED @ @@@@ . FUNCTION ENTRY IS BELOW IT IB )@@G@@@#@@@@XGTEMP LLOC . @F@@@@ LOAD X5,SGDPSD+DXGAXSLT . IC )@@G@@X5 = PARAMETER'S SD @F@@@@ STORE X5,SGDXLS . USE PARM SDID )@@G@@ TO DRIVE LENGTH COMP @ @@@@XGTMP0 LLOC .@D@@@@ IE )@@G@@ STORE X11,SGDAXR . SAVE RETURN ADDRESS @B@@@@ LOAD X6,IF )@@G@@SGDPLS+DXGAXSLT . @ @@@@ USING SDSECT,X5 .@E@@@@ IG )@@G@@ IF SDSTRU,ON,SDCLS4 THEN,XGTMP6 . -> STRUCTURE @ @@@@ LOAIH )@@G@@D X2,SDNDIM,X5 .@D@@@@ ADD X2,W1U+2,X2 . ARRAY DOPE VECTORII )@@G@@ SIZE @ @@@@ GOTO XGTMP7 .@D@@@@XGTMP6 LABEL IJ )@@G@@ . STRUCTURE MERGE POINT @E@@@@ LOAD X2,SDDVLG,X5 . SIZE IK )@@G@@OF STRUCTURE DOPE VECTOR@C@@@@XGTMP7 LABEL . ARRAY MERGEIL )@@G@@ POINT@C@@@@ STORE X2,SGDXTI . SET DV LENGTH @F@@@@ IM )@@G@@ LOAD X3,DXGXPR . X3 = BASE OF AGG EXPRESSION STACK @A@@@@ IN )@@G@@ USING ELWDST,X6 . @C@@@@ MOVE SGDXSD,ELWSD . PARAMIO )@@G@@ETER SD @F@@@@ LOAD A8,SDNSPS,X5 . NUMBER OF STRING LEAVES IP )@@G@@OF PARAMETER@F@@@@ IF A8,EQ,0,I THEN,XGTMP5 . -> NO STRING LIQ )@@G@@ENGTH LIST @E@@@@ GTMP R,A8 . POTENTIAL LIST OF LENGTIR )@@G@@HS @E@@@@ MOVE DXGSTT,XGSMXL*01000+XGSTP1,I . MAXL STATE IS )@@G@@@B@@@@ STORE A8,SGDXTC . SAVE OFFSET@E@@@@ LINK XGSIT )@@G@@DL1 . -> START SCAN OF PARAMETER SD@E@@@@XGTMP2 LABEL IU )@@G@@ . HERE WHEN LEAF IS FOUND X4 @ @@@@ USING SDSECT,X4 .IV )@@G@@@E@@@@ IF SDARST,OFF,SDCLS1 THEN,XGTMP4 . -> NOT STRING@D@@@@IW )@@G@@ LMCP SGDFMC,X7 . LOAD BETA CODE POINTER @F@@@@ GOTIX )@@G@@O XGNEXT . -> EVALUATE EXPRESSION IN MAXL MODE@G@@@@XGRTMP LABIY )@@G@@EL . RETURN HERE AFTER EVALUATING ARGUMENT @I@@@@ IZ )@@G@@ LOAD A2,SGDXTL+DCGSLT+FQ2,X7 . JA )@@G@@ C @D@@@@ AU,U A2,1 . MOVE TO NEXT LENGTH SLOT @B@@@@JB )@@G@@ STORE A3,SGDXTL+DCGSLT+FQ2,X7 . @A@@@@ ADD A2,SGDXTCJC )@@G@@+DCGSLT,X7 .@F@@@@ STORE A2,AGR10D . FORM AW FOR SLOT IN LENJD )@@G@@GTH LIST @#@@@@ GENM . @F@@@@ GIFR XGTP3R,AGRL1 .JE )@@G@@ ->LENGTH EXPRESSION IS IN REGISTER @F@@@@ GINST OPLA,AGRA3,AGRLJF )@@G@@1,H1 . MOVE LENGTH EXPRESSION@ @@@@ GSET AGRL1,AGRA3 . JG )@@G@@@D@@@@XGTP3R GLBL . LENGTH EXPRESSION IS IN REGISTER @G@@@@ JH )@@G@@ GINST OPSA,AGRL1,AGXR10 . STORE LENGTH INTO LENGTH LIST @ @@@@JI )@@G@@ GFIN 'POP' .@G@@@@ MOVE SGDXTL+FQ1,0777,I JJ )@@G@@ . FLAG THAT LENGTH VECTOR USED @ @@@@XGTMP4 LABEL .JK )@@G@@@D@@@@ LINK XGSDL2 . -> CONTINUE SCANNING SD@C@@@@ JL )@@G@@ GOTO XGTMP2 . -> ANOTHER LEAF @E@@@@XGTMP5 LABEL JM )@@G@@ . PREPARE FOR LITERAL GENERATION @F@@@@ LOAD A7,SGDXSW . LJN )@@G@@OAD SELECTOR BITS WORDENERATION @H@@@@ LOAD A8,SGDXTI-FH2 .JO )@@G@@ LOAD REPRESENTATIVE SD POINTER AND DV LENGTH @B@@@@ MOVE AGRJP )@@G@@10D,SGDXTC . @#@@@@ GENM . @G@@@@ GINST OPLJQ )@@G@@A,AGRA1,SGDXDV,U 'NO' . LOAD ADDRESS OF CONTROLLING DV@G@@@@ GBRJR )@@G@@ XGTP5S,07777,OFF,SGDTLV,Q1 . -> NO LENGTH LIST USED @H@@@@ JS )@@G@@ GINST OPLA,AGRA2,AGXR10,U 'NO' . LOAD ADDRESS OF STRING LENGTHS LISTJT )@@G@@@ @@@@XGTP5S GLBL .@E@@@@ GSUB EXTMP1 .JU )@@G@@ -> CALL TEMPORARY ALLOCATOR @A@@@@ GLITRG A7 . SBW JV )@@G@@@C@@@@ GLITRG A8 . LENGTH, SD PTR @I@@@@ GINJW )@@G@@ST OPSA,AGRA1,AGALST+DXGAXSLT . JX )@@G@@@G@@@@ GFIN . WHICH HAS JUST BEEN ALLOCATJY )@@G@@ED @D@@@@ MOVE SGDXDP,0,I . RESET AGG STACK ENTRY @ @@@@JZ )@@G@@ MOVE SGDXLS,SGDXEL .@E@@@@ LOAD A8,SGDXTC . STRINKA )@@G@@G LENGTH VECTOR OFFSET @B@@@@ IF A8,EQ,0,I THEN,XGTP81 . KB )@@G@@@B@@@@ FTMP R,A8 . FREE IT @E@@@@XGTP81 LABEL . KC )@@G@@ MERGE WHEN NO LENGTH LIST USED @D@@@@ LOAD X11,SGDAXKD )@@G@@R . GET RETURN ADDRESS @A@@@@ LJMP . -> RETURN TO CALLERKE )@@G@@@ @@@@ . **FIND REPRESENTATIVE SD @ @@@@ . F SBW SELECTOR BITS WORD KF )@@G@@@^@@@@ . X4 POINTS TO SD @A@@@@ . X6 COUNTS NUM OF DIMENSIONS KG )@@G@@@A@@@@ . X3 COUNTS NON-STAR SUBSCRIPTS @^@@@@ . F BIT MASK FOR SBW KH )@@G@@@D@@@@ . A10 SAVES GETC STATE H1 IS A1 MOD AND H2 IS X1 MOD@F@@@@XGETSDKI )@@G@@ LOCAL . ENTRY HERE ASSUMES A8 CONTAINS LAST GETC VALUE @D@@@@ KJ )@@G@@ LINK SXGBC . CREATE META CODE POINTER @A@@@@ STORE A3,KK )@@G@@A10 . SAVE IT@G@@@@ LINK BPTRDC . USE POINTER IN A8KL )@@G@@ TO RESET GETC ROUTINE @D@@@@ LOAD X4,A8 . X4 = REPRESEKM )@@G@@NTATIVE SD @^@@@@ GOTO $+2 . @#@@@@XGETD0 LOCAL . @F@@@@KN )@@G@@ LOAD X6,0777,I . CLEAR NUMBER OF DIMENSIONS COUNTER @B@@@@KO )@@G@@ LOAD F,0,I . CLEAR SBW @E@@@@ LOAD X3,0,I KP )@@G@@ . NUM OF NON-STAR SS'S = 0 @ @@@@ USING SDSECT,X4 .KQ )@@G@@@C@@@@ IF SDSTRU,ON,SDCLS4 THEN,XGETB1 @F@@@@ IF KR )@@G@@ SDARRY,OFF,SDCLS2 THEN,JMP1 . -> SCALER EXPRESSION @E@@@@ LOAKS )@@G@@D X6,SDNDIM . X6 = MAX NUM DIMS TO EXPECT @#@@@@XGETB1 LABEL . KT )@@G@@@F@@@@ GETC . LOOK AHEAD ONE META-CODE SYMBOL KU )@@G@@@ @@@@ SUB X1,1,I .@A@@@@ AND A8,XGMSK1-LFDGEKV )@@G@@ . @#@@@@ GETC . @G@@@@ IF A9,NE,ACLBRK,I THEN,XKW )@@G@@GETB9 . ARGUMENT LIST? -> NO,DONE @C@@@@ LOAD A7,XGMSK2 .KX )@@G@@ BIT MASK FOR SBW @C@@@@ GETC . SKIP SD POINTER KY )@@G@@@#@@@@XGETB4 LABEL . @^@@@@ LINK XGIGNR @B@@@@ IF KZ )@@G@@ A9,EQ,ACSTAR,I THEN,XGETB3 @F@@@@ OR F,A7 . SET BLA )@@G@@IT FOR NON/STAR SUBSCRIPT @B@@@@ LOAD F,A6 . LOAD NELB )@@G@@W SBW @E@@@@ ADD X3,1,I . COUNT NUMBER OF NON-STAR SS'SLC )@@G@@@#@@@@XGETB3 LABEL . @ @@@@ SRB A7,1 .@^@@@@ LD )@@G@@ LINK XGIGNR @F@@@@ IF A9,EQ,ACCOMA,I THEN,XGETB4 . -> ELE )@@G@@ND OF SUBSCRIPT @F@@@@ IF A9,NE,ACRBRK,I THEN,XGIGNR . SKIPLF )@@G@@ TO END OF SUB @ @@@@ LOAD A2,X6 .@B@@@@ IF LG )@@G@@ A2,EQ,X3 THEN,JMP1 . @#@@@@XGETB9 LABEL . @H@@@@ LINLH )@@G@@K XGETAG . -> ALLOCATE AGGREGATE EXPRESSION STACK ENTRY @E@@@@LI )@@G@@ STORE X4,SGDXLS . SET UP REPRESENTATIVE SD @ @@@@ LJ )@@G@@ STORE X4,SGDXEL .@B@@@@ STORE F,SGDXSW . SET SBW LK )@@G@@@D@@@@ STORE X3,SGDANS . SET NON-STAR SUBSCRIPT @E@@@@ LL )@@G@@ MOVE SGDXDV,SDA1BS-FH1 . AW FOR DV OF SD @E@@@@ STOLM )@@G@@RE A10,SGDFMC . START OF BETA-CODE EXPRESSION@G@@@@ JMP . -LN )@@G@@> RETURN TO CALLER INDICATING AGGREGATE EXPRESSION @#@@@@XGIGNR LLOLO )@@G@@C . @ @@@@ GETC .@G@@@@ AND A8,XGMSK1LP )@@G@@-LFDGE . MASK OUT UNWANTED BITS ****** @E@@@@ IF A9,LQ )@@G@@NE,ACLBRK,I THEN,LJMP . -> NOT (, RETURN @G@@@@ LOAD A6,-1,I LR )@@G@@ . RESET BRACKET COUNTER TO ZERO (-1) @#@@@@XGIGN1 LABEL . LS )@@G@@@E@@@@ ADD A6,1,I . ENTER NEXT NEXTING LEVEL @#@@@@LT )@@G@@XGIGN2 LABEL . @#@@@@ GETC @G@@@@ AND A8,XGMSK1LU )@@G@@-LFDGE . MASK OUT UNWANTED BITS ******* @B@@@@ IF A9,LV )@@G@@EQ,ACLBRK,I THEN,XGIGN1 @D@@@@ IF A9,NE,ACRBRK,I THEN,XGIGN2 LW )@@G@@. MOVE ON @E@@@@ LOOP A6,XGIGN2 . -> LEAVE ONE LEVEL OF NLX )@@G@@ESTING@G@@@@ GOTO XGIGNR . -> BACK TO LEVEL 0, CONTINUE LY )@@G@@LOOKING @#@@@@XGETAG LOCAL . @B@@@@ XGPUSH 'SIZE',DXGAXSLLZ )@@G@@T . @D@@@@ LOAD X2,DXGXPR . OUTER ARRAY EXPRESSION MA )@@G@@@E@@@@ STORE X2,SGDXNX . SAVE FOR LATE RESTORATION @H@@@@MB )@@G@@ STORE X7,DXGXPR . POINT TO THIS AGGREGATE EXPRESSION STACK MC )@@G@@ENTRY @A@@@@ JMP . -> RETURN TO CALLER@D@@@@XGRVR4 LABEL . MD )@@G@@ END OF LEAF EXPRESSION @I@@@@ LOAD X11,DXGXPR .ME )@@G@@ BASE OF CURRENT AGGREGATE EXPRESSION STACK ENTRY @C@@@@ LOAMF )@@G@@D X11,SGDAXR,X11 . RETURN ADDRESS@A@@@@ GOTO 0,X11 MG )@@G@@. @B@@@@/ . ** AGGREGATE EXPRESSION DRIVER ** @C@@@@ . X1 SCRATMH )@@G@@CH AND LOOP COUNTER (SAVED AT START)@E@@@@ . X2 SCRATCH, TEMP POINTER TMI )@@G@@O SD AND TALLY CELL COUNTER @#@@@@ . X3 SCRATCH @[@@@@ . X6@A@@@@MJ )@@G@@ . A7 HOLDS SELECTOR BITS WORD @A@@@@ . X4 TEMPORARY SGD STACK POIMK )@@G@@NTER @ @@@@ . X5 ADDRESS OF MASTER SD @A@@@@ . A10 AND X8 SCRATCH FML )@@G@@OR SHIFTING @F@@@@XGSAX LLOC . AGGREGATE EXPRESSION SEMM )@@G@@QUENCER @G@@@@ MOVE DXGSTT,XGSVAL*01000+XGSVR4,I . AGGREGATMN )@@G@@E EXPRESSION STATE@B@@@@ MOVE DXGMSK,XGACCX . @B@@@@MO )@@G@@XGSAX0 LABEL . ENTRY FROM SOME BIF'S @E@@@@ LOAD X4,DXGXPRMP )@@G@@ . X4 -> AGGREGATE STACK ENTRY @E@@@@ STORE X11,SGDAXR,X4 MQ )@@G@@ . SAVE RETURN ADDRESS@E@@@@ LOAD X5,SGDXLS,X4 . ADDR MR )@@G@@OF SD OF MASTER VARIABLE@E@@@@ USING SDSECT,X5 . COMPUTE MAXMS )@@G@@IMUM DIMENSIONS @E@@@@ IF SDSTRU,OFF,SDCLS4 THEN,XGSAXO . -MT )@@G@@> ARRAY @ @@@@ LOAD X3,SDMXDM,X5 .@B@@@@ GOTO XGSMU )@@G@@AX2 . -> MERGE @ @@@@XGSAXO LABEL .@E@@@@ MV )@@G@@ LOAD X3,SDNDIM,X5 . NUMBER OF ARRAY DIMENSIONS @G@@@@XGSAX2 LOCMW )@@G@@AL . SAVE RETURN ADDRESS FOR POSSIBLE LATER USE @H@@@@ MX )@@G@@ SUB X3,SGDANS,X4 . X3=MAXIMUM NUMBER OF VARYING SUBSCRIP MY )@@G@@@ @@@@ LOAD A8,W1U+1,X3 . @ @@@@ ADD A8,W1U,X3 . MZ )@@G@@@E@@@@ GTMP R,A8 . ALLOCATE TEMP FOR TALLY CELLS@E@@@@NA )@@G@@ STORE A8,SGDXTC,X4 . OFFSET FOR SUBROUTINE ADDRESS@A@@@@ NB )@@G@@ ADD A8,W1XU+1,X3 . @E@@@@ STORE A8,SGDXTI,X4 . OFFSENC )@@G@@T TO TALLY CELL INDICIES@C@@@@ . * TO NEXT ELEMENT IN AGGREGATE EXPRESSIND )@@G@@ON @#@@@@XGBAX4 LABEL . @ @@@@ USING SGDSCT,X4 .@F@@@@NE )@@G@@ TN SGDFMC-SGDAID,X4 . TEST BY-NAME FLAG ****** @E@@@@NF )@@G@@ GOTO XGBX4A . -> NOT IN BY-NAME EXPANSION @E@@@@ NG )@@G@@ LINK BCKPGC . RE-GETC CURRENT META-CODE @#@@@@ GETNH )@@G@@C . @B@@@@ IF A8,NE,X5 THEN,XGEAXA . @#@@@@ GETNI )@@G@@C . @A@@@@ AND A8,XGMSK1-LFDGE . @C@@@@ IF A9,NJ )@@G@@NE,ACSTXI,I THEN,XGBX4B . @C@@@@ GETC . SKIP TO START OF EXNK )@@G@@PRESSION @D@@@@ STORE X1,DXGXBS . SET EXPRESSION BASE NL )@@G@@@E@@@@ STORE X1,SGDFMC+FH2,X4 . SAVE LIST POINTER @F@@@@NM )@@G@@ LINK SXGBC . CREATE META CODE POINTER FOR LIST @E@@@@NN )@@G@@ STORE A3,SGDFMC,X4 . SAVE LIST POINTER @A@@@@ NO )@@G@@ STORE A1,SGDFMC+FH2,X4 .@C@@@@XGBX4B LABEL . SET BNP )@@G@@Y-NAME FLAG @B@@@@ SET 0400,ON,SGDFMC+FQ1 . @#@@@@XGBX4ANQ )@@G@@ LABEL . @G@@@@ LOAD X2,SDNDIM,X5 . NUMBER OF DIMENSIONS INNR )@@G@@ THIS ELEMENT @F@@@@ SUB X2,SGDANS . X2 = NUMBER OF VNS )@@G@@ARYING BOUNDS @G@@@@ STORE X2,SGDXNC . BECOMES CURRENT NNT )@@G@@UMBER OF DIMENSIONS @E@@@@ SUB X2,SGDXND . COMPUTE CHANU )@@G@@NGE FROM INHERITED@D@@@@ IF X2,ZERO THEN,XGBX01 . -> NO CHANGNV )@@G@@E @D@@@@ LOAD A7,SGDXSW . SELECTOR BITS WORD @F@@@@NW )@@G@@ LOAD X8,SGDXND . NUMBER OF INHERITED DIMENSIONS @B@@@@NX )@@G@@ LOAD A9,X8 . SAVE AND TEST@D@@@@ IF A9,EQ,0,I TNY )@@G@@HEN,XGBX4C . -> AT TOP LEVEL @E@@@@ ADD X8,SGDANS . ACCOUNZ )@@G@@NT FOR CONSTANT BOUNDS @ @@@@XGBX4C LABEL .@ @@@@ OA )@@G@@ LOAD X3,X8 .@G@@@@ ADD X3,W1XU+1,X8 . X3=OB )@@G@@OFFSET TO NEW BOUNDS PAIR - 2 @C@@@@ SLB A7,0,X8 . POSITOC )@@G@@ION SBW @H@@@@ IF SUBSCR,OFF,DCGONF THEN,XGBX1A . -> SUBSOD )@@G@@CRIPT RANGE DISABLED @C@@@@ LOADA F,R14ETY . FORM AW FOROE )@@G@@ TCV @ @@@@ MOVE AGR10D,SGDXTC .@E@@@@ GENM OF )@@G@@ . TC CHECK ROUTINE TO VECTOR @B@@@@ GINST OPLA,AGRA3,AGPTOG )@@G@@F,U 'NO' . @B@@@@ GINST OPSA,AGRA3,AGXR10 . @D@@@@ OH )@@G@@ GFIN . MOVE TALLY CHECK ADDRESS INTO VECTOR @#@@@@XGBX1A LABEL . OI )@@G@@@C@@@@ SUB X2,1,I . SET LOOP COUNTS @F@@@@ LOAOJ )@@G@@D A10,X2 . SAVE NUMBER OF NEW SUBSCRIPTS - 1 @F@@@@ MOVOK )@@G@@E AGTMP1+FH1,SGDXDV+FH1 . SET BASE FIELD FOR DV AR @F@@@@ ADDOL )@@G@@ X3,SDA1DP,X5 . OFFSET TO FIRST NEW BOUNDS IN DV @E@@@@ ADDOM )@@G@@ A9,SGDXTC,X4 . FIRST NEW TALLY CELL SLOT @#@@@@XGBAX2 LABEL . ON )@@G@@@C@@@@ ADD X3,2,I . TO NEXT SLOT IN DV @F@@@@ JNSOO )@@G@@ A7,XGBAX2 . -> CARRY = CONSTANT SUBSCRIPT, SKIP @D@@@@ ADDOP )@@G@@ A9,1,I . ADD NEW TALLY CELL @D@@@@ STORE A9,AGR10DOQ )@@G@@ . FORM TALLY CELL AW @E@@@@ STORE X3,AGTMP1+FH2 . OR )@@G@@ FORM AW FOR MASTER DV@C@@@@ GENM . COPY CHECR ROUTINE ADDRESOS )@@G@@S @F@@@@ GINST OPLA,AGRA3,AGTMP1 . PICK UP BOUNDS FM MASOT )@@G@@TER DV@G@@@@ GINST OPSA,AGRA3,AGXR10 . SET BOUNDS INTO TCV LOU )@@G@@OWER PART @#@@@@ GFIN . @F@@@@ LOOP X2,XGBAX2 .OV )@@G@@ -> REPEAT FOR EACH NEW * INDEX @G@@@@ LOAD X3,SGDXND,X4 . OW )@@G@@ NUMBER OF INHERITED DIMENSIONS @F@@@@ ADD X3,SGDXTIOX )@@G@@,X4 . OFFSET TO FIRST NEW * INDEX IN TCV @#@@@@XGBX2A LABEL . @C@@@@OY )@@G@@ SUB X7,1,I . -1 NW STACK ENTRY@E@@@@ STORE X3,OZ )@@G@@AGR10D . FORM AW FOR TALLY CELL BOUND @F@@@@ GEN . PA )@@G@@ CLEAR TALLY CELL INDEX OFFSET TO ZERO@H@@@@ GINST OPSZ,AGRXPB )@@G@@0,AGXR10 'NO' . 'AGRX0' USED AS PLACEHOLDER FOR IGEN @G@@@@ GMAPC )@@G@@RK SGDAID,X7 . . SET CURRENT LOCATION IN STACK FOR LOOP @D@@@@ PD )@@G@@ ADD X3,1,I . TO NEXT TALLY CELL @B@@@@ LOOP A10PE )@@G@@,XGBX2A . -> REPEAT @G@@@@ LOAD A2,DCGTLV . CHECK THE CPF )@@G@@OMPILE STACK FOR OVERFLOW @^@@@@ USING WORD,X7 .@D@@@@ PG )@@G@@ IF A2,GE,W1U THEN,XG2FUL . OVERFLOW, QUIT @#@@@@XGBX01 LABEL . PH )@@G@@@D@@@@ LMCP SGDFMC+FH2,X4 . RESET GETC ROUTINE @E@@@@ PI )@@G@@ LINK BCKPGC . MOVE GETC ROUTINE BACK ONE @ @@@@ USIPJ )@@G@@NG SDSECT,X5 .@G@@@@ IF SDSTRU,OFF,SDCLS4 THEN,XGBX03 . -PK )@@G@@> BASE ELEMENT FOUND @ @@@@ USING SGDSCT,X4 . @H@@@@ PL )@@G@@ MOVE SGDXND,SGDXNC . INHERIT CURRENT NUM OF DIMENSIONS PM )@@G@@@E@@@@ LOAD X5,SDSON,X5 . FOLLOW POINTER TO SON SD @D@@@@PN )@@G@@ STORE X5,SGDXEL,X4 . SAVE ADDRESS OF SD @D@@@@ GOTPO )@@G@@O XGBAX4 . -> TEST SON FOR SON @#@@@@XGBX03 LABEL . @D@@@@PP )@@G@@ LOAD A9,1,I . INCREMENT DEPTH COUNTER@ @@@@ ADDPQ )@@G@@ A9,SGDXDP,X4 .@ @@@@ STORE A9,SGDXDP,X4 .@E@@@@ MOVPR )@@G@@E DXGLHS,0,I . CLEAR LEFT HAND SIDE COUNTER@E@@@@ POP 1 .PS )@@G@@ DO NOT USE SAVED RETURN ADDRESS@F@@@@ GOTO XGNXT0 PT )@@G@@ . -> EVALUATE EXPR FOR NEW ELEMENT @A@@@@ . ** END OF AGGREGATE EPU )@@G@@XPRESSION **@#@@@@ . A9 SCRATCH @A@@@@ . A7 SCRATCH FOR COMPUTING OPV )@@G@@FFSET @ @@@@ USING SGDSCT,X4 .@#@@@@XGEAX LOCAL . @E@@@@PW )@@G@@ LOAD X4,DXGXPR . FIND AGG EXPR STACK ENTRY @E@@@@ PX )@@G@@ LOAD X2,SGDXNC,X4 . CURRENT NUMBER OF DIMENSIONS @F@@@@ TP PY )@@G@@ SGDFMC-SGDAID,X4 . TEST BY-NAME FLAG ******* @H@@@@ GETPZ )@@G@@C . POINT GETC TO NEXT LISTA SYLLABLE IF IN BY-NAME EXPRESSIO @#@@@@QA )@@G@@XGEAX5 LABEL . @G@@@@ SUB X2,SGDXND,X4 . FIND AGGREGATE EXQB )@@G@@PRESSION STACK ENTRY @A@@@@ . X2 = NUMBER OF DIMENSIONS ENDING@ @@@@QC )@@G@@ LOAD X3,SGDXNC,X4 .@ @@@@ LOADA A7,AGRX10 . @^@@@@QD )@@G@@ SLB A7,18 . @ @@@@ ADD A7,W1U,X3 . @F@@@@ QE )@@G@@ ADD A7,SGDXTC,X4 . OFFSET TO TALLY CELL UPPER BOUND @F@@@@ QF )@@G@@ ADD X3,SGDXTI,X4 . X3 = OFFSET TO TALLY CELL INDEX @G@@@@ QG )@@G@@ GOTO XGEAX9 . -> COMPUTE CHANGE FROM INHERITED DIMENSIONS@#@@@@QH )@@G@@XGEAX2 LABEL . @G@@@@ SUB X3,1,I . TO NEXT TALLY CELQI )@@G@@L INDEX (RIGHT-TO-LEFT) @C@@@@ STORE A7,AGTMP1 . SET BOUND AQJ )@@G@@W @D@@@@ STORE X3,AGR10D . PUT OFFSET INTO AW @#@@@@QK )@@G@@ GENM . @G@@@@ GINST OPLA,AGRA1,AGXR10 . GET CURRQL )@@G@@ENT TALLY CELL INDEX @F@@@@ GINST OPAU,AGRA1,1,I . INCQM )@@G@@REMENT TALLY CELL INDEX @G@@@@ GINST OPSA,AGRA2,AGXR10 . SETQN )@@G@@ INCREMENTED TALLY CELL INDEX @E@@@@ . FAKE 'AGRA1' WITH 'AGRR13' FOR USQO )@@G@@E AS AN INDEX REGISTER @H@@@@ GINST OPTLEM,AGRR13,AGTMP1,H1 . HQP )@@G@@AS UPPER BOUND ALREADY BEEN REACHED @F@@@@ GJUMP SGDAID .QQ )@@G@@ BRANCH TO INNER LOOP IF NOT HIGH @#@@@@ GFIN . @D@@@@ QR )@@G@@ ADD X7,1,I . POP ENTRY FROM STACK @D@@@@ SUB A7,QS )@@G@@1,I . TO NEXT BOUND IN LIST @H@@@@XGEAX9 LABEL . MQT )@@G@@ERGE TO PROCESS TCV'S ADDED MORE THAN INHERITED @E@@@@ LOOP X2,QU )@@G@@XGEAX2 . ->REPEAT FOR EACH TALLY CELL @#@@@@XGEAX1 LABEL . @E@@@@QV )@@G@@ LOAD X5,SGDXEL,X4 . SD OF ELEMENT JUST PROCESSED @E@@@@XGEAXAQW )@@G@@ LABEL . MERGE POINT FROM XGBAX4 (BY-NAME REJECTION)@ @@@@ USIQX )@@G@@NG SDSECT,X5 .@ @@@@ LOAD A3,X5 .@G@@@@ IF QY )@@G@@ A3,EQ,SGDXLS THEN,XGEAX7 . -> THIS IS THE LAST ELEMENT @D@@@@ QZ )@@G@@ LOAD A9,SDDAD,X5 . SAVE FATHER POINTER @E@@@@ LOAD X5,RA )@@G@@SDBROT,X5 . FOLLOW POINTER TO BROTHER @C@@@@ STORE X5,SGDXELRB )@@G@@,X4 . SAVE SD POINTER @E@@@@ IF X5,NZERO THEN,XGBAX4 . -> PRC )@@G@@ROCESS BROTHER @E@@@@ LOAD X5,A9 . FOLLOW POINTER TORD )@@G@@ FATHER @C@@@@ STORE X5,SGDXEL . SAVE SD POINTER @E@@@@RE )@@G@@ LOAD X2,SDNDIM . GET DIMENSIONALITY OF NEW ELEMENT@F@@@@ RF )@@G@@ SUB X2,SGDANS . X2 = NUMBER OF VARYING DIMENSIONS @E@@@@ RG )@@G@@ STORE X2,SGDXNC . CURRENT NUMBER OF DIMENSIONS @G@@@@ MOVRH )@@G@@E X3,0,I . 0 INHERITED DIMENSIONS IF AT LEVEL 0 @E@@@@ RI )@@G@@ IF A9,EQ,SGDXLS THEN,XGEAX6 . -> BACK TO LEVEL 0@B@@@@XGEAX3 LABRJ )@@G@@EL . FIND FATHER OF CURRENT SD@ @@@@ USING SDSECT,X5 .@ @@@@RK )@@G@@ LOAD X6,SDDAD,X5 .@F@@@@ LOAD X3,SDNDIM,X6 . HIS DRL )@@G@@IMENSIONS ARE NUMBER INHERITED@E@@@@ SUB X3,SGDANS,X4 . X3 =RM )@@G@@ NUM OF VARYING DIMS @ @@@@XGEAX6 LABEL .@F@@@@ RN )@@G@@ STORE X3,SGDXND,X4 . SET NUM OF INHERITED DIMENSIONS @B@@@@ RO )@@G@@ GOTO XGEAX5 . -> LOOP @#@@@@XGEAX7 LABEL . @ @@@@ RP )@@G@@ LOAD A8,SGDXTC .@E@@@@ FTMP R,A8 . FREE TALLY RQ )@@G@@CELL VECTOR (TCV) @#@@@@XGEAX8 LABEL . @ @@@@ USING SGDSCT,X7RR )@@G@@ .@ @@@@ LOAD X2,SGDXNX,X7 .@F@@@@ STORE X2,DXGXPRRS )@@G@@ . POP POINTER TO PREVIOUS AGG EXP STK@ @@@@ LOAD A3,SGDFMCRT )@@G@@ .@F@@@@ XGPOP 'SIZE',DXGAXSLT . POP AGG EXPR STACK RU )@@G@@ENTRY @H@@@@ JP A3,JMP . -> RETURN TO CALLER, NOT IN BRV )@@G@@Y-NAME ****** @ @@@@ LINK BCKPGC .@#@@@@ GETRW )@@G@@C . @#@@@@XGEA8A LABEL . @G@@@@ AND A8,XGMSK1-LFDGE . MASRX )@@G@@K OUT LOW ORDER BYTE ******* @B@@@@ GETC . SKIP TO NEXT RY )@@G@@SYLLABLE @I@@@@ IF A9,NE,ACBYNE,I THEN,XGEA8A . -> CONTINRZ )@@G@@UE TO LOOP TO END OF RETUSB )@@G@@RN TO CALLER@G@@@@XGEA8C LOCAL . ENTRY POINT TO XGEA8A FSC )@@G@@ROM BIF ROUTINES @ @@@@ GOTO XGEAX8 .@E@@@@XGEA8B LOCSD )@@G@@AL . PUT RETURN ADDRESS ON STACK @B@@@@ GETC . SSE )@@G@@KIP TO NEXT SYLLABLE @G@@@@ LINK SCGSBC . POINT TO ORSF )@@G@@GINAL POSITION OF BY-NAME @C@@@@ JMP . RETURSG )@@G@@N TO CALLER @^@@@@ . **ASSIGNMENT COMMA @#@@@@XGACMA LABEL . @ @@@@SH )@@G@@ USING SGDSCT,X7 . @I@@@@ LOAD A10,DCGSLT,I . LEFT SI )@@G@@HAND SIDES ARE COUNTED IN UNITS OF STACK ENT @F@@@@ . CHECK FSJ )@@G@@OR ...PA->,... TO ADJUST STACK SIZE COUNTER @C@@@@ IF SSK )@@G@@GDPTR,OFF,SGDID THEN,XGACMB @I@@@@ ADD A10,DCGSLT,I .SL )@@G@@ ADD IN ANOTHER STACK SIZE FOR EXPLICIT PTR @#@@@@XGACMB LABEL SM )@@G@@@ @@@@ ADD A10,DXGLHS .@F@@@@ STORE A10,DXGLHS . INSN )@@G@@CREMENT LEFT HAND SIDE SIZE COUNTER @^@@@@ GOTO XGLOOP .@A@@@@SO )@@G@@ . ** PROCESS END OF EXPRESSION @#@@@@XGENX0 LABEL . @ @@@@ SP )@@G@@ USING SGDSCT,X7 . @ @@@@ LINK XGSAX .@B@@@@ SQ )@@G@@ IF A1,EQ,KLCH2W THEN,XGENXA . @D@@@@ LOAD A8,W1H1,X1 . GSR )@@G@@ET THE CURRENT CODE @F@@@@ OR,U A8,2 . SET FLAG FOR SS )@@G@@AGGREGATE EXPRESSION @E@@@@ STORE A9,W1H1,X1 . RESTORE META-ST )@@G@@CODE WITH FLAG @^@@@@ GOTO XGENDX @G@@@@XGENXA LABEL . SU )@@G@@ CURRENT META CODE IS IN H2 OF PREVIOUS WORD@D@@@@ SUBSV )@@G@@ X1,1,I . BACK UP WORD POINTER @D@@@@ LOAD A8,W1H2,XSW )@@G@@1 . GET THE CURRENT META CODE@B@@@@ OR,U A8,2 . SET FLASX )@@G@@G @C@@@@ STORE A9,W1H2,*X1 . RESTORE META-CODE @#@@@@XGRSNGSY )@@G@@ LABEL . @#@@@@XGRFLL LABEL . @#@@@@XGENDX LABEL . @C@@@@ SZ )@@G@@ JNB A8,XGENX1 . -> NOT IN I/O LIST @H@@@@ IF 012,OFF,STA )@@G@@GDID THEN,XGENX3 . PSEUDO VARIABLE? , NO CALL I/O @E@@@@ LINTB )@@G@@K XGPUSH . GET STACK ENTRY FOR TEMP @E@@@@ . $ MOVE SGDRTC )@@G@@SD,PLCSDARC-TVDSECT,I . SET SD PTR FIELD @H@@@@. IF 9,ON,SGDITD )@@G@@D+DCGSLT THEN,XGENX4 . -> COMPLEX PSEUDO VARIABLE @B@@@@ . *STRING OTE )@@G@@R UNSPECIFIED PSEUDO VARIABLE @#@@@@ GENM @#@@@@ GLITF )@@G@@T 3 @ @@@@ LOAD A1,256,I . @^@@@@ LOAD A7,80,I TG )@@G@@@^@@@@ STORE A7,0,X4 @ @@@@ GGETGR AGARL1 'X' . @A@@@@TH )@@G@@ GINST OPLX,AGARL1,AGRA1 . @#@@@@ GFIN @ @@@@ TI )@@G@@ LOADA X2,AGARL1 . @^@@@@ STORE X2,SGDRBS@E@@@@ MOVTJ )@@G@@E SGDAID+FH1,SD0STR*01000+SDARST++SDFXVR,I . @^@@@@ LINK PLGTK )@@G@@IOL . @F@@@@ MOVE AGRL1,AGSTK . TEMP IS IN STACK (SO AS TO POP TL )@@G@@IT) @ @@@@XGENX5 LABEL .@B@@@@ GASGN SGDAID+DCTM )@@G@@GSLT R,X7 . @ @@@@ XGPOP .@ @@@@ GOTTN )@@G@@O XGENX6 .@D@@@@XGENX4 LABEL . COMPLEX PSEUDO-VARITO )@@G@@ABLE @ @@@@. LOAD A8,2,I . @^@@@@. GTMP R,A8 . TP )@@G@@@A@@@@. STORE A8,SGDRDS,X7 . @ @@@@. LOAD A8,2,I TQ )@@G@@. @^@@@@. GTMP R,A8 . @A@@@@. STORE A8,SGDIDS,X7 TR )@@G@@. @A@@@@. LOAD X2,AGRX10+FH1 . @A@@@@. STORE XTS )@@G@@2,SGDRBS,X7 . @A@@@@. STORE X2,SGDIBS,X7 . @A@@@@. TT )@@G@@ MOVE SGDAID,XGCON4 . @E@@@@. LINK PLGIOL . -> LITU )@@G@@NK TO I/O PROCESSOR @A@@@@. LOAD A6,AGXR10+FH1 . @D@@@@TV )@@G@@. STORE A6,SGDRBS,X7 . MAKE TEMPS FREEABLE @A@@@@. STW )@@G@@TORE A6,SGDIBS,X7 . @ @@@@. GOTO XGENX5 . @#@@@@XGENX3TX )@@G@@ LABEL . @^@@@@ LINK PLGIOL . @#@@@@XGENX6 LABEL . @#@@@@TY )@@G@@ XGPOP @#@@@@XGENX1 LABEL . @E@@@@ LINK BCKPGC TZ )@@G@@ . RE-GETC CURRENT META-CODE @#@@@@ GETC . @G@@@@ UA )@@G@@ IF 02,OFF,A8 THEN,XGEND . -> NOT IN AGGREGATE EXPRESSION @G@@@@UB )@@G@@ LINK XGEAX . -> TRY FOR END OF AGGREGATE EXPRESSION UC )@@G@@@^@@@@ GOTO XGEND @ @@@@. ** START BY-NAME EXPRESSION @#@@@@UD )@@G@@XGSBNX LABEL . @F@@@@ GETC . MOVE TO NEXT GAMMA CODE - A POIUE )@@G@@NTER TO @E@@@@ LINK SCGSBC . MOVE GETC ROUTINEUF )@@G@@ TO POINTER @A@@@@ AND A8,XGMSK1-LFDGE . @F@@@@ LOAUG )@@G@@DA X11,XGEND . PREPARE TO CANCEL XGEN IF NO LISTA @G@@@@ IF UH )@@G@@ A9,EQ,ACBYNE,I THEN,XGEA8B . -> NULL BY NAME EXPRESSION @F@@@@ UI )@@G@@ LOAD X4,A8 . LOAD REPRESENTATIVE SD POINTER @C@@@@ UJ )@@G@@ LINK SXGBC . SAVE GETC STATE @^@@@@ STORE A3,A10 . UK )@@G@@@E@@@@ LOR A10,XGMSK2 . MASK FOR BY-NAME EXPRESSION @#@@@@UL )@@G@@XGSBN2 LABEL . @D@@@@ LOAD X3,A8 . PICK UP LEAF SD PUM )@@G@@OINTER@B@@@@ GETC . SKIP TO FIRST EXPRESSION @A@@@@ ANDUN )@@G@@ A8,XGMSK1-LFDGE . @C@@@@ IF A9,NE,ACSTXI,I THEN,XGSBN2 UO )@@G@@. @F@@@@ LINK XGIGNR . -> SKIP TO NEXT LEVEL 0 SYMBOUP )@@G@@L @G@@@@ IF A8,NE,X3 THEN,XGIGNR . -> LOOK AGAIN FOR LEAFUQ )@@G@@ VARIABLE @D@@@@ LINK XGETD0 . -> DETERMINE SBW, ETC. UR )@@G@@@F@@@@ LMCP R,A10 . RESET GETC FOR BY-NAME EXPRESSION US )@@G@@@B@@@@ LINK BCKPGC . BACK UP GETC @^@@@@ GOTO XGEUT )@@G@@NX0 . @A@@@@ . **START EXPRESSION SYLLABLE (IO) @#@@@@XGSEX1 LABEL . UU )@@G@@@E@@@@ STORE X1,DXGXBS . SET BASE FOR THIS EXPRESSION @E@@@@UV )@@G@@ GETC . SKIP TO DESCRIPTOR HALFWORD @D@@@@ UW )@@G@@ LINK XGETSD . -> FIND REPRESENTATIVE SD@D@@@@ GOTO XGEUX )@@G@@NX0 . -> AGGREGATE EXPRESSION@H@@@@ LMCP R,A10 . RUY )@@G@@ESET META-CODE POINTER FOR BY-NAME EXPRESSION @E@@@@ GOTO XGNUZ )@@G@@EXT . -> PROCESS SCALER EXPRESSION @ @@@@ . *START EXPRESSION SYLVA )@@G@@LABLE @#@@@@XGSEXP LABEL . @E@@@@ SUB X1,1,I . GO BACKVB )@@G@@ TO FIND BASE ADDRESS @#@@@@ GETC . @E@@@@ STORE X1,VC )@@G@@DXGXBS . SET EXPRESSION BASE ADDRESS @#@@@@ GETC . @^@@@@VD )@@G@@ GOTO XGNXT0 @E@@@@ END . EXPRESSION GEVE )@@G@@NERATION DRIVER ___LOAD A10,DCGSLT,I . LEFT HAND SIDES ARE COUNTED IVF )@@G@@N UNITS OF STACK ENT @F@@@@ . CHECK F*[S@@[*SDFF*+@@@@@@C@]@[VG )@@G@@. COPYRIGHT 1975 BY UNIVERSITY OF MARYLAND +@@@@[@F@@@] 0)^@)CTJE[TVH )@@G@@ELDC9CE))AC9A85^[]FC)E(IDDQC(METDE-T^[JC0)D([ELTD-[D1^+@@@@@@[@]@[. VI )@@G@@+@@@@[@[@@@] 0)^@)+@@@@@@D@]@[. QUESTIONS CONCERNING THIS SHOULD BE DIVJ )@@G@@RECTED TO: +@@@@[@H@@@] 0)^@)EDPC(NE-DD9IES)CTJD1#C(MD1DD1B^[OD[DES)ETCVK )@@G@@D9PD-^^[]C*)C-DEL CTOC(^^[OD8'+@@@@@@[@]@[. +@@@@[@[@@@] 0)^@)+@@@@@VL )@@G@@@ @]@[. MARVIN V. ZELKOWITZ +@@@@[@B@@@] 0)^@)^@)^@)^[HCDME1DD0)VM )@@G@@E0,^[UC(GDTJE9DE-U+@@@@@@B@]@[. DEPARTMENT OF COMPUTER SCIENCE VN )@@G@@+@@@@[@E@@@] 0)^@)^@)^@)^[^C(KCDME-HC(IE))D9A^[#D9HE[PE- EK)ET#DD D1#C*)VO )@@G@@+@@@@@@A@]@[. UNIVERSITY OF MARYLAND +@@@@[@C@@@] 0)^@)^@)^@)VP )@@G@@^[PD1DE1 ELNDDOFC)D9A^[HCDMFDGCDIC))+@@@@@@B@]@[. COLLEGE PARK, MVQ )@@G@@ARYLAND 20742 +@@@@[@E@@@] 0)^@)^@)^@)^[#D9GD- C9 ^[KCDMDS?^[HCDMFDGVR )@@G@@CDIC))AK0A84AK)^@)+@@@@@@[@]@[. +@@@@[@[@@@] 0)^@)+@@@@@@G@]@[. VS )@@G@@ PERMISSION TO USE THESE LISTINGS AND THE COMPUTER PROGRAMS THEY+@@@@[VT )@@G@@@M@@@] 0)^@)^@)^@)^[KC(MD(DETNDDJD0)E-J^[PET ^[OD[ ET ^[GDDNE-DD1BES)CDIVU )@@G@@C))E-CC*)CTJD(KE(OC(M^[KELJC9MCDHES)E-CC(T+@@@@@@E@]@[. REPRESENT IS GVV )@@G@@RANTED UNDER THE FOLLOWING CONDITIONS: +@@@@[@I@@@] 0)^@)EL E[MC(NC(IVW )@@G@@E))DDN^[BEL[D1OC(^^[PD1^C(M^[OD[ ^[AD9GD-JE9DD1B^[#D9IC-DE-DD9IES'+@@@@@VX )@@G@@@[@]@[. +@@@@[@[@@@] 0)^@)+@@@@@@G@]@[. 1. UNLIMITED USE MAY VY )@@G@@BE MADE OF THE PROGRAMS REPRESENTED BY +@@@@[@L@@@] 0)^@)^@)^@)^@1 0)VZ )@@G@@E(ID-DD(DE- C))E(NC*)D([FC)CL ^[HCD^C*)D9A^[OD[ ^[KELJC9MCDHES)EL E[MC(NWA )@@G@@C(IE- C))CLT+@@@@@@G@]@[. THESE LISTINGS PROVIDED THAT THE NAME PLUM OWB )@@G@@R UNIVERSITY OF MARYLAND+@@@@[@M@@@] 0)^@)E-CC(NC*)D-DETODDIC9N^[KELJE1DWC )@@G@@C- C))E-CCDO^[OD[ ^[ICDHC*)E[GE(H^[JEK)E(IDDQC(METDE-T^[JC0)D([ELTD-[D1^WD )@@G@@+@@@@@@E@]@[. PL/1 COMPILER REMAINS ASSOCIATED WITH THESE PROGRAMS. WE )@@G@@+@@@@[@J@@@] 0)^@)E[G 81^[#D9HE[DD- EK)EL D([DDIES)CDNETJCTDCDOC(^^[RDDOWF )@@G@@D@)E-CC(NC*)E[MD9BEL[D(N 0)^@)+@@@@@@[@]@[. +@@@@[@[@@@] 0)^@)+@@@@@WG )@@G@@@F@]@[. 2. MODIFICATIONS MAY BE MADE TO THE LISTINGS PROVIDED: WH )@@G@@+@@@@[@K@@@] 0)^@)^@)^@)^@2 0)D(JC-DC1DCT[E-DD9IES)D([FC)CL ^[HCD^C*)E-JWI )@@G@@^[OD[ ^[GDDNE-DD1BES)E[MD9QDD^C(^BK)+@@@@@@[@]@[. +@@@@[@[@@@] 0)^@)WJ )@@G@@+@@@@@@G@]@[. (A) ANY RESULTING PROGRAM, OR REPORT, PAPER OR DOCUWK )@@G@@MENTATION +@@@@[@M@@@] 0)^@)^@)^@)^@*CC(^[[D1T^[MC(NE(GE-DD1B^[KELJC9MWL )@@G@@CDH ))D9M^[MC(KD9ME)?^[KCDKC(M^[JEK)C-JCTPD( D1OCDODDJD0)^@)+@@@@@@G@]@[WM )@@G@@. DESCRIBING SUCH PROGRAM WILL CLEARLY INDICATE THAT THE PROGRAM WN )@@G@@+@@@@[@M@@@] 0)^@)^@)^@)^[^C(NCTMDD]DDIC8)ETPCTC^[KELJC9MCDH^[RDDGD))CTGWO )@@G@@C([ELGFC)DDIC-DCT[E- ^[OD[[E))E-CC*)E[MD9BEL[D*)+@@@@@@E@]@[. IS WP )@@G@@A DIALECT OF PLUM OR IS DERIVED FROM PLUM, AND +@@@@[@J@@@] 0)^@)^@)^@)WQ )@@G@@^[DES)CC)C-DCDGC(#E))D9A^[KD-PD*)D9M^[DES)C- ELDE1 C))C1MD9H^[KD-PD*?^[[WR )@@G@@D1^^@)+@@@@@@[@]@[. +@@@@[@[@@@] 0)^@)+@@@@@@G@]@[. (B) ALL SWS )@@G@@UCH MODIFICATIONS, OTHER THAN TRIVIAL CORRECTIONS +@@@@[@L@@@] 0)^@)WT )@@G@@^@)^@)^@*CK(^[[D-G^[NE(#D@)D(JC-DC1DCT[E-DD9IES?^[JE-CC(M^[OD[[D0)E-MDDQWU )@@G@@DD[D))CTJELMC(#E-DD9IES)+@@@@@@F@]@[. OF ERRORS IN THE SOURCE PROWV )@@G@@GRAMS, SHALL BE REPORTED AND +@@@@[@K@@@] 0)^@)^@)^@)^[JC0)C(MELJELN^[DWW )@@G@@D0)E-CC*)ETJE(MCT ^[KELJC9MCDHES?^[ND[[D-G^[]C*)EL E[JELOC(^^[[D1^+@@@@@WX )@@G@@@G@]@[. A BRIEF DESCRIPTION OF THE FEATURE ADDED SHALL BE SUBMITTWY )@@G@@ED +@@@@[@L@@@] 0)^@)^@)^@)^[[^[]ELDC(A^[^C(NCTMDDKE-DD9I^[JC0)E-CC*)WZ )@@G@@C1 CDOE(MC*)CD^C- C))ETCCDGD))CL ^[NE(]D(DE-OC(^+@@@@@@C@]@[. TO XA )@@G@@THE UNIVERSITY OF MARYLAND, AND +@@@@[@F@@@] 0)^@)^@)^@)^[OD8)E-CC*)XB )@@G@@E(IDDQC(METDE-T^[JC0)D([ELTD-[D1^ ))CDIC))+@@@@@@[@]@[. +@@@@[@[@@@]XC )@@G@@ 0)^@)+@@@@@@F@]@[. (C) NO PROGRAMS DERIVED FROM THESE LISTINGS SXD )@@G@@HALL BE SOLD+@@@@[@L@@@] 0)^@)^@)^@)^@*CS(^[ID8)E[MD9BEL[D(N^[^C(MDDQC(^XE )@@G@@^[AELJD*)E-CC(NC*)D-DETODDIC9N^[ND[[D-G^[]C*)ETJD-^^@)+@@@@@@G@]@[. XF )@@G@@ WITHOUT WRITTEN APPROVAL FROM THE UNIVERSITY OF MARYLAND, AND +@@@@[XG )@@G@@@M@@@] 0)^@)^@)^@)^[RDDOD[JE(O^[RELDE-OC(I^[[E[KELJE1[D))C1MD9H^[OD[ ^[PXH )@@G@@D1DE1 ELNDDOFC)D9A^[HCDMFDGCDIC)?^[[D1^^@)+@@@@@@[@]@[. +@@@@[@[@@@]XI )@@G@@ 0)^@)+@@@@@@F@]@[. (D) COPIES OF THESE PROGRAMS MAY BE TRANSMITTXJ )@@G@@ED TO OTHER +@@@@[@L@@@] 0)^@)^@)^@)^@*C)(^[#D9KDD ES)D9A^[OD[ ET ^[KELJXK )@@G@@C9MCDHES)D([FC)CL ^[OEL[D1ND(DE-OC(^^[OD8)D9OD[ EK)^@)+@@@@@@G@]@[. XL )@@G@@ LOCATIONS PROVIDED THAT SUCH TRANSMITTALS CLEARLY INDICATE +@@@@[XM )@@G@@@L@@@] 0)^@)^@)^@)^[GD9#CDODDJD1N^[KELJE1DC- C))E-CCDO^[NE(#D@)E-MCDIETHXN )@@G@@DDOE-[D-N^[#D- CDMD-T^[DD1^DD#CDOC*)+@@@@@@G@]@[. WHETHER THE PROXO )@@G@@GRAMS ARE EXACT COPIES OF THE UNIVERSITY OF +@@@@[@L@@@] 0)^@)^@)^@)XP )@@G@@^[RD[ E-CC(M^[OD[ ^[KELJC9MCDHES)CDMC*)C(SCD#E))CTJE[DC(N^[JC0)E-CC*)E(IXQ )@@G@@DDQC(METDE-T^[JC0)+@@@@@@E@]@[. MARYLAND PLUM COMPILER OR ARE MODXR )@@G@@IFICATIONS TO IT. +@@@@[@J@@@] 0)^@)^@)^@)^[HCDMFDGCDIC))E[GE(H^[#D9HE[DXS )@@G@@D- EK)D9M^[[EL ^[HD9^DDADD#CDODDJD1N^[OD8)DDO 0)+@@@@@@[@]@[. +@@@@[XT )@@G@@@[@@@] 0)^@)+@@@@@@G@]@[. 3. THESE CONDITIONS ONLY APPLY TO THE PXU )@@G@@LUM COMPILER ITSELF, +@@@@[@L@@@] 0)^@)^@)^@)^@3 0)E-CC(NC*)CTJD1^DDOXV )@@G@@DDJD1N^[JD1GFC)CDKE[GFC)E-J^[OD[ ^[KD-PD*)CTJD(KDDGC(M^[DE-NC(GC0?+@@@@@XW )@@G@@@F@]@[. AND ARE NOT MEANT TO APPLY TO ANY PROGRAM WRITTEN USING PLUM. XX )@@G@@+@@@@[@L@@@] 0)^@)CDIC))CDMC*)D1JE))D( CDIE))E-J^[[E[KD-T^[OD8)CDIFC)E[MXY )@@G@@D9BEL[D*)E9MDDOE- D0)E(NDDIC8)E[GE(H 0)^@)+@@@@@@E@]@[. THE PURPOSE OFXZ )@@G@@ THESE CONDITIONS IS TO ALLOW ANY USER TO +@@@@[@J@@@] 0)^@)E-CC*)E[PELKYA )@@G@@D9NC*)D9A^[OD[ ET ^[#D9IC-DE-DD9IES)DDN^[OD8)CDGD-JE8)CDIFC)E(NC(M^[OD8)YB )@@G@@+@@@@@@F@]@[. EXPERIMENT WITH THE COMPILER AS LONG AS THE RESULTING PRYC )@@G@@ODUCT +@@@@[@L@@@] 0)^@)C(SE[ ELDD( D1O^[RDDOD@)E-CC*)CTJD(KDDGC(M^[[ES)YD )@@G@@D-JD1B^[[ES)E-CC*)EL ETPD-ODDIC8)E[MD9^E(#E))^@)+@@@@@@G@]@[. IS NOT SYE )@@G@@OLD AND AS LONG AS IT IS KNOWN THAT THE PRODUCT DEVELOPED +@@@@[@M@@@]YF )@@G@@ 0)^@)DDN^[ID9O^[ND9GC))CDIC))CDN^[GD9IC8)CDN^[DE))DDN^[FD1JE9I^[OD[[E))YG )@@G@@E-CC*)E[MD9^E(#E))C- E1 D-JE[ C))^@)+@@@@@@#@]@[. FROM PLUM. +@@@@[YH )@@G@@@^@@@] 0)^@)C1MD9H^[KD-PD*,^@)+@@@@@@[@]@[. +@@@@[@[@@@] 0)^@)+@@@@@YI )@@G@@@[@]@[. +@@@@[@[@@@] 0)^@)+@@@@@@[@]@[. +@@@@[@[@@@] 0)^@)+@@@@@YJ )@@G@@@[@]@[. +@@@@[@[@@@] 0)^@)+@@@@@@[@]@[. +@@@@[@[@@@] 0)^@)+@@@@@YK )@@G@@@[@]@[/. +@@@@[@[@@@] 8,^@)+@@@@@@A@]@[MSG* PROC *1 . NUMBERYL )@@G@@,WORDS+@@@@[@D@@@]D(NC8%^@)^@)^[KELJCS)^@%AC) 0)^@)^@)D1PD(]C(M -RD9MC-NYM )@@G@@+@@@@@@ @]@[ZM*(MSG(1,1)) EQU 6*($-PART1) +@@@@[@C@^@]FLH K*D(NC8*AC?AC(YN )@@G@@ C)C(LE*)A0% @= (KCDME)1 C)^@)@C@@@^FLH K*D(NC8*AC?AC( C)C(LE*)A)% @= (KYO )@@G@@CDME)1 C)^@)+@@@@@@ @]@[ZX*(MSG(1,1)) EQU MSG(1,2) +@@@@[@B@@@]FLS K*YP )@@G@@D(NC8*AC?AC( C)C(LE*)^@)D(NC8*AC?AK(+@@@@@@#@]@[ END . +@@@@[YQ )@@G@@@^@@@]^@)^@)^@)^@)^[ D1^^@,^@)+@@@@@@#@]@[PT2* PROC . +@@@@[@^@@@]YR )@@G@@E[OAK%^@)^@)^[KELJCS) 0)+@@@@@@^@]@[FM FORM 6,12,6,12+@@@@[@A@@@]YS )@@G@@C1H^@)^@)^@)^[AD9MD*)^@6 )1AK?A0?AC2+@@@@@@G@]@[K DO PT2(1,1) YT )@@G@@, FM +ZX(2*K-2),ZM(2*K-2),ZX(2*K-1),ZM(2*K-1) +@@@@[@M@@@]DS)^@)^@)^@)YU )@@G@@^[^D8)^@)^[KE)2 @1 )1 C) ))C1H^@:FLS @2 LF *2 C?FLH @2 LF *2 C?FLS @2 LFYV )@@G@@ *1 C?FLH @2 LF *1 C)^@)+@@@@@@#@]@[ END . +@@@@[@^@@@]^@)^@)YW )@@G@@^@)^@)^[ D1^^@,^@)+@@@@@@#@]@[ AXR$ +@@@@[@^@@@]^@)^@)^@)^@)YX )@@G@@^[[F[M^))^@)+@@@@@@#@]@[ DCLRG +@@@@[@^@@@]^@)^@)^@)^@)^[^CTGYY )@@G@@ELB^@)+@@@@@@#@]@[MSGS CSECT 3 +@@@@[@^@@@]D(NC9N^@)^@)^[#ET CTO^@3YZ )@@G@@+@@@@@@#@]@[MSG01* LABEL . +@@@@[@^@@@]D(NC82AC%^@)^[GCD]C(G^@,+@@@@@ZA )@@G@@@^@]@[ +PART2,PART1 . +@@@@[@A@@@]^@)^@)^@)^@)^@:E[[ELOAK?E[[ELOZB )@@G@@AC) 0)+@@@@@@#@]@[PART1 LABEL . +@@@@[@^@@@]E[[ELOAC)^@)D-[CL D)) 0)ZC )@@G@@@ @@@]^@)^@)^@)^@)^[!IT$^@)A@?AS)^@)@B@@@]^@$ET\IL2JC-^[IH94^[(H(0H->H(>ZD )@@G@@H14G(=^@$^@)@ @@@]^@)^@)^@)^@)^[!IT$^@)A)?AS)^@)@ @@@]^@$E-\H8)H(5GT*^[\ZE )@@G@@I(4I[5I))^8)@ @@@ ^@)^@)^@)^@)^[!IT$^@)^@8AK?BC)@I@@@ ^@$ET0G(G))ZF )@@G@@H90G(2GD,G-3^[!GD9^[,H94^[+G*)I(3G(=^[7HD4H@)H90G(2GD4H92^[@C0)^8)@ @@@ ZG )@@G@@^@)^@)^@)^@)^[!IT$^@)^@8AS?AC0@I@@@ ^@$E(,GD2JC)H90G(2GD4H92^[@C1=H9>IS)ZH )@@G@@H1\I))H(-I-IL-H1=^@$@ @@@ ^@)^@)^@)^@)^[!IT$ZI )@@G@@^@)^@8A)?BC)@J@@@ ^@$D90G(2GD,G-3^[&H92^[\I[>IL-I-\IK)C[AGD2G*)H9&^[(H1G))^8)^@)@ @@@]^@)^@)^@)^@)^[!IT$^@8B@?ZL )@@G@@AK)^@)@^@@@]^@$E-9I[>^[>IL2H92^@$^@)@ @@@]^@)^@)^@)^@)^[!IT$^@8BC?AK)^@)ZM )@@G@@@ @@@]^@$D90G(2GD,G))G(2IL\IK)^8)^@)@ @@@]^@)^@)^@)^@)^[!IT$^@9A@?A0)^@)ZN )@@G@@@H@@@]^@$CD2IL-JC)H92^[3I-2I(^[>J[0IL>IT3HD\H0)H1\I))HD!I[?G(!G(,ZO )@@G@@I->G))^8)^@)@ @@@]^@)^@)^@)^@)^[!IT$^@9AC?AS)^@)@A@@@]^@$CT\H(0HD?G(2^[>ZP )@@G@@IL2H92 0)ET D([^@$@ @@@]^@)^@)^@)^@)^[!IT$^@9AK?A))^@)@C@@@]^@$DD,I1-H-(ZQ )@@G@@G))H15H(+G(2^[\G0)GD2G95H(>H14IS)^8)@ @@@]^@)^@)^@)^@)^[!IT$^@9AS?A*)^@)ZR )@@G@@@E@@@]^@$DD,I1-H-(G))I-\HT>H0,^[NC(HCC)GT\H(0HD?G(2^[>IL2H92^@$^@)@ @@@]ZS )@@G@@^@)^@)^@)^@)^[!IT$^@9A)?AS)^@)@A@@@]^@$ET D([^[4GD+H->^[\I1>IL&H-\I8)^8)ZT )@@G@@@ @@@]^@)^@)^@)^@)^[!IT$^@9A*?AK)^@)@ @@@]^@)^@)^@)^@)^[!IT$^@1A@6 )2^@)ZU )@@G@@@ @@@]^@)^@)^@)^@)^[!IT$^@1A@7 )2^@)@ @@@]^@)^@)^@)^@)^[!IT$^@1A@8 )2^@)ZV )@@G@@@ @@@]^@)^@)^@)^@)^[!IT$^@1A@9 )2^@)@ @@@]^@)^@)^@)^@)^[!IT$^@1AC0 )2^@)ZW )@@G@@@ @@@]^@)^@)^@)^@)^[!IT$^@1AC1 )2^@)@ @@@]^@)^@)^@)^@)^[!IT$^@)AC1AK?AK)ZX )@@G@@@ @@@]^@)^@)^@)^@)^[!IT$^@1AC3 )2^@)@ @@@]^@)^@)^@)^@)^[!IT$^@1AC4 )2^@)ZY )@@G@@@ @@@]^@$DD,I1-H-(G))H(>IT3GD$G*)^8)@ @@@]^@)^@)^@)^@)^[!IT$^@9A0?A*)^@)ZZ )@@G@@@D@@@]^@$F-QI(3G(=^[&H92^[(H16GD?HD=^[>J[0IL>IT3HD\H0)^8)^@)@ @@@]^@)^@)AA )@@G@@^@)^@)^[!IT$^@9A8?AK)^@)@B@@@]^@$E(,HD!I[?G(!G(,I->G))G1>GD4I(2G*)^8)^@)AB )@@G@@@ @@@]^@)^@)^@)^@)^[!IT$^@9B@?A))^@)@ @@@]^@$F-PI(3G(=^[-IS)GD2IL-JC)^8)AC )@@G@@@ @@@]^@)^@)^@)^@)^[!IT$^@9BC?BC)^@)@I@@@]^@$D1\I))I[2H90G(2^[,I(!GL>IK)AD )@@G@@H9&^[-IL$I(!G(,I-3^[\IK)IT5GL3GT2HD0I-3^[&H92^[WE*)^8)@ @@@]^@)^@)^@)^@)AE )@@G@@^[!IT$^@1A@0 )3^@)@B@@@]^@$DD?H->G9-H))GT\H(0H->J@)GT\H(0GD2G*)^8)@ @@@]AF )@@G@@^@)^@)^@)^@)^[!IT$^@1A@1 )4^@)@B@@@]^@$ET4IL5GT4I(2G(3^[=H8)H1\I))H(-I-H13HD\H13^[=H8)AH )@@G@@H1\I))H(-I-H14^@$^@)@F@@@#^@$CD3AJ )@@G@@IT(G9,HD,G8)GD,^[-IL2GD9^[4H8)GC)ITI->IK)F-P^@$@B@@@#^@$DD,I1-H-(G))I[-IL-H(>I->IK)G1\IK)AM )@@G@@F-P^@$@ @@@]^@)^@)^@)^@)^[!IT$^@1AC5 )2^@)@A@@@]^@$DD,I1-H-(G))IT5GL3GT2AN )@@G@@HD0I))^8)^@)@ @#@]^@)^@)^@)^@)^[!IT$^@1AC6 )7^@)@ @@@#^@)^@)^@)^@)^[!IT$AO )@@G@@^@1AC6 )9^@)@D@#@]^@$F-PHD3^[5IT>G))GD3^[-^[0IT>I(=H8)I1-IL(GD+H->^@$^@)AP )@@G@@@H@@@#^@$CL5HD?I-(H0)G15H1GT(G1(G(=^[-IS)I[\HD,I->IK)I1-IL(GD+H->^@$^@)@ @@@]^@)^@)^@)^@)^[!IT$AS )@@G@@^@1AC8 )7^@)@D@@@]^@$F-PHD3^[-H(+HD$I(\I(3 0)D9,G*)GD4^[YE-5IT>G))^8)^@)AT )@@G@@@ @@@]^@)^@)^@)^@)^[!IT$^@1AC9 )3^@)@B@@@]^@$ET5GL3GT2HD0I->G))H--GL>H))AU )@@G@@G(2IL\IK)^8)@ @@@]^@)^@)^@)^@)^[!IT$^@1AK0 )5^@)@C@@@]^@$D9,H-9^[\H1>^[0AV )@@G@@H9(H14G(2^[0G(2^[\I[>IL-H1=^@$@ @@@]^@)^@)^@)^@)^[!IT$^@1AK1 )7^@)@D@@@]AW )@@G@@^@$F-AHD3^[5IT>G))GD3^[-^[+GD3G(=^[6GD2HD-GL?G*)^8)^@)+@@@@@@#@]@[ AX )@@G@@ MSG 0,2@#@]@[ MSG 5,2@#@]@[ MSG 6,2@#@]@[ AY )@@G@@ MSG 7,2@#@]@[ 'NOT ASSIGNED ' @#@]@[ MSG 1,3@^@]@[ 'INVAAZ )@@G@@LID OPTION @C ' @#@]@[ MSG 2,3@^@]@[ 'TOO MANY MESSAGES ' BA )@@G@@@#@]@[ MSG 3,2@]@]@[ 'IO ERROR '@#@]@[ MSG 4,3@^@]@[BB )@@G@@ 'TOO MUCH OUTPUT ' @#@]@[PART2 LABEL . +@@@@[@^@@@]E[[ELOAK)^@)BC )@@G@@^[GCD]C(G^@,+@@@@@@#@]@[ PT2 4 .+@@@@[@ @@@]^@)^@)^@)^@)^[KE)2BD )@@G@@^@)^@6AC) 0)+@@@@@@#@]@[ END . +@@@@[@^@@@]^@)^@)^@)^@)^[ D1^BE )@@G@@^@,^@)___@@@@[@]@[. +@@@@[@[@@@] 0)^@)+@@@@@@[@]@[. +@@@@[@[@@@]BF )@@G@@ 0)^@)+@@@@@@[@]@[. +@@@@[@[@@@] 0)^@)+@@@@@@[@]@[. +@@@@[@[@@@]BG )@@G@@*[S@@[*SDFF*@G@@@J 0)^@)CTJE[TELDC9CE))AC9A86^[]FC)E-CC*)E(IDDQC(METDE-TBH )@@G@@^[JC0)D([ELTD-[D1^@[@@@J 0)^@)@H@@@J 0)^@)EDPC(NE-DD9IES)CTJD1#C(MD1DD1BBI )@@G@@^[OD[DES)ETCD9PD-^^[]C*)C-DEL CTOC(^^[OD8'@[@@@J 0)^@)@B@@@J 0)^@)^@)^@)BJ )@@G@@^[HCDME1DD0)E0,^[UC(GDTJE9DE-U@E@@@J 0)^@)^@)^@)^[^C(KCDME-HC(IE))D9A^[#BK )@@G@@D9HE[PE- EK)ET#DD D1#C*)@C@@@J 0)^@)^@)^@)^[PD1DE1 ELNDDOFC)D9A^[HCDMFDGBL )@@G@@CDIC))@E@@@J 0)^@)^@)^@)^[#D9GD- C9 ^[KCDMDS?^[HCDMFDGCDIC))AK0A84AK)^@)BM )@@G@@@[@@@J 0)^@)@M@@@J 0)^@)^@)^@)^[KC(MD(DETNDDJD0)E-J^[PET ^[OD[ ET ^[GDDNBN )@@G@@E-DD1BES)CDIC))E-CC*)CTJD(KE(OC(M^[KELJC9MCDHES)E-CC(T@I@@@J 0)^@)EL E[MBO )@@G@@C(NC(IE))DDN^[BEL[D1OC(^^[PD1^C(M^[OD[ ^[AD9GD-JE9DD1B^[#D9IC-DE-DD9IES'BP )@@G@@@[@@@J 0)^@)@L@@@J 0)^@)^@)^@)^@1 0)E(ID-DD(DE- C))E(NC*)D([FC)CL ^[HCD^BQ )@@G@@C*)D9A^[OD[ ^[KELJC9MCDHES)EL E[MC(NC(IE- C))CLT@M@@@J 0)^@)E-CC(NC*)D-DBR )@@G@@ETODDIC9N^[KELJE1DC- C))E-CCDO^[OD[ ^[ICDHC*)E[GE(H^[JEK)E(IDDQC(METDE-TBS )@@G@@^[JC0)D([ELTD-[D1^@J@@@J 0)^@)E[G 81^[#D9HE[DD- EK)EL D([DDIES)CDNETJCTDBT )@@G@@CDOC(^^[RDDOD@)E-CC(NC*)E[MD9BEL[D(N 0)^@)@[@@@J 0)^@)@K@@@J 0)^@)^@)^@)BU )@@G@@^@2 0)D(JC-DC1DCT[E-DD9IES)D([FC)CL ^[HCD^C*)E-J^[OD[ ^[GDDNE-DD1BES)E[MBV )@@G@@D9QDD^C(^BK)@[@@@J 0)^@)@M@@@J 0)^@)^@)^@)^@*CC(^[[D1T^[MC(NE(GE-DD1B^[KBW )@@G@@ELJC9MCDH ))D9M^[MC(KD9ME)?^[KCDKC(M^[JEK)C-JCTPD( D1OCDODDJD0)^@)@M@@@JBX )@@G@@ 0)^@)^@)^@)^[^C(NCTMDD]DDIC8)ETPCTC^[KELJC9MCDH^[RDDGD))CTGC([ELGFC)DDIBY )@@G@@C-DCT[E- ^[OD[[E))E-CC*)E[MD9BEL[D*)@J@@@J 0)^@)^@)^@)^[DES)CC)C-DCDGC(#BZ )@@G@@E))D9A^[KD-PD*)D9M^[DES)C- ELDE1 C))C1MD9H^[KD-PD*?^[[D1^^@)@[@@@J 0)^@)CA )@@G@@@L@@@J 0)^@)^@)^@)^@*CK(^[[D-G^[NE(#D@)D(JC-DC1DCT[E-DD9IES?^[JE-CC(M^[OCB )@@G@@D[[D0)E-MDDQDD[D))CTJELMC(#E-DD9IES)@K@@@J 0)^@)^@)^@)^[JC0)C(MELJELN^[DCC )@@G@@D0)E-CC*)ETJE(MCT ^[KELJC9MCDHES?^[ND[[D-G^[]C*)EL E[JELOC(^^[[D1^@L@@@JCD )@@G@@ 0)^@)^@)^@)^[[^[]ELDC(A^[^C(NCTMDDKE-DD9I^[JC0)E-CC*)C1 CDOE(MC*)CD^C- CE )@@G@@C))ETCCDGD))CL ^[NE(]D(DE-OC(^@F@@@J 0)^@)^@)^@)^[OD8)E-CC*)E(IDDQC(METDCF )@@G@@E-T^[JC0)D([ELTD-[D1^ ))CDIC))@[@@@J 0)^@)@L@@@J 0)^@)^@)^@)^@*CS(^[ID8)CG )@@G@@E[MD9BEL[D(N^[^C(MDDQC(^^[AELJD*)E-CC(NC*)D-DETODDIC9N^[ND[[D-G^[]C*)ETJCH )@@G@@D-^^@)@M@@@J 0)^@)^@)^@)^[RDDOD[JE(O^[RELDE-OC(I^[[E[KELJE1[D))C1MD9H^[OCI )@@G@@D[ ^[PD1DE1 ELNDDOFC)D9A^[HCDMFDGCDIC)?^[[D1^^@)@[@@@J 0)^@)@L@@@J 0)^@)CJ )@@G@@^@)^@)^@*C)(^[#D9KDD ES)D9A^[OD[ ET ^[KELJC9MCDHES)D([FC)CL ^[OEL[D1ND(DCK )@@G@@E-OC(^^[OD8)D9OD[ EK)^@)@L@@@J 0)^@)^@)^@)^[GD9#CDODDJD1N^[KELJE1DC- C))CL )@@G@@E-CCDO^[NE(#D@)E-MCDIETHDDOE-[D-N^[#D- CDMD-T^[DD1^DD#CDOC*)@L@@@J 0)^@)CM )@@G@@^@)^@)^[RD[ E-CC(M^[OD[ ^[KELJC9MCDHES)CDMC*)C(SCD#E))CTJE[DC(N^[JC0)E-CCN )@@G@@C*)E(IDDQC(METDE-T^[JC0)@J@@@J 0)^@)^@)^@)^[HCDMFDGCDIC))E[GE(H^[#D9HE[DCO )@@G@@D- EK)D9M^[[EL ^[HD9^DDADD#CDODDJD1N^[OD8)DDO 0)@[@@@J 0)^@)@L@@@J 0)^@)CP )@@G@@^@)^@)^@3 0)E-CC(NC*)CTJD1^DDODDJD1N^[JD1GFC)CDKE[GFC)E-J^[OD[ ^[KD-PD*)CQ )@@G@@CTJD(KDDGC(M^[DE-NC(GC0?@L@@@J 0)^@)CDIC))CDMC*)D1JE))D( CDIE))E-J^[[E[KCR )@@G@@D-T^[OD8)CDIFC)E[MD9BEL[D*)E9MDDOE- D0)E(NDDIC8)E[GE(H 0)^@)@J@@@J 0)^@)CS )@@G@@E-CC*)E[PELKD9NC*)D9A^[OD[ ET ^[#D9IC-DE-DD9IES)DDN^[OD8)CDGD-JE8)CDIFC)CT )@@G@@E(NC(M^[OD8)@L@@@J 0)^@)C(SE[ ELDD( D1O^[RDDOD@)E-CC*)CTJD(KDDGC(M^[[ES)CU )@@G@@D-JD1B^[[ES)E-CC*)EL ETPD-ODDIC8)E[MD9^E(#E))^@)@M@@@J 0)^@)DDN^[ID9O^[NCV )@@G@@D9GC))CDIC))CDN^[GD9IC8)CDN^[DE))DDN^[FD1JE9I^[OD[[E))E-CC*)E[MD9^E(#E))CW )@@G@@C- E1 D-JE[ C))^@)@^@@@J 0)^@)C1MD9H^[KD-PD*,^@)@[@@@J 0)^@)@[@@@J 0)^@)CX )@@G@@@[@@@J 0)^@)@[@@@J 0)^@)@[@@@J 0)^@)@[@@@J 8,^@)@ @@@ID(NC8%^@)^@)^[KELJCY )@@G@@CS)^@%AC) 0)@C@@@IFLH K*D(NC8*AC?AC( C)C(LE*)A)% @= (KCDME)1 C) 0)@C@@@ICZ )@@G@@FLS K*D(NC8*AC?AC( C)^[ EDP^[HETB @1 )2 C) 0)^@)@^@@@I^@)^@)^@)^@)^[ D1^DA )@@G@@^@,^@)@^@@@IE[OAK%^@)^@)^[KELJCS) 0)@B@@@IC1H^@)^@)^@)^[AD9MD*)A0?AC2 )6DB )@@G@@ )1AK) 0)^@)@M@@@IDS)^@)^@)^@)^[^D8)^@)^[KE)2 @1 )1 C) ))C1H^@:FLS @2 LFDC )@@G@@ *2 C?FLH @2 LF *2 C?FLS @2 LF *1 C?FLH @2 LF *1 C) 0)@^@@@I^@)^@)^@)^@)DD )@@G@@^[ D1^^@,^@)@^@@@I^@)^@)^@)^@)^[[F[M^)) 0)@^@@@I^@)^@)^@)^@)^[^CTGELB^@,DE )@@G@@@ @@@ID(NC9N^@)^@)^[#ET CTO^@3^@,^@)@ @@@ID(NC84AC%^@)^@)^[GCD]C(G^@,^@)DF )@@G@@@A@@@I^@)^@)^@)^@)^@:E[[ELOAK?E[[ELOAC) 0)@^@@@IE[[ELOAC)^@)^[GCD]C(G^@,DG )@@G@@@ @@@I^@)^@)^@)^@)^[HETB^@)^@0 )4^@,@A@@@I^@)^@)^@)^@)^[HETB^@)^@4A0?A))DH )@@G@@ 0)^@)@D@@@I^@$ET\IL2JC-^[AG(-I-5IL>^[,H94^[(H(0H->H(>H14G(=^@$^@,@ @@@JDI )@@G@@^@)^@)^@)^@)^[HETB^@8AS?AK)^@)@ @@@J^@)^@)^@)^@)^[HETB^@9AC?AK)^@)@^@@@JDJ )@@G@@^@$D1\I))GD3IT(G9,G(=^@$@A@J@I^@)^@)^@)^@)^[HETB^@)^@5AK?A*) 0)^@)@D@J@IDK )@@G@@^@$E-\H8)H(-H19^[&HD?G(3 0)ET9IT0IL(H14^[5IT>G))^8) 0)@ @J@I^@)^@)^@)^@)DL )@@G@@^[HETB^@)^@1 )2^@,@ @@@J^@)^@)^@)^@)^[HETB^@)^@1 )7^@,@B@@@J^@$B-#CDGD))DM )@@G@@F-ACDO^[YE(AELJD*)F1QB0)^8) 0)@ @J@I^@)^@)^@)^@)^[HETB^@)^@2 )2^@,@ @@@JDN )@@G@@^@)^@)^@)^@)^[HETB^@)^@2 )8^@,@D@@@J^@$B), 0, 1MC(OE(MD0)E-J^[WC1[E))F1QDO )@@G@@C1MD9H^[YE*"^@$^@,@ @J@I^@)^@)^@)^@)^[HETB^@)^@5 )2^@,@ @J@I^@)^@)^@)^@)DP )@@G@@^[HETB^@)^@6 )2^@,@ @J@I^@)^@)^@)^@)^[HETB^@)^@7 )2^@,@A@J@I^@)^@)^@)^@)DQ )@@G@@^[HETB^@)^@1AS?AK) 0)^@)@A@J@I^@)^@)^@)^@)^[HETB^@)^@1A0?AK) 0)^@)@A@J@IDR )@@G@@^@)^@)^@)^@)^[HETB^@)^@4A*?AK) 0)^@)@A@J@I^@)^@)^@)^@)^[HETB^@)^@1A@3 )2DS )@@G@@^@,^@)@ @J@I^@$D1\I))GD3IT(G9,G(=^@$^@,^@)@ @@@I^@)^@)^@)^@)^[HETB^@)^@3DT )@@G@@ )2^@,@^@@@I^@$DC\D8)G(2IL\IK)^8) 0)@ @@@I^@)^@)^@)^@)^[HETB^@)^@4 )2^@,DU )@@G@@@ @@@I^@$D(-J[(H(5H*)H95I-0I(4^@$^@,@ @@@J^@)^@)^@)^@)^[HETB^@)^@5 )3^@,DV )@@G@@@A@@@J^@$F-PIL>GT\IL=^[\I1>IL&H-\I8)^8) 0)@ @@@J^@)^@)^@)^@)^[HETB^@)^@6DW )@@G@@ )6^@,@D@@@J^@$C1(H->^[WE((IS)DT FD C),^[FC(T @0 C)I(3G(=^@$^@,^@)@ @@@JDX )@@G@@^@)^@)^@)^@)^[HETB^@)^@7 )6^@,@D@@@J^@$C1(H->^[WE(,H94^[FC(TC(^ 0)DT FC)DY )@@G@@HD$H1\IL>G))^8) 0)@ @@@I^@)^@)^@)^@)^[HETB^@)^@8 )5^@,@C@@@I^@$A00^[+HD4DZ )@@G@@IS)I(3G(=^[&H92^[,I(!GL>IK)^8) 0)^@)@ @@@I^@)^@)^@)^@)^[HETB^@)^@9 )5^@,EA )@@G@@@C@@@I^@$AC7^[=HD$HD4IS)I(3G(=^[&H92^[,I(!GL>IK)^8) 0)@A@@@I^@)^@)^@)^@)EB )@@G@@^[HETB^@)^@1A@?A)) 0)^@)@B@@@I^@$D15H(+G(2^[\I(4^[\G0)IL-H1$G*)^8) 0)^@)EC )@@G@@@A@@@I^@)^@)^@)^@)^[HETB^@)^@1AC?AS) 0)^@)@ @@@I^@$D1-H(>^[4H9\^[?H9,G8)ED )@@G@@^8) 0)@A@@@I^@)^@)^@)^@)^[HETB^@)^@1AK?AK) 0)^@)@ @@@I^@$DD?H->G9-H))IT9EE )@@G@@H(+H9?^@$^@,@A@@@J^@)^@)^@)^@)^[HETB^@)^@1AS?A0) 0)^@)@E@@@J^@$EL CTJEL^EF )@@G@@^[&HD?G*)I(3G(=^[&H92^[NE-MC([D*)DC\D8)^8) 0)^@)@A@@@I^@)^@)^@)^@)^[HETBEG )@@G@@^@)^@1A)?A)) 0)^@)@D@@@I^@$D15H(+G(2^[-GT2H93IS)H-(H1>^[+H95H1=GD2JC)^8)EH )@@G@@ 0)^@)@A@@@I^@)^@)^@)^@)^[HETB^@)^@1A*?A)) 0)^@)@D@@@I^@$ET4IL(H1$^[-GT2EI )@@G@@H93IS)H-(H1>^[+H95H1=GD2JC)^8) 0)^@)@A@@@J^@)^@)^@)^@)^[HETB^@)^@1A0?A0)EJ )@@G@@ 0)^@)@E@@@J^@$ETOEL CDH^[&HD?G*)I(3G(=^[&H92^[MC(#D9MC))DC\D8)^8) 0)^@)EK )@@G@@@A@@@I^@)^@)^@)^@)^[HETB^@)^@1A8?AC) 0)^@)@A@@@I^@)^@)^@)^@)^[HETB^@)^@2EL )@@G@@A@?AC) 0)^@)@A@@@I^@)^@)^@)^@)^[HETB^@)^@2AC?AC) 0)^@)@#@@@I^@$D15H(+G(2EM )@@G@@^@$^@,@A@@@I^@)^@)^@)^@)^[HETB^@)^@1B@?AC) 0)^@)@A@@@I^@)^@)^@)^@)^[HETBEN )@@G@@^@)^@1BC?AC) 0)^@)@^@@@I^@$C(8I[\H1>H14^@$^@,^@)@A@@@I^@)^@)^@)^@)^[HETBEO )@@G@@^@)^@2AK?A*) 0)^@)@E@@@I^@$CL5HD?I-(H0)G15H1G))GD3^[6GD2HD-EP )@@G@@GL?G*)^8) 0)@A@@@I^@)^@)^@)^@)^[HETB^@)^@2AS?AK) 0)^@)@ @@@I^@$D1\IL!GD?EQ )@@G@@^[>J[(I))^8) 0)^@)@A@@@I^@)^@)^@)^@)^[HETB^@)^@2A)?AK) 0)^@)@ @@@I^@$E[2ER )@@G@@H9$IL-H*)IT4H90^@$^@,^@)@A@@@I^@)^@)^@)^@)^[HETB^@)^@2A*?A0) 0)^@)@C@@@IES )@@G@@^@$C[]G1(H->^[,H94^[-^[0IL(H14^[&HD?G*)^8) 0)^@)@A@@@I^@)^@)^@)^@)^[HETBET )@@G@@^@)^@2A0?A0) 0)^@)@B@@@I^@$C[]G1(H->^[WC1(IS)H1\I))H90G(,^@$^@,^@)@A@@@IEU )@@G@@^@)^@)^@)^@)^[HETB^@)^@2A8?A)) 0)^@)@C@@@I^@$DD?H->G9-H))G1\IL!GD4^[?GD+EV )@@G@@G(?^[WCK)^8) 0)^@)@A@@@I^@)^@)^@)^@)^[HETB^@)^@2B@?A0) 0)^@)@C@@@I^@$C1(EW )@@G@@H->^[WE(,H94^[\I[>H0)G1\IK)HD,I[5I))^8) 0)@A@@@I^@)^@)^@)^@)^[HETB^@)^@2EX )@@G@@BC?AS) 0)^@)@ @@@I^@$C1(H->^[WE1>IL2H92^@$^@,^@)@A@@@I^@)^@)^@)^@)^[HETBEY )@@G@@^@)^@3A@?AS) 0)^@)@A@J@I^@$^(PH90I-(H9,^[(H16GD?HD=^@$^@,^@)@A@@@J^@$C[PEZ )@@G@@H90I-(H9,^[(H16GD?HD=^@$^@,^@)@A@@@I^@)^@)^@)^@)^[HETB^@)^@3AC?A)) 0)^@)FA )@@G@@@A@J@I^@$^(PHD3^[(H16GD?HD=^[,GD!G*)^8) 0)@A@@@J^@$B9(IS)HD,I1-H-(G))H1-FB )@@G@@H(>^@$^@,^@)@A@@@I^@)^@)^@)^@)^[HETB^@)^@3AK?AS) 0)^@)@ @@@I^@$C(,G))H9&FC )@@G@@^[3I-2HD,G8)^8) 0)@A@@@I^@)^@)^@)^@)^[HETB^@)^@3AS?AS) 0)^@)@ @J@I^@$C[PFD )@@G@@HD3^[(H-?G($GD?^@$^@,^@)@ @@@J^@$B9(IS)HD?H->G9-H))^8) 0)^@)@A@@@I^@)^@)FE )@@G@@^@)^@)^[HETB^@)^@3A)?A*) 0)^@)@B@@@I^@$F-PH1\I))H90G(,^[&H92^[\I(4I[5I))FF )@@G@@^8) 0)@A@@@I^@)^@)^@)^@)^[HETB^@)^@3A*?A8) 0)^@)@E@@@I^@$CD4I->H(0I))I-\FG )@@G@@^[2G(-G))I[-IT4^[>H1=^[\G0)G1(H->^@$^@,^@)@A@@@I^@)^@)^@)^@)^[HETB^@)^@3FH )@@G@@A0?A8) 0)^@)@E@@@I^@$CD4I->H(0I))I-\^[2G(-G))I[-IT4^[>H1=^[\G0)IT4IL(H1$FI )@@G@@^@$^@,@A@@@I^@)^@)^@)^@)^[HETB^@)^@3A8?AS) 0)^@)@A@@@I^@$F-AIT4IL5GT4I(2FJ )@@G@@G*)G(2IL\IK)^8) 0)@A@@@I^@)^@)^@)^@)^[HETB^@)^@3B@?A0) 0)^@)@C@@@I^@$F-PFK )@@G@@H1\I))GD?H-\I9>G))HD,^[$G(4^[?HD3I))^8) 0)@A@@@I^@)^@)^@)^@)^[HETB^@)^@3FL )@@G@@BC?AS) 0)^@)@ @@@I^@$F-PGD2IL-JC)G(2IL\IK)^8) 0)@A@J@I^@)^@)^@)^@)^[HETBFM )@@G@@^@)^@4A@?AK) 0)^@)@A@@@J^@)^@)^@)^@)^[HETB^@)^@4A@?AS) 0)^@)@ @J@I^@$C(2FN )@@G@@IL\IK)I-\HT>H0)^8) 0)^@)@ @@@J^@$C(2IL\IK)I-\HT>H0)B8)^8) 0)@A@@@I^@)^@)FO )@@G@@^@)^@)^[HETB^@)^@4AC?A*) 0)^@)@B@J@I^@$F-PGL\I(,G))G(2IL\IK,^[YE95IT>G))FP )@@G@@^8) 0)@B@@@J^@$C[PGL\I(,G))G(2IL\IK,^[YE95IT>G))^8) 0)@A@@@I^@)^@)^@)^@)FQ )@@G@@^[HETB^@)^@4AK?AS) 0)^@)@ @@@I^@$F-PGL\I(,G))G(2IL\IK)^8) 0)@A@@@I^@)^@)FR )@@G@@^@)^@)^[HETB^@)^@4AS?AS) 0)^@)@ @@@I^@$F-PH1-H(>^[>IL2H92^@$^@,^@)@A@@@IFS )@@G@@^@)^@)^@)^@)^[HETB^@)^@4A)?A*) 0)^@)@A@J@I^@$F-PH1\I))HD,^[$G(4^[?HD3I))FT )@@G@@^8) 0)@A@@@J^@$F-PH1\I))HD,^[BC(O^[?HD3I))^8) 0)@A@@@J^@)^@)^@)^@)^[HETBFU )@@G@@^@)^@4A*?A0) 0)^@)@D@@@J^@$F-BH1\I))GD?H-\I9>G))HD,^[MC(#D9MC))DC\D8)^8)FV )@@G@@ 0)^@)@[@@@J 0)^@)@H@@@J 0)^@)^@)^@)^[!IT$^[,I(!GL>IK)A)6^[(IS)I-*G*)IT-FW )@@G@@H(>^[-IS)H(>IT3GD$G*)A@) 0)^@)@[@@@J 0)^@)@A@@@I^@)^@)^@)^@)^[HETB^@)^@4FX )@@G@@A8?A)) 0)^@)@D@@@I^@$E(,HT,H97H0)H1-H(> 0)ET4IL(H1$^[-IT3I(!G(=^@)^8) 0)FY )@@G@@@A@@@I^@)^@)^@)^@)^[HETB^@)^@4B@?AK) 0)^@)@A@@@I^@$C->H->I->G))IT4GD4G(!FZ )@@G@@G(,I))^8) 0)@A@@@I^@)^@)^@)^@)^[HETB^@)^@4BC?A)) 0)^@)@C@@@I^@$EL5H0)I-(GA )@@G@@H(>^[3I--GT:^[\I1>IL&H-\I8)^8) 0)^@)@A@@@I^@)^@)^@)^@)^[HETB^@)^@5A@?AK)GB )@@G@@ 0)^@)@B@@@I^@$ET4IL(H1$^[5H1(H1(I-(GD?HD'G(=^@$^@,^@)@A@@@I^@)^@)^@)^@)GC )@@G@@^[HETB^@)^@5AC?B@) 0)^@)@H@@@I^@$DD?H->G9-H))GT*GD2GDIK)HD,^[+HD4^[3GD )@@G@@I-2HD,G8)GT*GD,G9>G))I-\^@1^@$^@,^@)@A@@@J^@)^@)^@)^@)^[HETB^@)^@5AK?A*)GE )@@G@@ 0)^@)@D@@@J^@$E-\H8)H(-H19^[&HD?G(3 0)ETTETKELDD1O^[5IT>G))^8) 0)@A@@@JGF )@@G@@^@)^@)^@)^@)^[HETB^@)^@5AS?A0) 0)^@)@A@J@I^@)^@)^@)^@)^[HETB^@)^@5AS?A0)GG )@@G@@ 0)^@)@E@J@I^@$DD!I[2H90G(2^[-IL$I(!G(,I))I-\^[2GD,G),^@,A*)I(3G(=^@$^@,GH )@@G@@@E@@@J^@$DD!I[2H90G(2^[-IL$I(!G(,I))I-\^[MCDIC),^@,A*)I(3G(=^@$^@,@A@@@IGI )@@G@@^@)^@)^@)^@)^[HETB^@)^@5A)?AC5^@,^@)@K@J@I^@$E[2H9$IL-H*)IT4GD4HD3I-(GT3GJ )@@G@@^@*I9\IL=IS(BK)E[2H9$IL-H*'^[YE0)ET9H(+H9?^[4GD+H->BK)F1O^@$^@,^@)@J@@@JGK )@@G@@^@$E[2H9$IL-H*)IT4GD4HD3I-(GT3^@*I9\IL=IS(BK)E[2H9$IL-H*'^[YE1NJD!GL\H))GL )@@G@@I--GL?G*'^[YE)$^@,@G@J@I^@$ET4GD4HDBK)F1PEL5H14HD!G*)IT4GDG)'^[YF@$^@,^@)@A@@@I^@)^@)^@)^@)^[HETB^@)^@5A*?A0) 0)^@)@I@@@IGO )@@G@@^@$D(-I-*G(!GD4HDG))^8) 0)@A@@@I^@)^@)^@)^@)^[HETB^@)^@5A0?AK) 0)^@)@A@@@I^@$E(,G->G1(GQ )@@G@@H1>G))G(,I-2JC)^8) 0)^@)@A@@@I^@)^@)^@)^@)^[HETB^@)^@5A8?AS) 0)^@)@A@@@IGR )@@G@@^@$F-BI(3G(=^[2G(H-9^@$^@,@A@@@I^@)^@)^@)^@)^[HETB^@)^@5B@?AC)GS )@@G@@ 0)^@)@]@@@I^@$F-B^@$^@,@A@@@I^@)^@)^@)^@)^[HETB^@)^@5BC?BC) 0)^@)@F@@@IGT )@@G@@^@$F1OHD3^[(H(0IL\I[>IK)H->H1$I-*^[&H92^[WC*,^@8A@)I(3G(=^@$^@,^@)@A@@@IGU )@@G@@^@)^@)^@)^@)^[HETB^@)^@6A@?AC0^@,^@)@H@@@I^@$D-\I9>IK)GL\I(,G))H9,^[3I(+GV )@@G@@ITIK)GL\I(,G))^8) 0)@A@@@I^@)^@)^@)^@)^[HETBGW )@@G@@^@)^@6AC?AC0^@,^@)@J@@@I^@$EL>I-5IL,^[&IL\H*)F-DGD4^[?HD,G*)F1MIL>ID5HD2GX )@@G@@G(3^[IL3HD\H0,^@0^[5IT>G))^8) 0)^@)@A@@@I^@)^@)^@)^@)^[HETB^@)^@6GY )@@G@@AK?AC7^@,^@)@O@M@I^@$EL>I-5IL,^[&IL\H*)F-DGD4^[?HD,G*)F1MG-\G(3^[,H94^[2GZ )@@G@@G(4I(2H0)I1-H-5G*)G(8I[>GT4G(=^[-I))H-(H1>^[YCS,^@0^[5IT>G))^8) 0)@O@@@MHA )@@G@@^@$EL>I-5IL,^[&IL\H*)F-DGD4^[?HD,G*)F1NG-\G(3^[,H94^[2G(4I(2H0)I1-H-5G*)HB )@@G@@G(8I[>GT4G(=^[-I))H-(H1>^[YCS,^@0^[5IT>G))^8) 0)@A@@@I^@)^@)^@)^@)^[HETBHC )@@G@@^@)^@6AS?AC5^@,^@)@M@J@I^@$EL>I-5IL,^[&IL\H*)F-DGD4^[?HD,G*)F1MIL>I-5IL,HD )@@G@@IS)GC)I1-H-5G*)I-\^[HE )@@G@@I-5IL,^[&IL\H*)F-DGD4^[?HD,G*)F1MIL>I-5IL,IS)GC)I1-H-5G*)I-\^[#CDGD))IT4HF )@@G@@GD4G(!G(,I))GD4^[?HD,G*)F1#^8) 0)^@)@[@J@I^@,^@)@A@@@I^@)^@)^@)^@)^[HETBHG )@@G@@^@)^@6A)?A)) 0)^@)@C@J@I^@$E(,G->G1(H1>G))H--GL>H))HD,^[$H94H8)^8) 0)^@)HH )@@G@@@C@@@J^@$E(,G->G1(H1>G))H--GL>H))HD,^[BD9OD8)^8) 0)^@)@A@@@I^@)^@)^@)^@)HI )@@G@@^[HETB^@)^@6A*?A)) 0)^@)@B@J@I^@$C1\IL!GD4^[?GD+G(?^[(H0)G9\I-\^@$^@,^@)HJ )@@G@@@B@@@J^@$C1JELHCDO^[?GD+G(?^[(H0)C9JE-J^@$^@,^@)@A@@@I^@)^@)^@)^@)^[HETBHK )@@G@@^@)^@6A0?BC) 0)^@)@F@@@I^@$D--GL>H))F-JHD,^[?HD,G*)F1#H1\I))HD,^[-GT4HD6HL )@@G@@G*)GL?H9G))G1\IK)HD,HD4HD-H-(JL-I-(H9,^[(H0)F1#I->IL!HD,GD4G(3^[(H0)GC)HN )@@G@@G9\I-\^[3I--I->H(>H14^@$^@,^@)@M@@@J^@$F-^HD,I1\HT>G))G1\IK)HD,HD4HD-H-(HO )@@G@@JL-I-(H9,^[(H0)F1#I->IL!HD,GD4G(3^[(H0)GC)C9JE-J^[3I--I->H(>H14^@$^@,^@)HP )@@G@@@A@@@I^@)^@)^@)^@)^[HETB^@)^@6B@?AC1^@,^@)@J@J@I^@$CD4I->H(0I->G))G9\I-\HQ )@@G@@^[4H8)H--GL>H))F-JHD,I-\^[(H1-GT4HD6G*)G-\^[-I))H-(H1>^[YCS)^8) 0)@J@@@JHR )@@G@@^@$CD4I->H(0I->G))G9\I-\^[4H8)H--GL>H))F-JHD,I-\^[(H1-GT4HD6G*)C-J^[-I))HS )@@G@@H-(H1>^[YCS)^8) 0)@A@@@I^@)^@)^@)^@)^[HETB^@)^@6BC?A8) 0)^@)@J@@@I^@$D(5HT )@@G@@H-4HD0H-(G(2^[\I1>IL&H-\I8)G-5IL(H1$^[(H1(I-(GD?HD'GD4HD\H0)H9&^[-IL2GD9HU )@@G@@^[WC*)^8) 0)@A@@@I^@)^@)^@)^@)^[HETB^@)^@7A@?A8) 0)^@)@F@@@I^@$C(8I->H14HV )@@G@@IS)H9&^[WC-=H8)H1\I))H(-I-HX )@@G@@J[0IL>IT3HD\H0)^8) 0)^@)@A@@@I^@)^@)^@)^@)^[HETB^@)^@7AK?AS) 0)^@)@A@@@IHY )@@G@@^@$F-^H1\I))GD?H-\GT-I->G))^8) 0)^@)@A@@@I^@)^@)^@)^@)^[HETB^@)^@7AS?A8)HZ )@@G@@ 0)^@)@E@@@I^@$D->H1$I-*^[YEL\G0)F- HD!I[2H90G(2 0)B@0^[5IT>G))^8) 0)^@)IA )@@G@@@A@@@I^@)^@)^@)^@)^[HETB^@)^@7A)?B@) 0)^@)@E@@@I^@$E(0I[>IK)GL\I(,G))F1LIB )@@G@@B))H-\I9>IK)GL\I(,G))H9&^@1^@$^@,^@)@A@@@I^@)^@)^@)^@)^[HETB^@)^@7A*?BC)IC )@@G@@ 0)^@)@G@@@I^@$F1LHD3^[4H9\^[?GD2G9>^[?G(,G94H@)H92^[+H95H1= 0)AC0^[5IT>ID )@@G@@G))^8) 0)^@)@A@@@I^@)^@)^@)^@)^[HETB^@)^@7A0?B@) 0)^@)@E@@@I^@$ET5GL3GT2IE )@@G@@HD0I))F1]H9&^[WD1(IS)H95I))H9&^[+H95H1=^@$^@,^@)@A@@@I^@)^@)^@)^@)^[HETBIF )@@G@@^@)^@7A8?A8) 0)^@)@E@@@I^@$ET5GL3GT2HD0I))HD3^[\I(4^[\G0)GL\I(,G-3^[(H0)IG )@@G@@F-^^@$^@,^@)@A@@@I^@)^@)^@)^@)^[HETB^@)^@7B@?AS) 0)^@)@B@J@I^@$DD,I1-H-(IH )@@G@@G))G1\IL!GD4^[\I[4HD\H0$^@,^@)@B@@@J^@$DD,I1-H-(G))C1JELHCDO^[\I[4HD\H0$II )@@G@@^@,^@)@A@@@I^@)^@)^@)^@)^[HETB^@)^@7BC?AK) 0)^@)@A@@@I^@$DD!I[?HD>G))GT\IJ )@@G@@H16G(2IT(H9,^@$^@,@A@@@I^@)^@)^@)^@)^[HETB^@)^@8A@?AK) 0)^@)@^@@@I^@$ET(IK )@@G@@JL>^[>IL2H92^@$^@,@A@@@I^@)^@)^@)^@)^[HETB^@)^@8AC?AK) 0)^@)@A@@@I^@$CT\IL )@@G@@H16G(2IT(H9,^[>IL2H92^@$^@,^@)@A@@@I^@)^@)^@)^@)^[HETB^@)^@8AK?A)) 0)^@)IM )@@G@@@C@@@I^@$DD?H->G9-H))GT*GD2GDIK,^@0^[5IT>G))^8) 0)@A@J@I^@)^@)^@)^@)IN )@@G@@^[HETB^@)^@8AS?AS) 0)^@)@ @J@I^@$F-AH90I-(H9,^[>IL2H92^@$^@,@A@@@I^@)^@)IO )@@G@@^@)^@)^[HETB^@)^@8A)?A*) 0)^@)@A@@@I^@)^@)^@)^@)^[HETB^@)^@8A*?A*) 0)^@)IP )@@G@@@C@@@I^@$C(2IL\IK)HD,^[\I[>H1(H1$^[&HD?G*)F- ^@$^@,^@)@A@@@I^@)^@)^@)^@)IQ )@@G@@^[HETB^@)^@8A0?AC) 0)^@)@#@@@I^@$ET(G9,GD?^@$^@,@A@@@I^@)^@)^@)^@)^[HETBIR )@@G@@^@)^@8A8?AC) 0)^@)@^@@@I^@$CL2G(-HT0H9(H14^@$^@,@A@@@I^@)^@)^@)^@)^[HETBIS )@@G@@^@)^@8B@?BC) 0)^@)@K@@@I^@$C1(J[>G))G->GT(H(-H))H96G(2G1?H97 0)D15H(+G(2IT )@@G@@^[G))^8) 0)@]@J@IETKCD#C*) 0)@A@@@IIU )@@G@@^@)^@)^@)^@)^[HETB^@)^@8BC?BC) 0)^@)@K@@@I^@$C1(J[>G))GL(H1-IL9^[\I1>IL&IV )@@G@@H-\I8,^[II(!GL>IK)GT\H13HD3I-(H1$^[\G0)F1AH9,G(3^[5IT>G))^8) 0)^@)@A@@@IIW )@@G@@^@)^@)^@)^@)^[HETB^@)^@9A@?AC0^@,^@)@L@@@I^@$ET(JL>^[>IL2H92^[IL4IX )@@G@@HD,G8)G1?H9-I))H92^[&HD8G(=^[=G(G))GL(H1-IL9^@$^@,^@)IY )@@G@@@A@J@I^@)^@)^@)^@)^[HETB^@)^@9AC?A0) 0)^@)@E@J@I^@$C(,G-&HD?G*,^[AHD?G*)IZ )@@G@@H1\I))H90G(,^[&H92^[(H10I(4^@$^@,^@)@A@@@I^@)^@)^@)^@)^[HETB^@)^@9AK?A*)JA )@@G@@ 0)^@)@D@@@I^@$C1(J[>G))GL(H1-IL9^[\I1>IL&H-\I8,^@1^[5IT>G))^8) 0)@A@@@IJB )@@G@@^@)^@)^@)^@)^[HETB^@)^@9AS?A0) 0)^@)@D@@@I^@$D96G(2G1?H97^[(H0)G15H1G))^8) 0)@A@@@I^@)^@)^@)^@)^[HETB^@)^@9A)?A8) 0)^@)@F@@@IJD )@@G@@^@$DD?H->G9-H))GD2G95H(>H14^[&H92^[&I(,GT4HD\H0)C[PA@)I(3G(=^@$^@,@A@@@JJE )@@G@@^@)^@)^@)^@)^[HETB^@)^@9A*?A)) 0)^@)@D@@@J^@$CT\H(0H->J@)G15H1G-5IL>JH )@@G@@^[WE0)^8) 0)@G@@@I^@)^@)^@)^@)^[HETB^@)^@9A8?A8) 0)^@)^@)^@)^@)E9[D-FCL[JI )@@G@@CTF^[#D9HD([D1^^@,@G@@@I^@$CT-H-?G(=^[&IL\H*)IT4GD4G(!G(,I))F1PHD,^[0IL\JJ )@@G@@GT>G-5IL>^[WE0)^8) 0)^@)@A@J@I^@)^@)^@)^@)^[HETB^@)^@9A*?A)) 0)^@)@D@J@IJK )@@G@@^@$CT\H(0H->J@)G15H1^[(H0)IT5GL3I-2^@$JM )@@G@@^@,^@)@C@@@J^@$C[AH95I))H9&^[2GD,G9>^[(H0)ETPCLNE-M^@$^@,^@)@A@@@I^@)^@)JN )@@G@@^@)^@)^[HETB^@)^@9BC?AC2^@,^@)@G@@@I^@$C[PHD3^[,H94^[7HD4H[(H0)IL-H1$G*)JO )@@G@@AC)I-\^[@E0,^@1^[(IS)I(3G(=^@$^@,^@)@A@@@I^@)^@)^@)^@)^[HETB^@)^@1A@0 )6JP )@@G@@^@,^@)@E@@@I^@$CD4I->H(0I->G))G-(I1(IT(H9,^[+JC)A@,^@1^[5IT>G),^@$^@,^@)JQ )@@G@@@A@@@I^@)^@)^@)^@)^[HETB^@)^@1A@1 )5^@,^@)@F@@@I^@$C9\I-\^[(H-?G($GD?^[?JR )@@G@@GD+G(? 0)C(8G(G9-H))G15H1IS)^8) 0)@A@@@J^@)^@)^@)^@)^[HETB^@)^@1A@3 )6^@,^@)@F@@@JJU )@@G@@^@$D1>G9-I-(I1>^[G9-H))H92^[IE(GD))I[\HD,I->IK)I(3G(= 0)^8) 0)JY )@@G@@@A@@@J^@)^@)^@)^@)^[!IT$^@)^@)^@1A@6 )5^@,@D@@@J^@$DD?H->G9-H))H92^[IE(GJZ )@@G@@D-J^[\G1&IT>I))I(3G(= 0)^8) 0)@B@@@J^@)^@)^@)^@)^[!IT$^@)^@)^@1A@7 )1A@)KA )@@G@@ 0)^@)@H@M@J^@$D1\I-*HD,G8)I[\HD,I-3^[4H8)F-GGD,JC)H-\H1$G(2 0)DD4^[7HD?KB )@@G@@H))GL>^[&IL>G(=^@$@H@@@M^@$D1\I-*HD,G8)I[\HD,I-3^[4H8)F-LGD,JC)H-\H1$G(2KC )@@G@@ 0)DD4^[7HD?H))GL>^[&IL>G(=^@$@A@@@J^@)^@)^@)^@)^[!IT$^@)^@)^@1A@8 )6^@,KD )@@G@@@E@@@J^@$ET4IL5GT4I(2G(3^[=H8)H1\I))H[-I1>^[3GD!G*)G(?G(!G(,I-3^@$@A@@@JKE )@@G@@^@)^@)^@)^@)^[!IT$^@)^@)^@1A@9 )8^@,@E@@@J^@$E1-H-5G*)H9&^[0H9(H14G(2^[WKF )@@G@@D1=H9>IS)H1\I))H(-I-G9-H))H9&G13G(4^[4H8)I[\HD,I->IK)GT\H16G(2IT(H9, 0)D1PD-GKH )@@G@@^[5IT>G))^8) 0)^@)@A@@@J^@)^@)^@)^@)^[!IT$^@)^@)^@1AC1 )7^@,@I@@@J^@$DD?KI )@@G@@H->G9-H))I[\HD,I->IK)I-\^[\G1&IT>I))GT\H16G(2IT(H9, 0)D1PD-GD8)I(3G(=^@$KJ )@@G@@^@,^@)@A@@@J^@)^@)^@)^@)^[!IT$^@)^@)^@1AC2 )7^@,@E@@@J^@$E92H9,G8)GD2G(-KK )@@G@@^[3I[>GT(G1(G(=^[(H0)C1MC( ^[3I-!I))^8) 0)@A@@@J^@)^@)^@)^@)^[!IT$^@)^@)KL )@@G@@^@1AC3 )7^@,@H@@@J^@$CD4I->H(0I))I-\^[&IL>G*)ETOCDODD#^[\IK)CDPE-JD([E-DKM )@@G@@CS)I1-IL(GD+H->^@$^@,^@)@A@@@J^@)^@)^@)^@)^[!IT$^@)^@)^@1AC4 )5^@,@E@@@JKN )@@G@@^@$CD2G(-^[&I(?H)?^[-H-?H9^@$^@,@A@@@J^@)^@)KO )@@G@@^@)^@)^[!IT$^@)^@)^@1AC5 )8^@,@H@@@J^@$CD4I->H(0I))I-\^[&IL>G*)IT4H92GD$KP )@@G@@G*)I-*GD4^[7GD3^[,H94^[-H-?H9^[\IK)EL CTJEL^^[D 9JKS )@@G@@^@$^@)@K@@@L^@)^@)^@)^@)^@$C[PH90I-(H9,^[(IS)HD$H1\IL>G))HD,^[0IL\G92GD!KT )@@G@@^[&HD?G*)H92^[MC(#D9MC))DC\D8)^8)^@)@^@@@IE[[ELOAK)^@)^[GCD]C(G^@,@ @J@IKU )@@G@@^@)^@)^@)^@)^[KE)2^@)A*2^@,^@)@ @L@J^@)^@)^@)^@)^[KE)2^@)A*8^@,^@)@ @@@LKV )@@G@@^@)^@)^@)^@)^[KE)2^@)A*9^@,^@)@^@@@I^@)^@)^@)^@)^[ D1^^@,^@)___D->H1$I-*KW )@@G@@^[YEL\G0)F- HD!I[2H90G(2 0)B@0^[5IT>G))^8) 0)^@)@A@@@I^@)^@)^@)^@)^[HETBKX )@@G@@^@)^@7A)?B@) 0)^@)@E@@@I^@$E(0I[>IK)GL\I(,G))F1LB))H-\I9>IK)GL\I(,G))H9&KY )@@G@@*[S@@@*SDFF*@C@@@'. COPYRIGHT 1976 BY THE UNIVERSITY OF MARYLAND@[@@@'KZ )@@G@@. @D@@@'. QUESTIONS CONCERNING THIS SHOULD BE DIRECTED TO: @[@@@'LA )@@G@@. @ @@@'. MARVIN V. ZELKOWITZ @B@@@'. DEPARTMENT OF CLB )@@G@@OMPUTER SCIENCE @A@@@'. UNIVERSITY OF MARYLAND @B@@@'. LC )@@G@@ COLLEGE PARK, MARYLAND 20742 @[@@@'. @G@@@'. PERMISSIOLD )@@G@@N TO USE THESE LISTINGS AND THE COMPUTER PROGRAMS THEY@E@@@'. REPRESENLE )@@G@@T IS GRANTED UNDER THE FOLLOWING CONDITIONS: @[@@@'. @G@@@'. LF )@@G@@ 1. UNLIMITED USE MAY BE MADE OF THE PROGRAMS REPRESENTED BY @G@@@'LG )@@G@@. THESE LISTINGS PROVIDED THAT THE NAME PLUM OR UNIVERSITY OF MARYLANDLH )@@G@@@E@@@'. PL/1 COMPILER REMAINS ASSOCIATED WITH THESE PROGRAMS. @[@@@'LI )@@G@@. @F@@@'. 2. MODIFICATIONS MAY BE MADE TO THE LISTINGS PROVIDLJ )@@G@@ED: @[@@@'. @G@@@'. (A) ANY RESULTING PROGRAM, OR REPORT, PLK )@@G@@APER OR DOCUMENTATION @G@@@'. DESCRIBING SUCH PROGRAM WILL CLEALL )@@G@@RLY INDICATE THAT THE PROGRAM @E@@@'. IS A DIALECT OF PLUM OR IS LM )@@G@@DERIVED FROM PLUM, AND @[@@@'. @G@@@'. (B) ALL SUCH MODIFICALN )@@G@@TIONS, OTHER THAN TRIVIAL CORRECTIONS @F@@@'. OF ERRORS IN THLO )@@G@@E SOURCE PROGRAMS, SHALL BE REPORTED AND @G@@@'. A BRIEF DESCRIPLP )@@G@@TION OF THE FEATURE ADDED SHALL BE SUBMITTED @C@@@'. TO THE UNLQ )@@G@@IVERSITY OF MARYLAND, AND @[@@@'. @F@@@'. (C) NO PROGRAMSLR )@@G@@ DERIVED FROM THESE LISTINGS SHALL BE SOLD@G@@@'. WITHOUT WRITTENLS )@@G@@ APPROVAL FROM THE UNIVERSITY OF MARYLAND, AND @[@@@'. @F@@@'. LT )@@G@@ (D) COPIES OF THESE PROGRAMS MAY BE TRANSMITTED TO OTHER @G@@@'. LU )@@G@@ LOCATIONS PROVIDED THAT SUCH TRANSMITTALS CLEARLY INDICATE @G@@@'LV )@@G@@. WHETHER THE PROGRAMS ARE EXACT COPIES OF THE UNIVERSITY OF LW )@@G@@@E@@@'. MARYLAND PLUM COMPILER OR ARE MODIFICATIONS TO IT. @[@@@'LX )@@G@@. @G@@@'. 3. THESE CONDITIONS ONLY APPLY TO THE PLUM COMPILERLY )@@G@@ ITSELF, @F@@@'. AND ARE NOT MEANT TO APPLY TO ANY PROGRAM WRITTEN LZ )@@G@@USING PLUM. @E@@@'. THE PURPOSE OF THESE CONDITIONS IS TO ALLOW ANY USMA )@@G@@ER TO @F@@@'. EXPERIMENT WITH THE COMPILER AS LONG AS THE RESULTING PRMB )@@G@@ODUCT @G@@@'. IS NOT SOLD AND AS LONG AS IT IS KNOWN THAT THE PRODUCT MC )@@G@@DEVELOPED @#@@@'. FROM PLUM. @[@@@'. @[@@@'. @[@@@'. MD )@@G@@@[@@@'. @[@@@'. @[@@@'/. @#@@@9/ AXR$ . @#@@@9 ME )@@G@@ DCLRG . @[@@@9 . @^@@@9 . SETUP DSECTS @B@@@9 . ADDMF )@@G@@ PLTVDS,PLCGST,PLDSAW,PLCSAW @#@@@9 UNLIST . @#@@@9@ADD,P PLTVDMG )@@G@@S @#@@@9@ADD,P PLCGST @#@@@9 LIST . @#@@@9@ADD,P PLDSAMH )@@G@@W . @#@@@9 PLAC . @]@@@9 PLAR@#@@@9 PLSD . MI )@@G@@@#@@@9 PLCGD . @#@@@9 PLWORD .@#@@@9 PLIG . MJ )@@G@@@#@@@9@ADD,P PLCSAW @^@@@9/CGDRVR CSECT 3 . @ @@@9 . LABELS TMK )@@G@@HAT WILL STAY HERE@E@@@9ERCGPRM EQU 27 . PARAMETER IN I/O LIST OR CHECKML )@@G@@ PREFIX @B@@@9ERCGSL EQU 28 . STRING LENGTH OUT OF RANGE@D@@@9ERVG02MM )@@G@@ EQU 34 . VBLE HAS A '*' FOR BOUND OR LENGTH @H@@@'ERBLOC EQU 3MN )@@G@@9 . BEGIN BLOCK HAS NO VARS, SHOULD USE DO; @C@@@9ERVG03MO )@@G@@ EQU 35 . '' '' NON-'*' '' '' @E@@@9ERVG01 EQU 36 . CONSTANTMP )@@G@@ BND OR LNGTH FIELD EXCEEDS 32767 @A@@@9ERVG04 EQU 33 . INIT NOT IMPLEMQ )@@G@@MENTED@B@@@9ERCXBD EQU 30 . LOWER BOUND > UPPER BOUND @B@@@9ERCXMP EQU 3MR )@@G@@2 . UB REQUIRES TOO MUCH SPACE@B@@@9ERCXV0 EQU 31 . LB '' '' MS )@@G@@ '' @F@@@9ERXGRN EQU 52 . NONSTANDARD PL/1 OPTION USEMT )@@G@@D @E@@@9EXCLS0 EQU 37 . UNEXPECTED BITS IN SD MU )@@G@@@]@@@9 CEND .@H@@@9KKHWMX SF +0202177777700 . CHECK FOR HALFWOMV )@@G@@RD OVERFLOW OF FLOAT CNST @F@@@9KKMASK SF +017000000 . MMW )@@G@@ASK FOR X FIELD OF INSTRT @E@@@9KKLXUX SF +013742 . MX )@@G@@OPCODE FUDGE FOR LX,U X2@E@@@9KKLMJX SF +036262 . OPCODEMY )@@G@@ FUDGE FOR LMJ X2 @C@@@9KKXFLD SF +01000000 . MASK FOR X1 MZ )@@G@@@H@@@9KKSNSM SAC +010000,0777777 . ARRAY V.O. INITIALIZATION INTERRUNA )@@G@@PT WORD @E@@@9FIXER SFW 0 . CREATE DUMMY STACK ELEMENT FOR INITIANB )@@G@@L @ @@@9 +SD0ART,SDDCBN,0,17 .@B@@@9KBXHMP EQU 17 . HALFNC )@@G@@WORD MAX PRECISION@C@@@9MXSTLN EQU 01000 . MAXIMUM STRING LENGTH ND )@@G@@@B@@@9KBXMXP EQU 35 . MAX PREC. FOR FIXED BIN @B@@@9ICSCHF EQU 0200 . NE )@@G@@ CHECK/NOCHECK PRESENT @F@@@9FLGSIE EQU 01 . SINGLE NF )@@G@@ITERATION ENCOUNTERED @F@@@9FLGNIF EQU 02 . NEGITIVNG )@@G@@E CONSTANT ITER FACT @E@@@9DDGCHK INSERT 5,'CHE','CK ' . CHECK INH )@@G@@S NONSTANDARD PL1 @[@@@9 . @[@@@9. @#@@@9. =============== @E@@@9NI )@@G@@ LIT . SUBSEQUENT LITERALS ARE UNDER L.C. 3 @^@@@9 NJ )@@G@@ USING SGDSCT,X7 .@#@@@9 . ---------------@^@@@9 . INITIALIZE DRIVER NK )@@G@@@#@@@9 . ---------------@#@@@9PLCGDR* LABEL . @E@@@9 MOVE DLTNL )@@G@@OPT,5,I . SET ASSEMBLY LISTING OPTIONS @D@@@9 MOVE DXGFL3,NM )@@G@@0,I . SET JUNK FOR ZELK. @E@@@9 GFIX ADPCSE . START OF CODENN )@@G@@ GEN AREA (END OF SD'S) @C@@@9 LOAD A8,ADPCBC . START B-CODE NO )@@G@@AREA @E@@@9 STORE A8,DCGGNB . END OF CODE GENERATION AREA NP )@@G@@@C@@@9 GMARK DPGSLC . START OF STATIC INIT AREA@F@@@9 LOANQ )@@G@@DXI X10,1,I . SET GENERATED CODE POINTER INCREMENTOR @C@@@9 MOVE NR )@@G@@DCGFL2,0,I . CLEAR CODEGEN FLAGS@E@@@9CGSTR1 LABEL . MNS )@@G@@ERGE AFTER SETTING LINE COUNT @C@@@9 LOADA A9,DCGTST . TEMP STNT )@@G@@ACK START @E@@@9 AU,U A9,1 . SET A10 TO BOTTOM OF TEMPNU )@@G@@ STACK@E@@@9 MOVE DCGBPT-FH1,ZERO,DCGBSZ . CLEAR BLOCK STATUS NV )@@G@@@D@@@9 STORE A10,DCGTLV . SET BOTTOM OF TEMP STACK@E@@@9RGINMVNW )@@G@@ LABEL . ENTRY POINT TO REINITIALIZE @A@@@9 MOVE NX )@@G@@ DCGINT,RGCORE,RGSIZE . @C@@@9 LOAD X9,ADBK0S . EXTERNAL (0) NY )@@G@@BLOCK @D@@@9 STORE X9,DCGBPT . SET OUTER BLOCK POINTER @^@@@9NZ )@@G@@ USING SDSECT,X9 .@F@@@9 STORE A9,SDBKAW,X9 . SETOA )@@G@@ FAKE AW FOR OUTER BLOCK@B@@@9 MOVE SDCHLD,0,I . EMPTY CHECKLISTOB )@@G@@@E@@@9 MOVE DCGSNO,0,I . INITIALIZE STATEMENT NUMBER @D@@@9OC )@@G@@ MOVE ADPCLC,0,I . STATIC LABEL CHAIN HEAD @F@@@9 MOVE OD )@@G@@ DBGSCL,0,I . EMPTY SCALAR INITIALIZATION CHAIN @D@@@' MOVOE )@@G@@E DBGPTC,0,I . EMPTY STATIC PTR CHAIN @F@@@9 MOVE DXGTPS,XGSAOF )@@G@@NY,I . SET TO ACCEPT ANY OPERAND TYPE @E@@@9 MOVE DCGELB,0,I OG )@@G@@. ENTRY LABEL LIST STARTS EMPTY @E@@@9 LOADA X7,DCGCST . STARTOH )@@G@@ OF CHECK LIST OVERFLOW STACK @E@@@9 LOADXI X7,1,I . SET INCOI )@@G@@REMENTOR FOR XGPUSH @F@@@9 STORE X7,DCGSTL . SET STARTING OJ )@@G@@COMPILE STACK LEVEL @D@@@' LOADXI X1,1,I . SET GETC INCOK )@@G@@REMENT REG. @G@@@9 STORE X7,DXGXPR . INITIALIZE AGGREGATE STACOL )@@G@@K ENTRY POINTER @D@@@9 MOVE SDDOOF,ARSTSZ,I . RESET BLOCK 0 DO OM )@@G@@OFFSET@ @@@9 STORE A6,SDBSLD,X9 . @ @@@9 USING SDSECT,X5 ON )@@G@@. @E@@@9 LOAD X5,ADPCSS . START OF STATIC VARIABLE CHAIN OO )@@G@@@D@@@9 IF X5,ZERO THEN,BGNSTV . -> NO STATIC VBLES @G@@@9 OP )@@G@@ LOAD A14,AGSTK . PUT STATIC FIXED VARIABLES IN COMPILED CODE@E@@@9OQ )@@G@@ ADD A14,W1XU,X10 . NEXT ADDRESS FOR VARIABLES @]@@@9 . ---OR )@@G@@--- @ @@@9 . STATIC STORAGE ALLOCATION @]@@@9 . ------ @#@@@9CGSTSTOS )@@G@@ LABEL . @G@@@9 IF SDMEMS,ON,SDCLS2 THEN,CGSTAL . ->VBLE MEMBEOT )@@G@@R OF STRUCTURE @D@@@' LOAD F,SDCLS0,X5 . THIS IS ASSUMED LOU )@@G@@ATER @F@@@9 LOAD A2,SDCLS0,X5 . USE TYPE OF SD AS INDEX TO BRANOV )@@G@@CH @C@'@9 AND,U A2,7 . GET RELAVENT BITS @C@@@' OW )@@G@@ AND,U A2,017 . GET RELAVENT BITS@A@@@9 LOAD A2,BGTPTB+FOX )@@G@@H1,A3 . @C@@@9 LINK 0,A2 . ALLOCATE ACCORDING TO TYPE @#@@@9OY )@@G@@CGSTAL LABEL . @C@@@9 LSDP X5,SDSTCH,X5 . NEXT STATIC ID OZ )@@G@@@D@@@9 IF X5,NZERO THEN,CGSTST . -> DETERMINE TYPE @I@@@9 PA )@@G@@ GFIX A14 . RESET GENERATED CODE POINTER BEYOND FIXED ALLOCATPB )@@G@@IO @E@@@9 GMARK DPGSLC . UPDATE CODE GENERATION START PC )@@G@@@G@@@9 GMARK ADPCSE . INCLUDE NEWLY ALLOCATED LOCS WITH SD'PD )@@G@@S @E@@@9BGNSTV LABEL . MERGE FROM NO STATIC VARIABLES PE )@@G@@@E@@@9 LOAD A14,ARSTSZ,I . FAKE FIXED LENGTH @^@@@9PF )@@G@@ GOTO BGALEN . @^@@@9 . ------------------- @ @@@9 . CHANGE OPG )@@G@@F BLOCK STATUS @H@@@9 . (BRANCHED TO FROM DGPRC5,DGBGN1. IF PROC, OPH )@@G@@N ENTRY X2=S.D. POINTER TO @ @@@9 . START OF ENTRIES CHAIN.) @^@@@9PI )@@G@@ . ------------------- @#@@@9DGBLCK* LABEL . @D@@@9 LINK DGBRCHPJ )@@G@@ . GEN BR. AROUND BLOCK BODY @C@@@9 LOAD A14,SDCHLD,X9 . PK )@@G@@ START C/NC LIST@A@@@9 SET CGRCHB,ON,DCGFL2 . @E@@@9 PL )@@G@@ STORE A8,A10 . SAVE POINTER TO PROCEDURE BLOCK@C@@@9 STOREPM )@@G@@ X7,SDFXLN,X9 . SAVE STACK LEVEL @C@@@9 STORE X1,ADPCBC . SPN )@@G@@AVE META CODE PTR @H@@@9 LOADXM X1,DCGGNB . START OF G-CODE FOR PO )@@G@@THIS STATEMENT WITH BUFFER @D@@@9 ADD X1,10,I . REMOVE PP )@@G@@BUFFER LENGTH @C@@@9 LOAD A1,KLCH2W . RESET GETC TO H1 PQ )@@G@@@]@@@9 GETC .@G@@@9 IF ICTCHF,OFF,A8 THEN,DGB2EN . -> NO CHPR )@@G@@ECK/NOCHECK PREFIXES @B@'@9 NONPL1 XGFCHK,DDGCHK,DGBXXQ . PS )@@G@@@#@@@9DGBXXQ LABEL . @G@@@' ADD X1,2,I . SKIP STPT )@@G@@MT#,COND L.P.,PREFIX FLAGS @A@@@9 . LOOP TO CHECK OR NOCHECK PREFIXESPU )@@G@@@#@@@9DGB2LC LABEL . @#@@@9 GETC . @G@@@9 IF A8,LT,APV )@@G@@CCHK,I THEN,DGB2LC . -> TRY NEXT META-CODE SYLLABLE @E@@@9 IF APW )@@G@@8,NE,ACCHK,I THEN,DGB2NC . -> NO CHECK PREFIX @E@/@' MOVE FPX )@@G@@,0,I . SAY NEXT SD IS WITH CHECK@F@@@/ MOVE A2,0,I PY )@@G@@. SAY NEXT SD IS WITH CHECK @B@'@9 LOAD F,SDCLS3 . PZ )@@G@@ (USED AT DGB2CE) @B@@@9 GOTO DGB2CK . CHECK PREFIX @#@@@9QA )@@G@@DGB2NC LABEL . @D@@@9 IF A8,NE,ACNCHK,I THEN,DGB2EN . -> NO NQB )@@G@@OCHECK@C@'@9 LOADN F,SDCLS3 . (USED AT DGB2CE) @F@/@' QC )@@G@@ MOVE F,1,I . SAY NEXT SD IS WITH NOCHECK @F@@@/ QD )@@G@@ MOVE A2,1,I . SAY NEXT SD IS WITH NOCHECK @^@'@9 QE )@@G@@ GOTO DGB2CK . @C@@@9DGB2CK LABEL . POINT TO FIRST ITEMQF )@@G@@@ @'@9 GETC . ACRPAR @ @@@' GETC . ACLPAR QG )@@G@@@B@@@' NONPL1 XGFCHK,DDGCHK,DGBSCR . @#@@@9DGBSCR LABEL . QH )@@G@@@ @@@9 GETC . ACSTEX @^@@@9 GETC . SD @#@@@9QI )@@G@@DGB2CL LABEL . @F@@@9 LOAD X5,A8 . IDENTIFIERS'S SD (AQJ )@@G@@8=R15) (X8=R8) @^@@@9 LOAD X8,A8 . @B@/@' IF FQK )@@G@@,EQ,0,I THEN,DGB222 . @B@@@/ IF A2,EQ,0,I THEN,DGB222 . QL )@@G@@@C@@@' LOADN F,SDCLS3,X5 . (USED AT DGB2CE) @ @@@' GOTQM )@@G@@O DGB2CS . @#@@@'DGB222 LABEL . @C@@@' LOAD F,SDCLS3,X5QN )@@G@@ . (USED AT DGB2CE) @#@@@9DGB2CS LABEL . @D@@@9 LOAD A8,X5QO )@@G@@ . SAVE FOR LINK IN CHAIN @C@@@9 . LSDP X5,X5 . EQP )@@G@@@@=@@@@@@@@@@@@@@@@@[@@@@@@@@@@@M@@@@@@@@@@@@@@@@@@@@@@@E@@@@@@@@L@@<@@@QQ )@@G@@@@@@@Q@@S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@)@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QS )@@G@@@@@@@@@@@@@@@@@@@I@@N@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QT )@@G@@@@@@@H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@@@QU )@@G@@@@@@@X@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@@@@@@@@@@@QV )@@G@@@@@@@K@@@@@@@@@@@@@@Z@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@V@@@@@@@@@@@@@@@@@@QW )@@G@@@@@@@@@@@@@@@@@@@J@@R@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O@@@@@@@@@@@@@@@QX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QY )@@G@@@@@@@Y@@@@@@@@@@@@@@]@@@@@@@@^@@@@@@@@@@@P@@@@@@@@@@@@@@@@@@@@@@@B@@T@@@QZ )@@G@@@@@@@@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@#@@@@@@@@@@@@@@@@@@RA )@@G@@@@@@@@@@C@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@U@@^@@=EDN @@^@@@@@@@@@RB )@@G@@NINTR$ @@^@@@@@@@@@EDN$ @@^@@@@@@@@@FILE @@^@@@@@@@@@RC )@@G@@NOFIL1 @@^@@@@@@@@@IDL @@^@@@@@@@@@BLKR @@^@@@@@@@@@RD )@@G@@BXFR @@^@@@@@@@@@CSF @@^@@G@@@@@@NSTOP$ @@^@@@@@@@@@RE )@@G@@NERR2$ @@^@@@@@@@@@NERR3$ @@^@@@@@@@@@NERR4$ @@^@@@@@@@@@RF )@@G@@COPY @@^@@@@@@@@@SQOPY @@^@@@@@@@@@EOCT @@^@@@@@@@@@RG )@@G@@EDEC @@^@@@@@@@@@GETC @@^@@@@@@@@@PUTC @@^@@@@@@@@@RH )@@G@@TYPER @@^@@W@@@@@@CONFR @@^@@@@@@@@@IDLER @@^@@@@@@@@@RI )@@G@@MSG1 @@^@@@@@@@@@MSG2 @@^@@@@@@@@@TRIM @@^@@@@@@@@@RJ )@@G@@IND @@^@@@@@@@@@NSCAN @@^@@@@@@@@@XREAD @@^@@@@@@@@@RK )@@G@@XPRINT @@^@@@@@@@@@XSDFI @@^@@@@@@@@@XSDFO @@^@@@@@@@@@RL )@@G@@XENDF @@^@@@@@@@@@WHAT @@^@@@@@@@@@LOOKUP @@^@@@@@@@@@RM )@@G@@THIRD @@^@@@@@@@@@FORMAIN$ @@A@@@@@@@@@@[@@@@SPACE @D@@@@ SI RRN )@@G@@UNID TYPES SITEID FOR GIVEN 'RUNID' @]@@@@SPACE 1 @E@@@@RO )@@G@@ SM DEVICE COMMAND SYMBIONT CONTROL (SEE SEPARATE PAGE) @]@@@@SPACE RP )@@G@@1 @F@@@@ SM ACTIVE LISTS ALL ACTIVE ONSITE AND REMOTE SYMBIORQ )@@G@@NT @]@@@@SPACE 1 @C@@@@ SM A LISTS ALL ACTIVE DEMANDRR )@@G@@ SITES@]@@@@SPACE 1 @B@@@@ SM R LISTS ALL REMOTE SITES RS )@@G@@@]@@@@SPACE 1 @A@@@@ SQ,SR,SV,SX SEE SEPARATE PAGE@]@@@@SPACE RT )@@G@@1 @B@@@@ SS SYSTEM STATUS REPORT @]@@@@SPACE 1 RU )@@G@@@F@@@@ ST............ ALLOWS CONSOLE OPERATOR TO START CANNED RUNS RV )@@G@@@D@@@@ (SEE SECTION 5.1 OF THIS MANUAL) @]@@@@SPACE RW )@@G@@1 @F@@@@ SU S/U SUSPENDS A MASS STORAGE DEVICE - NOTHING RX )@@G@@ELSE @F@@@@ WILL BE WRITTEN ON IT, BUT INFORMATION MRY )@@G@@AY @B@@@@ BE RETRIEVED FROM IIT @]@@@@SPACE 1 RZ )@@G@@@B@@@@ T LISTS ALL ACTIVE RUNS @]@@@@SPACE 1 @C@@@@SA )@@G@@ T B LISTS ALL ACTIVE BATCH RUNS @]@@@@SPACE 1 @E@@@@SB )@@G@@ T H LISTS ALL HELD RUNS (OPEN OR IN BACKLOG) @]@@@@SPACE SC )@@G@@1 @E@@@@ TB TEXT TELETYPE BROADCAST OF A MESSAGE TO ALL SD )@@G@@@A@@@@ ACTIVE TTY'S @]@@@@SPACE 1 @E@@@@ TM SSE )@@G@@ITEID TEXT SENDS MESSAGE TO SPECIFIED ACTIVE TTY @]@@@@SPACE 1 SF )@@G@@@E@@@@ UP S/U,S UPS A DOWNED, RESERVED OR SUSPENDED UNIT @A@@@@SG )@@G@@ OR SUBSYSTEM @]@@@@SPACE 1 @C@@@@ X RUNID SH )@@G@@ ABORTS THE ACTIVE RUN 'RUNID'@[@@@@EJECT @#@@@@2 THE ML KEYIN SI )@@G@@@]@@@@COLUMN 3 @F@@@@ IF YOU ARE HAVING PROBLEMS WITH A PIECE OFSJ )@@G@@ HARDWARE, LOG @F@@@@ IT IN VIA THE 'ML' KEYIN. STISTX WILL PICK UPSK )@@G@@ THE INFORMATION @F@@@@ WHEN IT READS THE LOG TAPES AT THE END OF THE SL )@@G@@WEEK, AND MAKE @ @@@@ A LIST OF ALL SUCH KEYINS. @]@@@@SPACE 1 SM )@@G@@@^@@@@ THE KEYIN FORMAT IS: @]@@@@SPACE 1 @A@@@@ ML (DEVICE) SN )@@G@@(TEXT OF PROBLEM) @]@@@@SPACE 1 @E@@@@ WHERE (DEVICE) MAY BE A SUBSSO )@@G@@YSTEM NUMBER, A SUBSYSTEM/UNIT@A@@@@ NUMBER, OR ANY OF THE FOLLOWING: SP )@@G@@@]@@@@SPACE 1 @^@@@@ PW = PAGEWRITER @ @@@@ A/N = AIR COSQ )@@G@@NDITIONER #N@ @@@@ M/N = MEMORY CABINET #N @ @@@@ P/N = CPU (PSR )@@G@@ROCESSOR) #N@F@@@@ O = OTHER (THE UNIT SHOULD THEN BE SPECIFIED SSS )@@G@@OMEWHERE @^@@@@ IN THE TEXT)@E@@@@ + = THIS IS A COST )@@G@@NTINUATION OF THE LAST ML KEYIN @]@@@@SPACE 1 @F@@@@ THE DEVICESU )@@G@@ SHOULD BE FOLLOWED BY JUST ONE SPACE AND THEN THE @]@@@@ TEXT. SV )@@G@@@]@@@@SPACE 1 @]@@@@ EXAMPLES: @]@@@@SPACE 1 @C@@@@ ML 7/4SW )@@G@@ DROPPING UPPER LOOP: GIVEN TO FED @C@@@@ ML A/3 BLOWING HOT AIR -SX )@@G@@ CALLED A/C REPAIR@A@@@@ ML A/3 A/C REPAIR HAS ARRIVED @D@@@@ SY )@@G@@ML O POWER SURGE: DROPPED MEMORY, CPU, BOTH @A@@@@ ML + 1004'S SZ )@@G@@AND THE DISCS @C@@@@ ML 5/0 PR4 DROPPING COLUMN 44 - FE HAS IT TA )@@G@@@]@@@@SPACE 1 @F@@@@ THE EXEC WILL DO SOME SYNTAX CHECKING TO MAKE TB )@@G@@SURE YOU DIDN'T @F@@@@ GOOF IN SOME OUTRAGEOUS WAY WHEN KEYING IN THETC )@@G@@ DEVICE, SO IF @E@@@@ YOU GET AN 'ML KEY ERROR' IT PROBABLY MEANS YOTD )@@G@@U REALLY DID@B@@@@ MAKE SOME SORT OF ERROR. TRY AGAIN. @[@@@@EJECT TE )@@G@@@#@@@@2 THE SM KEYIN @F@@@@ THE SM KEYIN ENABLES CONTROL OF THE ON-LTF )@@G@@INE SYMBIONTS (E.G., @B@@@@ THE PRINTERS, CARD READERS AND PUNCH). TG )@@G@@@]@@@@SPACE 1 @]@@@@COLUMN 20 @E@@@@ SM PR3 S SUSPENDS OUTH )@@G@@TPUT (PRINTOUT OR PUNCHOUT) @F@@@@ PR4 ON THE DEVICE NAMTI )@@G@@ED. OUTPUT WILL CONTINUE @D@@@@ CP4 WHEN THE DEVICE ITJ )@@G@@S INITIALIZED. @]@@@@SPACE 1 @E@@@@ SM PR3 L THE 'L' COMTK )@@G@@MAND LOCKS OUT THE DEVICE. @E@@@@ PR4 IF SOMETHING IS CTL )@@G@@URRENTLY BEING READ IN, @F@@@@ CP4 PRINTED OUT OR PUNCHED TM )@@G@@OUT ON THAT DEVICE, @E@@@@ CR4 IT WILL CONTINUE TO COMTN )@@G@@PLETION, BUT THE @E@@@@ WILL NOT BE CONSIDERED AVAILATO )@@G@@BLE FOR MORE@E@@@@ INPUT OR OUTPUT UNTIL IT IS INITIALTP )@@G@@IZED. @]@@@@SPACE 1 @D@@@@ SM PR3 I INITIALIZES THE SPECIFITQ )@@G@@ED DEVICE. @E@@@@ PR4 IF IT WAS LOCKED OUT OR SUSPENDED, TR )@@G@@THAT @E@@@@ CP4 CONDITION WILL BE REMOVED. IF THE DEVICETS )@@G@@@F@@@@ CR4 WAS BOTH LOCKED OUT ANS SUSPENDED, INITIALIZINGTT )@@G@@@F@@@@ IT WILL CANCEL THE SUSPENSION. INITIALIZING TU )@@G@@@E@@@@ THE DEVICE AGAIN WILL CANCEL THE LOCKOUT.@]@@@@TV )@@G@@SPACE 1 @F@@@@ SM CP4 E ABORTS THE CURRENT OUTPUT ON THE SPTW )@@G@@ECIFIED @ @@@@ PR3 DEVICE. @]@@@@ PR4 @]@@@@TX )@@G@@SPACE 1 @E@@@@ SM PR3 RXX REPRINTS OR REPUNCHES XX PAGES ORR TY )@@G@@CARDS @B@@@@ PR4 ON THE SPECIFIED DEVICE@]@@@@ CP4 TZ )@@G@@@]@@@@SPACE 1 @E@@@@ SM PR3 R+XX SKIPS AHEAD XX PAGES OR CARDSUA )@@G@@ ON THE @A@@@@ PR4 NAMED DEVICE @]@@@@ CP4 UB )@@G@@@]@@@@SPACE 1 @D@@@@ SM PR3 T COMBINATION 'E' AND 'L' COMMAUC )@@G@@NDS: @D@@@@ PR4 TERMINATES CURRENT OUTPUT AND LOCKS@A@@@@UD )@@G@@ CP4 OUT THE DEVICE @]@@@@SPACE 1 @F@@@@ SM PR3 Q UE )@@G@@ SAME AS THE 'X' COMMAND, BUT RE-QUEUES THE @F@@@@ PR4 UF )@@G@@ CURRENT OUTPUT. THE OUTPUT WILL BE TERMINATED @F@@@@ CP4 UG )@@G@@ THE DEVICE LOCKED OUT AND THE OUTPUT WILL BE @E@@@@ UH )@@G@@ QUEUED TO PRINT (PUNCH) AGAIN. NOTE THAT@E@@@@ UI )@@G@@ IF THE OUTPUT WAS @SYM'ED TO A PARTICULAR@C@@@@ DEVICUJ )@@G@@E, IT CAN GO ONLY THERE.@]@@@@SPACE 1 @]@@@@COLUMN 3 @F@@@@ RXX UK )@@G@@AND R+XX COMMANDS ALSO WORK FOR REMOTE SITES (E.G. SM RMMCT4@ @@@@ R20,UL )@@G@@ OR SM RMRK92 R+400). @[@@@@EJECT @C@@@@2 THE QUEUED SYMBIONT KEYINS UM )@@G@@(SQ,SX,SV,SR) @F@@@@ QUEUED SYMBIONT FILES ARE OUTPUT FILES WHICH AUN )@@G@@RE READY TO BE @F@@@@ PRINTED OR PUNCHED AT VARIOUS PRINTER/CARD PUNUO )@@G@@CH DEVICES. THE @E@@@@ OPERATOR MONITORS AND MANIPULATES THESE FILES UP )@@G@@THROUGH THE @F@@@@ FOLLOWING KEYINS. SEE SECTION 3.3.3 OF THE OPERATINUQ )@@G@@G SYSTEM @C@@@@ OPERATOR REFERENCE MANUAL UP-7928 REV. 1. @]@@@@UR )@@G@@SPACE 1 @D@@@@ SQ GENERAL STATUS OF ALL SYMBIONT GROUPS US )@@G@@@]@@@@SPACE 1 @E@@@@ RESPONSE: DEVICE: FF FILES NN PAGES (OR CARDSUT )@@G@@) TT TAPES @]@@@@SPACE 1 @F@@@@ WHERE: FF ARE THE NUMBER OF FIUU )@@G@@LES QUEUED FOR THE DEVICE @B@@@@ NN ARE THE NUMBER OF PAUV )@@G@@GES @C@@@@ TT ARE THE NUMBER OF TAPE FILES @]@@@@SPACE UW )@@G@@1 @C@@@@ DEVICE IS PG1, PG2, RMMCT4, ETC. @]@@@@SPACE UX )@@G@@1 @D@@@@ IF NO FILES ARE QUEUED, THE FOLLOWING IS DISPLAYED: @]@@@@UY )@@G@@SPACE 1 @C@@@@ NO PRINT/PUNCH FILES ARE QUEUED @]@@@@UZ )@@G@@SPACE 1 @]@@@@COLUMN 27 @F@@@@ SQ DEVICE * GIVES STATVA )@@G@@US OF SPECIFIED DEVICE ONLY @E@@@@ SQ RUNID *R GIVES INFOVB )@@G@@ ON SPECIFIED RUNID @G@@@@ SQ RUNID P CHANGES PRIORITYVC )@@G@@ QUEUE OF SPECIFIED RUNID @G@@@@ SQ RUNID FILE P CHANGES PRVD )@@G@@IORITY OF SPECIFIED FILE OF RUNID @E@@@@ SQ DEVICE1 QTO DEVICE2 DIREVE )@@G@@CTS ALL FILES FROM DEVICE1 @A@@@@ TO DEVICE2VF )@@G@@@[@@@@SPACE @F@@@@ SQ RUNID(FILE) DEVICE1 DIRECTS SPECIFIED FILE FROM VG )@@G@@DEVICE1 @A@@@@ QTO DEVICE2 TO DEVICE2@[@@@@SPACE @D@@@@VH )@@G@@ SX A/F DELETES ALL SYMBIONT FILES @F@@@@ SX A/F DEVVI )@@G@@ICE DELETES ALL FILES FOR SPECIFIED DEVICE @E@@@@ SX RUNID (VJ )@@G@@FILE) DELETES SPECIFIED RUNID OR FILES @E@@@@ SV ,SS/UU/REEL# VK )@@G@@ A/F ALL FILES ARE COPIED TO TAPE AND @A@@@@ VL )@@G@@ DELETED @[@@@@SPACE @F@@@@ SV ,SS/UU/REEL# A/F ONLY OPERATES ONVM )@@G@@ FILES FOR SPECIFIED @A@@@@ DEVICE DEVICE @[@@@@VN )@@G@@SP?ACE@C@@@@ SV ,SS/UU/REEL# RUNID UNLOADS UP TO 5 FILES @ @@@@ (FILVO )@@G@@E), RUNID2,.,RUNID5 @]@@@@SPACE 1 @E@@@@ S R ,SS/UU/REEL# A/F VP )@@G@@ RESTORES SAVED SYMBIONT FILES IN @E@@@@ THE VQ )@@G@@SAME MANNER AS THE SV KEYIN @[@@@@EJECT @#@@@@2 THE SS KEYIN @#@@@@VR )@@G@@ DISPLAY FORM: @]@@@@SPACE 1 @F@@@@ STATUS: HHMMSS 0MSGVS )@@G@@ NN, STRT NNN, DDLN NNN @E@@@@ HELD: OPER NNN, TAPEVT )@@G@@ NNN, MASS NNN, SOPT NNN@E@@@@ ACTV: INCR NNN, SWAP NNN,VU )@@G@@ RELD NNN, ITLD NNN@E@@@@ BATCH NNN DEMAND NNN UNOVV )@@G@@PD NNN IDLE @F@@@@ BATCH * NN DEMAND * NN R/T * NNVW )@@G@@ HOLDS SMART @]@@@@SPACE 1 @^@@@@ DESCRIPTION OF VALUES:@]@@@@VX )@@G@@SPACE 1 @C@@@@ THE '*' IS USED IN THE DISPLAY TO REPRESENT %.@]@@@@VY )@@G@@SPACE 1 @]@@@@COLUMN 14 @D@@@@ HHMMSS = TIME OF DAY IN HOURS, MVZ )@@G@@INUTES AND SECONDS@E@@@@ 0MSG = NUMBER OF OUTSTANDING TYPE-AND-READWA )@@G@@ MESSAGES ON@^@@@@ THE CONSOLE@E@@@@ STRT = NUMBER OF UWB )@@G@@NOPENED RUNS WAITING FOR START TIME @C@@@@ DDLN = NUMBER OF UNOPENEWC )@@G@@D DEADLINE RUNS @F@@@@ OPER = NUMBER OF RUNS BEING HELD BY 'CS H'WD )@@G@@ RUNID KEYINS @E@@@@ TAPE = NUMBER OF RUNS BEING HELD FOR TAPE WE )@@G@@OR OTHER @A@@@@ PERIPHERAL FACILITIES @E@@@@ MASS =WF )@@G@@ NUMBER OF RUNS BEING HELD FOR MASS STORAGE @C@@@@ FACILWG )@@G@@ITIES OR CATALOGUED FILES @E@@@@ SOPT = NUMBER OF RUNS WAITING WH )@@G@@UNTIL ANOTHER RUN FINS @B@@@@ DUE TO RUN CARD 'S' OPTION WI )@@G@@@C@@@@ INCR = NUMBE(F@@@@-10 RATIO = .1000000+01 WJ )@@G@@ SB = .6327734-14 @M@[@@ X = .1000000WK )@@G@@-09 RATIO = .1000000+01 SB = .6327734-13 @M@[@@WL )@@G@@ X = .1000000-08 RATIO = .100000WM )@@G@@0+01 SB = .6327734-12 @M@[@@ X WN )@@G@@= .1000000-07 RATIO = .1000000+01 SB = .6327734-WO )@@G@@11 @M@[@@ X = .1000000-06 RATIOWP )@@G@@ = .1000000+01 SB = .6327729-10 @M@[@@ WQ )@@G@@ X = .1000000-05 RATIO = .9999997+00 SB =WR )@@G@@ .6327690-09 @M@[@@ X = .1000000-04 WS )@@G@@ RATIO = .9999974+00 SB = .6327295-08 @M@[@@ WT )@@G@@ X = .1000000-03 RATIO = .9999742+00 WU )@@G@@ SB = .6323343-07 @M@[@@ X = .1WV )@@G@@000000-02 RATIO = .9997418+00 SB = .6284043-06 WW )@@G@@@M@[@@ X = .1000000-01 RATIO = .WX )@@G@@9974322+00 SB = .5911521-05 @M@[@@ WY )@@G@@ X = .1000000+00 RATIO = .9756191+00 SB = .35WZ )@@G@@35743-04 @M@[@@ X = .1000000+01 XA )@@G@@ RATIO = .8348714+00 SB = .3874860-04 @]@[@@ XB )@@G@@(K@@@@ X = .1000000+02 RATIO = .5351206+00 XC )@@G@@ SB = .8825832-05 @M@[@@ X = .1XD )@@G@@000000+03 RATIO = .3013455+00 SB = .1348713-05 XE )@@G@@@M@[@@ X = .1000000+04 RATIO = .XF )@@G@@1686671+00 SB = .1960853-06 @M@[@@ XG )@@G@@ X = .1000000+05 RATIO = .9757373-01 SB = .28XH )@@G@@36242-07 @M@[@@ X = .1000000+06 XI )@@G@@ RATIO = .6119511-01 SB = .4100323-08 @M@[@@ XJ )@@G@@ X = .1000000+07 RATIO = .4487406-01 XK )@@G@@ SB = .5927486-09 @M@[@@ X = .1000000XL )@@G@@+08 RATIO = .4107780-01 SB = .8568815-10 @M@[@@XM )@@G@@ X = .1000000+09 RATIO = .463959XN )@@G@@1-01 SB = .1238713-10 @M@[@@ X XO )@@G@@= .1000000+10 RATIO = .5998197-01 SB = .1790691-XP )@@G@@11 @M@[@@ X = .1000000+11 RATIOXQ )@@G@@ = .8284140-01 SB = .2588635-12 @M@[@@ XR )@@G@@ X = .1000000+12 RATIO = .1176443+00 SB =XS )@@G@@ .3742146-13 @K@[@@ X = .1000000+13 XT )@@G@@ RATIO = .1689147+00 SB = .54(]@@@@09669-14 @M@[@@XU )@@G@@ X = .1000000+14 RATIO = .243555XV )@@G@@0+00 SB = .7820251-15 @M@[@@ X XW )@@G@@= .1000000+15 RATIO = .3517412+00 SB = .1130500-XX )@@G@@15 @M@[@@ X = .1000000+16 RATIOXY )@@G@@ = .5082918+00 SB = .1634258-16 @M@[@@ XZ )@@G@@ X = .1000000+17 RATIO = .7346875+00 SB =YA )@@G@@ .2362494-17 @M@[@@ X = .1000000+18 YB )@@G@@ RATIO = .1062013+01 SB = .3415236-18 @M@[@@ YC )@@G@@ X = .1000000+19 RATIO = .1535222+01 YD )@@G@@ SB = .4937086-19 @M@[@@ X = .1YE )@@G@@000000+20 RATIO = .2219310+01 SB = .7137082-20 YF )@@G@@@M@[@@ X = .1000000+21 RATIO = .YG )@@G@@3208239+01 SB = .1031741-20 @[__@@ @H@[@@ YH )@@G@@ ***** SEARCH 5 ***** @@@[@@YI )@@G@@@N@[@@ CNV = .47410+00 CNT = .42300+00 YJ )@@G@@ A = .44940-01 B = .26179+01 @@@[@@@J@[@@ YK )@@G@@ A2 = .20196-02 B2 = .68535+0YL )@@G@@1 @@@[@@@@@[@@@G@[@@ X = .1000000-19 YM )@@G@@ RATIO = .100000(A@@@@0+01 SB = .5162384-23 @M@[@@YN )@@G@@ X = .1000000-18 RATIO = .100000YO )@@G@@0+01 SB = .5162384-22 @M@[@@ X YP )@@G@@= .1000000-17 RATIO = .1000000+01 SB = .5162384-YQ )@@G@@21 @M@[@@ X = .1000000-16 RATIOYR )@@G@@ = .1000000+01 SB = .5162384-20 @M@[@@ YS )@@G@@ X = .1000000-15 RATIO = .1000000+01 SB =YT )@@G@@ .5162384-19 @M@[@@ X = .1000000-14 YU )@@G@@ RATIO = .1000000+01 SB = .5162384-18 @M@[@@ YV )@@G@@ X = .1000000-13 RATIO = .1000000+01 YW )@@G@@ SB = .5162384-17 @M@[@@ X = .1YX )@@G@@000000-12 RATIO = .1000000+01 SB = .5162384-16 YY )@@G@@@M@[@@ X = .1000000-11 RATIO = .YZ )@@G@@1000000+01 SB = .5162384-15 @M@[@@ ZA )@@G@@ X = .1000000-10 RATIO = .1000000+01 SB = .51ZB )@@G@@62384-14 @M@[@@ X = .1000000-09 ZC )@@G@@ RATIO = .1000000+01 SB = .5162384-13 @M@[@@ ZD )@@G@@ X = .1000000-08 RATIO = .1000000+01 ZE )@@G@@ SB = .5162384-12 @B@[@@ X = .1000000ZF )@@G@@(F@@@@-07 RATIO = .1000000+01 SB = .5162383-11 ZG )@@G@@@M@[@@ X = .1000000-06 RATIO = .ZH )@@G@@1000000+01 SB = .5162378-10 @M@[@@ ZI )@@G@@ X = .1000000-05 RATIO = .9999997+00 SB = .51ZJ )@@G@@62327-09 @M@[@@ X = .1000000-04 ZK )@@G@@ RATIO = .9999974+00 SB = .5161812-08 @M@[@@ ZL )@@G@@ X = .1000000-03 RATIO = .9999743+00 ZM )@@G@@ SB = .5156674-07 @M@[@@ X = .1000000ZN )@@G@@-02 RATIO = .9997433+00 SB = .5105735-06 @M@[@@ZO )@@G@@ X = .1000000-01 RATIO = .997445ZP )@@G@@8+00 SB = .4637821-05 @M@[@@ X ZQ )@@G@@= .1000000+00 RATIO = .9756921+00 SB = .2210420-ZR )@@G@@04 @M@[@@ X = .1000000+01 RATIOZS )@@G@@ = .8349380+00 SB = .1667929-04 @M@[@@ ZT )@@G@@ X = .1000000+02 RATIO = .5351350+00 SB =ZU )@@G@@ .3418682-05 @M@[@@ X = .1000000+03 ZV )@@G@@ RATIO = .3013477+00 SB = .5159159-06 @M@[@@ ZW )@@G@@ X = .1000000+04 RATIO = .1686674+00 ZX )@@G@@ SB = .7491171-07 @]@[@@ (K@@@@ X ZY )@@G@@= .1000000+05 RATIO = .9757377-01 SB = .1083409-ZZ )@@G@@07 @M@[@@ X = .1000000+06 RATIOAA )@@G@@ = .6119512-01 SB = .1566252-08 @M@[@@ AB )@@G@@ X = .1000000+07 RATIO = .4487406-01 SB =AC )@@G@@ .2264193-09 @M@[@@ X = .1000000+08 AD )@@G@@ RATIO = .4107780-01 SB = .3273134-10 @M@[@@ AE )@@G@@ X = .1000000+09 RATIO = .4639591-01 AF )@@G@@ SB = .4731662-11 @M@[@@ X = .1AG )@@G@@000000+10 RATIO = .5998197-01 SB = .6840120-12 AH )@@G@@@M@[@@ X = .1000000+11 RATIO = .AI )@@G@@8284140-01 SB = .9888120-13 @M@[@@ AJ )@@G@@ X = .1000000+12 RATIO = .1176443+00 SB = .14AK )@@G@@29433-13 @M@[@@ X = .1000000+13 AL )@@G@@ RATIO = .1689147+00 SB = .2066397-14 @M@[@@ AM )@@G@@ X = .1000000+14 RATIO = .2435550+00 AN )@@G@@ SB = .2987196-15 @M@[@@ X = .1000000AO )@@G@@+15 RATIO = .3517412+00 SB = .4318309-16 @K@[@@AP )@@G@@ X = .1000000+16 RATIO = .508291AQ )@@G@@8+00 SB = .62(]@@@@42573-17 @M@[@@ AR )@@G@@ X = .1000000+17 RATIO = .7346875+00 SB = .90AS )@@G@@24303-18 @M@[@@ X = .1000000+18 AT )@@G@@ RATIO = .1062013+01 SB = .1304559-18 @M@[@@ AU )@@G@@ X = .1000000+19 RATIO = .1535222+01 AV )@@G@@ SB = .1885878-19 @M@[@@ X = .1000000AW )@@G@@+20 RATIO = .2219310+01 SB = .2726237-20 @M@[@@AX )@@G@@ X = .1000000+21 RATIO = .320823AY )@@G@@9+01 SB = .3941065-21 @[__@@ @H@[@@ AZ )@@G@@ ***** SEARCH 6 ***** @@@[@@@N@[@@BA )@@G@@ CNV = .47410+00 CNT = .42300+00 BB )@@G@@ A = .44940-01 B = .33300+01 @@@[@@@J@[@@ BC )@@G@@ A2 = .20196-02 B2 = .11089+02 BD )@@G@@@@@[@@@@@[@@@M@[@@ X = .1000000-19 BE )@@G@@ RATIO = .1000000+01 SB = .4211651-23 @M@[@@ BF )@@G@@ X = .1000000-18 RATIO = .1000000+01 BG )@@G@@ SB = .4211651-22 @M@[@@ X = .1000000BH )@@G@@-17 RATIO = .1000000+01 SB = .4211651-21 @G@[@@BI )@@G@@ X = .1000000-16 RATIO = .100000BJ )@@G@@(A@@@@0+01 SB = .4211651-20 @M@[@@ BK )@@G@@ X = .1000000-15 RATIO = .1000000+01 SB = .42BL )@@G@@11651-19 @M@[@@ X = .1000000-14 BM )@@G@@ RATIO = .1000000+01 SB = .4211651-18 @M@[@@ BN )@@G@@ X = .1000000-13 RATIO = .1000000+01 BO )@@G@@ SB = .4211651-17 @M@[@@ X = .1000000BP )@@G@@-12 RATIO = .1000000+01 SB = .4211651-16 @M@[@@BQ )@@G@@ X = .1000000-11 RATIO = .100000BR )@@G@@0+01 SB = .4211651-15 @M@[@@ X BS )@@G@@= .1000000-10 RATIO = .1000000+01 SB = .4211651-BT )@@G@@14 @M@[@@ X = .1000000-09 RATIOBU )@@G@@ = .1000000+01 SB = .4211651-13 @M@[@@ BV )@@G@@ X = .1000000-08 RATIO = .1000000+01 SB =BW )@@G@@ .4211651-12 @M@[@@ X = .1000000-07 BX )@@G@@ RATIO = .1000000+01 SB = .4211650-11 @M@[@@ BY )@@G@@ X = .1000000-06 RATIO = .1000000+01 BZ )@@G@@ SB = .4211644-10 @M@[@@ X = .1CA )@@G@@000000-05 RATIO = .9999997+00 SB = .4211576-09 CB )@@G@@@B@[@@ X = .1000000(F@@@@-04 RATIOCC )@@G@@ = .9999974+00 SB = .4210904-08 @M@[@@ CD )@@G@@ X = .1000000-03 RATIO = .9999745+00 SB =CE )@@G@@ .4204186-07 @M@[@@ X = .1000000-02 CF )@@G@@ RATIO = .9997452+00 SB = .4137951-06 @M@[@@ CG )@@G@@ X = .1000000-01 RATIO = .9974630+00 CH )@@G@@ SB = .3558712-05 @M@[@@ X = .1CI )@@G@@000000+00 RATIO = .9757628+00 SB = .1266286-04 CJ )@@G@@@M@[@@ X = .1000000+01 RATIO = .CK )@@G@@8349834+00 SB = .6892339-05 @M@[@@ CL )@@G@@ X = .1000000+02 RATIO = .5351440+00 SB = .13CM )@@G@@17268-05 @M@[@@ X = .1000000+03 CN )@@G@@ RATIO = .3013491+00 SB = .1972437-06 @M@[@@ CO )@@G@@ X = .1000000+04 RATIO = .1686676+00 CP )@@G@@ SB = .2861745-07 @M@[@@ X = .1000000CQ )@@G@@+05 RATIO = .9757380-01 SB = .4138464-08 @M@[@@CR )@@G@@ X = .1000000+06 RATIO = .611951CS )@@G@@2-01 SB = .5982807-09 @M@[@@ X CT )@@G@@= .1000000+07 RATIO = .4487406-01 SB = .8648814-CU )@@G@@10 @]@[@@ (K@@@@ X = .1000000+08 CV )@@G@@ RATIO = .4107780-01 SB = .1250278-10 @M@[@@ CW )@@G@@ X = .1000000+09 RATIO = .4639591-01 CX )@@G@@ SB = .1807410-11 @M@[@@ X = .1000000CY )@@G@@+10 RATIO = .5998197-01 SB = .2612803-12 @M@[@@CZ )@@G@@ X = .1000000+11 RATIO = .828414DA )@@G@@0-01 SB = .3777084-13 @M@[@@ X DB )@@G@@= .1000000+12 RATIO = .1176443+00 SB = .5460177-DC )@@G@@14 @M@[@@ X = .1000000+13 RATIODD )@@G@@ = .1689147+00 SB = .7893265-15 @M@[@@ DE )@@G@@ X = .1000000+14 RATIO = .2435550+00 SB =DF )@@G@@ .1141055-15 @M@[@@ X = .1000000+15 DG )@@G@@ RATIO = .3517412+00 SB = .1649516-16 @M@[@@ DH )@@G@@ X = .1000000+16 RATIO = .5082918+00 DI )@@G@@ SB = .2384551-17 @M@[@@ X = .1DJ )@@G@@000000+17 RATIO = .7346875+00 SB = .3447122-18 DK )@@G@@@M@[@@ X = .1000000+18 RATIO = .DL )@@G@@1062013+01 SB = .4983181-19 @K@[@@ DM )@@G@@ X = .1000000+19 RATIO = .1535222+01 SB = .72DN )@@G@@(]@@@@03716-20 @M@[@@ X = .1000000+20 DO )@@G@@ RATIO = .2219310+01 SB = .1041374-20 @M@[@@ DP )@@G@@ X = .1000000+21 RATIO = .3208239+01 DQ )@@G@@ SB = .1505416-21 @[__@@ @H@[@@ DR )@@G@@ ***** SEARCH 7 ***** @@@[@@@N@[@@ DS )@@G@@ CNV = .47410+00 CNT = .42300+00 A = DT )@@G@@.44940-01 B = .42358+01 @@@[@@@J@[@@ DU )@@G@@ A2 = .20196-02 B2 = .17942+02 @@@[@@DV )@@G@@@@@[@@@M@[@@ X = .1000000-19 RATIODW )@@G@@ = .1000000+01 SB = .3436010-23 @M@[@@ DX )@@G@@ X = .1000000-18 RATIO = .1000000+01 SB =DY )@@G@@ .3436010-22 @M@[@@ X = .1000000-17 DZ )@@G@@ RATIO = .1000000+01 SB = .3436010-21 @M@[@@ EA )@@G@@ X = .1000000-16 RATIO = .1000000+01 EB )@@G@@ SB = .3436010-20 @M@[@@ X = .1EC )@@G@@000000-15 RATIO = .1000000+01 SB = .3436010-19 ED )@@G@@@M@[@@ X = .1000000-14 RATIO = .EE )@@G@@1000000+01 SB = .3436010-18 @G@[@@ EF )@@G@@ X = .1000000-13 RATIO = .100000(A@@@@0+01 SB =EG )@@G@@ .3436010-17 @M@[@@ X = .1000000-12 EH )@@G@@ RATIO = .1000000+01 SB = .3436010-16 @M@[@@ EI )@@G@@ X = .1000000-11 RATIO = .1000000+01 EJ )@@G@@ SB = .3436010-15 @M@[@@ X = .1EK )@@G@@000000-10 RATIO = .1000000+01 SB = .3436010-14 EL )@@G@@@M@[@@ X = .1000000-09 RATIO = .EM )@@G@@1000000+01 SB = .3436010-13 @M@[@@ EN )@@G@@ X = .1000000-08 RATIO = .1000000+01 SB = .34EO )@@G@@36010-12 @M@[@@ X = .1000000-07 EP )@@G@@ RATIO = .1000000+01 SB = .3436009-11 @M@[@@ EQ )@@G@@ X = .1000000-06 RATIO = .1000000+01 ER )@@G@@ SB = .3436001-10 @M@[@@ X = .1000000ES )@@G@@-05 RATIO = .9999997+00 SB = .3435912-09 @M@[@@ET )@@G@@ X = .1000000-04 RATIO = .999997EU )@@G@@5+00 SB = .3435029-08 @M@[@@ X EV )@@G@@= .1000000-03 RATIO = .9999748+00 SB = .3426221-EW )@@G@@07 @M@[@@ X = .1000000-02 RATIOEX )@@G@@ = .9997478+00 SB = .3340113-06 @B@[@@ EY )@@G@@ X = .1000000(F@@@@-01 RATIO = .9974838+00 EZ )@@G@@ SB = .2641782-05 @M@[@@ X = .1000000FA )@@G@@+00 RATIO = .9758256+00 SB = .6628602-05 @M@[@@FB )@@G@@ X = .1000000+01 RATIO = .835013FC )@@G@@3+00 SB = .2769477-05 @M@[@@ X FD )@@G@@= .1000000+02 RATIO = .5351496+00 SB = .5058933-FE )@@G@@06 @M@[@@ X = .1000000+03 RATIOFF )@@G@@ = .3013499+00 SB = .7538446-07 @M@[@@ FG )@@G@@ X = .1000000+04 RATIO = .1686677+00 SB =FH )@@G@@ .1093194-07 @M@[@@ X = .1000000+05 FI )@@G@@ RATIO = .9757382-01 SB = .1580828-08 @M@[@@ FJ )@@G@@ X = .1000000+06 RATIO = .6119512-01 FK )@@G@@ SB = .2285326-09 @M@[@@ X = .1FL )@@G@@000000+07 RATIO = .4487406-01 SB = .3303692-10 FM )@@G@@@M@[@@ X = .1000000+08 RATIO = .FN )@@G@@4107780-01 SB = .4775839-11 @M@[@@ FO )@@G@@ X = .1000000+09 RATIO = .4639591-01 SB = .69FP )@@G@@03982-12 @M@[@@ X = .1000000+10 FQ )@@G@@ RATIO = .5998197-01 SB = .9980439-13 @]@[@@ FR )@@G@@(K@@@@ X = .1000000+11 RATIO = .8284139-01 FS )@@G@@ SB = .1442778-13 @M@[@@ X = .1FT )@@G@@000000+12 RATIO = .1176443+00 SB = .2085689-14 FU )@@G@@@M@[@@ X = .1000000+13 RATIO = .FV )@@G@@1689147+00 SB = .3015086-15 @M@[@@ FW )@@G@@ X = .1000000+14 RATIO = .2435550+00 SB = .43FX )@@G@@58626-16 @M@[@@ X = .1000000+15 FY )@@G@@ RATIO = .3517412+00 SB = .6300857-17 @M@[@@ FZ )@@G@@ X = .1000000+16 RATIO = .5082918+00 GA )@@G@@ SB = .9108558-18 @M@[@@ X = .1000000GB )@@G@@+17 RATIO = .7346875+00 SB = .1316739-18 @M@[@@GC )@@G@@ X = .1000000+18 RATIO = .106201GD )@@G@@3+01 SB = .1903486-19 @M@[@@ X GE )@@G@@= .1000000+19 RATIO = .1535222+01 SB = .2751690-GF )@@G@@20 @M@[@@ X = .1000000+20 RATIOGG )@@G@@ = .2219310+01 SB = .3977861-21 @M@[@@ GH )@@G@@ X = .1000000+21 RATIO = .3208239+01 SB =GI )@@G@@ .5750420-22 @[__@@ @H@[@@ GJ )@@G@@ ***** SEARCH 8 ***** @@@[@@@N@[@@ GK )@@G@@ CNV = .47410+00 CNT = .42300+00 A = .44940-01 GL )@@G@@ B = .53880+01 @@@[@@@J@[@@ GM )@@G@@ A2 = .20196-02 B2 = .29030+02 @@@[@@@@@[@@@M@[@@GN )@@G@@ X = .1000000-19 RATIO = .100000GO )@@G@@0+01 SB = .2803216-23 @M@[@@ X GP )@@G@@= .1000000-18 RATIO = .1000000+01 SB = .2803216-GQ )@@G@@22 @M@[@@ X = .1000000-17 RATIOGR )@@G@@ = .1000000+01 SB = .2803216-21 @M@[@@ GS )@@G@@ X = .1000000-16 RATIO = .1000000+01 SB =GT )@@G@@ .2803216-20 @M@[@@ X = .1000000-15 GU )@@G@@ RATIO = .1000000+01 SB = .2803216-19 @M@[@@ GV )@@G@@ X = .1000000-14 RATIO = .1000000+01 GW )@@G@@ SB = .2803216-18 @M@[@@ X = .1GX )@@G@@000000-13 RATIO = .1000000+01 SB = .2803216-17 GY )@@G@@@M@[@@ X = .1000000-12 RATIO = .GZ )@@G@@1000000+01 SB = .2803216-16 @M@[@@ HA )@@G@@ X = .1000000-11 RATIO = .1000000+01 SB = .28HB )@@G@@03216-15 @H@[@@ X = .1000000-10 HC )@@G@@ RATIO = .1000000+01 ( @@@@ SB = .2803216-14 @M@[@@ HD )@@G@@ X = .1000000-09 RATIO = .1000000+01 HE )@@G@@ SB = .2803216-13 @M@[@@ X = .1HF )@@G@@000000-08 RATIO = .1000000+01 SB = .2803216-12 HG )@@G@@@M@[@@ X = .1000000-07 RATIO = .HH )@@G@@1000000+01 SB = .2803215-11 @M@[@@ HI )@@G@@ X = .1000000-06 RATIO = .1000000+01 SB = .28HJ )@@G@@03203-10 @M@[@@ X = .1000000-05 HK )@@G@@ RATIO = .9999997+00 SB = .2803087-09 @M@[@@ HL )@@G@@ X = .1000000-04 RATIO = .9999975+00 HM )@@G@@ SB = .2801926-08 @M@[@@ X = .1000000HN )@@G@@-03 RATIO = .9999751+00 SB = .2790357-07 @M@[@@HO )@@G@@ X = .1000000-02 RATIO = .999751HP )@@G@@1+00 SB = .2678819-06 @M@[@@ X HQ )@@G@@= .1000000-01 RATIO = .9975084+00 SB = .1870510-HR )@@G@@05 @M@[@@ X = .1000000+00 RATIOHS )@@G@@ = .9758765+00 SB = .3192521-05 @M@[@@ HT )@@G@@ X = .1000000+01 RATIO = .8350326+00 SB =HU )@@G@@ .1092426-05 @C@[@@ X = .1000000+02 HV )@@G@@(E@@@@ RATIO = .5351531+00 SB = .1938891-06 @M@[@@HW )@@G@@ X = .1000000+03 RATIO = .301350HX )@@G@@4+00 SB = .2880517-07 @M@[@@ X HY )@@G@@= .1000000+04 RATIO = .1686678+00 SB = .4175947-HZ )@@G@@08 @M@[@@ X = .1000000+05 RATIOIA )@@G@@ = .9757383-01 SB = .6038498-09 @M@[@@ IB )@@G@@ X = .1000000+06 RATIO = .6119512-01 SB =IC )@@G@@ .8729539-10 @M@[@@ X = .1000000+07 ID )@@G@@ RATIO = .4487406-01 SB = .1261951-10 @M@[@@ IE )@@G@@ X = .1000000+08 RATIO = .4107780-01 IF )@@G@@ SB = .1824285-11 @M@[@@ X = .1IG )@@G@@000000+09 RATIO = .4639591-01 SB = .2637197-12 IH )@@G@@@M@[@@ X = .1000000+10 RATIO = .II )@@G@@5998197-01 SB = .3812349-13 @M@[@@ IJ )@@G@@ X = .1000000+11 RATIO = .8284139-01 SB = .55IK )@@G@@11155-14 @M@[@@ X = .1000000+12 IL )@@G@@ RATIO = .1176443+00 SB = .7966960-15 @M@[@@ IM )@@G@@ X = .1000000+13 RATIO = .1689147+00 IN )@@G@@ SB = .1151709-15 @#@[@@ (J@@@@ X = .1IO )@@G@@000000+14 RATIO = .2435550+00 SB = .1664917-16 IP )@@G@@@M@[@@ X = .1000000+15 RATIO = .IQ )@@G@@3517412+00 SB = .2406814-17 @M@[@@ IR )@@G@@ X = .1000000+16 RATIO = .5082918+00 SB = .34IS )@@G@@79306-18 @M@[@@ X = .1000000+17 IT )@@G@@ RATIO = .7346875+00 SB = .5029706-19 @M@[@@ IU )@@G@@ X = .1000000+18 RATIO = .1062013+01 IV )@@G@@ SB = .7270973-20 @M@[@@ X = .1000000IW )@@G@@+19 RATIO = .1535222+01 SB = .1051096-20 @M@[@@IX )@@G@@ X = .1000000+20 RATIO = .221931IY )@@G@@0+01 SB = .1519471-21 @M@[@@ X IZ )@@G@@= .1000000+21 RATIO = .3208239+01 SB = .2196557-JA )@@G@@22 @[__@@ @H@[@@ JB )@@G@@ ***** SEARCH 9 ***** @@@[@@@N@[@@ CNV = .4JC )@@G@@7410+00 CNT = .42300+00 A = .44940-01 B = JD )@@G@@.68535+01 @@@[@@@J@[@@ A2JE )@@G@@ = .20196-02 B2 = .46971+02 @@@[@@@@@[@@@M@[@@ JF )@@G@@ X = .1000000-19 RATIO = .1000000+01 JG )@@G@@ SB = .2286960-23 @M@[@@ X = .1000000JH )@@G@@-18 RATIO = .1000000+01 SB = .2286960-22 @M@[@@JI )@@G@@ X = .1000000-17 RATIO = .100000JJ )@@G@@0+01 SB = .2286960-21 @M@[@@ X JK )@@G@@= .1000000-16 RATIO = .1000000+01 SB = .2286960-JL )@@G@@20 @M@[@@ X = .1000000-15 RATIOJM )@@G@@ = .1000000+01 SB = .2286960-19 @M@[@@ JN )@@G@@ X = .1000000-14 RATIO = .1000000+01 SB =JO )@@G@@ .2286960-18 @M@[@@ X = .1000000-13 JP )@@G@@ RATIO = .1000000+01 SB = .2286960-17 @M@[@@ JQ )@@G@@ X = .1000000-12 RATIO = .1000000+01 JR )@@G@@ SB = .2286960-16 @M@[@@ X = .1JS )@@G@@000000-11 RATIO = .1000000+01 SB = .2286960-15 JT )@@G@@@M@[@@ X = .1000000-10 RATIO = .JU )@@G@@1000000+01 SB = .2286960-14 @M@[@@ JV )@@G@@ X = .1000000-09 RATIO = .1000000+01 SB = .22JW )@@G@@86960-13 @M@[@@ X = .1000000-08 JX )@@G@@ RATIO = .1000000+01 SB = .2286960-12 @I@[@@ JY )@@G@@ X = .1000000-07 RATIO = .1000000+01 JZ )@@G@@(^@@@@ SB = .2286959-11 @M@[@@ X = .1KA )@@G@@000000-06 RATIO = .1000000+01 SB = .2286943-10 KB )@@G@@@M@[@@ X = .1000000-05 RATIO = .KC )@@G@@9999997+00 SB = .2286790-09 @M@[@@ KD )@@G@@ X = .1000000-04 RATIO = .9999975+00 SB = .22KE )@@G@@85261-08 @M@[@@ X = .1000000-03 KF )@@G@@ RATIO = .9999755+00 SB = .2270063-07 @M@[@@ KG )@@G@@ X = .1000000-02 RATIO = .9997553+00 KH )@@G@@ SB = .2126707-06 @M@[@@ X = .1000000KI )@@G@@-01 RATIO = .9975357+00 SB = .1242793-05 @M@[@@KJ )@@G@@ X = .1000000+00 RATIO = .975914KK )@@G@@9+00 SB = .1434533-05 @M@[@@ X KL )@@G@@= .1000000+01 RATIO = .8350448+00 SB = .4257963-KM )@@G@@06 @M@[@@ X = .1000000+02 RATIOKN )@@G@@ = .5351552+00 SB = .7421555-07 @M@[@@ KO )@@G@@ X = .1000000+03 RATIO = .3013507+00 SB =KP )@@G@@ .1100534-07 @M@[@@ X = .1000000+04 KQ )@@G@@ RATIO = .1686678+00 SB = .1595170-08 @D@[@@ KR )@@G@@ X = .1000000+05 (D@@@@ RATIO = .975738KS )@@G@@3-01 SB = .2306603-09 @M@[@@ X KT )@@G@@= .1000000+06 RATIO = .6119512-01 SB = .3334528-KU )@@G@@10 @M@[@@ X = .1000000+07 RATIOKV )@@G@@ = .4487406-01 SB = .4820427-11 @M@[@@ KW )@@G@@ X = .1000000+08 RATIO = .4107780-01 SB =KX )@@G@@ .6968441-12 @M@[@@ X = .1000000+09 KY )@@G@@ RATIO = .4639591-01 SB = .1007362-12 @M@[@@ KZ )@@G@@ X = .1000000+10 RATIO = .5998197-01 LA )@@G@@ SB = .1456249-13 @M@[@@ X = .1LB )@@G@@000000+11 RATIO = .8284140-01 SB = .2105162-14 LC )@@G@@@M@[@@ X = .1000000+12 RATIO = .LD )@@G@@1176443+00 SB = .3043236-15 @M@[@@ LE )@@G@@ X = .1000000+13 RATIO = .1689147+00 SB = .43LF )@@G@@99320-16 @M@[@@ X = .1000000+14 LG )@@G@@ RATIO = .2435550+00 SB = .6359684-17 @M@[@@ LH )@@G@@ X = .1000000+15 RATIO = .3517412+00 LI )@@G@@ SB = .9193599-18 @M@[@@ X = .1000000LJ )@@G@@+16 RATIO = .5082918+00 SB = .1329032-18 @^@[@@LK )@@G@@ (I@@@@ X = .1000000+17 RATIO = .LL )@@G@@7346875+00 SB = .1921257-19 @M@[@@ LM )@@G@@ X = .1000000+18 RATIO = .1062013+01 SB = .27LN )@@G@@77381-20 @M@[@@ X = .1000000+19 LO )@@G@@ RATIO = .1535222+01 SB = .4015000-21 @M@[@@ LP )@@G@@ X = .1000000+20 RATIO = .2219310+01 LQ )@@G@@ SB = .5804108-22 @M@[@@ X = .1000000LR )@@G@@+21 RATIO = .3208239+01 SB = .8390455-23 @[__@@LS )@@G@@ @H@[@@ *****LT )@@G@@ SEARCH 10 ***** @@@[@@@N@[@@ CNV = .47410+00 LU )@@G@@ CNT = .42300+00 A = .44940-01 B = .87177+01 LV )@@G@@@@@[@@@J@[@@ A2 = .20196-02LW )@@G@@ B2 = .75999+02 @@@[@@@@@[@@@M@[@@ LX )@@G@@ X = .1000000-19 RATIO = .1000000+01 SB = .18LY )@@G@@65781-23 @M@[@@ X = .1000000-18 LZ )@@G@@ RATIO = .1000000+01 SB = .1865781-22 @M@[@@ MA )@@G@@ X = .1000000-17 RATIO = .1000000+01 MB )@@G@@ SB = .1865781-21 @M@[@@ X = .1000000MC )@@G@@-16 RATIO = .1000000+01 SB = .1865781-20 @@@[@@MD )@@G@@(M@@@@ X = .1000000-15 RATIO = .ME )@@G@@1000000+01 SB = .1865781-19 @M@[@@ MF )@@G@@ X = .1000000-14 RATIO = .1000000+01 SB = .18MG )@@G@@65781-18 @M@[@@ X = .1000000-13 MH )@@G@@ RATIO = .1000000+01 SB = .1865781-17 @M@[@@ MI )@@G@@ X = .1000000-12 RATIO = .1000000+01 MJ )@@G@@ SB = .1865781-16 @M@[@@ X = .1000000MK )@@G@@-11 RATIO = .1000000+01 SB = .1865781-15 @M@[@@ML )@@G@@ X = .1000000-10 RATIO = .100000MM )@@G@@0+01 SB = .1865781-14 @M@[@@ X MN )@@G@@= .1000000-09 RATIO = .1000000+01 SB = .1865781-MO )@@G@@13 @M@[@@ X = .1000000-08 RATIOMP )@@G@@ = .1000000+01 SB = .1865781-12 @M@[@@ MQ )@@G@@ X = .1000000-07 RATIO = .1000000+01 SB =MR )@@G@@ .1865779-11 @M@[@@ X = .1000000-06 MS )@@G@@ RATIO = .1000000+01 SB = .1865759-10 @M@[@@ MT )@@G@@ X = .1000000-05 RATIO = .9999997+00 MU )@@G@@ SB = .1865557-09 @I@[@@ X = .1MV )@@G@@000000-04 RATIO = .9999976+00 (^@@@@ SB = .1863542-MW )@@G@@08 @M@[@@ X = .1000000-03 RATIOMX )@@G@@ = .9999761+00 SB = .1843588-07 @M@[@@ MY )@@G@@ X = .1000000-02 RATIO = .9997608+00 SB =MZ )@@G@@ .1661803-06 @M@[@@ X = .1000000-01 NA )@@G@@ RATIO = .9975639+00 SB = .7630548-06 @M@[@@ NB )@@G@@ X = .1000000+00 RATIO = .9759421+00 NC )@@G@@ SB = .6113391-06 @M@[@@ X = .1ND )@@G@@000000+01 RATIO = .8350525+00 SB = .1647100-06 NE )@@G@@@M@[@@ X = .1000000+02 RATIO = .NF )@@G@@5351565+00 SB = .2838532-07 @M@[@@ NG )@@G@@ X = .1000000+03 RATIO = .3013509+00 SB = .42NH )@@G@@04383-08 @M@[@@ X = .1000000+04 NI )@@G@@ RATIO = .1686679+00 SB = .6093341-09 @M@[@@ NJ )@@G@@ X = .1000000+05 RATIO = .9757384-01 NK )@@G@@ SB = .8810820-10 @M@[@@ X = .1000000NL )@@G@@+06 RATIO = .6119512-01 SB = .1273730-10 @M@[@@NM )@@G@@ X = .1000000+07 RATIO = .448740NN )@@G@@6-01 SB = .1841317-11 @D@[@@ X NO )@@G@@= .1000000+08 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ON )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ST )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@US )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ED )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ER )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ES )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ET )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@*[@@@@*SDFF*@]@@@@ENT EDN$ @^@@@@IN EDN1,EDN2EV )@@G@@,DYN,INFO @ @@@@IN SDFI,SDFO,EDIT$,INFOR$ @[@@@@END ___@@@@@@@@@EW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[@@@@*SDFF*@]@@@@ENT EDEX )@@G@@N @^@@@@IN EDN1,EDN2,DYN,INFO @ @@@@IN SDFI,SDFO,EDIT$,INFOR$ EY )@@G@@@[@@@@END ___@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EZ )@@G@@*[@@@@*SDFF*@ @@@@LEVEL EQU ' 7.1.0' @^@@@@REP EQU FA )@@G@@ 1 @ @@@@PF FORM 12,6,18 @^@@@@P PROC 4,3 FB )@@G@@@#@@@@C$* NAME @A@@@@C$F FORM 36,6,6,6,18 @G@@@@FC )@@G@@ C$F P(1,1),P(2,1),1*P(2,*1),P(2,2)*(P(2)=2),(P(3,1),P(3,2),P(3,3)) FD )@@G@@@ @@@@ + P(4,1) @#@@@@ END @#@@@@$(0) FE )@@G@@ AXR$ @ @@@@EDN* LXI,U A0,0201 @ @@@@ LXM,U FF )@@G@@ A0,$+3 @ @@@@ ER FORK$ @ @@@@ ER FG )@@G@@ EXIT$ @ @@@@ L,U A0,'EDN' @ @@@@ ER FH )@@G@@ NAME$ @ @@@@ S A0,NAME @^@@@@ L,U FI )@@G@@ A1,1@A@@@@ TEP,U A5,1*/('Z'-'P') @ @@@@ S FJ )@@G@@ A1,PROMPT @ @@@@ TEP A5,IOPTION@ @@@@ S FK )@@G@@ A1,IOPT @ @@@@ TEP A5,AOPTION@ @@@@ S FL )@@G@@ A1,AOPT @^@@@@ TOP,U A5,2@A@@@@ TEP,U A5,1FM )@@G@@*/('Z'-'S') @ @@@@ S A1,SQSW @^@@@@ TOP,U FN )@@G@@ A5,2@ @@@@ TEP A5,LOPTION@ @@@@ S A1,LFO )@@G@@NSW @ @@@@ TOP A5,BOPTION@ @@@@ S A1,BFP )@@G@@OPT @ @@@@ TEP A5,DOPTION@ @@@@ S A1,DFQ )@@G@@OPT @ @@@@ L,U A0,RLIST @ @@@@ L A1,PFR )@@G@@CTPF @^@@@@ ER PCT$@ @@@@ DL A3,,A0 FS )@@G@@@ @@@@ DS A3,BUF00 @ @@@@ L,U A0,BUF00 FT )@@G@@@^@@@@ ER PFS$@ @@@@ JZ A2,GTCNF @ @@@@FU )@@G@@ SZ CONFR$ @^@@@@ LN,U A2,1@ @@@@ FV )@@G@@ A,H1 A2,RLSTW @ @@@@ SM,H1 A2,RLSTW @ @@@@GTCNF FW )@@G@@ DTE A3,LIB$$$ @ @@@@ TNZ,H1 RLSTW @ @@@@ FX )@@G@@ J LNKUP @ @@@@ L A0,RLSTW @ @@@@ FY )@@G@@ ER RLIST$ @[@@@@LNKUP @ @@@@ DO 1-REP , J EDN$ FZ )@@G@@@^@@@@ ON REP @ @@@@ L A0,EDTOR$ @ @@@@GA )@@G@@ ER RLINK$ @ @@@@ P$RINT JRKRTN1 @ @@@@GB )@@G@@ P$RINT JRKRTN2 @^@@@@ SZ A0 @ @@@@ GC )@@G@@ ER IALL$ @^@@@@ ER ERR$@ @@@@DBANKL + GD )@@G@@ LEVEL @E@@@@JRKRTM1 'REP RETURNED TO INITIAL LINGE )@@G@@K POINT.' @B@@@@JRKRTN1 + 0200+$-JRKRTM1,JRKRTM1@G@@@@JRKRTMGF )@@G@@2 'EDITOR CODE NOT AVAILABLE FOR FURTHER EXECUTION.' @B@@@@GG )@@G@@JRKRTN2 + 0100+$-JRKRTM2,JRKRTM2@#@@@@ OFF @^@@@@GH )@@G@@RLIST + 0D @ @@@@ DO REP ,; @#@@@@EDTOR$GI )@@G@@ 'EDN$' @#@@@@CONFR$ 'CONFR$'@A@@@@RLSTW + 1+REP,RLISGJ )@@G@@T @^@@@@LIB$$$ 'LIB$ '@ @@@@NINTR$* L,H2 A0,,X11 GK )@@G@@@ @@@@ S,H2 A0,SPLERR @E@@@@ SZ EDN GL )@@G@@ . LAST COMMAND = INPUT @ @@@@ J 1,X11 @ @@@@GM )@@G@@IO2 L,U A1,UNIT5 @^@@@@ L,U A0,5@ @@@@ GN )@@G@@ L,H2 X11,SPLERR@ @@@@ AN,U X11,3 @^@@@@ GO )@@G@@ SZ SFG @ @@@@ J RETR+2 @ @@@@SPLERR J GP )@@G@@ NOFILE @^@@@@CONTIN + 0D @ @@@@ DS GQ )@@G@@ A0,CSV @ @@@@ L,H2 A0,CONTIN @^@@@@ A,U GR )@@G@@ A0,1@ @@@@ S,H2 A0,CONTIN @ @@@@ L,S3 A0,CGS )@@G@@ONTIN @ @@@@ L,S1 A1,CONTIN @ @@@@ TE,U A0,0GT )@@G@@10 @ @@@@ J EMODE @^@@@@ TG,U A1,4GU )@@G@@@^@@@@ L,U A1,3@ @@@@ L A0,IIM,A1 @ @@@@GV )@@G@@ ER PRINT$ @^@@@@ TE,U A1,1@^@@@@ GW )@@G@@ J $+4 @ @@@@ L,U A0,IICMPK @^@@@@ ERGX )@@G@@ COM$@^@@@@ J RTN1@^@@@@ TNZ TERMGY )@@G@@@^@@@@ TE,U A1,2@^@@@@ J RTN1@ @@@@ GZ )@@G@@ S A1,RBKF @^@@@@ J RTN1@ @@@@EMODE L,HA )@@G@@S2 A0,CONTIN @^@@@@ TNE,U A1,1@^@@@@ J HB )@@G@@ IO1 @^@@@@ TE,U A1,4@ @@@@ J OTHER HC )@@G@@@ @@@@ TG,U A0,040 @ @@@@ TG,U A0,045 HD )@@G@@@ @@@@ J OTHER @^@@@@ TZ TERM@ @@@@HE )@@G@@ J OTHER @^@@@@ LN,U A0,0@^@@@@ HF )@@G@@ J RTN2@^@@@@IO1 TE,U A0,5@ @@@@ TNE,U HG )@@G@@ A0,022 @^@@@@ J $+2 @^@@@@ J IO3 HH )@@G@@@A@@@@ L,H2 A1,CONTIN+1 @ @@@@ TE,U A1,UHI )@@G@@NIT1+1@^@@@@ J IO3 @ @@@@ L A0,NOEFS HJ )@@G@@@ @@@@ ER PRINT$ @ @@@@ L,U A0,,A1 HK )@@G@@@^@@@@ J EOF @^@@@@IO3 DSL A0,3@^@@@@ HL )@@G@@ LSSL A0,3@^@@@@ LDSL A0,3@ @@@@ A,U HM )@@G@@ A0,'00' @ @@@@ S,T2 A0,EMS1+1 @A@@@@ L,H2 HN )@@G@@ A0,CONTIN+1 @ @@@@ L A1,,A0 @ @@@@ S HO )@@G@@ A1,EMS1+2 @ @@@@ L A0,EMSP1 @ @@@@ ERHP )@@G@@ PRINT$ @ @@@@ TNE A1,UNIT5+1@^@@@@ J HQ )@@G@@ IO2 @ @@@@PLSTIN TZ INITOVER @ @@@@ J HR )@@G@@ NOFILE @ @@@@ L A0,IUNIT @ @@@@ A,U HS )@@G@@ A0,46 @A@@@@ S,S2 A0,LSTINP+4 @ @@@@ L HT )@@G@@ A0,LSTINPM@ @@@@ ER PRINT$ @ @@@@ J HU )@@G@@ NOFILE @ @@@@RTN1 L A0,CSV @ @@@@RTN2 L HV )@@G@@ A1,CSV+1 @ @@@@ SZ,H1 CONTIN @ @@@@ J HW )@@G@@ *CONTIN @^@@@@OTHER LSSL A1,3@^@@@@ DSL HX )@@G@@ A0,3@^@@@@ LSSL A0,3@^@@@@ LDSL A0,3@ @@@@HY )@@G@@ A,U A0,'00' @ @@@@ S,T2 A0,EMS2+3 @ @@@@HZ )@@G@@ LDSL A0,30 @^@@@@ LSSL A0,3@^@@@@ IA )@@G@@ LDSL A0,3@ @@@@ A,U A0,'00' @ @@@@ S,IB )@@G@@T3 A0,EMS2+1 @ @@@@ L A0,EMSP2 @ @@@@ ERIC )@@G@@ PRINT$ @ @@@@ L,S1 A0,CONTIN @^@@@@ TNID )@@G@@Z TERM@^@@@@ TE,U A0,2@ @@@@ J PLSTIE )@@G@@IN @ @@@@ L,S2 A0,CONTIN @^@@@@ TG,U A0,3IF )@@G@@@ @@@@ J *SPLERR @ @@@@ J PLSTIN IG )@@G@@@^@@@@NOFILE SZ A0 @ @@@@ ER IALL$ @ @@@@IH )@@G@@ TNZ INITOVER @ @@@@ J NOFIL1 @ @@@@II )@@G@@ L,U X1,ENDMSI @ @@@@ J NOFIL2 @ @@@@IJ )@@G@@EMS1 'I/O ERR $$: FILE$$'@A@@@@EMSP1 + 0100+$-EMS1,EMS1IK )@@G@@@A@@@@EMS2 'ERR: TYPE $$, CODE $$' @A@@@@EMSP2 + 0100IL )@@G@@+$-EMS2,EMS2@B@@@@LSTINP 'LAST INPUT FILE WAS EDN$$$' @B@@@@LSTINPIM )@@G@@M + 0100+$-LSTINP,LSTINP @A@@@@NOEFSM 'NO INPUT EOF SENTININ )@@G@@EL.' @B@@@@NOEFS + 0100+$-NOEFSM,NOEFSM @ @@@@IIM0 'NIO )@@G@@YU EDN ACTIVE. ' @ @@@@IIM1 'OPERATOR INTRPT.' @ @@@@IIM2 'IIP )@@G@@NTRPT RECEIVED.' @ @@@@IIM3 'MAX TIME INTRPT.' @^@@@@IIM EQIQ )@@G@@U $-1 @ @@@@ + 0103,IIM1 @ @@@@ + IR )@@G@@ 0103,IIM2 @ @@@@ + 0103,IIM3 @^@@@@IICMPK + IS )@@G@@ 0 @ @@@@ + 15,IIM0 @^@@@@ + 0 IT )@@G@@@^@@@@CSV + 0D @#@@@@FROPT ',A ,A '@^@@@@OUTELT + IU )@@G@@ 0D @^@@@@OUTVER + 0D @ @@@@ECYCLE + -0,-IV )@@G@@0 @A@@@@ECYCLI EQUF ECYCLE,,XH1 @A@@@@ECYCLO EQUF IW )@@G@@ ECYCLE,,XH2 @^@@@@MODE + 0 @^@@@@OUTYP + IX )@@G@@ 0 @^@@@@LSTSEC + 0 @^@@@@SECTS EQU $-1 @^@@@@IY )@@G@@INSEC + 0 @^@@@@OUTSEC + 0 @^@@@@TM1SEC + IZ )@@G@@ 0 @^@@@@TM2SEC + 0 @^@@@@SPADSC + 0 JA )@@G@@@ @@@@BUFW EQU 16*28 @ @@@@BUFS EQU BUFW//28 JB )@@G@@@^@@@@UNIT1 - 1 @A@@@@ 'SI$ ' JC )@@G@@@^@@@@ + 0 @ @@@@ + R$,0,0 @ @@@@JD )@@G@@ + BUFW,0 @^@@@@ISEC + 0 @ @@@@ JE )@@G@@ + BUF1,BUF2 @ @@@@ + BUFS,22 @^@@@@ JF )@@G@@ + 1,0 @^@@@@ + 1,0 @^@@@@ + JG )@@G@@ 0 @^@@@@UNIT2 - 1 @A@@@@ 'SO$ JH )@@G@@ ' @^@@@@ + 0 @ @@@@ + W$,0,0 JI )@@G@@@ @@@@ + BUFW,0 @^@@@@OSEC + 0 @ @@@@JJ )@@G@@ + BUF0,BUF00@ @@@@ + BUFS,22 @^@@@@JK )@@G@@ + 1,0 @^@@@@ + 1,0 @^@@@@ + JL )@@G@@ 0 @^@@@@UNIT3 - 1 @A@@@@ 'EDNJM )@@G@@$$1 ' @^@@@@ + 0 @ @@@@ + W$,0JN )@@G@@,0 @ @@@@ + BUFW,0 @^@@@@ + 0 JO )@@G@@@ @@@@ + BUF3,BUF4 @ @@@@ + BUFS,22 JP )@@G@@@^@@@@ + 1,0 @^@@@@ + 1,0 @^@@@@ JQ )@@G@@ + 0 @^@@@@UNIT4 - 1 @A@@@@ JR )@@G@@ 'EDN$$2 ' @^@@@@ + 0 @ @@@@ + JS )@@G@@ W$,0,0 @ @@@@ + BUFW,0 @^@@@@ + JT )@@G@@ 0 @ @@@@ + BUF1,BUF2 @ @@@@ + BUFSJU )@@G@@,22 @^@@@@ + 1,0 @^@@@@ + 1,0 @^@@@@JV )@@G@@ + 0 @^@@@@UNIT5 - 1 @A@@@@ JW )@@G@@ 'SPLIT$ ' @^@@@@ + 0 @ @@@@ + JX )@@G@@ W$,0,0 @ @@@@ + BUFW,0 @^@@@@ + JY )@@G@@ 0 @ @@@@ + BUF0,BUF00@ @@@@ + JZ )@@G@@ BUFS,22 @^@@@@ + 1,0 @^@@@@ + 1,0 KA )@@G@@@^@@@@ + 0 @^@@@@BUF1 EQU $ @A@@@@CNTGCYKB )@@G@@ + 0120000,CONTIN @A@@@@IOPTION + 1*/('Z'-'I') KC )@@G@@@A@@@@BOPTION + 1*/('Z'-'B') @A@@@@LOPTION + 1*/(KD )@@G@@'Z'-'L') @A@@@@AOPTION + 1*/('Z'-'A') @A@@@@DOPTION + KE )@@G@@ 1*/('Z'-'D') @ @@@@PCTPF + 2,0110 @B@@@@NOSPCMKF )@@G@@S 'SPECIFICATION FIELD ERROR.' @^@@@@NOTIFF ' NOT FOUND.&'@^@@@@KG )@@G@@EMPFL ' IS EMPTY.&' @B@@@@PREVCI 'LATEST CYCLE ONLY RETAINED.' KH )@@G@@@B@@@@ASGA '@ASG,T EDN$$1.,F///9999 .' @B@@@@ASGB '@ASG,T KI )@@G@@EDN$$2.,F///9999 .' @ @@@@USEIO '@USE SO$.,SI$. .' @B@@@@S1NPF KJ )@@G@@ 'INPUT IS NOT A PROGRAM FILE.' @B@@@@S2NPF 'OUTPUT IS NOT A PROKK )@@G@@GRAM FILE.' @B@@@@S2NEN 'OUTPUT FILE NEEDS ELT NAME.' @B@@@@S1NEN KL )@@G@@ 'INPUT FILE NEEDS ELT NAME.' @B@@@@NSCR 'ERROR ASSIGNING SCRKM )@@G@@ATCH FILES.'@A@@@@ROLOUT 'SPLIT$ IS ROLLED OUT.' @D@@@@SPLNTA 'SKN )@@G@@PLIT$ IS NOT AVAILABLE STATUS--HERE.' @A@@@@NF21 'INPUT NOT MASKO )@@G@@S STORAGE.' @A@@@@NF22 'OUTPUT NOT MASS STORAGE.'@B@@@@OUTWK 'OKP )@@G@@UTPUT FILE NEEDS WRITE KEY.' @B@@@@WRNOFA 'WARNING! OUTPUT FILE ASSIKQ )@@G@@GNED.'@B@@@@INRK 'INPUT FILE NEEDS READ KEY. ' @B@@@@INWO 'IKR )@@G@@NPUT FILE IS WRITE-ONLY.' @A@@@@REJMSG ' . FAC REJECT & ' KS )@@G@@@ @@@@TPF + 'TPF$'D @A@@@@ RES BUFW*4+BUFKT )@@G@@1-$ @ @@@@BUF2 EQU BUF1+BUFW @A@@@@BUF3 EQU BUF1KU )@@G@@+BUFW*2 @A@@@@BUF4 EQU BUF1+BUFW*3 @^@@@@MSGOUT REKV )@@G@@S 8 @#@@@@ 'REPLY:'@^@@@@MSGIN RES 9 @^@@@@KW )@@G@@OPK1 + 0 @ @@@@ + 0,BUF0 @^@@@@ KX )@@G@@ + 0 @^@@@@OPK2 + 0 @ @@@@ + KY )@@G@@ 0,MSGOUT @ @@@@ + 50,MSGIN @^@@@@NAME + KZ )@@G@@ 0 @^@@@@OPMF + 0 @^@@@@DISCAD + 0 @ @@@@LA )@@G@@IDEPKT E$PKT 14,BUF00 @#@@@@ 'TYPE: '@#@@@@PRTYPM ' LB )@@G@@ '@^@@@@WTTRM + 1 @^@@@@WTTIM + 0 @^@@@@LC )@@G@@CPKT + 0 @^@@@@RET + 0 @ @@@@PKTS + LD )@@G@@ UNIT1 @ @@@@ + UNIT2 @ @@@@ + LE )@@G@@ UNIT3 @ @@@@ + UNIT4 @ @@@@ + LF )@@G@@ UNIT5 @#@@@@IOTST 'SI$ '@#@@@@ ' '@^@@@@LG )@@G@@ + 0 @ @@@@ + R$,0,0 @ @@@@ LH )@@G@@ + 1,BUF4 @^@@@@ + 0 @ @@@@ASGI '@LI )@@G@@ASG,A SI$. .' @ @@@@ASGO '@ASG,A SO$. .' @A@@@@ASGSPL '@LJ )@@G@@CAT,P SPLIT$$$$$$$'@ @@@@ASGSL EQU $-ASGSPL @ @@@@IDLEMSLK )@@G@@ EQU ASGSPL+3 @^@@@@ ' EDN IDLE. '@A@@@@IDLMSG + LL )@@G@@ 0103,IDLEMS @^@@@@PFP RES 12 @^@@@@FAC RELM )@@G@@S 9 @^@@@@NOTIF1 + 0 @^@@@@NOTIF2 + 0 LN )@@G@@@#@@@@PFEM 'PFP '@#@@@@DYN INFO 2 2@#@@@@INFO INFO 2 5LO )@@G@@@[@@@@$(2) @^@@@@BUF0 RES BUFW@^@@@@BUF00 + 0D LP )@@G@@@#@@@@ 'CONFR$'@#@@@@ ' '@^@@@@ + LQ )@@G@@ 0 @^@@@@ + 6,0 @#@@@@ ' '@#@@@@ LR )@@G@@ ' '@^@@@@ + 0D @^@@@@ + 0D LS )@@G@@@A@@@@ RES BUFW-$+BUF00 @[@@@@$(5) @^@@@@INPUT + LT )@@G@@ 0 @^@@@@OUTPUT + 0 @^@@@@IUNIT + 0 LU )@@G@@@^@@@@OUNIT + 0 @^@@@@SPAD + 0 @^@@@@RBKF LV )@@G@@ + 0 @^@@@@ADDFF + 0 @^@@@@RONLY + LW )@@G@@ 0 @^@@@@RONLX + 0 @A@@@@ENDMSF 'END EDN. FILED LX )@@G@@ ' @^@@@@BOPT + 0 @ @@@@COM + 'ADD' LY )@@G@@@^@@@@IMODE + 0 @^@@@@INPL + 0 @^@@@@IOPT LZ )@@G@@ + 0 @^@@@@DOPT + 0 @^@@@@AOPT + MA )@@G@@ 0 @^@@@@LNSW + 0 @^@@@@SQSW + 0 @^@@@@MB )@@G@@TERM + 0 @^@@@@INITOVER + 1 @^@@@@CLNUM + MC )@@G@@ 0 @^@@@@PROMPT + 0 @^@@@@AUTOF - 1 MD )@@G@@@^@@@@AUTOC + 0 @^@@@@SFG + 0 @#@@@@$(3) ME )@@G@@ LIT @[@@@@C$TB @^@@@@ C$ -0 @ @@@@ C$MF )@@G@@ 'PON' @ @@@@ C$ 'SAVE' @ @@@@ C$MG )@@G@@ 'INIT' @ @@@@ C$ 'MSG' @ @@@@ C$MH )@@G@@ 'MSG*' @A@@@@ C$ 'AUTO' 1 -1 @ @@@@ MI )@@G@@ C$ 'CONFR' @ @@@@ C$ 'POFF' @ @@@@ MJ )@@G@@ C$ 'SPL!' @^@@@@ C$ 'HL'@ @@@@ C$MK )@@G@@ 'HD' 0 0 1@ @@@@ C$ 'WHAT' @^@@@@ C$ML )@@G@@ 'PH'@ @@@@ C$ 'CH' 0 0 1@^@@@@ C$ MM )@@G@@ 'CC'@ @@@@ C$ 'CN' 0 0 1@ @@@@ C$ 'TABMN )@@G@@' @ @@@@ C$ 'RON' @ @@@@ C$ 'ROFMO )@@G@@F' @ @@@@ C$ 'SET' @ @@@@ C$ 'TCHMP )@@G@@A' @ @@@@ C$ 'TCHF' @ @@@@ C$ 'TCHMQ )@@G@@C' @ @@@@ C$ 'TCHL' @ @@@@ C$ 'TCHMR )@@G@@CX' @ @@@@ C$ 'TCHLX' @ @@@@ C$ 'ENDMS )@@G@@' @ @@@@ C$ 'FILE' @ @@@@ C$ 'MSPMT )@@G@@' @^@@@@ C$ 'BR'@^@@@@ C$ 'NL'@^@@@@MU )@@G@@ C$ 'LN'@^@@@@ C$ 'SC'@ @@@@ C$MV )@@G@@ 'TYPE' @A@@@@ C$ 'ADD' 0 0 1 @^@@@@ MW )@@G@@ C$ 'L' @^@@@@ C$ 'LC'@ @@@@ C$ MX )@@G@@ 'LD' 0 0 1@^@@@@ C$ 'LP'@ @@@@ C$ 'LX'MY )@@G@@ 0 0 1@^@@@@ C$ 'V' @^@@@@ C$ 'E' @^@@@@MZ )@@G@@ C$ 'TD'@^@@@@ C$ 'T' @^@@@@ C$NA )@@G@@ 'X' @ @@@@ C$ 'C' 0 0 1 @^@@@@ C$ NB )@@G@@ 'B' @^@@@@ C$ 'P!'@ @@@@ C$ 'SQON' NC )@@G@@@ @@@@ C$ 'SQOFF' @ @@@@ C$ 'LNON' ND )@@G@@@ @@@@ C$ 'LNOFF' @ @@@@ C$ 'G' 1 NE )@@G@@@ @@@@ C$ 'COL' 2 @ @@@@ C$ 'PLM' 1 1 NF )@@G@@@ @@@@ C$ 'SAV' 1 1 @A@@@@ C$ 'IB' *1,'+NG )@@G@@' 0 1 @ @@@@ C$ 'F' *1,'+'@A@@@@ C$ 'FC'NH )@@G@@ *1,'+' @A@@@@ C$ 'FD' *1,'+' 0 1 @A@@@@ C$NI )@@G@@ 'FP' *1,'+' @A@@@@ C$ 'FX' *1,'+' 0 1 @A@@@@NJ )@@G@@ C$ 'S' *1,'+' 0 1 @A@@@@ C$ 'I' *1,'+'NK )@@G@@ 0 1 @A@@@@ C$ 'R' *1,'+' 0 1 @A@@@@ C$ NL )@@G@@ 'A' *1,'+' 0 1 @ @@@@ C$ 'CT' 3 0 1@A@@@@ C$NM )@@G@@ 'CTC' 2 0 1 @ @@@@ C$ 'N' 1 -1 @ @@@@ NN )@@G@@ C$ 'U' 1 -1 @^@@@@ C$ 'EH'@ @@@@C$TBA EQNO )@@G@@U $-C$TB @ @@@@ C$ 'CS' 2 @ @@@@ C$NP )@@G@@ 'P' 2 @ @@@@ C$ 'SPL' 1 @A@@@@ C$NQ )@@G@@ 'SPD' 1 0 1 @ @@@@ C$ 'IH' 1 0 1@ @@@@ NR )@@G@@ C$ 'RH' 1 0 1@ @@@@ C$ 'AH' 1 0 1@A@@@@ NS )@@G@@ C$ 'IHB' 1 0 1 @ @@@@ C$ 'D' 2 0 1 @ @@@@NT )@@G@@C$TBL EQU ($-C$TB)/3@ @@@@RDPKT + 0116,BUF0 @A@@@@NU )@@G@@ + XREADE,BUF0 @A@@@@PMNANS1 'PREV MSG NOT ANS''DNV )@@G@@.' @A@@@@PMNANS2 'WAITING ON PREV MSG.' @ @@@@PMNANS3 'WAITINGNW )@@G@@ FOR REPLY.'@B@@@@ROUTP 'OUTPUT FILE IS READ-ONLY.' @ @@@@ASSROPNX )@@G@@ 'READ-ONLY MODE. ' @A@@@@ADDFD '@ADD IMAGES DISCARDED.' @#@@@@NY )@@G@@EDNLEV 'NYU ED'@ @@@@ + LEVEL @#@@@@ ' NZ )@@G@@& '@A@@@@ENDMSN 'END EDN. NO OUTPUT. ' @A@@@@ENDMSI 'END EDNOA )@@G@@. INIT ERROR. ' @^@@@@ ON REP @B@@@@REPEMS1 'WRONG ROB )@@G@@EP IN PROGRAM FILE.' @B@@@@REPERR1 + 0300+$-REPEMS1,REPEMS1OC )@@G@@@C@@@@REPEMS2 'PLEASE NOTIFY UHMC SYSTEMS STAFF.' @B@@@@REPERR2 + OD )@@G@@ 0200+$-REPEMS2,REPEMS2@ @@@@IBANKL + LEVEL @#@@@@OE )@@G@@ OFF @[@@@@$(1) @A@@@@EDN$* . START OF IBANK CODE. OF )@@G@@@^@@@@ ON REP @ @@@@ L A0,DBANKL @ @@@@OG )@@G@@ L A1,IBANKL @ @@@@ TNE A0,A1 @ @@@@OH )@@G@@ J EDN$1 @ @@@@ DS A0,BUF0 @ @@@@OI )@@G@@ L A0,REPERR1@ @@@@ ER PRINT$ @A@@@@OJ )@@G@@ L A0,(0202,BUF0) @ @@@@ ER PRINT$ OK )@@G@@@ @@@@ L A0,REPERR2@ @@@@ ER PRINT$ OL )@@G@@@^@@@@ ER ERR$@#@@@@ OFF @ @@@@EDN$1 L OM )@@G@@ A0,CNTGCY @ @@@@ ER IALL$ @A@@@@ L ON )@@G@@ A0,(255,BUF0) @ @@@@ LMJ X11,RINF$ @ @@@@ OO )@@G@@ J PROCER @^@@@@ L,U A0,1@ @@@@ LMOP )@@G@@J X11,SELT$ @ @@@@ J NOSPECS @ @@@@ DLOQ )@@G@@ A0,UNIT1+1@ @@@@ LMJ X11,DUSE$ @^@@@@ TPOR )@@G@@ A0 @ @@@@ J NOFILE @ @@@@ DL OS )@@G@@ A0,UNIT1+1@ @@@@ DS A0,FAC @ @@@@ L,U OT )@@G@@ A0,FAC @ @@@@ ER FACIL$ @ @@@@ L,S1 OU )@@G@@ A0,FAC+6 @^@@@@ SZ R8 @ @@@@ JNZ A0,GOV )@@G@@ET1A @ @@@@ L,U R1,',AR' @ @@@@ S,H1 R1,FOW )@@G@@ROPT @ @@@@ L,U A0,ASGI @^@@@@ ER CSF$OX )@@G@@@ @@@@ S A0,R8 @ @@@@ JN A0,CSFERR OY )@@G@@@ @@@@ L,U A0,FAC @ @@@@ ER FACIL$ OZ )@@G@@@ @@@@ L,S1 A0,FAC+6 @ @@@@GET1A TG,U A0,030 PA )@@G@@@ @@@@ TG,U A0,040 @ @@@@ J SP1NF2 PB )@@G@@@ @@@@ L,S2 A0,FAC+6 @^@@@@ SSC A0,4@ @@@@PC )@@G@@ JB A0,INPNRK @^@@@@ LSSC A0,3@ @@@@ PD )@@G@@ JB A0,INPWO @ @@@@ L,S1 A0,ELT$+1 @ @@@@ PE )@@G@@ JZ A0,TSTDF @ @@@@ DL A0,ELT$+9 @ @@@@ PF )@@G@@ DS A0,PFP+2 @ @@@@ DL A1,SPCS @ @@@@ PG )@@G@@ L,S2 A0,ELT$+1 @ @@@@ JZ A0,$+2 @ @@@@ PH )@@G@@ DL A1,ELT$+11@ @@@@ DS A1,PFP+6 @^@@@@ PI )@@G@@ L,U A0,1@ @@@@ S,S3 A0,PFP+5 @ @@@@ DLPJ )@@G@@ A0,UNIT1+1@ @@@@ DS A0,PFP @ @@@@ L,PK )@@G@@U A0,PFP @^@@@@ ER PFS$@ @@@@ JNZ PL )@@G@@ A2,PFPE1 @ @@@@ SZ IMODE @ @@@@ L,T2 PM )@@G@@ A0,PFP+8 @ @@@@ S A0,ECYCLI @ @@@@ JZ PN )@@G@@ A0,NOCYC @A@@@@ L A0,(0105,PREVCI)@ @@@@ ERPO )@@G@@ PRINT$ @ @@@@NOCYC L A0,PFP+10 @ @@@@ S PP )@@G@@ A0,INSEC @ @@@@ S A0,ISEC @ @@@@ L,PQ )@@G@@S1 A0,PFP+9 @ @@@@ S A0,OUTYP @^@@@@GET2 L,PR )@@G@@U A0,2@D@@@@ DL A14,ELT$ . SAVE SPEC1 INFO PS )@@G@@@ @@@@ LMJ X11,SELT$ @^@@@@ J $+3 @^@@@@PT )@@G@@ SZ R8 @^@@@@ J $+2 @ @@@@ DSPU )@@G@@ A14,ELT$ @ @@@@ DL A0,UNIT2+1@ @@@@ LMPV )@@G@@J X11,DUSE$ @^@@@@ TP A0 @ @@@@ J PW )@@G@@ NOFILE @ @@@@ DL A0,UNIT2+1@ @@@@ DS PX )@@G@@ A0,FAC @ @@@@ L,U A0,FAC @ @@@@ ER PY )@@G@@ FACIL$ @ @@@@ L,S1 A0,FAC+6 @ @@@@ JNZ PZ )@@G@@ A0,GET2B @ @@@@ L,U R1,',AR' @ @@@@ S,H2 QA )@@G@@ R1,FROPT @ @@@@ L,U A0,ASGO @^@@@@ ER QB )@@G@@ CSF$@ @@@@ S A0,R8 @ @@@@ JN A0,CQC )@@G@@SFERR @ @@@@GET2A DL A0,UNIT2+1@ @@@@ DS A0,FQD )@@G@@AC @ @@@@ L,U A0,FAC @ @@@@ ER FACIQE )@@G@@L$ @ @@@@ L,S1 A0,FAC+6 @ @@@@GET2B TG,U A0,0QF )@@G@@30 @ @@@@ TG,U A0,040 @ @@@@ J SP2NQG )@@G@@F2 @ @@@@ L,S2 A0,FAC+6 @^@@@@ SSC A0,3QH )@@G@@@ @@@@ L A13,BUF0 @^@@@@ SZ A12 @A@@@@QI )@@G@@ TOP,U A13,1*/('Z'-'R')@ @@@@ L,U A12,9 QJ )@@G@@@ @@@@ JB A0,OUTNWK @^@@@@ LSSC A0,1@ @@@@QK )@@G@@ JB A0,RONLYO @ @@@@ L,S1 A0,ELT$+1 @ @@@@QL )@@G@@ JZ A0,TST2 @ @@@@ SZ ECYCLO @ @@@@QM )@@G@@ DL A0,ELT$+9 @ @@@@ DS A0,OUTELT @ @@@@QN )@@G@@ L,S2 A0,ELT$+1 @ @@@@ JZ A0,$+3 @ @@@@QO )@@G@@ DL A0,ELT$+11@ @@@@ DS A0,OUTVER @ @@@@QP )@@G@@ L,U A0,UNIT2+1@ @@@@ ER PFWL$ @ @@@@QQ )@@G@@ JNZ A2,PFPE2 @ @@@@ S A1,OUTSEC @ @@@@QR )@@G@@ S A1,OSEC @ @@@@EDN$2 SZ RONLY @ @@@@QS )@@G@@ L,U A1,0100000@A@@@@ L A0,(0105,WRNOFA)QT )@@G@@@ @@@@ TEP A1,R8 @ @@@@ ER PRINT$ QU )@@G@@@ @@@@ L A0,BUF0 @A@@@@ TEP,U A0,1*/('Z'QV )@@G@@-'R') @ @@@@ LMJ X11,RDONLY@ @@@@GO L,U A0,BQW )@@G@@UF0 @ @@@@ S,H2 A0,IDEPKT @ @@@@ LXM,U X11,QX )@@G@@$+1 @^@@@@ J IDL @ @@@@ DL A0,NOTIF1 QY )@@G@@@ @@@@ OR A0,A1 @ @@@@ JNB A1,$+3 QZ )@@G@@@A@@@@ L A0,(0116,BUF00) @ @@@@ ER PRINRA )@@G@@T$ @ @@@@ L,U A6,027 @ @@@@ L,U A7,0RB )@@G@@37 @ @@@@ DL A0,UNIT3+1@ @@@@ DS A0,BRC )@@G@@UF0 @ @@@@ L,U A0,BUF0 @ @@@@ ER FACIRD )@@G@@L$ @^@@@@ TZ,S1 6,A0@^@@@@ J $+5 @ @@@@RE )@@G@@ L,U A0,ASGA @^@@@@ ER CSF$@ @@@@ RF )@@G@@ JN A0,NOSCR @^@@@@ J $+3 @ @@@@ TWRG )@@G@@,S1 A6,6,A0 @ @@@@ J NOSCR @ @@@@ DLRH )@@G@@ A0,UNIT4+1@ @@@@ DS A0,BUF0 @ @@@@ L,RI )@@G@@U A0,BUF0 @ @@@@ ER FACIL$ @^@@@@ TZRJ )@@G@@,S1 6,A0@^@@@@ J $+5 @ @@@@ L,U A0,ARK )@@G@@SGB @^@@@@ ER CSF$@ @@@@ JN A0,NOSCR RL )@@G@@@^@@@@ J $+3 @ @@@@ TW,S1 A6,6,A0 @ @@@@RM )@@G@@ J NOSCR @A@@@@ L,U A0,ASGSPL+3 RN )@@G@@@ @@@@ L A1,(1,1) @^@@@@ ER PCT$@ @@@@RO )@@G@@ DL A0,UNIT5+1@ @@@@ DS A0,BUF0 @ @@@@RP )@@G@@ L,U A0,BUF0 @ @@@@ ER FACIL$ @^@@@@RQ )@@G@@ TZ,S1 6,A0@ @@@@ J EDN$CK @B@@@@ RR )@@G@@ L A0,(ASGSL,ASGSPL) @^@@@@ ER CSF$@B@@@@RS )@@G@@ DL A1,('@ASG,AD ') @^@@@@ ER OPT$RT )@@G@@@ @@@@ JNB A0,$+2 @B@@@@ DL A1,('@ASG,RU )@@G@@A ') @ @@@@ DS A1,ASGSPL @B@@@@ L RV )@@G@@ A0,(ASGSL,ASGSPL) @^@@@@ ER CSF$@ @@@@ JPRW )@@G@@ A0,EDN$GO @ @@@@ TEP A0,(2,0) @ @@@@ J RX )@@G@@ SPLRDO @ @@@@ S A0,ROLOUT @ @@@@ LMRY )@@G@@J X11,EOCT @ @@@@ + ROLOUT @ @@@@ + RZ )@@G@@ SPLNTA+4 @ @@@@ (+ 12) @ @@@@ SA )@@G@@ (+ 1) @ @@@@ NOP 0,0,0 @A@@@@ L SB )@@G@@ A0,(0107,SPLNTA)@ @@@@ ER PRINT$ @ @@@@ SC )@@G@@ J EDN$IG @A@@@@SPLRDO L A0,(0104,ROLOUT)@ @@@@SD )@@G@@ ER PRINT$ @ @@@@ J EDN$IG @B@@@@SE )@@G@@EDN$GO DL A0,('@USE SPLIT$,') @ @@@@ DS A0,ASF )@@G@@SGSPL @B@@@@ L A0,(ASGSL,ASGSPL) @^@@@@ ERSG )@@G@@ CSF$@ @@@@ JN A0,NOSCR @ @@@@ J SH )@@G@@ EDN$IG @ @@@@EDN$CK TW,S1 A6,6,A0 @ @@@@ J SI )@@G@@ NOSCR @^@@@@EDN$IG L,U A0,4@ @@@@ TP ECYCSJ )@@G@@LO @ @@@@ S A0,DOPT @ @@@@ J FORMSK )@@G@@AIN$ @A@@@@RONLYO L A0,(0105,ROUTP) @ @@@@ S SL )@@G@@ A0,RONLX @ @@@@ DL A1,NOTIF1 @ @@@@ OR SM )@@G@@ A1,A2 @ @@@@ JB A2,$+2 @^@@@@ TZ SN )@@G@@ A12 @ @@@@ ER PRINT$ @ @@@@ JB A2,NSO )@@G@@OFILE @ @@@@ L,U X11,GO @ @@@@ JZ A12,SP )@@G@@RDONLY@A@@@@ L A0,(0103,ASSROP)@ @@@@ ER SQ )@@G@@ PRINT$ @^@@@@RDONLY L,U A0,1@ @@@@ S A0,RSR )@@G@@ONLY @ @@@@ J 0,X11 @^@@@@PFPE1 TNE,U A2,2SS )@@G@@@^@@@@ J PFPE@^@@@@ TNE,U A2,1@ @@@@ ST )@@G@@ J NOTIF @A@@@@ L A0,(0105,S1NPF) @ @@@@SU )@@G@@ ER PRINT$ @ @@@@ J NOFILE @^@@@@SV )@@G@@NOTIF L,U A0,1@ @@@@ S A0,NOTIF1 @ @@@@ SW )@@G@@ L,U A0,IDEPKT @ @@@@ LMJ X11,EDIT$ @ @@@@ SX )@@G@@ DL A0,FAC+4 @ @@@@ LMJ X11,EFD2$ @ @@@@ SY )@@G@@ L,U A0,'*' @ @@@@ LMJ X11,ECHAR$@ @@@@ SZ )@@G@@ DL A0,FAC+2 @ @@@@ LMJ X11,EFD2$ @ @@@@ TA )@@G@@ L,U A0,'.' @ @@@@ LMJ X11,ECHAR$@ @@@@ TB )@@G@@ DL A0,PFP+2 @ @@@@ LMJ X11,EFD2$ @ @@@@ TC )@@G@@ TNZ,S2 ELT$+1 @ @@@@ J NOTIFB @ @@@@ TD )@@G@@ L,U A0,'/' @ @@@@ LMJ X11,ECHAR$@ @@@@ TE )@@G@@ DL A0,PFP+6 @ @@@@ LMJ X11,EFD2$ @ @@@@NOTIFBTF )@@G@@ L,U A0,NOTIFF @ @@@@ LMJ X11,EMSG$ @^@@@@NOTIFATG )@@G@@ L,U A0,1@ @@@@ S A0,IMODE @ @@@@ L,TH )@@G@@U A0,USEIO @^@@@@ ER CSF$@ @@@@ JN TI )@@G@@ A0,NOFILE @ @@@@ J GET2A @^@@@@PFPE2 TNE,U TJ )@@G@@ A2,2@^@@@@ J PFPE@A@@@@ L A0,(0105,STK )@@G@@2NPF) @ @@@@ ER PRINT$ @ @@@@ J NOFITL )@@G@@LE @^@@@@PFPE DSL A2,3@^@@@@ LSSL A2,3@^@@@@TM )@@G@@ LDSL A2,3@ @@@@ AA,U A2,06060 @ @@@@ TN )@@G@@ S,T3 A2,PFEM @A@@@@ L A0,(0101,PFEM) @ @@@@TO )@@G@@ ER PRINT$ @ @@@@ J NOFILE @ @@@@TP )@@G@@FILE* L,U A5,'.' @ @@@@ EX STB,A1 @ @@@@TQ )@@G@@ DL A0,OUTELT @ @@@@ L,U X1,ENDMSF @ @@@@TR )@@G@@ DJZ A0,NOFIL2 @ @@@@ DS A0,PFP+2 @ @@@@TS )@@G@@ DL A0,OUTVER @ @@@@ DS A0,PFP+6 @ @@@@TT )@@G@@ DL A0,UNIT2+1@ @@@@ DS A0,PFP @^@@@@TU )@@G@@ L,U A0,1@ @@@@ S,S3 A0,PFP+5 @ @@@@ TV )@@G@@ L A0,OUTYP @ @@@@ S,S1 A0,PFP+9 @ @@@@ TW )@@G@@ L A0,(5,0,1)@ @@@@ S A0,PFP+8 @ @@@@ TX )@@G@@ L A0,LSTSEC @ @@@@ L A1,OUTSEC @ @@@@ TY )@@G@@ AN A0,A1 @ @@@@ S,H2 A0,PFP+9 @ @@@@ TZ )@@G@@ S A1,PFP+10 @ @@@@ SZ PFP+11 @ @@@@ UA )@@G@@ L,U A0,PFP @^@@@@ ER PFI$@ @@@@ JNUB )@@G@@Z A2,PFPE @ @@@@ L A1,LSTSEC @ @@@@ L,UC )@@G@@U A0,UNIT2+1@ @@@@ ER PFUWL$ @ @@@@ JNUD )@@G@@Z A2,PFPE @ @@@@ J NOFIL2 @ @@@@NOFIL1* L,UE )@@G@@U X1,ENDMSN @A@@@@NOFIL2 L A0,('@ FREE') @ @@@@ UF )@@G@@ S A0,ASGI @ @@@@ S A0,ASGO @ @@@@ UG )@@G@@ L A0,FROPT @ @@@@ S,H1 A0,ASGO+1 @ @@@@ UH )@@G@@ SSC A0,18 @ @@@@ S,H1 A0,ASGI+1 @A@@@@ UI )@@G@@ L A0,(-12,UNIT5+1)@ @@@@ J EXIT2 @ @@@@UJ )@@G@@EXIT1 TLEM,U A0,UNIT2 @^@@@@ J EXIT@^@@@@EXIT2 UK )@@G@@ TP 3,A0@ @@@@ ER WAIT$ @ @@@@ J UL )@@G@@ EXIT1 @ @@@@EXIT L,U A0,ASGI @^@@@@ ERUM )@@G@@ CSF$@ @@@@ L,U A0,ASGO @^@@@@ ER UN )@@G@@ CSF$@F@@@@ TNZ OPMF . CHECK FOR OUTSTANDING UO )@@G@@MSG @D@@@@ J PRGEX . NONE, GO ON. @B@@@@UP )@@G@@ L A0,(0104,PMNANS2) @ @@@@ ER PRINUQ )@@G@@T$ @A@@@@ L A0,(18,PMNANS3) @ @@@@ S UR )@@G@@ A0,OPK1+1 @ @@@@ L,U A0,OPK1 @^@@@@ ER US )@@G@@ COM$@ @@@@ ER DACT$ @ @@@@PRGEX L,U A0,,UT )@@G@@X1 @ @@@@ LXI,U A0,68 @ @@@@PROCER ER PRINUU )@@G@@T$ @ @@@@ ER EXIT$ @ @@@@TSTDF L,U A0,IUV )@@G@@OTST @^@@@@ ER IOW$@ @@@@ L,S1 A0,3,A0 UW )@@G@@@ @@@@ JZ A0,TST1 @^@@@@ TE,U A0,5@ @@@@UX )@@G@@ J NOFILE @ @@@@ S A0,NOTIF2 @ @@@@UY )@@G@@ L,U A0,IDEPKT @ @@@@ LMJ X11,EDIT$ @ @@@@UZ )@@G@@ DL A0,FAC+4 @ @@@@ LMJ X11,EFD2$ @ @@@@VA )@@G@@ L,U A0,'*' @ @@@@ LMJ X11,ECHAR$@ @@@@VB )@@G@@ DL A0,FAC+2 @ @@@@ LMJ X11,EFD2$ @ @@@@VC )@@G@@ L,U A0,EMPFL @ @@@@ LMJ X11,EMSG$ @ @@@@VD )@@G@@ J NOTIFA @ @@@@TST1 L A0,BUF4 @A@@@@VE )@@G@@ TNE A0,('**PF**') @^@@@@ J ISPF@^@@@@VF )@@G@@ LN,U A0,1@ @@@@ S A0,ECYCLI @^@@@@ VG )@@G@@ J GET2@A@@@@ISPF L A0,(0105,S1NEN) @ @@@@ VH )@@G@@ ER PRINT$ @ @@@@ J NOFILE @ @@@@TST2 VI )@@G@@ DL A0,UNIT2+1@ @@@@ DS A0,IOTST @ @@@@ VJ )@@G@@ L,U A0,IOTST @^@@@@ ER IOW$@^@@@@ LNVK )@@G@@,U A0,1@ @@@@ S A0,ECYCLO @ @@@@ L VL )@@G@@ A0,BUF4 @A@@@@ TE A0,('**PF**') @ @@@@ J VM )@@G@@ EDN$2 @A@@@@ L A0,(0105,S2NEN) @ @@@@ VN )@@G@@ ER PRINT$ @ @@@@ J NOFILE @A@@@@SP1NF2VO )@@G@@ L A0,(0104,NF21) @ @@@@ ER PRINT$ @ @@@@VP )@@G@@ J NOFILE @A@@@@SP2NF2 L A0,(0104,NF22) VQ )@@G@@@ @@@@ ER PRINT$ @ @@@@ J NOFILE VR )@@G@@@A@@@@OUTNWK L A0,(0105,OUTWK) @ @@@@ J RONLVS )@@G@@YO+1 @A@@@@INPWO L A0,(0105,INWO) @ @@@@ ER VT )@@G@@ PRINT$ @ @@@@ J NOFILE @A@@@@INPNRK L VU )@@G@@ A0,(0105,INRK) @ @@@@ ER PRINT$ @ @@@@ J VV )@@G@@ NOFILE @A@@@@NOSCR L A0,(0105,NSCR) @ @@@@ VW )@@G@@ ER PRINT$ @ @@@@ J NOFILE @B@@@@NOSPECVX )@@G@@S L A0,(0105,NOSPCMS) @ @@@@ ER PRINT$ VY )@@G@@@ @@@@ J NOFILE @ @@@@CSFERR L,U A0,IDEPKT VZ )@@G@@@ @@@@ LMJ X11,EDIT$ @ @@@@ L A0,ASGI WA )@@G@@@ @@@@ S A0,BUF00 @^@@@@ L,U A0,8@ @@@@WB )@@G@@ LMJ X11,ECOL$ @ @@@@ L,S1 A0,ELT$ @ @@@@WC )@@G@@ JZ A0,$+5 @ @@@@ DL A0,ELT$+2 @ @@@@WD )@@G@@ LMJ X11,EFD2$ @ @@@@ L,U A0,'*' @ @@@@WE )@@G@@ LMJ X11,ECHAR$@ @@@@ DL A0,ELT$+4 @^@@@@WF )@@G@@ TNZ,S2 ELT$@ @@@@ DL A0,TPF @ @@@@ WG )@@G@@ LMJ X11,EFD2$ @ @@@@ L,U A0,REJMSG @ @@@@ WH )@@G@@ LMJ X11,EMSG$ @ @@@@ L A0,R8 @ @@@@ WI )@@G@@ L,U A1,12 @ @@@@ LMJ X11,EOCTF$@A@@@@ WJ )@@G@@ L A0,(0116,BUF00) @ @@@@ ER PRINT$ @ @@@@WK )@@G@@ J NOFILE @ @@@@IDL* SX,H2 X11,RET @ @@@@WL )@@G@@ L,U A0,IDEPKT @ @@@@ LMJ X11,EDIT$ @ @@@@WM )@@G@@ L,U A0,EDNLEV @ @@@@ LMJ X11,EMSG$ @^@@@@WN )@@G@@ TNZ BOPT@ @@@@ J IDLC1 @ @@@@ WO )@@G@@ ER TDATE$ @ @@@@ S A0,MODE @ @@@@ WP )@@G@@ L,S1 A0,MODE @ @@@@ LMJ X11,EDECV$@ @@@@ WQ )@@G@@ L,U A0,'/' @ @@@@ LMJ X11,ECHAR$@ @@@@ WR )@@G@@ L,S2 A0,MODE @ @@@@ LMJ X11,EDECV$@ @@@@ WS )@@G@@ L,U A0,'-' @ @@@@ LMJ X11,ECHAR$@ @@@@ WT )@@G@@ L,H2 A5,MODE @^@@@@ SZ A4 @ @@@@ DIWU )@@G@@,U A4,60 @ @@@@ DSL A4,36 @ @@@@ DIWV )@@G@@,U A4,60 @ @@@@ L A0,A4 @^@@@@ TNWW )@@G@@Z A0 @ @@@@ L,U A0,24 @ @@@@ LMJ WX )@@G@@ X11,EDECV$@ @@@@ L,U A0,':' @ @@@@ LMJ WY )@@G@@ X11,ECHAR$@ @@@@ L,U A0,'0' @ @@@@ TLE,U WZ )@@G@@ A5,10 @ @@@@ LMJ X11,ECHAR$@ @@@@ L XA )@@G@@ A0,A5 @ @@@@ LMJ X11,EDECV$@ @@@@ L,U XB )@@G@@ A0,'-' @ @@@@ LMJ X11,ECHAR$@ @@@@IDLC1 L,U XC )@@G@@ A0,'(' @ @@@@ LMJ X11,ECHAR$@ @@@@ TP XD )@@G@@ ECYCLI @ @@@@ J IDLD1 @ @@@@ L XE )@@G@@ A0,ECYCLI @ @@@@ LMJ X11,EDECV$@ @@@@ J XF )@@G@@ IDLCM @ @@@@IDLD1 TNZ ECYCLI @ @@@@ J XG )@@G@@ IDLCM @ @@@@ L,U A0,'D' @ @@@@ LMJ XH )@@G@@ X11,ECHAR$@ @@@@IDLCM L,U A0,',' @ @@@@ LMJ XI )@@G@@ X11,ECHAR$@ @@@@ TP ECYCLO @ @@@@ J XJ )@@G@@ IDLD2 @ @@@@ L A0,ECYCLO @ @@@@ LMJ XK )@@G@@ X11,EDECV$@^@@@@ J IDL2@ @@@@IDLD2 TNZ ECYCXL )@@G@@LO @^@@@@ J IDL2@ @@@@ L,U A0,'D' XM )@@G@@@ @@@@ LMJ X11,ECHAR$@ @@@@IDL2 L,U A0,')' XN )@@G@@@ @@@@ LMJ X11,ECHAR$@ @@@@ TZ CONFR$ XO )@@G@@@^@@@@ TNZ BOPT@ @@@@ J IDLEX @A@@@@XP )@@G@@ E$COPY 6,(' CONFR') @ @@@@IDLEX LMJ X11,EDITX$XQ )@@G@@@ @@@@ L A0,RDPKT @ @@@@ ER PRINT$ XR )@@G@@@ @@@@ LXM X11,RET @ @@@@ J 1,X11 XS )@@G@@@^@@@@BLKR* SZ A3 @ @@@@ L R1,*1,X11 @ @@@@XT )@@G@@ L,U A1,*0,X11 @ @@@@ LXM,U X11,3,X11 @ @@@@XU )@@G@@ L,U A0,SPCS @^@@@@ J $+7 @^@@@@BXFR* XV )@@G@@ SZ A3 @ @@@@ L R1,*2,X11 @ @@@@ L,XW )@@G@@U A0,*0,X11 @^@@@@ LXI,U A0,1@ @@@@ L,U XX )@@G@@ A1,*1,X11 @ @@@@ LXM,U X11,4,X11 @^@@@@ LXI,U XY )@@G@@ A1,1@ @@@@ BT A1,,*A0 @ @@@@ J 0,X1XZ )@@G@@1 @^@@@@CSF* SZ A3 @ @@@@ LXM,U A0,*0,X11 YA )@@G@@@ @@@@ LXI A0,*1,X11 @^@@@@ SZ,S1 0,A0@^@@@@YB )@@G@@ ER CSF$@ @@@@ J 3,X11 @]@@@@NSTOP$YC )@@G@@* @]@@@@NERR2$* @]@@@@NERR3$* @ @@@@NERR4$* ER EABTYD )@@G@@$ @ @@@@COPY* LXI,U X11,0 @^@@@@ J MV1 YE )@@G@@@ @@@@SQOPY* LXI,XU X11,-1 @^@@@@MV1 SZ A3 @ @@@@YF )@@G@@ L A2,*1,X11 @^@@@@ TZ A2 @^@@@@ YG )@@G@@ AN,U A2,1@ @@@@ DSL A2,36 @^@@@@ DIYH )@@G@@,U A2,6@^@@@@ LXI,U A3,1@^@@@@ LXI,U A2,1YI )@@G@@@ @@@@ L A5,A3 @^@@@@ SZ A3 @ @@@@YJ )@@G@@ A,U A2,*0,X11 @ @@@@ L A0,*3,X11 @^@@@@YK )@@G@@ TZ A0 @^@@@@ AN,U A0,1@ @@@@ DSYL )@@G@@L A0,36 @^@@@@ DI,U A0,6@^@@@@ LXI,U YM )@@G@@ A1,1@^@@@@ LXI,U A0,1@ @@@@ A,U A0,*2,X11 YN )@@G@@@ @@@@ L A4,*4,X11 @^@@@@ SZ A6 @ @@@@YO )@@G@@ L A3,A5 @^@@@@ J NOM2@ @@@@MVX1 YP )@@G@@ EX LTB,*A3 @^@@@@ TN X11 @^@@@@ J YQ )@@G@@ NOM3@^@@@@ TE,U A5,5@^@@@@ J NOM4YR )@@G@@@ @@@@ JNZ A6,NOM2 @ @@@@ S A5,A6 YS )@@G@@@^@@@@ J NOM3@^@@@@NOM4 SZ A6 @ @@@@NOM3 YT )@@G@@ EX STB,*A1 @ @@@@NOM2 JGD A4,MVX1 @ @@@@ YU )@@G@@ J 6,X11 @#@@@@SPCS ' '@#@@@@ ' 'YV )@@G@@@#@@@@ZROS '000000'@#@@@@ '000000'@ @@@@LTB L,S1 YW )@@G@@ A5,,A2 @ @@@@ L,S2 A5,,A2 @ @@@@ L,S3 YX )@@G@@ A5,,A2 @ @@@@ L,S4 A5,,A2 @ @@@@ L,S5 YY )@@G@@ A5,,A2 @ @@@@ LMJ X10,$+1 @ @@@@ L,S6 YZ )@@G@@ A5,,*A2 @ @@@@ L A3,(1,0) @ @@@@ J ZA )@@G@@ 0,X10 @ @@@@STB S,S1 A5,,A0 @ @@@@ S,S2 ZB )@@G@@ A5,,A0 @ @@@@ S,S3 A5,,A0 @ @@@@ S,S4 ZC )@@G@@ A5,,A0 @ @@@@ S,S5 A5,,A0 @ @@@@ LMJ ZD )@@G@@ X10,$+1 @ @@@@ S,S6 A5,,*A0 @ @@@@ L ZE )@@G@@ A1,(1,0) @ @@@@ J 0,X10 @ @@@@EOCT* DL ZF )@@G@@ A4,ZROS @^@@@@ L,U A1,0@^@@@@ SZ A6 ZG )@@G@@@ @@@@ J BNTA+1 @ @@@@EDEC* DL A4,SPCS ZH )@@G@@@ @@@@ L,U A1,053 @^@@@@BNTA L,U A6,1@^@@@@ZI )@@G@@ SZ A3 @ @@@@ L A2,*0,X11 @^@@@@ ZJ )@@G@@ TZ A6 @ @@@@ LM A2,A2 @^@@@@ SZZK )@@G@@ A0 @ @@@@BNTB JNZ A6,BNTBA @^@@@@ AND,U ZL )@@G@@ A2,7@^@@@@ SSL A2,3@ @@@@ J BNTBB ZM )@@G@@@ @@@@BNTBA DSL A2,36 @ @@@@ DI,U A2,10 ZN )@@G@@@ @@@@BNTBB AA,U A3,0,A1 @ @@@@ AA,U A5,0,A3 ZO )@@G@@@^@@@@ DSC A4,6@^@@@@ AA,U A0,1@ @@@@ ZP )@@G@@ JNZ A2,BNTB @^@@@@ SZ A3 @ @@@@ LMZQ )@@G@@ A2,*2,X11 @ @@@@ JNZ A2,$+2 @ @@@@ L ZR )@@G@@ A2,A0 @^@@@@ MSI,U A0,6@ @@@@ AN,U ZS )@@G@@ A0,72 @ @@@@ TG,U A2,13 @ @@@@ L,XU ZT )@@G@@ A2,12 @ @@@@ L A6,A2 @^@@@@ AN,U ZU )@@G@@ A6,1@^@@@@ MSI,U A2,6@ @@@@ AMA A2,A0 ZV )@@G@@@^@@@@ SZ A1 @ @@@@ DI,U A1,72 @ @@@@ZW )@@G@@ DSC A4,0,A2 @ @@@@ LM A0,*3,X11 @^@@@@ZX )@@G@@ TZ A0 @^@@@@ AN,U A0,1@ @@@@ DSZY )@@G@@L A0,36 @^@@@@ DI,U A0,6@^@@@@ LXI,U ZZ )@@G@@ A0,1@^@@@@ LXI,U A1,1@ @@@@ A,U A0,*1,X11 AA )@@G@@@^@@@@BNTC LDSC A4,6@ @@@@ EX STB,*A1 @ @@@@AB )@@G@@ JGD A6,BNTC @ @@@@BNTD J 5,X11 @^@@@@AC )@@G@@GETC* SZ A3 @ @@@@ L A2,*1,X11 @^@@@@ AD )@@G@@ TZ A2 @^@@@@ AN,U A2,1@ @@@@ DSL AE )@@G@@ A2,36 @^@@@@ DI,U A2,6@ @@@@ L A5,AAF )@@G@@3 @^@@@@ SZ A3 @ @@@@ A,U A2,*0,X11 AG )@@G@@@ @@@@ L A3,A5 @ @@@@ EX LTB,*A3 AH )@@G@@@ @@@@ S A5,A0 @ @@@@ J 3,X11 AI )@@G@@@^@@@@PUTC* SZ A3 @ @@@@ L A0,*2,X11 @^@@@@AJ )@@G@@ TZ A0 @^@@@@ AN,U A0,1@ @@@@ DSAK )@@G@@L A0,36 @^@@@@ DI,U A0,6@ @@@@ A,U AL )@@G@@ A0,*1,X11 @ @@@@ L,S6 A5,*0,X11 @ @@@@ EX AM )@@G@@ STB,*A1 @ @@@@ J 4,X11 @ @@@@TYPS + AN )@@G@@ 'SYM' @ @@@@ + 'ELT' @ @@@@ + AO )@@G@@ 'ASM' @ @@@@ + 'COB' @ @@@@ + AP )@@G@@ 'FOR' @ @@@@ + 'ALG' @ @@@@ + AQ )@@G@@ 'MAP' @ @@@@ + 'DOC' @ @@@@ + AR )@@G@@ 'SEC' @ @@@@ + 'SSG' @ @@@@ + AS )@@G@@ 'APL' @ @@@@ + 'BAS' @ @@@@ + AT )@@G@@ 'LSP' @ @@@@ + 'PLS' @ @@@@ + AU )@@G@@ 'RUN' @ @@@@ + 'ADD' @ @@@@ + AV )@@G@@ 'NOR' @ @@@@ + 'NRL' @ @@@@ + AW )@@G@@ 'NPL' @ @@@@NTYPS EQU $-TYPS @ @@@@ + AX )@@G@@ '***' @ @@@@TYPER* TN ECYCLO @^@@@@ J AY )@@G@@ $+5 @ @@@@ L,U A1,'DF ' @ @@@@ TNZ ECYCAZ )@@G@@LO @ @@@@ TP ECYCLI @ @@@@ J PRTYBA )@@G@@P+4 @^@@@@ SZ A3 @^@@@@ L,U A0,1@ @@@@BB )@@G@@ L,H2 A1,*0,X11 @ @@@@ TNE,U A1,' ' @ @@@@BC )@@G@@ J PRTYP @ @@@@ L A2,(1,-1) @ @@@@BD )@@G@@ L,U R1,NTYPS @A@@@@ SE A1,TYPS+1,*A2 BE )@@G@@@ @@@@ J 2,X11 @^@@@@ SZ A0 @ @@@@BF )@@G@@ S,H2 A2,OUTYP @ @@@@ J 2,X11 @ @@@@BG )@@G@@PRTYP L,H2 A1,OUTYP @ @@@@ TG,U A1,NTYPS @ @@@@BH )@@G@@ L,U A1,NTYPS @ @@@@ L A1,TYPS,A1@ @@@@BI )@@G@@ S,H1 A1,PRTYPM @B@@@@ L A0,(0102,PRTYPM-BJ )@@G@@1) @ @@@@ ER PRINT$ @^@@@@ SZ A0 BK )@@G@@@ @@@@ J 2,X11 @ @@@@CNFERR P$RINT CNFERP1 BL )@@G@@@ @@@@ P$RINT CNFERP2 @^@@@@ J 0,X4@C@@@@BM )@@G@@CNFERM1 'NO FURTHER INPUT POSSIBLE.'@B@@@@CNFERP1 + BN )@@G@@ 0200+$-CNFERM1,CNFERM1@E@@@@CNFERM2 'USE ''*EXIT'' TO LEAVBO )@@G@@E CONFERENCE.' @B@@@@CNFERP2 + 0100+$-CNFERM2,CNFERM2@ @@@@BP )@@G@@NOCONF P$RINT NOCONFR @ @@@@ J 2,X11 @D@@@@BQ )@@G@@NOCNFM 'CONFERENCE SYSTEM NOT AVAILABLE.'@B@@@@NOCONFR + BR )@@G@@ 0100+$-NOCNFM,NOCNFM @ @@@@CONFR* TNZ CONFR$ @ @@@@BS )@@G@@ J NOCONF @^@@@@ SZ A4 @^@@@@ BT )@@G@@ TZ BOPT@^@@@@ J $+3 @^@@@@ L,U BU )@@G@@ A3,3@^@@@@ DSL A3,2@ @@@@ L A1,INPL BV )@@G@@@^@@@@ TLE,U A1,2@^@@@@ J CFL2@ @@@@ BW )@@G@@ L A0,BUF0+1 @^@@@@CNFL SZ A1 @^@@@@ LDBX )@@G@@SC A0,6@ @@@@ TLE,U A1,'Z'+1 @ @@@@ TLE,U BY )@@G@@ A1,'A' @^@@@@ J CFL1@^@@@@ L,U A3,1BZ )@@G@@@ @@@@ LN A1,A1 @ @@@@ LSSL A3,'Z',A1 CA )@@G@@@ @@@@ OR A3,A4 @ @@@@CFL1 JNZ A0,CNFL CB )@@G@@@^@@@@CFL2 L,U A0,2@ @@@@ S A0,TERM @ @@@@CC )@@G@@ ER AWAIT$ @A@@@@ L A1,(BUFW*2,BUF0)CD )@@G@@@ @@@@ L A2,NAME @ @@@@ S A2,1,A1 CE )@@G@@@ @@@@ S A4,,A1 @^@@@@ SZ 2,A1@ @@@@CF )@@G@@ L X4,X11 @ @@@@ L A0,CONFR$ @ @@@@CG )@@G@@ ER LINK$ @ @@@@ JN A0,CNFERR @ @@@@CH )@@G@@ TZ PROMPT @^@@@@ J CFL3@ @@@@ CI )@@G@@ E$DIT IDEPKT @ @@@@ E$FD1 ('EDIT:') @ @@@@ CJ )@@G@@ E$DECV CLNUM @#@@@@ E$DITX @ @@@@ P$RINT CK )@@G@@ RDPKT @ @@@@CFL3 L,U X11,1,X4 @^@@@@ SZ CL )@@G@@ TERM@A@@@@IDLER* L A0,(0100,WT1) @ @@@@ ER CM )@@G@@ FORK$ @ @@@@ ER TIME$ @ @@@@ S CN )@@G@@ A0,WTTIM @ @@@@ J 1,X11 @ @@@@WT1 L,U CO )@@G@@ A1,10000 @ @@@@WT2 L A2,(1,1) @ @@@@WT3 ER CP )@@G@@ TWAIT$ @^@@@@ TZ TERM@ @@@@ ER EXITCQ )@@G@@$ @ @@@@ JPS A2,WT3 @ @@@@ TNZ WTTRCR )@@G@@M @^@@@@ J WT2 @E@@@@ ER TIME$ CS )@@G@@ . GET THE CURRENT TIME @C@@@@ L A4,A0 CT )@@G@@. SAVE IN A4@F@@@@ ANU A4,WTTIM . SUBTRACT TIME OFCU )@@G@@ LAST MSG @E@@@@ TLE,U A5,180000 . AT LEAST THREE MCV )@@G@@INS? @C@@@@ J WT2 . NO, NO MSG@F@@@@ CW )@@G@@ S A4,WTTIM . MARK THE TIME OF THIS MSG @C@@@@ CX )@@G@@ L A0,IDLMSG . AND... @C@@@@ ER PRINCY )@@G@@T$ . PRINT IT @^@@@@ J WT2 @ @@@@MSG1* L,CZ )@@G@@U A0,OPK1 @ @@@@ L A1,INPL @^@@@@ TGDA )@@G@@,U A1,9@^@@@@ L,U A1,8@^@@@@ MSI,U A1,6DB )@@G@@@ @@@@ S,H1 A1,1,A0 @^@@@@ SZ 0,A0@^@@@@DC )@@G@@ ER COM$@ @@@@ J 1,X11 @^@@@@MSG2* DD )@@G@@ TNZ OPMF@^@@@@ J $+4 @B@@@@ L DE )@@G@@ A0,(0104,PMNANS1) @ @@@@ ER PRINT$ @ @@@@ DF )@@G@@ J 1,X11 @ @@@@ S,H2 X11,OPMF @ @@@@ DG )@@G@@ L A3,INPL @A@@@@ L A1,(1,BUF0) @A@@@@DH )@@G@@ L A2,(1,MSGOUT) @^@@@@ TG,U A3,9@^@@@@DI )@@G@@ L,U A3,8@ @@@@ L R1,A3 @ @@@@ DJ )@@G@@ BT A2,,*A1 @ @@@@ L,U A0,$+3 @ @@@@ DK )@@G@@ ER FORK$ @ @@@@ J 1,X11 @ @@@@ DL )@@G@@ L,U A0,OPK2 @^@@@@ MSI,U A3,6@ @@@@ S,DM )@@G@@H1 A3,1,A0 @^@@@@ SZ 0,A0@^@@@@ ER DN )@@G@@ COM$@ @@@@ L,H2 A0,,A0 @^@@@@ A,U A0,5DO )@@G@@@ @@@@ DSL A0,36 @^@@@@ DI,U A0,6@ @@@@DP )@@G@@ LSSL A0,18 @B@@@@ AH A0,(0101,MSGIN-1DQ )@@G@@) @ @@@@ ER PRINT$ @^@@@@ SZ OPMFDR )@@G@@@^@@@@ TNZ TERM@ @@@@ ER EXIT$ @ @@@@DS )@@G@@ L A0,NAME @^@@@@ ER ACT$@ @@@@ DT )@@G@@ ER EXIT$ @^@@@@TRIM* SZ A3 @ @@@@ LXDU )@@G@@I A0,*1,X11 @ @@@@ LXM,U A0,*0,X11 @^@@@@ SZDV )@@G@@ A2 @ @@@@ L A3,A0 @ @@@@ SSA DW )@@G@@ A3,18 @^@@@@ AN,U A3,1@ @@@@ JN A3,TDX )@@G@@RIM4 @ @@@@ L,U A0,,A0 @ @@@@TRIM2 AU,U A0,,DY )@@G@@A3 @ @@@@ L A4,,A1 @ @@@@ TE A4,SDZ )@@G@@PCS @ @@@@ J TRIM3 @ @@@@ JGD A3,TEA )@@G@@RIM2 @ @@@@ J TRIM4 @^@@@@TRIM3 L,XU A2,6EB )@@G@@@ @@@@ MSI A2,A3 @^@@@@ L,U A3,5@ @@@@EC )@@G@@ L A0,,A1 @^@@@@ J $+2 @^@@@@ ED )@@G@@ SSL A0,6@ @@@@ AND,U A0,63 @^@@@@ TNEE )@@G@@E,U A1,5@ @@@@ JGD A3,$-3 @ @@@@ AA,U EF )@@G@@ A2,1,A3 @ @@@@TRIM4 L,U A0,,A2 @ @@@@ J EG )@@G@@ 3,X11 @^@@@@IND* SZ A3 @ @@@@ L A0,*EH )@@G@@0,X11 @ @@@@ L A0,,A0 @ @@@@ J 2,X1EI )@@G@@1 @^@@@@NSCAN* SZ A3 @ @@@@ L,U A0,*5,X11 EJ )@@G@@@^@@@@ LXI,U A0,1@ @@@@ L A1,*6,X11 @^@@@@EK )@@G@@ AN,U A1,1@ @@@@ L A7,A1 @ @@@@ EL )@@G@@ SZ 0,*A0 @ @@@@ JGD A1,$-1 @ @@@@ EM )@@G@@ L R1,*8,X11 @ @@@@ SX,H2 X11,RET @ @@@@ EN )@@G@@ L A0,*3,X11 @ @@@@ L A2,*4,X11 @^@@@@ EO )@@G@@ AA,U A0,1@ @@@@ TG A2,A0 @ @@@@ J EP )@@G@@ 1,X11 @ @@@@ AN A0,A2 @ @@@@ L,EQ )@@G@@U X9,*5,X11 @^@@@@ AN,U A2,1@ @@@@ DSL ER )@@G@@ A2,36 @^@@@@ DI,U A2,6@^@@@@ LXI,U A3,1ES )@@G@@@ @@@@ L A5,A3 @^@@@@ SZ A3 @ @@@@ET )@@G@@ A,U A2,*2,X11 @^@@@@ LXI,U A2,1@ @@@@ EU )@@G@@ L A3,A5 @^@@@@NCH L,U A1,1@^@@@@ SZEV )@@G@@ A4 @^@@@@ SZ A6 @^@@@@ LN,U A8,1EW )@@G@@@ @@@@ L,U A10,1 @ @@@@ LMJ X8,IGNPB EX )@@G@@@ @@@@NCH1 LMJ X11,NEXTCH@ @@@@ J ENDFLDB EY )@@G@@@ @@@@ TG,U A5,'0' @ @@@@ TG,U A5,'9'+1 EZ )@@G@@@^@@@@ J NCH2@^@@@@ L,U A8,1@ @@@@ FA )@@G@@ AN,U A5,'0' @ @@@@ MSI,U A4,10 @ @@@@ FB )@@G@@ AA A4,A5 @^@@@@ J NCH1@^@@@@NCH2 TNFC )@@G@@ A8 @ @@@@ JNZ A8,NCH3 @ @@@@ TE,U FD )@@G@@ A5,'+' @ @@@@ TNE,U A5,'-' @^@@@@ J FE )@@G@@ $+2 @^@@@@ J *RET@ @@@@ TE,U A5,'+' FF )@@G@@@ @@@@ LN A10,A10 @^@@@@ J NCH1@ @@@@FG )@@G@@NCH3 TE,U A5,056 @^@@@@ TNE,U A5,5@ @@@@ FH )@@G@@ J ENDFLDA @^@@@@ SZ X8 @ @@@@ TNFI )@@G@@E,U A5,'-' @^@@@@ L,U X8,3@ @@@@ TNE,U FJ )@@G@@ A5,'+' @^@@@@ L,U X8,1@^@@@@ TNZ X8 FK )@@G@@@^@@@@ J *RET@^@@@@ SZ A8 @ @@@@ FL )@@G@@ MSI A4,A10 @^@@@@ J $,A1@ @@@@ A FM )@@G@@ A6,A4 @^@@@@ J $+2 @ @@@@ AN FN )@@G@@ A6,A4 @ @@@@ L,U A1,,X8 @^@@@@ SZ FO )@@G@@ A4 @ @@@@ L,U A10,1 @^@@@@ J NCH1FP )@@G@@@^@@@@ENDFLDB SZ A7 @ @@@@ENDFLDA MSI A4,A10 @^@@@@FQ )@@G@@ J $,A1@ @@@@ A A6,A4 @^@@@@ FR )@@G@@ J $+2 @ @@@@ AN A6,A4 @ @@@@ S FS )@@G@@ A6,,X9 @^@@@@ AX,U X9,1@ @@@@ JGD FT )@@G@@ A7,NCH @ @@@@DONE LXM X11,RET @^@@@@ LXI,U FU )@@G@@ A2,0@ @@@@ L,U A5,1,A3 @^@@@@ SZ A3 FV )@@G@@@ @@@@ AN,U A2,*2,X11 @^@@@@ MSI,U A2,6@ @@@@FW )@@G@@ A A2,A5 @ @@@@ S A2,*7,X11 @ @@@@FX )@@G@@ J 1,X11 @ @@@@NEXTCH JZ A0,,X11 @ @@@@FY )@@G@@ EX LTB,*A3 @ @@@@ TNE A5,R1 @ @@@@FZ )@@G@@ J ENDFLDB @^@@@@ AN,U A0,1@ @@@@ GA )@@G@@ J 1,X11 @ @@@@IGNPB LMJ X11,NEXTCH@ @@@@ GB )@@G@@ J ENDFLDB @^@@@@ TNE,U A5,5@ @@@@ J GC )@@G@@ IGNPB @ @@@@ TNE,U A5,056 @ @@@@ J GD )@@G@@ ENDFLDA @^@@@@ J 2,X8@ @@@@XREAD* SZ GE )@@G@@ ADDFF @^@@@@ SZ A3 @ @@@@ L A6,*GF )@@G@@1,X11 @ @@@@ S A6,WTTRM @ @@@@ J XREAGG )@@G@@D1 @^@@@@XREAD4 SZ RBKF@^@@@@XREAD1 TNZ RBKF@ @@@@GH )@@G@@ TNZ PROMPT @ @@@@ J XREAD5 @ @@@@GI )@@G@@ S,H2 X11,RET @ @@@@ L,U A0,IDEPKT @ @@@@GJ )@@G@@ LMJ X11,EDIT$ @ @@@@ L A0,CLNUM @ @@@@GK )@@G@@ LMJ X11,EDECV$@ @@@@ L A0,A6 @ @@@@GL )@@G@@ LMJ X11,EFD1$ @ @@@@ L A0,A6 @ @@@@GM )@@G@@ LMJ X11,EFD1$ @ @@@@ LMJ X11,EDITX$@ @@@@GN )@@G@@ LXM X11,RET @ @@@@ L,U A0,RDPKT @ @@@@GO )@@G@@ ER TREAD$ @ @@@@ L A1,A0 @ @@@@GP )@@G@@ ER TIME$ @ @@@@ S A0,WTTIM @ @@@@GQ )@@G@@ L A0,A1 @ @@@@ J XREAD6 @ @@@@GR )@@G@@XREAD5 L A0,RDPKT+1@ @@@@ ER READ$ @ @@@@GS )@@G@@ L A1,A0 @ @@@@ ER TIME$ @ @@@@GT )@@G@@ S A0,WTTIM @ @@@@ L A0,A1 @ @@@@GU )@@G@@XREAD6 SZ WTTRM @^@@@@ LXI,U A1,0@ @@@@ GV )@@G@@ TOP A0,(1*/34)@ @@@@ J XREAD2 @ @@@@ GW )@@G@@ S A0,DISCAD @^@@@@ TZ RBKF@ @@@@ J GX )@@G@@ XREAD1 @ @@@@ S A0,ADDFF @ @@@@ SZGY )@@G@@ DISCAD @ @@@@ J XREAD3 @ @@@@XREAD2 JNGZ )@@G@@Z A1,XREAD3 @^@@@@ TZ RBKF@ @@@@ J HA )@@G@@ XREAD4 @ @@@@XREAD3 S A1,INPL @^@@@@ SZ HB )@@G@@ RBKF@ @@@@ JZ A1,XREAD7 @ @@@@ TNE,U A6,2HC )@@G@@623 @ @@@@ J XREAD7 @ @@@@ L,S1 A0,BHD )@@G@@UF0 @ @@@@ TE,U A0,'/' @ @@@@ J XREAHE )@@G@@D8 @ @@@@ L R1,EDN @ @@@@ S R1,IHF )@@G@@NPL @A@@@@ L A0,(1,EDN+1) @A@@@@ L HG )@@G@@ A1,(1,BUF0) @ @@@@ J XREAD9 @ @@@@XREAD8 L HH )@@G@@ R1,INPL @ @@@@ S R1,EDN @A@@@@ L HI )@@G@@ A0,(1,BUF0) @A@@@@ L A1,(1,EDN+1) @ @@@@HJ )@@G@@XREAD9 BT A1,,*A0 @ @@@@XREAD7 TNZ DISCAD @ @@@@HK )@@G@@ J 3,X11 @A@@@@ L A0,(0104,ADDFD) HL )@@G@@@ @@@@ ER PRINT$ @ @@@@ SZ DISCAD HM )@@G@@@ @@@@ J 3,X11 @^@@@@XREADE LSSL A0,2@ @@@@HN )@@G@@ SZ WTTRM @ @@@@ JP A0,,X11 @ @@@@HO )@@G@@ J XREAD1 @^@@@@XPRINT* SZ A3 @ @@@@ HP )@@G@@ ER TIME$ @ @@@@ S A0,WTTIM @ @@@@ HQ )@@G@@ SZ WTTRM @ @@@@ LXM,U A0,*0,X11 @ @@@@ HR )@@G@@ LXI A0,*1,X11 @A@@@@ AH A0,(0100,0) @ @@@@HS )@@G@@ ER PRINT$ @ @@@@ J 3,X11 @^@@@@HT )@@G@@XSDFI* SZ A3 @ @@@@ L A1,*0,X11 @A@@@@ HU )@@G@@ L A1,PKTS-1,A1 @ @@@@ L,U A0,*1,X11 @ @@@@HV )@@G@@ S,H2 A0,9,A1 @ @@@@ S A1,CPKT @ @@@@HW )@@G@@ S,H2 X11,RET @^@@@@ TP 0,A1@ @@@@ HX )@@G@@ LMJ X10,OPENI @ @@@@ L,U A0,1,A1 @ @@@@DOSDFIHY )@@G@@ LMJ X11,SDFI @ @@@@ J IOERR @^@@@@ HZ )@@G@@ J EOF @ @@@@ TP 10,A0 @ @@@@ J IA )@@G@@ DOSDFI @ @@@@ TP ECYCLI @^@@@@ J IB )@@G@@ $+3 @ @@@@ TZ,S4 10,A0 @ @@@@ J IC )@@G@@ DOSDFI @ @@@@ L,T1 A0,10,A0 @ @@@@ LXM ID )@@G@@ X11,RET @ @@@@ J 4,X11 @ @@@@EOF LXM IE )@@G@@ X11,RET @^@@@@ TP 3,A0@ @@@@ ER WAITIF )@@G@@$ @ @@@@ J 2,X11 @A@@@@IOERR S,H2 A0,CIG )@@G@@ONTIN+1 @ @@@@ L A0,A5 @^@@@@ J IH )@@G@@ IO1 @^@@@@XSDFO* SZ A3 @ @@@@ L A1,*0,X11 II )@@G@@@A@@@@ L A1,PKTS-1,A1 @ @@@@ L,U A0,*IJ )@@G@@1,X11 @ @@@@ S,H2 A0,9,A1 @ @@@@ S,H2 X11,IK )@@G@@RET @^@@@@ TP 0,A1@ @@@@ LMJ X10,OPENO IL )@@G@@@ @@@@ L A0,*2,X11 @ @@@@ LSSL A0,24 IM )@@G@@@ @@@@ S A0,11,A1 @ @@@@ L,U A0,1,A1 IN )@@G@@@ @@@@ LMJ X11,SDFO @ @@@@ J IOERR IO )@@G@@@ @@@@ LXM X11,RET @ @@@@ J 4,X11 IP )@@G@@@ @@@@OPENO S A1,CPKT @ @@@@ L,U A0,W$ IQ )@@G@@@ @@@@ S,T1 A0,4,A1 @ @@@@ L,U A0,1,A1 IR )@@G@@@ @@@@ LMJ X11,SDFOO @ @@@@ L A1,CPKT IS )@@G@@@ @@@@ LXM X11,RET @^@@@@ SZ 0,A1@^@@@@IT )@@G@@ SZ A3 @ @@@@ J 0,X10 @ @@@@OPENI IU )@@G@@ L,U A0,R$ @ @@@@ S,T1 A0,4,A1 @ @@@@ IV )@@G@@ L,U A0,1,A1 @ @@@@ LMJ X11,SDFIO @ @@@@ IW )@@G@@ J IOERR @ @@@@ L A1,CPKT @ @@@@ IX )@@G@@ LXM X11,RET @^@@@@ SZ 0,A1@^@@@@ SZIY )@@G@@ A3 @ @@@@ J 0,X10 @^@@@@XENDF* SZ IZ )@@G@@ A3 @ @@@@ L A1,*0,X11 @A@@@@ L A1,PJA )@@G@@KTS-1,A1 @ @@@@ S A1,CPKT @ @@@@ S,H2 JB )@@G@@ X11,RET @ @@@@ TZ *1,X11 @ @@@@ J JC )@@G@@ ICLOS @^@@@@ TP 0,A1@ @@@@ LMJ X10,JD )@@G@@OPENO @ @@@@ L,U A0,1,A1 @ @@@@ LMJ X11,JE )@@G@@SDFOC @ @@@@ J IOERR @ @@@@ L A1,CJF )@@G@@PKT @ @@@@ L A0,6,A1 @ @@@@ S A0,LJG )@@G@@STSEC @^@@@@ J RETR@ @@@@ICLOS L,U A0,1,A1 JH )@@G@@@^@@@@ TP 3,A0@ @@@@ ER WAIT$ @ @@@@JI )@@G@@RETR LXM X11,RET @ @@@@ L A0,*0,X11 @A@@@@JJ )@@G@@ L A0,SECTS,A0 @ @@@@ S A0,6,A1 JK )@@G@@@ @@@@ L,XU A0,-1 @ @@@@ S A0,,A1 JL )@@G@@@A@@@@ L A0,(BUFW,0) @ @@@@ S A0,5JM )@@G@@,A1 @A@@@@ L A0,(BUFS,22) @ @@@@ S JN )@@G@@ A0,8,A1 @ @@@@ J 3,X11 @ @@@@WHAT* TZ JO )@@G@@ RONLX @ @@@@ J WHAT1 @ @@@@ S,H2 JP )@@G@@ X11,RET @ @@@@ L,U A0,IDEPKT @ @@@@ LMJ JQ )@@G@@ X11,EDIT$ @ @@@@ L,U A0,ROUTP @^@@@@ L,U JR )@@G@@ A1,7@ @@@@ LMJ X11,ECOPY$@ @@@@ DL A0,FJS )@@G@@AC+4 @ @@@@ LMJ X11,EFD2$ @ @@@@ L,U A0,'JT )@@G@@*' @ @@@@ LMJ X11,ECHAR$@ @@@@ DL A0,FJU )@@G@@AC+2 @ @@@@ LMJ X11,EFD2$ @ @@@@ L A0,SJV )@@G@@PCS @ @@@@ TE A0,OUTELT @ @@@@ L,U A0,'JW )@@G@@.' @ @@@@ LMJ X11,ECHAR$@ @@@@ TNZ OUTEJX )@@G@@LT @ @@@@ J WHAT2 @ @@@@ DL A0,OJY )@@G@@UTELT @ @@@@ LMJ X11,EFD2$ @ @@@@ L A0,SJZ )@@G@@PCS @ @@@@ TE A0,OUTVER @ @@@@ TNZ OUTVKA )@@G@@ER @ @@@@ J WHAT2 @ @@@@ L,U A0,'KB )@@G@@/' @ @@@@ LMJ X11,ECHAR$@ @@@@ DL A0,OKC )@@G@@UTVER @ @@@@ LMJ X11,EFD2$ @ @@@@WHAT2 LMJ X11,KD )@@G@@EDITX$@ @@@@ L A0,RDPKT @ @@@@ ER PRINKE )@@G@@T$ @ @@@@ LXM X11,RET @A@@@@ L A0,(KF )@@G@@0103,ASSROP)@ @@@@ TZ RONLY @ @@@@ ER KG )@@G@@ PRINT$ @ @@@@ J 1,X11 @A@@@@WHAT1 L KH )@@G@@ A0,(0105,ROUTP) @ @@@@ ER PRINT$ @ @@@@ J KI )@@G@@ 1,X11 @^@@@@LOOKUP* SZ A3 @^@@@@ L,U KJ )@@G@@ A0,1@ @@@@ L A1,*0,X11 @ @@@@ L,U R1,CKK )@@G@@$TBL @ @@@@ L A2,(3,-3) @ @@@@ SZ *1,XKL )@@G@@11 @A@@@@ SE A1,C$TB+3,*A2 @ @@@@ J KM )@@G@@ 3,X11 @A@@@@ L A1,C$TB+1,A2 @ @@@@ L,KN )@@G@@U A0,,A2 @ @@@@ TG,U A0,C$TBA @ @@@@ LNKO )@@G@@ A1,A1 @ @@@@ S A1,*1,X11 @ @@@@ TNKP )@@G@@ AUTOF @ @@@@ TNZ AUTOF @^@@@@ J KQ )@@G@@ $+4 @ @@@@ L A1,AUTOC @A@@@@ A KR )@@G@@ A1,C$TB+2,A0 @ @@@@ S A1,AUTOC @ @@@@ DSKS )@@G@@L A0,36 @^@@@@ DI,U A0,3@^@@@@ A,U KT )@@G@@ A0,1@ @@@@ J 3,X11 @^@@@@THIRD* SZ A3 KU )@@G@@@ @@@@ L A1,*0,X11 @^@@@@ LSSL A1,1@ @@@@KV )@@G@@ J $-1,A1 @ @@@@ L,T1 A0,*1,X11 @ @@@@KW )@@G@@ J 3,X11 @ @@@@ L,T2 A0,*1,X11 @ @@@@KX )@@G@@ J 3,X11 @ @@@@ L,T3 A0,*1,X11 @ @@@@KY )@@G@@ J 3,X11 @#@@@@ END ___ @ @@@@ KZ )@@G@@ L,T1 A0,10,A0 @ @@@@ LXM X11,RET @ @@@@ LA )@@G@@)@@[CE]^['^]@-@+)@@@@@@@=9K@K@R;K@@[A#@@-['=@@@@R;@EDN'=@@@@'=@@@@Q;@@@^LB )@@G@@&;@@][AA@@@@)@D[D#@P@K0 K^G[KK0 @@@@>9K@@]A#K@@P=9K@]@>9K@@]A#K@@N=[K@^!LC )@@G@@A#K@@L=[K@^%A#K@@TAB@@@@)@M[D@K0 K^G[O[#@O*C]^]K'=@@@@R#K@^\R;@@[#A#K@@MLD )@@G@@=[K@^,A#K@@H>[K@^:A#K@@O=[K@^?AC@@@@)@V[KKM+-@&)C@)C]@9/0@[C#C)@[BOF)@[BLE )@@G@@D8)@@[ @@@[A/@)@@='=@@@@R;@@B@9*0@B@9?/@@@AD@@@@)@>[D@K^[][L@K)PK^C =@@@LF )@@G@@R#@@[]'=@@@@R#@@@9'=@@@@R#@@[ '=@@@@R#@@[B/K@@@((C@@[BAE@@@@)@,[L][SK)RKLG )@@G@@)S@@@@LINK PITIAL TO INTURNEDREP RE 7.1.0'=@@@@'=@@@@ @@@@G'=@@@@AF@@@@LH )@@G@@)@8[SE@@@ @@@[C@@'UTION.R EXECFURTHEE FOR AILABLNOT AV CODE EDITOR@]A@@3LI )@@G@@OINT. AG@@@@)[#[S@E@]@)@/KF@@[ @@@@@AB@@[ORBF@@@ LIB$ @@]@[#CONFR$LJ )@@G@@EDN$ @@@@@@@@@@@@AH@@@@)[I[K*]@CS]*S@*@C@9*@@#X@@@@@@@@@@@@/K@@]1/K@@L3LK )@@G@@ @@@@WP'0@@#RA0@[OR;@@@ R;K@^XAI@@@@)[S[L@^[@K[@[@@@@@R#H@#QR;K@@#!8K@@^LL )@@G@@/K@@[!%8@@@CR7K@[PR\@@[PAB@@[PO;@@@[RB@@[PAJ@@@@)[+[D][SK])-@2)CS]+@@@@@LM )@@G@@/K@@]S%8K@@](@@@@Q/K@@]S'=@@@@R;@@#U/K@@[*%8K@@['=@@@@AK@@@@)[:[L#@P@K[@LN )@@G@@^@^@@@/K@@]W!8@@@>!8@@@)/K@@]W%8K@@^/K@@[9:8K@@[R3@@[P/K@@]SA#K@@ AL@@@@LO )@@G@@)[5[L#@P@^@^[@K])@%8K@#,RBK@[Q/K@@]^/K@@[.:8@@@M%8@@@ /K@@]TD8@@@@/K@@]WLP )@@G@@*@@@@QAM@@@@)[_[L@K^C -#@^@K@@AV@@]8O;@@00;?@@@#;*@@@#;G@@@#/K@@K3R;H@@@LQ )@@G@@'=@@@@R#@@#E/K@@]^AN@@@@)]D[D@^[@K)QK^[#@P@@@@@@/K@@]1*@@@@R/K@@[I:@K@^YLR )@@G@@'=@@@@R#@@]'A#K@]9R#W@@@RB@@[QAO@@@@)]M[D#@OK^[][T@K^[@@@@@@ C@@[PR#K@#YLS )@@G@@R#@@#X/K@@]1'=@@@@R#@@# A3@@#^O;@@@,R#@@@]AP@@@@)]V[T@@[@@@@O;@@00;?@@@#LT )@@G@@;*@@@#;?@@@YAV@@]"O;@@00;?@@@#;*@@@#;G@@@#;*K@@#/K@K[PAQ@@@@)]&[D@K^C =[LU )@@G@@#@OK^@@@@@@@!8@@@#R3@@[P/K@@]K%8@@@](@@@@QR7@@[P'=@@@@R#@@]_AR@@]/AR@@@@LV )@@G@@)]\[D@K[][X#@P#@^()A-)]@I/O ER/K@@^8R8K@^N/K@@^7(@@@@R'=@@@@ @@@@G/K@@]KLW )@@G@@/K@K[OAS@@@@)]8[S])@ @@@ILE WANPUT FLAST I@[^@];E $$ , CODYPE $$ERR: TLX )@@G@@@[#@]7FILE$$R $$: AT@@@@)##[S])@ @@@VE. N ACTINYU ED@[^@#ANEL. SENTILY )@@G@@UT EOFNO INP@[ @#@$$ S EDN$AU@@@@)#I[S@@@* @@@[#@#L@[#@#IRPT. ME INTLZ )@@G@@MAX TIVED. RECEIINTRPTRPT. OR INTOPERATAV@@@@)#T[S*[K@@@@@@@@@@@@@@@@MA )@@G@@@@@@@@@@@@@@,A ,A @@@@@@@@@@@@@@@@@@@@J@#F@@@@@@@[#@#OAW@@@@)#=[S@@@@@@@MB )@@G@@SI$ _____"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@______AX@@@@MC )@@G@@)#\[K#1?C@@G^*@@@@@@@@@@@@[@@@@@[@@@@@K@@Q@^(@F(@@@@@@@B@@@@@@@@@@@@@@@@MD )@@G@@ AY@@@@)#9[K@JA0)[@02+@@@@@[@@@@@K@@Q@@@@B@@@@@@@@B@@@@@@@@@@@@@@@@ME )@@G@@ SO$ _____"AZ@@@@)^#[K@@/V]@^#[E@@@@M(@T(@@@@@@@B@@@@@@@@@@@@@@@@MF )@@G@@ EDN$$1_____"@@@@@@@@[@@@BA@@@@)^H[K@@#1?C@K@@@@@@B@@@@@@@@@@@@@@@@MG )@@G@@ EDN$$2_____"@@@@@@@@[@@@@@[@@@@@K@@QBB@@@@)^R[KG^*@@@@@@@@@@@@@@@@MH )@@G@@ SPLIT$_____"@@@@@@@@[@@@@@[@@@@@K@@Q@^(@F(@@@@@@BC@@@@)^-[K/V]@^##MI )@@G@@EC@O@@@@@)@@E@@@[P@@@@@@@@[@@@@@[@@@@@K@@Q@@@@B@@@@@@@@B@@@@@@@@@@BD@@@@MJ )@@G@@)^:[S@@@@@@@ NOT FR. D ERRON FIELICATIOSPECIF@@]@[C@@K@@@@]@@@@@@@^@@MK )@@G@@@[@@@@BE@@@@)^6[S@@@@@@@1.,F// EDN$$@ASG,TED. RETAIN ONLY CYCLELATESTML )@@G@@PTY.& IS EMOUND.&BF@@@@) [[S@@@@@@@INPUT $. . O$.,SI@USE S. /9999 MM )@@G@@2.,F// EDN$$@ASG,T. /9999 BG@@@@) G[S@@@@@@@ FILE OUTPUTFILE. OGRAM MN )@@G@@T A PR IS NOOUTPUTILE. GRAM F A PROIS NOTBH@@@@) R[S@@@@@@@ING SCASSIGNMO )@@G@@ERROR E. LT NAMEEDS EFILE NINPUT ME. ELT NANEEDS BI@@@@) +[S@@@@@@@MP )@@G@@STATUSLABLE T AVAI IS NOSPLIT$UT. LLED O IS ROSPLIT$FILES.RATCH BJ@@@@MQ )@@G@@) ![S@@@@@@@OUTPUTORAGE.ASS ST NOT MOUTPUTRAGE. SS STONOT MAINPUT . MR )@@G@@--HEREBK@@@@) 8[S@@@@@@@FILE NINPUT IGNED.LE ASSPUT FIG! OUTWARNINKEY. MS )@@G@@WRITE NEEDS FILE BL@@@@)A#[S@@@@@@@CT & C REJE . FA. E-ONLYS WRITMT )@@G@@FILE IINPUT Y. EAD KEEEDS RBM@@@@)AI@S@))1@C@));@*EC @@@@@@@@)(@@@@@@MU )@@G@@@@@@@@@@@@@@@@@@@@REPLY:@@TPF$@@@@@@ BN@@@@)-@[S*@ ^@@@TYPE: @@@@@@MV )@@G@@@@@@@@@@@@@@[[@@@@@@@@@@@&I@B@@@@@@@@@@@@@@@@@@@@@2@)2BO@@@@)-F[C@#1)@/SMW )@@G@@@JA@#1)@@@@@@@@@^L@@@@^ @@@@#9@@@@#!@@@@@@@@@@@@@@@@@@@@@@@[ BP@@@@MX )@@G@@)-O[K/S@@JA0)@E@@@$. . SI@ASG,A@@@@@@@@[@T(@@@@@@@@@@@@ SI$ MY )@@G@@@@@@^XBQ@@@@)-Y[K@@@*@@@@@@@@@@[#@-=DLE. EDN I$$$$$$SPLIT$ @CAT,PMZ )@@G@@$. . SO@ASG,ABR@@@@)-.@S@)B@@/@@@@@@@ @@A@@@@@@@@@ CONFR$NA )@@G@@@@@@@@@@@@@@PFP @@@@@@@@@@@@BS@@@@)BB@?@@@@@@@)@@@&@*@@@@@@@@@@@@@@@@@NB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ BT@@@@)@^[Y@*@@@@@@@@ADD@@@@@@NC )@@G@@ LED N. FIEND ED@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BU@@@@)@J[Y@*@@@@@ND )@@G@@@@@@@@@@@@@@@@@@@[@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BV@@@@NE )@@G@@)@U@Y@*@@@@@)@@@6@S*@O@@@@@@@@@@@@^>@@@PON@@@@@@@@@@^>______@@@@@@@@@@@@NF )@@G@@_____"BW@@@@)@A[Q@S*@O@E@@@@@@@@MSG*@@@@@@@@@@^>@@@MSG@@@@@@@@@@^>@@INITNG )@@G@@@@@@@@@@@@^>@@SAVEBX@@@@)@K[Q@U)[K@*@O@@@@@@@@^>@@POFF@@@@@@@@@@^>@CONFRNH )@@G@@@@@@@@[@@@^&@@AUTO@@@@@@@@@@^>BY@@@@)@U[Q@SE@ @])@@@@@@@@@@[@@@@^>@@@@HDNI )@@G@@@@@@@@@@@@^>@@@@HL@@@@@@@@@@^>@@SPL!@@@@@@BZ@@@@)@=[Q@S*@O@E@@@@@@@@@@CCNJ )@@G@@@@@@@[@@@@^>@@@@CH@@@@@@@@@@^>@@@@PH@@@@@@@@@@^>@@WHATCA@@@@)@,[Q@U)[K@*NK )@@G@@@O@@@@@@@@^>@@@RON@@@@@@@@@@^>@@@TAB@@@@@[@@@@^>@@@@CN@@@@@@@@@@^>CB@@@@NL )@@G@@)@8[Q@SE@ @])@@@@@@@@@@@@@@@^>@@TCHA@@@@@@@@@@^>@@@SET@@@@@@@@@@^>@@ROFFNM )@@G@@@@@@@@CC@@@@)[][Q@S*@O@E@@@@@@@TCHCX@@@@@@@@@@^>@@TCHL@@@@@@@@@@^>@@TCHCNN )@@G@@@@@@@@@@@@^>@@TCHFCD@@@@)[G[Q@U)[K@*@O@@@@@@@@^>@@FILE@@@@@@@@@@^>@@@ENDNO )@@G@@@@@@@@@@@@^>@TCHLX@@@@@@@@@@^>CE@@@@)[Q[Q@SE@ @])@@@@@@@@@@@@@@@^>@@@@NLNP )@@G@@@@@@@@@@@@^>@@@@BR@@@@@@@@@@^>@@@MSP@@@@@@CF@@@@)[)[Q@S*@O@E@@@@@@@@@ADDNQ )@@G@@@@@@@@@@@@^>@@TYPE@@@@@@@@@@^>@@@@SC@@@@@@@@@@^>@@@@LNCG@@@@)[%[Q@U)[K@*NR )@@G@@@O@@@@@@@@^>@@@@LD@@@@@@@@@@^>@@@@LC@@@@@@@@@@^>@@@@@L@@@@@[@@@@^>CH@@@@NS )@@G@@)[4[Q@SE@ @])@@@@@@@@@@@@@@@^>@@@@@V@@@@@[@@@@^>@@@@LX@@@@@@@@@@^>@@@@LPNT )@@G@@@@@@@[CI@@@@)["[Q@S*@O@E@@@@@@@@@@@X@@@@@@@@@@^>@@@@@T@@@@@@@@@@^>@@@@TDNU )@@G@@@@@@@@@@@@^>@@@@@ECJ@@@@)]C[Q@U)[K@*@O@@@@@@@@^>@@@@P!@@@@@@@@@@^>@@@@@BNV )@@G@@@@@@@[@@@@^>@@@@@C@@@@@@@@@@^>CK@@@@)]M[Q@SE@ @])@@@@@@@@@@@@@@@^>@@LNONNW )@@G@@@@@@@@@@@@^>@SQOFF@@@@@@@@@@^>@@SQON@@@@@@CL@@@@)]W[Q@S*@O@E@@@@@@@@@PLMNX )@@G@@@@@@@@]@@@^>@@@COL@@@@@@[@@@^>@@@@@G@@@@@@@@@@^>@LNOFFCM@@@@)]&[Q@U)[K@*NY )@@G@@@O@@@@[[+@^>@@@@@F@@@@@[[[+@^>@@@@IB@@@@@@[@@@^$@@@SAV@@@@@@[@@@^$CN@@@@NZ )@@G@@)]0[Q@SE@ @])@@@@@@@@@@@[[+@^>@@@@FP@@@@@[[[+@^>@@@@FD@@@@@@[[+@^>@@@@FCOA )@@G@@@@@@@@CO@@@@)]'[Q@S*@O@E@@@@@@@@@@@R@@@@@[[[+@^>@@@@@I@@@@@[[[+@^>@@@@@SOB )@@G@@@@@@@[[[+@^>@@@@FXCP@@@@)#^[Q@U)[K@*@O@@@@]@@@^>@@@CTC@@@@@[#@@@^>@@@@CTOC )@@G@@@@@@@[[[+@^>@@@@@A@@@@@[[[+@^>CQ@@@@)#I[Q@SE@ @])@@@@@@@@@@@@@@@^>@@@@EHOD )@@G@@@@@@@@[@@@^&@@@@@U@@@@@@[@@@^&@@@@@N@@@@@[CR@@@@)#S[Q@S*@O@E@@@@@@@@@SPDOE )@@G@@@@@@@@[@@@^>@@@SPL@@@@@@]@@@^>@@@@@P@@@@@@]@@@^>@@@@CSCS@@@@)#+[Q@U)[K@*OF )@@G@@@O@@@@[@@@^>@@@@AH@@@@@[[@@@^>@@@@RH@@@@@[[@@@^>@@@@IH@@@@@[[@@@^>CT@@@@OG )@@G@@)#?[Q@SE@ @ED<@AOKPREV M@KK@@@@[I@@@@@@@@[]@@@^>@@@@@D@@@@@[[@@@^>@@@IHBOH )@@G@@@@@@@[CU@@@@)#6[Y@S@@@@@OUTPUTREPLY.G FOR WAITING. REV MSG ON PWAITINOI )@@G@@. ANS'DSG NOTCV@@@@)^[[Y@S@@@@@DED. DISCARMAGES @ADD IDE. NLY MOOJ )@@G@@READ-O. D-ONLYIS REA FILE CW@@@@)^G[Y@S@@@@@OR. IT ERRN. INEND EDOK )@@G@@T. OUTPUN. NOEND ED & 7.1.0NYU EDCX@@@@)^R[Y@S@E@@@MS STA SYSTEOL )@@G@@Y UHMC NOTIFPLEASE@# @^RE. AM FIL PROGRREP INWRONG CY@@@@)^+@Y@S*@@@@OM )@@G@@)@@@:#@[#@GK^^@@@@9*@@@@/K@@@G:@@@@HR#K@^=R#@@@2 7.1.0@]A@^XFF. CZ@@@@ON )@@G@@)@ [##@H][T#@H][T#@H][T][-#@@@R#@@^('=@@@@'=@@@@R#@@^<'=@@@@R#@@^*'=@@@@OO )@@G@@R#@@^WDA@@@@)@H[#][X#@H][(@^CA4[#@@@@@@@@@9?@@#,/K@@AJ/,0@@@R;@@@[/K@@ POP )@@G@@/,0@@@R#@@^('=@@@@DB@@@@)@P[#][0K0@K0@K0@ES@CKI*S@@@@@R7@@-''=@@@@R;@@-4OQ )@@G@@9*@@-49?@@#,/K@@]10@@@@G/,0@@@DC@@@@)@X[EK[#@@()@-@/C[N@@@@@R;@@-4/G@@AMOR )@@G@@A#@@[C'=@@@@R;@@-V^CK@#ZN8K,AR/^@@@* @@@[CDD@@@@)@&[F][5#@@^[#@@K@@@@@@@OS )@@G@@;)@@@#/=@@AD;@@@@^R3@@-'/K@@ "!8@@@)!8@@@SR7@@-''=@@@@DE@@@@)@\[#@K)ZK^COT )@@G@@B4G@^[][.@@@@@@@@@/@@@@8R3@@@[9?K@C?9*@@-%9?@@@D/@@@ RR7@@@[/=@@AADF@@@@OU )@@G@@)@7[#][.#@@K0@K0@K0@ES@CKD)@@@'=@@@@R;@@-*9*@@-*9?@@#,A\@@-!R;@@@[9*K@-,OV )@@G@@9?K@@FDG@@@@)@_[#@K0 K0@K0@K^G@4C =G@@@@@@R#@@-2'=@@@@R#@@^%/@@@[AAN@@#=OW )@@G@@RV@@-0 @@@@J/^)@#(DH@@@@)[B[##@[#@[#@[#@@K)ZK)VK@@@@@@/K@@[L/,0@@@9\)@@@OX )@@G@@R;@@@]A#@@#&R7@@-1A#@@#3A#@@#*DI@@@@)[J[]K^CB4G@^CB[#@[#@@@@@@@@@@9?@@#'OY )@@G@@/K@@]10@@@@G/,0@@@9?@@#'9:)@@@/K@@[M @@@[CDJ@@@@)[R[##@@()@-@'-)@)]A@[N@OZ )@@G@@@@@@@@R;@@-Y^^K@#ZN8K,AR/^@@[$R7@@-''=@@@@R;@@-49*@@-4DK@@@@)[Z[#][8K^G@PA )@@G@@^G@]&@]^#%A@@@@@@@R7@@-''=@@@@R;@@-49*@@-49?@@#'/G@@AMA#@@[C'=@@@@DL@@@@PB )@@G@@)[$[M^[#@@KK^@@@@@/=@@A^C;@@@D>;K@^@ @@@@SC#K@@@;@@@@#R3@@-'/K@@A[!8@@@)PC )@@G@@!8@@@SDM@@@@)[1[]K^CB4[#@[][.#@[][/@@@@@@@R3@@@[9*@@#)9?@@@D G@@#=/@@@ 2PD )@@G@@R7@@@[/=@@#U;)@@@[DN@@@@)[9[#@K)ZK0@ES@CKKC]A@]A@@@@@@A#K@#_A#K@#(/^)@^GPE )@@G@@'=@@@@R;@@#'9*@@#+9?@@@F/@@@[/DO@@@@)][[F#@OK0#^C =^K]+@@@@@R;@@@@/,0@#&PF )@@G@@=8@@^@R#@@@@'=@@@@=@K@[CR#@@^:R;KC@@ @@@@BDP@@@@)]E[F#@@*C]A@@)CS[*KF@@@PG )@@G@@C9)@@R'=@@@@R#@@^?/)K@]M)@@@@H9?@@-./K@@A%Q'0@]GAB@@-^DQ@@@@)]N[EK0@KM+-PH )@@G@@@'C[N@[][8@@'=@@@@R;@@^"/K@@]Y*4G@@A'=@@@@R;@@@@9*@@@@9?@@^AC90@@ZDR@@@@PI )@@G@@)]W[F@K[@K0@KM+-@'@@@@@@*4G@@A'=@@@@R;@@@@9*@@@@9?@@^M/K@@AG,5?@@A/K@@])PJ )@@G@@/G@@AGDS@@@@)]>[F@ES@CKJC]@C[N@[#@G@R#K@^!R;@@-=/K@@AG,5?@@A/K@@]?/G@@AGPK )@@G@@'=@@@@R;@@ #/K@@]%DT@@@@)],[#][D#@[[EE^#*)CS[)@@@@@@@@R#@@^,/K@@#O*4G@@APL )@@G@@'=@@@@R;@@@@9*@@@@9?@@^Y'=@@@@DU@@@@)]6[#][9#@H]] @K0#K0@K0#K)Y@@@'=@@@@PM )@@G@@R#@@^,9*K@--9?K@^1/)@@];'=@@@@9?K@^\'=@@@@DV@@@@)]"[#@K0#K^G@^@/S#@@/S#@PN )@@G@@@/S#@G@@@@^4@@@@ ?@@@@ =/,0@D]A#@@ =/K@@#F=@@@^3/C@@#IDW@@@@)#A[]/S#@GK0PO )@@G@@#K)QK^G@4C =@@@@@@/K@@#Q'=@@@@R#@@^7/K@@#Q'=@@@@R#@@^6/S@@@@@@@@^5DX@@@@PP )@@G@@)#I[F#@H#@[#@H][9@K[@@@@R;@@@^/K@@AG,5?@@A/K@@#Q/G@@AG'=@@@@R#@@^,9*@@--PQ )@@G@@9?@@^8DY@@@@)#R[##@[#@P]]D#@H#@P#@@K@@@@@@/=)@#))@K@@I9?K@-.A#@@@CR#@@^'PR )@@G@@/K@@@@A#@@@M0G@@#=DZ@@@@)#Z[EK)QK0@E]@-)A-@?CS])A#@@@BR;@@@['=@@@@R#@@^;PS )@@G@@/#@@#&R'0@]D/=)@]1'=@@@@*@@@@SEA@@@@)#*[E^@K^G@4C =G@@@@@@@@R;@@@[/K@@]1PT )@@G@@'=@@@@R#@@^//K@@#0:8)@@[/K@@^L:8)@@]/KF@@@EB@@@@)#1[##@@()@-@C-)@-[ACK#CPU )@@G@@S@@@@@9?@@-6/,0@@@R;@@@*/,0@@@9?@@-8/,0@@@R;@@-^A#@@-.EC@@@@)#9[#]]GK)AKPV )@@G@@0@K)G@@@@@R;@@ CA#@@@JR;@@@[/,0@@@R;@@^5/,0@@@9?@@-,PX )@@G@@/,0@@@EE@@@@)^D[F][9#@[@^[#@H][T#@@@;G)@@#/K@@]1'=@@@@R#@@^./K@@^L:8)@@]PY )@@G@@/K@@[+/G@@]1'=@@@@EF@@@@)^M[E[#@[#@H][T#@@K@@@@@')H@C9C9K@@./K@@]1'=@@@@PZ )@@G@@R#@@^"AR)@-_G8)@00;?)@@#;*)@@#EG@@@@)^V[##@@()E)CS@CS@CS@CS@CS@@@@9*@@-*QA )@@G@@9?@@#'9*@@-,9?@@#+9*@@-%98@@^8R8K@@D9?@@#)EH@@@@)^<[]K0@K0@K0@K0#K0@K0@KQB )@@G@@0@@@@@R#K@#(R#@@#$A#@@-0R#@@^_A7@@-1R#@@#&A\@@-!R;@@@[EI@@@@)^:[]K0@K0@KQC )@@G@@0@ES@CKM*]A@@@@@@@R#K@#$/^)@^L'=@@@@R;@@-* @@@-3A#K@-2AB@@-1P#@@@HEJ@@@@QD )@@G@@)^3[]()@-[G)C[N@H#@H#@[#@@@@@@A#@@-YA#@@-VR#@@ @R8K@^J/K@@^8/^)@^L'=@@@@QE )@@G@@R;@@#'EK@@@@)^;[F#@[#@@K0@K0#K]&@]@@0@G@@#/K@@ A$;@@#9/K@@ #R#@@ [AF@@-WQF )@@G@@;@@@@MAF@@-ZR#@@#ZEL@@@@) ^[#]]X@ES@CKJ G@^CB=G@^@@@@@/K@@ N(@@@-]'=@@@@QG )@@G@@R;@@-Y'=@@@@R;@@-V/K@@ ['=@@@@EM@@@@) G[##@H][T#@H#@@()@-@2-[K@@@@R;[@@@QH )@@G@@'=@@@@'=@@@@R;@@);A#@@)/R#@@ #'=@@@@R#@@ ]EN@@@@) O[EK)QK)KES@CKO+@CS@@@QI )@@G@@/K@@]1%8@@@ /@@@ (R7G@@#'=@@@@R;@@-P'=@@@@'=@@@@&;@@[^EO@@@@) X[##@@()@-QJ )@@G@@@C-)@-[ACK#CS@@@@@9?@@-6/,0@@@R;@@@*/,0@@@9?@@-8/,0@@@R;@@-^A#@@-"EP@@@@QK )@@G@@) >[#]]G()@-[C)CS@CS[*@@@@@@@@D8@@@[/K@@ \:@@@ ^R#@@T(/K@@^A/,0@@@R;@@^7QL )@@G@@/,0@@@EQ@@@@) ![##@[@K0#K)QK0@K0@K0@ES@@@@R;@@-P9*@@-P9?@@#'/K@@]1'=@@@@QM )@@G@@R#@@ /K@@[FAN@@#=ER@@@@) 5[#]]=K0@K0@K0#K^G@4C )@@@@@'=@@@@R#@@ A/K@@][QN )@@G@@%@@@ ^R#@@T(AJ@@#=D8@@@['=@@@@ES@@@@) .[##@[#@H][T#@[#@H][T#@[#@G@R#@@ DQO )@@G@@/K@@]1'=@@@@R#@@ C/K@@]1'=@@@@R#@@ B/K@@]1ET@@@@)A [#@K0#K)QK0@K0#K)QK0@QP )@@G@@K0#@@@R#@@ G/K@@]1'=@@@@R#@@ F/K@@]1'=@@@@R#@@ E/K@@#VEU@@@@)AH[#][T#@[#QQ )@@G@@@H][T#@@()@-@C-)@@R#@@-V/,0@@@R;@@-^/K@@]1'=@@@@R#@@ H/K@@]1'=@@@@EV@@@@QR )@@G@@)AP[F[^C[4CB4[][.]]GK)A@/,0@@@R;@@@*/,0@@@9?@@@]/@@@AYR7@@@@/,0@@@R;@@@CQS )@@G@@A#@@B@EW@@@@)AY[#][.][.#@[]]G()@-[C@@@@@@@R;K@@GR#@@[C/,0@@@R;@@AF/,0@@@QT )@@G@@9?@@AJ(0@@@@9?@@@^EX@@@@)A&[#]](#@H][T#@[#@@()@-@CO0#@R;@@^G/,0@@@R;@@-^QU )@@G@@AA0@-J/K@@]1'=@@@@R#@@^?/,0@@@EY@@@@)A,[#]]L#@P@K):K0@K0@K)E@@@@@@R;@@@/QV )@@G@@/,0@@@R7@@#>A#@@#>'=@@@@/K@@BH(@@@@H/,0@@@EZ@@@@)A6[F]@T#@[]@*K)AK0@@@@@QW )@@G@@;H@@@=W9@@@/ @@@@KC K@#>/,0@@@R;@@@-/,0@@@R3@@#>/,0@@@FA@@@@)A_[M@K)E^C[QX )@@G@@)K)A@@/,0@@@?9K@@ER;@@@0/,0@@@R;@@@:/,0@@@R;@@@S(@@@@GR#@@@KW9@@@/FB@@@@QY )@@G@@)BD[EK)E^C[-]@T#@[@K0@@@RN@@#=/K@@BO0K@@#=/,0@@@R;@@@(/,0@@@R;@@@-/,0@@@QZ )@@G@@R#@@@LFC@@@@)BM[F]@(@K0@K[]@SK)AK0@@0G@@#=/,0@@@R;@@@,/,0@@@R;@@@D/K@@BSRA )@@G@@(K@@#=/K@@BS/,0@@@FD@@@@)BV[F@K0@K)EK^G@^@K)A@@@R;@@@)/,0@@@R;@@@D/K@@BY@@@C(Y@@@RK )@@G@@C!Y@@@C1Y@@@C5Y@@@000000000000 /KF@@A8^@@C)FM@@@@)C5[N@^G@0@^RL )@@G@@@@@@@@/,)@C_[>W@@@[(W@@@[!W@@@[1W@@@[5W@@@/KE@@@R#0@ JC-Y)@@/,)@C6FN@@@@RM )@@G@@)C_[MK0#^@^[@@@@@@C9)@@[R;K@@:9!@@C?/K@@DD @@@@MR;K@@@9!@@C,/KE@@@R#K@ JRN )@@G@@[-W)@@FO@@@@)DD[U@^@^@@@W8)@@E;G)@@=/K@@DO;C)@@#+8)@@B/ )@DM @@@@GE@)@@IRO )@@G@@*@@@@MR#:K@@ @@@@JFP@@@@)DO[U@K@K@@@P;@@[CT8@@@AR#)@@G/^)@DXE@:K@] @@@@JRP )@@G@@/^)@DIG8@@@[; @@@AG9Z@@@G8.@@@FQ@@@@)DZ[U@@@@@@@*@@@@GE@FK@#; I@@@W8K@[CRQ )@@G@@ @@@@HI@)@@GT8)@@AH9)@@[C[)@@IR_)@@G!8)@@HFR@@@@)D%[U@@K^@@@ @@@@J/KF@@ RR )@@G@@8^)@D0')H)C9;>@@@AO;FK@[&;K@@[&;@@@[W8@@@A;G@@@=P;@@@[FS@@@@)D5[U@@[@@@@RS )@@G@@[[K@@G')J)C0R#0@@LO;:K@@ @@@@JC[K@@JW8)@@A;G)@@=P;)@@[*@@@@IR#:K@[FT@@@@RT )@@G@@)E@[U@@[@@@@/KF@@^')H)C9C-VK@@O;FK@[W8@@@A;G@@@=P;@@@[*@@@@GR#FK@] @@@@JRU )@@G@@/KF@@#FU@@@@)EF[U@@@@@@@@@@APL@@@SSG@@@SEC@@@DOC@@@MAP@@@ALG@@@FOR@@@COBRV )@@G@@@@@ASM@@@ELT@@@SYMFV@@@@)EQ[M@@[#@@@@@@@@@1G@@#=@@@***@@@NPL@@@NRL@@@NORRW )@@G@@@@@ADD@@@RUN@@@PLS@@@LSP@@@BASFW@@@@)E)[N@^G@^G@^@@K@@/K@@E1:8K RBVK@@RX )@@G@@R;@@@[ @@@@J/K@@E50K@@#=(G@@#=R;KDF /K@@E>FX@@@@)E%[N#@GK@K0@^G@@@R;K@@NRY )@@G@@!8K@@NRBK@#&/KF@@]AB)@#& @@@@G/KF@@]2@Y)EGN8K@@NR#)@ KFY@@@@)E4[F@K0@K0#RZ )@@G@@K)Q[@K)QK@@@R#@@FF'=@@@@R#@@F^/KF@@] @@@@G'=@@@@R#@@ LAFK@-FR#X@EFFZ@@@@SA )@@G@@)E.[N][S@@*@@@@@@@EXIT' USE '*@] @E_E. OSSIBLNPUT PTHER INO FUR/K^@@@SB )@@G@@'=@@@@GA@@@@)FB[M@E]@-@?@@@@@@ENCE SCONFER/KF@@]'=@@@@R#@@FP@[A@F E. SC )@@G@@FERENCVE CONTO LEAGB@@@@)FL[M@E]A@]@CS]*@@/K@@FX*@@@@H @@@@K/K@@FG(@@@[ASD )@@G@@@[A@FJE. AILABLNOT AVYSTEM GC@@@@)FV[M^G[L@KK@@@@@@?8K@@A?8K@@);=@@@ASE )@@G@@ @@@@HR#@@@[/K@@F:?8K@@]R#K@@K;G0@@]R;0@@#GD@@@@)F>[F@@^@K0 K)!@@@@@@@@@SF )@@G@@'=@@@@A#@@@QR;@@@]/^@@F-)@0@@K;*.@@ZD@K@@HR;0@@[/K@@F%GE@@@@)F,[F#@H#@@@SG )@@G@@K0@K),K@@@@@/G@@E''=@@@@R#@@[AR[@@@F @H@@][[H@@@A#!@@[R#)@-[R#K@ MGF@@@@SH )@@G@@)F7[##@P@ES@CK]CS[*K *S]*K @@@/,0@@@C@@@@S/,0@@@C@@@ N/,0@@@C/@@-^/K@@G]SI )@@G@@*@@@@TGG@@@@)F_[#]@1#@H][SK0 K0#K)JK)\@@@@'=@@@@'=@@@@R#@@ O @@@@QR'4@@[SJ )@@G@@'=@@@@R#@@#3/,0@@@GH@@@@)GB[##@@^G@4CG^G[OC^^@@@@@@@@@'C)@GF'=@@@@*@@@@QSK )@@G@@'=@@@@R#)@^!R;K]WK/KF@@[A#@@-HGI@@@@)GJ[F#@[@K)\^G@[@K0@K0@@R#@@-$[[@@-HSL )@@G@@/K@@GE?9K:/)L[@@-HC[@@@G'=@@@@/K@@GE(@@@-GGJ@@@@)GS[F][T@ES@CS])@@@@@@@@SM )@@G@@ @G@@@AFW@@[T8K@@AR;K@@C!8K@@DR#K@@KR;@@);/K@@GE'=@@@@GK@@@@)G-[#][=K0@KSN )@@G@@^G@4C -#@@@@@@@@@@AA0@-]/KF@@['=@@@@R#@@ P/K@@G*(@@@-]/KF@@['=@@@@GL@@@@SO )@@G@@)G([F#@P#@H#@G@E]^[8@@@@'=@@@@R;@@G3M#!)@@N@K@@JR;0@@C!80@@DR#)@ RR#K@ QSP )@@G@@R#0@@KGM@@@@)G2[MES@@CKG)@@@@@W8@@@A;G@@@=O;@@@ RBG@@@'=@@@@ @G@@@AF/@@[SQ )@@G@@T80@@AR;@@)"/KF@@[GN@@@@)G/[]K0#K)QK0@K0 K)KK0@K)1@@@@'=@@@@R#@@-['=@@@@SR )@@G@@(@@@@Q @@@-]'=@@@@'K@@ S;*@@@MGO@@@@)H^[N][@@@K@@@@@@@R;G@@@/G0@HYP;0@@[SS )@@G@@;K0@@MR#0@@G @@@@IQ;FK@@&#FK@[ @@@@J'=@@@@GP@@@@)HI[M^[@K^@@@@@@@@R#H@@@ST )@@G@@R;0@@ T@)@@JR_)@@A/K@@HY8#0@HI/K@@HO%[@@C?C[H@@@K8J@@@GQ@@@@)HS[V@@K@@@@SU )@@G@@R#G@@@R#FK@@ @@@@J/KF@@#R;I@@@G8\@@[8#0@HT:8K@@ +8@@@_;C@@@A/K@@HUGR@@@@SV )@@G@@)H<[M@@^@@@@@@@@@@N@VK@C8#K@H% @G)@@C[0@@HP;K@@[R#VK@A&;@@@[R;FK@ @@@@JSW )@@G@@/KF@@]GS@@@@)H![V#@@@@@@W8)@@A;G)@@=P;)@@[R'VK@ P#@@@I/KF@@[!@)@@GG8@@@[SX )@@G@@R#:K@^R#FK@#AA0@-JGT@@@@)H8[U@@@@@@@C')@@[D'@@@[ @@@@M @@@@KR;K@@[R#0@@LSY )@@G@@&;)@@[O;:K@] @@@@JC[K@@J&;0@@[GU@@@@)I#[N@K^@^@@@@@@@@G[@@@LT9@@@EH9K@@0SZ )@@G@@C'@@@[/K@@II!9K@@'!9K@@0/K@@I:/,0@I./,@@J#GV@@@@)IH[N@^@^[#@@^@@@@/K@@I^TA )@@G@@D])@@Q%9K@@+/K@K-J/K@@IO:9K@@-%9K@@+/A@@IR1@@@@O/K@@I^GW@@@@)IR[M^@@[#@@TB )@@G@@@@@@@@/K@K-J(@@@@CR'@@@[:9K@@+R'@@@#:9K@@- @@@@C/K@@I?:9K@@ %9K@@,GX@@@@TC )@@G@@)I-[U^@K@[@@ @@@@N/K@@I^C')@@[ @@@@KR;S@@@H[)@@K/K@@I$G[)@@K/KH@I(@@@@T(@@@@ @@@@ /K@@JK[[)@-GC[:K@[ @@@@JHC@@@@)JO[]()@-@C-TI )@@G@@)E-@OCK +^[S@@@@@@/,0@@@R#@@@M/,0@@@R#@@@M/,0@@@R#@@@S/,0@@@R;@@-^HD@@@@TJ )@@G@@)JW[#]@1#@@()A-[=CKR*S@@@@@@@@R#@@@HA#@@-H'=@@@@R#K@@G'=@@@@R;@@#3Q]0@-JTK )@@G@@/,0@@@HE@@@@)J=[F@K0#K)3^CF4G@[#@@@@&;K@@@ @@@-GR#@@@HA#@@-H'=@@@@R#K@@GTL )@@G@@'=@@@@R#@@#4/K@@J:HF@@@@)J![##@H@K0@K0 K^G[OG@^@@@@@@@/K@@J8 @@@-#A#@@@ATM )@@G@@/K@@JK*@@@@ A#@@-#/K@@J5>@@@ THG@@@@)J5[F@K0 K^G[OG[O@K^^@@@R7@@@@/K@@KETN )@@G@@:9)@*_/@K@KE @@@@ A#K@@K/K@@JJ*@@@@ /^K@J8HH@@@@)J"[]K^G@^G[OG@4G@4[#@O@TO )@@G@@@@@@@@N@K@@K/K@@KDR#K@ QR#@@ U^@K@@KN@K@@@/K@@K %8@@@/HI@@@@)KA[##@[#@H#TP )@@G@@@GK0@^G@4C )@@@@@@'=@@@@R#@@ V/KF@@#(@@@-#M#W)@@R#K@ UR#@@ Q^@K@@@HJ@@@@TQ )@@G@@)KI[F#@@^G@[@^CF4G@@@@@@A#@@-H'=@@@@ @@@@J/K@@JK/CF@@@ @@@-G;*@@@]/KF@@#TR )@@G@@ @@@-#HK@@@@)KR[F#@@^G@4C )^G@@@@@@@R#X@-JR#VK@@ @@@@J/KF@@#'=@@@@'K@@^$TS )@@G@@&#FK@[Q;FK@@ @@@-GHL@@@@)K)[E^G@^G@[@^CH^@@@@@@@/K@@K7/,0@@@R;H@@[/,)@LOTT )@@G@@0@H@@@AA0@-JA#K@-IABH@@DR;FK@[HM@@@@)K([N@^[#@[@^@K0@@/KF@@^Q]0@-JRZG@@ETU )@@G@@/K@@K$**G@@E/K@@K00K@@#=/K@@K$0@G@@E/K@@K3HN@@@@)K3[F#@@K)$^G@[#@@@@@@@@TV )@@G@@R#VK@@ @@@@J/K@@[9R#@@@LAB@@[Q/KF@@]'=@@@@0@G@@#Q]0@-JHO@@@@)K/[N#@@^G@[TW )@@G@@@@@@@@R;H@@[A#H@@F;*@@@SR#FK@]/,)@LE0@H@@@AA0@-JABH@@DR;FK@[R#X@-JHP@@@@TX )@@G@@)LA[F]#P@K0@^G@]=@CCKV@@/,0@@@R;H@@[AZH@@^R;@@@@A#K@-I/KF@@^Q]0@-J/K@@K7TY )@@G@@/,0@@@HQ@@@@)LJ[F#@[#@@@(@@]^A8@@@@@/,0@@@R;H@@[AZH@@^R;@@@@/KE@@@ @@@@JTZ )@@G@@ @H@@@Q]0@-JR#K@-IHR@@@@)LS[F@K0@K0@@[#@@@@@@@@@R#X@-JR#VK@@ @@@@J/KE@@@UA )@@G@@ @@@@J @H@@@Q]0@-JR#K@-I/K@@K7HS@@@@)L-[F#@[#@@K[@^CI^@@@@@@/K@@K7/,0@@@UB )@@G@@R;H@@[/,)@LE0@H@@@/K@@L,*@FK@[AA0@-JA#K@-IHT@@@@)L%[F#@@K0@K@K)$K0@@@@@@UC )@@G@@R#FK@@Q]0@-J'=@@@@0@G@@#R;H@@[/K@@L1A#@@#$R#H@@AR#K@-IHU@@@@)L3[F#@@[#@GUD )@@G@@K0#@@@@@@@@@/KF@@#A#H@@CR#@@ XA#H@@ R#@@ WA#H@@@R_@__"A#H@@AR#G@#$HV@@@@UE )@@G@@)L/[##@P@K0@ES@CK] G@1]@C@@@@@/,0@@@R;K@@BR;@@^@/,0@@@R;@@-^AA0@-J/K@@M+UF )@@G@@*@@@@CHW@@@@)M^[##@[]]GK)AK0@K)@&@S]+@@@@]]@@@@[@@@@_"@@@@@@@@@@UO )@@G@@/KF@@#RRFK@[/KF@@#RVFK@[/KF@@#IE@@@@)^([I@U+O0@ES@ ^ES@@@@@@@ASG,AD UP )@@G@@@ASG,A@@^@--@@[@@[@[I@B@@[ @ /@[ @^9@#_@@@IF@@@@)^2[Q@S@()@O0@@* @@[#@^ UQ )@@G@@@[ @^@PLIT$,@USE S@[^@ =@[B@ *@@@@@[@@@@@G@@]@@@ IG@@@@)^/[I@U&@[N@UR )@@G@@@()@[N@@* @@**PF**@@M@#.@[^@#9__3@^Y@ FREE@ @@@[@[[@-_@[ @ K@[ @ FIH@@@@US )@@G@@) @"@U&@[N@@()@O0@ES@ G@]&@@@@@@@@@@[ @A[@[ @AA@[ @ 7@[^@ 3@[^@ \@[ @ PUT )@@G@@@[ @ UII@@@@) G[I@U&@[N@@@()@OK()]@@@[@@GD@EDIT:@I@@@@@[]@-E@@[__"@@[@@@UU )@@G@@ CONFR@[ @^0@[ @ ZIJ@@@@) P[I@U)OM&@[N@@ES@ @@@@@@K@@Q@B@@@@@[^@^C@@[@@[UV )@@G@@K@@@@@@[[@)1@@[@)(@@[@@@@[^@#5IK@@@@) Y@I@S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#__/IL@@@@@@^@@A@@E@@9@[/@@<@^C@@]UX )@@G@@@@@@+@@@@@NA@@@@I@@@@@ Z@@@@@@@@@@@XR$ W$ ECOPY$ UY )@@G@@EPACK$ EDIT$ EDITR$ ECHAR$ ECOL$ ESKIP$ UZ )@@G@@EOCTV$ EDECV$ EFD1$ EDITX$ ECOLN$ EMSGR$ VA )@@G@@FORK$ EXIT$ NAME$ PCT$ PFS$ RLIST$ VB )@@G@@RLINK$ PRINT$ IALL$ ERR$ COM$ RINF$ VC )@@G@@SELT$ DUSE$ FACIL$ CSF$ ELT$ PFWL$ VD )@@G@@OPT$ FORMAIN$ EFD2$ EMSG$ PFI$ PFUWL$ VE )@@G@@WAIT$ DACT$ IOW$ EOCTF$ TDATE$ EABT$ VF )@@G@@AWAIT$ LINK$ TIME$ TWAIT$ ACT$ TREAD$ VG )@@G@@READ$ SDFI SDFO SDFOO SDFIO SDFOC VH )@@G@@EDN @@@@@@@@@@@@NINTR$ @@@@@@@@@@[EEDN$ @@[@@@@@@@@@VI )@@G@@FILE @@[@@@@@@@^TNOFIL1 @@[@@@@@@@^7IDL @@[@@@@@@@A%VJ )@@G@@BLKR @@[@@@@@@@B0BXFR @@[@@@@@@@B6CSF @@[@@@@@@@B_VK )@@G@@NSTOP$ @@[@@@@@@@C NERR2$ @@[@@@@@@@C NERR3$ @@[@@@@@@@C VL )@@G@@NERR4$ @@[@@@@@@@C COPY @@[@@@@@@@CASQOPY @@[@@@@@@@CCVM )@@G@@EOCT @@[@@@@@@@D]EDEC @@[@@@@@@@DAGETC @@[@@@@@@@D4VN )@@G@@PUTC @@[@@@@@@@E[TYPER @@[@@@@@@@EZCONFR @@[@@@@@@@FQVO )@@G@@IDLER @@[@@@@@@@G^MSG1 @@[@@@@@@@GUMSG2 @@[@@@@@@@GTHIRD @@[@@@@@@@M/INFO ]@@@@@@ @@@@VT )@@G@@DYN ]@@@@@@]@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VU )@@G@@*[S@@@*SDFF*@C@@@@ COMPILER(CONT=0,$256),(FLD=T),(ADR=IND) @ @@@@VV )@@G@@ IMPLICIT INTEGER(A-Z) @F@@@@ DIMENSION LINE(22),HOLD(22),SEVW )@@G@@TS(10),PREL(2),IBLIN(22),M3(2)@F@@@@ DIMENSION COMM(14),M1(22),M2(2VX )@@G@@2),SCALE(22),XOPS(3),ENDMSF(4)@G@@@@ DIMENSION STRING(139),PATRN(13VY )@@G@@9),PATRR(139),TMPOUT(125),HZ(2) @F@@@@ EQUIVALENCE(PREL(2),LINEVZ )@@G@@(1)),(IBLIN(1),M3(2)),(PREI,M3(1)) @A@@@@ EQUIVALENCE(HOLD(1),HZ(2WA )@@G@@)) @G@@@@ EQUIVALENCE(XOPS(1),OP),(XOPS(2),OP2),(XOPS(3),OP3),(OWB )@@G@@P,ECOL) @G@@@@ COMMON/INFO/INPT,OUTPT,IUNIT,OUNIT,SPAD,RBKF,ADDWC )@@G@@FF,RONLY,RONLX, @F@@@@ 1 ENDMSF,PR,COM,IMODE,INPL,IOPT,X,AOPT,LNSWWD )@@G@@,SQUSW,TERM,IOVER,@A@@@@ 2 LINO,PROMPT,AUTOF,AUTOC,SFG @G@@@@ WE )@@G@@COMMON/DYN/COMM,M1,M2,ALL,CCNT,CHAR,CHARSO,CIDX,CURLN0,C1,C2,DESC,@G@@@@WF )@@G@@ 1 END,F,FF,G,I,IJK,INPC,K,L,LOCX,M,MAX,MEND,MFL,MFX,N,NPATC,OOP, WG )@@G@@@G@@@@ 2 PATC,PATRN,PATRR,POS,POSS,PRE,S,STPS,STRC,STRING,TMPOUT,TRMWH )@@G@@X, @ @@@@ 3 TT,TTR,WORDSO,Y,Y0 @G@@@@ DATA CFLG,CUR,CURLWI )@@G@@NG,DEL,ECOL,HLN,LINO,LNSW,NUML,OP2,OP3/11*0/ @E@@@@ DATA SFG,SPAWJ )@@G@@DSW,SQUSW,XNUML,SCAN,TERM/6*0/,OP3/1/ @F@@@@ DATA CSS/1/,TRM/13WK )@@G@@2/,PLN/14/,SAVC/14/,PR/0/,MSP/61/,TAB/59/ @D@@@@ DATA TCH,TCHFC,TCHWL )@@G@@F,TCC,TCX,TCHLX,SVLINO/7*0/ @B@@@@ DATA SETS/11,21,37,0,0,0,0,0,0WM )@@G@@,0/ @G@@@@ DATA INPT,OUTPT,IUNIT,OUNIT,SPAD/1,2,3,4,5/,MODE/'EDITWN )@@G@@'/,AUTO/0/ @F@@@@ DATA PREL/6H :,1H /,PREI/6H :/,HZ/6H> > WO )@@G@@> ,1H / @E@@@@ DATA COMM/14*1H /,M1/22*1H /,M2/22*1H /,HOLD/22*WP )@@G@@1H / @G@@@@ DATA SCALE/'123456789.123456789.123456789.123456789.12WQ )@@G@@3456789.1234@G@@@@ 156789.123456789.123456789.123456789.123456789.12WR )@@G@@3456789.123456789.@^@@@@ 2123456789.12'/ @#@@@@ CALL IDLER WS )@@G@@@^@@@@ IF(X.EQ.0)GOTO5 @]@@@@ PLN=22@#@@@@ SAVC=22 WT )@@G@@@ @@@@5 IF(IMODE+AOPT.NE.0)GOTO2@A@@@@4 CURLNG=XSDFI(INPT,LINE,$WU )@@G@@2) @A@@@@ CALL XSDFO(IUNIT,LINE,CURLNG) @#@@@@ NUML=NUML+1 WV )@@G@@@]@@@@ GOTO4 @ @@@@2 CALL XENDF(IUNIT,0) @^@@@@ CALL XWW )@@G@@ENDF(INPT,1)@#@@@@ IOVER=0 @ @@@@ IF(AOPT.NE.0)GOTO7790 WX )@@G@@@B@@@@ IF(IMODE.NE.0.OR.PR.EQ.0)GOTO33 @]@@@@ GOTO32@^@@@@WY )@@G@@3 IF(PR.EQ.0)GOTO31 @#@@@@32 IBLIN(2)=1H @A@@@@ CALL EDEC(NUWZ )@@G@@ML,IBLIN,0,7) @^@@@@ IBLIN(1)=6HLINES: @ @@@@ CALL XPRINT(XA )@@G@@IBLIN,2) @ @@@@31 IF(COM.NE.3RADD)GOTO1000@#@@@@33 XNUML=NUML XB )@@G@@@ @@@@ IF(IOPT.EQ.0)GOTO37 @B@@@@ IF(PR.NE.0)CALL XPRINT('XC )@@G@@INPUT',1) @#@@@@ GOTO2501 @B@@@@37 IF(IMODE.EQ.0.OR.PR.EQ.0XD )@@G@@)GOTO1000 @ @@@@ CALL XPRINT('EDIT',1) @#@@@@ GOTO1000 XE )@@G@@@#@@@@34 RONLY=1 @#@@@@ GOTO1000 @ @@@@35 IF(RONLX.NE.XF )@@G@@0)GOTO14 @#@@@@ RONLY=0 @F@@@@1000 IF(AUTOF.GT.0.AND.AUTOC.XG )@@G@@GE.AUTOF.AND.ADDFF.EQ.0)GOTO8888 @ @@@@ CALL XREAD($99,2815) XH )@@G@@@]@@@@ AUTO=0@]@@@@ SFG=0 @ @@@@1101 IF(INPL.EQ.0)GOTO250 XI )@@G@@@ @@@@ INPC=TRIM(COMM,INPL) @^@@@@ F=FLD(0,6,COMM(1))@]@@@@XJ )@@G@@ ECOL=1@ @@@@ IF(F.EQ.1R*)GOTO966 @]@@@@ X=2 @]@@@@XK )@@G@@ OP3=0 @]@@@@ OOP=0 @]@@@@ OP2=0 @#@@@@ COM=1RN XL )@@G@@@^@@@@ IF(F.EQ.1R+)GOTO10@#@@@@ COM=1RU @^@@@@ IF(F.EXM )@@G@@Q.1R-)GOTO10@]@@@@ X=1 @#@@@@ COM=1RG @D@@@@ IF((F.XN )@@G@@GE.1R0.AND.F.LE.1R9).OR.F.EQ.5)GOTO10 @^@@@@ Y=MIN0(INPC,7) XO )@@G@@@#@@@@ DO 915 X=2,Y@^@@@@ FF=GETC(COMM,X) @D@@@@915 IF(FF.XP )@@G@@EQ.5.OR.FF.EQ.1R+.OR.FF.EQ.1R.)GOTO914 @]@@@@ X=Y+1 @^@@@@914 XQ )@@G@@IF(X.GT.7)GOTO14 @A@@@@ COM=FLD(0,(X-1)*6,COMM(1)) @#@@@@ XR )@@G@@STPS=X+1 @^@@@@10 CIDX=LOOKUP(COM,Y)@#@@@@ DESC=ABS(Y) @^@@@@XS )@@G@@ S=FLD(0,6,DESC) @G@@@@ IF(S.EQ.0.OR.(FLD(6,6,DESC).NE.0.ANDXT )@@G@@.FF.NE.FLD(12,6,DESC)))GOTO15 @D@@@@ CALL NSCAN($14,$917,COMM,INPC,XU )@@G@@X,XOPS,S,STPS,1R.)@ @@@@917 FF=IND(FLD(18,18,DESC)) @#@@@@ DO 916XV )@@G@@ I=1,S@^@@@@ F=THIRD(I,FF) @^@@@@ IF(F.LT.0)GOTO916 @ @@@@XW )@@G@@ IF(XOPS(I).LT.F)GOTO14 @#@@@@916 CONTINUE @ @@@@ IF(Y.LXX )@@G@@T.0)OP=MAX0(OP,1) @^@@@@15 SCAN=NUML-LINO @E@@@@ GO TO ( 16,XY )@@G@@ 1212, 7797, 110, 8001, 8002, 8003, 8004,@G@@@@ 1 1213, 7796, 769,XZ )@@G@@ 769, 3098, 6562, 540, 5383, 539, 170, 34,@G@@@@ 2 35, 171,YA )@@G@@ 179, 5319, 4020, 1311, 4021, 1131, 99, 99, 12,@G@@@@ 3 163,YB )@@G@@ 32, 256, 1021, 11, 7794, 773, 773, 773, 773, 773,@G@@@@ 4YC )@@G@@ 164, 850, 988, 400, 110, 700, 259, 503, 508, 558, 507,@G@@@@YD )@@G@@ 5 557, 854, 279, 88, 1943, 605, 773, 773, 773, 773,YE )@@G@@@G@@@@ 6 773, 447, 600, 760, 780, 538, 438, 202, 302, 663,YF )@@G@@ 113,@F@@@@ 7 500, 7793, 7793, 656, 656, 781, 609, 7777 ) , CIYG )@@G@@DX @A@@@@16 CALL XPRINT('COMMAND ERR.',2) @#@@@@ GOTO1000 YH )@@G@@@A@@@@14 CALL XPRINT('SYNTAX ERR.',2) @#@@@@ GOTO1000 @^@@@@YI )@@G@@1943 SAVC=MIN0(22,OP) @#@@@@ GOTO1000 @#@@@@3098 CALL WHAT YJ )@@G@@@#@@@@ GOTO1000 @#@@@@1212 PROMPT=1 @#@@@@ GOTO1000 YK )@@G@@@#@@@@1213 PROMPT=0 @#@@@@ GOTO1000 @^@@@@11 FLD(18,18,X)YL )@@G@@=3R @ @@@@ IF(INPC.NE.8)GOTO112 @A@@@@ FLD(18,6,X)=FLD(30YM )@@G@@,6,COMM(1)) @A@@@@ FLD(24,12,X)=FLD(0,12,COMM(2))@ @@@@112 IF(TYPYN )@@G@@ER(X).NE.0)GOTO14 @#@@@@ GOTO1000 @^@@@@88 PLN=MIN0(OP,22) YO )@@G@@@#@@@@ GOTO1000 @^@@@@279 IF(OP.EQ.0)OP=CSS @ @@@@ IF(OP2YP )@@G@@.EQ.0)OP2=TRM @ @@@@ IF(OP2.LT.OP)GOTO14 @]@@@@ CSS=OPYQ )@@G@@@#@@@@ TRM=OP2 @#@@@@ GOTO1000 @ @@@@12 MSP=FLD(24,6YR )@@G@@,COMM(1)) @#@@@@ GOTO1000 @^@@@@113 OP=MIN0(OP,132) @ @@@@YS )@@G@@ IF(OP2.NE.0)GOTO1132 @ @@@@ IF(OP.GT.72)OP2=133-OP @ @@@@YT )@@G@@ IF(OP.LE.72)OP2=73-OP @ @@@@1132 OP2=MIN0(OP2,133-OP) @ @@@@YU )@@G@@ CALL BLKR(IBLIN,22) @B@@@@ CALL COPY(SCALE,1,IBLIN,OP,OP2YV )@@G@@) @ @@@@ CALL XPRINT(IBLIN,22) @#@@@@ GOTO1000 @ @@@@YW )@@G@@170 TAB=FLD(24,6,COMM(1)) @#@@@@ GOTO1000 @D@@@@171 CALL NYX )@@G@@SCAN($14,$1000,COMM,INPC,5,SETS,10,X,1R.) @#@@@@1131 TCHLX=0 @#@@@@YY )@@G@@ GOTO1000 @#@@@@1311 TCHLX=1 @#@@@@ GOTO1000 @ @@@@YZ )@@G@@4020 TCC=FLD(30,6,COMM(1)) @]@@@@ TCX=1 @#@@@@ GOTO1000 ZA )@@G@@@]@@@@4021 TCX=0 @#@@@@ GOTO1000 @ @@@@179 TCH=FLD(30,6,COMM(ZB )@@G@@1)) @#@@@@ GOTO1000 @ @@@@5319 TCHFC=FLD(30,6,COMM(1)) @#@@@@ZC )@@G@@ GOTO1000 @]@@@@163 PR=0 @#@@@@ GOTO1000 @]@@@@164 ZD )@@G@@PR=1 @#@@@@ GOTO1000 @ @@@@250 IF(PROMPT.NE.0)GOTO2501 @^@@@@ZE )@@G@@ IBLIN(1)=6HINPUT: @#@@@@ IBLIN(2)=1H @A@@@@ CALL EDEC(LIZF )@@G@@NO,IBLIN,0,7) @ @@@@ CALL XPRINT(IBLIN,2) @]@@@@2501 CFLG=1ZG )@@G@@@#@@@@ COM='INPUT' @#@@@@ MODE=COM @]@@@@ ECOL=1@F@@@@ZH )@@G@@252 IF(AUTOF.GT.0.AND.AUTOC.GE.AUTOF.AND.ADDFF.EQ.0)GOTO8888 @ @@@@ZI )@@G@@ CALL XREAD($99,2623) @A@@@@ IF(INPL+ADDFF.EQ.0)GOTO256 ZJ )@@G@@@A@@@@ IF(AUTOF.GT.0)AUTOC=AUTOC+1 @#@@@@ CALL PUTLIN @D@@@@ZK )@@G@@ IF(FLD(0,6,COMM(1)).EQ.MSP)FLD(0,6,COMM(1))=1R@ @]@@@@ STPS=1ZL )@@G@@@^@@@@ CALL TABMOV(LINE) @#@@@@ LINO=LINO+1 @#@@@@ NUML=NZM )@@G@@UML+1 @]@@@@ CUR=1 @]@@@@ DEL=0 @#@@@@ GOTO252 @#@@@@ZN )@@G@@256 MODE='EDIT' @ @@@@ IF(PROMPT.NE.0)GOTO1000 @^@@@@ IBLIN(ZO )@@G@@1)=6HEDIT: @#@@@@ IBLIN(2)=1H @A@@@@ CALL EDEC(LINO,IBLIN,0,6ZP )@@G@@) @ @@@@ CALL XPRINT(IBLIN,2) @#@@@@ GOTO1000 @ @@@@ZQ )@@G@@259 IF(NUML.EQ.LINO)GOTO250 @#@@@@ OP=NUML-LINO@#@@@@ GOTO20ZR )@@G@@0 @^@@@@202 IF(OP.GE.0)GOTO200@#@@@@ COM=1RU @#@@@@ ZS )@@G@@OP=ABS(OP) @#@@@@ GOTO300 @^@@@@200 DO 201 I=1,OP @ @@@@ZT )@@G@@ IF(RBKF.NE.0)GOTO256 @#@@@@ CALL PUTLIN @^@@@@ CALL GZU )@@G@@ETLIN($100) @]@@@@ DEL=0 @#@@@@ LINO=LINO+1 @]@@@@ CUR=1 ZV )@@G@@@#@@@@201 CONTINUE @ @@@@ IF(COM.EQ.1RD)GOTO7776 @ @@@@ ZW )@@G@@IF(COM.EQ.1RP)GOTO501 @ @@@@ IF(COM.EQ.1RC)GOTO706 @ @@@@ ZX )@@G@@IF(COM.EQ.1RB)GOTO250 @ @@@@203 IF(COM.NE.4RSAVE)GOTO204@A@@@@205 ZY )@@G@@IF(MODE.EQ.'INPUT')GOTO2501 @ @@@@ IF(AUTO.NE.0)GOTO1000 @#@@@@ZZ )@@G@@ GOTO256 @ @@@@204 IF(PR.NE.0)CALL WRITER @#@@@@ GOTO10AA )@@G@@00 @]@@@@110 CFLG=0@#@@@@ NUML=XNUML @^@@@@400 CALL TOP($25AB )@@G@@6) @ @@@@ IF(COM.EQ.4RSAVE)GOTO205@A@@@@ IF(COM.NE.4RINIT)GAC )@@G@@OTO1000 @]@@@@ NUML=0@#@@@@ IOVER=1 @]@@@@ IOPT=0AD )@@G@@@]@@@@ AOPT=0@#@@@@ COM=3RADD @#@@@@ IUNIT=3 @#@@@@AE )@@G@@ OUNIT=4 @D@@@@ IF(PR.NE.0)CALL XPRINT('TEXT INITIALIZED.'AF )@@G@@,3) @]@@@@ GOTO5 @#@@@@100 CALL EOF @ @@@@ IF(PR.EQ.0)GAG )@@G@@OTO1000 @B@@@@ IF(COM.EQ.1RG.OR.COM.EQ.1RN)GOTO109 @#@@@@1021 AH )@@G@@IBLIN(2)=1H @^@@@@ IBLIN(1)=6HSCAN: @A@@@@ CALL EDEC(SCAN,IBLAI )@@G@@IN,0,6) @ @@@@ CALL XPRINT(IBLIN,2) @ @@@@ IF(COM.EQ.2RAJ )@@G@@SC)GOTO1000 @^@@@@109 IBLIN(1)=6HEOF: @#@@@@ IBLIN(2)=1H @A@@@@AK )@@G@@ CALL EDEC(NUML,IBLIN,0,5) @ @@@@ CALL XPRINT(IBLIN,2) AL )@@G@@@#@@@@ GOTO1000 @^@@@@302 IF(OP.GE.0)GOTO300@#@@@@ COM=1RAM )@@G@@N @#@@@@ OP=ABS(OP) @#@@@@ GOTO200 @ @@@@300 OP=LINAN )@@G@@O-MAX0(OP,1)+DEL @^@@@@ IF(OP.LE.0)GOTO400@ @@@@ IF(DEL.EQ.0)AO )@@G@@GOTO854 @#@@@@ GOTO853 @#@@@@508 SQUSW=1 @#@@@@ AP )@@G@@GOTO1000 @#@@@@558 SQUSW=0 @#@@@@ GOTO1000 @]@@@@507 AQ )@@G@@LNSW=1@#@@@@ GOTO1000 @]@@@@557 LNSW=0@#@@@@ GOTO1000 AR )@@G@@@^@@@@503 CALL TOP($256) @#@@@@ OP=NUML+1 @#@@@@ GOTO50AS )@@G@@2 @ @@@@500 IF(OP2.EQ.0)GOTO502 @#@@@@ GOTO200 @ @@@@AT )@@G@@501 OP=MAX0(OP2-OP+1,1) @#@@@@502 CALL WRITER @ @@@@ IF(RBKAU )@@G@@F.NE.0)GOTO256 @ @@@@ IF(OP.EQ.1)GOTO1000 @#@@@@ OP=OP-AV )@@G@@1 @#@@@@ CALL PUTLIN @^@@@@ CALL GETLIN($100) @]@@@@ AW )@@G@@CUR=1 @]@@@@ DEL=0 @#@@@@ LINO=LINO+1 @#@@@@ GOTO502 AX )@@G@@@B@@@@656 IF(COM.EQ.2RRH.AND.CUR.EQ.0)COM=2RIH@ @@@@ IF(COM.EQ.2RAY )@@G@@RH)GOTO658 @#@@@@ CALL PUTLIN @#@@@@ LINO=LINO+1 @#@@@@ AZ )@@G@@NUML=NUML+1 @]@@@@ DEL=0 @]@@@@658 CFLG=1@#@@@@ INPL=HLN BA )@@G@@@A@@@@ CALL BXFR(HOLD,COMM,INPL) @]@@@@ STPS=1@]@@@@ BB )@@G@@CUR=1 @^@@@@ CALL TABMOV(LINE) @#@@@@ GOTO1000 @ @@@@6562 BC )@@G@@CALL XPRINT(HZ,HLN+1) @#@@@@ GOTO1000 @^@@@@663 CALL BLKR(HOBD )@@G@@LD,22)@]@@@@ HLN=0 @ @@@@ IF(INPC.LT.STPS)GOTO1000@ @@@@ BE )@@G@@HLN=(INPC-STPS+6)/6 @C@@@@ CALL COPY(COMM,STPS,HOLD,1,INPC-STPSBF )@@G@@+1) @#@@@@ GOTO1000 @#@@@@438 OP3=OP2 @]@@@@ OP2=OPBG )@@G@@@]@@@@ OP=0 @B@@@@538 IF(CUR.EQ.0.OR.CURLNG.EQ.0)GOTO5389 @ @@@@BH )@@G@@ X=TRIM(LINE,CURLNG) @^@@@@ FF=MIN0(OP2,X) @ @@@@ BI )@@G@@IF(COM.EQ.3RCTC)FF=X-FF @#@@@@ X=X-OP-FF @^@@@@ IF(X.GT.0)GOBJ )@@G@@TO5381@#@@@@ CURLNG=0 @#@@@@ LINE(1)=1H @#@@@@ GOTO53BK )@@G@@88 @A@@@@5381 CALL BXFR(LINE,IBLIN,CURLNG) @ @@@@ CALL BLKR(LIBL )@@G@@NE,CURLNG) @A@@@@ CALL COPY(IBLIN,OP+1,LINE,1,X)@^@@@@ CURLNGBM )@@G@@=(X+5)/6 @]@@@@5388 CFLG=1@ @@@@5389 IF(PR.NE.0)CALL WRITER @ @@@@BN )@@G@@ IF(RBKF.NE.0)GOTO256 @ @@@@ IF(OP3.LE.1)GOTO1000 @#@@@@BO )@@G@@ OP3=OP3-1 @#@@@@ CALL PUTLIN @^@@@@ CALL GETLIN($100) BP )@@G@@@#@@@@ LINO=LINO+1 @]@@@@ DEL=0 @]@@@@ CUR=1 @#@@@@ BQ )@@G@@GOTO538 @ @@@@5383 IF(CUR.EQ.0)GOTO1000 @ @@@@ X=TRIM(LINE,BR )@@G@@CURLNG) @#@@@@ IBLIN(2)=1H @^@@@@ IBLIN(1)=6HCHARS: @ @@@@BS )@@G@@ CALL EDEC(X,IBLIN,0,7) @ @@@@ CALL XPRINT(IBLIN,2) @#@@@@BT )@@G@@ GOTO1000 @ @@@@539 IF(CUR.EQ.0)GOTO1000 @ @@@@ IF(INPBU )@@G@@C.LT.STPS)GOTO1000@^@@@@ X=INPC-STPS+1 @^@@@@ IF(X.LE.0)GOBV )@@G@@TO1000@#@@@@ GOTO5401 @ @@@@540 IF(CUR.EQ.0)GOTO1000 @ @@@@BW )@@G@@ IF(HLN.EQ.0)GOTO1000 @ @@@@ CALL BXFR(HOLD,COMM,HLN)@]@@@@BX )@@G@@ STPS=1@^@@@@ X=TRIM(HOLD,HLN) @ @@@@5401 Y=TRIM(LINE,CURLNGBY )@@G@@) @G@@@@ IF(X.GT.SAVC*6-Y.AND.PR.NE.0)CALL XPRINT('IMAGE TRUNCABZ )@@G@@TED.',3) @^@@@@ X=MIN0(X,SAVC*6-Y)@^@@@@ IF(X.LE.0)GOTO1000CA )@@G@@@]@@@@ CFLG=1@B@@@@ CALL BLKR(LINE(CURLNG+1),22-CURLNG) @B@@@@CB )@@G@@ CALL COPY(COMM,STPS,LINE,Y+1,X) @^@@@@ CURLNG=(X+Y+5)/6 CC )@@G@@@#@@@@ GOTO1000 @]@@@@600 DEL=0 @#@@@@ CALL PUTLIN @^@@@@CD )@@G@@ CALL TABMOV(LINE) @]@@@@ CUR=1 @]@@@@604 CFLG=1@#@@@@ CE )@@G@@NUML=NUML+1 @#@@@@ LINO=LINO+1 @#@@@@ GOTO1000 @^@@@@605 CF )@@G@@CURLN0=CURLNG @^@@@@ CALL TABMOV(IBLIN)@A@@@@ CALL XSDFO(OCG )@@G@@UNIT,IBLIN,CURLNG)@^@@@@ CURLNG=CURLN0 @#@@@@ GOTO604 CH )@@G@@@ @@@@609 CALL BXFR(HOLD,COMM,HLN)@#@@@@ INPL=HLN @^@@@@ CI )@@G@@CURLN0=CURLNG @]@@@@ STPS=1@^@@@@ CALL TABMOV(IBLIN)@A@@@@CJ )@@G@@ CALL XSDFO(OUNIT,IBLIN,CURLNG)@^@@@@ CURLNG=CURLN0 @]@@@@CK )@@G@@ CFLG=1@#@@@@ LINO=LINO+1 @#@@@@ NUML=NUML+1 @#@@@@ CL )@@G@@GOTO1000 @ @@@@700 CALL CSCAN($14,$256) @]@@@@ F=0 @^@@@@CM )@@G@@ IF(OOP.GT.1)F=1 @ @@@@706 IF(CUR.EQ.0)GOTO707 @G@@@@ CN )@@G@@CALL SCANR(LINE,CURLNG,M1,C1,M2,C2,LINE,22,CSS,TRM,G,MFL,TCX,TCC, @#@@@@CO )@@G@@ 1 CURLN0,MFX)@ @@@@ IF(MFX.NE.0)GOTO708 @A@@@@ IF(F.ECP )@@G@@Q.1.OR.ALL.EQ.1)GOTO707 @D@@@@ IF(PR.NE.0)CALL XPRINT('PATTERN NOT CQ )@@G@@FOUND.',3) @#@@@@ GOTO1000 @G@@@@708 IF(CURLN0.GT.SAVC.AND.PRCR )@@G@@.NE.0)CALL XPRINT('IMAGE TRUNCATED.',3) @ @@@@ CURLNG=MIN0(CURLN0CS )@@G@@,SAVC)@]@@@@ CFLG=1@ @@@@ IF(PR.NE.0)CALL WRITER @ @@@@707 CT )@@G@@IF(RBKF.NE.0)GOTO256 @ @@@@ IF(OOP.GT.1)GOTO709 @^@@@@ CU )@@G@@IF(ALL.NE.0)GOTO3 @#@@@@ GOTO1000 @#@@@@709 OOP=OOP-1 @]@@@@CV )@@G@@ OP=1 @#@@@@ GOTO200 @ @@@@760 IF(CUR.EQ.0)GOTO600 CW )@@G@@@^@@@@763 CALL TABMOV(LINE) @]@@@@ CFLG=1@#@@@@ GOTO1000 CX )@@G@@@#@@@@988 CALL IDL @#@@@@ GOTO1000 @^@@@@966 OP=CSF(COMM,CY )@@G@@INPL) @C@@@@ IF(OP.NE.0.OR.FLD(0,1,OP).NE.0)GOTO9661 @E@@@@ CZ )@@G@@IF(PROMPT.EQ.0.AND.PR.NE.0)CALL XPRINT('READY',1) @#@@@@ GOTO10DA )@@G@@00 @^@@@@9661 IBLIN(1)='FAC ST' @^@@@@ IBLIN(2)='ATUS ' @A@@@@DB )@@G@@ CALL EOCT(OP,IBLIN(3),12,1) @ @@@@ CALL XPRINT(IBLIN,4) DC )@@G@@@#@@@@ GOTO1000 @ @@@@769 IF(CUR.EQ.0)GOTO1000 @#@@@@ DD )@@G@@HLN=CURLNG @A@@@@ CALL BXFR(LINE,HOLD,CURLNG) @ @@@@ IF(COMDE )@@G@@.EQ.2RHL)GOTO1000 @#@@@@ COM=1RD @]@@@@ OP=1 @#@@@@ DF )@@G@@GOTO770 @#@@@@8888 COM=4RSAVE @A@@@@ CALL XPRINT('AUTO SAVE.'DG )@@G@@,2) @]@@@@ AUTO=1@#@@@@7797 SVLINO=LINO @^@@@@7796 CALL TOP($25DH )@@G@@6) @#@@@@ OP=NUML+1 @#@@@@ AUTOC=0 @A@@@@7793 CALL XDI )@@G@@SDFO(SPAD,'*SDFF*',2R*[)@]@@@@ SFG=1 @#@@@@ SPADSW=0 @ @@@@DJ )@@G@@ IF(COM.NE.3RSPD)GOTO7792@]@@@@ DEL=1 @B@@@@ IF(CUR.NE.0)DK )@@G@@LINO=MAX0(LINO-1,0) @]@@@@ CFLG=1@B@@@@ IF(CUR.NE.0)NUML=MDL )@@G@@AX0(NUML-1,0) @#@@@@ GOTO7792 @ @@@@7791 NUML=MAX0(NUML-1,0DM )@@G@@) @C@@@@7792 IF(CUR.NE.0)CALL XSDFO(SPAD,LINE,CURLNG) @B@@@@ DN )@@G@@IF(RBKF.NE.0.OR.OP.EQ.1)GOTO7799 @#@@@@ OP=OP-1 @A@@@@ DO )@@G@@IF(COM.NE.3RSPD)CALL PUTLIN @^@@@@ CALL GETLIN($100) @A@@@@ DP )@@G@@IF(COM.NE.3RSPD)LINO=LINO+1 @]@@@@ CUR=1 @ @@@@ IF(COM.EQ.3RDQ )@@G@@SPD)GOTO7791@]@@@@ DEL=0 @#@@@@ GOTO7792 @ @@@@7799 CALL XDR )@@G@@ENDF(SPAD,SPADSW) @ @@@@ IF(COM.EQ.3RSPD)CUR=0 @]@@@@ SFG=0 DS )@@G@@@ @@@@ IF(RBKF.NE.0)GOTO256 @A@@@@ IF(COM.EQ.4RSAVE)GOTO779DT )@@G@@8 @ @@@@ IF(COM.EQ.4RSPL!)GOTO3 @ @@@@ IF(COM.NE.3RADD)GODU )@@G@@TO1000@ @@@@ IF(OP3.NE.0)GOTO7800 @ @@@@ IF(PR.EQ.0)GOTO100DV )@@G@@0 @#@@@@ IBLIN(2)=1H @^@@@@ IBLIN(1)=6HADDED: @ @@@@ DW )@@G@@CALL EDEC(X,IBLIN,0,7) @ @@@@ CALL XPRINT(IBLIN,2) @#@@@@ DX )@@G@@GOTO1000 @^@@@@7800 CALL TOP($256) @ @@@@ IF(PR.EQ.0)GOTO100DY )@@G@@0 @#@@@@ COM=4RAOPT @]@@@@ GOTO32@#@@@@7798 OP=SVLINO DZ )@@G@@@#@@@@ GOTO854 @B@@@@7790 CALL XPRINT('AUTO RECOVERY.',3) EA )@@G@@@]@@@@7794 X=0 @]@@@@ SFG=1 @#@@@@ SPADSW=1 @ @@@@7795 EB )@@G@@IF(RBKF.NE.0)GOTO7799 @A@@@@ OP=XSDFI(SPAD,IBLIN,$7799) @]@@@@EC )@@G@@ X=X+1 @#@@@@ CALL PUTLIN @ @@@@ CALL BXFR(IBLIN,LINE,OP)ED )@@G@@@]@@@@ CUR=1 @#@@@@ LINO=LINO+1 @#@@@@ NUML=NUML+1 @]@@@@EE )@@G@@ CFLG=1@#@@@@ CURLNG=OP @]@@@@ DEL=0 @#@@@@ GOTO77EF )@@G@@95 @ @@@@7777 IF(OP2.EQ.0)GOTO770 @#@@@@ GOTO200 @ @@@@EG )@@G@@7776 OP=MAX0(OP2-OP+1,1) @]@@@@770 DEL=1 @B@@@@ IF(CUR.NE.0)EH )@@G@@LINO=MAX0(LINO-1,0) @]@@@@ CFLG=1@ @@@@ IF(CUR.NE.0)NUML=NEI )@@G@@UML-1 @]@@@@ CUR=0 @#@@@@ GOTO772 @#@@@@771 NUML=NUML-1 EJ )@@G@@@^@@@@772 NUML=MAX0(NUML,0) @ @@@@ IF(OOP.EQ.1RX)GOTO7703 @ @@@@EK )@@G@@ IF(OOP.EQ.1RD)GOTO774 @ @@@@ IF(RBKF.NE.0)GOTO256 @ @@@@EL )@@G@@ IF(OP.EQ.1)GOTO1000 @#@@@@ OP=OP-1 @^@@@@ CALL GEM )@@G@@ETLIN($100) @#@@@@ GOTO771 @ @@@@773 IF(STPS.GT.INPC)GOTO14 EN )@@G@@@]@@@@ OP3=0 @B@@@@ IF(GETC(COMM,STPS-1).EQ.1R.)OP3=1 @D@@@@EO )@@G@@ IF(COM.EQ.1RL.OR.FLD(24,6,COM).EQ.1RL)GOTO776 @]@@@@ TCHF=1EP )@@G@@@#@@@@ TRMX=132 @]@@@@ POS=1 @#@@@@ X=TCHFC @^@@@@EQ )@@G@@ FLD(24,6,X)=X @^@@@@ FLD(12,12,X)=X @^@@@@ FLD(0,ER )@@G@@12,X)=X @^@@@@ DO 7731 I=1,22 @#@@@@7731 M1(I)=X @^@@@@ES )@@G@@ CURLN0=CURLNG @#@@@@ CURLNG=0 @^@@@@ CALL TABMOV(ET )@@G@@M1) @]@@@@ C1=Y0 @^@@@@ CURLNG=CURLN0 @#@@@@ GOTO77EU )@@G@@02 @#@@@@776 TCHF=TCHLX @^@@@@ POS=COMPL(CSS) @#@@@@ EV )@@G@@TRMX=TRM @^@@@@ C1=INPC+1-STPS @A@@@@ CALL COPY(COMM,STPEW )@@G@@S,M1,1,C1) @^@@@@7702 OOP=FLD(30,6,COM) @#@@@@ TALLY=0 @E@@@@EX )@@G@@7703 IF((OOP.EQ.1RX.OR.OOP.EQ.1RD).AND.NUML.EQ.LINO)GOTO3 @ @@@@ EY )@@G@@IF(OOP.EQ.1RD)GOTO770 @ @@@@774 IF(RBKF.NE.0)GOTO256 @#@@@@ EZ )@@G@@CALL PUTLIN @^@@@@ CALL GETLIN($1777)@#@@@@ LINO=LINO+1 @]@@@@FA )@@G@@ CUR=1 @]@@@@ DEL=0 @A@@@@ IF(OOP.EQ.1RP)CALL WRITER FB )@@G@@@G@@@@ CALL SCANR(LINE,CURLNG,M1,C1,TT,0,TT,0,COMPL(POS),TRMX,0,MFLFC )@@G@@,TCHF @^@@@@ 1 ,TCHFC,0,MFX) @ @@@@ IF(MFX.EQ.OP3)GOTO7703 FD )@@G@@@G@@@@ IF((OOP.EQ.1RF.OR.OOP.EQ.1RL.OR.OOP.EQ.1RD).AND.PR.NE.0)CALLFE )@@G@@WRITER@^@@@@ TALLY=TALLY+1 @C@@@@ IF(OOP.NE.1RC.AND.OOP.NEFF )@@G@@.1RX)GOTO1000 @ @@@@ IF(PR.EQ.0)GOTO1778 @]@@@@ X=LNSWFG )@@G@@@]@@@@ LNSW=1@#@@@@ CALL WRITER @]@@@@ LNSW=X@ @@@@1778 FH )@@G@@IF(OOP.EQ.1RX)GOTO770 @#@@@@ GOTO7703 @ @@@@1777 IF(OOP.NE.1RFI )@@G@@C)GOTO100 @^@@@@ IBLIN(1)=6HTALLY: @#@@@@ IBLIN(2)=1H @A@@@@FJ )@@G@@ CALL EDEC(TALLY,IBLIN,0,7) @ @@@@ CALL XPRINT(IBLIN,2) FK )@@G@@@#@@@@ GOTO100 @ @@@@447 IF(CUR.EQ.0)GOTO1000 @#@@@@ FL )@@G@@CALL PUTLIN @#@@@@ COM=1RA @#@@@@ LINO=LINO+1 @#@@@@ FM )@@G@@NUML=NUML+1 @]@@@@ DEL=0 @ @@@@780 IF(CUR.EQ.0)GOTO1000 @^@@@@FN )@@G@@ CALL TABMOV(LINE) @]@@@@ CFLG=1@#@@@@ GOTO1000 @ @@@@FO )@@G@@781 IF(CUR.EQ.0)GOTO1000 @]@@@@ STPS=1@#@@@@ INPL=HLN FP )@@G@@@A@@@@ CALL BXFR(HOLD,COMM,INPL) @#@@@@ COM=1RA @#@@@@FQ )@@G@@ GOTO780 @ @@@@8001 FLD(0,24,COMM(1))=0 @#@@@@ CALL MFR )@@G@@SG1 @#@@@@ GOTO1000 @ @@@@8002 FLD(0,30,COMM(1))=0 @#@@@@FS )@@G@@ CALL MSG2 @#@@@@ GOTO1000 @^@@@@8004 CALL CONFR($99) FT )@@G@@@#@@@@ GOTO1000 @#@@@@8003 AUTOF=OP @#@@@@ AUTOC=0 FU )@@G@@@#@@@@ GOTO1000 @#@@@@850 COM=1RG @#@@@@ OP=NUML FV )@@G@@@^@@@@854 IF(OP.EQ.0)GOTO400@ @@@@ IF(OP.NE.LINO)GOTO855 @ @@@@FW )@@G@@ IF(DEL.EQ.1)GOTO853 @#@@@@ GOTO203 @ @@@@855 IF(OP.FX )@@G@@GT.LINO)GOTO856 @^@@@@853 CALL TOP($256) @#@@@@856 OP=OP-LINO FY )@@G@@@#@@@@ GOTO200 @]@@@@99 TERM=1@C@@@@ IF(COM.EQ.3REND.ORFZ )@@G@@.RONLY.NE.0)CALL NOFIL1 @C@@@@ IF(NUML.EQ.0.AND.COM.NE.4RFILE)CALL GA )@@G@@NOFIL1@^@@@@ CALL TOP($256) @B@@@@ CALL XSDFO(OUTPT,'*SDFF*GB )@@G@@',2R*[) @^@@@@9998 CALL GETLIN($9999)@A@@@@ CALL XSDFO(OUTPT,LGC )@@G@@INE,CURLNG) @#@@@@ LINO=LINO+1 @#@@@@ GOTO9998 @ @@@@9999 GD )@@G@@CALL XENDF(OUTPT,0) @A@@@@ CALL EDEC(LINO,ENDMSF,0,17) @#@@@@GE )@@G@@ CALL FILE @ @@@@ SUBROUTINE TABMOV(B) @ @@@@ IMPLICGF )@@G@@IT INTEGER(A-Z) @^@@@@ DIMENSION B(1) @]@@@@ S=132 @D@@@@GG )@@G@@ IF(COM.EQ.1RF.OR.FLD(24,6,COM).EQ.1RF)GOTO1 @#@@@@ S=SAVCGH )@@G@@*6 @ @@@@ IF(COM.NE.1RA)CURLNG=0 @B@@@@ CALL BLKR(B(CURLNGGI )@@G@@+1),22-CURLNG) @]@@@@1 TT=0 @^@@@@ Y=MAX0(ECOL-1,0) @]@@@@GJ )@@G@@ Y0=0 @ @@@@ IF(ECOL.GT.S)GOTO126 @ @@@@ MAX=TRIM(COMGK )@@G@@M,INPL) @ @@@@ IF(MAX.LT.STPS)GOTO125 @^@@@@ DO 123 X=STPGL )@@G@@S,MAX @]@@@@ Y=Y+1 @]@@@@ Y0=Y @^@@@@ CHAR=GETC(COMM,X) GM )@@G@@@B@@@@ IF(CHAR.EQ.TAB.AND.TAB.NE.5)GOTO3 @C@@@@ IF(COM.EQ.1RGN )@@G@@A.AND.CHAR.EQ.TCH)GOTO122 @ @@@@ CALL PUTC(CHAR,B,Y0) @#@@@@GO )@@G@@ GOTO122 @#@@@@3 TT=TT+1 @B@@@@ IF(TT.GT.10.OR.SETGP )@@G@@S(TT).EQ.0)GOTO122@ @@@@ IF(SETS(TT).LE.Y0)GOTO3 @#@@@@ Y=SETSGQ )@@G@@(TT)-1@^@@@@122 IF(Y.GE.S)GOTO124 @#@@@@123 CONTINUE @#@@@@ GR )@@G@@GOTO125 @ @@@@124 IF(X.EQ.MAX)GOTO125 @D@@@@126 IF(PR.NE.0)CGS )@@G@@ALL XPRINT('IMAGE TRUNCATED.',3) @#@@@@125 Y=(Y0+5)/6 @A@@@@ GT )@@G@@CURLNG=MAX0(CURLNG,MIN0(Y,22))@]@@@@ ECOL=1@]@@@@ RETURN@ @@@@GU )@@G@@ SUBROUTINE CSCAN($,$) @]@@@@ ALL=0 @]@@@@ C1=0 @]@@@@GV )@@G@@ C2=0 @ @@@@ F=FLD(12,6,COMM(1)) @^@@@@ IF(F.EQ.5)GOGW )@@G@@TO999 @]@@@@ G=0 @]@@@@ OOP=0 @]@@@@ X=4 @^@@@@1000 GX )@@G@@CHAR=GETC(COMM,X) @ @@@@ IF(CHAR.EQ.F)GOTO100 @#@@@@ C1=C1+GY )@@G@@1 @ @@@@ CALL PUTC(CHAR,M1,C1) @ @@@@ IF(X.GE.INPC)GOTO9GZ )@@G@@99 @]@@@@ X=X+1 @#@@@@ GOTO1000 @ @@@@100 IF(X.GE.INPCHA )@@G@@)GOTO999 @]@@@@ X=X+1 @^@@@@1001 CHAR=GETC(COMM,X) @ @@@@ HB )@@G@@IF(CHAR.EQ.F)GOTO101 @#@@@@ C2=C2+1 @ @@@@ CALL PUTC(CHHC )@@G@@AR,M2,C2) @ @@@@ IF(X.GE.INPC)GOTO999 @]@@@@ X=X+1 @#@@@@HD )@@G@@ GOTO1001 @ @@@@101 IF(X.GE.INPC)GOTO5000 @]@@@@102 X=X+1 HE )@@G@@@^@@@@ CHAR=GETC(COMM,X) @ @@@@ IF(CHAR.EQ.5)GOTO102 @ @@@@HF )@@G@@103 IF(CHAR.EQ.1RA)GOTO2000 @ @@@@ IF(CHAR.EQ.1RG)GOTO3000 @D@@@@HG )@@G@@104 CALL NSCAN($999,$1041,COMM,INPC,X,OOP,1,X,1R ) @ @@@@1041 IF(X.GHH )@@G@@T.INPC)GOTO5000 @^@@@@105 CHAR=GETC(COMM,X) @]@@@@ X=X+1 @ @@@@HI )@@G@@ IF(CHAR.EQ.5)GOTO105 @ @@@@ IF(CHAR.NE.1RG)GOTO999 @]@@@@HJ )@@G@@3000 G=1 @^@@@@5000 OOP=MAX0(OOP,1) @]@@@@ RETURN@]@@@@2000 HK )@@G@@G=1 @^@@@@ CALL TOP($2001) @]@@@@ ALL=1 @#@@@@ OOP=NUHL )@@G@@ML+1 @]@@@@ RETURN@#@@@@2001 RETURN 2 @#@@@@999 RETURN 1 HM )@@G@@@G@@@@ SUBROUTINE SCANR(IN,WI,PF,WF,PR,WR,OUT,WO,POS,TRM,GLOBAL,PREHN )@@G@@, @ @@@@ 1 TCHF,TCH,RETWO,MFLAG) @C@@@@ DIMENSION IN(WI),PHO )@@G@@F(WF),PR(WR),OUT(WO) @ @@@@ DEFINE C(I)=FLD(6,6,I) @]@@@@ HP )@@G@@PRE=0 @#@@@@ MFLAG=0 @#@@@@ TTR=TRM @ @@@@ IF(TTRHQ )@@G@@.LE.0)TTR=132 @^@@@@ STRC=TRIM(IN,WI) @^@@@@ TTR=MIN0(STRHR )@@G@@C,TTR)@#@@@@ PATC=WF @C@@@@ IF(PATC.GT.MAX0(ABS(POS),1)-1+HS )@@G@@TTR)RETURN @B@@@@ CALL UNPACK(IN,WI,STRC+1,STRING) @B@@@@ HT )@@G@@CALL UNPACK(PF,WF,PATC+1,PATRN) @^@@@@ IF(WO.EQ.0)GOTO101@#@@@@HU )@@G@@ NPATC=WR @B@@@@ CALL UNPACK(PR,WR,NPATC+1,PATRR) @ @@@@HV )@@G@@101 IF(PATC.EQ.0)GOTO12 @ @@@@ N=MAX0(ABS(POS),1)+1 @ @@@@HW )@@G@@100 IF(N-1.GT.TTR)GOTO99 @A@@@@1 IF(N.GT.TTR-PATC+2)GOTO99 HX )@@G@@@C@@@@ IF(TCHF.NE.0.AND.C(PATRN(2)).EQ.TCH)GOTO2 @B@@@@ IF(C(SHY )@@G@@TRING(N)).EQ.C(PATRN(2)))GOTO2@]@@@@ N=N+1 @]@@@@ GOTO1 @#@@@@HZ )@@G@@2 POSS=N-1 @^@@@@ IF(PATC.EQ.1)GOTO5@]@@@@ N=N+1 @]@@@@IA )@@G@@ M=3 @]@@@@ CCNT=1@^@@@@ DO 3 M=2,PATC @D@@@@ IB )@@G@@IF(TCHF.NE.0.AND.C(PATRN(M+1)).EQ.TCH)GOTO8 @C@@@@ IF(C(STRING(IC )@@G@@N)).NE.C(PATRN(M+1)))GOTO4 @#@@@@8 CCNT=CCNT+1 @ @@@@ IF(CCNID )@@G@@T.EQ.PATC)GOTO5 @]@@@@ N=N+1 @ @@@@ IF(N.GT.TTR+1)GOTO99 IE )@@G@@@#@@@@3 CONTINUE @]@@@@ GOTO99@C@@@@5 IF(POS.LT.0.AND.POIF )@@G@@SS.NE.ABS(POS))RETURN @#@@@@ PRE=POSS @#@@@@ MFLAG=1 IG )@@G@@@^@@@@ IF(WO.EQ.0)RETURN @^@@@@ MEND=POSS+1+PATC @C@@@@ IH )@@G@@IF(MEND-1.GT.STRC.AND.NPATC.EQ.0)MEND=PRE @C@@@@ CALL LINKUP(PRE,STII )@@G@@RING,MEND,PATRR,NPATC) @ @@@@ CHARSO=STRC+1-PATC+NPATC@ @@@@ IJ )@@G@@WORDSO=(CHARSO+4)/6 @C@@@@ CALL REPACK(STRING,WORDSO,CHARSO,TMPIK )@@G@@OUT) @B@@@@ IF(GLOBAL.EQ.0.OR.POS.LT.0)GOTO11 @^@@@@ N=PRE+IL )@@G@@1+NPATC @^@@@@ STRC=CHARSO-1 @^@@@@ TTR=TTR-PATC+NPATCIM )@@G@@@C@@@@ CALL UNPACK(TMPOUT,WORDSO,CHARSO,STRING) @#@@@@ GOTO10IN )@@G@@0 @ @@@@12 WORDSO=(STRC+NPATC+5)/6 @^@@@@ TMPOUT(WORDSO)=1H IO )@@G@@@A@@@@ CALL COPY(PR,1,TMPOUT,1,NPATC)@B@@@@ CALL COPY(IN,1,TMPIP )@@G@@OUT,1+NPATC,STRC) @#@@@@ MFLAG=1 @^@@@@11 CALL BLKR(OUT,WO) IQ )@@G@@@ @@@@ RETWO=MIN0(WO,WORDSO) @A@@@@ CALL BXFR(TMPOUT,OUT,RETIR )@@G@@WO) @]@@@@ RETURN@#@@@@4 N=POSS+2 @]@@@@ GOTO1 @^@@@@IS )@@G@@99 IF(PRE.NE.0)GOTO11@]@@@@ RETURN@D@@@@ SUBROUTINE UNPACK(IT )@@G@@INPUT,NOWDS,NOCHRS,OUTPUT) @C@@@@ DIMENSION INPUT(NOWDS),OUTPUT(IU )@@G@@NOCHRS) @^@@@@ DO 60 L=1,NOCHRS @#@@@@60 OUTPUT(L)=0 @E@@@@IV )@@G@@ IF(NOCHRS.EQ.1)GOTO71 @ NOCHRS=NUMBER OF CHARS + 1 @]@@@@ IW )@@G@@I=1 @]@@@@ K=1 @B@@@@ FLD(18,18,OUTPUT(1))=LOC(OUTPUT(2)) IX )@@G@@@^@@@@ DO 70 IJK=2,NOCHRS@C@@@@ FLD(6,6,OUTPUT(IJK))=FLD(6*I-6IY )@@G@@,6,INPUT(K))@C@@@@ FLD(18,18,OUTPUT(IJK))=LOC(OUTPUT(IJK+1)) @]@@@@IZ )@@G@@ I=I+1 @^@@@@ IF(I.EQ.7)I=1 @^@@@@ IF(I.EQ.1)K=K+1 JA )@@G@@@#@@@@70 CONTINUE @A@@@@71 FLD(18,18,OUTPUT(NOCHRS))=511 @]@@@@JB )@@G@@ RETURN@D@@@@ SUBROUTINE REPACK(INPUT,NOWDS,NOCHRS,OUTPUT) JC )@@G@@@C@@@@ DIMENSION INPUT(NOCHRS),OUTPUT(NOWDS) @ @@@@ CALL BJD )@@G@@LKR(OUTPUT,NOWDS) @]@@@@ I=1 @]@@@@ K=1 @ @@@@ LOCX=FJE )@@G@@LD(18,18,INPUT(1))@#@@@@ END=NOCHRS-1@^@@@@ DO 70 IJK=1,END JF )@@G@@@B@@@@ IF(FLD(18,18,LOCX).EQ.511)RETURN @C@@@@ FLD(6*I-6,6,JG )@@G@@OUTPUT(K))=FLD(6,6,IND(LOCX)) @A@@@@ LOCX=FLD(18,18,IND(LOCX)) JH )@@G@@@]@@@@ I=I+1 @^@@@@ IF(I.EQ.7)I=1 @^@@@@ IF(I.EQ.1)K=JI )@@G@@K+1 @#@@@@70 CONTINUE @]@@@@ RETURN@D@@@@ SUBROUTINE LJJ )@@G@@INKUP(IDXP,STRING,IDXE,RPAT,CPAT) @B@@@@ DIMENSION STRING(IDXE),RJK )@@G@@PAT(CPAT) @^@@@@ IF(CPAT.EQ.0)GOTO6@B@@@@ FLD(18,18,STRING(IJL )@@G@@DXP))=LOC(RPAT(2))@C@@@@ FLD(18,18,RPAT(CPAT+1))=LOC(STRING(IDXE)) JM )@@G@@@]@@@@ GOTO7 @C@@@@6 FLD(18,18,STRING(IDXP))=LOC(STRING(IDXE)) JN )@@G@@@D@@@@7 IF(IDXP.EQ.IDXE)FLD(18,18,STRING(IDXP))=511 @]@@@@ JO )@@G@@RETURN@^@@@@ SUBROUTINE EOF @ @@@@ CALL XENDF(IUNIT,1) JP )@@G@@@ @@@@ IF(LINO+DEL.EQ.0)GOTO1 @ @@@@ CALL XENDF(OUNIT,0) JQ )@@G@@@^@@@@ IF(CFLG.EQ.0)GOTO1@#@@@@ X=IUNIT @#@@@@ IUNIT=JR )@@G@@OUNIT @#@@@@ OUNIT=X @]@@@@1 LINO=0@#@@@@ XNUML=NUML JS )@@G@@@]@@@@ CUR=0 @]@@@@ CFLG=0@^@@@@ IF(SFG.EQ.0)RETURN@ @@@@JT )@@G@@ CALL XENDF(SPAD,SPADSW) @]@@@@ SFG=0 @]@@@@ RETURN@^@@@@JU )@@G@@ SUBROUTINE TOP($) @^@@@@ IF(CFLG.EQ.0)GOTO2@B@@@@1 IF(RBKJV )@@G@@F.NE.0.AND.TERM.EQ.0)RETURN 1 @#@@@@ CALL PUTLIN @^@@@@ CALL GJW )@@G@@ETLIN($2) @]@@@@ DEL=0 @#@@@@ LINO=LINO+1 @]@@@@ CUR=1 JX )@@G@@@]@@@@ GOTO1 @#@@@@2 CALL EOF @]@@@@ RETURN@ @@@@ JY )@@G@@SUBROUTINE GETLIN($) @A@@@@ CURLNG=XSDFI(IUNIT,LINE,$1) @]@@@@JZ )@@G@@ RETURN@#@@@@1 RETURN 1 @^@@@@ SUBROUTINE PUTLIN @C@@@@KA )@@G@@ IF(CUR.NE.0)CALL XSDFO(OUNIT,LINE,CURLNG) @]@@@@ RETURN@^@@@@KB )@@G@@ SUBROUTINE WRITER @^@@@@ IF(CUR.EQ.0)RETURN@ @@@@ IF(SQUKC )@@G@@SW.NE.0)GOTO1 @C@@@@ IF(LNSW.NE.0)CALL EDEC(LINO,PREL,5,1) KD )@@G@@@E@@@@ IF(COM.EQ.2RLX.OR.COM.EQ.2RFX)FLD(0,6,PREL(1))=1RD @D@@@@KE )@@G@@ CALL XPRINT(LINE(1-LNSW),MIN0(PLN,CURLNG)+LNSW) @]@@@@ RETURNKF )@@G@@@ @@@@1 CALL BLKR(IBLIN,22) @C@@@@ IF(LNSW.NE.0)CALL EDEC(LKG )@@G@@INO,PREI,5,1) @D@@@@ CALL SQOPY(LINE,1,IBLIN,1,MIN0(PLN,CURLNG)KH )@@G@@*6) @D@@@@ IF(COM.EQ.2RLX.OR.COM.EQ.2RFX)FLD(0,6,PREI)=1RD @A@@@@KI )@@G@@ CALL XPRINT(IBLIN(1-LNSW),22) @]@@@@ RETURN@]@@@@ END KJ )@@G@@___UTPUT(IJK))=FLD(6*I-6,6,INPUT(K))@C@@@@ FLD(18,18,OUTPUT(IJK))=LKK )@@G@@OC(OUTPUT(IJK+1)) @]@@@@)@@@F]W@@@@@)@)@)@@@@@@@)]3@C@)@=@C@@@@@@@@@@@@@KL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@/,0@@@AA@@@F)@S@IA@@@@@@)@O@IA@@@@@@)@>@C@)]4@K@KM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AB@@@F)@W@IA@@@@@@)@&@C@)@P@IAKN )@@G@@@@@@@@)@$@K@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AC@@@F)@Q@IA@@@@@@KO )@@G@@)]5@C@)@(@)@@@@@@@@@@@)@@@@@@@@@@@@I@@@@@I@@@@]^@@@@@[@@@@@[@@@@@@AD@@@FKP )@@G@@)@H@IA@@@@@@)@![@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@.KQ )@@G@@@@@@@@AE@@@F)@5@C@)@@[C@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@>KR )@@G@@@@@@@P@@@@@F@@@@@@AF@@@F)@D@C@)@@@,A@@@@@@)@6@K@@@@@@@@@@@@@EDIT @@@@@ KS )@@G@@@@@@@^@@@@@#@@@@@]@@@@@[@@@@@@AG@@@F)[,@K@)] @C@)]W@K@)@@@YC@@@@@@ KT )@@G@@ > > > : :AH@@@F)@#[YC@@@@@@ KU )@@G@@ AI@@@F)@I[YC@@@@@@KV )@@G@@ AJ@@@FKW )@@G@@)@T[YC@@@@@@ KX )@@G@@ AK@@@F)@=[YC@@@@@@ KY )@@G@@ AL@@@F)@\[YC@@@@@@ KZ )@@G@@ AM@@@F)]X[S@@@@@@@ LA )@@G@@ AN@@@F)]*[S@@@@@@@ LB )@@G@@ AO@@@F)@E[S@@@@@@@LC )@@G@@12345656789.9.1234345678789.1212345656789.9.1234345678789.12123456AP@@@FLD )@@G@@)@P[S@@@@@@@789.1212345656789.9.1234345678789.1212345656789.9.1234345678LE )@@G@@789.12AQ@@@F)@[[F@K)[##K[#@K0^GG@@@@C@@@@N[@@@@?[@@@@:C/@@@Q/K@@@D(@@@@MLF )@@G@@@]A@@@/,0@@@@)@@D,AR@@@F)@E[F##^[][K04G[@^G@@@@@[@@@@+@]H@@@/K@@@W@@@@[\LG )@@G@@@@@@@@/,0@@@/K@@@W*@@@@GG@@@@JAS@@@F)@N[F]]K04G[#@[#@K0^@@@@/K@@@H[@@@@>LH )@@G@@G@@@@>C/@@@[@]I@@@@@@@@+@@@@[\@@@@@]/,0@@@AT@@@F)@W[F]#K04G@K)4GH#@^GG@@LI )@@G@@ @@@@R@]M@@@@@@@]7@@@@@@/,0@@@@]L@@@@@@@]6@@@@@]/,0@@@AU@@@F)@>[N##K[##[LJ )@@G@@##[@@@/=K@[^)@@@@I @@@@I(@@@@JC/)@@[ @@@@G*@@@@HC/@@@[/K@@R;*@@@@NAV@@@FLK )@@G@@)@\[F@K04[#@K0^CL#@K0^G@@@@@]6@@@@]A@@@@@>/,0@@@[@@@]BC@@@]8/K@@[@(@@@@HLL )@@G@@/K@@@2AW@@@F)@8[F#@^G[#@K-OG[#@^GG@@C@@@@I@]Y@@@@@@@];@@@@]A/,0@@@[@@@]ALM )@@G@@C@@@]'@]W@@@@@@@]9AX@@@F)[[@2^[#@K0^GG@@@@)@9@K@@@@@@@______INPUT (@@@@LLN )@@G@@[@@@@$C@@@@>/K@@[+*@@@@GG/@966AY@@@F)[B[F@K04[] K0^G@K@@@@@@C/@@@[/K@@C1LO )@@G@@@]>@@@@@@@]7@@@@@9/,0@@@/K@@[I(@@@@H/K@@[JAZ@@@F)[K@3##[##@@)@;@K@@@@@@@LP )@@G@@@@@@@@______EDIT )@@@@I @@@@I*@@@@JC/)@@[ @@@@G*@@@@HBA@@@F)[Q[F@K-OG[#LQ )@@G@@@^@K04@@@@@@/K@@[+[@@@@BC/@@@[/K@@[+@](@@@@@@@]7@@@@@;/,0@@@/=K@[+BB@@@FLR )@@G@@)[Z[F##K^GGK04GH@@@@@@@@ @@@@G*@@@@I/C)@[*H@)@@UC@)@@VC/@@@[ @@@@B/K@@AGLS )@@G@@*@@@@CBC@@@F)[*[MK00@K00@@@@@@;^@@@= @@@@I*@@@@AC/)@@[+@@@@I @@@@I1@@@@KLT )@@G@@*@@@@KD[@@@UC/)@@[BD@@@F)[2[EK^CT@K0[#@K04GG@@@@(@@@@K @@@@W @@@@7@]2@@@LU )@@G@@@@@@]//K@@YF/,0@@@/=K@PZ+@@@@IBE@@@F)[;[F@K-4GL##^GL#^K1@@@@C/)@@[[@)@[^LV )@@G@@C4)@@@[@@@[D@]7@@@@@@@@K@@@@@@/,0@@@/K@@C-BF@@@F)]^[F#@K1@K[##K0^GK@@@@@LW )@@G@@ @@@[O @@@]5[@@@@MC/@@@]/K@@O+(@@@@GG/@__RC@@@[^[@)@]3BG@@@F)]H[F#@^GH#^LX )@@G@@[@^GG@@@@@@@[@)@@IC/)@@U/K@@#$(@@@@IG/)__XC@)@[^[@@@@IC/@@@N @@@]4BH@@@FLY )@@G@@)]Q[N#^[@^GGK01#^@H]@@[^C"@@@9[[)@@IC.)@@G[[@@@MC.@@@[/K@@#$(@@@@KG.@__YLZ )@@G@@C[@@[^BI@@@F)])[N@@K1[@@@@@@@@+[@@@O @@@@O*@@@@Q/E)@](G")__JC])@[^C"@@@[MA )@@G@@ @@@@K*@@@@O/E@@]BY@@@F)^7[F@K^[@K^MS )@@G@@[@K^@@@@@@@@/K@@PH/K@@P(/K@@AY/K@@X*/K@@X?/K@@X+/K@@XW/K@@FA/K@@P$BZ@@@FMT )@@G@@) @[F@K^[@K^[@K^@@@@@@@@/K@@[Z/K@@[W/K@@B//K@@K)/K@@KE/K@@K\/K@@ID/K@@ASMU )@@G@@/K@@PHCA@@@F) D[F@K^[@K^[@K^@@@@@@@@/K@@YF/K@@YF/K@@CE/K@@CO/K@@CG/K@@CJMV )@@G@@/K@@CT/K@@CQ/K@@B_CB@@@F) M[F@K^[@K^[@K^@@@@@@@@/K@@TZ/K@@TZ/K@@R_/K@@A)MW )@@G@@/K@@F6/K@@D,/K@@@2/K@@CW/K@@BECC@@@F) V[F@K^[@K^[@K^@@@@@@@@/K@@M7/K@@FAMX )@@G@@/K@@FD/K@@OZ/K@@X0/K@@CY/K@@TZ/K@@TZ/K@@TZCD@@@F) =[F@K^[@K^[@K^@@@@@@@@MY )@@G@@/K@@A1/K@@A8/K@@X4/K@@G6/K@@G3/K@@G1/K@@G,/K@@G8/K@@E[CE@@@F) ![F@K^[@K^MZ )@@G@@[@K^@@@@@@@@/K@@L./K@@W9/K@@TZ/K@@TZ/K@@TZ/K@@TZ/K@@TZ/K@@MH/K@@ALCF@@@FNA )@@G@@) 6[F@K^[@K^[@K^@@@@@@@@/K@@G_/K@@BH/K@@IL/K@@GR/K@@ED/K@@I!/K@@I2/K@@XANB )@@G@@/K@@ORCG@@@F) _[#@K^[@K^[@@@@@)@_@C@COMMAN@#:@@@/K@@S+/K@@MU/K@@XI/K@@H)NC )@@G@@/K@@H)/K@@P0/K@@P0CH@@@F)[@@K@)AB@:] K0^G@K@@@@@)[]@C@SYNTAX/K@@[+@#?@@@ND )@@G@@@@@@];@@@@@_/,0@@@______D ERR.CI@@@F)[#@K@)AG@;] K0^G@K@@@@@C@)@@GC/@@@QNE )@@G@@/K@@[+@#,@@@@@@@];@@@@[]/,0@@@______ ERR. CJ@@@F)AN[F#@^G[#@K^C4K@@@@@@@NF )@@G@@C/@@@[/K@@[+@#2@@@/,0@@@/K@@[+[@@@@?C@@@]31@@@@IH@)@]3CK@@@F)AW[F##K^GH@NG )@@G@@^GGK1@@@@@@@*@@@@IH@)@[DC/)@@C[^@@@MC/@ /K@@[+ @@@@T/K@@[+[@@@@TCL@@@FNH )@@G@@)A>[F@K1^GH#^^GH]IK00@@@@#.@@@@@@@@M/,0@@@[O)@@M;C)@@SC@)@@[[*)@@MC))@@@NI )@@G@@/K@@A:CM@@@F)A,[MK^[#@@^G[@@@@/K@@[+[@@@@:C/@@@Q1@@@@IG/)__(C@)@@GC@@@]3NJ )@@G@@/K@@[+/K@@AG*@@@@GCN@@@F)A8[F#@K^G[#@K0^[#@K0^G@C@@@]4[@@@]4C@@@@%/K@@B@NK )@@G@@*@@@]4[@@@]3C@@@@(/K@@A/*@@@]3CO@@@F)B[[F#@K[@K0^G[#@K0^@@@@/K@@[+[@)@@%NL )@@G@@C@)@]4[@@@@(C@@@]3/K@@AG*@@@@G/C@@B H@@@]3CP@@@F)BE[F#^K0^[#@@^G@@@@@@@@NM )@@G@@[@@@]3C/@@]^1@@@@IG/)_.;C@)@@GC@@@]3/K@@[+[@@@@!C=@@@@CQ@@@F)BN[F#@K[#@[NN )@@G@@@^G@@@@@@@@@H@@@]3C/@@] /K@@BX1@@@@G*@@@@GH@@@]3C/@@[C/K@@B>*@@@]4CR@@@FNO )@@G@@)BW[F#@^G[@^@K0^G@@@@@@@[@@@]4H@@@]3C/@@[D/K@@B>*@@@@G/C@@B+H@@@]3C/@@[CNP )@@G@@[@@@]4CS@@@F)B>[EK0[#@^G[#@K<4G@@@@@@@@@]A/,0@@@[@@@]4C@@@]41@@@@IH@)@]4NQ )@@G@@C@)@@GH@@@]3C/@@] CT@@@F)B,[F#@^D[#@K0^G[#@K0@@@@^Q@@@@@@@]4@@@@]3@@@@]ANR )@@G@@@@@@]7@@@@@E/,0@@@@^P@@@@@@@].CU@@@F)B7[#] K0^G@K^GL#@K@@@@@@@@@@@/K@@[+NS )@@G@@[@@@@,C=@@@@/K@@[+@^R@@@@@@@].@@@@]A/,0@@@CV@@@F)[ @K@)B_@3]EK^[#^K1^G@@NT )@@G@@@@@@@@@@@@]"@@@@[D@@@@@@/K@@[+/K@@AG/,0@@@______@@@@@.CW@@@F)C [F#@K0^GHNU )@@G@@#@^G[@^G@@@@[@@@@4C/@@@[/K@@[+ @@@@4@^V@@@@@@@[ @@@@@M@@@@]_@@@@@@CX@@@FNV )@@G@@)CI[F@K1^G@K0^[#@K^GK@@@C)@@@@/K@@[+ @@@@3/K@@[+[@@@@3C/@@@[[@@@@2C)@@@@NW )@@G@@/K@@[+CY@@@F)CR[F#@K^GL#@K^GH@^GG@@@[@@@@HC/@@@[/K@@[+ @@@@H/K@@[+[@@@@0NX )@@G@@C)@@@@/K@@[+[@@@@\CZ@@@F)C)[F@K04[#@K0^G[#@K-^GG@@@@@S/,0@@@[@)@]BC@)@]8NY )@@G@@[@@@]AC@@@#@/K@@C1*@@@@T/K@@[+DA@@@F)C([F#@K0^G@K-OG[#@@@@@@C/@@@[@^2@@@NZ )@@G@@@@@@];@@@@]A/,0@@@@^1@@@@@@@]9@@@@]6@@@@]ADB@@@F)C2[F#@K0^GH#@K0[##@@@@@OA )@@G@@1@@@@I*@@@@ID@)@@UC/@@@[[@@@]3[@)@@6[@)@@IC@)@#[[@@@@)DC@@@F)C;[M^GH##K@OB )@@G@@[##@@@*@@@@AC/)@@[+@@@@I @@@@I*@@@@K/D@@D]H[@@@UC[@@@VC/)@@[ @@@@GDD@@@FOC )@@G@@)D [E^[]AK^G@K04GG@@@@@@G@@@@AC@@@@K@^9@@@@@@@#]/K@@YF/,0@@@/=0@PZ+@)@@HOD )@@G@@ @@@@IDE@@@F)DI[MK^GG^@K04GH@@/,0@0@[@@@@VG@@@@VC/@@@[/K@@DR1@@@@G*@@@@GOE )@@G@@D@@@@U/K@@D,(@@@@GDF@@@F)DS[EK1^G@K[#^^GK@@@@@@@[@@@ 0C/@@@[[4@@@@C/@@@@OF )@@G@@/K@@DZ*@@@@GH@@@@!C4@@@@@^"@@@DG@@@F)D-[F@K0@K04GGK0^G@@@@@@[@)@@>G@)@@>OG )@@G@@C/)@@[[@@@@SG@@@@SC/@@@[@ ]@@@@@@@[\/,0@-,DH@@@F)D%[EK0^G[@K0^G[##K^G@@@OH )@@G@@C@)@#^/K@@[+*@@@@T[@@@@6C@@@##/K@@C7 @@@@<[[@@@-C.@@@[DI@@@F)D3[F#@K0^G[OI )@@G@@]^K04G[#@K0@@ H@@@@@@@# @@@@]6@@@@]A@@@@@S/,0@@@[@@@]BC@@@]8[@)@]ADJ@@@FOJ )@@G@@)D/[F] K0^G@K^G[##^@@@@@/K@@C-(@@@@GH@@@@SC@@@@>/K@@[+@ I@@@@@@@];@@@@]AOK )@@G@@/,0@@@DK@@@F)E [F#@K04G[@K0@K@@@@@@@C/@@@U/K@@EM0@@@@G*@@@@GD@@@]3/K@@EMOL )@@G@@[@@@]3H@@@@SC@@@@>DL@@@F)EI[F##K0^G[@^G@^GK@@@@@[#)@[B[@@@[JC_)@@[G@@@]3OM )@@G@@C/@__"/K@@G)[@)@]3E@)@]3[@@@@IDM@@@F)ER[F##K^@K^@K0@@@@@@@@@C/@@@[ @@@@DP@@@FOQ )@@G@@)E3[E^[##K0[@K0^G@@@@@@@H@@@#[C@@@@6/K@@F[*@@@@GH@@@#AC@@@@I/K@@C-(@@@@KOR )@@G@@G.@__8DQ@@@F)E/[EK^G[@K^GH@K@@@@@@@@@ 5@@@/,0@1\/K@@F (@@@@H/K@@D,/K@@[+OS )@@G@@*@@@@7/K@@C1(@@@@GDR@@@F)F [F@K0^G[#@K^@K04G@@@@H@@@#AC@@@@I@ 9@@@/K@@D,OT )@@G@@/,0@\N[@@@@>C@@@@$ @@@@)/K@@[+DS@@@F)FI[EK^GH#@^[#@^GG@@@@@@[@@@@RC/@@@[OU )@@G@@ @@@@>/K@@[+*@@@@GH@@@#BC@@@@I/K@@E'(@@@@GDT@@@F)FR@;##K01##^GG@@@)[B@K@OV )@@G@@NITIALTEXT IC.)@@^[[@@@]C.@@@#[@)@@IC/)ADD @@@@N @@@@LDU@@@F)[D@K@)FY@3#OW )@@G@@#K04[] K0^G@@@@@@@@@@@#C@@@@[B/,0@@@/K@@F>(@@@@H[[)@@#______IZED. DV@@@FOX )@@G@@)F=[MK^@K04@K00@@@*@@@@IG/)__?C@)@@IC/@@@[/K@@[+(@@@@H@AC@@@/,0@,(/K@@@DOY )@@G@@@AA@@@DW@@@F)F,[M^GG@K^G[#@@@@[@@@]BC@@@]8/=K@GC)@@@@I @@@@I*@@@@KG.@__3OZ )@@G@@C[@@@IC/)@@[ @@@@GDX@@@F)F8[F#@K0^CL#@K0^G[#@^CO/,0@@@@AJ@@@@@@@# @@@@]6PA )@@G@@@@@@]A@@@@@*/,0@@@[@)@]AC@)@#DDY@@@F)G[[F#@K0[##[@K0^G@@@@@@[@@@]AC@@@#EPB )@@G@@/K@@[+(@@@@GG/@_$7C@@@@I@AK@@@@@@@];@@@@]ADZ@@@F)GE[F#@K0^CL#@K0^G[#@^COPC )@@G@@/,0@@@@AP@@@@@@@]"@@@@]6@@@@]A@@@@@>/,0@@@[@)@]BC@)@]8EA@@@F)GN[F#@K0[@KPD )@@G@@0@K@@@@@@@@@C/@@@N/K@@G)0@@@@G*@@@@GD@@@]3/K@@[+@AQ@@@@@@@];@@@@]AEB@@@FPE )@@G@@)GW[F##K0^G[@K0@@@@@@@@@C/@@@[0@@@@IG/)__"C@)@@GC@@@]3/K@@EM[@)@]3E@)@]3PF )@@G@@[@@@@IEC@@@F)G>[F##K0^G@^[#@K^@@@@@@/K@@Y^/K@@X4(@@@@C/@@@[@A:@@@/K@@D,/,0@\N/K@@[+EF@@@F)H@[N@K^G[#@@[#@@@[@@@]3PJ )@@G@@C/@@@[0@@@@IG/)__"C@)@@GG/@@@[H@@@]3C@@@]4/K@@EM/K@@HEEG@@@F)HE[N@^GH@^GPK )@@G@@@K[#@@H@@@]3C/@@@[/K@@[+(@@@@GH@@@]3C/@@@[/K@@D,*@@@@ @A2@@@/,0@1\EH@@@FPL )@@G@@)HO[F#@K[@K@K0^G@@@@@@@@ @@@@<[@@@@-C/@@@[@A9@@@/K@@F&/,0@\!@A8@@@/,0@0@PM )@@G@@]@@@]3EI@@@F)HX[N##K04@K0@K00@*@@@@KG.@_*2C[@@@IC/)@@[ @@@@G*@@@@-C/@@@[PN )@@G@@/K@@HE[@@@@SG@@@@SEJ@@@F)H$[M^@K04GG^[@@@@/,0@0@/K@@H9(@@@@GG/@_*2C@@@@IPO )@@G@@[@@@@IC/@@IH/)K@H?+@@@@I @@@@IEK@@@F)H1[E^GH##^G[#@K0@@@@@@@C/@@@[ @@@@G@)@@>C/)@@[[@@@@SG@@@@SC/@@@[@B]@@@EL@@@F)H'[F#@K0^GH]LK0^GL##@@@PQ )@@G@@C/@@@[@BC@@@@@@@@K@@@@@@@@@@]X/,0@@@[@)@@KC@)@@=[@@@@)EM@@@F)I#[F#^K0^[#PR )@@G@@@^@K0^G@@@@@[@@@^CG@@@@=C/@@@[/K@@[+@BF@@@@@@@[\/,0@-,[@@@@-[@@@ 0EN@@@FPS )@@G@@)IG[F] K0^G@K^C.#@K0@@@@@BJ@@@@@@@].@@@@]X/,0@@@/K@@[+@BH@@@@@@@^C@@@@]WPT )@@G@@/,0@@@EO@@@F)IP[F#@K1^GL@^[#^K1^G@@@[@@@^CH@@@[DC@@@ 0/K@@[+*@@@@G/C@@IVPU )@@G@@H@@@ 0C@@@[D @@@@=EP@@@F)IY[E[#@K0[#@K=^GK@@@@@@@@@@@@/,0@@@]@)@^CG/)__"PV )@@G@@C@)@^C]@@@@=W/@@@A;O@@@=G/@__9EQ@@@F)I$[F#^K0^G[#@^[#@K0^G@@C@)@]3[@@@]5PW )@@G@@C@@@]4/K@@[+@BO@@@@@@@^C@@@@]7@@@@]X@@@@ 0ER@@@F)I0[N#@K0[#@[#@[@@/=K@J0PX )@@G@@)@@@@I @@@@I*@@@@-C/)@@[ @@@@G*@@@@+C/@@@[ @@@]3[@)@]4ES@@@F)I'[F]BK0^G@PY )@@G@@K01#@^G@@@@@C@@@]41@@@@IH@)@]4C@)@@G[@@@@M@BV@@@@@@@@+@@@@[\/,0@@@ET@@@FPZ )@@G@@)J#[F#^K00K^GL##K1^GG@@@C@@@@M]@@@[ H@@@@MC@@@[ /K@@JF*@@@@GG/@7&7C@@@@IQA )@@G@@[@@@[ EU@@@F)JG[F#@K1^GH@^[#@K0^G@@@[@@@[\C@@@]8 @@@@+/K@@JQ*@@@@G/G@@JMQB )@@G@@[@@@@MH@@@[ H@@@]3EV@@@F)JP[F@K=OG[#@K0[]JK0^G@@@@@@@+@@@@[\/,0@@@@B>@@@QC )@@G@@@@@@@+@@@@]A@@@@[\/,0@@@/K@@J,EW@@@F)JY[E^G[#@K=^G[#@K0^G@@@@@@@]7@@@@[\QD )@@G@@@@@@^C@@@@]A/,0@@@[@@@^CG@@@]3C/@@@[@B&@@@EX@@@F)J$[F##[##[#@^G@@@@@@@@@QE )@@G@@[@@@@)C/@@@[[@@@@+W/@@@A;O@@@=G@@@@MC/@@@ @B$@@@@@@@@MEY@@@F)J0[N##K^@K0QF )@@G@@4@K0@@1@@@@G*@@@@GH@@@]5C/@@@[/K@@D,*@@@@ @B:@@@/,0@1\/K@@J4(@@@@HEZ@@@FQG )@@G@@)J'[N@^G[#@K[@K@@@C/@@@[@B2@@@/K@@F&/,0@\!@B1@@@/,0@0@]@@@]5H@@@]5C/@@@[QH )@@G@@/K@@[+FA@@@F)K^[F##K04G@K0^[#@K^CW@@/,0@@@/K@@[+(@@@@-/K@@I2[@)@@-C/)@@[QI )@@G@@ @@@@<[@@@@SG@@@@SFB@@@F)KH[F#@K0[##K0^G[#@K0^CK/,0@@@[@@@]AC@@@#F[@)@]BQJ )@@G@@C@)@]8[@@@@M@B9@@@@@@@@+@@@@[\FC@@@F)KQ[F##K0^G[#@^CP#@K0@@@@B.@@@@@@@];QK )@@G@@@@@@]A/,0@@@@B/@@@@@@@]9@@@@]6@@@@]A@@@@@MFD@@@F)KZ[F@K0^[#^K1^@K^GK@@@@QL )@@G@@C@@@ 0/K@@[+*@@@@G/C@@K$H@@@ 0C@@@[D/K@@[+(@@@@-/K@@[+FE@@@F)K*[F#^^GG^[QM )@@G@@@K0^@@@@@@@@/K@@[+(@@@@-/K@@K_/K@@[+1@@@@G*@@@@G]@@@@MG/@__"H@@@[DFF@@@FQN )@@G@@)K1[F#@K^D #@K1^G@^GK@@@[@@@ 0C/@@@[@CF@@@@@@@@=@@@@@@@@@@]X/,0@@@/K@@[+QO )@@G@@(@@@@=FG@@@F)K'[F]BK0^G@K04CX#@K0@@@@CI@@@@@@@@+@@@@[\/,0@@@[@@@@M@CH@@@QP )@@G@@@@@@@=@@@@]X/,0@@@FH@@@F)[F@)@@@@@@@)L#@<#^^GG@@@@@@@@ @@@@G(@@@@HC/@@@[QQ )@@G@@[@@@D"______TED. TRUNCAIMAGE FI@@@F)LB[N#@^GKK00[@@@@/)K@LP+@@@@K @@@@KQR )@@G@@1@@@@I*@@@@IH@)@@MC.@@@[H@)@D"T/)@@AC@)@@?FJ@@@F)LL[F] K0^G@K0[#^^GG@@@@QS )@@G@@H@)@@MC@)@@GH@@@D"T/@@@AC@@@@?@CK@@@@@@@#C@@@@[F/,0@@@FK@@@F)LU[MK04GH#@QT )@@G@@[@^G@@C/)@@Q[@@@@)C/@@@[/K@@[+0@@@@G*@@@@GR@K@@+[@@@@MC@@@@M1@@@@IFL@@@FQU )@@G@@)L=[F#@K0^G[#@K<4G[#@@@@C/@@@[@CP@@@@@@@^C@@JK^D/,0@@@^@K@^DN8L@[\[@)@^CQV )@@G@@H@)@@+FM@@@F)L![F#^K0^D[#^K1^G[#@K00@CQ@@@@@@@@M@@@@^C@@@@[\@@@@ 0@@@@@@QW )@@G@@/,0@@@[@@@^CG@@@D"FN@@@F)L6[F#^K00^G[@K0^@@@@@@@/,0@0@ @@@@[@@@@)QY )@@G@@C/@@@[[@@@@-C/@@@[@CV@@@@@@@[\/,0@-,@CU@@@FP@@@F)MC[F#@^GH##K^G[#^K^G@@@QZ )@@G@@@@@@]A/,0@-,[@@@@_C@@@@+/K@@[+[@)@@SG@)@@SC/)@@[[@@@@>FQ@@@F)ML[EK)=GH#@RA )@@G@@K0[#^K0^@@@@/K@@M [@@@@+C@@@@_@C<@@@@@@@@+@@@@]A@@@@@#/,0@@@@C+@@@FR@@@FRB )@@G@@)MU[F]LK0^GL#@^G[##K0^GK[@)@@_C@)@@+[@@@@KC@@@@=@C&@@@@@@@@=@@@@@@@@@@]XRC )@@G@@/,0@@@FS@@@F)M<[EK1^[#@^CD##K0^G@@@@@@@@@+@@@@]A@@@@@#/,0@@@@C%@@@@@@@]ARD )@@G@@/,0@-,[[@@ 0C.@@@[FT@@@F)M?[EK1^G@K0^GH##^G@@@@@G[@@@>C.@@@[[@)@@SG@)@@SRE )@@G@@[@)@@)C/)@@[[@@@@+C@@@@_@C:@@@FU@@@F)M5[F#@K^[@K[#^^GK@@@@@@H@@@[OC/@@@[RF )@@G@@ @@@[^@C1@@@/K@@D,/K@@AG/,0@=W/K@@[+[[@@@>FV@@@F)M"[E^@K1^G[@K^G@@@@@@@@RG )@@G@@@@@@[\/,0@(K@O"GK@@@F)O'[F#@K0[@K0^G[#@K0^DK@/,0@@@[@)@]BC@)@#H[@@@]AC@@@#G/K@@[+RY )@@G@@@DU@@@@@@@]7@@@@[RGL@@@F)P#[F#@K0^G[#@^CP#@K0@@@@DZ@@@@@@@#J@@@@]A/,0@@@RZ )@@G@@@DY@@@@@@@]7@@@@#I@@@@]C@@@@]3GM@@@F)PG[F@K0^[#@K0^D #@K0^G@@@@@@+@@@@]XSA )@@G@@@@@@[\/,0@@@[@@@@=C@@@@+/K@@[+(@@@@-/K@@[+GN@@@F)PP[MK00K[##^G[@@@/K@@S!SB )@@G@@[@)@]3C/)@@[[@@@@IC/@@@D/K@@[+(@@@@GG/@_2,C@@@@I@D=@@@GO@@@F)PZ@F#@@@@@@SC )@@G@@)[T@S@)P)@V##K-OG@@@@@@@@@@@[T/,0@@@[@@@@I______AVE. AUTO SC@@@#AGP@@@FSD )@@G@@)P<[F#@[#@K04G[@K@@@@@@@@D,@@@/K@@D,/,0@\N[@@@@5C@@@@S[@@@@7C/@@@[@D:@@@SE )@@G@@@@@@];GQ@@@F)P?@+K0^G[##@@@@@@)[W@)@@@@@@@______@@@@*[______*SDFF* @@@@VSF )@@G@@[@@@]3G@@@@>C/@@@[GR@@@F)P0[F]]K04G[#@[##K0^GG@@C@)@@I @@@@&[@@@@WC/@@@[SG )@@G@@@D1@@@@@@@[Y@@@@[W@@@@@^/,0@@@GS@@@F)P9[F#@^[#@K0^@K00@@@@@@C@)@@GH@@@@SSH )@@G@@C/@@@[/K@@QA(@@@@-[@@@@SI )@@G@@C/@@@[/K@@QL(@@@@-[@@@@)C/@@@[]@@@@SD/@@@@1@@@@IH/)___GU@@@F)QG[M@K0^@K0SJ )@@G@@@@@@@@H/)___C@)@@GH@@@@>C/@@@[/K@@QT]@@@@>D/@@@@1@@@@IH/)___C@)@@GGV@@@FSK )@@G@@)QQ[E^G[#@K^CD##K0^G@@@@@@@@@+@@@@[\@@@@@^/,0@@@/K@@Q)(@@@@-]@@@@>D/@@@@SL )@@G@@1@@@@IGW@@@F)QZ[M[#@@K00@@@@@@)@@@@I @@@@I(@@@@ C/)@@[ @@@@G*@@@@IH@)@]3SM )@@G@@C/)@@[C/@@@[@D_@@@GX@@@F)Q([F@^G[#@K04G@K^@@@@@@/,0@0@/K@@Q3(@@@@GH@@@#KSN )@@G@@C@@@@I]@@@]3H@@@]3C/@@@[/=K@R GY@@@F)Q2[MK^@K04G@K[##@G@@@@SC/@@@[/K@@Q.SO )@@G@@(@@@@GH@@@#KC@@@@I@E @@@/K@@F&/,0@\!@E^@@@GZ@@@F)Q/[F##^G[##K0[@K0^@@@@@SP )@@G@@/K@@QT @@@@G@)@@>C/)@@[[@@@@SHL@@@F)S-[N@K0^[@K0^G@@@0@@@@ITD )@@G@@G/)__"C@)@@GG/@@@[H@@@]3C@@@]4/K@@EM/K@@S!(@@@]4/K@@S#HM@@@F)S:[MK0[#@K0TE )@@G@@^@K00@H/)___C@)@@GH@@@@SC/@@@[/K@@S8(@@@@-[@@@@C/@@@[/K@@S_(@@@@-[@@@@)C/@@@[]@@@@SD/@@@@TG )@@G@@1@@@@IHO@@@F)S"[F#@K0^@K0^G[#@@@@@@@G/)___C@)@@GC@@@@>]@@@@>H@@@@>C/@@@[TH )@@G@@/K@@T^ @@@@-]@@@@>HP@@@F)TB[M^G[#^[@K1@@@@(@@@@IG/)__6C@)@[O/K@@U!(@@@@ITI )@@G@@G/)__+C@)@[O[@@@@>C/@@@@0@@@@IHQ@@@F)TL[F@K04@K0[@^G@@@@@@@@H@)@]3C/)@@[TJ )@@G@@/K@@[+(@@@@IH@)@]3C/)@@[/K@@D,*@@@@ /K@@V^HR@@@F)TU[F#@K^@K^GL#^K@@@@@@@TK )@@G@@*@@@@G/C@@T=H@@@ 0C@@@[D/K@@T[@FL@@@/K@@F&/,0@\!]@)@]3HS@@@F)T<[F@K0[#^KTL )@@G@@0^C-#^K0@@@@@FQ@@@@@@@^C@@@@@@/,0@@@]@@@^CH@@@ 0C/@@@[ @@@]5/K@@AGHT@@@FTM )@@G@@)T?[M^@K0[##@@@@@@ @@@@G*@@@@IG/)__,C=)@@IC/@@@[[@@@]5C/@@@[/K@@T1*@@@@GTN )@@G@@G/@__]HU@@@F)T6[MK00[@^G@@@@@@C/)@]^[@@@@1C/@@@[/=K@UT)@@@@I @@@@I*@@@@KTO )@@G@@G.@__,C[@@@IC/)@@[HV@@@F)U@[##^K1^G[##K04GH##K00@@@@@@C[@@@M[T@@@MC[@@@MTP )@@G@@[>@@@M[[@@@MC[@@@0[@@@ ?[@)@D'HW@@@F)UC[F##K0[##K1^[#@K1^G@@ @@@@+[@)@@_TQ )@@G@@C@)@@+8N0@UF[@[)@HC@@@@MN_0@@PR@K@#O[X@@@MHX@@@F)UL[F@K1[#^K1^GL#@K^G@@@TR )@@G@@C@@@@4/K@@U%[@)@@+C@)@@_[@@@[@C@@@D_@F*@@@@@@@@I/,0@-,HY@@@F)UU[F#@K0^GLTS )@@G@@#@K1[#^K1^GK[[)@[@H[)@ 0G[)@[DC.)@@[[[@@D'C[@@@%[@)@ ?D@)@@([@@@@1HZ@@@FTT )@@G@@)U<[F]KK1^GL#^K0^GKK04GK[@@@[OC)@@@I@F0@@@@@@@[@@@@@]7@@@@@I@@@@ 0@@@@@@TU )@@G@@/,0@@@IA@@@F)U?[N#@^GK@K1@@@@@*@@@@KG.@__6C[@@[OC/)@@[ @@@@G*@@@@IG/)__+TV )@@G@@C@)@[OC/@@@[ @@@@8IB@@@F)U6[M[#@K00[@@@@@@/=K@@0+@@@@I;^@@@= @@@@I*@@@@KTW )@@G@@H[@@@SC[@@@>C/)@@[)@@@@I @@@@IIC@@@F)V@[N#^[@K04[@^[@@/K@@W&/,0@\!@F9@@@TX )@@G@@/,0@0@/K@@D,*@@@@ /K@@S!(@@@@GG/@__6C@@@[OID@@@F)VE[E^GH##^G[#@K1@@@@@@@TY )@@G@@G/@__%C@@@[O @@@@<[@)@@-C/)@@[[@@@@SG@@@@SC/@@@[@F'@@@IE@@@F)VN[EK^@K1^GTZ )@@G@@[@K0^G@@@@@@@@@@@+@@@@[\/,0@(<[@@@^CD@@@ ?@F_@@@/,0@1\/K@@VR*@@@@GIF@@@FUA )@@G@@)VW[##^K1^GL#@K1^G[#@K1@@@@@@@@@@@D'@@@@^C@@@@]6@@@@D;@@@@]6@@@@D;@@@@[@UB )@@G@@@@@@@IIG@@@F)V=[F#@K1^G[#@K0^GKK1^G@H@@@]5C@@@[L@G@@@@@@@@[L@@@@]6@@@@@0UC )@@G@@@@@@@1@@@@[K@@@@]6IH@@@F)V![MK[#^@^GK@@@@@G.@__4C[@@[OC/)@@[ @@@@G*@@@@IUD )@@G@@G/)__,C@)@[OC/@@@[/K@@U!(@@@@GII@@@F)V7[M@K1@@@@@@@@@@C/@@@[)@)@@H @@@@IUE )@@G@@*@@@@KG.@__6C[@@[OC/)@@[)@@@@I @@@@I*@@@@KIJ@@@F)W[[N##@K^@^G[#@@@[@@@@8UF )@@G@@G@@@@8C/@@@[@G^@@@/,0@1\/)0@WC+@)@@G;^)@@= @@@@G(@@@@HIK@@@F)WF[MK1@[#^@UG )@@G@@@@@@@@ @@@@K(@@@@MG.)__7C[)@[OC.@@@[ @@@@I(@@@@KG.@__+C[@@[OC/)@@[IL@@@FUH )@@G@@)WP[EK^GH@K04GGK04@@@@@@/,0@1\[[@@@OC.@@@[[@)@@MC@)@@O/K@@W-(@@@@H/=0@[+UI )@@G@@+@)@@KIM@@@F)WY[EK04GH#^[@K^GK@@@@@@C@@@[O/K@@U!/K@@S!(@@@@GG/@__+C@@@[OUJ )@@G@@[@@@@OC@@@@M@GG@@@IN@@@F)W$[E^[#@K0^G[#@K-^G@@@@@@@@@8/,0@@@[@)@]BC@)@]8UK )@@G@@[@@@]AC@@@#P/K@@F&*@@@@GG/@__7IO@@@F)W0[F#@K0^G@K-OG[#@^@@@@/K@@F&@GQ@@@UL )@@G@@@@@@];@@@@]A/,0@@@@GP@@@@@@@]9@@@@]6@@@@]AIP@@@F)W9[F#@K^@^GGK04GG@@@@@@UM )@@G@@[@)@@SG@)@@SC/)@@[[@@@@IC/@@@A@GU@@@/,0@0@/K@@[+(@@@@-IQ@@@F)X][EK0^G[#@UN )@@G@@K0^[@K0@@@@@@G-@@@@@@@[\/,0@-,/K@@[+(@@@@- @@@@<[[@@@>G[@@@>C.@@@[IR@@@FUO )@@G@@)XF[EK0^[#@K[#^K0^GG@@@@[@)@@KC@)@@=[@@@ 0C/@@@[/K@@[+(@@@@-/K@@[+[@@@@)UP )@@G@@C/@@@[IS@@@F)XO[F]LK0^GL##[##K^GK@@@C@)@@@/K@@XA[@@@@IC/@@@A@G*@@@@@@@@KUQ )@@G@@@@@@@@@@@@]X/,0@@@IT@@@F)XX[F#@K1^DOK^GL#@K1^DS@/,0@@@[@0@@@+@)@#RC@)@@@UR )@@G@@/K@@[+@G?@@@/,0@@@[@0@@@+@)@#QIU@@@F)X&[EK^DX@^[#@K04GG@@@@@ @@@@V[@@@@UUS )@@G@@C@@@]3/K@@[+@G1@@@/K@@YF/,0@@@/K@@[+@G\@@@IV@@@F)X\[F@^GH#@K0^G[@K04G@@@UT )@@G@@H@@@]3C@@@@S/K@@FD(@@@]3[@)@]3C@)@@>[@@@@IC/@@@G/K@@[+IW@@@F)X8[EK[#@^[@UU )@@G@@K04G@@@@@@@@H@@@]3C@@@@S/K@@E6/K@@Y^(@@@@GH@@@@+@@@@I @@@@I*@@@@>C/)@@[JB@@@F)[=@)@@@@@@@)Y$@+K)=GH#@VA )@@G@@@@@@@@@@@@[=@@@@@[/,0@@@@HD@@@______@@@@*[______*SDFF*JC@@@F)Y:[F#@^[@^CVB )@@G@@D##K0^G@@@@@@@@@@+@@@@[\@@@@@[/,0@@@@HF@@@/K@@Y9/,0@\!@HE@@@@@@@[&JD@@@FVC )@@G@@)Y4[E^GH##K^CH##K0@@@@@@@HJ@@@@@@@]6@@@@@[/,0@@@/K@@Y![@@@@SG@@@@SC/@@@[VD )@@G@@@HG@@@JE@@@F)Y.[F]^K04GH#@K0[]T^D8@@/,0@@@@HL@@@/,0@@@@HK@@@@@@@#T@@@@]6VE )@@G@@@@@@@D@@@@@S/,0@@@JF@@@F)ZA[N#@^GKK00[##@@C>)@@IC.@@@[ @@@@I*@@@@KG.@__4VF )@@G@@C[@@@IC/)@@[[@@@ \C/@@]^@@@@#UJG@@@F)ZK[M@K^G@K1^GG@@@G/@__9C@@@@I[@)@ \VG )@@G@@T/)@@AC@)@@?/=0@Z*)@)@@K @@@@K*@@@@MG.)__4JH@@@F)ZU[EK^G[#@K0[#@K0@@@@@@VH )@@G@@N8L@@@[@@@^FH@@@@+C/@@@QO@K@^ER@K@@+ @@@@+/K@@ZX(@@@@GJI@@@F)Z<[F#@K<4G[VI )@@G@@#@K0^GKK0@@@C@)@@GH@@@]3C/@@@[ @@@D;@HX@#X@@@@^F@@JK^G/,0@@@^@K@^GJJ@@@FVJ )@@G@@)Z?[E[#^K1^GL#@K@@@@@@@@*@@@@I/C)@Z6H@)@]3C@)@ \ @@@D_]@@@D"D/@@@@1@@@@IVK )@@G@@H/)___JK@@@F)Z5[F@K-4GL##K0^GL#^K@@@*@@@@G/C@@Z_H@@@ 0[@@@[I@H<@#X@@@@@KVL )@@G@@@@@@@@/,0@@@/K@@-HJL@@@F)Z"[F@K1^GL#^^GGK1^GK@@@[@@@D"G@@@D"C/@@@[[#)@@MVM )@@G@@[@@@[JC#)@ 0G@@@[ID@@@ 0/K@@-NJM@@@F))B[F#^K+^GL##K0^GK^G@@@H[@@@,C.@@@ VN )@@G@@C/)@@[[@@@@/@H:@#X@@@@@M@@@@@@/,0@@@[@@@D_JN@@@F))K[M[#@@K[#@@@@@@C@)@@\VO )@@G@@C/@@@[/=0@)%+@)@@K @@@@K*@@@@GH@@@@,C.@@@[ @@@@I(@@@@KJO@@@F))U[N#^@K00[VP )@@G@@@@@@@@/=K@-[+@@@@I @@@@I*@@@@KG.@__9C[@@@IC/)@@[ @@@@G*@@@@IH@)@@/JP@@@FVQ )@@G@@))=[F]UK1^G[#^K0^@K1^GK@[@@@D;G@@@D;C/@@@[/K@@-[@H0@#X@@@@D_@@JK^E@@@@@/VR )@@G@@/,0@@@JQ@@@F))![N#^B?@@@@@@@@@)@)@@K @@@@K0@@@@G*@@@@GG/@__5C.@@@[ @@@@IVS )@@G@@*@[J_"C/)@@[R@K@D;JR@@@F))7[F@K1^GL;@[@Y0@@@@@@@G/@__"C@[J_"/K@@)%1@@@@GVT )@@G@@*@@@@GH@[J_"C@@@D_R@K@D;/=0@-[JS@@@F)-@[F#^K1^GK^@K^@@@@@@@@/K@@-N8N0@)#VU )@@G@@G_)@@[/K@@-D1@@@@G*@@@@GH@@@ \C@@@D"[@@@D"JT@@@F)-D@<##K1[@@)[*@)@@@@@@@VV )@@G@@@@@@@@______TED. TRUNCAIMAGE /K@@-N(@@@@GH@@@[IC@@@@MJU@@@F)-H[F##K^CP#VW )@@G@@@K0^G@K1@@@@;O@@@=G@@@D_C/@@@ @I@@#X@@@@#C@@@@[*/,0@@@/K@@-N(@@@@HJV@@@FVX )@@G@@)-Q[MK1@@K0[#@@@@@C@@@@+0@@@@IH@)@@+C@)@@GC/@@@Q1@@@@IG/)__(C@)@@G[@@@D"VY )@@G@@W/@@@AJW@@@F)-)[F#@^G[@K^G[#@K0^G@@@9\)@^J9!)@^HR]0@#Y@I^@#X/K@@-&N@0@->VZ )@@G@@[@)@]3C/)@@[[@@@@+JX@@@F)-(@V#@K0^G@)#V@C@)-?@N#@K$0@@)#X@C@TABMOV/K@@@@WA )@@G@@/K@K#V@@F@@]*4@K#VN#0@^MR@K@^LJY@@@F)#Y@C@)-,@;#@K0^G[#@K0@@@@@@@@C8FK@@WB )@@G@@ @@@@J^#0@^MA@K@^L9:)@^J9()@^HAA0@#Y@I^C];JZ@@@F)-5[F#@K^GL#^K1^GL#^^GK@WC )@@G@@H@@@[^C/@@@ [@@@[^C?@@@@ @@@[[ @@@[@ @@@@'/K@@ZB[@@@^EKA@@@F)-"[EK^GL#^^WD )@@G@@GH]CK1^GG@@@@@@@@M@@@@@@/,0@@@[@@@@MC/@@@^ @@@[O @@@[A/K@@=K(@@@@GKB@@@FWE )@@G@@)+B[F#@K1^GKK[#^K1^D*@@@/,0@@@[@@@[@G@@@[@C/@@@[/K@@+X(@@@@GH@@@[^[@@@@/WF )@@G@@@IL@#-KC@@@F)+K[F#^K1^GL#@K04GK^@@@@/K@@=K1@@@@G*@@@@GH@@@[DC@@@@M@IP@#-WG )@@G@@@@@@[@@@@@@I@@@@@/KD@@@F)+T[EK04GH@K04GK^@@@@@@@/K@@=K1@@@@G*@@@@GH@@@[DWH )@@G@@C@@@@M/K@@+^[@@@@MG@@@@MC/@@@[KE@@@F)++[EK04GH]CK1^GH#@K1^GKH@@@[^[@@@@/WI )@@G@@@IX@#-@@@@@M@@@@@@/,0@@@[@@@@MG@@@@MC/@@@[KF@@@F)+:[EK[#^K1^D(#^K1^GK@@@WJ )@@G@@@@@@[[@@@@@=@@@@@//,0@@@[@@@[[G@@@[[C/@@@[/K@@+"(@@@@GKG@@@F)+4[F#@K04GKWK )@@G@@^@K04GG@@@@@[@@@@MG@@@@MC/@@@[/K@@=K1@@@@G*@@@@GH@@@[DC@@@@M@I-@#-KH@@@FWL )@@G@@)+.[F@K04GK^@K04GG@@@@@@[@@@@MG@@@@MC/@@@[/K@@<71@@@@G*@@@@GH@@@[DC@@@@MWM )@@G@@/K@@+>KI@@@F)[@@@@'C/@@@[@I.@#-/K@@=GKQ@@@F)=G[EK^[#@^[@K0^G@@@@@@@!^)@#Z@J]@#-WW )@@G@@/K@@=ON@0@=NC8)@@[@J[@#-/K@@=ON@0@=JC8)@@]KR@@@F)=P@:])^G[#@K0@@@@)#Z@C@WX )@@G@@)=U@F#@@@@@@/K@K#Z@@F@@@*4@K#ZR]0@#+[^)@#ZH8)@@[/K@@@@KS@@@F)=V@F]Z@@@@@WY )@@G@@)#-@K@)=W@%K0^G@K@/K@@-7 @@@@J[^@@#ZAA0@#+C8@@@#@J]C];CSCAN /K@@@@KT@@@FWZ )@@G@@)=-[F#@K0^G[#^K1^@K@@@@@C/@@]^/K@@=:*@@@@G/C@@=(D@@@D/[@@@D/C@@@^P @@K^OXA )@@G@@ @@K^NKU@@@F)=%[F#^K-4G[#@K0^GKK1@@@1@@@@IH@)@D/C@)@@G[@@@ 1@JH@#>@@JK^RXB )@@G@@@@JK^Q/,0@@@[@@@D/KV@@@F)=3[F#^K1^G[#^K0@@@@@@@@C/@@@[0@@@@IG/)__"C@)@@GXC )@@G@@E@@@^T[@)@[PC@)K^S[@@@D/C@@@D/KW@@@F)=/[MK1^GK^[@K^G@@C/@@@[@JL@#>/K@@(SXD )@@G@@N@0@>^/K@@> 1@@@@G*@@@@GH@@@[PG@@@D/G/@__"KX@@@F)>A[F#^K0^[#@K0^G[#^K0@@XE )@@G@@C/@@@[@JM@#>@@@@ 2@@@@^U@@JK^R@@JK^Q/,0@:V[@@@^UG@@@ 1KY@@@F)>J[##^K0^[#XF )@@G@@@K0^G[#^K0@@@@@@@@@JN@#>@@@@[Q@@@@^U@@JK^S@@JK^V/,0@:V[@@@^UG@@@[PKZ@@@FXG )@@G@@)>R[F#@K^G[#^^G[@K0^G@@@@@JK^X@@JK^Y/,0@:V[@@@^UG/@@@[[@@@[NC@@K^X/K@@>)[F#@K1^G[#^K^G@@@@@@@0@@@@IG/)__"C@)@@GE@@@^T/K@@*-(@@@[PXI )@@G@@@JR@#>@@@@#-@@@@^ULB@@@F)>([E^GKK1^GL@^@@@@@@@@@/K@@(N*@@@@G/C@@>2G@@@D/XJ )@@G@@H@@@[MC/@@@[[@@@[MG/@@@[C/@@@[LC@@@F)>2[F#^K1[#^K[@K1@@@@@@@C/@@@[R@K@[MXK )@@G@@/K@@(N*@@@@G/C@@>9H@@@[MG/@@@]H@@@[PC@@@D/LD@@@F)>;[N#^K0@^G@^[#^@C0@@[RXL )@@G@@/=0@&G+@)@@G @@@@I(@@@^)C/)@@[ @@@@G*@@@@IH@)@^ZC0)@[RLE@@@F)& [F#^^@K1^XM )@@G@@GL@^GK@@@@@@H@@@[MC/@@@[/K@@>2[@@@[MG@@@[MC/@@@[/K@@&G(@@@@GH0[@ 1LF@@@FXN )@@G@@)&I[F#^^GKK[#^K1@@@@@@@@C.@@@[[@)@[MG@)@[MC/)@@[/K@@$ (@@@@IH@)@[PC/)@@[XO )@@G@@]@@@ !LG@@@F)&R[F#^^G@^GKK1@@@@@@@@@C_@__.[])@@;C")@@[[]@@[HC"@@@# @@@@MXP )@@G@@(@@@^)C.)@@[G[@@D/LH@@@F)&)[F#^[#@K0^GL#^K0@@@@@C/@@@[A@)@^+R@)@[MA@K@[HXQ )@@G@@[[)@^-[[@@^U[#@@[JR/K@@]G#@@[PLI@@@F)&([F#^K0@K0[@K1^G@@@@@@R@)@^+C0[@[QXR )@@G@@/=0@&5+@)@@GC@)@^- @@@@G*@@@@IH@)@^ZC0-@[QLJ@@@F)&2[F#^^@K1^GL#^^@@@@@@@XS )@@G@@/K@@$ (@@@@GH@@@[P[@@@@;G@@@@;C/@@@[/K@@(J*@@@@GH0]@ 1LK@@@F)&;[EK1^GL#@XT )@@G@@K[@^@@@@@@@@8N0@&>O/K@@[/K@@(N*@@@@G/G@@$]H@@@^U[@@@[MG@@@[MC/@@@[LL@@@FXU )@@G@@)$^[N@K0[#^@K0@@@@0@@@@K*@@@@KD[@@^TC/@@@[ @@@@I(@@@@GH@@@ !C/)@@[E@@@^TXV )@@G@@/K@@(NLM@@@F)$I[E^[@K^G[#^K0@@@@@@@@C/)@@[[@@K^NC@@@ !@J/@#>/K@@(SN@0@$NXW )@@G@@/)0@$O+@)@@G @@@@GLN@@@F)$R[F#@K0^[@K^G@K1^GK@@@G@@@[PG@@@ !C/@@@[@K@@#>XX )@@G@@/K@@(SN@0@$W/K@@$X*@@K^W[@)K^OLO@@@F)$)[N#^^GK^GKK1@@@1@@@@I*@@@@IG@)@ 1XY )@@G@@C.@@@[H@)@[JC/)@@[ @@@@G*@@@[NC/@@@[[@@@[JLP@@@F)$%[E^[#@K1^[#@K1^GK@@@@XZ )@@G@@@@@@[J@@@@ 2@@JK^N/,0@!1[@@@[JC@@K^N/)K@$\+@@@@K @@@@KLQ@@@F)$3[F#^K1^G@YA )@@G@@K1^GL#^K1@@@G/@@@^[@@@@.G@@@[NH@@@[PG@@@ 1C/@@@[@K^@#>@@@@[N@@@@#-LR@@@FYB )@@G@@)$/[E^GL@K1^GL#^K1^G@@@@@KB@#>@@@@B.@@@@@.@@@@D.@@@@ 2/,0@?8[@@@D.W/@@@AYC )@@G@@;O@@@=LS@@@F)* [MK0@K0@[@@@@@@/=K@*.)@@@@I @@@@I0@@@@K*@@@@KD[@@^TC/)@@[YD )@@G@@ @@@@G*@@@^?@KH@#>YF )@@G@@@@@@ 2@@@@@.@@@@D.@@@@B./,0@:V[[@@D/G[@@[NLV@@@F)*-[F#^K1@^GL#^K0^GK@@@@YG )@@G@@[@+@B/C@)@]8R@)@D.[@@@D.W/@@@A;O@@@=G/@@@ G@@@[NC@@@ 1LW@@@F)*%[F]KK0^G[YH )@@G@@#^K0^GL#@^GKG@@@[NC/@@@[@KL@#>@@@@[N@@@@]7@@@@B.@@@@]7@@JK^Y/,0@@@LX@@@FYI )@@G@@)*3[F#@K=^G[#@K1^G[#^K0@C/@@@[@KM@#>@@@@ 1@@@@^U@@@@B.@@@@]7@@JK^Q/,0@@@YJ )@@G@@[@@@^ULY@@@F)*/[F#@K<4G[#@K0^G@K1@@@1@@@@IH@)@D.C@)@@GC@@K^W@KO@#>@@JK^WYK )@@G@@@@JK^=/,0@@@[@@K^OLZ@@@F)( [F#^K0^D #^K0^G[#@K^@/K@@(SN@0@(I@KQ@#>@@JK^>YL )@@G@@@@JK^=@@@@B./,0@@@[@@K^>C@@@D.MA@@@F)(I[F#@^GL#^K^G[@K^@@@@@/K@@(SN@0@(RYM )@@G@@/K@@*.*@@K^N/K@@>2[@@@[MG@@@ !C/@@@]@KR@#>MB@@@F)(R[##@K0^G[#@K0^G[#@K0@YN )@@G@@@@@@@@R@)@^\R@K@^,9\@@^?9,)@^%9,@@^*9!)@^&R]0@#&@KW@#>MC@@@F)(Z@N#@K0@@@YO )@@G@@)#<@C@)(-@N#@K$0@@)#>@K@@KWC];SCANR /K@@@@/K@K#<@@F@@L*4@K#C8FK@I[@K@^ZMI@@@F)%K[F#@^G[#@YV )@@G@@^G@K0^G@@@@@Q@)@^3R@)@#$G.@@@]C[@@^3G/)__"C@)@^4R@K@^3G/@@@[C@@@^3MJ@@@FYW )@@G@@)%T[F#@K0^G[#@^@K0@@@@@@(@@@@GH@@@^2C/@@@[8N0@%X @])@@[[@@^7[@)@^6[@@@^5YX )@@G@@N#0@^1MK@@@F)%+[F@^GL#^@K0^G@@@@@@@@R@)@^5G@)@^2C/)__.[^-@@@C8-@@[[@@@[EYY )@@G@@[@@@[BC/@@@[/K@@:FML@@@F)%:[N#@^GL#@K1@@@@;C)@@Y;)?@@@C@<@@@G/@__9T/@@@AYZ )@@G@@C@@@[BO@0@^6R@0@[E[@)@[JR@K@^7MM@@@F)%5[M@K1^GKK1[@@@@/K@@:[*@@@@GH@@@[BZA )@@G@@C/@@@B[@@@[BG@@@[BC/@@@[[^]@@@C8[@@@[0+@@@MN@@@F)%_[MK1[#^^@K1^GK@O/)@@[ZB )@@G@@[@@@[EG@@@[EC/@@@[/K@@:C*@@@@GH@@@[BC/@@@[[@@@[BC/@@@[MO@@@F):D[MK[#@K0@ZC )@@G@@K^[#@@@K8@#%/K@@:NN@0@:M[^#@@@C/@@B_O@0@^2O@0@^3R/0__"8N0@%!O/K@@[MP@@@FZD )@@G@@):N@3#@K0^G[#@K0^G@@@@@@)#*@C@@@@@@@@@F@@ *4@K#*N#0@^;R@0@^'R@)@^9R@K@^8ZE )@@G@@R]0@#:MQ@@@F):T@N#@K$0@@)#%@K@):V@V#@K0^G@@@@@@@A@)@^9A@K@^8AA0@#:@K8C];ZF )@@G@@UNPACK/K@@@@/K@K#*MR@@@F):Y[F#@K0@K0[#@^G@@@@@@@[@@@^3C8FK@#[@K@^2C@VK@]ZG )@@G@@[@@@^4C8FK@@ @@@@J^#0@^;A@0@^'MS@@@F):$[F@K<4G[#@K0[#^K1^G@@R@K@^"[@@@[EZH )@@G@@[@@@[BC/@@@[@K.@#,@@JK^.@@JK^//,0@@@/K@@%HMT@@@F):0[EK1^G[#^K0@@@@@@@@@@ZI )@@G@@]@@@[JC_)@@[H/@__"G/)__"C@)@ @]@@@[#H@@@^_[@)@[GC^-@@@MU@@@F):9[F#@K1^GKZJ )@@G@@K0[#^K0^G@@@[@@@ #O@K@ [R@K@[EG/@__9[@@@ ]T/@@@AC@@@[B[#)@[C[@)@ [MV@@@FZK )@@G@@)?][F#@K1@K^[@K0^C?@@@@@/,0@@@@LA@#,/K@@?1N@0@?D/K@@?E*@@@@GG/@_8@C^@@[GZL )@@G@@A@K@ ^MW@@@F)?F[F#^K0^G[#@K0^G@@@@@@;G@@@A;)Y@@@C@L@@@R@K@ ^C0@@ ][@@@ ]ZM )@@G@@E@)@ ]@LB@#,@@@@[GMX@@@F)?O[F#@^C!#^K0^G[#@K1@@@C/@@@[[@@@[GC^@@ #[@@@ #ZN )@@G@@@LC@#,@@@@[G/,0@@@[@L@@@;@KK #MY@@@F)?X[F#^K1[#^^@K1@@@@@@@@C/@@@[[@@@[BZO )@@G@@C/@@@[/K@@?>*@@@@GH@@@[BC/@@@B[@@@[BG@@@[BMZ@@@F)?&[F#^^@K1^GKK^@@@@@@@@ZP )@@G@@N@0@?08N0@:'G_)@@[[@@@[EG@@@[EC/@@@[/K@@??*@@@@GH@@@[BNA@@@F)?\@;@K0^G[#ZQ )@@G@@@K0^G[#@@@@@)#?@C@@@F@@ *4@K#?N#0@ CR@K@ B9\)@ R]0@#\@LK@#,/K@@?1NB@@@FZR )@@G@@)?6@N#@K$0@@)#,@K@)?8@V#@K0^G@@@@@@@A@K@ B9:)@ AA0@#\@LKC];REPACK/K@@@@ZS )@@G@@/K@K#?NC@@@F)?;[F#@[#@^G@K0@@@@@@@@@C8FK@#[@K@^_C@VK@][@@@^.C8FK@[[@@@^"ZT )@@G@@C8FK@@ @@@@J^#0@ CND@@@F)!^[F#@K0^[#@K^G[#@^G@@@R@)@ GG/@__"C@@@ ER@K@ FZU )@@G@@/K@@!R(@@@ D/K@@:*[@@@ @[@@@^/NE@@@F)!H[M[#@K0^G@[@@@@/K@@!Z[^[@@@C8]@@@ZV )@@G@@O@)@@GR@)@ HO@K@ FR@K@ D[^+@@@C8-@@[O@)@@GNF@@@F)!R[F#@^G@K0@^G@@@@@@@@@ZW )@@G@@C@@@ H[^]@@@C8[@@@O@K@@GR@K@ HO@)@@GR@)@ GG/@__"C@@@ ENG@@@F)!)[N#@^@K0^ZX )@@G@@G@^[@@/K@@!:N@0@!%[^[@@@C/@@B_O@K@ GO@K@ ER/K__"/K@@!**@@@@GH@@@ GNH@@@FZY )@@G@@)!%@:#@K0^G[#@K0@@)#0@C@)!\@F#@@@@@@/K@K#0@@F@@A*4@K#0R@)@ JR@K@ IR]0@#3ZZ )@@G@@@LX@#2NI@@@F)!0@F]Z@@@@@)#2@K@)!1@<#@K0^G@@@@@@@ @@@@JA@)@ JA@K@ IAA0@#3AA )@@G@@@LXC];LINKUP/K@@@@NJ@@@F)!5[EK0[#@^G@K0@@@@@@@@@C@VK@^[@@@ FC8FK@#[@K@ HAB )@@G@@C@VK@][@@@ EC8FK@[[@K@ GC@VK@@NK@@@F)!"[F#@K^CH##K0^G[#@K00@(@@@@GG@@@@SAC )@@G@@C@@@@<@L-@#6@@@@]7@@@@@]/,0@@@/K@@!B[@K@ DNL@@@F),B[F@K)4GH#@K0^G[@K04GGAD )@@G@@[@@@@MC@@@@]/K@@,N(@@@@)@L=@#6@@@@]6@@@@@#/,0@@@/K@@,NNM@@@F),K[###K04GHAE )@@G@@##K0^G[#@K0@@@@@@@ @@@@) @@@@-[@@@@$C@@@@> @@@@S[@@@@#[@)@@]C@)@@#NN@@@FAF )@@G@@),S[F##K^[@K0^CH##K0^G@@@L0@#6@@@@@&@@@@@^/,0@@@@L\@#6/K@@,>N@0@,W/K@@,XAG )@@G@@*@@@@WNO@@@F),-@3##K^[#@K0^G@@)#4@C@@@@@@@@@@@@@@@F@@[*4@K#4R]0@#7@L2@#6AH )@@G@@/K@@,>N@0@,= @@@@WNP@@@F),$@N#@K$0@@)#6@K@),(@<#@^[#@@(@@@@)/K@@,@ @@@@JAI )@@G@@AA0@#7@L2C];EOF /K@@@@/K@K#4NQ@@@F),![N@^GG^GG^@@@@@C8)@@[/)K@,'+@@@@IAJ )@@G@@ @@@@I*@@@@QC/)@@[ @@@@G(@@@@ C/@@@[/K@@\ANR@@@F),7[F@K^G[@K0^[@K0^G@@@@AK )@@G@@ @@@@<@L;@#'/K@@\A/,0@\!@L'@#'/,0@0@@L9@#'/K@@\FN@0@,9NS@@@F)\@[EK04GGK0AL )@@G@@^[@K0^@@@@@@N@0@\E@M@@#'/,0@,(/K@@,,[@)@@-C/)@@[[@@@@SG@@@@SC/@@@[NT@@@FAM )@@G@@)\D[#@K0^G[])^G[#@K0@@@@@@@@@@*4@K#8R]0@#;[^)@#8H8)@@[/K@@@@!^)@#8@M[@#'AN )@@G@@/K@@\JNU@@@F)#8@C@)\L@N#@K$0@@)#'@K@)\N@MK0@@@@@AA0@#;C8@@@]@M[C];TOP AO )@@G@@/K@@@@/K@K#8@@F@@@NV@@@F)\P[F#@^[][K04G[@K0^G@@@[@@@@+@M @#"/K@@\-@@@@[\AP )@@G@@@@@@@]/,0@@@/K@@,? @@@@J[^@@#8NW@@@F)\Y[F@K^G@K^[#@K0^E@@@@@/K@@@@!^)@#/AQ )@@G@@@MB@#"/K@@\>N@0@\=C8)@@[@MA@#"/K@@\(N@0@\)NX@@@F)\$@+K0^G[#@@@@@@@)#/@C@AR )@@G@@)\:@N#@K$0@@/K@@@@/K@K#/@@F@@@*4@K#/R]0@#_[^)@#/H8)@@[NY@@@F)#"@K@)\!@'KAS )@@G@@0^G@K^G[@@@@/K@@\9(@@@@-/K@@\S @@@@J[^@@#/AA0@#_C8@@@]@MBC];GETLINNZ@@@FAT )@@G@@)\4[F]]K04G[#@K0^[@K0^G@R]0@^#@MH@^]/K@@\/N@0@\;@MG@^]@@@@@+@@@@[\@@@@@#AU )@@G@@/,0@@@OA@@@F)\.@F#@@@@@@)^@@C@)\"@N#@K$0@@)^]@K@@@@@@@@MHC];PUTLIN/K@@@@AV )@@G@@/K@K^@@@F@@[*4@K^@OB@@@F)0@[F#@^[#@K^[@K0^GG@@@@*@@@@P@MM@^A/K@@1%N@0@0BAW )@@G@@/K@@0C*@@@@-/K@@\2 @@@@JAA0@^#OC@@@F)0D[F@K04[]^K04G[#@K0^G@@MQ@^A@@@@]7AX )@@G@@@@@@]"@@@@[,@@@@@S/,0@@@/K@@0M(@@@@O/K@@05OD@@@F)0M[MK00[##K0^G@@@C/@@@[AY )@@G@@A@K@ L[@@@ KP@K@@OR/K@@@ @@@@G*@@@@IG/)_,+C@)@@IC/@@@[OE@@@F)0W[N##@K0^@AZ )@@G@@K0^G@@C@)@@GC@@@@:[4@@[,C/@@@D/)K@0=)@@@ K @@@@G*@@@@IG/)_4+C@)@@IOF@@@FBA )@@G@@)0&[F#@^G[##K0^G[#@K0^CO/,0@@@^@K@ MN8L@[\R@K@ L[@@@ KG@@@@OC@@@@+1@@@@IBB )@@G@@H@)@@+OG@@@F)0\[F#@K0^G[@K^G[]JK0^G@@@@@].@@@@]A/,0@@@@MU@^A/K@@1%N@0@04BC )@@G@@@MT@^A@@@@ K@@JK MOH@@@F)08[##@K04[]^K04G[#@K0@@@@@@@@@@@@]7@@@@]"@@@@] BD )@@G@@@@@@@S/,0@@@/K@@1[(@@@@O@MV@^AOI@@@F)1@[F#@K0[#@^G@K0^D?@@@@/,0@@@[@@@ LBE )@@G@@T/@@@AC@@@@+1@@@@IH@)@@+C@)@@GC@@@@:@MX@^AOJ@@@F)1D[F#@K0^G[#@K0^G@K04G@BF )@@G@@A@K@ LP@K@@OR/K@@@@MY@^A@@@@ L@@@@]7@@@@]A@@@@]7@@@@[\OK@@@F)1M[MK00[##@BG )@@G@@@@@@@@ @@@@I*@@@@KG.@_,+C[@@@IC/)@@[ @@@@G*@@@@IG/)_4+C@)@@IC/@@@[OL@@@FBH )@@G@@)1W[EK[#@K0^G[#@K-OG@@@@@@JK K/,0@@@^@K@ KN8L@]AR@K@ L[4@@] C/@@@D/)K@1)BI )@@G@@)@@@@IOM@@@F)1>[##@K0^[@K0^G[#@K0@@@@@@@@@*4@K^^R@K@ NR]0@^B@M+@^A/K@@1%BJ )@@G@@N@0@1(@M-@^A@@@@].ON@@@F)^^@C@)1!@N#@K$0@@)^A@K@)1\@N#@K0@@@A@K@ NAA0@^BBK )@@G@@@M+C];WRITER/K@@@@/K@K^^@@F@@[OO@@@F)11@MK@@@@@@)]6@8@@@@@@@@@@@:_@@@@@]BL )@@G@@LINES:@@@@@B @@@@@[@@@@@@/K@@0# @@@@JOP@@@F)].[S@@@@@@@@@INIT@@SAVEBM )@@G@@@@@@@AEDIT: EDIT @@@@*_INPUT INPUT:@@@@@E@@@@@ @@@@@QOQ@@@F)#C[S@@@@@@@BN )@@G@@ADDED:@@SPL!@@@SPD@@@@@^@@@@@GATUS FAC STCHARS:EOF: SCAN: @@@@@#OR@@@FBO )@@G@@)#N[@@@@@@@@)#$@C@@@@@@@@@[@@@ @@@@@L@@FILE@@@@@_@@@@__TALLY:@@[@@[BP )@@G@@@@AOPTOS@@@F@@@@@@@@@@@@)#$@C@@@@@@@@@[@@@ @@@@@L@@FILE@@@@@_@@@@__BQ )@@G@@TALLY:@@[@@[@@AOPTOT@@@F@@^@@ @@D@@-@[F@@[@[N@@]@@A@ O@C@@13@@@@@@@@@@@XBR )@@G@@@@@@E@IDLER XSDFI XSDFO XENDF EDEC XPRINTBS )@@G@@ XREAD TRIM GETC LOOKUP NSCAN IND BT )@@G@@ THIRD WHAT TYPER BLKR COPY BXFR BU )@@G@@ IDL CSF EOCT MSG1 MSG2 CONFR BV )@@G@@ NOFIL1 FILE PUTC SQOPY NINTR$ NERR2$BW )@@G@@ NSTOP$ NERR3$ NERR4$ FORMAIN$ @@[@@@@@@@@@@@@@@@BX )@@G@@ ^@@@C@@]@@@@INFO ]@@@C@@#@@@@DYN ]@@@C@@^@@@@ -1 -1BY )@@G@@2 21.61 85.25 31 55 -1.52 @D@[@@ 319 0 -12 21.94 BZ )@@G@@ 85.24 42 53 -1.53 @D@[@@ 319 0 -1@@@[PO[WT@C@#__^@@[WT^6FCA )@@G@@@@@@C@@@@@@[@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@69 @@@@@@CB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CC )@@G@@[OU@C@@@@___@@@___@@@___@@@___@@@___@@@___@@@___@@@___@@@___@@@___@@@___CD )@@G@@@@@___@@@___@@@___@@@___@@@___@@@___@@@___@@@___@@@___@@@___@@@___@@@___CE )@@G@@@@@___@@@___@@@___@@@___R#@^@2R#K@Z%:@@@@H/K@@CG9*@^$OR#@@Z+'=@@@IR#@@Z,CF )@@G@@'=@@@IR#@@Z('=@@@I'=@@@)R#@^^('=@@[[R#@@Z\/,0[S(/K@@HPR;@@@[/,0[TO/K@@IJCG )@@G@@9?@^#,/,0[V@0@@@@G/K@^]19?@^#,9*@^-4R;@^-4'=@@[GR7@^-' @@@[C/^@@C*N8K,ARCH )@@G@@^CK^#ZR;@^-V'=@@@JA#@@[C/G@@IMR;@^-4'=@@[GR7@^-'!8@@@S!8@@@)/K@@H"R3@^-'CI )@@G@@;@@@@^/=@@ID;)@@@#/=@@IAR7@^5_/@@@HR9?@^6B9*@^-%9?K@K?R3@^5_/@@@C89?K^6DCJ )@@G@@9*K^-,R;@@@[A\@^-!9?@^#,9*@^-*R;@^-*'=@@[ /^)@F( @@^5;K@^@C;@@@D/=@@I^;)@@@[/=@@FUR7@^5_CO )@@G@@/@@@H2 G@^#=9?@^6B9*@^#)R3@^5_/@@@D/9?@^6D9*@^#+R;@^#''=@@[C/^)@GGA#K^#(CP )@@G@@A#K^#_ @@^5VR;KC@@R#@@Z1=@K@[C'=@@@IR#@^$O=8@@^@/,0@F&R;@^$OAB@^-^Q'0@EGCQ )@@G@@/K@@I%9?@^-.)@@@@H/)K@EMR#@@Z2'=@@@IC9)@@RC90@@Z9?@^^A9*@^$OR;@^$O'=@@[GCR )@@G@@*4G@@A/K@@EYR;@^^"'=@@@J/G@@IG/K@@E),5?@@A/K@@IG9?@^^M9*@^$OR;@^$O'=@@[GCS )@@G@@*4G@@A/K@@E%R;@^ #'=@@@J/G@@IG/K@@E?,5?@@A/K@@IGR;@^-=R#K@Z3'=@@@49?@^^YCT )@@G@@9*@^$OR;@^$O'=@@[G*4G@@A/K@@FOR#@@Z4'=@@@J9?K@Z5'=@@@3/)@@E;9?K@Z79*K^--CU )@@G@@R#@@Z4'=@@@J/C@@FI=@@@Z9/K@@FFA#@^ =/,0@L]@@@^ =@@@^ ?@@@@Z'@@@@Z;/S@@@@CV )@@G@@R#@@Z/'=@@@I/K@@FQR#@@Z.'=@@@I/K@@FQ9?@@Z"9*@^--R#@@Z4'=@@@J/G@@IG/K@@FQCW )@@G@@,5?@@A/K@@IGR;@@@^0G@^#=A#@^5&/K@@)>R#@@)@A#@^5W9?K^-.)@K@@I/=)@F)*@@@@SCX )@@G@@'=@@@I/=)^]1R'0@ED/#@@F&R#@@)['=@@@IR;@@@[A#@^5V/KF@@@:8)@@]/K@@GL:8)@@[CY )@@G@@/K@@F0R#@@)]'=@@@I/K@^]1R;@@@[A#@^-.R;@^-^/,0[QG9?@^-8/,0[RFR;@@@*/,0[Q5CZ )@@G@@9?@^-6/,0[RFR;@@@./,0[Q59?@^-%/,0[RF(0@^5_/K@@G^R;@@@//,0[Q59?@^-,/,0[RFDA )@@G@@R;@^^5/,0[R&R;@@@[A#@^5R7@^#>/,0[SJR;@@@//,0[Q5R3@^#>DP )@@G@@/,0[SJR;@@@-/,0[Q5C K^#> @@@@KW9@@@/;H@@@=W9@@@/R#@@@K(@@@@GR;@@@S/,0[SJDQ )@@G@@R;@@@:/,0[Q5R;@@@0?9K@@E/,0[Q5R#@@@L/,0[SJR;@@@-/,0[Q5R;@@@(/,0[Q50K@^#=DR )@@G@@/K@@JORN@^#=/,0[SJ/K@@JS(K@^#=/K@@JSR;@@@D/,0[Q5R;@@@,/,0[Q50G@^#=/K@@JZDS )@@G@@RJ@^#=/,0[SJ/K@@J<(G@^#=/K@@JY@@@/,)@K6C-Y)@@R#0@)P/KE@@@[5W@@@[1W@@@[!W@@@EA )@@G@@[(W@@@[>W@@@/,)@K_[-W)@@R#K@)P/KE@@@9!@@K,R;K@@@ @@@@M/K@@LD9!@@K?R;K@@:EB )@@G@@C9)@@[ @@@@JR#:K@@*@@@@ME@)@@I @@@@G/ )@LM+8)@@B;C)@@#/K@@LO;G)@@=W8)@@EEC )@@G@@G8.@@@G9Z@@@; @@@AG8@@@[/^)@LI @@@@JE@:K@]/^)@LXR#)@@GT8@@@AP;@@[C!8)@@HED )@@G@@R_)@@GC[)@@IH9)@@[T8)@@AI@)@@G @@@@HW8K@[C; I@@@E@FK@#*@@@@GP;@@@[;G@@@=EE )@@G@@W8@@@A&;@@@[&;K@@[O;FK@[;>@@@A')H)K98^)@L0/KF@@ @@@@JR#:K@[*@@@@IP;)@@[EF )@@G@@;G)@@=W8)@@AC[K@@J @@@@JO;:K@@R#0@@L')J)K0[[K@@G/KF@@# @@@@JR#FK@]*@@@@GEG )@@G@@P;@@@[;G@@@=W8@@@AO;FK@[C-VK@@')H)K9/KF@@^@@@SYM@@@ELT@@@ASM@@@COB@@@FOREH )@@G@@@@@ALG@@@MAP@@@DOC@@@SEC@@@SSG@@@APL@@@BAS@@@LSP@@@PLS@@@RUN@@@ADD@@@NOREI )@@G@@@@@NRL@@@NPL@@@***1G@^#=/K@@M>R;KDF (G@^#=0K@^#=/K@@M5 @@@@JR;@@@[RBVK@@EJ )@@G@@:8K /K@@M1R#)@)QN8K@@N2@Y)MG/KF@@] @@@@GAB)^#&/KF@@]RBK^#&!8K@@NR;K@@NEK )@@G@@R#X@MFAFK^-FR#@@)R'=@@@I @@@@G/KF@@]R#@@N^'=@@@IR#@@NF'=@@@I/K^@@@NO FUREL )@@G@@THER INPUT POSSIBLE. @] @M_USE '*EXIT' TO LEAVE CONFERENCE. @[A@N EM )@@G@@R#@@NP'=@@@I/KF@@]CONFERENCE SYSTEM NOT AVAILABLE. @[A@NJ(@@^[A/K@@NGEN )@@G@@ @@@@K*@@^5-/K@@NXR;0@@#;G0@@]R#K^5=?8K@@]/K@@N:R#@^$P @@@@H;=@@@A?8K@@)EO )@@G@@?8K@@A/K@@N%R;0@@[D@K@@H;*.@@Z)@0@@K/^@@N-R;@@@]A#@^5%'=@@[WR#K@)SR#)^-[EP )@@G@@A#!@@[[[H@@@ @H@@]R[@@@FR#@^[A'=@@[9/G@@M'*@@^5!/K@@O]C/@^-^/,0[QGC@@@)TEQ )@@G@@/,0[RDC@@^5?/,0[SJ/,0[QAA0^-JFI )@@G@@R;@^-^/,0[QGR#@^5?/,0[SJR#@@@M/,0[RDR#@@@M/,0[RD/,0[Q@@@)Z/K@@R5A#@^-#*@@^5T/K@@RKA#@^5U @@^-#/K@@R8/^K@R8*@@^5T/K@@RJFL )@@G@@A#K^5= @@^5T/@K@SE:9)@*_/K@@SER7@^$O%8@@@//K@@S N@K^@@^@K^5=R#@@))R#K@)WFM )@@G@@/K@@SDN@K^5=^@K^@@R#@@)WR#K@))M#W)@@(@@^-#/KF@@#R#@@)-'=@@@I @@^-#/KF@@#FN )@@G@@;*@@@] @@^-G/CF@@@/K@@RK @@@@J'=@@@NA#@^-H @@^-GQ;FK@@&#FK@['K@@Z!'=@@@IFO )@@G@@/KF@@# @@@@JR#VK@@R#X^-JR;FK@[ABH@@DA#K^-IAA0^-J0@H@@@/,)@TOR;H@@[/,0[MSFP )@@G@@/K@@S7/K@@S30@G@@E/K@@S$0K@^#=/K@@S0**G@@E/K@@S$RZG@@EQ]0^-J/KF@@^Q]0^-JFQ )@@G@@0@G@@#'=@@@A/KF@@]AB@^[QR#@@@L/K@^[9 @@@@JR#VK@@R#X^-JR;FK@[ABH@@DAA0^-JFR )@@G@@0@H@@@/,)@TER#FK@];*@@@SA#H@@FR;H@@[/,0[P[/K@@S7Q]0^-J/KF@@^A#K^-IR;@@@CFS )@@G@@AZH@@^R;H@@[/,0[P*R#K^-IQ]0^-J @H@@@ @@@@J/KE@@@R;@@@KAZH@@^R;H@@[/,0[O&FT )@@G@@/K@@S7R#K^-IQ]0^-J @H@@@ @@@@J/KE@@@ @@@@JR#VK@@R#X^-JA#K^-IAA0^-J*@FK@[FU )@@G@@/K@@T,0@H@@@/,)@TER;H@@[/,0[P1/K@@S7R#K^-IR#H@@AA#@^#$/K@@T1R;H@@[0@G@@#FV )@@G@@'=@@@AQ]0^-JR#FK@@R#G^#$A#H@@AR_@__"A#H@@@R#@@)+A#H@@ R#@@)[@@^+>/K@@)2/,0@TY@@@^5Q@@@^=6HI )@@G@@@]L@@@/,0@TY@@@^5O@@@^=7@]M@@@ @@^5:*@@^5$/K@@8)C/@@@[*@@^5- @@@@GC/)@@[HJ )@@G@@(@@^5< @@@@I)@@@@I/=K@-(/K@@-R(@@^5-/K@@->C@@^=8[@@^=B/,0@LA@@@^+>@@@^=AHK )@@G@@@@@^=6@@@^=9@]W@@@C@@^='[@@^=A/,0@SO@@@^=A@@@^=;@]Y@@@C@@^5+G/@966*@@@@GHL )@@G@@/K@@+BC@@^+>[@@^+$(@@^5>/K@@-4(@@^5-/K@@-3/,0@SO@@@^+9@@@^=7@]>@@@/K@@(QHM )@@G@@C/@@@[*@@^5- @@@@GC/)@@[*@@^5< @@@@I)@@@@I/=K@+B/,0@SO@@@^+;@@@^=7@](@@@HN )@@G@@/K@@+BC/@@@[[@@^5V/K@@+B*@@^5W/K@@&1 @@^5VC/@@@[C@)^5\H@)^5,/C)@+H*@@@@IHO )@@G@@ @@@@GC/)@@[D[@^5,*@@@@K1@@@@K @@@@I+@@@@IC/)@@[*@@^5U @@@@I;^@@@=+@@@@IHP )@@G@@/=K@6^/,0@RE/K@@"0@@@^=/@]2@@@ @@^+7 @@^50(@@^5=/K@@(A/,0@P @@@^$O@@@^5=HQ )@@G@@@]7@@@[@@^*XC4)^$O[@)^*SC/)@@[[@)^=3C@@^*SG/@__R(@@@@G/K@@5BC/@@@][@@^5&HR )@@G@@ @@^=5 @@^** @@^=4C/@@@N[@@^5+C@)^*SG/)__X(@@@@I/K@@=GC/)@@U[@)^5+C[@^*SHS )@@G@@G.@__Y(@@@@K/K@@=GC.@@@[[[@^5&C.)@@G[[)^5+C"@@@9H]@^*S/E@@@@@^5+@@@^1M@#R@@@HZ )@@G@@[@@^*ME@)^1M[@)^*QC4)^*Q[@)^!#C/)@@[(0@^*Q @@@@IC.@@@[C!)^*QH[)^*T(@@@@MIA )@@G@@ @@@@K+@)@@KC.@@@[*@@^!# @@@@K;^)@@=)@)@@K/=0@>N/,0@P=/K@@&1/K@@=\@@@^$OIB )@@G@@@@@^*X@@@^5&@@@^=3@@@^!#@@@^!^@@@^+.@#W@@@C^@^*Q[@@^&C/,0@P)@@@^&C@#X@@@IC )@@G@@[@@^*TC/)__"G@)^!#R/K@@[[@)@[JA@K^*V/,0@U/@@@^*V@@@^*T@#-@@@[@@^*S/C@@>]ID )@@G@@*@@@@G/K@@>BC@[^=2H@@^*S/C@@>B*@@@@G/K@@&1O/K@@[8N0@=9D@@^1M*@@@@G0@@@@GIE )@@G@@/K@@>NC@@^=3C@)@@GG/)__"0@@@@IC/@@@[[@@^=3C@@^+>H@@^5?[@@^+*C@)^*M?8)@[MIF )@@G@@/C,@>T'^@@K /K@@&?/K@@$@/K@@6G/K@@::/K@@"[/K@@"B/K@@"L/K@@"H/K@@$#/K@@6IIG )@@G@@/K@@52/K@@52/K@@&./K@@,,/K@@1O/K@@0\/K@@1 /K@@*-/K@@+[/K@@+^/K@@*=/K@@*;IH )@@G@@/K@@*"/K@@*4/K@@*1/K@@*9/K@@*\/K@@"0/K@@"0/K@@$\/K@@([/K@@-R/K@@%N/K@@?VII )@@G@@/K@@$ /K@@8=/K@@'^/K@@'^/K@@'^/K@@'^/K@@'^/K@@(#/K@@"P/K@@5^/K@@:,/K@@::IJ )@@G@@/K@@3W/K@@%&/K@@!X/K@@!N/K@@!Q/K@@!S/K@@!V/K@@"T/K@@$X/K@@$Q/K@@&6/K@@22IK )@@G@@/K@@'^/K@@'^/K@@'^/K@@'^/K@@'^/K@@.Y/K@@2+/K@@4//K@@.:/K@@\R/K@@\M/K@@%,IL )@@G@@/K@@?//K@@,6/K@@$2/K@@!=/K@@6P/K@@6P/K@@, /K@@, /K@@.3/K@@2_/K@@9B@#:@@@IM )@@G@@/,0@SO@@@^+_@@@^=;@#?@@@/K@@+B/,0@SO@@@^<]@@@^=;@#,@@@/K@@+BC/@@@QC@)@@GIN )@@G@@H@)^=31@@@@IC@@^=3[@@^+?/K@@+B/,0@T/@#2@@@/K@@+BC/@@@[[@@^5!/K@@+B @@^5!IO )@@G@@/K@@+BC/@ [^@^5&C/)@@CH@)^*X*@@@@I/K@@$KC))^$O[*)^5&C@)^$P;C)@@S[O)^5&IP )@@G@@/,0@MZ@@@^5&@#.@@@*@@@@G/K@@&1/K@@+BC@@^=3C@)@@GG/)__(1@@@@IC/@@@Q[@@^+:IQ )@@G@@/K@@+B*@@^=3/K@@$-C@@^+([@@^=3*@@^=4/K@@$>C@@^+%[@@^=4C@@^=4H@@^=3/C@@$%IR )@@G@@*@@@@G/K@@&1C@@^=3[@@^+(C@)^=4[@)^+%/K@@+BC=@^$O[@@^+!/K@@+BC@@^=3C@)@@GIS )@@G@@G/)_.;1@@@@IC/@@]^[@@^=3*@@^=4/K@@*EC/@@[CH@@^=3*@@@@G1@@@@G/K@@*]C/@@] IT )@@G@@H@@^=3[@@^=4C/@@[CH@@^=3/C@@*B*@@@@G/K@@*EC/@@[DH@@^=3[@@^=4C/@@] H@@^=3IU )@@G@@C@)@@GH@)^=41@@@@IC@@^=4[@@^=4/,0@J0@@@^=A@@@^=.@^P@@@/,0@KA@@@^+E@@@^=7IV )@@G@@@@@^=A@@@^=3@@@^=4@^Q@@@/,0@SO@@@^=A@@@^=.@^R@@@/K@@+BC=@^$O[@@^+,/K@@+BIW )@@G@@/,0@P=/K@@&1/K@@+B@@@^$O@@@^*X@@@^="@@@^+@@@@^=_@@@^5&@@@^< @^V@@@ @@^+4IX )@@G@@/K@@+BC/@@@[[@@^+4/K@@+BC)@^$O[@@^+2C/@@@[[@@^+3/K@@+B @@^+3/K@@+BC)@^$OIY )@@G@@[@@^+\/K@@+BC)@^$O[@@^+0/K@@+B @@^5-/K@@+BC/@@@[[@@^5-/K@@+B*@@^5!/K@@(QIZ )@@G@@C@@^>@[@@^=AC@)^=8[@)^=B/,0@LA@@@^5?@@@^=A@@@^=6@@@^=9@^1@@@/,0@SO@@@^=AJA )@@G@@@@@^=;@^2@@@C/@@@[[@@^+)C@)^>[[@)^5+[@)^+6[@@^=3C/@@@[D@)^5,*@@@@I1@@@@IJB )@@G@@ @@@@GC/)@@[C[@^5\H[@^5,/D@@($*@@@@K @@@@I+@@@@IC/)@@[*@@^5U @@@@I+@)@@HJC )@@G@@/=0@6^/,0@RE/K@@"0@@@^>]@^9@@@C@@^5=G@@^5U(@@@@G/K@@%ND@@^5,*@@@@G1@@@@GJD )@@G@@/K@@(/C/@@@[G@@^5\[@@^5\/,0[K>@^"@@@C4@^$OH@@^+!*@@@@G/K@@%^C/@@@@[4@^$OJE )@@G@@C/@@@[[@@^!^/,0[]N@@@^<\@ ]@@@C/@@@[G@@^5?[@@^5?C/)@@[G@)^+>[@)^+>C.@@@[JF )@@G@@[[@^+- @@^+#[@@^+6*@@^5!/K@@+BC@)^>^[@)^=AC@@^=8[@@^=B/,0@LAJG )@@G@@@@@^5?@@@^=A@@@^=6@@@^> @ H@@@/,0@SO@@@^=A@@@^=;@ I@@@/K@@+BC@@^+>H@@^5?JH )@@G@@(@@@@G/K@@(AC@@^+>H@@^5?[@@^=3/K@@%7D@@^=3*@@@@G0@@@@G/K@@%7C/@@@U[@@^5+JI )@@G@@E@)^=3[@)^=3/K@@! C/@__"G@@^=3C_)@@[[@@@[J[#)^*V*@@^5T/K@@%N/,0[K>@ Y@@@JJ )@@G@@/,0[KM/K@@?F@ Z@@@ @@^+A*@@@@G/K@@:&C@@^+6H@@^>[(@@@@G/K@@(Q*@@^+7JM )@@G@@/K@@+B/K@@%N(@@^5-/K@@:%/,0[MO@ 5@@@/K@@+B @@^+)C@@^+$[@@^+>/,0[J8/K@@%NJN )@@G@@@ 9@@@C@@^5+H@@^>A(@@@@G/K@@:ZC@@^5+H@@^>B*@@@@G/K@@+B @@^+>C/@@@[[@@^5:JO )@@G@@ @@^5> @@^5$C/)ADD[@)^5+C.@@@#[[@^5QC.)@@^[[)^5R(@@^5-/K@@?E/,0@SO@@@^C@AA@@@/K@@),/,0[JI@AC@@@(@@^5-/K@@+BC/@@@[C@)^5+G/)__?*@@@@I @@@@GJQ )@@G@@C/)@@[C[@^5+G.@__3*@@@@K @@@@I)@@@@I/=K@?!C@@^=8[@@^=BC@)^>D[@)^=A/,0@LAJR )@@G@@@@@^+*@@@^=A@@@^=6@@@^> @AJ@@@/,0@SO@@@^=A@@@^=;@AK@@@C@@^5+G/@_$7(@@@@GJS )@@G@@/K@@+BC@@^>E[@@^=AC@)^=8[@)^=B/,0@LA@@@^+>@@@^=A@@@^=6@@@^="@AP@@@/,0@SOJT )@@G@@@@@^=A@@@^=;@AQ@@@/K@@+BD@@^=3*@@@@G0@@@@G/K@@! C/@@@N[@@^5+E@)^=3[@)^=3JU )@@G@@/K@@%7C@@^=3C@)@@GG/)__"0@@@@IC/@@@[H@@^5?H@@^+<]@@^=3*@@@@G1@@@@G/K@@:,JV )@@G@@(@@^+[@@^=3/K@@!\(@@^=4/K@@!\/K@@%7C@@^=4JX )@@G@@H@@^=3G/@@@[C@)@@GG/)__"0@@@@IC/@@@[[@@^=3/,0[MO@A2@@@*@@^5T/K@@%NC/@@@[JY )@@G@@H@@^=3(@@@@G/K@@+BC/@@@[H@@^=3]@@^=3/,0[K>@A8@@@/,0[KM/K@@?F@A9@@@C/@@@[JZ )@@G@@[@@^+- @@^+@B]@@@C/@@@[KB )@@G@@G@@^5?[@@^5?C/)@@[G@)^+>[@)^+> @@^+@@@/,0@J0@@@^<\@@@^++@B&@@@KK )@@G@@C/@@@[G@@^=3[@@^&C/,0@KA@@@^=A@@@^&C@@@^<\@@@^=7@@@^5&@B$@@@C/@@@ G@@^5&KL )@@G@@;O@@@=W/@@@A[@@^++C/@@@[[@@^+)(@@^5-/K@@0T/,0[MO@B:@@@*@@^5T/K@@%NC/@@@[KM )@@G@@H@@^=5*@@@@G1@@@@G/K@@+BC/@@@[H@@^=5]@@^=5/,0[K>@B1@@@/,0[KM/K@@?F@B2@@@KN )@@G@@C/@@@[G@@^5?[@@^5? @@^+F[@@^=A/,0@LA@@@^5&@@@^=A@@@^=6@@@^=9@B/@@@KP )@@G@@/,0@SO@@@^=A@@@^=;@B.@@@/K@@+B(@@^+-/K@@+BC@@^*XH@@^!^/C@@1G*@@@@G/K@@+BKQ )@@G@@C@@^!^H@@^*XG/@__"]@@^5&*@@@@G1@@@@G/K@@+B/K@@1=(@@^+-/K@@+B(@@^+=/K@@+BKR )@@G@@/,0@J6@@@^=X@@@^$O@@@^+=@CF@@@C/@@@[[@@^!^/,0@P @@@^=X@@@^+=@CH@@@[@@^5&KS )@@G@@/,0@P @@@^<\@@@^++@CI@@@[@@^1MC/@@@[(@@^5- @@@@GC@)^+?T/)@@AH@)^1MC.@@@[KT )@@G@@H@)^5&*@@@@I1@@@@I @@@@K+@@@@K/)K@1'/,0@SO@@@^C@CK@@@C@@^+?T/@@@AKU )@@G@@H@@^1MC@)@@GH@)^5&1@@@@IC@@^5&[@@^5&R@K^++*@@@@G0@@@@G/K@@+BC/@@@[[@@^+)KV )@@G@@C/)@@QH@)^++[@)^&CN8L^<\^@K^&D/,0@J0@@JO&D@@@^&C@CP@@@C/@@@[G@@^1M[@@^&CKW )@@G@@/,0@KA@@@^$O@@@^!^@@@^<\@@@^&C@@@^5&@CQ@@@C@@^1MG@@^5&G/@@@ ;O@@@=W/@@@AKX )@@G@@[@@^++/K@@+B @@^+@CU@@@/,0[]N@@@^<\@CV@@@C/@@@[[@@^+-C/@@@[[@@^+)KY )@@G@@G@@^+>[@@^+>C/)@@[G@)^5?[@)^5?/K@@+BC@@^++[@@^*N/,0[]N@@@^=A@C+@@@/,0@S'KZ )@@G@@@@@^5R@@@^=A@@@^++@C<@@@C@@^*N[@@^++/K@@2%/,0@J6@@@^=X@@@^$O@@@^+=@C&@@@LA )@@G@@C@@^+=[@@^5=C@)^++[@)^*NC.@@@[[[@^!^/,0[]N@@@^=A@C%@@@/,0@S'@@@^5R@@@^=ALB )@@G@@@@@^++@C:@@@C@@^*N[@@^++C/)@@[[@)^+)G@)^5?[@)^5?C.@@@[G[@^+>[[@^+>/K@@+BLC )@@G@@/,0[ [/K@@&1/K@@%N@C1@@@ @@^*SC/@@@[H@@^***@@@@G1@@@@G/K@@3*C/@@@[[@@^*SLD )@@G@@(@@^+-/K@@4?/,0[EC@@@^<\@@@^++@@@^$+@@@^*O@@@^$8@@@^*P@@@^<\@@@^=.@@@^+(LE )@@G@@@@@^+%@@@^*U@@@^*=@@@^+3@@@^+2@@@^*N@@@^*>@C7@@@*@@^*>/K@@4LC/@@@[C/)@@[LF )@@G@@H@)^*I*@@@@I @@@@GC/)@@[C.@@@[H[@^*S*@@@@K @@@@I)@@@@I/=K@4?(@@^5-/K@@4KLG )@@G@@/,0@SO@@@^C@C.@@@/K@@+BC/@@@[C@)^+?H@)^*N*@@@@I1@@@@I @@@@GC/)@@[LH )@@G@@(@@^5- @@@@I+@@@@I/)K@4)/,0@SO@@@^C@D@@@@C@@^*NC@)@@GH@)^+?1@@@@ILI )@@G@@C@@^+?[@@^++C/)@@[[@)^+)(@@^5-/K@@4?/,0[MO@D^@@@*@@^5T/K@@%NC/@@@[H@@^**LJ )@@G@@/C@@43*@@@@G/K@@46*@@^*I/K@@-P/K@@+BC/@@@[H@@^**]@@^**C/)@@[[@)^=3/K@@%7LK )@@G@@(@@^+-/K@@2+/,0[]N@@@^<\@DL@@@C/@@@[[@@^+)/K@@+B/,0@I%@DO@@@/K@@+B/,0@J_LL )@@G@@@@@^$O@@@^5=@DQ@@@[@@^=3C@)^=3;C)@@K@5G[@@^=AC@)^>H[@)^=B/,0@L]@@@^=3@@@^=C@@@^>I@@@^=7LO )@@G@@@DY@@@/,0@SO@@@^=A@@@^>J@DZ@@@/K@@+B(@@^+-/K@@+BC@@^++[@@^+=/,0@J6@@@^<\LP )@@G@@@@@^=X@@@^++@D=@@@C@@^5+G/@_2,(@@@@G/K@@+BC/@@@D[@@^5+C/)@@[[@)^=3/K@@9MLQ )@@G@@C@@^>A[@@^5+/,0@SO@@@^[@@^=3 @@^5\/,0@S'@@@^5S@@@^