code: func (ra *responseAPDU) deserialize(data []byte) error {
  	if len(data) < 2 {
  		return fmt.Errorf("can not deserialize data: payload too short (%d < 2)", len(data))
  	}
  
  	ra.Data = make([]byte, len(data)-2)
  
  	buf := bytes.NewReader(data)
  	if err := binary.Read(buf, binary.BigEndian, &ra.Data); err != nil {
  		return err
  	}
  	if err := binary.Read(buf, binary.BigEndian, &ra.Sw1); err != nil {
  		return err
  	}
  	if err := binary.Read(buf, binary.BigEndian, &ra.Sw2); err != nil {
  		return err
  	}
  	return nil
  }
docs: // deserialize deserializes a response APDU.