      INTEGER I,J
      INTEGER CTOI,PARSTM,EQUAL,EQUIS,GETARG
      INTEGER * 4 VALUE,NOW,THEN
      INTEGER ARG(128)
      INTEGER AAAAA0(6)
      INTEGER AAAAB0(4)
      INTEGER AAAAC0(8)
      INTEGER AAAAD0(8)
      INTEGER AAAAE0(6)
      DATA AAAAA0/245,238,244,233,236,0/
      DATA AAAAB0/230,239,242,0/
      DATA AAAAC0/243,229,227,239,238,228,243,0/
      DATA AAAAD0/237,233,238,245,244,229,243,0/
      DATA AAAAE0/232,239,245,242,243,0/
      I=1
      IF((GETARG(I,ARG,128).NE.-1))GOTO 10000
        CALL USAGE
10000 IF((EQUAL(ARG,AAAAA0).NE.1))GOTO 10001
        I=I+(1)
        J=1
        IF((GETARG(I,ARG,128).EQ.-1))GOTO 10003
        IF((PARSTM(ARG,J,THEN).EQ.-3))GOTO 10003
        GOTO 10002
10003     CALL USAGE
10002   CALL TIMEO0(NOW)
        VALUE=THEN-NOW
        IF((VALUE.GE.0))GOTO 10004
          VALUE=VALUE+(86400)
10004   GOTO 10005
10001   IF((EQUAL(ARG,AAAAB0).NE.1))GOTO 10006
          I=I+(1)
          IF((GETARG(I,ARG,128).NE.-1))GOTO 10007
            CALL USAGE
10007   CONTINUE
10006   J=1
        VALUE=INTL(CTOI(ARG,J))
        IF((J.NE.1))GOTO 10008
          CALL USAGE
10008   GOTO 10009
10010   GOTO 10011
10012     I=I+(1)
          J=1
        GOTO 10011
10011     GOTO 10013
10014     GOTO 10015
10016       VALUE=VALUE*(60)
          GOTO 10015
10017       VALUE=VALUE*(3600)
          GOTO 10015
10013     IF((EQUIS(ARG(J),AAAAC0).NE.0))GOTO 10014
          IF((EQUIS(ARG(J),AAAAD0).NE.0))GOTO 10016
          IF((EQUIS(ARG(J),AAAAE0).NE.0))GOTO 10017
            CALL USAGE
10015   GOTO 10018
10009   IF((ARG(J).NE.0))GOTO 10010
        IF((GETARG(I+1,ARG,128).NE.-1))GOTO 10012
10018 CONTINUE
10005 IF((GETARG(I+1,ARG,1).EQ.-1))GOTO 10019
        CALL USAGE
10019 CALL SLEEP$(VALUE*INTL(1000))
      CALL SWT
      END
      SUBROUTINE USAGE
      CALL ERROR('Usage: pause ([for] <value> [<units>] | until <time>).
     *')
      END
      SUBROUTINE TIMEO0(TIME)
      INTEGER * 4 TIME
      INTEGER TD(5)
      CALL TIMDAT(TD,5)
      TIME=INTL(TD(4))*60+INTL(TD(5))
      RETURN
      END
      INTEGER FUNCTION EQUIS(S1,S2)
      INTEGER S1(1),S2(1)
      INTEGER I
      I=1
      GOTO 10022
10020 I=I+(1)
10022 IF((S1(I).EQ.0))GOTO 10021
        IF((S1(I).EQ.S2(I)))GOTO 10023
          EQUIS=0
          RETURN
10023 GOTO 10020
10021 EQUIS=1
      RETURN
      END
C ---- Long Name Map ----
C timeofday                      timeo0