// Code generated by go-bindata.
// sources:
// wski18n/resources/de_DE.all.json
// wski18n/resources/en_US.all.json
// wski18n/resources/es_ES.all.json
// wski18n/resources/fr_FR.all.json
// wski18n/resources/it_IT.all.json
// wski18n/resources/ja_JA.all.json
// wski18n/resources/ko_KR.all.json
// wski18n/resources/pt_BR.all.json
// wski18n/resources/zh_Hans.all.json
// wski18n/resources/zh_Hant.all.json
// DO NOT EDIT!

package wski18n

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 _wski18nResourcesDe_deAllJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x01\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00")

func wski18nResourcesDe_deAllJsonBytes() ([]byte, error) {
	return bindataRead(
		_wski18nResourcesDe_deAllJson,
		"wski18n/resources/de_DE.all.json",
	)
}

func wski18nResourcesDe_deAllJson() (*asset, error) {
	bytes, err := wski18nResourcesDe_deAllJsonBytes()
	if err != nil {
		return nil, err
	}

	info := bindataFileInfo{name: "wski18n/resources/de_DE.all.json", size: 0, mode: os.FileMode(420), modTime: time.Unix(1515697090, 0)}
	a := &asset{bytes: bytes, info: info}
	return a, nil
}

var _wski18nResourcesEn_usAllJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x3c\x6b\x6f\x1b\x39\x92\xdf\xe7\x57\x14\x06\x0b\x64\x16\x90\xe5\xec\xe2\x70\x58\xf8\x2e\x07\x78\x13\x67\xc7\x3b\xc9\x38\xe7\xc7\x0e\xe6\x12\xa3\x43\x75\x97\x24\xae\xbb\xc9\x5e\x92\x2d\x45\x63\xe8\xbf\x1f\xaa\x48\x76\xb7\x64\xf5\x43\x4e\x06\x77\xf9\x12\x49\x24\xeb\xc5\x62\xb1\x5e\xf4\xc7\xef\x00\x1e\xbf\x03\x00\xf8\x5e\x66\xdf\x9f\xc1\xf7\x85\x5d\x24\xa5\xc1\xb9\xfc\x92\xa0\x31\xda\x7c\x3f\xf1\xa3\xce\x08\x65\x73\xe1\xa4\x56\x34\xed\x82\xc7\xbe\x03\xd8\x4e\x7a\x20\x48\x35\xd7\x1d\x00\x2e\x69\x68\x68\xbd\xad\xd2\x14\xad\xed\x00\x71\x13\x46\x87\xa0\xac\x85\x51\x52\x2d\x3a\xa0\xfc\x12\x46\x3b\xa1\xa4\x45\x96\x64\x68\xd3\x24\xd7\x6a\x91\x18\x2c\xb5\x71\x1d\xb0\xae\x79\xd0\x82\x56\x90\x61\x99\xeb\x0d\x66\x80\xca\x49\x27\xd1\xc2\x0f\x72\x8a\xd3\x09\x7c\x10\xe9\x83\x58\xa0\x9d\xc0\x79\x4a\xeb\xec\x04\x6e\x8d\x5c\x2c\xd0\xd8\x09\x5c\x57\x39\x8d\xa0\x4b\xa7\x7f\x04\x61\x61\x8d\x79\x4e\xff\x1b\x4c\x51\x39\x5e\xb1\x62\x6c\x16\xa4\x02\xb7\x44\xb0\x25\xa6\x72\x2e\x31\x03\x25\x0a\xb4\xa5\x48\x71\x3a\x9a\x17\xad\xbb\x38\xb9\x5d\x22\x5c\x95\xa8\x7e\x59\x4a\xfb\x00\x6f\x98\x99\x82\x48\xb8\xd5\x3a\xff\xa4\x3e\xa9\x5b\x0d\x33\x5c\x48\x05\x6b\x6d\x1e\xa4\x5a\xc0\x5a\xba\x25\xac\xed\x83\x67\x7c\x02\xa6\xf2\x04\xbe\xa8\x7f\x7b\x01\xa9\x2e\x0a\xa1\xb2\x33\x02\xf0\xc9\xfd\xa1\x99\xce\x10\x97\xd2\xc2\x5a\xe6\x79\x90\x5d\x0b\xbf\xb0\x16\x9d\x6d\xf1\x2a\x15\x14\x42\xc9\x39\x5a\x37\xdd\x88\x22\x07\x6d\x5a\x3f\x14\xf9\x27\x75\x39\x87\xb4\x32\x86\x48\xce\xa4\xc1\xd4\x69\xb3\x81\x4c\xa3\x55\x0e\x96\x62\x85\x20\xd4\xa6\x5e\x02\x73\x99\xe3\xa4\x21\x07\x4a\x23\x95\xb3\xe0\x88\xa4\x25\xe6\x25\x14\x68\xad\x58\xe0\xd4\x13\x8a\x50\x68\xeb\x98\x1d\xad\x60\x2d\x36\x16\xf4\x1c\x2a\xcb\x72\xa8\x81\x38\x1d\x39\x11\x2a\x3b\xd5\x06\x2a\xd5\xc5\x99\x30\xc8\x42\xd9\x11\x49\xeb\x0b\x9c\x14\x50\x0a\xb7\x3c\x75\xfa\x74\x87\xf1\x71\xb3\xe0\x24\xab\x07\xb2\x7a\x2f\x0f\x00\x88\x14\x1e\xfe\x75\x24\x15\x83\xd3\x7b\xc9\xf9\xa4\xce\x2b\xe5\x96\x74\x6c\x52\x56\xc7\xb3\x4f\xaa\x81\x6d\x50\x64\x16\x52\x83\x19\x4d\x10\xb9\x85\xb9\xd1\x05\xfc\xe1\xc7\xab\xf7\x17\xa7\xd3\xb5\x7d\x28\x8d\x2e\x2d\xcc\x36\x90\xe1\x5c\x54\xb9\xfb\xa4\xae\x56\x68\xd6\x46\x3a\x8c\x3f\x41\xaa\xd5\x5c\x2e\x78\xd3\xe9\xa8\xbe\x7e\x77\x79\xf6\x49\x01\xec\x48\xf2\x24\x4c\xfa\xcf\xd6\xe4\xff\xea\x11\xc0\x95\x09\xea\xb9\x01\x91\xe7\xe0\x96\x06\x7b\x80\x8b\x52\x2e\x49\x83\x7e\xbc\xba\xb9\xa5\xaf\x95\x5b\xc2\x4f\x17\xbf\xc2\xc9\x49\x7d\x8a\xe1\xe7\xf3\xf7\x17\x37\x1f\xce\x5f\x5f\x74\x62\x1d\x71\xce\xed\x52\x1b\xd7\x6f\xb4\x3e\x18\xbd\x92\x19\x5a\x10\x60\xab\xa2\x10\x86\xa4\x4c\xf3\x49\xa7\x9f\x68\xea\x0c\x49\xc9\xa3\x75\x3b\x8d\x7b\x8d\x19\xcc\x84\xc5\x8c\x58\x8e\x34\xb6\xf6\x16\x7e\x3d\x7f\xff\x6e\x8c\x5d\x0a\xf4\x76\x1b\xa6\x73\x70\x5a\xe7\x60\xd1\xd1\xf9\xe2\xb3\x19\xa4\xba\xd1\x95\x01\x5d\xa2\x5a\x33\xbd\x65\xb0\xb3\xe1\x58\x8a\xdd\xc3\x3e\x9e\x96\x15\x1a\x4b\xb8\xbb\x84\x27\x95\x63\x3b\x17\xe6\x81\xaa\x8a\x19\x1a\x92\x5d\xbd\xe1\xa3\x71\xd9\x8d\x4a\xfb\xf9\x76\x1a\x68\x92\x67\xb6\xd9\x9c\x9a\xd9\x19\xba\x35\xa2\x82\x34\x97\x24\x76\xa1\x32\xb0\x68\x56\x68\x46\x5f\x0a\xe3\x69\x68\x6d\x2f\xe1\x89\xaa\xc0\x3f\xec\xa8\x4e\xf7\x56\xd0\x3a\x5d\x12\x7c\x91\xb7\xe1\xd1\x16\xc5\xe9\xac\x3a\x64\x17\xde\xc8\xf9\x1c\xd9\xa2\x47\x8b\x6b\x2a\x45\x77\x37\x93\x73\xb6\x6b\x84\xe8\xa7\xa7\xbf\x8c\xb4\x60\xbd\x53\xdb\xd6\xeb\xf9\x30\x4e\x4a\xa3\xff\x89\xa9\xa3\xf3\x0e\x1f\xae\xaf\xfe\x7e\xf1\xfa\x76\xb4\x9e\x44\x51\x77\xec\xd3\x5d\xe7\x3d\xc3\xc6\xd2\x2b\xc4\x58\x7d\x18\x8b\xcb\x60\xa1\x57\x68\x9f\xe2\x5c\x2f\x65\xba\x84\x35\x1a\x6c\x9c\x22\xa6\x83\x4e\xcd\x8e\x26\xec\xdb\x8b\x1d\x3f\x23\xc3\x1c\x1d\x6d\xf6\x61\xa6\x76\x80\xf9\xeb\xdc\x54\xea\xec\xff\xdd\xf5\x76\x18\xd2\x21\x6d\x80\x1f\xb4\xca\x37\xec\x5f\x59\x98\x6b\xd3\x12\x0f\x7b\x7f\xac\x60\x85\xce\xf0\x8f\xa3\xf5\x06\xbf\xf4\xdc\x03\x17\x3c\x08\x81\x92\x1d\xe1\xd6\x22\x1f\xab\x34\x23\x10\x59\xda\x2e\xb1\xc0\xac\x1f\x23\x59\x9b\x1d\x25\x99\x57\x8a\xfd\x66\x6f\x23\x3a\xfc\x31\x5a\x45\x0e\xa8\xa7\x63\x4f\x0b\xfc\x8f\x1d\x42\x6f\x6d\xaa\x9f\x87\xd9\xc9\x11\x97\xee\x3c\x17\x8b\x44\x94\x32\xa1\xeb\xbd\x83\x7f\x7f\x3f\x9d\x7f\xb8\x84\xcf\x74\xff\x7f\x1e\x09\xb1\xff\x22\x6a\x01\xfd\xc7\xc5\xf5\xcd\xe5\xd5\xcf\xa3\xe0\x56\x6e\x99\x3c\x60\xd7\xe1\xa6\x61\x6d\xe4\x6f\xfc\x03\x7c\xfe\xe9\xe2\xd7\x31\x40\x53\x34\x2e\xa1\xdd\xe9\x80\x4a\xf2\x25\xeb\x4d\x47\x76\x4a\x93\x79\x2b\xc7\x00\x66\x57\xac\x03\x6a\xdb\xa9\xfb\x21\x7a\x7a\xd2\xee\xbb\x86\x03\x87\xc5\x4b\x25\xcf\xf5\x3a\x09\x30\xba\xa2\x4f\x9e\x04\xf5\xa4\x61\xa8\xcd\xf1\xed\x93\x4b\x1d\x34\xd4\xf7\xe0\x08\xd0\xa5\xc1\x95\xc4\x75\x07\x5c\xbb\x64\x42\x23\xd0\xd3\x9d\x8b\xba\xcc\x85\x1a\x81\xe1\x01\x37\xa3\xb7\xf4\x01\x37\x63\x09\xf7\x92\x0e\x86\xa0\x57\xd0\xd1\x48\xd4\xe1\xb4\xa3\x8b\x01\x0a\x61\x1e\x30\x8b\xa6\x64\x94\xa8\x18\x4e\x42\x87\xbe\x8b\x99\x80\x8a\xa7\x0c\x43\x8c\xd6\x61\x60\x57\x77\x2e\xa7\x11\x60\xeb\x40\xa0\x03\x6e\x33\x3e\x9a\xe9\x01\x0a\xbd\x5f\x90\xa3\xb5\x51\xda\x23\x40\x5b\x67\x64\x27\x64\xbf\x75\x95\x45\xba\xbc\xe6\x52\x61\x46\x56\xd9\xc9\xa2\x76\x97\x47\x60\x70\xa6\x5b\x08\x3c\x06\xba\x72\x65\x35\x86\x58\xaf\x6e\x2b\x34\x33\x6d\xbb\x40\x86\xd1\x63\x81\x96\xc2\x88\xa2\x53\xc0\x46\x14\xe8\xd0\xc0\x4a\xe4\x15\xf2\xed\x4d\xc6\x14\xfe\x71\xfe\xee\xee\xe2\x33\x5d\xee\x85\x38\x12\x55\xdf\x69\xfc\xfc\xf6\xf2\xdd\xc5\x67\x0a\x73\x9d\x90\xec\x20\x1f\xa2\xe0\xef\x37\x57\x3f\x0f\xa3\x66\xab\x9a\x14\xd2\x92\x2f\xce\xf7\x45\xf7\x75\x41\x17\x31\xcd\x68\x62\x77\x20\x5b\x20\x2d\x28\x1d\xa3\xee\xca\x60\x36\xfd\xd4\xb7\xef\x7b\x18\x7d\xa4\xdc\x83\x91\xee\x3c\x0e\xa6\xbf\x0a\xcf\xd0\x71\x23\x4c\x4d\x6c\xfe\x2c\x54\x81\x95\xbe\xac\xe8\x3e\x3f\x1f\x1f\x1f\xa7\xf4\x79\xbb\xbd\x9f\x78\xc7\xe8\xf1\x71\x6a\x75\x65\x52\xdc\x6e\x47\xe1\xf4\x1b\x36\x84\x93\x13\x10\x61\xaf\x2c\xba\xe7\xe1\xaa\xc5\x33\x84\x6d\x47\x8e\xc4\x62\xfd\xc3\xf3\xf9\x2c\xe5\x62\x9d\x38\x54\x42\xb9\x44\x66\x63\x64\xfc\x37\xe1\x90\x5c\xc5\x5b\x5e\x04\x97\x6f\x22\x35\x55\x25\xb3\xaf\x24\x44\x70\x66\x3a\x71\xfa\x01\xd5\x31\xb4\xf8\x75\xc0\xeb\x9e\xb7\x17\x95\x2a\x84\xb1\x4b\x91\x27\xb9\x4e\x45\xde\x19\xb5\x85\x59\x2d\x47\x3b\x58\xe6\xe0\x80\xf3\xea\x60\x2d\x46\x22\x54\xe8\x28\x58\x79\x36\x4a\xa9\x1c\x1a\x85\x0e\x84\x23\x76\x2b\x93\x0f\xf0\xda\xb8\x31\x49\x2a\x54\x8a\x79\xde\xe9\x44\x5c\xfd\x34\x85\xd7\x7e\x4e\x93\xbf\xe2\xb0\x6c\x24\x82\xb9\x90\xdd\xd0\x5b\xf9\xf1\x4c\x66\xc1\x34\x14\x65\x8e\x0e\xc1\x56\xb4\xa5\xf3\x2a\xcf\x37\x53\xb8\xae\x14\x7c\x7e\x1a\x00\x7e\xe6\x78\x85\x03\x68\x32\xd5\x4e\x8a\x3c\xdf\x34\xd1\xb2\x0f\x8c\xc6\x52\xea\x93\x77\x89\x75\xc2\x55\x5d\xce\xeb\xc9\xc9\xc9\xc9\xab\x57\xaf\x5e\x1d\xce\xf1\xdf\xf0\x52\xa0\x09\x34\x71\x14\x56\x2e\xd5\x60\x36\x46\x44\x51\x34\x19\x84\xfa\x8e\x17\x4e\xbf\x92\x3d\x7f\xaf\xdb\x6b\xc7\x23\xe9\xdd\xef\xbb\xb6\x07\xdd\xbb\xe3\xa3\xf1\x0d\xc9\x6f\x07\xe5\x33\x24\x18\x4a\x2f\x09\xe7\xd4\xd8\x79\x20\xa3\x9b\x08\x97\x90\xfb\xd7\x81\xf4\xf1\x71\x9a\x16\xd9\x76\x1b\x32\x71\x8f\x8f\x53\x5a\xe8\x36\x25\x6e\xb7\x6c\x2a\x69\xed\x76\x7b\x3f\x9d\xf6\xe2\x66\x9f\x7d\x93\x44\x7d\x1e\x28\xeb\x3d\x3e\x52\x04\x11\x10\x10\x91\xdb\xed\x3d\x2c\x85\x85\x19\xa2\xda\x61\xb8\x3e\x21\xe3\xb1\x77\xd7\x01\xdf\xc4\x71\x38\x48\xc0\x74\xda\x93\x41\x0d\x28\x9a\x64\xf8\xb7\x63\xb1\x81\x39\x86\xc9\x38\xbb\x9b\xcd\xbb\x66\xc6\x41\x46\x7b\xf9\xcc\xb0\x44\x95\xa1\x4a\x8f\x11\x67\xb3\xe8\xf9\x78\x9a\x23\xd2\x29\xd3\x37\x07\xd1\x7c\x8d\xe2\x1c\xa6\x82\x0c\x43\x65\xba\xdc\xc4\x37\x3b\x29\xf0\xc3\xac\xff\x1f\xde\x11\x91\x9f\xe3\xf4\xe4\xeb\x76\xf0\xa9\x99\xfb\x36\x7b\x38\xf2\x64\x74\x51\xd2\xbf\x8f\x77\x7b\xc5\x8c\xe7\xec\x64\x1f\x55\x21\x61\xf1\xdc\x3b\x87\x29\xf2\x37\x40\x9d\x10\xe9\xa3\x05\xb2\xca\xd0\x4e\xc6\x94\x6b\xeb\x46\xfc\xfd\xf4\x2d\xf2\x38\xd7\x95\xca\x92\x40\x6f\xb0\x54\x9d\x0a\x10\x92\xfc\x07\x2d\x64\xa8\x24\x70\x3f\x04\xd1\xd5\xaa\x23\xc4\x5a\xff\x7e\x4e\x99\x2f\x29\xff\x99\x20\x08\xcb\xbc\x70\xb5\x7e\xac\x5b\x10\x52\x7c\x49\xa8\x62\x75\x15\x02\xfd\x28\xc7\x36\xd0\x4a\x3f\x1a\xe4\xb4\x4a\x36\xe1\xb2\x70\xe3\x6e\xd5\xdb\x46\x74\x98\x7a\x45\x40\x02\xa2\x55\x2d\x69\x17\x59\x7d\x2f\x43\xd0\x7e\xe3\xcb\x80\x43\x8d\x1f\x17\xd7\xd7\x57\xd7\x37\x1d\x74\xbf\xda\xff\x07\x7e\x3a\x3c\x19\x78\xf5\xaa\xe7\xfa\x31\x66\xf7\xa0\x3d\x28\xbd\x56\x09\x79\x0a\xc3\x47\x9d\x66\x91\xa8\xc2\xaa\x29\xb4\x72\xf5\x5c\x02\xb1\x55\xe9\x2b\x06\xa7\x9c\xe5\x9e\xda\x8d\x75\x58\xc0\x4c\xaa\x4c\xaa\x85\x05\x6d\x60\x21\xdd\xb2\x9a\x4d\x53\x5d\xd4\xd5\xc6\xfe\xfb\xd2\x98\x78\x67\xa6\x06\x85\xeb\x22\x93\xfb\x9c\x80\xa7\xec\xa8\x25\x77\xbb\x70\x83\x54\x6c\x0d\x39\xa3\x41\x34\x66\xbb\xe5\x32\x85\x1f\x4b\x75\xe6\x07\xe8\xc3\x40\x34\xd3\x22\xc9\x9f\x95\x5e\x92\xb2\x27\x27\xe5\x77\x22\x69\x8e\x48\xe1\xf4\x4a\x3f\x74\x11\xf4\x96\xcd\x16\x99\x0b\x3f\x8d\x0f\x24\x2d\x83\xf5\x12\x5b\x85\x3b\xe7\xdb\x9c\xc2\xd0\xef\x43\xed\x03\x6e\xea\x94\x0e\xf9\xbb\xc2\x69\xd3\x97\xae\xaa\xe7\x70\xf6\xe3\x63\x14\xe6\x3d\xe9\x63\x80\x33\x88\x33\x66\x76\x13\xa5\x9d\x37\x76\x1d\x08\xdf\xb7\x53\xc0\x6c\xab\x79\x36\xc5\xbb\x9c\x83\x6d\x7b\xd4\x43\x48\xd9\x7b\x2f\xa4\x2d\x84\x4b\xbb\xdc\x77\x62\xb0\x56\x0f\x5a\x90\x31\x8a\x2c\xda\x53\xa9\xf6\x6b\x0d\x7e\x3c\xd0\xc0\xed\x52\x4c\x26\x23\xe1\x6d\x65\xf3\x46\x93\x8a\x16\x90\x9d\xd4\xb6\x1f\x8d\x6c\xf4\x33\x11\xe2\x7f\x52\x2f\x91\xcb\x2e\xb1\x5d\xfa\x51\xee\xf1\xf2\x5b\x52\x67\x91\x09\x57\xf8\x4c\xb4\x1c\x6c\x10\xe3\xda\x29\xd1\x2e\x7c\xdd\x90\xd6\xf8\x8f\x63\xe4\x1c\x49\x1c\x10\xf5\xf5\x31\x04\xed\xc9\x95\x8f\x82\xa7\xe8\x85\x05\x9f\xe5\xf1\xa2\xc4\x2f\x0e\x95\x8d\x44\xe3\x17\xbe\xc3\x88\x9d\xaf\x61\xc5\x26\x0b\xec\xca\xa7\x36\x47\x79\x81\xbe\xad\x25\xd8\xde\x26\x73\xff\xa4\x40\x4b\xf7\x9b\x4c\x5b\xc7\x77\xb4\x4c\x3d\xe9\x89\xe7\x98\x4f\x4f\x8d\xad\x83\xbe\x1d\x86\xd9\x2f\x24\x31\x36\x52\x16\x6a\x53\xeb\x06\x19\x91\xd6\xb6\x0f\xca\x35\xe4\x74\x6b\x12\x06\xd9\xa8\x4c\x7e\xbc\xe6\xfa\xc4\x56\x08\xa1\xef\xae\xdf\xf9\x8c\xa3\xc9\xc3\x51\xfa\xb8\x13\x63\xdf\xfb\x5e\xa5\x31\x84\x14\x22\x9f\x6b\x53\x74\x4a\xee\x7d\x1c\xef\xa3\x60\x0a\xb7\x66\x03\x62\x21\xa4\x1a\x0a\xe9\x8d\x49\xfe\x69\xb5\xaa\x8d\x6d\x5a\x64\x3d\x85\x64\xae\x35\x48\x55\x56\x0e\x32\xe1\x04\xbc\x0f\xd2\x78\x91\x16\xd9\x0b\x32\xbd\xfd\x98\x44\x29\x9b\x82\x80\x57\x1a\x6d\x12\x8b\xff\xaa\x50\x75\x66\xec\x7d\x7b\xed\xe9\x4d\x98\xb5\x7b\x58\x5a\xf6\xdd\xeb\xf3\x5e\xef\xc8\xf9\x87\x4b\xbf\xa0\x94\x34\x3b\x15\xca\xbb\x22\x33\xf4\xce\x40\xbb\xdf\xad\x51\xb2\xd3\x48\xd2\x01\x98\x53\xf8\x90\xa3\xb0\x08\x55\x99\x09\xb7\xd7\xac\xe2\x2f\xcf\x34\xaf\xb2\x7d\x3a\x85\x05\x01\x6b\x9c\xed\x63\x18\xdc\x9d\x20\xa7\x7e\x05\x3d\x3f\x60\x47\x48\x34\x61\xd5\x14\x2e\x9d\x8f\xbe\xb4\x5b\xf2\x5d\xbc\xdb\x82\x51\x1f\xbc\x89\x97\x8e\x56\x18\xaa\xc0\x05\x41\xc1\x2f\x25\xa6\x63\x4e\x52\xa0\x35\x6e\x71\xb4\x0f\x64\x18\x13\xc2\xfa\x95\xd4\x33\xe1\x8d\x91\x20\xb0\xba\x72\x6d\x63\x31\x85\x5f\x1a\x23\x1c\x4d\x05\x2d\x9b\xd4\xe6\x44\xda\xc6\x59\x18\xb8\xd6\x02\x3b\x51\x4c\x09\x45\x2b\x0e\x93\x4c\x9a\x51\x46\xee\x20\x5b\xc4\x47\x2d\xf7\x52\x4b\xe5\x5d\x2a\x1f\xa2\x39\x6c\x35\x39\x37\xc7\x79\x42\x21\x60\xe4\x8a\x9b\x8c\xf7\x2c\x5c\x3f\x1b\xa9\xa0\x80\x5d\xac\x30\xc9\x74\xfa\x80\x5d\x4f\x01\x5e\x0b\xc5\x50\xc5\x0a\xe1\x0d\x4f\x04\x59\xb0\x03\x3e\xe0\x58\xca\x1c\x13\x91\x1b\x14\xd9\x26\xc1\x2f\xd2\x76\xb6\x5a\xbc\xa5\x13\x12\x66\x82\x9f\x39\x00\x3b\x8b\xad\x82\x4d\x54\x22\xd1\x7a\x85\xb2\xe4\x39\xe5\x62\x86\x5d\xc5\x91\x2b\x85\x40\x7a\x98\xe3\x7e\xd8\xdf\x7c\x8d\x5b\xe2\xd6\x1a\x6a\x64\x5c\x34\xf1\xb2\xa6\xd9\xf1\x9b\x37\xac\x4b\x69\xe1\x41\xaa\x8c\x0e\x48\xd0\xc5\x50\x23\x7d\x72\xf1\xec\x59\x0a\xb2\x2f\x2d\x42\x98\xf4\x03\xe4\x84\x07\x01\x4f\xec\x0a\x2b\x0b\xd7\xf7\xc9\x77\x8b\x44\x41\x0c\x6b\x90\x79\xb0\x58\x0a\x43\x5f\x18\xba\xef\x37\xeb\xe0\x6d\x9c\xf2\x87\x43\x96\x10\xcb\xc7\xea\xb9\xd2\x5e\x52\x16\xdd\x71\xc8\x8e\xb5\x15\x01\x59\xeb\xbc\x0f\xe0\x8b\xd6\x37\x59\x8a\x15\x59\x2a\xd6\x25\x9f\x48\xb7\x81\x98\xae\xc7\x2a\xed\x6b\x28\x82\x09\xf6\x2a\xaa\x76\xec\x91\x20\x9b\xaf\xa2\x31\xf2\x81\x3e\xbb\x62\xb4\x7f\x21\xba\x9d\xc6\xd7\x23\xa1\xc5\xd7\xc3\xb3\x7c\x51\x91\x32\xf1\x13\x07\x5e\xc0\x1e\xbb\x54\x20\xa2\x4e\x47\x08\x03\x87\x5f\xab\x79\x2e\x53\xb2\x32\x49\x08\xdc\x88\x43\xa3\xad\x8d\x99\x90\xae\xe3\xda\x3a\x3f\x31\xe4\x23\xa6\xc3\xe7\xc0\x73\xe4\x95\x9d\xdf\xa2\xca\x9d\x2c\x73\x1f\x35\xfa\xc3\x43\x9f\x82\x47\xe2\x91\xb3\xf9\x8a\x77\xef\x5e\x1a\xc4\xb5\x8b\xca\x13\x90\xce\x9f\xa8\x52\x5b\x2b\x67\xfe\x14\xb0\x40\x22\x23\x1e\x6b\x23\x9e\x19\xf9\x25\xb5\xa6\x33\x11\x4f\x0e\x61\xe0\x84\xd1\x3c\x09\x7a\x8e\x10\xa6\xa9\x72\x7c\x86\x24\x69\x59\x88\x2e\x72\x3c\x24\xc3\x86\xfe\x68\xef\xf7\x1c\x09\xff\x06\xa5\x16\xc1\xee\x96\x4c\xfd\xd3\xa3\x6f\x21\x64\x66\xf0\x90\x84\x85\xb5\x3a\x95\x0c\xfa\x30\xc5\xa7\x91\xb8\x7d\xe1\x33\xf3\xcf\x92\xbc\x30\x4d\x8b\x07\x17\xb3\x3b\x5b\xdb\x43\x81\x0c\x72\xa9\x10\x84\x59\x54\x1c\x14\x93\x08\xcd\x62\xbb\x6d\xfb\x8b\x0c\x67\x02\xa5\x27\x31\xbe\xfa\x20\x79\xf0\xc8\x11\x14\x3d\xe0\xe6\x9b\x51\xf5\x80\x9b\x53\x86\x05\xa5\x90\xe6\x09\x79\xbb\xc3\x6c\xdf\xf1\x8b\x28\x4a\x72\x76\x6b\x70\x0f\xb8\x19\xc5\x43\x70\xb0\x86\x3b\x91\xba\x18\xf8\x21\xa2\xfc\x23\xdb\xe0\x00\xcf\xb7\x29\xf9\x8b\xab\x4e\x85\x4c\x7c\x42\xb2\x15\x5e\x46\xe5\xa8\xdf\xdb\x80\x5f\xcd\x41\x46\x03\x62\x28\xf7\x80\xff\xaa\xa4\xe1\xdc\x56\x59\x39\x3b\x4a\x4b\xae\xc3\x1a\x1f\xca\xf8\xd3\xb2\xa3\x15\x16\x70\x85\x0a\xc4\xdc\xa1\x01\x51\x96\x39\xd7\x4f\xb8\xb1\xa1\xd4\x1e\x4e\xa8\xa5\xa2\x5a\x4d\x61\x25\x8c\x14\xb3\x1c\x1b\x85\xb7\xe8\x6a\x88\xbb\x53\xe2\x01\xf6\x51\x54\xd3\xc6\x75\xe8\xb5\x8d\x7f\xd9\x64\xc2\xfb\x23\xde\xec\xb9\xce\x73\xbd\xf6\xd4\x10\xed\x2c\x4f\xff\x71\xbb\x1d\x8e\xbe\x16\xbe\x41\x25\xa1\xa0\x87\x2b\xc6\x43\x81\x45\xab\xa9\x85\xd6\x34\x09\x2e\x51\x4a\xfa\x21\xe6\x98\x0e\xb8\xeb\x3c\xb5\xee\x58\x8b\x0f\x08\xf6\xbd\xa4\x10\x72\x18\x24\xa4\xab\x80\xa0\xce\x14\xef\xc1\x18\x99\x87\x2a\x85\xb1\x68\x7a\x1f\xbe\x36\x19\x12\x83\xce\x48\x64\x83\x17\x12\x23\xb5\x86\xf6\x63\x5b\xe3\x2c\x3a\x2e\x41\x09\x7d\x1f\x76\xec\x16\xea\x93\xeb\x9d\x12\xc1\xd6\x5a\x4c\x2b\xe3\x9d\xc3\x26\x3c\xfc\x0f\x38\xe8\xe7\x9c\x93\x87\x2e\xea\x81\x90\xe2\x6c\x9f\x3c\x6f\x1a\x68\x90\x3f\x75\xa7\xee\x7e\x39\xbf\xfe\xf9\xf2\xe7\xbf\x8d\x2f\x27\xc4\x05\xc7\x15\x14\xd6\xc2\xa8\xba\x67\x81\x24\xdd\x95\x59\xb8\xa6\x31\x52\xeb\x8f\xb1\x59\xe1\x3e\x1c\x3f\xde\xc5\x33\x9f\xe1\xa1\x5d\xb9\xef\x8b\x42\x03\x3e\x6e\xe1\x3a\x3a\xa7\xd3\x6e\x3d\x6f\xe5\x70\x21\x43\x37\x1c\xff\x32\x66\xba\x08\x32\x2c\x0d\xa6\x74\x3d\x26\x06\xcb\x5c\xa4\x9d\x01\xe2\xed\xd2\xe3\xd1\x79\x16\xb6\x92\x5b\xf7\xbc\xff\xbf\xdb\xa4\xc1\xef\x69\xad\xd6\x0a\x66\x1c\x44\x04\x0c\xf5\xf5\x50\x59\xaf\x42\x5c\x66\xc3\xf5\x0e\x38\xeb\x50\x8c\xa4\x3d\x48\xe2\x39\x89\x76\xbb\xd4\x55\x9e\x11\x79\xe4\xee\xc3\x9d\xf5\x15\x67\x5f\x0e\x3b\xa0\x96\xfd\x79\xa9\x9a\x22\x9e\x3f\xb0\x95\x44\x97\xc7\x40\x16\xf2\x69\x01\x80\xec\x8d\x37\x4d\x47\xa0\xe4\x08\x5f\xac\x7a\x37\x6f\x08\x29\xaf\x8f\x1b\x1a\x4b\x9b\xf1\x81\x61\xfb\x65\xe1\x30\x61\xb9\x2c\xa4\x4b\xe4\x42\x69\xd3\x49\x52\x54\xe9\x10\x71\xf0\x12\x1f\xc1\xd2\xa7\xfd\x24\x3f\x59\x6c\x0f\x6e\x2c\xf6\x74\x29\xd4\x02\xc9\x70\xf5\x07\x67\xef\x6a\xc4\x75\x71\xc1\x46\xf6\xf3\x8d\x2f\x6e\xd7\xa0\xa6\x70\x49\x54\x48\xb5\x18\xa3\x12\x4c\x88\x4d\x72\xbd\x48\xac\xfc\x6d\x80\x0e\x9e\x7c\x06\xb9\x5e\xdc\xc8\xdf\x48\x75\x39\xef\xa7\x2b\x67\x65\x16\xc3\x71\xaf\x9f\x86\xa8\xa1\x1d\xf9\xf8\x72\x02\x7f\x7a\x79\x0f\xef\xff\x5a\x5f\xe5\x2b\x34\xe4\x9d\x70\x89\xb6\xf4\x6f\x6c\x4d\x73\x41\xf1\xd3\x72\xef\x6b\x8d\x25\xbe\xc0\x42\x9b\xcd\x78\xfa\xfd\xfc\xf1\x2c\xfc\xe9\xcf\x7f\x99\xc0\x9f\x5f\xfe\xdb\x5f\x7e\x5f\x36\xe8\xae\xd4\x55\xe7\xfb\xde\x1d\x16\xc2\xdc\x91\xf4\xbf\x7c\x39\x81\x7f\x7f\x49\xff\xee\xa1\x90\x79\x2e\x2d\xa6\x5a\xb5\x62\xb9\x6f\xc7\x0b\x17\xa2\x93\xd2\xe8\x12\x8d\x93\x9d\x01\x5c\xb4\xd4\x2d\xbb\xea\xdb\x17\xbc\xeb\x10\x1a\x18\x7c\x55\xbb\x01\x16\x1b\x1d\x0e\xdb\xee\x68\xba\x33\xcd\x27\x82\x2c\xb8\x74\xb5\x68\xf4\x1c\x6e\x8d\x58\x49\x0b\xb3\x4a\xe6\x59\x7f\x15\x9c\x59\xf1\x66\x8b\xc5\x38\xca\x64\xd5\xc7\x73\xc7\x70\xa9\xbd\x8b\x27\x98\x75\xae\xed\x53\xa4\xe9\x7f\x8d\xcf\x93\x1f\x1f\xa7\x85\x54\xa1\xd2\x4b\x5f\x44\x3a\x50\x37\x62\x52\xa3\x9f\xe6\xad\x40\x97\x39\x8b\xb5\xb8\x30\x8b\x9c\xa5\xbd\xb2\xdc\x81\xd4\x7d\x67\xe5\xed\x59\xe5\x36\xa6\x36\x14\xf3\x39\x3d\xd4\x9b\xdf\x7c\x52\xa7\xdd\xb1\x81\x7b\x89\xcf\x26\x52\xc8\xf9\xd1\xa4\xd2\x6e\x19\xf2\x12\xc3\x24\xc5\x7c\xc3\x60\xa9\xfa\xf6\x49\x26\xb1\xed\xd8\x84\x97\x25\x98\x81\xd2\xe3\xfa\x2d\x18\x7b\xab\xd5\x89\x85\x32\x86\x88\x83\x8d\x40\xe1\x66\xdc\x8f\x78\xd6\xa1\x1e\xe8\xab\xea\x87\xf2\xa1\x23\x24\xd4\x7a\x1f\x96\xe8\x15\x1a\x23\xb3\x0c\xbb\xb2\x7a\x44\x61\xfb\xb9\x58\xd3\xaa\xd6\x2c\x8d\x3e\x4d\xbb\x13\x69\xec\x46\x25\xd2\x26\x65\x35\xcb\x65\xd7\x93\x7c\xbf\x2b\x3c\x37\x56\xb5\xfc\x8b\x38\x8a\xa3\x78\xe1\x93\x8c\xc9\x84\xcc\x05\xdb\x96\x19\xc2\x4a\xfa\xe4\x0d\x9d\xc3\x54\xb0\xa5\xf1\x6f\x10\x30\x83\xd9\x06\x84\xda\x68\xd5\xf3\xc2\x8c\x69\x8d\x49\x58\x9c\x85\x77\xbf\x03\xee\xc6\xd3\x1c\x2c\x97\x97\x38\x8a\x51\x19\xfd\x7f\x12\x9e\xe8\xee\xd7\x97\xe8\x20\xf0\xdf\x58\xc1\xd9\xc4\x3b\x21\xe1\x5b\x58\xd0\x13\x78\x79\x4a\x5b\x75\xc4\x26\x0a\x3b\xb2\xba\x44\x1a\xd6\x2e\xc9\x8d\x2a\x16\x86\xbf\x0d\x53\x2f\x9a\xc2\x6b\xad\x56\x64\xee\x43\xe8\xd2\xa0\x70\x7a\x07\xfc\xb0\xca\xee\x73\x35\x50\x17\xed\xcb\x44\x37\xbc\xc5\x81\x23\xb9\xab\xcb\x93\xfb\xfc\xb5\x11\xd5\x1c\x8e\x2a\x66\xd6\x3c\xc6\xac\x93\x41\x5b\x6a\x65\xb1\xaf\xbd\x6c\x8f\x68\xce\x37\xee\xe7\x15\xc2\x78\xcc\x20\xb4\x32\x12\x31\x37\x54\xe7\x34\x97\xce\x95\xfe\xef\x30\x79\xd4\x7c\xaf\x4d\xe1\x35\xdd\x30\xdc\x8f\xd2\xfe\xdd\x5f\xea\x7c\xe5\x84\x9f\x03\xd3\x0c\x85\xee\x93\x86\xb2\x21\x8d\x8d\xfb\x8a\x6a\x25\x8d\x56\x6c\x3b\x63\x4a\xa8\xab\xd2\x1f\xa2\xd2\x8b\x66\x09\xfc\x23\x2c\x19\x13\xe1\xbf\xb9\xf8\xeb\xdd\xdf\x46\x87\xf7\x3c\xfb\xb8\xd8\x3e\x9b\x2d\x12\x8b\xc2\xa4\x4b\xe2\x2c\x1a\xdc\xba\x80\xd9\xa9\xb6\x61\x45\x6d\x70\x77\x4b\x9e\x71\xfb\xa2\x7c\xbd\x63\x32\x10\x1b\x10\x29\xfb\xb7\xd2\xb7\xbe\x91\x9e\x79\x1b\x11\x69\xf5\x75\xed\x5b\x68\x7b\xfe\x2c\xce\x9b\x03\x7d\x5c\x41\x22\x67\xf0\x96\x29\x68\xfe\x0a\x0b\xa7\xf3\x09\xd8\xb1\x04\xf4\xbf\x23\x3e\x9e\x86\x76\x97\x6e\xec\x2a\x3f\xee\x6d\xe8\xde\x5b\xbb\xbe\x27\x8e\x34\xf9\xc9\x03\xbb\xe3\x5f\x71\x86\xb8\xa1\x6e\x0b\xfe\xe6\x44\x4c\xd8\xa5\x7f\xf1\xf8\x38\xcd\xaa\xa2\xd8\xf0\xac\xed\xf6\x05\x99\x9f\x76\xdc\xa3\x55\xbf\xfe\x84\x77\xcc\xc9\x6f\xb2\x4c\xf0\x0b\xb7\x96\xf8\x92\x7b\xcf\x7b\x9f\x0b\x9e\x47\x67\xec\x83\x70\xcb\xb3\xf6\x0e\x8e\x45\x25\xb2\x2c\x3e\x30\xea\xc3\x74\xce\xd3\x76\x0e\xae\xd3\xf0\x3f\xb2\x84\xb7\x43\x07\xa3\x8d\x2d\xf4\xcc\xc4\x16\xb2\x1e\x84\x6f\x43\x13\xe0\x8d\x77\xf2\x9f\xcd\xdf\x01\x8c\x49\x86\xd6\x49\xc5\xa8\xbe\x86\x04\xf6\x7e\xde\x34\xb0\x5a\x33\x5a\x18\x46\xd2\x1a\x2f\xcb\x48\x2f\xaa\xee\x1c\x6a\x4c\xa4\xc0\x65\x68\x41\xba\xa0\xc9\xa4\x70\xd2\xb5\x12\xf4\x4c\x49\x80\xc7\x25\xc3\x38\x9d\x61\xb3\x63\x80\x92\x83\x11\xbe\x33\x3f\x7a\x3e\xef\x81\x0c\xb2\xff\x3c\x69\xb3\xd7\x7f\xd4\x23\x1f\xb1\xf5\x9a\x85\xdf\x53\x69\x7a\x1d\x5b\xb4\x49\xc2\x51\x8f\x8e\xde\xe1\x5c\x5a\x97\xe8\x39\x23\xb2\x09\xb7\x67\xf2\x1d\x25\x9c\x43\xd3\x75\xb0\xbd\x69\xe3\xa6\xe7\xba\xc8\xe2\xff\x80\x95\x2f\x6e\x07\x28\x71\xdf\xb9\x9b\xe5\x83\xf7\x45\x18\x6c\xaf\x1c\x82\x73\xbd\xfb\xac\xbe\xeb\x50\xed\xbe\xbd\xa7\x9b\xb0\xb3\xed\x81\x83\x94\xb6\x37\x10\x9c\x38\x62\xe3\xfa\xe2\xbf\xef\x2e\xaf\x2f\x92\x5f\x7e\xbc\xbc\xf9\x29\x39\xbf\xbb\xfd\xb1\x55\x41\x88\xd4\x7e\x77\xff\xdd\xff\x06\x00\x00\xff\xff\x58\x2a\x2d\x4f\x3d\x54\x00\x00")

