in decode.go [237:249]
func (r *Reader) Read(p []byte) (int, error) { if r.err != nil { return 0, r.err } if err := r.fill(); err != nil { return 0, err } n := copy(p, r.decoded[r.i:r.j]) r.i += n return n, nil }