func decryptWriterV10(dst io.Writer, config *Config) (*decWriterV10, error) {
	ad, err := newAuthDecV10(config)
	if err != nil {
		return nil, err
	}
	return &decWriterV10{
		authDecV10: ad,
		dst:        dst,
		buffer:     packageBufferPool.Get().([]byte)[:maxPackageSize],
	}, nil
}
decryptWriterV10 returns an io.WriteCloser wrapping the given io.Writer.
The returned io.WriteCloser decrypts everything written to it using DARE 1.0
and writes all decrypted plaintext to the wrapped io.Writer.

The io.WriteCloser must be closed to finalize the decryption successfully.
package sio
import "io"
type decWriterV10 struct {
	authDecV10
	dst io.Writer
	buffer   packageV10
	offset   int
	closeErr error
}