// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.31.0 // protoc v3.19.4 // source: service_ns_record.proto package pb import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // 创建记录 type CreateNSRecordRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NsDomainId int64 `protobuf:"varint,1,opt,name=nsDomainId,proto3" json:"nsDomainId,omitempty"` Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` Type string `protobuf:"bytes,4,opt,name=type,proto3" json:"type,omitempty"` Value string `protobuf:"bytes,5,opt,name=value,proto3" json:"value,omitempty"` Ttl int32 `protobuf:"varint,6,opt,name=ttl,proto3" json:"ttl,omitempty"` // Deprecated: Marked as deprecated in service_ns_record.proto. NsRouteIds []int64 `protobuf:"varint,7,rep,packed,name=nsRouteIds,proto3" json:"nsRouteIds,omitempty"` NsRouteCodes []string `protobuf:"bytes,8,rep,name=nsRouteCodes,proto3" json:"nsRouteCodes,omitempty"` // 路线代号 Weight int32 `protobuf:"varint,15,opt,name=weight,proto3" json:"weight,omitempty"` // 权重 MxPriority int32 `protobuf:"varint,9,opt,name=mxPriority,proto3" json:"mxPriority,omitempty"` // mx优先级 SrvPriority int32 `protobuf:"varint,10,opt,name=srvPriority,proto3" json:"srvPriority,omitempty"` // SRV优先级 SrvWeight int32 `protobuf:"varint,11,opt,name=srvWeight,proto3" json:"srvWeight,omitempty"` // SRV权重 SrvPort int32 `protobuf:"varint,12,opt,name=srvPort,proto3" json:"srvPort,omitempty"` // SRV端口 CaaFlag int32 `protobuf:"varint,13,opt,name=caaFlag,proto3" json:"caaFlag,omitempty"` // CAA Flag CaaTag string `protobuf:"bytes,14,opt,name=caaTag,proto3" json:"caaTag,omitempty"` // CAA TAG } func (x *CreateNSRecordRequest) Reset() { *x = CreateNSRecordRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_ns_record_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateNSRecordRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateNSRecordRequest) ProtoMessage() {} func (x *CreateNSRecordRequest) ProtoReflect() protoreflect.Message { mi := &file_service_ns_record_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 CreateNSRecordRequest.ProtoReflect.Descriptor instead. func (*CreateNSRecordRequest) Descriptor() ([]byte, []int) { return file_service_ns_record_proto_rawDescGZIP(), []int{0} } func (x *CreateNSRecordRequest) GetNsDomainId() int64 { if x != nil { return x.NsDomainId } return 0 } func (x *CreateNSRecordRequest) GetDescription() string { if x != nil { return x.Description } return "" } func (x *CreateNSRecordRequest) GetName() string { if x != nil { return x.Name } return "" } func (x *CreateNSRecordRequest) GetType() string { if x != nil { return x.Type } return "" } func (x *CreateNSRecordRequest) GetValue() string { if x != nil { return x.Value } return "" } func (x *CreateNSRecordRequest) GetTtl() int32 { if x != nil { return x.Ttl } return 0 } // Deprecated: Marked as deprecated in service_ns_record.proto. func (x *CreateNSRecordRequest) GetNsRouteIds() []int64 { if x != nil { return x.NsRouteIds } return nil } func (x *CreateNSRecordRequest) GetNsRouteCodes() []string { if x != nil { return x.NsRouteCodes } return nil } func (x *CreateNSRecordRequest) GetWeight() int32 { if x != nil { return x.Weight } return 0 } func (x *CreateNSRecordRequest) GetMxPriority() int32 { if x != nil { return x.MxPriority } return 0 } func (x *CreateNSRecordRequest) GetSrvPriority() int32 { if x != nil { return x.SrvPriority } return 0 } func (x *CreateNSRecordRequest) GetSrvWeight() int32 { if x != nil { return x.SrvWeight } return 0 } func (x *CreateNSRecordRequest) GetSrvPort() int32 { if x != nil { return x.SrvPort } return 0 } func (x *CreateNSRecordRequest) GetCaaFlag() int32 { if x != nil { return x.CaaFlag } return 0 } func (x *CreateNSRecordRequest) GetCaaTag() string { if x != nil { return x.CaaTag } return "" } type CreateNSRecordResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NsRecordId int64 `protobuf:"varint,1,opt,name=nsRecordId,proto3" json:"nsRecordId,omitempty"` } func (x *CreateNSRecordResponse) Reset() { *x = CreateNSRecordResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_ns_record_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateNSRecordResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateNSRecordResponse) ProtoMessage() {} func (x *CreateNSRecordResponse) ProtoReflect() protoreflect.Message { mi := &file_service_ns_record_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 CreateNSRecordResponse.ProtoReflect.Descriptor instead. func (*CreateNSRecordResponse) Descriptor() ([]byte, []int) { return file_service_ns_record_proto_rawDescGZIP(), []int{1} } func (x *CreateNSRecordResponse) GetNsRecordId() int64 { if x != nil { return x.NsRecordId } return 0 } // 批量创建记录 type CreateNSRecordsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NsDomainId int64 `protobuf:"varint,1,opt,name=nsDomainId,proto3" json:"nsDomainId,omitempty"` Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` Names []string `protobuf:"bytes,3,rep,name=names,proto3" json:"names,omitempty"` Type string `protobuf:"bytes,4,opt,name=type,proto3" json:"type,omitempty"` Value string `protobuf:"bytes,5,opt,name=value,proto3" json:"value,omitempty"` Ttl int32 `protobuf:"varint,6,opt,name=ttl,proto3" json:"ttl,omitempty"` NsRouteCodes []string `protobuf:"bytes,7,rep,name=nsRouteCodes,proto3" json:"nsRouteCodes,omitempty"` // 路线代号 Weight int32 `protobuf:"varint,14,opt,name=weight,proto3" json:"weight,omitempty"` // 权重 MxPriority int32 `protobuf:"varint,8,opt,name=mxPriority,proto3" json:"mxPriority,omitempty"` // mx优先级 SrvPriority int32 `protobuf:"varint,9,opt,name=srvPriority,proto3" json:"srvPriority,omitempty"` // SRV优先级 SrvWeight int32 `protobuf:"varint,10,opt,name=srvWeight,proto3" json:"srvWeight,omitempty"` // SRV权重 SrvPort int32 `protobuf:"varint,11,opt,name=srvPort,proto3" json:"srvPort,omitempty"` // SRV端口 CaaFlag int32 `protobuf:"varint,12,opt,name=caaFlag,proto3" json:"caaFlag,omitempty"` // CAA Flag CaaTag string `protobuf:"bytes,13,opt,name=caaTag,proto3" json:"caaTag,omitempty"` // CAA TAG } func (x *CreateNSRecordsRequest) Reset() { *x = CreateNSRecordsRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_ns_record_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateNSRecordsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateNSRecordsRequest) ProtoMessage() {} func (x *CreateNSRecordsRequest) ProtoReflect() protoreflect.Message { mi := &file_service_ns_record_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 CreateNSRecordsRequest.ProtoReflect.Descriptor instead. func (*CreateNSRecordsRequest) Descriptor() ([]byte, []int) { return file_service_ns_record_proto_rawDescGZIP(), []int{2} } func (x *CreateNSRecordsRequest) GetNsDomainId() int64 { if x != nil { return x.NsDomainId } return 0 } func (x *CreateNSRecordsRequest) GetDescription() string { if x != nil { return x.Description } return "" } func (x *CreateNSRecordsRequest) GetNames() []string { if x != nil { return x.Names } return nil } func (x *CreateNSRecordsRequest) GetType() string { if x != nil { return x.Type } return "" } func (x *CreateNSRecordsRequest) GetValue() string { if x != nil { return x.Value } return "" } func (x *CreateNSRecordsRequest) GetTtl() int32 { if x != nil { return x.Ttl } return 0 } func (x *CreateNSRecordsRequest) GetNsRouteCodes() []string { if x != nil { return x.NsRouteCodes } return nil } func (x *CreateNSRecordsRequest) GetWeight() int32 { if x != nil { return x.Weight } return 0 } func (x *CreateNSRecordsRequest) GetMxPriority() int32 { if x != nil { return x.MxPriority } return 0 } func (x *CreateNSRecordsRequest) GetSrvPriority() int32 { if x != nil { return x.SrvPriority } return 0 } func (x *CreateNSRecordsRequest) GetSrvWeight() int32 { if x != nil { return x.SrvWeight } return 0 } func (x *CreateNSRecordsRequest) GetSrvPort() int32 { if x != nil { return x.SrvPort } return 0 } func (x *CreateNSRecordsRequest) GetCaaFlag() int32 { if x != nil { return x.CaaFlag } return 0 } func (x *CreateNSRecordsRequest) GetCaaTag() string { if x != nil { return x.CaaTag } return "" } type CreateNSRecordsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NsRecordIds []int64 `protobuf:"varint,1,rep,packed,name=nsRecordIds,proto3" json:"nsRecordIds,omitempty"` } func (x *CreateNSRecordsResponse) Reset() { *x = CreateNSRecordsResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_ns_record_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateNSRecordsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateNSRecordsResponse) ProtoMessage() {} func (x *CreateNSRecordsResponse) ProtoReflect() protoreflect.Message { mi := &file_service_ns_record_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 CreateNSRecordsResponse.ProtoReflect.Descriptor instead. func (*CreateNSRecordsResponse) Descriptor() ([]byte, []int) { return file_service_ns_record_proto_rawDescGZIP(), []int{3} } func (x *CreateNSRecordsResponse) GetNsRecordIds() []int64 { if x != nil { return x.NsRecordIds } return nil } // 为一组域名批量创建记录 type CreateNSRecordsWithDomainNamesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NsDomainNames []string `protobuf:"bytes,1,rep,name=nsDomainNames,proto3" json:"nsDomainNames,omitempty"` RecordsJSON []byte `protobuf:"bytes,2,opt,name=recordsJSON,proto3" json:"recordsJSON,omitempty"` RemoveOld bool `protobuf:"varint,3,opt,name=removeOld,proto3" json:"removeOld,omitempty"` RemoveAll bool `protobuf:"varint,4,opt,name=removeAll,proto3" json:"removeAll,omitempty"` UserId int64 `protobuf:"varint,5,opt,name=userId,proto3" json:"userId,omitempty"` } func (x *CreateNSRecordsWithDomainNamesRequest) Reset() { *x = CreateNSRecordsWithDomainNamesRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_ns_record_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateNSRecordsWithDomainNamesRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateNSRecordsWithDomainNamesRequest) ProtoMessage() {} func (x *CreateNSRecordsWithDomainNamesRequest) ProtoReflect() protoreflect.Message { mi := &file_service_ns_record_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 CreateNSRecordsWithDomainNamesRequest.ProtoReflect.Descriptor instead. func (*CreateNSRecordsWithDomainNamesRequest) Descriptor() ([]byte, []int) { return file_service_ns_record_proto_rawDescGZIP(), []int{4} } func (x *CreateNSRecordsWithDomainNamesRequest) GetNsDomainNames() []string { if x != nil { return x.NsDomainNames } return nil } func (x *CreateNSRecordsWithDomainNamesRequest) GetRecordsJSON() []byte { if x != nil { return x.RecordsJSON } return nil } func (x *CreateNSRecordsWithDomainNamesRequest) GetRemoveOld() bool { if x != nil { return x.RemoveOld } return false } func (x *CreateNSRecordsWithDomainNamesRequest) GetRemoveAll() bool { if x != nil { return x.RemoveAll } return false } func (x *CreateNSRecordsWithDomainNamesRequest) GetUserId() int64 { if x != nil { return x.UserId } return 0 } // 批量修改一组域名的一组记录 type UpdateNSRecordsWithDomainNamesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NsDomainNames []string `protobuf:"bytes,1,rep,name=nsDomainNames,proto3" json:"nsDomainNames,omitempty"` SearchName string `protobuf:"bytes,2,opt,name=searchName,proto3" json:"searchName,omitempty"` SearchValue string `protobuf:"bytes,3,opt,name=searchValue,proto3" json:"searchValue,omitempty"` SearchType string `protobuf:"bytes,4,opt,name=searchType,proto3" json:"searchType,omitempty"` SearchNSRouteCodes []string `protobuf:"bytes,5,rep,name=searchNSRouteCodes,proto3" json:"searchNSRouteCodes,omitempty"` NewName string `protobuf:"bytes,6,opt,name=newName,proto3" json:"newName,omitempty"` NewValue string `protobuf:"bytes,7,opt,name=newValue,proto3" json:"newValue,omitempty"` NewType string `protobuf:"bytes,8,opt,name=newType,proto3" json:"newType,omitempty"` NewNSRouteCodes []string `protobuf:"bytes,9,rep,name=newNSRouteCodes,proto3" json:"newNSRouteCodes,omitempty"` UserId int64 `protobuf:"varint,10,opt,name=userId,proto3" json:"userId,omitempty"` } func (x *UpdateNSRecordsWithDomainNamesRequest) Reset() { *x = UpdateNSRecordsWithDomainNamesRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_ns_record_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateNSRecordsWithDomainNamesRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateNSRecordsWithDomainNamesRequest) ProtoMessage() {} func (x *UpdateNSRecordsWithDomainNamesRequest) ProtoReflect() protoreflect.Message { mi := &file_service_ns_record_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 UpdateNSRecordsWithDomainNamesRequest.ProtoReflect.Descriptor instead. func (*UpdateNSRecordsWithDomainNamesRequest) Descriptor() ([]byte, []int) { return file_service_ns_record_proto_rawDescGZIP(), []int{5} } func (x *UpdateNSRecordsWithDomainNamesRequest) GetNsDomainNames() []string { if x != nil { return x.NsDomainNames } return nil } func (x *UpdateNSRecordsWithDomainNamesRequest) GetSearchName() string { if x != nil { return x.SearchName } return "" } func (x *UpdateNSRecordsWithDomainNamesRequest) GetSearchValue() string { if x != nil { return x.SearchValue } return "" } func (x *UpdateNSRecordsWithDomainNamesRequest) GetSearchType() string { if x != nil { return x.SearchType } return "" } func (x *UpdateNSRecordsWithDomainNamesRequest) GetSearchNSRouteCodes() []string { if x != nil { return x.SearchNSRouteCodes } return nil } func (x *UpdateNSRecordsWithDomainNamesRequest) GetNewName() string { if x != nil { return x.NewName } return "" } func (x *UpdateNSRecordsWithDomainNamesRequest) GetNewValue() string { if x != nil { return x.NewValue } return "" } func (x *UpdateNSRecordsWithDomainNamesRequest) GetNewType() string { if x != nil { return x.NewType } return "" } func (x *UpdateNSRecordsWithDomainNamesRequest) GetNewNSRouteCodes() []string { if x != nil { return x.NewNSRouteCodes } return nil } func (x *UpdateNSRecordsWithDomainNamesRequest) GetUserId() int64 { if x != nil { return x.UserId } return 0 } // 批量删除一组域名的一组记录 type DeleteNSRecordsWithDomainNamesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NsDomainNames []string `protobuf:"bytes,1,rep,name=nsDomainNames,proto3" json:"nsDomainNames,omitempty"` SearchName string `protobuf:"bytes,2,opt,name=searchName,proto3" json:"searchName,omitempty"` SearchValue string `protobuf:"bytes,3,opt,name=searchValue,proto3" json:"searchValue,omitempty"` SearchType string `protobuf:"bytes,4,opt,name=searchType,proto3" json:"searchType,omitempty"` SearchNSRouteCodes []string `protobuf:"bytes,5,rep,name=searchNSRouteCodes,proto3" json:"searchNSRouteCodes,omitempty"` UserId int64 `protobuf:"varint,6,opt,name=userId,proto3" json:"userId,omitempty"` } func (x *DeleteNSRecordsWithDomainNamesRequest) Reset() { *x = DeleteNSRecordsWithDomainNamesRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_ns_record_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DeleteNSRecordsWithDomainNamesRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DeleteNSRecordsWithDomainNamesRequest) ProtoMessage() {} func (x *DeleteNSRecordsWithDomainNamesRequest) ProtoReflect() protoreflect.Message { mi := &file_service_ns_record_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 DeleteNSRecordsWithDomainNamesRequest.ProtoReflect.Descriptor instead. func (*DeleteNSRecordsWithDomainNamesRequest) Descriptor() ([]byte, []int) { return file_service_ns_record_proto_rawDescGZIP(), []int{6} } func (x *DeleteNSRecordsWithDomainNamesRequest) GetNsDomainNames() []string { if x != nil { return x.NsDomainNames } return nil } func (x *DeleteNSRecordsWithDomainNamesRequest) GetSearchName() string { if x != nil { return x.SearchName } return "" } func (x *DeleteNSRecordsWithDomainNamesRequest) GetSearchValue() string { if x != nil { return x.SearchValue } return "" } func (x *DeleteNSRecordsWithDomainNamesRequest) GetSearchType() string { if x != nil { return x.SearchType } return "" } func (x *DeleteNSRecordsWithDomainNamesRequest) GetSearchNSRouteCodes() []string { if x != nil { return x.SearchNSRouteCodes } return nil } func (x *DeleteNSRecordsWithDomainNamesRequest) GetUserId() int64 { if x != nil { return x.UserId } return 0 } // 批量一组域名的一组记录启用状态 type UpdateNSRecordsIsOnWithDomainNamesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NsDomainNames []string `protobuf:"bytes,1,rep,name=nsDomainNames,proto3" json:"nsDomainNames,omitempty"` SearchName string `protobuf:"bytes,2,opt,name=searchName,proto3" json:"searchName,omitempty"` SearchValue string `protobuf:"bytes,3,opt,name=searchValue,proto3" json:"searchValue,omitempty"` SearchType string `protobuf:"bytes,4,opt,name=searchType,proto3" json:"searchType,omitempty"` SearchNSRouteCodes []string `protobuf:"bytes,5,rep,name=searchNSRouteCodes,proto3" json:"searchNSRouteCodes,omitempty"` IsOn bool `protobuf:"varint,6,opt,name=isOn,proto3" json:"isOn,omitempty"` UserId int64 `protobuf:"varint,7,opt,name=userId,proto3" json:"userId,omitempty"` } func (x *UpdateNSRecordsIsOnWithDomainNamesRequest) Reset() { *x = UpdateNSRecordsIsOnWithDomainNamesRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_ns_record_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateNSRecordsIsOnWithDomainNamesRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateNSRecordsIsOnWithDomainNamesRequest) ProtoMessage() {} func (x *UpdateNSRecordsIsOnWithDomainNamesRequest) ProtoReflect() protoreflect.Message { mi := &file_service_ns_record_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 UpdateNSRecordsIsOnWithDomainNamesRequest.ProtoReflect.Descriptor instead. func (*UpdateNSRecordsIsOnWithDomainNamesRequest) Descriptor() ([]byte, []int) { return file_service_ns_record_proto_rawDescGZIP(), []int{7} } func (x *UpdateNSRecordsIsOnWithDomainNamesRequest) GetNsDomainNames() []string { if x != nil { return x.NsDomainNames } return nil } func (x *UpdateNSRecordsIsOnWithDomainNamesRequest) GetSearchName() string { if x != nil { return x.SearchName } return "" } func (x *UpdateNSRecordsIsOnWithDomainNamesRequest) GetSearchValue() string { if x != nil { return x.SearchValue } return "" } func (x *UpdateNSRecordsIsOnWithDomainNamesRequest) GetSearchType() string { if x != nil { return x.SearchType } return "" } func (x *UpdateNSRecordsIsOnWithDomainNamesRequest) GetSearchNSRouteCodes() []string { if x != nil { return x.SearchNSRouteCodes } return nil } func (x *UpdateNSRecordsIsOnWithDomainNamesRequest) GetIsOn() bool { if x != nil { return x.IsOn } return false } func (x *UpdateNSRecordsIsOnWithDomainNamesRequest) GetUserId() int64 { if x != nil { return x.UserId } return 0 } // 导入域名解析 type ImportNSRecordsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NsRecords []*ImportNSRecordsRequest_Record `protobuf:"bytes,1,rep,name=nsRecords,proto3" json:"nsRecords,omitempty"` UserId int64 `protobuf:"varint,2,opt,name=userId,proto3" json:"userId,omitempty"` } func (x *ImportNSRecordsRequest) Reset() { *x = ImportNSRecordsRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_ns_record_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ImportNSRecordsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ImportNSRecordsRequest) ProtoMessage() {} func (x *ImportNSRecordsRequest) ProtoReflect() protoreflect.Message { mi := &file_service_ns_record_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 ImportNSRecordsRequest.ProtoReflect.Descriptor instead. func (*ImportNSRecordsRequest) Descriptor() ([]byte, []int) { return file_service_ns_record_proto_rawDescGZIP(), []int{8} } func (x *ImportNSRecordsRequest) GetNsRecords() []*ImportNSRecordsRequest_Record { if x != nil { return x.NsRecords } return nil } func (x *ImportNSRecordsRequest) GetUserId() int64 { if x != nil { return x.UserId } return 0 } // 修改记录 type UpdateNSRecordRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NsRecordId int64 `protobuf:"varint,1,opt,name=nsRecordId,proto3" json:"nsRecordId,omitempty"` Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` Type string `protobuf:"bytes,4,opt,name=type,proto3" json:"type,omitempty"` Value string `protobuf:"bytes,5,opt,name=value,proto3" json:"value,omitempty"` Ttl int32 `protobuf:"varint,6,opt,name=ttl,proto3" json:"ttl,omitempty"` // Deprecated: Marked as deprecated in service_ns_record.proto. NsRouteIds []int64 `protobuf:"varint,7,rep,packed,name=nsRouteIds,proto3" json:"nsRouteIds,omitempty"` IsOn bool `protobuf:"varint,8,opt,name=isOn,proto3" json:"isOn,omitempty"` NsRouteCodes []string `protobuf:"bytes,9,rep,name=nsRouteCodes,proto3" json:"nsRouteCodes,omitempty"` // 路线代号 Weight int32 `protobuf:"varint,16,opt,name=weight,proto3" json:"weight,omitempty"` // 权重 MxPriority int32 `protobuf:"varint,10,opt,name=mxPriority,proto3" json:"mxPriority,omitempty"` // mx优先级 SrvPriority int32 `protobuf:"varint,11,opt,name=srvPriority,proto3" json:"srvPriority,omitempty"` // SRV优先级 SrvWeight int32 `protobuf:"varint,12,opt,name=srvWeight,proto3" json:"srvWeight,omitempty"` // SRV权重 SrvPort int32 `protobuf:"varint,13,opt,name=srvPort,proto3" json:"srvPort,omitempty"` // SRV端口 CaaFlag int32 `protobuf:"varint,14,opt,name=caaFlag,proto3" json:"caaFlag,omitempty"` // CAA Flag CaaTag string `protobuf:"bytes,15,opt,name=caaTag,proto3" json:"caaTag,omitempty"` // CAA TAG } func (x *UpdateNSRecordRequest) Reset() { *x = UpdateNSRecordRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_ns_record_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateNSRecordRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateNSRecordRequest) ProtoMessage() {} func (x *UpdateNSRecordRequest) ProtoReflect() protoreflect.Message { mi := &file_service_ns_record_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 UpdateNSRecordRequest.ProtoReflect.Descriptor instead. func (*UpdateNSRecordRequest) Descriptor() ([]byte, []int) { return file_service_ns_record_proto_rawDescGZIP(), []int{9} } func (x *UpdateNSRecordRequest) GetNsRecordId() int64 { if x != nil { return x.NsRecordId } return 0 } func (x *UpdateNSRecordRequest) GetDescription() string { if x != nil { return x.Description } return "" } func (x *UpdateNSRecordRequest) GetName() string { if x != nil { return x.Name } return "" } func (x *UpdateNSRecordRequest) GetType() string { if x != nil { return x.Type } return "" } func (x *UpdateNSRecordRequest) GetValue() string { if x != nil { return x.Value } return "" } func (x *UpdateNSRecordRequest) GetTtl() int32 { if x != nil { return x.Ttl } return 0 } // Deprecated: Marked as deprecated in service_ns_record.proto. func (x *UpdateNSRecordRequest) GetNsRouteIds() []int64 { if x != nil { return x.NsRouteIds } return nil } func (x *UpdateNSRecordRequest) GetIsOn() bool { if x != nil { return x.IsOn } return false } func (x *UpdateNSRecordRequest) GetNsRouteCodes() []string { if x != nil { return x.NsRouteCodes } return nil } func (x *UpdateNSRecordRequest) GetWeight() int32 { if x != nil { return x.Weight } return 0 } func (x *UpdateNSRecordRequest) GetMxPriority() int32 { if x != nil { return x.MxPriority } return 0 } func (x *UpdateNSRecordRequest) GetSrvPriority() int32 { if x != nil { return x.SrvPriority } return 0 } func (x *UpdateNSRecordRequest) GetSrvWeight() int32 { if x != nil { return x.SrvWeight } return 0 } func (x *UpdateNSRecordRequest) GetSrvPort() int32 { if x != nil { return x.SrvPort } return 0 } func (x *UpdateNSRecordRequest) GetCaaFlag() int32 { if x != nil { return x.CaaFlag } return 0 } func (x *UpdateNSRecordRequest) GetCaaTag() string { if x != nil { return x.CaaTag } return "" } // 删除记录 type DeleteNSRecordRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NsRecordId int64 `protobuf:"varint,1,opt,name=nsRecordId,proto3" json:"nsRecordId,omitempty"` } func (x *DeleteNSRecordRequest) Reset() { *x = DeleteNSRecordRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_ns_record_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DeleteNSRecordRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DeleteNSRecordRequest) ProtoMessage() {} func (x *DeleteNSRecordRequest) ProtoReflect() protoreflect.Message { mi := &file_service_ns_record_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 DeleteNSRecordRequest.ProtoReflect.Descriptor instead. func (*DeleteNSRecordRequest) Descriptor() ([]byte, []int) { return file_service_ns_record_proto_rawDescGZIP(), []int{10} } func (x *DeleteNSRecordRequest) GetNsRecordId() int64 { if x != nil { return x.NsRecordId } return 0 } // 计算记录数量 type CountAllNSRecordsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NsDomainId int64 `protobuf:"varint,1,opt,name=nsDomainId,proto3" json:"nsDomainId,omitempty"` Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` // Deprecated: Marked as deprecated in service_ns_record.proto. NsRouteId int64 `protobuf:"varint,3,opt,name=nsRouteId,proto3" json:"nsRouteId,omitempty"` // 使用nsRouteCode代替 NsRouteCode string `protobuf:"bytes,5,opt,name=nsRouteCode,proto3" json:"nsRouteCode,omitempty"` Keyword string `protobuf:"bytes,4,opt,name=keyword,proto3" json:"keyword,omitempty"` } func (x *CountAllNSRecordsRequest) Reset() { *x = CountAllNSRecordsRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_ns_record_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CountAllNSRecordsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CountAllNSRecordsRequest) ProtoMessage() {} func (x *CountAllNSRecordsRequest) ProtoReflect() protoreflect.Message { mi := &file_service_ns_record_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 CountAllNSRecordsRequest.ProtoReflect.Descriptor instead. func (*CountAllNSRecordsRequest) Descriptor() ([]byte, []int) { return file_service_ns_record_proto_rawDescGZIP(), []int{11} } func (x *CountAllNSRecordsRequest) GetNsDomainId() int64 { if x != nil { return x.NsDomainId } return 0 } func (x *CountAllNSRecordsRequest) GetType() string { if x != nil { return x.Type } return "" } // Deprecated: Marked as deprecated in service_ns_record.proto. func (x *CountAllNSRecordsRequest) GetNsRouteId() int64 { if x != nil { return x.NsRouteId } return 0 } func (x *CountAllNSRecordsRequest) GetNsRouteCode() string { if x != nil { return x.NsRouteCode } return "" } func (x *CountAllNSRecordsRequest) GetKeyword() string { if x != nil { return x.Keyword } return "" } // 查询相同记录名的记录数 type CountAllNSRecordsWithNameRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NsDomainId int64 `protobuf:"varint,1,opt,name=nsDomainId,proto3" json:"nsDomainId,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"` } func (x *CountAllNSRecordsWithNameRequest) Reset() { *x = CountAllNSRecordsWithNameRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_ns_record_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CountAllNSRecordsWithNameRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CountAllNSRecordsWithNameRequest) ProtoMessage() {} func (x *CountAllNSRecordsWithNameRequest) ProtoReflect() protoreflect.Message { mi := &file_service_ns_record_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 CountAllNSRecordsWithNameRequest.ProtoReflect.Descriptor instead. func (*CountAllNSRecordsWithNameRequest) Descriptor() ([]byte, []int) { return file_service_ns_record_proto_rawDescGZIP(), []int{12} } func (x *CountAllNSRecordsWithNameRequest) GetNsDomainId() int64 { if x != nil { return x.NsDomainId } return 0 } func (x *CountAllNSRecordsWithNameRequest) GetName() string { if x != nil { return x.Name } return "" } func (x *CountAllNSRecordsWithNameRequest) GetType() string { if x != nil { return x.Type } return "" } // 读取单页记录 type ListNSRecordsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NsDomainId int64 `protobuf:"varint,1,opt,name=nsDomainId,proto3" json:"nsDomainId,omitempty"` Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` // Deprecated: Marked as deprecated in service_ns_record.proto. NsRouteId int64 `protobuf:"varint,3,opt,name=nsRouteId,proto3" json:"nsRouteId,omitempty"` // 使用nsRouteCode代替 NsRouteCode string `protobuf:"bytes,7,opt,name=nsRouteCode,proto3" json:"nsRouteCode,omitempty"` Keyword string `protobuf:"bytes,4,opt,name=keyword,proto3" json:"keyword,omitempty"` NameAsc bool `protobuf:"varint,8,opt,name=nameAsc,proto3" json:"nameAsc,omitempty"` NameDesc bool `protobuf:"varint,9,opt,name=nameDesc,proto3" json:"nameDesc,omitempty"` TypeAsc bool `protobuf:"varint,10,opt,name=typeAsc,proto3" json:"typeAsc,omitempty"` TypeDesc bool `protobuf:"varint,11,opt,name=typeDesc,proto3" json:"typeDesc,omitempty"` TtlAsc bool `protobuf:"varint,12,opt,name=ttlAsc,proto3" json:"ttlAsc,omitempty"` TtlDesc bool `protobuf:"varint,13,opt,name=ttlDesc,proto3" json:"ttlDesc,omitempty"` UpAsc bool `protobuf:"varint,14,opt,name=upAsc,proto3" json:"upAsc,omitempty"` UpDesc bool `protobuf:"varint,15,opt,name=upDesc,proto3" json:"upDesc,omitempty"` Offset int64 `protobuf:"varint,5,opt,name=offset,proto3" json:"offset,omitempty"` Size int64 `protobuf:"varint,6,opt,name=size,proto3" json:"size,omitempty"` } func (x *ListNSRecordsRequest) Reset() { *x = ListNSRecordsRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_ns_record_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListNSRecordsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListNSRecordsRequest) ProtoMessage() {} func (x *ListNSRecordsRequest) ProtoReflect() protoreflect.Message { mi := &file_service_ns_record_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 ListNSRecordsRequest.ProtoReflect.Descriptor instead. func (*ListNSRecordsRequest) Descriptor() ([]byte, []int) { return file_service_ns_record_proto_rawDescGZIP(), []int{13} } func (x *ListNSRecordsRequest) GetNsDomainId() int64 { if x != nil { return x.NsDomainId } return 0 } func (x *ListNSRecordsRequest) GetType() string { if x != nil { return x.Type } return "" } // Deprecated: Marked as deprecated in service_ns_record.proto. func (x *ListNSRecordsRequest) GetNsRouteId() int64 { if x != nil { return x.NsRouteId } return 0 } func (x *ListNSRecordsRequest) GetNsRouteCode() string { if x != nil { return x.NsRouteCode } return "" } func (x *ListNSRecordsRequest) GetKeyword() string { if x != nil { return x.Keyword } return "" } func (x *ListNSRecordsRequest) GetNameAsc() bool { if x != nil { return x.NameAsc } return false } func (x *ListNSRecordsRequest) GetNameDesc() bool { if x != nil { return x.NameDesc } return false } func (x *ListNSRecordsRequest) GetTypeAsc() bool { if x != nil { return x.TypeAsc } return false } func (x *ListNSRecordsRequest) GetTypeDesc() bool { if x != nil { return x.TypeDesc } return false } func (x *ListNSRecordsRequest) GetTtlAsc() bool { if x != nil { return x.TtlAsc } return false } func (x *ListNSRecordsRequest) GetTtlDesc() bool { if x != nil { return x.TtlDesc } return false } func (x *ListNSRecordsRequest) GetUpAsc() bool { if x != nil { return x.UpAsc } return false } func (x *ListNSRecordsRequest) GetUpDesc() bool { if x != nil { return x.UpDesc } return false } func (x *ListNSRecordsRequest) GetOffset() int64 { if x != nil { return x.Offset } return 0 } func (x *ListNSRecordsRequest) GetSize() int64 { if x != nil { return x.Size } return 0 } type ListNSRecordsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NsRecords []*NSRecord `protobuf:"bytes,1,rep,name=nsRecords,proto3" json:"nsRecords,omitempty"` } func (x *ListNSRecordsResponse) Reset() { *x = ListNSRecordsResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_ns_record_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListNSRecordsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListNSRecordsResponse) ProtoMessage() {} func (x *ListNSRecordsResponse) ProtoReflect() protoreflect.Message { mi := &file_service_ns_record_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 ListNSRecordsResponse.ProtoReflect.Descriptor instead. func (*ListNSRecordsResponse) Descriptor() ([]byte, []int) { return file_service_ns_record_proto_rawDescGZIP(), []int{14} } func (x *ListNSRecordsResponse) GetNsRecords() []*NSRecord { if x != nil { return x.NsRecords } return nil } // 查询单个记录信息 type FindNSRecordRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NsRecordId int64 `protobuf:"varint,1,opt,name=nsRecordId,proto3" json:"nsRecordId,omitempty"` } func (x *FindNSRecordRequest) Reset() { *x = FindNSRecordRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_ns_record_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindNSRecordRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindNSRecordRequest) ProtoMessage() {} func (x *FindNSRecordRequest) ProtoReflect() protoreflect.Message { mi := &file_service_ns_record_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 FindNSRecordRequest.ProtoReflect.Descriptor instead. func (*FindNSRecordRequest) Descriptor() ([]byte, []int) { return file_service_ns_record_proto_rawDescGZIP(), []int{15} } func (x *FindNSRecordRequest) GetNsRecordId() int64 { if x != nil { return x.NsRecordId } return 0 } type FindNSRecordResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NsRecord *NSRecord `protobuf:"bytes,1,opt,name=nsRecord,proto3" json:"nsRecord,omitempty"` } func (x *FindNSRecordResponse) Reset() { *x = FindNSRecordResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_ns_record_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindNSRecordResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindNSRecordResponse) ProtoMessage() {} func (x *FindNSRecordResponse) ProtoReflect() protoreflect.Message { mi := &file_service_ns_record_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 FindNSRecordResponse.ProtoReflect.Descriptor instead. func (*FindNSRecordResponse) Descriptor() ([]byte, []int) { return file_service_ns_record_proto_rawDescGZIP(), []int{16} } func (x *FindNSRecordResponse) GetNsRecord() *NSRecord { if x != nil { return x.NsRecord } return nil } // 使用名称和类型查询单个记录信息 type FindNSRecordWithNameAndTypeRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NsDomainId int64 `protobuf:"varint,1,opt,name=nsDomainId,proto3" json:"nsDomainId,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"` } func (x *FindNSRecordWithNameAndTypeRequest) Reset() { *x = FindNSRecordWithNameAndTypeRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_ns_record_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindNSRecordWithNameAndTypeRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindNSRecordWithNameAndTypeRequest) ProtoMessage() {} func (x *FindNSRecordWithNameAndTypeRequest) ProtoReflect() protoreflect.Message { mi := &file_service_ns_record_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 FindNSRecordWithNameAndTypeRequest.ProtoReflect.Descriptor instead. func (*FindNSRecordWithNameAndTypeRequest) Descriptor() ([]byte, []int) { return file_service_ns_record_proto_rawDescGZIP(), []int{17} } func (x *FindNSRecordWithNameAndTypeRequest) GetNsDomainId() int64 { if x != nil { return x.NsDomainId } return 0 } func (x *FindNSRecordWithNameAndTypeRequest) GetName() string { if x != nil { return x.Name } return "" } func (x *FindNSRecordWithNameAndTypeRequest) GetType() string { if x != nil { return x.Type } return "" } type FindNSRecordWithNameAndTypeResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NsRecord *NSRecord `protobuf:"bytes,1,opt,name=nsRecord,proto3" json:"nsRecord,omitempty"` } func (x *FindNSRecordWithNameAndTypeResponse) Reset() { *x = FindNSRecordWithNameAndTypeResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_ns_record_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindNSRecordWithNameAndTypeResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindNSRecordWithNameAndTypeResponse) ProtoMessage() {} func (x *FindNSRecordWithNameAndTypeResponse) ProtoReflect() protoreflect.Message { mi := &file_service_ns_record_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 FindNSRecordWithNameAndTypeResponse.ProtoReflect.Descriptor instead. func (*FindNSRecordWithNameAndTypeResponse) Descriptor() ([]byte, []int) { return file_service_ns_record_proto_rawDescGZIP(), []int{18} } func (x *FindNSRecordWithNameAndTypeResponse) GetNsRecord() *NSRecord { if x != nil { return x.NsRecord } return nil } // 使用名称和类型查询多个记录信息 type FindNSRecordsWithNameAndTypeRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NsDomainId int64 `protobuf:"varint,1,opt,name=nsDomainId,proto3" json:"nsDomainId,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"` } func (x *FindNSRecordsWithNameAndTypeRequest) Reset() { *x = FindNSRecordsWithNameAndTypeRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_ns_record_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindNSRecordsWithNameAndTypeRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindNSRecordsWithNameAndTypeRequest) ProtoMessage() {} func (x *FindNSRecordsWithNameAndTypeRequest) ProtoReflect() protoreflect.Message { mi := &file_service_ns_record_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 FindNSRecordsWithNameAndTypeRequest.ProtoReflect.Descriptor instead. func (*FindNSRecordsWithNameAndTypeRequest) Descriptor() ([]byte, []int) { return file_service_ns_record_proto_rawDescGZIP(), []int{19} } func (x *FindNSRecordsWithNameAndTypeRequest) GetNsDomainId() int64 { if x != nil { return x.NsDomainId } return 0 } func (x *FindNSRecordsWithNameAndTypeRequest) GetName() string { if x != nil { return x.Name } return "" } func (x *FindNSRecordsWithNameAndTypeRequest) GetType() string { if x != nil { return x.Type } return "" } type FindNSRecordsWithNameAndTypeResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NsRecords []*NSRecord `protobuf:"bytes,1,rep,name=nsRecords,proto3" json:"nsRecords,omitempty"` } func (x *FindNSRecordsWithNameAndTypeResponse) Reset() { *x = FindNSRecordsWithNameAndTypeResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_ns_record_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindNSRecordsWithNameAndTypeResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindNSRecordsWithNameAndTypeResponse) ProtoMessage() {} func (x *FindNSRecordsWithNameAndTypeResponse) ProtoReflect() protoreflect.Message { mi := &file_service_ns_record_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 FindNSRecordsWithNameAndTypeResponse.ProtoReflect.Descriptor instead. func (*FindNSRecordsWithNameAndTypeResponse) Descriptor() ([]byte, []int) { return file_service_ns_record_proto_rawDescGZIP(), []int{20} } func (x *FindNSRecordsWithNameAndTypeResponse) GetNsRecords() []*NSRecord { if x != nil { return x.NsRecords } return nil } // 根据版本列出一组记录 type ListNSRecordsAfterVersionRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Version int64 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` Size int64 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"` } func (x *ListNSRecordsAfterVersionRequest) Reset() { *x = ListNSRecordsAfterVersionRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_ns_record_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListNSRecordsAfterVersionRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListNSRecordsAfterVersionRequest) ProtoMessage() {} func (x *ListNSRecordsAfterVersionRequest) ProtoReflect() protoreflect.Message { mi := &file_service_ns_record_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 ListNSRecordsAfterVersionRequest.ProtoReflect.Descriptor instead. func (*ListNSRecordsAfterVersionRequest) Descriptor() ([]byte, []int) { return file_service_ns_record_proto_rawDescGZIP(), []int{21} } func (x *ListNSRecordsAfterVersionRequest) GetVersion() int64 { if x != nil { return x.Version } return 0 } func (x *ListNSRecordsAfterVersionRequest) GetSize() int64 { if x != nil { return x.Size } return 0 } type ListNSRecordsAfterVersionResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NsRecords []*NSRecord `protobuf:"bytes,1,rep,name=nsRecords,proto3" json:"nsRecords,omitempty"` } func (x *ListNSRecordsAfterVersionResponse) Reset() { *x = ListNSRecordsAfterVersionResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_ns_record_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListNSRecordsAfterVersionResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListNSRecordsAfterVersionResponse) ProtoMessage() {} func (x *ListNSRecordsAfterVersionResponse) ProtoReflect() protoreflect.Message { mi := &file_service_ns_record_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 ListNSRecordsAfterVersionResponse.ProtoReflect.Descriptor instead. func (*ListNSRecordsAfterVersionResponse) Descriptor() ([]byte, []int) { return file_service_ns_record_proto_rawDescGZIP(), []int{22} } func (x *ListNSRecordsAfterVersionResponse) GetNsRecords() []*NSRecord { if x != nil { return x.NsRecords } return nil } // 查询记录健康检查设置 type FindNSRecordHealthCheckRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NsRecordId int64 `protobuf:"varint,1,opt,name=nsRecordId,proto3" json:"nsRecordId,omitempty"` // 记录ID } func (x *FindNSRecordHealthCheckRequest) Reset() { *x = FindNSRecordHealthCheckRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_ns_record_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindNSRecordHealthCheckRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindNSRecordHealthCheckRequest) ProtoMessage() {} func (x *FindNSRecordHealthCheckRequest) ProtoReflect() protoreflect.Message { mi := &file_service_ns_record_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 FindNSRecordHealthCheckRequest.ProtoReflect.Descriptor instead. func (*FindNSRecordHealthCheckRequest) Descriptor() ([]byte, []int) { return file_service_ns_record_proto_rawDescGZIP(), []int{23} } func (x *FindNSRecordHealthCheckRequest) GetNsRecordId() int64 { if x != nil { return x.NsRecordId } return 0 } type FindNSRecordHealthCheckResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NsRecordHealthCheckJSON []byte `protobuf:"bytes,1,opt,name=nsRecordHealthCheckJSON,proto3" json:"nsRecordHealthCheckJSON,omitempty"` // 记录健康检查配置 } func (x *FindNSRecordHealthCheckResponse) Reset() { *x = FindNSRecordHealthCheckResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_ns_record_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindNSRecordHealthCheckResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindNSRecordHealthCheckResponse) ProtoMessage() {} func (x *FindNSRecordHealthCheckResponse) ProtoReflect() protoreflect.Message { mi := &file_service_ns_record_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 FindNSRecordHealthCheckResponse.ProtoReflect.Descriptor instead. func (*FindNSRecordHealthCheckResponse) Descriptor() ([]byte, []int) { return file_service_ns_record_proto_rawDescGZIP(), []int{24} } func (x *FindNSRecordHealthCheckResponse) GetNsRecordHealthCheckJSON() []byte { if x != nil { return x.NsRecordHealthCheckJSON } return nil } // 修改记录健康检查设置 type UpdateNSRecordHealthCheckRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NsRecordId int64 `protobuf:"varint,1,opt,name=nsRecordId,proto3" json:"nsRecordId,omitempty"` // 记录ID NsRecordHealthCheckJSON []byte `protobuf:"bytes,2,opt,name=nsRecordHealthCheckJSON,proto3" json:"nsRecordHealthCheckJSON,omitempty"` // 记录健康检查配置 } func (x *UpdateNSRecordHealthCheckRequest) Reset() { *x = UpdateNSRecordHealthCheckRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_ns_record_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateNSRecordHealthCheckRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateNSRecordHealthCheckRequest) ProtoMessage() {} func (x *UpdateNSRecordHealthCheckRequest) ProtoReflect() protoreflect.Message { mi := &file_service_ns_record_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 UpdateNSRecordHealthCheckRequest.ProtoReflect.Descriptor instead. func (*UpdateNSRecordHealthCheckRequest) Descriptor() ([]byte, []int) { return file_service_ns_record_proto_rawDescGZIP(), []int{25} } func (x *UpdateNSRecordHealthCheckRequest) GetNsRecordId() int64 { if x != nil { return x.NsRecordId } return 0 } func (x *UpdateNSRecordHealthCheckRequest) GetNsRecordHealthCheckJSON() []byte { if x != nil { return x.NsRecordHealthCheckJSON } return nil } // 手动修改记录在线状态 type UpdateNSRecordIsUpRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NsRecordId int64 `protobuf:"varint,1,opt,name=nsRecordId,proto3" json:"nsRecordId,omitempty"` // 记录ID IsUp bool `protobuf:"varint,2,opt,name=isUp,proto3" json:"isUp,omitempty"` // 是否在线 } func (x *UpdateNSRecordIsUpRequest) Reset() { *x = UpdateNSRecordIsUpRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_ns_record_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateNSRecordIsUpRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateNSRecordIsUpRequest) ProtoMessage() {} func (x *UpdateNSRecordIsUpRequest) ProtoReflect() protoreflect.Message { mi := &file_service_ns_record_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 UpdateNSRecordIsUpRequest.ProtoReflect.Descriptor instead. func (*UpdateNSRecordIsUpRequest) Descriptor() ([]byte, []int) { return file_service_ns_record_proto_rawDescGZIP(), []int{26} } func (x *UpdateNSRecordIsUpRequest) GetNsRecordId() int64 { if x != nil { return x.NsRecordId } return 0 } func (x *UpdateNSRecordIsUpRequest) GetIsUp() bool { if x != nil { return x.IsUp } return false } type ImportNSRecordsRequest_Record struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NsDomainName string `protobuf:"bytes,1,opt,name=nsDomainName,proto3" json:"nsDomainName,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"` Value string `protobuf:"bytes,4,opt,name=value,proto3" json:"value,omitempty"` Ttl int32 `protobuf:"varint,5,opt,name=ttl,proto3" json:"ttl,omitempty"` MxPriority int32 `protobuf:"varint,6,opt,name=mxPriority,proto3" json:"mxPriority,omitempty"` // MX优先级 Weight int32 `protobuf:"varint,12,opt,name=weight,proto3" json:"weight,omitempty"` // 权重 SrvPriority int32 `protobuf:"varint,7,opt,name=srvPriority,proto3" json:"srvPriority,omitempty"` // SRV优先级 SrvWeight int32 `protobuf:"varint,8,opt,name=srvWeight,proto3" json:"srvWeight,omitempty"` // SRV权重 SrvPort int32 `protobuf:"varint,9,opt,name=srvPort,proto3" json:"srvPort,omitempty"` // SRV端口 CaaFlag int32 `protobuf:"varint,10,opt,name=caaFlag,proto3" json:"caaFlag,omitempty"` // CAA Flag CaaTag string `protobuf:"bytes,11,opt,name=caaTag,proto3" json:"caaTag,omitempty"` // CAA TAG } func (x *ImportNSRecordsRequest_Record) Reset() { *x = ImportNSRecordsRequest_Record{} if protoimpl.UnsafeEnabled { mi := &file_service_ns_record_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ImportNSRecordsRequest_Record) String() string { return protoimpl.X.MessageStringOf(x) } func (*ImportNSRecordsRequest_Record) ProtoMessage() {} func (x *ImportNSRecordsRequest_Record) ProtoReflect() protoreflect.Message { mi := &file_service_ns_record_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 ImportNSRecordsRequest_Record.ProtoReflect.Descriptor instead. func (*ImportNSRecordsRequest_Record) Descriptor() ([]byte, []int) { return file_service_ns_record_proto_rawDescGZIP(), []int{8, 0} } func (x *ImportNSRecordsRequest_Record) GetNsDomainName() string { if x != nil { return x.NsDomainName } return "" } func (x *ImportNSRecordsRequest_Record) GetName() string { if x != nil { return x.Name } return "" } func (x *ImportNSRecordsRequest_Record) GetType() string { if x != nil { return x.Type } return "" } func (x *ImportNSRecordsRequest_Record) GetValue() string { if x != nil { return x.Value } return "" } func (x *ImportNSRecordsRequest_Record) GetTtl() int32 { if x != nil { return x.Ttl } return 0 } func (x *ImportNSRecordsRequest_Record) GetMxPriority() int32 { if x != nil { return x.MxPriority } return 0 } func (x *ImportNSRecordsRequest_Record) GetWeight() int32 { if x != nil { return x.Weight } return 0 } func (x *ImportNSRecordsRequest_Record) GetSrvPriority() int32 { if x != nil { return x.SrvPriority } return 0 } func (x *ImportNSRecordsRequest_Record) GetSrvWeight() int32 { if x != nil { return x.SrvWeight } return 0 } func (x *ImportNSRecordsRequest_Record) GetSrvPort() int32 { if x != nil { return x.SrvPort } return 0 } func (x *ImportNSRecordsRequest_Record) GetCaaFlag() int32 { if x != nil { return x.CaaFlag } return 0 } func (x *ImportNSRecordsRequest_Record) GetCaaTag() string { if x != nil { return x.CaaTag } return "" } var File_service_ns_record_proto protoreflect.FileDescriptor var file_service_ns_record_proto_rawDesc = []byte{ 0x0a, 0x17, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x1c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb5, 0x03, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x12, 0x22, 0x0a, 0x0a, 0x6e, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x49, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x03, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x6e, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x49, 0x64, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x6e, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x78, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x78, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x72, 0x76, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x73, 0x72, 0x76, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x72, 0x76, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, 0x72, 0x76, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x72, 0x76, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, 0x72, 0x76, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x61, 0x61, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x61, 0x61, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x61, 0x54, 0x61, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, 0x61, 0x54, 0x61, 0x67, 0x22, 0x38, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x22, 0x94, 0x03, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x12, 0x22, 0x0a, 0x0c, 0x6e, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x78, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x78, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x72, 0x76, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x73, 0x72, 0x76, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x72, 0x76, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, 0x72, 0x76, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x72, 0x76, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, 0x72, 0x76, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x61, 0x61, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x61, 0x61, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x61, 0x54, 0x61, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, 0x61, 0x54, 0x61, 0x67, 0x22, 0x3b, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0b, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x73, 0x22, 0xc3, 0x01, 0x0a, 0x25, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x6c, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0xf1, 0x02, 0x0a, 0x25, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x65, 0x77, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x77, 0x54, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x77, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x6e, 0x65, 0x77, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x6e, 0x65, 0x77, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0xf7, 0x01, 0x0a, 0x25, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x8f, 0x02, 0x0a, 0x29, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x49, 0x73, 0x4f, 0x6e, 0x57, 0x69, 0x74, 0x68, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4e, 0x53, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0xb4, 0x03, 0x0a, 0x16, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x09, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x09, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x1a, 0xc0, 0x02, 0x0a, 0x06, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x78, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x78, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x72, 0x76, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x73, 0x72, 0x76, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x72, 0x76, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, 0x72, 0x76, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x72, 0x76, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, 0x72, 0x76, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x61, 0x61, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x61, 0x61, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x61, 0x54, 0x61, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, 0x61, 0x54, 0x61, 0x67, 0x22, 0xc9, 0x03, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x12, 0x22, 0x0a, 0x0a, 0x6e, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x49, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x03, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x6e, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x49, 0x64, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x6e, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x78, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x78, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x72, 0x76, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x73, 0x72, 0x76, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x72, 0x76, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, 0x72, 0x76, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x72, 0x76, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, 0x72, 0x76, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x61, 0x61, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x61, 0x61, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x61, 0x54, 0x61, 0x67, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, 0x61, 0x54, 0x61, 0x67, 0x22, 0x37, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x22, 0xac, 0x01, 0x0a, 0x18, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x09, 0x6e, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, 0x6e, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x6a, 0x0a, 0x20, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xa0, 0x03, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x09, 0x6e, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, 0x6e, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x61, 0x6d, 0x65, 0x41, 0x73, 0x63, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6e, 0x61, 0x6d, 0x65, 0x41, 0x73, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x61, 0x6d, 0x65, 0x44, 0x65, 0x73, 0x63, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6e, 0x61, 0x6d, 0x65, 0x44, 0x65, 0x73, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x79, 0x70, 0x65, 0x41, 0x73, 0x63, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x74, 0x79, 0x70, 0x65, 0x41, 0x73, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x44, 0x65, 0x73, 0x63, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x44, 0x65, 0x73, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x74, 0x6c, 0x41, 0x73, 0x63, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x74, 0x74, 0x6c, 0x41, 0x73, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x74, 0x6c, 0x44, 0x65, 0x73, 0x63, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x74, 0x74, 0x6c, 0x44, 0x65, 0x73, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x70, 0x41, 0x73, 0x63, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x75, 0x70, 0x41, 0x73, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x70, 0x44, 0x65, 0x73, 0x63, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x70, 0x44, 0x65, 0x73, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x43, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x09, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x09, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x22, 0x35, 0x0a, 0x13, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x22, 0x40, 0x0a, 0x14, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x08, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x08, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x22, 0x6c, 0x0a, 0x22, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x4f, 0x0a, 0x23, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x08, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x08, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x22, 0x6d, 0x0a, 0x23, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x52, 0x0a, 0x24, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x09, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x09, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x22, 0x50, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x4f, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x09, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x09, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x22, 0x40, 0x0a, 0x1e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x22, 0x5b, 0x0a, 0x1f, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x17, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x17, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x7c, 0x0a, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x17, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x17, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x4f, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x73, 0x55, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x55, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x55, 0x70, 0x32, 0xcf, 0x0c, 0x0a, 0x0f, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x47, 0x0a, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x1e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x5b, 0x0a, 0x1e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x5b, 0x0a, 0x1e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x63, 0x0a, 0x22, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x49, 0x73, 0x4f, 0x6e, 0x57, 0x69, 0x74, 0x68, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x2d, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x49, 0x73, 0x4f, 0x6e, 0x57, 0x69, 0x74, 0x68, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3d, 0x0a, 0x0f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3b, 0x0a, 0x0e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3b, 0x0a, 0x0e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x47, 0x0a, 0x11, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x19, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x6c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x1b, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x1c, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x27, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x19, 0x6c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x17, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x19, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x43, 0x0a, 0x12, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x73, 0x55, 0x70, 0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x73, 0x55, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_service_ns_record_proto_rawDescOnce sync.Once file_service_ns_record_proto_rawDescData = file_service_ns_record_proto_rawDesc ) func file_service_ns_record_proto_rawDescGZIP() []byte { file_service_ns_record_proto_rawDescOnce.Do(func() { file_service_ns_record_proto_rawDescData = protoimpl.X.CompressGZIP(file_service_ns_record_proto_rawDescData) }) return file_service_ns_record_proto_rawDescData } var file_service_ns_record_proto_msgTypes = make([]protoimpl.MessageInfo, 28) var file_service_ns_record_proto_goTypes = []interface{}{ (*CreateNSRecordRequest)(nil), // 0: pb.CreateNSRecordRequest (*CreateNSRecordResponse)(nil), // 1: pb.CreateNSRecordResponse (*CreateNSRecordsRequest)(nil), // 2: pb.CreateNSRecordsRequest (*CreateNSRecordsResponse)(nil), // 3: pb.CreateNSRecordsResponse (*CreateNSRecordsWithDomainNamesRequest)(nil), // 4: pb.CreateNSRecordsWithDomainNamesRequest (*UpdateNSRecordsWithDomainNamesRequest)(nil), // 5: pb.UpdateNSRecordsWithDomainNamesRequest (*DeleteNSRecordsWithDomainNamesRequest)(nil), // 6: pb.DeleteNSRecordsWithDomainNamesRequest (*UpdateNSRecordsIsOnWithDomainNamesRequest)(nil), // 7: pb.UpdateNSRecordsIsOnWithDomainNamesRequest (*ImportNSRecordsRequest)(nil), // 8: pb.ImportNSRecordsRequest (*UpdateNSRecordRequest)(nil), // 9: pb.UpdateNSRecordRequest (*DeleteNSRecordRequest)(nil), // 10: pb.DeleteNSRecordRequest (*CountAllNSRecordsRequest)(nil), // 11: pb.CountAllNSRecordsRequest (*CountAllNSRecordsWithNameRequest)(nil), // 12: pb.CountAllNSRecordsWithNameRequest (*ListNSRecordsRequest)(nil), // 13: pb.ListNSRecordsRequest (*ListNSRecordsResponse)(nil), // 14: pb.ListNSRecordsResponse (*FindNSRecordRequest)(nil), // 15: pb.FindNSRecordRequest (*FindNSRecordResponse)(nil), // 16: pb.FindNSRecordResponse (*FindNSRecordWithNameAndTypeRequest)(nil), // 17: pb.FindNSRecordWithNameAndTypeRequest (*FindNSRecordWithNameAndTypeResponse)(nil), // 18: pb.FindNSRecordWithNameAndTypeResponse (*FindNSRecordsWithNameAndTypeRequest)(nil), // 19: pb.FindNSRecordsWithNameAndTypeRequest (*FindNSRecordsWithNameAndTypeResponse)(nil), // 20: pb.FindNSRecordsWithNameAndTypeResponse (*ListNSRecordsAfterVersionRequest)(nil), // 21: pb.ListNSRecordsAfterVersionRequest (*ListNSRecordsAfterVersionResponse)(nil), // 22: pb.ListNSRecordsAfterVersionResponse (*FindNSRecordHealthCheckRequest)(nil), // 23: pb.FindNSRecordHealthCheckRequest (*FindNSRecordHealthCheckResponse)(nil), // 24: pb.FindNSRecordHealthCheckResponse (*UpdateNSRecordHealthCheckRequest)(nil), // 25: pb.UpdateNSRecordHealthCheckRequest (*UpdateNSRecordIsUpRequest)(nil), // 26: pb.UpdateNSRecordIsUpRequest (*ImportNSRecordsRequest_Record)(nil), // 27: pb.ImportNSRecordsRequest.Record (*NSRecord)(nil), // 28: pb.NSRecord (*RPCSuccess)(nil), // 29: pb.RPCSuccess (*RPCCountResponse)(nil), // 30: pb.RPCCountResponse } var file_service_ns_record_proto_depIdxs = []int32{ 27, // 0: pb.ImportNSRecordsRequest.nsRecords:type_name -> pb.ImportNSRecordsRequest.Record 28, // 1: pb.ListNSRecordsResponse.nsRecords:type_name -> pb.NSRecord 28, // 2: pb.FindNSRecordResponse.nsRecord:type_name -> pb.NSRecord 28, // 3: pb.FindNSRecordWithNameAndTypeResponse.nsRecord:type_name -> pb.NSRecord 28, // 4: pb.FindNSRecordsWithNameAndTypeResponse.nsRecords:type_name -> pb.NSRecord 28, // 5: pb.ListNSRecordsAfterVersionResponse.nsRecords:type_name -> pb.NSRecord 0, // 6: pb.NSRecordService.createNSRecord:input_type -> pb.CreateNSRecordRequest 2, // 7: pb.NSRecordService.createNSRecords:input_type -> pb.CreateNSRecordsRequest 4, // 8: pb.NSRecordService.createNSRecordsWithDomainNames:input_type -> pb.CreateNSRecordsWithDomainNamesRequest 5, // 9: pb.NSRecordService.updateNSRecordsWithDomainNames:input_type -> pb.UpdateNSRecordsWithDomainNamesRequest 6, // 10: pb.NSRecordService.deleteNSRecordsWithDomainNames:input_type -> pb.DeleteNSRecordsWithDomainNamesRequest 7, // 11: pb.NSRecordService.updateNSRecordsIsOnWithDomainNames:input_type -> pb.UpdateNSRecordsIsOnWithDomainNamesRequest 8, // 12: pb.NSRecordService.importNSRecords:input_type -> pb.ImportNSRecordsRequest 9, // 13: pb.NSRecordService.updateNSRecord:input_type -> pb.UpdateNSRecordRequest 10, // 14: pb.NSRecordService.deleteNSRecord:input_type -> pb.DeleteNSRecordRequest 11, // 15: pb.NSRecordService.countAllNSRecords:input_type -> pb.CountAllNSRecordsRequest 12, // 16: pb.NSRecordService.countAllNSRecordsWithName:input_type -> pb.CountAllNSRecordsWithNameRequest 13, // 17: pb.NSRecordService.listNSRecords:input_type -> pb.ListNSRecordsRequest 15, // 18: pb.NSRecordService.findNSRecord:input_type -> pb.FindNSRecordRequest 17, // 19: pb.NSRecordService.findNSRecordWithNameAndType:input_type -> pb.FindNSRecordWithNameAndTypeRequest 19, // 20: pb.NSRecordService.findNSRecordsWithNameAndType:input_type -> pb.FindNSRecordsWithNameAndTypeRequest 21, // 21: pb.NSRecordService.listNSRecordsAfterVersion:input_type -> pb.ListNSRecordsAfterVersionRequest 23, // 22: pb.NSRecordService.findNSRecordHealthCheck:input_type -> pb.FindNSRecordHealthCheckRequest 25, // 23: pb.NSRecordService.updateNSRecordHealthCheck:input_type -> pb.UpdateNSRecordHealthCheckRequest 26, // 24: pb.NSRecordService.updateNSRecordIsUp:input_type -> pb.UpdateNSRecordIsUpRequest 1, // 25: pb.NSRecordService.createNSRecord:output_type -> pb.CreateNSRecordResponse 3, // 26: pb.NSRecordService.createNSRecords:output_type -> pb.CreateNSRecordsResponse 29, // 27: pb.NSRecordService.createNSRecordsWithDomainNames:output_type -> pb.RPCSuccess 29, // 28: pb.NSRecordService.updateNSRecordsWithDomainNames:output_type -> pb.RPCSuccess 29, // 29: pb.NSRecordService.deleteNSRecordsWithDomainNames:output_type -> pb.RPCSuccess 29, // 30: pb.NSRecordService.updateNSRecordsIsOnWithDomainNames:output_type -> pb.RPCSuccess 29, // 31: pb.NSRecordService.importNSRecords:output_type -> pb.RPCSuccess 29, // 32: pb.NSRecordService.updateNSRecord:output_type -> pb.RPCSuccess 29, // 33: pb.NSRecordService.deleteNSRecord:output_type -> pb.RPCSuccess 30, // 34: pb.NSRecordService.countAllNSRecords:output_type -> pb.RPCCountResponse 30, // 35: pb.NSRecordService.countAllNSRecordsWithName:output_type -> pb.RPCCountResponse 14, // 36: pb.NSRecordService.listNSRecords:output_type -> pb.ListNSRecordsResponse 16, // 37: pb.NSRecordService.findNSRecord:output_type -> pb.FindNSRecordResponse 18, // 38: pb.NSRecordService.findNSRecordWithNameAndType:output_type -> pb.FindNSRecordWithNameAndTypeResponse 20, // 39: pb.NSRecordService.findNSRecordsWithNameAndType:output_type -> pb.FindNSRecordsWithNameAndTypeResponse 22, // 40: pb.NSRecordService.listNSRecordsAfterVersion:output_type -> pb.ListNSRecordsAfterVersionResponse 24, // 41: pb.NSRecordService.findNSRecordHealthCheck:output_type -> pb.FindNSRecordHealthCheckResponse 29, // 42: pb.NSRecordService.updateNSRecordHealthCheck:output_type -> pb.RPCSuccess 29, // 43: pb.NSRecordService.updateNSRecordIsUp:output_type -> pb.RPCSuccess 25, // [25:44] is the sub-list for method output_type 6, // [6:25] is the sub-list for method input_type 6, // [6:6] is the sub-list for extension type_name 6, // [6:6] is the sub-list for extension extendee 0, // [0:6] is the sub-list for field type_name } func init() { file_service_ns_record_proto_init() } func file_service_ns_record_proto_init() { if File_service_ns_record_proto != nil { return } file_models_model_ns_record_proto_init() file_models_rpc_messages_proto_init() if !protoimpl.UnsafeEnabled { file_service_ns_record_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateNSRecordRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_ns_record_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateNSRecordResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_ns_record_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateNSRecordsRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_ns_record_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateNSRecordsResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_ns_record_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateNSRecordsWithDomainNamesRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_ns_record_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateNSRecordsWithDomainNamesRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_ns_record_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteNSRecordsWithDomainNamesRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_ns_record_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateNSRecordsIsOnWithDomainNamesRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_ns_record_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ImportNSRecordsRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_ns_record_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateNSRecordRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_ns_record_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteNSRecordRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_ns_record_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CountAllNSRecordsRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_ns_record_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CountAllNSRecordsWithNameRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_ns_record_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListNSRecordsRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_ns_record_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListNSRecordsResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_ns_record_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindNSRecordRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_ns_record_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindNSRecordResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_ns_record_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindNSRecordWithNameAndTypeRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_ns_record_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindNSRecordWithNameAndTypeResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_ns_record_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindNSRecordsWithNameAndTypeRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_ns_record_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindNSRecordsWithNameAndTypeResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_ns_record_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListNSRecordsAfterVersionRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_ns_record_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListNSRecordsAfterVersionResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_ns_record_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindNSRecordHealthCheckRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_ns_record_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindNSRecordHealthCheckResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_ns_record_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateNSRecordHealthCheckRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_ns_record_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateNSRecordIsUpRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_ns_record_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ImportNSRecordsRequest_Record); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_service_ns_record_proto_rawDesc, NumEnums: 0, NumMessages: 28, NumExtensions: 0, NumServices: 1, }, GoTypes: file_service_ns_record_proto_goTypes, DependencyIndexes: file_service_ns_record_proto_depIdxs, MessageInfos: file_service_ns_record_proto_msgTypes, }.Build() File_service_ns_record_proto = out.File file_service_ns_record_proto_rawDesc = nil file_service_ns_record_proto_goTypes = nil file_service_ns_record_proto_depIdxs = nil }