You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Open-IM-Server/pkg/proto/sdkws/sdkws.pb.go

8426 lines
308 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.29.1
// protoc v4.22.0
// source: sdkws/sdkws.proto
package sdkws
import (
wrapperspb "github.com/OpenIMSDK/Open-IM-Server/pkg/proto/wrapperspb"
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 GroupInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GroupID string `protobuf:"bytes,1,opt,name=groupID,proto3" json:"groupID"`
GroupName string `protobuf:"bytes,2,opt,name=groupName,proto3" json:"groupName"`
Notification string `protobuf:"bytes,3,opt,name=notification,proto3" json:"notification"`
Introduction string `protobuf:"bytes,4,opt,name=introduction,proto3" json:"introduction"`
FaceURL string `protobuf:"bytes,5,opt,name=faceURL,proto3" json:"faceURL"`
OwnerUserID string `protobuf:"bytes,6,opt,name=ownerUserID,proto3" json:"ownerUserID"`
CreateTime int64 `protobuf:"varint,7,opt,name=createTime,proto3" json:"createTime"`
MemberCount uint32 `protobuf:"varint,8,opt,name=memberCount,proto3" json:"memberCount"`
Ex string `protobuf:"bytes,9,opt,name=ex,proto3" json:"ex"`
Status int32 `protobuf:"varint,10,opt,name=status,proto3" json:"status"`
CreatorUserID string `protobuf:"bytes,11,opt,name=creatorUserID,proto3" json:"creatorUserID"`
GroupType int32 `protobuf:"varint,12,opt,name=groupType,proto3" json:"groupType"`
NeedVerification int32 `protobuf:"varint,13,opt,name=needVerification,proto3" json:"needVerification"`
LookMemberInfo int32 `protobuf:"varint,14,opt,name=lookMemberInfo,proto3" json:"lookMemberInfo"`
ApplyMemberFriend int32 `protobuf:"varint,15,opt,name=applyMemberFriend,proto3" json:"applyMemberFriend"`
NotificationUpdateTime int64 `protobuf:"varint,16,opt,name=notificationUpdateTime,proto3" json:"notificationUpdateTime"`
NotificationUserID string `protobuf:"bytes,17,opt,name=notificationUserID,proto3" json:"notificationUserID"`
}
func (x *GroupInfo) Reset() {
*x = GroupInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GroupInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GroupInfo) ProtoMessage() {}
func (x *GroupInfo) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 GroupInfo.ProtoReflect.Descriptor instead.
func (*GroupInfo) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{0}
}
func (x *GroupInfo) GetGroupID() string {
if x != nil {
return x.GroupID
}
return ""
}
func (x *GroupInfo) GetGroupName() string {
if x != nil {
return x.GroupName
}
return ""
}
func (x *GroupInfo) GetNotification() string {
if x != nil {
return x.Notification
}
return ""
}
func (x *GroupInfo) GetIntroduction() string {
if x != nil {
return x.Introduction
}
return ""
}
func (x *GroupInfo) GetFaceURL() string {
if x != nil {
return x.FaceURL
}
return ""
}
func (x *GroupInfo) GetOwnerUserID() string {
if x != nil {
return x.OwnerUserID
}
return ""
}
func (x *GroupInfo) GetCreateTime() int64 {
if x != nil {
return x.CreateTime
}
return 0
}
func (x *GroupInfo) GetMemberCount() uint32 {
if x != nil {
return x.MemberCount
}
return 0
}
func (x *GroupInfo) GetEx() string {
if x != nil {
return x.Ex
}
return ""
}
func (x *GroupInfo) GetStatus() int32 {
if x != nil {
return x.Status
}
return 0
}
func (x *GroupInfo) GetCreatorUserID() string {
if x != nil {
return x.CreatorUserID
}
return ""
}
func (x *GroupInfo) GetGroupType() int32 {
if x != nil {
return x.GroupType
}
return 0
}
func (x *GroupInfo) GetNeedVerification() int32 {
if x != nil {
return x.NeedVerification
}
return 0
}
func (x *GroupInfo) GetLookMemberInfo() int32 {
if x != nil {
return x.LookMemberInfo
}
return 0
}
func (x *GroupInfo) GetApplyMemberFriend() int32 {
if x != nil {
return x.ApplyMemberFriend
}
return 0
}
func (x *GroupInfo) GetNotificationUpdateTime() int64 {
if x != nil {
return x.NotificationUpdateTime
}
return 0
}
func (x *GroupInfo) GetNotificationUserID() string {
if x != nil {
return x.NotificationUserID
}
return ""
}
type GroupInfoForSet struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GroupID string `protobuf:"bytes,1,opt,name=groupID,proto3" json:"groupID"`
GroupName string `protobuf:"bytes,2,opt,name=groupName,proto3" json:"groupName"`
Notification string `protobuf:"bytes,3,opt,name=notification,proto3" json:"notification"`
Introduction string `protobuf:"bytes,4,opt,name=introduction,proto3" json:"introduction"`
FaceURL string `protobuf:"bytes,5,opt,name=faceURL,proto3" json:"faceURL"`
Ex string `protobuf:"bytes,6,opt,name=ex,proto3" json:"ex"`
NeedVerification *wrapperspb.Int32Value `protobuf:"bytes,7,opt,name=needVerification,proto3" json:"needVerification"`
LookMemberInfo *wrapperspb.Int32Value `protobuf:"bytes,8,opt,name=lookMemberInfo,proto3" json:"lookMemberInfo"`
ApplyMemberFriend *wrapperspb.Int32Value `protobuf:"bytes,9,opt,name=applyMemberFriend,proto3" json:"applyMemberFriend"`
}
func (x *GroupInfoForSet) Reset() {
*x = GroupInfoForSet{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GroupInfoForSet) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GroupInfoForSet) ProtoMessage() {}
func (x *GroupInfoForSet) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 GroupInfoForSet.ProtoReflect.Descriptor instead.
func (*GroupInfoForSet) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{1}
}
func (x *GroupInfoForSet) GetGroupID() string {
if x != nil {
return x.GroupID
}
return ""
}
func (x *GroupInfoForSet) GetGroupName() string {
if x != nil {
return x.GroupName
}
return ""
}
func (x *GroupInfoForSet) GetNotification() string {
if x != nil {
return x.Notification
}
return ""
}
func (x *GroupInfoForSet) GetIntroduction() string {
if x != nil {
return x.Introduction
}
return ""
}
func (x *GroupInfoForSet) GetFaceURL() string {
if x != nil {
return x.FaceURL
}
return ""
}
func (x *GroupInfoForSet) GetEx() string {
if x != nil {
return x.Ex
}
return ""
}
func (x *GroupInfoForSet) GetNeedVerification() *wrapperspb.Int32Value {
if x != nil {
return x.NeedVerification
}
return nil
}
func (x *GroupInfoForSet) GetLookMemberInfo() *wrapperspb.Int32Value {
if x != nil {
return x.LookMemberInfo
}
return nil
}
func (x *GroupInfoForSet) GetApplyMemberFriend() *wrapperspb.Int32Value {
if x != nil {
return x.ApplyMemberFriend
}
return nil
}
type GroupMemberFullInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GroupID string `protobuf:"bytes,1,opt,name=groupID,proto3" json:"groupID"`
UserID string `protobuf:"bytes,2,opt,name=userID,proto3" json:"userID"`
RoleLevel int32 `protobuf:"varint,3,opt,name=roleLevel,proto3" json:"roleLevel"`
JoinTime int64 `protobuf:"varint,4,opt,name=joinTime,proto3" json:"joinTime"`
Nickname string `protobuf:"bytes,5,opt,name=nickname,proto3" json:"nickname"`
FaceURL string `protobuf:"bytes,6,opt,name=faceURL,proto3" json:"faceURL"`
AppMangerLevel int32 `protobuf:"varint,7,opt,name=appMangerLevel,proto3" json:"appMangerLevel"` //if >0
JoinSource int32 `protobuf:"varint,8,opt,name=joinSource,proto3" json:"joinSource"`
OperatorUserID string `protobuf:"bytes,9,opt,name=operatorUserID,proto3" json:"operatorUserID"`
Ex string `protobuf:"bytes,10,opt,name=ex,proto3" json:"ex"`
MuteEndTime int64 `protobuf:"varint,11,opt,name=muteEndTime,proto3" json:"muteEndTime"`
InviterUserID string `protobuf:"bytes,12,opt,name=inviterUserID,proto3" json:"inviterUserID"`
}
func (x *GroupMemberFullInfo) Reset() {
*x = GroupMemberFullInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GroupMemberFullInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GroupMemberFullInfo) ProtoMessage() {}
func (x *GroupMemberFullInfo) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 GroupMemberFullInfo.ProtoReflect.Descriptor instead.
func (*GroupMemberFullInfo) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{2}
}
func (x *GroupMemberFullInfo) GetGroupID() string {
if x != nil {
return x.GroupID
}
return ""
}
func (x *GroupMemberFullInfo) GetUserID() string {
if x != nil {
return x.UserID
}
return ""
}
func (x *GroupMemberFullInfo) GetRoleLevel() int32 {
if x != nil {
return x.RoleLevel
}
return 0
}
func (x *GroupMemberFullInfo) GetJoinTime() int64 {
if x != nil {
return x.JoinTime
}
return 0
}
func (x *GroupMemberFullInfo) GetNickname() string {
if x != nil {
return x.Nickname
}
return ""
}
func (x *GroupMemberFullInfo) GetFaceURL() string {
if x != nil {
return x.FaceURL
}
return ""
}
func (x *GroupMemberFullInfo) GetAppMangerLevel() int32 {
if x != nil {
return x.AppMangerLevel
}
return 0
}
func (x *GroupMemberFullInfo) GetJoinSource() int32 {
if x != nil {
return x.JoinSource
}
return 0
}
func (x *GroupMemberFullInfo) GetOperatorUserID() string {
if x != nil {
return x.OperatorUserID
}
return ""
}
func (x *GroupMemberFullInfo) GetEx() string {
if x != nil {
return x.Ex
}
return ""
}
func (x *GroupMemberFullInfo) GetMuteEndTime() int64 {
if x != nil {
return x.MuteEndTime
}
return 0
}
func (x *GroupMemberFullInfo) GetInviterUserID() string {
if x != nil {
return x.InviterUserID
}
return ""
}
type PublicUserInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
Nickname string `protobuf:"bytes,2,opt,name=nickname,proto3" json:"nickname"`
FaceURL string `protobuf:"bytes,3,opt,name=faceURL,proto3" json:"faceURL"`
Ex string `protobuf:"bytes,4,opt,name=ex,proto3" json:"ex"`
}
func (x *PublicUserInfo) Reset() {
*x = PublicUserInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PublicUserInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PublicUserInfo) ProtoMessage() {}
func (x *PublicUserInfo) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 PublicUserInfo.ProtoReflect.Descriptor instead.
func (*PublicUserInfo) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{3}
}
func (x *PublicUserInfo) GetUserID() string {
if x != nil {
return x.UserID
}
return ""
}
func (x *PublicUserInfo) GetNickname() string {
if x != nil {
return x.Nickname
}
return ""
}
func (x *PublicUserInfo) GetFaceURL() string {
if x != nil {
return x.FaceURL
}
return ""
}
func (x *PublicUserInfo) GetEx() string {
if x != nil {
return x.Ex
}
return ""
}
type UserInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
Nickname string `protobuf:"bytes,2,opt,name=nickname,proto3" json:"nickname"`
FaceURL string `protobuf:"bytes,3,opt,name=faceURL,proto3" json:"faceURL"`
Ex string `protobuf:"bytes,4,opt,name=ex,proto3" json:"ex"`
CreateTime int64 `protobuf:"varint,5,opt,name=createTime,proto3" json:"createTime"`
AppMangerLevel int32 `protobuf:"varint,6,opt,name=appMangerLevel,proto3" json:"appMangerLevel"`
GlobalRecvMsgOpt int32 `protobuf:"varint,7,opt,name=globalRecvMsgOpt,proto3" json:"globalRecvMsgOpt"`
}
func (x *UserInfo) Reset() {
*x = UserInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UserInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UserInfo) ProtoMessage() {}
func (x *UserInfo) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 UserInfo.ProtoReflect.Descriptor instead.
func (*UserInfo) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{4}
}
func (x *UserInfo) GetUserID() string {
if x != nil {
return x.UserID
}
return ""
}
func (x *UserInfo) GetNickname() string {
if x != nil {
return x.Nickname
}
return ""
}
func (x *UserInfo) GetFaceURL() string {
if x != nil {
return x.FaceURL
}
return ""
}
func (x *UserInfo) GetEx() string {
if x != nil {
return x.Ex
}
return ""
}
func (x *UserInfo) GetCreateTime() int64 {
if x != nil {
return x.CreateTime
}
return 0
}
func (x *UserInfo) GetAppMangerLevel() int32 {
if x != nil {
return x.AppMangerLevel
}
return 0
}
func (x *UserInfo) GetGlobalRecvMsgOpt() int32 {
if x != nil {
return x.GlobalRecvMsgOpt
}
return 0
}
type FriendInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OwnerUserID string `protobuf:"bytes,1,opt,name=ownerUserID,proto3" json:"ownerUserID"`
Remark string `protobuf:"bytes,2,opt,name=remark,proto3" json:"remark"`
CreateTime int64 `protobuf:"varint,3,opt,name=createTime,proto3" json:"createTime"`
FriendUser *UserInfo `protobuf:"bytes,4,opt,name=friendUser,proto3" json:"friendUser"`
AddSource int32 `protobuf:"varint,5,opt,name=addSource,proto3" json:"addSource"`
OperatorUserID string `protobuf:"bytes,6,opt,name=operatorUserID,proto3" json:"operatorUserID"`
Ex string `protobuf:"bytes,7,opt,name=ex,proto3" json:"ex"`
}
func (x *FriendInfo) Reset() {
*x = FriendInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FriendInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FriendInfo) ProtoMessage() {}
func (x *FriendInfo) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 FriendInfo.ProtoReflect.Descriptor instead.
func (*FriendInfo) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{5}
}
func (x *FriendInfo) GetOwnerUserID() string {
if x != nil {
return x.OwnerUserID
}
return ""
}
func (x *FriendInfo) GetRemark() string {
if x != nil {
return x.Remark
}
return ""
}
func (x *FriendInfo) GetCreateTime() int64 {
if x != nil {
return x.CreateTime
}
return 0
}
func (x *FriendInfo) GetFriendUser() *UserInfo {
if x != nil {
return x.FriendUser
}
return nil
}
func (x *FriendInfo) GetAddSource() int32 {
if x != nil {
return x.AddSource
}
return 0
}
func (x *FriendInfo) GetOperatorUserID() string {
if x != nil {
return x.OperatorUserID
}
return ""
}
func (x *FriendInfo) GetEx() string {
if x != nil {
return x.Ex
}
return ""
}
type BlackInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OwnerUserID string `protobuf:"bytes,1,opt,name=ownerUserID,proto3" json:"ownerUserID"`
CreateTime int64 `protobuf:"varint,2,opt,name=createTime,proto3" json:"createTime"`
BlackUserInfo *PublicUserInfo `protobuf:"bytes,3,opt,name=blackUserInfo,proto3" json:"blackUserInfo"`
AddSource int32 `protobuf:"varint,4,opt,name=addSource,proto3" json:"addSource"`
OperatorUserID string `protobuf:"bytes,5,opt,name=operatorUserID,proto3" json:"operatorUserID"`
Ex string `protobuf:"bytes,6,opt,name=ex,proto3" json:"ex"`
}
func (x *BlackInfo) Reset() {
*x = BlackInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BlackInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BlackInfo) ProtoMessage() {}
func (x *BlackInfo) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 BlackInfo.ProtoReflect.Descriptor instead.
func (*BlackInfo) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{6}
}
func (x *BlackInfo) GetOwnerUserID() string {
if x != nil {
return x.OwnerUserID
}
return ""
}
func (x *BlackInfo) GetCreateTime() int64 {
if x != nil {
return x.CreateTime
}
return 0
}
func (x *BlackInfo) GetBlackUserInfo() *PublicUserInfo {
if x != nil {
return x.BlackUserInfo
}
return nil
}
func (x *BlackInfo) GetAddSource() int32 {
if x != nil {
return x.AddSource
}
return 0
}
func (x *BlackInfo) GetOperatorUserID() string {
if x != nil {
return x.OperatorUserID
}
return ""
}
func (x *BlackInfo) GetEx() string {
if x != nil {
return x.Ex
}
return ""
}
type GroupRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserInfo *PublicUserInfo `protobuf:"bytes,1,opt,name=userInfo,proto3" json:"userInfo"`
GroupInfo *GroupInfo `protobuf:"bytes,2,opt,name=groupInfo,proto3" json:"groupInfo"`
HandleResult int32 `protobuf:"varint,3,opt,name=handleResult,proto3" json:"handleResult"`
ReqMsg string `protobuf:"bytes,4,opt,name=reqMsg,proto3" json:"reqMsg"`
HandleMsg string `protobuf:"bytes,5,opt,name=handleMsg,proto3" json:"handleMsg"`
ReqTime int64 `protobuf:"varint,6,opt,name=reqTime,proto3" json:"reqTime"`
HandleUserID string `protobuf:"bytes,7,opt,name=handleUserID,proto3" json:"handleUserID"`
HandleTime int64 `protobuf:"varint,8,opt,name=handleTime,proto3" json:"handleTime"`
Ex string `protobuf:"bytes,9,opt,name=ex,proto3" json:"ex"`
JoinSource int32 `protobuf:"varint,10,opt,name=joinSource,proto3" json:"joinSource"`
InviterUserID string `protobuf:"bytes,11,opt,name=inviterUserID,proto3" json:"inviterUserID"`
}
func (x *GroupRequest) Reset() {
*x = GroupRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GroupRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GroupRequest) ProtoMessage() {}
func (x *GroupRequest) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 GroupRequest.ProtoReflect.Descriptor instead.
func (*GroupRequest) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{7}
}
func (x *GroupRequest) GetUserInfo() *PublicUserInfo {
if x != nil {
return x.UserInfo
}
return nil
}
func (x *GroupRequest) GetGroupInfo() *GroupInfo {
if x != nil {
return x.GroupInfo
}
return nil
}
func (x *GroupRequest) GetHandleResult() int32 {
if x != nil {
return x.HandleResult
}
return 0
}
func (x *GroupRequest) GetReqMsg() string {
if x != nil {
return x.ReqMsg
}
return ""
}
func (x *GroupRequest) GetHandleMsg() string {
if x != nil {
return x.HandleMsg
}
return ""
}
func (x *GroupRequest) GetReqTime() int64 {
if x != nil {
return x.ReqTime
}
return 0
}
func (x *GroupRequest) GetHandleUserID() string {
if x != nil {
return x.HandleUserID
}
return ""
}
func (x *GroupRequest) GetHandleTime() int64 {
if x != nil {
return x.HandleTime
}
return 0
}
func (x *GroupRequest) GetEx() string {
if x != nil {
return x.Ex
}
return ""
}
func (x *GroupRequest) GetJoinSource() int32 {
if x != nil {
return x.JoinSource
}
return 0
}
func (x *GroupRequest) GetInviterUserID() string {
if x != nil {
return x.InviterUserID
}
return ""
}
type FriendRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FromUserID string `protobuf:"bytes,1,opt,name=fromUserID,proto3" json:"fromUserID"`
FromNickname string `protobuf:"bytes,2,opt,name=fromNickname,proto3" json:"fromNickname"`
FromFaceURL string `protobuf:"bytes,3,opt,name=fromFaceURL,proto3" json:"fromFaceURL"`
ToUserID string `protobuf:"bytes,4,opt,name=toUserID,proto3" json:"toUserID"`
ToNickname string `protobuf:"bytes,5,opt,name=toNickname,proto3" json:"toNickname"`
ToFaceURL string `protobuf:"bytes,6,opt,name=toFaceURL,proto3" json:"toFaceURL"`
HandleResult int32 `protobuf:"varint,7,opt,name=handleResult,proto3" json:"handleResult"`
ReqMsg string `protobuf:"bytes,8,opt,name=reqMsg,proto3" json:"reqMsg"`
CreateTime int64 `protobuf:"varint,9,opt,name=createTime,proto3" json:"createTime"`
HandlerUserID string `protobuf:"bytes,10,opt,name=handlerUserID,proto3" json:"handlerUserID"`
HandleMsg string `protobuf:"bytes,11,opt,name=handleMsg,proto3" json:"handleMsg"`
HandleTime int64 `protobuf:"varint,12,opt,name=handleTime,proto3" json:"handleTime"`
Ex string `protobuf:"bytes,13,opt,name=ex,proto3" json:"ex"`
}
func (x *FriendRequest) Reset() {
*x = FriendRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FriendRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FriendRequest) ProtoMessage() {}
func (x *FriendRequest) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 FriendRequest.ProtoReflect.Descriptor instead.
func (*FriendRequest) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{8}
}
func (x *FriendRequest) GetFromUserID() string {
if x != nil {
return x.FromUserID
}
return ""
}
func (x *FriendRequest) GetFromNickname() string {
if x != nil {
return x.FromNickname
}
return ""
}
func (x *FriendRequest) GetFromFaceURL() string {
if x != nil {
return x.FromFaceURL
}
return ""
}
func (x *FriendRequest) GetToUserID() string {
if x != nil {
return x.ToUserID
}
return ""
}
func (x *FriendRequest) GetToNickname() string {
if x != nil {
return x.ToNickname
}
return ""
}
func (x *FriendRequest) GetToFaceURL() string {
if x != nil {
return x.ToFaceURL
}
return ""
}
func (x *FriendRequest) GetHandleResult() int32 {
if x != nil {
return x.HandleResult
}
return 0
}
func (x *FriendRequest) GetReqMsg() string {
if x != nil {
return x.ReqMsg
}
return ""
}
func (x *FriendRequest) GetCreateTime() int64 {
if x != nil {
return x.CreateTime
}
return 0
}
func (x *FriendRequest) GetHandlerUserID() string {
if x != nil {
return x.HandlerUserID
}
return ""
}
func (x *FriendRequest) GetHandleMsg() string {
if x != nil {
return x.HandleMsg
}
return ""
}
func (x *FriendRequest) GetHandleTime() int64 {
if x != nil {
return x.HandleTime
}
return 0
}
func (x *FriendRequest) GetEx() string {
if x != nil {
return x.Ex
}
return ""
}
// /////////////////////////////////base end/////////////////////////////////////
type PullMessageBySeqsReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
SeqRanges []*SeqRange `protobuf:"bytes,2,rep,name=seqRanges,proto3" json:"seqRanges"`
}
func (x *PullMessageBySeqsReq) Reset() {
*x = PullMessageBySeqsReq{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PullMessageBySeqsReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PullMessageBySeqsReq) ProtoMessage() {}
func (x *PullMessageBySeqsReq) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[9]
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 PullMessageBySeqsReq.ProtoReflect.Descriptor instead.
func (*PullMessageBySeqsReq) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{9}
}
func (x *PullMessageBySeqsReq) GetUserID() string {
if x != nil {
return x.UserID
}
return ""
}
func (x *PullMessageBySeqsReq) GetSeqRanges() []*SeqRange {
if x != nil {
return x.SeqRanges
}
return nil
}
type SeqRange struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ConversationID string `protobuf:"bytes,1,opt,name=conversationID,proto3" json:"conversationID"`
Begin int64 `protobuf:"varint,2,opt,name=begin,proto3" json:"begin"`
End int64 `protobuf:"varint,3,opt,name=end,proto3" json:"end"`
Num int64 `protobuf:"varint,4,opt,name=num,proto3" json:"num"`
}
func (x *SeqRange) Reset() {
*x = SeqRange{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SeqRange) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SeqRange) ProtoMessage() {}
func (x *SeqRange) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[10]
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 SeqRange.ProtoReflect.Descriptor instead.
func (*SeqRange) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{10}
}
func (x *SeqRange) GetConversationID() string {
if x != nil {
return x.ConversationID
}
return ""
}
func (x *SeqRange) GetBegin() int64 {
if x != nil {
return x.Begin
}
return 0
}
func (x *SeqRange) GetEnd() int64 {
if x != nil {
return x.End
}
return 0
}
func (x *SeqRange) GetNum() int64 {
if x != nil {
return x.Num
}
return 0
}
type PullMsgs struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Msgs []*MsgData `protobuf:"bytes,1,rep,name=Msgs,proto3" json:"Msgs"`
}
func (x *PullMsgs) Reset() {
*x = PullMsgs{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PullMsgs) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PullMsgs) ProtoMessage() {}
func (x *PullMsgs) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[11]
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 PullMsgs.ProtoReflect.Descriptor instead.
func (*PullMsgs) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{11}
}
func (x *PullMsgs) GetMsgs() []*MsgData {
if x != nil {
return x.Msgs
}
return nil
}
type PullMessageBySeqsResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Msgs map[string]*PullMsgs `protobuf:"bytes,1,rep,name=msgs,proto3" json:"msgs" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
NotificationMsgs map[string]*PullMsgs `protobuf:"bytes,2,rep,name=notificationMsgs,proto3" json:"notificationMsgs" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}
func (x *PullMessageBySeqsResp) Reset() {
*x = PullMessageBySeqsResp{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PullMessageBySeqsResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PullMessageBySeqsResp) ProtoMessage() {}
func (x *PullMessageBySeqsResp) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[12]
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 PullMessageBySeqsResp.ProtoReflect.Descriptor instead.
func (*PullMessageBySeqsResp) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{12}
}
func (x *PullMessageBySeqsResp) GetMsgs() map[string]*PullMsgs {
if x != nil {
return x.Msgs
}
return nil
}
func (x *PullMessageBySeqsResp) GetNotificationMsgs() map[string]*PullMsgs {
if x != nil {
return x.NotificationMsgs
}
return nil
}
type GetMaxSeqReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
}
func (x *GetMaxSeqReq) Reset() {
*x = GetMaxSeqReq{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetMaxSeqReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetMaxSeqReq) ProtoMessage() {}
func (x *GetMaxSeqReq) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[13]
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 GetMaxSeqReq.ProtoReflect.Descriptor instead.
func (*GetMaxSeqReq) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{13}
}
func (x *GetMaxSeqReq) GetUserID() string {
if x != nil {
return x.UserID
}
return ""
}
type GetMaxSeqResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
MaxSeqs map[string]int64 `protobuf:"bytes,1,rep,name=maxSeqs,proto3" json:"maxSeqs" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
MinSeqs map[string]int64 `protobuf:"bytes,2,rep,name=minSeqs,proto3" json:"minSeqs" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
}
func (x *GetMaxSeqResp) Reset() {
*x = GetMaxSeqResp{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetMaxSeqResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetMaxSeqResp) ProtoMessage() {}
func (x *GetMaxSeqResp) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[14]
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 GetMaxSeqResp.ProtoReflect.Descriptor instead.
func (*GetMaxSeqResp) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{14}
}
func (x *GetMaxSeqResp) GetMaxSeqs() map[string]int64 {
if x != nil {
return x.MaxSeqs
}
return nil
}
func (x *GetMaxSeqResp) GetMinSeqs() map[string]int64 {
if x != nil {
return x.MinSeqs
}
return nil
}
type UserSendMsgResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ServerMsgID string `protobuf:"bytes,1,opt,name=serverMsgID,proto3" json:"serverMsgID"`
ClientMsgID string `protobuf:"bytes,2,opt,name=clientMsgID,proto3" json:"clientMsgID"`
SendTime int64 `protobuf:"varint,3,opt,name=sendTime,proto3" json:"sendTime"`
}
func (x *UserSendMsgResp) Reset() {
*x = UserSendMsgResp{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UserSendMsgResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UserSendMsgResp) ProtoMessage() {}
func (x *UserSendMsgResp) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[15]
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 UserSendMsgResp.ProtoReflect.Descriptor instead.
func (*UserSendMsgResp) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{15}
}
func (x *UserSendMsgResp) GetServerMsgID() string {
if x != nil {
return x.ServerMsgID
}
return ""
}
func (x *UserSendMsgResp) GetClientMsgID() string {
if x != nil {
return x.ClientMsgID
}
return ""
}
func (x *UserSendMsgResp) GetSendTime() int64 {
if x != nil {
return x.SendTime
}
return 0
}
type MsgData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SendID string `protobuf:"bytes,1,opt,name=sendID,proto3" json:"sendID"`
RecvID string `protobuf:"bytes,2,opt,name=recvID,proto3" json:"recvID"`
GroupID string `protobuf:"bytes,3,opt,name=groupID,proto3" json:"groupID"`
ClientMsgID string `protobuf:"bytes,4,opt,name=clientMsgID,proto3" json:"clientMsgID"`
ServerMsgID string `protobuf:"bytes,5,opt,name=serverMsgID,proto3" json:"serverMsgID"`
SenderPlatformID int32 `protobuf:"varint,6,opt,name=senderPlatformID,proto3" json:"senderPlatformID"`
SenderNickname string `protobuf:"bytes,7,opt,name=senderNickname,proto3" json:"senderNickname"`
SenderFaceURL string `protobuf:"bytes,8,opt,name=senderFaceURL,proto3" json:"senderFaceURL"`
SessionType int32 `protobuf:"varint,9,opt,name=sessionType,proto3" json:"sessionType"`
MsgFrom int32 `protobuf:"varint,10,opt,name=msgFrom,proto3" json:"msgFrom"`
ContentType int32 `protobuf:"varint,11,opt,name=contentType,proto3" json:"contentType"`
Content []byte `protobuf:"bytes,12,opt,name=content,proto3" json:"content"`
Seq int64 `protobuf:"varint,14,opt,name=seq,proto3" json:"seq"`
SendTime int64 `protobuf:"varint,15,opt,name=sendTime,proto3" json:"sendTime"`
CreateTime int64 `protobuf:"varint,16,opt,name=createTime,proto3" json:"createTime"`
Status int32 `protobuf:"varint,17,opt,name=status,proto3" json:"status"`
Options map[string]bool `protobuf:"bytes,18,rep,name=options,proto3" json:"options" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,19,opt,name=offlinePushInfo,proto3" json:"offlinePushInfo"`
AtUserIDList []string `protobuf:"bytes,20,rep,name=atUserIDList,proto3" json:"atUserIDList"`
AttachedInfo string `protobuf:"bytes,21,opt,name=attachedInfo,proto3" json:"attachedInfo"`
Ex string `protobuf:"bytes,22,opt,name=ex,proto3" json:"ex"`
}
func (x *MsgData) Reset() {
*x = MsgData{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MsgData) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MsgData) ProtoMessage() {}
func (x *MsgData) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[16]
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 MsgData.ProtoReflect.Descriptor instead.
func (*MsgData) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{16}
}
func (x *MsgData) GetSendID() string {
if x != nil {
return x.SendID
}
return ""
}
func (x *MsgData) GetRecvID() string {
if x != nil {
return x.RecvID
}
return ""
}
func (x *MsgData) GetGroupID() string {
if x != nil {
return x.GroupID
}
return ""
}
func (x *MsgData) GetClientMsgID() string {
if x != nil {
return x.ClientMsgID
}
return ""
}
func (x *MsgData) GetServerMsgID() string {
if x != nil {
return x.ServerMsgID
}
return ""
}
func (x *MsgData) GetSenderPlatformID() int32 {
if x != nil {
return x.SenderPlatformID
}
return 0
}
func (x *MsgData) GetSenderNickname() string {
if x != nil {
return x.SenderNickname
}
return ""
}
func (x *MsgData) GetSenderFaceURL() string {
if x != nil {
return x.SenderFaceURL
}
return ""
}
func (x *MsgData) GetSessionType() int32 {
if x != nil {
return x.SessionType
}
return 0
}
func (x *MsgData) GetMsgFrom() int32 {
if x != nil {
return x.MsgFrom
}
return 0
}
func (x *MsgData) GetContentType() int32 {
if x != nil {
return x.ContentType
}
return 0
}
func (x *MsgData) GetContent() []byte {
if x != nil {
return x.Content
}
return nil
}
func (x *MsgData) GetSeq() int64 {
if x != nil {
return x.Seq
}
return 0
}
func (x *MsgData) GetSendTime() int64 {
if x != nil {
return x.SendTime
}
return 0
}
func (x *MsgData) GetCreateTime() int64 {
if x != nil {
return x.CreateTime
}
return 0
}
func (x *MsgData) GetStatus() int32 {
if x != nil {
return x.Status
}
return 0
}
func (x *MsgData) GetOptions() map[string]bool {
if x != nil {
return x.Options
}
return nil
}
func (x *MsgData) GetOfflinePushInfo() *OfflinePushInfo {
if x != nil {
return x.OfflinePushInfo
}
return nil
}
func (x *MsgData) GetAtUserIDList() []string {
if x != nil {
return x.AtUserIDList
}
return nil
}
func (x *MsgData) GetAttachedInfo() string {
if x != nil {
return x.AttachedInfo
}
return ""
}
func (x *MsgData) GetEx() string {
if x != nil {
return x.Ex
}
return ""
}
type PushMessages struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Msgs map[string]*PullMsgs `protobuf:"bytes,1,rep,name=msgs,proto3" json:"msgs" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
NotificationMsgs map[string]*PullMsgs `protobuf:"bytes,2,rep,name=notificationMsgs,proto3" json:"notificationMsgs" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}
func (x *PushMessages) Reset() {
*x = PushMessages{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PushMessages) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PushMessages) ProtoMessage() {}
func (x *PushMessages) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[17]
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 PushMessages.ProtoReflect.Descriptor instead.
func (*PushMessages) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{17}
}
func (x *PushMessages) GetMsgs() map[string]*PullMsgs {
if x != nil {
return x.Msgs
}
return nil
}
func (x *PushMessages) GetNotificationMsgs() map[string]*PullMsgs {
if x != nil {
return x.NotificationMsgs
}
return nil
}
type OfflinePushInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title"`
Desc string `protobuf:"bytes,2,opt,name=desc,proto3" json:"desc"`
Ex string `protobuf:"bytes,3,opt,name=ex,proto3" json:"ex"`
IOSPushSound string `protobuf:"bytes,4,opt,name=iOSPushSound,proto3" json:"iOSPushSound"`
IOSBadgeCount bool `protobuf:"varint,5,opt,name=iOSBadgeCount,proto3" json:"iOSBadgeCount"`
}
func (x *OfflinePushInfo) Reset() {
*x = OfflinePushInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *OfflinePushInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*OfflinePushInfo) ProtoMessage() {}
func (x *OfflinePushInfo) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[18]
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 OfflinePushInfo.ProtoReflect.Descriptor instead.
func (*OfflinePushInfo) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{18}
}
func (x *OfflinePushInfo) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
func (x *OfflinePushInfo) GetDesc() string {
if x != nil {
return x.Desc
}
return ""
}
func (x *OfflinePushInfo) GetEx() string {
if x != nil {
return x.Ex
}
return ""
}
func (x *OfflinePushInfo) GetIOSPushSound() string {
if x != nil {
return x.IOSPushSound
}
return ""
}
func (x *OfflinePushInfo) GetIOSBadgeCount() bool {
if x != nil {
return x.IOSBadgeCount
}
return false
}
type TipsComm struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Detail []byte `protobuf:"bytes,1,opt,name=detail,proto3" json:"detail"`
DefaultTips string `protobuf:"bytes,2,opt,name=defaultTips,proto3" json:"defaultTips"`
JsonDetail string `protobuf:"bytes,3,opt,name=jsonDetail,proto3" json:"jsonDetail"`
}
func (x *TipsComm) Reset() {
*x = TipsComm{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TipsComm) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TipsComm) ProtoMessage() {}
func (x *TipsComm) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[19]
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 TipsComm.ProtoReflect.Descriptor instead.
func (*TipsComm) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{19}
}
func (x *TipsComm) GetDetail() []byte {
if x != nil {
return x.Detail
}
return nil
}
func (x *TipsComm) GetDefaultTips() string {
if x != nil {
return x.DefaultTips
}
return ""
}
func (x *TipsComm) GetJsonDetail() string {
if x != nil {
return x.JsonDetail
}
return ""
}
// OnGroupCreated()
type GroupCreatedTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
MemberList []*GroupMemberFullInfo `protobuf:"bytes,3,rep,name=memberList,proto3" json:"memberList"`
OperationTime int64 `protobuf:"varint,4,opt,name=operationTime,proto3" json:"operationTime"`
GroupOwnerUser *GroupMemberFullInfo `protobuf:"bytes,5,opt,name=groupOwnerUser,proto3" json:"groupOwnerUser"`
}
func (x *GroupCreatedTips) Reset() {
*x = GroupCreatedTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GroupCreatedTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GroupCreatedTips) ProtoMessage() {}
func (x *GroupCreatedTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[20]
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 GroupCreatedTips.ProtoReflect.Descriptor instead.
func (*GroupCreatedTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{20}
}
func (x *GroupCreatedTips) GetGroup() *GroupInfo {
if x != nil {
return x.Group
}
return nil
}
func (x *GroupCreatedTips) GetOpUser() *GroupMemberFullInfo {
if x != nil {
return x.OpUser
}
return nil
}
func (x *GroupCreatedTips) GetMemberList() []*GroupMemberFullInfo {
if x != nil {
return x.MemberList
}
return nil
}
func (x *GroupCreatedTips) GetOperationTime() int64 {
if x != nil {
return x.OperationTime
}
return 0
}
func (x *GroupCreatedTips) GetGroupOwnerUser() *GroupMemberFullInfo {
if x != nil {
return x.GroupOwnerUser
}
return nil
}
// OnGroupInfoSet()
type GroupInfoSetTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OpUser *GroupMemberFullInfo `protobuf:"bytes,1,opt,name=opUser,proto3" json:"opUser"` //who do this
MuteTime int64 `protobuf:"varint,2,opt,name=muteTime,proto3" json:"muteTime"`
Group *GroupInfo `protobuf:"bytes,3,opt,name=group,proto3" json:"group"`
}
func (x *GroupInfoSetTips) Reset() {
*x = GroupInfoSetTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GroupInfoSetTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GroupInfoSetTips) ProtoMessage() {}
func (x *GroupInfoSetTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[21]
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 GroupInfoSetTips.ProtoReflect.Descriptor instead.
func (*GroupInfoSetTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{21}
}
func (x *GroupInfoSetTips) GetOpUser() *GroupMemberFullInfo {
if x != nil {
return x.OpUser
}
return nil
}
func (x *GroupInfoSetTips) GetMuteTime() int64 {
if x != nil {
return x.MuteTime
}
return 0
}
func (x *GroupInfoSetTips) GetGroup() *GroupInfo {
if x != nil {
return x.Group
}
return nil
}
// OnJoinGroupApplication()
type JoinGroupApplicationTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
Applicant *PublicUserInfo `protobuf:"bytes,2,opt,name=applicant,proto3" json:"applicant"`
ReqMsg string `protobuf:"bytes,3,opt,name=reqMsg,proto3" json:"reqMsg"`
}
func (x *JoinGroupApplicationTips) Reset() {
*x = JoinGroupApplicationTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *JoinGroupApplicationTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*JoinGroupApplicationTips) ProtoMessage() {}
func (x *JoinGroupApplicationTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[22]
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 JoinGroupApplicationTips.ProtoReflect.Descriptor instead.
func (*JoinGroupApplicationTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{22}
}
func (x *JoinGroupApplicationTips) GetGroup() *GroupInfo {
if x != nil {
return x.Group
}
return nil
}
func (x *JoinGroupApplicationTips) GetApplicant() *PublicUserInfo {
if x != nil {
return x.Applicant
}
return nil
}
func (x *JoinGroupApplicationTips) GetReqMsg() string {
if x != nil {
return x.ReqMsg
}
return ""
}
// OnQuitGroup()
//
// Actively leave the group
type MemberQuitTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
QuitUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=quitUser,proto3" json:"quitUser"`
OperationTime int64 `protobuf:"varint,3,opt,name=operationTime,proto3" json:"operationTime"`
}
func (x *MemberQuitTips) Reset() {
*x = MemberQuitTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MemberQuitTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MemberQuitTips) ProtoMessage() {}
func (x *MemberQuitTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[23]
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 MemberQuitTips.ProtoReflect.Descriptor instead.
func (*MemberQuitTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{23}
}
func (x *MemberQuitTips) GetGroup() *GroupInfo {
if x != nil {
return x.Group
}
return nil
}
func (x *MemberQuitTips) GetQuitUser() *GroupMemberFullInfo {
if x != nil {
return x.QuitUser
}
return nil
}
func (x *MemberQuitTips) GetOperationTime() int64 {
if x != nil {
return x.OperationTime
}
return 0
}
// OnApplicationGroupAccepted()
type GroupApplicationAcceptedTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
HandleMsg string `protobuf:"bytes,4,opt,name=handleMsg,proto3" json:"handleMsg"`
ReceiverAs int32 `protobuf:"varint,5,opt,name=receiverAs,proto3" json:"receiverAs"` // admin(==1) or applicant(==0)
}
func (x *GroupApplicationAcceptedTips) Reset() {
*x = GroupApplicationAcceptedTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GroupApplicationAcceptedTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GroupApplicationAcceptedTips) ProtoMessage() {}
func (x *GroupApplicationAcceptedTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[24]
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 GroupApplicationAcceptedTips.ProtoReflect.Descriptor instead.
func (*GroupApplicationAcceptedTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{24}
}
func (x *GroupApplicationAcceptedTips) GetGroup() *GroupInfo {
if x != nil {
return x.Group
}
return nil
}
func (x *GroupApplicationAcceptedTips) GetOpUser() *GroupMemberFullInfo {
if x != nil {
return x.OpUser
}
return nil
}
func (x *GroupApplicationAcceptedTips) GetHandleMsg() string {
if x != nil {
return x.HandleMsg
}
return ""
}
func (x *GroupApplicationAcceptedTips) GetReceiverAs() int32 {
if x != nil {
return x.ReceiverAs
}
return 0
}
// OnApplicationGroupRejected()
type GroupApplicationRejectedTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
HandleMsg string `protobuf:"bytes,4,opt,name=handleMsg,proto3" json:"handleMsg"`
ReceiverAs int32 `protobuf:"varint,5,opt,name=receiverAs,proto3" json:"receiverAs"` // admin(==1) or applicant(==0)
}
func (x *GroupApplicationRejectedTips) Reset() {
*x = GroupApplicationRejectedTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GroupApplicationRejectedTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GroupApplicationRejectedTips) ProtoMessage() {}
func (x *GroupApplicationRejectedTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[25]
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 GroupApplicationRejectedTips.ProtoReflect.Descriptor instead.
func (*GroupApplicationRejectedTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{25}
}
func (x *GroupApplicationRejectedTips) GetGroup() *GroupInfo {
if x != nil {
return x.Group
}
return nil
}
func (x *GroupApplicationRejectedTips) GetOpUser() *GroupMemberFullInfo {
if x != nil {
return x.OpUser
}
return nil
}
func (x *GroupApplicationRejectedTips) GetHandleMsg() string {
if x != nil {
return x.HandleMsg
}
return ""
}
func (x *GroupApplicationRejectedTips) GetReceiverAs() int32 {
if x != nil {
return x.ReceiverAs
}
return 0
}
// OnTransferGroupOwner()
type GroupOwnerTransferredTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
NewGroupOwner *GroupMemberFullInfo `protobuf:"bytes,3,opt,name=newGroupOwner,proto3" json:"newGroupOwner"`
OperationTime int64 `protobuf:"varint,4,opt,name=operationTime,proto3" json:"operationTime"`
}
func (x *GroupOwnerTransferredTips) Reset() {
*x = GroupOwnerTransferredTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GroupOwnerTransferredTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GroupOwnerTransferredTips) ProtoMessage() {}
func (x *GroupOwnerTransferredTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[26]
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 GroupOwnerTransferredTips.ProtoReflect.Descriptor instead.
func (*GroupOwnerTransferredTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{26}
}
func (x *GroupOwnerTransferredTips) GetGroup() *GroupInfo {
if x != nil {
return x.Group
}
return nil
}
func (x *GroupOwnerTransferredTips) GetOpUser() *GroupMemberFullInfo {
if x != nil {
return x.OpUser
}
return nil
}
func (x *GroupOwnerTransferredTips) GetNewGroupOwner() *GroupMemberFullInfo {
if x != nil {
return x.NewGroupOwner
}
return nil
}
func (x *GroupOwnerTransferredTips) GetOperationTime() int64 {
if x != nil {
return x.OperationTime
}
return 0
}
// OnMemberKicked()
type MemberKickedTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
KickedUserList []*GroupMemberFullInfo `protobuf:"bytes,3,rep,name=kickedUserList,proto3" json:"kickedUserList"`
OperationTime int64 `protobuf:"varint,4,opt,name=operationTime,proto3" json:"operationTime"`
}
func (x *MemberKickedTips) Reset() {
*x = MemberKickedTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MemberKickedTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MemberKickedTips) ProtoMessage() {}
func (x *MemberKickedTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[27]
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 MemberKickedTips.ProtoReflect.Descriptor instead.
func (*MemberKickedTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{27}
}
func (x *MemberKickedTips) GetGroup() *GroupInfo {
if x != nil {
return x.Group
}
return nil
}
func (x *MemberKickedTips) GetOpUser() *GroupMemberFullInfo {
if x != nil {
return x.OpUser
}
return nil
}
func (x *MemberKickedTips) GetKickedUserList() []*GroupMemberFullInfo {
if x != nil {
return x.KickedUserList
}
return nil
}
func (x *MemberKickedTips) GetOperationTime() int64 {
if x != nil {
return x.OperationTime
}
return 0
}
// OnMemberInvited()
type MemberInvitedTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
InvitedUserList []*GroupMemberFullInfo `protobuf:"bytes,3,rep,name=invitedUserList,proto3" json:"invitedUserList"`
OperationTime int64 `protobuf:"varint,4,opt,name=operationTime,proto3" json:"operationTime"`
}
func (x *MemberInvitedTips) Reset() {
*x = MemberInvitedTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MemberInvitedTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MemberInvitedTips) ProtoMessage() {}
func (x *MemberInvitedTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[28]
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 MemberInvitedTips.ProtoReflect.Descriptor instead.
func (*MemberInvitedTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{28}
}
func (x *MemberInvitedTips) GetGroup() *GroupInfo {
if x != nil {
return x.Group
}
return nil
}
func (x *MemberInvitedTips) GetOpUser() *GroupMemberFullInfo {
if x != nil {
return x.OpUser
}
return nil
}
func (x *MemberInvitedTips) GetInvitedUserList() []*GroupMemberFullInfo {
if x != nil {
return x.InvitedUserList
}
return nil
}
func (x *MemberInvitedTips) GetOperationTime() int64 {
if x != nil {
return x.OperationTime
}
return 0
}
// Actively join the group
type MemberEnterTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
EntrantUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=entrantUser,proto3" json:"entrantUser"`
OperationTime int64 `protobuf:"varint,3,opt,name=operationTime,proto3" json:"operationTime"`
}
func (x *MemberEnterTips) Reset() {
*x = MemberEnterTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MemberEnterTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MemberEnterTips) ProtoMessage() {}
func (x *MemberEnterTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[29]
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 MemberEnterTips.ProtoReflect.Descriptor instead.
func (*MemberEnterTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{29}
}
func (x *MemberEnterTips) GetGroup() *GroupInfo {
if x != nil {
return x.Group
}
return nil
}
func (x *MemberEnterTips) GetEntrantUser() *GroupMemberFullInfo {
if x != nil {
return x.EntrantUser
}
return nil
}
func (x *MemberEnterTips) GetOperationTime() int64 {
if x != nil {
return x.OperationTime
}
return 0
}
type GroupDismissedTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
OperationTime int64 `protobuf:"varint,3,opt,name=operationTime,proto3" json:"operationTime"`
}
func (x *GroupDismissedTips) Reset() {
*x = GroupDismissedTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GroupDismissedTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GroupDismissedTips) ProtoMessage() {}
func (x *GroupDismissedTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[30]
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 GroupDismissedTips.ProtoReflect.Descriptor instead.
func (*GroupDismissedTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{30}
}
func (x *GroupDismissedTips) GetGroup() *GroupInfo {
if x != nil {
return x.Group
}
return nil
}
func (x *GroupDismissedTips) GetOpUser() *GroupMemberFullInfo {
if x != nil {
return x.OpUser
}
return nil
}
func (x *GroupDismissedTips) GetOperationTime() int64 {
if x != nil {
return x.OperationTime
}
return 0
}
type GroupMemberMutedTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
OperationTime int64 `protobuf:"varint,3,opt,name=operationTime,proto3" json:"operationTime"`
MutedUser *GroupMemberFullInfo `protobuf:"bytes,4,opt,name=mutedUser,proto3" json:"mutedUser"`
MutedSeconds uint32 `protobuf:"varint,5,opt,name=mutedSeconds,proto3" json:"mutedSeconds"`
}
func (x *GroupMemberMutedTips) Reset() {
*x = GroupMemberMutedTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GroupMemberMutedTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GroupMemberMutedTips) ProtoMessage() {}
func (x *GroupMemberMutedTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[31]
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 GroupMemberMutedTips.ProtoReflect.Descriptor instead.
func (*GroupMemberMutedTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{31}
}
func (x *GroupMemberMutedTips) GetGroup() *GroupInfo {
if x != nil {
return x.Group
}
return nil
}
func (x *GroupMemberMutedTips) GetOpUser() *GroupMemberFullInfo {
if x != nil {
return x.OpUser
}
return nil
}
func (x *GroupMemberMutedTips) GetOperationTime() int64 {
if x != nil {
return x.OperationTime
}
return 0
}
func (x *GroupMemberMutedTips) GetMutedUser() *GroupMemberFullInfo {
if x != nil {
return x.MutedUser
}
return nil
}
func (x *GroupMemberMutedTips) GetMutedSeconds() uint32 {
if x != nil {
return x.MutedSeconds
}
return 0
}
type GroupMemberCancelMutedTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
OperationTime int64 `protobuf:"varint,3,opt,name=operationTime,proto3" json:"operationTime"`
MutedUser *GroupMemberFullInfo `protobuf:"bytes,4,opt,name=mutedUser,proto3" json:"mutedUser"`
}
func (x *GroupMemberCancelMutedTips) Reset() {
*x = GroupMemberCancelMutedTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GroupMemberCancelMutedTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GroupMemberCancelMutedTips) ProtoMessage() {}
func (x *GroupMemberCancelMutedTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[32]
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 GroupMemberCancelMutedTips.ProtoReflect.Descriptor instead.
func (*GroupMemberCancelMutedTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{32}
}
func (x *GroupMemberCancelMutedTips) GetGroup() *GroupInfo {
if x != nil {
return x.Group
}
return nil
}
func (x *GroupMemberCancelMutedTips) GetOpUser() *GroupMemberFullInfo {
if x != nil {
return x.OpUser
}
return nil
}
func (x *GroupMemberCancelMutedTips) GetOperationTime() int64 {
if x != nil {
return x.OperationTime
}
return 0
}
func (x *GroupMemberCancelMutedTips) GetMutedUser() *GroupMemberFullInfo {
if x != nil {
return x.MutedUser
}
return nil
}
type GroupMutedTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
OperationTime int64 `protobuf:"varint,3,opt,name=operationTime,proto3" json:"operationTime"`
}
func (x *GroupMutedTips) Reset() {
*x = GroupMutedTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GroupMutedTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GroupMutedTips) ProtoMessage() {}
func (x *GroupMutedTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[33]
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 GroupMutedTips.ProtoReflect.Descriptor instead.
func (*GroupMutedTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{33}
}
func (x *GroupMutedTips) GetGroup() *GroupInfo {
if x != nil {
return x.Group
}
return nil
}
func (x *GroupMutedTips) GetOpUser() *GroupMemberFullInfo {
if x != nil {
return x.OpUser
}
return nil
}
func (x *GroupMutedTips) GetOperationTime() int64 {
if x != nil {
return x.OperationTime
}
return 0
}
type GroupCancelMutedTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
OperationTime int64 `protobuf:"varint,3,opt,name=operationTime,proto3" json:"operationTime"`
}
func (x *GroupCancelMutedTips) Reset() {
*x = GroupCancelMutedTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[34]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GroupCancelMutedTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GroupCancelMutedTips) ProtoMessage() {}
func (x *GroupCancelMutedTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[34]
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 GroupCancelMutedTips.ProtoReflect.Descriptor instead.
func (*GroupCancelMutedTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{34}
}
func (x *GroupCancelMutedTips) GetGroup() *GroupInfo {
if x != nil {
return x.Group
}
return nil
}
func (x *GroupCancelMutedTips) GetOpUser() *GroupMemberFullInfo {
if x != nil {
return x.OpUser
}
return nil
}
func (x *GroupCancelMutedTips) GetOperationTime() int64 {
if x != nil {
return x.OperationTime
}
return 0
}
type GroupMemberInfoSetTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
OperationTime int64 `protobuf:"varint,3,opt,name=operationTime,proto3" json:"operationTime"`
ChangedUser *GroupMemberFullInfo `protobuf:"bytes,4,opt,name=changedUser,proto3" json:"changedUser"`
}
func (x *GroupMemberInfoSetTips) Reset() {
*x = GroupMemberInfoSetTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[35]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GroupMemberInfoSetTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GroupMemberInfoSetTips) ProtoMessage() {}
func (x *GroupMemberInfoSetTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[35]
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 GroupMemberInfoSetTips.ProtoReflect.Descriptor instead.
func (*GroupMemberInfoSetTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{35}
}
func (x *GroupMemberInfoSetTips) GetGroup() *GroupInfo {
if x != nil {
return x.Group
}
return nil
}
func (x *GroupMemberInfoSetTips) GetOpUser() *GroupMemberFullInfo {
if x != nil {
return x.OpUser
}
return nil
}
func (x *GroupMemberInfoSetTips) GetOperationTime() int64 {
if x != nil {
return x.OperationTime
}
return 0
}
func (x *GroupMemberInfoSetTips) GetChangedUser() *GroupMemberFullInfo {
if x != nil {
return x.ChangedUser
}
return nil
}
type FriendApplication struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AddTime int64 `protobuf:"varint,1,opt,name=addTime,proto3" json:"addTime"`
AddSource string `protobuf:"bytes,2,opt,name=addSource,proto3" json:"addSource"`
AddWording string `protobuf:"bytes,3,opt,name=addWording,proto3" json:"addWording"`
}
func (x *FriendApplication) Reset() {
*x = FriendApplication{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[36]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FriendApplication) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FriendApplication) ProtoMessage() {}
func (x *FriendApplication) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[36]
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 FriendApplication.ProtoReflect.Descriptor instead.
func (*FriendApplication) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{36}
}
func (x *FriendApplication) GetAddTime() int64 {
if x != nil {
return x.AddTime
}
return 0
}
func (x *FriendApplication) GetAddSource() string {
if x != nil {
return x.AddSource
}
return ""
}
func (x *FriendApplication) GetAddWording() string {
if x != nil {
return x.AddWording
}
return ""
}
type FromToUserID struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FromUserID string `protobuf:"bytes,1,opt,name=fromUserID,proto3" json:"fromUserID"`
ToUserID string `protobuf:"bytes,2,opt,name=toUserID,proto3" json:"toUserID"`
}
func (x *FromToUserID) Reset() {
*x = FromToUserID{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[37]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FromToUserID) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FromToUserID) ProtoMessage() {}
func (x *FromToUserID) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[37]
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 FromToUserID.ProtoReflect.Descriptor instead.
func (*FromToUserID) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{37}
}
func (x *FromToUserID) GetFromUserID() string {
if x != nil {
return x.FromUserID
}
return ""
}
func (x *FromToUserID) GetToUserID() string {
if x != nil {
return x.ToUserID
}
return ""
}
// FromUserID apply to add ToUserID
type FriendApplicationTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FromToUserID *FromToUserID `protobuf:"bytes,1,opt,name=fromToUserID,proto3" json:"fromToUserID"` //from发起者 to接收者
}
func (x *FriendApplicationTips) Reset() {
*x = FriendApplicationTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[38]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FriendApplicationTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FriendApplicationTips) ProtoMessage() {}
func (x *FriendApplicationTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[38]
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 FriendApplicationTips.ProtoReflect.Descriptor instead.
func (*FriendApplicationTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{38}
}
func (x *FriendApplicationTips) GetFromToUserID() *FromToUserID {
if x != nil {
return x.FromToUserID
}
return nil
}
// FromUserID accept or reject ToUserID
type FriendApplicationApprovedTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FromToUserID *FromToUserID `protobuf:"bytes,1,opt,name=fromToUserID,proto3" json:"fromToUserID"` //from同意者to请求发起者
HandleMsg string `protobuf:"bytes,2,opt,name=handleMsg,proto3" json:"handleMsg"`
}
func (x *FriendApplicationApprovedTips) Reset() {
*x = FriendApplicationApprovedTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[39]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FriendApplicationApprovedTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FriendApplicationApprovedTips) ProtoMessage() {}
func (x *FriendApplicationApprovedTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[39]
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 FriendApplicationApprovedTips.ProtoReflect.Descriptor instead.
func (*FriendApplicationApprovedTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{39}
}
func (x *FriendApplicationApprovedTips) GetFromToUserID() *FromToUserID {
if x != nil {
return x.FromToUserID
}
return nil
}
func (x *FriendApplicationApprovedTips) GetHandleMsg() string {
if x != nil {
return x.HandleMsg
}
return ""
}
// FromUserID accept or reject ToUserID
type FriendApplicationRejectedTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FromToUserID *FromToUserID `protobuf:"bytes,1,opt,name=fromToUserID,proto3" json:"fromToUserID"` //from拒绝者to请求发起者
HandleMsg string `protobuf:"bytes,2,opt,name=handleMsg,proto3" json:"handleMsg"`
}
func (x *FriendApplicationRejectedTips) Reset() {
*x = FriendApplicationRejectedTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[40]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FriendApplicationRejectedTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FriendApplicationRejectedTips) ProtoMessage() {}
func (x *FriendApplicationRejectedTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[40]
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 FriendApplicationRejectedTips.ProtoReflect.Descriptor instead.
func (*FriendApplicationRejectedTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{40}
}
func (x *FriendApplicationRejectedTips) GetFromToUserID() *FromToUserID {
if x != nil {
return x.FromToUserID
}
return nil
}
func (x *FriendApplicationRejectedTips) GetHandleMsg() string {
if x != nil {
return x.HandleMsg
}
return ""
}
// FromUserID Added a friend ToUserID
type FriendAddedTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Friend *FriendInfo `protobuf:"bytes,1,opt,name=friend,proto3" json:"friend"`
OperationTime int64 `protobuf:"varint,2,opt,name=operationTime,proto3" json:"operationTime"`
OpUser *PublicUserInfo `protobuf:"bytes,3,opt,name=opUser,proto3" json:"opUser"` //who do this
}
func (x *FriendAddedTips) Reset() {
*x = FriendAddedTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[41]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FriendAddedTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FriendAddedTips) ProtoMessage() {}
func (x *FriendAddedTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[41]
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 FriendAddedTips.ProtoReflect.Descriptor instead.
func (*FriendAddedTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{41}
}
func (x *FriendAddedTips) GetFriend() *FriendInfo {
if x != nil {
return x.Friend
}
return nil
}
func (x *FriendAddedTips) GetOperationTime() int64 {
if x != nil {
return x.OperationTime
}
return 0
}
func (x *FriendAddedTips) GetOpUser() *PublicUserInfo {
if x != nil {
return x.OpUser
}
return nil
}
// FromUserID deleted a friend ToUserID
type FriendDeletedTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FromToUserID *FromToUserID `protobuf:"bytes,1,opt,name=fromToUserID,proto3" json:"fromToUserID"` //fromowner tofriend
}
func (x *FriendDeletedTips) Reset() {
*x = FriendDeletedTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[42]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FriendDeletedTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FriendDeletedTips) ProtoMessage() {}
func (x *FriendDeletedTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[42]
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 FriendDeletedTips.ProtoReflect.Descriptor instead.
func (*FriendDeletedTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{42}
}
func (x *FriendDeletedTips) GetFromToUserID() *FromToUserID {
if x != nil {
return x.FromToUserID
}
return nil
}
type BlackAddedTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FromToUserID *FromToUserID `protobuf:"bytes,1,opt,name=fromToUserID,proto3" json:"fromToUserID"` //fromowner toblack
}
func (x *BlackAddedTips) Reset() {
*x = BlackAddedTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[43]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BlackAddedTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BlackAddedTips) ProtoMessage() {}
func (x *BlackAddedTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[43]
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 BlackAddedTips.ProtoReflect.Descriptor instead.
func (*BlackAddedTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{43}
}
func (x *BlackAddedTips) GetFromToUserID() *FromToUserID {
if x != nil {
return x.FromToUserID
}
return nil
}
type BlackDeletedTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FromToUserID *FromToUserID `protobuf:"bytes,1,opt,name=fromToUserID,proto3" json:"fromToUserID"` //fromowner toblack
}
func (x *BlackDeletedTips) Reset() {
*x = BlackDeletedTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[44]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BlackDeletedTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BlackDeletedTips) ProtoMessage() {}
func (x *BlackDeletedTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[44]
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 BlackDeletedTips.ProtoReflect.Descriptor instead.
func (*BlackDeletedTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{44}
}
func (x *BlackDeletedTips) GetFromToUserID() *FromToUserID {
if x != nil {
return x.FromToUserID
}
return nil
}
type FriendInfoChangedTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FromToUserID *FromToUserID `protobuf:"bytes,1,opt,name=fromToUserID,proto3" json:"fromToUserID"` //fromchanged tofriend
}
func (x *FriendInfoChangedTips) Reset() {
*x = FriendInfoChangedTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[45]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FriendInfoChangedTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FriendInfoChangedTips) ProtoMessage() {}
func (x *FriendInfoChangedTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[45]
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 FriendInfoChangedTips.ProtoReflect.Descriptor instead.
func (*FriendInfoChangedTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{45}
}
func (x *FriendInfoChangedTips) GetFromToUserID() *FromToUserID {
if x != nil {
return x.FromToUserID
}
return nil
}
// ////////////////////user/////////////////////
type UserInfoUpdatedTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
}
func (x *UserInfoUpdatedTips) Reset() {
*x = UserInfoUpdatedTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[46]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UserInfoUpdatedTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UserInfoUpdatedTips) ProtoMessage() {}
func (x *UserInfoUpdatedTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[46]
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 UserInfoUpdatedTips.ProtoReflect.Descriptor instead.
func (*UserInfoUpdatedTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{46}
}
func (x *UserInfoUpdatedTips) GetUserID() string {
if x != nil {
return x.UserID
}
return ""
}
// ////////////////////conversation/////////////////////
type ConversationUpdateTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserID string `protobuf:"bytes,1,opt,name=UserID,proto3" json:"UserID"`
ConversationIDList []string `protobuf:"bytes,2,rep,name=conversationIDList,proto3" json:"conversationIDList"`
UpdateUnreadCountTime int64 `protobuf:"varint,3,opt,name=updateUnreadCountTime,proto3" json:"updateUnreadCountTime"`
}
func (x *ConversationUpdateTips) Reset() {
*x = ConversationUpdateTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[47]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ConversationUpdateTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ConversationUpdateTips) ProtoMessage() {}
func (x *ConversationUpdateTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[47]
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 ConversationUpdateTips.ProtoReflect.Descriptor instead.
func (*ConversationUpdateTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{47}
}
func (x *ConversationUpdateTips) GetUserID() string {
if x != nil {
return x.UserID
}
return ""
}
func (x *ConversationUpdateTips) GetConversationIDList() []string {
if x != nil {
return x.ConversationIDList
}
return nil
}
func (x *ConversationUpdateTips) GetUpdateUnreadCountTime() int64 {
if x != nil {
return x.UpdateUnreadCountTime
}
return 0
}
type ConversationSetPrivateTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RecvID string `protobuf:"bytes,1,opt,name=recvID,proto3" json:"recvID"`
SendID string `protobuf:"bytes,2,opt,name=sendID,proto3" json:"sendID"`
IsPrivate bool `protobuf:"varint,3,opt,name=isPrivate,proto3" json:"isPrivate"`
}
func (x *ConversationSetPrivateTips) Reset() {
*x = ConversationSetPrivateTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[48]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ConversationSetPrivateTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ConversationSetPrivateTips) ProtoMessage() {}
func (x *ConversationSetPrivateTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[48]
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 ConversationSetPrivateTips.ProtoReflect.Descriptor instead.
func (*ConversationSetPrivateTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{48}
}
func (x *ConversationSetPrivateTips) GetRecvID() string {
if x != nil {
return x.RecvID
}
return ""
}
func (x *ConversationSetPrivateTips) GetSendID() string {
if x != nil {
return x.SendID
}
return ""
}
func (x *ConversationSetPrivateTips) GetIsPrivate() bool {
if x != nil {
return x.IsPrivate
}
return false
}
// //////////////////message///////////////////////
type Seqs struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Seqs []int64 `protobuf:"varint,1,rep,packed,name=seqs,proto3" json:"seqs"`
}
func (x *Seqs) Reset() {
*x = Seqs{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[49]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Seqs) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Seqs) ProtoMessage() {}
func (x *Seqs) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[49]
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 Seqs.ProtoReflect.Descriptor instead.
func (*Seqs) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{49}
}
func (x *Seqs) GetSeqs() []int64 {
if x != nil {
return x.Seqs
}
return nil
}
type DeleteMessageTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OpUserID string `protobuf:"bytes,1,opt,name=opUserID,proto3" json:"opUserID"`
UserID string `protobuf:"bytes,2,opt,name=userID,proto3" json:"userID"`
Seqs []int64 `protobuf:"varint,3,rep,packed,name=seqs,proto3" json:"seqs"`
}
func (x *DeleteMessageTips) Reset() {
*x = DeleteMessageTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[50]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteMessageTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteMessageTips) ProtoMessage() {}
func (x *DeleteMessageTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[50]
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 DeleteMessageTips.ProtoReflect.Descriptor instead.
func (*DeleteMessageTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{50}
}
func (x *DeleteMessageTips) GetOpUserID() string {
if x != nil {
return x.OpUserID
}
return ""
}
func (x *DeleteMessageTips) GetUserID() string {
if x != nil {
return x.UserID
}
return ""
}
func (x *DeleteMessageTips) GetSeqs() []int64 {
if x != nil {
return x.Seqs
}
return nil
}
// /cms
type RequestPagination struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PageNumber int32 `protobuf:"varint,1,opt,name=pageNumber,proto3" json:"pageNumber"`
ShowNumber int32 `protobuf:"varint,2,opt,name=showNumber,proto3" json:"showNumber"`
}
func (x *RequestPagination) Reset() {
*x = RequestPagination{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[51]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RequestPagination) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RequestPagination) ProtoMessage() {}
func (x *RequestPagination) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[51]
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 RequestPagination.ProtoReflect.Descriptor instead.
func (*RequestPagination) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{51}
}
func (x *RequestPagination) GetPageNumber() int32 {
if x != nil {
return x.PageNumber
}
return 0
}
func (x *RequestPagination) GetShowNumber() int32 {
if x != nil {
return x.ShowNumber
}
return 0
}
// /////////////////signal//////////////
type SignalReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to Payload:
//
// *SignalReq_Invite
// *SignalReq_InviteInGroup
// *SignalReq_Cancel
// *SignalReq_Accept
// *SignalReq_HungUp
// *SignalReq_Reject
// *SignalReq_GetRoomByGroupID
// *SignalReq_OnRoomParticipantConnectedReq
// *SignalReq_OnRoomParticipantDisconnectedReq
// *SignalReq_GetTokenByRoomID
Payload isSignalReq_Payload `protobuf_oneof:"payload"`
}
func (x *SignalReq) Reset() {
*x = SignalReq{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[52]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SignalReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SignalReq) ProtoMessage() {}
func (x *SignalReq) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[52]
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 SignalReq.ProtoReflect.Descriptor instead.
func (*SignalReq) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{52}
}
func (m *SignalReq) GetPayload() isSignalReq_Payload {
if m != nil {
return m.Payload
}
return nil
}
func (x *SignalReq) GetInvite() *SignalInviteReq {
if x, ok := x.GetPayload().(*SignalReq_Invite); ok {
return x.Invite
}
return nil
}
func (x *SignalReq) GetInviteInGroup() *SignalInviteInGroupReq {
if x, ok := x.GetPayload().(*SignalReq_InviteInGroup); ok {
return x.InviteInGroup
}
return nil
}
func (x *SignalReq) GetCancel() *SignalCancelReq {
if x, ok := x.GetPayload().(*SignalReq_Cancel); ok {
return x.Cancel
}
return nil
}
func (x *SignalReq) GetAccept() *SignalAcceptReq {
if x, ok := x.GetPayload().(*SignalReq_Accept); ok {
return x.Accept
}
return nil
}
func (x *SignalReq) GetHungUp() *SignalHungUpReq {
if x, ok := x.GetPayload().(*SignalReq_HungUp); ok {
return x.HungUp
}
return nil
}
func (x *SignalReq) GetReject() *SignalRejectReq {
if x, ok := x.GetPayload().(*SignalReq_Reject); ok {
return x.Reject
}
return nil
}
func (x *SignalReq) GetGetRoomByGroupID() *SignalGetRoomByGroupIDReq {
if x, ok := x.GetPayload().(*SignalReq_GetRoomByGroupID); ok {
return x.GetRoomByGroupID
}
return nil
}
func (x *SignalReq) GetOnRoomParticipantConnectedReq() *SignalOnRoomParticipantConnectedReq {
if x, ok := x.GetPayload().(*SignalReq_OnRoomParticipantConnectedReq); ok {
return x.OnRoomParticipantConnectedReq
}
return nil
}
func (x *SignalReq) GetOnRoomParticipantDisconnectedReq() *SignalOnRoomParticipantDisconnectedReq {
if x, ok := x.GetPayload().(*SignalReq_OnRoomParticipantDisconnectedReq); ok {
return x.OnRoomParticipantDisconnectedReq
}
return nil
}
func (x *SignalReq) GetGetTokenByRoomID() *SignalGetTokenByRoomIDReq {
if x, ok := x.GetPayload().(*SignalReq_GetTokenByRoomID); ok {
return x.GetTokenByRoomID
}
return nil
}
type isSignalReq_Payload interface {
isSignalReq_Payload()
}
type SignalReq_Invite struct {
Invite *SignalInviteReq `protobuf:"bytes,1,opt,name=invite,proto3,oneof"`
}
type SignalReq_InviteInGroup struct {
InviteInGroup *SignalInviteInGroupReq `protobuf:"bytes,2,opt,name=inviteInGroup,proto3,oneof"`
}
type SignalReq_Cancel struct {
Cancel *SignalCancelReq `protobuf:"bytes,3,opt,name=cancel,proto3,oneof"`
}
type SignalReq_Accept struct {
Accept *SignalAcceptReq `protobuf:"bytes,4,opt,name=accept,proto3,oneof"`
}
type SignalReq_HungUp struct {
HungUp *SignalHungUpReq `protobuf:"bytes,5,opt,name=hungUp,proto3,oneof"`
}
type SignalReq_Reject struct {
Reject *SignalRejectReq `protobuf:"bytes,6,opt,name=reject,proto3,oneof"`
}
type SignalReq_GetRoomByGroupID struct {
GetRoomByGroupID *SignalGetRoomByGroupIDReq `protobuf:"bytes,7,opt,name=getRoomByGroupID,proto3,oneof"`
}
type SignalReq_OnRoomParticipantConnectedReq struct {
OnRoomParticipantConnectedReq *SignalOnRoomParticipantConnectedReq `protobuf:"bytes,8,opt,name=onRoomParticipantConnectedReq,proto3,oneof"`
}
type SignalReq_OnRoomParticipantDisconnectedReq struct {
OnRoomParticipantDisconnectedReq *SignalOnRoomParticipantDisconnectedReq `protobuf:"bytes,9,opt,name=onRoomParticipantDisconnectedReq,proto3,oneof"`
}
type SignalReq_GetTokenByRoomID struct {
GetTokenByRoomID *SignalGetTokenByRoomIDReq `protobuf:"bytes,10,opt,name=getTokenByRoomID,proto3,oneof"`
}
func (*SignalReq_Invite) isSignalReq_Payload() {}
func (*SignalReq_InviteInGroup) isSignalReq_Payload() {}
func (*SignalReq_Cancel) isSignalReq_Payload() {}
func (*SignalReq_Accept) isSignalReq_Payload() {}
func (*SignalReq_HungUp) isSignalReq_Payload() {}
func (*SignalReq_Reject) isSignalReq_Payload() {}
func (*SignalReq_GetRoomByGroupID) isSignalReq_Payload() {}
func (*SignalReq_OnRoomParticipantConnectedReq) isSignalReq_Payload() {}
func (*SignalReq_OnRoomParticipantDisconnectedReq) isSignalReq_Payload() {}
func (*SignalReq_GetTokenByRoomID) isSignalReq_Payload() {}
type SignalResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to Payload:
//
// *SignalResp_Invite
// *SignalResp_InviteInGroup
// *SignalResp_Cancel
// *SignalResp_Accept
// *SignalResp_HungUp
// *SignalResp_Reject
// *SignalResp_GetRoomByGroupID
// *SignalResp_GetTokenByRoomID
Payload isSignalResp_Payload `protobuf_oneof:"payload"`
}
func (x *SignalResp) Reset() {
*x = SignalResp{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[53]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SignalResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SignalResp) ProtoMessage() {}
func (x *SignalResp) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[53]
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 SignalResp.ProtoReflect.Descriptor instead.
func (*SignalResp) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{53}
}
func (m *SignalResp) GetPayload() isSignalResp_Payload {
if m != nil {
return m.Payload
}
return nil
}
func (x *SignalResp) GetInvite() *SignalInviteReply {
if x, ok := x.GetPayload().(*SignalResp_Invite); ok {
return x.Invite
}
return nil
}
func (x *SignalResp) GetInviteInGroup() *SignalInviteInGroupReply {
if x, ok := x.GetPayload().(*SignalResp_InviteInGroup); ok {
return x.InviteInGroup
}
return nil
}
func (x *SignalResp) GetCancel() *SignalCancelReply {
if x, ok := x.GetPayload().(*SignalResp_Cancel); ok {
return x.Cancel
}
return nil
}
func (x *SignalResp) GetAccept() *SignalAcceptReply {
if x, ok := x.GetPayload().(*SignalResp_Accept); ok {
return x.Accept
}
return nil
}
func (x *SignalResp) GetHungUp() *SignalHungUpReply {
if x, ok := x.GetPayload().(*SignalResp_HungUp); ok {
return x.HungUp
}
return nil
}
func (x *SignalResp) GetReject() *SignalRejectReply {
if x, ok := x.GetPayload().(*SignalResp_Reject); ok {
return x.Reject
}
return nil
}
func (x *SignalResp) GetGetRoomByGroupID() *SignalGetRoomByGroupIDReply {
if x, ok := x.GetPayload().(*SignalResp_GetRoomByGroupID); ok {
return x.GetRoomByGroupID
}
return nil
}
func (x *SignalResp) GetGetTokenByRoomID() *SignalGetTokenByRoomIDReply {
if x, ok := x.GetPayload().(*SignalResp_GetTokenByRoomID); ok {
return x.GetTokenByRoomID
}
return nil
}
type isSignalResp_Payload interface {
isSignalResp_Payload()
}
type SignalResp_Invite struct {
Invite *SignalInviteReply `protobuf:"bytes,1,opt,name=invite,proto3,oneof"`
}
type SignalResp_InviteInGroup struct {
InviteInGroup *SignalInviteInGroupReply `protobuf:"bytes,2,opt,name=inviteInGroup,proto3,oneof"`
}
type SignalResp_Cancel struct {
Cancel *SignalCancelReply `protobuf:"bytes,3,opt,name=cancel,proto3,oneof"`
}
type SignalResp_Accept struct {
Accept *SignalAcceptReply `protobuf:"bytes,4,opt,name=accept,proto3,oneof"`
}
type SignalResp_HungUp struct {
HungUp *SignalHungUpReply `protobuf:"bytes,5,opt,name=hungUp,proto3,oneof"`
}
type SignalResp_Reject struct {
Reject *SignalRejectReply `protobuf:"bytes,6,opt,name=reject,proto3,oneof"`
}
type SignalResp_GetRoomByGroupID struct {
GetRoomByGroupID *SignalGetRoomByGroupIDReply `protobuf:"bytes,7,opt,name=getRoomByGroupID,proto3,oneof"`
}
type SignalResp_GetTokenByRoomID struct {
GetTokenByRoomID *SignalGetTokenByRoomIDReply `protobuf:"bytes,8,opt,name=getTokenByRoomID,proto3,oneof"`
}
func (*SignalResp_Invite) isSignalResp_Payload() {}
func (*SignalResp_InviteInGroup) isSignalResp_Payload() {}
func (*SignalResp_Cancel) isSignalResp_Payload() {}
func (*SignalResp_Accept) isSignalResp_Payload() {}
func (*SignalResp_HungUp) isSignalResp_Payload() {}
func (*SignalResp_Reject) isSignalResp_Payload() {}
func (*SignalResp_GetRoomByGroupID) isSignalResp_Payload() {}
func (*SignalResp_GetTokenByRoomID) isSignalResp_Payload() {}
type InvitationInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
InviterUserID string `protobuf:"bytes,1,opt,name=inviterUserID,proto3" json:"inviterUserID"`
InviteeUserIDList []string `protobuf:"bytes,2,rep,name=inviteeUserIDList,proto3" json:"inviteeUserIDList"`
CustomData string `protobuf:"bytes,3,opt,name=customData,proto3" json:"customData"`
GroupID string `protobuf:"bytes,4,opt,name=groupID,proto3" json:"groupID"`
RoomID string `protobuf:"bytes,5,opt,name=roomID,proto3" json:"roomID"`
Timeout int32 `protobuf:"varint,6,opt,name=timeout,proto3" json:"timeout"`
MediaType string `protobuf:"bytes,7,opt,name=mediaType,proto3" json:"mediaType"`
PlatformID int32 `protobuf:"varint,8,opt,name=platformID,proto3" json:"platformID"`
SessionType int32 `protobuf:"varint,9,opt,name=sessionType,proto3" json:"sessionType"`
InitiateTime int32 `protobuf:"varint,10,opt,name=initiateTime,proto3" json:"initiateTime"`
BusyLineUserIDList []string `protobuf:"bytes,11,rep,name=busyLineUserIDList,proto3" json:"busyLineUserIDList"`
}
func (x *InvitationInfo) Reset() {
*x = InvitationInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[54]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *InvitationInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*InvitationInfo) ProtoMessage() {}
func (x *InvitationInfo) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[54]
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 InvitationInfo.ProtoReflect.Descriptor instead.
func (*InvitationInfo) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{54}
}
func (x *InvitationInfo) GetInviterUserID() string {
if x != nil {
return x.InviterUserID
}
return ""
}
func (x *InvitationInfo) GetInviteeUserIDList() []string {
if x != nil {
return x.InviteeUserIDList
}
return nil
}
func (x *InvitationInfo) GetCustomData() string {
if x != nil {
return x.CustomData
}
return ""
}
func (x *InvitationInfo) GetGroupID() string {
if x != nil {
return x.GroupID
}
return ""
}
func (x *InvitationInfo) GetRoomID() string {
if x != nil {
return x.RoomID
}
return ""
}
func (x *InvitationInfo) GetTimeout() int32 {
if x != nil {
return x.Timeout
}
return 0
}
func (x *InvitationInfo) GetMediaType() string {
if x != nil {
return x.MediaType
}
return ""
}
func (x *InvitationInfo) GetPlatformID() int32 {
if x != nil {
return x.PlatformID
}
return 0
}
func (x *InvitationInfo) GetSessionType() int32 {
if x != nil {
return x.SessionType
}
return 0
}
func (x *InvitationInfo) GetInitiateTime() int32 {
if x != nil {
return x.InitiateTime
}
return 0
}
func (x *InvitationInfo) GetBusyLineUserIDList() []string {
if x != nil {
return x.BusyLineUserIDList
}
return nil
}
type ParticipantMetaData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GroupInfo *GroupInfo `protobuf:"bytes,1,opt,name=groupInfo,proto3" json:"groupInfo"`
GroupMemberInfo *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=groupMemberInfo,proto3" json:"groupMemberInfo"`
UserInfo *PublicUserInfo `protobuf:"bytes,3,opt,name=userInfo,proto3" json:"userInfo"`
}
func (x *ParticipantMetaData) Reset() {
*x = ParticipantMetaData{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[55]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ParticipantMetaData) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ParticipantMetaData) ProtoMessage() {}
func (x *ParticipantMetaData) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[55]
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 ParticipantMetaData.ProtoReflect.Descriptor instead.
func (*ParticipantMetaData) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{55}
}
func (x *ParticipantMetaData) GetGroupInfo() *GroupInfo {
if x != nil {
return x.GroupInfo
}
return nil
}
func (x *ParticipantMetaData) GetGroupMemberInfo() *GroupMemberFullInfo {
if x != nil {
return x.GroupMemberInfo
}
return nil
}
func (x *ParticipantMetaData) GetUserInfo() *PublicUserInfo {
if x != nil {
return x.UserInfo
}
return nil
}
type SignalInviteReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OpUserID string `protobuf:"bytes,1,opt,name=opUserID,proto3" json:"opUserID"`
Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation,proto3" json:"invitation"`
OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo,proto3" json:"offlinePushInfo"`
Participant *ParticipantMetaData `protobuf:"bytes,4,opt,name=participant,proto3" json:"participant"`
}
func (x *SignalInviteReq) Reset() {
*x = SignalInviteReq{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[56]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SignalInviteReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SignalInviteReq) ProtoMessage() {}
func (x *SignalInviteReq) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[56]
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 SignalInviteReq.ProtoReflect.Descriptor instead.
func (*SignalInviteReq) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{56}
}
func (x *SignalInviteReq) GetOpUserID() string {
if x != nil {
return x.OpUserID
}
return ""
}
func (x *SignalInviteReq) GetInvitation() *InvitationInfo {
if x != nil {
return x.Invitation
}
return nil
}
func (x *SignalInviteReq) GetOfflinePushInfo() *OfflinePushInfo {
if x != nil {
return x.OfflinePushInfo
}
return nil
}
func (x *SignalInviteReq) GetParticipant() *ParticipantMetaData {
if x != nil {
return x.Participant
}
return nil
}
type SignalInviteReply struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token"`
RoomID string `protobuf:"bytes,2,opt,name=roomID,proto3" json:"roomID"`
LiveURL string `protobuf:"bytes,3,opt,name=liveURL,proto3" json:"liveURL"`
BusyLineUserIDList []string `protobuf:"bytes,4,rep,name=busyLineUserIDList,proto3" json:"busyLineUserIDList"`
}
func (x *SignalInviteReply) Reset() {
*x = SignalInviteReply{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[57]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SignalInviteReply) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SignalInviteReply) ProtoMessage() {}
func (x *SignalInviteReply) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[57]
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 SignalInviteReply.ProtoReflect.Descriptor instead.
func (*SignalInviteReply) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{57}
}
func (x *SignalInviteReply) GetToken() string {
if x != nil {
return x.Token
}
return ""
}
func (x *SignalInviteReply) GetRoomID() string {
if x != nil {
return x.RoomID
}
return ""
}
func (x *SignalInviteReply) GetLiveURL() string {
if x != nil {
return x.LiveURL
}
return ""
}
func (x *SignalInviteReply) GetBusyLineUserIDList() []string {
if x != nil {
return x.BusyLineUserIDList
}
return nil
}
type SignalInviteInGroupReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OpUserID string `protobuf:"bytes,1,opt,name=opUserID,proto3" json:"opUserID"`
Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation,proto3" json:"invitation"`
OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo,proto3" json:"offlinePushInfo"`
Participant *ParticipantMetaData `protobuf:"bytes,4,opt,name=participant,proto3" json:"participant"`
}
func (x *SignalInviteInGroupReq) Reset() {
*x = SignalInviteInGroupReq{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[58]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SignalInviteInGroupReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SignalInviteInGroupReq) ProtoMessage() {}
func (x *SignalInviteInGroupReq) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[58]
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 SignalInviteInGroupReq.ProtoReflect.Descriptor instead.
func (*SignalInviteInGroupReq) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{58}
}
func (x *SignalInviteInGroupReq) GetOpUserID() string {
if x != nil {
return x.OpUserID
}
return ""
}
func (x *SignalInviteInGroupReq) GetInvitation() *InvitationInfo {
if x != nil {
return x.Invitation
}
return nil
}
func (x *SignalInviteInGroupReq) GetOfflinePushInfo() *OfflinePushInfo {
if x != nil {
return x.OfflinePushInfo
}
return nil
}
func (x *SignalInviteInGroupReq) GetParticipant() *ParticipantMetaData {
if x != nil {
return x.Participant
}
return nil
}
type SignalInviteInGroupReply struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token"`
RoomID string `protobuf:"bytes,2,opt,name=roomID,proto3" json:"roomID"`
LiveURL string `protobuf:"bytes,3,opt,name=liveURL,proto3" json:"liveURL"`
BusyLineUserIDList []string `protobuf:"bytes,4,rep,name=busyLineUserIDList,proto3" json:"busyLineUserIDList"`
}
func (x *SignalInviteInGroupReply) Reset() {
*x = SignalInviteInGroupReply{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[59]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SignalInviteInGroupReply) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SignalInviteInGroupReply) ProtoMessage() {}
func (x *SignalInviteInGroupReply) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[59]
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 SignalInviteInGroupReply.ProtoReflect.Descriptor instead.
func (*SignalInviteInGroupReply) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{59}
}
func (x *SignalInviteInGroupReply) GetToken() string {
if x != nil {
return x.Token
}
return ""
}
func (x *SignalInviteInGroupReply) GetRoomID() string {
if x != nil {
return x.RoomID
}
return ""
}
func (x *SignalInviteInGroupReply) GetLiveURL() string {
if x != nil {
return x.LiveURL
}
return ""
}
func (x *SignalInviteInGroupReply) GetBusyLineUserIDList() []string {
if x != nil {
return x.BusyLineUserIDList
}
return nil
}
type SignalCancelReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OpUserID string `protobuf:"bytes,1,opt,name=opUserID,proto3" json:"opUserID"`
Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation,proto3" json:"invitation"`
OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo,proto3" json:"offlinePushInfo"`
Participant *ParticipantMetaData `protobuf:"bytes,4,opt,name=participant,proto3" json:"participant"`
}
func (x *SignalCancelReq) Reset() {
*x = SignalCancelReq{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[60]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SignalCancelReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SignalCancelReq) ProtoMessage() {}
func (x *SignalCancelReq) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[60]
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 SignalCancelReq.ProtoReflect.Descriptor instead.
func (*SignalCancelReq) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{60}
}
func (x *SignalCancelReq) GetOpUserID() string {
if x != nil {
return x.OpUserID
}
return ""
}
func (x *SignalCancelReq) GetInvitation() *InvitationInfo {
if x != nil {
return x.Invitation
}
return nil
}
func (x *SignalCancelReq) GetOfflinePushInfo() *OfflinePushInfo {
if x != nil {
return x.OfflinePushInfo
}
return nil
}
func (x *SignalCancelReq) GetParticipant() *ParticipantMetaData {
if x != nil {
return x.Participant
}
return nil
}
type SignalCancelReply struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *SignalCancelReply) Reset() {
*x = SignalCancelReply{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[61]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SignalCancelReply) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SignalCancelReply) ProtoMessage() {}
func (x *SignalCancelReply) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[61]
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 SignalCancelReply.ProtoReflect.Descriptor instead.
func (*SignalCancelReply) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{61}
}
type SignalAcceptReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OpUserID string `protobuf:"bytes,1,opt,name=opUserID,proto3" json:"opUserID"`
Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation,proto3" json:"invitation"`
OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo,proto3" json:"offlinePushInfo"`
Participant *ParticipantMetaData `protobuf:"bytes,4,opt,name=participant,proto3" json:"participant"`
OpUserPlatformID int32 `protobuf:"varint,5,opt,name=opUserPlatformID,proto3" json:"opUserPlatformID"`
}
func (x *SignalAcceptReq) Reset() {
*x = SignalAcceptReq{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[62]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SignalAcceptReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SignalAcceptReq) ProtoMessage() {}
func (x *SignalAcceptReq) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[62]
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 SignalAcceptReq.ProtoReflect.Descriptor instead.
func (*SignalAcceptReq) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{62}
}
func (x *SignalAcceptReq) GetOpUserID() string {
if x != nil {
return x.OpUserID
}
return ""
}
func (x *SignalAcceptReq) GetInvitation() *InvitationInfo {
if x != nil {
return x.Invitation
}
return nil
}
func (x *SignalAcceptReq) GetOfflinePushInfo() *OfflinePushInfo {
if x != nil {
return x.OfflinePushInfo
}
return nil
}
func (x *SignalAcceptReq) GetParticipant() *ParticipantMetaData {
if x != nil {
return x.Participant
}
return nil
}
func (x *SignalAcceptReq) GetOpUserPlatformID() int32 {
if x != nil {
return x.OpUserPlatformID
}
return 0
}
type SignalAcceptReply struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token"`
RoomID string `protobuf:"bytes,2,opt,name=roomID,proto3" json:"roomID"`
LiveURL string `protobuf:"bytes,3,opt,name=liveURL,proto3" json:"liveURL"`
}
func (x *SignalAcceptReply) Reset() {
*x = SignalAcceptReply{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[63]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SignalAcceptReply) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SignalAcceptReply) ProtoMessage() {}
func (x *SignalAcceptReply) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[63]
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 SignalAcceptReply.ProtoReflect.Descriptor instead.
func (*SignalAcceptReply) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{63}
}
func (x *SignalAcceptReply) GetToken() string {
if x != nil {
return x.Token
}
return ""
}
func (x *SignalAcceptReply) GetRoomID() string {
if x != nil {
return x.RoomID
}
return ""
}
func (x *SignalAcceptReply) GetLiveURL() string {
if x != nil {
return x.LiveURL
}
return ""
}
type SignalHungUpReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OpUserID string `protobuf:"bytes,1,opt,name=opUserID,proto3" json:"opUserID"`
Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation,proto3" json:"invitation"`
OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo,proto3" json:"offlinePushInfo"`
}
func (x *SignalHungUpReq) Reset() {
*x = SignalHungUpReq{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[64]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SignalHungUpReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SignalHungUpReq) ProtoMessage() {}
func (x *SignalHungUpReq) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[64]
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 SignalHungUpReq.ProtoReflect.Descriptor instead.
func (*SignalHungUpReq) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{64}
}
func (x *SignalHungUpReq) GetOpUserID() string {
if x != nil {
return x.OpUserID
}
return ""
}
func (x *SignalHungUpReq) GetInvitation() *InvitationInfo {
if x != nil {
return x.Invitation
}
return nil
}
func (x *SignalHungUpReq) GetOfflinePushInfo() *OfflinePushInfo {
if x != nil {
return x.OfflinePushInfo
}
return nil
}
type SignalHungUpReply struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *SignalHungUpReply) Reset() {
*x = SignalHungUpReply{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[65]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SignalHungUpReply) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SignalHungUpReply) ProtoMessage() {}
func (x *SignalHungUpReply) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[65]
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 SignalHungUpReply.ProtoReflect.Descriptor instead.
func (*SignalHungUpReply) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{65}
}
type SignalRejectReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OpUserID string `protobuf:"bytes,1,opt,name=opUserID,proto3" json:"opUserID"`
Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation,proto3" json:"invitation"`
OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo,proto3" json:"offlinePushInfo"`
Participant *ParticipantMetaData `protobuf:"bytes,4,opt,name=participant,proto3" json:"participant"`
OpUserPlatformID int32 `protobuf:"varint,5,opt,name=opUserPlatformID,proto3" json:"opUserPlatformID"`
}
func (x *SignalRejectReq) Reset() {
*x = SignalRejectReq{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[66]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SignalRejectReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SignalRejectReq) ProtoMessage() {}
func (x *SignalRejectReq) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[66]
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 SignalRejectReq.ProtoReflect.Descriptor instead.
func (*SignalRejectReq) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{66}
}
func (x *SignalRejectReq) GetOpUserID() string {
if x != nil {
return x.OpUserID
}
return ""
}
func (x *SignalRejectReq) GetInvitation() *InvitationInfo {
if x != nil {
return x.Invitation
}
return nil
}
func (x *SignalRejectReq) GetOfflinePushInfo() *OfflinePushInfo {
if x != nil {
return x.OfflinePushInfo
}
return nil
}
func (x *SignalRejectReq) GetParticipant() *ParticipantMetaData {
if x != nil {
return x.Participant
}
return nil
}
func (x *SignalRejectReq) GetOpUserPlatformID() int32 {
if x != nil {
return x.OpUserPlatformID
}
return 0
}
type SignalRejectReply struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *SignalRejectReply) Reset() {
*x = SignalRejectReply{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[67]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SignalRejectReply) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SignalRejectReply) ProtoMessage() {}
func (x *SignalRejectReply) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[67]
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 SignalRejectReply.ProtoReflect.Descriptor instead.
func (*SignalRejectReply) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{67}
}
type SignalGetRoomByGroupIDReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OpUserID string `protobuf:"bytes,1,opt,name=opUserID,proto3" json:"opUserID"`
GroupID string `protobuf:"bytes,2,opt,name=groupID,proto3" json:"groupID"`
Participant *ParticipantMetaData `protobuf:"bytes,3,opt,name=participant,proto3" json:"participant"`
}
func (x *SignalGetRoomByGroupIDReq) Reset() {
*x = SignalGetRoomByGroupIDReq{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[68]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SignalGetRoomByGroupIDReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SignalGetRoomByGroupIDReq) ProtoMessage() {}
func (x *SignalGetRoomByGroupIDReq) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[68]
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 SignalGetRoomByGroupIDReq.ProtoReflect.Descriptor instead.
func (*SignalGetRoomByGroupIDReq) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{68}
}
func (x *SignalGetRoomByGroupIDReq) GetOpUserID() string {
if x != nil {
return x.OpUserID
}
return ""
}
func (x *SignalGetRoomByGroupIDReq) GetGroupID() string {
if x != nil {
return x.GroupID
}
return ""
}
func (x *SignalGetRoomByGroupIDReq) GetParticipant() *ParticipantMetaData {
if x != nil {
return x.Participant
}
return nil
}
type SignalGetRoomByGroupIDReply struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Invitation *InvitationInfo `protobuf:"bytes,1,opt,name=invitation,proto3" json:"invitation"`
Participant []*ParticipantMetaData `protobuf:"bytes,2,rep,name=participant,proto3" json:"participant"`
RoomID string `protobuf:"bytes,3,opt,name=roomID,proto3" json:"roomID"`
}
func (x *SignalGetRoomByGroupIDReply) Reset() {
*x = SignalGetRoomByGroupIDReply{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[69]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SignalGetRoomByGroupIDReply) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SignalGetRoomByGroupIDReply) ProtoMessage() {}
func (x *SignalGetRoomByGroupIDReply) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[69]
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 SignalGetRoomByGroupIDReply.ProtoReflect.Descriptor instead.
func (*SignalGetRoomByGroupIDReply) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{69}
}
func (x *SignalGetRoomByGroupIDReply) GetInvitation() *InvitationInfo {
if x != nil {
return x.Invitation
}
return nil
}
func (x *SignalGetRoomByGroupIDReply) GetParticipant() []*ParticipantMetaData {
if x != nil {
return x.Participant
}
return nil
}
func (x *SignalGetRoomByGroupIDReply) GetRoomID() string {
if x != nil {
return x.RoomID
}
return ""
}
type SignalOnRoomParticipantConnectedReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Invitation *InvitationInfo `protobuf:"bytes,1,opt,name=invitation,proto3" json:"invitation"`
Participant []*ParticipantMetaData `protobuf:"bytes,2,rep,name=participant,proto3" json:"participant"`
GroupID string `protobuf:"bytes,3,opt,name=groupID,proto3" json:"groupID"`
}
func (x *SignalOnRoomParticipantConnectedReq) Reset() {
*x = SignalOnRoomParticipantConnectedReq{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[70]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SignalOnRoomParticipantConnectedReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SignalOnRoomParticipantConnectedReq) ProtoMessage() {}
func (x *SignalOnRoomParticipantConnectedReq) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[70]
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 SignalOnRoomParticipantConnectedReq.ProtoReflect.Descriptor instead.
func (*SignalOnRoomParticipantConnectedReq) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{70}
}
func (x *SignalOnRoomParticipantConnectedReq) GetInvitation() *InvitationInfo {
if x != nil {
return x.Invitation
}
return nil
}
func (x *SignalOnRoomParticipantConnectedReq) GetParticipant() []*ParticipantMetaData {
if x != nil {
return x.Participant
}
return nil
}
func (x *SignalOnRoomParticipantConnectedReq) GetGroupID() string {
if x != nil {
return x.GroupID
}
return ""
}
type SignalOnRoomParticipantDisconnectedReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Invitation *InvitationInfo `protobuf:"bytes,1,opt,name=invitation,proto3" json:"invitation"`
Participant []*ParticipantMetaData `protobuf:"bytes,2,rep,name=participant,proto3" json:"participant"`
GroupID string `protobuf:"bytes,3,opt,name=groupID,proto3" json:"groupID"`
}
func (x *SignalOnRoomParticipantDisconnectedReq) Reset() {
*x = SignalOnRoomParticipantDisconnectedReq{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[71]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SignalOnRoomParticipantDisconnectedReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SignalOnRoomParticipantDisconnectedReq) ProtoMessage() {}
func (x *SignalOnRoomParticipantDisconnectedReq) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[71]
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 SignalOnRoomParticipantDisconnectedReq.ProtoReflect.Descriptor instead.
func (*SignalOnRoomParticipantDisconnectedReq) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{71}
}
func (x *SignalOnRoomParticipantDisconnectedReq) GetInvitation() *InvitationInfo {
if x != nil {
return x.Invitation
}
return nil
}
func (x *SignalOnRoomParticipantDisconnectedReq) GetParticipant() []*ParticipantMetaData {
if x != nil {
return x.Participant
}
return nil
}
func (x *SignalOnRoomParticipantDisconnectedReq) GetGroupID() string {
if x != nil {
return x.GroupID
}
return ""
}
type SignalGetTokenByRoomIDReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RoomID string `protobuf:"bytes,1,opt,name=roomID,proto3" json:"roomID"`
OpUserID string `protobuf:"bytes,2,opt,name=opUserID,proto3" json:"opUserID"`
Participant *ParticipantMetaData `protobuf:"bytes,3,opt,name=participant,proto3" json:"participant"`
}
func (x *SignalGetTokenByRoomIDReq) Reset() {
*x = SignalGetTokenByRoomIDReq{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[72]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SignalGetTokenByRoomIDReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SignalGetTokenByRoomIDReq) ProtoMessage() {}
func (x *SignalGetTokenByRoomIDReq) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[72]
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 SignalGetTokenByRoomIDReq.ProtoReflect.Descriptor instead.
func (*SignalGetTokenByRoomIDReq) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{72}
}
func (x *SignalGetTokenByRoomIDReq) GetRoomID() string {
if x != nil {
return x.RoomID
}
return ""
}
func (x *SignalGetTokenByRoomIDReq) GetOpUserID() string {
if x != nil {
return x.OpUserID
}
return ""
}
func (x *SignalGetTokenByRoomIDReq) GetParticipant() *ParticipantMetaData {
if x != nil {
return x.Participant
}
return nil
}
type SignalGetTokenByRoomIDReply struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token"`
LiveURL string `protobuf:"bytes,2,opt,name=liveURL,proto3" json:"liveURL"`
}
func (x *SignalGetTokenByRoomIDReply) Reset() {
*x = SignalGetTokenByRoomIDReply{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[73]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SignalGetTokenByRoomIDReply) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SignalGetTokenByRoomIDReply) ProtoMessage() {}
func (x *SignalGetTokenByRoomIDReply) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[73]
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 SignalGetTokenByRoomIDReply.ProtoReflect.Descriptor instead.
func (*SignalGetTokenByRoomIDReply) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{73}
}
func (x *SignalGetTokenByRoomIDReply) GetToken() string {
if x != nil {
return x.Token
}
return ""
}
func (x *SignalGetTokenByRoomIDReply) GetLiveURL() string {
if x != nil {
return x.LiveURL
}
return ""
}
type SetAppBackgroundStatusReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
IsBackground bool `protobuf:"varint,2,opt,name=isBackground,proto3" json:"isBackground"`
}
func (x *SetAppBackgroundStatusReq) Reset() {
*x = SetAppBackgroundStatusReq{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[74]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SetAppBackgroundStatusReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SetAppBackgroundStatusReq) ProtoMessage() {}
func (x *SetAppBackgroundStatusReq) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[74]
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 SetAppBackgroundStatusReq.ProtoReflect.Descriptor instead.
func (*SetAppBackgroundStatusReq) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{74}
}
func (x *SetAppBackgroundStatusReq) GetUserID() string {
if x != nil {
return x.UserID
}
return ""
}
func (x *SetAppBackgroundStatusReq) GetIsBackground() bool {
if x != nil {
return x.IsBackground
}
return false
}
type SetAppBackgroundStatusResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *SetAppBackgroundStatusResp) Reset() {
*x = SetAppBackgroundStatusResp{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[75]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SetAppBackgroundStatusResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SetAppBackgroundStatusResp) ProtoMessage() {}
func (x *SetAppBackgroundStatusResp) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[75]
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 SetAppBackgroundStatusResp.ProtoReflect.Descriptor instead.
func (*SetAppBackgroundStatusResp) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{75}
}
type ExtendMsgSet struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ConversationID string `protobuf:"bytes,1,opt,name=conversationID,proto3" json:"conversationID"`
SessionType int32 `protobuf:"varint,2,opt,name=sessionType,proto3" json:"sessionType"`
ExtendMsgs map[string]*ExtendMsg `protobuf:"bytes,3,rep,name=extendMsgs,proto3" json:"extendMsgs" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
MaxMsgUpdateTime int64 `protobuf:"varint,4,opt,name=MaxMsgUpdateTime,proto3" json:"MaxMsgUpdateTime"`
ExtendMsgNum int32 `protobuf:"varint,5,opt,name=extendMsgNum,proto3" json:"extendMsgNum"`
CreateTime int64 `protobuf:"varint,6,opt,name=createTime,proto3" json:"createTime"`
}
func (x *ExtendMsgSet) Reset() {
*x = ExtendMsgSet{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[76]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExtendMsgSet) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExtendMsgSet) ProtoMessage() {}
func (x *ExtendMsgSet) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[76]
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 ExtendMsgSet.ProtoReflect.Descriptor instead.
func (*ExtendMsgSet) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{76}
}
func (x *ExtendMsgSet) GetConversationID() string {
if x != nil {
return x.ConversationID
}
return ""
}
func (x *ExtendMsgSet) GetSessionType() int32 {
if x != nil {
return x.SessionType
}
return 0
}
func (x *ExtendMsgSet) GetExtendMsgs() map[string]*ExtendMsg {
if x != nil {
return x.ExtendMsgs
}
return nil
}
func (x *ExtendMsgSet) GetMaxMsgUpdateTime() int64 {
if x != nil {
return x.MaxMsgUpdateTime
}
return 0
}
func (x *ExtendMsgSet) GetExtendMsgNum() int32 {
if x != nil {
return x.ExtendMsgNum
}
return 0
}
func (x *ExtendMsgSet) GetCreateTime() int64 {
if x != nil {
return x.CreateTime
}
return 0
}
type ExtendMsg struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ReactionExtensionList map[string]*KeyValue `protobuf:"bytes,1,rep,name=reactionExtensionList,proto3" json:"reactionExtensionList" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
ClientMsgID string `protobuf:"bytes,2,opt,name=clientMsgID,proto3" json:"clientMsgID"`
MsgFirstModifyTime int64 `protobuf:"varint,3,opt,name=msgFirstModifyTime,proto3" json:"msgFirstModifyTime"`
AttachedInfo string `protobuf:"bytes,4,opt,name=attachedInfo,proto3" json:"attachedInfo"`
Ex string `protobuf:"bytes,5,opt,name=ex,proto3" json:"ex"`
}
func (x *ExtendMsg) Reset() {
*x = ExtendMsg{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[77]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExtendMsg) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExtendMsg) ProtoMessage() {}
func (x *ExtendMsg) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[77]
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 ExtendMsg.ProtoReflect.Descriptor instead.
func (*ExtendMsg) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{77}
}
func (x *ExtendMsg) GetReactionExtensionList() map[string]*KeyValue {
if x != nil {
return x.ReactionExtensionList
}
return nil
}
func (x *ExtendMsg) GetClientMsgID() string {
if x != nil {
return x.ClientMsgID
}
return ""
}
func (x *ExtendMsg) GetMsgFirstModifyTime() int64 {
if x != nil {
return x.MsgFirstModifyTime
}
return 0
}
func (x *ExtendMsg) GetAttachedInfo() string {
if x != nil {
return x.AttachedInfo
}
return ""
}
func (x *ExtendMsg) GetEx() string {
if x != nil {
return x.Ex
}
return ""
}
type KeyValue struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
TypeKey string `protobuf:"bytes,1,opt,name=typeKey,proto3" json:"typeKey"`
Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value"`
LatestUpdateTime int64 `protobuf:"varint,3,opt,name=latestUpdateTime,proto3" json:"latestUpdateTime"`
}
func (x *KeyValue) Reset() {
*x = KeyValue{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[78]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *KeyValue) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*KeyValue) ProtoMessage() {}
func (x *KeyValue) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[78]
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 KeyValue.ProtoReflect.Descriptor instead.
func (*KeyValue) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{78}
}
func (x *KeyValue) GetTypeKey() string {
if x != nil {
return x.TypeKey
}
return ""
}
func (x *KeyValue) GetValue() string {
if x != nil {
return x.Value
}
return ""
}
func (x *KeyValue) GetLatestUpdateTime() int64 {
if x != nil {
return x.LatestUpdateTime
}
return 0
}
type ReactionMessageModifierNotification struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ConversationID string `protobuf:"bytes,1,opt,name=conversationID,proto3" json:"conversationID"`
OpUserID string `protobuf:"bytes,2,opt,name=opUserID,proto3" json:"opUserID"`
SessionType int32 `protobuf:"varint,3,opt,name=sessionType,proto3" json:"sessionType"`
SuccessReactionExtensions map[string]*KeyValue `protobuf:"bytes,4,rep,name=successReactionExtensions,proto3" json:"successReactionExtensions" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
ClientMsgID string `protobuf:"bytes,5,opt,name=clientMsgID,proto3" json:"clientMsgID"`
IsReact bool `protobuf:"varint,6,opt,name=isReact,proto3" json:"isReact"`
IsExternalExtensions bool `protobuf:"varint,7,opt,name=isExternalExtensions,proto3" json:"isExternalExtensions"`
MsgFirstModifyTime int64 `protobuf:"varint,8,opt,name=msgFirstModifyTime,proto3" json:"msgFirstModifyTime"`
}
func (x *ReactionMessageModifierNotification) Reset() {
*x = ReactionMessageModifierNotification{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[79]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ReactionMessageModifierNotification) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ReactionMessageModifierNotification) ProtoMessage() {}
func (x *ReactionMessageModifierNotification) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[79]
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 ReactionMessageModifierNotification.ProtoReflect.Descriptor instead.
func (*ReactionMessageModifierNotification) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{79}
}
func (x *ReactionMessageModifierNotification) GetConversationID() string {
if x != nil {
return x.ConversationID
}
return ""
}
func (x *ReactionMessageModifierNotification) GetOpUserID() string {
if x != nil {
return x.OpUserID
}
return ""
}
func (x *ReactionMessageModifierNotification) GetSessionType() int32 {
if x != nil {
return x.SessionType
}
return 0
}
func (x *ReactionMessageModifierNotification) GetSuccessReactionExtensions() map[string]*KeyValue {
if x != nil {
return x.SuccessReactionExtensions
}
return nil
}
func (x *ReactionMessageModifierNotification) GetClientMsgID() string {
if x != nil {
return x.ClientMsgID
}
return ""
}
func (x *ReactionMessageModifierNotification) GetIsReact() bool {
if x != nil {
return x.IsReact
}
return false
}
func (x *ReactionMessageModifierNotification) GetIsExternalExtensions() bool {
if x != nil {
return x.IsExternalExtensions
}
return false
}
func (x *ReactionMessageModifierNotification) GetMsgFirstModifyTime() int64 {
if x != nil {
return x.MsgFirstModifyTime
}
return 0
}
type ReactionMessageDeleteNotification struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ConversationID string `protobuf:"bytes,1,opt,name=conversationID,proto3" json:"conversationID"`
OpUserID string `protobuf:"bytes,2,opt,name=opUserID,proto3" json:"opUserID"`
SessionType int32 `protobuf:"varint,3,opt,name=sessionType,proto3" json:"sessionType"`
SuccessReactionExtensions map[string]*KeyValue `protobuf:"bytes,4,rep,name=successReactionExtensions,proto3" json:"successReactionExtensions" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
ClientMsgID string `protobuf:"bytes,5,opt,name=clientMsgID,proto3" json:"clientMsgID"`
MsgFirstModifyTime int64 `protobuf:"varint,6,opt,name=msgFirstModifyTime,proto3" json:"msgFirstModifyTime"`
}
func (x *ReactionMessageDeleteNotification) Reset() {
*x = ReactionMessageDeleteNotification{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[80]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ReactionMessageDeleteNotification) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ReactionMessageDeleteNotification) ProtoMessage() {}
func (x *ReactionMessageDeleteNotification) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[80]
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 ReactionMessageDeleteNotification.ProtoReflect.Descriptor instead.
func (*ReactionMessageDeleteNotification) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{80}
}
func (x *ReactionMessageDeleteNotification) GetConversationID() string {
if x != nil {
return x.ConversationID
}
return ""
}
func (x *ReactionMessageDeleteNotification) GetOpUserID() string {
if x != nil {
return x.OpUserID
}
return ""
}
func (x *ReactionMessageDeleteNotification) GetSessionType() int32 {
if x != nil {
return x.SessionType
}
return 0
}
func (x *ReactionMessageDeleteNotification) GetSuccessReactionExtensions() map[string]*KeyValue {
if x != nil {
return x.SuccessReactionExtensions
}
return nil
}
func (x *ReactionMessageDeleteNotification) GetClientMsgID() string {
if x != nil {
return x.ClientMsgID
}
return ""
}
func (x *ReactionMessageDeleteNotification) GetMsgFirstModifyTime() int64 {
if x != nil {
return x.MsgFirstModifyTime
}
return 0
}
var File_sdkws_sdkws_proto protoreflect.FileDescriptor
var file_sdkws_sdkws_proto_rawDesc = []byte{
0x0a, 0x11, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2f, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x12, 0x12, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65,
0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x1a, 0x1b, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72,
0x73, 0x70, 0x62, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x70, 0x62, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdf, 0x04, 0x0a, 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e,
0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09,
0x67, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x6e, 0x6f,
0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0c, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22,
0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x61, 0x63, 0x65, 0x55, 0x52, 0x4c, 0x18, 0x05, 0x20,
0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x61, 0x63, 0x65, 0x55, 0x52, 0x4c, 0x12, 0x20, 0x0a, 0x0b,
0x6f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1e,
0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01,
0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20,
0x0a, 0x0b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20,
0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74,
0x12, 0x0e, 0x0a, 0x02, 0x65, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x65, 0x78,
0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05,
0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61,
0x74, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1c,
0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28,
0x05, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x10,
0x6e, 0x65, 0x65, 0x64, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6e, 0x65, 0x65, 0x64, 0x56, 0x65, 0x72, 0x69,
0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0e, 0x6c, 0x6f, 0x6f, 0x6b,
0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05,
0x52, 0x0e, 0x6c, 0x6f, 0x6f, 0x6b, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f,
0x12, 0x2c, 0x0a, 0x11, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46,
0x72, 0x69, 0x65, 0x6e, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x61, 0x70, 0x70,
0x6c, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x36,
0x0a, 0x16, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70,
0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x16,
0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61,
0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69,
0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x11, 0x20, 0x01,
0x28, 0x09, 0x52, 0x12, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x22, 0xa6, 0x03, 0x0a, 0x0f, 0x47, 0x72, 0x6f, 0x75, 0x70,
0x49, 0x6e, 0x66, 0x6f, 0x46, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72,
0x6f, 0x75, 0x70, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f,
0x75, 0x70, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61,
0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69,
0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64,
0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e,
0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x61,
0x63, 0x65, 0x55, 0x52, 0x4c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x61, 0x63,
0x65, 0x55, 0x52, 0x4c, 0x12, 0x0e, 0x0a, 0x02, 0x65, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
0x52, 0x02, 0x65, 0x78, 0x12, 0x4d, 0x0a, 0x10, 0x6e, 0x65, 0x65, 0x64, 0x56, 0x65, 0x72, 0x69,
0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21,
0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75,
0x65, 0x52, 0x10, 0x6e, 0x65, 0x65, 0x64, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x0e, 0x6c, 0x6f, 0x6f, 0x6b, 0x4d, 0x65, 0x6d, 0x62, 0x65,
0x72, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x4f, 0x70,
0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e,
0x6c, 0x6f, 0x6f, 0x6b, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4f,
0x0a, 0x11, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46, 0x72, 0x69,
0x65, 0x6e, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x4f, 0x70, 0x65, 0x6e,
0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x61, 0x70,
0x70, 0x6c, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x22,
0xff, 0x02, 0x0a, 0x13, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46,
0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70,
0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49,
0x44, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x6f, 0x6c,
0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x72, 0x6f,
0x6c, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x54,
0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x54,
0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18,
0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12,
0x18, 0x0a, 0x07, 0x66, 0x61, 0x63, 0x65, 0x55, 0x52, 0x4c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
0x52, 0x07, 0x66, 0x61, 0x63, 0x65, 0x55, 0x52, 0x4c, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x70, 0x70,
0x4d, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28,
0x05, 0x52, 0x0e, 0x61, 0x70, 0x70, 0x4d, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65,
0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x6a, 0x6f, 0x69, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18,
0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6a, 0x6f, 0x69, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63,
0x65, 0x12, 0x26, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x73, 0x65,
0x72, 0x49, 0x44, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61,
0x74, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x0e, 0x0a, 0x02, 0x65, 0x78, 0x18,
0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x75, 0x74,
0x65, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b,
0x6d, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x69,
0x6e, 0x76, 0x69, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x0c, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0d, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49,
0x44, 0x22, 0x6e, 0x0a, 0x0e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x55, 0x73, 0x65, 0x72, 0x49,
0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x6e,
0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e,
0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x61, 0x63, 0x65, 0x55,
0x52, 0x4c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x61, 0x63, 0x65, 0x55, 0x52,
0x4c, 0x12, 0x0e, 0x0a, 0x02, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x65,
0x78, 0x22, 0xdc, 0x01, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16,
0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61,
0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61,
0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x61, 0x63, 0x65, 0x55, 0x52, 0x4c, 0x18, 0x03, 0x20,
0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x61, 0x63, 0x65, 0x55, 0x52, 0x4c, 0x12, 0x0e, 0x0a, 0x02,
0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x65, 0x78, 0x12, 0x1e, 0x0a, 0x0a,
0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03,
0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e,
0x61, 0x70, 0x70, 0x4d, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x06,
0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x70, 0x70, 0x4d, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x4c,
0x65, 0x76, 0x65, 0x6c, 0x12, 0x2a, 0x0a, 0x10, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x52, 0x65,
0x63, 0x76, 0x4d, 0x73, 0x67, 0x4f, 0x70, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10,
0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x52, 0x65, 0x63, 0x76, 0x4d, 0x73, 0x67, 0x4f, 0x70, 0x74,
0x22, 0xfa, 0x01, 0x0a, 0x0a, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12,
0x20, 0x0a, 0x0b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49,
0x44, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65,
0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63,
0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3c, 0x0a, 0x0a, 0x66, 0x72, 0x69,
0x65, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b,
0x77, 0x73, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x66, 0x72, 0x69,
0x65, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x53, 0x6f,
0x75, 0x72, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x61, 0x64, 0x64, 0x53,
0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f,
0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f,
0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x0e, 0x0a,
0x02, 0x65, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x65, 0x78, 0x22, 0xed, 0x01,
0x0a, 0x09, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x6f,
0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1e, 0x0a,
0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x48, 0x0a,
0x0d, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x03,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72,
0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63,
0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x55,
0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x53, 0x6f,
0x75, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x61, 0x64, 0x64, 0x53,
0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f,
0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f,
0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x0e, 0x0a,
0x02, 0x65, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x65, 0x78, 0x22, 0x99, 0x03,
0x0a, 0x0c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e,
0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x22, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e,
0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x55, 0x73, 0x65, 0x72,
0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3b,
0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1d, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f,
0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x68,
0x61, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
0x05, 0x52, 0x0c, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12,
0x16, 0x0a, 0x06, 0x72, 0x65, 0x71, 0x4d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
0x06, 0x72, 0x65, 0x71, 0x4d, 0x73, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x61, 0x6e, 0x64, 0x6c,
0x65, 0x4d, 0x73, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x68, 0x61, 0x6e, 0x64,
0x6c, 0x65, 0x4d, 0x73, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x54, 0x69, 0x6d, 0x65,
0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x72, 0x65, 0x71, 0x54, 0x69, 0x6d, 0x65, 0x12,
0x22, 0x0a, 0x0c, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18,
0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x55, 0x73, 0x65,
0x72, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d,
0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x54,
0x69, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x65, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52,
0x02, 0x65, 0x78, 0x12, 0x1e, 0x0a, 0x0a, 0x6a, 0x6f, 0x69, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63,
0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6a, 0x6f, 0x69, 0x6e, 0x53, 0x6f, 0x75,
0x72, 0x63, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x72, 0x55, 0x73,
0x65, 0x72, 0x49, 0x44, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6e, 0x76, 0x69,
0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x22, 0x9f, 0x03, 0x0a, 0x0d, 0x46, 0x72,
0x69, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x66,
0x72, 0x6f, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x66,
0x72, 0x6f, 0x6d, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12,
0x20, 0x0a, 0x0b, 0x66, 0x72, 0x6f, 0x6d, 0x46, 0x61, 0x63, 0x65, 0x55, 0x52, 0x4c, 0x18, 0x03,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x72, 0x6f, 0x6d, 0x46, 0x61, 0x63, 0x65, 0x55, 0x52,
0x4c, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x04, 0x20,
0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1e, 0x0a,
0x0a, 0x74, 0x6f, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0a, 0x74, 0x6f, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a,
0x09, 0x74, 0x6f, 0x46, 0x61, 0x63, 0x65, 0x55, 0x52, 0x4c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
0x52, 0x09, 0x74, 0x6f, 0x46, 0x61, 0x63, 0x65, 0x55, 0x52, 0x4c, 0x12, 0x22, 0x0a, 0x0c, 0x68,
0x61, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28,
0x05, 0x52, 0x0c, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12,
0x16, 0x0a, 0x06, 0x72, 0x65, 0x71, 0x4d, 0x73, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52,
0x06, 0x72, 0x65, 0x71, 0x4d, 0x73, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74,
0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65,
0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x68, 0x61, 0x6e, 0x64, 0x6c,
0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d,
0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a,
0x09, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x4d, 0x73, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09,
0x52, 0x09, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x4d, 0x73, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x68,
0x61, 0x6e, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52,
0x0a, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x65,
0x78, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x65, 0x78, 0x22, 0x6a, 0x0a, 0x14, 0x50,
0x75, 0x6c, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x79, 0x53, 0x65, 0x71, 0x73,
0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x3a, 0x0a, 0x09, 0x73,
0x65, 0x71, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c,
0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64,
0x6b, 0x77, 0x73, 0x2e, 0x53, 0x65, 0x71, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x09, 0x73, 0x65,
0x71, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, 0x6c, 0x0a, 0x08, 0x53, 0x65, 0x71, 0x52, 0x61,
0x6e, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6e,
0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x14, 0x0a, 0x05, 0x62,
0x65, 0x67, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x62, 0x65, 0x67, 0x69,
0x6e, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03,
0x65, 0x6e, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03,
0x52, 0x03, 0x6e, 0x75, 0x6d, 0x22, 0x3b, 0x0a, 0x08, 0x50, 0x75, 0x6c, 0x6c, 0x4d, 0x73, 0x67,
0x73, 0x12, 0x2f, 0x0a, 0x04, 0x4d, 0x73, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x1b, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73,
0x64, 0x6b, 0x77, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x4d, 0x73,
0x67, 0x73, 0x22, 0x87, 0x03, 0x0a, 0x15, 0x50, 0x75, 0x6c, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61,
0x67, 0x65, 0x42, 0x79, 0x53, 0x65, 0x71, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x47, 0x0a, 0x04,
0x6d, 0x73, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x4f, 0x70, 0x65,
0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e,
0x50, 0x75, 0x6c, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x79, 0x53, 0x65, 0x71,
0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4d, 0x73, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
0x04, 0x6d, 0x73, 0x67, 0x73, 0x12, 0x6b, 0x0a, 0x10, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x3f, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73,
0x64, 0x6b, 0x77, 0x73, 0x2e, 0x50, 0x75, 0x6c, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
0x42, 0x79, 0x53, 0x65, 0x71, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66,
0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x10, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x73,
0x67, 0x73, 0x1a, 0x55, 0x0a, 0x09, 0x4d, 0x73, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1c, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e,
0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x50, 0x75, 0x6c, 0x6c, 0x4d, 0x73, 0x67, 0x73, 0x52, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x61, 0x0a, 0x15, 0x4e, 0x6f, 0x74,
0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x73, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76,
0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x50, 0x75, 0x6c, 0x6c, 0x4d, 0x73, 0x67,
0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x26, 0x0a, 0x0c,
0x47, 0x65, 0x74, 0x4d, 0x61, 0x78, 0x53, 0x65, 0x71, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06,
0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73,
0x65, 0x72, 0x49, 0x44, 0x22, 0x9b, 0x02, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x78, 0x53,
0x65, 0x71, 0x52, 0x65, 0x73, 0x70, 0x12, 0x48, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x53, 0x65, 0x71,
0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d,
0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x65, 0x74,
0x4d, 0x61, 0x78, 0x53, 0x65, 0x71, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4d, 0x61, 0x78, 0x53, 0x65,
0x71, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x53, 0x65, 0x71, 0x73,
0x12, 0x48, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x53, 0x65, 0x71, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x2e, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x78, 0x53, 0x65, 0x71,
0x52, 0x65, 0x73, 0x70, 0x2e, 0x4d, 0x69, 0x6e, 0x53, 0x65, 0x71, 0x73, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x53, 0x65, 0x71, 0x73, 0x1a, 0x3a, 0x0a, 0x0c, 0x4d, 0x61,
0x78, 0x53, 0x65, 0x71, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3a, 0x0a, 0x0c, 0x4d, 0x69, 0x6e, 0x53, 0x65, 0x71,
0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
0x38, 0x01, 0x22, 0x71, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73,
0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d,
0x73, 0x67, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76,
0x65, 0x72, 0x4d, 0x73, 0x67, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e,
0x74, 0x4d, 0x73, 0x67, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c,
0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6e,
0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6e,
0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x96, 0x06, 0x0a, 0x07, 0x4d, 0x73, 0x67, 0x44, 0x61, 0x74,
0x61, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x63,
0x76, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x63, 0x76, 0x49,
0x44, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01,
0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x63,
0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x49, 0x44, 0x12, 0x20, 0x0a,
0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x49, 0x44, 0x12,
0x2a, 0x0a, 0x10, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
0x6d, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x73, 0x65, 0x6e, 0x64, 0x65,
0x72, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x73,
0x65, 0x6e, 0x64, 0x65, 0x72, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4e, 0x69, 0x63, 0x6b, 0x6e,
0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x46, 0x61, 0x63,
0x65, 0x55, 0x52, 0x4c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x6e, 0x64,
0x65, 0x72, 0x46, 0x61, 0x63, 0x65, 0x55, 0x52, 0x4c, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x73,
0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b,
0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d,
0x73, 0x67, 0x46, 0x72, 0x6f, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6d, 0x73,
0x67, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
0x54, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74,
0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65,
0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
0x74, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x71, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03,
0x73, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18,
0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12,
0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x10, 0x20,
0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12,
0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52,
0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49,
0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x4d, 0x73,
0x67, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4d, 0x0a, 0x0f, 0x6f,
0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x13,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72,
0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e,
0x65, 0x50, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x6f, 0x66, 0x66, 0x6c, 0x69,
0x6e, 0x65, 0x50, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x74,
0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x14, 0x20, 0x03, 0x28, 0x09,
0x52, 0x0c, 0x61, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x22,
0x0a, 0x0c, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x15,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x49, 0x6e,
0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x65, 0x78, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
0x65, 0x78, 0x1a, 0x3a, 0x0a, 0x0c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xec,
0x02, 0x0a, 0x0c, 0x50, 0x75, 0x73, 0x68, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12,
0x3e, 0x0a, 0x04, 0x6d, 0x73, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e,
0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b,
0x77, 0x73, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e,
0x4d, 0x73, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x6d, 0x73, 0x67, 0x73, 0x12,
0x62, 0x0a, 0x10, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d,
0x73, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x4f, 0x70, 0x65, 0x6e,
0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x50,
0x75, 0x73, 0x68, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x4e, 0x6f, 0x74, 0x69,
0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x52, 0x10, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d,
0x73, 0x67, 0x73, 0x1a, 0x55, 0x0a, 0x09, 0x4d, 0x73, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1c, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x50, 0x75, 0x6c, 0x6c, 0x4d, 0x73, 0x67, 0x73, 0x52,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x61, 0x0a, 0x15, 0x4e, 0x6f,
0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x73, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72,
0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x50, 0x75, 0x6c, 0x6c, 0x4d, 0x73,
0x67, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x95, 0x01,
0x0a, 0x0f, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x66,
0x6f, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x12, 0x0e, 0x0a, 0x02, 0x65,
0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x65, 0x78, 0x12, 0x22, 0x0a, 0x0c, 0x69,
0x4f, 0x53, 0x50, 0x75, 0x73, 0x68, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0c, 0x69, 0x4f, 0x53, 0x50, 0x75, 0x73, 0x68, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x12,
0x24, 0x0a, 0x0d, 0x69, 0x4f, 0x53, 0x42, 0x61, 0x64, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74,
0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x4f, 0x53, 0x42, 0x61, 0x64, 0x67, 0x65,
0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x64, 0x0a, 0x08, 0x54, 0x69, 0x70, 0x73, 0x43, 0x6f, 0x6d,
0x6d, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0c, 0x52, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x66,
0x61, 0x75, 0x6c, 0x74, 0x54, 0x69, 0x70, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x54, 0x69, 0x70, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x6a,
0x73, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0a, 0x6a, 0x73, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x22, 0xc8, 0x02, 0x0a, 0x10,
0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x54, 0x69, 0x70, 0x73,
0x12, 0x33, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1d, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73,
0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05,
0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x3f, 0x0a, 0x06, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65,
0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70,
0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06,
0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x12, 0x47, 0x0a, 0x0a, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72,
0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65,
0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e,
0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49,
0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12,
0x24, 0x0a, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65,
0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4f, 0x0a, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4f, 0x77,
0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e,
0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b,
0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46, 0x75,
0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4f, 0x77, 0x6e,
0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x22, 0xa4, 0x01, 0x0a, 0x10, 0x47, 0x72, 0x6f, 0x75, 0x70,
0x49, 0x6e, 0x66, 0x6f, 0x53, 0x65, 0x74, 0x54, 0x69, 0x70, 0x73, 0x12, 0x3f, 0x0a, 0x06, 0x6f,
0x70, 0x55, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70,
0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73,
0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c,
0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08,
0x6d, 0x75, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08,
0x6d, 0x75, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x33, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75,
0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d,
0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f,
0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x22, 0xa9, 0x01,
0x0a, 0x18, 0x4a, 0x6f, 0x69, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x70, 0x70, 0x6c, 0x69,
0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x70, 0x73, 0x12, 0x33, 0x0a, 0x05, 0x67, 0x72,
0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x4f, 0x70, 0x65, 0x6e,
0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47,
0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12,
0x40, 0x0a, 0x09, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x22, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65,
0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x55, 0x73,
0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x6e,
0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x71, 0x4d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28,
0x09, 0x52, 0x06, 0x72, 0x65, 0x71, 0x4d, 0x73, 0x67, 0x22, 0xb0, 0x01, 0x0a, 0x0e, 0x4d, 0x65,
0x6d, 0x62, 0x65, 0x72, 0x51, 0x75, 0x69, 0x74, 0x54, 0x69, 0x70, 0x73, 0x12, 0x33, 0x0a, 0x05,
0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x4f, 0x70,
0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73,
0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75,
0x70, 0x12, 0x43, 0x0a, 0x08, 0x71, 0x75, 0x69, 0x74, 0x55, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76,
0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65,
0x6d, 0x62, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x71, 0x75,
0x69, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6f,
0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xd2, 0x01, 0x0a,
0x1c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x54, 0x69, 0x70, 0x73, 0x12, 0x33, 0x0a,
0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x4f,
0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77,
0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x67, 0x72, 0x6f,
0x75, 0x70, 0x12, 0x3f, 0x0a, 0x06, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65,
0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d,
0x62, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6f, 0x70, 0x55,
0x73, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x4d, 0x73, 0x67,
0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x4d, 0x73,
0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x41, 0x73, 0x18,
0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x41,
0x73, 0x22, 0xd2, 0x01, 0x0a, 0x1c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x70, 0x70, 0x6c, 0x69,
0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x54, 0x69,
0x70, 0x73, 0x12, 0x33, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1d, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f,
0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x3f, 0x0a, 0x06, 0x6f, 0x70, 0x55, 0x73, 0x65,
0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d,
0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f,
0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f,
0x52, 0x06, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x61, 0x6e, 0x64,
0x6c, 0x65, 0x4d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x68, 0x61, 0x6e,
0x64, 0x6c, 0x65, 0x4d, 0x73, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76,
0x65, 0x72, 0x41, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x65,
0x69, 0x76, 0x65, 0x72, 0x41, 0x73, 0x22, 0x86, 0x02, 0x0a, 0x19, 0x47, 0x72, 0x6f, 0x75, 0x70,
0x4f, 0x77, 0x6e, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64,
0x54, 0x69, 0x70, 0x73, 0x12, 0x33, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76,
0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e,
0x66, 0x6f, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x3f, 0x0a, 0x06, 0x6f, 0x70, 0x55,
0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e,
0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47,
0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e,
0x66, 0x6f, 0x52, 0x06, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x12, 0x4d, 0x0a, 0x0d, 0x6e, 0x65,
0x77, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62,
0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x6e, 0x65, 0x77, 0x47,
0x72, 0x6f, 0x75, 0x70, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x6f, 0x70, 0x65,
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03,
0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x22,
0xff, 0x01, 0x0a, 0x10, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4b, 0x69, 0x63, 0x6b, 0x65, 0x64,
0x54, 0x69, 0x70, 0x73, 0x12, 0x33, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76,
0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e,
0x66, 0x6f, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x3f, 0x0a, 0x06, 0x6f, 0x70, 0x55,
0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e,
0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47,
0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e,
0x66, 0x6f, 0x52, 0x06, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x12, 0x4f, 0x0a, 0x0e, 0x6b, 0x69,
0x63, 0x6b, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65,
0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d,
0x62, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x6b, 0x69, 0x63,
0x6b, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6f,
0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01,
0x28, 0x03, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d,
0x65, 0x22, 0x82, 0x02, 0x0a, 0x11, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x76, 0x69,
0x74, 0x65, 0x64, 0x54, 0x69, 0x70, 0x73, 0x12, 0x33, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53,
0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75,
0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x3f, 0x0a, 0x06,
0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f,
0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77,
0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46, 0x75, 0x6c,
0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x12, 0x51, 0x0a,
0x0f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74,
0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53,
0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75,
0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52,
0x0f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74,
0x12, 0x24, 0x0a, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d,
0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xb7, 0x01, 0x0a, 0x0f, 0x4d, 0x65, 0x6d, 0x62, 0x65,
0x72, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x54, 0x69, 0x70, 0x73, 0x12, 0x33, 0x0a, 0x05, 0x67, 0x72,
0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x4f, 0x70, 0x65, 0x6e,
0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47,
0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12,
0x49, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72,
0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d,
0x65, 0x6d, 0x62, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x65,
0x6e, 0x74, 0x72, 0x61, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x6f, 0x70,
0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
0x03, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65,
0x22, 0xb0, 0x01, 0x0a, 0x12, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73,
0x73, 0x65, 0x64, 0x54, 0x69, 0x70, 0x73, 0x12, 0x33, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53,
0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75,
0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x3f, 0x0a, 0x06,
0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f,
0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77,
0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46, 0x75, 0x6c,
0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x12, 0x24, 0x0a,
0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03,
0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54,
0x69, 0x6d, 0x65, 0x22, 0x9d, 0x02, 0x0a, 0x14, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d,
0x62, 0x65, 0x72, 0x4d, 0x75, 0x74, 0x65, 0x64, 0x54, 0x69, 0x70, 0x73, 0x12, 0x33, 0x0a, 0x05,
0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x4f, 0x70,
0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73,
0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75,
0x70, 0x12, 0x3f, 0x0a, 0x06, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62,
0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6f, 0x70, 0x55, 0x73,
0x65, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54,
0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x45, 0x0a, 0x09, 0x6d, 0x75, 0x74, 0x65,
0x64, 0x55, 0x73, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70,
0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73,
0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c,
0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x12,
0x22, 0x0a, 0x0c, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18,
0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x53, 0x65, 0x63, 0x6f,
0x6e, 0x64, 0x73, 0x22, 0xff, 0x01, 0x0a, 0x1a, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d,
0x62, 0x65, 0x72, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4d, 0x75, 0x74, 0x65, 0x64, 0x54, 0x69,
0x70, 0x73, 0x12, 0x33, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1d, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f,
0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x3f, 0x0a, 0x06, 0x6f, 0x70, 0x55, 0x73, 0x65,
0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d,
0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f,
0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f,
0x52, 0x06, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x6f, 0x70, 0x65, 0x72,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52,
0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x45,
0x0a, 0x09, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62,
0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x6d, 0x75, 0x74, 0x65,
0x64, 0x55, 0x73, 0x65, 0x72, 0x22, 0xac, 0x01, 0x0a, 0x0e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d,
0x75, 0x74, 0x65, 0x64, 0x54, 0x69, 0x70, 0x73, 0x12, 0x33, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75,
0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d,
0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f,
0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x3f, 0x0a,
0x06, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e,
0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b,
0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46, 0x75,
0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x12, 0x24,
0x0a, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18,
0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x54, 0x69, 0x6d, 0x65, 0x22, 0xb2, 0x01, 0x0a, 0x14, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x61,
0x6e, 0x63, 0x65, 0x6c, 0x4d, 0x75, 0x74, 0x65, 0x64, 0x54, 0x69, 0x70, 0x73, 0x12, 0x33, 0x0a,
0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x4f,
0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77,
0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x67, 0x72, 0x6f,
0x75, 0x70, 0x12, 0x3f, 0x0a, 0x06, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65,
0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d,
0x62, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6f, 0x70, 0x55,
0x73, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xff, 0x01, 0x0a, 0x16, 0x47, 0x72,
0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x65, 0x74,
0x54, 0x69, 0x70, 0x73, 0x12, 0x33, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76,
0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e,
0x66, 0x6f, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x3f, 0x0a, 0x06, 0x6f, 0x70, 0x55,
0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e,
0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47,
0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e,
0x66, 0x6f, 0x52, 0x06, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x6f, 0x70,
0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
0x03, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65,
0x12, 0x49, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x18,
0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65,
0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70,
0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b,
0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x22, 0x6b, 0x0a, 0x11, 0x46,
0x72, 0x69, 0x65, 0x6e, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
0x03, 0x52, 0x07, 0x61, 0x64, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64,
0x64, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61,
0x64, 0x64, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x64, 0x64, 0x57,
0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x64,
0x64, 0x57, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x22, 0x4a, 0x0a, 0x0c, 0x46, 0x72, 0x6f, 0x6d,
0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x72, 0x6f, 0x6d,
0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x72,
0x6f, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x6f, 0x55, 0x73,
0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x6f, 0x55, 0x73,
0x65, 0x72, 0x49, 0x44, 0x22, 0x5d, 0x0a, 0x15, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x41, 0x70,
0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x70, 0x73, 0x12, 0x44, 0x0a,
0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76,
0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x55,
0x73, 0x65, 0x72, 0x49, 0x44, 0x52, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x55, 0x73, 0x65,
0x72, 0x49, 0x44, 0x22, 0x83, 0x01, 0x0a, 0x1d, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x41, 0x70,
0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65,
0x64, 0x54, 0x69, 0x70, 0x73, 0x12, 0x44, 0x0a, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x55,
0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x4f, 0x70,
0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73,
0x2e, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x52, 0x0c, 0x66,
0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x68,
0x61, 0x6e, 0x64, 0x6c, 0x65, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x4d, 0x73, 0x67, 0x22, 0x83, 0x01, 0x0a, 0x1d, 0x46, 0x72,
0x69, 0x65, 0x6e, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x54, 0x69, 0x70, 0x73, 0x12, 0x44, 0x0a, 0x0c, 0x66,
0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x20, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x55, 0x73, 0x65,
0x72, 0x49, 0x44, 0x52, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49,
0x44, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x4d, 0x73, 0x67, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x4d, 0x73, 0x67, 0x22,
0xab, 0x01, 0x0a, 0x0f, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x41, 0x64, 0x64, 0x65, 0x64, 0x54,
0x69, 0x70, 0x73, 0x12, 0x36, 0x0a, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76,
0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49,
0x6e, 0x66, 0x6f, 0x52, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x6f,
0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x03, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d,
0x65, 0x12, 0x3a, 0x0a, 0x06, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x22, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x55, 0x73, 0x65,
0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x22, 0x59, 0x0a,
0x11, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x54, 0x69,
0x70, 0x73, 0x12, 0x44, 0x0a, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72,
0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49,
0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x46, 0x72,
0x6f, 0x6d, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x52, 0x0c, 0x66, 0x72, 0x6f, 0x6d,
0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x22, 0x56, 0x0a, 0x0e, 0x42, 0x6c, 0x61, 0x63,
0x6b, 0x41, 0x64, 0x64, 0x65, 0x64, 0x54, 0x69, 0x70, 0x73, 0x12, 0x44, 0x0a, 0x0c, 0x66, 0x72,
0x6f, 0x6d, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x20, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e,
0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72,
0x49, 0x44, 0x52, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44,
0x22, 0x58, 0x0a, 0x10, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64,
0x54, 0x69, 0x70, 0x73, 0x12, 0x44, 0x0a, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x55, 0x73,
0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x4f, 0x70, 0x65,
0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e,
0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x52, 0x0c, 0x66, 0x72,
0x6f, 0x6d, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x22, 0x5d, 0x0a, 0x15, 0x46, 0x72,
0x69, 0x65, 0x6e, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x54,
0x69, 0x70, 0x73, 0x12, 0x44, 0x0a, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x55, 0x73, 0x65,
0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x4f, 0x70, 0x65, 0x6e,
0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x46,
0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x52, 0x0c, 0x66, 0x72, 0x6f,
0x6d, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x22, 0x2d, 0x0a, 0x13, 0x55, 0x73, 0x65,
0x72, 0x49, 0x6e, 0x66, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x54, 0x69, 0x70, 0x73,
0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x22, 0x96, 0x01, 0x0a, 0x16, 0x43, 0x6f, 0x6e,
0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54,
0x69, 0x70, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x2e, 0x0a, 0x12, 0x63,
0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x4c, 0x69, 0x73,
0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x15, 0x75,
0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74,
0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x75, 0x70, 0x64, 0x61,
0x74, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x69, 0x6d,
0x65, 0x22, 0x6a, 0x0a, 0x1a, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x53, 0x65, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x54, 0x69, 0x70, 0x73, 0x12,
0x16, 0x0a, 0x06, 0x72, 0x65, 0x63, 0x76, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x06, 0x72, 0x65, 0x63, 0x76, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x49,
0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x49, 0x44, 0x12,
0x1c, 0x0a, 0x09, 0x69, 0x73, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01,
0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x22, 0x1a, 0x0a,
0x04, 0x73, 0x65, 0x71, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x65, 0x71, 0x73, 0x18, 0x01, 0x20,
0x03, 0x28, 0x03, 0x52, 0x04, 0x73, 0x65, 0x71, 0x73, 0x22, 0x5b, 0x0a, 0x11, 0x44, 0x65, 0x6c,
0x65, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x69, 0x70, 0x73, 0x12, 0x1a,
0x0a, 0x08, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x08, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73,
0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72,
0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x65, 0x71, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x03,
0x52, 0x04, 0x73, 0x65, 0x71, 0x73, 0x22, 0x53, 0x0a, 0x11, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x70,
0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
0x0a, 0x70, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x73,
0x68, 0x6f, 0x77, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
0x0a, 0x73, 0x68, 0x6f, 0x77, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0xeb, 0x06, 0x0a, 0x09,
0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x3d, 0x0a, 0x06, 0x69, 0x6e, 0x76,
0x69, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x4f, 0x70, 0x65, 0x6e,
0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x53,
0x69, 0x67, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x48, 0x00,
0x52, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x52, 0x0a, 0x0d, 0x69, 0x6e, 0x76, 0x69,
0x74, 0x65, 0x49, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x2a, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73,
0x64, 0x6b, 0x77, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x76, 0x69, 0x74,
0x65, 0x49, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x48, 0x00, 0x52, 0x0d, 0x69,
0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x3d, 0x0a, 0x06,
0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x4f,
0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77,
0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65,
0x71, 0x48, 0x00, 0x52, 0x06, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x3d, 0x0a, 0x06, 0x61,
0x63, 0x63, 0x65, 0x70, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x4f, 0x70,
0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73,
0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x52, 0x65, 0x71,
0x48, 0x00, 0x52, 0x06, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x68, 0x75,
0x6e, 0x67, 0x55, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x4f, 0x70, 0x65,
0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e,
0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x48, 0x75, 0x6e, 0x67, 0x55, 0x70, 0x52, 0x65, 0x71, 0x48,
0x00, 0x52, 0x06, 0x68, 0x75, 0x6e, 0x67, 0x55, 0x70, 0x12, 0x3d, 0x0a, 0x06, 0x72, 0x65, 0x6a,
0x65, 0x63, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x4f, 0x70, 0x65, 0x6e,
0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x53,
0x69, 0x67, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x48, 0x00,
0x52, 0x06, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x5b, 0x0a, 0x10, 0x67, 0x65, 0x74, 0x52,
0x6f, 0x6f, 0x6d, 0x42, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x18, 0x07, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65,
0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x47, 0x65,
0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x42, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x52, 0x65,
0x71, 0x48, 0x00, 0x52, 0x10, 0x67, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x42, 0x79, 0x47, 0x72,
0x6f, 0x75, 0x70, 0x49, 0x44, 0x12, 0x7f, 0x0a, 0x1d, 0x6f, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x50,
0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x4f,
0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77,
0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x4f, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x61,
0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
0x65, 0x64, 0x52, 0x65, 0x71, 0x48, 0x00, 0x52, 0x1d, 0x6f, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x50,
0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x12, 0x88, 0x01, 0x0a, 0x20, 0x6f, 0x6e, 0x52, 0x6f, 0x6f,
0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x63,
0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x18, 0x09, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x3a, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x4f, 0x6e, 0x52,
0x6f, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x44, 0x69,
0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x48, 0x00, 0x52,
0x20, 0x6f, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61,
0x6e, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65,
0x71, 0x12, 0x5b, 0x0a, 0x10, 0x67, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x79, 0x52,
0x6f, 0x6f, 0x6d, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x4f, 0x70,
0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73,
0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42,
0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x44, 0x52, 0x65, 0x71, 0x48, 0x00, 0x52, 0x10, 0x67, 0x65,
0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x44, 0x42, 0x09,
0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0xf0, 0x04, 0x0a, 0x0a, 0x53, 0x69,
0x67, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3f, 0x0a, 0x06, 0x69, 0x6e, 0x76, 0x69,
0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49,
0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x53, 0x69,
0x67, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x48,
0x00, 0x52, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x54, 0x0a, 0x0d, 0x69, 0x6e, 0x76,
0x69, 0x74, 0x65, 0x49, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x2c, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e,
0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x76, 0x69,
0x74, 0x65, 0x49, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x48, 0x00,
0x52, 0x0d, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12,
0x3f, 0x0a, 0x06, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x25, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73,
0x64, 0x6b, 0x77, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x43, 0x61, 0x6e, 0x63, 0x65,
0x6c, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x48, 0x00, 0x52, 0x06, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c,
0x12, 0x3f, 0x0a, 0x06, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x25, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e,
0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65,
0x70, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x48, 0x00, 0x52, 0x06, 0x61, 0x63, 0x63, 0x65, 0x70,
0x74, 0x12, 0x3f, 0x0a, 0x06, 0x68, 0x75, 0x6e, 0x67, 0x55, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x25, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x48, 0x75, 0x6e,
0x67, 0x55, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x48, 0x00, 0x52, 0x06, 0x68, 0x75, 0x6e, 0x67,
0x55, 0x70, 0x12, 0x3f, 0x0a, 0x06, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x06, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x25, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65,
0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x52, 0x65,
0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x6a,
0x65, 0x63, 0x74, 0x12, 0x5d, 0x0a, 0x10, 0x67, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x42, 0x79,
0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e,
0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b,
0x77, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d,
0x42, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x48, 0x00,
0x52, 0x10, 0x67, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x42, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70,
0x49, 0x44, 0x12, 0x5d, 0x0a, 0x10, 0x67, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x79,
0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x44, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x4f,
0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77,
0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
0x42, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x44, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x48, 0x00, 0x52,
0x10, 0x67, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x49,
0x44, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x84, 0x03, 0x0a,
0x0e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12,
0x24, 0x0a, 0x0d, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x72, 0x55,
0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x2c, 0x0a, 0x11, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x65,
0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09,
0x52, 0x11, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x4c,
0x69, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x61, 0x74,
0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44,
0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x18, 0x04,
0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x12, 0x16, 0x0a,
0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72,
0x6f, 0x6f, 0x6d, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74,
0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12,
0x1c, 0x0a, 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01,
0x28, 0x09, 0x52, 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a,
0x0a, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x18, 0x08, 0x20, 0x01, 0x28,
0x05, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x12, 0x20, 0x0a,
0x0b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01,
0x28, 0x05, 0x52, 0x0b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12,
0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18,
0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54,
0x69, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x62, 0x75, 0x73, 0x79, 0x4c, 0x69, 0x6e, 0x65, 0x55,
0x73, 0x65, 0x72, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52,
0x12, 0x62, 0x75, 0x73, 0x79, 0x4c, 0x69, 0x6e, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x4c,
0x69, 0x73, 0x74, 0x22, 0xe5, 0x01, 0x0a, 0x13, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70,
0x61, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x09, 0x67,
0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d,
0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64,
0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x67,
0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x51, 0x0a, 0x0f, 0x67, 0x72, 0x6f, 0x75,
0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62,
0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x67, 0x72, 0x6f, 0x75,
0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3e, 0x0a, 0x08, 0x75,
0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e,
0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b,
0x77, 0x73, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66,
0x6f, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x8b, 0x02, 0x0a, 0x0f,
0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x12,
0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x08, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x42, 0x0a, 0x0a, 0x69,
0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x22, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73,
0x64, 0x6b, 0x77, 0x73, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49,
0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
0x4d, 0x0a, 0x0f, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x75, 0x73, 0x68, 0x49, 0x6e,
0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49,
0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x4f, 0x66,
0x66, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x6f,
0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x49,
0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x18, 0x04, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76,
0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69,
0x70, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0b, 0x70, 0x61,
0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x22, 0x8b, 0x01, 0x0a, 0x11, 0x53, 0x69,
0x67, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12,
0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x44, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x44, 0x12, 0x18, 0x0a,
0x07, 0x6c, 0x69, 0x76, 0x65, 0x55, 0x52, 0x4c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
0x6c, 0x69, 0x76, 0x65, 0x55, 0x52, 0x4c, 0x12, 0x2e, 0x0a, 0x12, 0x62, 0x75, 0x73, 0x79, 0x4c,
0x69, 0x6e, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20,
0x03, 0x28, 0x09, 0x52, 0x12, 0x62, 0x75, 0x73, 0x79, 0x4c, 0x69, 0x6e, 0x65, 0x55, 0x73, 0x65,
0x72, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x92, 0x02, 0x0a, 0x16, 0x53, 0x69, 0x67, 0x6e,
0x61, 0x6c, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52,
0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x42,
0x0a, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x22, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65,
0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x0f, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x75, 0x73,
0x68, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x4f, 0x70,
0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73,
0x2e, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f,
0x52, 0x0f, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x66,
0x6f, 0x12, 0x49, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74,
0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53,
0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x50, 0x61, 0x72, 0x74,
0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x52,
0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x22, 0x92, 0x01, 0x0a,
0x18, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x6e, 0x47,
0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b,
0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12,
0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x69, 0x76, 0x65, 0x55,
0x52, 0x4c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x69, 0x76, 0x65, 0x55, 0x52,
0x4c, 0x12, 0x2e, 0x0a, 0x12, 0x62, 0x75, 0x73, 0x79, 0x4c, 0x69, 0x6e, 0x65, 0x55, 0x73, 0x65,
0x72, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x62,
0x75, 0x73, 0x79, 0x4c, 0x69, 0x6e, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x4c, 0x69, 0x73,
0x74, 0x22, 0x8b, 0x02, 0x0a, 0x0f, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x43, 0x61, 0x6e, 0x63,
0x65, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49,
0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49,
0x44, 0x12, 0x42, 0x0a, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65,
0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x0f, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65,
0x50, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23,
0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64,
0x6b, 0x77, 0x73, 0x2e, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x75, 0x73, 0x68, 0x49,
0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x75, 0x73, 0x68,
0x49, 0x6e, 0x66, 0x6f, 0x12, 0x49, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70,
0x61, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e,
0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x50,
0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61,
0x74, 0x61, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x22,
0x13, 0x0a, 0x11, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52,
0x65, 0x70, 0x6c, 0x79, 0x22, 0xb7, 0x02, 0x0a, 0x0f, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x41,
0x63, 0x63, 0x65, 0x70, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x55, 0x73,
0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x55, 0x73,
0x65, 0x72, 0x49, 0x44, 0x12, 0x42, 0x0a, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49,
0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x49, 0x6e,
0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x69, 0x6e,
0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x0f, 0x6f, 0x66, 0x66, 0x6c,
0x69, 0x6e, 0x65, 0x50, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x23, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x75,
0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x50,
0x75, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x49, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69,
0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f,
0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77,
0x73, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x74,
0x61, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61,
0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x74,
0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6f, 0x70,
0x55, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x22, 0x5b,
0x0a, 0x11, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x52, 0x65,
0x70, 0x6c, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f,
0x6d, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49,
0x44, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x69, 0x76, 0x65, 0x55, 0x52, 0x4c, 0x18, 0x03, 0x20, 0x01,
0x28, 0x09, 0x52, 0x07, 0x6c, 0x69, 0x76, 0x65, 0x55, 0x52, 0x4c, 0x22, 0xc0, 0x01, 0x0a, 0x0f,
0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x48, 0x75, 0x6e, 0x67, 0x55, 0x70, 0x52, 0x65, 0x71, 0x12,
0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x08, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x42, 0x0a, 0x0a, 0x69,
0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x22, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73,
0x64, 0x6b, 0x77, 0x73, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49,
0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
0x4d, 0x0a, 0x0f, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x75, 0x73, 0x68, 0x49, 0x6e,
0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49,
0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x4f, 0x66,
0x66, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x6f,
0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x13,
0x0a, 0x11, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x48, 0x75, 0x6e, 0x67, 0x55, 0x70, 0x52, 0x65,
0x70, 0x6c, 0x79, 0x22, 0xb7, 0x02, 0x0a, 0x0f, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x52, 0x65,
0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x55, 0x73, 0x65,
0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x55, 0x73, 0x65,
0x72, 0x49, 0x44, 0x12, 0x42, 0x0a, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d,
0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x49, 0x6e, 0x76,
0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x69, 0x6e, 0x76,
0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x0f, 0x6f, 0x66, 0x66, 0x6c, 0x69,
0x6e, 0x65, 0x50, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x23, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e,
0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x75, 0x73,
0x68, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x75,
0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x49, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63,
0x69, 0x70, 0x61, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70,
0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73,
0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61,
0x44, 0x61, 0x74, 0x61, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e,
0x74, 0x12, 0x2a, 0x0a, 0x10, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x74, 0x66,
0x6f, 0x72, 0x6d, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6f, 0x70, 0x55,
0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x22, 0x13, 0x0a,
0x11, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x70,
0x6c, 0x79, 0x22, 0x9c, 0x01, 0x0a, 0x19, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x47, 0x65, 0x74,
0x52, 0x6f, 0x6f, 0x6d, 0x42, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x52, 0x65, 0x71,
0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07,
0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67,
0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x12, 0x49, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63,
0x69, 0x70, 0x61, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70,
0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73,
0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61,
0x44, 0x61, 0x74, 0x61, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e,
0x74, 0x22, 0xc4, 0x01, 0x0a, 0x1b, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x47, 0x65, 0x74, 0x52,
0x6f, 0x6f, 0x6d, 0x42, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x52, 0x65, 0x70, 0x6c,
0x79, 0x12, 0x42, 0x0a, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65,
0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69,
0x70, 0x61, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65,
0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e,
0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x44,
0x61, 0x74, 0x61, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74,
0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x44, 0x22, 0xce, 0x01, 0x0a, 0x23, 0x53, 0x69, 0x67,
0x6e, 0x61, 0x6c, 0x4f, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69,
0x70, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71,
0x12, 0x42, 0x0a, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72,
0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70,
0x61, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e,
0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x50,
0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61,
0x74, 0x61, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12,
0x18, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x22, 0xd1, 0x01, 0x0a, 0x26, 0x53, 0x69,
0x67, 0x6e, 0x61, 0x6c, 0x4f, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63,
0x69, 0x70, 0x61, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65,
0x64, 0x52, 0x65, 0x71, 0x12, 0x42, 0x0a, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49,
0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x49, 0x6e,
0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x69, 0x6e,
0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74,
0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e,
0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b,
0x77, 0x73, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d, 0x65,
0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70,
0x61, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x18, 0x03,
0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x22, 0x9a, 0x01,
0x0a, 0x19, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
0x42, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x44, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x72,
0x6f, 0x6f, 0x6d, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f,
0x6d, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12,
0x49, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x18, 0x03,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72,
0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63,
0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0b, 0x70,
0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x22, 0x4d, 0x0a, 0x1b, 0x53, 0x69,
0x67, 0x6e, 0x61, 0x6c, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x79, 0x52, 0x6f,
0x6f, 0x6d, 0x49, 0x44, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b,
0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12,
0x18, 0x0a, 0x07, 0x6c, 0x69, 0x76, 0x65, 0x55, 0x52, 0x4c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x07, 0x6c, 0x69, 0x76, 0x65, 0x55, 0x52, 0x4c, 0x22, 0x57, 0x0a, 0x19, 0x53, 0x65, 0x74,
0x41, 0x70, 0x70, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x74, 0x61,
0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x22,
0x0a, 0x0c, 0x69, 0x73, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x02,
0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75,
0x6e, 0x64, 0x22, 0x1c, 0x0a, 0x1a, 0x53, 0x65, 0x74, 0x41, 0x70, 0x70, 0x42, 0x61, 0x63, 0x6b,
0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70,
0x22, 0xf8, 0x02, 0x0a, 0x0c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x65,
0x74, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x76, 0x65,
0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x73,
0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b,
0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x50, 0x0a, 0x0a, 0x65,
0x78, 0x74, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x30, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73,
0x64, 0x6b, 0x77, 0x73, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x65,
0x74, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x73, 0x12, 0x2a, 0x0a,
0x10, 0x4d, 0x61, 0x78, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d,
0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x4d, 0x61, 0x78, 0x4d, 0x73, 0x67, 0x55,
0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x65, 0x78, 0x74,
0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52,
0x0c, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a,
0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x5c, 0x0a,
0x0f, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
0x65, 0x79, 0x12, 0x33, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1d, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xe9, 0x02, 0x0a, 0x09,
0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x12, 0x6e, 0x0a, 0x15, 0x72, 0x65, 0x61,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69,
0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49,
0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x45, 0x78,
0x74, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x2e, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x52, 0x15, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x74, 0x65,
0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6c, 0x69,
0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x49, 0x44, 0x12, 0x2e, 0x0a, 0x12, 0x6d,
0x73, 0x67, 0x46, 0x69, 0x72, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x54, 0x69, 0x6d,
0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x6d, 0x73, 0x67, 0x46, 0x69, 0x72, 0x73,
0x74, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x61,
0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0c, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12,
0x0e, 0x0a, 0x02, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x65, 0x78, 0x1a,
0x66, 0x0a, 0x1a, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x74, 0x65, 0x6e,
0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64,
0x6b, 0x77, 0x73, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x66, 0x0a, 0x08, 0x4b, 0x65, 0x79, 0x56, 0x61,
0x6c, 0x75, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x79, 0x70, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x79, 0x70, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x14, 0x0a,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x55, 0x70, 0x64,
0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x6c,
0x61, 0x74, 0x65, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22,
0xae, 0x04, 0x0a, 0x23, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73,
0x61, 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66,
0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x76, 0x65,
0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12,
0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x08, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x73,
0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05,
0x52, 0x0b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x94, 0x01,
0x0a, 0x19, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x56, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d,
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x4e, 0x6f,
0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x75, 0x63, 0x63, 0x65,
0x73, 0x73, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x19, 0x73, 0x75, 0x63, 0x63, 0x65,
0x73, 0x73, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
0x69, 0x6f, 0x6e, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73,
0x67, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e,
0x74, 0x4d, 0x73, 0x67, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x52, 0x65, 0x61, 0x63,
0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x52, 0x65, 0x61, 0x63, 0x74,
0x12, 0x32, 0x0a, 0x14, 0x69, 0x73, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x78,
0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14,
0x69, 0x73, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2e, 0x0a, 0x12, 0x6d, 0x73, 0x67, 0x46, 0x69, 0x72, 0x73, 0x74,
0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03,
0x52, 0x12, 0x6d, 0x73, 0x67, 0x46, 0x69, 0x72, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79,
0x54, 0x69, 0x6d, 0x65, 0x1a, 0x6a, 0x0a, 0x1e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52,
0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d,
0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x4b, 0x65, 0x79,
0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
0x22, 0xdc, 0x03, 0x0a, 0x21, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73,
0x73, 0x61, 0x67, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69,
0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72,
0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e,
0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x1a,
0x0a, 0x08, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x08, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65,
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52,
0x0b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x92, 0x01, 0x0a,
0x19, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x54, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e,
0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66,
0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52,
0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x19, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52,
0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x49, 0x44,
0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73,
0x67, 0x49, 0x44, 0x12, 0x2e, 0x0a, 0x12, 0x6d, 0x73, 0x67, 0x46, 0x69, 0x72, 0x73, 0x74, 0x4d,
0x6f, 0x64, 0x69, 0x66, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52,
0x12, 0x6d, 0x73, 0x67, 0x46, 0x69, 0x72, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x54,
0x69, 0x6d, 0x65, 0x1a, 0x6a, 0x0a, 0x1e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65,
0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53,
0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x4b, 0x65, 0x79, 0x56,
0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42,
0x35, 0x5a, 0x33, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4f, 0x70,
0x65, 0x6e, 0x49, 0x4d, 0x53, 0x44, 0x4b, 0x2f, 0x4f, 0x70, 0x65, 0x6e, 0x2d, 0x49, 0x4d, 0x2d,
0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x2f, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_sdkws_sdkws_proto_rawDescOnce sync.Once
file_sdkws_sdkws_proto_rawDescData = file_sdkws_sdkws_proto_rawDesc
)
func file_sdkws_sdkws_proto_rawDescGZIP() []byte {
file_sdkws_sdkws_proto_rawDescOnce.Do(func() {
file_sdkws_sdkws_proto_rawDescData = protoimpl.X.CompressGZIP(file_sdkws_sdkws_proto_rawDescData)
})
return file_sdkws_sdkws_proto_rawDescData
}
var file_sdkws_sdkws_proto_msgTypes = make([]protoimpl.MessageInfo, 92)
var file_sdkws_sdkws_proto_goTypes = []interface{}{
(*GroupInfo)(nil), // 0: OpenIMServer.sdkws.GroupInfo
(*GroupInfoForSet)(nil), // 1: OpenIMServer.sdkws.GroupInfoForSet
(*GroupMemberFullInfo)(nil), // 2: OpenIMServer.sdkws.GroupMemberFullInfo
(*PublicUserInfo)(nil), // 3: OpenIMServer.sdkws.PublicUserInfo
(*UserInfo)(nil), // 4: OpenIMServer.sdkws.UserInfo
(*FriendInfo)(nil), // 5: OpenIMServer.sdkws.FriendInfo
(*BlackInfo)(nil), // 6: OpenIMServer.sdkws.BlackInfo
(*GroupRequest)(nil), // 7: OpenIMServer.sdkws.GroupRequest
(*FriendRequest)(nil), // 8: OpenIMServer.sdkws.FriendRequest
(*PullMessageBySeqsReq)(nil), // 9: OpenIMServer.sdkws.PullMessageBySeqsReq
(*SeqRange)(nil), // 10: OpenIMServer.sdkws.SeqRange
(*PullMsgs)(nil), // 11: OpenIMServer.sdkws.PullMsgs
(*PullMessageBySeqsResp)(nil), // 12: OpenIMServer.sdkws.PullMessageBySeqsResp
(*GetMaxSeqReq)(nil), // 13: OpenIMServer.sdkws.GetMaxSeqReq
(*GetMaxSeqResp)(nil), // 14: OpenIMServer.sdkws.GetMaxSeqResp
(*UserSendMsgResp)(nil), // 15: OpenIMServer.sdkws.UserSendMsgResp
(*MsgData)(nil), // 16: OpenIMServer.sdkws.MsgData
(*PushMessages)(nil), // 17: OpenIMServer.sdkws.PushMessages
(*OfflinePushInfo)(nil), // 18: OpenIMServer.sdkws.OfflinePushInfo
(*TipsComm)(nil), // 19: OpenIMServer.sdkws.TipsComm
(*GroupCreatedTips)(nil), // 20: OpenIMServer.sdkws.GroupCreatedTips
(*GroupInfoSetTips)(nil), // 21: OpenIMServer.sdkws.GroupInfoSetTips
(*JoinGroupApplicationTips)(nil), // 22: OpenIMServer.sdkws.JoinGroupApplicationTips
(*MemberQuitTips)(nil), // 23: OpenIMServer.sdkws.MemberQuitTips
(*GroupApplicationAcceptedTips)(nil), // 24: OpenIMServer.sdkws.GroupApplicationAcceptedTips
(*GroupApplicationRejectedTips)(nil), // 25: OpenIMServer.sdkws.GroupApplicationRejectedTips
(*GroupOwnerTransferredTips)(nil), // 26: OpenIMServer.sdkws.GroupOwnerTransferredTips
(*MemberKickedTips)(nil), // 27: OpenIMServer.sdkws.MemberKickedTips
(*MemberInvitedTips)(nil), // 28: OpenIMServer.sdkws.MemberInvitedTips
(*MemberEnterTips)(nil), // 29: OpenIMServer.sdkws.MemberEnterTips
(*GroupDismissedTips)(nil), // 30: OpenIMServer.sdkws.GroupDismissedTips
(*GroupMemberMutedTips)(nil), // 31: OpenIMServer.sdkws.GroupMemberMutedTips
(*GroupMemberCancelMutedTips)(nil), // 32: OpenIMServer.sdkws.GroupMemberCancelMutedTips
(*GroupMutedTips)(nil), // 33: OpenIMServer.sdkws.GroupMutedTips
(*GroupCancelMutedTips)(nil), // 34: OpenIMServer.sdkws.GroupCancelMutedTips
(*GroupMemberInfoSetTips)(nil), // 35: OpenIMServer.sdkws.GroupMemberInfoSetTips
(*FriendApplication)(nil), // 36: OpenIMServer.sdkws.FriendApplication
(*FromToUserID)(nil), // 37: OpenIMServer.sdkws.FromToUserID
(*FriendApplicationTips)(nil), // 38: OpenIMServer.sdkws.FriendApplicationTips
(*FriendApplicationApprovedTips)(nil), // 39: OpenIMServer.sdkws.FriendApplicationApprovedTips
(*FriendApplicationRejectedTips)(nil), // 40: OpenIMServer.sdkws.FriendApplicationRejectedTips
(*FriendAddedTips)(nil), // 41: OpenIMServer.sdkws.FriendAddedTips
(*FriendDeletedTips)(nil), // 42: OpenIMServer.sdkws.FriendDeletedTips
(*BlackAddedTips)(nil), // 43: OpenIMServer.sdkws.BlackAddedTips
(*BlackDeletedTips)(nil), // 44: OpenIMServer.sdkws.BlackDeletedTips
(*FriendInfoChangedTips)(nil), // 45: OpenIMServer.sdkws.FriendInfoChangedTips
(*UserInfoUpdatedTips)(nil), // 46: OpenIMServer.sdkws.UserInfoUpdatedTips
(*ConversationUpdateTips)(nil), // 47: OpenIMServer.sdkws.ConversationUpdateTips
(*ConversationSetPrivateTips)(nil), // 48: OpenIMServer.sdkws.ConversationSetPrivateTips
(*Seqs)(nil), // 49: OpenIMServer.sdkws.seqs
(*DeleteMessageTips)(nil), // 50: OpenIMServer.sdkws.DeleteMessageTips
(*RequestPagination)(nil), // 51: OpenIMServer.sdkws.RequestPagination
(*SignalReq)(nil), // 52: OpenIMServer.sdkws.SignalReq
(*SignalResp)(nil), // 53: OpenIMServer.sdkws.SignalResp
(*InvitationInfo)(nil), // 54: OpenIMServer.sdkws.InvitationInfo
(*ParticipantMetaData)(nil), // 55: OpenIMServer.sdkws.ParticipantMetaData
(*SignalInviteReq)(nil), // 56: OpenIMServer.sdkws.SignalInviteReq
(*SignalInviteReply)(nil), // 57: OpenIMServer.sdkws.SignalInviteReply
(*SignalInviteInGroupReq)(nil), // 58: OpenIMServer.sdkws.SignalInviteInGroupReq
(*SignalInviteInGroupReply)(nil), // 59: OpenIMServer.sdkws.SignalInviteInGroupReply
(*SignalCancelReq)(nil), // 60: OpenIMServer.sdkws.SignalCancelReq
(*SignalCancelReply)(nil), // 61: OpenIMServer.sdkws.SignalCancelReply
(*SignalAcceptReq)(nil), // 62: OpenIMServer.sdkws.SignalAcceptReq
(*SignalAcceptReply)(nil), // 63: OpenIMServer.sdkws.SignalAcceptReply
(*SignalHungUpReq)(nil), // 64: OpenIMServer.sdkws.SignalHungUpReq
(*SignalHungUpReply)(nil), // 65: OpenIMServer.sdkws.SignalHungUpReply
(*SignalRejectReq)(nil), // 66: OpenIMServer.sdkws.SignalRejectReq
(*SignalRejectReply)(nil), // 67: OpenIMServer.sdkws.SignalRejectReply
(*SignalGetRoomByGroupIDReq)(nil), // 68: OpenIMServer.sdkws.SignalGetRoomByGroupIDReq
(*SignalGetRoomByGroupIDReply)(nil), // 69: OpenIMServer.sdkws.SignalGetRoomByGroupIDReply
(*SignalOnRoomParticipantConnectedReq)(nil), // 70: OpenIMServer.sdkws.SignalOnRoomParticipantConnectedReq
(*SignalOnRoomParticipantDisconnectedReq)(nil), // 71: OpenIMServer.sdkws.SignalOnRoomParticipantDisconnectedReq
(*SignalGetTokenByRoomIDReq)(nil), // 72: OpenIMServer.sdkws.SignalGetTokenByRoomIDReq
(*SignalGetTokenByRoomIDReply)(nil), // 73: OpenIMServer.sdkws.SignalGetTokenByRoomIDReply
(*SetAppBackgroundStatusReq)(nil), // 74: OpenIMServer.sdkws.SetAppBackgroundStatusReq
(*SetAppBackgroundStatusResp)(nil), // 75: OpenIMServer.sdkws.SetAppBackgroundStatusResp
(*ExtendMsgSet)(nil), // 76: OpenIMServer.sdkws.ExtendMsgSet
(*ExtendMsg)(nil), // 77: OpenIMServer.sdkws.ExtendMsg
(*KeyValue)(nil), // 78: OpenIMServer.sdkws.KeyValue
(*ReactionMessageModifierNotification)(nil), // 79: OpenIMServer.sdkws.ReactionMessageModifierNotification
(*ReactionMessageDeleteNotification)(nil), // 80: OpenIMServer.sdkws.ReactionMessageDeleteNotification
nil, // 81: OpenIMServer.sdkws.PullMessageBySeqsResp.MsgsEntry
nil, // 82: OpenIMServer.sdkws.PullMessageBySeqsResp.NotificationMsgsEntry
nil, // 83: OpenIMServer.sdkws.GetMaxSeqResp.MaxSeqsEntry
nil, // 84: OpenIMServer.sdkws.GetMaxSeqResp.MinSeqsEntry
nil, // 85: OpenIMServer.sdkws.MsgData.OptionsEntry
nil, // 86: OpenIMServer.sdkws.PushMessages.MsgsEntry
nil, // 87: OpenIMServer.sdkws.PushMessages.NotificationMsgsEntry
nil, // 88: OpenIMServer.sdkws.ExtendMsgSet.ExtendMsgsEntry
nil, // 89: OpenIMServer.sdkws.ExtendMsg.ReactionExtensionListEntry
nil, // 90: OpenIMServer.sdkws.ReactionMessageModifierNotification.SuccessReactionExtensionsEntry
nil, // 91: OpenIMServer.sdkws.ReactionMessageDeleteNotification.SuccessReactionExtensionsEntry
(*wrapperspb.Int32Value)(nil), // 92: OpenIMServer.protobuf.Int32Value
}
var file_sdkws_sdkws_proto_depIdxs = []int32{
92, // 0: OpenIMServer.sdkws.GroupInfoForSet.needVerification:type_name -> OpenIMServer.protobuf.Int32Value
92, // 1: OpenIMServer.sdkws.GroupInfoForSet.lookMemberInfo:type_name -> OpenIMServer.protobuf.Int32Value
92, // 2: OpenIMServer.sdkws.GroupInfoForSet.applyMemberFriend:type_name -> OpenIMServer.protobuf.Int32Value
4, // 3: OpenIMServer.sdkws.FriendInfo.friendUser:type_name -> OpenIMServer.sdkws.UserInfo
3, // 4: OpenIMServer.sdkws.BlackInfo.blackUserInfo:type_name -> OpenIMServer.sdkws.PublicUserInfo
3, // 5: OpenIMServer.sdkws.GroupRequest.userInfo:type_name -> OpenIMServer.sdkws.PublicUserInfo
0, // 6: OpenIMServer.sdkws.GroupRequest.groupInfo:type_name -> OpenIMServer.sdkws.GroupInfo
10, // 7: OpenIMServer.sdkws.PullMessageBySeqsReq.seqRanges:type_name -> OpenIMServer.sdkws.SeqRange
16, // 8: OpenIMServer.sdkws.PullMsgs.Msgs:type_name -> OpenIMServer.sdkws.MsgData
81, // 9: OpenIMServer.sdkws.PullMessageBySeqsResp.msgs:type_name -> OpenIMServer.sdkws.PullMessageBySeqsResp.MsgsEntry
82, // 10: OpenIMServer.sdkws.PullMessageBySeqsResp.notificationMsgs:type_name -> OpenIMServer.sdkws.PullMessageBySeqsResp.NotificationMsgsEntry
83, // 11: OpenIMServer.sdkws.GetMaxSeqResp.maxSeqs:type_name -> OpenIMServer.sdkws.GetMaxSeqResp.MaxSeqsEntry
84, // 12: OpenIMServer.sdkws.GetMaxSeqResp.minSeqs:type_name -> OpenIMServer.sdkws.GetMaxSeqResp.MinSeqsEntry
85, // 13: OpenIMServer.sdkws.MsgData.options:type_name -> OpenIMServer.sdkws.MsgData.OptionsEntry
18, // 14: OpenIMServer.sdkws.MsgData.offlinePushInfo:type_name -> OpenIMServer.sdkws.OfflinePushInfo
86, // 15: OpenIMServer.sdkws.PushMessages.msgs:type_name -> OpenIMServer.sdkws.PushMessages.MsgsEntry
87, // 16: OpenIMServer.sdkws.PushMessages.notificationMsgs:type_name -> OpenIMServer.sdkws.PushMessages.NotificationMsgsEntry
0, // 17: OpenIMServer.sdkws.GroupCreatedTips.group:type_name -> OpenIMServer.sdkws.GroupInfo
2, // 18: OpenIMServer.sdkws.GroupCreatedTips.opUser:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
2, // 19: OpenIMServer.sdkws.GroupCreatedTips.memberList:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
2, // 20: OpenIMServer.sdkws.GroupCreatedTips.groupOwnerUser:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
2, // 21: OpenIMServer.sdkws.GroupInfoSetTips.opUser:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
0, // 22: OpenIMServer.sdkws.GroupInfoSetTips.group:type_name -> OpenIMServer.sdkws.GroupInfo
0, // 23: OpenIMServer.sdkws.JoinGroupApplicationTips.group:type_name -> OpenIMServer.sdkws.GroupInfo
3, // 24: OpenIMServer.sdkws.JoinGroupApplicationTips.applicant:type_name -> OpenIMServer.sdkws.PublicUserInfo
0, // 25: OpenIMServer.sdkws.MemberQuitTips.group:type_name -> OpenIMServer.sdkws.GroupInfo
2, // 26: OpenIMServer.sdkws.MemberQuitTips.quitUser:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
0, // 27: OpenIMServer.sdkws.GroupApplicationAcceptedTips.group:type_name -> OpenIMServer.sdkws.GroupInfo
2, // 28: OpenIMServer.sdkws.GroupApplicationAcceptedTips.opUser:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
0, // 29: OpenIMServer.sdkws.GroupApplicationRejectedTips.group:type_name -> OpenIMServer.sdkws.GroupInfo
2, // 30: OpenIMServer.sdkws.GroupApplicationRejectedTips.opUser:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
0, // 31: OpenIMServer.sdkws.GroupOwnerTransferredTips.group:type_name -> OpenIMServer.sdkws.GroupInfo
2, // 32: OpenIMServer.sdkws.GroupOwnerTransferredTips.opUser:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
2, // 33: OpenIMServer.sdkws.GroupOwnerTransferredTips.newGroupOwner:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
0, // 34: OpenIMServer.sdkws.MemberKickedTips.group:type_name -> OpenIMServer.sdkws.GroupInfo
2, // 35: OpenIMServer.sdkws.MemberKickedTips.opUser:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
2, // 36: OpenIMServer.sdkws.MemberKickedTips.kickedUserList:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
0, // 37: OpenIMServer.sdkws.MemberInvitedTips.group:type_name -> OpenIMServer.sdkws.GroupInfo
2, // 38: OpenIMServer.sdkws.MemberInvitedTips.opUser:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
2, // 39: OpenIMServer.sdkws.MemberInvitedTips.invitedUserList:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
0, // 40: OpenIMServer.sdkws.MemberEnterTips.group:type_name -> OpenIMServer.sdkws.GroupInfo
2, // 41: OpenIMServer.sdkws.MemberEnterTips.entrantUser:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
0, // 42: OpenIMServer.sdkws.GroupDismissedTips.group:type_name -> OpenIMServer.sdkws.GroupInfo
2, // 43: OpenIMServer.sdkws.GroupDismissedTips.opUser:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
0, // 44: OpenIMServer.sdkws.GroupMemberMutedTips.group:type_name -> OpenIMServer.sdkws.GroupInfo
2, // 45: OpenIMServer.sdkws.GroupMemberMutedTips.opUser:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
2, // 46: OpenIMServer.sdkws.GroupMemberMutedTips.mutedUser:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
0, // 47: OpenIMServer.sdkws.GroupMemberCancelMutedTips.group:type_name -> OpenIMServer.sdkws.GroupInfo
2, // 48: OpenIMServer.sdkws.GroupMemberCancelMutedTips.opUser:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
2, // 49: OpenIMServer.sdkws.GroupMemberCancelMutedTips.mutedUser:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
0, // 50: OpenIMServer.sdkws.GroupMutedTips.group:type_name -> OpenIMServer.sdkws.GroupInfo
2, // 51: OpenIMServer.sdkws.GroupMutedTips.opUser:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
0, // 52: OpenIMServer.sdkws.GroupCancelMutedTips.group:type_name -> OpenIMServer.sdkws.GroupInfo
2, // 53: OpenIMServer.sdkws.GroupCancelMutedTips.opUser:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
0, // 54: OpenIMServer.sdkws.GroupMemberInfoSetTips.group:type_name -> OpenIMServer.sdkws.GroupInfo
2, // 55: OpenIMServer.sdkws.GroupMemberInfoSetTips.opUser:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
2, // 56: OpenIMServer.sdkws.GroupMemberInfoSetTips.changedUser:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
37, // 57: OpenIMServer.sdkws.FriendApplicationTips.fromToUserID:type_name -> OpenIMServer.sdkws.FromToUserID
37, // 58: OpenIMServer.sdkws.FriendApplicationApprovedTips.fromToUserID:type_name -> OpenIMServer.sdkws.FromToUserID
37, // 59: OpenIMServer.sdkws.FriendApplicationRejectedTips.fromToUserID:type_name -> OpenIMServer.sdkws.FromToUserID
5, // 60: OpenIMServer.sdkws.FriendAddedTips.friend:type_name -> OpenIMServer.sdkws.FriendInfo
3, // 61: OpenIMServer.sdkws.FriendAddedTips.opUser:type_name -> OpenIMServer.sdkws.PublicUserInfo
37, // 62: OpenIMServer.sdkws.FriendDeletedTips.fromToUserID:type_name -> OpenIMServer.sdkws.FromToUserID
37, // 63: OpenIMServer.sdkws.BlackAddedTips.fromToUserID:type_name -> OpenIMServer.sdkws.FromToUserID
37, // 64: OpenIMServer.sdkws.BlackDeletedTips.fromToUserID:type_name -> OpenIMServer.sdkws.FromToUserID
37, // 65: OpenIMServer.sdkws.FriendInfoChangedTips.fromToUserID:type_name -> OpenIMServer.sdkws.FromToUserID
56, // 66: OpenIMServer.sdkws.SignalReq.invite:type_name -> OpenIMServer.sdkws.SignalInviteReq
58, // 67: OpenIMServer.sdkws.SignalReq.inviteInGroup:type_name -> OpenIMServer.sdkws.SignalInviteInGroupReq
60, // 68: OpenIMServer.sdkws.SignalReq.cancel:type_name -> OpenIMServer.sdkws.SignalCancelReq
62, // 69: OpenIMServer.sdkws.SignalReq.accept:type_name -> OpenIMServer.sdkws.SignalAcceptReq
64, // 70: OpenIMServer.sdkws.SignalReq.hungUp:type_name -> OpenIMServer.sdkws.SignalHungUpReq
66, // 71: OpenIMServer.sdkws.SignalReq.reject:type_name -> OpenIMServer.sdkws.SignalRejectReq
68, // 72: OpenIMServer.sdkws.SignalReq.getRoomByGroupID:type_name -> OpenIMServer.sdkws.SignalGetRoomByGroupIDReq
70, // 73: OpenIMServer.sdkws.SignalReq.onRoomParticipantConnectedReq:type_name -> OpenIMServer.sdkws.SignalOnRoomParticipantConnectedReq
71, // 74: OpenIMServer.sdkws.SignalReq.onRoomParticipantDisconnectedReq:type_name -> OpenIMServer.sdkws.SignalOnRoomParticipantDisconnectedReq
72, // 75: OpenIMServer.sdkws.SignalReq.getTokenByRoomID:type_name -> OpenIMServer.sdkws.SignalGetTokenByRoomIDReq
57, // 76: OpenIMServer.sdkws.SignalResp.invite:type_name -> OpenIMServer.sdkws.SignalInviteReply
59, // 77: OpenIMServer.sdkws.SignalResp.inviteInGroup:type_name -> OpenIMServer.sdkws.SignalInviteInGroupReply
61, // 78: OpenIMServer.sdkws.SignalResp.cancel:type_name -> OpenIMServer.sdkws.SignalCancelReply
63, // 79: OpenIMServer.sdkws.SignalResp.accept:type_name -> OpenIMServer.sdkws.SignalAcceptReply
65, // 80: OpenIMServer.sdkws.SignalResp.hungUp:type_name -> OpenIMServer.sdkws.SignalHungUpReply
67, // 81: OpenIMServer.sdkws.SignalResp.reject:type_name -> OpenIMServer.sdkws.SignalRejectReply
69, // 82: OpenIMServer.sdkws.SignalResp.getRoomByGroupID:type_name -> OpenIMServer.sdkws.SignalGetRoomByGroupIDReply
73, // 83: OpenIMServer.sdkws.SignalResp.getTokenByRoomID:type_name -> OpenIMServer.sdkws.SignalGetTokenByRoomIDReply
0, // 84: OpenIMServer.sdkws.ParticipantMetaData.groupInfo:type_name -> OpenIMServer.sdkws.GroupInfo
2, // 85: OpenIMServer.sdkws.ParticipantMetaData.groupMemberInfo:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
3, // 86: OpenIMServer.sdkws.ParticipantMetaData.userInfo:type_name -> OpenIMServer.sdkws.PublicUserInfo
54, // 87: OpenIMServer.sdkws.SignalInviteReq.invitation:type_name -> OpenIMServer.sdkws.InvitationInfo
18, // 88: OpenIMServer.sdkws.SignalInviteReq.offlinePushInfo:type_name -> OpenIMServer.sdkws.OfflinePushInfo
55, // 89: OpenIMServer.sdkws.SignalInviteReq.participant:type_name -> OpenIMServer.sdkws.ParticipantMetaData
54, // 90: OpenIMServer.sdkws.SignalInviteInGroupReq.invitation:type_name -> OpenIMServer.sdkws.InvitationInfo
18, // 91: OpenIMServer.sdkws.SignalInviteInGroupReq.offlinePushInfo:type_name -> OpenIMServer.sdkws.OfflinePushInfo
55, // 92: OpenIMServer.sdkws.SignalInviteInGroupReq.participant:type_name -> OpenIMServer.sdkws.ParticipantMetaData
54, // 93: OpenIMServer.sdkws.SignalCancelReq.invitation:type_name -> OpenIMServer.sdkws.InvitationInfo
18, // 94: OpenIMServer.sdkws.SignalCancelReq.offlinePushInfo:type_name -> OpenIMServer.sdkws.OfflinePushInfo
55, // 95: OpenIMServer.sdkws.SignalCancelReq.participant:type_name -> OpenIMServer.sdkws.ParticipantMetaData
54, // 96: OpenIMServer.sdkws.SignalAcceptReq.invitation:type_name -> OpenIMServer.sdkws.InvitationInfo
18, // 97: OpenIMServer.sdkws.SignalAcceptReq.offlinePushInfo:type_name -> OpenIMServer.sdkws.OfflinePushInfo
55, // 98: OpenIMServer.sdkws.SignalAcceptReq.participant:type_name -> OpenIMServer.sdkws.ParticipantMetaData
54, // 99: OpenIMServer.sdkws.SignalHungUpReq.invitation:type_name -> OpenIMServer.sdkws.InvitationInfo
18, // 100: OpenIMServer.sdkws.SignalHungUpReq.offlinePushInfo:type_name -> OpenIMServer.sdkws.OfflinePushInfo
54, // 101: OpenIMServer.sdkws.SignalRejectReq.invitation:type_name -> OpenIMServer.sdkws.InvitationInfo
18, // 102: OpenIMServer.sdkws.SignalRejectReq.offlinePushInfo:type_name -> OpenIMServer.sdkws.OfflinePushInfo
55, // 103: OpenIMServer.sdkws.SignalRejectReq.participant:type_name -> OpenIMServer.sdkws.ParticipantMetaData
55, // 104: OpenIMServer.sdkws.SignalGetRoomByGroupIDReq.participant:type_name -> OpenIMServer.sdkws.ParticipantMetaData
54, // 105: OpenIMServer.sdkws.SignalGetRoomByGroupIDReply.invitation:type_name -> OpenIMServer.sdkws.InvitationInfo
55, // 106: OpenIMServer.sdkws.SignalGetRoomByGroupIDReply.participant:type_name -> OpenIMServer.sdkws.ParticipantMetaData
54, // 107: OpenIMServer.sdkws.SignalOnRoomParticipantConnectedReq.invitation:type_name -> OpenIMServer.sdkws.InvitationInfo
55, // 108: OpenIMServer.sdkws.SignalOnRoomParticipantConnectedReq.participant:type_name -> OpenIMServer.sdkws.ParticipantMetaData
54, // 109: OpenIMServer.sdkws.SignalOnRoomParticipantDisconnectedReq.invitation:type_name -> OpenIMServer.sdkws.InvitationInfo
55, // 110: OpenIMServer.sdkws.SignalOnRoomParticipantDisconnectedReq.participant:type_name -> OpenIMServer.sdkws.ParticipantMetaData
55, // 111: OpenIMServer.sdkws.SignalGetTokenByRoomIDReq.participant:type_name -> OpenIMServer.sdkws.ParticipantMetaData
88, // 112: OpenIMServer.sdkws.ExtendMsgSet.extendMsgs:type_name -> OpenIMServer.sdkws.ExtendMsgSet.ExtendMsgsEntry
89, // 113: OpenIMServer.sdkws.ExtendMsg.reactionExtensionList:type_name -> OpenIMServer.sdkws.ExtendMsg.ReactionExtensionListEntry
90, // 114: OpenIMServer.sdkws.ReactionMessageModifierNotification.successReactionExtensions:type_name -> OpenIMServer.sdkws.ReactionMessageModifierNotification.SuccessReactionExtensionsEntry
91, // 115: OpenIMServer.sdkws.ReactionMessageDeleteNotification.successReactionExtensions:type_name -> OpenIMServer.sdkws.ReactionMessageDeleteNotification.SuccessReactionExtensionsEntry
11, // 116: OpenIMServer.sdkws.PullMessageBySeqsResp.MsgsEntry.value:type_name -> OpenIMServer.sdkws.PullMsgs
11, // 117: OpenIMServer.sdkws.PullMessageBySeqsResp.NotificationMsgsEntry.value:type_name -> OpenIMServer.sdkws.PullMsgs
11, // 118: OpenIMServer.sdkws.PushMessages.MsgsEntry.value:type_name -> OpenIMServer.sdkws.PullMsgs
11, // 119: OpenIMServer.sdkws.PushMessages.NotificationMsgsEntry.value:type_name -> OpenIMServer.sdkws.PullMsgs
77, // 120: OpenIMServer.sdkws.ExtendMsgSet.ExtendMsgsEntry.value:type_name -> OpenIMServer.sdkws.ExtendMsg
78, // 121: OpenIMServer.sdkws.ExtendMsg.ReactionExtensionListEntry.value:type_name -> OpenIMServer.sdkws.KeyValue
78, // 122: OpenIMServer.sdkws.ReactionMessageModifierNotification.SuccessReactionExtensionsEntry.value:type_name -> OpenIMServer.sdkws.KeyValue
78, // 123: OpenIMServer.sdkws.ReactionMessageDeleteNotification.SuccessReactionExtensionsEntry.value:type_name -> OpenIMServer.sdkws.KeyValue
124, // [124:124] is the sub-list for method output_type
124, // [124:124] is the sub-list for method input_type
124, // [124:124] is the sub-list for extension type_name
124, // [124:124] is the sub-list for extension extendee
0, // [0:124] is the sub-list for field type_name
}
func init() { file_sdkws_sdkws_proto_init() }
func file_sdkws_sdkws_proto_init() {
if File_sdkws_sdkws_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_sdkws_sdkws_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GroupInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GroupInfoForSet); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GroupMemberFullInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PublicUserInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UserInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FriendInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BlackInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GroupRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FriendRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PullMessageBySeqsReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SeqRange); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PullMsgs); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PullMessageBySeqsResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetMaxSeqReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetMaxSeqResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UserSendMsgResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MsgData); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PushMessages); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*OfflinePushInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TipsComm); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GroupCreatedTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GroupInfoSetTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*JoinGroupApplicationTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MemberQuitTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GroupApplicationAcceptedTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GroupApplicationRejectedTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GroupOwnerTransferredTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MemberKickedTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MemberInvitedTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MemberEnterTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GroupDismissedTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GroupMemberMutedTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GroupMemberCancelMutedTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GroupMutedTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GroupCancelMutedTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GroupMemberInfoSetTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FriendApplication); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FromToUserID); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FriendApplicationTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FriendApplicationApprovedTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FriendApplicationRejectedTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FriendAddedTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FriendDeletedTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BlackAddedTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BlackDeletedTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FriendInfoChangedTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UserInfoUpdatedTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ConversationUpdateTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ConversationSetPrivateTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Seqs); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteMessageTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RequestPagination); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SignalReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SignalResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*InvitationInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ParticipantMetaData); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SignalInviteReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SignalInviteReply); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SignalInviteInGroupReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SignalInviteInGroupReply); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SignalCancelReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SignalCancelReply); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SignalAcceptReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SignalAcceptReply); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SignalHungUpReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SignalHungUpReply); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SignalRejectReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SignalRejectReply); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SignalGetRoomByGroupIDReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SignalGetRoomByGroupIDReply); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SignalOnRoomParticipantConnectedReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SignalOnRoomParticipantDisconnectedReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SignalGetTokenByRoomIDReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SignalGetTokenByRoomIDReply); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SetAppBackgroundStatusReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SetAppBackgroundStatusResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExtendMsgSet); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExtendMsg); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*KeyValue); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ReactionMessageModifierNotification); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ReactionMessageDeleteNotification); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
file_sdkws_sdkws_proto_msgTypes[52].OneofWrappers = []interface{}{
(*SignalReq_Invite)(nil),
(*SignalReq_InviteInGroup)(nil),
(*SignalReq_Cancel)(nil),
(*SignalReq_Accept)(nil),
(*SignalReq_HungUp)(nil),
(*SignalReq_Reject)(nil),
(*SignalReq_GetRoomByGroupID)(nil),
(*SignalReq_OnRoomParticipantConnectedReq)(nil),
(*SignalReq_OnRoomParticipantDisconnectedReq)(nil),
(*SignalReq_GetTokenByRoomID)(nil),
}
file_sdkws_sdkws_proto_msgTypes[53].OneofWrappers = []interface{}{
(*SignalResp_Invite)(nil),
(*SignalResp_InviteInGroup)(nil),
(*SignalResp_Cancel)(nil),
(*SignalResp_Accept)(nil),
(*SignalResp_HungUp)(nil),
(*SignalResp_Reject)(nil),
(*SignalResp_GetRoomByGroupID)(nil),
(*SignalResp_GetTokenByRoomID)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_sdkws_sdkws_proto_rawDesc,
NumEnums: 0,
NumMessages: 92,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_sdkws_sdkws_proto_goTypes,
DependencyIndexes: file_sdkws_sdkws_proto_depIdxs,
MessageInfos: file_sdkws_sdkws_proto_msgTypes,
}.Build()
File_sdkws_sdkws_proto = out.File
file_sdkws_sdkws_proto_rawDesc = nil
file_sdkws_sdkws_proto_goTypes = nil
file_sdkws_sdkws_proto_depIdxs = nil
}