// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.28.1
// 	protoc        v3.20.3
// source: livekit_internal.proto

package livekit

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

type NodeType int32

const (
	NodeType_SERVER     NodeType = 0
	NodeType_CONTROLLER NodeType = 1
	NodeType_MEDIA      NodeType = 2
	NodeType_TURN       NodeType = 4
)

// Enum value maps for NodeType.
var (
	NodeType_name = map[int32]string{
		0: "SERVER",
		1: "CONTROLLER",
		2: "MEDIA",
		4: "TURN",
	}
	NodeType_value = map[string]int32{
		"SERVER":     0,
		"CONTROLLER": 1,
		"MEDIA":      2,
		"TURN":       4,
	}
)

func (x NodeType) Enum() *NodeType {
	p := new(NodeType)
	*p = x
	return p
}

func (x NodeType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (NodeType) Descriptor() protoreflect.EnumDescriptor {
	return file_livekit_internal_proto_enumTypes[0].Descriptor()
}

func (NodeType) Type() protoreflect.EnumType {
	return &file_livekit_internal_proto_enumTypes[0]
}

func (x NodeType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use NodeType.Descriptor instead.
func (NodeType) EnumDescriptor() ([]byte, []int) {
	return file_livekit_internal_proto_rawDescGZIP(), []int{0}
}

type NodeState int32

const (
	NodeState_STARTING_UP   NodeState = 0
	NodeState_SERVING       NodeState = 1
	NodeState_SHUTTING_DOWN NodeState = 2
)

// Enum value maps for NodeState.
var (
	NodeState_name = map[int32]string{
		0: "STARTING_UP",
		1: "SERVING",
		2: "SHUTTING_DOWN",
	}
	NodeState_value = map[string]int32{
		"STARTING_UP":   0,
		"SERVING":       1,
		"SHUTTING_DOWN": 2,
	}
)

func (x NodeState) Enum() *NodeState {
	p := new(NodeState)
	*p = x
	return p
}

func (x NodeState) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (NodeState) Descriptor() protoreflect.EnumDescriptor {
	return file_livekit_internal_proto_enumTypes[1].Descriptor()
}

func (NodeState) Type() protoreflect.EnumType {
	return &file_livekit_internal_proto_enumTypes[1]
}

func (x NodeState) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use NodeState.Descriptor instead.
func (NodeState) EnumDescriptor() ([]byte, []int) {
	return file_livekit_internal_proto_rawDescGZIP(), []int{1}
}

type Node struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Id      string     `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Ip      string     `protobuf:"bytes,2,opt,name=ip,proto3" json:"ip,omitempty"`
	NumCpus uint32     `protobuf:"varint,3,opt,name=num_cpus,json=numCpus,proto3" json:"num_cpus,omitempty"`
	Stats   *NodeStats `protobuf:"bytes,4,opt,name=stats,proto3" json:"stats,omitempty"`
	Type    NodeType   `protobuf:"varint,5,opt,name=type,proto3,enum=livekit.NodeType" json:"type,omitempty"`
	State   NodeState  `protobuf:"varint,6,opt,name=state,proto3,enum=livekit.NodeState" json:"state,omitempty"`
	Region  string     `protobuf:"bytes,7,opt,name=region,proto3" json:"region,omitempty"`
}

func (x *Node) Reset() {
	*x = Node{}
	if protoimpl.UnsafeEnabled {
		mi := &file_livekit_internal_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Node) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Node) ProtoMessage() {}

func (x *Node) ProtoReflect() protoreflect.Message {
	mi := &file_livekit_internal_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 Node.ProtoReflect.Descriptor instead.
func (*Node) Descriptor() ([]byte, []int) {
	return file_livekit_internal_proto_rawDescGZIP(), []int{0}
}

func (x *Node) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *Node) GetIp() string {
	if x != nil {
		return x.Ip
	}
	return ""
}

func (x *Node) GetNumCpus() uint32 {
	if x != nil {
		return x.NumCpus
	}
	return 0
}

func (x *Node) GetStats() *NodeStats {
	if x != nil {
		return x.Stats
	}
	return nil
}

func (x *Node) GetType() NodeType {
	if x != nil {
		return x.Type
	}
	return NodeType_SERVER
}

func (x *Node) GetState() NodeState {
	if x != nil {
		return x.State
	}
	return NodeState_STARTING_UP
}

func (x *Node) GetRegion() string {
	if x != nil {
		return x.Region
	}
	return ""
}

type NodeStats struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// when server was started
	StartedAt int64 `protobuf:"varint,1,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"`
	// when server last reported its status
	UpdatedAt int64 `protobuf:"varint,2,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	// room
	NumRooms     int32 `protobuf:"varint,3,opt,name=num_rooms,json=numRooms,proto3" json:"num_rooms,omitempty"`
	NumClients   int32 `protobuf:"varint,4,opt,name=num_clients,json=numClients,proto3" json:"num_clients,omitempty"`
	NumTracksIn  int32 `protobuf:"varint,5,opt,name=num_tracks_in,json=numTracksIn,proto3" json:"num_tracks_in,omitempty"`
	NumTracksOut int32 `protobuf:"varint,6,opt,name=num_tracks_out,json=numTracksOut,proto3" json:"num_tracks_out,omitempty"`
	// packet
	BytesIn          uint64  `protobuf:"varint,7,opt,name=bytes_in,json=bytesIn,proto3" json:"bytes_in,omitempty"`
	BytesOut         uint64  `protobuf:"varint,8,opt,name=bytes_out,json=bytesOut,proto3" json:"bytes_out,omitempty"`
	PacketsIn        uint64  `protobuf:"varint,9,opt,name=packets_in,json=packetsIn,proto3" json:"packets_in,omitempty"`
	PacketsOut       uint64  `protobuf:"varint,10,opt,name=packets_out,json=packetsOut,proto3" json:"packets_out,omitempty"`
	NackTotal        uint64  `protobuf:"varint,11,opt,name=nack_total,json=nackTotal,proto3" json:"nack_total,omitempty"`
	BytesInPerSec    float32 `protobuf:"fixed32,12,opt,name=bytes_in_per_sec,json=bytesInPerSec,proto3" json:"bytes_in_per_sec,omitempty"`
	BytesOutPerSec   float32 `protobuf:"fixed32,13,opt,name=bytes_out_per_sec,json=bytesOutPerSec,proto3" json:"bytes_out_per_sec,omitempty"`
	PacketsInPerSec  float32 `protobuf:"fixed32,14,opt,name=packets_in_per_sec,json=packetsInPerSec,proto3" json:"packets_in_per_sec,omitempty"`
	PacketsOutPerSec float32 `protobuf:"fixed32,15,opt,name=packets_out_per_sec,json=packetsOutPerSec,proto3" json:"packets_out_per_sec,omitempty"`
	NackPerSec       float32 `protobuf:"fixed32,16,opt,name=nack_per_sec,json=nackPerSec,proto3" json:"nack_per_sec,omitempty"`
	// system
	NumCpus                    uint32  `protobuf:"varint,17,opt,name=num_cpus,json=numCpus,proto3" json:"num_cpus,omitempty"`
	LoadAvgLast1Min            float32 `protobuf:"fixed32,18,opt,name=load_avg_last1min,json=loadAvgLast1min,proto3" json:"load_avg_last1min,omitempty"`
	LoadAvgLast5Min            float32 `protobuf:"fixed32,19,opt,name=load_avg_last5min,json=loadAvgLast5min,proto3" json:"load_avg_last5min,omitempty"`
	LoadAvgLast15Min           float32 `protobuf:"fixed32,20,opt,name=load_avg_last15min,json=loadAvgLast15min,proto3" json:"load_avg_last15min,omitempty"`
	CpuLoad                    float32 `protobuf:"fixed32,21,opt,name=cpu_load,json=cpuLoad,proto3" json:"cpu_load,omitempty"`
	MemoryLoad                 float32 `protobuf:"fixed32,33,opt,name=memory_load,json=memoryLoad,proto3" json:"memory_load,omitempty"`
	SysPacketsOut              uint32  `protobuf:"varint,28,opt,name=sys_packets_out,json=sysPacketsOut,proto3" json:"sys_packets_out,omitempty"`
	SysPacketsDropped          uint32  `protobuf:"varint,29,opt,name=sys_packets_dropped,json=sysPacketsDropped,proto3" json:"sys_packets_dropped,omitempty"`
	SysPacketsOutPerSec        float32 `protobuf:"fixed32,30,opt,name=sys_packets_out_per_sec,json=sysPacketsOutPerSec,proto3" json:"sys_packets_out_per_sec,omitempty"`
	SysPacketsDroppedPerSec    float32 `protobuf:"fixed32,31,opt,name=sys_packets_dropped_per_sec,json=sysPacketsDroppedPerSec,proto3" json:"sys_packets_dropped_per_sec,omitempty"`
	SysPacketsDroppedPctPerSec float32 `protobuf:"fixed32,32,opt,name=sys_packets_dropped_pct_per_sec,json=sysPacketsDroppedPctPerSec,proto3" json:"sys_packets_dropped_pct_per_sec,omitempty"`
	// retransmissions
	RetransmitBytesOut         uint64  `protobuf:"varint,22,opt,name=retransmit_bytes_out,json=retransmitBytesOut,proto3" json:"retransmit_bytes_out,omitempty"`
	RetransmitPacketsOut       uint64  `protobuf:"varint,23,opt,name=retransmit_packets_out,json=retransmitPacketsOut,proto3" json:"retransmit_packets_out,omitempty"`
	RetransmitBytesOutPerSec   float32 `protobuf:"fixed32,24,opt,name=retransmit_bytes_out_per_sec,json=retransmitBytesOutPerSec,proto3" json:"retransmit_bytes_out_per_sec,omitempty"`
	RetransmitPacketsOutPerSec float32 `protobuf:"fixed32,25,opt,name=retransmit_packets_out_per_sec,json=retransmitPacketsOutPerSec,proto3" json:"retransmit_packets_out_per_sec,omitempty"`
	// participant joins
	ParticipantJoin       uint64  `protobuf:"varint,26,opt,name=participant_join,json=participantJoin,proto3" json:"participant_join,omitempty"`
	ParticipantJoinPerSec float32 `protobuf:"fixed32,27,opt,name=participant_join_per_sec,json=participantJoinPerSec,proto3" json:"participant_join_per_sec,omitempty"`
}

func (x *NodeStats) Reset() {
	*x = NodeStats{}
	if protoimpl.UnsafeEnabled {
		mi := &file_livekit_internal_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *NodeStats) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*NodeStats) ProtoMessage() {}

func (x *NodeStats) ProtoReflect() protoreflect.Message {
	mi := &file_livekit_internal_proto_msgTypes[1]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use NodeStats.ProtoReflect.Descriptor instead.
func (*NodeStats) Descriptor() ([]byte, []int) {
	return file_livekit_internal_proto_rawDescGZIP(), []int{1}
}

func (x *NodeStats) GetStartedAt() int64 {
	if x != nil {
		return x.StartedAt
	}
	return 0
}

func (x *NodeStats) GetUpdatedAt() int64 {
	if x != nil {
		return x.UpdatedAt
	}
	return 0
}

func (x *NodeStats) GetNumRooms() int32 {
	if x != nil {
		return x.NumRooms
	}
	return 0
}

func (x *NodeStats) GetNumClients() int32 {
	if x != nil {
		return x.NumClients
	}
	return 0
}

func (x *NodeStats) GetNumTracksIn() int32 {
	if x != nil {
		return x.NumTracksIn
	}
	return 0
}

func (x *NodeStats) GetNumTracksOut() int32 {
	if x != nil {
		return x.NumTracksOut
	}
	return 0
}

func (x *NodeStats) GetBytesIn() uint64 {
	if x != nil {
		return x.BytesIn
	}
	return 0
}

func (x *NodeStats) GetBytesOut() uint64 {
	if x != nil {
		return x.BytesOut
	}
	return 0
}

func (x *NodeStats) GetPacketsIn() uint64 {
	if x != nil {
		return x.PacketsIn
	}
	return 0
}

func (x *NodeStats) GetPacketsOut() uint64 {
	if x != nil {
		return x.PacketsOut
	}
	return 0
}

func (x *NodeStats) GetNackTotal() uint64 {
	if x != nil {
		return x.NackTotal
	}
	return 0
}

func (x *NodeStats) GetBytesInPerSec() float32 {
	if x != nil {
		return x.BytesInPerSec
	}
	return 0
}

func (x *NodeStats) GetBytesOutPerSec() float32 {
	if x != nil {
		return x.BytesOutPerSec
	}
	return 0
}

func (x *NodeStats) GetPacketsInPerSec() float32 {
	if x != nil {
		return x.PacketsInPerSec
	}
	return 0
}

func (x *NodeStats) GetPacketsOutPerSec() float32 {
	if x != nil {
		return x.PacketsOutPerSec
	}
	return 0
}

func (x *NodeStats) GetNackPerSec() float32 {
	if x != nil {
		return x.NackPerSec
	}
	return 0
}

func (x *NodeStats) GetNumCpus() uint32 {
	if x != nil {
		return x.NumCpus
	}
	return 0
}

func (x *NodeStats) GetLoadAvgLast1Min() float32 {
	if x != nil {
		return x.LoadAvgLast1Min
	}
	return 0
}

func (x *NodeStats) GetLoadAvgLast5Min() float32 {
	if x != nil {
		return x.LoadAvgLast5Min
	}
	return 0
}

func (x *NodeStats) GetLoadAvgLast15Min() float32 {
	if x != nil {
		return x.LoadAvgLast15Min
	}
	return 0
}

func (x *NodeStats) GetCpuLoad() float32 {
	if x != nil {
		return x.CpuLoad
	}
	return 0
}

func (x *NodeStats) GetMemoryLoad() float32 {
	if x != nil {
		return x.MemoryLoad
	}
	return 0
}

func (x *NodeStats) GetSysPacketsOut() uint32 {
	if x != nil {
		return x.SysPacketsOut
	}
	return 0
}

func (x *NodeStats) GetSysPacketsDropped() uint32 {
	if x != nil {
		return x.SysPacketsDropped
	}
	return 0
}

func (x *NodeStats) GetSysPacketsOutPerSec() float32 {
	if x != nil {
		return x.SysPacketsOutPerSec
	}
	return 0
}

func (x *NodeStats) GetSysPacketsDroppedPerSec() float32 {
	if x != nil {
		return x.SysPacketsDroppedPerSec
	}
	return 0
}

func (x *NodeStats) GetSysPacketsDroppedPctPerSec() float32 {
	if x != nil {
		return x.SysPacketsDroppedPctPerSec
	}
	return 0
}

func (x *NodeStats) GetRetransmitBytesOut() uint64 {
	if x != nil {
		return x.RetransmitBytesOut
	}
	return 0
}

func (x *NodeStats) GetRetransmitPacketsOut() uint64 {
	if x != nil {
		return x.RetransmitPacketsOut
	}
	return 0
}

func (x *NodeStats) GetRetransmitBytesOutPerSec() float32 {
	if x != nil {
		return x.RetransmitBytesOutPerSec
	}
	return 0
}

func (x *NodeStats) GetRetransmitPacketsOutPerSec() float32 {
	if x != nil {
		return x.RetransmitPacketsOutPerSec
	}
	return 0
}

func (x *NodeStats) GetParticipantJoin() uint64 {
	if x != nil {
		return x.ParticipantJoin
	}
	return 0
}

func (x *NodeStats) GetParticipantJoinPerSec() float32 {
	if x != nil {
		return x.ParticipantJoinPerSec
	}
	return 0
}

// message to RTC nodes
type RTCNodeMessage struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ParticipantKey string `protobuf:"bytes,1,opt,name=participant_key,json=participantKey,proto3" json:"participant_key,omitempty"`
	SenderTime     int64  `protobuf:"varint,11,opt,name=sender_time,json=senderTime,proto3" json:"sender_time,omitempty"`
	ConnectionId   string `protobuf:"bytes,13,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty"`
	// Types that are assignable to Message:
	//
	//	*RTCNodeMessage_StartSession
	//	*RTCNodeMessage_Request
	//	*RTCNodeMessage_RemoveParticipant
	//	*RTCNodeMessage_MuteTrack
	//	*RTCNodeMessage_UpdateParticipant
	//	*RTCNodeMessage_DeleteRoom
	//	*RTCNodeMessage_UpdateSubscriptions
	//	*RTCNodeMessage_SendData
	//	*RTCNodeMessage_UpdateRoomMetadata
	//	*RTCNodeMessage_KeepAlive
	Message isRTCNodeMessage_Message `protobuf_oneof:"message"`
}

func (x *RTCNodeMessage) Reset() {
	*x = RTCNodeMessage{}
	if protoimpl.UnsafeEnabled {
		mi := &file_livekit_internal_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RTCNodeMessage) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RTCNodeMessage) ProtoMessage() {}

func (x *RTCNodeMessage) ProtoReflect() protoreflect.Message {
	mi := &file_livekit_internal_proto_msgTypes[2]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RTCNodeMessage.ProtoReflect.Descriptor instead.
func (*RTCNodeMessage) Descriptor() ([]byte, []int) {
	return file_livekit_internal_proto_rawDescGZIP(), []int{2}
}

func (x *RTCNodeMessage) GetParticipantKey() string {
	if x != nil {
		return x.ParticipantKey
	}
	return ""
}

func (x *RTCNodeMessage) GetSenderTime() int64 {
	if x != nil {
		return x.SenderTime
	}
	return 0
}

func (x *RTCNodeMessage) GetConnectionId() string {
	if x != nil {
		return x.ConnectionId
	}
	return ""
}

func (m *RTCNodeMessage) GetMessage() isRTCNodeMessage_Message {
	if m != nil {
		return m.Message
	}
	return nil
}

func (x *RTCNodeMessage) GetStartSession() *StartSession {
	if x, ok := x.GetMessage().(*RTCNodeMessage_StartSession); ok {
		return x.StartSession
	}
	return nil
}

func (x *RTCNodeMessage) GetRequest() *SignalRequest {
	if x, ok := x.GetMessage().(*RTCNodeMessage_Request); ok {
		return x.Request
	}
	return nil
}

func (x *RTCNodeMessage) GetRemoveParticipant() *RoomParticipantIdentity {
	if x, ok := x.GetMessage().(*RTCNodeMessage_RemoveParticipant); ok {
		return x.RemoveParticipant
	}
	return nil
}

func (x *RTCNodeMessage) GetMuteTrack() *MuteRoomTrackRequest {
	if x, ok := x.GetMessage().(*RTCNodeMessage_MuteTrack); ok {
		return x.MuteTrack
	}
	return nil
}

func (x *RTCNodeMessage) GetUpdateParticipant() *UpdateParticipantRequest {
	if x, ok := x.GetMessage().(*RTCNodeMessage_UpdateParticipant); ok {
		return x.UpdateParticipant
	}
	return nil
}

func (x *RTCNodeMessage) GetDeleteRoom() *DeleteRoomRequest {
	if x, ok := x.GetMessage().(*RTCNodeMessage_DeleteRoom); ok {
		return x.DeleteRoom
	}
	return nil
}

func (x *RTCNodeMessage) GetUpdateSubscriptions() *UpdateSubscriptionsRequest {
	if x, ok := x.GetMessage().(*RTCNodeMessage_UpdateSubscriptions); ok {
		return x.UpdateSubscriptions
	}
	return nil
}

func (x *RTCNodeMessage) GetSendData() *SendDataRequest {
	if x, ok := x.GetMessage().(*RTCNodeMessage_SendData); ok {
		return x.SendData
	}
	return nil
}

func (x *RTCNodeMessage) GetUpdateRoomMetadata() *UpdateRoomMetadataRequest {
	if x, ok := x.GetMessage().(*RTCNodeMessage_UpdateRoomMetadata); ok {
		return x.UpdateRoomMetadata
	}
	return nil
}

func (x *RTCNodeMessage) GetKeepAlive() *KeepAlive {
	if x, ok := x.GetMessage().(*RTCNodeMessage_KeepAlive); ok {
		return x.KeepAlive
	}
	return nil
}

type isRTCNodeMessage_Message interface {
	isRTCNodeMessage_Message()
}

type RTCNodeMessage_StartSession struct {
	StartSession *StartSession `protobuf:"bytes,2,opt,name=start_session,json=startSession,proto3,oneof"`
}

type RTCNodeMessage_Request struct {
	Request *SignalRequest `protobuf:"bytes,3,opt,name=request,proto3,oneof"`
}

type RTCNodeMessage_RemoveParticipant struct {
	// internal messages
	RemoveParticipant *RoomParticipantIdentity `protobuf:"bytes,4,opt,name=remove_participant,json=removeParticipant,proto3,oneof"`
}

type RTCNodeMessage_MuteTrack struct {
	MuteTrack *MuteRoomTrackRequest `protobuf:"bytes,5,opt,name=mute_track,json=muteTrack,proto3,oneof"`
}

type RTCNodeMessage_UpdateParticipant struct {
	UpdateParticipant *UpdateParticipantRequest `protobuf:"bytes,6,opt,name=update_participant,json=updateParticipant,proto3,oneof"`
}

type RTCNodeMessage_DeleteRoom struct {
	DeleteRoom *DeleteRoomRequest `protobuf:"bytes,7,opt,name=delete_room,json=deleteRoom,proto3,oneof"`
}

type RTCNodeMessage_UpdateSubscriptions struct {
	UpdateSubscriptions *UpdateSubscriptionsRequest `protobuf:"bytes,8,opt,name=update_subscriptions,json=updateSubscriptions,proto3,oneof"`
}

type RTCNodeMessage_SendData struct {
	SendData *SendDataRequest `protobuf:"bytes,9,opt,name=send_data,json=sendData,proto3,oneof"`
}

type RTCNodeMessage_UpdateRoomMetadata struct {
	UpdateRoomMetadata *UpdateRoomMetadataRequest `protobuf:"bytes,10,opt,name=update_room_metadata,json=updateRoomMetadata,proto3,oneof"`
}

type RTCNodeMessage_KeepAlive struct {
	KeepAlive *KeepAlive `protobuf:"bytes,12,opt,name=keep_alive,json=keepAlive,proto3,oneof"`
}

func (*RTCNodeMessage_StartSession) isRTCNodeMessage_Message() {}

func (*RTCNodeMessage_Request) isRTCNodeMessage_Message() {}

func (*RTCNodeMessage_RemoveParticipant) isRTCNodeMessage_Message() {}

func (*RTCNodeMessage_MuteTrack) isRTCNodeMessage_Message() {}

func (*RTCNodeMessage_UpdateParticipant) isRTCNodeMessage_Message() {}

func (*RTCNodeMessage_DeleteRoom) isRTCNodeMessage_Message() {}

func (*RTCNodeMessage_UpdateSubscriptions) isRTCNodeMessage_Message() {}

func (*RTCNodeMessage_SendData) isRTCNodeMessage_Message() {}

func (*RTCNodeMessage_UpdateRoomMetadata) isRTCNodeMessage_Message() {}

func (*RTCNodeMessage_KeepAlive) isRTCNodeMessage_Message() {}

// message to Signal nodes
type SignalNodeMessage struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ConnectionId string `protobuf:"bytes,1,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty"`
	// Types that are assignable to Message:
	//
	//	*SignalNodeMessage_Response
	//	*SignalNodeMessage_EndSession
	Message isSignalNodeMessage_Message `protobuf_oneof:"message"`
}

func (x *SignalNodeMessage) Reset() {
	*x = SignalNodeMessage{}
	if protoimpl.UnsafeEnabled {
		mi := &file_livekit_internal_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SignalNodeMessage) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SignalNodeMessage) ProtoMessage() {}

func (x *SignalNodeMessage) ProtoReflect() protoreflect.Message {
	mi := &file_livekit_internal_proto_msgTypes[3]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SignalNodeMessage.ProtoReflect.Descriptor instead.
func (*SignalNodeMessage) Descriptor() ([]byte, []int) {
	return file_livekit_internal_proto_rawDescGZIP(), []int{3}
}

func (x *SignalNodeMessage) GetConnectionId() string {
	if x != nil {
		return x.ConnectionId
	}
	return ""
}

func (m *SignalNodeMessage) GetMessage() isSignalNodeMessage_Message {
	if m != nil {
		return m.Message
	}
	return nil
}

func (x *SignalNodeMessage) GetResponse() *SignalResponse {
	if x, ok := x.GetMessage().(*SignalNodeMessage_Response); ok {
		return x.Response
	}
	return nil
}

func (x *SignalNodeMessage) GetEndSession() *EndSession {
	if x, ok := x.GetMessage().(*SignalNodeMessage_EndSession); ok {
		return x.EndSession
	}
	return nil
}

type isSignalNodeMessage_Message interface {
	isSignalNodeMessage_Message()
}

type SignalNodeMessage_Response struct {
	Response *SignalResponse `protobuf:"bytes,2,opt,name=response,proto3,oneof"`
}

type SignalNodeMessage_EndSession struct {
	EndSession *EndSession `protobuf:"bytes,3,opt,name=end_session,json=endSession,proto3,oneof"`
}

func (*SignalNodeMessage_Response) isSignalNodeMessage_Message() {}

func (*SignalNodeMessage_EndSession) isSignalNodeMessage_Message() {}

type StartSession struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	RoomName     string `protobuf:"bytes,1,opt,name=room_name,json=roomName,proto3" json:"room_name,omitempty"`
	Identity     string `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity,omitempty"`
	ConnectionId string `protobuf:"bytes,3,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty"`
	// if a client is reconnecting (i.e. resume instead of restart)
	Reconnect     bool        `protobuf:"varint,4,opt,name=reconnect,proto3" json:"reconnect,omitempty"`
	AutoSubscribe bool        `protobuf:"varint,9,opt,name=auto_subscribe,json=autoSubscribe,proto3" json:"auto_subscribe,omitempty"`
	Hidden        bool        `protobuf:"varint,10,opt,name=hidden,proto3" json:"hidden,omitempty"`
	Client        *ClientInfo `protobuf:"bytes,11,opt,name=client,proto3" json:"client,omitempty"`
	Recorder      bool        `protobuf:"varint,12,opt,name=recorder,proto3" json:"recorder,omitempty"`
	Name          string      `protobuf:"bytes,13,opt,name=name,proto3" json:"name,omitempty"`
	// A user's ClaimGrants serialized in JSON
	GrantsJson     string `protobuf:"bytes,14,opt,name=grants_json,json=grantsJson,proto3" json:"grants_json,omitempty"`
	AdaptiveStream bool   `protobuf:"varint,15,opt,name=adaptive_stream,json=adaptiveStream,proto3" json:"adaptive_stream,omitempty"`
	// if reconnect, client will set current sid
	ParticipantId string `protobuf:"bytes,16,opt,name=participant_id,json=participantId,proto3" json:"participant_id,omitempty"`
}

func (x *StartSession) Reset() {
	*x = StartSession{}
	if protoimpl.UnsafeEnabled {
		mi := &file_livekit_internal_proto_msgTypes[4]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *StartSession) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StartSession) ProtoMessage() {}

func (x *StartSession) ProtoReflect() protoreflect.Message {
	mi := &file_livekit_internal_proto_msgTypes[4]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use StartSession.ProtoReflect.Descriptor instead.
func (*StartSession) Descriptor() ([]byte, []int) {
	return file_livekit_internal_proto_rawDescGZIP(), []int{4}
}

func (x *StartSession) GetRoomName() string {
	if x != nil {
		return x.RoomName
	}
	return ""
}

func (x *StartSession) GetIdentity() string {
	if x != nil {
		return x.Identity
	}
	return ""
}

func (x *StartSession) GetConnectionId() string {
	if x != nil {
		return x.ConnectionId
	}
	return ""
}

func (x *StartSession) GetReconnect() bool {
	if x != nil {
		return x.Reconnect
	}
	return false
}

func (x *StartSession) GetAutoSubscribe() bool {
	if x != nil {
		return x.AutoSubscribe
	}
	return false
}

func (x *StartSession) GetHidden() bool {
	if x != nil {
		return x.Hidden
	}
	return false
}

func (x *StartSession) GetClient() *ClientInfo {
	if x != nil {
		return x.Client
	}
	return nil
}

func (x *StartSession) GetRecorder() bool {
	if x != nil {
		return x.Recorder
	}
	return false
}

func (x *StartSession) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *StartSession) GetGrantsJson() string {
	if x != nil {
		return x.GrantsJson
	}
	return ""
}

func (x *StartSession) GetAdaptiveStream() bool {
	if x != nil {
		return x.AdaptiveStream
	}
	return false
}

func (x *StartSession) GetParticipantId() string {
	if x != nil {
		return x.ParticipantId
	}
	return ""
}

type EndSession struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *EndSession) Reset() {
	*x = EndSession{}
	if protoimpl.UnsafeEnabled {
		mi := &file_livekit_internal_proto_msgTypes[5]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *EndSession) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EndSession) ProtoMessage() {}