func wski18nResourcesEn_usAllJsonBytes() ([]byte, error) {
	return bindataRead(
		_wski18nResourcesEn_usAllJson,
		"wski18n/resources/en_US.all.json",
	)
}

func wski18nResourcesEn_usAllJson() (*asset, error) {
	bytes, err := wski18nResourcesEn_usAllJsonBytes()
	if err != nil {
		return nil, err
	}

	info := bindataFileInfo{name: "wski18n/resources/en_US.all.json", size: 21565, mode: os.FileMode(420), modTime: time.Unix(1579715078, 0)}
	a := &asset{bytes: bytes, info: info}
	return a, nil
}

var _wski18nResourcesEs_esAllJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x01\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00")

func wski18nResourcesEs_esAllJsonBytes() ([]byte, error) {
	return bindataRead(
		_wski18nResourcesEs_esAllJson,
		"wski18n/resources/es_ES.all.json",
	)
}

func wski18nResourcesEs_esAllJson() (*asset, error) {
	bytes, err := wski18nResourcesEs_esAllJsonBytes()
	if err != nil {
		return nil, err
	}

	info := bindataFileInfo{name: "wski18n/resources/es_ES.all.json", size: 0, mode: os.FileMode(420), modTime: time.Unix(1515697090, 0)}
	a := &asset{bytes: bytes, info: info}
	return a, nil
}

