You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

292 lines
8.2 MiB
Go

// Code generated by go-bindata. (@generated) DO NOT EDIT.
// Package iperf generated by go-bindata.// sources:
// embedded/cygwin1.dll
// embedded/iperf3
// embedded/iperf3.exe
package iperf
import (
"bytes"
"compress/gzip"
"fmt"
"io"
"io/ioutil"
"os"
"path/filepath"
"strings"
"time"
)
func bindataRead(data []byte, name string) ([]byte, error) {
gz, err := gzip.NewReader(bytes.NewBuffer(data))
if err != nil {
return nil, fmt.Errorf("read %q: %v", name, err)
}
var buf bytes.Buffer
_, err = io.Copy(&buf, gz)
clErr := gz.Close()
if err != nil {
return nil, fmt.Errorf("read %q: %v", name, err)
}
if clErr != nil {
return nil, err
}
return buf.Bytes(), nil
}
type asset struct {
bytes []byte
info os.FileInfo
}
type bindataFileInfo struct {
name string
size int64
mode os.FileMode
modTime time.Time
}
// Name return file name
func (fi bindataFileInfo) Name() string {
return fi.name
}
// Size return file size
func (fi bindataFileInfo) Size() int64 {
return fi.size
}
// Mode return file mode
func (fi bindataFileInfo) Mode() os.FileMode {
return fi.mode
}
// ModTime return file modify time
func (fi bindataFileInfo) ModTime() time.Time {
return fi.modTime
}
// IsDir return file whether a directory
func (fi bindataFileInfo) IsDir() bool {
return fi.mode&os.ModeDir != 0
}
// Sys return file is sys mode
func (fi bindataFileInfo) Sys() interface{} {
return nil
}
var _cygwin1Dll = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x7d\x79\x7c\x53\xc5\xf6\xf8\x49\xda\x0b\x61\x09\x37\x48\x83\xb5\x0d\xa1\x62\x90\x02\x02\x8d\x02\xb6\xb6\xc5\x86\xa6\x38\x81\xa0\x45\x40\xaa\xec\x02\x15\x14\xb5\x42\x02\x55\x44\x5a\x6e\x02\x1d\xaf\x57\xab\xe8\x7b\xbe\xa7\x4f\xc1\x15\x9e\xfb\x56\xda\xa2\x98\x52\x68\xa8\x28\xd6\xaa\xac\x2e\xe0\xc6\x84\x80\x16\xd0\x50\xa0\xf4\xfe\x3e\x33\x73\xd3\xa6\x05\x7c\xdf\x1f\x7f\xd0\x7b\xef\x9c\x39\x33\x67\x99\x33\xe7\x9c\x59\x32\xf1\x8e\x72\x88\x03\x80\x78\x00\x50\x55\x80\x4a\xe0\xff\x72\xe0\x7f\xff\x2b\x01\x80\x5e\xfd\xab\x7b\xc1\x87\xdd\xbe\xb8\xb2\x52\xe7\xfe\xe2\xca\x29\x0b\x17\x2d\x4d\x29\x5a\x72\xff\x5d\x4b\xe6\xde\x9b\x32\x6f\xee\x7d\xf7\xdd\xef\x49\xb9\x73\x41\xca\x12\xef\x7d\x29\x8b\xee\x4b\x71\xde\x32\x39\xe5\xde\xfb\xe7\x2f\x18\x6e\x34\x76\xb7\x69\x38\xf2\xf3\x00\xe6\xaf\x11\x21\xb3\xe4\xaa\x12\xd8\x33\x04\x72\xe7\x03\x34\xc1\xd5\x29\x3d\xf4\xfa\x2b\xa0\x25\x19\xe0\xf9\x21\x00\xcf\xc7\x83\x69\xa1\x01\xc0\x44\x6b\xc4\x97\xe8\xe8\x1f\xfa\xac\xe7\xfd\xa6\xff\x04\xfa\xc2\xfe\xcd\x61\x1f\x0b\x9b\x46\x33\xba\x00\x52\xf8\x67\x53\xa7\xce\x9b\x3a\x3f\x0e\x87\x2b\x57\x02\x40\xf9\x08\x38\x74\x1d\x00\x1c\x1a\xc1\x91\x97\x0c\x82\x86\x63\xb1\x44\x0f\x87\xf8\x47\x00\xa0\x68\x10\x58\xfe\x0f\x3c\xfa\xbf\xfe\x1b\xee\x59\x50\xec\x01\x80\xa6\xba\x64\xde\xa1\x9d\xc9\xed\xc4\xb5\x51\x96\x3f\x67\xc4\x48\xed\x85\xf5\x31\x19\x80\xbe\x7f\x9e\xdc\x01\x2e\x05\xf2\x0f\x0d\x9f\x3f\xd7\x33\x97\xd6\x59\xa8\x07\x48\xb1\x00\xdc\x4d\xf9\xd3\xb1\xc7\x39\x30\x27\x30\x7c\x09\x07\x4c\x69\x34\x00\x94\x5b\x01\xbe\x31\x00\xdc\x6d\xed\x0c\x97\x33\xfc\x4e\xef\xa2\xc5\xf3\x17\xcd\x1f\x05\x9c\x76\xc6\xee\x31\x83\x3a\xc1\xa5\xe5\x0c\x2f\xe2\xf8\x18\xcf\x4a\x06\x01\xfc\x4e\x0b\x2e\x02\x57\xcc\xe1\xfe\x0c\x53\x7c\xa9\x00\x14\x7e\x78\xea\x85\x70\x77\x2e\x5d\x4a\x9f\xd3\x9e\x8b\x07\x98\x33\xf8\xa2\xbc\x2b\xa1\x74\x2c\xe0\xf8\x98\x0c\x61\x38\x00\x95\x51\xd2\xe0\x0b\xf1\x2d\x59\xb0\xf8\xfe\x79\xc0\x65\x58\x32\x9c\x2b\xf1\xb3\x17\xc0\x8d\x1d\x61\xcf\xe0\xbc\x5c\x4d\xff\x1f\x01\xe0\x03\x80\xc4\x21\x9d\xf9\xd2\x30\x7c\x11\x6f\x97\xe9\x4c\xf9\x08\x2e\x8f\xe7\x3b\xc3\xa5\x05\x46\x5c\x97\xce\x9e\x99\xae\x35\x8c\xe0\xfc\x6b\xe8\x04\x67\x48\x1b\x3b\x7c\xc9\xd2\x25\xf3\x40\x1b\x90\x51\x1d\x6c\xbc\x10\xdf\xf0\x79\x0f\xde\xb5\x70\xc1\xdc\x22\x30\xa5\x01\x34\x8d\xb8\x04\x5f\xd2\x02\x17\x2d\x88\xf9\x87\xa4\x63\xe9\x8e\x2a\x03\x00\x54\x0b\xf4\x35\x58\xd3\xaa\xaa\xaa\x5b\x71\xda\x52\x51\xd0\x69\x63\x02\x21\x23\xde\x4c\x02\x7f\xa0\xb8\x4f\xa5\x8e\xd5\xd8\x9e\x5e\x5b\x28\xf6\xf7\xb1\xfa\xb8\x86\x3c\xf8\xdf\x24\xfa\xe7\xe8\x2b\x49\x60\x0f\xb0\xd2\xf2\xc2\xe1\xd1\xf2\x69\x93\x91\x74\xac\xd8\x1e\x90\x9f\xb7\xbd\x0b\x00\x13\xf1\x36\x8a\x3b\xc7\x85\x77\x4d\xf4\x37\x56\x75\x01\x80\xa0\xd3\xc6\x58\xe3\xc6\xc1\xa0\xd3\x96\xd6\x13\x00\x9c\xd8\x6d\x1b\x79\x0a\xbd\x11\x74\xda\x72\xd2\x00\x40\xf4\x7d\x04\x00\x0e\x79\xac\xc9\x1f\xf0\x4e\x74\xc9\x63\x0d\x08\x3b\x6d\x73\x90\xe2\xb4\xa5\xe1\x19\xb6\x94\x3c\x7b\xbd\x1b\xef\xa7\xdf\x16\x22\xd9\x67\xa3\x36\x8c\xbe\xa4\x92\x3a\xd6\x71\x5c\x5b\xbc\x10\xef\x3b\xdd\x50\x43\xfa\x23\x69\x7b\xf1\xf4\xd9\xb5\xed\xfd\xa3\xc8\xda\x51\x04\x9d\xb6\x02\xbd\x56\x9b\xa3\xbf\x08\xd2\x07\xa2\x48\xdb\xf8\x41\x51\x8a\xfd\x4b\x18\x3f\xf6\x93\x45\x9b\x18\x3f\x0e\xbc\x9c\x04\xe1\x32\x7b\x20\x94\xaf\xaa\x6a\x61\x0c\x3f\x4a\x8f\x95\x51\x6a\xaa\xa8\x64\x91\x32\xc5\x36\xd2\xcd\x1b\x7a\xcc\xb6\x9e\x49\x40\xe3\x07\xc2\x53\x6c\x29\xd5\x54\x32\xe4\xfa\x37\x68\x8b\x62\x59\x7f\x1d\x80\xf4\xb0\x2d\x4d\xe7\x99\xe0\x56\x7c\x1a\x38\x13\x58\x8c\x08\x49\xe9\x7f\x93\x00\xc9\x6e\x5b\x3a\xae\x45\xfe\x7a\xd1\xb7\x9d\x7e\x4c\xa0\x9d\x3e\x28\x96\x7d\x0e\x00\xbc\xdb\xa5\xdb\x69\x37\xa6\xcf\xae\x45\xca\xc3\xb6\x7c\x7b\x80\x09\x83\x76\x25\x3f\xcf\x5e\x5f\x4d\xc5\x70\x0a\xbd\x41\x79\x90\x83\x64\xde\xb5\xa0\xd3\x96\xa2\xe7\x7f\x73\x7a\xf2\xbf\xce\x28\xb7\x8a\x29\x64\x7a\x9d\xd3\x86\x74\x75\x4e\x9b\x8b\x96\xe5\xa7\xb5\xb1\x6c\x0c\x23\xa0\xf8\x4e\x24\x3b\x6d\xe9\x97\xee\x3a\xc2\xbc\x84\x6c\xdd\x14\x4b\x82\x47\x20\x53\x29\x82\x83\xc5\xbd\xa3\x62\x6c\xeb\x3c\xde\x4f\xce\xbc\xce\xf8\x7d\xf7\x4b\x49\x10\xfe\x11\xd7\x90\x10\x7f\xbf\xe3\x25\xa6\
func cygwin1DllBytes() ([]byte, error) {
return bindataRead(
_cygwin1Dll,
"cygwin1.dll",
)
}
func cygwin1Dll() (*asset, error) {
bytes, err := cygwin1DllBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "cygwin1.dll", size: 3539372, mode: os.FileMode(511), modTime: time.Unix(1608057280, 0)}
a := &asset{bytes: bytes, info: info}
return a, nil
}
var _iperf3 = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xbd\x7b\x78\x93\x45\xd6\x00\x3e\x69\x13\x1a\x15\xf2\x26\x11\xd6\x7a\x41\xa2\xfb\xaa\x05\xbc\x34\xab\xf5\xab\x42\x35\xa1\x89\x9d\x42\xd0\x2a\x45\x41\x2e\x82\xbd\x08\x52\x6d\xa5\x09\xa0\x72\x29\x24\xa1\x9d\x7d\x8d\xd6\x55\x76\xf1\xce\xba\x5e\x17\x5d\x71\xbd\x81\x08\xa4\x14\x9a\x82\x37\xa8\xab\xb2\xb0\x62\x41\x84\x37\x14\x28\x14\x28\xe5\xd2\xbe\xbf\xe7\x9c\x99\x5c\x1a\xf1\xdb\xef\xf7\xfd\x9e\xef\x9f\xdf\xb3\x7d\x1e\x92\xcc\xcc\x39\x67\xce\x9c\x39\x73\x2e\x33\xf3\xbe\x2c\x70\x7b\x6e\x4b\xd3\xe9\xd2\x89\xf8\x4b\x23\xb7\x10\x1d\x21\xc4\x3c\xc8\x81\x65\x87\xa8\x9f\x96\x7e\x51\x0c\x84\x38\x48\x2e\x39\x97\x38\xc8\x55\xe4\x4a\x84\xd5\x93\xe4\x3f\x47\xaf\xef\x6d\x06\xd2\xeb\x9b\x98\xf9\x17\xe0\x19\x92\xca\xc4\xec\xe8\xf5\x1d\x7d\xd3\xd4\xeb\x3b\x19\x0f\xfb\x0b\x8b\xfa\xf0\xed\xbd\xbe\x97\x17\xa5\xf7\xfa\x4e\xc6\xeb\x43\x08\xe9\xba\xd4\x8a\xe5\xae\x6b\xef\xea\xfd\x3d\x81\xc3\x51\xa5\x37\x9f\x7a\xf1\xaf\x2a\x8d\x97\xab\xd2\x1c\xbd\xbe\x6d\x02\x3c\xf6\x6d\x24\xbd\xf1\xea\x05\x5e\xbd\x80\x8f\x7d\xbb\x04\x9c\x2b\x09\x1e\xfe\x32\xc4\xef\x5f\xe3\x33\x4b\xc0\xcd\x49\xe9\x6f\xcc\xcf\xde\xd2\xff\x0d\x9f\x77\xfe\xec\x2d\xed\x43\xfe\xe7\x7f\xb1\xe9\xba\x4b\xf4\xf7\x6b\x7c\x1a\xed\xa4\xd7\xb7\x2e\x69\x9c\x66\x31\xf7\x05\xb7\x8f\x25\x69\x84\x84\xa1\x2e\x3d\xa9\xbd\xbf\x28\x43\xbb\xa9\xf9\xf7\x19\x43\x96\xf7\xf9\x32\x98\xf5\xaf\x2d\x3f\xe6\x3b\xfb\x7d\xf7\x5e\xf6\x0f\x31\x1a\x3a\x01\x43\x04\x7c\x5a\x32\x9f\x53\x39\x1f\x57\x88\x72\x78\xd9\x68\xce\x4f\x4a\xbd\xf9\x22\x31\x03\x29\xf5\x2b\x06\xf2\xfa\xae\x29\xbd\xeb\x5b\x05\x9d\xc3\x29\xf5\x87\x37\x8d\xc2\x6f\x35\xb5\x7e\x30\xa7\xd3\x9a\x52\x6f\xbb\x98\xd7\x6f\x4b\xa9\xaf\xc9\xe2\xf5\x5b\x52\xea\xc3\xfb\x79\xbf\xcd\x29\xf5\x53\x04\xff\xe1\x94\x7a\xa2\x72\x7e\x56\xa6\xf2\x7f\x15\x87\x5f\x91\xda\xaf\xa0\xff\x56\x2a\xff\x42\x0e\xcb\x52\xea\x97\x89\x71\x2d\x4d\xa9\x5f\x71\x25\xaf\xaf\x4f\xe5\x53\xc8\xad\x2e\xb5\x3e\xcb\xc9\xfb\x4f\xa9\x2f\xba\x94\xd3\x99\x93\x52\x5f\x2f\xe8\x57\xa5\xf6\x2b\xe4\x3f\x2d\xa5\xde\x31\x94\xc3\x4f\x49\xad\x17\xfc\x8f\x4b\x1d\x6f\x33\xa7\x53\x94\x2a\xb7\xdd\xbc\x9e\xa6\xca\x41\xd4\x3b\x52\xe9\x6f\xe6\xf5\xb9\xa9\xf5\x43\x78\xbf\xd9\xa9\xf3\x25\xf8\xcc\x4a\xd5\x13\x31\x5f\xb6\xd4\xf1\x0a\x3e\x33\x53\xf5\x24\xa6\xcf\xff\xf9\xfb\xcf\xdf\x7f\xfe\xfe\xf3\xf7\x9f\xbf\xff\xfc\xfd\xe7\xef\x3f\x7f\xff\xf9\xfb\xcf\xdf\x59\xfe\x8e\x4a\x97\x9e\xa2\xfe\x03\x46\x1a\x09\x43\x91\x06\xc3\xde\x34\x6d\x0b\xf5\x6f\x30\x36\xc6\xdb\x3b\xb4\x2b\x0e\xde\x61\x25\xd2\x20\x57\xbc\xfc\x73\x4a\xf9\x87\x94\xf2\xb7\x29\xe5\x2f\x53\xca\x1b\x53\xca\x6b\x52\xca\x1f\xa5\x94\xdf\x4d\x29\xbf\x9e\x52\x7e\x29\xa5\xbc\x24\xa5\x1c\x4a\x29\x07\x53\xca\xf3\x52\xca\xbe\x94\xf2\x43\x29\xe5\xb2\x94\xf2\xa4\x94\xf2\xd8\x94\xf2\xe8\x94\xb2\x3b\xa5\x9c\x97\x52\xce\x49\x29\x5f\x93\x52\xbe\x22\xa5\x3c\x30\xa5\x3c\x20\xa5\xdc\x2f\xa5\x6c\x48\x29\x77\xdf\xde\xbb\x7c\x3c\x56\xa6\xca\x5c\xd9\xac\x76\xee\x4e\x27\x2a\xa4\xec\x6a\x4c\x27\xc6\x94\x52\xe5\x92\x2b\x20\x0b\xa7\x0b\x0f\xd8\x74\x84\x94\x52\x45\x7f\x45\x16\x94\x59\x40\xce\xd4\x11\x62\x0f\xd3\x9b\x06\xe6\x30\x2b\xf1\xde\x52\xaa\xe8\xaf\xc8\x24\x84\x04\xc3\x3e\xd3\xa7\x90\xb5\x4b\xef\x0f\x38\x9f\x59\x49\xdb\x40\x7b\x18\xcb\x87\xa5\xf7\x07\xa4\x01\x68\x5f\x1a\xca\x3b\x59\x67\x25\xea\x3f\x7e\x9f\x4e\x28\x1b\x78\xbc\xce\x4a\x34\x43\x5b\x9d\x95\xf8\xf3\x0e\xd7\x59\x09\xf1\xdd\x18\x31\xec\xa9\xb3\x62\xee\xbf\x12\xbb\xd7\x9a\x29\xdb\x4b\xfd\x5d\x9a\xf7\x5c\x1a\xd1\x37\x01\x83\x6d\xfb\xed\x2d\xeb\x00\x82\xfa\xfb\xca\x36\x75\xa5\x76\x0e\x51\x0c\x7f\x07\x22\x5d\x3a\x29\x08\x8a\x1e\x31\xbc\x52\xc7\x37\x2e\x14\x43\x08\xfa\x68\x66\x86\x60\x9d\x95\xf8\x5c\x34\x62\x98\x2b\x9a\x4a\x95\xfe\x9c\xed\x16\x9f\x51\xeb\x77\x7f\x9d\x95\xb4\x5d\x51\x6b\xb8\x17\xc1\xe7\x5f\xec\xb6\xb7\x20\xef\x6b\x17\x02\x2b\x9b\xa1\xb7\x50\x5e\x5e\x9d\x95\x48\x86\x75\x7d\x40\x54\x47\x4e\xe9\x48\x42\x4a\x37\x0d\x1c\x5c\xf7\x6b\xb2\xc8\xa8\x4b\x91\x45\x67\xad\x90\xc5\xc1\x5a\x2b\x51\x9b\x19\xca\x22\x5a\x0b\xb2\xf8\xb1\xd6\x4a\xda\x0c\xfe\xae\x34\xdf\x04\x1a\x7a\x56\xae\x23\x20\xe9\x55\x32\x8e\xe9\xf3\x5a\x2b\x6e\x84\xd0\x48\x40\xae\x11\x0b\x9c\xb2\xef\
func iperf3Bytes() ([]byte, error) {
return bindataRead(
_iperf3,
"iperf3",
)
}
func iperf3() (*asset, error) {
bytes, err := iperf3Bytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "iperf3", size: 1707304, mode: os.FileMode(511), modTime: time.Unix(1608059097, 0)}
a := &asset{bytes: bytes, info: info}
return a, nil
}
var _iperf3Exe = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xbd\x79\x74\x14\x55\x16\x38\xfc\x2a\x49\x41\x58\x42\x35\x6a\x63\x5c\x69\xb4\x91\x66\x35\x41\xc0\x30\xc0\x98\xb6\x3b\xf1\x45\x1a\x0c\x26\x20\xb8\x12\xb2\x40\x34\x24\x19\xd2\xd1\xe8\x30\x98\xd8\xdd\x98\x37\x65\x43\x14\x75\xdc\xc6\xdd\x19\x1d\x37\xdc\x10\x70\xeb\x24\x90\x26\x30\x6a\x08\x2a\x20\xe3\xb0\x88\x63\x95\x41\x85\xa0\x90\x04\x42\x7d\xe7\xde\xf7\xaa\x97\x88\xce\xfc\x7e\xe7\x7c\xff\x7c\xe7\xe3\x1c\x4d\xf5\x7b\xb7\xee\xbb\xef\xde\xfb\xee\xf2\xb6\x9a\x75\x7d\x03\x49\x24\x84\x24\x11\x42\x0c\x83\x90\xf5\x84\xff\xcb\x24\xff\xfd\x5f\x2d\x21\x64\xc8\xf0\x8d\x43\xc8\xdb\x03\x3e\x1e\xb1\x5e\xf2\x7c\x3c\x22\x7f\x49\x69\x95\xad\x72\x59\xc5\xe2\x65\x05\x4b\x6d\x85\x05\xe5\xe5\x15\x5e\xdb\xa2\x62\xdb\xb2\xea\x72\x5b\x69\xb9\xcd\x7d\x4d\x9e\x6d\x69\x45\x51\xf1\x84\x94\x94\x81\x76\x81\x23\x37\x8b\x90\xa2\x95\x43\xc9\xa0\xd1\x0b\xae\x23\x57\xf7\x23\x8b\x06\x10\x72\x98\x8c\x22\x83\x12\x12\xce\x21\x09\x12\x21\x77\x49\x84\x0c\x21\x84\x58\xc4\x7f\x24\x93\x48\x44\x3c\x27\x70\xba\xe1\x9f\x0c\x3f\xf0\x5f\x7f\x42\xfa\x11\x72\xe8\x54\x7f\xe8\x57\x2d\x21\x36\x5e\x6c\x31\xa9\xb6\xf4\xf9\x1d\xf7\x48\x48\x48\x22\xa1\xc1\x84\x90\x36\x89\x68\x80\xbc\x41\x22\x9b\x06\x9d\xae\xf3\x12\x39\xff\x7f\xe0\x91\xf9\xef\xc6\x66\x89\xd8\x12\x7f\xbd\x7e\x82\xb7\xb8\xc6\x4b\x08\x79\x44\x92\x44\xdf\x24\xec\x47\xec\xbf\x85\x24\x77\xe1\x84\xa2\x02\x6f\x01\x21\xa4\x5e\x26\x84\xd8\x04\x4c\xb2\x14\x07\x97\x49\x16\x86\x26\x2c\xe3\x80\x0b\xdd\x84\x90\x34\x89\x90\x6c\x10\xd6\x2f\xe0\x32\x27\x2c\xaa\x2e\x2d\x2b\x2a\x2d\x9a\x2c\xfa\x84\x6c\xcc\xef\x0b\x97\x96\x39\xa1\x92\xe3\x43\x5e\x34\x48\x84\x00\x8f\xe6\x9d\x06\xae\x86\xc3\x4d\x1f\x40\x08\x79\x5a\x22\x64\x20\x21\x64\xd1\x69\xe0\x16\x55\x55\xc1\x73\x1b\xe0\x59\x2b\x9d\x96\x27\xb5\xd0\x8f\x52\x8e\x0f\x65\x12\x12\xba\x50\xf6\x0b\x7c\xa1\x09\xcb\xaa\x96\x15\x12\xc2\x65\xd6\x26\xf8\x72\xd7\x2f\xe1\x2e\x9d\xc4\x9f\xdb\x00\x6e\x9f\x80\xab\xed\x0b\x67\xb9\xf2\xd2\xf4\xa9\xf8\x3c\xe8\xe9\x04\x42\x0e\x4b\x84\x3c\x9b\x40\xc8\xca\xd3\xc0\x5d\x96\x8e\xcf\xfb\x80\x81\x4f\x27\x11\x32\x85\x10\xe2\x48\xfa\x25\xdc\x24\xe4\x30\xd9\x7c\x35\x00\x27\x11\xe2\x21\x84\xdc\x7c\x1a\xb8\xc9\x97\xf3\x1f\x13\x41\x6e\x32\xff\xfb\x8f\xbe\x70\x99\x57\x5e\x7a\x79\x1a\x3e\x9f\x77\x06\x21\xa4\x52\x26\xe4\x2c\x42\xc8\xbf\x4e\x83\x2f\x83\xd3\xe7\x70\x4a\x84\x34\xc8\x84\x5c\x29\x11\x72\xf8\x34\x70\x53\x27\xe2\x73\xc3\xd9\x40\x5f\x3f\x42\x52\x81\x86\x7e\xbf\x80\x23\xff\xff\xbf\xff\x4f\xfd\xa3\xbe\x43\x0e\x1a\x4c\xa9\x26\x12\xd1\x9e\xee\x21\x24\x2b\x3d\x94\xde\x9e\xde\xaa\xbd\x1d\xf3\xbc\x3e\xe6\xf9\xfd\xe8\x33\xf5\x6d\x72\xe8\xf0\xbb\x21\xe6\xdf\x5c\xca\xbe\xb9\xa9\xb9\x64\x82\x32\xdc\x8f\xf8\xe1\x37\xf5\x1d\xb2\x51\xdf\x0c\x8b\x55\x22\xc4\x9b\x46\x83\x29\xf7\x0e\x97\x88\x61\xfd\xe6\x1d\x89\xd0\x40\xc8\x3b\x9d\x06\xad\xbe\xe1\x12\xa1\xac\xd1\xb0\xee\x12\x85\x03\x68\x30\x65\xdf\x59\x12\x31\xda\x3c\x41\xf9\x3a\x45\x22\x34\x98\x02\x96\x3c\xbd\x9d\xfa\x36\xd9\x6e\xd2\xdf\xfe\x89\x10\x65\x78\x26\xa1\x41\x99\x19\x86\xd1\xd1\xa6\x0c\xaf\x35\xdb\xbb\xa9\x39\x4a\xcf\x75\xf3\xf2\xb0\x79\xe6\xb1\x67\xd2\x60\xca\x4d\x12\x21\x5a\xea\x0c\x02\xe8\xa4\xa7\x24\xa2\x9d\xdf\x45\x48\x20\xa4\x04\x46\x48\x84\x50\xd5\x6d\xcf\x54\xd6\x91\xe9\x85\x8a\xff\x25\x42\xc8\xf4\x2a\xef\x30\xed\xf1\xc1\x84\xa4\xb7\x6a\x07\xa7\x13\x92\x1e\x82\xb6\x6f\xb8\xf9\x96\x66\x84\xf4\xad\x7f\x02\x5a\x54\x02\x00\x4b\x55\x8f\x3d\x53\xfb\x64\x06\x62\xab\xff\x0a\x4b\x66\xec\xbd\x1e\xe8\x9e\xbc\xe5\x42\x89\x74\x5c\x58\xa2\x0c\x77\x9b\x70\xb7\x4f\x36\x9f\x6e\x1c\x02\x6f\x54\x5f\xcf\x7f\x3d\xf9\x20\xfc\x62\xcd\x77\xee\x52\x15\x6d\xce\x62\x01\x94\xc3\x42\x94\x75\x6a\xf7\x17\x13\xe2\x3b\x61\x78\xdf\xc7\x42\x1a\xb4\xfe\xf1\x42\x89\x68\xd3\x4a\x4c\x54\xdb\xef\xc5\xc6\xd9\x6c\xc3\x30\xa8\x2a\x2f\xba\x5e\x22\x6a\x72\xc7\x44\x5e\xf9\xd3\x0c\x42\xf4\x49\x86\x61\xa0\x14\xa7\xfc\xc4\x41\xb3\x39\xe8\xe5\xd7\x4b\x64\x43\x80\x10\x12\x26\xf0\x7f\x6d\xa7\x89\x93\x06\xad\x83\x2e\x94\x48\x0e\x0b\x69\x3b\x8a\xcd\x76\xce\x99\x0e\x4f\x72\x02\xbc\x74\x2f\xbe\x04\xff\xef\x68\xe5\xfd\xe3\xfa\xf4\xc2\x5f\x25\xb2\x11\xac\xa5\xa6\xfe\x1c\xa7\x20\xcd\x08\x15\xd5\x0f\x
func iperf3ExeBytes() ([]byte, error) {
return bindataRead(
_iperf3Exe,
"iperf3.exe",
)
}
func iperf3Exe() (*asset, error) {
bytes, err := iperf3ExeBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "iperf3.exe", size: 468748, mode: os.FileMode(511), modTime: time.Unix(1608057281, 0)}
a := &asset{bytes: bytes, info: info}
return a, nil
}
// Asset loads and returns the asset for the given name.
// It returns an error if the asset could not be found or
// could not be loaded.
func Asset(name string) ([]byte, error) {
canonicalName := strings.Replace(name, "\\", "/", -1)
if f, ok := _bindata[canonicalName]; ok {
a, err := f()
if err != nil {
return nil, fmt.Errorf("Asset %s can't read by error: %v", name, err)
}
return a.bytes, nil
}
return nil, fmt.Errorf("Asset %s not found", name)
}
// MustAsset is like Asset but panics when Asset would return an error.
// It simplifies safe initialization of global variables.
func MustAsset(name string) []byte {
a, err := Asset(name)
if err != nil {
panic("asset: Asset(" + name + "): " + err.Error())
}
return a
}
// AssetInfo loads and returns the asset info for the given name.
// It returns an error if the asset could not be found or
// could not be loaded.
func AssetInfo(name string) (os.FileInfo, error) {
canonicalName := strings.Replace(name, "\\", "/", -1)
if f, ok := _bindata[canonicalName]; ok {
a, err := f()
if err != nil {
return nil, fmt.Errorf("AssetInfo %s can't read by error: %v", name, err)
}
return a.info, nil
}
return nil, fmt.Errorf("AssetInfo %s not found", name)
}
// AssetNames returns the names of the assets.
func AssetNames() []string {
names := make([]string, 0, len(_bindata))
for name := range _bindata {
names = append(names, name)
}
return names
}
// _bindata is a table, holding each asset generator, mapped to its name.
var _bindata = map[string]func() (*asset, error){
"cygwin1.dll": cygwin1Dll,
"iperf3": iperf3,
"iperf3.exe": iperf3Exe,
}
// AssetDir returns the file names below a certain
// directory embedded in the file by go-bindata.
// For example if you run go-bindata on data/... and data contains the
// following hierarchy:
// data/
// foo.txt
// img/
// a.png
// b.png
// then AssetDir("data") would return []string{"foo.txt", "img"}
// AssetDir("data/img") would return []string{"a.png", "b.png"}
// AssetDir("foo.txt") and AssetDir("nonexistent") would return an error
// AssetDir("") will return []string{"data"}.
func AssetDir(name string) ([]string, error) {
node := _bintree
if len(name) != 0 {
canonicalName := strings.Replace(name, "\\", "/", -1)
pathList := strings.Split(canonicalName, "/")
for _, p := range pathList {
node = node.Children[p]
if node == nil {
return nil, fmt.Errorf("Asset %s not found", name)
}
}
}
if node.Func != nil {
return nil, fmt.Errorf("Asset %s not found", name)
}
rv := make([]string, 0, len(node.Children))
for childName := range node.Children {
rv = append(rv, childName)
}
return rv, nil
}
type bintree struct {
Func func() (*asset, error)
Children map[string]*bintree
}
var _bintree = &bintree{nil, map[string]*bintree{
"cygwin1.dll": &bintree{cygwin1Dll, map[string]*bintree{}},
"iperf3": &bintree{iperf3, map[string]*bintree{}},
"iperf3.exe": &bintree{iperf3Exe, map[string]*bintree{}},
}}
// RestoreAsset restores an asset under the given directory
func RestoreAsset(dir, name string) error {
data, err := Asset(name)
if err != nil {
return err
}
info, err := AssetInfo(name)
if err != nil {
return err
}
err = os.MkdirAll(_filePath(dir, filepath.Dir(name)), os.FileMode(0755))
if err != nil {
return err
}
err = ioutil.WriteFile(_filePath(dir, name), data, info.Mode())
if err != nil {
return err
}
err = os.Chtimes(_filePath(dir, name), info.ModTime(), info.ModTime())
if err != nil {
return err
}
return nil
}
// RestoreAssets restores an asset under the given directory recursively
func RestoreAssets(dir, name string) error {
children, err := AssetDir(name)
// File
if err != nil {
return RestoreAsset(dir, name)
}
// Dir
for _, child := range children {
err = RestoreAssets(dir, filepath.Join(name, child))
if err != nil {
return err
}
}
return nil
}
func _filePath(dir, name string) string {
canonicalName := strings.Replace(name, "\\", "/", -1)
return filepath.Join(append([]string{dir}, strings.Split(canonicalName, "/")...)...)
}