// Code generated by go-bindata. // sources: // res/messages_en.json // res/messages_zh.json // res/res.go // DO NOT EDIT! package res 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 } func (fi bindataFileInfo) Name() string { return fi.name } func (fi bindataFileInfo) Size() int64 { return fi.size } func (fi bindataFileInfo) Mode() os.FileMode { return fi.mode } func (fi bindataFileInfo) ModTime() time.Time { return fi.modTime } func (fi bindataFileInfo) IsDir() bool { return false } func (fi bindataFileInfo) Sys() interface{} { return nil } var _resMessages_enJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\x95\xcf\x6a\xdb\x40\x10\xc6\xef\x79\x8a\xa9\x40\xd0\x82\x5b\x70\x28\x3d\xf8\x9a\xba\x4d\x20\x8d\x43\xfe\x34\x87\x10\xcc\x56\x1a\xcb\x5b\x36\x2b\xb3\xb3\x72\x93\x1a\xdd\x7a\xe8\xdb\x84\x40\x73\x28\x2d\x7d\x04\xe5\x95\xca\xae\x9c\xd8\x92\x57\xab\x38\xd0\x96\x5e\x6c\xb1\xf3\xed\xfe\x66\xbe\x99\x95\x66\x1b\x00\x81\x60\x32\xc9\x58\x82\x41\x0f\x02\x94\xcf\x8f\x0f\x83\x8e\x59\x3e\x47\x22\x96\x20\x05\x3d\x38\xdd\x00\x00\x98\xd9\x5f\x80\x80\xc7\x46\x1a\x65\x4a\xa1\xd4\xc3\x28\x95\x23\x9e\xd8\x3d\x36\x3a\xdf\xb7\x24\x81\xba\x44\x2b\x26\x49\x30\xcd\x53\xe9\x90\x59\x55\xde\x71\x31\x09\xbd\x3c\xc2\x56\x96\x91\x84\x04\x3a\x85\x90\x7c\xa4\x8c\x70\x78\x6f\x8c\x8b\x75\x4c\x08\x7d\x99\x08\x4e\x63\x58\x15\xd6\xa8\x4e\xf1\x1d\xdd\x85\x37\x22\x27\xb6\x1a\xa8\x61\x56\x8e\x76\x9c\xfc\x79\xec\x3c\x77\x79\xb9\x76\xea\xd6\x98\x4b\x24\xef\xa1\xa4\x99\xd2\x43\xbc\xc0\x28\xb3\xbb\x5c\x84\x43\xa3\x81\xfe\xaa\xa6\x86\xab\xeb\x3c\x58\x94\x71\x0b\xb4\x2f\xe3\x07\x20\xab\xaa\xd6\x3a\x23\x46\xee\x99\x28\x53\xdf\xaa\x84\x9d\xd5\x19\x89\x19\x43\xa6\x5b\xc6\xd0\x54\xd8\x88\x33\x69\x7b\x61\x77\x02\x08\xa9\x03\x61\x0c\x84\x11\x79\xc7\x6e\xbb\xbf\xbb\x3b\x18\x9e\x0c\x0e\x76\x5f\x3b\x89\xdb\x28\x44\x0a\x9f\x52\x25\xe2\x27\x8d\xd4\x8a\xc8\x53\x5b\x09\xeb\x36\x83\x5a\x08\x21\x2d\x04\x13\xc1\x22\x1c\xa7\x22\x46\xb5\x78\x61\x2d\x33\x97\xb8\x27\x26\xb3\xfb\xad\x36\x40\x5a\x71\x99\x98\x60\x78\xda\x3d\x9b\x56\x83\xfa\x72\x52\xbe\x5d\x4a\x51\x25\x96\xc9\x18\x95\xb8\xe4\x32\x39\xf2\xa8\x98\x4a\xf6\xb2\xf3\xa0\x07\xdd\xca\x32\x5e\x4c\x94\xd9\xb2\x6c\x95\xb5\x6b\xfe\x74\xe6\x31\xef\xfd\xce\xe1\xce\xd1\xe0\xc0\x69\xde\x6c\x1f\x15\xa5\x32\x07\x4e\x30\xe5\xc4\x35\x97\x09\xcc\xf6\x8d\x45\x79\x73\xdb\x42\xaa\xe8\x1f\xeb\x6e\xc9\xf6\xd9\x4b\x7f\xd9\xde\x49\x99\xd1\xc2\xde\x8e\x37\x7f\x53\x6b\x73\xfa\x9b\x7f\x30\xfd\x4d\x77\xfa\x36\xa1\xb5\x86\x63\x6b\xb0\xf7\x66\xe7\xad\xfb\x93\xdc\xf2\x29\xb6\xe1\x1e\x54\xaf\xc1\xff\x7d\xbd\x06\x1f\x3e\x62\xa4\xd7\x73\x70\xf6\x8e\x0b\xa4\x1c\xce\xcd\x1f\x68\xc5\xa6\x28\x30\x86\xa7\xe5\xfa\xb0\x9b\x3f\x73\xdf\xbc\x35\xb6\xd5\xaf\xdf\x8b\xcd\xd3\xee\xd9\x08\x8a\x9f\xc5\x55\xf1\xa3\xf8\x5e\x5c\xc3\xed\x97\xe2\xba\xf8\x55\x5c\x15\xdf\x8a\x9b\xdb\xaf\xc5\x8d\xed\xca\xe8\x71\x5d\xb1\x09\x34\x76\xa5\x64\xbb\xfb\x32\x12\x29\xd3\xaf\x5e\xb6\x35\xc6\x29\x6b\xe9\x8c\xb5\xe9\xa1\x17\x73\x6e\xa1\x6f\xb2\xfe\x7d\x05\xd5\xd1\xda\x30\x4f\xf9\xef\x00\x00\x00\xff\xff\x0e\xc5\x37\x32\x65\x0b\x00\x00") func resMessages_enJsonBytes() ([]byte, error) { return bindataRead( _resMessages_enJson, "res/messages_en.json", ) } func resMessages_enJson() (*asset, error) { bytes, err := resMessages_enJsonBytes() if err != nil { return nil, err } info := bindataFileInfo{name: "res/messages_en.json", size: 2917, mode: os.FileMode(420), modTime: time.Unix(1563505694, 0)} a := &asset{bytes: bytes, info: info} return a, nil } var _resMessages_zhJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x94\xd1\x4b\xdb\x5e\x14\xc7\xdf\xfd\x2b\xce\x2f\x10\xf8\x0d\xca\xa0\x32\xf6\xe0\xab\x13\x14\xdc\x14\x75\xf3\x41\xa4\x84\xe6\x36\x06\xe2\x4d\xb9\x37\xe9\x74\x25\xe0\xc3\xc6\x26\xd6\x97\xb9\xb9\x97\x8d\x6d\x8c\xd1\xbe\xb4\x45\x98\xd0\xcd\xb6\xfe\x07\xf1\x9f\x68\x9b\xfa\xe4\xbf\x30\x6e\x6e\x69\x9b\x78\x7b\xa3\xc2\xb6\x97\x36\xdc\xf3\xbd\xe7\x73\xce\xf7\x9c\xa4\x38\x05\xa0\x58\x1a\x36\x5c\xcd\x40\xca\x0c\x28\x2f\xb6\x94\x14\x3b\xdb\x46\x94\x6a\x06\xa2\xca\x0c\x6c\x4c\x01\x00\x14\xc3\x5f\x00\xc5\xd4\x99\x2e\xeb\x12\x82\xb0\x93\xc9\xda\x38\x67\x1a\xe1\x9d\x30\x3a\xb8\xc7\x24\xb3\x5c\x02\x71\x89\x43\x34\x4c\x2d\xcd\x31\x6d\xcc\x64\xdd\xd6\x51\x77\xff\xf0\xf2\xd5\x61\xd0\xaa\x29\xa1\xc6\x4b\x89\x88\x14\x49\x69\x14\x25\x92\xfa\xb5\x76\xd0\xaa\xa9\xb4\xd3\xf8\xa5\x52\x19\x8a\x19\x22\x84\x44\x03\xf1\xf4\xf5\x6a\xbf\xb2\x27\xcb\x3b\x30\x37\x9e\x75\xfc\x38\x96\xb3\xd3\xa8\xf6\x8e\x5f\xcb\x72\xba\x14\x65\x86\x03\x14\x65\x7f\x4a\x11\xcc\x6e\x99\x18\x51\x04\xd7\x85\x71\x5e\xeb\x3c\x78\x57\xe1\xd4\xe4\x7e\xa8\xa3\x11\x27\x83\x76\x50\xd6\x0d\x13\x88\xf0\xab\x4c\x03\x73\xd7\x35\xf1\x35\x68\xee\x75\xcb\x07\xbd\xfd\x72\xff\x6b\x49\xc6\x44\x58\x4f\x20\xce\x61\xfd\x06\xbc\xe0\xec\xa8\xf7\xe9\x73\x32\x8f\xf7\x98\xd5\xa8\xd8\x5d\xde\xde\x6c\x24\x2c\xec\x8c\xd9\xda\x3e\x00\x95\x5e\x35\x4b\xf2\xed\x63\x1d\x4e\xe4\xb1\xe6\xa4\x34\xde\xd7\x90\x96\x02\x55\x87\xa0\xfc\x76\x08\x14\x11\xe7\xe7\x16\x17\x97\x32\xeb\x4b\x2b\x8b\x8f\x84\xd0\x79\x64\x59\x36\x3c\xb7\x89\xa5\xff\x27\x59\x9d\x2f\xdd\xef\xad\xab\x66\xa9\xd3\x38\x0e\xde\x4b\x3d\xe5\xbc\xf4\x64\x56\x02\x04\x54\x3a\x52\xe4\x2d\x2d\x8b\xb6\x6c\x4b\x47\x64\xf4\xb5\x1a\x87\x8e\x81\xd7\x59\x0b\xc3\xab\x61\x80\x3a\xc4\xc4\x06\x0b\xaa\x1b\xe9\xcd\x42\x34\xe8\xec\xe6\xf9\xc7\x85\x8b\x22\x31\x17\xeb\x88\x58\xbb\x26\x36\xd6\x24\x2a\x8d\x18\x4f\xdc\x6d\x65\x06\xd2\x91\x63\xb4\x93\x27\xec\xca\xc0\xd3\x61\xc8\x1b\x3c\x6d\x4a\xdc\x7b\xb6\xb0\xba\xb0\xb6\xb4\x22\x74\xaf\xb8\x8c\x08\xb5\xb1\x07\x26\x85\x82\x49\x4d\xc7\xc4\x06\x14\x97\x99\x45\xde\xe4\xd1\xa9\xb4\x57\xfd\xd6\xfd\x58\xe9\xd7\xce\x2f\x3f\xd4\xee\x6a\x2e\x47\xcb\xdc\xa5\x7f\xd9\xdd\x3c\xaf\x68\xe4\x6e\x4a\x5a\x3f\xeb\x75\x72\xf9\xd3\x7f\xb0\xfc\x69\x71\xf9\x61\x41\xb7\xda\x8d\xe2\x63\xd3\x42\xd4\x83\x6d\xf6\x07\x0e\xd1\x0a\xc8\x42\x3a\xfc\xcf\xcf\x33\x69\xef\x9e\x78\x6d\x6e\x71\x2d\xbe\x3b\xf7\xa7\x37\xd2\x9b\x39\xf0\x9b\x7e\xdd\x3f\xf3\x7f\xfa\x27\x70\xf1\xd2\x3f\xf1\xdb\x7e\xdd\xff\xe1\x9f\x5e\xbc\xf1\x4f\x81\xcd\x3e\x77\xb7\xa5\x0a\x0b\x98\x38\x14\xce\x16\x8f\x25\x67\xd9\x9a\xf3\xf0\x41\xd2\x5c\x84\xb2\x84\xbd\x0a\x6d\xba\xe9\x5a\x0d\x2c\x94\xbd\x17\xff\xbe\x83\xe8\x6a\x4d\xb1\x27\xef\x77\x00\x00\x00\xff\xff\xa8\x4b\xeb\x7c\x1c\x0a\x00\x00") func resMessages_zhJsonBytes() ([]byte, error) { return bindataRead( _resMessages_zhJson, "res/messages_zh.json", ) } func resMessages_zhJson() (*asset, error) { bytes, err := resMessages_zhJsonBytes() if err != nil { return nil, err } info := bindataFileInfo{name: "res/messages_zh.json", size: 2588, mode: os.FileMode(420), modTime: time.Unix(1563505750, 0)} a := &asset{bytes: bytes, info: info} return a, nil } var _resResGo = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x57\xdf\x6f\xdc\xb8\x11\x7e\x96\xfe\x0a\xde\x02\x77\x58\x15\xdb\xb5\x7e\xff\x58\xc0\x2f\x97\xa4\x40\x0a\x5c\x0e\x68\xd3\xa7\x4e\x11\x90\x12\xb9\xa7\x76\x77\xe5\x4a\xbb\xd7\xb1\x03\xff\xef\xc5\xc7\xa1\x1d\x27\xb1\x93\x97\x7b\xb0\x57\xa2\xc8\x99\x6f\x66\xbe\xf9\x48\x5e\x5d\xa9\x57\xd3\x60\xd5\xde\x9e\xec\xac\xcf\x76\x50\xe6\x56\xed\xa7\x3f\x9b\xf1\x34\xe8\xb3\xde\xc6\x57\x57\x6a\x99\x2e\x73\x6f\x97\x1d\x9e\x67\xbb\x5c\x1d\xed\xb2\xe8\xbd\x5d\x3e\xd8\xd3\xf6\xdf\xcb\x74\xfa\x6a\xfc\xee\xb7\xcf\xc6\x67\xbb\x6c\xf7\x13\xde\x5e\xff\xaa\xde\xfd\xfa\x5e\xbd\x79\xfd\xf6\xfd\x0f\x71\x7c\xa3\xfb\xff\xe8\xbd\xc5\x9c\x38\x1e\x8f\x37\xd3\x7c\x56\xeb\x38\x5a\x99\xdb\xb3\x5d\x56\x71\xb4\xea\xa7\xe3\xcd\x6c\x97\xe5\x6a\x7f\x37\xde\x60\xc0\x1d\xcf\xf8\x19\x27\xf9\x7f\x35\x4e\x97\xf3\x78\xc0\xcb\xe4\x17\xdc\xe8\xf3\x6f\x57\x6e\x3c\x58\x3c\x60\x60\x39\xcf\xe3\x69\xef\xbf\x9d\xc7\xa3\x5d\xc5\x49\x1c\xbb\xcb\xa9\x57\x21\xbe\xbf\x59\x3d\xac\xf1\xa0\xfe\xf9\x2f\xb8\xdd\xa8\x93\x3e\x5a\x25\xcb\x12\xb5\x7e\x18\xb5\xf3\x3c\xcd\x89\xfa\x18\x47\xfb\x3b\xff\xa6\x76\xd7\x0a\xa8\xb6\xef\xec\xff\x60\xc4\xce\x6b\x0f\x1b\xef\x3f\x5f\x9c\xb3\xb3\x37\x9b\x24\x71\x34\x3a\xbf\xe0\x87\x6b\x75\x1a\x0f\x30\x11\xcd\xf6\x7c\x99\x4f\x78\xdd\x28\x77\x3c\x6f\xdf\xc0\xba\x5b\xaf\x60\x48\xfd\xf8\xdf\x9d\xfa\xf1\xf7\x95\x20\xf1\xbe\x92\x38\xba\x8f\xe3\xe8\x77\x3d\x2b\x73\x71\x4a\xfc\x88\x93\x38\xfa\x20\x70\xae\xd5\x38\x6d\x5f\x4d\x37\xb7\xeb\x9f\xcc\xc5\x6d\xd4\xfe\x2e\x89\xa3\xfe\xf0\xe6\x01\xe9\xf6\xd5\x61\x5a\xec\x3a\x89\xff\x28\x3c\x30\x23\xf6\x5f\x30\x64\xe7\x59\x70\x87\x41\x73\x71\xdb\x9f\x01\x7d\x9d\x6c\x30\x23\xbe\x8f\xe3\xf3\xed\x8d\x55\x7a\x59\xec\x19\x29\xbf\xf4\x67\x58\xf1\xf1\x85\x7a\xc4\xd1\x78\x72\x93\x52\xd3\xb2\xfd\xcb\x78\xb0\x6f\x4f\x6e\x7a\x5c\x17\x4a\xf8\x30\xfe\xc4\x82\xaf\xa1\x52\xa1\x8c\x71\xb4\x8c\x77\xfe\x7d\x3c\x9d\xeb\x32\x8e\x8e\x20\xbc\x7a\x34\xfa\xcb\x34\x58\x3f\xf8\x7e\x3c\x5a\x05\x9a\x6c\xf1\x04\x3f\x9e\x2a\x6b\x37\x7e\xe9\x2b\x51\xef\xf4\xd1\xae\x93\xe0\x01\x3e\x43\x94\x6e\xdc\xc2\x7b\x7c\xff\x8d\xb5\x7f\x1f\xef\xb0\xd6\xa3\xf9\x7c\x29\x80\x7e\x73\x29\xb0\xae\x93\xa7\xc8\x3f\x37\x80\xd0\xbe\x67\x00\xc1\xad\x93\x4f\x81\x7e\x65\x21\x44\xff\xb2\x91\xb7\xcb\xeb\x71\x5e\x27\xca\x4c\xd3\xe1\xe9\x6a\x7d\x58\xbe\x13\xf9\xed\x22\x81\xdb\xd9\xe9\xde\x7e\xbc\x7f\xb2\x3a\x50\x02\x2c\xff\x30\xdb\xe5\x97\x4f\x22\xf3\xd7\x65\x3a\xa9\xeb\xc0\x88\xf5\x8a\x38\x73\xc4\xad\x21\x4e\x5b\xe2\x34\x7d\xfe\xcf\x39\xe2\xa1\x24\xee\x2a\xe2\xde\x11\xd7\x9a\x78\x30\xc4\x65\x4a\x9c\xa5\xc4\x7d\x4d\x6c\x1d\x71\xd3\x11\xb7\x9a\x58\x77\xf2\x6d\x48\x89\xdb\x9c\xb8\x32\xc4\x4d\x4a\x9c\xb7\xc4\xc5\x40\xec\x5a\xe2\x4e\x13\x1b\x4d\x5c\x0e\xc4\x39\xe6\x0d\xc4\x65\x41\xec\x2c\x71\x51\x12\xb7\x4d\xb0\xdd\x13\x57\x35\x71\xa6\x89\x7b\x23\xb6\x8a\x9a\x38\x37\xc4\xa6\x90\xbf\x26\x27\xee\x0a\x99\x33\x0c\xc4\x8d\x26\xb6\xad\x60\x6c\x4b\xc1\xd2\x14\xe2\x3f\xc7\xf7\x81\x38\x2d\x89\x6d\x15\x62\x02\x66\x4b\xdc\xf5\xc4\x03\xb0\x01\x73\x43\xac\xe1\xab\x95\x38\xba\x9a\xb8\xb2\xc4\x75\x4f\x6c\x32\x62\x57\x10\xdb\x41\xf0\xd6\x35\xb1\xc1\xfa\x4e\xec\xe1\x3d\x33\x92\xbb\x36\x23\xae\x53\xe2\x22\x27\xee\x3b\xe2\xaa\x95\x9c\x94\x19\x71\xea\x88\x53\x60\x2f\x25\xaf\xad\x93\xb1\xb6\x20\x6e\x2d\x71\xd5\x11\x17\x96\xb8\x6c\x88\xf3\x5c\x30\x20\x57\x69\x25\x79\xf4\xd8\x86\x4f\x75\xea\xf0\x0e\x1f\xb0\x91\xca\x5f\xdf\x10\x97\x21\x7f\x75\x45\x5c\x22\xd6\x4c\xea\xd9\x87\x9c\x00\x73\x5e\x10\x77\x56\xe2\xf7\xb6\x6b\xe2\x02\xf9\x74\xc4\x06\xfe\x4b\x89\xc5\xd7\xac\x94\xfc\xe7\x35\x71\x09\x8c\xf0\x33\x10\x57\xc8\x09\x72\x90\x0a\xf6\xaa\x22\x1e\x2c\x71\x93\x11\x17\x88\xb7\x23\x36\xb0\xdd\x13\xf7\xb9\xd4\x15\x31\x75\x99\xd4\x09\x35\x81\xcf\xb6\x12\x1b\x4d\x4f\xac\xe1\xb7\x17\xfe\x34\x2d\x71\xed\xe4\x1d\x9c\x6d\x10\x4f\x2f\xdc\x45\x4d\x91\x7f\x3c\x97\xa8\x49\x21\xb9\xce\x80\xa1\x26\xd6\x61\xdc\x65\xc4\xd9\x20\x79\x83\x9f\x22\xe4\x36\x6f\x88\x4d\xc8\x13\xe6\xd6\x99\xe0\x43\x1d\x9a\x5a\xb8\xe1\x7a\xe1\xb8\xed\x25\x86\xa6\x91\x77\xd3\xc9\x1c\xab\xc5\x17\xea\x50\x1a\xc9\x19\xfa\x02\xf9\x46\x1c\xc0\x37\xe4\xc2\x73\x83\x1c\x84\x9e\xf0\x3c\x06\xb7\xfb\xc0\xd7\x82\x58\x17\x92\x6f\xf0\x4b\x03\x13\xb0\xd4\xc2\x49\x6b\xc4\x3f\xe2\x03\x77\x90\xdf\x14\xfd\x80\xba\x38\x62\x5b\x10\xa7\x8d\x70\x05\xf3\x75\xc0\x85\xdc\xa2\xce\xe0\x83\x0d\x7c\x85\x7f\xd4\x0d\x75\xc6\x3c\xf8\xef\x90\x9f\x8a\x38\x43\x3f\x77\xf2\xeb\x31\xd5\xd2\x7f\xe8\x77\xf4\x44\x55\x0a\x5f\x5a\x70\xa6\x20\xae\x91\x07\x23\xb9\x43\x6e\xc0\x6d\xd4\x03\x7a\x90\x16\x32\x9e\x86\x18\xb3\x4c\x72\x07\x7e\xd6\x56\xe2\x37\x4e\x7e\x0b\x43\x9c\xb5\xc2\x47\xcc\x4f\x43\x0d\xc0\x6b\x7c\x03\x26\xf4\x36\xb0\x83\x8b\xa9\x26\xee\x1c\x71\x85\x3a\x56\xc4\x36\xd4\x13\x9a\x02\x9e\x43\x93\xfa\x10\x27\xf0\x83\x87\x36\xe8\x08\x7a\xad\xd2\x82\x33\xcf\x44\x1f\xc0\xc3\xac\x20\xee\x33\xe1\x46\x06\x1e\x06\x9e\x20\x77\xa6\x0a\x5c\x0c\xf3\x11\x7b\x07\xfe\xb4\xe2\x17\x7d\x81\x9a\x3a\xe4\x3e\xf4\x12\x34\x08\x7e\x50\x2b\xaf\x13\xad\xe8\x02\xec\x0c\x5a\x7a\xae\x33\x81\x73\x58\xab\x45\xd7\x10\x13\xb4\xa5\x1a\xa4\x77\xab\x4c\x62\x44\xdf\x40\x4f\xb2\xd0\xbf\xf0\x6d\x4b\xd1\x99\xa2\x23\x76\xb9\xf0\xd8\x73\x51\x13\x3b\x60\xca\x45\xb7\x74\x2a\xfc\x40\x0f\x40\xfb\xb0\x06\xda\x86\x5e\x02\x9f\xa0\x21\x98\x0b\xad\xf3\xb6\xa1\x69\x46\xb8\xd8\x80\xd3\xb5\xf4\x33\xb8\xed\x60\xc3\x12\xdb\x4c\x7e\x07\x8c\xa7\xc2\x6d\xf0\x61\x08\x9a\x89\x7d\x06\xbd\xa8\x2b\xf1\x07\xff\xe8\x47\x68\x07\x74\xb8\x07\xf6\x4a\xf2\x88\xfa\x40\xf7\x81\xd9\xef\x0b\x95\x70\x05\x1a\xee\xf7\x9d\x5c\xb8\x0a\x8d\x87\x5d\xd4\x12\x1c\x42\x3e\xb0\x06\xf8\xd1\x7f\x8d\x93\x67\x60\x80\x4e\xf9\xfe\xcb\x44\x7b\x30\x86\xde\x46\xff\x63\x1e\xb8\x81\x18\x9b\x90\xfb\x2e\xac\x07\x3e\xc4\x88\x7d\x0a\x9c\xc6\x37\xd4\x13\x3d\x8d\xbc\xa0\x27\xeb\xb0\xd6\x60\x6e\x23\xfa\x6f\x1b\xa9\x3d\x38\x80\xbd\x69\xe8\xa5\x26\x79\x27\x3a\x83\x7c\x65\x56\x7a\x48\x3b\xe1\x1a\xf6\x59\xe8\x18\x34\x32\xad\x25\x36\xe8\x7f\x9d\x8b\x7e\x0c\x8d\xe0\x83\x16\xba\xa0\x4d\xe8\x7b\x7c\x03\x47\x91\x7f\xe8\x30\xd6\xd5\x2d\x71\x5f\x49\xcf\xfa\x7d\x37\x0d\xfa\xd1\x48\xbe\x11\x07\xf0\x22\xce\xc2\x85\xdc\x3a\xd1\x25\xd4\x01\x18\xa1\x01\xc0\x36\x84\x33\x02\x6c\x0f\x85\x68\xc7\x10\xb4\xb6\x0d\xbd\x07\x5f\xd0\x7b\xe8\x2b\xb4\x0b\x7b\x3c\x38\x05\x4d\xeb\xc3\x5e\x89\xda\xa2\x37\xb1\x87\xf8\xef\x95\x7c\xf7\x1a\xed\x82\x2d\x23\x35\xd6\xc1\x26\xea\x6f\x03\x4f\x51\x6f\xf4\x0f\x7a\xc1\x84\xfd\x04\x67\x05\x68\x03\x78\x55\x97\xa2\x1f\xc8\x39\x38\x96\x85\x7c\x03\x33\xec\x01\x0f\xe2\x42\x7c\xd0\x30\x7c\x43\xdd\xb0\x67\x61\x4f\x41\x3d\xf1\x8c\xda\x66\x21\xd7\xe0\x15\xde\xb1\xef\xf8\xfe\xb1\xe1\xfc\x50\x49\x7e\xc0\x27\xdf\xbf\x29\x71\x89\x7e\xe8\xa4\x2f\xbe\x3c\x3f\xe1\x0f\x3a\xd6\x87\x3d\x07\xf8\xb0\x1f\xa7\xe6\x61\xde\xea\xe1\x3e\xf5\xf5\x89\x2d\x9c\xf5\x9f\xbb\x43\x3d\xdc\x08\x9e\xdc\xc1\xe2\x28\x7a\xe6\xd4\xb7\x89\xa3\x68\xf5\xdc\x95\x73\xb5\x89\xa3\xe4\xf1\x84\xfe\xf5\x42\xf8\xfd\x93\xbf\x58\x3c\xf5\xeb\x6f\x16\x8f\xd7\xb7\x17\x21\x7f\xef\x8a\xf4\x78\xb3\xf1\x77\x93\xdd\xf5\x97\xe7\xdc\x8f\xb8\x01\xec\xd4\x0b\xc0\x15\x0e\xf9\x3b\x95\x77\x59\xb3\x51\x38\xaf\xef\x9e\x1e\xe7\xd7\x65\x9e\x26\x7e\x1c\xa7\xf0\x9d\x9c\xd2\xff\x71\x1a\x79\x9d\x55\x75\x51\xa5\x55\xdd\x95\x1b\x95\x26\xf7\x71\xa4\xe1\xfa\x27\x1f\xe4\x47\x1f\xd9\x4e\x85\x00\x81\x6b\xe7\xff\xdf\x3f\x26\x5b\x6f\x9e\x3d\x61\xff\x3f\x00\x00\xff\xff\xf6\xcf\x5f\x30\x00\x10\x00\x00") func resResGoBytes() ([]byte, error) { return bindataRead( _resResGo, "res/res.go", ) } func resResGo() (*asset, error) { bytes, err := resResGoBytes() if err != nil { return nil, err } info := bindataFileInfo{name: "res/res.go", size: 12288, mode: os.FileMode(420), modTime: time.Unix(1563505761, 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) { cannonicalName := strings.Replace(name, "\\", "/", -1) if f, ok := _bindata[cannonicalName]; 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) { cannonicalName := strings.Replace(name, "\\", "/", -1) if f, ok := _bindata[cannonicalName]; 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){ "res/messages_en.json": resMessages_enJson, "res/messages_zh.json": resMessages_zhJson, "res/res.go": resResGo, } // 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("notexist") would return an error // AssetDir("") will return []string{"data"}. func AssetDir(name string) ([]string, error) { node := _bintree if len(name) != 0 { cannonicalName := strings.Replace(name, "\\", "/", -1) pathList := strings.Split(cannonicalName, "/") 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{ "res": &bintree{nil, map[string]*bintree{ "messages_en.json": &bintree{resMessages_enJson, map[string]*bintree{}}, "messages_zh.json": &bintree{resMessages_zhJson, map[string]*bintree{}}, "res.go": &bintree{resResGo, 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 { cannonicalName := strings.Replace(name, "\\", "/", -1) return filepath.Join(append([]string{dir}, strings.Split(cannonicalName, "/")...)...) }