var _wski18nResourcesFr_frAllJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8a\xe6\x52\x50\xa8\xe6\x52\x50\x50\x50\x50\xca\x4c\x51\xb2\x52\x50\x4a\xaa\x2c\x48\x2c\x2e\x56\x48\x4e\x2d\x2a\xc9\x4c\xcb\x4c\x4e\x2c\x49\x55\x48\xce\x48\x4d\xce\xce\xcc\x4b\x57\xd2\x81\x28\x2c\x29\x4a\xcc\x2b\xce\x49\x2c\xc9\xcc\xcf\x03\xe9\x08\xce\xcf\x4d\x55\x40\x12\x53\xc8\xcc\x53\x70\x2b\x4a\xcd\x4b\xce\x50\xe2\x52\x50\xa8\xe5\x8a\xe5\x02\x04\x00\x00\xff\xff\x45\xa4\xe9\x62\x65\x00\x00\x00")

func wski18nResourcesFr_frAllJsonBytes() ([]byte, error) {
	return bindataRead(
		_wski18nResourcesFr_frAllJson,
		"wski18n/resources/fr_FR.all.json",
	)
}

func wski18nResourcesFr_frAllJson() (*asset, error) {
	bytes, err := wski18nResourcesFr_frAllJsonBytes()
	if err != nil {
		return nil, err
	}

	info := bindataFileInfo{name: "wski18n/resources/fr_FR.all.json", size: 101, mode: os.FileMode(420), modTime: time.Unix(1515697090, 0)}
	a := &asset{bytes: bytes, info: info}
	return a, nil
}

