<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _read_mode_rsralt(self, size, kind):
 """Read Router Alert option. Positional arguments: size - int, length of option kind - int, 148 (RTRALT) Returns: * dict -- extracted Router Alert (RTRALT) option Structure of Router Alert (RTRALT) option [RFC 2113]: +--------+--------+--------+--------+ |10010100|00000100| 2 octet value | +--------+--------+--------+--------+ Octets Bits Name Description 0 0 ip.rsralt.kind Kind (148) 0 0 ip.rsralt.type.copy Copied Flag (1) 0 1 ip.rsralt.type.class Option Class (0) 0 3 ip.rsralt.type.number Option Number (20) 1 8 ip.rsralt.length Length (4) 2 16 ip.rsralt.alert Alert 2 16 ip.rsralt.code Alert Code """

        if size != 4:
            raise ProtocolError(f'{self.alias}: [Optno {kind}] invalid format')

        _code = self._read_unpack(2)

        data = dict(
            kind=kind,
            type=self._read_opt_type(kind),
            length=size,
            alert=_ROUTER_ALERT.get(_code, 'Reserved'),
            code=_code,
        )

        return data