// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.6
// 	protoc        v6.30.2
// source: api/relay.proto

package api

import (
	_ "google.golang.org/genproto/googleapis/api/annotations"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	emptypb "google.golang.org/protobuf/types/known/emptypb"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

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 RelayListItem struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// DevEUI (EUI64).
	DevEui string `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
	// Name.
	Name          string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RelayListItem) Reset() {
	*x = RelayListItem{}
	mi := &file_api_relay_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RelayListItem) ProtoMessage() {}

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

// Deprecated: Use RelayListItem.ProtoReflect.Descriptor instead.
func (*RelayListItem) Descriptor() ([]byte, []int) {
	return file_api_relay_proto_rawDescGZIP(), []int{0}
}

func (x *RelayListItem) GetDevEui() string {
	if x != nil {
		return x.DevEui
	}
	return ""
}

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

type ListRelaysRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Max number of devices to return in the result-set.
	// If not set, it will be treated as 0, and the response will only return the total_count.
	Limit uint32 `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"`
	// Offset in the result-set (for pagination).
	Offset uint32 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"`
	// Application ID (UUID).
	ApplicationId string `protobuf:"bytes,3,opt,name=application_id,json=applicationId,proto3" json:"application_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListRelaysRequest) Reset() {
	*x = ListRelaysRequest{}
	mi := &file_api_relay_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListRelaysRequest) ProtoMessage() {}

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

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

func (x *ListRelaysRequest) GetLimit() uint32 {
	if x != nil {
		return x.Limit
	}
	return 0
}

func (x *ListRelaysRequest) GetOffset() uint32 {
	if x != nil {
		return x.Offset
	}
	return 0
}

func (x *ListRelaysRequest) GetApplicationId() string {
	if x != nil {
		return x.ApplicationId
	}
	return ""
}

type ListRelaysResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Total number of relays.
	TotalCount uint32 `protobuf:"varint,1,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"`
	// Result-set.
	Result        []*RelayListItem `protobuf:"bytes,2,rep,name=result,proto3" json:"result,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListRelaysResponse) Reset() {
	*x = ListRelaysResponse{}
	mi := &file_api_relay_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListRelaysResponse) ProtoMessage() {}

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

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

func (x *ListRelaysResponse) GetTotalCount() uint32 {
	if x != nil {
		return x.TotalCount
	}
	return 0
}

func (x *ListRelaysResponse) GetResult() []*RelayListItem {
	if x != nil {
		return x.Result
	}
	return nil
}

type AddRelayDeviceRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Relay DevEUI (EUI64).
	RelayDevEui string `protobuf:"bytes,1,opt,name=relay_dev_eui,json=relayDevEui,proto3" json:"relay_dev_eui,omitempty"`
	// Device DevEUI (EUI64).
	DeviceDevEui  string `protobuf:"bytes,2,opt,name=device_dev_eui,json=deviceDevEui,proto3" json:"device_dev_eui,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AddRelayDeviceRequest) Reset() {
	*x = AddRelayDeviceRequest{}
	mi := &file_api_relay_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*AddRelayDeviceRequest) ProtoMessage() {}

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

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

func (x *AddRelayDeviceRequest) GetRelayDevEui() string {
	if x != nil {
		return x.RelayDevEui
	}
	return ""
}

func (x *AddRelayDeviceRequest) GetDeviceDevEui() string {
	if x != nil {
		return x.DeviceDevEui
	}
	return ""
}

type RemoveRelayDeviceRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Relay DevEUI (EUI64).
	RelayDevEui string `protobuf:"bytes,1,opt,name=relay_dev_eui,json=relayDevEui,proto3" json:"relay_dev_eui,omitempty"`
	// Device DevEUI (EUI64).
	DeviceDevEui  string `protobuf:"bytes,2,opt,name=device_dev_eui,json=deviceDevEui,proto3" json:"device_dev_eui,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RemoveRelayDeviceRequest) Reset() {
	*x = RemoveRelayDeviceRequest{}
	mi := &file_api_relay_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RemoveRelayDeviceRequest) ProtoMessage() {}

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

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

func (x *RemoveRelayDeviceRequest) GetRelayDevEui() string {
	if x != nil {
		return x.RelayDevEui
	}
	return ""
}

func (x *RemoveRelayDeviceRequest) GetDeviceDevEui() string {
	if x != nil {
		return x.DeviceDevEui
	}
	return ""
}

type ListRelayDevicesRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Max number of multicast groups to return in the result-set.
	// If not set, it will be treated as 0, and the response will only return the total_count.
	Limit uint32 `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"`
	// Offset in the result-set (for pagination).
	Offset uint32 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"`
	// Relay DevEUI (EUI64).
	RelayDevEui   string `protobuf:"bytes,3,opt,name=relay_dev_eui,json=relayDevEui,proto3" json:"relay_dev_eui,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListRelayDevicesRequest) Reset() {
	*x = ListRelayDevicesRequest{}
	mi := &file_api_relay_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListRelayDevicesRequest) ProtoMessage() {}

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

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

func (x *ListRelayDevicesRequest) GetLimit() uint32 {
	if x != nil {
		return x.Limit
	}
	return 0
}

func (x *ListRelayDevicesRequest) GetOffset() uint32 {
	if x != nil {
		return x.Offset
	}
	return 0
}

func (x *ListRelayDevicesRequest) GetRelayDevEui() string {
	if x != nil {
		return x.RelayDevEui
	}
	return ""
}

type RelayDeviceListItem struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// DevEUI (EUI64).
	DevEui string `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
	// Created at timestamp.
	CreatedAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// Device name.
	Name          string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RelayDeviceListItem) Reset() {
	*x = RelayDeviceListItem{}
	mi := &file_api_relay_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RelayDeviceListItem) ProtoMessage() {}

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

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

func (x *RelayDeviceListItem) GetDevEui() string {
	if x != nil {
		return x.DevEui
	}
	return ""
}

func (x *RelayDeviceListItem) GetCreatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.CreatedAt
	}
	return nil
}

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

type ListRelayDevicesResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Total number of devices.
	TotalCount uint32 `protobuf:"varint,1,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"`
	// Result-set.
	Result        []*RelayDeviceListItem `protobuf:"bytes,2,rep,name=result,proto3" json:"result,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListRelayDevicesResponse) Reset() {
	*x = ListRelayDevicesResponse{}
	mi := &file_api_relay_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListRelayDevicesResponse) ProtoMessage() {}

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

// Deprecated: Use ListRelayDevicesResponse.ProtoReflect.Descriptor instead.
func (*ListRelayDevicesResponse) Descriptor() ([]byte, []int) {
	return file_api_relay_proto_rawDescGZIP(), []int{7}
}

func (x *ListRelayDevicesResponse) GetTotalCount() uint32 {
	if x != nil {
		return x.TotalCount
	}
	return 0
}

func (x *ListRelayDevicesResponse) GetResult() []*RelayDeviceListItem {
	if x != nil {
		return x.Result
	}
	return nil
}

var File_api_relay_proto protoreflect.FileDescriptor

const file_api_relay_proto_rawDesc = "" +
	"\n" +
	"\x0fapi/relay.proto\x12\x03api\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bgoogle/protobuf/empty.proto\"<\n" +
	"\rRelayListItem\x12\x17\n" +
	"\adev_eui\x18\x01 \x01(\tR\x06devEui\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\"h\n" +
	"\x11ListRelaysRequest\x12\x14\n" +
	"\x05limit\x18\x01 \x01(\rR\x05limit\x12\x16\n" +
	"\x06offset\x18\x02 \x01(\rR\x06offset\x12%\n" +
	"\x0eapplication_id\x18\x03 \x01(\tR\rapplicationId\"a\n" +
	"\x12ListRelaysResponse\x12\x1f\n" +
	"\vtotal_count\x18\x01 \x01(\rR\n" +
	"totalCount\x12*\n" +
	"\x06result\x18\x02 \x03(\v2\x12.api.RelayListItemR\x06result\"a\n" +
	"\x15AddRelayDeviceRequest\x12\"\n" +
	"\rrelay_dev_eui\x18\x01 \x01(\tR\vrelayDevEui\x12$\n" +
	"\x0edevice_dev_eui\x18\x02 \x01(\tR\fdeviceDevEui\"d\n" +
	"\x18RemoveRelayDeviceRequest\x12\"\n" +
	"\rrelay_dev_eui\x18\x01 \x01(\tR\vrelayDevEui\x12$\n" +
	"\x0edevice_dev_eui\x18\x02 \x01(\tR\fdeviceDevEui\"k\n" +
	"\x17ListRelayDevicesRequest\x12\x14\n" +
	"\x05limit\x18\x01 \x01(\rR\x05limit\x12\x16\n" +
	"\x06offset\x18\x02 \x01(\rR\x06offset\x12\"\n" +
	"\rrelay_dev_eui\x18\x03 \x01(\tR\vrelayDevEui\"}\n" +
	"\x13RelayDeviceListItem\x12\x17\n" +
	"\adev_eui\x18\x01 \x01(\tR\x06devEui\x129\n" +
	"\n" +
	"created_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x12\n" +
	"\x04name\x18\x03 \x01(\tR\x04name\"m\n" +
	"\x18ListRelayDevicesResponse\x12\x1f\n" +
	"\vtotal_count\x18\x01 \x01(\rR\n" +
	"totalCount\x120\n" +
	"\x06result\x18\x02 \x03(\v2\x18.api.RelayDeviceListItemR\x06result2\xc4\x03\n" +
	"\fRelayService\x12L\n" +
	"\x04List\x12\x16.api.ListRelaysRequest\x1a\x17.api.ListRelaysResponse\"\x13\x82\xd3\xe4\x93\x02\r\x12\v/api/relays\x12o\n" +
	"\tAddDevice\x12\x1a.api.AddRelayDeviceRequest\x1a\x16.google.protobuf.Empty\".\x82\xd3\xe4\x93\x02(:\x01*\"#/api/relays/{relay_dev_eui}/devices\x12|\n" +
	"\fRemoveDevice\x12\x1d.api.RemoveRelayDeviceRequest\x1a\x16.google.protobuf.Empty\"5\x82\xd3\xe4\x93\x02/*-/api/relays/{relay_dev_eui}/devices/{dev_eui}\x12w\n" +
	"\vListDevices\x12\x1c.api.ListRelayDevicesRequest\x1a\x1d.api.ListRelayDevicesResponse\"+\x82\xd3\xe4\x93\x02%\x12#/api/relays/{relay_dev_eui}/devicesB\x90\x01\n" +
	"\x11io.chirpstack.apiB\n" +
	"RelayProtoP\x01Z.github.com/chirpstack/chirpstack/api/go/v4/api\xaa\x02\x0eChirpstack.Api\xca\x02\x0eChirpstack\\Api\xe2\x02\x1aGPBMetadata\\Chirpstack\\Apib\x06proto3"

var (
	file_api_relay_proto_rawDescOnce sync.Once
	file_api_relay_proto_rawDescData []byte
)

func file_api_relay_proto_rawDescGZIP() []byte {
	file_api_relay_proto_rawDescOnce.Do(func() {
		file_api_relay_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_api_relay_proto_rawDesc), len(file_api_relay_proto_rawDesc)))
	})
	return file_api_relay_proto_rawDescData
}

var file_api_relay_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
var file_api_relay_proto_goTypes = []any{
	(*RelayListItem)(nil),            // 0: api.RelayListItem
	(*ListRelaysRequest)(nil),        // 1: api.ListRelaysRequest
	(*ListRelaysResponse)(nil),       // 2: api.ListRelaysResponse
	(*AddRelayDeviceRequest)(nil),    // 3: api.AddRelayDeviceRequest
	(*RemoveRelayDeviceRequest)(nil), // 4: api.RemoveRelayDeviceRequest
	(*ListRelayDevicesRequest)(nil),  // 5: api.ListRelayDevicesRequest
	(*RelayDeviceListItem)(nil),      // 6: api.RelayDeviceListItem
	(*ListRelayDevicesResponse)(nil), // 7: api.ListRelayDevicesResponse
	(*timestamppb.Timestamp)(nil),    // 8: google.protobuf.Timestamp
	(*emptypb.Empty)(nil),            // 9: google.protobuf.Empty
}
var file_api_relay_proto_depIdxs = []int32{
	0, // 0: api.ListRelaysResponse.result:type_name -> api.RelayListItem
	8, // 1: api.RelayDeviceListItem.created_at:type_name -> google.protobuf.Timestamp
	6, // 2: api.ListRelayDevicesResponse.result:type_name -> api.RelayDeviceListItem
	1, // 3: api.RelayService.List:input_type -> api.ListRelaysRequest
	3, // 4: api.RelayService.AddDevice:input_type -> api.AddRelayDeviceRequest
	4, // 5: api.RelayService.RemoveDevice:input_type -> api.RemoveRelayDeviceRequest
	5, // 6: api.RelayService.ListDevices:input_type -> api.ListRelayDevicesRequest
	2, // 7: api.RelayService.List:output_type -> api.ListRelaysResponse
	9, // 8: api.RelayService.AddDevice:output_type -> google.protobuf.Empty
	9, // 9: api.RelayService.RemoveDevice:output_type -> google.protobuf.Empty
	7, // 10: api.RelayService.ListDevices:output_type -> api.ListRelayDevicesResponse
	7, // [7:11] is the sub-list for method output_type
	3, // [3:7] is the sub-list for method input_type
	3, // [3:3] is the sub-list for extension type_name
	3, // [3:3] is the sub-list for extension extendee
	0, // [0:3] is the sub-list for field type_name
}

func init() { file_api_relay_proto_init() }
func file_api_relay_proto_init() {
	if File_api_relay_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_api_relay_proto_rawDesc), len(file_api_relay_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   8,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_api_relay_proto_goTypes,
		DependencyIndexes: file_api_relay_proto_depIdxs,
		MessageInfos:      file_api_relay_proto_msgTypes,
	}.Build()
	File_api_relay_proto = out.File
	file_api_relay_proto_goTypes = nil
	file_api_relay_proto_depIdxs = nil
}
