my.test	input.proto	/^package my.test;  \/\/ dotted package name$/;"	p	roles:def
multi/multi1.proto	input.proto	/^import "multi\/multi1.proto";  \/\/ unused import$/;"	D	package:my.test	roles:imported
HatType	input.proto	/^enum HatType {$/;"	g	package:my.test	roles:def	end:44
FEDORA	input.proto	/^  FEDORA = 1;$/;"	e	enum:my.test.HatType	roles:def
FEZ	input.proto	/^  FEZ = 2;$/;"	e	enum:my.test.HatType	roles:def
Days	input.proto	/^enum Days {$/;"	g	package:my.test	roles:def	end:53
MONDAY	input.proto	/^  MONDAY = 1;$/;"	e	enum:my.test.Days	roles:def
TUESDAY	input.proto	/^  TUESDAY = 2;$/;"	e	enum:my.test.Days	roles:def
LUNDI	input.proto	/^  LUNDI = 1;  \/\/ same value as MONDAY$/;"	e	enum:my.test.Days	roles:def
Request	input.proto	/^message Request {$/;"	m	package:my.test	roles:def	end:86
Color	input.proto	/^  enum Color {$/;"	g	message:my.test.Request	roles:def	end:61
RED	input.proto	/^    RED = 0;$/;"	e	enum:my.test.Request.Color	roles:def
GREEN	input.proto	/^    GREEN = 1;$/;"	e	enum:my.test.Request.Color	roles:def
BLUE	input.proto	/^    BLUE = 2;$/;"	e	enum:my.test.Request.Color	roles:def
key	input.proto	/^  repeated int64 key = 1;$/;"	f	message:my.test.Request	typeref:typename:int64	roles:def
hue	input.proto	/^  optional Color hue = 3; \/\/ no default$/;"	f	message:my.test.Request	typeref:typename:Color	roles:def
hat	input.proto	/^  optional HatType hat = 4 [default=FEDORA];$/;"	f	message:my.test.Request	typeref:typename:HatType	roles:def
deadline	input.proto	/^  optional float deadline = 7 [default=inf];$/;"	f	message:my.test.Request	typeref:typename:float	roles:def
SomeGroup	input.proto	/^  optional group SomeGroup = 8 {$/;"	f	message:my.test.Request	typeref:typename:group	roles:def	end:70
group_field	input.proto	/^    optional int32 group_field = 9;$/;"	f	field:my.test.Request.SomeGroup	typeref:typename:int32	roles:def
name_mapping	input.proto	/^  map<int32, string> name_mapping = 14;$/;"	f	message:my.test.Request	typeref:typename:map<int32,string>	roles:def
msg_mapping	input.proto	/^  map<sint64, Reply> msg_mapping = 15;$/;"	f	message:my.test.Request	typeref:typename:map<sint64,Reply>	roles:def
reset	input.proto	/^  optional int32 reset = 12;$/;"	f	message:my.test.Request	typeref:typename:int32	roles:def
get_key	input.proto	/^  optional string get_key = 16;$/;"	f	message:my.test.Request	typeref:typename:string	roles:def
Reply	input.proto	/^message Reply {$/;"	m	package:my.test	roles:def	end:101
Entry	input.proto	/^  message Entry {$/;"	m	message:my.test.Reply	roles:def	end:97
key_that_needs_1234camel_CasIng	input.proto	/^    required int64 key_that_needs_1234camel_CasIng = 1;$/;"	f	message:my.test.Reply.Entry	typeref:typename:int64	roles:def
value	input.proto	/^    optional int64 value = 2 [default=7];$/;"	f	message:my.test.Reply.Entry	typeref:typename:int64	roles:def
_my_field_name_2	input.proto	/^    optional int64 _my_field_name_2 = 3;$/;"	f	message:my.test.Reply.Entry	typeref:typename:int64	roles:def
Game	input.proto	/^    enum Game {$/;"	g	message:my.test.Reply.Entry	roles:def	end:96
FOOTBALL	input.proto	/^      FOOTBALL = 1;$/;"	e	enum:my.test.Reply.Entry.Game	roles:def
TENNIS	input.proto	/^      TENNIS = 2;$/;"	e	enum:my.test.Reply.Entry.Game	roles:def
found	input.proto	/^  repeated Entry found = 1;$/;"	f	message:my.test.Reply	typeref:typename:Entry	roles:def
compact_keys	input.proto	/^  repeated int32 compact_keys = 2 [packed=true];$/;"	f	message:my.test.Reply	typeref:typename:int32	roles:def
OtherBase	input.proto	/^message OtherBase {$/;"	m	package:my.test	roles:def	end:106
name	input.proto	/^  optional string name = 1;$/;"	f	message:my.test.OtherBase	typeref:typename:string	roles:def
ReplyExtensions	input.proto	/^message ReplyExtensions {$/;"	m	package:my.test	roles:def	end:116
Reply	input.proto	/^  extend Reply {$/;"	m	message:my.test.ReplyExtensions	roles:extension	end:112
time	input.proto	/^    optional double time = 101;$/;"	f	message:my.test.ReplyExtensions.Reply	typeref:typename:double	roles:def
carrot	input.proto	/^    optional ReplyExtensions carrot = 105;$/;"	f	message:my.test.ReplyExtensions.Reply	typeref:typename:ReplyExtensions	roles:def
OtherBase	input.proto	/^  extend OtherBase {$/;"	m	message:my.test.ReplyExtensions	roles:extension	end:115
donut	input.proto	/^    optional ReplyExtensions donut = 101;$/;"	f	message:my.test.ReplyExtensions.OtherBase	typeref:typename:ReplyExtensions	roles:def
OtherReplyExtensions	input.proto	/^message OtherReplyExtensions {$/;"	m	package:my.test	roles:def	end:120
key	input.proto	/^  optional int32 key = 1;$/;"	f	message:my.test.OtherReplyExtensions	typeref:typename:int32	roles:def
Reply	input.proto	/^extend Reply {$/;"	m	package:my.test	roles:extension	end:127
tag	input.proto	/^  optional string tag = 103;$/;"	f	message:my.test.Reply	typeref:typename:string	roles:def
donut	input.proto	/^  optional OtherReplyExtensions donut = 106;$/;"	f	message:my.test.Reply	typeref:typename:OtherReplyExtensions	roles:def
OldReply	input.proto	/^message OldReply {$/;"	m	package:my.test	roles:def	end:133
Communique	input.proto	/^message Communique {$/;"	m	package:my.test	roles:def	end:155
make_me_cry	input.proto	/^  optional bool make_me_cry = 1;$/;"	f	message:my.test.Communique	typeref:typename:bool	roles:def
union	input.proto	/^  oneof union {$/;"	o	message:my.test.Communique	roles:def	end:152
number	input.proto	/^    int32 number = 5;$/;"	f	oneof:my.test.Communique.union	typeref:typename:int32	roles:def
name	input.proto	/^    string name = 6;$/;"	f	oneof:my.test.Communique.union	typeref:typename:string	roles:def
data	input.proto	/^    bytes data = 7;$/;"	f	oneof:my.test.Communique.union	typeref:typename:bytes	roles:def
temp_c	input.proto	/^    double temp_c = 8;$/;"	f	oneof:my.test.Communique.union	typeref:typename:double	roles:def
height	input.proto	/^    float height = 9;$/;"	f	oneof:my.test.Communique.union	typeref:typename:float	roles:def
today	input.proto	/^    Days today = 10;$/;"	f	oneof:my.test.Communique.union	typeref:typename:Days	roles:def
maybe	input.proto	/^    bool maybe = 11;$/;"	f	oneof:my.test.Communique.union	typeref:typename:bool	roles:def
delta	input.proto	/^    sint32 delta = 12;  \/\/ name will conflict with Delta below$/;"	f	oneof:my.test.Communique.union	typeref:typename:sint32	roles:def
msg	input.proto	/^    Reply msg = 13;$/;"	f	oneof:my.test.Communique.union	typeref:typename:Reply	roles:def
SomeGroup	input.proto	/^    group SomeGroup = 14 {$/;"	G	oneof:my.test.Communique.union	roles:def	end:151
member	input.proto	/^      optional string member = 15;$/;"	f	group:my.test.Communique.union.SomeGroup	typeref:typename:string	roles:def
Delta	input.proto	/^  message Delta {}$/;"	m	message:my.test.Communique	roles:def	end:154
