// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.25.0 // protoc v3.11.4 // source: gamelang-jeopardy.proto package jeopardypb import ( proto "github.com/golang/protobuf/proto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // This is a compile-time assertion that a sufficiently up-to-date version // of the legacy proto package is being used. const _ = proto.ProtoPackageIsVersion4 type Option_TypeEnum int32 const ( Option_STRING Option_TypeEnum = 0 Option_BOOL Option_TypeEnum = 1 Option_INT Option_TypeEnum = 2 ) // Enum value maps for Option_TypeEnum. var ( Option_TypeEnum_name = map[int32]string{ 0: "STRING", 1: "BOOL", 2: "INT", } Option_TypeEnum_value = map[string]int32{ "STRING": 0, "BOOL": 1, "INT": 2, } ) func (x Option_TypeEnum) Enum() *Option_TypeEnum { p := new(Option_TypeEnum) *p = x return p } func (x Option_TypeEnum) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Option_TypeEnum) Descriptor() protoreflect.EnumDescriptor { return file_gamelang_jeopardy_proto_enumTypes[0].Descriptor() } func (Option_TypeEnum) Type() protoreflect.EnumType { return &file_gamelang_jeopardy_proto_enumTypes[0] } func (x Option_TypeEnum) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Option_TypeEnum.Descriptor instead. func (Option_TypeEnum) EnumDescriptor() ([]byte, []int) { return file_gamelang_jeopardy_proto_rawDescGZIP(), []int{3, 0} } type PlayerType int32 const ( Player_SHOWMASTER PlayerType = 0 Player_CONTESTANT PlayerType = 1 Player_VIEWER PlayerType = 2 ) // Enum value maps for PlayerType. var ( PlayerType_name = map[int32]string{ 0: "SHOWMASTER", 1: "CONTESTANT", 2: "VIEWER", } PlayerType_value = map[string]int32{ "SHOWMASTER": 0, "CONTESTANT": 1, "VIEWER": 2, } ) func (x PlayerType) Enum() *PlayerType { p := new(PlayerType) *p = x return p } func (x PlayerType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (PlayerType) Descriptor() protoreflect.EnumDescriptor { return file_gamelang_jeopardy_proto_enumTypes[1].Descriptor() } func (PlayerType) Type() protoreflect.EnumType { return &file_gamelang_jeopardy_proto_enumTypes[1] } func (x PlayerType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use PlayerType.Descriptor instead. func (PlayerType) EnumDescriptor() ([]byte, []int) { return file_gamelang_jeopardy_proto_rawDescGZIP(), []int{5, 0} } type Challenge struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` Clue string `protobuf:"bytes,3,opt,name=clue,proto3" json:"clue,omitempty"` Solution string `protobuf:"bytes,4,opt,name=solution,proto3" json:"solution,omitempty"` Url string `protobuf:"bytes,5,opt,name=url,proto3" json:"url,omitempty"` Points uint32 `protobuf:"varint,6,opt,name=points,proto3" json:"points,omitempty"` Checked bool `protobuf:"varint,7,opt,name=checked,proto3" json:"checked,omitempty"` Checker []string `protobuf:"bytes,8,rep,name=checker,proto3" json:"checker,omitempty"` Moderators []string `protobuf:"bytes,9,rep,name=moderators,proto3" json:"moderators,omitempty"` } func (x *Challenge) Reset() { *x = Challenge{} if protoimpl.UnsafeEnabled { mi := &file_gamelang_jeopardy_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Challenge) String() string { return protoimpl.X.MessageStringOf(x) } func (*Challenge) ProtoMessage() {} func (x *Challenge) ProtoReflect() protoreflect.Message { mi := &file_gamelang_jeopardy_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Challenge.ProtoReflect.Descriptor instead. func (*Challenge) Descriptor() ([]byte, []int) { return file_gamelang_jeopardy_proto_rawDescGZIP(), []int{0} } func (x *Challenge) GetId() uint32 { if x != nil { return x.Id } return 0 } func (x *Challenge) GetDescription() string { if x != nil { return x.Description } return "" } func (x *Challenge) GetClue() string { if x != nil { return x.Clue } return "" } func (x *Challenge) GetSolution() string { if x != nil { return x.Solution } return "" } func (x *Challenge) GetUrl() string { if x != nil { return x.Url } return "" } func (x *Challenge) GetPoints() uint32 { if x != nil { return x.Points } return 0 } func (x *Challenge) GetChecked() bool { if x != nil { return x.Checked } return false } func (x *Challenge) GetChecker() []string { if x != nil { return x.Checker } return nil } func (x *Challenge) GetModerators() []string { if x != nil { return x.Moderators } return nil } type Category struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` Challenges []*Challenge `protobuf:"bytes,4,rep,name=challenges,proto3" json:"challenges,omitempty"` Moderators []string `protobuf:"bytes,5,rep,name=moderators,proto3" json:"moderators,omitempty"` } func (x *Category) Reset() { *x = Category{} if protoimpl.UnsafeEnabled { mi := &file_gamelang_jeopardy_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Category) String() string { return protoimpl.X.MessageStringOf(x) } func (*Category) ProtoMessage() {} func (x *Category) ProtoReflect() protoreflect.Message { mi := &file_gamelang_jeopardy_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Category.ProtoReflect.Descriptor instead. func (*Category) Descriptor() ([]byte, []int) { return file_gamelang_jeopardy_proto_rawDescGZIP(), []int{1} } func (x *Category) GetId() uint32 { if x != nil { return x.Id } return 0 } func (x *Category) GetName() string { if x != nil { return x.Name } return "" } func (x *Category) GetDescription() string { if x != nil { return x.Description } return "" } func (x *Category) GetChallenges() []*Challenge { if x != nil { return x.Challenges } return nil } func (x *Category) GetModerators() []string { if x != nil { return x.Moderators } return nil } type Round struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` Categories []*Category `protobuf:"bytes,4,rep,name=categories,proto3" json:"categories,omitempty"` Curcats []uint32 `protobuf:"varint,5,rep,packed,name=curcats,proto3" json:"curcats,omitempty"` Moderators []string `protobuf:"bytes,6,rep,name=moderators,proto3" json:"moderators,omitempty"` } func (x *Round) Reset() { *x = Round{} if protoimpl.UnsafeEnabled { mi := &file_gamelang_jeopardy_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Round) String() string { return protoimpl.X.MessageStringOf(x) } func (*Round) ProtoMessage() {} func (x *Round) ProtoReflect() protoreflect.Message { mi := &file_gamelang_jeopardy_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Round.ProtoReflect.Descriptor instead. func (*Round) Descriptor() ([]byte, []int) { return file_gamelang_jeopardy_proto_rawDescGZIP(), []int{2} } func (x *Round) GetId() uint32 { if x != nil { return x.Id } return 0 } func (x *Round) GetName() string { if x != nil { return x.Name } return "" } func (x *Round) GetDescription() string { if x != nil { return x.Description } return "" } func (x *Round) GetCategories() []*Category { if x != nil { return x.Categories } return nil } func (x *Round) GetCurcats() []uint32 { if x != nil { return x.Curcats } return nil } func (x *Round) GetModerators() []string { if x != nil { return x.Moderators } return nil } type Option struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` Type Option_TypeEnum `protobuf:"varint,3,opt,name=type,proto3,enum=gamelang.Option_TypeEnum" json:"type,omitempty"` Bool bool `protobuf:"varint,4,opt,name=bool,proto3" json:"bool,omitempty"` Int uint32 `protobuf:"varint,5,opt,name=int,proto3" json:"int,omitempty"` } func (x *Option) Reset() { *x = Option{} if protoimpl.UnsafeEnabled { mi := &file_gamelang_jeopardy_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Option) String() string { return protoimpl.X.MessageStringOf(x) } func (*Option) ProtoMessage() {} func (x *Option) ProtoReflect() protoreflect.Message { mi := &file_gamelang_jeopardy_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Option.ProtoReflect.Descriptor instead. func (*Option) Descriptor() ([]byte, []int) { return file_gamelang_jeopardy_proto_rawDescGZIP(), []int{3} } func (x *Option) GetKey() string { if x != nil { return x.Key } return "" } func (x *Option) GetValue() string { if x != nil { return x.Value } return "" } func (x *Option) GetType() Option_TypeEnum { if x != nil { return x.Type } return Option_STRING } func (x *Option) GetBool() bool { if x != nil { return x.Bool } return false } func (x *Option) GetInt() uint32 { if x != nil { return x.Int } return 0 } type Event struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` Game string `protobuf:"bytes,2,opt,name=game,proto3" json:"game,omitempty"` Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` Gamename string `protobuf:"bytes,4,opt,name=gamename,proto3" json:"gamename,omitempty"` Username string `protobuf:"bytes,5,opt,name=username,proto3" json:"username,omitempty"` Neighborgames []string `protobuf:"bytes,6,rep,name=neighborgames,proto3" json:"neighborgames,omitempty"` } func (x *Event) Reset() { *x = Event{} if protoimpl.UnsafeEnabled { mi := &file_gamelang_jeopardy_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Event) String() string { return protoimpl.X.MessageStringOf(x) } func (*Event) ProtoMessage() {} func (x *Event) ProtoReflect() protoreflect.Message { mi := &file_gamelang_jeopardy_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Event.ProtoReflect.Descriptor instead. func (*Event) Descriptor() ([]byte, []int) { return file_gamelang_jeopardy_proto_rawDescGZIP(), []int{4} } func (x *Event) GetType() string { if x != nil { return x.Type } return "" } func (x *Event) GetGame() string { if x != nil { return x.Game } return "" } func (x *Event) GetValue() string { if x != nil { return x.Value } return "" } func (x *Event) GetGamename() string { if x != nil { return x.Gamename } return "" } func (x *Event) GetUsername() string { if x != nil { return x.Username } return "" } func (x *Event) GetNeighborgames() []string { if x != nil { return x.Neighborgames } return nil } type Player struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` Points uint32 `protobuf:"varint,3,opt,name=points,proto3" json:"points,omitempty"` } func (x *Player) Reset() { *x = Player{} if protoimpl.UnsafeEnabled { mi := &file_gamelang_jeopardy_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Player) String() string { return protoimpl.X.MessageStringOf(x) } func (*Player) ProtoMessage() {} func (x *Player) ProtoReflect() protoreflect.Message { mi := &file_gamelang_jeopardy_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Player.ProtoReflect.Descriptor instead. func (*Player) Descriptor() ([]byte, []int) { return file_gamelang_jeopardy_proto_rawDescGZIP(), []int{5} } func (x *Player) GetId() uint32 { if x != nil { return x.Id } return 0 } func (x *Player) GetName() string { if x != nil { return x.Name } return "" } func (x *Player) GetPoints() uint32 { if x != nil { return x.Points } return 0 } type Jeopardy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` Options []*Option `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"` Rounds []*Round `protobuf:"bytes,4,rep,name=rounds,proto3" json:"rounds,omitempty"` Curround uint32 `protobuf:"varint,5,opt,name=curround,proto3" json:"curround,omitempty"` Players []*Player `protobuf:"bytes,6,rep,name=players,proto3" json:"players,omitempty"` Started bool `protobuf:"varint,7,opt,name=started,proto3" json:"started,omitempty"` Finished bool `protobuf:"varint,8,opt,name=finished,proto3" json:"finished,omitempty"` Winner string `protobuf:"bytes,9,opt,name=winner,proto3" json:"winner,omitempty"` Moderators []string `protobuf:"bytes,10,rep,name=moderators,proto3" json:"moderators,omitempty"` } func (x *Jeopardy) Reset() { *x = Jeopardy{} if protoimpl.UnsafeEnabled { mi := &file_gamelang_jeopardy_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Jeopardy) String() string { return protoimpl.X.MessageStringOf(x) } func (*Jeopardy) ProtoMessage() {} func (x *Jeopardy) ProtoReflect() protoreflect.Message { mi := &file_gamelang_jeopardy_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Jeopardy.ProtoReflect.Descriptor instead. func (*Jeopardy) Descriptor() ([]byte, []int) { return file_gamelang_jeopardy_proto_rawDescGZIP(), []int{6} } func (x *Jeopardy) GetId() uint32 { if x != nil { return x.Id } return 0 } func (x *Jeopardy) GetName() string { if x != nil { return x.Name } return "" } func (x *Jeopardy) GetOptions() []*Option { if x != nil { return x.Options } return nil } func (x *Jeopardy) GetRounds() []*Round { if x != nil { return x.Rounds } return nil } func (x *Jeopardy) GetCurround() uint32 { if x != nil { return x.Curround } return 0 } func (x *Jeopardy) GetPlayers() []*Player { if x != nil { return x.Players } return nil } func (x *Jeopardy) GetStarted() bool { if x != nil { return x.Started } return false } func (x *Jeopardy) GetFinished() bool { if x != nil { return x.Finished } return false } func (x *Jeopardy) GetWinner() string { if x != nil { return x.Winner } return "" } func (x *Jeopardy) GetModerators() []string { if x != nil { return x.Moderators } return nil } var File_gamelang_jeopardy_proto protoreflect.FileDescriptor var file_gamelang_jeopardy_proto_rawDesc = []byte{ 0x0a, 0x17, 0x67, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x2d, 0x6a, 0x65, 0x6f, 0x70, 0x61, 0x72, 0x64, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x22, 0xeb, 0x01, 0x0a, 0x09, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x6f, 0x64, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x6f, 0x64, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x22, 0xa5, 0x01, 0x0a, 0x08, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x6f, 0x64, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x6f, 0x64, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x22, 0xbb, 0x01, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x63, 0x61, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x75, 0x72, 0x63, 0x61, 0x74, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x6f, 0x64, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x6f, 0x64, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x22, 0xb0, 0x01, 0x0a, 0x06, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2d, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x62, 0x6f, 0x6f, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x69, 0x6e, 0x74, 0x22, 0x29, 0x0a, 0x08, 0x54, 0x79, 0x70, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x4f, 0x4f, 0x4c, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x49, 0x4e, 0x54, 0x10, 0x02, 0x22, 0xa3, 0x01, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x67, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x78, 0x0a, 0x06, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x32, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x48, 0x4f, 0x57, 0x4d, 0x41, 0x53, 0x54, 0x45, 0x52, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x53, 0x54, 0x41, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x56, 0x49, 0x45, 0x57, 0x45, 0x52, 0x10, 0x02, 0x22, 0xb9, 0x02, 0x0a, 0x08, 0x4a, 0x65, 0x6f, 0x70, 0x61, 0x72, 0x64, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x77, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x6f, 0x64, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x6f, 0x64, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x32, 0x3a, 0x0a, 0x0c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x1a, 0x0f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x32, 0xd0, 0x06, 0x0a, 0x0f, 0x4a, 0x65, 0x6f, 0x70, 0x61, 0x72, 0x64, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x38, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x65, 0x6f, 0x70, 0x61, 0x72, 0x64, 0x79, 0x12, 0x12, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x4a, 0x65, 0x6f, 0x70, 0x61, 0x72, 0x64, 0x79, 0x1a, 0x12, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x4a, 0x65, 0x6f, 0x70, 0x61, 0x72, 0x64, 0x79, 0x12, 0x38, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x65, 0x6f, 0x70, 0x61, 0x72, 0x64, 0x79, 0x12, 0x12, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x4a, 0x65, 0x6f, 0x70, 0x61, 0x72, 0x64, 0x79, 0x1a, 0x12, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x4a, 0x65, 0x6f, 0x70, 0x61, 0x72, 0x64, 0x79, 0x12, 0x38, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x65, 0x6f, 0x70, 0x61, 0x72, 0x64, 0x79, 0x12, 0x12, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x4a, 0x65, 0x6f, 0x70, 0x61, 0x72, 0x64, 0x79, 0x1a, 0x12, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x4a, 0x65, 0x6f, 0x70, 0x61, 0x72, 0x64, 0x79, 0x12, 0x35, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x4a, 0x65, 0x6f, 0x70, 0x61, 0x72, 0x64, 0x79, 0x12, 0x12, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x4a, 0x65, 0x6f, 0x70, 0x61, 0x72, 0x64, 0x79, 0x1a, 0x12, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x4a, 0x65, 0x6f, 0x70, 0x61, 0x72, 0x64, 0x79, 0x12, 0x38, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x65, 0x6f, 0x70, 0x61, 0x72, 0x64, 0x79, 0x12, 0x12, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x4a, 0x65, 0x6f, 0x70, 0x61, 0x72, 0x64, 0x79, 0x1a, 0x12, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x4a, 0x65, 0x6f, 0x70, 0x61, 0x72, 0x64, 0x79, 0x30, 0x01, 0x12, 0x2f, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x0f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x1a, 0x0f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x2f, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x0f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x1a, 0x0f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x2f, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x0f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x1a, 0x0f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x2c, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x0f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x1a, 0x0f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x2f, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x0f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x1a, 0x0f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x30, 0x01, 0x12, 0x3b, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x13, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x1a, 0x13, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x3b, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x13, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x1a, 0x13, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x3b, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x13, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x1a, 0x13, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x38, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x13, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x1a, 0x13, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x3b, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x13, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x1a, 0x13, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x30, 0x01, 0x42, 0x16, 0x5a, 0x14, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x2f, 0x6a, 0x65, 0x6f, 0x70, 0x61, 0x72, 0x64, 0x79, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_gamelang_jeopardy_proto_rawDescOnce sync.Once file_gamelang_jeopardy_proto_rawDescData = file_gamelang_jeopardy_proto_rawDesc ) func file_gamelang_jeopardy_proto_rawDescGZIP() []byte { file_gamelang_jeopardy_proto_rawDescOnce.Do(func() { file_gamelang_jeopardy_proto_rawDescData = protoimpl.X.CompressGZIP(file_gamelang_jeopardy_proto_rawDescData) }) return file_gamelang_jeopardy_proto_rawDescData } var file_gamelang_jeopardy_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_gamelang_jeopardy_proto_msgTypes = make([]protoimpl.MessageInfo, 7) var file_gamelang_jeopardy_proto_goTypes = []interface{}{ (Option_TypeEnum)(0), // 0: gamelang.Option.TypeEnum (PlayerType)(0), // 1: gamelang.Player.type (*Challenge)(nil), // 2: gamelang.Challenge (*Category)(nil), // 3: gamelang.Category (*Round)(nil), // 4: gamelang.Round (*Option)(nil), // 5: gamelang.Option (*Event)(nil), // 6: gamelang.Event (*Player)(nil), // 7: gamelang.Player (*Jeopardy)(nil), // 8: gamelang.Jeopardy } var file_gamelang_jeopardy_proto_depIdxs = []int32{ 2, // 0: gamelang.Category.challenges:type_name -> gamelang.Challenge 3, // 1: gamelang.Round.categories:type_name -> gamelang.Category 0, // 2: gamelang.Option.type:type_name -> gamelang.Option.TypeEnum 5, // 3: gamelang.Jeopardy.options:type_name -> gamelang.Option 4, // 4: gamelang.Jeopardy.rounds:type_name -> gamelang.Round 7, // 5: gamelang.Jeopardy.players:type_name -> gamelang.Player 6, // 6: gamelang.EventService.Inform:input_type -> gamelang.Event 8, // 7: gamelang.JeopardyService.CreateJeopardy:input_type -> gamelang.Jeopardy 8, // 8: gamelang.JeopardyService.UpdateJeopardy:input_type -> gamelang.Jeopardy 8, // 9: gamelang.JeopardyService.DeleteJeopardy:input_type -> gamelang.Jeopardy 8, // 10: gamelang.JeopardyService.GetJeopardy:input_type -> gamelang.Jeopardy 8, // 11: gamelang.JeopardyService.ListJeopardy:input_type -> gamelang.Jeopardy 4, // 12: gamelang.JeopardyService.CreateRound:input_type -> gamelang.Round 4, // 13: gamelang.JeopardyService.UpdateRound:input_type -> gamelang.Round 4, // 14: gamelang.JeopardyService.DeleteRound:input_type -> gamelang.Round 4, // 15: gamelang.JeopardyService.GetRound:input_type -> gamelang.Round 4, // 16: gamelang.JeopardyService.ListRound:input_type -> gamelang.Round 2, // 17: gamelang.JeopardyService.CreateChallenge:input_type -> gamelang.Challenge 2, // 18: gamelang.JeopardyService.UpdateChallenge:input_type -> gamelang.Challenge 2, // 19: gamelang.JeopardyService.DeleteChallenge:input_type -> gamelang.Challenge 2, // 20: gamelang.JeopardyService.GetChallenge:input_type -> gamelang.Challenge 2, // 21: gamelang.JeopardyService.ListChallenge:input_type -> gamelang.Challenge 6, // 22: gamelang.EventService.Inform:output_type -> gamelang.Event 8, // 23: gamelang.JeopardyService.CreateJeopardy:output_type -> gamelang.Jeopardy 8, // 24: gamelang.JeopardyService.UpdateJeopardy:output_type -> gamelang.Jeopardy 8, // 25: gamelang.JeopardyService.DeleteJeopardy:output_type -> gamelang.Jeopardy 8, // 26: gamelang.JeopardyService.GetJeopardy:output_type -> gamelang.Jeopardy 8, // 27: gamelang.JeopardyService.ListJeopardy:output_type -> gamelang.Jeopardy 4, // 28: gamelang.JeopardyService.CreateRound:output_type -> gamelang.Round 4, // 29: gamelang.JeopardyService.UpdateRound:output_type -> gamelang.Round 4, // 30: gamelang.JeopardyService.DeleteRound:output_type -> gamelang.Round 4, // 31: gamelang.JeopardyService.GetRound:output_type -> gamelang.Round 4, // 32: gamelang.JeopardyService.ListRound:output_type -> gamelang.Round 2, // 33: gamelang.JeopardyService.CreateChallenge:output_type -> gamelang.Challenge 2, // 34: gamelang.JeopardyService.UpdateChallenge:output_type -> gamelang.Challenge 2, // 35: gamelang.JeopardyService.DeleteChallenge:output_type -> gamelang.Challenge 2, // 36: gamelang.JeopardyService.GetChallenge:output_type -> gamelang.Challenge 2, // 37: gamelang.JeopardyService.ListChallenge:output_type -> gamelang.Challenge 22, // [22:38] is the sub-list for method output_type 6, // [6:22] is the sub-list for method input_type 6, // [6:6] is the sub-list for extension type_name 6, // [6:6] is the sub-list for extension extendee 0, // [0:6] is the sub-list for field type_name } func init() { file_gamelang_jeopardy_proto_init() } func file_gamelang_jeopardy_proto_init() { if File_gamelang_jeopardy_proto != nil { return } if !protoimpl.UnsafeEnabled { file_gamelang_jeopardy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Challenge); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gamelang_jeopardy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Category); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gamelang_jeopardy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Round); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gamelang_jeopardy_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Option); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gamelang_jeopardy_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Event); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gamelang_jeopardy_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Player); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_gamelang_jeopardy_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Jeopardy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_gamelang_jeopardy_proto_rawDesc, NumEnums: 2, NumMessages: 7, NumExtensions: 0, NumServices: 2, }, GoTypes: file_gamelang_jeopardy_proto_goTypes, DependencyIndexes: file_gamelang_jeopardy_proto_depIdxs, EnumInfos: file_gamelang_jeopardy_proto_enumTypes, MessageInfos: file_gamelang_jeopardy_proto_msgTypes, }.Build() File_gamelang_jeopardy_proto = out.File file_gamelang_jeopardy_proto_rawDesc = nil file_gamelang_jeopardy_proto_goTypes = nil file_gamelang_jeopardy_proto_depIdxs = nil }