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