def _lis_bytes(by: bytes) ->int:
    """Basic LIS with no TIF markers.

    Physical Record Attributes
    ---------------------------
    The documentation describes these as bits 16 to 31.
    Here they are numbered as big-endian two byte format.
    So documentation <-> here:
    16 <-> 15
    31 <->  0

    ======    ====================================================
    Bit       Description
    ======    ====================================================
    15        Unused, reserved
    14        Physical record type (only 0 is defined)
    13-12     00 - No checksum, 01 - 16bit checksum, 10, 11 - Undefined
    11        Unused, reserved
    10        If 1 File number is present in trailer
    09        If 1 Record number is present in trailer
    08        Unused

    07        Unused, reserved
    06        If 1 then a previous parity error has occurred
    05        If 1 then a previous checksum error has occurred
    04        Unused
    03        Unused, reserved
    02        Unused
    01        If 1 there is a predecessor Physical Record
    00        If 1 there is a succcessor Physical Record
    ======    ====================================================

    In the above table:
    bit 15 is bit 7 of by[2].
    bit 8 is bit 0 of by[2].
    bit 7 is bit 7 of by[3].
    bit 0 is bit 0 of by[3].
    """
    if len(by) < 6:
        f"""We need PRH and LRH which is six bytes not [{len(by)}] : {by}"""
        return -1
    if by[2] & 64:
        return 10
    if by[3] & 2:
        return 20
    if by[2] & 32 and by[2] & 16 == 0:
        return 30
    if by[2] & 48 == 48:
        return 40
    prl = (by[0] << 8) + by[1]
    prl_min = 4 + 1
    if by[2] & 16:
        prl_min += 2
    if by[2] & 4:
        prl_min += 2
    if by[2] & 2:
        prl_min += 2
    if prl < prl_min:
        return 50
    if by[4] == 0:
        return 60
    if by[5] != 0:
        return 70
    return 0
