code: def read_varint32(self):
          
          i = self.read_varint64()
          if not wire_format.INT32_MIN <= i <= wire_format.INT32_MAX:
              raise errors.DecodeError('Value out of range for int32: %d' % i)
          return int(i)
docs: Reads a varint from the stream, interprets this varint
          as a signed, 32-bit integer, and returns the integer.