Browse Source

chore(*): make everything use goven

for i in github.com/BurntSushi/toml github.com/coreos/go-etcd/etcd github.com/coreos/go-log/log github.com/gorilla/context github.com/rcrowley/go-metrics bitbucket.org/kardianos/osext github.com/coreos/go-systemd/journal github.com/coreos/raft code.google.com/p/goprotobuf/proto ; do goven  -copy -rewrite $i; done
Brandon Philips 12 years ago
parent
commit
13b6c1e684
100 changed files with 3058 additions and 775 deletions
  1. 1 1
      bench/bench.go
  2. 1 1
      etcd.go
  3. 1 1
      log/log.go
  4. 1 1
      metrics/metrics.go
  5. 1 1
      metrics/nil.go
  6. 11 11
      metrics/standard.go
  7. 1 1
      mod/leader/v2/delete_handler.go
  8. 1 1
      mod/leader/v2/get_handler.go
  9. 8 8
      mod/leader/v2/handler.go
  10. 1 1
      mod/leader/v2/set_handler.go
  11. 2 2
      mod/lock/v2/acquire_handler.go
  12. 1 1
      mod/lock/v2/get_index_handler.go
  13. 5 5
      mod/lock/v2/handler.go
  14. 1 1
      mod/lock/v2/lock_nodes.go
  15. 1 1
      mod/lock/v2/release_handler.go
  16. 1 1
      mod/lock/v2/renew_handler.go
  17. 1 1
      mod/mod.go
  18. 60 60
      server/config.go
  19. 1 1
      server/config_test.go
  20. 11 11
      server/join_command.go
  21. 35 35
      server/peer_server.go
  22. 2 2
      server/peer_server_handlers.go
  23. 19 19
      server/raft_server_stats.go
  24. 1 1
      server/remove_command.go
  25. 17 17
      server/server.go
  26. 15 15
      server/transporter.go
  27. 1 1
      server/v1/delete_key_handler.go
  28. 1 1
      server/v1/get_key_handler.go
  29. 2 2
      server/v1/set_key_handler.go
  30. 1 1
      server/v1/v1.go
  31. 1 1
      server/v1/watch_key_handler.go
  32. 1 1
      server/v2/delete_handler.go
  33. 2 2
      server/v2/get_handler.go
  34. 1 1
      server/v2/post_handler.go
  35. 2 2
      server/v2/put_handler.go
  36. 1 1
      server/v2/v2.go
  37. 1 1
      store/command_factory.go
  38. 24 24
      store/v2/command_factory.go
  39. 4 4
      store/v2/compare_and_delete_command.go
  40. 6 6
      store/v2/compare_and_swap_command.go
  41. 6 6
      store/v2/create_command.go
  42. 4 4
      store/v2/delete_command.go
  43. 5 5
      store/v2/set_command.go
  44. 1 1
      store/v2/sync_command.go
  45. 4 4
      store/v2/update_command.go
  46. 1 1
      tests/functional/multi_node_kill_all_and_recovery_test.go
  47. 1 1
      tests/functional/multi_node_kill_one_test.go
  48. 1 1
      tests/functional/remove_node_test.go
  49. 1 1
      tests/functional/simple_multi_node_test.go
  50. 1 1
      tests/functional/simple_snapshot_test.go
  51. 1 1
      tests/functional/single_node_recovery_test.go
  52. 1 1
      tests/functional/single_node_test.go
  53. 1 1
      tests/functional/util.go
  54. 12 12
      tests/server_utils.go
  55. 0 11
      third_party/README
  56. 0 0
      third_party/bitbucket.org/kardianos/osext/LICENSE
  57. 0 0
      third_party/bitbucket.org/kardianos/osext/osext.go
  58. 0 0
      third_party/bitbucket.org/kardianos/osext/osext_plan9.go
  59. 0 0
      third_party/bitbucket.org/kardianos/osext/osext_procfs.go
  60. 0 0
      third_party/bitbucket.org/kardianos/osext/osext_sysctl.go
  61. 0 0
      third_party/bitbucket.org/kardianos/osext/osext_test.go
  62. 0 0
      third_party/bitbucket.org/kardianos/osext/osext_windows.go
  63. 0 0
      third_party/code.google.com/p/goprotobuf/proto/Makefile
  64. 316 316
      third_party/code.google.com/p/goprotobuf/proto/all_test.go
  65. 0 0
      third_party/code.google.com/p/goprotobuf/proto/clone.go
  66. 22 22
      third_party/code.google.com/p/goprotobuf/proto/clone_test.go
  67. 0 0
      third_party/code.google.com/p/goprotobuf/proto/decode.go
  68. 0 0
      third_party/code.google.com/p/goprotobuf/proto/encode.go
  69. 0 0
      third_party/code.google.com/p/goprotobuf/proto/equal.go
  70. 6 6
      third_party/code.google.com/p/goprotobuf/proto/equal_test.go
  71. 0 0
      third_party/code.google.com/p/goprotobuf/proto/extensions.go
  72. 0 0
      third_party/code.google.com/p/goprotobuf/proto/lib.go
  73. 0 0
      third_party/code.google.com/p/goprotobuf/proto/message_set.go
  74. 0 0
      third_party/code.google.com/p/goprotobuf/proto/pointer_reflect.go
  75. 0 0
      third_party/code.google.com/p/goprotobuf/proto/pointer_unsafe.go
  76. 0 0
      third_party/code.google.com/p/goprotobuf/proto/properties.go
  77. 0 0
      third_party/code.google.com/p/goprotobuf/proto/size2_test.go
  78. 3 3
      third_party/code.google.com/p/goprotobuf/proto/size_test.go
  79. 0 0
      third_party/code.google.com/p/goprotobuf/proto/testdata/Makefile
  80. 0 0
      third_party/code.google.com/p/goprotobuf/proto/testdata/golden_test.go
  81. 2294 0
      third_party/code.google.com/p/goprotobuf/proto/testdata/test.pb.go
  82. 0 0
      third_party/code.google.com/p/goprotobuf/proto/testdata/test.proto
  83. 0 0
      third_party/code.google.com/p/goprotobuf/proto/text.go
  84. 0 0
      third_party/code.google.com/p/goprotobuf/proto/text_parser.go
  85. 90 90
      third_party/code.google.com/p/goprotobuf/proto/text_parser_test.go
  86. 21 21
      third_party/code.google.com/p/goprotobuf/proto/text_test.go
  87. 0 0
      third_party/github.com/BurntSushi/toml/.gitignore
  88. 0 0
      third_party/github.com/BurntSushi/toml/COMPATIBLE
  89. 0 0
      third_party/github.com/BurntSushi/toml/COPYING
  90. 0 0
      third_party/github.com/BurntSushi/toml/Makefile
  91. 0 0
      third_party/github.com/BurntSushi/toml/README.md
  92. 18 18
      third_party/github.com/BurntSushi/toml/_examples/example.go
  93. 0 0
      third_party/github.com/BurntSushi/toml/_examples/example.toml
  94. 0 0
      third_party/github.com/BurntSushi/toml/_examples/hard.toml
  95. 0 0
      third_party/github.com/BurntSushi/toml/_examples/implicit.toml
  96. 0 0
      third_party/github.com/BurntSushi/toml/_examples/invalid-apples.toml
  97. 0 0
      third_party/github.com/BurntSushi/toml/_examples/invalid.toml
  98. 0 0
      third_party/github.com/BurntSushi/toml/_examples/readme1.toml
  99. 0 0
      third_party/github.com/BurntSushi/toml/_examples/readme2.toml
  100. 0 0
      third_party/github.com/BurntSushi/toml/decode.go

+ 1 - 1
bench/bench.go

