1
0
mirror of https://github.com/Luzifer/password.git synced 2024-09-19 18:32:57 +00:00
password/bindata.go
Knut Ahlers c8c6485064
Add ability to generate XKCD style passwords to tool
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2017-10-31 12:24:25 +01:00

419 lines
22 KiB
Go

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