var _wski18nResourcesIt_itAllJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x01\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00")

func wski18nResourcesIt_itAllJsonBytes() ([]byte, error) {
	return bindataRead(
		_wski18nResourcesIt_itAllJson,
		"wski18n/resources/it_IT.all.json",
	)
}

func wski18nResourcesIt_itAllJson() (*asset, error) {
	bytes, err := wski18nResourcesIt_itAllJsonBytes()
	if err != nil {
		return nil, err
	}

	info := bindataFileInfo{name: "wski18n/resources/it_IT.all.json", size: 0, mode: os.FileMode(420), modTime: time.Unix(1515697090, 0)}
	a := &asset{bytes: bytes, info: info}
	return a, nil
}

var _wski18nResourcesJa_jaAllJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x01\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00")

func wski18nResourcesJa_jaAllJsonBytes() ([]byte, error) {
	return bindataRead(
		_wski18nResourcesJa_jaAllJson,
		"wski18n/resources/ja_JA.all.json",
	)
}

func wski18nResourcesJa_jaAllJson() (*asset, error) {
	bytes, err := wski18nResourcesJa_jaAllJsonBytes()
	if err != nil {
		return nil, err
	}

	info := bindataFileInfo{name: "wski18n/resources/ja_JA.all.json", size: 0, mode: os.FileMode(420), modTime: time.Unix(1515697090, 0)}
	a := &asset{bytes: bytes, info: info}
	return a, nil
}

