From 8cef3803fc0be6f9998935aba9416f162469443b Mon Sep 17 00:00:00 2001 From: Denys Smirnov Date: Mon, 3 Jun 2024 20:16:46 +0300 Subject: [PATCH] Add KV metadata for rooms and participants. --- .changeset/warm-fans-destroy.md | 6 + infra/link_grpc.pb.go | 16 +- livekit/livekit_analytics_grpc.pb.go | 27 +- livekit/livekit_models.pb.go | 1768 +++++++++++++++----------- livekit/livekit_room.pb.go | 440 +++---- livekit/livekit_room.twirp.go | 140 +- protobufs/livekit_models.proto | 25 +- protobufs/livekit_room.proto | 3 +- 8 files changed, 1344 insertions(+), 1081 deletions(-) create mode 100644 .changeset/warm-fans-destroy.md diff --git a/.changeset/warm-fans-destroy.md b/.changeset/warm-fans-destroy.md new file mode 100644 index 000000000..8e4cf1761 --- /dev/null +++ b/.changeset/warm-fans-destroy.md @@ -0,0 +1,6 @@ +--- +"@livekit/protocol": minor +"github.com/livekit/protocol": minor +--- + +Add KV metadata for rooms and participants. diff --git a/infra/link_grpc.pb.go b/infra/link_grpc.pb.go index cd17cd1fa..a7d8284ed 100644 --- a/infra/link_grpc.pb.go +++ b/infra/link_grpc.pb.go @@ -14,7 +14,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.4.0 +// - protoc-gen-go-grpc v1.3.0 // - protoc v4.23.4 // source: infra/link.proto @@ -29,8 +29,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.62.0 or later. -const _ = grpc.SupportPackageIsVersion8 +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 const ( Link_WatchLocalLinks_FullMethodName = "/rpc.Link/WatchLocalLinks" @@ -54,12 +54,11 @@ func NewLinkClient(cc grpc.ClientConnInterface) LinkClient { } func (c *linkClient) WatchLocalLinks(ctx context.Context, in *WatchLocalLinksRequest, opts ...grpc.CallOption) (Link_WatchLocalLinksClient, error) { - cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) - stream, err := c.cc.NewStream(ctx, &Link_ServiceDesc.Streams[0], Link_WatchLocalLinks_FullMethodName, cOpts...) + stream, err := c.cc.NewStream(ctx, &Link_ServiceDesc.Streams[0], Link_WatchLocalLinks_FullMethodName, opts...) if err != nil { return nil, err } - x := &linkWatchLocalLinksClient{ClientStream: stream} + x := &linkWatchLocalLinksClient{stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -87,9 +86,8 @@ func (x *linkWatchLocalLinksClient) Recv() (*WatchLocalLinksResponse, error) { } func (c *linkClient) SimulateLinkState(ctx context.Context, in *SimulateLinkStateRequest, opts ...grpc.CallOption) (*SimulateLinkStateResponse, error) { - cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SimulateLinkStateResponse) - err := c.cc.Invoke(ctx, Link_SimulateLinkState_FullMethodName, in, out, cOpts...) + err := c.cc.Invoke(ctx, Link_SimulateLinkState_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -133,7 +131,7 @@ func _Link_WatchLocalLinks_Handler(srv interface{}, stream grpc.ServerStream) er if err := stream.RecvMsg(m); err != nil { return err } - return srv.(LinkServer).WatchLocalLinks(m, &linkWatchLocalLinksServer{ServerStream: stream}) + return srv.(LinkServer).WatchLocalLinks(m, &linkWatchLocalLinksServer{stream}) } type Link_WatchLocalLinksServer interface { diff --git a/livekit/livekit_analytics_grpc.pb.go b/livekit/livekit_analytics_grpc.pb.go index 53c761fc6..d6e880c49 100644 --- a/livekit/livekit_analytics_grpc.pb.go +++ b/livekit/livekit_analytics_grpc.pb.go @@ -14,7 +14,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.4.0 +// - protoc-gen-go-grpc v1.3.0 // - protoc v4.23.4 // source: livekit_analytics.proto @@ -30,8 +30,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.62.0 or later. -const _ = grpc.SupportPackageIsVersion8 +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 const ( AnalyticsRecorderService_IngestStats_FullMethodName = "/livekit.AnalyticsRecorderService/IngestStats" @@ -57,12 +57,11 @@ func NewAnalyticsRecorderServiceClient(cc grpc.ClientConnInterface) AnalyticsRec } func (c *analyticsRecorderServiceClient) IngestStats(ctx context.Context, opts ...grpc.CallOption) (AnalyticsRecorderService_IngestStatsClient, error) { - cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) - stream, err := c.cc.NewStream(ctx, &AnalyticsRecorderService_ServiceDesc.Streams[0], AnalyticsRecorderService_IngestStats_FullMethodName, cOpts...) + stream, err := c.cc.NewStream(ctx, &AnalyticsRecorderService_ServiceDesc.Streams[0], AnalyticsRecorderService_IngestStats_FullMethodName, opts...) if err != nil { return nil, err } - x := &analyticsRecorderServiceIngestStatsClient{ClientStream: stream} + x := &analyticsRecorderServiceIngestStatsClient{stream} return x, nil } @@ -92,12 +91,11 @@ func (x *analyticsRecorderServiceIngestStatsClient) CloseAndRecv() (*emptypb.Emp } func (c *analyticsRecorderServiceClient) IngestEvents(ctx context.Context, opts ...grpc.CallOption) (AnalyticsRecorderService_IngestEventsClient, error) { - cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) - stream, err := c.cc.NewStream(ctx, &AnalyticsRecorderService_ServiceDesc.Streams[1], AnalyticsRecorderService_IngestEvents_FullMethodName, cOpts...) + stream, err := c.cc.NewStream(ctx, &AnalyticsRecorderService_ServiceDesc.Streams[1], AnalyticsRecorderService_IngestEvents_FullMethodName, opts...) if err != nil { return nil, err } - x := &analyticsRecorderServiceIngestEventsClient{ClientStream: stream} + x := &analyticsRecorderServiceIngestEventsClient{stream} return x, nil } @@ -127,12 +125,11 @@ func (x *analyticsRecorderServiceIngestEventsClient) CloseAndRecv() (*emptypb.Em } func (c *analyticsRecorderServiceClient) IngestNodeRoomStates(ctx context.Context, opts ...grpc.CallOption) (AnalyticsRecorderService_IngestNodeRoomStatesClient, error) { - cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) - stream, err := c.cc.NewStream(ctx, &AnalyticsRecorderService_ServiceDesc.Streams[2], AnalyticsRecorderService_IngestNodeRoomStates_FullMethodName, cOpts...) + stream, err := c.cc.NewStream(ctx, &AnalyticsRecorderService_ServiceDesc.Streams[2], AnalyticsRecorderService_IngestNodeRoomStates_FullMethodName, opts...) if err != nil { return nil, err } - x := &analyticsRecorderServiceIngestNodeRoomStatesClient{ClientStream: stream} + x := &analyticsRecorderServiceIngestNodeRoomStatesClient{stream} return x, nil } @@ -199,7 +196,7 @@ func RegisterAnalyticsRecorderServiceServer(s grpc.ServiceRegistrar, srv Analyti } func _AnalyticsRecorderService_IngestStats_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(AnalyticsRecorderServiceServer).IngestStats(&analyticsRecorderServiceIngestStatsServer{ServerStream: stream}) + return srv.(AnalyticsRecorderServiceServer).IngestStats(&analyticsRecorderServiceIngestStatsServer{stream}) } type AnalyticsRecorderService_IngestStatsServer interface { @@ -225,7 +222,7 @@ func (x *analyticsRecorderServiceIngestStatsServer) Recv() (*AnalyticsStats, err } func _AnalyticsRecorderService_IngestEvents_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(AnalyticsRecorderServiceServer).IngestEvents(&analyticsRecorderServiceIngestEventsServer{ServerStream: stream}) + return srv.(AnalyticsRecorderServiceServer).IngestEvents(&analyticsRecorderServiceIngestEventsServer{stream}) } type AnalyticsRecorderService_IngestEventsServer interface { @@ -251,7 +248,7 @@ func (x *analyticsRecorderServiceIngestEventsServer) Recv() (*AnalyticsEvents, e } func _AnalyticsRecorderService_IngestNodeRoomStates_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(AnalyticsRecorderServiceServer).IngestNodeRoomStates(&analyticsRecorderServiceIngestNodeRoomStatesServer{ServerStream: stream}) + return srv.(AnalyticsRecorderServiceServer).IngestNodeRoomStates(&analyticsRecorderServiceIngestNodeRoomStatesServer{stream}) } type AnalyticsRecorderService_IngestNodeRoomStatesServer interface { diff --git a/livekit/livekit_models.pb.go b/livekit/livekit_models.pb.go index ebc117153..6508d6fb3 100644 --- a/livekit/livekit_models.pb.go +++ b/livekit/livekit_models.pb.go @@ -674,6 +674,49 @@ func (AudioTrackFeature) EnumDescriptor() ([]byte, []int) { return file_livekit_models_proto_rawDescGZIP(), []int{11} } +type Room_MetadataKey int32 + +const ( + Room_MD_ROOM_KEY_NONE Room_MetadataKey = 0 +) + +// Enum value maps for Room_MetadataKey. +var ( + Room_MetadataKey_name = map[int32]string{ + 0: "MD_ROOM_KEY_NONE", + } + Room_MetadataKey_value = map[string]int32{ + "MD_ROOM_KEY_NONE": 0, + } +) + +func (x Room_MetadataKey) Enum() *Room_MetadataKey { + p := new(Room_MetadataKey) + *p = x + return p +} + +func (x Room_MetadataKey) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Room_MetadataKey) Descriptor() protoreflect.EnumDescriptor { + return file_livekit_models_proto_enumTypes[12].Descriptor() +} + +func (Room_MetadataKey) Type() protoreflect.EnumType { + return &file_livekit_models_proto_enumTypes[12] +} + +func (x Room_MetadataKey) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Room_MetadataKey.Descriptor instead. +func (Room_MetadataKey) EnumDescriptor() ([]byte, []int) { + return file_livekit_models_proto_rawDescGZIP(), []int{1, 0} +} + type ParticipantInfo_State int32 const ( @@ -714,11 +757,11 @@ func (x ParticipantInfo_State) String() string { } func (ParticipantInfo_State) Descriptor() protoreflect.EnumDescriptor { - return file_livekit_models_proto_enumTypes[12].Descriptor() + return file_livekit_models_proto_enumTypes[13].Descriptor() } func (ParticipantInfo_State) Type() protoreflect.EnumType { - return &file_livekit_models_proto_enumTypes[12] + return &file_livekit_models_proto_enumTypes[13] } func (x ParticipantInfo_State) Number() protoreflect.EnumNumber { @@ -727,7 +770,7 @@ func (x ParticipantInfo_State) Number() protoreflect.EnumNumber { // Deprecated: Use ParticipantInfo_State.Descriptor instead. func (ParticipantInfo_State) EnumDescriptor() ([]byte, []int) { - return file_livekit_models_proto_rawDescGZIP(), []int{4, 0} + return file_livekit_models_proto_rawDescGZIP(), []int{5, 0} } type ParticipantInfo_Kind int32 @@ -774,11 +817,11 @@ func (x ParticipantInfo_Kind) String() string { } func (ParticipantInfo_Kind) Descriptor() protoreflect.EnumDescriptor { - return file_livekit_models_proto_enumTypes[13].Descriptor() + return file_livekit_models_proto_enumTypes[14].Descriptor() } func (ParticipantInfo_Kind) Type() protoreflect.EnumType { - return &file_livekit_models_proto_enumTypes[13] + return &file_livekit_models_proto_enumTypes[14] } func (x ParticipantInfo_Kind) Number() protoreflect.EnumNumber { @@ -787,7 +830,68 @@ func (x ParticipantInfo_Kind) Number() protoreflect.EnumNumber { // Deprecated: Use ParticipantInfo_Kind.Descriptor instead. func (ParticipantInfo_Kind) EnumDescriptor() ([]byte, []int) { - return file_livekit_models_proto_rawDescGZIP(), []int{4, 1} + return file_livekit_models_proto_rawDescGZIP(), []int{5, 1} +} + +type ParticipantInfo_ParticipantKey int32 + +const ( + ParticipantInfo_MD_PARTICIPANT_KEY_NONE ParticipantInfo_ParticipantKey = 0 + ParticipantInfo_MD_PARTICIPANT_KEY_SIP_CALL_ID ParticipantInfo_ParticipantKey = 1 + ParticipantInfo_MD_PARTICIPANT_KEY_SIP_TRUNK_ID ParticipantInfo_ParticipantKey = 2 + ParticipantInfo_MD_PARTICIPANT_KEY_SIP_DISPATCH_RULE_ID ParticipantInfo_ParticipantKey = 3 // only for inbound + ParticipantInfo_MD_PARTICIPANT_KEY_SIP_TO_NUMBER ParticipantInfo_ParticipantKey = 4 + ParticipantInfo_MD_PARTICIPANT_KEY_SIP_FROM_NUMBER ParticipantInfo_ParticipantKey = 5 + ParticipantInfo_MD_PARTICIPANT_KEY_SIP_PROVIDER_CALL_ID ParticipantInfo_ParticipantKey = 6 // Twilio Call SID, etc +) + +// Enum value maps for ParticipantInfo_ParticipantKey. +var ( + ParticipantInfo_ParticipantKey_name = map[int32]string{ + 0: "MD_PARTICIPANT_KEY_NONE", + 1: "MD_PARTICIPANT_KEY_SIP_CALL_ID", + 2: "MD_PARTICIPANT_KEY_SIP_TRUNK_ID", + 3: "MD_PARTICIPANT_KEY_SIP_DISPATCH_RULE_ID", + 4: "MD_PARTICIPANT_KEY_SIP_TO_NUMBER", + 5: "MD_PARTICIPANT_KEY_SIP_FROM_NUMBER", + 6: "MD_PARTICIPANT_KEY_SIP_PROVIDER_CALL_ID", + } + ParticipantInfo_ParticipantKey_value = map[string]int32{ + "MD_PARTICIPANT_KEY_NONE": 0, + "MD_PARTICIPANT_KEY_SIP_CALL_ID": 1, + "MD_PARTICIPANT_KEY_SIP_TRUNK_ID": 2, + "MD_PARTICIPANT_KEY_SIP_DISPATCH_RULE_ID": 3, + "MD_PARTICIPANT_KEY_SIP_TO_NUMBER": 4, + "MD_PARTICIPANT_KEY_SIP_FROM_NUMBER": 5, + "MD_PARTICIPANT_KEY_SIP_PROVIDER_CALL_ID": 6, + } +) + +func (x ParticipantInfo_ParticipantKey) Enum() *ParticipantInfo_ParticipantKey { + p := new(ParticipantInfo_ParticipantKey) + *p = x + return p +} + +func (x ParticipantInfo_ParticipantKey) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ParticipantInfo_ParticipantKey) Descriptor() protoreflect.EnumDescriptor { + return file_livekit_models_proto_enumTypes[15].Descriptor() +} + +func (ParticipantInfo_ParticipantKey) Type() protoreflect.EnumType { + return &file_livekit_models_proto_enumTypes[15] +} + +func (x ParticipantInfo_ParticipantKey) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ParticipantInfo_ParticipantKey.Descriptor instead. +func (ParticipantInfo_ParticipantKey) EnumDescriptor() ([]byte, []int) { + return file_livekit_models_proto_rawDescGZIP(), []int{5, 2} } type Encryption_Type int32 @@ -823,11 +927,11 @@ func (x Encryption_Type) String() string { } func (Encryption_Type) Descriptor() protoreflect.EnumDescriptor { - return file_livekit_models_proto_enumTypes[14].Descriptor() + return file_livekit_models_proto_enumTypes[16].Descriptor() } func (Encryption_Type) Type() protoreflect.EnumType { - return &file_livekit_models_proto_enumTypes[14] + return &file_livekit_models_proto_enumTypes[16] } func (x Encryption_Type) Number() protoreflect.EnumNumber { @@ -836,7 +940,7 @@ func (x Encryption_Type) Number() protoreflect.EnumNumber { // Deprecated: Use Encryption_Type.Descriptor instead. func (Encryption_Type) EnumDescriptor() ([]byte, []int) { - return file_livekit_models_proto_rawDescGZIP(), []int{5, 0} + return file_livekit_models_proto_rawDescGZIP(), []int{6, 0} } type DataPacket_Kind int32 @@ -869,11 +973,11 @@ func (x DataPacket_Kind) String() string { } func (DataPacket_Kind) Descriptor() protoreflect.EnumDescriptor { - return file_livekit_models_proto_enumTypes[15].Descriptor() + return file_livekit_models_proto_enumTypes[17].Descriptor() } func (DataPacket_Kind) Type() protoreflect.EnumType { - return &file_livekit_models_proto_enumTypes[15] + return &file_livekit_models_proto_enumTypes[17] } func (x DataPacket_Kind) Number() protoreflect.EnumNumber { @@ -882,7 +986,7 @@ func (x DataPacket_Kind) Number() protoreflect.EnumNumber { // Deprecated: Use DataPacket_Kind.Descriptor instead. func (DataPacket_Kind) EnumDescriptor() ([]byte, []int) { - return file_livekit_models_proto_rawDescGZIP(), []int{9, 0} + return file_livekit_models_proto_rawDescGZIP(), []int{10, 0} } type ServerInfo_Edition int32 @@ -915,11 +1019,11 @@ func (x ServerInfo_Edition) String() string { } func (ServerInfo_Edition) Descriptor() protoreflect.EnumDescriptor { - return file_livekit_models_proto_enumTypes[16].Descriptor() + return file_livekit_models_proto_enumTypes[18].Descriptor() } func (ServerInfo_Edition) Type() protoreflect.EnumType { - return &file_livekit_models_proto_enumTypes[16] + return &file_livekit_models_proto_enumTypes[18] } func (x ServerInfo_Edition) Number() protoreflect.EnumNumber { @@ -928,7 +1032,7 @@ func (x ServerInfo_Edition) Number() protoreflect.EnumNumber { // Deprecated: Use ServerInfo_Edition.Descriptor instead. func (ServerInfo_Edition) EnumDescriptor() ([]byte, []int) { - return file_livekit_models_proto_rawDescGZIP(), []int{17, 0} + return file_livekit_models_proto_rawDescGZIP(), []int{18, 0} } type ClientInfo_SDK int32 @@ -988,11 +1092,11 @@ func (x ClientInfo_SDK) String() string { } func (ClientInfo_SDK) Descriptor() protoreflect.EnumDescriptor { - return file_livekit_models_proto_enumTypes[17].Descriptor() + return file_livekit_models_proto_enumTypes[19].Descriptor() } func (ClientInfo_SDK) Type() protoreflect.EnumType { - return &file_livekit_models_proto_enumTypes[17] + return &file_livekit_models_proto_enumTypes[19] } func (x ClientInfo_SDK) Number() protoreflect.EnumNumber { @@ -1001,7 +1105,56 @@ func (x ClientInfo_SDK) Number() protoreflect.EnumNumber { // Deprecated: Use ClientInfo_SDK.Descriptor instead. func (ClientInfo_SDK) EnumDescriptor() ([]byte, []int) { - return file_livekit_models_proto_rawDescGZIP(), []int{18, 0} + return file_livekit_models_proto_rawDescGZIP(), []int{19, 0} +} + +type KVMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // KV uses Key type from the corresponding model. + // Integer keys allow discovering key names from the protobuf itself. + Kv map[int32]string `protobuf:"bytes,1,rep,name=kv,proto3" json:"kv,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *KVMetadata) Reset() { + *x = KVMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_livekit_models_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *KVMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*KVMetadata) ProtoMessage() {} + +func (x *KVMetadata) ProtoReflect() protoreflect.Message { + mi := &file_livekit_models_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 KVMetadata.ProtoReflect.Descriptor instead. +func (*KVMetadata) Descriptor() ([]byte, []int) { + return file_livekit_models_proto_rawDescGZIP(), []int{0} +} + +func (x *KVMetadata) GetKv() map[int32]string { + if x != nil { + return x.Kv + } + return nil } type Room struct { @@ -1018,6 +1171,7 @@ type Room struct { TurnPassword string `protobuf:"bytes,6,opt,name=turn_password,json=turnPassword,proto3" json:"turn_password,omitempty"` EnabledCodecs []*Codec `protobuf:"bytes,7,rep,name=enabled_codecs,json=enabledCodecs,proto3" json:"enabled_codecs,omitempty"` Metadata string `protobuf:"bytes,8,opt,name=metadata,proto3" json:"metadata,omitempty"` + KvMetadata *KVMetadata `protobuf:"bytes,15,opt,name=kv_metadata,json=kvMetadata,proto3" json:"kv_metadata,omitempty"` NumParticipants uint32 `protobuf:"varint,9,opt,name=num_participants,json=numParticipants,proto3" json:"num_participants,omitempty"` NumPublishers uint32 `protobuf:"varint,11,opt,name=num_publishers,json=numPublishers,proto3" json:"num_publishers,omitempty"` ActiveRecording bool `protobuf:"varint,10,opt,name=active_recording,json=activeRecording,proto3" json:"active_recording,omitempty"` @@ -1027,7 +1181,7 @@ type Room struct { func (x *Room) Reset() { *x = Room{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_models_proto_msgTypes[0] + mi := &file_livekit_models_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1040,7 +1194,7 @@ func (x *Room) String() string { func (*Room) ProtoMessage() {} func (x *Room) ProtoReflect() protoreflect.Message { - mi := &file_livekit_models_proto_msgTypes[0] + mi := &file_livekit_models_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1053,7 +1207,7 @@ func (x *Room) ProtoReflect() protoreflect.Message { // Deprecated: Use Room.ProtoReflect.Descriptor instead. func (*Room) Descriptor() ([]byte, []int) { - return file_livekit_models_proto_rawDescGZIP(), []int{0} + return file_livekit_models_proto_rawDescGZIP(), []int{1} } func (x *Room) GetSid() string { @@ -1119,6 +1273,13 @@ func (x *Room) GetMetadata() string { return "" } +func (x *Room) GetKvMetadata() *KVMetadata { + if x != nil { + return x.KvMetadata + } + return nil +} + func (x *Room) GetNumParticipants() uint32 { if x != nil { return x.NumParticipants @@ -1159,7 +1320,7 @@ type Codec struct { func (x *Codec) Reset() { *x = Codec{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_models_proto_msgTypes[1] + mi := &file_livekit_models_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1172,7 +1333,7 @@ func (x *Codec) String() string { func (*Codec) ProtoMessage() {} func (x *Codec) ProtoReflect() protoreflect.Message { - mi := &file_livekit_models_proto_msgTypes[1] + mi := &file_livekit_models_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1185,7 +1346,7 @@ func (x *Codec) ProtoReflect() protoreflect.Message { // Deprecated: Use Codec.ProtoReflect.Descriptor instead. func (*Codec) Descriptor() ([]byte, []int) { - return file_livekit_models_proto_rawDescGZIP(), []int{1} + return file_livekit_models_proto_rawDescGZIP(), []int{2} } func (x *Codec) GetMime() string { @@ -1215,7 +1376,7 @@ type PlayoutDelay struct { func (x *PlayoutDelay) Reset() { *x = PlayoutDelay{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_models_proto_msgTypes[2] + mi := &file_livekit_models_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1228,7 +1389,7 @@ func (x *PlayoutDelay) String() string { func (*PlayoutDelay) ProtoMessage() {} func (x *PlayoutDelay) ProtoReflect() protoreflect.Message { - mi := &file_livekit_models_proto_msgTypes[2] + mi := &file_livekit_models_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1241,7 +1402,7 @@ func (x *PlayoutDelay) ProtoReflect() protoreflect.Message { // Deprecated: Use PlayoutDelay.ProtoReflect.Descriptor instead. func (*PlayoutDelay) Descriptor() ([]byte, []int) { - return file_livekit_models_proto_rawDescGZIP(), []int{2} + return file_livekit_models_proto_rawDescGZIP(), []int{3} } func (x *PlayoutDelay) GetEnabled() bool { @@ -1291,7 +1452,7 @@ type ParticipantPermission struct { func (x *ParticipantPermission) Reset() { *x = ParticipantPermission{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_models_proto_msgTypes[3] + mi := &file_livekit_models_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1304,7 +1465,7 @@ func (x *ParticipantPermission) String() string { func (*ParticipantPermission) ProtoMessage() {} func (x *ParticipantPermission) ProtoReflect() protoreflect.Message { - mi := &file_livekit_models_proto_msgTypes[3] + mi := &file_livekit_models_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1317,7 +1478,7 @@ func (x *ParticipantPermission) ProtoReflect() protoreflect.Message { // Deprecated: Use ParticipantPermission.ProtoReflect.Descriptor instead. func (*ParticipantPermission) Descriptor() ([]byte, []int) { - return file_livekit_models_proto_rawDescGZIP(), []int{3} + return file_livekit_models_proto_rawDescGZIP(), []int{4} } func (x *ParticipantPermission) GetCanSubscribe() bool { @@ -1381,11 +1542,12 @@ type ParticipantInfo struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Sid string `protobuf:"bytes,1,opt,name=sid,proto3" json:"sid,omitempty"` - Identity string `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity,omitempty"` - State ParticipantInfo_State `protobuf:"varint,3,opt,name=state,proto3,enum=livekit.ParticipantInfo_State" json:"state,omitempty"` - Tracks []*TrackInfo `protobuf:"bytes,4,rep,name=tracks,proto3" json:"tracks,omitempty"` - Metadata string `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"` + Sid string `protobuf:"bytes,1,opt,name=sid,proto3" json:"sid,omitempty"` + Identity string `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity,omitempty"` + State ParticipantInfo_State `protobuf:"varint,3,opt,name=state,proto3,enum=livekit.ParticipantInfo_State" json:"state,omitempty"` + Tracks []*TrackInfo `protobuf:"bytes,4,rep,name=tracks,proto3" json:"tracks,omitempty"` + Metadata string `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"` + KvMetadata *KVMetadata `protobuf:"bytes,15,opt,name=kv_metadata,json=kvMetadata,proto3" json:"kv_metadata,omitempty"` // timestamp when participant joined room, in seconds JoinedAt int64 `protobuf:"varint,6,opt,name=joined_at,json=joinedAt,proto3" json:"joined_at,omitempty"` Name string `protobuf:"bytes,9,opt,name=name,proto3" json:"name,omitempty"` @@ -1401,7 +1563,7 @@ type ParticipantInfo struct { func (x *ParticipantInfo) Reset() { *x = ParticipantInfo{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_models_proto_msgTypes[4] + mi := &file_livekit_models_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1414,7 +1576,7 @@ func (x *ParticipantInfo) String() string { func (*ParticipantInfo) ProtoMessage() {} func (x *ParticipantInfo) ProtoReflect() protoreflect.Message { - mi := &file_livekit_models_proto_msgTypes[4] + mi := &file_livekit_models_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1427,7 +1589,7 @@ func (x *ParticipantInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ParticipantInfo.ProtoReflect.Descriptor instead. func (*ParticipantInfo) Descriptor() ([]byte, []int) { - return file_livekit_models_proto_rawDescGZIP(), []int{4} + return file_livekit_models_proto_rawDescGZIP(), []int{5} } func (x *ParticipantInfo) GetSid() string { @@ -1465,6 +1627,13 @@ func (x *ParticipantInfo) GetMetadata() string { return "" } +func (x *ParticipantInfo) GetKvMetadata() *KVMetadata { + if x != nil { + return x.KvMetadata + } + return nil +} + func (x *ParticipantInfo) GetJoinedAt() int64 { if x != nil { return x.JoinedAt @@ -1523,7 +1692,7 @@ type Encryption struct { func (x *Encryption) Reset() { *x = Encryption{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_models_proto_msgTypes[5] + mi := &file_livekit_models_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1536,7 +1705,7 @@ func (x *Encryption) String() string { func (*Encryption) ProtoMessage() {} func (x *Encryption) ProtoReflect() protoreflect.Message { - mi := &file_livekit_models_proto_msgTypes[5] + mi := &file_livekit_models_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1549,7 +1718,7 @@ func (x *Encryption) ProtoReflect() protoreflect.Message { // Deprecated: Use Encryption.ProtoReflect.Descriptor instead. func (*Encryption) Descriptor() ([]byte, []int) { - return file_livekit_models_proto_rawDescGZIP(), []int{5} + return file_livekit_models_proto_rawDescGZIP(), []int{6} } type SimulcastCodecInfo struct { @@ -1566,7 +1735,7 @@ type SimulcastCodecInfo struct { func (x *SimulcastCodecInfo) Reset() { *x = SimulcastCodecInfo{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_models_proto_msgTypes[6] + mi := &file_livekit_models_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1579,7 +1748,7 @@ func (x *SimulcastCodecInfo) String() string { func (*SimulcastCodecInfo) ProtoMessage() {} func (x *SimulcastCodecInfo) ProtoReflect() protoreflect.Message { - mi := &file_livekit_models_proto_msgTypes[6] + mi := &file_livekit_models_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1592,7 +1761,7 @@ func (x *SimulcastCodecInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use SimulcastCodecInfo.ProtoReflect.Descriptor instead. func (*SimulcastCodecInfo) Descriptor() ([]byte, []int) { - return file_livekit_models_proto_rawDescGZIP(), []int{6} + return file_livekit_models_proto_rawDescGZIP(), []int{7} } func (x *SimulcastCodecInfo) GetMimeType() string { @@ -1660,7 +1829,7 @@ type TrackInfo struct { func (x *TrackInfo) Reset() { *x = TrackInfo{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_models_proto_msgTypes[7] + mi := &file_livekit_models_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1673,7 +1842,7 @@ func (x *TrackInfo) String() string { func (*TrackInfo) ProtoMessage() {} func (x *TrackInfo) ProtoReflect() protoreflect.Message { - mi := &file_livekit_models_proto_msgTypes[7] + mi := &file_livekit_models_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1686,7 +1855,7 @@ func (x *TrackInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use TrackInfo.ProtoReflect.Descriptor instead. func (*TrackInfo) Descriptor() ([]byte, []int) { - return file_livekit_models_proto_rawDescGZIP(), []int{7} + return file_livekit_models_proto_rawDescGZIP(), []int{8} } func (x *TrackInfo) GetSid() string { @@ -1840,7 +2009,7 @@ type VideoLayer struct { func (x *VideoLayer) Reset() { *x = VideoLayer{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_models_proto_msgTypes[8] + mi := &file_livekit_models_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1853,7 +2022,7 @@ func (x *VideoLayer) String() string { func (*VideoLayer) ProtoMessage() {} func (x *VideoLayer) ProtoReflect() protoreflect.Message { - mi := &file_livekit_models_proto_msgTypes[8] + mi := &file_livekit_models_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1866,7 +2035,7 @@ func (x *VideoLayer) ProtoReflect() protoreflect.Message { // Deprecated: Use VideoLayer.ProtoReflect.Descriptor instead. func (*VideoLayer) Descriptor() ([]byte, []int) { - return file_livekit_models_proto_rawDescGZIP(), []int{8} + return file_livekit_models_proto_rawDescGZIP(), []int{9} } func (x *VideoLayer) GetQuality() VideoQuality { @@ -1928,7 +2097,7 @@ type DataPacket struct { func (x *DataPacket) Reset() { *x = DataPacket{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_models_proto_msgTypes[9] + mi := &file_livekit_models_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1941,7 +2110,7 @@ func (x *DataPacket) String() string { func (*DataPacket) ProtoMessage() {} func (x *DataPacket) ProtoReflect() protoreflect.Message { - mi := &file_livekit_models_proto_msgTypes[9] + mi := &file_livekit_models_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1954,7 +2123,7 @@ func (x *DataPacket) ProtoReflect() protoreflect.Message { // Deprecated: Use DataPacket.ProtoReflect.Descriptor instead. func (*DataPacket) Descriptor() ([]byte, []int) { - return file_livekit_models_proto_rawDescGZIP(), []int{9} + return file_livekit_models_proto_rawDescGZIP(), []int{10} } // Deprecated: Marked as deprecated in livekit_models.proto. @@ -2055,7 +2224,7 @@ type ActiveSpeakerUpdate struct { func (x *ActiveSpeakerUpdate) Reset() { *x = ActiveSpeakerUpdate{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_models_proto_msgTypes[10] + mi := &file_livekit_models_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2068,7 +2237,7 @@ func (x *ActiveSpeakerUpdate) String() string { func (*ActiveSpeakerUpdate) ProtoMessage() {} func (x *ActiveSpeakerUpdate) ProtoReflect() protoreflect.Message { - mi := &file_livekit_models_proto_msgTypes[10] + mi := &file_livekit_models_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2081,7 +2250,7 @@ func (x *ActiveSpeakerUpdate) ProtoReflect() protoreflect.Message { // Deprecated: Use ActiveSpeakerUpdate.ProtoReflect.Descriptor instead. func (*ActiveSpeakerUpdate) Descriptor() ([]byte, []int) { - return file_livekit_models_proto_rawDescGZIP(), []int{10} + return file_livekit_models_proto_rawDescGZIP(), []int{11} } func (x *ActiveSpeakerUpdate) GetSpeakers() []*SpeakerInfo { @@ -2106,7 +2275,7 @@ type SpeakerInfo struct { func (x *SpeakerInfo) Reset() { *x = SpeakerInfo{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_models_proto_msgTypes[11] + mi := &file_livekit_models_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2119,7 +2288,7 @@ func (x *SpeakerInfo) String() string { func (*SpeakerInfo) ProtoMessage() {} func (x *SpeakerInfo) ProtoReflect() protoreflect.Message { - mi := &file_livekit_models_proto_msgTypes[11] + mi := &file_livekit_models_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2132,7 +2301,7 @@ func (x *SpeakerInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use SpeakerInfo.ProtoReflect.Descriptor instead. func (*SpeakerInfo) Descriptor() ([]byte, []int) { - return file_livekit_models_proto_rawDescGZIP(), []int{11} + return file_livekit_models_proto_rawDescGZIP(), []int{12} } func (x *SpeakerInfo) GetSid() string { @@ -2189,7 +2358,7 @@ type UserPacket struct { func (x *UserPacket) Reset() { *x = UserPacket{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_models_proto_msgTypes[12] + mi := &file_livekit_models_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2202,7 +2371,7 @@ func (x *UserPacket) String() string { func (*UserPacket) ProtoMessage() {} func (x *UserPacket) ProtoReflect() protoreflect.Message { - mi := &file_livekit_models_proto_msgTypes[12] + mi := &file_livekit_models_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2215,7 +2384,7 @@ func (x *UserPacket) ProtoReflect() protoreflect.Message { // Deprecated: Use UserPacket.ProtoReflect.Descriptor instead. func (*UserPacket) Descriptor() ([]byte, []int) { - return file_livekit_models_proto_rawDescGZIP(), []int{12} + return file_livekit_models_proto_rawDescGZIP(), []int{13} } // Deprecated: Marked as deprecated in livekit_models.proto. @@ -2297,7 +2466,7 @@ type SipDTMF struct { func (x *SipDTMF) Reset() { *x = SipDTMF{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_models_proto_msgTypes[13] + mi := &file_livekit_models_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2310,7 +2479,7 @@ func (x *SipDTMF) String() string { func (*SipDTMF) ProtoMessage() {} func (x *SipDTMF) ProtoReflect() protoreflect.Message { - mi := &file_livekit_models_proto_msgTypes[13] + mi := &file_livekit_models_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2323,7 +2492,7 @@ func (x *SipDTMF) ProtoReflect() protoreflect.Message { // Deprecated: Use SipDTMF.ProtoReflect.Descriptor instead. func (*SipDTMF) Descriptor() ([]byte, []int) { - return file_livekit_models_proto_rawDescGZIP(), []int{13} + return file_livekit_models_proto_rawDescGZIP(), []int{14} } func (x *SipDTMF) GetCode() uint32 { @@ -2354,7 +2523,7 @@ type Transcription struct { func (x *Transcription) Reset() { *x = Transcription{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_models_proto_msgTypes[14] + mi := &file_livekit_models_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2367,7 +2536,7 @@ func (x *Transcription) String() string { func (*Transcription) ProtoMessage() {} func (x *Transcription) ProtoReflect() protoreflect.Message { - mi := &file_livekit_models_proto_msgTypes[14] + mi := &file_livekit_models_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2380,7 +2549,7 @@ func (x *Transcription) ProtoReflect() protoreflect.Message { // Deprecated: Use Transcription.ProtoReflect.Descriptor instead. func (*Transcription) Descriptor() ([]byte, []int) { - return file_livekit_models_proto_rawDescGZIP(), []int{14} + return file_livekit_models_proto_rawDescGZIP(), []int{15} } func (x *Transcription) GetTranscribedParticipantIdentity() string { @@ -2420,7 +2589,7 @@ type TranscriptionSegment struct { func (x *TranscriptionSegment) Reset() { *x = TranscriptionSegment{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_models_proto_msgTypes[15] + mi := &file_livekit_models_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2433,7 +2602,7 @@ func (x *TranscriptionSegment) String() string { func (*TranscriptionSegment) ProtoMessage() {} func (x *TranscriptionSegment) ProtoReflect() protoreflect.Message { - mi := &file_livekit_models_proto_msgTypes[15] + mi := &file_livekit_models_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2446,7 +2615,7 @@ func (x *TranscriptionSegment) ProtoReflect() protoreflect.Message { // Deprecated: Use TranscriptionSegment.ProtoReflect.Descriptor instead. func (*TranscriptionSegment) Descriptor() ([]byte, []int) { - return file_livekit_models_proto_rawDescGZIP(), []int{15} + return file_livekit_models_proto_rawDescGZIP(), []int{16} } func (x *TranscriptionSegment) GetId() string { @@ -2504,7 +2673,7 @@ type ParticipantTracks struct { func (x *ParticipantTracks) Reset() { *x = ParticipantTracks{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_models_proto_msgTypes[16] + mi := &file_livekit_models_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2517,7 +2686,7 @@ func (x *ParticipantTracks) String() string { func (*ParticipantTracks) ProtoMessage() {} func (x *ParticipantTracks) ProtoReflect() protoreflect.Message { - mi := &file_livekit_models_proto_msgTypes[16] + mi := &file_livekit_models_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2530,7 +2699,7 @@ func (x *ParticipantTracks) ProtoReflect() protoreflect.Message { // Deprecated: Use ParticipantTracks.ProtoReflect.Descriptor instead. func (*ParticipantTracks) Descriptor() ([]byte, []int) { - return file_livekit_models_proto_rawDescGZIP(), []int{16} + return file_livekit_models_proto_rawDescGZIP(), []int{17} } func (x *ParticipantTracks) GetParticipantSid() string { @@ -2566,7 +2735,7 @@ type ServerInfo struct { func (x *ServerInfo) Reset() { *x = ServerInfo{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_models_proto_msgTypes[17] + mi := &file_livekit_models_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2579,7 +2748,7 @@ func (x *ServerInfo) String() string { func (*ServerInfo) ProtoMessage() {} func (x *ServerInfo) ProtoReflect() protoreflect.Message { - mi := &file_livekit_models_proto_msgTypes[17] + mi := &file_livekit_models_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2592,7 +2761,7 @@ func (x *ServerInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ServerInfo.ProtoReflect.Descriptor instead. func (*ServerInfo) Descriptor() ([]byte, []int) { - return file_livekit_models_proto_rawDescGZIP(), []int{17} + return file_livekit_models_proto_rawDescGZIP(), []int{18} } func (x *ServerInfo) GetEdition() ServerInfo_Edition { @@ -2666,7 +2835,7 @@ type ClientInfo struct { func (x *ClientInfo) Reset() { *x = ClientInfo{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_models_proto_msgTypes[18] + mi := &file_livekit_models_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2679,7 +2848,7 @@ func (x *ClientInfo) String() string { func (*ClientInfo) ProtoMessage() {} func (x *ClientInfo) ProtoReflect() protoreflect.Message { - mi := &file_livekit_models_proto_msgTypes[18] + mi := &file_livekit_models_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2692,7 +2861,7 @@ func (x *ClientInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ClientInfo.ProtoReflect.Descriptor instead. func (*ClientInfo) Descriptor() ([]byte, []int) { - return file_livekit_models_proto_rawDescGZIP(), []int{18} + return file_livekit_models_proto_rawDescGZIP(), []int{19} } func (x *ClientInfo) GetSdk() ClientInfo_SDK { @@ -2781,7 +2950,7 @@ type ClientConfiguration struct { func (x *ClientConfiguration) Reset() { *x = ClientConfiguration{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_models_proto_msgTypes[19] + mi := &file_livekit_models_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2794,7 +2963,7 @@ func (x *ClientConfiguration) String() string { func (*ClientConfiguration) ProtoMessage() {} func (x *ClientConfiguration) ProtoReflect() protoreflect.Message { - mi := &file_livekit_models_proto_msgTypes[19] + mi := &file_livekit_models_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2807,7 +2976,7 @@ func (x *ClientConfiguration) ProtoReflect() protoreflect.Message { // Deprecated: Use ClientConfiguration.ProtoReflect.Descriptor instead. func (*ClientConfiguration) Descriptor() ([]byte, []int) { - return file_livekit_models_proto_rawDescGZIP(), []int{19} + return file_livekit_models_proto_rawDescGZIP(), []int{20} } func (x *ClientConfiguration) GetVideo() *VideoConfiguration { @@ -2856,7 +3025,7 @@ type VideoConfiguration struct { func (x *VideoConfiguration) Reset() { *x = VideoConfiguration{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_models_proto_msgTypes[20] + mi := &file_livekit_models_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2869,7 +3038,7 @@ func (x *VideoConfiguration) String() string { func (*VideoConfiguration) ProtoMessage() {} func (x *VideoConfiguration) ProtoReflect() protoreflect.Message { - mi := &file_livekit_models_proto_msgTypes[20] + mi := &file_livekit_models_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2882,7 +3051,7 @@ func (x *VideoConfiguration) ProtoReflect() protoreflect.Message { // Deprecated: Use VideoConfiguration.ProtoReflect.Descriptor instead. func (*VideoConfiguration) Descriptor() ([]byte, []int) { - return file_livekit_models_proto_rawDescGZIP(), []int{20} + return file_livekit_models_proto_rawDescGZIP(), []int{21} } func (x *VideoConfiguration) GetHardwareEncoder() ClientConfigSetting { @@ -2906,7 +3075,7 @@ type DisabledCodecs struct { func (x *DisabledCodecs) Reset() { *x = DisabledCodecs{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_models_proto_msgTypes[21] + mi := &file_livekit_models_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2919,7 +3088,7 @@ func (x *DisabledCodecs) String() string { func (*DisabledCodecs) ProtoMessage() {} func (x *DisabledCodecs) ProtoReflect() protoreflect.Message { - mi := &file_livekit_models_proto_msgTypes[21] + mi := &file_livekit_models_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2932,7 +3101,7 @@ func (x *DisabledCodecs) ProtoReflect() protoreflect.Message { // Deprecated: Use DisabledCodecs.ProtoReflect.Descriptor instead. func (*DisabledCodecs) Descriptor() ([]byte, []int) { - return file_livekit_models_proto_rawDescGZIP(), []int{21} + return file_livekit_models_proto_rawDescGZIP(), []int{22} } func (x *DisabledCodecs) GetCodecs() []*Codec { @@ -2968,7 +3137,7 @@ type RTPDrift struct { func (x *RTPDrift) Reset() { *x = RTPDrift{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_models_proto_msgTypes[22] + mi := &file_livekit_models_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2981,7 +3150,7 @@ func (x *RTPDrift) String() string { func (*RTPDrift) ProtoMessage() {} func (x *RTPDrift) ProtoReflect() protoreflect.Message { - mi := &file_livekit_models_proto_msgTypes[22] + mi := &file_livekit_models_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2994,7 +3163,7 @@ func (x *RTPDrift) ProtoReflect() protoreflect.Message { // Deprecated: Use RTPDrift.ProtoReflect.Descriptor instead. func (*RTPDrift) Descriptor() ([]byte, []int) { - return file_livekit_models_proto_rawDescGZIP(), []int{22} + return file_livekit_models_proto_rawDescGZIP(), []int{23} } func (x *RTPDrift) GetStartTime() *timestamppb.Timestamp { @@ -3114,7 +3283,7 @@ type RTPStats struct { func (x *RTPStats) Reset() { *x = RTPStats{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_models_proto_msgTypes[23] + mi := &file_livekit_models_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3127,7 +3296,7 @@ func (x *RTPStats) String() string { func (*RTPStats) ProtoMessage() {} func (x *RTPStats) ProtoReflect() protoreflect.Message { - mi := &file_livekit_models_proto_msgTypes[23] + mi := &file_livekit_models_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3140,7 +3309,7 @@ func (x *RTPStats) ProtoReflect() protoreflect.Message { // Deprecated: Use RTPStats.ProtoReflect.Descriptor instead. func (*RTPStats) Descriptor() ([]byte, []int) { - return file_livekit_models_proto_rawDescGZIP(), []int{23} + return file_livekit_models_proto_rawDescGZIP(), []int{24} } func (x *RTPStats) GetStartTime() *timestamppb.Timestamp { @@ -3463,7 +3632,7 @@ type TimedVersion struct { func (x *TimedVersion) Reset() { *x = TimedVersion{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_models_proto_msgTypes[24] + mi := &file_livekit_models_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3476,7 +3645,7 @@ func (x *TimedVersion) String() string { func (*TimedVersion) ProtoMessage() {} func (x *TimedVersion) ProtoReflect() protoreflect.Message { - mi := &file_livekit_models_proto_msgTypes[24] + mi := &file_livekit_models_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3489,7 +3658,7 @@ func (x *TimedVersion) ProtoReflect() protoreflect.Message { // Deprecated: Use TimedVersion.ProtoReflect.Descriptor instead. func (*TimedVersion) Descriptor() ([]byte, []int) { - return file_livekit_models_proto_rawDescGZIP(), []int{24} + return file_livekit_models_proto_rawDescGZIP(), []int{25} } func (x *TimedVersion) GetUnixMicro() int64 { @@ -3513,559 +3682,593 @@ var file_livekit_models_proto_rawDesc = []byte{ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x22, 0xf4, 0x03, 0x0a, 0x04, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x23, 0x0a, 0x0d, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x54, 0x69, 0x6d, - 0x65, 0x6f, 0x75, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x75, 0x72, - 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x10, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x75, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, - 0x74, 0x12, 0x29, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, - 0x70, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x61, 0x78, - 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, - 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, - 0x72, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, - 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x35, 0x0a, 0x0e, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x52, 0x0d, - 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x12, 0x1a, 0x0a, - 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x29, 0x0a, 0x10, 0x6e, 0x75, 0x6d, - 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6e, 0x75, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, - 0x61, 0x6e, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x75, 0x6d, 0x5f, 0x70, 0x75, 0x62, 0x6c, - 0x69, 0x73, 0x68, 0x65, 0x72, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6e, 0x75, - 0x6d, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x61, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x65, 0x63, - 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x2f, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, - 0x74, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x38, 0x0a, 0x05, 0x43, 0x6f, 0x64, 0x65, 0x63, - 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6d, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x6d, 0x74, 0x70, 0x5f, 0x6c, 0x69, 0x6e, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x6d, 0x74, 0x70, 0x4c, 0x69, 0x6e, - 0x65, 0x22, 0x4c, 0x0a, 0x0c, 0x50, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x44, 0x65, 0x6c, 0x61, - 0x79, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6d, - 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x69, 0x6e, 0x12, 0x10, 0x0a, - 0x03, 0x6d, 0x61, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x22, - 0xc7, 0x02, 0x0a, 0x15, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x50, - 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x61, 0x6e, - 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0c, 0x63, 0x61, 0x6e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x1f, - 0x0a, 0x0b, 0x63, 0x61, 0x6e, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0a, 0x63, 0x61, 0x6e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x12, - 0x28, 0x0a, 0x10, 0x63, 0x61, 0x6e, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x63, 0x61, 0x6e, 0x50, 0x75, - 0x62, 0x6c, 0x69, 0x73, 0x68, 0x44, 0x61, 0x74, 0x61, 0x12, 0x44, 0x0a, 0x13, 0x63, 0x61, 0x6e, - 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, - 0x18, 0x09, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, - 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x11, 0x63, 0x61, - 0x6e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, - 0x16, 0x0a, 0x06, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x06, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x61, 0x6e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x11, 0x63, 0x61, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x22, 0xb9, 0x04, 0x0a, 0x0f, 0x50, 0x61, - 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, - 0x03, 0x73, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x69, 0x64, 0x12, - 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x34, 0x0a, 0x05, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x6c, 0x69, 0x76, - 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, - 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x63, - 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x12, 0x1a, 0x0a, - 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x09, 0x6a, 0x6f, 0x69, - 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6a, 0x6f, - 0x69, 0x6e, 0x65, 0x64, 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, - 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x50, 0x65, - 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, - 0x69, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x12, - 0x31, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, - 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, - 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x22, 0x3e, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x4a, - 0x4f, 0x49, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4a, 0x4f, 0x49, 0x4e, - 0x45, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, - 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, - 0x10, 0x03, 0x22, 0x41, 0x0a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x54, - 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x47, 0x52, - 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x45, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, - 0x02, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x49, 0x50, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x47, - 0x45, 0x4e, 0x54, 0x10, 0x04, 0x22, 0x33, 0x0a, 0x0a, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0x25, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4e, - 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x47, 0x43, 0x4d, 0x10, 0x01, 0x12, 0x0a, - 0x0a, 0x06, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x10, 0x02, 0x22, 0x82, 0x01, 0x0a, 0x12, 0x53, - 0x69, 0x6d, 0x75, 0x6c, 0x63, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, - 0x0a, 0x03, 0x6d, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x69, 0x64, - 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, - 0x69, 0x64, 0x12, 0x2b, 0x0a, 0x06, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x56, 0x69, 0x64, - 0x65, 0x6f, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x06, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x22, - 0x9a, 0x05, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, - 0x03, 0x73, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x69, 0x64, 0x12, - 0x26, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, - 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, - 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6d, - 0x75, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6d, 0x75, 0x74, 0x65, - 0x64, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, - 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, - 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x63, 0x61, 0x73, 0x74, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x09, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x63, 0x61, 0x73, 0x74, 0x12, 0x1f, 0x0a, - 0x0b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x74, 0x78, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x74, 0x78, 0x12, 0x2c, - 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, - 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x06, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, - 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4c, 0x61, 0x79, 0x65, - 0x72, 0x52, 0x06, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6d, - 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x69, - 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x69, 0x64, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x69, 0x64, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x64, 0x65, - 0x63, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, - 0x69, 0x74, 0x2e, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x63, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x64, 0x65, - 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x12, 0x16, 0x0a, - 0x06, 0x73, 0x74, 0x65, 0x72, 0x65, 0x6f, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, - 0x74, 0x65, 0x72, 0x65, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, - 0x5f, 0x72, 0x65, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x61, - 0x62, 0x6c, 0x65, 0x52, 0x65, 0x64, 0x12, 0x38, 0x0a, 0x0a, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, - 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, - 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x2f, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, - 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x0e, 0x61, 0x75, 0x64, - 0x69, 0x6f, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, - 0x0e, 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x75, 0x64, 0x69, - 0x6f, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0d, 0x61, - 0x75, 0x64, 0x69, 0x6f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x22, 0x99, 0x01, 0x0a, - 0x0a, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x2f, 0x0a, 0x07, 0x71, - 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c, - 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x51, 0x75, 0x61, 0x6c, - 0x69, 0x74, 0x79, 0x52, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, - 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x77, 0x69, 0x64, - 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x69, - 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x62, 0x69, 0x74, - 0x72, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x73, 0x72, 0x63, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x04, 0x73, 0x73, 0x72, 0x63, 0x22, 0xaa, 0x03, 0x0a, 0x0a, 0x44, 0x61, 0x74, - 0x61, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x30, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, - 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x42, - 0x02, 0x18, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x31, 0x0a, 0x14, 0x70, 0x61, 0x72, - 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, - 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x35, 0x0a, 0x16, - 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x64, 0x65, - 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x69, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, - 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x48, 0x00, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x3c, - 0x0a, 0x07, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x53, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x02, 0x18, - 0x01, 0x48, 0x00, 0x52, 0x07, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x12, 0x2d, 0x0a, 0x08, - 0x73, 0x69, 0x70, 0x5f, 0x64, 0x74, 0x6d, 0x66, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, - 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x69, 0x70, 0x44, 0x54, 0x4d, 0x46, - 0x48, 0x00, 0x52, 0x07, 0x73, 0x69, 0x70, 0x44, 0x74, 0x6d, 0x66, 0x12, 0x3e, 0x0a, 0x0d, 0x74, - 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0d, 0x74, 0x72, - 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x1f, 0x0a, 0x04, 0x4b, - 0x69, 0x6e, 0x64, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x45, 0x4c, 0x49, 0x41, 0x42, 0x4c, 0x45, 0x10, - 0x00, 0x12, 0x09, 0x0a, 0x05, 0x4c, 0x4f, 0x53, 0x53, 0x59, 0x10, 0x01, 0x42, 0x07, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x47, 0x0a, 0x13, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, - 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, 0x08, - 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, - 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x22, 0x4d, - 0x0a, 0x0b, 0x53, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, - 0x03, 0x73, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x69, 0x64, 0x12, - 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, - 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x22, 0x95, 0x03, - 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x2b, 0x0a, 0x0f, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x73, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, - 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x53, 0x69, 0x64, 0x12, 0x35, 0x0a, 0x14, 0x70, 0x61, 0x72, - 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x13, 0x70, 0x61, 0x72, + 0x22, 0x70, 0x0a, 0x0a, 0x4b, 0x56, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2b, + 0x0a, 0x02, 0x6b, 0x76, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, + 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4b, 0x56, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, + 0x4b, 0x76, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x02, 0x6b, 0x76, 0x1a, 0x35, 0x0a, 0x07, 0x4b, + 0x76, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 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, 0x3a, 0x02, + 0x38, 0x01, 0x22, 0xcf, 0x04, 0x0a, 0x04, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x73, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x69, 0x64, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, + 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x54, + 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, + 0x75, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x10, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x75, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x6f, 0x75, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6d, + 0x61, 0x78, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x23, + 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x73, 0x73, + 0x77, 0x6f, 0x72, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x75, 0x72, 0x6e, + 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x35, 0x0a, 0x0e, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x63, + 0x52, 0x0d, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x12, + 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x34, 0x0a, 0x0b, 0x6b, + 0x76, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4b, 0x56, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0a, 0x6b, 0x76, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x12, 0x29, 0x0a, 0x10, 0x6e, 0x75, 0x6d, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, + 0x70, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6e, 0x75, 0x6d, + 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0e, + 0x6e, 0x75, 0x6d, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x73, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6e, 0x75, 0x6d, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, + 0x65, 0x72, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x61, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x2f, + 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x64, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, + 0x23, 0x0a, 0x0b, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x10, 0x4d, 0x44, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x4e, 0x4f, + 0x4e, 0x45, 0x10, 0x00, 0x22, 0x38, 0x0a, 0x05, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x12, 0x0a, + 0x04, 0x6d, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x69, 0x6d, + 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x6d, 0x74, 0x70, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x6d, 0x74, 0x70, 0x4c, 0x69, 0x6e, 0x65, 0x22, 0x4c, + 0x0a, 0x0c, 0x50, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x18, + 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, + 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x22, 0xc7, 0x02, 0x0a, + 0x15, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x61, 0x6e, 0x5f, 0x73, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x63, + 0x61, 0x6e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, + 0x61, 0x6e, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0a, 0x63, 0x61, 0x6e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x12, 0x28, 0x0a, 0x10, + 0x63, 0x61, 0x6e, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x63, 0x61, 0x6e, 0x50, 0x75, 0x62, 0x6c, 0x69, + 0x73, 0x68, 0x44, 0x61, 0x74, 0x61, 0x12, 0x44, 0x0a, 0x13, 0x63, 0x61, 0x6e, 0x5f, 0x70, 0x75, + 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x09, 0x20, + 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, + 0x61, 0x63, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x11, 0x63, 0x61, 0x6e, 0x50, 0x75, + 0x62, 0x6c, 0x69, 0x73, 0x68, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, + 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x68, 0x69, + 0x64, 0x64, 0x65, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x61, 0x6e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x63, + 0x61, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x14, 0x0a, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x22, 0x90, 0x07, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x74, 0x69, + 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x34, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, + 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, + 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2a, + 0x0a, 0x06, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, + 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x06, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x34, 0x0a, 0x0b, 0x6b, 0x76, 0x5f, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, + 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4b, 0x56, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x52, 0x0a, 0x6b, 0x76, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x09, + 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x69, + 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, + 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x65, 0x72, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, + 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, + 0x65, 0x72, 0x12, 0x31, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, + 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, + 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0x3e, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, + 0x0a, 0x07, 0x4a, 0x4f, 0x49, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4a, + 0x4f, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, + 0x45, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, + 0x54, 0x45, 0x44, 0x10, 0x03, 0x22, 0x41, 0x0a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x0c, 0x0a, + 0x08, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x49, + 0x4e, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x45, 0x47, 0x52, 0x45, + 0x53, 0x53, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x49, 0x50, 0x10, 0x03, 0x12, 0x09, 0x0a, + 0x05, 0x41, 0x47, 0x45, 0x4e, 0x54, 0x10, 0x04, 0x22, 0x9e, 0x02, 0x0a, 0x0e, 0x50, 0x61, 0x72, + 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x1b, 0x0a, 0x17, 0x4d, + 0x44, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4b, 0x45, + 0x59, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x4d, 0x44, 0x5f, 0x50, + 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x53, + 0x49, 0x50, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x49, 0x44, 0x10, 0x01, 0x12, 0x23, 0x0a, 0x1f, + 0x4d, 0x44, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4b, + 0x45, 0x59, 0x5f, 0x53, 0x49, 0x50, 0x5f, 0x54, 0x52, 0x55, 0x4e, 0x4b, 0x5f, 0x49, 0x44, 0x10, + 0x02, 0x12, 0x2b, 0x0a, 0x27, 0x4d, 0x44, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, + 0x41, 0x4e, 0x54, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x53, 0x49, 0x50, 0x5f, 0x44, 0x49, 0x53, 0x50, + 0x41, 0x54, 0x43, 0x48, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x49, 0x44, 0x10, 0x03, 0x12, 0x24, + 0x0a, 0x20, 0x4d, 0x44, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, + 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x53, 0x49, 0x50, 0x5f, 0x54, 0x4f, 0x5f, 0x4e, 0x55, 0x4d, 0x42, + 0x45, 0x52, 0x10, 0x04, 0x12, 0x26, 0x0a, 0x22, 0x4d, 0x44, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, + 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x53, 0x49, 0x50, 0x5f, 0x46, + 0x52, 0x4f, 0x4d, 0x5f, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x05, 0x12, 0x2b, 0x0a, 0x27, + 0x4d, 0x44, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4b, + 0x45, 0x59, 0x5f, 0x53, 0x49, 0x50, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, + 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x49, 0x44, 0x10, 0x06, 0x22, 0x33, 0x0a, 0x0a, 0x45, 0x6e, 0x63, + 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x25, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x47, 0x43, 0x4d, + 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x10, 0x02, 0x22, 0x82, + 0x01, 0x0a, 0x12, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x63, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x64, 0x65, + 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6d, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x12, 0x2b, 0x0a, 0x06, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x06, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x73, 0x22, 0x9a, 0x05, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x73, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x63, + 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, + 0x6d, 0x75, 0x74, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x63, 0x61, 0x73, 0x74, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x63, 0x61, 0x73, + 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x74, 0x78, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x44, + 0x74, 0x78, 0x12, 0x2c, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, 0x61, + 0x63, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x12, 0x2b, 0x0a, 0x06, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, + 0x4c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x06, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x1b, 0x0a, + 0x09, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x69, + 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x69, 0x64, 0x12, 0x33, 0x0a, 0x06, + 0x63, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, + 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x63, 0x61, 0x73, 0x74, + 0x43, 0x6f, 0x64, 0x65, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x64, 0x65, 0x63, + 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x65, 0x72, 0x65, 0x6f, 0x18, 0x0e, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x06, 0x73, 0x74, 0x65, 0x72, 0x65, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, + 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x64, 0x12, 0x38, 0x0a, 0x0a, 0x65, 0x6e, + 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, + 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x11, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x2f, 0x0a, 0x07, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, + 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x64, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, + 0x0e, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, + 0x13, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, + 0x41, 0x75, 0x64, 0x69, 0x6f, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x52, 0x0d, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, + 0x22, 0x99, 0x01, 0x0a, 0x0a, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x12, + 0x2f, 0x0a, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, + 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x18, + 0x0a, 0x07, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x07, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x73, 0x72, 0x63, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x73, 0x73, 0x72, 0x63, 0x22, 0xaa, 0x03, 0x0a, + 0x0a, 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x30, 0x0a, 0x04, 0x6b, + 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, + 0x6b, 0x69, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4b, + 0x69, 0x6e, 0x64, 0x42, 0x02, 0x18, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x31, 0x0a, + 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x2d, 0x0a, 0x10, 0x64, 0x65, - 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x73, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, 0x73, 0x12, 0x39, 0x0a, 0x16, 0x64, 0x65, 0x73, - 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x69, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x15, 0x64, - 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x69, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x88, 0x01, 0x01, 0x12, - 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x02, 0x69, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x48, 0x02, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x03, 0x52, 0x07, 0x65, 0x6e, - 0x64, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x6f, 0x70, - 0x69, 0x63, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x65, 0x6e, 0x64, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x33, 0x0a, 0x07, 0x53, 0x69, 0x70, 0x44, 0x54, 0x4d, 0x46, - 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, - 0x63, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x69, 0x67, 0x69, 0x74, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x69, 0x67, 0x69, 0x74, 0x22, 0xaf, 0x01, 0x0a, 0x0d, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x48, 0x0a, 0x20, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x72, 0x74, - 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, - 0x62, 0x65, 0x64, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, - 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x49, - 0x64, 0x12, 0x39, 0x0a, 0x08, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x67, 0x6d, 0x65, - 0x6e, 0x74, 0x52, 0x08, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xa6, 0x01, 0x0a, - 0x14, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, - 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x05, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, - 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, - 0x67, 0x75, 0x61, 0x67, 0x65, 0x22, 0x5b, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, - 0x70, 0x61, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61, - 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x73, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, - 0x53, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x64, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x69, - 0x64, 0x73, 0x22, 0x94, 0x02, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x35, 0x0a, 0x07, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x07, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x16, - 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, - 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, - 0x1d, 0x0a, 0x0a, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x62, 0x75, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x25, - 0x0a, 0x0e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x22, 0x22, 0x0a, 0x07, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x10, 0x00, 0x12, 0x09, - 0x0a, 0x05, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x10, 0x01, 0x22, 0xbc, 0x03, 0x0a, 0x0a, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x29, 0x0a, 0x03, 0x73, 0x64, 0x6b, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x44, 0x4b, 0x52, 0x03, - 0x73, 0x64, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, - 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x73, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x6f, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x73, 0x5f, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, - 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x62, - 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x72, - 0x6f, 0x77, 0x73, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, - 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, - 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, - 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x22, 0x83, 0x01, 0x0a, 0x03, 0x53, 0x44, 0x4b, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, - 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x4a, 0x53, 0x10, 0x01, 0x12, - 0x09, 0x0a, 0x05, 0x53, 0x57, 0x49, 0x46, 0x54, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x4e, - 0x44, 0x52, 0x4f, 0x49, 0x44, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x4c, 0x55, 0x54, 0x54, - 0x45, 0x52, 0x10, 0x04, 0x12, 0x06, 0x0a, 0x02, 0x47, 0x4f, 0x10, 0x05, 0x12, 0x09, 0x0a, 0x05, - 0x55, 0x4e, 0x49, 0x54, 0x59, 0x10, 0x06, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x45, 0x41, 0x43, 0x54, - 0x5f, 0x4e, 0x41, 0x54, 0x49, 0x56, 0x45, 0x10, 0x07, 0x12, 0x08, 0x0a, 0x04, 0x52, 0x55, 0x53, - 0x54, 0x10, 0x08, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x59, 0x54, 0x48, 0x4f, 0x4e, 0x10, 0x09, 0x12, - 0x07, 0x0a, 0x03, 0x43, 0x50, 0x50, 0x10, 0x0a, 0x22, 0xc9, 0x02, 0x0a, 0x13, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x31, 0x0a, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x69, - 0x64, 0x65, 0x6f, 0x12, 0x33, 0x0a, 0x06, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x18, 0x02, 0x20, + 0x12, 0x35, 0x0a, 0x16, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x15, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, + 0x55, 0x73, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x48, 0x00, 0x52, 0x04, 0x75, 0x73, + 0x65, 0x72, 0x12, 0x3c, 0x0a, 0x07, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x53, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x07, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, + 0x12, 0x2d, 0x0a, 0x08, 0x73, 0x69, 0x70, 0x5f, 0x64, 0x74, 0x6d, 0x66, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x69, 0x70, + 0x44, 0x54, 0x4d, 0x46, 0x48, 0x00, 0x52, 0x07, 0x73, 0x69, 0x70, 0x44, 0x74, 0x6d, 0x66, 0x12, + 0x3e, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, + 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x1f, 0x0a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x45, 0x4c, 0x49, 0x41, + 0x42, 0x4c, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x4c, 0x4f, 0x53, 0x53, 0x59, 0x10, 0x01, + 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x47, 0x0a, 0x13, 0x41, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x53, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x12, 0x30, 0x0a, 0x08, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x70, 0x65, + 0x61, 0x6b, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, + 0x72, 0x73, 0x22, 0x4d, 0x0a, 0x0b, 0x53, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x73, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x22, 0x95, 0x03, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, + 0x12, 0x2b, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, + 0x73, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0e, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x53, 0x69, 0x64, 0x12, 0x35, 0x0a, + 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, + 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x2d, + 0x0a, 0x10, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, + 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0f, 0x64, 0x65, + 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, 0x73, 0x12, 0x39, 0x0a, + 0x16, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x42, 0x02, 0x18, + 0x01, 0x52, 0x15, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, + 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, + 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x01, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x48, 0x02, 0x52, 0x09, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, + 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x03, + 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, + 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x0d, 0x0a, + 0x0b, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x0b, 0x0a, 0x09, + 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x33, 0x0a, 0x07, 0x53, 0x69, 0x70, + 0x44, 0x54, 0x4d, 0x46, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x69, 0x67, 0x69, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x69, 0x67, 0x69, 0x74, 0x22, 0xaf, + 0x01, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x48, 0x0a, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x5f, + 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1e, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, + 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, + 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, + 0x61, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x08, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, + 0x74, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x22, 0xa6, 0x01, 0x0a, 0x14, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1d, 0x0a, + 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, + 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, + 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x6e, 0x61, 0x6c, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x12, 0x1a, 0x0a, + 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x22, 0x5b, 0x0a, 0x11, 0x50, 0x61, 0x72, + 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x12, 0x27, + 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x73, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, + 0x70, 0x61, 0x6e, 0x74, 0x53, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x63, 0x6b, + 0x5f, 0x73, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x74, 0x72, 0x61, + 0x63, 0x6b, 0x53, 0x69, 0x64, 0x73, 0x22, 0x94, 0x02, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x35, 0x0a, 0x07, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, + 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, + 0x6f, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x6f, + 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x6f, 0x64, + 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x69, 0x6e, 0x66, + 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x62, 0x75, 0x67, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x61, 0x67, 0x65, 0x6e, + 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x22, 0x22, 0x0a, 0x07, 0x45, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, + 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x10, 0x01, 0x22, 0xbc, 0x03, + 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x29, 0x0a, 0x03, + 0x73, 0x64, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x6c, 0x69, 0x76, 0x65, + 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x53, + 0x44, 0x4b, 0x52, 0x03, 0x73, 0x64, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x0e, 0x0a, + 0x02, 0x6f, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x6f, 0x73, 0x12, 0x1d, 0x0a, + 0x0a, 0x6f, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x6f, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, + 0x18, 0x0a, 0x07, 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x62, 0x72, 0x6f, + 0x77, 0x73, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x22, 0x83, 0x01, 0x0a, 0x03, 0x53, 0x44, 0x4b, 0x12, 0x0b, + 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x4a, + 0x53, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x57, 0x49, 0x46, 0x54, 0x10, 0x02, 0x12, 0x0b, + 0x0a, 0x07, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x46, + 0x4c, 0x55, 0x54, 0x54, 0x45, 0x52, 0x10, 0x04, 0x12, 0x06, 0x0a, 0x02, 0x47, 0x4f, 0x10, 0x05, + 0x12, 0x09, 0x0a, 0x05, 0x55, 0x4e, 0x49, 0x54, 0x59, 0x10, 0x06, 0x12, 0x10, 0x0a, 0x0c, 0x52, + 0x45, 0x41, 0x43, 0x54, 0x5f, 0x4e, 0x41, 0x54, 0x49, 0x56, 0x45, 0x10, 0x07, 0x12, 0x08, 0x0a, + 0x04, 0x52, 0x55, 0x53, 0x54, 0x10, 0x08, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x59, 0x54, 0x48, 0x4f, + 0x4e, 0x10, 0x09, 0x12, 0x07, 0x0a, 0x03, 0x43, 0x50, 0x50, 0x10, 0x0a, 0x22, 0xc9, 0x02, 0x0a, + 0x13, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x06, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x12, 0x49, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x75, - 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x52, 0x10, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x5f, - 0x63, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6c, - 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x43, - 0x6f, 0x64, 0x65, 0x63, 0x73, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x43, - 0x6f, 0x64, 0x65, 0x63, 0x73, 0x12, 0x3d, 0x0a, 0x0b, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x72, - 0x65, 0x6c, 0x61, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x6c, 0x69, 0x76, - 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0a, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x52, - 0x65, 0x6c, 0x61, 0x79, 0x22, 0x5d, 0x0a, 0x12, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x47, 0x0a, 0x10, 0x68, 0x61, - 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x52, 0x0f, 0x68, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x63, 0x6f, - 0x64, 0x65, 0x72, 0x22, 0x62, 0x0a, 0x0e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x43, - 0x6f, 0x64, 0x65, 0x63, 0x73, 0x12, 0x26, 0x0a, 0x06, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, - 0x43, 0x6f, 0x64, 0x65, 0x63, 0x52, 0x06, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x12, 0x28, 0x0a, - 0x07, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x52, 0x07, - 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x22, 0xed, 0x02, 0x0a, 0x08, 0x52, 0x54, 0x50, 0x44, - 0x72, 0x69, 0x66, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, - 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x23, 0x0a, 0x0d, 0x65, - 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x0c, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x74, 0x70, 0x5f, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x69, - 0x63, 0x6b, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x72, 0x74, 0x70, 0x43, 0x6c, - 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x63, 0x6b, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x72, 0x69, 0x66, - 0x74, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x0c, 0x64, 0x72, 0x69, 0x66, 0x74, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x19, 0x0a, - 0x08, 0x64, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, - 0x07, 0x64, 0x72, 0x69, 0x66, 0x74, 0x4d, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x6f, 0x63, - 0x6b, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x63, 0x6c, - 0x6f, 0x63, 0x6b, 0x52, 0x61, 0x74, 0x65, 0x22, 0xf6, 0x0e, 0x0a, 0x08, 0x52, 0x54, 0x50, 0x53, - 0x74, 0x61, 0x74, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, - 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, - 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x01, 0x52, 0x0a, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x62, 0x79, - 0x74, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, - 0x74, 0x65, 0x73, 0x18, 0x27, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, - 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, - 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x6c, 0x6f, 0x73, 0x74, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x4c, - 0x6f, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6c, 0x6f, - 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x70, - 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x6f, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, - 0x16, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6c, 0x6f, 0x73, 0x73, 0x5f, 0x70, 0x65, 0x72, - 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x14, 0x70, - 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x6f, 0x73, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, - 0x61, 0x67, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x64, - 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, - 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x44, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x12, 0x32, 0x0a, 0x15, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x64, 0x75, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x52, - 0x13, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x44, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x52, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x64, 0x75, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x62, - 0x79, 0x74, 0x65, 0x73, 0x44, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, - 0x16, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x64, 0x75, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x28, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x68, - 0x65, 0x61, 0x64, 0x65, 0x72, 0x42, 0x79, 0x74, 0x65, 0x73, 0x44, 0x75, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x64, - 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, - 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x44, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x70, 0x61, 0x64, 0x64, - 0x69, 0x6e, 0x67, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x70, 0x61, 0x63, 0x6b, 0x65, - 0x74, 0x73, 0x50, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x2e, 0x0a, 0x13, 0x70, 0x61, 0x63, - 0x6b, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x61, 0x74, 0x65, - 0x18, 0x10, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x61, - 0x64, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x79, 0x74, - 0x65, 0x73, 0x5f, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x11, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x0c, 0x62, 0x79, 0x74, 0x65, 0x73, 0x50, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x30, - 0x0a, 0x14, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x70, - 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x29, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x68, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x42, 0x79, 0x74, 0x65, 0x73, 0x50, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, - 0x12, 0x27, 0x0a, 0x0f, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x64, 0x64, - 0x69, 0x6e, 0x67, 0x18, 0x12, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x62, 0x69, 0x74, 0x72, 0x61, - 0x74, 0x65, 0x50, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x2f, 0x0a, 0x14, 0x70, 0x61, 0x63, - 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x6f, 0x66, 0x5f, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, - 0x4f, 0x75, 0x74, 0x4f, 0x66, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, - 0x61, 0x6d, 0x65, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x66, 0x72, 0x61, 0x6d, - 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, - 0x18, 0x15, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x52, 0x61, 0x74, - 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x75, 0x72, 0x72, - 0x65, 0x6e, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x6a, 0x69, 0x74, 0x74, 0x65, - 0x72, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6a, 0x69, 0x74, 0x74, - 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x17, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x6a, 0x69, - 0x74, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x12, 0x48, 0x0a, 0x0d, 0x67, 0x61, 0x70, 0x5f, 0x68, - 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x18, 0x18, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, - 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x54, 0x50, 0x53, 0x74, 0x61, 0x74, - 0x73, 0x2e, 0x47, 0x61, 0x70, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x0c, 0x67, 0x61, 0x70, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, - 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x63, 0x6b, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x05, 0x6e, 0x61, 0x63, 0x6b, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x61, 0x63, 0x6b, 0x5f, - 0x61, 0x63, 0x6b, 0x73, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6e, 0x61, 0x63, 0x6b, - 0x41, 0x63, 0x6b, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x61, 0x63, 0x6b, 0x5f, 0x6d, 0x69, 0x73, - 0x73, 0x65, 0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6e, 0x61, 0x63, 0x6b, 0x4d, - 0x69, 0x73, 0x73, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x61, 0x63, 0x6b, 0x5f, 0x72, 0x65, - 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x26, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6e, 0x61, - 0x63, 0x6b, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6c, - 0x69, 0x73, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6c, 0x69, 0x73, 0x12, 0x35, - 0x0a, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x6c, 0x69, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x6c, 0x61, - 0x73, 0x74, 0x50, 0x6c, 0x69, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x72, 0x73, 0x18, 0x1d, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x04, 0x66, 0x69, 0x72, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x6c, 0x61, 0x73, - 0x74, 0x5f, 0x66, 0x69, 0x72, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x6c, 0x61, 0x73, 0x74, 0x46, 0x69, 0x72, - 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x74, 0x74, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, - 0x1f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x74, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, - 0x74, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x74, 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x20, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x06, 0x72, 0x74, 0x74, 0x4d, 0x61, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x6b, 0x65, - 0x79, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, - 0x6b, 0x65, 0x79, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x0e, 0x6c, 0x61, 0x73, - 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x18, 0x22, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x6c, - 0x61, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x70, 0x6c, 0x69, 0x73, 0x18, 0x23, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x50, - 0x6c, 0x69, 0x73, 0x12, 0x49, 0x0a, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x70, 0x6c, 0x69, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x10, 0x6c, 0x61, - 0x73, 0x74, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x50, 0x6c, 0x69, 0x12, 0x34, - 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x64, 0x72, 0x69, 0x66, 0x74, 0x18, 0x2c, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, - 0x54, 0x50, 0x44, 0x72, 0x69, 0x66, 0x74, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x44, - 0x72, 0x69, 0x66, 0x74, 0x12, 0x34, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x64, - 0x72, 0x69, 0x66, 0x74, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6c, 0x69, 0x76, - 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x54, 0x50, 0x44, 0x72, 0x69, 0x66, 0x74, 0x52, 0x0b, 0x72, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x72, 0x69, 0x66, 0x74, 0x12, 0x43, 0x0a, 0x14, 0x72, 0x65, - 0x62, 0x61, 0x73, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x64, 0x72, 0x69, - 0x66, 0x74, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, - 0x69, 0x74, 0x2e, 0x52, 0x54, 0x50, 0x44, 0x72, 0x69, 0x66, 0x74, 0x52, 0x12, 0x72, 0x65, 0x62, - 0x61, 0x73, 0x65, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x72, 0x69, 0x66, 0x74, 0x1a, - 0x3f, 0x0a, 0x11, 0x47, 0x61, 0x70, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, - 0x22, 0x43, 0x0a, 0x0c, 0x54, 0x69, 0x6d, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x6e, 0x69, 0x78, 0x5f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x6e, 0x69, 0x78, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x12, - 0x14, 0x0a, 0x05, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, - 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2a, 0x2f, 0x0a, 0x0a, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, - 0x64, 0x65, 0x63, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x41, - 0x43, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4f, 0x50, 0x55, 0x53, 0x10, 0x01, 0x12, 0x07, 0x0a, - 0x03, 0x41, 0x41, 0x43, 0x10, 0x02, 0x2a, 0x56, 0x0a, 0x0a, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, - 0x6f, 0x64, 0x65, 0x63, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, - 0x56, 0x43, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x48, 0x32, 0x36, 0x34, 0x5f, 0x42, 0x41, 0x53, - 0x45, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x48, 0x32, 0x36, 0x34, 0x5f, - 0x4d, 0x41, 0x49, 0x4e, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x48, 0x32, 0x36, 0x34, 0x5f, 0x48, - 0x49, 0x47, 0x48, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x56, 0x50, 0x38, 0x10, 0x04, 0x2a, 0x29, - 0x0a, 0x0a, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x0e, 0x0a, 0x0a, - 0x49, 0x43, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, - 0x49, 0x43, 0x5f, 0x4a, 0x50, 0x45, 0x47, 0x10, 0x01, 0x2a, 0x2b, 0x0a, 0x09, 0x54, 0x72, 0x61, - 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x10, - 0x00, 0x12, 0x09, 0x0a, 0x05, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, - 0x44, 0x41, 0x54, 0x41, 0x10, 0x02, 0x2a, 0x60, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x53, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, - 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x41, 0x4d, 0x45, 0x52, 0x41, 0x10, 0x01, 0x12, 0x0e, - 0x0a, 0x0a, 0x4d, 0x49, 0x43, 0x52, 0x4f, 0x50, 0x48, 0x4f, 0x4e, 0x45, 0x10, 0x02, 0x12, 0x10, - 0x0a, 0x0c, 0x53, 0x43, 0x52, 0x45, 0x45, 0x4e, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x10, 0x03, - 0x12, 0x16, 0x0a, 0x12, 0x53, 0x43, 0x52, 0x45, 0x45, 0x4e, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, - 0x5f, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x10, 0x04, 0x2a, 0x36, 0x0a, 0x0c, 0x56, 0x69, 0x64, 0x65, - 0x6f, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x07, 0x0a, 0x03, 0x4c, 0x4f, 0x57, 0x10, - 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x45, 0x44, 0x49, 0x55, 0x4d, 0x10, 0x01, 0x12, 0x08, 0x0a, - 0x04, 0x48, 0x49, 0x47, 0x48, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x4f, 0x46, 0x46, 0x10, 0x03, - 0x2a, 0x40, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, - 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x4f, 0x4f, 0x52, 0x10, 0x00, 0x12, - 0x08, 0x0a, 0x04, 0x47, 0x4f, 0x4f, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x45, 0x58, 0x43, - 0x45, 0x4c, 0x4c, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x4f, 0x53, 0x54, - 0x10, 0x03, 0x2a, 0x3b, 0x0a, 0x13, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x09, 0x0a, 0x05, 0x55, 0x4e, 0x53, - 0x45, 0x54, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, - 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x2a, - 0xdb, 0x01, 0x0a, 0x10, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, - 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, - 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4c, 0x49, 0x45, - 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x16, - 0x0a, 0x12, 0x44, 0x55, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x44, 0x45, 0x4e, - 0x54, 0x49, 0x54, 0x59, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, - 0x5f, 0x53, 0x48, 0x55, 0x54, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x50, - 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, - 0x45, 0x44, 0x10, 0x04, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x4f, 0x4f, 0x4d, 0x5f, 0x44, 0x45, 0x4c, - 0x45, 0x54, 0x45, 0x44, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, - 0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x06, 0x12, 0x10, 0x0a, 0x0c, 0x4a, 0x4f, - 0x49, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x07, 0x12, 0x0d, 0x0a, 0x09, - 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x08, 0x12, 0x10, 0x0a, 0x0c, 0x53, - 0x49, 0x47, 0x4e, 0x41, 0x4c, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x10, 0x09, 0x2a, 0x89, 0x01, - 0x0a, 0x0f, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x52, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, - 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x52, 0x52, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x41, 0x4c, 0x5f, 0x44, - 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x17, 0x0a, - 0x13, 0x52, 0x52, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x52, 0x5f, 0x46, 0x41, - 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x52, 0x5f, 0x53, 0x55, 0x42, - 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, - 0x12, 0x17, 0x0a, 0x13, 0x52, 0x52, 0x5f, 0x53, 0x57, 0x49, 0x54, 0x43, 0x48, 0x5f, 0x43, 0x41, - 0x4e, 0x44, 0x49, 0x44, 0x41, 0x54, 0x45, 0x10, 0x04, 0x2a, 0x54, 0x0a, 0x11, 0x53, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x0e, - 0x0a, 0x0a, 0x53, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x18, - 0x0a, 0x14, 0x53, 0x45, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x43, 0x5f, 0x55, 0x4e, 0x53, 0x55, 0x50, - 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x45, 0x5f, 0x54, - 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x4e, 0x4f, 0x54, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x02, 0x2a, - 0xa3, 0x01, 0x0a, 0x11, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x46, 0x65, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x46, 0x5f, 0x53, 0x54, 0x45, 0x52, - 0x45, 0x4f, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x46, 0x5f, 0x4e, 0x4f, 0x5f, 0x44, 0x54, - 0x58, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x54, 0x46, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x47, - 0x41, 0x49, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x10, 0x02, 0x12, 0x18, 0x0a, - 0x14, 0x54, 0x46, 0x5f, 0x45, 0x43, 0x48, 0x4f, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, - 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x54, 0x46, 0x5f, 0x4e, 0x4f, - 0x49, 0x53, 0x45, 0x5f, 0x53, 0x55, 0x50, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, - 0x04, 0x12, 0x22, 0x0a, 0x1e, 0x54, 0x46, 0x5f, 0x45, 0x4e, 0x48, 0x41, 0x4e, 0x43, 0x45, 0x44, - 0x5f, 0x4e, 0x4f, 0x49, 0x53, 0x45, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x41, 0x54, - 0x49, 0x4f, 0x4e, 0x10, 0x05, 0x42, 0x46, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0xaa, 0x02, 0x0d, 0x4c, - 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0xea, 0x02, 0x0e, 0x4c, - 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x3a, 0x3a, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x52, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x33, 0x0a, 0x06, 0x73, 0x63, 0x72, 0x65, 0x65, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, + 0x74, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x12, 0x49, 0x0a, 0x11, + 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, + 0x74, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x43, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x12, 0x3d, 0x0a, 0x0b, 0x66, 0x6f, 0x72, + 0x63, 0x65, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, + 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0a, 0x66, 0x6f, + 0x72, 0x63, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x22, 0x5d, 0x0a, 0x12, 0x56, 0x69, 0x64, 0x65, + 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x47, + 0x0a, 0x10, 0x68, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, + 0x69, 0x74, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0f, 0x68, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, + 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x22, 0x62, 0x0a, 0x0e, 0x44, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x12, 0x26, 0x0a, 0x06, 0x63, 0x6f, 0x64, + 0x65, 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x69, 0x76, 0x65, + 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x52, 0x06, 0x63, 0x6f, 0x64, 0x65, 0x63, + 0x73, 0x12, 0x28, 0x0a, 0x07, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x6f, 0x64, + 0x65, 0x63, 0x52, 0x07, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x22, 0xed, 0x02, 0x0a, 0x08, + 0x52, 0x54, 0x50, 0x44, 0x72, 0x69, 0x66, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x64, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, + 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x74, 0x70, 0x5f, 0x63, 0x6c, 0x6f, 0x63, + 0x6b, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x72, + 0x74, 0x70, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x63, 0x6b, 0x73, 0x12, 0x23, 0x0a, 0x0d, + 0x64, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x0c, 0x64, 0x72, 0x69, 0x66, 0x74, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, + 0x73, 0x12, 0x19, 0x0a, 0x08, 0x64, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x01, 0x52, 0x07, 0x64, 0x72, 0x69, 0x66, 0x74, 0x4d, 0x73, 0x12, 0x1d, 0x0a, 0x0a, + 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, + 0x52, 0x09, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x61, 0x74, 0x65, 0x22, 0xf6, 0x0e, 0x0a, 0x08, + 0x52, 0x54, 0x50, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x64, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, + 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, + 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x61, 0x74, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x27, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x68, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x69, + 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x62, 0x69, 0x74, + 0x72, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, + 0x6c, 0x6f, 0x73, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, + 0x65, 0x74, 0x73, 0x4c, 0x6f, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x61, 0x63, 0x6b, 0x65, + 0x74, 0x5f, 0x6c, 0x6f, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x01, 0x52, 0x0e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x6f, 0x73, 0x73, 0x52, 0x61, 0x74, + 0x65, 0x12, 0x34, 0x0a, 0x16, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6c, 0x6f, 0x73, 0x73, + 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x14, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x6f, 0x73, 0x73, 0x50, 0x65, 0x72, + 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x61, 0x63, 0x6b, 0x65, + 0x74, 0x73, 0x5f, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x10, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x44, 0x75, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x64, + 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x01, 0x52, 0x13, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x44, 0x75, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x62, 0x79, 0x74, 0x65, + 0x73, 0x5f, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x0e, 0x62, 0x79, 0x74, 0x65, 0x73, 0x44, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x65, 0x12, 0x34, 0x0a, 0x16, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, + 0x73, 0x5f, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x28, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x14, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x42, 0x79, 0x74, 0x65, 0x73, 0x44, 0x75, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x62, 0x69, 0x74, 0x72, 0x61, + 0x74, 0x65, 0x5f, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x01, 0x52, 0x10, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x44, 0x75, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, + 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x70, + 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x50, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x2e, 0x0a, + 0x13, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, + 0x72, 0x61, 0x74, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x70, 0x61, 0x63, 0x6b, + 0x65, 0x74, 0x50, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, + 0x0d, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x11, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x62, 0x79, 0x74, 0x65, 0x73, 0x50, 0x61, 0x64, 0x64, 0x69, + 0x6e, 0x67, 0x12, 0x30, 0x0a, 0x14, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x74, + 0x65, 0x73, 0x5f, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x29, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x12, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x42, 0x79, 0x74, 0x65, 0x73, 0x50, 0x61, 0x64, + 0x64, 0x69, 0x6e, 0x67, 0x12, 0x27, 0x0a, 0x0f, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x5f, + 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x12, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x62, + 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x50, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x2f, 0x0a, + 0x14, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x6f, 0x66, 0x5f, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x70, 0x61, 0x63, + 0x6b, 0x65, 0x74, 0x73, 0x4f, 0x75, 0x74, 0x4f, 0x66, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x16, + 0x0a, 0x06, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, + 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, + 0x72, 0x61, 0x74, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x66, 0x72, 0x61, 0x6d, + 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x5f, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x6a, + 0x69, 0x74, 0x74, 0x65, 0x72, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, + 0x6a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x17, 0x20, 0x01, 0x28, 0x01, + 0x52, 0x09, 0x6a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x12, 0x48, 0x0a, 0x0d, 0x67, + 0x61, 0x70, 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x18, 0x18, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x54, 0x50, + 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x47, 0x61, 0x70, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, + 0x61, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x67, 0x61, 0x70, 0x48, 0x69, 0x73, 0x74, + 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x63, 0x6b, 0x73, 0x18, 0x19, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6e, 0x61, 0x63, 0x6b, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6e, + 0x61, 0x63, 0x6b, 0x5f, 0x61, 0x63, 0x6b, 0x73, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, + 0x6e, 0x61, 0x63, 0x6b, 0x41, 0x63, 0x6b, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x61, 0x63, 0x6b, + 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6e, + 0x61, 0x63, 0x6b, 0x4d, 0x69, 0x73, 0x73, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x61, 0x63, + 0x6b, 0x5f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x26, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0c, 0x6e, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x70, 0x6c, 0x69, 0x73, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6c, + 0x69, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x6c, 0x69, 0x18, 0x1c, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x07, 0x6c, 0x61, 0x73, 0x74, 0x50, 0x6c, 0x69, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x72, + 0x73, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x66, 0x69, 0x72, 0x73, 0x12, 0x35, 0x0a, + 0x08, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x66, 0x69, 0x72, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x6c, 0x61, 0x73, + 0x74, 0x46, 0x69, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x74, 0x74, 0x5f, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x74, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x74, 0x74, 0x43, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x74, 0x74, 0x5f, 0x6d, 0x61, 0x78, + 0x18, 0x20, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x74, 0x74, 0x4d, 0x61, 0x78, 0x12, 0x1d, + 0x0a, 0x0a, 0x6b, 0x65, 0x79, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x21, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x09, 0x6b, 0x65, 0x79, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x40, 0x0a, + 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x18, + 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x12, + 0x26, 0x0a, 0x0f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x70, 0x6c, + 0x69, 0x73, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, + 0x6f, 0x63, 0x6b, 0x50, 0x6c, 0x69, 0x73, 0x12, 0x49, 0x0a, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x5f, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x70, 0x6c, 0x69, 0x18, 0x24, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x50, + 0x6c, 0x69, 0x12, 0x34, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x64, 0x72, 0x69, + 0x66, 0x74, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, + 0x69, 0x74, 0x2e, 0x52, 0x54, 0x50, 0x44, 0x72, 0x69, 0x66, 0x74, 0x52, 0x0b, 0x70, 0x61, 0x63, + 0x6b, 0x65, 0x74, 0x44, 0x72, 0x69, 0x66, 0x74, 0x12, 0x34, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x5f, 0x64, 0x72, 0x69, 0x66, 0x74, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, + 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x54, 0x50, 0x44, 0x72, 0x69, 0x66, + 0x74, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x72, 0x69, 0x66, 0x74, 0x12, 0x43, + 0x0a, 0x14, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x5f, 0x64, 0x72, 0x69, 0x66, 0x74, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6c, + 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x54, 0x50, 0x44, 0x72, 0x69, 0x66, 0x74, 0x52, + 0x12, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x72, + 0x69, 0x66, 0x74, 0x1a, 0x3f, 0x0a, 0x11, 0x47, 0x61, 0x70, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, + 0x72, 0x61, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0x43, 0x0a, 0x0c, 0x54, 0x69, 0x6d, 0x65, 0x64, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x6e, 0x69, 0x78, 0x5f, 0x6d, 0x69, 0x63, + 0x72, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x6e, 0x69, 0x78, 0x4d, 0x69, + 0x63, 0x72, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x05, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2a, 0x2f, 0x0a, 0x0a, 0x41, 0x75, 0x64, + 0x69, 0x6f, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45, 0x46, 0x41, 0x55, + 0x4c, 0x54, 0x5f, 0x41, 0x43, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4f, 0x50, 0x55, 0x53, 0x10, + 0x01, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x41, 0x43, 0x10, 0x02, 0x2a, 0x56, 0x0a, 0x0a, 0x56, 0x69, + 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45, 0x46, 0x41, + 0x55, 0x4c, 0x54, 0x5f, 0x56, 0x43, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x48, 0x32, 0x36, 0x34, + 0x5f, 0x42, 0x41, 0x53, 0x45, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x48, + 0x32, 0x36, 0x34, 0x5f, 0x4d, 0x41, 0x49, 0x4e, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x48, 0x32, + 0x36, 0x34, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x56, 0x50, 0x38, + 0x10, 0x04, 0x2a, 0x29, 0x0a, 0x0a, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x63, + 0x12, 0x0e, 0x0a, 0x0a, 0x49, 0x43, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, + 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x43, 0x5f, 0x4a, 0x50, 0x45, 0x47, 0x10, 0x01, 0x2a, 0x2b, 0x0a, + 0x09, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x55, + 0x44, 0x49, 0x4f, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x10, 0x01, + 0x12, 0x08, 0x0a, 0x04, 0x44, 0x41, 0x54, 0x41, 0x10, 0x02, 0x2a, 0x60, 0x0a, 0x0b, 0x54, 0x72, + 0x61, 0x63, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, + 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x41, 0x4d, 0x45, 0x52, 0x41, + 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x49, 0x43, 0x52, 0x4f, 0x50, 0x48, 0x4f, 0x4e, 0x45, + 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x43, 0x52, 0x45, 0x45, 0x4e, 0x5f, 0x53, 0x48, 0x41, + 0x52, 0x45, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x43, 0x52, 0x45, 0x45, 0x4e, 0x5f, 0x53, + 0x48, 0x41, 0x52, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x10, 0x04, 0x2a, 0x36, 0x0a, 0x0c, + 0x56, 0x69, 0x64, 0x65, 0x6f, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x07, 0x0a, 0x03, + 0x4c, 0x4f, 0x57, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x45, 0x44, 0x49, 0x55, 0x4d, 0x10, + 0x01, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x49, 0x47, 0x48, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x4f, + 0x46, 0x46, 0x10, 0x03, 0x2a, 0x40, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x4f, 0x4f, + 0x52, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x47, 0x4f, 0x4f, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, + 0x09, 0x45, 0x58, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, + 0x4c, 0x4f, 0x53, 0x54, 0x10, 0x03, 0x2a, 0x3b, 0x0a, 0x13, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x09, 0x0a, + 0x05, 0x55, 0x4e, 0x53, 0x45, 0x54, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x49, 0x53, 0x41, + 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, + 0x44, 0x10, 0x02, 0x2a, 0xdb, 0x01, 0x0a, 0x10, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x4b, 0x4e, + 0x4f, 0x57, 0x4e, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, + 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x54, 0x45, 0x44, + 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x55, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x45, 0x5f, + 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x45, + 0x52, 0x56, 0x45, 0x52, 0x5f, 0x53, 0x48, 0x55, 0x54, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x03, 0x12, + 0x17, 0x0a, 0x13, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x52, + 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x44, 0x10, 0x04, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x4f, 0x4f, 0x4d, + 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x54, + 0x41, 0x54, 0x45, 0x5f, 0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x06, 0x12, 0x10, + 0x0a, 0x0c, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x07, + 0x12, 0x0d, 0x0a, 0x09, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x08, 0x12, + 0x10, 0x0a, 0x0c, 0x53, 0x49, 0x47, 0x4e, 0x41, 0x4c, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x10, + 0x09, 0x2a, 0x89, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, + 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x52, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, + 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x52, 0x52, 0x5f, 0x53, 0x49, 0x47, 0x4e, + 0x41, 0x4c, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, + 0x01, 0x12, 0x17, 0x0a, 0x13, 0x52, 0x52, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, + 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x52, + 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, + 0x45, 0x44, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x52, 0x52, 0x5f, 0x53, 0x57, 0x49, 0x54, 0x43, + 0x48, 0x5f, 0x43, 0x41, 0x4e, 0x44, 0x49, 0x44, 0x41, 0x54, 0x45, 0x10, 0x04, 0x2a, 0x54, 0x0a, + 0x11, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, + 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x45, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x43, 0x5f, 0x55, + 0x4e, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, + 0x53, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x4e, 0x4f, 0x54, 0x46, 0x4f, 0x55, 0x4e, + 0x44, 0x10, 0x02, 0x2a, 0xa3, 0x01, 0x0a, 0x11, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x54, 0x72, 0x61, + 0x63, 0x6b, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x46, 0x5f, + 0x53, 0x54, 0x45, 0x52, 0x45, 0x4f, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x46, 0x5f, 0x4e, + 0x4f, 0x5f, 0x44, 0x54, 0x58, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x54, 0x46, 0x5f, 0x41, 0x55, + 0x54, 0x4f, 0x5f, 0x47, 0x41, 0x49, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x10, + 0x02, 0x12, 0x18, 0x0a, 0x14, 0x54, 0x46, 0x5f, 0x45, 0x43, 0x48, 0x4f, 0x5f, 0x43, 0x41, 0x4e, + 0x43, 0x45, 0x4c, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x54, + 0x46, 0x5f, 0x4e, 0x4f, 0x49, 0x53, 0x45, 0x5f, 0x53, 0x55, 0x50, 0x50, 0x52, 0x45, 0x53, 0x53, + 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x22, 0x0a, 0x1e, 0x54, 0x46, 0x5f, 0x45, 0x4e, 0x48, 0x41, + 0x4e, 0x43, 0x45, 0x44, 0x5f, 0x4e, 0x4f, 0x49, 0x53, 0x45, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, + 0x4c, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x05, 0x42, 0x46, 0x5a, 0x23, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0xaa, 0x02, 0x0d, 0x4c, 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0xea, 0x02, 0x0e, 0x4c, 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x3a, 0x3a, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -4080,106 +4283,113 @@ func file_livekit_models_proto_rawDescGZIP() []byte { return file_livekit_models_proto_rawDescData } -var file_livekit_models_proto_enumTypes = make([]protoimpl.EnumInfo, 18) -var file_livekit_models_proto_msgTypes = make([]protoimpl.MessageInfo, 26) +var file_livekit_models_proto_enumTypes = make([]protoimpl.EnumInfo, 20) +var file_livekit_models_proto_msgTypes = make([]protoimpl.MessageInfo, 28) var file_livekit_models_proto_goTypes = []interface{}{ - (AudioCodec)(0), // 0: livekit.AudioCodec - (VideoCodec)(0), // 1: livekit.VideoCodec - (ImageCodec)(0), // 2: livekit.ImageCodec - (TrackType)(0), // 3: livekit.TrackType - (TrackSource)(0), // 4: livekit.TrackSource - (VideoQuality)(0), // 5: livekit.VideoQuality - (ConnectionQuality)(0), // 6: livekit.ConnectionQuality - (ClientConfigSetting)(0), // 7: livekit.ClientConfigSetting - (DisconnectReason)(0), // 8: livekit.DisconnectReason - (ReconnectReason)(0), // 9: livekit.ReconnectReason - (SubscriptionError)(0), // 10: livekit.SubscriptionError - (AudioTrackFeature)(0), // 11: livekit.AudioTrackFeature - (ParticipantInfo_State)(0), // 12: livekit.ParticipantInfo.State - (ParticipantInfo_Kind)(0), // 13: livekit.ParticipantInfo.Kind - (Encryption_Type)(0), // 14: livekit.Encryption.Type - (DataPacket_Kind)(0), // 15: livekit.DataPacket.Kind - (ServerInfo_Edition)(0), // 16: livekit.ServerInfo.Edition - (ClientInfo_SDK)(0), // 17: livekit.ClientInfo.SDK - (*Room)(nil), // 18: livekit.Room - (*Codec)(nil), // 19: livekit.Codec - (*PlayoutDelay)(nil), // 20: livekit.PlayoutDelay - (*ParticipantPermission)(nil), // 21: livekit.ParticipantPermission - (*ParticipantInfo)(nil), // 22: livekit.ParticipantInfo - (*Encryption)(nil), // 23: livekit.Encryption - (*SimulcastCodecInfo)(nil), // 24: livekit.SimulcastCodecInfo - (*TrackInfo)(nil), // 25: livekit.TrackInfo - (*VideoLayer)(nil), // 26: livekit.VideoLayer - (*DataPacket)(nil), // 27: livekit.DataPacket - (*ActiveSpeakerUpdate)(nil), // 28: livekit.ActiveSpeakerUpdate - (*SpeakerInfo)(nil), // 29: livekit.SpeakerInfo - (*UserPacket)(nil), // 30: livekit.UserPacket - (*SipDTMF)(nil), // 31: livekit.SipDTMF - (*Transcription)(nil), // 32: livekit.Transcription - (*TranscriptionSegment)(nil), // 33: livekit.TranscriptionSegment - (*ParticipantTracks)(nil), // 34: livekit.ParticipantTracks - (*ServerInfo)(nil), // 35: livekit.ServerInfo - (*ClientInfo)(nil), // 36: livekit.ClientInfo - (*ClientConfiguration)(nil), // 37: livekit.ClientConfiguration - (*VideoConfiguration)(nil), // 38: livekit.VideoConfiguration - (*DisabledCodecs)(nil), // 39: livekit.DisabledCodecs - (*RTPDrift)(nil), // 40: livekit.RTPDrift - (*RTPStats)(nil), // 41: livekit.RTPStats - (*TimedVersion)(nil), // 42: livekit.TimedVersion - nil, // 43: livekit.RTPStats.GapHistogramEntry - (*timestamppb.Timestamp)(nil), // 44: google.protobuf.Timestamp + (AudioCodec)(0), // 0: livekit.AudioCodec + (VideoCodec)(0), // 1: livekit.VideoCodec + (ImageCodec)(0), // 2: livekit.ImageCodec + (TrackType)(0), // 3: livekit.TrackType + (TrackSource)(0), // 4: livekit.TrackSource + (VideoQuality)(0), // 5: livekit.VideoQuality + (ConnectionQuality)(0), // 6: livekit.ConnectionQuality + (ClientConfigSetting)(0), // 7: livekit.ClientConfigSetting + (DisconnectReason)(0), // 8: livekit.DisconnectReason + (ReconnectReason)(0), // 9: livekit.ReconnectReason + (SubscriptionError)(0), // 10: livekit.SubscriptionError + (AudioTrackFeature)(0), // 11: livekit.AudioTrackFeature + (Room_MetadataKey)(0), // 12: livekit.Room.MetadataKey + (ParticipantInfo_State)(0), // 13: livekit.ParticipantInfo.State + (ParticipantInfo_Kind)(0), // 14: livekit.ParticipantInfo.Kind + (ParticipantInfo_ParticipantKey)(0), // 15: livekit.ParticipantInfo.ParticipantKey + (Encryption_Type)(0), // 16: livekit.Encryption.Type + (DataPacket_Kind)(0), // 17: livekit.DataPacket.Kind + (ServerInfo_Edition)(0), // 18: livekit.ServerInfo.Edition + (ClientInfo_SDK)(0), // 19: livekit.ClientInfo.SDK + (*KVMetadata)(nil), // 20: livekit.KVMetadata + (*Room)(nil), // 21: livekit.Room + (*Codec)(nil), // 22: livekit.Codec + (*PlayoutDelay)(nil), // 23: livekit.PlayoutDelay + (*ParticipantPermission)(nil), // 24: livekit.ParticipantPermission + (*ParticipantInfo)(nil), // 25: livekit.ParticipantInfo + (*Encryption)(nil), // 26: livekit.Encryption + (*SimulcastCodecInfo)(nil), // 27: livekit.SimulcastCodecInfo + (*TrackInfo)(nil), // 28: livekit.TrackInfo + (*VideoLayer)(nil), // 29: livekit.VideoLayer + (*DataPacket)(nil), // 30: livekit.DataPacket + (*ActiveSpeakerUpdate)(nil), // 31: livekit.ActiveSpeakerUpdate + (*SpeakerInfo)(nil), // 32: livekit.SpeakerInfo + (*UserPacket)(nil), // 33: livekit.UserPacket + (*SipDTMF)(nil), // 34: livekit.SipDTMF + (*Transcription)(nil), // 35: livekit.Transcription + (*TranscriptionSegment)(nil), // 36: livekit.TranscriptionSegment + (*ParticipantTracks)(nil), // 37: livekit.ParticipantTracks + (*ServerInfo)(nil), // 38: livekit.ServerInfo + (*ClientInfo)(nil), // 39: livekit.ClientInfo + (*ClientConfiguration)(nil), // 40: livekit.ClientConfiguration + (*VideoConfiguration)(nil), // 41: livekit.VideoConfiguration + (*DisabledCodecs)(nil), // 42: livekit.DisabledCodecs + (*RTPDrift)(nil), // 43: livekit.RTPDrift + (*RTPStats)(nil), // 44: livekit.RTPStats + (*TimedVersion)(nil), // 45: livekit.TimedVersion + nil, // 46: livekit.KVMetadata.KvEntry + nil, // 47: livekit.RTPStats.GapHistogramEntry + (*timestamppb.Timestamp)(nil), // 48: google.protobuf.Timestamp } var file_livekit_models_proto_depIdxs = []int32{ - 19, // 0: livekit.Room.enabled_codecs:type_name -> livekit.Codec - 42, // 1: livekit.Room.version:type_name -> livekit.TimedVersion - 4, // 2: livekit.ParticipantPermission.can_publish_sources:type_name -> livekit.TrackSource - 12, // 3: livekit.ParticipantInfo.state:type_name -> livekit.ParticipantInfo.State - 25, // 4: livekit.ParticipantInfo.tracks:type_name -> livekit.TrackInfo - 21, // 5: livekit.ParticipantInfo.permission:type_name -> livekit.ParticipantPermission - 13, // 6: livekit.ParticipantInfo.kind:type_name -> livekit.ParticipantInfo.Kind - 26, // 7: livekit.SimulcastCodecInfo.layers:type_name -> livekit.VideoLayer - 3, // 8: livekit.TrackInfo.type:type_name -> livekit.TrackType - 4, // 9: livekit.TrackInfo.source:type_name -> livekit.TrackSource - 26, // 10: livekit.TrackInfo.layers:type_name -> livekit.VideoLayer - 24, // 11: livekit.TrackInfo.codecs:type_name -> livekit.SimulcastCodecInfo - 14, // 12: livekit.TrackInfo.encryption:type_name -> livekit.Encryption.Type - 42, // 13: livekit.TrackInfo.version:type_name -> livekit.TimedVersion - 11, // 14: livekit.TrackInfo.audio_features:type_name -> livekit.AudioTrackFeature - 5, // 15: livekit.VideoLayer.quality:type_name -> livekit.VideoQuality - 15, // 16: livekit.DataPacket.kind:type_name -> livekit.DataPacket.Kind - 30, // 17: livekit.DataPacket.user:type_name -> livekit.UserPacket - 28, // 18: livekit.DataPacket.speaker:type_name -> livekit.ActiveSpeakerUpdate - 31, // 19: livekit.DataPacket.sip_dtmf:type_name -> livekit.SipDTMF - 32, // 20: livekit.DataPacket.transcription:type_name -> livekit.Transcription - 29, // 21: livekit.ActiveSpeakerUpdate.speakers:type_name -> livekit.SpeakerInfo - 33, // 22: livekit.Transcription.segments:type_name -> livekit.TranscriptionSegment - 16, // 23: livekit.ServerInfo.edition:type_name -> livekit.ServerInfo.Edition - 17, // 24: livekit.ClientInfo.sdk:type_name -> livekit.ClientInfo.SDK - 38, // 25: livekit.ClientConfiguration.video:type_name -> livekit.VideoConfiguration - 38, // 26: livekit.ClientConfiguration.screen:type_name -> livekit.VideoConfiguration - 7, // 27: livekit.ClientConfiguration.resume_connection:type_name -> livekit.ClientConfigSetting - 39, // 28: livekit.ClientConfiguration.disabled_codecs:type_name -> livekit.DisabledCodecs - 7, // 29: livekit.ClientConfiguration.force_relay:type_name -> livekit.ClientConfigSetting - 7, // 30: livekit.VideoConfiguration.hardware_encoder:type_name -> livekit.ClientConfigSetting - 19, // 31: livekit.DisabledCodecs.codecs:type_name -> livekit.Codec - 19, // 32: livekit.DisabledCodecs.publish:type_name -> livekit.Codec - 44, // 33: livekit.RTPDrift.start_time:type_name -> google.protobuf.Timestamp - 44, // 34: livekit.RTPDrift.end_time:type_name -> google.protobuf.Timestamp - 44, // 35: livekit.RTPStats.start_time:type_name -> google.protobuf.Timestamp - 44, // 36: livekit.RTPStats.end_time:type_name -> google.protobuf.Timestamp - 43, // 37: livekit.RTPStats.gap_histogram:type_name -> livekit.RTPStats.GapHistogramEntry - 44, // 38: livekit.RTPStats.last_pli:type_name -> google.protobuf.Timestamp - 44, // 39: livekit.RTPStats.last_fir:type_name -> google.protobuf.Timestamp - 44, // 40: livekit.RTPStats.last_key_frame:type_name -> google.protobuf.Timestamp - 44, // 41: livekit.RTPStats.last_layer_lock_pli:type_name -> google.protobuf.Timestamp - 40, // 42: livekit.RTPStats.packet_drift:type_name -> livekit.RTPDrift - 40, // 43: livekit.RTPStats.report_drift:type_name -> livekit.RTPDrift - 40, // 44: livekit.RTPStats.rebased_report_drift:type_name -> livekit.RTPDrift - 45, // [45:45] is the sub-list for method output_type - 45, // [45:45] is the sub-list for method input_type - 45, // [45:45] is the sub-list for extension type_name - 45, // [45:45] is the sub-list for extension extendee - 0, // [0:45] is the sub-list for field type_name + 46, // 0: livekit.KVMetadata.kv:type_name -> livekit.KVMetadata.KvEntry + 22, // 1: livekit.Room.enabled_codecs:type_name -> livekit.Codec + 20, // 2: livekit.Room.kv_metadata:type_name -> livekit.KVMetadata + 45, // 3: livekit.Room.version:type_name -> livekit.TimedVersion + 4, // 4: livekit.ParticipantPermission.can_publish_sources:type_name -> livekit.TrackSource + 13, // 5: livekit.ParticipantInfo.state:type_name -> livekit.ParticipantInfo.State + 28, // 6: livekit.ParticipantInfo.tracks:type_name -> livekit.TrackInfo + 20, // 7: livekit.ParticipantInfo.kv_metadata:type_name -> livekit.KVMetadata + 24, // 8: livekit.ParticipantInfo.permission:type_name -> livekit.ParticipantPermission + 14, // 9: livekit.ParticipantInfo.kind:type_name -> livekit.ParticipantInfo.Kind + 29, // 10: livekit.SimulcastCodecInfo.layers:type_name -> livekit.VideoLayer + 3, // 11: livekit.TrackInfo.type:type_name -> livekit.TrackType + 4, // 12: livekit.TrackInfo.source:type_name -> livekit.TrackSource + 29, // 13: livekit.TrackInfo.layers:type_name -> livekit.VideoLayer + 27, // 14: livekit.TrackInfo.codecs:type_name -> livekit.SimulcastCodecInfo + 16, // 15: livekit.TrackInfo.encryption:type_name -> livekit.Encryption.Type + 45, // 16: livekit.TrackInfo.version:type_name -> livekit.TimedVersion + 11, // 17: livekit.TrackInfo.audio_features:type_name -> livekit.AudioTrackFeature + 5, // 18: livekit.VideoLayer.quality:type_name -> livekit.VideoQuality + 17, // 19: livekit.DataPacket.kind:type_name -> livekit.DataPacket.Kind + 33, // 20: livekit.DataPacket.user:type_name -> livekit.UserPacket + 31, // 21: livekit.DataPacket.speaker:type_name -> livekit.ActiveSpeakerUpdate + 34, // 22: livekit.DataPacket.sip_dtmf:type_name -> livekit.SipDTMF + 35, // 23: livekit.DataPacket.transcription:type_name -> livekit.Transcription + 32, // 24: livekit.ActiveSpeakerUpdate.speakers:type_name -> livekit.SpeakerInfo + 36, // 25: livekit.Transcription.segments:type_name -> livekit.TranscriptionSegment + 18, // 26: livekit.ServerInfo.edition:type_name -> livekit.ServerInfo.Edition + 19, // 27: livekit.ClientInfo.sdk:type_name -> livekit.ClientInfo.SDK + 41, // 28: livekit.ClientConfiguration.video:type_name -> livekit.VideoConfiguration + 41, // 29: livekit.ClientConfiguration.screen:type_name -> livekit.VideoConfiguration + 7, // 30: livekit.ClientConfiguration.resume_connection:type_name -> livekit.ClientConfigSetting + 42, // 31: livekit.ClientConfiguration.disabled_codecs:type_name -> livekit.DisabledCodecs + 7, // 32: livekit.ClientConfiguration.force_relay:type_name -> livekit.ClientConfigSetting + 7, // 33: livekit.VideoConfiguration.hardware_encoder:type_name -> livekit.ClientConfigSetting + 22, // 34: livekit.DisabledCodecs.codecs:type_name -> livekit.Codec + 22, // 35: livekit.DisabledCodecs.publish:type_name -> livekit.Codec + 48, // 36: livekit.RTPDrift.start_time:type_name -> google.protobuf.Timestamp + 48, // 37: livekit.RTPDrift.end_time:type_name -> google.protobuf.Timestamp + 48, // 38: livekit.RTPStats.start_time:type_name -> google.protobuf.Timestamp + 48, // 39: livekit.RTPStats.end_time:type_name -> google.protobuf.Timestamp + 47, // 40: livekit.RTPStats.gap_histogram:type_name -> livekit.RTPStats.GapHistogramEntry + 48, // 41: livekit.RTPStats.last_pli:type_name -> google.protobuf.Timestamp + 48, // 42: livekit.RTPStats.last_fir:type_name -> google.protobuf.Timestamp + 48, // 43: livekit.RTPStats.last_key_frame:type_name -> google.protobuf.Timestamp + 48, // 44: livekit.RTPStats.last_layer_lock_pli:type_name -> google.protobuf.Timestamp + 43, // 45: livekit.RTPStats.packet_drift:type_name -> livekit.RTPDrift + 43, // 46: livekit.RTPStats.report_drift:type_name -> livekit.RTPDrift + 43, // 47: livekit.RTPStats.rebased_report_drift:type_name -> livekit.RTPDrift + 48, // [48:48] is the sub-list for method output_type + 48, // [48:48] is the sub-list for method input_type + 48, // [48:48] is the sub-list for extension type_name + 48, // [48:48] is the sub-list for extension extendee + 0, // [0:48] is the sub-list for field type_name } func init() { file_livekit_models_proto_init() } @@ -4189,7 +4399,7 @@ func file_livekit_models_proto_init() { } if !protoimpl.UnsafeEnabled { file_livekit_models_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Room); i { + switch v := v.(*KVMetadata); i { case 0: return &v.state case 1: @@ -4201,7 +4411,7 @@ func file_livekit_models_proto_init() { } } file_livekit_models_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Codec); i { + switch v := v.(*Room); i { case 0: return &v.state case 1: @@ -4213,7 +4423,7 @@ func file_livekit_models_proto_init() { } } file_livekit_models_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PlayoutDelay); i { + switch v := v.(*Codec); i { case 0: return &v.state case 1: @@ -4225,7 +4435,7 @@ func file_livekit_models_proto_init() { } } file_livekit_models_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParticipantPermission); i { + switch v := v.(*PlayoutDelay); i { case 0: return &v.state case 1: @@ -4237,7 +4447,7 @@ func file_livekit_models_proto_init() { } } file_livekit_models_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParticipantInfo); i { + switch v := v.(*ParticipantPermission); i { case 0: return &v.state case 1: @@ -4249,7 +4459,7 @@ func file_livekit_models_proto_init() { } } file_livekit_models_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Encryption); i { + switch v := v.(*ParticipantInfo); i { case 0: return &v.state case 1: @@ -4261,7 +4471,7 @@ func file_livekit_models_proto_init() { } } file_livekit_models_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SimulcastCodecInfo); i { + switch v := v.(*Encryption); i { case 0: return &v.state case 1: @@ -4273,7 +4483,7 @@ func file_livekit_models_proto_init() { } } file_livekit_models_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TrackInfo); i { + switch v := v.(*SimulcastCodecInfo); i { case 0: return &v.state case 1: @@ -4285,7 +4495,7 @@ func file_livekit_models_proto_init() { } } file_livekit_models_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VideoLayer); i { + switch v := v.(*TrackInfo); i { case 0: return &v.state case 1: @@ -4297,7 +4507,7 @@ func file_livekit_models_proto_init() { } } file_livekit_models_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DataPacket); i { + switch v := v.(*VideoLayer); i { case 0: return &v.state case 1: @@ -4309,7 +4519,7 @@ func file_livekit_models_proto_init() { } } file_livekit_models_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ActiveSpeakerUpdate); i { + switch v := v.(*DataPacket); i { case 0: return &v.state case 1: @@ -4321,7 +4531,7 @@ func file_livekit_models_proto_init() { } } file_livekit_models_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SpeakerInfo); i { + switch v := v.(*ActiveSpeakerUpdate); i { case 0: return &v.state case 1: @@ -4333,7 +4543,7 @@ func file_livekit_models_proto_init() { } } file_livekit_models_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserPacket); i { + switch v := v.(*SpeakerInfo); i { case 0: return &v.state case 1: @@ -4345,7 +4555,7 @@ func file_livekit_models_proto_init() { } } file_livekit_models_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SipDTMF); i { + switch v := v.(*UserPacket); i { case 0: return &v.state case 1: @@ -4357,7 +4567,7 @@ func file_livekit_models_proto_init() { } } file_livekit_models_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Transcription); i { + switch v := v.(*SipDTMF); i { case 0: return &v.state case 1: @@ -4369,7 +4579,7 @@ func file_livekit_models_proto_init() { } } file_livekit_models_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TranscriptionSegment); i { + switch v := v.(*Transcription); i { case 0: return &v.state case 1: @@ -4381,7 +4591,7 @@ func file_livekit_models_proto_init() { } } file_livekit_models_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParticipantTracks); i { + switch v := v.(*TranscriptionSegment); i { case 0: return &v.state case 1: @@ -4393,7 +4603,7 @@ func file_livekit_models_proto_init() { } } file_livekit_models_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ServerInfo); i { + switch v := v.(*ParticipantTracks); i { case 0: return &v.state case 1: @@ -4405,7 +4615,7 @@ func file_livekit_models_proto_init() { } } file_livekit_models_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ClientInfo); i { + switch v := v.(*ServerInfo); i { case 0: return &v.state case 1: @@ -4417,7 +4627,7 @@ func file_livekit_models_proto_init() { } } file_livekit_models_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ClientConfiguration); i { + switch v := v.(*ClientInfo); i { case 0: return &v.state case 1: @@ -4429,7 +4639,7 @@ func file_livekit_models_proto_init() { } } file_livekit_models_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VideoConfiguration); i { + switch v := v.(*ClientConfiguration); i { case 0: return &v.state case 1: @@ -4441,7 +4651,7 @@ func file_livekit_models_proto_init() { } } file_livekit_models_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisabledCodecs); i { + switch v := v.(*VideoConfiguration); i { case 0: return &v.state case 1: @@ -4453,7 +4663,7 @@ func file_livekit_models_proto_init() { } } file_livekit_models_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RTPDrift); i { + switch v := v.(*DisabledCodecs); i { case 0: return &v.state case 1: @@ -4465,7 +4675,7 @@ func file_livekit_models_proto_init() { } } file_livekit_models_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RTPStats); i { + switch v := v.(*RTPDrift); i { case 0: return &v.state case 1: @@ -4477,6 +4687,18 @@ func file_livekit_models_proto_init() { } } file_livekit_models_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RTPStats); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_livekit_models_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TimedVersion); i { case 0: return &v.state @@ -4489,20 +4711,20 @@ func file_livekit_models_proto_init() { } } } - file_livekit_models_proto_msgTypes[9].OneofWrappers = []interface{}{ + file_livekit_models_proto_msgTypes[10].OneofWrappers = []interface{}{ (*DataPacket_User)(nil), (*DataPacket_Speaker)(nil), (*DataPacket_SipDtmf)(nil), (*DataPacket_Transcription)(nil), } - file_livekit_models_proto_msgTypes[12].OneofWrappers = []interface{}{} + file_livekit_models_proto_msgTypes[13].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_livekit_models_proto_rawDesc, - NumEnums: 18, - NumMessages: 26, + NumEnums: 20, + NumMessages: 28, NumExtensions: 0, NumServices: 0, }, diff --git a/livekit/livekit_room.pb.go b/livekit/livekit_room.pb.go index 2102b2659..e79962885 100644 --- a/livekit/livekit_room.pb.go +++ b/livekit/livekit_room.pb.go @@ -50,7 +50,8 @@ type CreateRoomRequest struct { // override the node room is allocated to, for debugging NodeId string `protobuf:"bytes,4,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` // metadata of room - Metadata string `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"` + Metadata string `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"` + KvMetadata *KVMetadata `protobuf:"bytes,11,opt,name=kv_metadata,json=kvMetadata,proto3" json:"kv_metadata,omitempty"` // egress Egress *RoomEgress `protobuf:"bytes,6,opt,name=egress,proto3" json:"egress,omitempty"` // playout delay of subscriber @@ -135,6 +136,13 @@ func (x *CreateRoomRequest) GetMetadata() string { return "" } +func (x *CreateRoomRequest) GetKvMetadata() *KVMetadata { + if x != nil { + return x.KvMetadata + } + return nil +} + func (x *CreateRoomRequest) GetEgress() *RoomEgress { if x != nil { return x.Egress @@ -1113,7 +1121,7 @@ var file_livekit_room_proto_rawDesc = []byte{ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x1a, 0x14, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x5f, 0x65, 0x67, 0x72, - 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x81, 0x03, 0x0a, 0x11, 0x43, 0x72, + 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb7, 0x03, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x74, 0x69, 0x6d, @@ -1127,174 +1135,178 @@ var file_livekit_room_proto_rawDesc = []byte{ 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2b, 0x0a, 0x06, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, - 0x52, 0x6f, 0x6f, 0x6d, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x06, 0x65, 0x67, 0x72, 0x65, - 0x73, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x6f, 0x75, - 0x74, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6d, - 0x69, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x2a, - 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x5f, 0x64, 0x65, - 0x6c, 0x61, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x50, 0x6c, - 0x61, 0x79, 0x6f, 0x75, 0x74, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x79, - 0x6e, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0b, 0x73, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x22, 0xb9, 0x01, - 0x0a, 0x0a, 0x52, 0x6f, 0x6f, 0x6d, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x37, 0x0a, 0x04, - 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6c, 0x69, 0x76, - 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x65, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, - 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x40, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, - 0x70, 0x61, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x69, 0x76, - 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, - 0x70, 0x61, 0x6e, 0x74, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, - 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x06, 0x74, 0x72, 0x61, 0x63, 0x6b, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, - 0x74, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x45, 0x67, 0x72, 0x65, 0x73, - 0x73, 0x52, 0x06, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x22, 0x28, 0x0a, 0x10, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, - 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x61, - 0x6d, 0x65, 0x73, 0x22, 0x38, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x05, 0x72, 0x6f, 0x6f, 0x6d, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, - 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x22, 0x27, 0x0a, - 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x22, 0x14, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2d, 0x0a, 0x17, - 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x22, 0x58, 0x0a, 0x18, 0x4c, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x34, 0x0a, 0x0b, 0x6b, 0x76, 0x5f, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, + 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4b, 0x56, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, + 0x0a, 0x6b, 0x76, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2b, 0x0a, 0x06, 0x65, + 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, + 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, + 0x52, 0x06, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x69, 0x6e, 0x5f, + 0x70, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x69, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x44, + 0x65, 0x6c, 0x61, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x6c, 0x61, 0x79, + 0x6f, 0x75, 0x74, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0f, 0x6d, 0x61, 0x78, 0x50, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x44, 0x65, 0x6c, 0x61, 0x79, + 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x73, 0x22, 0xb9, 0x01, 0x0a, 0x0a, 0x52, 0x6f, 0x6f, 0x6d, 0x45, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x12, 0x37, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x43, + 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x40, 0x0a, 0x0b, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x50, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, + 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x30, 0x0a, + 0x06, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, + 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x54, 0x72, 0x61, 0x63, + 0x6b, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x06, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x22, + 0x28, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x38, 0x0a, 0x11, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, + 0x0a, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, + 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x05, 0x72, 0x6f, + 0x6f, 0x6d, 0x73, 0x22, 0x27, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6f, + 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x22, 0x14, 0x0a, 0x12, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x2d, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, + 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, + 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, + 0x6d, 0x22, 0x58, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, + 0x70, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, + 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, + 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x22, 0x49, 0x0a, 0x17, 0x52, + 0x6f, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x1b, 0x0a, 0x19, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x79, 0x0a, 0x14, 0x4d, 0x75, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x54, + 0x72, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, + 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, + 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x74, + 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x74, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x75, 0x74, 0x65, + 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x22, 0x41, + 0x0a, 0x15, 0x4d, 0x75, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x63, 0x6b, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x74, 0x72, 0x61, 0x63, + 0x6b, 0x22, 0xba, 0x01, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, + 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, + 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1a, + 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3e, 0x0a, 0x0a, 0x70, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, + 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, + 0x70, 0x61, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, + 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xd4, + 0x01, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, + 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, + 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, + 0x0a, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x09, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x69, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x09, + 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x09, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x49, 0x0a, 0x12, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x73, + 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x63, + 0x6b, 0x73, 0x52, 0x11, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x54, + 0x72, 0x61, 0x63, 0x6b, 0x73, 0x22, 0x1d, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf2, 0x01, 0x0a, 0x0f, 0x53, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, + 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x12, 0x0a, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x2c, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, + 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, 0x63, + 0x6b, 0x65, 0x74, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x2d, + 0x0a, 0x10, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, + 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0f, 0x64, 0x65, + 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, 0x73, 0x12, 0x35, 0x0a, + 0x16, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x64, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x69, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x88, 0x01, 0x01, 0x42, + 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x22, 0x12, 0x0a, 0x10, 0x53, 0x65, 0x6e, + 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x0a, + 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, + 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x1a, + 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x32, 0xe6, 0x06, 0x0a, 0x0b, 0x52, + 0x6f, 0x6f, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x37, 0x0a, 0x0a, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, + 0x69, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, + 0x6f, 0x6f, 0x6d, 0x12, 0x42, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, + 0x12, 0x19, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6c, 0x69, + 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, + 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, + 0x74, 0x73, 0x12, 0x20, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, - 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x50, 0x61, + 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x20, 0x2e, 0x6c, 0x69, 0x76, 0x65, + 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, + 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x1a, 0x18, 0x2e, 0x6c, 0x69, + 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, + 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x59, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x20, 0x2e, 0x6c, 0x69, 0x76, + 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, + 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x1a, 0x22, 0x2e, 0x6c, + 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x61, 0x72, + 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x53, 0x0a, 0x12, 0x4d, 0x75, 0x74, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, + 0x64, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x12, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x4d, 0x75, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, + 0x4d, 0x75, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x21, 0x2e, 0x6c, 0x69, 0x76, + 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, + 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, - 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, - 0x70, 0x61, 0x6e, 0x74, 0x73, 0x22, 0x49, 0x0a, 0x17, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x61, 0x72, - 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x22, 0x1b, 0x0a, 0x19, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, - 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x79, 0x0a, - 0x14, 0x4d, 0x75, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x73, - 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x53, - 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x05, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x22, 0x41, 0x0a, 0x15, 0x4d, 0x75, 0x74, 0x65, - 0x52, 0x6f, 0x6f, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x28, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x22, 0xba, 0x01, 0x0a, 0x18, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, - 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x12, 0x3e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, - 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x50, 0x65, - 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xd4, 0x01, 0x0a, 0x1a, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x69, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x63, 0x6b, - 0x5f, 0x73, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x74, 0x72, 0x61, - 0x63, 0x6b, 0x53, 0x69, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x62, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x75, 0x62, 0x73, 0x63, - 0x72, 0x69, 0x62, 0x65, 0x12, 0x49, 0x0a, 0x12, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, - 0x61, 0x6e, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, - 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x52, 0x11, 0x70, 0x61, - 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x22, - 0x1d, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf2, - 0x01, 0x0a, 0x0f, 0x53, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2c, 0x0a, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, - 0x69, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4b, 0x69, - 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x2d, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x74, - 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, - 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, 0x73, 0x12, 0x35, 0x0a, 0x16, 0x64, 0x65, 0x73, 0x74, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, - 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x19, - 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x6f, - 0x70, 0x69, 0x63, 0x22, 0x12, 0x0a, 0x10, 0x53, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x60, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x23, + 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x08, 0x53, 0x65, 0x6e, + 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, + 0x53, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x19, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x44, 0x61, + 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x12, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x22, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x32, 0xe6, 0x06, 0x0a, 0x0b, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x12, 0x37, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, - 0x6f, 0x6d, 0x12, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, - 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x42, 0x0a, - 0x09, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x12, 0x19, 0x2e, 0x6c, 0x69, 0x76, - 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x45, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x12, - 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6c, 0x69, - 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, - 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x20, 0x2e, 0x6c, - 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, - 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, - 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, - 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x4c, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, - 0x61, 0x6e, 0x74, 0x12, 0x20, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, - 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x1a, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, - 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, - 0x59, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, - 0x70, 0x61, 0x6e, 0x74, 0x12, 0x20, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, - 0x6f, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x1a, 0x22, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, - 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, - 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x12, 0x4d, 0x75, - 0x74, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x54, 0x72, 0x61, 0x63, 0x6b, - 0x12, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4d, 0x75, 0x74, 0x65, 0x52, - 0x6f, 0x6f, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4d, 0x75, 0x74, 0x65, 0x52, 0x6f, - 0x6f, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x50, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, - 0x70, 0x61, 0x6e, 0x74, 0x12, 0x21, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, - 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x60, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x23, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, - 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, - 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x08, 0x53, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, - 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x44, 0x61, - 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x6c, 0x69, 0x76, 0x65, - 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, - 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x22, 0x2e, 0x6c, 0x69, 0x76, - 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, - 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x42, 0x46, 0x5a, - 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x76, 0x65, - 0x6b, 0x69, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x6c, 0x69, 0x76, - 0x65, 0x6b, 0x69, 0x74, 0xaa, 0x02, 0x0d, 0x4c, 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x2e, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0xea, 0x02, 0x0e, 0x4c, 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x3a, 0x3a, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, + 0x6f, 0x6f, 0x6d, 0x42, 0x46, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, + 0x6f, 0x6c, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0xaa, 0x02, 0x0d, 0x4c, 0x69, 0x76, + 0x65, 0x4b, 0x69, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0xea, 0x02, 0x0e, 0x4c, 0x69, 0x76, + 0x65, 0x4b, 0x69, 0x74, 0x3a, 0x3a, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( @@ -1329,54 +1341,56 @@ var file_livekit_room_proto_goTypes = []interface{}{ (*SendDataRequest)(nil), // 15: livekit.SendDataRequest (*SendDataResponse)(nil), // 16: livekit.SendDataResponse (*UpdateRoomMetadataRequest)(nil), // 17: livekit.UpdateRoomMetadataRequest - (*RoomCompositeEgressRequest)(nil), // 18: livekit.RoomCompositeEgressRequest - (*AutoParticipantEgress)(nil), // 19: livekit.AutoParticipantEgress - (*AutoTrackEgress)(nil), // 20: livekit.AutoTrackEgress - (*Room)(nil), // 21: livekit.Room - (*ParticipantInfo)(nil), // 22: livekit.ParticipantInfo - (*TrackInfo)(nil), // 23: livekit.TrackInfo - (*ParticipantPermission)(nil), // 24: livekit.ParticipantPermission - (*ParticipantTracks)(nil), // 25: livekit.ParticipantTracks - (DataPacket_Kind)(0), // 26: livekit.DataPacket.Kind + (*KVMetadata)(nil), // 18: livekit.KVMetadata + (*RoomCompositeEgressRequest)(nil), // 19: livekit.RoomCompositeEgressRequest + (*AutoParticipantEgress)(nil), // 20: livekit.AutoParticipantEgress + (*AutoTrackEgress)(nil), // 21: livekit.AutoTrackEgress + (*Room)(nil), // 22: livekit.Room + (*ParticipantInfo)(nil), // 23: livekit.ParticipantInfo + (*TrackInfo)(nil), // 24: livekit.TrackInfo + (*ParticipantPermission)(nil), // 25: livekit.ParticipantPermission + (*ParticipantTracks)(nil), // 26: livekit.ParticipantTracks + (DataPacket_Kind)(0), // 27: livekit.DataPacket.Kind } var file_livekit_room_proto_depIdxs = []int32{ - 1, // 0: livekit.CreateRoomRequest.egress:type_name -> livekit.RoomEgress - 18, // 1: livekit.RoomEgress.room:type_name -> livekit.RoomCompositeEgressRequest - 19, // 2: livekit.RoomEgress.participant:type_name -> livekit.AutoParticipantEgress - 20, // 3: livekit.RoomEgress.tracks:type_name -> livekit.AutoTrackEgress - 21, // 4: livekit.ListRoomsResponse.rooms:type_name -> livekit.Room - 22, // 5: livekit.ListParticipantsResponse.participants:type_name -> livekit.ParticipantInfo - 23, // 6: livekit.MuteRoomTrackResponse.track:type_name -> livekit.TrackInfo - 24, // 7: livekit.UpdateParticipantRequest.permission:type_name -> livekit.ParticipantPermission - 25, // 8: livekit.UpdateSubscriptionsRequest.participant_tracks:type_name -> livekit.ParticipantTracks - 26, // 9: livekit.SendDataRequest.kind:type_name -> livekit.DataPacket.Kind - 0, // 10: livekit.RoomService.CreateRoom:input_type -> livekit.CreateRoomRequest - 2, // 11: livekit.RoomService.ListRooms:input_type -> livekit.ListRoomsRequest - 4, // 12: livekit.RoomService.DeleteRoom:input_type -> livekit.DeleteRoomRequest - 6, // 13: livekit.RoomService.ListParticipants:input_type -> livekit.ListParticipantsRequest - 8, // 14: livekit.RoomService.GetParticipant:input_type -> livekit.RoomParticipantIdentity - 8, // 15: livekit.RoomService.RemoveParticipant:input_type -> livekit.RoomParticipantIdentity - 10, // 16: livekit.RoomService.MutePublishedTrack:input_type -> livekit.MuteRoomTrackRequest - 12, // 17: livekit.RoomService.UpdateParticipant:input_type -> livekit.UpdateParticipantRequest - 13, // 18: livekit.RoomService.UpdateSubscriptions:input_type -> livekit.UpdateSubscriptionsRequest - 15, // 19: livekit.RoomService.SendData:input_type -> livekit.SendDataRequest - 17, // 20: livekit.RoomService.UpdateRoomMetadata:input_type -> livekit.UpdateRoomMetadataRequest - 21, // 21: livekit.RoomService.CreateRoom:output_type -> livekit.Room - 3, // 22: livekit.RoomService.ListRooms:output_type -> livekit.ListRoomsResponse - 5, // 23: livekit.RoomService.DeleteRoom:output_type -> livekit.DeleteRoomResponse - 7, // 24: livekit.RoomService.ListParticipants:output_type -> livekit.ListParticipantsResponse - 22, // 25: livekit.RoomService.GetParticipant:output_type -> livekit.ParticipantInfo - 9, // 26: livekit.RoomService.RemoveParticipant:output_type -> livekit.RemoveParticipantResponse - 11, // 27: livekit.RoomService.MutePublishedTrack:output_type -> livekit.MuteRoomTrackResponse - 22, // 28: livekit.RoomService.UpdateParticipant:output_type -> livekit.ParticipantInfo - 14, // 29: livekit.RoomService.UpdateSubscriptions:output_type -> livekit.UpdateSubscriptionsResponse - 16, // 30: livekit.RoomService.SendData:output_type -> livekit.SendDataResponse - 21, // 31: livekit.RoomService.UpdateRoomMetadata:output_type -> livekit.Room - 21, // [21:32] is the sub-list for method output_type - 10, // [10:21] is the sub-list for method input_type - 10, // [10:10] is the sub-list for extension type_name - 10, // [10:10] is the sub-list for extension extendee - 0, // [0:10] is the sub-list for field type_name + 18, // 0: livekit.CreateRoomRequest.kv_metadata:type_name -> livekit.KVMetadata + 1, // 1: livekit.CreateRoomRequest.egress:type_name -> livekit.RoomEgress + 19, // 2: livekit.RoomEgress.room:type_name -> livekit.RoomCompositeEgressRequest + 20, // 3: livekit.RoomEgress.participant:type_name -> livekit.AutoParticipantEgress + 21, // 4: livekit.RoomEgress.tracks:type_name -> livekit.AutoTrackEgress + 22, // 5: livekit.ListRoomsResponse.rooms:type_name -> livekit.Room + 23, // 6: livekit.ListParticipantsResponse.participants:type_name -> livekit.ParticipantInfo + 24, // 7: livekit.MuteRoomTrackResponse.track:type_name -> livekit.TrackInfo + 25, // 8: livekit.UpdateParticipantRequest.permission:type_name -> livekit.ParticipantPermission + 26, // 9: livekit.UpdateSubscriptionsRequest.participant_tracks:type_name -> livekit.ParticipantTracks + 27, // 10: livekit.SendDataRequest.kind:type_name -> livekit.DataPacket.Kind + 0, // 11: livekit.RoomService.CreateRoom:input_type -> livekit.CreateRoomRequest + 2, // 12: livekit.RoomService.ListRooms:input_type -> livekit.ListRoomsRequest + 4, // 13: livekit.RoomService.DeleteRoom:input_type -> livekit.DeleteRoomRequest + 6, // 14: livekit.RoomService.ListParticipants:input_type -> livekit.ListParticipantsRequest + 8, // 15: livekit.RoomService.GetParticipant:input_type -> livekit.RoomParticipantIdentity + 8, // 16: livekit.RoomService.RemoveParticipant:input_type -> livekit.RoomParticipantIdentity + 10, // 17: livekit.RoomService.MutePublishedTrack:input_type -> livekit.MuteRoomTrackRequest + 12, // 18: livekit.RoomService.UpdateParticipant:input_type -> livekit.UpdateParticipantRequest + 13, // 19: livekit.RoomService.UpdateSubscriptions:input_type -> livekit.UpdateSubscriptionsRequest + 15, // 20: livekit.RoomService.SendData:input_type -> livekit.SendDataRequest + 17, // 21: livekit.RoomService.UpdateRoomMetadata:input_type -> livekit.UpdateRoomMetadataRequest + 22, // 22: livekit.RoomService.CreateRoom:output_type -> livekit.Room + 3, // 23: livekit.RoomService.ListRooms:output_type -> livekit.ListRoomsResponse + 5, // 24: livekit.RoomService.DeleteRoom:output_type -> livekit.DeleteRoomResponse + 7, // 25: livekit.RoomService.ListParticipants:output_type -> livekit.ListParticipantsResponse + 23, // 26: livekit.RoomService.GetParticipant:output_type -> livekit.ParticipantInfo + 9, // 27: livekit.RoomService.RemoveParticipant:output_type -> livekit.RemoveParticipantResponse + 11, // 28: livekit.RoomService.MutePublishedTrack:output_type -> livekit.MuteRoomTrackResponse + 23, // 29: livekit.RoomService.UpdateParticipant:output_type -> livekit.ParticipantInfo + 14, // 30: livekit.RoomService.UpdateSubscriptions:output_type -> livekit.UpdateSubscriptionsResponse + 16, // 31: livekit.RoomService.SendData:output_type -> livekit.SendDataResponse + 22, // 32: livekit.RoomService.UpdateRoomMetadata:output_type -> livekit.Room + 22, // [22:33] is the sub-list for method output_type + 11, // [11:22] is the sub-list for method input_type + 11, // [11:11] is the sub-list for extension type_name + 11, // [11:11] is the sub-list for extension extendee + 0, // [0:11] is the sub-list for field type_name } func init() { file_livekit_room_proto_init() } diff --git a/livekit/livekit_room.twirp.go b/livekit/livekit_room.twirp.go index f53c62b30..a41b722ca 100644 --- a/livekit/livekit_room.twirp.go +++ b/livekit/livekit_room.twirp.go @@ -3322,73 +3322,75 @@ func (s *roomServiceServer) PathPrefix() string { } var twirpFileDescriptor2 = []byte{ - // 1087 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xdd, 0x6e, 0x1b, 0x45, - 0x14, 0x66, 0x13, 0xdb, 0xb1, 0x8f, 0xf3, 0xe7, 0x69, 0x4a, 0x36, 0x1b, 0x52, 0xb9, 0x1b, 0x24, - 0x0c, 0xa5, 0x29, 0x32, 0x42, 0x45, 0x15, 0x02, 0x9a, 0xa6, 0x94, 0x28, 0xa9, 0x64, 0x8d, 0x8b, - 0xf8, 0xb9, 0x31, 0x1b, 0xef, 0xd0, 0x8e, 0xe2, 0xdd, 0x59, 0x76, 0x66, 0xa3, 0xfa, 0x92, 0x3b, - 0x9e, 0x85, 0x37, 0x80, 0xe7, 0xe0, 0x19, 0xb8, 0xe0, 0x92, 0x27, 0x40, 0xf3, 0xe3, 0xdd, 0x59, - 0x7b, 0x6d, 0x50, 0xef, 0x3c, 0xe7, 0x7c, 0x73, 0xe6, 0x9c, 0xef, 0x9c, 0xf3, 0xad, 0x01, 0x4d, - 0xe8, 0x0d, 0xb9, 0xa6, 0x62, 0x94, 0x32, 0x16, 0x9d, 0x24, 0x29, 0x13, 0x0c, 0x6d, 0x18, 0x9b, - 0xb7, 0x37, 0x73, 0x46, 0x2c, 0x24, 0x13, 0xae, 0xdd, 0x85, 0x95, 0xbc, 0x4c, 0x09, 0x37, 0x56, - 0xff, 0x97, 0x75, 0xe8, 0x3c, 0x49, 0x49, 0x20, 0x08, 0x66, 0x2c, 0xc2, 0xe4, 0xe7, 0x8c, 0x70, - 0x81, 0x10, 0xd4, 0xe2, 0x20, 0x22, 0xae, 0xd3, 0x75, 0x7a, 0x2d, 0xac, 0x7e, 0xa3, 0x63, 0xd8, - 0x22, 0x51, 0x22, 0xa6, 0x23, 0x41, 0x23, 0xc2, 0x32, 0xe1, 0xae, 0x75, 0x9d, 0xde, 0x16, 0xde, - 0x54, 0xc6, 0x17, 0xda, 0x86, 0xee, 0x41, 0x27, 0x24, 0x49, 0x90, 0x8a, 0x2c, 0x25, 0x39, 0x10, - 0x14, 0x70, 0x37, 0x77, 0xcc, 0xc0, 0xef, 0xc3, 0x6e, 0x14, 0xbc, 0x1e, 0x49, 0x2b, 0x1d, 0xd3, - 0x24, 0x88, 0x05, 0x77, 0xd7, 0x15, 0x76, 0x27, 0x0a, 0x5e, 0x0f, 0x2c, 0x33, 0xda, 0x87, 0x8d, - 0x98, 0x85, 0x64, 0x44, 0x43, 0xb7, 0xa6, 0x72, 0x6a, 0xc8, 0xe3, 0x79, 0x88, 0x3c, 0x68, 0x46, - 0x44, 0x04, 0x61, 0x20, 0x02, 0xb7, 0xae, 0x3c, 0xf9, 0x19, 0xdd, 0x83, 0x86, 0xae, 0xd5, 0x6d, - 0x74, 0x9d, 0x5e, 0xbb, 0x7f, 0xeb, 0xc4, 0x50, 0x70, 0x22, 0x6b, 0x7d, 0xaa, 0x5c, 0xd8, 0x40, - 0xd0, 0x07, 0xd0, 0x89, 0x68, 0x3c, 0x4a, 0x26, 0xc1, 0x94, 0x65, 0x62, 0x14, 0x92, 0x49, 0x30, - 0x75, 0x37, 0x4c, 0x36, 0x34, 0x1e, 0x68, 0xfb, 0x99, 0x34, 0x2b, 0xac, 0x4c, 0xbc, 0x84, 0x6d, - 0x16, 0x99, 0xdb, 0xd8, 0xbb, 0xb0, 0xc9, 0xa7, 0xf1, 0x78, 0xc4, 0x45, 0x4a, 0x82, 0x88, 0xbb, - 0xad, 0xae, 0xd3, 0x6b, 0xe2, 0xb6, 0xb4, 0x0d, 0xb5, 0xc9, 0xff, 0xdd, 0x01, 0x28, 0x32, 0x42, - 0x0f, 0xa1, 0x26, 0xbb, 0xaa, 0xc8, 0x6f, 0xf7, 0x8f, 0x4b, 0x49, 0x3f, 0x61, 0x51, 0xc2, 0x38, - 0x15, 0xc4, 0x64, 0xaf, 0xfb, 0x85, 0xd5, 0x05, 0xf4, 0x25, 0xb4, 0x2d, 0x2e, 0x15, 0x95, 0xed, - 0xfe, 0x9d, 0xfc, 0xfe, 0xe3, 0x4c, 0x30, 0x8b, 0x54, 0x13, 0xc1, 0xbe, 0x82, 0x3e, 0x82, 0x86, - 0x48, 0x83, 0xf1, 0x35, 0x57, 0xcd, 0x6d, 0xf7, 0xdd, 0xd2, 0xe5, 0x17, 0xd2, 0x35, 0xa3, 0x4d, - 0xe3, 0xfc, 0x1e, 0xec, 0x5e, 0x52, 0x2e, 0x64, 0x6e, 0xb3, 0x6c, 0xd0, 0x1e, 0xd4, 0xe5, 0xc4, - 0x70, 0xd7, 0xe9, 0xae, 0xf7, 0x5a, 0x58, 0x1f, 0xfc, 0x4f, 0xa1, 0x63, 0x21, 0x79, 0xc2, 0x62, - 0x2e, 0x87, 0xaa, 0x2e, 0x53, 0xd7, 0xd0, 0x76, 0x7f, 0xab, 0x54, 0x2c, 0xd6, 0x3e, 0xff, 0x3d, - 0xe8, 0x9c, 0x91, 0x09, 0x59, 0x18, 0xd1, 0x9c, 0xa5, 0x96, 0x26, 0xc0, 0xdf, 0x03, 0x64, 0x03, - 0xf5, 0x1b, 0xfe, 0x7d, 0xd8, 0x97, 0x0f, 0xdb, 0xf3, 0xb4, 0x2a, 0xc8, 0x77, 0xe0, 0x2e, 0xc2, - 0x4d, 0xba, 0x9f, 0xc1, 0x66, 0x69, 0x5a, 0x75, 0xd6, 0x05, 0x4b, 0xd6, 0xa5, 0xf3, 0xf8, 0x27, - 0x86, 0x4b, 0x68, 0xff, 0x1c, 0xf6, 0x65, 0x62, 0x36, 0x28, 0x24, 0xb1, 0xa0, 0x62, 0x5a, 0x95, - 0x88, 0x1c, 0x6d, 0x6a, 0xfc, 0xaa, 0x1d, 0x2d, 0x9c, 0x9f, 0xfd, 0x43, 0x38, 0xc0, 0x24, 0x62, - 0x37, 0xc4, 0x0a, 0x96, 0x17, 0x3c, 0x85, 0xbd, 0xe7, 0x99, 0x26, 0x41, 0xb5, 0x6c, 0x45, 0xb5, - 0xab, 0x1e, 0x41, 0x87, 0xd0, 0x52, 0x5d, 0x1e, 0x71, 0x1a, 0xaa, 0x69, 0x6a, 0xe1, 0xa6, 0x32, - 0x0c, 0x69, 0x28, 0x9b, 0x1c, 0x65, 0x82, 0xe8, 0x7d, 0x6c, 0x62, 0x7d, 0xf0, 0x1f, 0xc3, 0xed, - 0xb9, 0xa7, 0x0d, 0x73, 0x3d, 0xa8, 0xab, 0xab, 0x66, 0xaa, 0x51, 0x4e, 0x99, 0x82, 0x29, 0xb2, - 0x34, 0xc0, 0xff, 0xc3, 0x01, 0xf7, 0x9b, 0x24, 0x0c, 0x44, 0xb9, 0xb6, 0x37, 0x2b, 0xc1, 0x96, - 0x87, 0xf5, 0x39, 0x79, 0xf8, 0x1c, 0x20, 0x21, 0x69, 0x44, 0x39, 0xa7, 0x2c, 0x56, 0x65, 0xd8, - 0xdb, 0x62, 0x3d, 0x3e, 0xc8, 0x51, 0xd8, 0xba, 0x91, 0x8b, 0x64, 0xbd, 0x10, 0x49, 0xff, 0x4f, - 0x07, 0x3c, 0x9d, 0xfc, 0x30, 0xbb, 0xe2, 0xe3, 0x94, 0x26, 0x82, 0xb2, 0x98, 0xbf, 0x69, 0xfa, - 0x47, 0x00, 0x79, 0x07, 0xa4, 0x36, 0xca, 0x75, 0x6a, 0xcd, 0x5a, 0xc0, 0xd1, 0x3b, 0xd0, 0xe2, - 0xfa, 0x99, 0x2b, 0x62, 0xfa, 0x50, 0x18, 0xd0, 0x39, 0x20, 0x6b, 0xfc, 0x46, 0x66, 0xb1, 0xeb, - 0x6a, 0x64, 0xbd, 0xaa, 0x3a, 0x55, 0x2b, 0x38, 0xee, 0x24, 0xf3, 0x26, 0xff, 0x08, 0x0e, 0x2b, - 0xab, 0x32, 0x03, 0xf7, 0x8f, 0x03, 0x3b, 0x43, 0x12, 0x87, 0x67, 0x81, 0x08, 0x56, 0x95, 0x8a, - 0xa0, 0xa6, 0x3a, 0x21, 0xcb, 0xdc, 0xc4, 0xea, 0x37, 0xfa, 0x10, 0x6a, 0xd7, 0x34, 0xd6, 0xf3, - 0xb5, 0x6d, 0xad, 0x92, 0x8c, 0x35, 0x08, 0xc6, 0xd7, 0x44, 0x9c, 0x5c, 0xd0, 0x38, 0xc4, 0x0a, - 0x85, 0xee, 0xc3, 0x6e, 0x48, 0xb8, 0xa0, 0x71, 0x20, 0x33, 0xd0, 0xb4, 0xd4, 0x24, 0x2d, 0xa7, - 0x6b, 0xae, 0x83, 0x77, 0x2c, 0x9f, 0x22, 0xe8, 0x13, 0x78, 0xdb, 0x86, 0x1b, 0x5e, 0x29, 0x91, - 0x5f, 0x04, 0xc9, 0xe5, 0x6d, 0xcb, 0x7b, 0x9e, 0x3b, 0xd1, 0x01, 0xd4, 0x05, 0x4b, 0xe8, 0x58, - 0xb7, 0xf6, 0xeb, 0xb7, 0xb0, 0x3e, 0xfe, 0xea, 0x38, 0xa7, 0x4d, 0x68, 0x8c, 0xd4, 0xc1, 0x47, - 0xb0, 0x5b, 0xd4, 0x6c, 0x88, 0xb8, 0x80, 0x03, 0xcd, 0x93, 0x5c, 0x80, 0xe7, 0x66, 0xd0, 0xfe, - 0xa3, 0xf9, 0xf9, 0x7c, 0xae, 0x95, 0xe7, 0xb3, 0xff, 0x57, 0x03, 0xda, 0x32, 0xce, 0x90, 0xa4, - 0x37, 0x74, 0x4c, 0xd0, 0x43, 0x80, 0xe2, 0x4b, 0x8d, 0x8a, 0x0e, 0x2e, 0x7c, 0xbe, 0xbd, 0xb2, - 0x8c, 0xa2, 0x53, 0x68, 0xe5, 0xca, 0x8b, 0x0e, 0x72, 0xdf, 0xbc, 0x6e, 0x7b, 0x5e, 0x95, 0xcb, - 0xec, 0xef, 0x53, 0x80, 0x42, 0x5a, 0xad, 0xc7, 0x17, 0x84, 0xd9, 0x3b, 0xac, 0xf4, 0x99, 0x30, - 0xdf, 0xea, 0xcf, 0x45, 0xe9, 0xdb, 0xde, 0x2d, 0x3d, 0x5b, 0x21, 0xd3, 0xde, 0xdd, 0x15, 0x08, - 0x13, 0xf8, 0x12, 0xb6, 0x9f, 0x11, 0xdb, 0x65, 0x85, 0x5d, 0x22, 0xba, 0xde, 0x52, 0xdd, 0x46, - 0xdf, 0x43, 0x67, 0x41, 0x5e, 0xff, 0x47, 0x40, 0xbf, 0x40, 0x2c, 0x13, 0x67, 0x34, 0x04, 0x24, - 0x15, 0x72, 0x90, 0x5d, 0x4d, 0x28, 0x7f, 0x45, 0x42, 0xb5, 0x61, 0xe8, 0x28, 0xbf, 0x59, 0xa5, - 0xdc, 0xde, 0x9d, 0x65, 0x6e, 0x13, 0x74, 0x00, 0x9d, 0x05, 0xc9, 0x44, 0x05, 0x6b, 0xcb, 0xe4, - 0x74, 0x05, 0x03, 0x3f, 0xc2, 0xad, 0x8a, 0x8d, 0x47, 0xc7, 0x73, 0x31, 0xab, 0x54, 0xce, 0x7b, - 0x77, 0x35, 0xc8, 0xe4, 0xfc, 0x05, 0x34, 0x67, 0xfb, 0x83, 0x8a, 0x3c, 0xe6, 0x64, 0xc4, 0x3b, - 0xa8, 0xf0, 0x98, 0x00, 0xcf, 0x00, 0x2d, 0x2e, 0x1b, 0xf2, 0xe7, 0x1e, 0xaf, 0xd8, 0xc4, 0xb9, - 0xfd, 0x38, 0xfd, 0xea, 0x87, 0xe3, 0x97, 0x54, 0xbc, 0xca, 0xae, 0x4e, 0xc6, 0x2c, 0x7a, 0x60, - 0x5c, 0x0f, 0xd4, 0xff, 0xe3, 0x31, 0x9b, 0xcc, 0x0c, 0xbf, 0xad, 0x6d, 0x5d, 0xd2, 0x1b, 0x72, - 0x21, 0xc9, 0x92, 0xae, 0xbf, 0xd7, 0xb6, 0xcd, 0xf9, 0xd1, 0x23, 0x65, 0xb8, 0x6a, 0xa8, 0x2b, - 0x1f, 0xff, 0x1b, 0x00, 0x00, 0xff, 0xff, 0xc5, 0x5e, 0x21, 0x05, 0x9d, 0x0b, 0x00, 0x00, + // 1109 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xdf, 0x6e, 0x1b, 0xc5, + 0x17, 0xfe, 0x6d, 0x62, 0xbb, 0xf6, 0x71, 0xd2, 0xc4, 0xd3, 0xf4, 0x97, 0xcd, 0x86, 0x54, 0xee, + 0x06, 0x09, 0x43, 0x69, 0x8a, 0x0c, 0xa8, 0xa8, 0x42, 0x40, 0xd3, 0x94, 0x12, 0x25, 0x95, 0xac, + 0x71, 0xf9, 0x7b, 0xb3, 0x6c, 0xbc, 0x43, 0x3b, 0xb2, 0x77, 0x67, 0xd9, 0x19, 0x5b, 0xf5, 0x1b, + 0xf0, 0x2c, 0xbc, 0x00, 0x82, 0xe7, 0xe0, 0x19, 0xb8, 0xe0, 0x92, 0x27, 0x40, 0xf3, 0xc7, 0xbb, + 0xb3, 0xf6, 0xc6, 0x42, 0xbd, 0xf3, 0x9c, 0xf3, 0xcd, 0x99, 0x73, 0xbe, 0x73, 0xce, 0xb7, 0x06, + 0x34, 0xa1, 0x33, 0x32, 0xa6, 0x22, 0xc8, 0x18, 0x8b, 0x4f, 0xd2, 0x8c, 0x09, 0x86, 0x6e, 0x18, + 0x9b, 0xb7, 0xb7, 0x70, 0xc6, 0x2c, 0x22, 0x13, 0xae, 0xdd, 0x85, 0x95, 0xbc, 0xcc, 0x08, 0x37, + 0x56, 0xff, 0xb7, 0x4d, 0xe8, 0x3c, 0xc9, 0x48, 0x28, 0x08, 0x66, 0x2c, 0xc6, 0xe4, 0xe7, 0x29, + 0xe1, 0x02, 0x21, 0xa8, 0x25, 0x61, 0x4c, 0x5c, 0xa7, 0xeb, 0xf4, 0x5a, 0x58, 0xfd, 0x46, 0xc7, + 0xb0, 0x4d, 0xe2, 0x54, 0xcc, 0x03, 0x41, 0x63, 0xc2, 0xa6, 0xc2, 0xdd, 0xe8, 0x3a, 0xbd, 0x6d, + 0xbc, 0xa5, 0x8c, 0x2f, 0xb4, 0x0d, 0xdd, 0x83, 0x4e, 0x44, 0xd2, 0x30, 0x13, 0xd3, 0x8c, 0xe4, + 0x40, 0x50, 0xc0, 0xdd, 0xdc, 0xb1, 0x00, 0xbf, 0x0b, 0xbb, 0x71, 0xf8, 0x3a, 0x90, 0x56, 0x3a, + 0xa2, 0x69, 0x98, 0x08, 0xee, 0x6e, 0x2a, 0xec, 0x4e, 0x1c, 0xbe, 0x1e, 0x58, 0x66, 0xb4, 0x0f, + 0x37, 0x12, 0x16, 0x91, 0x80, 0x46, 0x6e, 0x4d, 0xe5, 0xd4, 0x90, 0xc7, 0xf3, 0x08, 0x79, 0xd0, + 0x8c, 0x89, 0x08, 0xa3, 0x50, 0x84, 0x6e, 0x5d, 0x79, 0xf2, 0x33, 0xfa, 0x08, 0xda, 0xe3, 0x59, + 0x90, 0xbb, 0xdb, 0x5d, 0xa7, 0xd7, 0xee, 0xdf, 0x3a, 0x31, 0x3c, 0x9c, 0x5c, 0x7c, 0xf3, 0xdc, + 0xb8, 0x30, 0x8c, 0x67, 0x8b, 0xdf, 0xe8, 0x1e, 0x34, 0x34, 0x43, 0x6e, 0x63, 0xe9, 0x82, 0x64, + 0xe8, 0xa9, 0x72, 0x61, 0x03, 0x41, 0xef, 0x41, 0x27, 0xa6, 0x49, 0x90, 0x4e, 0xc2, 0x39, 0x9b, + 0x8a, 0x20, 0x22, 0x93, 0x70, 0xee, 0xde, 0x30, 0x35, 0xd0, 0x64, 0xa0, 0xed, 0x67, 0xd2, 0xac, + 0xb0, 0xb2, 0xdc, 0x12, 0xb6, 0x59, 0xd4, 0x6b, 0x63, 0xef, 0xc2, 0x16, 0x9f, 0x27, 0xa3, 0x80, + 0x8b, 0x8c, 0x84, 0x31, 0x77, 0x5b, 0x5d, 0xa7, 0xd7, 0xc4, 0x6d, 0x69, 0x1b, 0x6a, 0x93, 0xff, + 0xbb, 0x03, 0x50, 0x64, 0x84, 0x1e, 0x42, 0x4d, 0xce, 0x82, 0x6a, 0x59, 0xbb, 0x7f, 0x5c, 0x4a, + 0xfa, 0x09, 0x8b, 0x53, 0xc6, 0xa9, 0x20, 0x26, 0x7b, 0xdd, 0x65, 0xac, 0x2e, 0xa0, 0x2f, 0xa0, + 0x6d, 0x75, 0x40, 0x35, 0xa0, 0xdd, 0xbf, 0x93, 0xdf, 0x7f, 0x3c, 0x15, 0xcc, 0x6a, 0x85, 0x89, + 0x60, 0x5f, 0x41, 0x1f, 0x40, 0x43, 0x64, 0xe1, 0x68, 0xcc, 0xd5, 0x48, 0xb4, 0xfb, 0x6e, 0xe9, + 0xf2, 0x0b, 0xe9, 0x5a, 0xd0, 0xa6, 0x71, 0x7e, 0x0f, 0x76, 0x2f, 0x29, 0x17, 0x32, 0xb7, 0x45, + 0x36, 0x68, 0x0f, 0xea, 0x72, 0xce, 0xb8, 0xeb, 0x74, 0x37, 0x7b, 0x2d, 0xac, 0x0f, 0xfe, 0x27, + 0xd0, 0xb1, 0x90, 0x3c, 0x65, 0x09, 0x97, 0xa3, 0x58, 0x97, 0xa9, 0x6b, 0x68, 0xbb, 0xbf, 0x5d, + 0x2a, 0x16, 0x6b, 0x9f, 0xff, 0x0e, 0x74, 0xce, 0xc8, 0x84, 0xac, 0x0c, 0x76, 0xce, 0x52, 0x4b, + 0x13, 0xe0, 0xef, 0x01, 0xb2, 0x81, 0xfa, 0x0d, 0xff, 0x3e, 0xec, 0xcb, 0x87, 0xed, 0x29, 0x5c, + 0x17, 0xe4, 0x3b, 0x70, 0x57, 0xe1, 0x26, 0xdd, 0x4f, 0x61, 0xab, 0x34, 0xe3, 0x3a, 0xeb, 0x82, + 0x25, 0xeb, 0xd2, 0x79, 0xf2, 0x13, 0xc3, 0x25, 0xb4, 0x7f, 0x0e, 0xfb, 0x32, 0x31, 0x1b, 0x14, + 0x91, 0x44, 0x50, 0x31, 0xaf, 0x4a, 0x44, 0x2e, 0x04, 0x35, 0x7e, 0xd5, 0x8e, 0x16, 0xce, 0xcf, + 0xfe, 0x21, 0x1c, 0x60, 0x12, 0xb3, 0x19, 0xb1, 0x82, 0xe5, 0x05, 0xcf, 0x61, 0xef, 0xf9, 0x54, + 0x93, 0xa0, 0x5a, 0xb6, 0xa6, 0xda, 0x75, 0x8f, 0xa0, 0x43, 0x68, 0xa9, 0x2e, 0x07, 0x9c, 0x46, + 0x6a, 0x9a, 0x5a, 0xb8, 0xa9, 0x0c, 0x43, 0x1a, 0xc9, 0x26, 0xc7, 0x53, 0x41, 0xf4, 0x16, 0x37, + 0xb1, 0x3e, 0xf8, 0x8f, 0xe1, 0xf6, 0xd2, 0xd3, 0x86, 0xb9, 0x1e, 0xd4, 0xd5, 0x55, 0x33, 0xd5, + 0x28, 0xa7, 0x4c, 0xc1, 0x14, 0x59, 0x1a, 0xe0, 0xff, 0xe1, 0x80, 0xfb, 0x75, 0x1a, 0x85, 0xa2, + 0x5c, 0xdb, 0x9b, 0x95, 0x60, 0x8b, 0xca, 0xe6, 0x92, 0xa8, 0x7c, 0x06, 0x90, 0x92, 0x2c, 0xa6, + 0x9c, 0x53, 0x96, 0xa8, 0x32, 0xec, 0x6d, 0xb1, 0x1e, 0x1f, 0xe4, 0x28, 0x6c, 0xdd, 0xc8, 0xa5, + 0xb5, 0x5e, 0x48, 0xab, 0xff, 0xa7, 0x03, 0x9e, 0x4e, 0x7e, 0x38, 0xbd, 0xe2, 0xa3, 0x8c, 0xa6, + 0x82, 0xb2, 0x84, 0xbf, 0x69, 0xfa, 0x47, 0x00, 0x79, 0x07, 0xa4, 0xa2, 0xca, 0x75, 0x6a, 0x2d, + 0x5a, 0xc0, 0xd1, 0x5b, 0xd0, 0xe2, 0xfa, 0x99, 0x2b, 0x62, 0xfa, 0x50, 0x18, 0xd0, 0x39, 0x20, + 0x6b, 0xfc, 0x02, 0xb3, 0xd8, 0x75, 0x35, 0xb2, 0x5e, 0x55, 0x9d, 0xaa, 0x15, 0x1c, 0x77, 0xd2, + 0x65, 0x93, 0x7f, 0x04, 0x87, 0x95, 0x55, 0x99, 0x81, 0xfb, 0xc7, 0x81, 0x9d, 0x21, 0x49, 0xa2, + 0x33, 0xa9, 0xc0, 0x6b, 0x4a, 0x45, 0x50, 0x53, 0x9d, 0x90, 0x65, 0x6e, 0x61, 0xf5, 0x1b, 0xbd, + 0x0f, 0xb5, 0x31, 0x4d, 0xf4, 0x7c, 0xdd, 0xb4, 0x56, 0x49, 0xc6, 0x1a, 0x84, 0xa3, 0x31, 0x11, + 0x27, 0x17, 0x34, 0x89, 0xb0, 0x42, 0xa1, 0xfb, 0xb0, 0x1b, 0x11, 0x2e, 0x68, 0x12, 0xca, 0x0c, + 0x34, 0x2d, 0x35, 0x49, 0xcb, 0xe9, 0x86, 0xeb, 0xe0, 0x1d, 0xcb, 0xa7, 0x08, 0xfa, 0x18, 0xfe, + 0x6f, 0xc3, 0x0d, 0xaf, 0x94, 0xc8, 0x2f, 0x82, 0xe4, 0xf2, 0xb6, 0xe5, 0x3d, 0xcf, 0x9d, 0xe8, + 0x00, 0xea, 0x82, 0xa5, 0x74, 0xa4, 0x5b, 0xfb, 0xd5, 0xff, 0xb0, 0x3e, 0xfe, 0xe2, 0x38, 0xa7, + 0x4d, 0x68, 0x04, 0xea, 0xe0, 0x23, 0xd8, 0x2d, 0x6a, 0x36, 0x44, 0x5c, 0xc0, 0x81, 0xe6, 0x49, + 0x2e, 0x40, 0xfe, 0x4d, 0x5a, 0xdf, 0xfc, 0x7c, 0x3e, 0x37, 0xca, 0xf3, 0xd9, 0xff, 0xab, 0x01, + 0x6d, 0x19, 0x67, 0x48, 0xb2, 0x19, 0x1d, 0x11, 0xf4, 0x10, 0xa0, 0xf8, 0xbe, 0xa3, 0xa2, 0x83, + 0x2b, 0x1f, 0x7d, 0xaf, 0x2c, 0xa3, 0xe8, 0x14, 0x5a, 0xb9, 0xf2, 0xa2, 0x83, 0xdc, 0xb7, 0xac, + 0xdb, 0x9e, 0x57, 0xe5, 0x32, 0xfb, 0xfb, 0x14, 0xa0, 0x90, 0x56, 0xeb, 0xf1, 0x15, 0x61, 0xf6, + 0x0e, 0x2b, 0x7d, 0x26, 0xcc, 0xb7, 0xfa, 0x73, 0x51, 0xfa, 0x47, 0xd0, 0x2d, 0x3d, 0x5b, 0x21, + 0xd3, 0xde, 0xdd, 0x35, 0x08, 0x13, 0xf8, 0x12, 0x6e, 0x3e, 0x23, 0xb6, 0xcb, 0x0a, 0x7b, 0x8d, + 0xe8, 0x7a, 0xd7, 0xea, 0x36, 0xfa, 0x1e, 0x3a, 0x2b, 0xf2, 0xfa, 0x1f, 0x02, 0xfa, 0x05, 0xe2, + 0x3a, 0x71, 0x46, 0x43, 0x40, 0x52, 0x21, 0x07, 0xd3, 0xab, 0x09, 0xe5, 0xaf, 0x48, 0xa4, 0x36, + 0x0c, 0x1d, 0xe5, 0x37, 0xab, 0x94, 0xdb, 0xbb, 0x73, 0x9d, 0xdb, 0x04, 0x1d, 0x40, 0x67, 0x45, + 0x32, 0x51, 0xc1, 0xda, 0x75, 0x72, 0xba, 0x86, 0x81, 0x1f, 0xe1, 0x56, 0xc5, 0xc6, 0xa3, 0xe3, + 0xa5, 0x98, 0x55, 0x2a, 0xe7, 0xbd, 0xbd, 0x1e, 0x64, 0x72, 0xfe, 0x1c, 0x9a, 0x8b, 0xfd, 0x41, + 0x45, 0x1e, 0x4b, 0x32, 0xe2, 0x1d, 0x54, 0x78, 0x4c, 0x80, 0x67, 0x80, 0x56, 0x97, 0x0d, 0xf9, + 0x4b, 0x8f, 0x57, 0x6c, 0xe2, 0xd2, 0x7e, 0x9c, 0x7e, 0xf9, 0xc3, 0xf1, 0x4b, 0x2a, 0x5e, 0x4d, + 0xaf, 0x4e, 0x46, 0x2c, 0x7e, 0x60, 0x5c, 0x0f, 0xd4, 0xbf, 0xea, 0x11, 0x9b, 0x2c, 0x0c, 0xbf, + 0x6e, 0x6c, 0x5f, 0xd2, 0x19, 0xb9, 0x90, 0x64, 0x49, 0xd7, 0xdf, 0x1b, 0x37, 0xcd, 0xf9, 0xd1, + 0x23, 0x65, 0xb8, 0x6a, 0xa8, 0x2b, 0x1f, 0xfe, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x33, 0xbe, 0xb7, + 0xa6, 0xd3, 0x0b, 0x00, 0x00, } diff --git a/protobufs/livekit_models.proto b/protobufs/livekit_models.proto index 20e96d497..eeef840aa 100644 --- a/protobufs/livekit_models.proto +++ b/protobufs/livekit_models.proto @@ -21,7 +21,16 @@ option ruby_package = "LiveKit::Proto"; import "google/protobuf/timestamp.proto"; +message KVMetadata { + // KV uses Key type from the corresponding model. + // Integer keys allow discovering key names from the protobuf itself. + map kv = 1; +} + message Room { + enum MetadataKey { + MD_ROOM_KEY_NONE = 0; + } string sid = 1; string name = 2; uint32 empty_timeout = 3; @@ -31,12 +40,13 @@ message Room { string turn_password = 6; repeated Codec enabled_codecs = 7; string metadata = 8; + KVMetadata kv_metadata = 15; uint32 num_participants = 9; uint32 num_publishers = 11; bool active_recording = 10; TimedVersion version = 13; - // NEXT-ID: 15 + // NEXT-ID: 16 } message Codec { @@ -113,11 +123,22 @@ message ParticipantInfo { // LiveKit agents AGENT = 4; } + enum ParticipantKey { + MD_PARTICIPANT_KEY_NONE = 0; + + MD_PARTICIPANT_KEY_SIP_CALL_ID = 1; + MD_PARTICIPANT_KEY_SIP_TRUNK_ID = 2; + MD_PARTICIPANT_KEY_SIP_DISPATCH_RULE_ID = 3; // only for inbound + MD_PARTICIPANT_KEY_SIP_TO_NUMBER = 4; + MD_PARTICIPANT_KEY_SIP_FROM_NUMBER = 5; + MD_PARTICIPANT_KEY_SIP_PROVIDER_CALL_ID = 6; // Twilio Call SID, etc + } string sid = 1; string identity = 2; State state = 3; repeated TrackInfo tracks = 4; string metadata = 5; + KVMetadata kv_metadata = 15; // timestamp when participant joined room, in seconds int64 joined_at = 6; string name = 9; @@ -128,6 +149,8 @@ message ParticipantInfo { // and can publish to the server bool is_publisher = 13; Kind kind = 14; + + // NEXT_ID: 15 } enum TrackType { diff --git a/protobufs/livekit_room.proto b/protobufs/livekit_room.proto index 949771c48..4b9954ebc 100644 --- a/protobufs/livekit_room.proto +++ b/protobufs/livekit_room.proto @@ -74,6 +74,7 @@ message CreateRoomRequest { string node_id = 4; // metadata of room string metadata = 5; + KVMetadata kv_metadata = 11; // egress RoomEgress egress = 6; // playout delay of subscriber @@ -83,7 +84,7 @@ message CreateRoomRequest { // so not recommended for rooms with frequent subscription changes bool sync_streams = 9; - // NEXT-ID: 11 + // NEXT-ID: 12 } message RoomEgress {