%%HP: T(3)A(D)F(.);
@ by Kevin Jessup
\<< 1 2 3 CF CF CF CLLCD OPENIO "" "" "" "" "" "" ""
  DO
    IF BUFLEN DROP DUP 1 FC? AND
    THEN
      IF DUP 22 >
      THEN DROP 22
      END SRECV DROP +
      IF DUP SIZE DUP 22 >
      THEN OVER 23 ROT SUB SWAP 1 22 SUB SWAP 8 ROLL DROP
      ELSE DROP
      END 1 7
      FOR i i PICK 8 i - DISP
      NEXT
    ELSE DROP
    END
    IF KEY
    THEN
      CASE DUP 54 ==
        THEN 1
        END DUP 61 ==
        THEN 1 TOGF DROP 0
        END DUP 71 ==
        THEN 2 TOGF DROP 0
        END DUP 81 ==
        THEN 3 TOGF DROP 0
        END
        IF 2 FS?
        THEN 2 CF 95 +
        END
        IF 3 FS?
        THEN 3 CF 190 +
        END KEYMAP SWAP DUP SUB
        IF XMIT NOT
        THEN DROP
        END 0
      END
    ELSE 0
    END
  UNTIL
  END 8 DROPN
CLOSEIO
\>>
