def _read_para_hip_transform(self, code, cbit, clen, *, desc, length, version):
if version != <NUM_LIT:1>:<EOL><INDENT>raise ProtocolError(f'<STR_LIT>')<EOL><DEDENT>if clen % <NUM_LIT:2> != <NUM_LIT:0>:<EOL><INDENT>raise ProtocolError(f'<STR_LIT>')<EOL><DEDENT>_stid = list()<EOL>for _ in range(clen // <NUM_LIT:2>):<EOL><INDENT>_stid.append(_SUITE_ID.get(self._read_unpack(<NUM_LIT:2>), '<STR_LIT>'))<EOL><DEDENT>hip_transform = dict(<EOL>type=desc,<EOL>critical=cbit,<EOL>length=clen,<EOL>id=_stid,<EOL>)<EOL>_plen = length - clen<EOL>if _plen:<EOL><INDENT>self._read_fileng(_plen)<EOL><DEDENT>return hip_transform<EOL>
Read HIP HIP_TRANSFORM parameter.

        Structure of HIP HIP_TRANSFORM parameter [RFC 5201]:
             0                   1                   2                   3
             0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
            |             Type              |             Length            |
            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
            |            Suite ID #1        |          Suite ID #2          |
            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
            |            Suite ID #n        |             Padding           |
            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

            Octets      Bits        Name                    Description
              0           0     hip_transform.type      Parameter Type
              1          15     hip_transform.critical  Critical Bit
              2          16     hip_transform.length    Length of Contents
              4          32     hip_transform.id        Group ID
                                ............
              ?           ?     -                       Padding