var _wski18nResourcesKo_krAllJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x01\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00")

func wski18nResourcesKo_krAllJsonBytes() ([]byte, error) {
	return bindataRead(
		_wski18nResourcesKo_krAllJson,
		"wski18n/resources/ko_KR.all.json",
	)
}

func wski18nResourcesKo_krAllJson() (*asset, error) {
	bytes, err := wski18nResourcesKo_krAllJsonBytes()
	if err != nil {
		return nil, err
	}

	info := bindataFileInfo{name: "wski18n/resources/ko_KR.all.json", size: 0, mode: os.FileMode(420), modTime: time.Unix(1515697090, 0)}
	a := &asset{bytes: bytes, info: info}
	return a, nil
}

var _wski18nResourcesPt_brAllJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x01\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00")

func wski18nResourcesPt_brAllJsonBytes() ([]byte, error) {
	return bindataRead(
		_wski18nResourcesPt_brAllJson,
		"wski18n/resources/pt_BR.all.json",
	)
}

func wski18nResourcesPt_brAllJson() (*asset, error) {
	bytes, err := wski18nResourcesPt_brAllJsonBytes()
	if err != nil {
		return nil, err
	}

	info := bindataFileInfo{name: "wski18n/resources/pt_BR.all.json", size: 0, mode: os.FileMode(420), modTime: time.Unix(1515697090, 0)}
	a := &asset{bytes: bytes, info: info}
	return a, nil
}