@@ -5,7 +5,7 @@ import (
 	"log"
 	"strconv"
 
-	"github.com/coreos/go-etcd/etcd"
+	"github.com/coreos/etcd/third_party/github.com/coreos/go-etcd/etcd"
 )
 
 func write(endpoint string, requests int, end chan int) {

+ 1 - 1
etcd.go

@@ -24,7 +24,7 @@ import (
 	"runtime"
 	"time"
 
-	"github.com/coreos/raft"
+	"github.com/coreos/etcd/third_party/github.com/coreos/raft"
 
 	ehttp "github.com/coreos/etcd/http"
 	"github.com/coreos/etcd/log"

+ 1 - 1
log/log.go

@@ -1,7 +1,7 @@
 package log
 
 import (
-	golog "github.com/coreos/go-log/log"
+	golog "github.com/coreos/etcd/third_party/github.com/coreos/go-log/log"
 	"os"
 )
 

+ 1 - 1
metrics/metrics.go

@@ -7,7 +7,7 @@ package metrics
 import (
 	"io"
 
-	gometrics "github.com/rcrowley/go-metrics"
+	gometrics "github.com/coreos/etcd/third_party/github.com/rcrowley/go-metrics"
 )
 
 type Timer gometrics.Timer

+ 1 - 1
metrics/nil.go

@@ -3,7 +3,7 @@ package metrics
 import (
 	"io"
 
-	gometrics "github.com/rcrowley/go-metrics"
+	gometrics "github.com/coreos/etcd/third_party/github.com/rcrowley/go-metrics"
 )
 
 type nilBucket struct{}

+ 11 - 11
metrics/standard.go

@@ -6,25 +6,25 @@ import (
 	"sync"
 	"time"
 
-	gometrics "github.com/rcrowley/go-metrics"
+	gometrics "github.com/coreos/etcd/third_party/github.com/rcrowley/go-metrics"
 )
 
 const (
 	// RuntimeMemStatsSampleInterval is the interval in seconds at which the
 	// Go runtime's memory statistics will be gathered.
-	RuntimeMemStatsSampleInterval = time.Duration(2) * time.Second
+	RuntimeMemStatsSampleInterval	= time.Duration(2) * time.Second
 
 	// GraphitePublishInterval is the interval in seconds at which all
 	// gathered statistics will be published to a Graphite endpoint.
-	GraphitePublishInterval = time.Duration(2) * time.Second
+	GraphitePublishInterval	= time.Duration(2) * time.Second
 )
 
 type standardBucket struct {
 	sync.Mutex
-	name     string
-	registry gometrics.Registry
-	timers   map[string]Timer
-	gauges   map[string]Gauge
+	name		string
+	registry	gometrics.Registry
+	timers		map[string]Timer
+	gauges		map[string]Gauge
 }
 
 func newStandardBucket(name string) standardBucket {
@@ -34,10 +34,10 @@ func newStandardBucket(name string) standardBucket {
 	go gometrics.CaptureRuntimeMemStats(registry, RuntimeMemStatsSampleInterval)
 
 	return standardBucket{
-		name:     name,
-		registry: registry,
-		timers:   make(map[string]Timer),
-		gauges:   make(map[string]Gauge),
+		name:		name,
+		registry:	registry,
+		timers:		make(map[string]Timer),
+		gauges:		make(map[string]Gauge),
 	}
 }
 

+ 1 - 1
mod/leader/v2/delete_handler.go

@@ -7,7 +7,7 @@ import (
 	"net/url"
 
 	etcdErr "github.com/coreos/etcd/error"
-	"github.com/gorilla/mux"
+	"github.com/coreos/etcd/third_party/github.com/gorilla/mux"
 )
 
 // deleteHandler remove a given leader.

+ 1 - 1
mod/leader/v2/get_handler.go

@@ -5,7 +5,7 @@ import (
 	"io"
 	"net/http"
 
-	"github.com/gorilla/mux"
+	"github.com/coreos/etcd/third_party/github.com/gorilla/mux"
 )
 
 // getHandler retrieves the current leader.

+ 8 - 8
mod/leader/v2/handler.go

@@ -4,7 +4,7 @@ import (
 	"net/http"
 
 	etcdErr "github.com/coreos/etcd/error"
-	"github.com/gorilla/mux"
+	"github.com/coreos/etcd/third_party/github.com/gorilla/mux"
 )
 
 // prefix is appended to the lock's prefix since the leader mod uses the lock mod.
@@ -13,19 +13,19 @@ const prefix = "/_mod/leader"
 // handler manages the leader HTTP request.
 type handler struct {
 	*mux.Router
-	client    *http.Client
-	transport *http.Transport
-	addr      string
+	client		*http.Client
+	transport	*http.Transport
+	addr		string
 }
 
 // NewHandler creates an HTTP handler that can be registered on a router.
 func NewHandler(addr string) http.Handler {
 	transport := &http.Transport{DisableKeepAlives: false}
 	h := &handler{
-		Router:    mux.NewRouter(),
-		client:    &http.Client{Transport: transport},
-		transport: transport,
-		addr:      addr,
+		Router:		mux.NewRouter(),
+		client:		&http.Client{Transport: transport},
+		transport:	transport,
+		addr:		addr,
 	}
 	h.StrictSlash(false)
 	h.handleFunc("/{key:.*}", h.getHandler).Methods("GET")

+ 1 - 1
mod/leader/v2/set_handler.go

@@ -7,7 +7,7 @@ import (
 	"net/url"
 
 	etcdErr "github.com/coreos/etcd/error"
-	"github.com/gorilla/mux"
+	"github.com/coreos/etcd/third_party/github.com/gorilla/mux"
 )
 
 // setHandler attempts to set the current leader.

+ 2 - 2
mod/lock/v2/acquire_handler.go

@@ -9,8 +9,8 @@ import (
 	"time"
 
 	etcdErr "github.com/coreos/etcd/error"
-	"github.com/coreos/go-etcd/etcd"
-	"github.com/gorilla/mux"
+	"github.com/coreos/etcd/third_party/github.com/coreos/go-etcd/etcd"
+	"github.com/coreos/etcd/third_party/github.com/gorilla/mux"
 )
 
 // acquireHandler attempts to acquire a lock on the given key.

+ 1 - 1
mod/lock/v2/get_index_handler.go

@@ -5,7 +5,7 @@ import (
 	"path"
 
 	etcdErr "github.com/coreos/etcd/error"
-	"github.com/gorilla/mux"
+	"github.com/coreos/etcd/third_party/github.com/gorilla/mux"
 )
 
 // getIndexHandler retrieves the current lock index.

+ 5 - 5
mod/lock/v2/handler.go

@@ -4,8 +4,8 @@ import (
 	"net/http"
 
 	etcdErr "github.com/coreos/etcd/error"
-	"github.com/coreos/go-etcd/etcd"
-	"github.com/gorilla/mux"
+	"github.com/coreos/etcd/third_party/github.com/coreos/go-etcd/etcd"
+	"github.com/coreos/etcd/third_party/github.com/gorilla/mux"
 )
 
 const prefix = "/_etcd/mod/lock"
@@ -13,14 +13,14 @@ const prefix = "/_etcd/mod/lock"
 // handler manages the lock HTTP request.
 type handler struct {
 	*mux.Router
-	client *etcd.Client
+	client	*etcd.Client
 }
 
 // NewHandler creates an HTTP handler that can be registered on a router.
 func NewHandler(addr string) http.Handler {
 	h := &handler{
-		Router: mux.NewRouter(),
-		client: etcd.NewClient([]string{addr}),
+		Router:	mux.NewRouter(),
+		client:	etcd.NewClient([]string{addr}),
 	}
 	h.StrictSlash(false)
 	h.handleFunc("/{key:.*}", h.getIndexHandler).Methods("GET")

+ 1 - 1
mod/lock/v2/lock_nodes.go

@@ -5,7 +5,7 @@ import (
 	"sort"
 	"strconv"
 
-	"github.com/coreos/go-etcd/etcd"
+	"github.com/coreos/etcd/third_party/github.com/coreos/go-etcd/etcd"
 )
 
 // lockNodes is a wrapper for go-etcd's Nodes to allow for sorting by numeric key.

+ 1 - 1
mod/lock/v2/release_handler.go

@@ -5,7 +5,7 @@ import (
 	"path"
 
 	etcdErr "github.com/coreos/etcd/error"
-	"github.com/gorilla/mux"
+	"github.com/coreos/etcd/third_party/github.com/gorilla/mux"
 )
 
 // releaseLockHandler deletes the lock.

+ 1 - 1
mod/lock/v2/renew_handler.go

@@ -6,7 +6,7 @@ import (
 	"strconv"
 
 	etcdErr "github.com/coreos/etcd/error"
-	"github.com/gorilla/mux"
+	"github.com/coreos/etcd/third_party/github.com/gorilla/mux"
 )
 
 // renewLockHandler attempts to update the TTL on an existing lock.

+ 1 - 1
mod/mod.go

@@ -8,7 +8,7 @@ import (
 	"github.com/coreos/etcd/mod/dashboard"
 	leader2 "github.com/coreos/etcd/mod/leader/v2"
 	lock2 "github.com/coreos/etcd/mod/lock/v2"
-	"github.com/gorilla/mux"
+	"github.com/coreos/etcd/third_party/github.com/gorilla/mux"
 )
 
 var ServeMux *http.Handler

+ 60 - 60
server/config.go

@@ -13,7 +13,7 @@ import (
 	"strconv"
 	"strings"
 
-	"github.com/BurntSushi/toml"
+	"github.com/coreos/etcd/third_party/github.com/BurntSushi/toml"
 	"github.com/coreos/etcd/log"
 )
 
@@ -22,63 +22,63 @@ const DefaultSystemConfigPath = "/etc/etcd/etcd.conf"
 
 // A lookup of deprecated flags to their new flag name.
 var newFlagNameLookup = map[string]string{
-	"C":             "peers",
-	"CF":            "peers-file",
-	"n":             "name",
-	"c":             "addr",
-	"cl":            "bind-addr",
-	"s":             "peer-addr",
-	"sl":            "peer-bind-addr",
-	"d":             "data-dir",
-	"m":             "max-result-buffer",
-	"r":             "max-retry-attempts",
-	"maxsize":       "max-cluster-size",
-	"clientCAFile":  "ca-file",
-	"clientCert":    "cert-file",
-	"clientKey":     "key-file",
-	"serverCAFile":  "peer-ca-file",
-	"serverCert":    "peer-cert-file",
-	"serverKey":     "peer-key-file",
-	"snapshotCount": "snapshot-count",
+	"C":			"peers",
+	"CF":			"peers-file",
+	"n":			"name",
+	"c":			"addr",
+	"cl":			"bind-addr",
+	"s":			"peer-addr",
+	"sl":			"peer-bind-addr",
+	"d":			"data-dir",
+	"m":			"max-result-buffer",
+	"r":			"max-retry-attempts",
+	"maxsize":		"max-cluster-size",
+	"clientCAFile":		"ca-file",
+	"clientCert":		"cert-file",
+	"clientKey":		"key-file",
+	"serverCAFile":		"peer-ca-file",
+	"serverCert":		"peer-cert-file",
+	"serverKey":		"peer-key-file",
+	"snapshotCount":	"snapshot-count",
 }
 
 // Config represents the server configuration.
 type Config struct {
-	SystemPath string
-
-	Addr             string `toml:"addr" env:"ETCD_ADDR"`
-	BindAddr         string `toml:"bind_addr" env:"ETCD_BIND_ADDR"`
-	CAFile           string `toml:"ca_file" env:"ETCD_CA_FILE"`
-	CertFile         string `toml:"cert_file" env:"ETCD_CERT_FILE"`
-	CPUProfileFile   string
-	CorsOrigins      []string `toml:"cors" env:"ETCD_CORS"`
-	DataDir          string   `toml:"data_dir" env:"ETCD_DATA_DIR"`
-	Force            bool
-	KeyFile          string   `toml:"key_file" env:"ETCD_KEY_FILE"`
-	Peers            []string `toml:"peers" env:"ETCD_PEERS"`
-	PeersFile        string   `toml:"peers_file" env:"ETCD_PEERS_FILE"`
-	MaxClusterSize   int      `toml:"max_cluster_size" env:"ETCD_MAX_CLUSTER_SIZE"`
-	MaxResultBuffer  int      `toml:"max_result_buffer" env:"ETCD_MAX_RESULT_BUFFER"`
-	MaxRetryAttempts int      `toml:"max_retry_attempts" env:"ETCD_MAX_RETRY_ATTEMPTS"`
-	Name             string   `toml:"name" env:"ETCD_NAME"`
-	Snapshot         bool     `toml:"snapshot" env:"ETCD_SNAPSHOT"`
-	SnapshotCount    int      `toml:"snapshot_count" env:"ETCD_SNAPSHOTCOUNT"`
-	ShowHelp         bool
-	ShowVersion      bool
-	Verbose          bool `toml:"verbose" env:"ETCD_VERBOSE"`
-	VeryVerbose      bool `toml:"very_verbose" env:"ETCD_VERY_VERBOSE"`
-	VeryVeryVerbose  bool `toml:"very_very_verbose" env:"ETCD_VERY_VERY_VERBOSE"`
-	Peer             struct {
-		Addr             string `toml:"addr" env:"ETCD_PEER_ADDR"`
-		BindAddr         string `toml:"bind_addr" env:"ETCD_PEER_BIND_ADDR"`
-		CAFile           string `toml:"ca_file" env:"ETCD_PEER_CA_FILE"`
-		CertFile         string `toml:"cert_file" env:"ETCD_PEER_CERT_FILE"`
-		KeyFile          string `toml:"key_file" env:"ETCD_PEER_KEY_FILE"`
-		HeartbeatTimeout int    `toml:"heartbeat_timeout" env:"ETCD_PEER_HEARTBEAT_TIMEOUT"`
-		ElectionTimeout  int    `toml:"election_timeout" env:"ETCD_PEER_ELECTION_TIMEOUT"`
-	}
-	strTrace     string `toml:"trace" env:"ETCD_TRACE"`
-	GraphiteHost string `toml:"graphite_host" env:"ETCD_GRAPHITE_HOST"`
+	SystemPath	string
+
+	Addr			string	`toml:"addr" env:"ETCD_ADDR"`
+	BindAddr		string	`toml:"bind_addr" env:"ETCD_BIND_ADDR"`
+	CAFile			string	`toml:"ca_file" env:"ETCD_CA_FILE"`
+	CertFile		string	`toml:"cert_file" env:"ETCD_CERT_FILE"`
+	CPUProfileFile		string
+	CorsOrigins		[]string	`toml:"cors" env:"ETCD_CORS"`
+	DataDir			string		`toml:"data_dir" env:"ETCD_DATA_DIR"`
+	Force			bool
+	KeyFile			string		`toml:"key_file" env:"ETCD_KEY_FILE"`
+	Peers			[]string	`toml:"peers" env:"ETCD_PEERS"`
+	PeersFile		string		`toml:"peers_file" env:"ETCD_PEERS_FILE"`
+	MaxClusterSize		int		`toml:"max_cluster_size" env:"ETCD_MAX_CLUSTER_SIZE"`
+	MaxResultBuffer		int		`toml:"max_result_buffer" env:"ETCD_MAX_RESULT_BUFFER"`
+	MaxRetryAttempts	int		`toml:"max_retry_attempts" env:"ETCD_MAX_RETRY_ATTEMPTS"`
+	Name			string		`toml:"name" env:"ETCD_NAME"`
+	Snapshot		bool		`toml:"snapshot" env:"ETCD_SNAPSHOT"`
+	SnapshotCount		int		`toml:"snapshot_count" env:"ETCD_SNAPSHOTCOUNT"`
+	ShowHelp		bool
+	ShowVersion		bool
+	Verbose			bool	`toml:"verbose" env:"ETCD_VERBOSE"`
+	VeryVerbose		bool	`toml:"very_verbose" env:"ETCD_VERY_VERBOSE"`
+	VeryVeryVerbose		bool	`toml:"very_very_verbose" env:"ETCD_VERY_VERY_VERBOSE"`
+	Peer			struct {
+		Addr			string	`toml:"addr" env:"ETCD_PEER_ADDR"`
+		BindAddr		string	`toml:"bind_addr" env:"ETCD_PEER_BIND_ADDR"`
+		CAFile			string	`toml:"ca_file" env:"ETCD_PEER_CA_FILE"`
+		CertFile		string	`toml:"cert_file" env:"ETCD_PEER_CERT_FILE"`
+		KeyFile			string	`toml:"key_file" env:"ETCD_PEER_KEY_FILE"`
+		HeartbeatTimeout	int	`toml:"heartbeat_timeout" env:"ETCD_PEER_HEARTBEAT_TIMEOUT"`
+		ElectionTimeout		int	`toml:"election_timeout" env:"ETCD_PEER_ELECTION_TIMEOUT"`
+	}
+	strTrace	string	`toml:"trace" env:"ETCD_TRACE"`
+	GraphiteHost	string	`toml:"graphite_host" env:"ETCD_GRAPHITE_HOST"`
 }
 
 // NewConfig returns a Config initialized with default values.
@@ -433,9 +433,9 @@ func (c *Config) Sanitize() error {
 // TLSInfo retrieves a TLSInfo object for the client server.
 func (c *Config) TLSInfo() TLSInfo {
 	return TLSInfo{
-		CAFile:   c.CAFile,
-		CertFile: c.CertFile,
-		KeyFile:  c.KeyFile,
+		CAFile:		c.CAFile,
+		CertFile:	c.CertFile,
+		KeyFile:	c.KeyFile,
 	}
 }
 
@@ -447,9 +447,9 @@ func (c *Config) TLSConfig() (TLSConfig, error) {
 // PeerTLSInfo retrieves a TLSInfo object for the peer server.
 func (c *Config) PeerTLSInfo() TLSInfo {
 	return TLSInfo{
-		CAFile:   c.Peer.CAFile,
-		CertFile: c.Peer.CertFile,
-		KeyFile:  c.Peer.KeyFile,
+		CAFile:		c.Peer.CAFile,
+		CertFile:	c.Peer.CertFile,
+		KeyFile:	c.Peer.KeyFile,
 	}
 }
 

+ 1 - 1
server/config_test.go

@@ -5,7 +5,7 @@ import (
 	"os"
 	"testing"
 
-	"github.com/BurntSushi/toml"
+	"github.com/coreos/etcd/third_party/github.com/BurntSushi/toml"
 	"github.com/stretchr/testify/assert"
 )
 

+ 11 - 11
server/join_command.go

@@ -5,7 +5,7 @@ import (
 
 	etcdErr "github.com/coreos/etcd/error"
 	"github.com/coreos/etcd/log"
-	"github.com/coreos/raft"
+	"github.com/coreos/etcd/third_party/github.com/coreos/raft"
 )
 
 func init() {
@@ -14,20 +14,20 @@ func init() {
 
 // The JoinCommand adds a node to the cluster.
 type JoinCommand struct {
-	MinVersion int    `json:"minVersion"`
-	MaxVersion int    `json:"maxVersion"`
-	Name       string `json:"name"`
-	RaftURL    string `json:"raftURL"`
-	EtcdURL    string `json:"etcdURL"`
+	MinVersion	int	`json:"minVersion"`
+	MaxVersion	int	`json:"maxVersion"`
+	Name		string	`json:"name"`
+	RaftURL		string	`json:"raftURL"`
+	EtcdURL		string	`json:"etcdURL"`
 }
 
 func NewJoinCommand(minVersion int, maxVersion int, name, raftUrl, etcdUrl string) *JoinCommand {
 	return &JoinCommand{
-		MinVersion: minVersion,
-		MaxVersion: maxVersion,
-		Name:       name,
-		RaftURL:    raftUrl,
-		EtcdURL:    etcdUrl,
+		MinVersion:	minVersion,
+		MaxVersion:	maxVersion,
+		Name:		name,
+		RaftURL:	raftUrl,
+		EtcdURL:	etcdUrl,
 	}
 }
 

+ 35 - 35
server/peer_server.go

@@ -11,8 +11,8 @@ import (
 	"strconv"
 	"time"
 
-	"github.com/coreos/raft"
-	"github.com/gorilla/mux"
+	"github.com/coreos/etcd/third_party/github.com/coreos/raft"
+	"github.com/coreos/etcd/third_party/github.com/gorilla/mux"
 
 	etcdErr "github.com/coreos/etcd/error"
 	"github.com/coreos/etcd/log"
@@ -25,55 +25,55 @@ const retryInterval = 10
 const ThresholdMonitorTimeout = 5 * time.Second
 
 type PeerServerConfig struct {
-	Name           string
-	Scheme         string
-	URL            string
-	SnapshotCount  int
-	MaxClusterSize int
-	RetryTimes     int
+	Name		string
+	Scheme		string
+	URL		string
+	SnapshotCount	int
+	MaxClusterSize	int
+	RetryTimes	int
 }
 
 type PeerServer struct {
-	Config         PeerServerConfig
-	raftServer     raft.Server
-	server         *Server
-	joinIndex      uint64
-	followersStats *raftFollowersStats
-	serverStats    *raftServerStats
-	registry       *Registry
-	store          store.Store
-	snapConf       *snapshotConf
-
-	closeChan            chan bool
-	timeoutThresholdChan chan interface{}
-
-	metrics *metrics.Bucket
+	Config		PeerServerConfig
+	raftServer	raft.Server
+	server		*Server
+	joinIndex	uint64
+	followersStats	*raftFollowersStats
+	serverStats	*raftServerStats
+	registry	*Registry
+	store		store.Store
+	snapConf	*snapshotConf
+
+	closeChan		chan bool
+	timeoutThresholdChan	chan interface{}
+
+	metrics	*metrics.Bucket
 }
 
 // TODO: find a good policy to do snapshot
 type snapshotConf struct {
 	// Etcd will check if snapshot is need every checkingInterval
-	checkingInterval time.Duration
+	checkingInterval	time.Duration
 
 	// The index when the last snapshot happened
-	lastIndex uint64
+	lastIndex	uint64
 
 	// If the incremental number of index since the last snapshot
 	// exceeds the snapshot Threshold, etcd will do a snapshot
-	snapshotThr uint64
+	snapshotThr	uint64
 }
 
 func NewPeerServer(psConfig PeerServerConfig, registry *Registry, store store.Store, mb *metrics.Bucket, followersStats *raftFollowersStats, serverStats *raftServerStats) *PeerServer {
 	s := &PeerServer{
-		Config:         psConfig,
-		registry:       registry,
-		store:          store,
-		followersStats: followersStats,
-		serverStats:    serverStats,
+		Config:		psConfig,
+		registry:	registry,
+		store:		store,
+		followersStats:	followersStats,
+		serverStats:	serverStats,
 
-		timeoutThresholdChan: make(chan interface{}, 1),
+		timeoutThresholdChan:	make(chan interface{}, 1),
 
-		metrics: mb,
+		metrics:	mb,
 	}
 
 	return s
@@ -81,10 +81,10 @@ func NewPeerServer(psConfig PeerServerConfig, registry *Registry, store store.St
 
 func (s *PeerServer) SetRaftServer(raftServer raft.Server) {
 	s.snapConf = &snapshotConf{
-		checkingInterval: time.Second * 3,
+		checkingInterval:	time.Second * 3,
 		// this is not accurate, we will update raft to provide an api
-		lastIndex:   raftServer.CommitIndex(),
-		snapshotThr: uint64(s.Config.SnapshotCount),
+		lastIndex:	raftServer.CommitIndex(),
+		snapshotThr:	uint64(s.Config.SnapshotCount),
 	}
 
 	raftServer.AddEventListener(raft.StateChangeEventType, s.raftEventLogger)

+ 2 - 2
server/peer_server_handlers.go

@@ -9,8 +9,8 @@ import (
 	etcdErr "github.com/coreos/etcd/error"
 	"github.com/coreos/etcd/log"
 	"github.com/coreos/etcd/store"
-	"github.com/coreos/raft"
-	"github.com/gorilla/mux"
+	"github.com/coreos/etcd/third_party/github.com/coreos/raft"
+	"github.com/coreos/etcd/third_party/github.com/gorilla/mux"
 )
 
 // Get all the current logs

+ 19 - 19
server/raft_server_stats.go

@@ -3,36 +3,36 @@ package server
 import (
 	"time"
 
-	"github.com/coreos/raft"
+	"github.com/coreos/etcd/third_party/github.com/coreos/raft"
 )
 
 type raftServerStats struct {
-	Name      string    `json:"name"`
-	State     string    `json:"state"`
-	StartTime time.Time `json:"startTime"`
+	Name		string		`json:"name"`
+	State		string		`json:"state"`
+	StartTime	time.Time	`json:"startTime"`
 
-	LeaderInfo struct {
-		Name      string `json:"leader"`
-		Uptime    string `json:"uptime"`
-		startTime time.Time
-	} `json:"leaderInfo"`
+	LeaderInfo	struct {
+		Name		string	`json:"leader"`
+		Uptime		string	`json:"uptime"`
+		startTime	time.Time
+	}	`json:"leaderInfo"`
 
-	RecvAppendRequestCnt uint64  `json:"recvAppendRequestCnt,"`
-	RecvingPkgRate       float64 `json:"recvPkgRate,omitempty"`
-	RecvingBandwidthRate float64 `json:"recvBandwidthRate,omitempty"`
+	RecvAppendRequestCnt	uint64	`json:"recvAppendRequestCnt,"`
+	RecvingPkgRate		float64	`json:"recvPkgRate,omitempty"`
+	RecvingBandwidthRate	float64	`json:"recvBandwidthRate,omitempty"`
 
-	SendAppendRequestCnt uint64  `json:"sendAppendRequestCnt"`
-	SendingPkgRate       float64 `json:"sendPkgRate,omitempty"`
-	SendingBandwidthRate float64 `json:"sendBandwidthRate,omitempty"`
+	SendAppendRequestCnt	uint64	`json:"sendAppendRequestCnt"`
+	SendingPkgRate		float64	`json:"sendPkgRate,omitempty"`
+	SendingBandwidthRate	float64	`json:"sendBandwidthRate,omitempty"`
 
-	sendRateQueue *statsQueue
-	recvRateQueue *statsQueue
+	sendRateQueue	*statsQueue
+	recvRateQueue	*statsQueue
 }
 
 func NewRaftServerStats(name string) *raftServerStats {
 	return &raftServerStats{
-		Name:      name,
-		StartTime: time.Now(),
+		Name:		name,
+		StartTime:	time.Now(),
 		sendRateQueue: &statsQueue{
 			back: -1,
 		},

+ 1 - 1
server/remove_command.go

@@ -5,7 +5,7 @@ import (
 	"os"
 
 	"github.com/coreos/etcd/log"
-	"github.com/coreos/raft"
+	"github.com/coreos/etcd/third_party/github.com/coreos/raft"
 )
 
 func init() {

+ 17 - 17
server/server.go

@@ -8,8 +8,8 @@ import (
 	"strings"
 	"time"
 
-	"github.com/coreos/raft"
-	"github.com/gorilla/mux"
+	"github.com/coreos/etcd/third_party/github.com/coreos/raft"
+	"github.com/coreos/etcd/third_party/github.com/gorilla/mux"
 
 	etcdErr "github.com/coreos/etcd/error"
 	"github.com/coreos/etcd/log"
@@ -23,26 +23,26 @@ import (
 
 // This is the default implementation of the Server interface.
 type Server struct {
-	Name       string
-	url        string
-	handler    http.Handler
-	peerServer *PeerServer
-	registry   *Registry
-	store      store.Store
-	metrics    *metrics.Bucket
-
-	trace bool
+	Name		string
+	url		string
+	handler		http.Handler
+	peerServer	*PeerServer
+	registry	*Registry
+	store		store.Store
+	metrics		*metrics.Bucket
+
+	trace	bool
 }
 
 // Creates a new Server.
 func New(name, url string, peerServer *PeerServer, registry *Registry, store store.Store, mb *metrics.Bucket) *Server {
 	s := &Server{
-		Name:       name,
-		url:        url,
-		store:      store,
-		registry:   registry,
-		peerServer: peerServer,
-		metrics:    mb,
+		Name:		name,
+		url:		url,
+		store:		store,
+		registry:	registry,
+		peerServer:	peerServer,
+		metrics:	mb,
 	}
 
 	return s

+ 15 - 15
server/transporter.go

@@ -10,18 +10,18 @@ import (
 	"time"
 
 	"github.com/coreos/etcd/log"
-	"github.com/coreos/raft"
+	"github.com/coreos/etcd/third_party/github.com/coreos/raft"
 )
 
 // Transporter layer for communication between raft nodes
 type transporter struct {
-	requestTimeout time.Duration
-	followersStats *raftFollowersStats
-	serverStats    *raftServerStats
-	registry       *Registry
+	requestTimeout	time.Duration
+	followersStats	*raftFollowersStats
+	serverStats	*raftServerStats
+	registry	*Registry
 
-	client    *http.Client
-	transport *http.Transport
+	client		*http.Client
+	transport	*http.Transport
 }
 
 type dialer func(network, addr string) (net.Conn, error)
@@ -34,16 +34,16 @@ func NewTransporter(followersStats *raftFollowersStats, serverStats *raftServerS
 		Dial: func(network, addr string) (net.Conn, error) {
 			return net.DialTimeout(network, addr, dialTimeout)
 		},
-		ResponseHeaderTimeout: responseHeaderTimeout,
+		ResponseHeaderTimeout:	responseHeaderTimeout,
 	}
 
 	t := transporter{
-		client:         &http.Client{Transport: tr},
-		transport:      tr,
-		requestTimeout: requestTimeout,
-		followersStats: followersStats,
-		serverStats:    serverStats,
-		registry:       registry,
+		client:		&http.Client{Transport: tr},
+		transport:	tr,
+		requestTimeout:	requestTimeout,
+		followersStats:	followersStats,
+		serverStats:	serverStats,
+		registry:	registry,
 	}
 
 	return &t
@@ -73,7 +73,7 @@ func (t *transporter) SendAppendEntriesRequest(server raft.Server, peer *raft.Pe
 
 	thisFollowerStats, ok := t.followersStats.Followers[peer.Name]
 
-	if !ok { //this is the first time this follower has been seen
+	if !ok {	//this is the first time this follower has been seen
 		thisFollowerStats = &raftFollowerStats{}
 		thisFollowerStats.Latency.Minimum = 1 << 63
 		t.followersStats.Followers[peer.Name] = thisFollowerStats

+ 1 - 1
server/v1/delete_key_handler.go

@@ -1,7 +1,7 @@
 package v1
 
 import (
-	"github.com/gorilla/mux"
+	"github.com/coreos/etcd/third_party/github.com/gorilla/mux"
 	"net/http"
 )
 

+ 1 - 1
server/v1/get_key_handler.go

@@ -4,7 +4,7 @@ import (
 	"encoding/json"
 	"net/http"
 
-	"github.com/gorilla/mux"
+	"github.com/coreos/etcd/third_party/github.com/gorilla/mux"
 )
 
 // Retrieves the value for a given key.

+ 2 - 2
server/v1/set_key_handler.go

@@ -5,8 +5,8 @@ import (
 
 	etcdErr "github.com/coreos/etcd/error"
 	"github.com/coreos/etcd/store"
-	"github.com/coreos/raft"
-	"github.com/gorilla/mux"
+	"github.com/coreos/etcd/third_party/github.com/coreos/raft"
+	"github.com/coreos/etcd/third_party/github.com/gorilla/mux"
 )
 
 // Sets the value for a given key.

+ 1 - 1
server/v1/v1.go

@@ -2,7 +2,7 @@ package v1
 
 import (
 	"github.com/coreos/etcd/store"
-	"github.com/coreos/raft"
+	"github.com/coreos/etcd/third_party/github.com/coreos/raft"
 	"net/http"
 )
 

+ 1 - 1
server/v1/watch_key_handler.go

@@ -6,7 +6,7 @@ import (
 	"strconv"
 
 	etcdErr "github.com/coreos/etcd/error"
-	"github.com/gorilla/mux"
+	"github.com/coreos/etcd/third_party/github.com/gorilla/mux"
 )
 
 // Watches a given key prefix for changes.

+ 1 - 1
server/v2/delete_handler.go

@@ -5,7 +5,7 @@ import (
 	"strconv"
 
 	etcdErr "github.com/coreos/etcd/error"
-	"github.com/gorilla/mux"
+	"github.com/coreos/etcd/third_party/github.com/gorilla/mux"
 )
 
 func DeleteHandler(w http.ResponseWriter, req *http.Request, s Server) error {

+ 2 - 2
server/v2/get_handler.go

@@ -9,8 +9,8 @@ import (
 
 	etcdErr "github.com/coreos/etcd/error"
 	"github.com/coreos/etcd/log"
-	"github.com/coreos/raft"
-	"github.com/gorilla/mux"
+	"github.com/coreos/etcd/third_party/github.com/coreos/raft"
+	"github.com/coreos/etcd/third_party/github.com/gorilla/mux"
 )
 
 func GetHandler(w http.ResponseWriter, req *http.Request, s Server) error {

+ 1 - 1
server/v2/post_handler.go

@@ -5,7 +5,7 @@ import (
 
 	etcdErr "github.com/coreos/etcd/error"
 	"github.com/coreos/etcd/store"
-	"github.com/gorilla/mux"
+	"github.com/coreos/etcd/third_party/github.com/gorilla/mux"
 )
 
 func PostHandler(w http.ResponseWriter, req *http.Request, s Server) error {

+ 2 - 2
server/v2/put_handler.go

@@ -7,8 +7,8 @@ import (
 
 	etcdErr "github.com/coreos/etcd/error"
 	"github.com/coreos/etcd/store"
-	"github.com/coreos/raft"
-	"github.com/gorilla/mux"
+	"github.com/coreos/etcd/third_party/github.com/coreos/raft"
+	"github.com/coreos/etcd/third_party/github.com/gorilla/mux"
 )
 
 func PutHandler(w http.ResponseWriter, req *http.Request, s Server) error {

+ 1 - 1
server/v2/v2.go

@@ -2,7 +2,7 @@ package v2
 
 import (
 	"github.com/coreos/etcd/store"
-	"github.com/coreos/raft"
+	"github.com/coreos/etcd/third_party/github.com/coreos/raft"
 	"net/http"
 )
 

+ 1 - 1
store/command_factory.go

@@ -4,7 +4,7 @@ import (
 	"fmt"
 	"time"
 
-	"github.com/coreos/raft"
+	"github.com/coreos/etcd/third_party/github.com/coreos/raft"
 )
 
 // A lookup of factories by version.

+ 24 - 24
store/v2/command_factory.go

@@ -4,7 +4,7 @@ import (
 	"time"
 
 	"github.com/coreos/etcd/store"
-	"github.com/coreos/raft"
+	"github.com/coreos/etcd/third_party/github.com/coreos/raft"
 )
 
 func init() {
@@ -28,59 +28,59 @@ func (f *CommandFactory) CreateUpgradeCommand() raft.Command {
 // CreateSetCommand creates a version 2 command to set a key to a given value in the store.
 func (f *CommandFactory) CreateSetCommand(key string, dir bool, value string, expireTime time.Time) raft.Command {
 	return &SetCommand{
-		Key:        key,
-		Value:      value,
-		ExpireTime: expireTime,
-		Dir:        dir,
+		Key:		key,
+		Value:		value,
+		ExpireTime:	expireTime,
+		Dir:		dir,
 	}
 }
 
 // CreateCreateCommand creates a version 2 command to create a new key in the store.
 func (f *CommandFactory) CreateCreateCommand(key string, dir bool, value string, expireTime time.Time, unique bool) raft.Command {
 	return &CreateCommand{
-		Key:        key,
-		Value:      value,
-		ExpireTime: expireTime,
-		Unique:     unique,
-		Dir:        dir,
+		Key:		key,
+		Value:		value,
+		ExpireTime:	expireTime,
+		Unique:		unique,
+		Dir:		dir,
 	}
 }
 
 // CreateUpdateCommand creates a version 2 command to update a key to a given value in the store.
 func (f *CommandFactory) CreateUpdateCommand(key string, value string, expireTime time.Time) raft.Command {
 	return &UpdateCommand{
-		Key:        key,
-		Value:      value,
-		ExpireTime: expireTime,
+		Key:		key,
+		Value:		value,
+		ExpireTime:	expireTime,
 	}
 }
 
 // CreateDeleteCommand creates a version 2 command to delete a key from the store.
 func (f *CommandFactory) CreateDeleteCommand(key string, dir, recursive bool) raft.Command {
 	return &DeleteCommand{
-		Key:       key,
-		Recursive: recursive,
-		Dir:       dir,
+		Key:		key,
+		Recursive:	recursive,
+		Dir:		dir,
 	}
 }
 
 // CreateCompareAndSwapCommand creates a version 2 command to conditionally set a key in the store.
 func (f *CommandFactory) CreateCompareAndSwapCommand(key string, value string, prevValue string, prevIndex uint64, expireTime time.Time) raft.Command {
 	return &CompareAndSwapCommand{
-		Key:        key,
-		Value:      value,
-		PrevValue:  prevValue,
-		PrevIndex:  prevIndex,
-		ExpireTime: expireTime,
+		Key:		key,
+		Value:		value,
+		PrevValue:	prevValue,
+		PrevIndex:	prevIndex,
+		ExpireTime:	expireTime,
 	}
 }
 
 // CreateCompareAndDeleteCommand creates a version 2 command to conditionally delete a key from the store.
 func (f *CommandFactory) CreateCompareAndDeleteCommand(key string, prevValue string, prevIndex uint64) raft.Command {
 	return &CompareAndDeleteCommand{
-		Key:       key,
-		PrevValue: prevValue,
-		PrevIndex: prevIndex,
+		Key:		key,
+		PrevValue:	prevValue,
+		PrevIndex:	prevIndex,
 	}
 }
 

+ 4 - 4
store/v2/compare_and_delete_command.go

@@ -3,7 +3,7 @@ package v2
 import (
 	"github.com/coreos/etcd/log"
 	"github.com/coreos/etcd/store"
-	"github.com/coreos/raft"
+	"github.com/coreos/etcd/third_party/github.com/coreos/raft"
 )
 
 func init() {
@@ -12,9 +12,9 @@ func init() {
 
 // The CompareAndDelete performs a conditional delete on a key in the store.
 type CompareAndDeleteCommand struct {
-	Key       string `json:"key"`
-	PrevValue string `json:"prevValue"`
-	PrevIndex uint64 `json:"prevIndex"`
+	Key		string	`json:"key"`
+	PrevValue	string	`json:"prevValue"`
+	PrevIndex	uint64	`json:"prevIndex"`
 }
 
 // The name of the compareAndDelete command in the log

+ 6 - 6
store/v2/compare_and_swap_command.go

@@ -5,7 +5,7 @@ import (
 
 	"github.com/coreos/etcd/log"
 	"github.com/coreos/etcd/store"
-	"github.com/coreos/raft"
+	"github.com/coreos/etcd/third_party/github.com/coreos/raft"
 )
 
 func init() {
@@ -14,11 +14,11 @@ func init() {
 
 // The CompareAndSwap performs a conditional update on a key in the store.
 type CompareAndSwapCommand struct {
-	Key        string    `json:"key"`
-	Value      string    `json:"value"`
-	ExpireTime time.Time `json:"expireTime"`
-	PrevValue  string    `json:"prevValue"`
-	PrevIndex  uint64    `json:"prevIndex"`
+	Key		string		`json:"key"`
+	Value		string		`json:"value"`
+	ExpireTime	time.Time	`json:"expireTime"`
+	PrevValue	string		`json:"prevValue"`
+	PrevIndex	uint64		`json:"prevIndex"`
 }
 
 // The name of the testAndSet command in the log

+ 6 - 6
store/v2/create_command.go

@@ -5,7 +5,7 @@ import (
 
 	"github.com/coreos/etcd/log"
 	"github.com/coreos/etcd/store"
-	"github.com/coreos/raft"
+	"github.com/coreos/etcd/third_party/github.com/coreos/raft"
 )
 
 func init() {
@@ -14,11 +14,11 @@ func init() {
 
 // Create command
 type CreateCommand struct {
-	Key        string    `json:"key"`
-	Value      string    `json:"value"`
-	ExpireTime time.Time `json:"expireTime"`
-	Unique     bool      `json:"unique"`
-	Dir        bool      `json:"dir"`
+	Key		string		`json:"key"`
+	Value		string		`json:"value"`
+	ExpireTime	time.Time	`json:"expireTime"`
+	Unique		bool		`json:"unique"`
+	Dir		bool		`json:"dir"`
 }
 
 // The name of the create command in the log

+ 4 - 4
store/v2/delete_command.go

@@ -3,7 +3,7 @@ package v2
 import (
 	"github.com/coreos/etcd/log"
 	"github.com/coreos/etcd/store"
-	"github.com/coreos/raft"
+	"github.com/coreos/etcd/third_party/github.com/coreos/raft"
 )
 
 func init() {
@@ -12,9 +12,9 @@ func init() {
 
 // The DeleteCommand removes a key from the Store.
 type DeleteCommand struct {
-	Key       string `json:"key"`
-	Recursive bool   `json:"recursive"`
-	Dir       bool   `json:"dir"`
+	Key		string	`json:"key"`
+	Recursive	bool	`json:"recursive"`
+	Dir		bool	`json:"dir"`
 }
 
 // The name of the delete command in the log

+ 5 - 5
store/v2/set_command.go

@@ -5,7 +5,7 @@ import (
 
 	"github.com/coreos/etcd/log"
 	"github.com/coreos/etcd/store"
-	"github.com/coreos/raft"
+	"github.com/coreos/etcd/third_party/github.com/coreos/raft"
 )
 
 func init() {
@@ -14,10 +14,10 @@ func init() {
 
 // Create command
 type SetCommand struct {
-	Key        string    `json:"key"`
-	Value      string    `json:"value"`
-	ExpireTime time.Time `json:"expireTime"`
-	Dir        bool      `json:"dir"`
+	Key		string		`json:"key"`
+	Value		string		`json:"value"`
+	ExpireTime	time.Time	`json:"expireTime"`
+	Dir		bool		`json:"dir"`
 }
 
 // The name of the create command in the log

+ 1 - 1
store/v2/sync_command.go

@@ -4,7 +4,7 @@ import (
 	"time"
 
 	"github.com/coreos/etcd/store"
-	"github.com/coreos/raft"
+	"github.com/coreos/etcd/third_party/github.com/coreos/raft"
 )
 
 func init() {

+ 4 - 4
store/v2/update_command.go

@@ -3,7 +3,7 @@ package v2
 import (
 	"github.com/coreos/etcd/log"
 	"github.com/coreos/etcd/store"
-	"github.com/coreos/raft"
+	"github.com/coreos/etcd/third_party/github.com/coreos/raft"
 	"time"
 )
 
@@ -13,9 +13,9 @@ func init() {
 
 // Update command
 type UpdateCommand struct {
-	Key        string    `json:"key"`
-	Value      string    `json:"value"`
-	ExpireTime time.Time `json:"expireTime"`
+	Key		string		`json:"key"`
+	Value		string		`json:"value"`
+	ExpireTime	time.Time	`json:"expireTime"`
 }
 
 // The name of the update command in the log

+ 1 - 1
tests/functional/multi_node_kill_all_and_recovery_test.go

@@ -5,7 +5,7 @@ import (
 	"testing"
 	"time"
 
-	"github.com/coreos/go-etcd/etcd"
+	"github.com/coreos/etcd/third_party/github.com/coreos/go-etcd/etcd"
 )
 
 // Create a five nodes

+ 1 - 1
tests/functional/multi_node_kill_one_test.go

@@ -7,7 +7,7 @@ import (
 	"testing"
 	"time"
 
-	"github.com/coreos/go-etcd/etcd"
+	"github.com/coreos/etcd/third_party/github.com/coreos/go-etcd/etcd"
 )
 
 // Create a five nodes

+ 1 - 1
tests/functional/remove_node_test.go

@@ -7,7 +7,7 @@ import (
 	"testing"
 	"time"
 
-	"github.com/coreos/go-etcd/etcd"
+	"github.com/coreos/etcd/third_party/github.com/coreos/go-etcd/etcd"
 )
 
 // remove the node and node rejoin with previous log

+ 1 - 1
tests/functional/simple_multi_node_test.go

@@ -5,7 +5,7 @@ import (
 	"testing"
 	"time"
 
-	"github.com/coreos/go-etcd/etcd"
+	"github.com/coreos/etcd/third_party/github.com/coreos/go-etcd/etcd"
 )
 
 func TestSimpleMultiNode(t *testing.T) {

+ 1 - 1
tests/functional/simple_snapshot_test.go

@@ -7,7 +7,7 @@ import (
 	"testing"
 	"time"
 
-	"github.com/coreos/go-etcd/etcd"
+	"github.com/coreos/etcd/third_party/github.com/coreos/go-etcd/etcd"
 )
 
 // This test creates a single node and then set a value to it to trigger snapshot

+ 1 - 1
tests/functional/single_node_recovery_test.go

@@ -5,7 +5,7 @@ import (
 	"testing"
 	"time"
 
-	"github.com/coreos/go-etcd/etcd"
+	"github.com/coreos/etcd/third_party/github.com/coreos/go-etcd/etcd"
 )
 
 // This test creates a single node and then set a value to it.

+ 1 - 1
tests/functional/single_node_test.go

@@ -5,7 +5,7 @@ import (
 	"testing"
 	"time"
 
-	"github.com/coreos/go-etcd/etcd"
+	"github.com/coreos/etcd/third_party/github.com/coreos/go-etcd/etcd"
 )
 
 // Create a single node and try to set value

+ 1 - 1
tests/functional/util.go

@@ -18,7 +18,7 @@ package test
 
 import (
 	"fmt"
-	"github.com/coreos/go-etcd/etcd"
+	"github.com/coreos/etcd/third_party/github.com/coreos/go-etcd/etcd"
 	"io/ioutil"
 	"net"
 	"net/http"

+ 12 - 12
tests/server_utils.go

@@ -6,19 +6,19 @@ import (
 	"os"
 	"time"
 
-	"github.com/coreos/raft"
+	"github.com/coreos/etcd/third_party/github.com/coreos/raft"
 
 	"github.com/coreos/etcd/server"
 	"github.com/coreos/etcd/store"
 )
 
 const (
-	testName             = "ETCDTEST"
-	testClientURL        = "localhost:4401"
-	testRaftURL          = "localhost:7701"
-	testSnapshotCount    = 10000
-	testHeartbeatTimeout = time.Duration(50) * time.Millisecond
-	testElectionTimeout  = time.Duration(200) * time.Millisecond
+	testName		= "ETCDTEST"
+	testClientURL		= "localhost:4401"
+	testRaftURL		= "localhost:7701"
+	testSnapshotCount	= 10000
+	testHeartbeatTimeout	= time.Duration(50) * time.Millisecond
+	testElectionTimeout	= time.Duration(200) * time.Millisecond
 )
 
 // Starts a server in a temporary directory.
@@ -33,11 +33,11 @@ func RunServer(f func(*server.Server)) {
 	followersStats := server.NewRaftFollowersStats(testName)
 
 	psConfig := server.PeerServerConfig{
-		Name:           testName,
-		URL:            "http://" + testRaftURL,
-		Scheme:         "http",
-		SnapshotCount:  testSnapshotCount,
-		MaxClusterSize: 9,
+		Name:		testName,
+		URL:		"http://" + testRaftURL,
+		Scheme:		"http",
+		SnapshotCount:	testSnapshotCount,
+		MaxClusterSize:	9,
 	}
 	ps := server.NewPeerServer(psConfig, registry, store, nil, followersStats, serverStats)
 	psListener, err := server.NewListener(testRaftURL)

+ 0 - 11
third_party/README

@@ -1,11 +0,0 @@
-# Third Party Libraries
-
-The third_party directory has all of the dependencies needed to build
-etcd so that we can have a consistent build. `go get` should not be
-called at any point during the build process.
-
-## Usage
-
-To update all of the third party libraries call
-
-    ./update

+ 0 - 0
third_party/src/bitbucket.org/kardianos/osext/LICENSE → third_party/bitbucket.org/kardianos/osext/LICENSE


+ 0 - 0
third_party/src/bitbucket.org/kardianos/osext/osext.go → third_party/bitbucket.org/kardianos/osext/osext.go


+ 0 - 0
third_party/src/bitbucket.org/kardianos/osext/osext_plan9.go → third_party/bitbucket.org/kardianos/osext/osext_plan9.go


+ 0 - 0
third_party/src/bitbucket.org/kardianos/osext/osext_procfs.go → third_party/bitbucket.org/kardianos/osext/osext_procfs.go


+ 0 - 0
third_party/src/bitbucket.org/kardianos/osext/osext_sysctl.go → third_party/bitbucket.org/kardianos/osext/osext_sysctl.go


+ 0 - 0
third_party/src/bitbucket.org/kardianos/osext/osext_test.go → third_party/bitbucket.org/kardianos/osext/osext_test.go


+ 0 - 0
third_party/src/bitbucket.org/kardianos/osext/osext_windows.go → third_party/bitbucket.org/kardianos/osext/osext_windows.go


+ 0 - 0
third_party/src/code.google.com/p/goprotobuf/proto/Makefile → third_party/code.google.com/p/goprotobuf/proto/Makefile


+ 316 - 316
third_party/src/code.google.com/p/goprotobuf/proto/all_test.go → third_party/code.google.com/p/goprotobuf/proto/all_test.go

@@ -44,7 +44,7 @@ import (
 	"time"
 
 	. "./testdata"
-	. "code.google.com/p/goprotobuf/proto"
+	. "github.com/coreos/etcd/third_party/code.google.com/p/goprotobuf/proto"
 )
 
 var globalO *Buffer
@@ -507,61 +507,61 @@ func TestReset(t *testing.T) {
 func TestEncodeDecode1(t *testing.T) {
 	pb := initGoTest(false)
 	overify(t, pb,
-		"0807"+ // field 1, encoding 0, value 7
-			"220d"+"0a056c6162656c120474797065"+ // field 4, encoding 2 (GoTestField)
-			"5001"+ // field 10, encoding 0, value 1
-			"5803"+ // field 11, encoding 0, value 3
-			"6006"+ // field 12, encoding 0, value 6
-			"6d20000000"+ // field 13, encoding 5, value 0x20
-			"714000000000000000"+ // field 14, encoding 1, value 0x40
-			"78a019"+ // field 15, encoding 0, value 0xca0 = 3232
-			"8001c032"+ // field 16, encoding 0, value 0x1940 = 6464
-			"8d0100004a45"+ // field 17, encoding 5, value 3232.0
-			"9101000000000040b940"+ // field 18, encoding 1, value 6464.0
-			"9a0106"+"737472696e67"+ // field 19, encoding 2, string "string"
-			"b304"+ // field 70, encoding 3, start group
-			"ba0408"+"7265717569726564"+ // field 71, encoding 2, string "required"
-			"b404"+ // field 70, encoding 4, end group
-			"aa0605"+"6279746573"+ // field 101, encoding 2, string "bytes"
-			"b0063f"+ // field 102, encoding 0, 0x3f zigzag32
-			"b8067f") // field 103, encoding 0, 0x7f zigzag64
+		"0807"+	// field 1, encoding 0, value 7
+			"220d"+"0a056c6162656c120474797065"+	// field 4, encoding 2 (GoTestField)
+			"5001"+	// field 10, encoding 0, value 1
+			"5803"+	// field 11, encoding 0, value 3
+			"6006"+	// field 12, encoding 0, value 6
+			"6d20000000"+	// field 13, encoding 5, value 0x20
+			"714000000000000000"+	// field 14, encoding 1, value 0x40
+			"78a019"+	// field 15, encoding 0, value 0xca0 = 3232
+			"8001c032"+	// field 16, encoding 0, value 0x1940 = 6464
+			"8d0100004a45"+	// field 17, encoding 5, value 3232.0
+			"9101000000000040b940"+	// field 18, encoding 1, value 6464.0
+			"9a0106"+"737472696e67"+	// field 19, encoding 2, string "string"
+			"b304"+	// field 70, encoding 3, start group
+			"ba0408"+"7265717569726564"+	// field 71, encoding 2, string "required"
+			"b404"+	// field 70, encoding 4, end group
+			"aa0605"+"6279746573"+	// field 101, encoding 2, string "bytes"
+			"b0063f"+	// field 102, encoding 0, 0x3f zigzag32
+			"b8067f")	// field 103, encoding 0, 0x7f zigzag64
 }
 
 // All required fields set, defaults provided.
 func TestEncodeDecode2(t *testing.T) {
 	pb := initGoTest(true)
 	overify(t, pb,
-		"0807"+ // field 1, encoding 0, value 7
-			"220d"+"0a056c6162656c120474797065"+ // field 4, encoding 2 (GoTestField)
-			"5001"+ // field 10, encoding 0, value 1
-			"5803"+ // field 11, encoding 0, value 3
-			"6006"+ // field 12, encoding 0, value 6
-			"6d20000000"+ // field 13, encoding 5, value 32
-			"714000000000000000"+ // field 14, encoding 1, value 64
-			"78a019"+ // field 15, encoding 0, value 3232
-			"8001c032"+ // field 16, encoding 0, value 6464
-			"8d0100004a45"+ // field 17, encoding 5, value 3232.0
-			"9101000000000040b940"+ // field 18, encoding 1, value 6464.0
-			"9a0106"+"737472696e67"+ // field 19, encoding 2 string "string"
-			"c00201"+ // field 40, encoding 0, value 1
-			"c80220"+ // field 41, encoding 0, value 32
-			"d00240"+ // field 42, encoding 0, value 64
-			"dd0240010000"+ // field 43, encoding 5, value 320
-			"e1028002000000000000"+ // field 44, encoding 1, value 640
-			"e8028019"+ // field 45, encoding 0, value 3200
-			"f0028032"+ // field 46, encoding 0, value 6400
-			"fd02e0659948"+ // field 47, encoding 5, value 314159.0
-			"81030000000050971041"+ // field 48, encoding 1, value 271828.0
-			"8a0310"+"68656c6c6f2c2022776f726c6421220a"+ // field 49, encoding 2 string "hello, \"world!\"\n"
-			"b304"+ // start group field 70 level 1
-			"ba0408"+"7265717569726564"+ // field 71, encoding 2, string "required"
-			"b404"+ // end group field 70 level 1
-			"aa0605"+"6279746573"+ // field 101, encoding 2 string "bytes"
-			"b0063f"+ // field 102, encoding 0, 0x3f zigzag32
-			"b8067f"+ // field 103, encoding 0, 0x7f zigzag64
-			"8a1907"+"4269676e6f7365"+ // field 401, encoding 2, string "Bignose"
-			"90193f"+ // field 402, encoding 0, value 63
-			"98197f") // field 403, encoding 0, value 127
+		"0807"+	// field 1, encoding 0, value 7
+			"220d"+"0a056c6162656c120474797065"+	// field 4, encoding 2 (GoTestField)
+			"5001"+	// field 10, encoding 0, value 1
+			"5803"+	// field 11, encoding 0, value 3
+			"6006"+	// field 12, encoding 0, value 6
+			"6d20000000"+	// field 13, encoding 5, value 32
+			"714000000000000000"+	// field 14, encoding 1, value 64
+			"78a019"+	// field 15, encoding 0, value 3232
+			"8001c032"+	// field 16, encoding 0, value 6464
+			"8d0100004a45"+	// field 17, encoding 5, value 3232.0
+			"9101000000000040b940"+	// field 18, encoding 1, value 6464.0
+			"9a0106"+"737472696e67"+	// field 19, encoding 2 string "string"
+			"c00201"+	// field 40, encoding 0, value 1
+			"c80220"+	// field 41, encoding 0, value 32
+			"d00240"+	// field 42, encoding 0, value 64
+			"dd0240010000"+	// field 43, encoding 5, value 320
+			"e1028002000000000000"+	// field 44, encoding 1, value 640
+			"e8028019"+	// field 45, encoding 0, value 3200
+			"f0028032"+	// field 46, encoding 0, value 6400
+			"fd02e0659948"+	// field 47, encoding 5, value 314159.0
+			"81030000000050971041"+	// field 48, encoding 1, value 271828.0
+			"8a0310"+"68656c6c6f2c2022776f726c6421220a"+	// field 49, encoding 2 string "hello, \"world!\"\n"
+			"b304"+	// start group field 70 level 1
+			"ba0408"+"7265717569726564"+	// field 71, encoding 2, string "required"
+			"b404"+	// end group field 70 level 1
+			"aa0605"+"6279746573"+	// field 101, encoding 2 string "bytes"
+			"b0063f"+	// field 102, encoding 0, 0x3f zigzag32
+			"b8067f"+	// field 103, encoding 0, 0x7f zigzag64
+			"8a1907"+"4269676e6f7365"+	// field 401, encoding 2, string "Bignose"
+			"90193f"+	// field 402, encoding 0, value 63
+			"98197f")	// field 403, encoding 0, value 127
 
 }
 
@@ -583,37 +583,37 @@ func TestEncodeDecode3(t *testing.T) {
 	pb.F_Sint64Defaulted = Int64(-64)
 
 	overify(t, pb,
-		"0807"+ // field 1, encoding 0, value 7
-			"220d"+"0a056c6162656c120474797065"+ // field 4, encoding 2 (GoTestField)
-			"5001"+ // field 10, encoding 0, value 1
-			"5803"+ // field 11, encoding 0, value 3
-			"6006"+ // field 12, encoding 0, value 6
-			"6d20000000"+ // field 13, encoding 5, value 32
-			"714000000000000000"+ // field 14, encoding 1, value 64
-			"78a019"+ // field 15, encoding 0, value 3232
-			"8001c032"+ // field 16, encoding 0, value 6464
-			"8d0100004a45"+ // field 17, encoding 5, value 3232.0
-			"9101000000000040b940"+ // field 18, encoding 1, value 6464.0
-			"9a0106"+"737472696e67"+ // field 19, encoding 2 string "string"
-			"c00201"+ // field 40, encoding 0, value 1
-			"c80220"+ // field 41, encoding 0, value 32
-			"d00240"+ // field 42, encoding 0, value 64
-			"dd0240010000"+ // field 43, encoding 5, value 320
-			"e1028002000000000000"+ // field 44, encoding 1, value 640
-			"e8028019"+ // field 45, encoding 0, value 3200
-			"f0028032"+ // field 46, encoding 0, value 6400
-			"fd02e0659948"+ // field 47, encoding 5, value 314159.0
-			"81030000000050971041"+ // field 48, encoding 1, value 271828.0
-			"8a0310"+"68656c6c6f2c2022776f726c6421220a"+ // field 49, encoding 2 string "hello, \"world!\"\n"
-			"b304"+ // start group field 70 level 1
-			"ba0408"+"7265717569726564"+ // field 71, encoding 2, string "required"
-			"b404"+ // end group field 70 level 1
-			"aa0605"+"6279746573"+ // field 101, encoding 2 string "bytes"
-			"b0063f"+ // field 102, encoding 0, 0x3f zigzag32
-			"b8067f"+ // field 103, encoding 0, 0x7f zigzag64
-			"8a1907"+"4269676e6f7365"+ // field 401, encoding 2, string "Bignose"
-			"90193f"+ // field 402, encoding 0, value 63
-			"98197f") // field 403, encoding 0, value 127
+		"0807"+	// field 1, encoding 0, value 7
+			"220d"+"0a056c6162656c120474797065"+	// field 4, encoding 2 (GoTestField)
+			"5001"+	// field 10, encoding 0, value 1
+			"5803"+	// field 11, encoding 0, value 3
+			"6006"+	// field 12, encoding 0, value 6
+			"6d20000000"+	// field 13, encoding 5, value 32
+			"714000000000000000"+	// field 14, encoding 1, value 64
+			"78a019"+	// field 15, encoding 0, value 3232
+			"8001c032"+	// field 16, encoding 0, value 6464
+			"8d0100004a45"+	// field 17, encoding 5, value 3232.0
+			"9101000000000040b940"+	// field 18, encoding 1, value 6464.0
+			"9a0106"+"737472696e67"+	// field 19, encoding 2 string "string"
+			"c00201"+	// field 40, encoding 0, value 1
+			"c80220"+	// field 41, encoding 0, value 32
+			"d00240"+	// field 42, encoding 0, value 64
+			"dd0240010000"+	// field 43, encoding 5, value 320
+			"e1028002000000000000"+	// field 44, encoding 1, value 640
+			"e8028019"+	// field 45, encoding 0, value 3200
+			"f0028032"+	// field 46, encoding 0, value 6400
+			"fd02e0659948"+	// field 47, encoding 5, value 314159.0
+			"81030000000050971041"+	// field 48, encoding 1, value 271828.0
+			"8a0310"+"68656c6c6f2c2022776f726c6421220a"+	// field 49, encoding 2 string "hello, \"world!\"\n"
+			"b304"+	// start group field 70 level 1
+			"ba0408"+"7265717569726564"+	// field 71, encoding 2, string "required"
+			"b404"+	// end group field 70 level 1
+			"aa0605"+"6279746573"+	// field 101, encoding 2 string "bytes"
+			"b0063f"+	// field 102, encoding 0, 0x3f zigzag32
+			"b8067f"+	// field 103, encoding 0, 0x7f zigzag64
+			"8a1907"+"4269676e6f7365"+	// field 401, encoding 2, string "Bignose"
+			"90193f"+	// field 402, encoding 0, value 63
+			"98197f")	// field 403, encoding 0, value 127
 
 }
 
@@ -639,56 +639,56 @@ func TestEncodeDecode4(t *testing.T) {
 	pb.Optionalgroup = initGoTest_OptionalGroup()
 
 	overify(t, pb,
-		"0807"+ // field 1, encoding 0, value 7
-			"1205"+"68656c6c6f"+ // field 2, encoding 2, string "hello"
-			"1807"+ // field 3, encoding 0, value 7
-			"220d"+"0a056c6162656c120474797065"+ // field 4, encoding 2 (GoTestField)
-			"320d"+"0a056c6162656c120474797065"+ // field 6, encoding 2 (GoTestField)
-			"5001"+ // field 10, encoding 0, value 1
-			"5803"+ // field 11, encoding 0, value 3
-			"6006"+ // field 12, encoding 0, value 6
-			"6d20000000"+ // field 13, encoding 5, value 32
-			"714000000000000000"+ // field 14, encoding 1, value 64
-			"78a019"+ // field 15, encoding 0, value 3232
-			"8001c032"+ // field 16, encoding 0, value 6464
-			"8d0100004a45"+ // field 17, encoding 5, value 3232.0
-			"9101000000000040b940"+ // field 18, encoding 1, value 6464.0
-			"9a0106"+"737472696e67"+ // field 19, encoding 2 string "string"
-			"f00101"+ // field 30, encoding 0, value 1
-			"f80120"+ // field 31, encoding 0, value 32
-			"800240"+ // field 32, encoding 0, value 64
-			"8d02a00c0000"+ // field 33, encoding 5, value 3232
-			"91024019000000000000"+ // field 34, encoding 1, value 6464
-			"9802a0dd13"+ // field 35, encoding 0, value 323232
-			"a002c0ba27"+ // field 36, encoding 0, value 646464
-			"ad0200000042"+ // field 37, encoding 5, value 32.0
-			"b1020000000000005040"+ // field 38, encoding 1, value 64.0
-			"ba0205"+"68656c6c6f"+ // field 39, encoding 2, string "hello"
-			"c00201"+ // field 40, encoding 0, value 1
-			"c80220"+ // field 41, encoding 0, value 32
-			"d00240"+ // field 42, encoding 0, value 64
-			"dd0240010000"+ // field 43, encoding 5, value 320
-			"e1028002000000000000"+ // field 44, encoding 1, value 640
-			"e8028019"+ // field 45, encoding 0, value 3200
-			"f0028032"+ // field 46, encoding 0, value 6400
-			"fd02e0659948"+ // field 47, encoding 5, value 314159.0
-			"81030000000050971041"+ // field 48, encoding 1, value 271828.0
-			"8a0310"+"68656c6c6f2c2022776f726c6421220a"+ // field 49, encoding 2 string "hello, \"world!\"\n"
-			"b304"+ // start group field 70 level 1
-			"ba0408"+"7265717569726564"+ // field 71, encoding 2, string "required"
-			"b404"+ // end group field 70 level 1
-			"d305"+ // start group field 90 level 1
-			"da0508"+"6f7074696f6e616c"+ // field 91, encoding 2, string "optional"
-			"d405"+ // end group field 90 level 1
-			"aa0605"+"6279746573"+ // field 101, encoding 2 string "bytes"
-			"b0063f"+ // field 102, encoding 0, 0x3f zigzag32
-			"b8067f"+ // field 103, encoding 0, 0x7f zigzag64
-			"ea1207"+"4269676e6f7365"+ // field 301, encoding 2, string "Bignose"
-			"f0123f"+ // field 302, encoding 0, value 63
-			"f8127f"+ // field 303, encoding 0, value 127
-			"8a1907"+"4269676e6f7365"+ // field 401, encoding 2, string "Bignose"
-			"90193f"+ // field 402, encoding 0, value 63
-			"98197f") // field 403, encoding 0, value 127
+		"0807"+	// field 1, encoding 0, value 7
+			"1205"+"68656c6c6f"+	// field 2, encoding 2, string "hello"
+			"1807"+	// field 3, encoding 0, value 7
+			"220d"+"0a056c6162656c120474797065"+	// field 4, encoding 2 (GoTestField)
+			"320d"+"0a056c6162656c120474797065"+	// field 6, encoding 2 (GoTestField)
+			"5001"+	// field 10, encoding 0, value 1
+			"5803"+	// field 11, encoding 0, value 3
+			"6006"+	// field 12, encoding 0, value 6
+			"6d20000000"+	// field 13, encoding 5, value 32
+			"714000000000000000"+	// field 14, encoding 1, value 64
+			"78a019"+	// field 15, encoding 0, value 3232
+			"8001c032"+	// field 16, encoding 0, value 6464
+			"8d0100004a45"+	// field 17, encoding 5, value 3232.0
+			"9101000000000040b940"+	// field 18, encoding 1, value 6464.0
+			"9a0106"+"737472696e67"+	// field 19, encoding 2 string "string"
+			"f00101"+	// field 30, encoding 0, value 1
+			"f80120"+	// field 31, encoding 0, value 32
+			"800240"+	// field 32, encoding 0, value 64
+			"8d02a00c0000"+	// field 33, encoding 5, value 3232
+			"91024019000000000000"+	// field 34, encoding 1, value 6464
+			"9802a0dd13"+	// field 35, encoding 0, value 323232
+			"a002c0ba27"+	// field 36, encoding 0, value 646464
+			"ad0200000042"+	// field 37, encoding 5, value 32.0
+			"b1020000000000005040"+	// field 38, encoding 1, value 64.0
+			"ba0205"+"68656c6c6f"+	// field 39, encoding 2, string "hello"
+			"c00201"+	// field 40, encoding 0, value 1
+			"c80220"+	// field 41, encoding 0, value 32
+			"d00240"+	// field 42, encoding 0, value 64
+			"dd0240010000"+	// field 43, encoding 5, value 320
+			"e1028002000000000000"+	// field 44, encoding 1, value 640
+			"e8028019"+	// field 45, encoding 0, value 3200
+			"f0028032"+	// field 46, encoding 0, value 6400
+			"fd02e0659948"+	// field 47, encoding 5, value 314159.0
+			"81030000000050971041"+	// field 48, encoding 1, value 271828.0
+			"8a0310"+"68656c6c6f2c2022776f726c6421220a"+	// field 49, encoding 2 string "hello, \"world!\"\n"
+			"b304"+	// start group field 70 level 1
+			"ba0408"+"7265717569726564"+	// field 71, encoding 2, string "required"
+			"b404"+	// end group field 70 level 1
+			"d305"+	// start group field 90 level 1
+			"da0508"+"6f7074696f6e616c"+	// field 91, encoding 2, string "optional"
+			"d405"+	// end group field 90 level 1
+			"aa0605"+"6279746573"+	// field 101, encoding 2 string "bytes"
+			"b0063f"+	// field 102, encoding 0, 0x3f zigzag32
+			"b8067f"+	// field 103, encoding 0, 0x7f zigzag64
+			"ea1207"+"4269676e6f7365"+	// field 301, encoding 2, string "Bignose"
+			"f0123f"+	// field 302, encoding 0, value 63
+			"f8127f"+	// field 303, encoding 0, value 127
+			"8a1907"+"4269676e6f7365"+	// field 401, encoding 2, string "Bignose"
+			"90193f"+	// field 402, encoding 0, value 63
+			"98197f")	// field 403, encoding 0, value 127
 
 }
 
@@ -712,71 +712,71 @@ func TestEncodeDecode5(t *testing.T) {
 	pb.Repeatedgroup = []*GoTest_RepeatedGroup{initGoTest_RepeatedGroup(), initGoTest_RepeatedGroup()}
 
 	overify(t, pb,
-		"0807"+ // field 1, encoding 0, value 7
-			"220d"+"0a056c6162656c120474797065"+ // field 4, encoding 2 (GoTestField)
-			"2a0d"+"0a056c6162656c120474797065"+ // field 5, encoding 2 (GoTestField)
-			"2a0d"+"0a056c6162656c120474797065"+ // field 5, encoding 2 (GoTestField)
-			"5001"+ // field 10, encoding 0, value 1
-			"5803"+ // field 11, encoding 0, value 3
-			"6006"+ // field 12, encoding 0, value 6
-			"6d20000000"+ // field 13, encoding 5, value 32
-			"714000000000000000"+ // field 14, encoding 1, value 64
-			"78a019"+ // field 15, encoding 0, value 3232
-			"8001c032"+ // field 16, encoding 0, value 6464
-			"8d0100004a45"+ // field 17, encoding 5, value 3232.0
-			"9101000000000040b940"+ // field 18, encoding 1, value 6464.0
-			"9a0106"+"737472696e67"+ // field 19, encoding 2 string "string"
-			"a00100"+ // field 20, encoding 0, value 0
-			"a00101"+ // field 20, encoding 0, value 1
-			"a80120"+ // field 21, encoding 0, value 32
-			"a80121"+ // field 21, encoding 0, value 33
-			"b00140"+ // field 22, encoding 0, value 64
-			"b00141"+ // field 22, encoding 0, value 65
-			"bd01a00c0000"+ // field 23, encoding 5, value 3232
-			"bd01050d0000"+ // field 23, encoding 5, value 3333
-			"c1014019000000000000"+ // field 24, encoding 1, value 6464
-			"c101a519000000000000"+ // field 24, encoding 1, value 6565
-			"c801a0dd13"+ // field 25, encoding 0, value 323232
-			"c80195ac14"+ // field 25, encoding 0, value 333333
-			"d001c0ba27"+ // field 26, encoding 0, value 646464
-			"d001b58928"+ // field 26, encoding 0, value 656565
-			"dd0100000042"+ // field 27, encoding 5, value 32.0
-			"dd0100000442"+ // field 27, encoding 5, value 33.0
-			"e1010000000000005040"+ // field 28, encoding 1, value 64.0
-			"e1010000000000405040"+ // field 28, encoding 1, value 65.0
-			"ea0105"+"68656c6c6f"+ // field 29, encoding 2, string "hello"
-			"ea0106"+"7361696c6f72"+ // field 29, encoding 2, string "sailor"
-			"c00201"+ // field 40, encoding 0, value 1
-			"c80220"+ // field 41, encoding 0, value 32
-			"d00240"+ // field 42, encoding 0, value 64
-			"dd0240010000"+ // field 43, encoding 5, value 320
-			"e1028002000000000000"+ // field 44, encoding 1, value 640
-			"e8028019"+ // field 45, encoding 0, value 3200
-			"f0028032"+ // field 46, encoding 0, value 6400
-			"fd02e0659948"+ // field 47, encoding 5, value 314159.0
-			"81030000000050971041"+ // field 48, encoding 1, value 271828.0
-			"8a0310"+"68656c6c6f2c2022776f726c6421220a"+ // field 49, encoding 2 string "hello, \"world!\"\n"
-			"b304"+ // start group field 70 level 1
-			"ba0408"+"7265717569726564"+ // field 71, encoding 2, string "required"
-			"b404"+ // end group field 70 level 1
-			"8305"+ // start group field 80 level 1
-			"8a0508"+"7265706561746564"+ // field 81, encoding 2, string "repeated"
-			"8405"+ // end group field 80 level 1
-			"8305"+ // start group field 80 level 1
-			"8a0508"+"7265706561746564"+ // field 81, encoding 2, string "repeated"
-			"8405"+ // end group field 80 level 1
-			"aa0605"+"6279746573"+ // field 101, encoding 2 string "bytes"
-			"b0063f"+ // field 102, encoding 0, 0x3f zigzag32
-			"b8067f"+ // field 103, encoding 0, 0x7f zigzag64
-			"ca0c03"+"626967"+ // field 201, encoding 2, string "big"
-			"ca0c04"+"6e6f7365"+ // field 201, encoding 2, string "nose"
-			"d00c40"+ // field 202, encoding 0, value 32
-			"d00c3f"+ // field 202, encoding 0, value -32
-			"d80c8001"+ // field 203, encoding 0, value 64
-			"d80c7f"+ // field 203, encoding 0, value -64
-			"8a1907"+"4269676e6f7365"+ // field 401, encoding 2, string "Bignose"
-			"90193f"+ // field 402, encoding 0, value 63
-			"98197f") // field 403, encoding 0, value 127
+		"0807"+	// field 1, encoding 0, value 7
+			"220d"+"0a056c6162656c120474797065"+	// field 4, encoding 2 (GoTestField)
+			"2a0d"+"0a056c6162656c120474797065"+	// field 5, encoding 2 (GoTestField)
+			"2a0d"+"0a056c6162656c120474797065"+	// field 5, encoding 2 (GoTestField)
+			"5001"+	// field 10, encoding 0, value 1
+			"5803"+	// field 11, encoding 0, value 3
+			"6006"+	// field 12, encoding 0, value 6
+			"6d20000000"+	// field 13, encoding 5, value 32
+			"714000000000000000"+	// field 14, encoding 1, value 64
+			"78a019"+	// field 15, encoding 0, value 3232
+			"8001c032"+	// field 16, encoding 0, value 6464
+			"8d0100004a45"+	// field 17, encoding 5, value 3232.0
+			"9101000000000040b940"+	// field 18, encoding 1, value 6464.0
+			"9a0106"+"737472696e67"+	// field 19, encoding 2 string "string"
+			"a00100"+	// field 20, encoding 0, value 0
+			"a00101"+	// field 20, encoding 0, value 1
+			"a80120"+	// field 21, encoding 0, value 32
+			"a80121"+	// field 21, encoding 0, value 33
+			"b00140"+	// field 22, encoding 0, value 64
+			"b00141"+	// field 22, encoding 0, value 65
+			"bd01a00c0000"+	// field 23, encoding 5, value 3232
+			"bd01050d0000"+	// field 23, encoding 5, value 3333
+			"c1014019000000000000"+	// field 24, encoding 1, value 6464
+			"c101a519000000000000"+	// field 24, encoding 1, value 6565
+			"c801a0dd13"+	// field 25, encoding 0, value 323232
+			"c80195ac14"+	// field 25, encoding 0, value 333333
+			"d001c0ba27"+	// field 26, encoding 0, value 646464
+			"d001b58928"+	// field 26, encoding 0, value 656565
+			"dd0100000042"+	// field 27, encoding 5, value 32.0
+			"dd0100000442"+	// field 27, encoding 5, value 33.0
+			"e1010000000000005040"+	// field 28, encoding 1, value 64.0
+			"e1010000000000405040"+	// field 28, encoding 1, value 65.0
+			"ea0105"+"68656c6c6f"+	// field 29, encoding 2, string "hello"
+			"ea0106"+"7361696c6f72"+	// field 29, encoding 2, string "sailor"
+			"c00201"+	// field 40, encoding 0, value 1
+			"c80220"+	// field 41, encoding 0, value 32
+			"d00240"+	// field 42, encoding 0, value 64
+			"dd0240010000"+	// field 43, encoding 5, value 320
+			"e1028002000000000000"+	// field 44, encoding 1, value 640
+			"e8028019"+	// field 45, encoding 0, value 3200
+			"f0028032"+	// field 46, encoding 0, value 6400
+			"fd02e0659948"+	// field 47, encoding 5, value 314159.0
+			"81030000000050971041"+	// field 48, encoding 1, value 271828.0
+			"8a0310"+"68656c6c6f2c2022776f726c6421220a"+	// field 49, encoding 2 string "hello, \"world!\"\n"
+			"b304"+	// start group field 70 level 1
+			"ba0408"+"7265717569726564"+	// field 71, encoding 2, string "required"
+			"b404"+	// end group field 70 level 1
+			"8305"+	// start group field 80 level 1
+			"8a0508"+"7265706561746564"+	// field 81, encoding 2, string "repeated"
+			"8405"+	// end group field 80 level 1
+			"8305"+	// start group field 80 level 1
+			"8a0508"+"7265706561746564"+	// field 81, encoding 2, string "repeated"
+			"8405"+	// end group field 80 level 1
+			"aa0605"+"6279746573"+	// field 101, encoding 2 string "bytes"
+			"b0063f"+	// field 102, encoding 0, 0x3f zigzag32
+			"b8067f"+	// field 103, encoding 0, 0x7f zigzag64
+			"ca0c03"+"626967"+	// field 201, encoding 2, string "big"
+			"ca0c04"+"6e6f7365"+	// field 201, encoding 2, string "nose"
+			"d00c40"+	// field 202, encoding 0, value 32
+			"d00c3f"+	// field 202, encoding 0, value -32
+			"d80c8001"+	// field 203, encoding 0, value 64
+			"d80c7f"+	// field 203, encoding 0, value -64
+			"8a1907"+"4269676e6f7365"+	// field 401, encoding 2, string "Bignose"
+			"90193f"+	// field 402, encoding 0, value 63
+			"98197f")	// field 403, encoding 0, value 127
 
 }
 
@@ -796,43 +796,43 @@ func TestEncodeDecode6(t *testing.T) {
 	pb.F_Sint64RepeatedPacked = []int64{64, -64}
 
 	overify(t, pb,
-		"0807"+ // field 1, encoding 0, value 7
-			"220d"+"0a056c6162656c120474797065"+ // field 4, encoding 2 (GoTestField)
-			"5001"+ // field 10, encoding 0, value 1
-			"5803"+ // field 11, encoding 0, value 3
-			"6006"+ // field 12, encoding 0, value 6
-			"6d20000000"+ // field 13, encoding 5, value 32
-			"714000000000000000"+ // field 14, encoding 1, value 64
-			"78a019"+ // field 15, encoding 0, value 3232
-			"8001c032"+ // field 16, encoding 0, value 6464
-			"8d0100004a45"+ // field 17, encoding 5, value 3232.0
-			"9101000000000040b940"+ // field 18, encoding 1, value 6464.0
-			"9a0106"+"737472696e67"+ // field 19, encoding 2 string "string"
-			"9203020001"+ // field 50, encoding 2, 2 bytes, value 0, value 1
-			"9a03022021"+ // field 51, encoding 2, 2 bytes, value 32, value 33
-			"a203024041"+ // field 52, encoding 2, 2 bytes, value 64, value 65
-			"aa0308"+ // field 53, encoding 2, 8 bytes
-			"a00c0000050d0000"+ // value 3232, value 3333
-			"b20310"+ // field 54, encoding 2, 16 bytes
-			"4019000000000000a519000000000000"+ // value 6464, value 6565
-			"ba0306"+ // field 55, encoding 2, 6 bytes
-			"a0dd1395ac14"+ // value 323232, value 333333
-			"c20306"+ // field 56, encoding 2, 6 bytes
-			"c0ba27b58928"+ // value 646464, value 656565
-			"ca0308"+ // field 57, encoding 2, 8 bytes
-			"0000004200000442"+ // value 32.0, value 33.0
-			"d20310"+ // field 58, encoding 2, 16 bytes
-			"00000000000050400000000000405040"+ // value 64.0, value 65.0
-			"b304"+ // start group field 70 level 1
-			"ba0408"+"7265717569726564"+ // field 71, encoding 2, string "required"
-			"b404"+ // end group field 70 level 1
-			"aa0605"+"6279746573"+ // field 101, encoding 2 string "bytes"
-			"b0063f"+ // field 102, encoding 0, 0x3f zigzag32
-			"b8067f"+ // field 103, encoding 0, 0x7f zigzag64
-			"b21f02"+ // field 502, encoding 2, 2 bytes
-			"403f"+ // value 32, value -32
-			"ba1f03"+ // field 503, encoding 2, 3 bytes
-			"80017f") // value 64, value -64
+		"0807"+	// field 1, encoding 0, value 7
+			"220d"+"0a056c6162656c120474797065"+	// field 4, encoding 2 (GoTestField)
+			"5001"+	// field 10, encoding 0, value 1
+			"5803"+	// field 11, encoding 0, value 3
+			"6006"+	// field 12, encoding 0, value 6
+			"6d20000000"+	// field 13, encoding 5, value 32
+			"714000000000000000"+	// field 14, encoding 1, value 64
+			"78a019"+	// field 15, encoding 0, value 3232
+			"8001c032"+	// field 16, encoding 0, value 6464
+			"8d0100004a45"+	// field 17, encoding 5, value 3232.0
+			"9101000000000040b940"+	// field 18, encoding 1, value 6464.0
+			"9a0106"+"737472696e67"+	// field 19, encoding 2 string "string"
+			"9203020001"+	// field 50, encoding 2, 2 bytes, value 0, value 1
+			"9a03022021"+	// field 51, encoding 2, 2 bytes, value 32, value 33
+			"a203024041"+	// field 52, encoding 2, 2 bytes, value 64, value 65
+			"aa0308"+	// field 53, encoding 2, 8 bytes
+			"a00c0000050d0000"+	// value 3232, value 3333
+			"b20310"+	// field 54, encoding 2, 16 bytes
+			"4019000000000000a519000000000000"+	// value 6464, value 6565
+			"ba0306"+	// field 55, encoding 2, 6 bytes
+			"a0dd1395ac14"+	// value 323232, value 333333
+			"c20306"+	// field 56, encoding 2, 6 bytes
+			"c0ba27b58928"+	// value 646464, value 656565
+			"ca0308"+	// field 57, encoding 2, 8 bytes
+			"0000004200000442"+	// value 32.0, value 33.0
+			"d20310"+	// field 58, encoding 2, 16 bytes
+			"00000000000050400000000000405040"+	// value 64.0, value 65.0
+			"b304"+	// start group field 70 level 1
+			"ba0408"+"7265717569726564"+	// field 71, encoding 2, string "required"
+			"b404"+	// end group field 70 level 1
+			"aa0605"+"6279746573"+	// field 101, encoding 2 string "bytes"
+			"b0063f"+	// field 102, encoding 0, 0x3f zigzag32
+			"b8067f"+	// field 103, encoding 0, 0x7f zigzag64
+			"b21f02"+	// field 502, encoding 2, 2 bytes
+			"403f"+	// value 32, value -32
+			"ba1f03"+	// field 503, encoding 2, 3 bytes
+			"80017f")	// value 64, value -64
 }
 
 // Test that we can encode empty bytes fields.
@@ -898,13 +898,13 @@ func TestSkippingUnrecognizedFields(t *testing.T) {
 
 	// Now new a GoSkipTest record.
 	skip := &GoSkipTest{
-		SkipInt32:   Int32(32),
-		SkipFixed32: Uint32(3232),
-		SkipFixed64: Uint64(6464),
-		SkipString:  String("skipper"),
+		SkipInt32:	Int32(32),
+		SkipFixed32:	Uint32(3232),
+		SkipFixed64:	Uint64(6464),
+		SkipString:	String("skipper"),
 		Skipgroup: &GoSkipTest_SkipGroup{
-			GroupInt32:  Int32(75),
-			GroupString: String("wxyz"),
+			GroupInt32:	Int32(75),
+			GroupString:	String("wxyz"),
 		},
 	}
 
@@ -944,8 +944,8 @@ func TestSkippingUnrecognizedFields(t *testing.T) {
 func TestSubmessageUnrecognizedFields(t *testing.T) {
 	nm := &NewMessage{
 		Nested: &NewMessage_Nested{
-			Name:      String("Nigel"),
-			FoodGroup: String("carbs"),
+			Name:		String("Nigel"),
+			FoodGroup:	String("carbs"),
 		},
 	}
 	b, err := Marshal(nm)
@@ -960,9 +960,9 @@ func TestSubmessageUnrecognizedFields(t *testing.T) {
 	}
 	exp := &OldMessage{
 		Nested: &OldMessage_Nested{
-			Name: String("Nigel"),
+			Name:	String("Nigel"),
 			// normal protocol buffer users should not do this
-			XXX_unrecognized: []byte("\x12\x05carbs"),
+			XXX_unrecognized:	[]byte("\x12\x05carbs"),
 		},
 	}
 	if !Equal(om, exp) {
@@ -999,7 +999,7 @@ func TestBigRepeated(t *testing.T) {
 	pb := initGoTest(true)
 
 	// Create the arrays
-	const N = 50 // Internally the library starts much smaller.
+	const N = 50	// Internally the library starts much smaller.
 	pb.Repeatedgroup = make([]*GoTest_RepeatedGroup, N)
 	pb.F_Sint64Repeated = make([]int64, N)
 	pb.F_Sint32Repeated = make([]int32, N)
@@ -1047,7 +1047,7 @@ func TestBigRepeated(t *testing.T) {
 
 	// Check the checkable values
 	for i := uint64(0); i < N; i++ {
-		if pbd.Repeatedgroup[i] == nil { // TODO: more checking?
+		if pbd.Repeatedgroup[i] == nil {	// TODO: more checking?
 			t.Error("pbd.Repeatedgroup bad")
 		}
 		var x uint64
@@ -1099,7 +1099,7 @@ func TestBigRepeated(t *testing.T) {
 		if pbd.F_BoolRepeated[i] != (i%2 == 0) {
 			t.Error("pbd.F_BoolRepeated bad", x, i)
 		}
-		if pbd.RepeatedField[i] == nil { // TODO: more checking?
+		if pbd.RepeatedField[i] == nil {	// TODO: more checking?
 			t.Error("pbd.RepeatedField bad")
 		}
 	}
@@ -1159,8 +1159,8 @@ func TestProto1RepeatedGroup(t *testing.T) {
 	pb := &MessageList{
 		Message: []*MessageList_Message{
 			{
-				Name:  String("blah"),
-				Count: Int32(7),
+				Name:	String("blah"),
+				Count:	Int32(7),
 			},
 			// NOTE: pb.Message[1] is a nil
 			nil,
@@ -1240,9 +1240,9 @@ type NNIMessage struct {
 	nni nonNillableInt
 }
 
-func (*NNIMessage) Reset()         {}
-func (*NNIMessage) String() string { return "" }
-func (*NNIMessage) ProtoMessage()  {}
+func (*NNIMessage) Reset()		{}
+func (*NNIMessage) String() string	{ return "" }
+func (*NNIMessage) ProtoMessage()	{}
 
 // A type that implements the Marshaler interface and is nillable.
 type nillableMessage struct {
@@ -1257,9 +1257,9 @@ type NMMessage struct {
 	nm *nillableMessage
 }
 
-func (*NMMessage) Reset()         {}
-func (*NMMessage) String() string { return "" }
-func (*NMMessage) ProtoMessage()  {}
+func (*NMMessage) Reset()		{}
+func (*NMMessage) String() string	{ return "" }
+func (*NMMessage) ProtoMessage()	{}
 
 // Verify a type that uses the Marshaler interface, but has a nil pointer.
 func TestNilMarshaler(t *testing.T) {
@@ -1273,7 +1273,7 @@ func TestNilMarshaler(t *testing.T) {
 	// Try a struct with a Marshaler field that is not nillable.
 	nnim := new(NNIMessage)
 	nnim.nni = 7
-	var _ Marshaler = nnim.nni // verify it is truly a Marshaler
+	var _ Marshaler = nnim.nni	// verify it is truly a Marshaler
 	if _, err := Marshal(nnim); err != nil {
 		t.Error("unexpected error marshaling nnim: ", err)
 	}
@@ -1286,23 +1286,23 @@ func TestAllSetDefaults(t *testing.T) {
 		F_Nan: Float32(1.7),
 	}
 	expected := &Defaults{
-		F_Bool:    Bool(true),
-		F_Int32:   Int32(32),
-		F_Int64:   Int64(64),
-		F_Fixed32: Uint32(320),
-		F_Fixed64: Uint64(640),
-		F_Uint32:  Uint32(3200),
-		F_Uint64:  Uint64(6400),
-		F_Float:   Float32(314159),
-		F_Double:  Float64(271828),
-		F_String:  String(`hello, "world!"` + "\n"),
-		F_Bytes:   []byte("Bignose"),
-		F_Sint32:  Int32(-32),
-		F_Sint64:  Int64(-64),
-		F_Enum:    Defaults_GREEN.Enum(),
-		F_Pinf:    Float32(float32(math.Inf(1))),
-		F_Ninf:    Float32(float32(math.Inf(-1))),
-		F_Nan:     Float32(1.7),
+		F_Bool:		Bool(true),
+		F_Int32:	Int32(32),
+		F_Int64:	Int64(64),
+		F_Fixed32:	Uint32(320),
+		F_Fixed64:	Uint64(640),
+		F_Uint32:	Uint32(3200),
+		F_Uint64:	Uint64(6400),
+		F_Float:	Float32(314159),
+		F_Double:	Float64(271828),
+		F_String:	String(`hello, "world!"` + "\n"),
+		F_Bytes:	[]byte("Bignose"),
+		F_Sint32:	Int32(-32),
+		F_Sint64:	Int64(-64),
+		F_Enum:		Defaults_GREEN.Enum(),
+		F_Pinf:		Float32(float32(math.Inf(1))),
+		F_Ninf:		Float32(float32(math.Inf(-1))),
+		F_Nan:		Float32(1.7),
 	}
 	SetDefaults(m)
 	if !Equal(m, expected) {
@@ -1323,16 +1323,16 @@ func TestSetDefaultsWithSetField(t *testing.T) {
 
 func TestSetDefaultsWithSubMessage(t *testing.T) {
 	m := &OtherMessage{
-		Key: Int64(123),
+		Key:	Int64(123),
 		Inner: &InnerMessage{
 			Host: String("gopher"),
 		},
 	}
 	expected := &OtherMessage{
-		Key: Int64(123),
+		Key:	Int64(123),
 		Inner: &InnerMessage{
-			Host: String("gopher"),
-			Port: Int32(4000),
+			Host:	String("gopher"),
+			Port:	Int32(4000),
 		},
 	}
 	SetDefaults(m)
@@ -1375,12 +1375,12 @@ func TestMaximumTagNumber(t *testing.T) {
 
 func TestJSON(t *testing.T) {
 	m := &MyMessage{
-		Count: Int32(4),
-		Pet:   []string{"bunny", "kitty"},
+		Count:	Int32(4),
+		Pet:	[]string{"bunny", "kitty"},
 		Inner: &InnerMessage{
 			Host: String("cauchy"),
 		},
-		Bikeshed: MyMessage_GREEN.Enum(),
+		Bikeshed:	MyMessage_GREEN.Enum(),
 	}
 	const expected = `{"count":4,"pet":["bunny","kitty"],"inner":{"host":"cauchy"},"bikeshed":1}`
 
@@ -1413,7 +1413,7 @@ func TestJSON(t *testing.T) {
 }
 
 func TestBadWireType(t *testing.T) {
-	b := []byte{7<<3 | 6} // field 7, wire type 6
+	b := []byte{7<<3 | 6}	// field 7, wire type 6
 	pb := new(OtherMessage)
 	if err := Unmarshal(b, pb); err == nil {
 		t.Errorf("Unmarshal did not fail")
@@ -1610,10 +1610,10 @@ func TestUnmarshalMergesMessages(t *testing.T) {
 	// If a nested message occurs twice in the input,
 	// the fields should be merged when decoding.
 	a := &OtherMessage{
-		Key: Int64(123),
+		Key:	Int64(123),
 		Inner: &InnerMessage{
-			Host: String("polhode"),
-			Port: Int32(1234),
+			Host:	String("polhode"),
+			Port:	Int32(1234),
 		},
 	}
 	aData, err := Marshal(a)
@@ -1621,10 +1621,10 @@ func TestUnmarshalMergesMessages(t *testing.T) {
 		t.Fatalf("Marshal(a): %v", err)
 	}
 	b := &OtherMessage{
-		Weight: Float32(1.2),
+		Weight:	Float32(1.2),
 		Inner: &InnerMessage{
-			Host:      String("herpolhode"),
-			Connected: Bool(true),
+			Host:		String("herpolhode"),
+			Connected:	Bool(true),
 		},
 	}
 	bData, err := Marshal(b)
@@ -1632,12 +1632,12 @@ func TestUnmarshalMergesMessages(t *testing.T) {
 		t.Fatalf("Marshal(b): %v", err)
 	}
 	want := &OtherMessage{
-		Key:    Int64(123),
-		Weight: Float32(1.2),
+		Key:	Int64(123),
+		Weight:	Float32(1.2),
 		Inner: &InnerMessage{
-			Host:      String("herpolhode"),
-			Port:      Int32(1234),
-			Connected: Bool(true),
+			Host:		String("herpolhode"),
+			Port:		Int32(1234),
+			Connected:	Bool(true),
 		},
 	}
 	got := new(OtherMessage)
@@ -1651,8 +1651,8 @@ func TestUnmarshalMergesMessages(t *testing.T) {
 
 func TestEncodingSizes(t *testing.T) {
 	tests := []struct {
-		m Message
-		n int
+		m	Message
+		n	int
 	}{
 		{&Defaults{F_Int32: Int32(math.MaxInt32)}, 6},
 		{&Defaults{F_Int32: Int32(math.MinInt32)}, 6},
@@ -1676,22 +1676,22 @@ func TestRequiredNotSetError(t *testing.T) {
 	pb.F_Int32Required = nil
 	pb.F_Int64Required = nil
 
-	expected := "0807" + // field 1, encoding 0, value 7
-		"2206" + "120474797065" + // field 4, encoding 2 (GoTestField)
-		"5001" + // field 10, encoding 0, value 1
-		"6d20000000" + // field 13, encoding 5, value 0x20
-		"714000000000000000" + // field 14, encoding 1, value 0x40
-		"78a019" + // field 15, encoding 0, value 0xca0 = 3232
-		"8001c032" + // field 16, encoding 0, value 0x1940 = 6464
-		"8d0100004a45" + // field 17, encoding 5, value 3232.0
-		"9101000000000040b940" + // field 18, encoding 1, value 6464.0
-		"9a0106" + "737472696e67" + // field 19, encoding 2, string "string"
-		"b304" + // field 70, encoding 3, start group
-		"ba0408" + "7265717569726564" + // field 71, encoding 2, string "required"
-		"b404" + // field 70, encoding 4, end group
-		"aa0605" + "6279746573" + // field 101, encoding 2, string "bytes"
-		"b0063f" + // field 102, encoding 0, 0x3f zigzag32
-		"b8067f" // field 103, encoding 0, 0x7f zigzag64
+	expected := "0807" +	// field 1, encoding 0, value 7
+		"2206" + "120474797065" +	// field 4, encoding 2 (GoTestField)
+		"5001" +	// field 10, encoding 0, value 1
+		"6d20000000" +	// field 13, encoding 5, value 0x20
+		"714000000000000000" +	// field 14, encoding 1, value 0x40
+		"78a019" +	// field 15, encoding 0, value 0xca0 = 3232
+		"8001c032" +	// field 16, encoding 0, value 0x1940 = 6464
+		"8d0100004a45" +	// field 17, encoding 5, value 3232.0
+		"9101000000000040b940" +	// field 18, encoding 1, value 6464.0
+		"9a0106" + "737472696e67" +	// field 19, encoding 2, string "string"
+		"b304" +	// field 70, encoding 3, start group
+		"ba0408" + "7265717569726564" +	// field 71, encoding 2, string "required"
+		"b404" +	// field 70, encoding 4, end group
+		"aa0605" + "6279746573" +	// field 101, encoding 2, string "bytes"
+		"b0063f" +	// field 102, encoding 0, 0x3f zigzag32
+		"b8067f"	// field 103, encoding 0, 0x7f zigzag64
 
 	o := old()
 	bytes, err := Marshal(pb)
@@ -1751,7 +1751,7 @@ func fuzzUnmarshal(t *testing.T, data []byte) {
 
 func testMsg() *GoTest {
 	pb := initGoTest(true)
-	const N = 1000 // Internally the library starts much smaller.
+	const N = 1000	// Internally the library starts much smaller.
 	pb.F_Int32Repeated = make([]int32, N)
 	pb.F_DoubleRepeated = make([]float64, N)
 	for i := 0; i < N; i++ {
@@ -1869,13 +1869,13 @@ func BenchmarkUnmarshalUnrecognizedFields(b *testing.B) {
 	b.StopTimer()
 	pb := initGoTestField()
 	skip := &GoSkipTest{
-		SkipInt32:   Int32(32),
-		SkipFixed32: Uint32(3232),
-		SkipFixed64: Uint64(6464),
-		SkipString:  String("skipper"),
+		SkipInt32:	Int32(32),
+		SkipFixed32:	Uint32(3232),
+		SkipFixed64:	Uint64(6464),
+		SkipString:	String("skipper"),
 		Skipgroup: &GoSkipTest_SkipGroup{
-			GroupInt32:  Int32(75),
-			GroupString: String("wxyz"),
+			GroupInt32:	Int32(75),
+			GroupString:	String("wxyz"),
 		},
 	}
 

+ 0 - 0
third_party/src/code.google.com/p/goprotobuf/proto/clone.go → third_party/code.google.com/p/goprotobuf/proto/clone.go


+ 22 - 22
third_party/src/code.google.com/p/goprotobuf/proto/clone_test.go → third_party/code.google.com/p/goprotobuf/proto/clone_test.go

@@ -34,19 +34,19 @@ package proto_test
 import (
 	"testing"
 
-	"code.google.com/p/goprotobuf/proto"
+	"github.com/coreos/etcd/third_party/code.google.com/p/goprotobuf/proto"
 
 	pb "./testdata"
 )
 
 var cloneTestMessage = &pb.MyMessage{
-	Count: proto.Int32(42),
-	Name:  proto.String("Dave"),
-	Pet:   []string{"bunny", "kitty", "horsey"},
+	Count:	proto.Int32(42),
+	Name:	proto.String("Dave"),
+	Pet:	[]string{"bunny", "kitty", "horsey"},
 	Inner: &pb.InnerMessage{
-		Host:      proto.String("niles"),
-		Port:      proto.Int32(9099),
-		Connected: proto.Bool(true),
+		Host:		proto.String("niles"),
+		Port:		proto.Int32(9099),
+		Connected:	proto.Bool(true),
 	},
 	Others: []*pb.OtherMessage{
 		{
@@ -56,7 +56,7 @@ var cloneTestMessage = &pb.MyMessage{
 	Somegroup: &pb.MyMessage_SomeGroup{
 		GroupField: proto.Int32(6),
 	},
-	RepBytes: [][]byte{[]byte("sham"), []byte("wow")},
+	RepBytes:	[][]byte{[]byte("sham"), []byte("wow")},
 }
 
 func init() {
@@ -99,17 +99,17 @@ var mergeTests = []struct {
 			Name: proto.String("Dave"),
 		},
 		want: &pb.MyMessage{
-			Count: proto.Int32(42),
-			Name:  proto.String("Dave"),
+			Count:	proto.Int32(42),
+			Name:	proto.String("Dave"),
 		},
 	},
 	{
 		src: &pb.MyMessage{
 			Inner: &pb.InnerMessage{
-				Host:      proto.String("hey"),
-				Connected: proto.Bool(true),
+				Host:		proto.String("hey"),
+				Connected:	proto.Bool(true),
 			},
-			Pet: []string{"horsey"},
+			Pet:	[]string{"horsey"},
 			Others: []*pb.OtherMessage{
 				{
 					Value: []byte("some bytes"),
@@ -118,10 +118,10 @@ var mergeTests = []struct {
 		},
 		dst: &pb.MyMessage{
 			Inner: &pb.InnerMessage{
-				Host: proto.String("niles"),
-				Port: proto.Int32(9099),
+				Host:	proto.String("niles"),
+				Port:	proto.Int32(9099),
 			},
-			Pet: []string{"bunny", "kitty"},
+			Pet:	[]string{"bunny", "kitty"},
 			Others: []*pb.OtherMessage{
 				{
 					Key: proto.Int64(31415926535),
@@ -134,11 +134,11 @@ var mergeTests = []struct {
 		},
 		want: &pb.MyMessage{
 			Inner: &pb.InnerMessage{
-				Host:      proto.String("hey"),
-				Connected: proto.Bool(true),
-				Port:      proto.Int32(9099),
+				Host:		proto.String("hey"),
+				Connected:	proto.Bool(true),
+				Port:		proto.Int32(9099),
 			},
-			Pet: []string{"bunny", "kitty", "horsey"},
+			Pet:	[]string{"bunny", "kitty", "horsey"},
 			Others: []*pb.OtherMessage{
 				{
 					Key: proto.Int64(31415926535),
@@ -158,13 +158,13 @@ var mergeTests = []struct {
 			Somegroup: &pb.MyMessage_SomeGroup{
 				GroupField: proto.Int32(6),
 			},
-			RepBytes: [][]byte{[]byte("sham")},
+			RepBytes:	[][]byte{[]byte("sham")},
 		},
 		want: &pb.MyMessage{
 			Somegroup: &pb.MyMessage_SomeGroup{
 				GroupField: proto.Int32(6),
 			},
-			RepBytes: [][]byte{[]byte("sham"), []byte("wow")},
+			RepBytes:	[][]byte{[]byte("sham"), []byte("wow")},
 		},
 	},
 }

+ 0 - 0
third_party/src/code.google.com/p/goprotobuf/proto/decode.go → third_party/code.google.com/p/goprotobuf/proto/decode.go


+ 0 - 0
third_party/src/code.google.com/p/goprotobuf/proto/encode.go → third_party/code.google.com/p/goprotobuf/proto/encode.go


+ 0 - 0
third_party/src/code.google.com/p/goprotobuf/proto/equal.go → third_party/code.google.com/p/goprotobuf/proto/equal.go


+ 6 - 6
third_party/src/code.google.com/p/goprotobuf/proto/equal_test.go → third_party/code.google.com/p/goprotobuf/proto/equal_test.go

@@ -35,7 +35,7 @@ import (
 	"testing"
 
 	pb "./testdata"
-	. "code.google.com/p/goprotobuf/proto"
+	. "github.com/coreos/etcd/third_party/code.google.com/p/goprotobuf/proto"
 )
 
 // Four identical base messages.
@@ -85,9 +85,9 @@ func init() {
 }
 
 var EqualTests = []struct {
-	desc string
-	a, b Message
-	exp  bool
+	desc	string
+	a, b	Message
+	exp	bool
 }{
 	{"different types", &pb.GoEnum{}, &pb.GoTestField{}, false},
 	{"equal empty", &pb.GoEnum{}, &pb.GoEnum{}, true},
@@ -142,13 +142,13 @@ var EqualTests = []struct {
 	{
 		"message with group",
 		&pb.MyMessage{
-			Count: Int32(1),
+			Count:	Int32(1),
 			Somegroup: &pb.MyMessage_SomeGroup{
 				GroupField: Int32(5),
 			},
 		},
 		&pb.MyMessage{
-			Count: Int32(1),
+			Count:	Int32(1),
 			Somegroup: &pb.MyMessage_SomeGroup{
 				GroupField: Int32(5),
 			},

+ 0 - 0
third_party/src/code.google.com/p/goprotobuf/proto/extensions.go → third_party/code.google.com/p/goprotobuf/proto/extensions.go


+ 0 - 0
third_party/src/code.google.com/p/goprotobuf/proto/lib.go → third_party/code.google.com/p/goprotobuf/proto/lib.go


+ 0 - 0
third_party/src/code.google.com/p/goprotobuf/proto/message_set.go → third_party/code.google.com/p/goprotobuf/proto/message_set.go


+ 0 - 0
third_party/src/code.google.com/p/goprotobuf/proto/pointer_reflect.go → third_party/code.google.com/p/goprotobuf/proto/pointer_reflect.go


+ 0 - 0
third_party/src/code.google.com/p/goprotobuf/proto/pointer_unsafe.go → third_party/code.google.com/p/goprotobuf/proto/pointer_unsafe.go


+ 0 - 0
third_party/src/code.google.com/p/goprotobuf/proto/properties.go → third_party/code.google.com/p/goprotobuf/proto/properties.go


+ 0 - 0
third_party/src/code.google.com/p/goprotobuf/proto/size2_test.go → third_party/code.google.com/p/goprotobuf/proto/size2_test.go


+ 3 - 3
third_party/src/code.google.com/p/goprotobuf/proto/size_test.go → third_party/code.google.com/p/goprotobuf/proto/size_test.go

@@ -36,7 +36,7 @@ import (
 	"testing"
 
 	pb "./testdata"
-	. "code.google.com/p/goprotobuf/proto"
+	. "github.com/coreos/etcd/third_party/code.google.com/p/goprotobuf/proto"
 )
 
 var messageWithExtension1 = &pb.MyMessage{Count: Int32(7)}
@@ -58,8 +58,8 @@ func init() {
 }
 
 var SizeTests = []struct {
-	desc string
-	pb   Message
+	desc	string
+	pb	Message
 }{
 	{"empty", &pb.OtherMessage{}},
 	// Basic types.

+ 0 - 0
third_party/src/code.google.com/p/goprotobuf/proto/testdata/Makefile → third_party/code.google.com/p/goprotobuf/proto/testdata/Makefile


+ 0 - 0
third_party/src/code.google.com/p/goprotobuf/proto/testdata/golden_test.go → third_party/code.google.com/p/goprotobuf/proto/testdata/golden_test.go


+ 2294 - 0
third_party/code.google.com/p/goprotobuf/proto/testdata/test.pb.go

@@ -0,0 +1,2294 @@
+// Code generated by protoc-gen-go.
+// source: test.proto
+// DO NOT EDIT!
+
+package testdata
+
+import proto "github.com/coreos/etcd/third_party/code.google.com/p/goprotobuf/proto"
+import json "encoding/json"
+import math "math"
+
+// Reference proto, json, and math imports to suppress error if they are not otherwise used.
+var _ = proto.Marshal
+var _ = &json.SyntaxError{}
+var _ = math.Inf
+
+type FOO int32
+
+const (
+	FOO_FOO1 FOO = 1
+)
+
+var FOO_name = map[int32]string{
+	1: "FOO1",
+}
+var FOO_value = map[string]int32{
+	"FOO1": 1,
+}
+
+func (x FOO) Enum() *FOO {
+	p := new(FOO)
+	*p = x
+	return p
+}
+func (x FOO) String() string {
+	return proto.EnumName(FOO_name, int32(x))
+}
+func (x *FOO) UnmarshalJSON(data []byte) error {
+	value, err := proto.UnmarshalJSONEnum(FOO_value, data, "FOO")
+	if err != nil {
+		return err
+	}
+	*x = FOO(value)
+	return nil
+}
+
+// An enum, for completeness.
+type GoTest_KIND int32
+
+const (
+	GoTest_VOID	GoTest_KIND	= 0
+	// Basic types
+	GoTest_BOOL		GoTest_KIND	= 1
+	GoTest_BYTES		GoTest_KIND	= 2
+	GoTest_FINGERPRINT	GoTest_KIND	= 3
+	GoTest_FLOAT		GoTest_KIND	= 4
+	GoTest_INT		GoTest_KIND	= 5
+	GoTest_STRING		GoTest_KIND	= 6
+	GoTest_TIME		GoTest_KIND	= 7
+	// Groupings
+	GoTest_TUPLE	GoTest_KIND	= 8
+	GoTest_ARRAY	GoTest_KIND	= 9
+	GoTest_MAP	GoTest_KIND	= 10
+	// Table types
+	GoTest_TABLE	GoTest_KIND	= 11
+	// Functions
+	GoTest_FUNCTION	GoTest_KIND	= 12
+)
+
+var GoTest_KIND_name = map[int32]string{
+	0:	"VOID",
+	1:	"BOOL",
+	2:	"BYTES",
+	3:	"FINGERPRINT",
+	4:	"FLOAT",
+	5:	"INT",
+	6:	"STRING",
+	7:	"TIME",
+	8:	"TUPLE",
+	9:	"ARRAY",
+	10:	"MAP",
+	11:	"TABLE",
+	12:	"FUNCTION",
+}
+var GoTest_KIND_value = map[string]int32{
+	"VOID":		0,
+	"BOOL":		1,
+	"BYTES":	2,
+	"FINGERPRINT":	3,
+	"FLOAT":	4,
+	"INT":		5,
+	"STRING":	6,
+	"TIME":		7,
+	"TUPLE":	8,
+	"ARRAY":	9,
+	"MAP":		10,
+	"TABLE":	11,
+	"FUNCTION":	12,
+}
+
+func (x GoTest_KIND) Enum() *GoTest_KIND {
+	p := new(GoTest_KIND)
+	*p = x
+	return p
+}
+func (x GoTest_KIND) String() string {
+	return proto.EnumName(GoTest_KIND_name, int32(x))
+}
+func (x *GoTest_KIND) UnmarshalJSON(data []byte) error {
+	value, err := proto.UnmarshalJSONEnum(GoTest_KIND_value, data, "GoTest_KIND")
+	if err != nil {
+		return err
+	}
+	*x = GoTest_KIND(value)
+	return nil
+}
+
+type MyMessage_Color int32
+
+const (
+	MyMessage_RED	MyMessage_Color	= 0
+	MyMessage_GREEN	MyMessage_Color	= 1
+	MyMessage_BLUE	MyMessage_Color	= 2
+)
+
+var MyMessage_Color_name = map[int32]string{
+	0:	"RED",
+	1:	"GREEN",
+	2:	"BLUE",
+}
+var MyMessage_Color_value = map[string]int32{
+	"RED":		0,
+	"GREEN":	1,
+	"BLUE":		2,
+}
+
+func (x MyMessage_Color) Enum() *MyMessage_Color {
+	p := new(MyMessage_Color)
+	*p = x
+	return p
+}
+func (x MyMessage_Color) String() string {
+	return proto.EnumName(MyMessage_Color_name, int32(x))
+}
+func (x *MyMessage_Color) UnmarshalJSON(data []byte) error {
+	value, err := proto.UnmarshalJSONEnum(MyMessage_Color_value, data, "MyMessage_Color")
+	if err != nil {
+		return err
+	}
+	*x = MyMessage_Color(value)
+	return nil
+}
+
+type Defaults_Color int32
+
+const (
+	Defaults_RED	Defaults_Color	= 0
+	Defaults_GREEN	Defaults_Color	= 1
+	Defaults_BLUE	Defaults_Color	= 2
+)
+
+var Defaults_Color_name = map[int32]string{
+	0:	"RED",
+	1:	"GREEN",
+	2:	"BLUE",
+}
+var Defaults_Color_value = map[string]int32{
+	"RED":		0,
+	"GREEN":	1,
+	"BLUE":		2,
+}
+
+func (x Defaults_Color) Enum() *Defaults_Color {
+	p := new(Defaults_Color)
+	*p = x
+	return p
+}
+func (x Defaults_Color) String() string {
+	return proto.EnumName(Defaults_Color_name, int32(x))
+}
+func (x *Defaults_Color) UnmarshalJSON(data []byte) error {
+	value, err := proto.UnmarshalJSONEnum(Defaults_Color_value, data, "Defaults_Color")
+	if err != nil {
+		return err
+	}
+	*x = Defaults_Color(value)
+	return nil
+}
+
+type RepeatedEnum_Color int32
+
+const (
+	RepeatedEnum_RED RepeatedEnum_Color = 1
+)
+
+var RepeatedEnum_Color_name = map[int32]string{
+	1: "RED",
+}
+var RepeatedEnum_Color_value = map[string]int32{
+	"RED": 1,
+}
+
+func (x RepeatedEnum_Color) Enum() *RepeatedEnum_Color {
+	p := new(RepeatedEnum_Color)
+	*p = x
+	return p
+}
+func (x RepeatedEnum_Color) String() string {
+	return proto.EnumName(RepeatedEnum_Color_name, int32(x))
+}
+func (x *RepeatedEnum_Color) UnmarshalJSON(data []byte) error {
+	value, err := proto.UnmarshalJSONEnum(RepeatedEnum_Color_value, data, "RepeatedEnum_Color")
+	if err != nil {
+		return err
+	}
+	*x = RepeatedEnum_Color(value)
+	return nil
+}
+
+type GoEnum struct {
+	Foo			*FOO	`protobuf:"varint,1,req,name=foo,enum=testdata.FOO" json:"foo,omitempty"`
+	XXX_unrecognized	[]byte	`json:"-"`
+}
+
+func (m *GoEnum) Reset()		{ *m = GoEnum{} }
+func (m *GoEnum) String() string	{ return proto.CompactTextString(m) }
+func (*GoEnum) ProtoMessage()		{}
+
+func (m *GoEnum) GetFoo() FOO {
+	if m != nil && m.Foo != nil {
+		return *m.Foo
+	}
+	return FOO_FOO1
+}
+
+type GoTestField struct {
+	Label			*string	`protobuf:"bytes,1,req" json:"Label,omitempty"`
+	Type			*string	`protobuf:"bytes,2,req" json:"Type,omitempty"`
+	XXX_unrecognized	[]byte	`json:"-"`
+}
+
+func (m *GoTestField) Reset()		{ *m = GoTestField{} }
+func (m *GoTestField) String() string	{ return proto.CompactTextString(m) }
+func (*GoTestField) ProtoMessage()	{}
+
+func (m *GoTestField) GetLabel() string {
+	if m != nil && m.Label != nil {
+		return *m.Label
+	}
+	return ""
+}
+
+func (m *GoTestField) GetType() string {
+	if m != nil && m.Type != nil {
+		return *m.Type
+	}
+	return ""
+}
+
+type GoTest struct {
+	// Some typical parameters
+	Kind	*GoTest_KIND	`protobuf:"varint,1,req,enum=testdata.GoTest_KIND" json:"Kind,omitempty"`
+	Table	*string		`protobuf:"bytes,2,opt" json:"Table,omitempty"`
+	Param	*int32		`protobuf:"varint,3,opt" json:"Param,omitempty"`
+	// Required, repeated and optional foreign fields.
+	RequiredField	*GoTestField	`protobuf:"bytes,4,req" json:"RequiredField,omitempty"`
+	RepeatedField	[]*GoTestField	`protobuf:"bytes,5,rep" json:"RepeatedField,omitempty"`
+	OptionalField	*GoTestField	`protobuf:"bytes,6,opt" json:"OptionalField,omitempty"`
+	// Required fields of all basic types
+	F_BoolRequired		*bool		`protobuf:"varint,10,req,name=F_Bool_required" json:"F_Bool_required,omitempty"`
+	F_Int32Required		*int32		`protobuf:"varint,11,req,name=F_Int32_required" json:"F_Int32_required,omitempty"`
+	F_Int64Required		*int64		`protobuf:"varint,12,req,name=F_Int64_required" json:"F_Int64_required,omitempty"`
+	F_Fixed32Required	*uint32		`protobuf:"fixed32,13,req,name=F_Fixed32_required" json:"F_Fixed32_required,omitempty"`
+	F_Fixed64Required	*uint64		`protobuf:"fixed64,14,req,name=F_Fixed64_required" json:"F_Fixed64_required,omitempty"`
+	F_Uint32Required	*uint32		`protobuf:"varint,15,req,name=F_Uint32_required" json:"F_Uint32_required,omitempty"`
+	F_Uint64Required	*uint64		`protobuf:"varint,16,req,name=F_Uint64_required" json:"F_Uint64_required,omitempty"`
+	F_FloatRequired		*float32	`protobuf:"fixed32,17,req,name=F_Float_required" json:"F_Float_required,omitempty"`
+	F_DoubleRequired	*float64	`protobuf:"fixed64,18,req,name=F_Double_required" json:"F_Double_required,omitempty"`
+	F_StringRequired	*string		`protobuf:"bytes,19,req,name=F_String_required" json:"F_String_required,omitempty"`
+	F_BytesRequired		[]byte		`protobuf:"bytes,101,req,name=F_Bytes_required" json:"F_Bytes_required,omitempty"`
+	F_Sint32Required	*int32		`protobuf:"zigzag32,102,req,name=F_Sint32_required" json:"F_Sint32_required,omitempty"`
+	F_Sint64Required	*int64		`protobuf:"zigzag64,103,req,name=F_Sint64_required" json:"F_Sint64_required,omitempty"`
+	// Repeated fields of all basic types
+	F_BoolRepeated		[]bool		`protobuf:"varint,20,rep,name=F_Bool_repeated" json:"F_Bool_repeated,omitempty"`
+	F_Int32Repeated		[]int32		`protobuf:"varint,21,rep,name=F_Int32_repeated" json:"F_Int32_repeated,omitempty"`
+	F_Int64Repeated		[]int64		`protobuf:"varint,22,rep,name=F_Int64_repeated" json:"F_Int64_repeated,omitempty"`
+	F_Fixed32Repeated	[]uint32	`protobuf:"fixed32,23,rep,name=F_Fixed32_repeated" json:"F_Fixed32_repeated,omitempty"`
+	F_Fixed64Repeated	[]uint64	`protobuf:"fixed64,24,rep,name=F_Fixed64_repeated" json:"F_Fixed64_repeated,omitempty"`
+	F_Uint32Repeated	[]uint32	`protobuf:"varint,25,rep,name=F_Uint32_repeated" json:"F_Uint32_repeated,omitempty"`
+	F_Uint64Repeated	[]uint64	`protobuf:"varint,26,rep,name=F_Uint64_repeated" json:"F_Uint64_repeated,omitempty"`
+	F_FloatRepeated		[]float32	`protobuf:"fixed32,27,rep,name=F_Float_repeated" json:"F_Float_repeated,omitempty"`
+	F_DoubleRepeated	[]float64	`protobuf:"fixed64,28,rep,name=F_Double_repeated" json:"F_Double_repeated,omitempty"`
+	F_StringRepeated	[]string	`protobuf:"bytes,29,rep,name=F_String_repeated" json:"F_String_repeated,omitempty"`
+	F_BytesRepeated		[][]byte	`protobuf:"bytes,201,rep,name=F_Bytes_repeated" json:"F_Bytes_repeated,omitempty"`
+	F_Sint32Repeated	[]int32		`protobuf:"zigzag32,202,rep,name=F_Sint32_repeated" json:"F_Sint32_repeated,omitempty"`
+	F_Sint64Repeated	[]int64		`protobuf:"zigzag64,203,rep,name=F_Sint64_repeated" json:"F_Sint64_repeated,omitempty"`
+	// Optional fields of all basic types
+	F_BoolOptional		*bool		`protobuf:"varint,30,opt,name=F_Bool_optional" json:"F_Bool_optional,omitempty"`
+	F_Int32Optional		*int32		`protobuf:"varint,31,opt,name=F_Int32_optional" json:"F_Int32_optional,omitempty"`
+	F_Int64Optional		*int64		`protobuf:"varint,32,opt,name=F_Int64_optional" json:"F_Int64_optional,omitempty"`
+	F_Fixed32Optional	*uint32		`protobuf:"fixed32,33,opt,name=F_Fixed32_optional" json:"F_Fixed32_optional,omitempty"`
+	F_Fixed64Optional	*uint64		`protobuf:"fixed64,34,opt,name=F_Fixed64_optional" json:"F_Fixed64_optional,omitempty"`
+	F_Uint32Optional	*uint32		`protobuf:"varint,35,opt,name=F_Uint32_optional" json:"F_Uint32_optional,omitempty"`
+	F_Uint64Optional	*uint64		`protobuf:"varint,36,opt,name=F_Uint64_optional" json:"F_Uint64_optional,omitempty"`
+	F_FloatOptional		*float32	`protobuf:"fixed32,37,opt,name=F_Float_optional" json:"F_Float_optional,omitempty"`
+	F_DoubleOptional	*float64	`protobuf:"fixed64,38,opt,name=F_Double_optional" json:"F_Double_optional,omitempty"`
+	F_StringOptional	*string		`protobuf:"bytes,39,opt,name=F_String_optional" json:"F_String_optional,omitempty"`
+	F_BytesOptional		[]byte		`protobuf:"bytes,301,opt,name=F_Bytes_optional" json:"F_Bytes_optional,omitempty"`
+	F_Sint32Optional	*int32		`protobuf:"zigzag32,302,opt,name=F_Sint32_optional" json:"F_Sint32_optional,omitempty"`
+	F_Sint64Optional	*int64		`protobuf:"zigzag64,303,opt,name=F_Sint64_optional" json:"F_Sint64_optional,omitempty"`
+	// Default-valued fields of all basic types
+	F_BoolDefaulted		*bool		`protobuf:"varint,40,opt,name=F_Bool_defaulted,def=1" json:"F_Bool_defaulted,omitempty"`
+	F_Int32Defaulted	*int32		`protobuf:"varint,41,opt,name=F_Int32_defaulted,def=32" json:"F_Int32_defaulted,omitempty"`
+	F_Int64Defaulted	*int64		`protobuf:"varint,42,opt,name=F_Int64_defaulted,def=64" json:"F_Int64_defaulted,omitempty"`
+	F_Fixed32Defaulted	*uint32		`protobuf:"fixed32,43,opt,name=F_Fixed32_defaulted,def=320" json:"F_Fixed32_defaulted,omitempty"`
+	F_Fixed64Defaulted	*uint64		`protobuf:"fixed64,44,opt,name=F_Fixed64_defaulted,def=640" json:"F_Fixed64_defaulted,omitempty"`
+	F_Uint32Defaulted	*uint32		`protobuf:"varint,45,opt,name=F_Uint32_defaulted,def=3200" json:"F_Uint32_defaulted,omitempty"`
+	F_Uint64Defaulted	*uint64		`protobuf:"varint,46,opt,name=F_Uint64_defaulted,def=6400" json:"F_Uint64_defaulted,omitempty"`
+	F_FloatDefaulted	*float32	`protobuf:"fixed32,47,opt,name=F_Float_defaulted,def=314159" json:"F_Float_defaulted,omitempty"`
+	F_DoubleDefaulted	*float64	`protobuf:"fixed64,48,opt,name=F_Double_defaulted,def=271828" json:"F_Double_defaulted,omitempty"`
+	F_StringDefaulted	*string		`protobuf:"bytes,49,opt,name=F_String_defaulted,def=hello, \"world!\"\n" json:"F_String_defaulted,omitempty"`
+	F_BytesDefaulted	[]byte		`protobuf:"bytes,401,opt,name=F_Bytes_defaulted,def=Bignose" json:"F_Bytes_defaulted,omitempty"`
+	F_Sint32Defaulted	*int32		`protobuf:"zigzag32,402,opt,name=F_Sint32_defaulted,def=-32" json:"F_Sint32_defaulted,omitempty"`
+	F_Sint64Defaulted	*int64		`protobuf:"zigzag64,403,opt,name=F_Sint64_defaulted,def=-64" json:"F_Sint64_defaulted,omitempty"`
+	// Packed repeated fields (no string or bytes).
+	F_BoolRepeatedPacked	[]bool			`protobuf:"varint,50,rep,packed,name=F_Bool_repeated_packed" json:"F_Bool_repeated_packed,omitempty"`
+	F_Int32RepeatedPacked	[]int32			`protobuf:"varint,51,rep,packed,name=F_Int32_repeated_packed" json:"F_Int32_repeated_packed,omitempty"`
+	F_Int64RepeatedPacked	[]int64			`protobuf:"varint,52,rep,packed,name=F_Int64_repeated_packed" json:"F_Int64_repeated_packed,omitempty"`
+	F_Fixed32RepeatedPacked	[]uint32		`protobuf:"fixed32,53,rep,packed,name=F_Fixed32_repeated_packed" json:"F_Fixed32_repeated_packed,omitempty"`
+	F_Fixed64RepeatedPacked	[]uint64		`protobuf:"fixed64,54,rep,packed,name=F_Fixed64_repeated_packed" json:"F_Fixed64_repeated_packed,omitempty"`
+	F_Uint32RepeatedPacked	[]uint32		`protobuf:"varint,55,rep,packed,name=F_Uint32_repeated_packed" json:"F_Uint32_repeated_packed,omitempty"`
+	F_Uint64RepeatedPacked	[]uint64		`protobuf:"varint,56,rep,packed,name=F_Uint64_repeated_packed" json:"F_Uint64_repeated_packed,omitempty"`
+	F_FloatRepeatedPacked	[]float32		`protobuf:"fixed32,57,rep,packed,name=F_Float_repeated_packed" json:"F_Float_repeated_packed,omitempty"`
+	F_DoubleRepeatedPacked	[]float64		`protobuf:"fixed64,58,rep,packed,name=F_Double_repeated_packed" json:"F_Double_repeated_packed,omitempty"`
+	F_Sint32RepeatedPacked	[]int32			`protobuf:"zigzag32,502,rep,packed,name=F_Sint32_repeated_packed" json:"F_Sint32_repeated_packed,omitempty"`
+	F_Sint64RepeatedPacked	[]int64			`protobuf:"zigzag64,503,rep,packed,name=F_Sint64_repeated_packed" json:"F_Sint64_repeated_packed,omitempty"`
+	Requiredgroup		*GoTest_RequiredGroup	`protobuf:"group,70,req,name=RequiredGroup" json:"requiredgroup,omitempty"`
+	Repeatedgroup		[]*GoTest_RepeatedGroup	`protobuf:"group,80,rep,name=RepeatedGroup" json:"repeatedgroup,omitempty"`
+	Optionalgroup		*GoTest_OptionalGroup	`protobuf:"group,90,opt,name=OptionalGroup" json:"optionalgroup,omitempty"`
+	XXX_unrecognized	[]byte			`json:"-"`
+}
+
+func (m *GoTest) Reset()		{ *m = GoTest{} }
+func (m *GoTest) String() string	{ return proto.CompactTextString(m) }
+func (*GoTest) ProtoMessage()		{}
+
+const Default_GoTest_F_BoolDefaulted bool = true
+const Default_GoTest_F_Int32Defaulted int32 = 32
+const Default_GoTest_F_Int64Defaulted int64 = 64
+const Default_GoTest_F_Fixed32Defaulted uint32 = 320
+const Default_GoTest_F_Fixed64Defaulted uint64 = 640
+const Default_GoTest_F_Uint32Defaulted uint32 = 3200
+const Default_GoTest_F_Uint64Defaulted uint64 = 6400
+const Default_GoTest_F_FloatDefaulted float32 = 314159
+const Default_GoTest_F_DoubleDefaulted float64 = 271828
+const Default_GoTest_F_StringDefaulted string = "hello, \"world!\"\n"
+
+var Default_GoTest_F_BytesDefaulted []byte = []byte("Bignose")
+
+const Default_GoTest_F_Sint32Defaulted int32 = -32
+const Default_GoTest_F_Sint64Defaulted int64 = -64
+
+func (m *GoTest) GetKind() GoTest_KIND {
+	if m != nil && m.Kind != nil {
+		return *m.Kind
+	}
+	return GoTest_VOID
+}
+
+func (m *GoTest) GetTable() string {
+	if m != nil && m.Table != nil {
+		return *m.Table
+	}
+	return ""
+}
+
+func (m *GoTest) GetParam() int32 {
+	if m != nil && m.Param != nil {
+		return *m.Param
+	}
+	return 0
+}
+
+func (m *GoTest) GetRequiredField() *GoTestField {
+	if m != nil {
+		return m.RequiredField
+	}
+	return nil
+}
+
+func (m *GoTest) GetRepeatedField() []*GoTestField {
+	if m != nil {
+		return m.RepeatedField
+	}
+	return nil
+}
+
+func (m *GoTest) GetOptionalField() *GoTestField {
+	if m != nil {
+		return m.OptionalField
+	}
+	return nil
+}
+
+func (m *GoTest) GetF_BoolRequired() bool {
+	if m != nil && m.F_BoolRequired != nil {
+		return *m.F_BoolRequired
+	}
+	return false
+}
+
+func (m *GoTest) GetF_Int32Required() int32 {
+	if m != nil && m.F_Int32Required != nil {
+		return *m.F_Int32Required
+	}
+	return 0
+}
+
+func (m *GoTest) GetF_Int64Required() int64 {
+	if m != nil && m.F_Int64Required != nil {
+		return *m.F_Int64Required
+	}
+	return 0
+}
+
+func (m *GoTest) GetF_Fixed32Required() uint32 {
+	if m != nil && m.F_Fixed32Required != nil {
+		return *m.F_Fixed32Required
+	}
+	return 0
+}
+
+func (m *GoTest) GetF_Fixed64Required() uint64 {
+	if m != nil && m.F_Fixed64Required != nil {
+		return *m.F_Fixed64Required
+	}
+	return 0
+}
+
+func (m *GoTest) GetF_Uint32Required() uint32 {
+	if m != nil && m.F_Uint32Required != nil {
+		return *m.F_Uint32Required
+	}
+	return 0
+}
+
+func (m *GoTest) GetF_Uint64Required() uint64 {
+	if m != nil && m.F_Uint64Required != nil {
+		return *m.F_Uint64Required
+	}
+	return 0
+}
+
+func (m *GoTest) GetF_FloatRequired() float32 {
+	if m != nil && m.F_FloatRequired != nil {
+		return *m.F_FloatRequired
+	}
+	return 0
+}
+
+func (m *GoTest) GetF_DoubleRequired() float64 {
+	if m != nil && m.F_DoubleRequired != nil {
+		return *m.F_DoubleRequired
+	}
+	return 0
+}
+
+func (m *GoTest) GetF_StringRequired() string {
+	if m != nil && m.F_StringRequired != nil {
+		return *m.F_StringRequired
+	}
+	return ""
+}
+
+func (m *GoTest) GetF_BytesRequired() []byte {
+	if m != nil {
+		return m.F_BytesRequired
+	}
+	return nil
+}
+
+func (m *GoTest) GetF_Sint32Required() int32 {
+	if m != nil && m.F_Sint32Required != nil {
+		return *m.F_Sint32Required
+	}
+	return 0
+}
+
+func (m *GoTest) GetF_Sint64Required() int64 {
+	if m != nil && m.F_Sint64Required != nil {
+		return *m.F_Sint64Required
+	}
+	return 0
+}
+
+func (m *GoTest) GetF_BoolRepeated() []bool {
+	if m != nil {
+		return m.F_BoolRepeated
+	}
+	return nil
+}
+
+func (m *GoTest) GetF_Int32Repeated() []int32 {
+	if m != nil {
+		return m.F_Int32Repeated
+	}
+	return nil
+}
+
+func (m *GoTest) GetF_Int64Repeated() []int64 {
+	if m != nil {
+		return m.F_Int64Repeated
+	}
+	return nil
+}
+
+func (m *GoTest) GetF_Fixed32Repeated() []uint32 {
+	if m != nil {
+		return m.F_Fixed32Repeated
+	}
+	return nil
+}
+
+func (m *GoTest) GetF_Fixed64Repeated() []uint64 {
+	if m != nil {
+		return m.F_Fixed64Repeated
+	}
+	return nil
+}
+
+func (m *GoTest) GetF_Uint32Repeated() []uint32 {
+	if m != nil {
+		return m.F_Uint32Repeated
+	}
+	return nil
+}
+
+func (m *GoTest) GetF_Uint64Repeated() []uint64 {
+	if m != nil {
+		return m.F_Uint64Repeated
+	}
+	return nil
+}
+
+func (m *GoTest) GetF_FloatRepeated() []float32 {
+	if m != nil {
+		return m.F_FloatRepeated
+	}
+	return nil
+}
+
+func (m *GoTest) GetF_DoubleRepeated() []float64 {
+	if m != nil {
+		return m.F_DoubleRepeated
+	}
+	return nil
+}
+
+func (m *GoTest) GetF_StringRepeated() []string {
+	if m != nil {
+		return m.F_StringRepeated
+	}
+	return nil
+}
+
+func (m *GoTest) GetF_BytesRepeated() [][]byte {
+	if m != nil {
+		return m.F_BytesRepeated
+	}
+	return nil
+}
+
+func (m *GoTest) GetF_Sint32Repeated() []int32 {
+	if m != nil {
+		return m.F_Sint32Repeated
+	}
+	return nil
+}
+
+func (m *GoTest) GetF_Sint64Repeated() []int64 {
+	if m != nil {
+		return m.F_Sint64Repeated
+	}
+	return nil
+}
+
+func (m *GoTest) GetF_BoolOptional() bool {
+	if m != nil && m.F_BoolOptional != nil {
+		return *m.F_BoolOptional
+	}
+	return false
+}
+
+func (m *GoTest) GetF_Int32Optional() int32 {
+	if m != nil && m.F_Int32Optional != nil {
+		return *m.F_Int32Optional
+	}
+	return 0
+}
+
+func (m *GoTest) GetF_Int64Optional() int64 {
+	if m != nil && m.F_Int64Optional != nil {
+		return *m.F_Int64Optional
+	}
+	return 0
+}
+
+func (m *GoTest) GetF_Fixed32Optional() uint32 {
+	if m != nil && m.F_Fixed32Optional != nil {
+		return *m.F_Fixed32Optional
+	}
+	return 0
+}
+
+func (m *GoTest) GetF_Fixed64Optional() uint64 {
+	if m != nil && m.F_Fixed64Optional != nil {
+		return *m.F_Fixed64Optional
+	}
+	return 0
+}
+
+func (m *GoTest) GetF_Uint32Optional() uint32 {
+	if m != nil && m.F_Uint32Optional != nil {
+		return *m.F_Uint32Optional
+	}
+	return 0
+}
+
+func (m *GoTest) GetF_Uint64Optional() uint64 {
+	if m != nil && m.F_Uint64Optional != nil {
+		return *m.F_Uint64Optional
+	}
+	return 0
+}
+
+func (m *GoTest) GetF_FloatOptional() float32 {
+	if m != nil && m.F_FloatOptional != nil {
+		return *m.F_FloatOptional
+	}
+	return 0
+}
+
+func (m *GoTest) GetF_DoubleOptional() float64 {
+	if m != nil && m.F_DoubleOptional != nil {
+		return *m.F_DoubleOptional
+	}
+	return 0
+}
+
+func (m *GoTest) GetF_StringOptional() string {
+	if m != nil && m.F_StringOptional != nil {
+		return *m.F_StringOptional
+	}
+	return ""
+}
+
+func (m *GoTest) GetF_BytesOptional() []byte {
+	if m != nil {
+		return m.F_BytesOptional
+	}
+	return nil
+}
+
+func (m *GoTest) GetF_Sint32Optional() int32 {
+	if m != nil && m.F_Sint32Optional != nil {
+		return *m.F_Sint32Optional
+	}
+	return 0
+}
+
+func (m *GoTest) GetF_Sint64Optional() int64 {
+	if m != nil && m.F_Sint64Optional != nil {
+		return *m.F_Sint64Optional
+	}
+	return 0
+}
+
+func (m *GoTest) GetF_BoolDefaulted() bool {
+	if m != nil && m.F_BoolDefaulted != nil {
+		return *m.F_BoolDefaulted
+	}
+	return Default_GoTest_F_BoolDefaulted
+}
+
+func (m *GoTest) GetF_Int32Defaulted() int32 {
+	if m != nil && m.F_Int32Defaulted != nil {
+		return *m.F_Int32Defaulted
+	}
+	return Default_GoTest_F_Int32Defaulted
+}
+
+func (m *GoTest) GetF_Int64Defaulted() int64 {
+	if m != nil && m.F_Int64Defaulted != nil {
+		return *m.F_Int64Defaulted
+	}
+	return Default_GoTest_F_Int64Defaulted
+}
+
+func (m *GoTest) GetF_Fixed32Defaulted() uint32 {
+	if m != nil && m.F_Fixed32Defaulted != nil {
+		return *m.F_Fixed32Defaulted
+	}
+	return Default_GoTest_F_Fixed32Defaulted
+}
+
+func (m *GoTest) GetF_Fixed64Defaulted() uint64 {
+	if m != nil && m.F_Fixed64Defaulted != nil {
+		return *m.F_Fixed64Defaulted
+	}
+	return Default_GoTest_F_Fixed64Defaulted
+}
+
+func (m *GoTest) GetF_Uint32Defaulted() uint32 {
+	if m != nil && m.F_Uint32Defaulted != nil {
+		return *m.F_Uint32Defaulted
+	}
+	return Default_GoTest_F_Uint32Defaulted
+}
+
+func (m *GoTest) GetF_Uint64Defaulted() uint64 {
+	if m != nil && m.F_Uint64Defaulted != nil {
+		return *m.F_Uint64Defaulted
+	}
+	return Default_GoTest_F_Uint64Defaulted
+}
+
+func (m *GoTest) GetF_FloatDefaulted() float32 {
+	if m != nil && m.F_FloatDefaulted != nil {
+		return *m.F_FloatDefaulted
+	}
+	return Default_GoTest_F_FloatDefaulted
+}
+
+func (m *GoTest) GetF_DoubleDefaulted() float64 {
+	if m != nil && m.F_DoubleDefaulted != nil {
+		return *m.F_DoubleDefaulted
+	}
+	return Default_GoTest_F_DoubleDefaulted
+}
+
+func (m *GoTest) GetF_StringDefaulted() string {
+	if m != nil && m.F_StringDefaulted != nil {
+		return *m.F_StringDefaulted
+	}
+	return Default_GoTest_F_StringDefaulted
+}
+
+func (m *GoTest) GetF_BytesDefaulted() []byte {
+	if m != nil && m.F_BytesDefaulted != nil {
+		return m.F_BytesDefaulted
+	}
+	return append([]byte(nil), Default_GoTest_F_BytesDefaulted...)
+}
+
+func (m *GoTest) GetF_Sint32Defaulted() int32 {
+	if m != nil && m.F_Sint32Defaulted != nil {
+		return *m.F_Sint32Defaulted
+	}
+	return Default_GoTest_F_Sint32Defaulted
+}
+
+func (m *GoTest) GetF_Sint64Defaulted() int64 {
+	if m != nil && m.F_Sint64Defaulted != nil {
+		return *m.F_Sint64Defaulted
+	}
+	return Default_GoTest_F_Sint64Defaulted
+}
+
+func (m *GoTest) GetF_BoolRepeatedPacked() []bool {
+	if m != nil {
+		return m.F_BoolRepeatedPacked
+	}
+	return nil
+}
+
+func (m *GoTest) GetF_Int32RepeatedPacked() []int32 {
+	if m != nil {
+		return m.F_Int32RepeatedPacked
+	}
+	return nil
+}
+
+func (m *GoTest) GetF_Int64RepeatedPacked() []int64 {
+	if m != nil {
+		return m.F_Int64RepeatedPacked
+	}
+	return nil
+}
+
+func (m *GoTest) GetF_Fixed32RepeatedPacked() []uint32 {
+	if m != nil {
+		return m.F_Fixed32RepeatedPacked
+	}
+	return nil
+}
+
+func (m *GoTest) GetF_Fixed64RepeatedPacked() []uint64 {
+	if m != nil {
+		return m.F_Fixed64RepeatedPacked
+	}
+	return nil
+}
+
+func (m *GoTest) GetF_Uint32RepeatedPacked() []uint32 {
+	if m != nil {
+		return m.F_Uint32RepeatedPacked
+	}
+	return nil
+}
+
+func (m *GoTest) GetF_Uint64RepeatedPacked() []uint64 {
+	if m != nil {
+		return m.F_Uint64RepeatedPacked
+	}
+	return nil
+}
+
+func (m *GoTest) GetF_FloatRepeatedPacked() []float32 {
+	if m != nil {
+		return m.F_FloatRepeatedPacked
+	}
+	return nil
+}
+
+func (m *GoTest) GetF_DoubleRepeatedPacked() []float64 {
+	if m != nil {
+		return m.F_DoubleRepeatedPacked
+	}
+	return nil
+}
+
+func (m *GoTest) GetF_Sint32RepeatedPacked() []int32 {
+	if m != nil {
+		return m.F_Sint32RepeatedPacked
+	}
+	return nil
+}
+
+func (m *GoTest) GetF_Sint64RepeatedPacked() []int64 {
+	if m != nil {
+		return m.F_Sint64RepeatedPacked
+	}
+	return nil
+}
+
+func (m *GoTest) GetRequiredgroup() *GoTest_RequiredGroup {
+	if m != nil {
+		return m.Requiredgroup
+	}
+	return nil
+}
+
+func (m *GoTest) GetRepeatedgroup() []*GoTest_RepeatedGroup {
+	if m != nil {
+		return m.Repeatedgroup
+	}
+	return nil
+}
+
+func (m *GoTest) GetOptionalgroup() *GoTest_OptionalGroup {
+	if m != nil {
+		return m.Optionalgroup
+	}
+	return nil
+}
+
+// Required, repeated, and optional groups.
+type GoTest_RequiredGroup struct {
+	RequiredField		*string	`protobuf:"bytes,71,req" json:"RequiredField,omitempty"`
+	XXX_unrecognized	[]byte	`json:"-"`
+}
+
+func (m *GoTest_RequiredGroup) Reset()		{ *m = GoTest_RequiredGroup{} }
+func (m *GoTest_RequiredGroup) String() string	{ return proto.CompactTextString(m) }
+func (*GoTest_RequiredGroup) ProtoMessage()	{}
+
+func (m *GoTest_RequiredGroup) GetRequiredField() string {
+	if m != nil && m.RequiredField != nil {
+		return *m.RequiredField
+	}
+	return ""
+}
+
+type GoTest_RepeatedGroup struct {
+	RequiredField		*string	`protobuf:"bytes,81,req" json:"RequiredField,omitempty"`
+	XXX_unrecognized	[]byte	`json:"-"`
+}
+
+func (m *GoTest_RepeatedGroup) Reset()		{ *m = GoTest_RepeatedGroup{} }
+func (m *GoTest_RepeatedGroup) String() string	{ return proto.CompactTextString(m) }
+func (*GoTest_RepeatedGroup) ProtoMessage()	{}
+
+func (m *GoTest_RepeatedGroup) GetRequiredField() string {
+	if m != nil && m.RequiredField != nil {
+		return *m.RequiredField
+	}
+	return ""
+}
+
+type GoTest_OptionalGroup struct {
+	RequiredField		*string	`protobuf:"bytes,91,req" json:"RequiredField,omitempty"`
+	XXX_unrecognized	[]byte	`json:"-"`
+}
+
+func (m *GoTest_OptionalGroup) Reset()		{ *m = GoTest_OptionalGroup{} }
+func (m *GoTest_OptionalGroup) String() string	{ return proto.CompactTextString(m) }
+func (*GoTest_OptionalGroup) ProtoMessage()	{}
+
+func (m *GoTest_OptionalGroup) GetRequiredField() string {
+	if m != nil && m.RequiredField != nil {
+		return *m.RequiredField
+	}
+	return ""
+}
+
+// For testing skipping of unrecognized fields.
+// Numbers are all big, larger than tag numbers in GoTestField,
+// the message used in the corresponding test.
+type GoSkipTest struct {
+	SkipInt32		*int32			`protobuf:"varint,11,req,name=skip_int32" json:"skip_int32,omitempty"`
+	SkipFixed32		*uint32			`protobuf:"fixed32,12,req,name=skip_fixed32" json:"skip_fixed32,omitempty"`
+	SkipFixed64		*uint64			`protobuf:"fixed64,13,req,name=skip_fixed64" json:"skip_fixed64,omitempty"`
+	SkipString		*string			`protobuf:"bytes,14,req,name=skip_string" json:"skip_string,omitempty"`
+	Skipgroup		*GoSkipTest_SkipGroup	`protobuf:"group,15,req,name=SkipGroup" json:"skipgroup,omitempty"`
+	XXX_unrecognized	[]byte			`json:"-"`
+}
+
+func (m *GoSkipTest) Reset()		{ *m = GoSkipTest{} }
+func (m *GoSkipTest) String() string	{ return proto.CompactTextString(m) }
+func (*GoSkipTest) ProtoMessage()	{}
+
+func (m *GoSkipTest) GetSkipInt32() int32 {
+	if m != nil && m.SkipInt32 != nil {
+		return *m.SkipInt32
+	}
+	return 0
+}
+
+func (m *GoSkipTest) GetSkipFixed32() uint32 {
+	if m != nil && m.SkipFixed32 != nil {
+		return *m.SkipFixed32
+	}
+	return 0
+}
+
+func (m *GoSkipTest) GetSkipFixed64() uint64 {
+	if m != nil && m.SkipFixed64 != nil {
+		return *m.SkipFixed64
+	}
+	return 0
+}
+
+func (m *GoSkipTest) GetSkipString() string {
+	if m != nil && m.SkipString != nil {
+		return *m.SkipString
+	}
+	return ""
+}
+
+func (m *GoSkipTest) GetSkipgroup() *GoSkipTest_SkipGroup {
+	if m != nil {
+		return m.Skipgroup
+	}
+	return nil
+}
+
+type GoSkipTest_SkipGroup struct {
+	GroupInt32		*int32	`protobuf:"varint,16,req,name=group_int32" json:"group_int32,omitempty"`
+	GroupString		*string	`protobuf:"bytes,17,req,name=group_string" json:"group_string,omitempty"`
+	XXX_unrecognized	[]byte	`json:"-"`
+}
+
+func (m *GoSkipTest_SkipGroup) Reset()		{ *m = GoSkipTest_SkipGroup{} }
+func (m *GoSkipTest_SkipGroup) String() string	{ return proto.CompactTextString(m) }
+func (*GoSkipTest_SkipGroup) ProtoMessage()	{}
+
+func (m *GoSkipTest_SkipGroup) GetGroupInt32() int32 {
+	if m != nil && m.GroupInt32 != nil {
+		return *m.GroupInt32
+	}
+	return 0
+}
+
+func (m *GoSkipTest_SkipGroup) GetGroupString() string {
+	if m != nil && m.GroupString != nil {
+		return *m.GroupString
+	}
+	return ""
+}
+
+// For testing packed/non-packed decoder switching.
+// A serialized instance of one should be deserializable as the other.
+type NonPackedTest struct {
+	A			[]int32	`protobuf:"varint,1,rep,name=a" json:"a,omitempty"`
+	XXX_unrecognized	[]byte	`json:"-"`
+}
+
+func (m *NonPackedTest) Reset()		{ *m = NonPackedTest{} }
+func (m *NonPackedTest) String() string	{ return proto.CompactTextString(m) }
+func (*NonPackedTest) ProtoMessage()	{}
+
+func (m *NonPackedTest) GetA() []int32 {
+	if m != nil {
+		return m.A
+	}
+	return nil
+}
+
+type PackedTest struct {
+	B			[]int32	`protobuf:"varint,1,rep,packed,name=b" json:"b,omitempty"`
+	XXX_unrecognized	[]byte	`json:"-"`
+}
+
+func (m *PackedTest) Reset()		{ *m = PackedTest{} }
+func (m *PackedTest) String() string	{ return proto.CompactTextString(m) }
+func (*PackedTest) ProtoMessage()	{}
+
+func (m *PackedTest) GetB() []int32 {
+	if m != nil {
+		return m.B
+	}
+	return nil
+}
+
+type MaxTag struct {
+	// Maximum possible tag number.
+	LastField		*string	`protobuf:"bytes,536870911,opt,name=last_field" json:"last_field,omitempty"`
+	XXX_unrecognized	[]byte	`json:"-"`
+}
+
+func (m *MaxTag) Reset()		{ *m = MaxTag{} }
+func (m *MaxTag) String() string	{ return proto.CompactTextString(m) }
+func (*MaxTag) ProtoMessage()		{}
+
+func (m *MaxTag) GetLastField() string {
+	if m != nil && m.LastField != nil {
+		return *m.LastField
+	}
+	return ""
+}
+
+type OldMessage struct {
+	Nested			*OldMessage_Nested	`protobuf:"bytes,1,opt,name=nested" json:"nested,omitempty"`
+	XXX_unrecognized	[]byte			`json:"-"`
+}
+
+func (m *OldMessage) Reset()		{ *m = OldMessage{} }
+func (m *OldMessage) String() string	{ return proto.CompactTextString(m) }
+func (*OldMessage) ProtoMessage()	{}
+
+func (m *OldMessage) GetNested() *OldMessage_Nested {
+	if m != nil {
+		return m.Nested
+	}
+	return nil
+}
+
+type OldMessage_Nested struct {
+	Name			*string	`protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+	XXX_unrecognized	[]byte	`json:"-"`
+}
+
+func (m *OldMessage_Nested) Reset()		{ *m = OldMessage_Nested{} }
+func (m *OldMessage_Nested) String() string	{ return proto.CompactTextString(m) }
+func (*OldMessage_Nested) ProtoMessage()	{}
+
+func (m *OldMessage_Nested) GetName() string {
+	if m != nil && m.Name != nil {
+		return *m.Name
+	}
+	return ""
+}
+
+// NewMessage is wire compatible with OldMessage;
+// imagine it as a future version.
+type NewMessage struct {
+	Nested			*NewMessage_Nested	`protobuf:"bytes,1,opt,name=nested" json:"nested,omitempty"`
+	XXX_unrecognized	[]byte			`json:"-"`
+}
+
+func (m *NewMessage) Reset()		{ *m = NewMessage{} }
+func (m *NewMessage) String() string	{ return proto.CompactTextString(m) }
+func (*NewMessage) ProtoMessage()	{}
+
+func (m *NewMessage) GetNested() *NewMessage_Nested {
+	if m != nil {
+		return m.Nested
+	}
+	return nil
+}
+
+type NewMessage_Nested struct {
+	Name			*string	`protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+	FoodGroup		*string	`protobuf:"bytes,2,opt,name=food_group" json:"food_group,omitempty"`
+	XXX_unrecognized	[]byte	`json:"-"`
+}
+
+func (m *NewMessage_Nested) Reset()		{ *m = NewMessage_Nested{} }
+func (m *NewMessage_Nested) String() string	{ return proto.CompactTextString(m) }
+func (*NewMessage_Nested) ProtoMessage()	{}
+
+func (m *NewMessage_Nested) GetName() string {
+	if m != nil && m.Name != nil {
+		return *m.Name
+	}
+	return ""
+}
+
+func (m *NewMessage_Nested) GetFoodGroup() string {
+	if m != nil && m.FoodGroup != nil {
+		return *m.FoodGroup
+	}
+	return ""
+}
+
+type InnerMessage struct {
+	Host			*string	`protobuf:"bytes,1,req,name=host" json:"host,omitempty"`
+	Port			*int32	`protobuf:"varint,2,opt,name=port,def=4000" json:"port,omitempty"`
+	Connected		*bool	`protobuf:"varint,3,opt,name=connected" json:"connected,omitempty"`
+	XXX_unrecognized	[]byte	`json:"-"`
+}
+
+func (m *InnerMessage) Reset()		{ *m = InnerMessage{} }
+func (m *InnerMessage) String() string	{ return proto.CompactTextString(m) }
+func (*InnerMessage) ProtoMessage()	{}
+
+const Default_InnerMessage_Port int32 = 4000
+
+func (m *InnerMessage) GetHost() string {
+	if m != nil && m.Host != nil {
+		return *m.Host
+	}
+	return ""
+}
+
+func (m *InnerMessage) GetPort() int32 {
+	if m != nil && m.Port != nil {
+		return *m.Port
+	}
+	return Default_InnerMessage_Port
+}
+
+func (m *InnerMessage) GetConnected() bool {
+	if m != nil && m.Connected != nil {
+		return *m.Connected
+	}
+	return false
+}
+
+type OtherMessage struct {
+	Key			*int64		`protobuf:"varint,1,opt,name=key" json:"key,omitempty"`
+	Value			[]byte		`protobuf:"bytes,2,opt,name=value" json:"value,omitempty"`
+	Weight			*float32	`protobuf:"fixed32,3,opt,name=weight" json:"weight,omitempty"`
+	Inner			*InnerMessage	`protobuf:"bytes,4,opt,name=inner" json:"inner,omitempty"`
+	XXX_unrecognized	[]byte		`json:"-"`
+}
+
+func (m *OtherMessage) Reset()		{ *m = OtherMessage{} }
+func (m *OtherMessage) String() string	{ return proto.CompactTextString(m) }
+func (*OtherMessage) ProtoMessage()	{}
+
+func (m *OtherMessage) GetKey() int64 {
+	if m != nil && m.Key != nil {
+		return *m.Key
+	}
+	return 0
+}
+
+func (m *OtherMessage) GetValue() []byte {
+	if m != nil {
+		return m.Value
+	}
+	return nil
+}
+
+func (m *OtherMessage) GetWeight() float32 {
+	if m != nil && m.Weight != nil {
+		return *m.Weight
+	}
+	return 0
+}
+
+func (m *OtherMessage) GetInner() *InnerMessage {
+	if m != nil {
+		return m.Inner
+	}
+	return nil
+}
+
+type MyMessage struct {
+	Count		*int32			`protobuf:"varint,1,req,name=count" json:"count,omitempty"`
+	Name		*string			`protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
+	Quote		*string			`protobuf:"bytes,3,opt,name=quote" json:"quote,omitempty"`
+	Pet		[]string		`protobuf:"bytes,4,rep,name=pet" json:"pet,omitempty"`
+	Inner		*InnerMessage		`protobuf:"bytes,5,opt,name=inner" json:"inner,omitempty"`
+	Others		[]*OtherMessage		`protobuf:"bytes,6,rep,name=others" json:"others,omitempty"`
+	RepInner	[]*InnerMessage		`protobuf:"bytes,12,rep,name=rep_inner" json:"rep_inner,omitempty"`
+	Bikeshed	*MyMessage_Color	`protobuf:"varint,7,opt,name=bikeshed,enum=testdata.MyMessage_Color" json:"bikeshed,omitempty"`
+	Somegroup	*MyMessage_SomeGroup	`protobuf:"group,8,opt,name=SomeGroup" json:"somegroup,omitempty"`
+	// This field becomes [][]byte in the generated code.
+	RepBytes		[][]byte			`protobuf:"bytes,10,rep,name=rep_bytes" json:"rep_bytes,omitempty"`
+	Bigfloat		*float64			`protobuf:"fixed64,11,opt,name=bigfloat" json:"bigfloat,omitempty"`
+	XXX_extensions		map[int32]proto.Extension	`json:"-"`
+	XXX_unrecognized	[]byte				`json:"-"`
+}
+
+func (m *MyMessage) Reset()		{ *m = MyMessage{} }
+func (m *MyMessage) String() string	{ return proto.CompactTextString(m) }
+func (*MyMessage) ProtoMessage()	{}
+
+var extRange_MyMessage = []proto.ExtensionRange{
+	{100, 536870911},
+}
+
+func (*MyMessage) ExtensionRangeArray() []proto.ExtensionRange {
+	return extRange_MyMessage
+}
+func (m *MyMessage) ExtensionMap() map[int32]proto.Extension {
+	if m.XXX_extensions == nil {
+		m.XXX_extensions = make(map[int32]proto.Extension)
+	}
+	return m.XXX_extensions
+}
+
+func (m *MyMessage) GetCount() int32 {
+	if m != nil && m.Count != nil {
+		return *m.Count
+	}
+	return 0
+}
+
+func (m *MyMessage) GetName() string {
+	if m != nil && m.Name != nil {
+		return *m.Name
+	}
+	return ""
+}
+
+func (m *MyMessage) GetQuote() string {
+	if m != nil && m.Quote != nil {
+		return *m.Quote
+	}
+	return ""
+}
+
+func (m *MyMessage) GetPet() []string {
+	if m != nil {
+		return m.Pet
+	}
+	return nil
+}
+
+func (m *MyMessage) GetInner() *InnerMessage {
+	if m != nil {
+		return m.Inner
+	}
+	return nil
+}
+
+func (m *MyMessage) GetOthers() []*OtherMessage {
+	if m != nil {
+		return m.Others
+	}
+	return nil
+}
+
+func (m *MyMessage) GetRepInner() []*InnerMessage {
+	if m != nil {
+		return m.RepInner
+	}
+	return nil
+}
+
+func (m *MyMessage) GetBikeshed() MyMessage_Color {
+	if m != nil && m.Bikeshed != nil {
+		return *m.Bikeshed
+	}
+	return MyMessage_RED
+}
+
+func (m *MyMessage) GetSomegroup() *MyMessage_SomeGroup {
+	if m != nil {
+		return m.Somegroup
+	}
+	return nil
+}
+
+func (m *MyMessage) GetRepBytes() [][]byte {
+	if m != nil {
+		return m.RepBytes
+	}
+	return nil
+}
+
+func (m *MyMessage) GetBigfloat() float64 {
+	if m != nil && m.Bigfloat != nil {
+		return *m.Bigfloat
+	}
+	return 0
+}
+
+type MyMessage_SomeGroup struct {
+	GroupField		*int32	`protobuf:"varint,9,opt,name=group_field" json:"group_field,omitempty"`
+	XXX_unrecognized	[]byte	`json:"-"`
+}
+
+func (m *MyMessage_SomeGroup) Reset()		{ *m = MyMessage_SomeGroup{} }
+func (m *MyMessage_SomeGroup) String() string	{ return proto.CompactTextString(m) }
+func (*MyMessage_SomeGroup) ProtoMessage()	{}
+
+func (m *MyMessage_SomeGroup) GetGroupField() int32 {
+	if m != nil && m.GroupField != nil {
+		return *m.GroupField
+	}
+	return 0
+}
+
+type Ext struct {
+	Data			*string	`protobuf:"bytes,1,opt,name=data" json:"data,omitempty"`
+	XXX_unrecognized	[]byte	`json:"-"`
+}
+
+func (m *Ext) Reset()		{ *m = Ext{} }
+func (m *Ext) String() string	{ return proto.CompactTextString(m) }
+func (*Ext) ProtoMessage()	{}
+
+func (m *Ext) GetData() string {
+	if m != nil && m.Data != nil {
+		return *m.Data
+	}
+	return ""
+}
+
+var E_Ext_More = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessage)(nil),
+	ExtensionType:	(*Ext)(nil),
+	Field:		103,
+	Name:		"testdata.Ext.more",
+	Tag:		"bytes,103,opt,name=more",
+}
+
+var E_Ext_Text = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessage)(nil),
+	ExtensionType:	(*string)(nil),
+	Field:		104,
+	Name:		"testdata.Ext.text",
+	Tag:		"bytes,104,opt,name=text",
+}
+
+var E_Ext_Number = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessage)(nil),
+	ExtensionType:	(*int32)(nil),
+	Field:		105,
+	Name:		"testdata.Ext.number",
+	Tag:		"varint,105,opt,name=number",
+}
+
+type MyMessageSet struct {
+	XXX_extensions		map[int32]proto.Extension	`json:"-"`
+	XXX_unrecognized	[]byte				`json:"-"`
+}
+
+func (m *MyMessageSet) Reset()		{ *m = MyMessageSet{} }
+func (m *MyMessageSet) String() string	{ return proto.CompactTextString(m) }
+func (*MyMessageSet) ProtoMessage()	{}
+
+func (m *MyMessageSet) Marshal() ([]byte, error) {
+	return proto.MarshalMessageSet(m.ExtensionMap())
+}
+func (m *MyMessageSet) Unmarshal(buf []byte) error {
+	return proto.UnmarshalMessageSet(buf, m.ExtensionMap())
+}
+
+// ensure MyMessageSet satisfies proto.Marshaler and proto.Unmarshaler
+var _ proto.Marshaler = (*MyMessageSet)(nil)
+var _ proto.Unmarshaler = (*MyMessageSet)(nil)
+
+var extRange_MyMessageSet = []proto.ExtensionRange{
+	{100, 2147483646},
+}
+
+func (*MyMessageSet) ExtensionRangeArray() []proto.ExtensionRange {
+	return extRange_MyMessageSet
+}
+func (m *MyMessageSet) ExtensionMap() map[int32]proto.Extension {
+	if m.XXX_extensions == nil {
+		m.XXX_extensions = make(map[int32]proto.Extension)
+	}
+	return m.XXX_extensions
+}
+
+type Empty struct {
+	XXX_unrecognized []byte `json:"-"`
+}
+
+func (m *Empty) Reset()		{ *m = Empty{} }
+func (m *Empty) String() string	{ return proto.CompactTextString(m) }
+func (*Empty) ProtoMessage()	{}
+
+type MessageList struct {
+	Message			[]*MessageList_Message	`protobuf:"group,1,rep" json:"message,omitempty"`
+	XXX_unrecognized	[]byte			`json:"-"`
+}
+
+func (m *MessageList) Reset()		{ *m = MessageList{} }
+func (m *MessageList) String() string	{ return proto.CompactTextString(m) }
+func (*MessageList) ProtoMessage()	{}
+
+func (m *MessageList) GetMessage() []*MessageList_Message {
+	if m != nil {
+		return m.Message
+	}
+	return nil
+}
+
+type MessageList_Message struct {
+	Name			*string	`protobuf:"bytes,2,req,name=name" json:"name,omitempty"`
+	Count			*int32	`protobuf:"varint,3,req,name=count" json:"count,omitempty"`
+	XXX_unrecognized	[]byte	`json:"-"`
+}
+
+func (m *MessageList_Message) Reset()		{ *m = MessageList_Message{} }
+func (m *MessageList_Message) String() string	{ return proto.CompactTextString(m) }
+func (*MessageList_Message) ProtoMessage()	{}
+
+func (m *MessageList_Message) GetName() string {
+	if m != nil && m.Name != nil {
+		return *m.Name
+	}
+	return ""
+}
+
+func (m *MessageList_Message) GetCount() int32 {
+	if m != nil && m.Count != nil {
+		return *m.Count
+	}
+	return 0
+}
+
+type Strings struct {
+	StringField		*string	`protobuf:"bytes,1,opt,name=string_field" json:"string_field,omitempty"`
+	BytesField		[]byte	`protobuf:"bytes,2,opt,name=bytes_field" json:"bytes_field,omitempty"`
+	XXX_unrecognized	[]byte	`json:"-"`
+}
+
+func (m *Strings) Reset()		{ *m = Strings{} }
+func (m *Strings) String() string	{ return proto.CompactTextString(m) }
+func (*Strings) ProtoMessage()		{}
+
+func (m *Strings) GetStringField() string {
+	if m != nil && m.StringField != nil {
+		return *m.StringField
+	}
+	return ""
+}
+
+func (m *Strings) GetBytesField() []byte {
+	if m != nil {
+		return m.BytesField
+	}
+	return nil
+}
+
+type Defaults struct {
+	// Default-valued fields of all basic types.
+	// Same as GoTest, but copied here to make testing easier.
+	F_Bool		*bool		`protobuf:"varint,1,opt,def=1" json:"F_Bool,omitempty"`
+	F_Int32		*int32		`protobuf:"varint,2,opt,def=32" json:"F_Int32,omitempty"`
+	F_Int64		*int64		`protobuf:"varint,3,opt,def=64" json:"F_Int64,omitempty"`
+	F_Fixed32	*uint32		`protobuf:"fixed32,4,opt,def=320" json:"F_Fixed32,omitempty"`
+	F_Fixed64	*uint64		`protobuf:"fixed64,5,opt,def=640" json:"F_Fixed64,omitempty"`
+	F_Uint32	*uint32		`protobuf:"varint,6,opt,def=3200" json:"F_Uint32,omitempty"`
+	F_Uint64	*uint64		`protobuf:"varint,7,opt,def=6400" json:"F_Uint64,omitempty"`
+	F_Float		*float32	`protobuf:"fixed32,8,opt,def=314159" json:"F_Float,omitempty"`
+	F_Double	*float64	`protobuf:"fixed64,9,opt,def=271828" json:"F_Double,omitempty"`
+	F_String	*string		`protobuf:"bytes,10,opt,def=hello, \"world!\"\n" json:"F_String,omitempty"`
+	F_Bytes		[]byte		`protobuf:"bytes,11,opt,def=Bignose" json:"F_Bytes,omitempty"`
+	F_Sint32	*int32		`protobuf:"zigzag32,12,opt,def=-32" json:"F_Sint32,omitempty"`
+	F_Sint64	*int64		`protobuf:"zigzag64,13,opt,def=-64" json:"F_Sint64,omitempty"`
+	F_Enum		*Defaults_Color	`protobuf:"varint,14,opt,enum=testdata.Defaults_Color,def=1" json:"F_Enum,omitempty"`
+	// More fields with crazy defaults.
+	F_Pinf	*float32	`protobuf:"fixed32,15,opt,def=inf" json:"F_Pinf,omitempty"`
+	F_Ninf	*float32	`protobuf:"fixed32,16,opt,def=-inf" json:"F_Ninf,omitempty"`
+	F_Nan	*float32	`protobuf:"fixed32,17,opt,def=nan" json:"F_Nan,omitempty"`
+	// Sub-message.
+	Sub			*SubDefaults	`protobuf:"bytes,18,opt,name=sub" json:"sub,omitempty"`
+	XXX_unrecognized	[]byte		`json:"-"`
+}
+
+func (m *Defaults) Reset()		{ *m = Defaults{} }
+func (m *Defaults) String() string	{ return proto.CompactTextString(m) }
+func (*Defaults) ProtoMessage()		{}
+
+const Default_Defaults_F_Bool bool = true
+const Default_Defaults_F_Int32 int32 = 32
+const Default_Defaults_F_Int64 int64 = 64
+const Default_Defaults_F_Fixed32 uint32 = 320
+const Default_Defaults_F_Fixed64 uint64 = 640
+const Default_Defaults_F_Uint32 uint32 = 3200
+const Default_Defaults_F_Uint64 uint64 = 6400
+const Default_Defaults_F_Float float32 = 314159
+const Default_Defaults_F_Double float64 = 271828
+const Default_Defaults_F_String string = "hello, \"world!\"\n"
+
+var Default_Defaults_F_Bytes []byte = []byte("Bignose")
+
+const Default_Defaults_F_Sint32 int32 = -32
+const Default_Defaults_F_Sint64 int64 = -64
+const Default_Defaults_F_Enum Defaults_Color = Defaults_GREEN
+
+var Default_Defaults_F_Pinf float32 = float32(math.Inf(1))
+var Default_Defaults_F_Ninf float32 = float32(math.Inf(-1))
+var Default_Defaults_F_Nan float32 = float32(math.NaN())
+
+func (m *Defaults) GetF_Bool() bool {
+	if m != nil && m.F_Bool != nil {
+		return *m.F_Bool
+	}
+	return Default_Defaults_F_Bool
+}
+
+func (m *Defaults) GetF_Int32() int32 {
+	if m != nil && m.F_Int32 != nil {
+		return *m.F_Int32
+	}
+	return Default_Defaults_F_Int32
+}
+
+func (m *Defaults) GetF_Int64() int64 {
+	if m != nil && m.F_Int64 != nil {
+		return *m.F_Int64
+	}
+	return Default_Defaults_F_Int64
+}
+
+func (m *Defaults) GetF_Fixed32() uint32 {
+	if m != nil && m.F_Fixed32 != nil {
+		return *m.F_Fixed32
+	}
+	return Default_Defaults_F_Fixed32
+}
+
+func (m *Defaults) GetF_Fixed64() uint64 {
+	if m != nil && m.F_Fixed64 != nil {
+		return *m.F_Fixed64
+	}
+	return Default_Defaults_F_Fixed64
+}
+
+func (m *Defaults) GetF_Uint32() uint32 {
+	if m != nil && m.F_Uint32 != nil {
+		return *m.F_Uint32
+	}
+	return Default_Defaults_F_Uint32
+}
+
+func (m *Defaults) GetF_Uint64() uint64 {
+	if m != nil && m.F_Uint64 != nil {
+		return *m.F_Uint64
+	}
+	return Default_Defaults_F_Uint64
+}
+
+func (m *Defaults) GetF_Float() float32 {
+	if m != nil && m.F_Float != nil {
+		return *m.F_Float
+	}
+	return Default_Defaults_F_Float
+}
+
+func (m *Defaults) GetF_Double() float64 {
+	if m != nil && m.F_Double != nil {
+		return *m.F_Double
+	}
+	return Default_Defaults_F_Double
+}
+
+func (m *Defaults) GetF_String() string {
+	if m != nil && m.F_String != nil {
+		return *m.F_String
+	}
+	return Default_Defaults_F_String
+}
+
+func (m *Defaults) GetF_Bytes() []byte {
+	if m != nil && m.F_Bytes != nil {
+		return m.F_Bytes
+	}
+	return append([]byte(nil), Default_Defaults_F_Bytes...)
+}
+
+func (m *Defaults) GetF_Sint32() int32 {
+	if m != nil && m.F_Sint32 != nil {
+		return *m.F_Sint32
+	}
+	return Default_Defaults_F_Sint32
+}
+
+func (m *Defaults) GetF_Sint64() int64 {
+	if m != nil && m.F_Sint64 != nil {
+		return *m.F_Sint64
+	}
+	return Default_Defaults_F_Sint64
+}
+
+func (m *Defaults) GetF_Enum() Defaults_Color {
+	if m != nil && m.F_Enum != nil {
+		return *m.F_Enum
+	}
+	return Default_Defaults_F_Enum
+}
+
+func (m *Defaults) GetF_Pinf() float32 {
+	if m != nil && m.F_Pinf != nil {
+		return *m.F_Pinf
+	}
+	return Default_Defaults_F_Pinf
+}
+
+func (m *Defaults) GetF_Ninf() float32 {
+	if m != nil && m.F_Ninf != nil {
+		return *m.F_Ninf
+	}
+	return Default_Defaults_F_Ninf
+}
+
+func (m *Defaults) GetF_Nan() float32 {
+	if m != nil && m.F_Nan != nil {
+		return *m.F_Nan
+	}
+	return Default_Defaults_F_Nan
+}
+
+func (m *Defaults) GetSub() *SubDefaults {
+	if m != nil {
+		return m.Sub
+	}
+	return nil
+}
+
+type SubDefaults struct {
+	N			*int64	`protobuf:"varint,1,opt,name=n,def=7" json:"n,omitempty"`
+	XXX_unrecognized	[]byte	`json:"-"`
+}
+
+func (m *SubDefaults) Reset()		{ *m = SubDefaults{} }
+func (m *SubDefaults) String() string	{ return proto.CompactTextString(m) }
+func (*SubDefaults) ProtoMessage()	{}
+
+const Default_SubDefaults_N int64 = 7
+
+func (m *SubDefaults) GetN() int64 {
+	if m != nil && m.N != nil {
+		return *m.N
+	}
+	return Default_SubDefaults_N
+}
+
+type RepeatedEnum struct {
+	Color			[]RepeatedEnum_Color	`protobuf:"varint,1,rep,name=color,enum=testdata.RepeatedEnum_Color" json:"color,omitempty"`
+	XXX_unrecognized	[]byte			`json:"-"`
+}
+
+func (m *RepeatedEnum) Reset()		{ *m = RepeatedEnum{} }
+func (m *RepeatedEnum) String() string	{ return proto.CompactTextString(m) }
+func (*RepeatedEnum) ProtoMessage()	{}
+
+func (m *RepeatedEnum) GetColor() []RepeatedEnum_Color {
+	if m != nil {
+		return m.Color
+	}
+	return nil
+}
+
+type MoreRepeated struct {
+	Bools			[]bool		`protobuf:"varint,1,rep,name=bools" json:"bools,omitempty"`
+	BoolsPacked		[]bool		`protobuf:"varint,2,rep,packed,name=bools_packed" json:"bools_packed,omitempty"`
+	Ints			[]int32		`protobuf:"varint,3,rep,name=ints" json:"ints,omitempty"`
+	IntsPacked		[]int32		`protobuf:"varint,4,rep,packed,name=ints_packed" json:"ints_packed,omitempty"`
+	Int64SPacked		[]int64		`protobuf:"varint,7,rep,packed,name=int64s_packed" json:"int64s_packed,omitempty"`
+	Strings			[]string	`protobuf:"bytes,5,rep,name=strings" json:"strings,omitempty"`
+	Fixeds			[]uint32	`protobuf:"fixed32,6,rep,name=fixeds" json:"fixeds,omitempty"`
+	XXX_unrecognized	[]byte		`json:"-"`
+}
+
+func (m *MoreRepeated) Reset()		{ *m = MoreRepeated{} }
+func (m *MoreRepeated) String() string	{ return proto.CompactTextString(m) }
+func (*MoreRepeated) ProtoMessage()	{}
+
+func (m *MoreRepeated) GetBools() []bool {
+	if m != nil {
+		return m.Bools
+	}
+	return nil
+}
+
+func (m *MoreRepeated) GetBoolsPacked() []bool {
+	if m != nil {
+		return m.BoolsPacked
+	}
+	return nil
+}
+
+func (m *MoreRepeated) GetInts() []int32 {
+	if m != nil {
+		return m.Ints
+	}
+	return nil
+}
+
+func (m *MoreRepeated) GetIntsPacked() []int32 {
+	if m != nil {
+		return m.IntsPacked
+	}
+	return nil
+}
+
+func (m *MoreRepeated) GetInt64SPacked() []int64 {
+	if m != nil {
+		return m.Int64SPacked
+	}
+	return nil
+}
+
+func (m *MoreRepeated) GetStrings() []string {
+	if m != nil {
+		return m.Strings
+	}
+	return nil
+}
+
+func (m *MoreRepeated) GetFixeds() []uint32 {
+	if m != nil {
+		return m.Fixeds
+	}
+	return nil
+}
+
+type GroupOld struct {
+	G			*GroupOld_G	`protobuf:"group,101,opt" json:"g,omitempty"`
+	XXX_unrecognized	[]byte		`json:"-"`
+}
+
+func (m *GroupOld) Reset()		{ *m = GroupOld{} }
+func (m *GroupOld) String() string	{ return proto.CompactTextString(m) }
+func (*GroupOld) ProtoMessage()		{}
+
+func (m *GroupOld) GetG() *GroupOld_G {
+	if m != nil {
+		return m.G
+	}
+	return nil
+}
+
+type GroupOld_G struct {
+	X			*int32	`protobuf:"varint,2,opt,name=x" json:"x,omitempty"`
+	XXX_unrecognized	[]byte	`json:"-"`
+}
+
+func (m *GroupOld_G) Reset()		{ *m = GroupOld_G{} }
+func (m *GroupOld_G) String() string	{ return proto.CompactTextString(m) }
+func (*GroupOld_G) ProtoMessage()	{}
+
+func (m *GroupOld_G) GetX() int32 {
+	if m != nil && m.X != nil {
+		return *m.X
+	}
+	return 0
+}
+
+type GroupNew struct {
+	G			*GroupNew_G	`protobuf:"group,101,opt" json:"g,omitempty"`
+	XXX_unrecognized	[]byte		`json:"-"`
+}
+
+func (m *GroupNew) Reset()		{ *m = GroupNew{} }
+func (m *GroupNew) String() string	{ return proto.CompactTextString(m) }
+func (*GroupNew) ProtoMessage()		{}
+
+func (m *GroupNew) GetG() *GroupNew_G {
+	if m != nil {
+		return m.G
+	}
+	return nil
+}
+
+type GroupNew_G struct {
+	X			*int32	`protobuf:"varint,2,opt,name=x" json:"x,omitempty"`
+	Y			*int32	`protobuf:"varint,3,opt,name=y" json:"y,omitempty"`
+	XXX_unrecognized	[]byte	`json:"-"`
+}
+
+func (m *GroupNew_G) Reset()		{ *m = GroupNew_G{} }
+func (m *GroupNew_G) String() string	{ return proto.CompactTextString(m) }
+func (*GroupNew_G) ProtoMessage()	{}
+
+func (m *GroupNew_G) GetX() int32 {
+	if m != nil && m.X != nil {
+		return *m.X
+	}
+	return 0
+}
+
+func (m *GroupNew_G) GetY() int32 {
+	if m != nil && m.Y != nil {
+		return *m.Y
+	}
+	return 0
+}
+
+type FloatingPoint struct {
+	F			*float64	`protobuf:"fixed64,1,req,name=f" json:"f,omitempty"`
+	XXX_unrecognized	[]byte		`json:"-"`
+}
+
+func (m *FloatingPoint) Reset()		{ *m = FloatingPoint{} }
+func (m *FloatingPoint) String() string	{ return proto.CompactTextString(m) }
+func (*FloatingPoint) ProtoMessage()	{}
+
+func (m *FloatingPoint) GetF() float64 {
+	if m != nil && m.F != nil {
+		return *m.F
+	}
+	return 0
+}
+
+var E_Greeting = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessage)(nil),
+	ExtensionType:	([]string)(nil),
+	Field:		106,
+	Name:		"testdata.greeting",
+	Tag:		"bytes,106,rep,name=greeting",
+}
+
+var E_X201 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		201,
+	Name:		"testdata.x201",
+	Tag:		"bytes,201,opt,name=x201",
+}
+
+var E_X202 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		202,
+	Name:		"testdata.x202",
+	Tag:		"bytes,202,opt,name=x202",
+}
+
+var E_X203 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		203,
+	Name:		"testdata.x203",
+	Tag:		"bytes,203,opt,name=x203",
+}
+
+var E_X204 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		204,
+	Name:		"testdata.x204",
+	Tag:		"bytes,204,opt,name=x204",
+}
+
+var E_X205 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		205,
+	Name:		"testdata.x205",
+	Tag:		"bytes,205,opt,name=x205",
+}
+
+var E_X206 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		206,
+	Name:		"testdata.x206",
+	Tag:		"bytes,206,opt,name=x206",
+}
+
+var E_X207 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		207,
+	Name:		"testdata.x207",
+	Tag:		"bytes,207,opt,name=x207",
+}
+
+var E_X208 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		208,
+	Name:		"testdata.x208",
+	Tag:		"bytes,208,opt,name=x208",
+}
+
+var E_X209 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		209,
+	Name:		"testdata.x209",
+	Tag:		"bytes,209,opt,name=x209",
+}
+
+var E_X210 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		210,
+	Name:		"testdata.x210",
+	Tag:		"bytes,210,opt,name=x210",
+}
+
+var E_X211 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		211,
+	Name:		"testdata.x211",
+	Tag:		"bytes,211,opt,name=x211",
+}
+
+var E_X212 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		212,
+	Name:		"testdata.x212",
+	Tag:		"bytes,212,opt,name=x212",
+}
+
+var E_X213 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		213,
+	Name:		"testdata.x213",
+	Tag:		"bytes,213,opt,name=x213",
+}
+
+var E_X214 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		214,
+	Name:		"testdata.x214",
+	Tag:		"bytes,214,opt,name=x214",
+}
+
+var E_X215 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		215,
+	Name:		"testdata.x215",
+	Tag:		"bytes,215,opt,name=x215",
+}
+
+var E_X216 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		216,
+	Name:		"testdata.x216",
+	Tag:		"bytes,216,opt,name=x216",
+}
+
+var E_X217 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		217,
+	Name:		"testdata.x217",
+	Tag:		"bytes,217,opt,name=x217",
+}
+
+var E_X218 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		218,
+	Name:		"testdata.x218",
+	Tag:		"bytes,218,opt,name=x218",
+}
+
+var E_X219 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		219,
+	Name:		"testdata.x219",
+	Tag:		"bytes,219,opt,name=x219",
+}
+
+var E_X220 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		220,
+	Name:		"testdata.x220",
+	Tag:		"bytes,220,opt,name=x220",
+}
+
+var E_X221 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		221,
+	Name:		"testdata.x221",
+	Tag:		"bytes,221,opt,name=x221",
+}
+
+var E_X222 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		222,
+	Name:		"testdata.x222",
+	Tag:		"bytes,222,opt,name=x222",
+}
+
+var E_X223 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		223,
+	Name:		"testdata.x223",
+	Tag:		"bytes,223,opt,name=x223",
+}
+
+var E_X224 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		224,
+	Name:		"testdata.x224",
+	Tag:		"bytes,224,opt,name=x224",
+}
+
+var E_X225 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		225,
+	Name:		"testdata.x225",
+	Tag:		"bytes,225,opt,name=x225",
+}
+
+var E_X226 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		226,
+	Name:		"testdata.x226",
+	Tag:		"bytes,226,opt,name=x226",
+}
+
+var E_X227 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		227,
+	Name:		"testdata.x227",
+	Tag:		"bytes,227,opt,name=x227",
+}
+
+var E_X228 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		228,
+	Name:		"testdata.x228",
+	Tag:		"bytes,228,opt,name=x228",
+}
+
+var E_X229 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		229,
+	Name:		"testdata.x229",
+	Tag:		"bytes,229,opt,name=x229",
+}
+
+var E_X230 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		230,
+	Name:		"testdata.x230",
+	Tag:		"bytes,230,opt,name=x230",
+}
+
+var E_X231 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		231,
+	Name:		"testdata.x231",
+	Tag:		"bytes,231,opt,name=x231",
+}
+
+var E_X232 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		232,
+	Name:		"testdata.x232",
+	Tag:		"bytes,232,opt,name=x232",
+}
+
+var E_X233 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		233,
+	Name:		"testdata.x233",
+	Tag:		"bytes,233,opt,name=x233",
+}
+
+var E_X234 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		234,
+	Name:		"testdata.x234",
+	Tag:		"bytes,234,opt,name=x234",
+}
+
+var E_X235 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		235,
+	Name:		"testdata.x235",
+	Tag:		"bytes,235,opt,name=x235",
+}
+
+var E_X236 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		236,
+	Name:		"testdata.x236",
+	Tag:		"bytes,236,opt,name=x236",
+}
+
+var E_X237 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		237,
+	Name:		"testdata.x237",
+	Tag:		"bytes,237,opt,name=x237",
+}
+
+var E_X238 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		238,
+	Name:		"testdata.x238",
+	Tag:		"bytes,238,opt,name=x238",
+}
+
+var E_X239 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		239,
+	Name:		"testdata.x239",
+	Tag:		"bytes,239,opt,name=x239",
+}
+
+var E_X240 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		240,
+	Name:		"testdata.x240",
+	Tag:		"bytes,240,opt,name=x240",
+}
+
+var E_X241 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		241,
+	Name:		"testdata.x241",
+	Tag:		"bytes,241,opt,name=x241",
+}
+
+var E_X242 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		242,
+	Name:		"testdata.x242",
+	Tag:		"bytes,242,opt,name=x242",
+}
+
+var E_X243 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		243,
+	Name:		"testdata.x243",
+	Tag:		"bytes,243,opt,name=x243",
+}
+
+var E_X244 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		244,
+	Name:		"testdata.x244",
+	Tag:		"bytes,244,opt,name=x244",
+}
+
+var E_X245 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		245,
+	Name:		"testdata.x245",
+	Tag:		"bytes,245,opt,name=x245",
+}
+
+var E_X246 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		246,
+	Name:		"testdata.x246",
+	Tag:		"bytes,246,opt,name=x246",
+}
+
+var E_X247 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		247,
+	Name:		"testdata.x247",
+	Tag:		"bytes,247,opt,name=x247",
+}
+
+var E_X248 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		248,
+	Name:		"testdata.x248",
+	Tag:		"bytes,248,opt,name=x248",
+}
+
+var E_X249 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		249,
+	Name:		"testdata.x249",
+	Tag:		"bytes,249,opt,name=x249",
+}
+
+var E_X250 = &proto.ExtensionDesc{
+	ExtendedType:	(*MyMessageSet)(nil),
+	ExtensionType:	(*Empty)(nil),
+	Field:		250,
+	Name:		"testdata.x250",
+	Tag:		"bytes,250,opt,name=x250",
+}
+
+func init() {
+	proto.RegisterEnum("testdata.FOO", FOO_name, FOO_value)
+	proto.RegisterEnum("testdata.GoTest_KIND", GoTest_KIND_name, GoTest_KIND_value)
+	proto.RegisterEnum("testdata.MyMessage_Color", MyMessage_Color_name, MyMessage_Color_value)
+	proto.RegisterEnum("testdata.Defaults_Color", Defaults_Color_name, Defaults_Color_value)
+	proto.RegisterEnum("testdata.RepeatedEnum_Color", RepeatedEnum_Color_name, RepeatedEnum_Color_value)
+	proto.RegisterExtension(E_Ext_More)
+	proto.RegisterExtension(E_Ext_Text)
+	proto.RegisterExtension(E_Ext_Number)
+	proto.RegisterExtension(E_Greeting)
+	proto.RegisterExtension(E_X201)
+	proto.RegisterExtension(E_X202)
+	proto.RegisterExtension(E_X203)
+	proto.RegisterExtension(E_X204)
+	proto.RegisterExtension(E_X205)
+	proto.RegisterExtension(E_X206)
+	proto.RegisterExtension(E_X207)
+	proto.RegisterExtension(E_X208)
+	proto.RegisterExtension(E_X209)
+	proto.RegisterExtension(E_X210)
+	proto.RegisterExtension(E_X211)
+	proto.RegisterExtension(E_X212)
+	proto.RegisterExtension(E_X213)
+	proto.RegisterExtension(E_X214)
+	proto.RegisterExtension(E_X215)
+	proto.RegisterExtension(E_X216)
+	proto.RegisterExtension(E_X217)
+	proto.RegisterExtension(E_X218)
+	proto.RegisterExtension(E_X219)
+	proto.RegisterExtension(E_X220)
+	proto.RegisterExtension(E_X221)
+	proto.RegisterExtension(E_X222)
+	proto.RegisterExtension(E_X223)
+	proto.RegisterExtension(E_X224)
+	proto.RegisterExtension(E_X225)
+	proto.RegisterExtension(E_X226)
+	proto.RegisterExtension(E_X227)
+	proto.RegisterExtension(E_X228)
+	proto.RegisterExtension(E_X229)
+	proto.RegisterExtension(E_X230)
+	proto.RegisterExtension(E_X231)
+	proto.RegisterExtension(E_X232)
+	proto.RegisterExtension(E_X233)
+	proto.RegisterExtension(E_X234)
+	proto.RegisterExtension(E_X235)
+	proto.RegisterExtension(E_X236)
+	proto.RegisterExtension(E_X237)
+	proto.RegisterExtension(E_X238)
+	proto.RegisterExtension(E_X239)
+	proto.RegisterExtension(E_X240)
+	proto.RegisterExtension(E_X241)
+	proto.RegisterExtension(E_X242)
+	proto.RegisterExtension(E_X243)
+	proto.RegisterExtension(E_X244)
+	proto.RegisterExtension(E_X245)
+	proto.RegisterExtension(E_X246)
+	proto.RegisterExtension(E_X247)
+	proto.RegisterExtension(E_X248)
+	proto.RegisterExtension(E_X249)
+	proto.RegisterExtension(E_X250)
+}

+ 0 - 0
third_party/src/code.google.com/p/goprotobuf/proto/testdata/test.proto → third_party/code.google.com/p/goprotobuf/proto/testdata/test.proto


+ 0 - 0
third_party/src/code.google.com/p/goprotobuf/proto/text.go → third_party/code.google.com/p/goprotobuf/proto/text.go


+ 0 - 0
third_party/src/code.google.com/p/goprotobuf/proto/text_parser.go → third_party/code.google.com/p/goprotobuf/proto/text_parser.go


+ 90 - 90
third_party/src/code.google.com/p/goprotobuf/proto/text_parser_test.go → third_party/code.google.com/p/goprotobuf/proto/text_parser_test.go

@@ -37,13 +37,13 @@ import (
 	"testing"
 
 	. "./testdata"
-	. "code.google.com/p/goprotobuf/proto"
+	. "github.com/coreos/etcd/third_party/code.google.com/p/goprotobuf/proto"
 )
 
 type UnmarshalTextTest struct {
-	in  string
-	err string // if "", no error expected
-	out *MyMessage
+	in	string
+	err	string	// if "", no error expected
+	out	*MyMessage
 }
 
 func buildExtStructTest(text string) UnmarshalTextTest {
@@ -78,97 +78,97 @@ func buildExtRepStringTest(text string) UnmarshalTextTest {
 var unMarshalTextTests = []UnmarshalTextTest{
 	// Basic
 	{
-		in: " count:42\n  name:\"Dave\" ",
+		in:	" count:42\n  name:\"Dave\" ",
 		out: &MyMessage{
-			Count: Int32(42),
-			Name:  String("Dave"),
+			Count:	Int32(42),
+			Name:	String("Dave"),
 		},
 	},
 
 	// Empty quoted string
 	{
-		in: `count:42 name:""`,
+		in:	`count:42 name:""`,
 		out: &MyMessage{
-			Count: Int32(42),
-			Name:  String(""),
+			Count:	Int32(42),
+			Name:	String(""),
 		},
 	},
 
 	// Quoted string concatenation
 	{
-		in: `count:42 name: "My name is "` + "\n" + `"elsewhere"`,
+		in:	`count:42 name: "My name is "` + "\n" + `"elsewhere"`,
 		out: &MyMessage{
-			Count: Int32(42),
-			Name:  String("My name is elsewhere"),
+			Count:	Int32(42),
+			Name:	String("My name is elsewhere"),
 		},
 	},
 
 	// Quoted string with escaped apostrophe
 	{
-		in: `count:42 name: "HOLIDAY - New Year\'s Day"`,
+		in:	`count:42 name: "HOLIDAY - New Year\'s Day"`,
 		out: &MyMessage{
-			Count: Int32(42),
-			Name:  String("HOLIDAY - New Year's Day"),
+			Count:	Int32(42),
+			Name:	String("HOLIDAY - New Year's Day"),
 		},
 	},
 
 	// Quoted string with single quote
 	{
-		in: `count:42 name: 'Roger "The Ramster" Ramjet'`,
+		in:	`count:42 name: 'Roger "The Ramster" Ramjet'`,
 		out: &MyMessage{
-			Count: Int32(42),
-			Name:  String(`Roger "The Ramster" Ramjet`),
+			Count:	Int32(42),
+			Name:	String(`Roger "The Ramster" Ramjet`),
 		},
 	},
 
 	// Quoted string with all the accepted special characters from the C++ test
 	{
-		in: `count:42 name: ` + "\"\\\"A string with \\' characters \\n and \\r newlines and \\t tabs and \\001 slashes \\\\ and  multiple   spaces\"",
+		in:	`count:42 name: ` + "\"\\\"A string with \\' characters \\n and \\r newlines and \\t tabs and \\001 slashes \\\\ and  multiple   spaces\"",
 		out: &MyMessage{
-			Count: Int32(42),
-			Name:  String("\"A string with ' characters \n and \r newlines and \t tabs and \001 slashes \\ and  multiple   spaces"),
+			Count:	Int32(42),
+			Name:	String("\"A string with ' characters \n and \r newlines and \t tabs and \001 slashes \\ and  multiple   spaces"),
 		},
 	},
 
 	// Quoted string with quoted backslash
 	{
-		in: `count:42 name: "\\'xyz"`,
+		in:	`count:42 name: "\\'xyz"`,
 		out: &MyMessage{
-			Count: Int32(42),
-			Name:  String(`\'xyz`),
+			Count:	Int32(42),
+			Name:	String(`\'xyz`),
 		},
 	},
 
 	// Quoted string with UTF-8 bytes.
 	{
-		in: "count:42 name: '\303\277\302\201\xAB'",
+		in:	"count:42 name: '\303\277\302\201\xAB'",
 		out: &MyMessage{
-			Count: Int32(42),
-			Name:  String("\303\277\302\201\xAB"),
+			Count:	Int32(42),
+			Name:	String("\303\277\302\201\xAB"),
 		},
 	},
 
 	// Bad quoted string
 	{
-		in:  `inner: < host: "\0" >` + "\n",
-		err: `line 1.15: invalid quoted string "\0"`,
+		in:	`inner: < host: "\0" >` + "\n",
+		err:	`line 1.15: invalid quoted string "\0"`,
 	},
 
 	// Number too large for int64
 	{
-		in:  "count: 123456789012345678901",
-		err: "line 1.7: invalid int32: 123456789012345678901",
+		in:	"count: 123456789012345678901",
+		err:	"line 1.7: invalid int32: 123456789012345678901",
 	},
 
 	// Number too large for int32
 	{
-		in:  "count: 1234567890123",
-		err: "line 1.7: invalid int32: 1234567890123",
+		in:	"count: 1234567890123",
+		err:	"line 1.7: invalid int32: 1234567890123",
 	},
 
 	// Number in hexadecimal
 	{
-		in: "count: 0x2beef",
+		in:	"count: 0x2beef",
 		out: &MyMessage{
 			Count: Int32(0x2beef),
 		},
@@ -176,7 +176,7 @@ var unMarshalTextTests = []UnmarshalTextTest{
 
 	// Number in octal
 	{
-		in: "count: 024601",
+		in:	"count: 024601",
 		out: &MyMessage{
 			Count: Int32(024601),
 		},
@@ -184,9 +184,9 @@ var unMarshalTextTests = []UnmarshalTextTest{
 
 	// Floating point number with "f" suffix
 	{
-		in: "count: 4 others:< weight: 17.0f >",
+		in:	"count: 4 others:< weight: 17.0f >",
 		out: &MyMessage{
-			Count: Int32(4),
+			Count:	Int32(4),
 			Others: []*OtherMessage{
 				{
 					Weight: Float32(17),
@@ -197,69 +197,69 @@ var unMarshalTextTests = []UnmarshalTextTest{
 
 	// Floating point positive infinity
 	{
-		in: "count: 4 bigfloat: inf",
+		in:	"count: 4 bigfloat: inf",
 		out: &MyMessage{
-			Count:    Int32(4),
-			Bigfloat: Float64(math.Inf(1)),
+			Count:		Int32(4),
+			Bigfloat:	Float64(math.Inf(1)),
 		},
 	},
 
 	// Floating point negative infinity
 	{
-		in: "count: 4 bigfloat: -inf",
+		in:	"count: 4 bigfloat: -inf",
 		out: &MyMessage{
-			Count:    Int32(4),
-			Bigfloat: Float64(math.Inf(-1)),
+			Count:		Int32(4),
+			Bigfloat:	Float64(math.Inf(-1)),
 		},
 	},
 
 	// Number too large for float32
 	{
-		in:  "others:< weight: 12345678901234567890123456789012345678901234567890 >",
-		err: "line 1.17: invalid float32: 12345678901234567890123456789012345678901234567890",
+		in:	"others:< weight: 12345678901234567890123456789012345678901234567890 >",
+		err:	"line 1.17: invalid float32: 12345678901234567890123456789012345678901234567890",
 	},
 
 	// Number posing as a quoted string
 	{
-		in:  `inner: < host: 12 >` + "\n",
-		err: `line 1.15: invalid string: 12`,
+		in:	`inner: < host: 12 >` + "\n",
+		err:	`line 1.15: invalid string: 12`,
 	},
 
 	// Quoted string posing as int32
 	{
-		in:  `count: "12"`,
-		err: `line 1.7: invalid int32: "12"`,
+		in:	`count: "12"`,
+		err:	`line 1.7: invalid int32: "12"`,
 	},
 
 	// Quoted string posing a float32
 	{
-		in:  `others:< weight: "17.4" >`,
-		err: `line 1.17: invalid float32: "17.4"`,
+		in:	`others:< weight: "17.4" >`,
+		err:	`line 1.17: invalid float32: "17.4"`,
 	},
 
 	// Enum
 	{
-		in: `count:42 bikeshed: BLUE`,
+		in:	`count:42 bikeshed: BLUE`,
 		out: &MyMessage{
-			Count:    Int32(42),
-			Bikeshed: MyMessage_BLUE.Enum(),
+			Count:		Int32(42),
+			Bikeshed:	MyMessage_BLUE.Enum(),
 		},
 	},
 
 	// Repeated field
 	{
-		in: `count:42 pet: "horsey" pet:"bunny"`,
+		in:	`count:42 pet: "horsey" pet:"bunny"`,
 		out: &MyMessage{
-			Count: Int32(42),
-			Pet:   []string{"horsey", "bunny"},
+			Count:	Int32(42),
+			Pet:	[]string{"horsey", "bunny"},
 		},
 	},
 
 	// Repeated message with/without colon and <>/{}
 	{
-		in: `count:42 others:{} others{} others:<> others:{}`,
+		in:	`count:42 others:{} others{} others:<> others:{}`,
 		out: &MyMessage{
-			Count: Int32(42),
+			Count:	Int32(42),
 			Others: []*OtherMessage{
 				{},
 				{},
@@ -271,9 +271,9 @@ var unMarshalTextTests = []UnmarshalTextTest{
 
 	// Missing colon for inner message
 	{
-		in: `count:42 inner < host: "cauchy.syd" >`,
+		in:	`count:42 inner < host: "cauchy.syd" >`,
 		out: &MyMessage{
-			Count: Int32(42),
+			Count:	Int32(42),
 			Inner: &InnerMessage{
 				Host: String("cauchy.syd"),
 			},
@@ -282,33 +282,33 @@ var unMarshalTextTests = []UnmarshalTextTest{
 
 	// Missing colon for string field
 	{
-		in:  `name "Dave"`,
-		err: `line 1.5: expected ':', found "\"Dave\""`,
+		in:	`name "Dave"`,
+		err:	`line 1.5: expected ':', found "\"Dave\""`,
 	},
 
 	// Missing colon for int32 field
 	{
-		in:  `count 42`,
-		err: `line 1.6: expected ':', found "42"`,
+		in:	`count 42`,
+		err:	`line 1.6: expected ':', found "42"`,
 	},
 
 	// Missing required field
 	{
-		in:  ``,
-		err: `line 1.0: message testdata.MyMessage missing required field "count"`,
+		in:	``,
+		err:	`line 1.0: message testdata.MyMessage missing required field "count"`,
 	},
 
 	// Repeated non-repeated field
 	{
-		in:  `name: "Rob" name: "Russ"`,
-		err: `line 1.12: non-repeated field "name" was repeated`,
+		in:	`name: "Rob" name: "Russ"`,
+		err:	`line 1.12: non-repeated field "name" was repeated`,
 	},
 
 	// Group
 	{
-		in: `count: 17 SomeGroup { group_field: 12 }`,
+		in:	`count: 17 SomeGroup { group_field: 12 }`,
 		out: &MyMessage{
-			Count: Int32(17),
+			Count:	Int32(17),
 			Somegroup: &MyMessage_SomeGroup{
 				GroupField: Int32(12),
 			},
@@ -317,18 +317,18 @@ var unMarshalTextTests = []UnmarshalTextTest{
 
 	// Semicolon between fields
 	{
-		in: `count:3;name:"Calvin"`,
+		in:	`count:3;name:"Calvin"`,
 		out: &MyMessage{
-			Count: Int32(3),
-			Name:  String("Calvin"),
+			Count:	Int32(3),
+			Name:	String("Calvin"),
 		},
 	},
 	// Comma between fields
 	{
-		in: `count:4,name:"Ezekiel"`,
+		in:	`count:4,name:"Ezekiel"`,
 		out: &MyMessage{
-			Count: Int32(4),
-			Name:  String("Ezekiel"),
+			Count:	Int32(4),
+			Name:	String("Ezekiel"),
 		},
 	},
 
@@ -363,25 +363,25 @@ var unMarshalTextTests = []UnmarshalTextTest{
 			`  >` +
 			`>`,
 		out: &MyMessage{
-			Count: Int32(42),
-			Name:  String("Dave"),
-			Quote: String(`"I didn't want to go."`),
-			Pet:   []string{"bunny", "kitty", "horsey"},
+			Count:	Int32(42),
+			Name:	String("Dave"),
+			Quote:	String(`"I didn't want to go."`),
+			Pet:	[]string{"bunny", "kitty", "horsey"},
 			Inner: &InnerMessage{
-				Host:      String("footrest.syd"),
-				Port:      Int32(7001),
-				Connected: Bool(true),
+				Host:		String("footrest.syd"),
+				Port:		Int32(7001),
+				Connected:	Bool(true),
 			},
 			Others: []*OtherMessage{
 				{
-					Key:   Int64(3735928559),
-					Value: []byte{0x1, 'A', '\a', '\f'},
+					Key:	Int64(3735928559),
+					Value:	[]byte{0x1, 'A', '\a', '\f'},
 				},
 				{
-					Weight: Float32(58.9),
+					Weight:	Float32(58.9),
 					Inner: &InnerMessage{
-						Host: String("lesha.mtv"),
-						Port: Int32(8002),
+						Host:	String("lesha.mtv"),
+						Port:	Int32(8002),
 					},
 				},
 			},

+ 21 - 21
third_party/src/code.google.com/p/goprotobuf/proto/text_test.go → third_party/code.google.com/p/goprotobuf/proto/text_test.go

@@ -39,42 +39,42 @@ import (
 	"strings"
 	"testing"
 
-	"code.google.com/p/goprotobuf/proto"
+	"github.com/coreos/etcd/third_party/code.google.com/p/goprotobuf/proto"
 
 	pb "./testdata"
 )
 
 func newTestMessage() *pb.MyMessage {
 	msg := &pb.MyMessage{
-		Count: proto.Int32(42),
-		Name:  proto.String("Dave"),
-		Quote: proto.String(`"I didn't want to go."`),
-		Pet:   []string{"bunny", "kitty", "horsey"},
+		Count:	proto.Int32(42),
+		Name:	proto.String("Dave"),
+		Quote:	proto.String(`"I didn't want to go."`),
+		Pet:	[]string{"bunny", "kitty", "horsey"},
 		Inner: &pb.InnerMessage{
-			Host:      proto.String("footrest.syd"),
-			Port:      proto.Int32(7001),
-			Connected: proto.Bool(true),
+			Host:		proto.String("footrest.syd"),
+			Port:		proto.Int32(7001),
+			Connected:	proto.Bool(true),
 		},
 		Others: []*pb.OtherMessage{
 			{
-				Key:   proto.Int64(0xdeadbeef),
-				Value: []byte{1, 65, 7, 12},
+				Key:	proto.Int64(0xdeadbeef),
+				Value:	[]byte{1, 65, 7, 12},
 			},
 			{
-				Weight: proto.Float32(6.022),
+				Weight:	proto.Float32(6.022),
 				Inner: &pb.InnerMessage{
-					Host: proto.String("lesha.mtv"),
-					Port: proto.Int32(8002),
+					Host:	proto.String("lesha.mtv"),
+					Port:	proto.Int32(8002),
 				},
 			},
 		},
-		Bikeshed: pb.MyMessage_BLUE.Enum(),
+		Bikeshed:	pb.MyMessage_BLUE.Enum(),
 		Somegroup: &pb.MyMessage_SomeGroup{
 			GroupField: proto.Int32(8),
 		},
 		// One normally wouldn't do this.
 		// This is an undeclared tag 13, as a varint (wire type 0) with value 4.
-		XXX_unrecognized: []byte{13<<3 | 0, 4},
+		XXX_unrecognized:	[]byte{13<<3 | 0, 4},
 	}
 	ext := &pb.Ext{
 		Data: proto.String("Big gobs for big rats"),
@@ -250,8 +250,8 @@ func TestCompactText(t *testing.T) {
 
 func TestStringEscaping(t *testing.T) {
 	testCases := []struct {
-		in  *pb.Strings
-		out string
+		in	*pb.Strings
+		out	string
 	}{
 		{
 			// Test data from C++ test (TextFormatTest.StringEscape).
@@ -299,8 +299,8 @@ func TestStringEscaping(t *testing.T) {
 // This is a proxy for something like a nearly-full or imminently-failing disk,
 // or a network connection that is about to die.
 type limitedWriter struct {
-	b     bytes.Buffer
-	limit int
+	b	bytes.Buffer
+	limit	int
 }
 
 var outOfSpace = errors.New("proto: insufficient space")
@@ -337,8 +337,8 @@ func TestMarshalTextFailing(t *testing.T) {
 
 func TestFloats(t *testing.T) {
 	tests := []struct {
-		f    float64
-		want string
+		f	float64
+		want	string
 	}{
 		{0, "0"},
 		{4.7, "4.7"},

+ 0 - 0
third_party/src/github.com/BurntSushi/toml/.gitignore → third_party/github.com/BurntSushi/toml/.gitignore


+ 0 - 0
third_party/src/github.com/BurntSushi/toml/COMPATIBLE → third_party/github.com/BurntSushi/toml/COMPATIBLE


+ 0 - 0
third_party/src/github.com/BurntSushi/toml/COPYING → third_party/github.com/BurntSushi/toml/COPYING


+ 0 - 0
third_party/src/github.com/BurntSushi/toml/Makefile → third_party/github.com/BurntSushi/toml/Makefile


+ 0 - 0
third_party/src/github.com/BurntSushi/toml/README.md → third_party/github.com/BurntSushi/toml/README.md


+ 18 - 18
third_party/src/github.com/BurntSushi/toml/_examples/example.go → third_party/github.com/BurntSushi/toml/_examples/example.go

@@ -4,39 +4,39 @@ import (
 	"fmt"
 	"time"
 
-	"github.com/BurntSushi/toml"
+	"github.com/coreos/etcd/third_party/github.com/BurntSushi/toml"
 )
 
 type tomlConfig struct {
-	Title   string
-	Owner   ownerInfo
-	DB      database `toml:"database"`
-	Servers map[string]server
-	Clients clients
+	Title	string
+	Owner	ownerInfo
+	DB	database	`toml:"database"`
+	Servers	map[string]server
+	Clients	clients
 }
 
 type ownerInfo struct {
-	Name string
-	Org  string `toml:"organization"`
-	Bio  string
-	DOB  time.Time
+	Name	string
+	Org	string	`toml:"organization"`
+	Bio	string
+	DOB	time.Time
 }
 
 type database struct {
-	Server  string
-	Ports   []int
-	ConnMax int `toml:"connection_max"`
-	Enabled bool
+	Server	string
+	Ports	[]int
+	ConnMax	int	`toml:"connection_max"`
+	Enabled	bool
 }
 
 type server struct {
-	IP string
-	DC string
+	IP	string
+	DC	string
 }
 
 type clients struct {
-	Data  [][]interface{}
-	Hosts []string
+	Data	[][]interface{}
+	Hosts	[]string
 }
 
 func main() {

+ 0 - 0
third_party/src/github.com/BurntSushi/toml/_examples/example.toml → third_party/github.com/BurntSushi/toml/_examples/example.toml


+ 0 - 0
third_party/src/github.com/BurntSushi/toml/_examples/hard.toml → third_party/github.com/BurntSushi/toml/_examples/hard.toml


+ 0 - 0
third_party/src/github.com/BurntSushi/toml/_examples/implicit.toml → third_party/github.com/BurntSushi/toml/_examples/implicit.toml


+ 0 - 0
third_party/src/github.com/BurntSushi/toml/_examples/invalid-apples.toml → third_party/github.com/BurntSushi/toml/_examples/invalid-apples.toml


+ 0 - 0
third_party/src/github.com/BurntSushi/toml/_examples/invalid.toml → third_party/github.com/BurntSushi/toml/_examples/invalid.toml


+ 0 - 0
third_party/src/github.com/BurntSushi/toml/_examples/readme1.toml → third_party/github.com/BurntSushi/toml/_examples/readme1.toml


+ 0 - 0
third_party/src/github.com/BurntSushi/toml/_examples/readme2.toml → third_party/github.com/BurntSushi/toml/_examples/readme2.toml


+ 0 - 0
third_party/src/github.com/BurntSushi/toml/decode.go → third_party/github.com/BurntSushi/toml/decode.go


Some files were not shown because too many files changed in this diff