func (x *EndSession) ProtoReflect() protoreflect.Message {
	mi := &file_livekit_internal_proto_msgTypes[5]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EndSession.ProtoReflect.Descriptor instead.
func (*EndSession) Descriptor() ([]byte, []int) {
	return file_livekit_internal_proto_rawDescGZIP(), []int{5}
}

type RemoveParticipant struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ParticipantId string `protobuf:"bytes,1,opt,name=participant_id,json=participantId,proto3" json:"participant_id,omitempty"`
}

func (x *RemoveParticipant) Reset() {
	*x = RemoveParticipant{}
	if protoimpl.UnsafeEnabled {
		mi := &file_livekit_internal_proto_msgTypes[6]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RemoveParticipant) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RemoveParticipant) ProtoMessage() {}

func (x *RemoveParticipant) ProtoReflect() protoreflect.Message {
	mi := &file_livekit_internal_proto_msgTypes[6]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RemoveParticipant.ProtoReflect.Descriptor instead.
func (*RemoveParticipant) Descriptor() ([]byte, []int) {
	return file_livekit_internal_proto_rawDescGZIP(), []int{6}
}

func (x *RemoveParticipant) GetParticipantId() string {
	if x != nil {
		return x.ParticipantId
	}
	return ""
}

type KeepAlive struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *KeepAlive) Reset() {
	*x = KeepAlive{}
	if protoimpl.UnsafeEnabled {
		mi := &file_livekit_internal_proto_msgTypes[7]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *KeepAlive) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*KeepAlive) ProtoMessage() {}