var _wski18nResourcesZh_hansAllJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x01\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00")

func wski18nResourcesZh_hansAllJsonBytes() ([]byte, error) {
	return bindataRead(
		_wski18nResourcesZh_hansAllJson,
		"wski18n/resources/zh_Hans.all.json",
	)
}

func wski18nResourcesZh_hansAllJson() (*asset, error) {
	bytes, err := wski18nResourcesZh_hansAllJsonBytes()
	if err != nil {
		return nil, err
	}

	info := bindataFileInfo{name: "wski18n/resources/zh_Hans.all.json", size: 0, mode: os.FileMode(420), modTime: time.Unix(1515697090, 0)}
	a := &asset{bytes: bytes, info: info}
	return a, nil
}

var _wski18nResourcesZh_hantAllJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x01\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00")

func wski18nResourcesZh_hantAllJsonBytes() ([]byte, error) {
	return bindataRead(
		_wski18nResourcesZh_hantAllJson,
		"wski18n/resources/zh_Hant.all.json",
	)
}

func wski18nResourcesZh_hantAllJson() (*asset, error) {
	bytes, err := wski18nResourcesZh_hantAllJsonBytes()
	if err != nil {
		return nil, err
	}

	info := bindataFileInfo{name: "wski18n/resources/zh_Hant.all.json", size: 0, mode: os.FileMode(420), modTime: time.Unix(1515697090, 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){
	"wski18n/resources/de_DE.all.json": wski18nResourcesDe_deAllJson,
	"wski18n/resources/en_US.all.json": wski18nResourcesEn_usAllJson,
	"wski18n/resources/es_ES.all.json": wski18nResourcesEs_esAllJson,
	"wski18n/resources/fr_FR.all.json": wski18nResourcesFr_frAllJson,
	"wski18n/resources/it_IT.all.json": wski18nResourcesIt_itAllJson,
	"wski18n/resources/ja_JA.all.json": wski18nResourcesJa_jaAllJson,
	"wski18n/resources/ko_KR.all.json": wski18nResourcesKo_krAllJson,
	"wski18n/resources/pt_BR.all.json": wski18nResourcesPt_brAllJson,
	"wski18n/resources/zh_Hans.all.json": wski18nResourcesZh_hansAllJson,
	"wski18n/resources/zh_Hant.all.json": wski18nResourcesZh_hantAllJson,
}

// 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{
	"wski18n": &bintree{nil, map[string]*bintree{
		"resources": &bintree{nil, map[string]*bintree{
			"de_DE.all.json": &bintree{wski18nResourcesDe_deAllJson, map[string]*bintree{}},
			"en_US.all.json": &bintree{wski18nResourcesEn_usAllJson, map[string]*bintree{}},
			"es_ES.all.json": &bintree{wski18nResourcesEs_esAllJson, map[string]*bintree{}},
			"fr_FR.all.json": &bintree{wski18nResourcesFr_frAllJson, map[string]*bintree{}},
			"it_IT.all.json": &bintree{wski18nResourcesIt_itAllJson, map[string]*bintree{}},
			"ja_JA.all.json": &bintree{wski18nResourcesJa_jaAllJson, map[string]*bintree{}},
			"ko_KR.all.json": &bintree{wski18nResourcesKo_krAllJson, map[string]*bintree{}},
			"pt_BR.all.json": &bintree{wski18nResourcesPt_brAllJson, map[string]*bintree{}},
			"zh_Hans.all.json": &bintree{wski18nResourcesZh_hansAllJson, map[string]*bintree{}},
			"zh_Hant.all.json": &bintree{wski18nResourcesZh_hantAllJson, 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, "/")...)...)
}

