2018-04-27 22:38:23 +00:00
|
|
|
// Code generated by go-bindata. DO NOT EDIT.
|
|
|
|
// sources:
|
|
|
|
// frontend/app.js
|
|
|
|
// frontend/index.html
|
|
|
|
|
|
|
|
package main
|
|
|
|
|
|
|
|
|
|
|
|
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 fileInfoEx
|
|
|
|
}
|
|
|
|
|
|
|
|
type fileInfoEx interface {
|
|
|
|
os.FileInfo
|
|
|
|
MD5Checksum() string
|
|
|
|
}
|
|
|
|
|
|
|
|
type bindataFileInfo struct {
|
|
|
|
name string
|
|
|
|
size int64
|
|
|
|
mode os.FileMode
|
|
|
|
modTime time.Time
|
|
|
|
md5checksum string
|
|
|
|
}
|
|
|
|
|
|
|
|
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) MD5Checksum() string {
|
|
|
|
return fi.md5checksum
|
|
|
|
}
|
|
|
|
func (fi bindataFileInfo) IsDir() bool {
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
func (fi bindataFileInfo) Sys() interface{} {
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
var _bindataFrontendAppjs = []byte(
|
|
|
|
"\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x54\xc1\x6e\xc3\x36\x0c\xbd\xe7\x2b\x08\x34\x80\xe4\xc2\x71\xd6\x9e" +
|
|
|
|
"\x06\x17\x29\xb0\xae\x41\xda\x53\x0f\x2b\xb0\xe3\xa0\x58\xb4\xad\x42\x96\x0c\x89\x4e\xda\x15\xf9\xf7\xc1\xb2\xe4" +
|
|
|
|
"\x24\x5b\xb1\x2b\xf9\xf4\xf8\xf4\xf8\xa4\xf5\x2d\x34\xda\xee\x85\x86\x65\x59\x0b\xed\x11\x5e\x84\x91\x1a\xf7\xc2" +
|
|
|
|
"\xf9\x58\xb8\x5d\x2f\x16\x95\x16\xde\xc3\x4e\x68\x8d\xee\x0b\xbe\x17\x00\x95\x35\x9e\xdc\x50\x91\x75\x3c\x0b\x15" +
|
|
|
|
"\xb8\x38\x5a\x38\x6c\x94\x27\x74\x2f\xa8\x7b\x74\x9c\xa9\x7a\x47\x2c\x07\x6a\x95\x2f\xda\x19\xf6\xa4\x9a\x06\xdd" +
|
|
|
|
"\x7b\x2b\x4c\xf6\x10\x18\x42\x1f\x9d\xb3\xee\x2f\xea\x35\x6c\x2e\x29\x2b\xdb\xf5\x4a\x23\x5f\x72\x76\x13\x20\x2b" +
|
|
|
|
"\xc2\xae\xd7\x82\x90\x65\x45\x4b\x9d\xe6\xd9\x25\x8b\xd0\xfb\xa1\xfb\x7f\x96\x00\xf9\x91\xe5\x4c\x63\x7b\x52\xd6" +
|
|
|
|
"\x78\x24\xd8\xc4\x5b\x02\xac\xd7\xb0\x43\x83\x4e\x68\x88\xed\xd8\x90\xf6\x68\xb4\x15\xb2\x84\x60\x5d\x1e\xcb\x1e" +
|
|
|
|
"\x35\x8e\x46\x95\xc0\x54\xd7\xb0\xfc\x4c\xf3\xde\x0e\xdd\xde\x08\xa5\x13\x03\xa5\x42\x09\xe4\x86\x99\x21\x94\xff" +
|
|
|
|
"\x54\x92\xda\x12\x7e\xfd\x25\x55\xf1\x33\x9c\x7f\xed\x44\x83\x25\x30\xef\xaa\x99\xdb\xb7\xf6\x18\x9a\x4f\x5f\xcf" +
|
|
|
|
"\x58\x8b\x41\xd3\x95\xa6\xd3\x68\xd4\x69\xbc\xa6\x54\xbe\xd7\xe2\x6b\x3b\x1a\xca\x3b\xf4\x5e\x34\x08\x1b\x60\x2c" +
|
|
|
|
"\x2d\x75\xc9\x59\x51\x59\x43\x42\x19\x74\xab\x5a\x0f\x4a\xb2\xac\x10\x7d\x8f\x46\xf2\xeb\x7d\xf1\x64\x50\xe4\x89" +
|
|
|
|
"\xb3\xa6\xb5\x84\x69\x3f\xad\x9e\x1f\xee\x72\x38\xdc\xe7\xc9\xcb\x34\x58\xd5\xc0\x0f\x77\xf0\x08\x87\xfb\x6c\xb6" +
|
|
|
|
"\xde\x21\x0d\xce\x24\x68\x51\x9b\x20\x21\xee\xfd\xb4\xf8\x01\xa2\xcc\x01\x9d\xc7\x33\x2e\x08\x51\x46\x91\x12\x5a" +
|
|
|
|
"\xfd\x8d\x7c\x70\x6a\xbe\x6b\x21\x3e\xc4\xe7\x58\xc9\xe7\x89\xe1\x76\x25\xf0\x0c\x36\x8f\x53\x24\xae\x2c\x63\xbf" +
|
|
|
|
"\xdb\x41\x4b\x30\x96\xa0\x46\xaa\x5a\x08\xa1\xf2\x05\xcb\xf2\xd9\x0c\x6a\xad\x2c\x81\xed\xb6\xef\xe7\xfd\x0c\x55" +
|
|
|
|
"\x85\xde\x97\xc0\xa5\x20\x71\xe6\xee\x9d\x1d\xeb\xbf\x05\x92\xa9\x97\x5c\x9c\xb5\x5f\x63\xc2\xbc\xe7\x40\x32\x49" +
|
|
|
|
"\xd6\x48\x51\x04\x6c\x60\xee\x4e\xef\xc1\x4f\x46\x45\x8d\xde\x3a\xe2\x5c\xe4\xb0\x0f\x02\xf6\x85\x92\xb0\x02\x51" +
|
|
|
|
"\x28\x99\x9e\x40\x04\xd6\xd6\x6d\x45\xd5\xf2\x69\x58\x00\x27\x7b\xe6\x69\x5b\x8d\x1d\x9a\xf1\x99\x2c\xf9\xf5\x03" +
|
|
|
|
"\x8c\xa7\xe2\x92\x42\xa2\x6e\x9a\xe9\x2b\x59\x1d\x9d\xe8\xcf\x71\xba\x24\x9a\xe1\x97\xc5\x42\xab\xa6\xa5\xf8\x0f" +
|
|
|
|
"\x4d\x63\x86\x5e\x0a\x42\xf9\x16\xd6\xfd\x07\xd2\x1c\x42\x80\x38\xe4\x55\x96\x13\x49\xa1\x64\xf2\xff\x94\xe4\x5c" +
|
|
|
|
"\xf8\xfa\x1f\x26\xdb\xd3\xe8\xe1\xf7\x29\x59\x1b\xa3\xf5\xb6\xff\xc0\x8a\x0a\xe1\xbd\x6a\x0c\xff\x3e\xe5\xff\xfa" +
|
|
|
|
"\x2a\x42\x94\x53\xd8\x4e\x8b\xc5\x92\xf3\xd9\xb3\xd1\xaf\xa8\x0b\x36\x60\xf0\x98\x7e\x55\x1e\xf0\xb1\x55\x5c\xe4" +
|
|
|
|
"\x93\xc5\x25\x7c\x78\x6b\x58\xf6\xb0\x18\x15\xff\x13\x00\x00\xff\xff\xc1\x5d\x6e\x02\xb7\x05\x00\x00")
|
|
|
|
|
|
|
|
func bindataFrontendAppjsBytes() ([]byte, error) {
|
|
|
|
return bindataRead(
|
|
|
|
_bindataFrontendAppjs,
|
|
|
|
"frontend/app.js",
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
func bindataFrontendAppjs() (*asset, error) {
|
|
|
|
bytes, err := bindataFrontendAppjsBytes()
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
|
|
|
info := bindataFileInfo{
|
|
|
|
name: "frontend/app.js",
|
|
|
|
size: 1463,
|
|
|
|
md5checksum: "",
|
|
|
|
mode: os.FileMode(436),
|
|
|
|
modTime: time.Unix(1, 0),
|
|
|
|
}
|
|
|
|
|
|
|
|
a := &asset{bytes: bytes, info: info}
|
|
|
|
|
|
|
|
return a, nil
|
|
|
|
}
|
|
|
|
|
|
|
|
var _bindataFrontendIndexhtml = []byte(
|
2018-04-28 16:51:55 +00:00
|
|
|
"\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x58\x6b\x73\xda\x3a\x13\xfe\xde\x5f\xa1\xe3\xce\x3b\x93\x4e\x2a\x1b" +
|
|
|
|
"\x73\x0b\x50\xc8\x1c\x42\x9a\x92\x0b\xb9\x90\xa4\x4d\xfa\x4d\xb6\x65\x5b\x20\x4b\x8e\x24\x73\x09\x93\xff\xfe\x8e" +
|
|
|
|
"\x8c\x0d\x86\x86\x36\xa7\xa7\x87\x4e\xc1\x96\x76\x57\xfb\xec\x45\xbb\x9b\xf6\x5f\x1e\x77\xd5\x3c\xc6\x20\x54\x11" +
|
|
|
|
"\x3d\x7c\xd7\xd6\x3f\x80\x22\x16\x74\x0c\xcc\x8c\xc3\x77\x00\xb4\x43\x8c\x3c\xfd\x00\x40\xfb\x2f\x08\xc1\x10\x3f" +
|
2018-04-27 22:38:23 +00:00
|
|
|
"\x25\x44\x60\x0f\x44\x58\x21\xa0\x50\x20\x01\x84\xd9\x7e\xba\xe4\x86\x48\x48\xac\x3a\x46\xa2\x7c\xd8\x30\x8a\x5b" +
|
2018-04-28 16:51:55 +00:00
|
|
|
"\xa1\x52\x31\xd4\xfc\x93\x8e\xf1\x00\xef\xbb\xb0\xc7\xa3\x18\x29\xe2\x50\x6c\x00\x97\x33\x85\x99\xea\x18\xa7\x9f" +
|
2018-04-27 22:38:23 +00:00
|
|
|
"\x3b\xd8\x0b\xf0\x06\x27\x43\x11\xee\x18\x13\x82\xa7\x31\x17\xaa\x40\x3c\x25\x9e\x0a\x3b\x1e\x9e\x10\x17\xc3\xf4" +
|
2018-04-28 16:51:55 +00:00
|
|
|
"\xe5\x23\x20\x8c\x28\x82\x28\x94\x2e\xa2\xb8\x63\x7f\x04\x32\x14\x84\x8d\xa1\xe2\xd0\x27\xaa\xc3\xb8\x71\xf8\x6e" +
|
2018-04-27 22:38:23 +00:00
|
|
|
"\x0d\xe8\x88\x73\x25\x95\x40\x31\xe8\xdd\xde\xae\xb1\x50\xc2\xc6\x40\x60\xda\x31\xa4\x9a\x53\x2c\x43\x8c\x95\x01" +
|
|
|
|
"\x42\x81\xfd\x8e\xa1\x71\xc8\x96\x65\xb9\x1e\x1b\x49\xd3\xa5\x3c\xf1\x7c\x8a\x04\x36\x5d\x1e\x59\x68\x84\x66\x16" +
|
2018-04-28 16:51:55 +00:00
|
|
|
"\x25\x8e\xb4\xd4\x94\x28\x85\x05\x74\xf2\x13\xac\xaa\x59\x32\x4b\x96\x2b\xa5\xb5\x5a\x33\x23\xc2\x4c\x57\x4a\x23" +
|
|
|
|
"\x3d\x76\xf9\x21\x4c\xe1\x40\x10\x35\xef\x18\x32\x44\xe5\x5a\x1d\x5e\x74\x1b\xcd\xe7\xfd\x71\xd3\x1f\x05\x83\xf3" +
|
|
|
|
"\x1b\x6b\xfc\x54\xbd\xba\x2a\x0f\x84\xdf\xf8\x4a\xd5\x63\x44\xad\xaf\x9f\x6f\xf7\x87\x41\xc9\x0f\xcb\xa5\x8e\x01" +
|
|
|
|
"\x5c\xc1\xa5\xe4\x82\x04\x84\x75\x0c\xc4\x38\x9b\x47\x3c\x91\x06\xb0\xfe\x1c\xb6\x54\xff\x29\x52\x6e\x98\x81\xf2" +
|
|
|
|
"\x90\x18\xd3\xf9\x3f\xc5\xe5\x84\xc7\x55\xeb\xd8\xeb\x75\xe3\xcb\xee\x23\xbd\x8a\x27\xe7\x52\xde\xa3\x72\x78\x5c" +
|
|
|
|
"\x3a\x4e\x1a\x33\x11\x5c\x4d\xd4\x63\x75\x5a\xae\xc9\x70\xf0\x73\x5c\x7f\x0c\x18\x25\x41\xa8\x02\x44\x29\x16\x73" +
|
|
|
|
"\xcb\x36\xeb\x66\x33\xf5\x57\x71\xf9\x6d\xd0\x1a\xc2\xef\x3b\x67\x62\x7f\x94\x54\xae\xdc\x52\xb3\x39\x3a\x39\x1b" +
|
|
|
|
"\x0c\xed\x59\xf7\x3a\x69\xf4\xee\xae\xfb\xf7\x8d\xe4\xba\x76\x56\x79\xb0\xbe\x76\x1f\xff\x14\xb4\x44\x62\xd3\xe7" +
|
|
|
|
"\x4c\xa1\x29\x96\x3c\x5a\x22\x13\x98\x62\x24\xb1\xb4\x26\x35\xb3\x64\xda\xcb\xe8\x43\x94\xfe\x1c\x40\xa5\x51\x85" +
|
2018-04-27 22:38:23 +00:00
|
|
|
"\xfb\x5e\xe9\xba\x51\x61\xcd\x31\xba\x19\xf4\xa6\xa3\xc6\x49\x75\x78\x76\x54\xaf\xab\xe7\xd3\xe9\xd5\x79\x24\x3c" +
|
2018-04-28 16:51:55 +00:00
|
|
|
"\xa7\x5a\xdf\x8f\xb9\x38\xb6\xae\x26\xe2\x6c\xbf\x72\xf0\xed\xe9\x74\x70\x70\xcf\x8f\xd4\xb4\x7f\x55\xbf\xa4\xc1" +
|
|
|
|
"\x4e\x50\x39\xa4\x14\xc8\x61\xa6\x83\xe9\x22\xe1\x81\x05\x70\x13\x21\xb9\x68\x81\x98\x6b\x8d\xc4\x27\xf0\xb2\x41" +
|
|
|
|
"\x90\x7e\x43\x12\x05\x90\x4f\xb0\xa0\x68\x0e\x16\x39\x29\xc4\x13\xcc\x94\x6c\x01\xc6\x19\xfe\x04\x9e\x21\x61\x1e" +
|
|
|
|
"\x9e\xb5\x40\x65\x4b\x86\x99\xb9\xb1\x15\x6a\x11\x80\x44\x01\x58\xac\xa9\xed\x5f\x52\xb7\x98\x0a\xa1\x1b\x12\xea" +
|
|
|
|
"\xed\xd9\x1f\x8a\xac\xe5\x7f\xc2\x5a\xd6\xac\x4a\x20\x26\x7d\x2e\xa2\x16\x10\x5c\x21\x85\xf7\x60\xd9\xc3\xc1\x87" +
|
|
|
|
"\xe5\x06\x45\x0a\x3f\xee\xd9\xa5\x78\x56\x58\x78\xd8\x83\x76\x39\x9e\x7d\xf8\x27\x67\x55\x5e\x3f\x0b\xd4\xb6\xcf" +
|
|
|
|
"\x82\x8d\xad\xb3\xc0\x6b\x67\x81\xfc\x30\x0d\x9c\xb8\x48\x71\x91\x7a\x41\x12\x45\x38\x6b\x01\xe4\x48\x4e\x13\x85" +
|
|
|
|
"\x3f\x01\xa1\xb3\xa6\x05\x6c\x1c\x7d\x02\x0a\xcf\x14\x94\x21\xf2\xf8\xb4\x05\x4a\xa0\x04\x2a\xf1\x0c\xbc\x2f\x97" +
|
|
|
|
"\xf4\xbf\x4f\x40\xf1\x38\xa3\xfb\x95\xbf\xc3\x9a\x06\xf3\x53\x61\x9b\x22\x52\x5b\x70\xb5\xd7\xf2\x89\x90\x6a\x69" +
|
|
|
|
"\x92\x0f\x3b\x14\x5e\xf9\x12\x6e\xc7\x41\x16\x27\xa9\x6d\x32\xb6\x95\x45\x81\x59\x91\x40\x67\x19\xe4\x89\xfa\x04" +
|
|
|
|
"\xd2\x32\xd4\x02\x76\xa9\xf4\xbf\x82\x10\x86\x26\x30\x4d\x62\xa2\xa3\x9c\x53\x1d\xe4\x22\x70\xd0\x5e\xb9\x56\xfb" +
|
|
|
|
"\x98\xff\x37\x6b\xa9\xb1\x33\x9e\xbf\x23\xec\x11\x04\xf6\x22\x34\x83\x99\x50\x70\x50\x3f\x30\x9b\xa9\x9b\x76\x7d" +
|
|
|
|
"\x16\xc0\x9c\xc2\x58\x70\x17\x2c\x72\x55\x6a\xa9\x26\x2b\x5d\x5e\x93\xdb\x6c\xda\x99\x5c\xc4\x3c\xb0\x17\x11\x96" +
|
|
|
|
"\x6f\x1d\xd4\x97\xc7\xbd\x22\xb7\x52\xf9\x95\x5c\xdb\x6e\x36\x77\xc8\x6d\x36\xcb\xbb\xe4\x96\x6b\xaf\xcb\x5d\x33" +
|
|
|
|
"\xdb\xe5\x52\xe9\x67\x46\x78\xdd\x0e\xe5\xa2\x1d\xda\x56\x76\x01\x2d\xdf\x14\x51\x14\x1f\x5e\x87\x5c\x71\xd9\xb6" +
|
|
|
|
"\x96\x6f\xba\xff\xb1\xf2\x06\xa8\xed\x70\x6f\x9e\x55\x50\x86\x26\xc0\xa5\x48\xca\x8e\xc1\xd0\xc4\x41\x02\x2c\x7f" +
|
|
|
|
"\x20\x9e\xc5\x88\x79\x90\x06\xc0\x27\x33\xec\x41\x87\x2b\xc5\xa3\x7c\x37\xad\x22\xc0\x09\x96\x0f\x46\x7e\xf7\xb5" +
|
|
|
|
"\xd1\xa6\x30\xe8\x08\xc4\xbc\xfc\x76\x7f\x6f\xac\xb4\x42\x2b\x0e\x27\x51\x8a\xb3\x2d\x36\xc5\x83\x80\x62\x61\x00" +
|
|
|
|
"\xdd\xd2\x75\x8c\x25\x8d\x01\x3c\xa4\x50\xb6\xd7\x31\x5c\x4e\x29\x8a\x25\x36\xc0\xbb\x4d\x73\x2d\xa9\x90\x08\x74" +
|
|
|
|
"\xef\xf6\x7e\x29\xf1\x36\x89\x75\xbf\x85\xbd\xde\xb2\xdf\x32\x00\x12\x04\x41\xdd\x7d\x09\x4e\x57\x07\xff\x40\xb6" +
|
|
|
|
"\x25\x3a\x65\x5a\x5a\x06\x7b\x1d\xc3\x47\x54\x9f\x9f\xae\x52\xe4\xe8\x9a\x76\x97\x6a\xa7\xcd\x44\x02\xa4\xb3\x6b" +
|
|
|
|
"\x65\x1b\x5d\x27\x62\xb4\x03\x29\x24\xae\x26\x6d\x5b\x9a\x64\x65\x1b\x6b\x09\xfc\x30\x4f\xa3\xb6\x47\x56\xde\xca" +
|
|
|
|
"\xe1\xe7\x1e\x59\x9b\x83\x78\x3b\xe1\x14\x74\x49\xe8\x96\x26\x3a\x12\x22\x0a\x51\xa2\x78\x81\x2e\x2d\xd8\x05\x4a" +
|
|
|
|
"\x48\x14\x8e\x8c\xc3\x0d\x47\xa7\xb7\xc1\x76\x09\x47\x21\xc5\x42\x9a\x11\xb6\x8c\xa5\x9c\x34\x10\x3b\xc6\x37\xec" +
|
|
|
|
"\x48\xa2\xb0\x71\xd8\x5e\x89\xf5\x91\x04\x3e\x82\x21\x8f\xf4\xb2\x45\x0e\x41\x9f\x47\x38\x46\x01\xd6\x81\xd2\xb6" +
|
|
|
|
"\x28\xf9\x03\xfa\x8c\x59\xa2\x4c\xc2\xf2\x5e\xd6\xc8\xf5\xb9\xcb\xde\x37\xf4\x71\xb4\x3e\x6a\xb5\xa3\x55\xfa\xfb" +
|
|
|
|
"\x22\x79\x26\x3e\x16\x3f\xaa\xd4\xb6\x12\xba\x76\x99\x47\x26\x59\x6a\x59\x0c\x4d\xf2\x9c\xdc\x70\x1c\x53\x88\x30" +
|
|
|
|
"\x2c\xa0\x4f\x13\xe2\xad\x73\xa7\x40\x23\xf8\x14\x44\x0a\x56\x40\xe4\xc0\x5a\xd1\x6b\x9b\x01\x00\x23\x0f\xda\x65" +
|
|
|
|
"\xe0\x41\x9f\xe2\x19\x18\x25\x52\x11\x7f\x0e\xb3\x91\x02\x52\xec\x2b\xa0\x77\xe0\x54\xa0\x78\x19\x17\x79\xbd\x4b" +
|
|
|
|
"\x57\x0e\x0b\xda\x6e\xa9\x9e\x3e\xae\x47\x8b\xd1\x4d\x82\xc5\x1c\xa4\x75\xe7\x23\x50\x21\x66\xe0\x9a\xc7\x31\x16" +
|
|
|
|
"\xe6\x48\x66\xef\xeb\xe9\xe3\xac\x30\x7c\x48\x57\x90\x58\x01\x29\xdc\x37\xf7\xad\xa3\x27\x7d\x96\x55\x31\x2b\xa6" +
|
|
|
|
"\x9d\xbd\xa4\x7d\xea\x48\x6e\x66\xe3\x8f\x8d\xea\x49\x10\xf7\x1c\xeb\xfc\xec\x86\x5e\x5c\xfa\x57\x49\xd3\x56\xa8" +
|
|
|
|
"\x52\xe6\xd6\xe5\xe0\xfb\x8c\xaa\xe9\x90\x37\x6e\x54\x34\x1e\x0c\xbd\x6e\xd2\xd8\xdd\xa8\xea\x1c\x4c\x95\xfe\x7d" +
|
|
|
|
"\x04\x71\x6e\x1a\xcb\x36\xed\xaa\x69\xe7\x0b\x6f\x43\x71\x7b\x57\x1e\x60\x57\x3c\x88\x33\xd4\x95\x4f\x91\x1f\x8f" +
|
|
|
|
"\x9b\x0f\xc3\x9b\xd3\x3b\x7a\xcc\xe7\x83\xe8\x5e\x05\xe7\x47\x9f\x99\x77\x4c\xe4\xad\xfb\x9f\xa2\xd8\x35\xf4\x8d" +
|
|
|
|
"\xb6\x67\xbe\x5f\x43\xaa\xed\x97\xca\xcf\x49\xed\xfe\xfe\xe2\x66\x7c\x75\x30\xb5\xbf\x9c\x8a\xfa\xc4\x57\xbd\x60" +
|
|
|
|
"\xe0\x9f\x78\xdf\xdd\x6e\x1f\x1f\xab\x13\x76\xfe\x5d\x1e\xc9\x37\x41\x5a\x07\xe6\x85\x2e\x3f\x5f\x96\x41\xfd\xaf" +
|
|
|
|
"\xa2\xee\x95\x69\x69\xf4\xca\xb0\xf4\x6b\xac\xec\xb3\x3b\xf2\x6e\x1a\xce\x49\x95\x5b\xb3\xf3\x93\xde\xed\xb7\xa3" +
|
|
|
|
"\x66\x77\xfc\x7d\xbf\x7f\xfd\x2d\xea\x39\xe3\xfe\xe5\x53\x12\x7e\xae\x3d\x5e\x5e\x78\x6f\xc3\xfa\xdb\x80\x02\x18" +
|
|
|
|
"\x22\x19\x5a\xb6\x59\x32\xab\xf9\xdb\x1b\x31\x88\x5e\x3d\xbe\xac\x0e\x6d\x1e\x8d\x84\x1a\x4c\x4b\x75\x76\x32\xe8" +
|
|
|
|
"\x75\x87\xcf\x8f\x4f\xb3\xa4\x3a\x47\x5f\xf9\xf0\xae\xff\x1d\xed\x4f\xef\x9e\xa7\xff\x35\x06\x15\x26\x91\xc3\x10" +
|
|
|
|
"\xa1\x3a\x97\xcc\xd2\xc6\xd2\x1b\xd1\xf4\xc6\xd6\xf5\xb7\x9b\x7b\xde\x97\x6e\xd3\x2b\x3f\x54\xe7\xf7\xdd\x8b\x89" +
|
|
|
|
"\x90\x07\xf6\x0d\xaf\xb9\x72\x3f\x38\xed\x1f\x7f\x3b\xa2\xe5\x2f\x81\xf3\xb6\x6b\xe1\xb7\xe1\x84\x88\x79\x14\x3b" +
|
|
|
|
"\x48\x48\x7d\x37\xe8\x6c\xb2\xed\xe2\xe2\xdb\xe0\xec\x9f\x0d\xfa\xf2\x61\x38\xc7\x77\x72\x2a\x2d\xf5\xec\x9c\x86" +
|
|
|
|
"\xb5\xc7\xfe\xcd\x6c\xe8\x9d\xf7\x92\xcb\x51\x34\xb9\x74\xef\x4e\xd4\x63\xfd\xf8\xe2\x6d\xf7\xc3\x8f\x70\x50\x1c" +
|
|
|
|
"\x6b\x3d\x76\xd1\xe8\x3a\x82\xa8\x93\x44\x50\xe1\x28\xd6\xe3\x55\xde\xa7\xe9\x61\xc6\x9a\xc1\x35\xa4\x35\xc5\x6b" +
|
|
|
|
"\x55\x2e\x9d\x46\xf2\x1e\x72\x39\x09\x4d\x43\xa2\x30\xc8\xba\x5d\x9f\x72\x94\x95\xb1\xc5\xe2\x3d\xf1\xbf\x28\x40" +
|
|
|
|
"\x22\x14\x60\x69\x52\xcc\x02\x15\x02\xfb\xe5\x25\x4b\xce\xc5\xc2\xd2\xfb\x2f\x2f\x85\x62\xb9\x58\xbc\xc7\xc8\x0d" +
|
|
|
|
"\x33\x9e\x97\x97\x75\x15\xd5\x13\x50\x41\x07\x3d\x95\x01\x87\x0b\x4f\xb7\x05\x05\xeb\xa7\xc6\x58\x2c\x56\xf1\xf6" +
|
|
|
|
"\xf2\x52\xf4\x0d\xa2\x2a\xdd\xd5\x6d\xc4\xcb\xcb\x06\x63\xda\x81\x66\xdc\x7e\x42\xa9\x24\xcf\x78\x4b\x35\x4b\xab" +
|
|
|
|
"\x56\xd4\x69\xcb\x2e\x9b\x93\x22\xb4\x4b\xa5\xbc\xcc\xa7\x15\xdd\xe5\x34\x89\xd8\x0f\x25\x1f\x33\x6f\xb3\x77\x0b" +
|
|
|
|
"\x6b\x87\x2b\x15\xdb\x56\x58\x2b\x6e\xee\xb4\x69\x51\xc0\x76\x93\xe6\x52\xce\x30\xf8\x61\x6c\x5e\x36\x49\x1b\xc2" +
|
|
|
|
"\x33\x87\x14\xda\xa4\x5d\xcd\xc6\xce\x28\xc3\x42\x70\xf1\x6f\xa3\x4c\xf7\x52\xdb\x76\x8a\x3c\xe8\x62\x96\x36\x77" +
|
|
|
|
"\x3b\x7b\xab\x99\x84\x76\x49\xcf\xb7\x50\x46\xb0\x01\xb2\x76\xab\x9e\x3e\xd0\x00\x56\x37\x0d\x5d\x60\x46\x14\x0b" +
|
|
|
|
"\x05\xd2\x6f\xe8\x21\x16\xe8\x53\x16\x8b\x08\x4b\x89\x82\xd4\x0d\x05\x3b\xbc\xd1\x2c\x6d\x6b\x39\xb2\xb5\xad\xe5" +
|
|
|
|
"\x9f\xb7\xff\x1f\x00\x00\xff\xff\x01\x2b\x1d\xba\xef\x16\x00\x00")
|
2018-04-27 22:38:23 +00:00
|
|
|
|
|
|
|
func bindataFrontendIndexhtmlBytes() ([]byte, error) {
|
|
|
|
return bindataRead(
|
|
|
|
_bindataFrontendIndexhtml,
|
|
|
|
"frontend/index.html",
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
func bindataFrontendIndexhtml() (*asset, error) {
|
|
|
|
bytes, err := bindataFrontendIndexhtmlBytes()
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
|
|
|
info := bindataFileInfo{
|
|
|
|
name: "frontend/index.html",
|
2018-04-28 16:51:55 +00:00
|
|
|
size: 5871,
|
2018-04-27 22:38:23 +00:00
|
|
|
md5checksum: "",
|
|
|
|
mode: os.FileMode(436),
|
|
|
|
modTime: time.Unix(1, 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, &os.PathError{Op: "open", Path: name, Err: os.ErrNotExist}
|
|
|
|
}
|
|
|
|
|
|
|
|
//
|
|
|
|
// MustAsset is like Asset but panics when Asset would return an error.
|
|
|
|
// It simplifies safe initialization of global variables.
|
|
|
|
// nolint: deadcode
|
|
|
|
//
|
|
|
|
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, &os.PathError{Op: "open", Path: name, Err: os.ErrNotExist}
|
|
|
|
}
|
|
|
|
|
|
|
|
//
|
|
|
|
// AssetNames returns the names of the assets.
|
|
|
|
// nolint: deadcode
|
|
|
|
//
|
|
|
|
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){
|
2018-04-28 16:51:55 +00:00
|
|
|
"frontend/app.js": bindataFrontendAppjs,
|
|
|
|
"frontend/index.html": bindataFrontendIndexhtml,
|
2018-04-27 22:38:23 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//
|
|
|
|
// 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, &os.PathError{
|
|
|
|
Op: "open",
|
|
|
|
Path: name,
|
|
|
|
Err: os.ErrNotExist,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if node.Func != nil {
|
|
|
|
return nil, &os.PathError{
|
|
|
|
Op: "open",
|
|
|
|
Path: name,
|
|
|
|
Err: os.ErrNotExist,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
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{Func: nil, Children: map[string]*bintree{
|
|
|
|
"frontend": {Func: nil, Children: map[string]*bintree{
|
|
|
|
"app.js": {Func: bindataFrontendAppjs, Children: map[string]*bintree{}},
|
|
|
|
"index.html": {Func: bindataFrontendIndexhtml, Children: 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
|
|
|
|
}
|
|
|
|
return os.Chtimes(_filePath(dir, name), info.ModTime(), info.ModTime())
|
|
|
|
}
|
|
|
|
|
|
|
|
// 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, "/")...)...)
|
|
|
|
}
|