|  | @@ -20,17 +20,17 @@ const (
 | 
	
		
			
				|  |  |  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
 | 
	
		
			
				|  |  |  )
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -type MonitorSub struct {
 | 
	
		
			
				|  |  | +type RequestData struct {
 | 
	
		
			
				|  |  |  	state         protoimpl.MessageState
 | 
	
		
			
				|  |  |  	sizeCache     protoimpl.SizeCache
 | 
	
		
			
				|  |  |  	unknownFields protoimpl.UnknownFields
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	Tile        *BPoint `protobuf:"bytes,1,opt,name=tile,proto3" json:"tile,omitempty"`
 | 
	
		
			
				|  |  | -	Susbscribed bool    `protobuf:"varint,2,opt,name=susbscribed,proto3" json:"susbscribed,omitempty"`
 | 
	
		
			
				|  |  | +	Tile *BPoint `protobuf:"bytes,1,opt,name=tile,proto3" json:"tile,omitempty"`
 | 
	
		
			
				|  |  | +	From uint64  `protobuf:"varint,2,opt,name=from,proto3" json:"from,omitempty"`
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -func (x *MonitorSub) Reset() {
 | 
	
		
			
				|  |  | -	*x = MonitorSub{}
 | 
	
		
			
				|  |  | +func (x *RequestData) Reset() {
 | 
	
		
			
				|  |  | +	*x = RequestData{}
 | 
	
		
			
				|  |  |  	if protoimpl.UnsafeEnabled {
 | 
	
		
			
				|  |  |  		mi := &file_protos_client_proto_msgTypes[0]
 | 
	
		
			
				|  |  |  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
	
	
		
			
				|  | @@ -38,13 +38,13 @@ func (x *MonitorSub) Reset() {
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -func (x *MonitorSub) String() string {
 | 
	
		
			
				|  |  | +func (x *RequestData) String() string {
 | 
	
		
			
				|  |  |  	return protoimpl.X.MessageStringOf(x)
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -func (*MonitorSub) ProtoMessage() {}
 | 
	
		
			
				|  |  | +func (*RequestData) ProtoMessage() {}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -func (x *MonitorSub) ProtoReflect() protoreflect.Message {
 | 
	
		
			
				|  |  | +func (x *RequestData) ProtoReflect() protoreflect.Message {
 | 
	
		
			
				|  |  |  	mi := &file_protos_client_proto_msgTypes[0]
 | 
	
		
			
				|  |  |  	if protoimpl.UnsafeEnabled && x != nil {
 | 
	
		
			
				|  |  |  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
	
	
		
			
				|  | @@ -56,25 +56,289 @@ func (x *MonitorSub) ProtoReflect() protoreflect.Message {
 | 
	
		
			
				|  |  |  	return mi.MessageOf(x)
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -// Deprecated: Use MonitorSub.ProtoReflect.Descriptor instead.
 | 
	
		
			
				|  |  | -func (*MonitorSub) Descriptor() ([]byte, []int) {
 | 
	
		
			
				|  |  | +// Deprecated: Use RequestData.ProtoReflect.Descriptor instead.
 | 
	
		
			
				|  |  | +func (*RequestData) Descriptor() ([]byte, []int) {
 | 
	
		
			
				|  |  |  	return file_protos_client_proto_rawDescGZIP(), []int{0}
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -func (x *MonitorSub) GetTile() *BPoint {
 | 
	
		
			
				|  |  | +func (x *RequestData) GetTile() *BPoint {
 | 
	
		
			
				|  |  |  	if x != nil {
 | 
	
		
			
				|  |  |  		return x.Tile
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  	return nil
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -func (x *MonitorSub) GetSusbscribed() bool {
 | 
	
		
			
				|  |  | +func (x *RequestData) GetFrom() uint64 {
 | 
	
		
			
				|  |  |  	if x != nil {
 | 
	
		
			
				|  |  | -		return x.Susbscribed
 | 
	
		
			
				|  |  | +		return x.From
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  | -	return false
 | 
	
		
			
				|  |  | +	return 0
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +type WebRTCRequest struct {
 | 
	
		
			
				|  |  | +	state         protoimpl.MessageState
 | 
	
		
			
				|  |  | +	sizeCache     protoimpl.SizeCache
 | 
	
		
			
				|  |  | +	unknownFields protoimpl.UnknownFields
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	// Types that are assignable to WebRTCRequestOneOf:
 | 
	
		
			
				|  |  | +	//	*WebRTCRequest_RequestData
 | 
	
		
			
				|  |  | +	WebRTCRequestOneOf isWebRTCRequest_WebRTCRequestOneOf `protobuf_oneof:"WebRTCRequestOneOf"`
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (x *WebRTCRequest) Reset() {
 | 
	
		
			
				|  |  | +	*x = WebRTCRequest{}
 | 
	
		
			
				|  |  | +	if protoimpl.UnsafeEnabled {
 | 
	
		
			
				|  |  | +		mi := &file_protos_client_proto_msgTypes[1]
 | 
	
		
			
				|  |  | +		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
	
		
			
				|  |  | +		ms.StoreMessageInfo(mi)
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (x *WebRTCRequest) String() string {
 | 
	
		
			
				|  |  | +	return protoimpl.X.MessageStringOf(x)
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (*WebRTCRequest) ProtoMessage() {}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (x *WebRTCRequest) ProtoReflect() protoreflect.Message {
 | 
	
		
			
				|  |  | +	mi := &file_protos_client_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 WebRTCRequest.ProtoReflect.Descriptor instead.
 | 
	
		
			
				|  |  | +func (*WebRTCRequest) Descriptor() ([]byte, []int) {
 | 
	
		
			
				|  |  | +	return file_protos_client_proto_rawDescGZIP(), []int{1}
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (m *WebRTCRequest) GetWebRTCRequestOneOf() isWebRTCRequest_WebRTCRequestOneOf {
 | 
	
		
			
				|  |  | +	if m != nil {
 | 
	
		
			
				|  |  | +		return m.WebRTCRequestOneOf
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	return nil
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (x *WebRTCRequest) GetRequestData() *RequestData {
 | 
	
		
			
				|  |  | +	if x, ok := x.GetWebRTCRequestOneOf().(*WebRTCRequest_RequestData); ok {
 | 
	
		
			
				|  |  | +		return x.RequestData
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	return nil
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +type isWebRTCRequest_WebRTCRequestOneOf interface {
 | 
	
		
			
				|  |  | +	isWebRTCRequest_WebRTCRequestOneOf()
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +type WebRTCRequest_RequestData struct {
 | 
	
		
			
				|  |  | +	RequestData *RequestData `protobuf:"bytes,1,opt,name=requestData,proto3,oneof"`
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (*WebRTCRequest_RequestData) isWebRTCRequest_WebRTCRequestOneOf() {}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +type WebRTCReply struct {
 | 
	
		
			
				|  |  | +	state         protoimpl.MessageState
 | 
	
		
			
				|  |  | +	sizeCache     protoimpl.SizeCache
 | 
	
		
			
				|  |  | +	unknownFields protoimpl.UnknownFields
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	// Types that are assignable to WebRTCReplyOneOf:
 | 
	
		
			
				|  |  | +	//	*WebRTCReply_RequestData
 | 
	
		
			
				|  |  | +	WebRTCReplyOneOf isWebRTCReply_WebRTCReplyOneOf `protobuf_oneof:"WebRTCReplyOneOf"`
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (x *WebRTCReply) Reset() {
 | 
	
		
			
				|  |  | +	*x = WebRTCReply{}
 | 
	
		
			
				|  |  | +	if protoimpl.UnsafeEnabled {
 | 
	
		
			
				|  |  | +		mi := &file_protos_client_proto_msgTypes[2]
 | 
	
		
			
				|  |  | +		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
	
		
			
				|  |  | +		ms.StoreMessageInfo(mi)
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (x *WebRTCReply) String() string {
 | 
	
		
			
				|  |  | +	return protoimpl.X.MessageStringOf(x)
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (*WebRTCReply) ProtoMessage() {}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (x *WebRTCReply) ProtoReflect() protoreflect.Message {
 | 
	
		
			
				|  |  | +	mi := &file_protos_client_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 WebRTCReply.ProtoReflect.Descriptor instead.
 | 
	
		
			
				|  |  | +func (*WebRTCReply) Descriptor() ([]byte, []int) {
 | 
	
		
			
				|  |  | +	return file_protos_client_proto_rawDescGZIP(), []int{2}
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (m *WebRTCReply) GetWebRTCReplyOneOf() isWebRTCReply_WebRTCReplyOneOf {
 | 
	
		
			
				|  |  | +	if m != nil {
 | 
	
		
			
				|  |  | +		return m.WebRTCReplyOneOf
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	return nil
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (x *WebRTCReply) GetRequestData() *RequestData {
 | 
	
		
			
				|  |  | +	if x, ok := x.GetWebRTCReplyOneOf().(*WebRTCReply_RequestData); ok {
 | 
	
		
			
				|  |  | +		return x.RequestData
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	return nil
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +type isWebRTCReply_WebRTCReplyOneOf interface {
 | 
	
		
			
				|  |  | +	isWebRTCReply_WebRTCReplyOneOf()
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +type WebRTCReply_RequestData struct {
 | 
	
		
			
				|  |  | +	RequestData *RequestData `protobuf:"bytes,1,opt,name=requestData,proto3,oneof"`
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (*WebRTCReply_RequestData) isWebRTCReply_WebRTCReplyOneOf() {}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +type WebSocketRequest struct {
 | 
	
		
			
				|  |  | +	state         protoimpl.MessageState
 | 
	
		
			
				|  |  | +	sizeCache     protoimpl.SizeCache
 | 
	
		
			
				|  |  | +	unknownFields protoimpl.UnknownFields
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	// Types that are assignable to WebSocketRequestOneOf:
 | 
	
		
			
				|  |  | +	//	*WebSocketRequest_RequestData
 | 
	
		
			
				|  |  | +	WebSocketRequestOneOf isWebSocketRequest_WebSocketRequestOneOf `protobuf_oneof:"WebSocketRequestOneOf"`
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (x *WebSocketRequest) Reset() {
 | 
	
		
			
				|  |  | +	*x = WebSocketRequest{}
 | 
	
		
			
				|  |  | +	if protoimpl.UnsafeEnabled {
 | 
	
		
			
				|  |  | +		mi := &file_protos_client_proto_msgTypes[3]
 | 
	
		
			
				|  |  | +		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
	
		
			
				|  |  | +		ms.StoreMessageInfo(mi)
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (x *WebSocketRequest) String() string {
 | 
	
		
			
				|  |  | +	return protoimpl.X.MessageStringOf(x)
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (*WebSocketRequest) ProtoMessage() {}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (x *WebSocketRequest) ProtoReflect() protoreflect.Message {
 | 
	
		
			
				|  |  | +	mi := &file_protos_client_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 WebSocketRequest.ProtoReflect.Descriptor instead.
 | 
	
		
			
				|  |  | +func (*WebSocketRequest) Descriptor() ([]byte, []int) {
 | 
	
		
			
				|  |  | +	return file_protos_client_proto_rawDescGZIP(), []int{3}
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (m *WebSocketRequest) GetWebSocketRequestOneOf() isWebSocketRequest_WebSocketRequestOneOf {
 | 
	
		
			
				|  |  | +	if m != nil {
 | 
	
		
			
				|  |  | +		return m.WebSocketRequestOneOf
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	return nil
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (x *WebSocketRequest) GetRequestData() *RequestData {
 | 
	
		
			
				|  |  | +	if x, ok := x.GetWebSocketRequestOneOf().(*WebSocketRequest_RequestData); ok {
 | 
	
		
			
				|  |  | +		return x.RequestData
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	return nil
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +type isWebSocketRequest_WebSocketRequestOneOf interface {
 | 
	
		
			
				|  |  | +	isWebSocketRequest_WebSocketRequestOneOf()
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +type WebSocketRequest_RequestData struct {
 | 
	
		
			
				|  |  | +	RequestData *RequestData `protobuf:"bytes,1,opt,name=requestData,proto3,oneof"`
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (*WebSocketRequest_RequestData) isWebSocketRequest_WebSocketRequestOneOf() {}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +type WebSocketReply struct {
 | 
	
		
			
				|  |  | +	state         protoimpl.MessageState
 | 
	
		
			
				|  |  | +	sizeCache     protoimpl.SizeCache
 | 
	
		
			
				|  |  | +	unknownFields protoimpl.UnknownFields
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	// Types that are assignable to WebSocketReplyOneOf:
 | 
	
		
			
				|  |  | +	//	*WebSocketReply_RequestData
 | 
	
		
			
				|  |  | +	WebSocketReplyOneOf isWebSocketReply_WebSocketReplyOneOf `protobuf_oneof:"WebSocketReplyOneOf"`
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (x *WebSocketReply) Reset() {
 | 
	
		
			
				|  |  | +	*x = WebSocketReply{}
 | 
	
		
			
				|  |  | +	if protoimpl.UnsafeEnabled {
 | 
	
		
			
				|  |  | +		mi := &file_protos_client_proto_msgTypes[4]
 | 
	
		
			
				|  |  | +		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
	
		
			
				|  |  | +		ms.StoreMessageInfo(mi)
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (x *WebSocketReply) String() string {
 | 
	
		
			
				|  |  | +	return protoimpl.X.MessageStringOf(x)
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (*WebSocketReply) ProtoMessage() {}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (x *WebSocketReply) ProtoReflect() protoreflect.Message {
 | 
	
		
			
				|  |  | +	mi := &file_protos_client_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 WebSocketReply.ProtoReflect.Descriptor instead.
 | 
	
		
			
				|  |  | +func (*WebSocketReply) Descriptor() ([]byte, []int) {
 | 
	
		
			
				|  |  | +	return file_protos_client_proto_rawDescGZIP(), []int{4}
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (m *WebSocketReply) GetWebSocketReplyOneOf() isWebSocketReply_WebSocketReplyOneOf {
 | 
	
		
			
				|  |  | +	if m != nil {
 | 
	
		
			
				|  |  | +		return m.WebSocketReplyOneOf
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	return nil
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (x *WebSocketReply) GetRequestData() *RequestData {
 | 
	
		
			
				|  |  | +	if x, ok := x.GetWebSocketReplyOneOf().(*WebSocketReply_RequestData); ok {
 | 
	
		
			
				|  |  | +		return x.RequestData
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	return nil
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +type isWebSocketReply_WebSocketReplyOneOf interface {
 | 
	
		
			
				|  |  | +	isWebSocketReply_WebSocketReplyOneOf()
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +type WebSocketReply_RequestData struct {
 | 
	
		
			
				|  |  | +	RequestData *RequestData `protobuf:"bytes,1,opt,name=requestData,proto3,oneof"`
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (*WebSocketReply_RequestData) isWebSocketReply_WebSocketReplyOneOf() {}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  type MonitorPoint struct {
 | 
	
		
			
				|  |  |  	state         protoimpl.MessageState
 | 
	
		
			
				|  |  |  	sizeCache     protoimpl.SizeCache
 | 
	
	
		
			
				|  | @@ -87,7 +351,7 @@ type MonitorPoint struct {
 | 
	
		
			
				|  |  |  func (x *MonitorPoint) Reset() {
 | 
	
		
			
				|  |  |  	*x = MonitorPoint{}
 | 
	
		
			
				|  |  |  	if protoimpl.UnsafeEnabled {
 | 
	
		
			
				|  |  | -		mi := &file_protos_client_proto_msgTypes[1]
 | 
	
		
			
				|  |  | +		mi := &file_protos_client_proto_msgTypes[5]
 | 
	
		
			
				|  |  |  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
	
		
			
				|  |  |  		ms.StoreMessageInfo(mi)
 | 
	
		
			
				|  |  |  	}
 | 
	
	
		
			
				|  | @@ -100,7 +364,7 @@ func (x *MonitorPoint) String() string {
 | 
	
		
			
				|  |  |  func (*MonitorPoint) ProtoMessage() {}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  func (x *MonitorPoint) ProtoReflect() protoreflect.Message {
 | 
	
		
			
				|  |  | -	mi := &file_protos_client_proto_msgTypes[1]
 | 
	
		
			
				|  |  | +	mi := &file_protos_client_proto_msgTypes[5]
 | 
	
		
			
				|  |  |  	if protoimpl.UnsafeEnabled && x != nil {
 | 
	
		
			
				|  |  |  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
	
		
			
				|  |  |  		if ms.LoadMessageInfo() == nil {
 | 
	
	
		
			
				|  | @@ -113,7 +377,7 @@ func (x *MonitorPoint) ProtoReflect() protoreflect.Message {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  // Deprecated: Use MonitorPoint.ProtoReflect.Descriptor instead.
 | 
	
		
			
				|  |  |  func (*MonitorPoint) Descriptor() ([]byte, []int) {
 | 
	
		
			
				|  |  | -	return file_protos_client_proto_rawDescGZIP(), []int{1}
 | 
	
		
			
				|  |  | +	return file_protos_client_proto_rawDescGZIP(), []int{5}
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  func (x *MonitorPoint) GetPoint() *BPoint {
 | 
	
	
		
			
				|  | @@ -135,14 +399,14 @@ type MonitorReply struct {
 | 
	
		
			
				|  |  |  	sizeCache     protoimpl.SizeCache
 | 
	
		
			
				|  |  |  	unknownFields protoimpl.UnknownFields
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	Points      []*MonitorPoint `protobuf:"bytes,1,rep,name=points,proto3" json:"points,omitempty"`
 | 
	
		
			
				|  |  | -	BytesPoints []byte          `protobuf:"bytes,2,opt,name=bytes_points,json=bytesPoints,proto3" json:"bytes_points,omitempty"`
 | 
	
		
			
				|  |  | +	Points []*MonitorPoint `protobuf:"bytes,1,rep,name=points,proto3" json:"points,omitempty"`
 | 
	
		
			
				|  |  | +	Tile   *BPoint         `protobuf:"bytes,2,opt,name=tile,proto3" json:"tile,omitempty"`
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  func (x *MonitorReply) Reset() {
 | 
	
		
			
				|  |  |  	*x = MonitorReply{}
 | 
	
		
			
				|  |  |  	if protoimpl.UnsafeEnabled {
 | 
	
		
			
				|  |  | -		mi := &file_protos_client_proto_msgTypes[2]
 | 
	
		
			
				|  |  | +		mi := &file_protos_client_proto_msgTypes[6]
 | 
	
		
			
				|  |  |  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
	
		
			
				|  |  |  		ms.StoreMessageInfo(mi)
 | 
	
		
			
				|  |  |  	}
 | 
	
	
		
			
				|  | @@ -155,7 +419,7 @@ func (x *MonitorReply) String() string {
 | 
	
		
			
				|  |  |  func (*MonitorReply) ProtoMessage() {}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  func (x *MonitorReply) ProtoReflect() protoreflect.Message {
 | 
	
		
			
				|  |  | -	mi := &file_protos_client_proto_msgTypes[2]
 | 
	
		
			
				|  |  | +	mi := &file_protos_client_proto_msgTypes[6]
 | 
	
		
			
				|  |  |  	if protoimpl.UnsafeEnabled && x != nil {
 | 
	
		
			
				|  |  |  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
	
		
			
				|  |  |  		if ms.LoadMessageInfo() == nil {
 | 
	
	
		
			
				|  | @@ -168,7 +432,7 @@ func (x *MonitorReply) ProtoReflect() protoreflect.Message {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  // Deprecated: Use MonitorReply.ProtoReflect.Descriptor instead.
 | 
	
		
			
				|  |  |  func (*MonitorReply) Descriptor() ([]byte, []int) {
 | 
	
		
			
				|  |  | -	return file_protos_client_proto_rawDescGZIP(), []int{2}
 | 
	
		
			
				|  |  | +	return file_protos_client_proto_rawDescGZIP(), []int{6}
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  func (x *MonitorReply) GetPoints() []*MonitorPoint {
 | 
	
	
		
			
				|  | @@ -178,9 +442,64 @@ func (x *MonitorReply) GetPoints() []*MonitorPoint {
 | 
	
		
			
				|  |  |  	return nil
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -func (x *MonitorReply) GetBytesPoints() []byte {
 | 
	
		
			
				|  |  | +func (x *MonitorReply) GetTile() *BPoint {
 | 
	
		
			
				|  |  |  	if x != nil {
 | 
	
		
			
				|  |  | -		return x.BytesPoints
 | 
	
		
			
				|  |  | +		return x.Tile
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	return nil
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +type MonitorRequest struct {
 | 
	
		
			
				|  |  | +	state         protoimpl.MessageState
 | 
	
		
			
				|  |  | +	sizeCache     protoimpl.SizeCache
 | 
	
		
			
				|  |  | +	unknownFields protoimpl.UnknownFields
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	Last int64   `protobuf:"varint,1,opt,name=last,proto3" json:"last,omitempty"`
 | 
	
		
			
				|  |  | +	Tile *BPoint `protobuf:"bytes,2,opt,name=tile,proto3" json:"tile,omitempty"`
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (x *MonitorRequest) Reset() {
 | 
	
		
			
				|  |  | +	*x = MonitorRequest{}
 | 
	
		
			
				|  |  | +	if protoimpl.UnsafeEnabled {
 | 
	
		
			
				|  |  | +		mi := &file_protos_client_proto_msgTypes[7]
 | 
	
		
			
				|  |  | +		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
	
		
			
				|  |  | +		ms.StoreMessageInfo(mi)
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (x *MonitorRequest) String() string {
 | 
	
		
			
				|  |  | +	return protoimpl.X.MessageStringOf(x)
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (*MonitorRequest) ProtoMessage() {}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (x *MonitorRequest) ProtoReflect() protoreflect.Message {
 | 
	
		
			
				|  |  | +	mi := &file_protos_client_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 MonitorRequest.ProtoReflect.Descriptor instead.
 | 
	
		
			
				|  |  | +func (*MonitorRequest) Descriptor() ([]byte, []int) {
 | 
	
		
			
				|  |  | +	return file_protos_client_proto_rawDescGZIP(), []int{7}
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (x *MonitorRequest) GetLast() int64 {
 | 
	
		
			
				|  |  | +	if x != nil {
 | 
	
		
			
				|  |  | +		return x.Last
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	return 0
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (x *MonitorRequest) GetTile() *BPoint {
 | 
	
		
			
				|  |  | +	if x != nil {
 | 
	
		
			
				|  |  | +		return x.Tile
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  	return nil
 | 
	
		
			
				|  |  |  }
 | 
	
	
		
			
				|  | @@ -196,7 +515,7 @@ type MonitorPointList struct {
 | 
	
		
			
				|  |  |  func (x *MonitorPointList) Reset() {
 | 
	
		
			
				|  |  |  	*x = MonitorPointList{}
 | 
	
		
			
				|  |  |  	if protoimpl.UnsafeEnabled {
 | 
	
		
			
				|  |  | -		mi := &file_protos_client_proto_msgTypes[3]
 | 
	
		
			
				|  |  | +		mi := &file_protos_client_proto_msgTypes[8]
 | 
	
		
			
				|  |  |  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
	
		
			
				|  |  |  		ms.StoreMessageInfo(mi)
 | 
	
		
			
				|  |  |  	}
 | 
	
	
		
			
				|  | @@ -209,7 +528,7 @@ func (x *MonitorPointList) String() string {
 | 
	
		
			
				|  |  |  func (*MonitorPointList) ProtoMessage() {}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  func (x *MonitorPointList) ProtoReflect() protoreflect.Message {
 | 
	
		
			
				|  |  | -	mi := &file_protos_client_proto_msgTypes[3]
 | 
	
		
			
				|  |  | +	mi := &file_protos_client_proto_msgTypes[8]
 | 
	
		
			
				|  |  |  	if protoimpl.UnsafeEnabled && x != nil {
 | 
	
		
			
				|  |  |  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
	
		
			
				|  |  |  		if ms.LoadMessageInfo() == nil {
 | 
	
	
		
			
				|  | @@ -222,7 +541,7 @@ func (x *MonitorPointList) ProtoReflect() protoreflect.Message {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  // Deprecated: Use MonitorPointList.ProtoReflect.Descriptor instead.
 | 
	
		
			
				|  |  |  func (*MonitorPointList) Descriptor() ([]byte, []int) {
 | 
	
		
			
				|  |  | -	return file_protos_client_proto_rawDescGZIP(), []int{3}
 | 
	
		
			
				|  |  | +	return file_protos_client_proto_rawDescGZIP(), []int{8}
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  func (x *MonitorPointList) GetPoints() []*MonitorPoint {
 | 
	
	
		
			
				|  | @@ -244,7 +563,7 @@ type BPoint struct {
 | 
	
		
			
				|  |  |  func (x *BPoint) Reset() {
 | 
	
		
			
				|  |  |  	*x = BPoint{}
 | 
	
		
			
				|  |  |  	if protoimpl.UnsafeEnabled {
 | 
	
		
			
				|  |  | -		mi := &file_protos_client_proto_msgTypes[4]
 | 
	
		
			
				|  |  | +		mi := &file_protos_client_proto_msgTypes[9]
 | 
	
		
			
				|  |  |  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
	
		
			
				|  |  |  		ms.StoreMessageInfo(mi)
 | 
	
		
			
				|  |  |  	}
 | 
	
	
		
			
				|  | @@ -257,7 +576,7 @@ func (x *BPoint) String() string {
 | 
	
		
			
				|  |  |  func (*BPoint) ProtoMessage() {}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  func (x *BPoint) ProtoReflect() protoreflect.Message {
 | 
	
		
			
				|  |  | -	mi := &file_protos_client_proto_msgTypes[4]
 | 
	
		
			
				|  |  | +	mi := &file_protos_client_proto_msgTypes[9]
 | 
	
		
			
				|  |  |  	if protoimpl.UnsafeEnabled && x != nil {
 | 
	
		
			
				|  |  |  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
	
		
			
				|  |  |  		if ms.LoadMessageInfo() == nil {
 | 
	
	
		
			
				|  | @@ -270,7 +589,7 @@ func (x *BPoint) ProtoReflect() protoreflect.Message {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  // Deprecated: Use BPoint.ProtoReflect.Descriptor instead.
 | 
	
		
			
				|  |  |  func (*BPoint) Descriptor() ([]byte, []int) {
 | 
	
		
			
				|  |  | -	return file_protos_client_proto_rawDescGZIP(), []int{4}
 | 
	
		
			
				|  |  | +	return file_protos_client_proto_rawDescGZIP(), []int{9}
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  func (x *BPoint) GetX() int32 {
 | 
	
	
		
			
				|  | @@ -298,7 +617,7 @@ type BColor struct {
 | 
	
		
			
				|  |  |  func (x *BColor) Reset() {
 | 
	
		
			
				|  |  |  	*x = BColor{}
 | 
	
		
			
				|  |  |  	if protoimpl.UnsafeEnabled {
 | 
	
		
			
				|  |  | -		mi := &file_protos_client_proto_msgTypes[5]
 | 
	
		
			
				|  |  | +		mi := &file_protos_client_proto_msgTypes[10]
 | 
	
		
			
				|  |  |  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
	
		
			
				|  |  |  		ms.StoreMessageInfo(mi)
 | 
	
		
			
				|  |  |  	}
 | 
	
	
		
			
				|  | @@ -311,7 +630,7 @@ func (x *BColor) String() string {
 | 
	
		
			
				|  |  |  func (*BColor) ProtoMessage() {}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  func (x *BColor) ProtoReflect() protoreflect.Message {
 | 
	
		
			
				|  |  | -	mi := &file_protos_client_proto_msgTypes[5]
 | 
	
		
			
				|  |  | +	mi := &file_protos_client_proto_msgTypes[10]
 | 
	
		
			
				|  |  |  	if protoimpl.UnsafeEnabled && x != nil {
 | 
	
		
			
				|  |  |  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
	
		
			
				|  |  |  		if ms.LoadMessageInfo() == nil {
 | 
	
	
		
			
				|  | @@ -324,7 +643,7 @@ func (x *BColor) ProtoReflect() protoreflect.Message {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  // Deprecated: Use BColor.ProtoReflect.Descriptor instead.
 | 
	
		
			
				|  |  |  func (*BColor) Descriptor() ([]byte, []int) {
 | 
	
		
			
				|  |  | -	return file_protos_client_proto_rawDescGZIP(), []int{5}
 | 
	
		
			
				|  |  | +	return file_protos_client_proto_rawDescGZIP(), []int{10}
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  func (x *BColor) GetRgba() uint32 {
 | 
	
	
		
			
				|  | @@ -346,7 +665,7 @@ type PaintRequest struct {
 | 
	
		
			
				|  |  |  func (x *PaintRequest) Reset() {
 | 
	
		
			
				|  |  |  	*x = PaintRequest{}
 | 
	
		
			
				|  |  |  	if protoimpl.UnsafeEnabled {
 | 
	
		
			
				|  |  | -		mi := &file_protos_client_proto_msgTypes[6]
 | 
	
		
			
				|  |  | +		mi := &file_protos_client_proto_msgTypes[11]
 | 
	
		
			
				|  |  |  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
	
		
			
				|  |  |  		ms.StoreMessageInfo(mi)
 | 
	
		
			
				|  |  |  	}
 | 
	
	
		
			
				|  | @@ -359,7 +678,7 @@ func (x *PaintRequest) String() string {
 | 
	
		
			
				|  |  |  func (*PaintRequest) ProtoMessage() {}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  func (x *PaintRequest) ProtoReflect() protoreflect.Message {
 | 
	
		
			
				|  |  | -	mi := &file_protos_client_proto_msgTypes[6]
 | 
	
		
			
				|  |  | +	mi := &file_protos_client_proto_msgTypes[11]
 | 
	
		
			
				|  |  |  	if protoimpl.UnsafeEnabled && x != nil {
 | 
	
		
			
				|  |  |  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
	
		
			
				|  |  |  		if ms.LoadMessageInfo() == nil {
 | 
	
	
		
			
				|  | @@ -372,7 +691,7 @@ func (x *PaintRequest) ProtoReflect() protoreflect.Message {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  // Deprecated: Use PaintRequest.ProtoReflect.Descriptor instead.
 | 
	
		
			
				|  |  |  func (*PaintRequest) Descriptor() ([]byte, []int) {
 | 
	
		
			
				|  |  | -	return file_protos_client_proto_rawDescGZIP(), []int{6}
 | 
	
		
			
				|  |  | +	return file_protos_client_proto_rawDescGZIP(), []int{11}
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  func (x *PaintRequest) GetPoint() *BPoint {
 | 
	
	
		
			
				|  | @@ -401,7 +720,7 @@ type PaintReply struct {
 | 
	
		
			
				|  |  |  func (x *PaintReply) Reset() {
 | 
	
		
			
				|  |  |  	*x = PaintReply{}
 | 
	
		
			
				|  |  |  	if protoimpl.UnsafeEnabled {
 | 
	
		
			
				|  |  | -		mi := &file_protos_client_proto_msgTypes[7]
 | 
	
		
			
				|  |  | +		mi := &file_protos_client_proto_msgTypes[12]
 | 
	
		
			
				|  |  |  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
	
		
			
				|  |  |  		ms.StoreMessageInfo(mi)
 | 
	
		
			
				|  |  |  	}
 | 
	
	
		
			
				|  | @@ -414,7 +733,7 @@ func (x *PaintReply) String() string {
 | 
	
		
			
				|  |  |  func (*PaintReply) ProtoMessage() {}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  func (x *PaintReply) ProtoReflect() protoreflect.Message {
 | 
	
		
			
				|  |  | -	mi := &file_protos_client_proto_msgTypes[7]
 | 
	
		
			
				|  |  | +	mi := &file_protos_client_proto_msgTypes[12]
 | 
	
		
			
				|  |  |  	if protoimpl.UnsafeEnabled && x != nil {
 | 
	
		
			
				|  |  |  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
	
		
			
				|  |  |  		if ms.LoadMessageInfo() == nil {
 | 
	
	
		
			
				|  | @@ -427,7 +746,7 @@ func (x *PaintReply) ProtoReflect() protoreflect.Message {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  // Deprecated: Use PaintReply.ProtoReflect.Descriptor instead.
 | 
	
		
			
				|  |  |  func (*PaintReply) Descriptor() ([]byte, []int) {
 | 
	
		
			
				|  |  | -	return file_protos_client_proto_rawDescGZIP(), []int{7}
 | 
	
		
			
				|  |  | +	return file_protos_client_proto_rawDescGZIP(), []int{12}
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  func (x *PaintReply) GetMessage() string {
 | 
	
	
		
			
				|  | @@ -449,7 +768,7 @@ type RTCData struct {
 | 
	
		
			
				|  |  |  func (x *RTCData) Reset() {
 | 
	
		
			
				|  |  |  	*x = RTCData{}
 | 
	
		
			
				|  |  |  	if protoimpl.UnsafeEnabled {
 | 
	
		
			
				|  |  | -		mi := &file_protos_client_proto_msgTypes[8]
 | 
	
		
			
				|  |  | +		mi := &file_protos_client_proto_msgTypes[13]
 | 
	
		
			
				|  |  |  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
	
		
			
				|  |  |  		ms.StoreMessageInfo(mi)
 | 
	
		
			
				|  |  |  	}
 | 
	
	
		
			
				|  | @@ -462,7 +781,7 @@ func (x *RTCData) String() string {
 | 
	
		
			
				|  |  |  func (*RTCData) ProtoMessage() {}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  func (x *RTCData) ProtoReflect() protoreflect.Message {
 | 
	
		
			
				|  |  | -	mi := &file_protos_client_proto_msgTypes[8]
 | 
	
		
			
				|  |  | +	mi := &file_protos_client_proto_msgTypes[13]
 | 
	
		
			
				|  |  |  	if protoimpl.UnsafeEnabled && x != nil {
 | 
	
		
			
				|  |  |  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
	
		
			
				|  |  |  		if ms.LoadMessageInfo() == nil {
 | 
	
	
		
			
				|  | @@ -475,7 +794,7 @@ func (x *RTCData) ProtoReflect() protoreflect.Message {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  // Deprecated: Use RTCData.ProtoReflect.Descriptor instead.
 | 
	
		
			
				|  |  |  func (*RTCData) Descriptor() ([]byte, []int) {
 | 
	
		
			
				|  |  | -	return file_protos_client_proto_rawDescGZIP(), []int{8}
 | 
	
		
			
				|  |  | +	return file_protos_client_proto_rawDescGZIP(), []int{13}
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  func (x *RTCData) GetEvent() string {
 | 
	
	
		
			
				|  | @@ -496,51 +815,68 @@ var File_protos_client_proto protoreflect.FileDescriptor
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  var file_protos_client_proto_rawDesc = []byte{
 | 
	
		
			
				|  |  |  	0x0a, 0x13, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e,
 | 
	
		
			
				|  |  | -	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4b, 0x0a, 0x0a, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72,
 | 
	
		
			
				|  |  | -	0x53, 0x75, 0x62, 0x12, 0x1b, 0x0a, 0x04, 0x74, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
 | 
	
		
			
				|  |  | -	0x0b, 0x32, 0x07, 0x2e, 0x42, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x04, 0x74, 0x69, 0x6c, 0x65,
 | 
	
		
			
				|  |  | -	0x12, 0x20, 0x0a, 0x0b, 0x73, 0x75, 0x73, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x18,
 | 
	
		
			
				|  |  | -	0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x75, 0x73, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62,
 | 
	
		
			
				|  |  | -	0x65, 0x64, 0x22, 0x4c, 0x0a, 0x0c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x69,
 | 
	
		
			
				|  |  | -	0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x05, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
 | 
	
		
			
				|  |  | -	0x0b, 0x32, 0x07, 0x2e, 0x42, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x05, 0x70, 0x6f, 0x69, 0x6e,
 | 
	
		
			
				|  |  | -	0x74, 0x12, 0x1d, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
 | 
	
		
			
				|  |  | -	0x32, 0x07, 0x2e, 0x42, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72,
 | 
	
		
			
				|  |  | -	0x22, 0x58, 0x0a, 0x0c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79,
 | 
	
		
			
				|  |  | -	0x12, 0x25, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
 | 
	
		
			
				|  |  | -	0x32, 0x0d, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52,
 | 
	
		
			
				|  |  | -	0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x79, 0x74, 0x65, 0x73,
 | 
	
		
			
				|  |  | -	0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x62,
 | 
	
		
			
				|  |  | -	0x79, 0x74, 0x65, 0x73, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x39, 0x0a, 0x10, 0x4d, 0x6f,
 | 
	
		
			
				|  |  | -	0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x25,
 | 
	
		
			
				|  |  | -	0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d,
 | 
	
		
			
				|  |  | -	0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x06, 0x70,
 | 
	
		
			
				|  |  | -	0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x24, 0x0a, 0x06, 0x42, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12,
 | 
	
		
			
				|  |  | -	0x0c, 0x0a, 0x01, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a,
 | 
	
		
			
				|  |  | -	0x01, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x79, 0x22, 0x1c, 0x0a, 0x06, 0x42,
 | 
	
		
			
				|  |  | -	0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x67, 0x62, 0x61, 0x18, 0x01, 0x20,
 | 
	
		
			
				|  |  | -	0x01, 0x28, 0x0d, 0x52, 0x04, 0x72, 0x67, 0x62, 0x61, 0x22, 0x4c, 0x0a, 0x0c, 0x50, 0x61, 0x69,
 | 
	
		
			
				|  |  | -	0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x05, 0x70, 0x6f, 0x69,
 | 
	
		
			
				|  |  | -	0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x42, 0x50, 0x6f, 0x69, 0x6e,
 | 
	
		
			
				|  |  | -	0x74, 0x52, 0x05, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f,
 | 
	
		
			
				|  |  | -	0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x42, 0x43, 0x6f, 0x6c, 0x6f, 0x72,
 | 
	
		
			
				|  |  | -	0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x22, 0x26, 0x0a, 0x0a, 0x50, 0x61, 0x69, 0x6e, 0x74,
 | 
	
		
			
				|  |  | -	0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
 | 
	
		
			
				|  |  | -	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22,
 | 
	
		
			
				|  |  | -	0x33, 0x0a, 0x07, 0x52, 0x54, 0x43, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x76,
 | 
	
		
			
				|  |  | -	0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74,
 | 
	
		
			
				|  |  | -	0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
 | 
	
		
			
				|  |  | -	0x64, 0x61, 0x74, 0x61, 0x32, 0x87, 0x01, 0x0a, 0x0b, 0x50, 0x61, 0x69, 0x6e, 0x74, 0x43, 0x6c,
 | 
	
		
			
				|  |  | -	0x69, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x05, 0x50, 0x61, 0x69, 0x6e, 0x74, 0x12, 0x0d, 0x2e,
 | 
	
		
			
				|  |  | -	0x50, 0x61, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0b, 0x2e, 0x50,
 | 
	
		
			
				|  |  | -	0x61, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x29, 0x0a, 0x07, 0x4d,
 | 
	
		
			
				|  |  | -	0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x12, 0x0b, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72,
 | 
	
		
			
				|  |  | -	0x53, 0x75, 0x62, 0x1a, 0x0d, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x70,
 | 
	
		
			
				|  |  | -	0x6c, 0x79, 0x22, 0x00, 0x30, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
 | 
	
		
			
				|  |  | -	0x74, 0x52, 0x54, 0x43, 0x12, 0x08, 0x2e, 0x52, 0x54, 0x43, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x08,
 | 
	
		
			
				|  |  | -	0x2e, 0x52, 0x54, 0x43, 0x44, 0x61, 0x74, 0x61, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x42, 0x11,
 | 
	
		
			
				|  |  | -	0x5a, 0x0f, 0x2e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e,
 | 
	
		
			
				|  |  | -	0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
	
		
			
				|  |  | +	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3e, 0x0a, 0x0b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
 | 
	
		
			
				|  |  | +	0x44, 0x61, 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x04, 0x74, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01,
 | 
	
		
			
				|  |  | +	0x28, 0x0b, 0x32, 0x07, 0x2e, 0x42, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x04, 0x74, 0x69, 0x6c,
 | 
	
		
			
				|  |  | +	0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52,
 | 
	
		
			
				|  |  | +	0x04, 0x66, 0x72, 0x6f, 0x6d, 0x22, 0x57, 0x0a, 0x0d, 0x57, 0x65, 0x62, 0x52, 0x54, 0x43, 0x52,
 | 
	
		
			
				|  |  | +	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
 | 
	
		
			
				|  |  | +	0x74, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x52, 0x65,
 | 
	
		
			
				|  |  | +	0x71, 0x75, 0x65, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x65, 0x71,
 | 
	
		
			
				|  |  | +	0x75, 0x65, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x42, 0x14, 0x0a, 0x12, 0x57, 0x65, 0x62, 0x52,
 | 
	
		
			
				|  |  | +	0x54, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x6e, 0x65, 0x4f, 0x66, 0x22, 0x53,
 | 
	
		
			
				|  |  | +	0x0a, 0x0b, 0x57, 0x65, 0x62, 0x52, 0x54, 0x43, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x30, 0x0a,
 | 
	
		
			
				|  |  | +	0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01,
 | 
	
		
			
				|  |  | +	0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61,
 | 
	
		
			
				|  |  | +	0x48, 0x00, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x42,
 | 
	
		
			
				|  |  | +	0x12, 0x0a, 0x10, 0x57, 0x65, 0x62, 0x52, 0x54, 0x43, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x4f, 0x6e,
 | 
	
		
			
				|  |  | +	0x65, 0x4f, 0x66, 0x22, 0x5d, 0x0a, 0x10, 0x57, 0x65, 0x62, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74,
 | 
	
		
			
				|  |  | +	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65,
 | 
	
		
			
				|  |  | +	0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x52,
 | 
	
		
			
				|  |  | +	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x65,
 | 
	
		
			
				|  |  | +	0x71, 0x75, 0x65, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x42, 0x17, 0x0a, 0x15, 0x57, 0x65, 0x62,
 | 
	
		
			
				|  |  | +	0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x6e, 0x65,
 | 
	
		
			
				|  |  | +	0x4f, 0x66, 0x22, 0x59, 0x0a, 0x0e, 0x57, 0x65, 0x62, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x52,
 | 
	
		
			
				|  |  | +	0x65, 0x70, 0x6c, 0x79, 0x12, 0x30, 0x0a, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x44,
 | 
	
		
			
				|  |  | +	0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x52, 0x65, 0x71, 0x75,
 | 
	
		
			
				|  |  | +	0x65, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65,
 | 
	
		
			
				|  |  | +	0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x42, 0x15, 0x0a, 0x13, 0x57, 0x65, 0x62, 0x53, 0x6f, 0x63,
 | 
	
		
			
				|  |  | +	0x6b, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x4f, 0x6e, 0x65, 0x4f, 0x66, 0x22, 0x4c, 0x0a,
 | 
	
		
			
				|  |  | +	0x0c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1d, 0x0a,
 | 
	
		
			
				|  |  | +	0x05, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x42,
 | 
	
		
			
				|  |  | +	0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x05, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x05,
 | 
	
		
			
				|  |  | +	0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x42, 0x43,
 | 
	
		
			
				|  |  | +	0x6f, 0x6c, 0x6f, 0x72, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x22, 0x52, 0x0a, 0x0c, 0x4d,
 | 
	
		
			
				|  |  | +	0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x25, 0x0a, 0x06, 0x70,
 | 
	
		
			
				|  |  | +	0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x4d, 0x6f,
 | 
	
		
			
				|  |  | +	0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e,
 | 
	
		
			
				|  |  | +	0x74, 0x73, 0x12, 0x1b, 0x0a, 0x04, 0x74, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
 | 
	
		
			
				|  |  | +	0x32, 0x07, 0x2e, 0x42, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x04, 0x74, 0x69, 0x6c, 0x65, 0x22,
 | 
	
		
			
				|  |  | +	0x41, 0x0a, 0x0e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
 | 
	
		
			
				|  |  | +	0x74, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x61, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
 | 
	
		
			
				|  |  | +	0x04, 0x6c, 0x61, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x04, 0x74, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20,
 | 
	
		
			
				|  |  | +	0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x42, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x04, 0x74, 0x69,
 | 
	
		
			
				|  |  | +	0x6c, 0x65, 0x22, 0x39, 0x0a, 0x10, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x69,
 | 
	
		
			
				|  |  | +	0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73,
 | 
	
		
			
				|  |  | +	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72,
 | 
	
		
			
				|  |  | +	0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x24, 0x0a,
 | 
	
		
			
				|  |  | +	0x06, 0x42, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x01, 0x20, 0x01,
 | 
	
		
			
				|  |  | +	0x28, 0x05, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
 | 
	
		
			
				|  |  | +	0x52, 0x01, 0x79, 0x22, 0x1c, 0x0a, 0x06, 0x42, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x12, 0x0a,
 | 
	
		
			
				|  |  | +	0x04, 0x72, 0x67, 0x62, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x72, 0x67, 0x62,
 | 
	
		
			
				|  |  | +	0x61, 0x22, 0x4c, 0x0a, 0x0c, 0x50, 0x61, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
 | 
	
		
			
				|  |  | +	0x74, 0x12, 0x1d, 0x0a, 0x05, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
 | 
	
		
			
				|  |  | +	0x32, 0x07, 0x2e, 0x42, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x05, 0x70, 0x6f, 0x69, 0x6e, 0x74,
 | 
	
		
			
				|  |  | +	0x12, 0x1d, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
 | 
	
		
			
				|  |  | +	0x07, 0x2e, 0x42, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x22,
 | 
	
		
			
				|  |  | +	0x26, 0x0a, 0x0a, 0x50, 0x61, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x18, 0x0a,
 | 
	
		
			
				|  |  | +	0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
 | 
	
		
			
				|  |  | +	0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x33, 0x0a, 0x07, 0x52, 0x54, 0x43, 0x44, 0x61,
 | 
	
		
			
				|  |  | +	0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
 | 
	
		
			
				|  |  | +	0x09, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61,
 | 
	
		
			
				|  |  | +	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x42, 0x11, 0x5a, 0x0f,
 | 
	
		
			
				|  |  | +	0x2e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x62,
 | 
	
		
			
				|  |  | +	0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  var (
 | 
	
	
		
			
				|  | @@ -555,37 +891,42 @@ func file_protos_client_proto_rawDescGZIP() []byte {
 | 
	
		
			
				|  |  |  	return file_protos_client_proto_rawDescData
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -var file_protos_client_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
 | 
	
		
			
				|  |  | +var file_protos_client_proto_msgTypes = make([]protoimpl.MessageInfo, 14)
 | 
	
		
			
				|  |  |  var file_protos_client_proto_goTypes = []interface{}{
 | 
	
		
			
				|  |  | -	(*MonitorSub)(nil),       // 0: MonitorSub
 | 
	
		
			
				|  |  | -	(*MonitorPoint)(nil),     // 1: MonitorPoint
 | 
	
		
			
				|  |  | -	(*MonitorReply)(nil),     // 2: MonitorReply
 | 
	
		
			
				|  |  | -	(*MonitorPointList)(nil), // 3: MonitorPointList
 | 
	
		
			
				|  |  | -	(*BPoint)(nil),           // 4: BPoint
 | 
	
		
			
				|  |  | -	(*BColor)(nil),           // 5: BColor
 | 
	
		
			
				|  |  | -	(*PaintRequest)(nil),     // 6: PaintRequest
 | 
	
		
			
				|  |  | -	(*PaintReply)(nil),       // 7: PaintReply
 | 
	
		
			
				|  |  | -	(*RTCData)(nil),          // 8: RTCData
 | 
	
		
			
				|  |  | +	(*RequestData)(nil),      // 0: RequestData
 | 
	
		
			
				|  |  | +	(*WebRTCRequest)(nil),    // 1: WebRTCRequest
 | 
	
		
			
				|  |  | +	(*WebRTCReply)(nil),      // 2: WebRTCReply
 | 
	
		
			
				|  |  | +	(*WebSocketRequest)(nil), // 3: WebSocketRequest
 | 
	
		
			
				|  |  | +	(*WebSocketReply)(nil),   // 4: WebSocketReply
 | 
	
		
			
				|  |  | +	(*MonitorPoint)(nil),     // 5: MonitorPoint
 | 
	
		
			
				|  |  | +	(*MonitorReply)(nil),     // 6: MonitorReply
 | 
	
		
			
				|  |  | +	(*MonitorRequest)(nil),   // 7: MonitorRequest
 | 
	
		
			
				|  |  | +	(*MonitorPointList)(nil), // 8: MonitorPointList
 | 
	
		
			
				|  |  | +	(*BPoint)(nil),           // 9: BPoint
 | 
	
		
			
				|  |  | +	(*BColor)(nil),           // 10: BColor
 | 
	
		
			
				|  |  | +	(*PaintRequest)(nil),     // 11: PaintRequest
 | 
	
		
			
				|  |  | +	(*PaintReply)(nil),       // 12: PaintReply
 | 
	
		
			
				|  |  | +	(*RTCData)(nil),          // 13: RTCData
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  var file_protos_client_proto_depIdxs = []int32{
 | 
	
		
			
				|  |  | -	4,  // 0: MonitorSub.tile:type_name -> BPoint
 | 
	
		
			
				|  |  | -	4,  // 1: MonitorPoint.point:type_name -> BPoint
 | 
	
		
			
				|  |  | -	5,  // 2: MonitorPoint.color:type_name -> BColor
 | 
	
		
			
				|  |  | -	1,  // 3: MonitorReply.points:type_name -> MonitorPoint
 | 
	
		
			
				|  |  | -	1,  // 4: MonitorPointList.points:type_name -> MonitorPoint
 | 
	
		
			
				|  |  | -	4,  // 5: PaintRequest.point:type_name -> BPoint
 | 
	
		
			
				|  |  | -	5,  // 6: PaintRequest.color:type_name -> BColor
 | 
	
		
			
				|  |  | -	6,  // 7: PaintClient.Paint:input_type -> PaintRequest
 | 
	
		
			
				|  |  | -	0,  // 8: PaintClient.Monitor:input_type -> MonitorSub
 | 
	
		
			
				|  |  | -	8,  // 9: PaintClient.RequestRTC:input_type -> RTCData
 | 
	
		
			
				|  |  | -	7,  // 10: PaintClient.Paint:output_type -> PaintReply
 | 
	
		
			
				|  |  | -	2,  // 11: PaintClient.Monitor:output_type -> MonitorReply
 | 
	
		
			
				|  |  | -	8,  // 12: PaintClient.RequestRTC:output_type -> RTCData
 | 
	
		
			
				|  |  | -	10, // [10:13] is the sub-list for method output_type
 | 
	
		
			
				|  |  | -	7,  // [7:10] is the sub-list for method input_type
 | 
	
		
			
				|  |  | -	7,  // [7:7] is the sub-list for extension type_name
 | 
	
		
			
				|  |  | -	7,  // [7:7] is the sub-list for extension extendee
 | 
	
		
			
				|  |  | -	0,  // [0:7] is the sub-list for field type_name
 | 
	
		
			
				|  |  | +	9,  // 0: RequestData.tile:type_name -> BPoint
 | 
	
		
			
				|  |  | +	0,  // 1: WebRTCRequest.requestData:type_name -> RequestData
 | 
	
		
			
				|  |  | +	0,  // 2: WebRTCReply.requestData:type_name -> RequestData
 | 
	
		
			
				|  |  | +	0,  // 3: WebSocketRequest.requestData:type_name -> RequestData
 | 
	
		
			
				|  |  | +	0,  // 4: WebSocketReply.requestData:type_name -> RequestData
 | 
	
		
			
				|  |  | +	9,  // 5: MonitorPoint.point:type_name -> BPoint
 | 
	
		
			
				|  |  | +	10, // 6: MonitorPoint.color:type_name -> BColor
 | 
	
		
			
				|  |  | +	5,  // 7: MonitorReply.points:type_name -> MonitorPoint
 | 
	
		
			
				|  |  | +	9,  // 8: MonitorReply.tile:type_name -> BPoint
 | 
	
		
			
				|  |  | +	9,  // 9: MonitorRequest.tile:type_name -> BPoint
 | 
	
		
			
				|  |  | +	5,  // 10: MonitorPointList.points:type_name -> MonitorPoint
 | 
	
		
			
				|  |  | +	9,  // 11: PaintRequest.point:type_name -> BPoint
 | 
	
		
			
				|  |  | +	10, // 12: PaintRequest.color:type_name -> BColor
 | 
	
		
			
				|  |  | +	13, // [13:13] is the sub-list for method output_type
 | 
	
		
			
				|  |  | +	13, // [13:13] is the sub-list for method input_type
 | 
	
		
			
				|  |  | +	13, // [13:13] is the sub-list for extension type_name
 | 
	
		
			
				|  |  | +	13, // [13:13] is the sub-list for extension extendee
 | 
	
		
			
				|  |  | +	0,  // [0:13] is the sub-list for field type_name
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  func init() { file_protos_client_proto_init() }
 | 
	
	
		
			
				|  | @@ -595,7 +936,7 @@ func file_protos_client_proto_init() {
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  	if !protoimpl.UnsafeEnabled {
 | 
	
		
			
				|  |  |  		file_protos_client_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 | 
	
		
			
				|  |  | -			switch v := v.(*MonitorSub); i {
 | 
	
		
			
				|  |  | +			switch v := v.(*RequestData); i {
 | 
	
		
			
				|  |  |  			case 0:
 | 
	
		
			
				|  |  |  				return &v.state
 | 
	
		
			
				|  |  |  			case 1:
 | 
	
	
		
			
				|  | @@ -607,7 +948,7 @@ func file_protos_client_proto_init() {
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		file_protos_client_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 | 
	
		
			
				|  |  | -			switch v := v.(*MonitorPoint); i {
 | 
	
		
			
				|  |  | +			switch v := v.(*WebRTCRequest); i {
 | 
	
		
			
				|  |  |  			case 0:
 | 
	
		
			
				|  |  |  				return &v.state
 | 
	
		
			
				|  |  |  			case 1:
 | 
	
	
		
			
				|  | @@ -619,7 +960,7 @@ func file_protos_client_proto_init() {
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		file_protos_client_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 | 
	
		
			
				|  |  | -			switch v := v.(*MonitorReply); i {
 | 
	
		
			
				|  |  | +			switch v := v.(*WebRTCReply); i {
 | 
	
		
			
				|  |  |  			case 0:
 | 
	
		
			
				|  |  |  				return &v.state
 | 
	
		
			
				|  |  |  			case 1:
 | 
	
	
		
			
				|  | @@ -631,7 +972,7 @@ func file_protos_client_proto_init() {
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		file_protos_client_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
 | 
	
		
			
				|  |  | -			switch v := v.(*MonitorPointList); i {
 | 
	
		
			
				|  |  | +			switch v := v.(*WebSocketRequest); i {
 | 
	
		
			
				|  |  |  			case 0:
 | 
	
		
			
				|  |  |  				return &v.state
 | 
	
		
			
				|  |  |  			case 1:
 | 
	
	
		
			
				|  | @@ -643,7 +984,7 @@ func file_protos_client_proto_init() {
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		file_protos_client_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
 | 
	
		
			
				|  |  | -			switch v := v.(*BPoint); i {
 | 
	
		
			
				|  |  | +			switch v := v.(*WebSocketReply); i {
 | 
	
		
			
				|  |  |  			case 0:
 | 
	
		
			
				|  |  |  				return &v.state
 | 
	
		
			
				|  |  |  			case 1:
 | 
	
	
		
			
				|  | @@ -655,7 +996,7 @@ func file_protos_client_proto_init() {
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		file_protos_client_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
 | 
	
		
			
				|  |  | -			switch v := v.(*BColor); i {
 | 
	
		
			
				|  |  | +			switch v := v.(*MonitorPoint); i {
 | 
	
		
			
				|  |  |  			case 0:
 | 
	
		
			
				|  |  |  				return &v.state
 | 
	
		
			
				|  |  |  			case 1:
 | 
	
	
		
			
				|  | @@ -667,7 +1008,7 @@ func file_protos_client_proto_init() {
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		file_protos_client_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
 | 
	
		
			
				|  |  | -			switch v := v.(*PaintRequest); i {
 | 
	
		
			
				|  |  | +			switch v := v.(*MonitorReply); i {
 | 
	
		
			
				|  |  |  			case 0:
 | 
	
		
			
				|  |  |  				return &v.state
 | 
	
		
			
				|  |  |  			case 1:
 | 
	
	
		
			
				|  | @@ -679,7 +1020,7 @@ func file_protos_client_proto_init() {
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		file_protos_client_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
 | 
	
		
			
				|  |  | -			switch v := v.(*PaintReply); i {
 | 
	
		
			
				|  |  | +			switch v := v.(*MonitorRequest); i {
 | 
	
		
			
				|  |  |  			case 0:
 | 
	
		
			
				|  |  |  				return &v.state
 | 
	
		
			
				|  |  |  			case 1:
 | 
	
	
		
			
				|  | @@ -691,6 +1032,66 @@ func file_protos_client_proto_init() {
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		file_protos_client_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
 | 
	
		
			
				|  |  | +			switch v := v.(*MonitorPointList); i {
 | 
	
		
			
				|  |  | +			case 0:
 | 
	
		
			
				|  |  | +				return &v.state
 | 
	
		
			
				|  |  | +			case 1:
 | 
	
		
			
				|  |  | +				return &v.sizeCache
 | 
	
		
			
				|  |  | +			case 2:
 | 
	
		
			
				|  |  | +				return &v.unknownFields
 | 
	
		
			
				|  |  | +			default:
 | 
	
		
			
				|  |  | +				return nil
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		file_protos_client_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
 | 
	
		
			
				|  |  | +			switch v := v.(*BPoint); i {
 | 
	
		
			
				|  |  | +			case 0:
 | 
	
		
			
				|  |  | +				return &v.state
 | 
	
		
			
				|  |  | +			case 1:
 | 
	
		
			
				|  |  | +				return &v.sizeCache
 | 
	
		
			
				|  |  | +			case 2:
 | 
	
		
			
				|  |  | +				return &v.unknownFields
 | 
	
		
			
				|  |  | +			default:
 | 
	
		
			
				|  |  | +				return nil
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		file_protos_client_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
 | 
	
		
			
				|  |  | +			switch v := v.(*BColor); i {
 | 
	
		
			
				|  |  | +			case 0:
 | 
	
		
			
				|  |  | +				return &v.state
 | 
	
		
			
				|  |  | +			case 1:
 | 
	
		
			
				|  |  | +				return &v.sizeCache
 | 
	
		
			
				|  |  | +			case 2:
 | 
	
		
			
				|  |  | +				return &v.unknownFields
 | 
	
		
			
				|  |  | +			default:
 | 
	
		
			
				|  |  | +				return nil
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		file_protos_client_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
 | 
	
		
			
				|  |  | +			switch v := v.(*PaintRequest); i {
 | 
	
		
			
				|  |  | +			case 0:
 | 
	
		
			
				|  |  | +				return &v.state
 | 
	
		
			
				|  |  | +			case 1:
 | 
	
		
			
				|  |  | +				return &v.sizeCache
 | 
	
		
			
				|  |  | +			case 2:
 | 
	
		
			
				|  |  | +				return &v.unknownFields
 | 
	
		
			
				|  |  | +			default:
 | 
	
		
			
				|  |  | +				return nil
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		file_protos_client_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
 | 
	
		
			
				|  |  | +			switch v := v.(*PaintReply); i {
 | 
	
		
			
				|  |  | +			case 0:
 | 
	
		
			
				|  |  | +				return &v.state
 | 
	
		
			
				|  |  | +			case 1:
 | 
	
		
			
				|  |  | +				return &v.sizeCache
 | 
	
		
			
				|  |  | +			case 2:
 | 
	
		
			
				|  |  | +				return &v.unknownFields
 | 
	
		
			
				|  |  | +			default:
 | 
	
		
			
				|  |  | +				return nil
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		file_protos_client_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
 | 
	
		
			
				|  |  |  			switch v := v.(*RTCData); i {
 | 
	
		
			
				|  |  |  			case 0:
 | 
	
		
			
				|  |  |  				return &v.state
 | 
	
	
		
			
				|  | @@ -703,15 +1104,27 @@ func file_protos_client_proto_init() {
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  | +	file_protos_client_proto_msgTypes[1].OneofWrappers = []interface{}{
 | 
	
		
			
				|  |  | +		(*WebRTCRequest_RequestData)(nil),
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	file_protos_client_proto_msgTypes[2].OneofWrappers = []interface{}{
 | 
	
		
			
				|  |  | +		(*WebRTCReply_RequestData)(nil),
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	file_protos_client_proto_msgTypes[3].OneofWrappers = []interface{}{
 | 
	
		
			
				|  |  | +		(*WebSocketRequest_RequestData)(nil),
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	file_protos_client_proto_msgTypes[4].OneofWrappers = []interface{}{
 | 
	
		
			
				|  |  | +		(*WebSocketReply_RequestData)(nil),
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  |  	type x struct{}
 | 
	
		
			
				|  |  |  	out := protoimpl.TypeBuilder{
 | 
	
		
			
				|  |  |  		File: protoimpl.DescBuilder{
 | 
	
		
			
				|  |  |  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
	
		
			
				|  |  |  			RawDescriptor: file_protos_client_proto_rawDesc,
 | 
	
		
			
				|  |  |  			NumEnums:      0,
 | 
	
		
			
				|  |  | -			NumMessages:   9,
 | 
	
		
			
				|  |  | +			NumMessages:   14,
 | 
	
		
			
				|  |  |  			NumExtensions: 0,
 | 
	
		
			
				|  |  | -			NumServices:   1,
 | 
	
		
			
				|  |  | +			NumServices:   0,
 | 
	
		
			
				|  |  |  		},
 | 
	
		
			
				|  |  |  		GoTypes:           file_protos_client_proto_goTypes,
 | 
	
		
			
				|  |  |  		DependencyIndexes: file_protos_client_proto_depIdxs,
 |