2017-08-03 16:32:30 +00:00
|
|
|
// Code generated by go-bindata.
|
|
|
|
// sources:
|
|
|
|
// frontend/application.coffee
|
|
|
|
// frontend/application.js
|
|
|
|
// frontend/index.html
|
|
|
|
// DO NOT EDIT!
|
|
|
|
|
|
|
|
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 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
|
|
|
|
}
|
|
|
|
|
2017-08-04 13:17:30 +00:00
|
|
|
var _frontendApplicationCoffee = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x55\x6d\x4f\xdb\x30\x10\xfe\xee\x5f\x71\x6b\x91\x9c\x48\x25\x14\xc6\xf6\xa1\x52\x26\x6d\xec\x55\x02\x34\xd1\xa1\x7d\x98\xd0\xe4\xc4\x97\xc6\x90\xda\x95\xed\x50\x26\xe8\x7f\x9f\x1c\xe7\xb5\x14\x04\xfd\xd2\xf8\x9e\x7b\x71\xee\xb9\x7b\x62\x30\x2d\x35\xfe\x64\xc6\xac\x95\xe6\x10\x83\x2c\x8b\x82\x90\x54\x23\xb3\x38\xc7\x54\xa3\x85\x18\x82\x10\xf6\x3f\x10\x00\xd3\x18\xf6\x02\x3a\xce\x94\x5e\x9e\xf4\xfc\x68\x18\x65\x42\xf2\x80\x5a\xbc\xb3\x4c\x23\xa3\x61\x74\xcb\x8a\x20\x24\x3e\x72\x58\xe7\x8c\xd9\x3c\xd2\x4c\x72\xb5\x0c\xc2\xc8\xaa\xb9\xd5\x42\x2e\x82\xb7\xef\xc3\xc8\x94\x89\xf1\xa7\xa3\xb0\x5f\xf4\x9b\x48\x12\xd4\xc2\xe4\x1f\xbf\xcc\x23\x94\x69\xe0\x91\xc9\x56\xf2\xaa\xde\x5e\xc4\xae\xd9\x1d\x50\xb6\x12\x07\xfe\x65\xe8\x84\x00\x00\x70\x66\xd9\xac\x7a\x6a\x32\xcf\xea\xff\x16\xfe\xf5\x6f\x85\x33\x18\x5d\x1b\x25\x47\x95\xd1\x58\x66\x4b\x73\xa2\x38\x36\x91\x47\xd3\xc3\x26\xcc\xb7\x80\xd7\xc0\xf1\x74\x3a\x03\xa3\x96\x68\x73\x21\x17\xbf\xb5\x92\x8b\x1a\x79\xf7\x24\x72\x3c\x3d\x9e\xb5\x2d\xf6\xbf\x31\x9c\xa9\xf4\x06\x32\xa5\x41\x48\x8b\x3a\x63\x29\x82\x45\x63\x45\x1b\x05\x3b\xeb\x77\xf6\xbf\x82\xcf\x80\x66\x4a\x25\x4c\x53\xd7\x92\x8c\x15\x06\x09\x71\x6f\x78\xae\xec\x57\x55\x4a\xde\xa3\xd6\x31\x2a\x95\xcd\x9c\x99\x86\x91\xc9\xd5\xda\x31\x97\x33\x93\x9f\x2a\xd6\xf7\x74\x26\x88\x61\x2d\x24\x57\xeb\xa8\x50\x29\xb3\x42\xc9\xc8\x99\x09\x80\xc8\x2a\x87\xa8\x40\xb9\xb0\x39\xc4\x31\x4c\xab\xab\x69\xb4\xa5\x96\xa4\x8b\xe7\x98\x2a\x8e\x97\x17\x3f\x4e\xd4\x72\xa5\x24\x4a\x1b\x38\xa4\x62\x6f\xc5\xb4\x35\x10\xfb\x4c\x66\x55\x08\x0b\xf4\x81\xfa\xec\x15\xd6\x4b\x7f\x54\xa5\xaf\x93\x56\xe0\x9f\xe9\x15\xa9\xfb\x30\x9c\x39\x8f\x1e\x5e\xb9\x12\x82\xb7\xf9\xdb\x71\x3b\x0c\xbb\xc9\x19\xb9\xc9\x59\xa0\x3d\x18\xdf\x0b\xbe\x19\x4d\x5e\x33\x1d\x15\xa1\xfd\x3e\xb7\x53\xe3\x46\x20\x57\xeb\xcf\xcc\x32\x42\x84\x14\xf6\x93\x90\xdc\x6c\xd1\xb0\x63\xb1\x12\x21\x39\x50\x53\x26\x4b\x61\xe9\x04\xfa\xeb\xd9\x70\x87\xeb\x79\xbd\x0e\x91\x64\xb7\x09\xd3\xfb\x89\x5b\xaf\x36\x38\x2d\x44\x7a\x43\x27\xd0\x3a\x56\x81\x9e\xc5\xc6\xc7\xf5\x23\xcd\x99\x5c\x20\x9d\x40\x43\x3d\x21\x6d\x48\xef\xa2\x1d\xef\x1a\x33\x88\x87\x67\xcf\x59\x40\xc7\x34\xf4\x64\xd4\xb3\x37\x98\x58\x97\xcc\x35\x69\xa0\x2d\xdf\xeb\xe1\x60\x96\x45\xed\x1c\x7b\xe2\xb7\xe8\x7c\x53\x6b\x55\x37\xf1\x75\xec\x68\x7c\xdf\x9d\x37\x0f\xd5\xa9\x17\xb8\x71\xac\x95\xba\xf0\x9e\xcf\x5c\x7b\x33\x1e\x24\x1a\x91\xba\xd3\x2b\x26\xb1\x38\x6f\x5a\x42\xc3\x28\x17\x1c\x83\xb0\x8f\x7a\xe8\xf2\xe2\xb4\xdb\xa4\x27\x50\xaf\x98\x42\xae\x4a\xeb\xe5\xd2\x5d\xed\x65\xce\x99\x4a\x4b\xf3\xd2\xcc\x06\x0b\x4c\xed\x13\x5a\xec\x35\xbf\x19\xcc\x9d\xbc\x40\x0c\x7d\x52\x5e\xc8\xc8\xb6\x68\x73\x7c\x5e\xb4\x5f\xdf\xdd\x01\xda\xd3\xaf\x81\xbd\x55\xdd\xb5\x53\xdd\x9d\x39\x2f\x90\xf1\xb6\xe4\x63\xca\x06\xf0\xae\xaf\x5c\xf3\x0d\x21\x43\x85\xdf\xda\xec\x47\x17\x69\x64\x96\xec\x79\xa7\x56\x12\xaa\xf2\xcd\x06\x06\x21\xf9\x1f\x00\x00\xff\xff\xd4\x91\x95\x3e\xa8\x07\x00\x00")
|
2017-08-03 16:32:30 +00:00
|
|
|
|
|
|
|
func frontendApplicationCoffeeBytes() ([]byte, error) {
|
|
|
|
return bindataRead(
|
|
|
|
_frontendApplicationCoffee,
|
|
|
|
"frontend/application.coffee",
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
func frontendApplicationCoffee() (*asset, error) {
|
|
|
|
bytes, err := frontendApplicationCoffeeBytes()
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
2017-08-04 13:17:30 +00:00
|
|
|
info := bindataFileInfo{name: "frontend/application.coffee", size: 1960, mode: os.FileMode(436), modTime: time.Unix(1501852583, 0)}
|
2017-08-03 16:32:30 +00:00
|
|
|
a := &asset{bytes: bytes, info: info}
|
|
|
|
return a, nil
|
|
|
|
}
|
|
|
|
|
2017-08-04 13:17:30 +00:00
|
|
|
var _frontendApplicationJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x56\x5f\x6f\xdb\x36\x10\x7f\xf7\xa7\xb8\x39\x01\x44\xa1\x1a\x63\x67\xd9\x1e\x1c\xe8\x61\xf3\xb6\x76\x40\x57\x0c\xf1\x8a\x3d\x0c\xc5\x40\x89\x94\xc5\x4e\x26\x0d\x92\x8a\x5b\xb4\xfe\xee\x03\xff\x48\xa2\x64\xbb\x59\xb6\xbc\x28\xc7\xfb\xf1\xee\x78\xf7\xbb\x3b\xdf\xdc\xc0\x4b\x26\x98\x22\x86\x51\x28\x3e\xc2\x5a\x56\x15\x63\x9b\x52\xf1\xbd\x81\x25\x5e\xde\xe2\xbb\x19\xaa\x5a\x51\x1a\x2e\x05\x4a\xe1\xd3\x0c\xe0\x91\x28\x28\x15\x23\x86\x6d\x58\xa9\x98\xc9\x80\x12\x43\xde\x48\xf3\xb3\x6c\x05\xcd\xa0\x26\xba\x7e\x2d\x09\xcd\x80\x0b\x6e\x7e\xe0\x82\xea\x0c\x04\x3b\x74\x68\xed\xbe\x6b\x67\x81\x3a\xb1\x55\xec\x37\xa2\xf5\x41\x2a\x2b\xd7\xf2\xf0\x23\x31\x24\x03\x2d\x77\xcc\xd4\x5c\x6c\xff\x50\x52\x6c\xef\x67\x33\x98\x80\x21\x07\xd1\x36\x8d\xd3\xc4\x11\x41\x0e\x93\x98\x7d\xd4\xde\xf3\xbd\x93\x75\x87\xbc\x46\xc9\x55\x25\xd5\x6e\x1d\x19\x48\x52\x5c\x71\x41\x51\x62\xd8\x07\x43\x14\x23\x49\x8a\x1f\x49\x83\xd2\xfe\xee\x38\x8a\x5f\x89\xa9\xb1\x22\x82\xca\x1d\x4a\xb1\x91\x1b\xa3\xb8\xd8\xa2\x6f\xbe\x4b\xb1\x6e\x0b\xed\xa5\xdb\x74\xe2\xf9\x25\x2f\x0a\xa6\xb8\xae\xbf\xff\x69\x83\x99\x28\x91\x1e\x32\x14\xd9\x0f\xd7\xae\x31\x79\x4f\x3e\xa0\x84\xec\xf9\x8d\x7f\x6c\x92\x85\xb7\x81\xab\xc0\xaa\x97\x3a\x1f\xab\xf0\x0d\xc7\xc7\x2c\x42\xff\xfe\x71\xcf\x56\x30\x7f\xaf\xa5\x98\x77\xe7\xda\x10\xd3\xea\xb5\xa4\x2c\xb6\x75\xbb\x58\xae\x26\x45\xeb\x75\x77\x8b\xc5\x6a\x52\xa7\x41\xf9\xed\x97\x94\x77\x8b\xbb\xd5\x69\x95\xfc\x9f\x62\xa6\x55\x62\xec\x13\xc5\x80\xee\x81\x7f\x71\xba\x82\xa4\x92\xb2\x20\x2a\x89\xf4\xc7\x90\x33\xf7\xff\x2c\xfe\x76\x9a\xe0\xa2\x22\x8d\x66\xf6\xe4\xe8\x48\x14\x13\xf9\x1c\x89\xc2\x2d\x4b\x19\x21\x4d\x65\x61\x49\x8a\x2d\x63\x3d\x35\xbc\x95\xae\x01\x2e\xd1\xd0\xea\x33\xe0\x34\x83\x3d\x51\x46\xfb\x80\xec\x21\xe4\x70\xe0\x82\xca\x03\x6e\x64\x49\xec\x3d\x6c\x8f\x3d\x80\x57\x80\xac\x84\x1b\x26\xb6\xa6\x86\x3c\xcf\x61\x31\xe4\xcd\x87\xe6\xa1\xc7\xd8\x22\x65\xa5\xa4\xec\xed\xc3\x2f\x6b\xb9\xdb\x4b\xc1\x84\x71\x66\x42\x1e\x5c\x04\x90\x3b\x30\xd6\xfb\x86\x1b\x94\x7c\x4e\xd2\xc1\xa5\x03\xc4\x3e\x6f\x07\x9f\xc1\x83\x83\xfc\xb9\x78\xd7\xe5\xfc\xa4\x3d\x3c\x60\xf9\x2e\x8e\x8e\xd3\xde\x6b\xdf\x21\xcb\x71\x71\x02\xe3\xe7\x96\xf1\x5b\x66\x6e\xe6\xf0\xc2\x65\xed\xd3\x7f\xa2\xb1\x23\xdc\x68\x52\x45\x0c\xb7\x44\x0d\x73\xe7\x0c\x5d\x7c\x59\xfb\x69\x76\xae\xae\x17\xa6\x48\xe1\xa6\x88\x6e\x8b\x1d\x37\x49\x36\x1a\x52\x5d\x5b\x5b\x2e\x0d\xc3\x11\x0b\xf2\x58\x10\xf5\x75\x61\xa7\x49\x6f\xa0\x6c\x78\xf9\x77\x12\x4d\xd1\x49\xa2\x90\xa7\x4d\x07\xb7\x69\x2d\x6b\x22\xb6\x76\x44\x74\x6c\x8c\x5e\xd2\x9b\x39\xf7\x92\x81\x7a\x8a\x55\x90\x8f\xe5\x8e\x22\x57\x49\xda\x17\xfc\x7c\x2b\x8d\x9a\x37\xf6\x63\x4b\x70\x3a\x94\x5f\xb9\x9e\x68\x55\x13\xcf\xc8\x57\x81\xc1\xc4\x10\xdc\x37\xfc\x40\xcd\x09\xcf\xbe\xca\xfd\x3a\x18\xf8\x39\xb2\x12\x09\x2f\x60\xfe\xd9\x92\x69\x6c\x20\x66\x67\xab\x1a\xc8\x01\x7d\xe1\xed\xa9\xb5\x72\x15\xac\x04\xc3\x43\x45\xf7\x44\xb0\xe6\x4d\x97\xe6\x24\xc5\x35\xa7\x0c\xa5\x13\x80\xd7\xbe\x7d\x78\x3d\x1a\x22\x17\x00\x7e\x21\x71\xb1\x6f\x4d\xd8\x46\xad\x6a\xfe\xfd\x85\x4a\x96\xad\x7e\x86\x03\xcd\x1a\x56\x1a\x34\x26\xda\x85\xf5\xdb\xd7\x3c\xb4\xd0\xd3\xe5\x9e\x6c\xc2\xa8\xc2\xcf\x2e\xef\x74\x91\x52\xf6\xc4\x22\x3d\xfe\x8f\x2a\x4d\x01\xd1\x16\x98\xaa\xfa\xc5\x77\xb0\x8b\xef\x92\xf1\x07\x46\x68\xef\x3e\xe6\x40\xb4\x6a\x4e\x81\x67\x7f\x9c\xe8\x61\x32\x84\x72\x8c\x56\xef\x13\xfb\xec\x24\xdc\xe9\x56\xbb\x9e\xfe\x0e\x8c\x26\xe2\x24\xe8\x6e\xe4\x84\xeb\xe9\xfd\x6c\x76\x4c\x71\x49\x9a\x06\x99\x9a\xeb\xf4\x7e\xf6\x4f\x00\x00\x00\xff\xff\xf1\x16\xe6\x08\x78\x0a\x00\x00")
|
2017-08-03 16:32:30 +00:00
|
|
|
|
|
|
|
func frontendApplicationJsBytes() ([]byte, error) {
|
|
|
|
return bindataRead(
|
|
|
|
_frontendApplicationJs,
|
|
|
|
"frontend/application.js",
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
func frontendApplicationJs() (*asset, error) {
|
|
|
|
bytes, err := frontendApplicationJsBytes()
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
2017-08-04 13:43:39 +00:00
|
|
|
info := bindataFileInfo{name: "frontend/application.js", size: 2680, mode: os.FileMode(436), modTime: time.Unix(1501854199, 0)}
|
2017-08-03 16:32:30 +00:00
|
|
|
a := &asset{bytes: bytes, info: info}
|
|
|
|
return a, nil
|
|
|
|
}
|
|
|
|
|
2017-08-04 13:43:39 +00:00
|
|
|
var _frontendIndexHtml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x59\xeb\x52\xdc\xb8\x12\xfe\x9d\x3c\x45\x63\xaa\x4e\x76\xb3\xd8\x9e\x4b\x80\x40\x3c\x53\xc5\x6d\x09\x2c\x30\xe1\x12\x08\x6c\xed\x0f\xd9\x6e\xdb\x1a\x64\xc9\x48\xf2\x98\xe1\xd4\x79\xf7\x53\xf2\x65\x98\x5b\x36\x6c\x92\x85\x62\xc6\x92\x5b\xdd\xea\xaf\x3f\x75\x4b\xc2\x5b\xd9\x1f\xec\x5d\xdd\x7e\x3a\x80\x44\xa7\xac\xff\xda\x33\x5f\xc0\x08\x8f\x7b\x16\x72\xab\xff\x1a\xc0\x4b\x90\x84\xe6\x01\xc0\x4b\x51\x13\x08\x12\x22\x15\xea\x9e\x95\xeb\xc8\x7e\x6f\x4d\xbf\x4a\xb4\xce\x6c\x7c\xc8\xe9\xa8\x67\x7d\xb1\x3f\xef\xd8\x7b\x22\xcd\x88\xa6\x3e\x43\x0b\x02\xc1\x35\x72\xdd\xb3\x8e\x0e\x7a\x18\xc6\x38\x33\x92\x93\x14\x7b\xd6\x88\x62\x91\x09\xa9\xa7\x84\x0b\x1a\xea\xa4\x17\xe2\x88\x06\x68\x97\x8d\x35\xa0\x9c\x6a\x4a\x98\xad\x02\xc2\xb0\xd7\x6e\x14\xad\xd8\x36\x5c\x25\x08\xc4\x17\x23\x84\x2e\x94\x8a\x35\x89\x15\xbc\x4d\x73\xa5\xdf\x42\x20\x52\x84\x88\x4a\xa5\x81\x72\xd0\x09\x82\xf1\xed\x03\x10\x3e\x06\xa1\x13\x94\x65\xbb\xb1\x0d\x66\x50\x35\xe6\x2d\x89\x34\xca\xb7\x66\x88\xc2\x4a\xa5\x6d\xd7\x56\x35\xd5\x0c\xfb\x83\xab\x4b\xb0\x61\xc0\x11\xae\x68\x8a\x70\x89\x81\x44\xad\x3c\xb7\x7a\xfb\xfa\x79\x82\xbb\x42\x68\xa5\x25\xc9\x4a\x0d\xaf\x5e\x79\x8c\xf2\x7b\x90\xc8\x7a\x96\xd2\x63\x86\x2a\x41\xd4\x16\x24\x12\xa3\x9e\x65\xf0\x54\xdb\xae\x1b\x84\x7c\xa8\x9c\x80\x89\x3c\x8c\x18\x91\xe8\x04\x22\x75\xc9\x90\x3c\xba\x8c\xfa\xca\xf5\x8d\xce\x82\xe8\x20\x71\xbb\x4e\xd7\xd9\x74\x23\x46\x34\x1b\x57\xfd\xc6\x96\x93\x52\xee\x04\x4a\x59\xe5\x3c\xaa\x1f\xca\x35\xc6\x92\xea\x71\xcf\x52\x09\xe9\xac\x6f\xd8\xb2\x7d\x43\x87\x37\xee\xe5\xd9\x69\x3c\x28\xee\xd7\x4f\xf6\xef\x37\xcf\x2f\x3e\xca\x0d\x71\x7d\x7b\xeb\xdf\xde\x9c\x16\x6e\xfb\x7e\xf0\x25\xba\x3d\x8e\xe2\x9e\x05\x81\x14\x4a\x09\x49\x63\xca\x7b\x16\xe1\x82\x8f\x53\x91\x2b\x0b\xdc\x1a\x97\x9f\xe0\x57\x24\xb8\xb6\x49\x81\x4a\xa4\xe8\xbe\x73\x36\x9d\x96\x1b\xa8\xd9\xee\x97\x79\x86\x77\x52\x1e\x07\xc5\x7e\xe0\x76\xf3\xfd\x44\x85\x7a\xa3\xad\x4e\x3a\x62\xb0\x7b\xdb\xdd\xe8\x3c\x9c\x76\x99\xe0\xed\x78\x7c\xf0\x78\x7f\xd2\xfa\x7b\xcf\x9e\xe3\xf8\xf1\xea\xf4\x64\x1d\x54\x42\x53\x20\x3c\x84\x0b\x54\x99\xe0\xa1\x33\x54\x10\x09\x09\x47\x07\xef\x41\xe5\x99\xe1\x32\x88\xa8\x16\x46\x86\x29\x72\xad\xca\x01\x29\x86\x94\xc0\x43\x8e\x92\xe2\x14\x9b\x8c\xea\x9b\x9d\x8b\xb3\xa3\xb3\xc3\xed\x69\xa5\xa1\x40\xc5\xdf\x68\x28\x84\xbc\x07\x1a\xc1\x58\xe4\x60\x56\x4b\xc9\xe2\x8c\xc4\x08\x23\x4a\x20\xa2\x0c\xb7\x5d\x77\x46\xdd\x9f\x34\x02\xa6\xe1\xe8\x00\xb6\xfe\xea\xd7\x28\x79\x2a\x90\x34\xd3\xa0\x64\xf0\xe2\x60\x98\xcc\xb0\xae\x12\x3a\x72\xbb\xce\xa6\xd3\x7d\x6e\x97\x21\x18\xce\x44\x60\x79\x14\xba\xc7\x63\xf7\xd0\xbf\x3c\x91\x71\x4b\x6c\x8d\xd7\xef\xd6\x79\x3b\x2f\x5a\x0f\x8f\x77\x07\x7b\x1f\x37\xf7\x36\x06\xe7\xd9\xf5\x6e\x7c\xf6\xfb\x2d\x69\xfd\x0d\xbf\xfa\x9e\x5b\x4d\xfe\x47\x7c\x91\x13\x60\xdd\xb6\xf3\xce\xe9\x4c\x3a\x5e\xea\x4a\xbc\x41\x77\xa2\xd1\x5d\xf6\x1b\xdf\x3f\xef\x5c\x85\x57\x17\xee\xf5\xf5\x1f\xc7\x51\xd7\x3f\x94\xe2\x5d\xee\xaf\x47\xa3\x9b\xcb\x9b\xeb\x0b\xda\x39\x3b\x78\xb1\x2b\xde\xca\x9f\xc8\x43\x1a\xfd\x65\xa2\x57\xf5\x94\x2b\xa7\x71\x74\xd5\xf0\x5d\x27\x94\xc7\x85\x14\x3c\x5e\x83\x55\x2e\x74\x24\x72\x1e\xae\xc1\x6a\x46\x38\xb2\x0b\x24\x61\x95\x79\x9a\x9e\xaa\xf5\xf9\xe2\x04\xfe\x3b\xf1\x29\xa4\x2a\x63\x64\xbc\x0d\x5c\x70\xfc\x50\x77\xff\xaf\xfe\x76\x22\x21\x34\xca\x29\xf1\x72\xb5\x29\xfa\x84\xdb\xd0\x72\xb6\x30\xfd\x30\x79\xa3\xf1\x51\xdb\x84\xd1\x98\x6f\x43\x80\x5c\xa3\x7c\x7e\x17\x08\x26\xe4\x36\xac\x76\x22\xf3\x3b\x6b\xc5\x73\x27\x7e\x79\x6e\x53\x5d\x3c\x5f\x84\xe3\x32\x21\x72\x32\x82\x80\x11\xa5\x7a\x16\x27\x23\x9f\x48\xa8\xbe\xec\x10\x23\x92\x33\x6d\x19\xa9\x57\x5e\x48\x27\x62\x26\x61\x13\xca\x51\xda\x11\xcb\x69\x58\x09\xbc\xaa\xd2\xad\x34\x8b\xcd\xfc\x69\x11\xc7\x0c\x21\x46\x0d\xb1\x14\x79\x86\x61\xb9\x52\x7d\xd4\xc6\xdf\x54\xf8\x94\x61\x83\x4d\x9d\x9b\x67\xad\xd4\xb3\x30\x13\x46\x59\xdb\x78\xe5\xf9\xb9\xd6\x82\x83\x1e\x67\xd8\xb3\xaa\x86\x35\x37\xa2\xb6\x1c\x08\xc6\x48\xa6\x30\xb4\x20\x24\x9a\xd4\xdd\x66\xf6\x55\x7f\xd3\x4d\x64\x6c\xaa\xeb\xaa\xaf\x6c\x7c\x24\x69\xc6\xd0\xae\x15\x35\x92\x76\xdb\x02\x22\x29\xb1\xf1\x31\x23\x3c\x
|
2017-08-03 16:32:30 +00:00
|
|
|
|
|
|
|
func frontendIndexHtmlBytes() ([]byte, error) {
|
|
|
|
return bindataRead(
|
|
|
|
_frontendIndexHtml,
|
|
|
|
"frontend/index.html",
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
func frontendIndexHtml() (*asset, error) {
|
|
|
|
bytes, err := frontendIndexHtmlBytes()
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
2017-08-04 13:43:39 +00:00
|
|
|
info := bindataFileInfo{name: "frontend/index.html", size: 6239, mode: os.FileMode(436), modTime: time.Unix(1501854195, 0)}
|
2017-08-03 16:32:30 +00:00
|
|
|
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){
|
|
|
|
"frontend/application.coffee": frontendApplicationCoffee,
|
|
|
|
"frontend/application.js": frontendApplicationJs,
|
|
|
|
"frontend/index.html": frontendIndexHtml,
|
|
|
|
}
|
|
|
|
|
|
|
|
// 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{
|
|
|
|
"frontend": &bintree{nil, map[string]*bintree{
|
|
|
|
"application.coffee": &bintree{frontendApplicationCoffee, map[string]*bintree{}},
|
|
|
|
"application.js": &bintree{frontendApplicationJs, map[string]*bintree{}},
|
|
|
|
"index.html": &bintree{frontendIndexHtml, 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, "/")...)...)
|
|
|
|
}
|
|
|
|
|