func (x *KeepAlive) ProtoReflect() protoreflect.Message {
	mi := &file_livekit_internal_proto_msgTypes[7]
	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 KeepAlive.ProtoReflect.Descriptor instead.
func (*KeepAlive) Descriptor() ([]byte, []int) {
	return file_livekit_internal_proto_rawDescGZIP(), []int{7}
}

// room info that should not be returned to clients
type RoomInternal struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	TrackEgress *AutoTrackEgress `protobuf:"bytes,1,opt,name=track_egress,json=trackEgress,proto3" json:"track_egress,omitempty"`
}

func (x *RoomInternal) Reset() {
	*x = RoomInternal{}
	if protoimpl.UnsafeEnabled {
		mi := &file_livekit_internal_proto_msgTypes[8]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RoomInternal) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RoomInternal) ProtoMessage() {}

func (x *RoomInternal) ProtoReflect() protoreflect.Message {
	mi := &file_livekit_internal_proto_msgTypes[8]
	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 RoomInternal.ProtoReflect.Descriptor instead.
func (*RoomInternal) Descriptor() ([]byte, []int) {
	return file_livekit_internal_proto_rawDescGZIP(), []int{8}
}

func (x *RoomInternal) GetTrackEgress() *AutoTrackEgress {
	if x != nil {
		return x.TrackEgress
	}
	return nil
}

var File_livekit_internal_proto protoreflect.FileDescriptor

var file_livekit_internal_proto_rawDesc = []byte{
	0x0a, 0x16, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e,
	0x61, 0x6c, 0x2e, 0x70, 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, 0x11, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74,
	0x5f, 0x72, 0x74, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x6c, 0x69, 0x76, 0x65,
	0x6b, 0x69, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x6d, 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, 0xd4, 0x01, 0x0a, 0x04, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a,
	0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x0e, 0x0a,
	0x02, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x12, 0x19, 0x0a,
	0x08, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x70, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52,
	0x07, 0x6e, 0x75, 0x6d, 0x43, 0x70, 0x75, 0x73, 0x12, 0x28, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74,
	0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69,
	0x74, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05, 0x73, 0x74, 0x61,
	0x74, 0x73, 0x12, 0x25, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e,
	0x32, 0x11, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x54,
	0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x05, 0x73, 0x74, 0x61,
	0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b,
	0x69, 0x74, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74,
	0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0xf8, 0x0a, 0x0a, 0x09,
	0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61,
	0x72, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73,
	0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61,
	0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70,
	0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x75, 0x6d, 0x5f, 0x72,
	0x6f, 0x6f, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6e, 0x75, 0x6d, 0x52,
	0x6f, 0x6f, 0x6d, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x6c, 0x69, 0x65,
	0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x43, 0x6c,
	0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x72, 0x61,
	0x63, 0x6b, 0x73, 0x5f, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6e, 0x75,
	0x6d, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x49, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x75, 0x6d,
	0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x0c, 0x6e, 0x75, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x4f, 0x75, 0x74, 0x12,
	0x19, 0x0a, 0x08, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28,
	0x04, 0x52, 0x07, 0x62, 0x79, 0x74, 0x65, 0x73, 0x49, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x79,
	0x74, 0x65, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x62,
	0x79, 0x74, 0x65, 0x73, 0x4f, 0x75, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x63, 0x6b, 0x65,
	0x74, 0x73, 0x5f, 0x69, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x70, 0x61, 0x63,
	0x6b, 0x65, 0x74, 0x73, 0x49, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74,
	0x73, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x70, 0x61, 0x63,
	0x6b, 0x65, 0x74, 0x73, 0x4f, 0x75, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x61, 0x63, 0x6b, 0x5f,
	0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6e, 0x61, 0x63,
	0x6b, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x27, 0x0a, 0x10, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f,
	0x69, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x02,
	0x52, 0x0d, 0x62, 0x79, 0x74, 0x65, 0x73, 0x49, 0x6e, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12,
	0x29, 0x0a, 0x11, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x70, 0x65, 0x72,
	0x5f, 0x73, 0x65, 0x63, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x62, 0x79, 0x74, 0x65,
	0x73, 0x4f, 0x75, 0x74, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x2b, 0x0a, 0x12, 0x70, 0x61,
	0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63,
	0x18, 0x0e, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x49,
	0x6e, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x2d, 0x0a, 0x13, 0x70, 0x61, 0x63, 0x6b, 0x65,
	0x74, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x0f,
	0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x4f, 0x75, 0x74,
	0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x20, 0x0a, 0x0c, 0x6e, 0x61, 0x63, 0x6b, 0x5f, 0x70,
	0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x10, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x6e, 0x61,
	0x63, 0x6b, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x75, 0x6d, 0x5f,
	0x63, 0x70, 0x75, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6e, 0x75, 0x6d, 0x43,
	0x70, 0x75, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x61, 0x76, 0x67, 0x5f,
	0x6c, 0x61, 0x73, 0x74, 0x31, 0x6d, 0x69, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f,
	0x6c, 0x6f, 0x61, 0x64, 0x41, 0x76, 0x67, 0x4c, 0x61, 0x73, 0x74, 0x31, 0x6d, 0x69, 0x6e, 0x12,
	0x2a, 0x0a, 0x11, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x61, 0x76, 0x67, 0x5f, 0x6c, 0x61, 0x73, 0x74,
	0x35, 0x6d, 0x69, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x6c, 0x6f, 0x61, 0x64,
	0x41, 0x76, 0x67, 0x4c, 0x61, 0x73, 0x74, 0x35, 0x6d, 0x69, 0x6e, 0x12, 0x2c, 0x0a, 0x12, 0x6c,
	0x6f, 0x61, 0x64, 0x5f, 0x61, 0x76, 0x67, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x31, 0x35, 0x6d, 0x69,
	0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x76, 0x67,
	0x4c, 0x61, 0x73, 0x74, 0x31, 0x35, 0x6d, 0x69, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x70, 0x75,
	0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x63, 0x70, 0x75,
	0x4c, 0x6f, 0x61, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x6c,
	0x6f, 0x61, 0x64, 0x18, 0x21, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x6d, 0x6f, 0x72,
	0x79, 0x4c, 0x6f, 0x61, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x79, 0x73, 0x5f, 0x70, 0x61, 0x63,
	0x6b, 0x65, 0x74, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d,
	0x73, 0x79, 0x73, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x4f, 0x75, 0x74, 0x12, 0x2e, 0x0a,
	0x13, 0x73, 0x79, 0x73, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x64, 0x72, 0x6f,
	0x70, 0x70, 0x65, 0x64, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x73, 0x79, 0x73, 0x50,
	0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x44, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x12, 0x34, 0x0a,
	0x17, 0x73, 0x79, 0x73, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x6f, 0x75, 0x74,
	0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x02, 0x52, 0x13,
	0x73, 0x79, 0x73, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x4f, 0x75, 0x74, 0x50, 0x65, 0x72,
	0x53, 0x65, 0x63, 0x12, 0x3c, 0x0a, 0x1b, 0x73, 0x79, 0x73, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65,
	0x74, 0x73, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73,
	0x65, 0x63, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x02, 0x52, 0x17, 0x73, 0x79, 0x73, 0x50, 0x61, 0x63,
	0x6b, 0x65, 0x74, 0x73, 0x44, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x50, 0x65, 0x72, 0x53, 0x65,
	0x63, 0x12, 0x43, 0x0a, 0x1f, 0x73, 0x79, 0x73, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73,
	0x5f, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x70, 0x63, 0x74, 0x5f, 0x70, 0x65, 0x72,
	0x5f, 0x73, 0x65, 0x63, 0x18, 0x20, 0x20, 0x01, 0x28, 0x02, 0x52, 0x1a, 0x73, 0x79, 0x73, 0x50,
	0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x44, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x50, 0x63, 0x74,
	0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x30, 0x0a, 0x14, 0x72, 0x65, 0x74, 0x72, 0x61, 0x6e,
	0x73, 0x6d, 0x69, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x16,
	0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x72, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74,
	0x42, 0x79, 0x74, 0x65, 0x73, 0x4f, 0x75, 0x74, 0x12, 0x34, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x72,
	0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x6f,
	0x75, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x72, 0x61, 0x6e,
	0x73, 0x6d, 0x69, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x4f, 0x75, 0x74, 0x12, 0x3e,
	0x0a, 0x1c, 0x72, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x5f, 0x62, 0x79, 0x74,
	0x65, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x18,
	0x20, 0x01, 0x28, 0x02, 0x52, 0x18, 0x72, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74,
	0x42, 0x79, 0x74, 0x65, 0x73, 0x4f, 0x75, 0x74, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x42,
	0x0a, 0x1e, 0x72, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x5f, 0x70, 0x61, 0x63,
	0x6b, 0x65, 0x74, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63,
	0x18, 0x19, 0x20, 0x01, 0x28, 0x02, 0x52, 0x1a, 0x72, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d,
	0x69, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x4f, 0x75, 0x74, 0x50, 0x65, 0x72, 0x53,
	0x65, 0x63, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e,
	0x74, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x70, 0x61,
	0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x12, 0x37, 0x0a,
	0x18, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x6a, 0x6f, 0x69,
	0x6e, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x02, 0x52,
	0x15, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4a, 0x6f, 0x69, 0x6e,
	0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x22, 0xc2, 0x06, 0x0a, 0x0e, 0x52, 0x54, 0x43, 0x4e, 0x6f,
	0x64, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61, 0x72,
	0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4b,
	0x65, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d,
	0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x54,
	0x69, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f,
	0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x6e,
	0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x72,
	0x74, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53,
	0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x53,
	0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69,
	0x74, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48,
	0x00, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x51, 0x0a, 0x12, 0x72, 0x65,
	0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 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, 0x48, 0x00, 0x52, 0x11, 0x72, 0x65, 0x6d, 0x6f,
	0x76, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x3e, 0x0a,
	0x0a, 0x6d, 0x75, 0x74, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28,
	0x0b, 0x32, 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,
	0x48, 0x00, 0x52, 0x09, 0x6d, 0x75, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x12, 0x52, 0x0a,
	0x12, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70,
	0x61, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 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, 0x48, 0x00, 0x52, 0x11,
	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e,
	0x74, 0x12, 0x3d, 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x6d,
	0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 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, 0x48, 0x00, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d,
	0x12, 0x58, 0x0a, 0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63,
	0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 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, 0x48, 0x00, 0x52, 0x13, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62,
	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x37, 0x0a, 0x09, 0x73, 0x65,
	0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 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, 0x48, 0x00, 0x52, 0x08, 0x73, 0x65, 0x6e, 0x64, 0x44,
	0x61, 0x74, 0x61, 0x12, 0x56, 0x0a, 0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f,
	0x6f, 0x6d, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0a, 0x20, 0x01, 0x28,
	0x0b, 0x32, 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, 0x48, 0x00, 0x52, 0x12, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52,
	0x6f, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x33, 0x0a, 0x0a, 0x6b,
	0x65, 0x65, 0x70, 0x5f, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4b, 0x65, 0x65, 0x70, 0x41, 0x6c,
	0x69, 0x76, 0x65, 0x48, 0x00, 0x52, 0x09, 0x6b, 0x65, 0x65, 0x70, 0x41, 0x6c, 0x69, 0x76, 0x65,
	0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xb2, 0x01, 0x0a, 0x11,
	0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
	0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b,
	0x69, 0x74, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a,
	0x0b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x45, 0x6e, 0x64,
	0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0a, 0x65, 0x6e, 0x64, 0x53, 0x65,
	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x22, 0x97, 0x03, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f,
	0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 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, 0x23, 0x0a, 0x0d, 0x63, 0x6f,
	0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12,
	0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a,
	0x0e, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x18,
	0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x75, 0x74, 0x6f, 0x53, 0x75, 0x62, 0x73, 0x63,
	0x72, 0x69, 0x62, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x18, 0x0a,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x12, 0x2b, 0x0a, 0x06,
	0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c,
	0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66,
	0x6f, 0x52, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63,
	0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x63,
	0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x67, 0x72, 0x61,
	0x6e, 0x74, 0x73, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
	0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x64,
	0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x0f, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x72,
	0x65, 0x61, 0x6d, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61,
	0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x61, 0x72,
	0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x0c, 0x0a, 0x0a, 0x45, 0x6e,
	0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f,
	0x76, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x25, 0x0a,
	0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61,
	0x6e, 0x74, 0x49, 0x64, 0x22, 0x0b, 0x0a, 0x09, 0x4b, 0x65, 0x65, 0x70, 0x41, 0x6c, 0x69, 0x76,
	0x65, 0x22, 0x4b, 0x0a, 0x0c, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61,
	0x6c, 0x12, 0x3b, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x65, 0x67, 0x72, 0x65, 0x73,
	0x73, 0x18, 0x01, 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, 0x0b, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x2a, 0x3b,
	0x0a, 0x08, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x45,
	0x52, 0x56, 0x45, 0x52, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f,
	0x4c, 0x4c, 0x45, 0x52, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x10,
	0x02, 0x12, 0x08, 0x0a, 0x04, 0x54, 0x55, 0x52, 0x4e, 0x10, 0x04, 0x2a, 0x3c, 0x0a, 0x09, 0x4e,
	0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x54, 0x41, 0x52,
	0x54, 0x49, 0x4e, 0x47, 0x5f, 0x55, 0x50, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x45, 0x52,
	0x56, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x48, 0x55, 0x54, 0x54, 0x49,
	0x4e, 0x47, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x02, 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 (
	file_livekit_internal_proto_rawDescOnce sync.Once
	file_livekit_internal_proto_rawDescData = file_livekit_internal_proto_rawDesc
)

func file_livekit_internal_proto_rawDescGZIP() []byte {
	file_livekit_internal_proto_rawDescOnce.Do(func() {
		file_livekit_internal_proto_rawDescData = protoimpl.X.CompressGZIP(file_livekit_internal_proto_rawDescData)
	})
	return file_livekit_internal_proto_rawDescData
}

var file_livekit_internal_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_livekit_internal_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
var file_livekit_internal_proto_goTypes = []interface{}{
	(NodeType)(0),                      // 0: livekit.NodeType
	(NodeState)(0),                     // 1: livekit.NodeState
	(*Node)(nil),                       // 2: livekit.Node
	(*NodeStats)(nil),                  // 3: livekit.NodeStats
	(*RTCNodeMessage)(nil),             // 4: livekit.RTCNodeMessage
	(*SignalNodeMessage)(nil),          // 5: livekit.SignalNodeMessage
	(*StartSession)(nil),               // 6: livekit.StartSession
	(*EndSession)(nil),                 // 7: livekit.EndSession
	(*RemoveParticipant)(nil),          // 8: livekit.RemoveParticipant
	(*KeepAlive)(nil),                  // 9: livekit.KeepAlive
	(*RoomInternal)(nil),               // 10: livekit.RoomInternal
	(*SignalRequest)(nil),              // 11: livekit.SignalRequest
	(*RoomParticipantIdentity)(nil),    // 12: livekit.RoomParticipantIdentity
	(*MuteRoomTrackRequest)(nil),       // 13: livekit.MuteRoomTrackRequest
	(*UpdateParticipantRequest)(nil),   // 14: livekit.UpdateParticipantRequest
	(*DeleteRoomRequest)(nil),          // 15: livekit.DeleteRoomRequest
	(*UpdateSubscriptionsRequest)(nil), // 16: livekit.UpdateSubscriptionsRequest
	(*SendDataRequest)(nil),            // 17: livekit.SendDataRequest
	(*UpdateRoomMetadataRequest)(nil),  // 18: livekit.UpdateRoomMetadataRequest
	(*SignalResponse)(nil),             // 19: livekit.SignalResponse
	(*ClientInfo)(nil),                 // 20: livekit.ClientInfo
	(*AutoTrackEgress)(nil),            // 21: livekit.AutoTrackEgress
}
var file_livekit_internal_proto_depIdxs = []int32{
	3,  // 0: livekit.Node.stats:type_name -> livekit.NodeStats
	0,  // 1: livekit.Node.type:type_name -> livekit.NodeType
	1,  // 2: livekit.Node.state:type_name -> livekit.NodeState
	6,  // 3: livekit.RTCNodeMessage.start_session:type_name -> livekit.StartSession
	11, // 4: livekit.RTCNodeMessage.request:type_name -> livekit.SignalRequest
	12, // 5: livekit.RTCNodeMessage.remove_participant:type_name -> livekit.RoomParticipantIdentity
	13, // 6: livekit.RTCNodeMessage.mute_track:type_name -> livekit.MuteRoomTrackRequest
	14, // 7: livekit.RTCNodeMessage.update_participant:type_name -> livekit.UpdateParticipantRequest
	15, // 8: livekit.RTCNodeMessage.delete_room:type_name -> livekit.DeleteRoomRequest
	16, // 9: livekit.RTCNodeMessage.update_subscriptions:type_name -> livekit.UpdateSubscriptionsRequest
	17, // 10: livekit.RTCNodeMessage.send_data:type_name -> livekit.SendDataRequest
	18, // 11: livekit.RTCNodeMessage.update_room_metadata:type_name -> livekit.UpdateRoomMetadataRequest
	9,  // 12: livekit.RTCNodeMessage.keep_alive:type_name -> livekit.KeepAlive
	19, // 13: livekit.SignalNodeMessage.response:type_name -> livekit.SignalResponse
	7,  // 14: livekit.SignalNodeMessage.end_session:type_name -> livekit.EndSession
	20, // 15: livekit.StartSession.client:type_name -> livekit.ClientInfo
	21, // 16: livekit.RoomInternal.track_egress:type_name -> livekit.AutoTrackEgress
	17, // [17:17] is the sub-list for method output_type
	17, // [17:17] is the sub-list for method input_type
	17, // [17:17] is the sub-list for extension type_name
	17, // [17:17] is the sub-list for extension extendee
	0,  // [0:17] is the sub-list for field type_name
}

func init() { file_livekit_internal_proto_init() }
func file_livekit_internal_proto_init() {
	if File_livekit_internal_proto != nil {
		return
	}
	file_livekit_models_proto_init()
	file_livekit_rtc_proto_init()
	file_livekit_room_proto_init()
	file_livekit_egress_proto_init()
	if !protoimpl.UnsafeEnabled {
		file_livekit_internal_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Node); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_livekit_internal_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NodeStats); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_livekit_internal_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RTCNodeMessage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_livekit_internal_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SignalNodeMessage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_livekit_internal_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StartSession); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_livekit_internal_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*EndSession); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_livekit_internal_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RemoveParticipant); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_livekit_internal_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*KeepAlive); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_livekit_internal_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RoomInternal); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_livekit_internal_proto_msgTypes[2].OneofWrappers = []interface{}{
		(*RTCNodeMessage_StartSession)(nil),
		(*RTCNodeMessage_Request)(nil),
		(*RTCNodeMessage_RemoveParticipant)(nil),
		(*RTCNodeMessage_MuteTrack)(nil),
		(*RTCNodeMessage_UpdateParticipant)(nil),
		(*RTCNodeMessage_DeleteRoom)(nil),
		(*RTCNodeMessage_UpdateSubscriptions)(nil),
		(*RTCNodeMessage_SendData)(nil),
		(*RTCNodeMessage_UpdateRoomMetadata)(nil),
		(*RTCNodeMessage_KeepAlive)(nil),
	}
	file_livekit_internal_proto_msgTypes[3].OneofWrappers = []interface{}{
		(*SignalNodeMessage_Response)(nil),
		(*SignalNodeMessage_EndSession)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_livekit_internal_proto_rawDesc,
			NumEnums:      2,
			NumMessages:   9,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_livekit_internal_proto_goTypes,
		DependencyIndexes: file_livekit_internal_proto_depIdxs,
		EnumInfos:         file_livekit_internal_proto_enumTypes,
		MessageInfos:      file_livekit_internal_proto_msgTypes,
	}.Build()
	File_livekit_internal_proto = out.File
	file_livekit_internal_proto_rawDesc = nil
	file_livekit_internal_proto_goTypes = nil
	file_livekit_internal_proto_depIdxs = nil
}
