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

package v3electionpb

import (
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"

	etcdserverpb "go.etcd.io/etcd/api/v3/etcdserverpb"
	mvccpb "go.etcd.io/etcd/api/v3/mvccpb"
	_ "google.golang.org/genproto/googleapis/api/annotations"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
)

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 CampaignRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// name is the election's identifier for the campaign.
	Name []byte `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// lease is the ID of the lease attached to leadership of the election. If the
	// lease expires or is revoked before resigning leadership, then the
	// leadership is transferred to the next campaigner, if any.
	Lease int64 `protobuf:"varint,2,opt,name=lease,proto3" json:"lease,omitempty"`
	// value is the initial proclaimed value set when the campaigner wins the
	// election.
	Value         []byte `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*CampaignRequest) ProtoMessage() {}

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

func (x *CampaignRequest) GetName() []byte {
	if x != nil {
		return x.Name
	}
	return nil
}

func (x *CampaignRequest) GetLease() int64 {
	if x != nil {
		return x.Lease
	}
	return 0
}

func (x *CampaignRequest) GetValue() []byte {
	if x != nil {
		return x.Value
	}
	return nil
}

type CampaignResponse struct {
	state  protoimpl.MessageState       `protogen:"open.v1"`
	Header *etcdserverpb.ResponseHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
	// leader describes the resources used for holding leadereship of the election.
	Leader        *LeaderKey `protobuf:"bytes,2,opt,name=leader,proto3" json:"leader,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*CampaignResponse) ProtoMessage() {}

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

func (x *CampaignResponse) GetHeader() *etcdserverpb.ResponseHeader {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *CampaignResponse) GetLeader() *LeaderKey {
	if x != nil {
		return x.Leader
	}
	return nil
}

type LeaderKey struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// name is the election identifier that corresponds to the leadership key.
	Name []byte `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// key is an opaque key representing the ownership of the election. If the key
	// is deleted, then leadership is lost.
	Key []byte `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
	// rev is the creation revision of the key. It can be used to test for ownership
	// of an election during transactions by testing the key's creation revision
	// matches rev.
	Rev int64 `protobuf:"varint,3,opt,name=rev,proto3" json:"rev,omitempty"`
	// lease is the lease ID of the election leader.
	Lease         int64 `protobuf:"varint,4,opt,name=lease,proto3" json:"lease,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*LeaderKey) ProtoMessage() {}

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

func (x *LeaderKey) GetName() []byte {
	if x != nil {
		return x.Name
	}
	return nil
}

func (x *LeaderKey) GetKey() []byte {
	if x != nil {
		return x.Key
	}
	return nil
}

func (x *LeaderKey) GetRev() int64 {
	if x != nil {
		return x.Rev
	}
	return 0
}

func (x *LeaderKey) GetLease() int64 {
	if x != nil {
		return x.Lease
	}
	return 0
}

type LeaderRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// name is the election identifier for the leadership information.
	Name          []byte `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*LeaderRequest) ProtoMessage() {}

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

func (x *LeaderRequest) GetName() []byte {
	if x != nil {
		return x.Name
	}
	return nil
}

type LeaderResponse struct {
	state  protoimpl.MessageState       `protogen:"open.v1"`
	Header *etcdserverpb.ResponseHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
	// kv is the key-value pair representing the latest leader update.
	Kv            *mvccpb.KeyValue `protobuf:"bytes,2,opt,name=kv,proto3" json:"kv,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*LeaderResponse) ProtoMessage() {}

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

func (x *LeaderResponse) GetHeader() *etcdserverpb.ResponseHeader {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *LeaderResponse) GetKv() *mvccpb.KeyValue {
	if x != nil {
		return x.Kv
	}
	return nil
}

type ResignRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// leader is the leadership to relinquish by resignation.
	Leader        *LeaderKey `protobuf:"bytes,1,opt,name=leader,proto3" json:"leader,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ResignRequest) ProtoMessage() {}

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

func (x *ResignRequest) GetLeader() *LeaderKey {
	if x != nil {
		return x.Leader
	}
	return nil
}

type ResignResponse struct {
	state         protoimpl.MessageState       `protogen:"open.v1"`
	Header        *etcdserverpb.ResponseHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ResignResponse) ProtoMessage() {}

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

func (x *ResignResponse) GetHeader() *etcdserverpb.ResponseHeader {
	if x != nil {
		return x.Header
	}
	return nil
}

type ProclaimRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// leader is the leadership hold on the election.
	Leader *LeaderKey `protobuf:"bytes,1,opt,name=leader,proto3" json:"leader,omitempty"`
	// value is an update meant to overwrite the leader's current value.
	Value         []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ProclaimRequest) ProtoMessage() {}

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

func (x *ProclaimRequest) GetLeader() *LeaderKey {
	if x != nil {
		return x.Leader
	}
	return nil
}

func (x *ProclaimRequest) GetValue() []byte {
	if x != nil {
		return x.Value
	}
	return nil
}

type ProclaimResponse struct {
	state         protoimpl.MessageState       `protogen:"open.v1"`
	Header        *etcdserverpb.ResponseHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ProclaimResponse) Reset() {
	*x = ProclaimResponse{}
	mi := &file_v3election_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ProclaimResponse) ProtoMessage() {}

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

func (x *ProclaimResponse) GetHeader() *etcdserverpb.ResponseHeader {
	if x != nil {
		return x.Header
	}
	return nil
}

var File_v3election_proto protoreflect.FileDescriptor

const file_v3election_proto_rawDesc = "" +
	"\n" +
	"\x10v3election.proto\x12\fv3electionpb\x1a\x1fetcd/api/etcdserverpb/rpc.proto\x1a\x18etcd/api/mvccpb/kv.proto\x1a\x1cgoogle/api/annotations.proto\"Q\n" +
	"\x0fCampaignRequest\x12\x12\n" +
	"\x04name\x18\x01 \x01(\fR\x04name\x12\x14\n" +
	"\x05lease\x18\x02 \x01(\x03R\x05lease\x12\x14\n" +
	"\x05value\x18\x03 \x01(\fR\x05value\"y\n" +
	"\x10CampaignResponse\x124\n" +
	"\x06header\x18\x01 \x01(\v2\x1c.etcdserverpb.ResponseHeaderR\x06header\x12/\n" +
	"\x06leader\x18\x02 \x01(\v2\x17.v3electionpb.LeaderKeyR\x06leader\"Y\n" +
	"\tLeaderKey\x12\x12\n" +
	"\x04name\x18\x01 \x01(\fR\x04name\x12\x10\n" +
	"\x03key\x18\x02 \x01(\fR\x03key\x12\x10\n" +
	"\x03rev\x18\x03 \x01(\x03R\x03rev\x12\x14\n" +
	"\x05lease\x18\x04 \x01(\x03R\x05lease\"#\n" +
	"\rLeaderRequest\x12\x12\n" +
	"\x04name\x18\x01 \x01(\fR\x04name\"h\n" +
	"\x0eLeaderResponse\x124\n" +
	"\x06header\x18\x01 \x01(\v2\x1c.etcdserverpb.ResponseHeaderR\x06header\x12 \n" +
	"\x02kv\x18\x02 \x01(\v2\x10.mvccpb.KeyValueR\x02kv\"@\n" +
	"\rResignRequest\x12/\n" +
	"\x06leader\x18\x01 \x01(\v2\x17.v3electionpb.LeaderKeyR\x06leader\"F\n" +
	"\x0eResignResponse\x124\n" +
	"\x06header\x18\x01 \x01(\v2\x1c.etcdserverpb.ResponseHeaderR\x06header\"X\n" +
	"\x0fProclaimRequest\x12/\n" +
	"\x06leader\x18\x01 \x01(\v2\x17.v3electionpb.LeaderKeyR\x06leader\x12\x14\n" +
	"\x05value\x18\x02 \x01(\fR\x05value\"H\n" +
	"\x10ProclaimResponse\x124\n" +
	"\x06header\x18\x01 \x01(\v2\x1c.etcdserverpb.ResponseHeaderR\x06header2\x97\x04\n" +
	"\bElection\x12k\n" +
	"\bCampaign\x12\x1d.v3electionpb.CampaignRequest\x1a\x1e.v3electionpb.CampaignResponse\" \x82\xd3\xe4\x93\x02\x1a:\x01*\"\x15/v3/election/campaign\x12k\n" +
	"\bProclaim\x12\x1d.v3electionpb.ProclaimRequest\x1a\x1e.v3electionpb.ProclaimResponse\" \x82\xd3\xe4\x93\x02\x1a:\x01*\"\x15/v3/election/proclaim\x12c\n" +
	"\x06Leader\x12\x1b.v3electionpb.LeaderRequest\x1a\x1c.v3electionpb.LeaderResponse\"\x1e\x82\xd3\xe4\x93\x02\x18:\x01*\"\x13/v3/election/leader\x12g\n" +
	"\aObserve\x12\x1b.v3electionpb.LeaderRequest\x1a\x1c.v3electionpb.LeaderResponse\"\x1f\x82\xd3\xe4\x93\x02\x19:\x01*\"\x14/v3/election/observe0\x01\x12c\n" +
	"\x06Resign\x12\x1b.v3electionpb.ResignRequest\x1a\x1c.v3electionpb.ResignResponse\"\x1e\x82\xd3\xe4\x93\x02\x18:\x01*\"\x13/v3/election/resignBBZ@go.etcd.io/etcd/server/v3/etcdserver/api/v3election/v3electionpbb\x06proto3"

var (
	file_v3election_proto_rawDescOnce sync.Once
	file_v3election_proto_rawDescData []byte
)

func file_v3election_proto_rawDescGZIP() []byte {
	file_v3election_proto_rawDescOnce.Do(func() {
		file_v3election_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_v3election_proto_rawDesc), len(file_v3election_proto_rawDesc)))
	})
	return file_v3election_proto_rawDescData
}

var file_v3election_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
var file_v3election_proto_goTypes = []any{
	(*CampaignRequest)(nil),             // 0: v3electionpb.CampaignRequest
	(*CampaignResponse)(nil),            // 1: v3electionpb.CampaignResponse
	(*LeaderKey)(nil),                   // 2: v3electionpb.LeaderKey
	(*LeaderRequest)(nil),               // 3: v3electionpb.LeaderRequest
	(*LeaderResponse)(nil),              // 4: v3electionpb.LeaderResponse
	(*ResignRequest)(nil),               // 5: v3electionpb.ResignRequest
	(*ResignResponse)(nil),              // 6: v3electionpb.ResignResponse
	(*ProclaimRequest)(nil),             // 7: v3electionpb.ProclaimRequest
	(*ProclaimResponse)(nil),            // 8: v3electionpb.ProclaimResponse
	(*etcdserverpb.ResponseHeader)(nil), // 9: etcdserverpb.ResponseHeader
	(*mvccpb.KeyValue)(nil),             // 10: mvccpb.KeyValue
}
var file_v3election_proto_depIdxs = []int32{
	9,  // 0: v3electionpb.CampaignResponse.header:type_name -> etcdserverpb.ResponseHeader
	2,  // 1: v3electionpb.CampaignResponse.leader:type_name -> v3electionpb.LeaderKey
	9,  // 2: v3electionpb.LeaderResponse.header:type_name -> etcdserverpb.ResponseHeader
	10, // 3: v3electionpb.LeaderResponse.kv:type_name -> mvccpb.KeyValue
	2,  // 4: v3electionpb.ResignRequest.leader:type_name -> v3electionpb.LeaderKey
	9,  // 5: v3electionpb.ResignResponse.header:type_name -> etcdserverpb.ResponseHeader
	2,  // 6: v3electionpb.ProclaimRequest.leader:type_name -> v3electionpb.LeaderKey
	9,  // 7: v3electionpb.ProclaimResponse.header:type_name -> etcdserverpb.ResponseHeader
	0,  // 8: v3electionpb.Election.Campaign:input_type -> v3electionpb.CampaignRequest
	7,  // 9: v3electionpb.Election.Proclaim:input_type -> v3electionpb.ProclaimRequest
	3,  // 10: v3electionpb.Election.Leader:input_type -> v3electionpb.LeaderRequest
	3,  // 11: v3electionpb.Election.Observe:input_type -> v3electionpb.LeaderRequest
	5,  // 12: v3electionpb.Election.Resign:input_type -> v3electionpb.ResignRequest
	1,  // 13: v3electionpb.Election.Campaign:output_type -> v3electionpb.CampaignResponse
	8,  // 14: v3electionpb.Election.Proclaim:output_type -> v3electionpb.ProclaimResponse
	4,  // 15: v3electionpb.Election.Leader:output_type -> v3electionpb.LeaderResponse
	4,  // 16: v3electionpb.Election.Observe:output_type -> v3electionpb.LeaderResponse
	6,  // 17: v3electionpb.Election.Resign:output_type -> v3electionpb.ResignResponse
	13, // [13:18] is the sub-list for method output_type
	8,  // [8:13] is the sub-list for method input_type
	8,  // [8:8] is the sub-list for extension type_name
	8,  // [8:8] is the sub-list for extension extendee
	0,  // [0:8] is the sub-list for field type_name
}

func init() { file_v3election_proto_init() }
func file_v3election_proto_init() {
	if File_v3election_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_v3election_proto_rawDesc), len(file_v3election_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   9,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_v3election_proto_goTypes,
		DependencyIndexes: file_v3election_proto_depIdxs,
		MessageInfos:      file_v3election_proto_msgTypes,
	}.Build()
	File_v3election_proto = out.File
	file_v3election_proto_goTypes = nil
	file_v3election_proto_depIdxs = nil
}
