code: 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
  }
docs: // RestoreAsset restores an asset under the given directory