      INTEGER A$BUF(200)
      INTEGER GETARG,EQUAL
      INTEGER GROUP0
      INTEGER ARG(128)
      INTEGER GROUQ0(33,32)
      INTEGER USAGE(39)
      INTEGER AAAAA0
      INTEGER AAAAB0
      INTEGER AAAAC0
      INTEGER AAAAD0
      INTEGER PARSCL
      INTEGER AAAAE0(9)
      INTEGER AAAAF0,AAAAG0
      INTEGER AAAAH0(563)
      INTEGER AAAAI0
      INTEGER AAAAJ0(5)
      INTEGER AAAAK0,AAAAL0,AAAAM0
      INTEGER AAAAN0(4)
      INTEGER AAAAO0(4)
      INTEGER AAAAP0,AAAAQ0,AAAAR0
      INTEGER AAAAS0(4)
      INTEGER AAAAT0(4)
      DATA USAGE/213,243,225,231,229,186,160,231,242,239,245,240,160,219
     *,173,225,160,252,160,173,239,221,160,251,188,231,242,239,245,240,2
     *23,238,225,237,229,243,190,253,0/
      DATA AAAAE0/225,188,230,190,239,188,230,190,0/
      DATA AAAAJ0/170,243,170,238,0/
      DATA AAAAN0/176,170,238,0/
      DATA AAAAO0/177,170,238,0/
      DATA AAAAS0/176,170,238,0/
      DATA AAAAT0/177,170,238,0/
      IF((PARSCL(AAAAE0,A$BUF).NE.-3))GOTO 10004
        CALL ERROR(USAGE)
10004 IF((A$BUF(225-225+1).EQ.0))GOTO 10005
      IF((A$BUF(239-225+1).EQ.0))GOTO 10005
        CALL ERROR(USAGE)
10005 AAAAB0=1
      GOTO 10001
10006 IF((GETARG(1,ARG,128).NE.-1))GOTO 10007
        AAAAA0=1
        GOTO 10000
10008   GOTO 10009
10007   IF((A$BUF(225-225+1).EQ.0))GOTO 10010
          AAAAC0=1
          GOTO 10002
10011     GOTO 10012
10010     IF((A$BUF(239-225+1).EQ.0))GOTO 10013
            AAAAD0=1
            GOTO 10003
10014       GOTO 10015
10013       AAAAC0=2
            GOTO 10002
10016     CONTINUE
10015   CONTINUE
10012 CONTINUE
10009 CALL SWT
10001 AAAAH0(1)=2
      CALL GETID$(LOC(AAAAH0),32,AAAAG0)
      IF((AAAAG0.EQ.0))GOTO 10017
        CALL ERROR('can''t retrieve group names.')
10017 GROUP0=AAAAH0(19)
      AAAAF0=0
      GOTO 10020
10018 AAAAF0=AAAAF0+(1)
10020 IF((AAAAF0.GE.GROUP0))GOTO 10019
        CALL VTOC(AAAAH0(20+17*AAAAF0),GROUQ0(1,AAAAF0+1),33)
        CALL MAPSTR(GROUQ0(1,AAAAF0+1),1)
      GOTO 10018
10019 GOTO 10021
10000 AAAAI0=1
      GOTO 10024
10022 AAAAI0=AAAAI0+(1)
10024 IF((AAAAI0.GT.GROUP0))GOTO 10023
        CALL PRINT(-11,AAAAJ0,GROUQ0(1,AAAAI0))
      GOTO 10022
10023 GOTO 10025
10002 AAAAK0=1
      AAAAL0=GETARG(AAAAK0,ARG,128)
10026 IF((AAAAL0.EQ.-1))GOTO 10027
        CALL MAPSTR(ARG,1)
        AAAAM0=1
        GOTO 10030
10028   AAAAM0=AAAAM0+(1)
10030   IF((AAAAM0.GT.GROUP0))GOTO 10029
          IF((EQUAL(GROUQ0(1,AAAAM0),ARG).NE.1))GOTO 10031
            GOTO 10029
10031   GOTO 10028
10029   IF((AAAAM0.LE.GROUP0))GOTO 10032
          GOTO 10027
10032   AAAAK0=AAAAK0+(1)
        AAAAL0=GETARG(AAAAK0,ARG,128)
      GOTO 10026
10027 IF((AAAAL0.EQ.-1))GOTO 10033
        CALL PRINT(-11,AAAAN0)
        GOTO 10034
10033   CALL PRINT(-11,AAAAO0)
10034 GOTO 10035
10003 AAAAP0=1
      AAAAQ0=GETARG(AAAAP0,ARG,128)
10036 IF((AAAAQ0.EQ.-1))GOTO 10037
        CALL MAPSTR(ARG,1)
        AAAAR0=1
        GOTO 10040
10038   AAAAR0=AAAAR0+(1)
10040   IF((AAAAR0.GT.GROUP0))GOTO 10039
          IF((EQUAL(GROUQ0(1,AAAAR0),ARG).NE.1))GOTO 10041
            GOTO 10039
10041   GOTO 10038
10039   IF((AAAAR0.GT.GROUP0))GOTO 10042
          GOTO 10037
10042   AAAAP0=AAAAP0+(1)
        AAAAQ0=GETARG(AAAAP0,ARG,128)
      GOTO 10036
10037 IF((AAAAQ0.NE.-1))GOTO 10043
        CALL PRINT(-11,AAAAS0)
        GOTO 10044
10043   CALL PRINT(-11,AAAAT0)
10044 GOTO 10045
10045 GOTO 10014
10025 GOTO 10008
10021 GOTO 10006
10035 GOTO(10011,10016),AAAAC0
      GOTO 10035
      END
C ---- Long Name Map ----
C grouplist                      grouq0
C argstat                        argst0
C groupcount                     group0
C listgroups                     listg0
C getgroups                      getgr0
C andargs                        andar0
C argcount                       argco0