code: func (sf *SubtitleFile) Reader() (r io.ReadCloser, err error) {
  	if sf.reader != nil {
  		return sf.reader, err
  	}
  
  	dec := base64.NewDecoder(base64.StdEncoding, strings.NewReader(sf.Data))
  	gzReader, err := gzip.NewReader(dec)
  	if err != nil {
  		return nil, err
  	}
  
  	if sf.Encoding == nil {
  		sf.reader = gzReader
  	} else {
  		sf.reader = newCloseableReader(
  			sf.Encoding.NewDecoder().Reader(gzReader),
  			gzReader.Close,
  		)
  	}
  
  	return sf.reader, nil
  }
docs: // Reader interface for SubtitleFile. Subtitle's contents are
  // decompressed, and usually encoded to UTF-8: if encoding info is
  // missing, no re-encoding is done.