// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.28.1
// 	protoc        v3.21.9
// source: resource/definitions/network/network.proto

package network

import (
	reflect "reflect"
	sync "sync"

	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	durationpb "google.golang.org/protobuf/types/known/durationpb"

	common "github.com/siderolabs/talos/pkg/machinery/api/common"
	enums "github.com/siderolabs/talos/pkg/machinery/api/resource/definitions/enums"
)

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)
)

// AddressSpecSpec describes status of rendered secrets.
type AddressSpecSpec struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Address         *common.NetIPPrefix      `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	LinkName        string                   `protobuf:"bytes,2,opt,name=link_name,json=linkName,proto3" json:"link_name,omitempty"`
	Family          enums.NethelpersFamily   `protobuf:"varint,3,opt,name=family,proto3,enum=talos.resource.definitions.enums.NethelpersFamily" json:"family,omitempty"`
	Scope           enums.NethelpersScope    `protobuf:"varint,4,opt,name=scope,proto3,enum=talos.resource.definitions.enums.NethelpersScope" json:"scope,omitempty"`
	Flags           uint32                   `protobuf:"varint,5,opt,name=flags,proto3" json:"flags,omitempty"`
	AnnounceWithArp bool                     `protobuf:"varint,6,opt,name=announce_with_arp,json=announceWithArp,proto3" json:"announce_with_arp,omitempty"`
	ConfigLayer     enums.NetworkConfigLayer `protobuf:"varint,7,opt,name=config_layer,json=configLayer,proto3,enum=talos.resource.definitions.enums.NetworkConfigLayer" json:"config_layer,omitempty"`
}

func (x *AddressSpecSpec) Reset() {
	*x = AddressSpecSpec{}
	if protoimpl.UnsafeEnabled {
		mi := &file_resource_definitions_network_network_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*AddressSpecSpec) ProtoMessage() {}

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

func (x *AddressSpecSpec) GetAddress() *common.NetIPPrefix {
	if x != nil {
		return x.Address
	}
	return nil
}

func (x *AddressSpecSpec) GetLinkName() string {
	if x != nil {
		return x.LinkName
	}
	return ""
}

func (x *AddressSpecSpec) GetFamily() enums.NethelpersFamily {
	if x != nil {
		return x.Family
	}
	return enums.NethelpersFamily(0)
}

func (x *AddressSpecSpec) GetScope() enums.NethelpersScope {
	if x != nil {
		return x.Scope
	}
	return enums.NethelpersScope(0)
}

func (x *AddressSpecSpec) GetFlags() uint32 {
	if x != nil {
		return x.Flags
	}
	return 0
}

func (x *AddressSpecSpec) GetAnnounceWithArp() bool {
	if x != nil {
		return x.AnnounceWithArp
	}
	return false
}

func (x *AddressSpecSpec) GetConfigLayer() enums.NetworkConfigLayer {
	if x != nil {
		return x.ConfigLayer
	}
	return enums.NetworkConfigLayer(0)
}

// AddressStatusSpec describes status of rendered secrets.
type AddressStatusSpec struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Address   *common.NetIPPrefix    `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	Local     *common.NetIP          `protobuf:"bytes,2,opt,name=local,proto3" json:"local,omitempty"`
	Broadcast *common.NetIP          `protobuf:"bytes,3,opt,name=broadcast,proto3" json:"broadcast,omitempty"`
	Anycast   *common.NetIP          `protobuf:"bytes,4,opt,name=anycast,proto3" json:"anycast,omitempty"`
	Multicast *common.NetIP          `protobuf:"bytes,5,opt,name=multicast,proto3" json:"multicast,omitempty"`
	LinkIndex uint32                 `protobuf:"varint,6,opt,name=link_index,json=linkIndex,proto3" json:"link_index,omitempty"`
	LinkName  string                 `protobuf:"bytes,7,opt,name=link_name,json=linkName,proto3" json:"link_name,omitempty"`
	Family    enums.NethelpersFamily `protobuf:"varint,8,opt,name=family,proto3,enum=talos.resource.definitions.enums.NethelpersFamily" json:"family,omitempty"`
	Scope     enums.NethelpersScope  `protobuf:"varint,9,opt,name=scope,proto3,enum=talos.resource.definitions.enums.NethelpersScope" json:"scope,omitempty"`
	Flags     uint32                 `protobuf:"varint,10,opt,name=flags,proto3" json:"flags,omitempty"`
}

func (x *AddressStatusSpec) Reset() {
	*x = AddressStatusSpec{}
	if protoimpl.UnsafeEnabled {
		mi := &file_resource_definitions_network_network_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*AddressStatusSpec) ProtoMessage() {}

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

func (x *AddressStatusSpec) GetAddress() *common.NetIPPrefix {
	if x != nil {
		return x.Address
	}
	return nil
}

func (x *AddressStatusSpec) GetLocal() *common.NetIP {
	if x != nil {
		return x.Local
	}
	return nil
}

func (x *AddressStatusSpec) GetBroadcast() *common.NetIP {
	if x != nil {
		return x.Broadcast
	}
	return nil
}

func (x *AddressStatusSpec) GetAnycast() *common.NetIP {
	if x != nil {
		return x.Anycast
	}
	return nil
}

func (x *AddressStatusSpec) GetMulticast() *common.NetIP {
	if x != nil {
		return x.Multicast
	}
	return nil
}

func (x *AddressStatusSpec) GetLinkIndex() uint32 {
	if x != nil {
		return x.LinkIndex
	}
	return 0
}

func (x *AddressStatusSpec) GetLinkName() string {
	if x != nil {
		return x.LinkName
	}
	return ""
}

func (x *AddressStatusSpec) GetFamily() enums.NethelpersFamily {
	if x != nil {
		return x.Family
	}
	return enums.NethelpersFamily(0)
}

func (x *AddressStatusSpec) GetScope() enums.NethelpersScope {
	if x != nil {
		return x.Scope
	}
	return enums.NethelpersScope(0)
}

func (x *AddressStatusSpec) GetFlags() uint32 {
	if x != nil {
		return x.Flags
	}
	return 0
}

// BondMasterSpec describes bond settings if Kind == "bond".
type BondMasterSpec struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Mode            enums.NethelpersBondMode           `protobuf:"varint,1,opt,name=mode,proto3,enum=talos.resource.definitions.enums.NethelpersBondMode" json:"mode,omitempty"`
	HashPolicy      enums.NethelpersBondXmitHashPolicy `protobuf:"varint,2,opt,name=hash_policy,json=hashPolicy,proto3,enum=talos.resource.definitions.enums.NethelpersBondXmitHashPolicy" json:"hash_policy,omitempty"`
	LacpRate        enums.NethelpersLACPRate           `protobuf:"varint,3,opt,name=lacp_rate,json=lacpRate,proto3,enum=talos.resource.definitions.enums.NethelpersLACPRate" json:"lacp_rate,omitempty"`
	ArpValidate     enums.NethelpersARPValidate        `protobuf:"varint,4,opt,name=arp_validate,json=arpValidate,proto3,enum=talos.resource.definitions.enums.NethelpersARPValidate" json:"arp_validate,omitempty"`
	ArpAllTargets   enums.NethelpersARPAllTargets      `protobuf:"varint,5,opt,name=arp_all_targets,json=arpAllTargets,proto3,enum=talos.resource.definitions.enums.NethelpersARPAllTargets" json:"arp_all_targets,omitempty"`
	PrimaryIndex    uint32                             `protobuf:"varint,6,opt,name=primary_index,json=primaryIndex,proto3" json:"primary_index,omitempty"`
	PrimaryReselect enums.NethelpersPrimaryReselect    `protobuf:"varint,7,opt,name=primary_reselect,json=primaryReselect,proto3,enum=talos.resource.definitions.enums.NethelpersPrimaryReselect" json:"primary_reselect,omitempty"`
	FailOverMac     enums.NethelpersFailOverMAC        `protobuf:"varint,8,opt,name=fail_over_mac,json=failOverMac,proto3,enum=talos.resource.definitions.enums.NethelpersFailOverMAC" json:"fail_over_mac,omitempty"`
	AdSelect        enums.NethelpersADSelect           `protobuf:"varint,9,opt,name=ad_select,json=adSelect,proto3,enum=talos.resource.definitions.enums.NethelpersADSelect" json:"ad_select,omitempty"`
	MiiMon          uint32                             `protobuf:"varint,10,opt,name=mii_mon,json=miiMon,proto3" json:"mii_mon,omitempty"`
	UpDelay         uint32                             `protobuf:"varint,11,opt,name=up_delay,json=upDelay,proto3" json:"up_delay,omitempty"`
	DownDelay       uint32                             `protobuf:"varint,12,opt,name=down_delay,json=downDelay,proto3" json:"down_delay,omitempty"`
	ArpInterval     uint32                             `protobuf:"varint,13,opt,name=arp_interval,json=arpInterval,proto3" json:"arp_interval,omitempty"`
	ResendIgmp      uint32                             `protobuf:"varint,14,opt,name=resend_igmp,json=resendIgmp,proto3" json:"resend_igmp,omitempty"`
	MinLinks        uint32                             `protobuf:"varint,15,opt,name=min_links,json=minLinks,proto3" json:"min_links,omitempty"`
	LpInterval      uint32                             `protobuf:"varint,16,opt,name=lp_interval,json=lpInterval,proto3" json:"lp_interval,omitempty"`
	PacketsPerSlave uint32                             `protobuf:"varint,17,opt,name=packets_per_slave,json=packetsPerSlave,proto3" json:"packets_per_slave,omitempty"`
	NumPeerNotif    uint32                             `protobuf:"fixed32,18,opt,name=num_peer_notif,json=numPeerNotif,proto3" json:"num_peer_notif,omitempty"`
	TlbDynamicLb    uint32                             `protobuf:"fixed32,19,opt,name=tlb_dynamic_lb,json=tlbDynamicLb,proto3" json:"tlb_dynamic_lb,omitempty"`
	AllSlavesActive uint32                             `protobuf:"fixed32,20,opt,name=all_slaves_active,json=allSlavesActive,proto3" json:"all_slaves_active,omitempty"`
	UseCarrier      bool                               `protobuf:"varint,21,opt,name=use_carrier,json=useCarrier,proto3" json:"use_carrier,omitempty"`
	AdActorSysPrio  uint32                             `protobuf:"fixed32,22,opt,name=ad_actor_sys_prio,json=adActorSysPrio,proto3" json:"ad_actor_sys_prio,omitempty"`
	AdUserPortKey   uint32                             `protobuf:"fixed32,23,opt,name=ad_user_port_key,json=adUserPortKey,proto3" json:"ad_user_port_key,omitempty"`
	PeerNotifyDelay uint32                             `protobuf:"varint,24,opt,name=peer_notify_delay,json=peerNotifyDelay,proto3" json:"peer_notify_delay,omitempty"`
}

func (x *BondMasterSpec) Reset() {
	*x = BondMasterSpec{}
	if protoimpl.UnsafeEnabled {
		mi := &file_resource_definitions_network_network_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*BondMasterSpec) ProtoMessage() {}

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

func (x *BondMasterSpec) GetMode() enums.NethelpersBondMode {
	if x != nil {
		return x.Mode
	}
	return enums.NethelpersBondMode(0)
}

func (x *BondMasterSpec) GetHashPolicy() enums.NethelpersBondXmitHashPolicy {
	if x != nil {
		return x.HashPolicy
	}
	return enums.NethelpersBondXmitHashPolicy(0)
}

func (x *BondMasterSpec) GetLacpRate() enums.NethelpersLACPRate {
	if x != nil {
		return x.LacpRate
	}
	return enums.NethelpersLACPRate(0)
}

func (x *BondMasterSpec) GetArpValidate() enums.NethelpersARPValidate {
	if x != nil {
		return x.ArpValidate
	}
	return enums.NethelpersARPValidate(0)
}

func (x *BondMasterSpec) GetArpAllTargets() enums.NethelpersARPAllTargets {
	if x != nil {
		return x.ArpAllTargets
	}
	return enums.NethelpersARPAllTargets(0)
}

func (x *BondMasterSpec) GetPrimaryIndex() uint32 {
	if x != nil {
		return x.PrimaryIndex
	}
	return 0
}

func (x *BondMasterSpec) GetPrimaryReselect() enums.NethelpersPrimaryReselect {
	if x != nil {
		return x.PrimaryReselect
	}
	return enums.NethelpersPrimaryReselect(0)
}

func (x *BondMasterSpec) GetFailOverMac() enums.NethelpersFailOverMAC {
	if x != nil {
		return x.FailOverMac
	}
	return enums.NethelpersFailOverMAC(0)
}

func (x *BondMasterSpec) GetAdSelect() enums.NethelpersADSelect {
	if x != nil {
		return x.AdSelect
	}
	return enums.NethelpersADSelect(0)
}

func (x *BondMasterSpec) GetMiiMon() uint32 {
	if x != nil {
		return x.MiiMon
	}
	return 0
}

func (x *BondMasterSpec) GetUpDelay() uint32 {
	if x != nil {
		return x.UpDelay
	}
	return 0
}

func (x *BondMasterSpec) GetDownDelay() uint32 {
	if x != nil {
		return x.DownDelay
	}
	return 0
}

func (x *BondMasterSpec) GetArpInterval() uint32 {
	if x != nil {
		return x.ArpInterval
	}
	return 0
}

func (x *BondMasterSpec) GetResendIgmp() uint32 {
	if x != nil {
		return x.ResendIgmp
	}
	return 0
}

func (x *BondMasterSpec) GetMinLinks() uint32 {
	if x != nil {
		return x.MinLinks
	}
	return 0
}

func (x *BondMasterSpec) GetLpInterval() uint32 {
	if x != nil {
		return x.LpInterval
	}
	return 0
}

func (x *BondMasterSpec) GetPacketsPerSlave() uint32 {
	if x != nil {
		return x.PacketsPerSlave
	}
	return 0
}

func (x *BondMasterSpec) GetNumPeerNotif() uint32 {
	if x != nil {
		return x.NumPeerNotif
	}
	return 0
}

func (x *BondMasterSpec) GetTlbDynamicLb() uint32 {
	if x != nil {
		return x.TlbDynamicLb
	}
	return 0
}

func (x *BondMasterSpec) GetAllSlavesActive() uint32 {
	if x != nil {
		return x.AllSlavesActive
	}
	return 0
}

func (x *BondMasterSpec) GetUseCarrier() bool {
	if x != nil {
		return x.UseCarrier
	}
	return false
}

func (x *BondMasterSpec) GetAdActorSysPrio() uint32 {
	if x != nil {
		return x.AdActorSysPrio
	}
	return 0
}

func (x *BondMasterSpec) GetAdUserPortKey() uint32 {
	if x != nil {
		return x.AdUserPortKey
	}
	return 0
}

func (x *BondMasterSpec) GetPeerNotifyDelay() uint32 {
	if x != nil {
		return x.PeerNotifyDelay
	}
	return 0
}

// BondSlave contains a bond's master name and slave index.
type BondSlave struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	MasterName string `protobuf:"bytes,1,opt,name=master_name,json=masterName,proto3" json:"master_name,omitempty"`
	SlaveIndex int64  `protobuf:"varint,2,opt,name=slave_index,json=slaveIndex,proto3" json:"slave_index,omitempty"`
}

func (x *BondSlave) Reset() {
	*x = BondSlave{}
	if protoimpl.UnsafeEnabled {
		mi := &file_resource_definitions_network_network_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*BondSlave) ProtoMessage() {}

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

func (x *BondSlave) GetMasterName() string {
	if x != nil {
		return x.MasterName
	}
	return ""
}

func (x *BondSlave) GetSlaveIndex() int64 {
	if x != nil {
		return x.SlaveIndex
	}
	return 0
}

// BridgeMasterSpec describes bridge settings if Kind == "bridge".
type BridgeMasterSpec struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Stp *STPSpec `protobuf:"bytes,1,opt,name=stp,proto3" json:"stp,omitempty"`
}

func (x *BridgeMasterSpec) Reset() {
	*x = BridgeMasterSpec{}
	if protoimpl.UnsafeEnabled {
		mi := &file_resource_definitions_network_network_proto_msgTypes[4]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*BridgeMasterSpec) ProtoMessage() {}

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

func (x *BridgeMasterSpec) GetStp() *STPSpec {
	if x != nil {
		return x.Stp
	}
	return nil
}

// BridgeSlave contains a bond's master name and slave index.
type BridgeSlave struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	MasterName string `protobuf:"bytes,1,opt,name=master_name,json=masterName,proto3" json:"master_name,omitempty"`
}

func (x *BridgeSlave) Reset() {
	*x = BridgeSlave{}
	if protoimpl.UnsafeEnabled {
		mi := &file_resource_definitions_network_network_proto_msgTypes[5]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*BridgeSlave) ProtoMessage() {}

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

func (x *BridgeSlave) GetMasterName() string {
	if x != nil {
		return x.MasterName
	}
	return ""
}

// DHCP4OperatorSpec describes DHCP4 operator options.
type DHCP4OperatorSpec struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	RouteMetric         uint32 `protobuf:"varint,1,opt,name=route_metric,json=routeMetric,proto3" json:"route_metric,omitempty"`
	SkipHostnameRequest bool   `protobuf:"varint,2,opt,name=skip_hostname_request,json=skipHostnameRequest,proto3" json:"skip_hostname_request,omitempty"`
}

func (x *DHCP4OperatorSpec) Reset() {
	*x = DHCP4OperatorSpec{}
	if protoimpl.UnsafeEnabled {
		mi := &file_resource_definitions_network_network_proto_msgTypes[6]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DHCP4OperatorSpec) ProtoMessage() {}

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

func (x *DHCP4OperatorSpec) GetRouteMetric() uint32 {
	if x != nil {
		return x.RouteMetric
	}
	return 0
}

func (x *DHCP4OperatorSpec) GetSkipHostnameRequest() bool {
	if x != nil {
		return x.SkipHostnameRequest
	}
	return false
}

// DHCP6OperatorSpec describes DHCP6 operator options.
type DHCP6OperatorSpec struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Duid                string `protobuf:"bytes,1,opt,name=duid,proto3" json:"duid,omitempty"`
	RouteMetric         uint32 `protobuf:"varint,2,opt,name=route_metric,json=routeMetric,proto3" json:"route_metric,omitempty"`
	SkipHostnameRequest bool   `protobuf:"varint,3,opt,name=skip_hostname_request,json=skipHostnameRequest,proto3" json:"skip_hostname_request,omitempty"`
}

func (x *DHCP6OperatorSpec) Reset() {
	*x = DHCP6OperatorSpec{}
	if protoimpl.UnsafeEnabled {
		mi := &file_resource_definitions_network_network_proto_msgTypes[7]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DHCP6OperatorSpec) ProtoMessage() {}

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

func (x *DHCP6OperatorSpec) GetDuid() string {
	if x != nil {
		return x.Duid
	}
	return ""
}

func (x *DHCP6OperatorSpec) GetRouteMetric() uint32 {
	if x != nil {
		return x.RouteMetric
	}
	return 0
}

func (x *DHCP6OperatorSpec) GetSkipHostnameRequest() bool {
	if x != nil {
		return x.SkipHostnameRequest
	}
	return false
}

// HardwareAddrSpec describes spec for the link.
type HardwareAddrSpec struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Name         string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	HardwareAddr []byte `protobuf:"bytes,2,opt,name=hardware_addr,json=hardwareAddr,proto3" json:"hardware_addr,omitempty"`
}

func (x *HardwareAddrSpec) Reset() {
	*x = HardwareAddrSpec{}
	if protoimpl.UnsafeEnabled {
		mi := &file_resource_definitions_network_network_proto_msgTypes[8]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*HardwareAddrSpec) ProtoMessage() {}

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

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

func (x *HardwareAddrSpec) GetHardwareAddr() []byte {
	if x != nil {
		return x.HardwareAddr
	}
	return nil
}

// HostnameSpecSpec describes node nostname.
type HostnameSpecSpec struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Hostname    string                   `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"`
	Domainname  string                   `protobuf:"bytes,2,opt,name=domainname,proto3" json:"domainname,omitempty"`
	ConfigLayer enums.NetworkConfigLayer `protobuf:"varint,3,opt,name=config_layer,json=configLayer,proto3,enum=talos.resource.definitions.enums.NetworkConfigLayer" json:"config_layer,omitempty"`
}

func (x *HostnameSpecSpec) Reset() {
	*x = HostnameSpecSpec{}
	if protoimpl.UnsafeEnabled {
		mi := &file_resource_definitions_network_network_proto_msgTypes[9]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*HostnameSpecSpec) ProtoMessage() {}

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

func (x *HostnameSpecSpec) GetHostname() string {
	if x != nil {
		return x.Hostname
	}
	return ""
}

func (x *HostnameSpecSpec) GetDomainname() string {
	if x != nil {
		return x.Domainname
	}
	return ""
}

func (x *HostnameSpecSpec) GetConfigLayer() enums.NetworkConfigLayer {
	if x != nil {
		return x.ConfigLayer
	}
	return enums.NetworkConfigLayer(0)
}

// HostnameStatusSpec describes node nostname.
type HostnameStatusSpec struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Hostname   string `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"`
	Domainname string `protobuf:"bytes,2,opt,name=domainname,proto3" json:"domainname,omitempty"`
}

func (x *HostnameStatusSpec) Reset() {
	*x = HostnameStatusSpec{}
	if protoimpl.UnsafeEnabled {
		mi := &file_resource_definitions_network_network_proto_msgTypes[10]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*HostnameStatusSpec) ProtoMessage() {}

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

func (x *HostnameStatusSpec) GetHostname() string {
	if x != nil {
		return x.Hostname
	}
	return ""
}

func (x *HostnameStatusSpec) GetDomainname() string {
	if x != nil {
		return x.Domainname
	}
	return ""
}

// LinkRefreshSpec describes status of rendered secrets.
type LinkRefreshSpec struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Generation int64 `protobuf:"varint,1,opt,name=generation,proto3" json:"generation,omitempty"`
}

func (x *LinkRefreshSpec) Reset() {
	*x = LinkRefreshSpec{}
	if protoimpl.UnsafeEnabled {
		mi := &file_resource_definitions_network_network_proto_msgTypes[11]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*LinkRefreshSpec) ProtoMessage() {}

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

func (x *LinkRefreshSpec) GetGeneration() int64 {
	if x != nil {
		return x.Generation
	}
	return 0
}

// LinkSpecSpec describes spec for the link.
type LinkSpecSpec struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Name         string                   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Logical      bool                     `protobuf:"varint,2,opt,name=logical,proto3" json:"logical,omitempty"`
	Up           bool                     `protobuf:"varint,3,opt,name=up,proto3" json:"up,omitempty"`
	Mtu          uint32                   `protobuf:"varint,4,opt,name=mtu,proto3" json:"mtu,omitempty"`
	Kind         string                   `protobuf:"bytes,5,opt,name=kind,proto3" json:"kind,omitempty"`
	Type         enums.NethelpersLinkType `protobuf:"varint,6,opt,name=type,proto3,enum=talos.resource.definitions.enums.NethelpersLinkType" json:"type,omitempty"`
	ParentName   string                   `protobuf:"bytes,7,opt,name=parent_name,json=parentName,proto3" json:"parent_name,omitempty"`
	BondSlave    *BondSlave               `protobuf:"bytes,8,opt,name=bond_slave,json=bondSlave,proto3" json:"bond_slave,omitempty"`
	BridgeSlave  *BridgeSlave             `protobuf:"bytes,9,opt,name=bridge_slave,json=bridgeSlave,proto3" json:"bridge_slave,omitempty"`
	Vlan         *VLANSpec                `protobuf:"bytes,10,opt,name=vlan,proto3" json:"vlan,omitempty"`
	BondMaster   *BondMasterSpec          `protobuf:"bytes,11,opt,name=bond_master,json=bondMaster,proto3" json:"bond_master,omitempty"`
	BridgeMaster *BridgeMasterSpec        `protobuf:"bytes,12,opt,name=bridge_master,json=bridgeMaster,proto3" json:"bridge_master,omitempty"`
	Wireguard    *WireguardSpec           `protobuf:"bytes,13,opt,name=wireguard,proto3" json:"wireguard,omitempty"`
	ConfigLayer  enums.NetworkConfigLayer `protobuf:"varint,14,opt,name=config_layer,json=configLayer,proto3,enum=talos.resource.definitions.enums.NetworkConfigLayer" json:"config_layer,omitempty"`
}

func (x *LinkSpecSpec) Reset() {
	*x = LinkSpecSpec{}
	if protoimpl.UnsafeEnabled {
		mi := &file_resource_definitions_network_network_proto_msgTypes[12]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*LinkSpecSpec) ProtoMessage() {}

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

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

func (x *LinkSpecSpec) GetLogical() bool {
	if x != nil {
		return x.Logical
	}
	return false
}

func (x *LinkSpecSpec) GetUp() bool {
	if x != nil {
		return x.Up
	}
	return false
}

func (x *LinkSpecSpec) GetMtu() uint32 {
	if x != nil {
		return x.Mtu
	}
	return 0
}

func (x *LinkSpecSpec) GetKind() string {
	if x != nil {
		return x.Kind
	}
	return ""
}

func (x *LinkSpecSpec) GetType() enums.NethelpersLinkType {
	if x != nil {
		return x.Type
	}
	return enums.NethelpersLinkType(0)
}

func (x *LinkSpecSpec) GetParentName() string {
	if x != nil {
		return x.ParentName
	}
	return ""
}

func (x *LinkSpecSpec) GetBondSlave() *BondSlave {
	if x != nil {
		return x.BondSlave
	}
	return nil
}

func (x *LinkSpecSpec) GetBridgeSlave() *BridgeSlave {
	if x != nil {
		return x.BridgeSlave
	}
	return nil
}

func (x *LinkSpecSpec) GetVlan() *VLANSpec {
	if x != nil {
		return x.Vlan
	}
	return nil
}

func (x *LinkSpecSpec) GetBondMaster() *BondMasterSpec {
	if x != nil {
		return x.BondMaster
	}
	return nil
}

func (x *LinkSpecSpec) GetBridgeMaster() *BridgeMasterSpec {
	if x != nil {
		return x.BridgeMaster
	}
	return nil
}

func (x *LinkSpecSpec) GetWireguard() *WireguardSpec {
	if x != nil {
		return x.Wireguard
	}
	return nil
}

func (x *LinkSpecSpec) GetConfigLayer() enums.NetworkConfigLayer {
	if x != nil {
		return x.ConfigLayer
	}
	return enums.NetworkConfigLayer(0)
}

// LinkStatusSpec describes status of rendered secrets.
type LinkStatusSpec struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Index            uint32                           `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"`
	Type             enums.NethelpersLinkType         `protobuf:"varint,2,opt,name=type,proto3,enum=talos.resource.definitions.enums.NethelpersLinkType" json:"type,omitempty"`
	LinkIndex        uint32                           `protobuf:"varint,3,opt,name=link_index,json=linkIndex,proto3" json:"link_index,omitempty"`
	Flags            uint32                           `protobuf:"varint,4,opt,name=flags,proto3" json:"flags,omitempty"`
	HardwareAddr     []byte                           `protobuf:"bytes,5,opt,name=hardware_addr,json=hardwareAddr,proto3" json:"hardware_addr,omitempty"`
	BroadcastAddr    []byte                           `protobuf:"bytes,6,opt,name=broadcast_addr,json=broadcastAddr,proto3" json:"broadcast_addr,omitempty"`
	Mtu              uint32                           `protobuf:"varint,7,opt,name=mtu,proto3" json:"mtu,omitempty"`
	QueueDisc        string                           `protobuf:"bytes,8,opt,name=queue_disc,json=queueDisc,proto3" json:"queue_disc,omitempty"`
	MasterIndex      uint32                           `protobuf:"varint,9,opt,name=master_index,json=masterIndex,proto3" json:"master_index,omitempty"`
	OperationalState enums.NethelpersOperationalState `protobuf:"varint,10,opt,name=operational_state,json=operationalState,proto3,enum=talos.resource.definitions.enums.NethelpersOperationalState" json:"operational_state,omitempty"`
	Kind             string                           `protobuf:"bytes,11,opt,name=kind,proto3" json:"kind,omitempty"`
	SlaveKind        string                           `protobuf:"bytes,12,opt,name=slave_kind,json=slaveKind,proto3" json:"slave_kind,omitempty"`
	BusPath          string                           `protobuf:"bytes,13,opt,name=bus_path,json=busPath,proto3" json:"bus_path,omitempty"`
	Pciid            string                           `protobuf:"bytes,14,opt,name=pciid,proto3" json:"pciid,omitempty"`
	Driver           string                           `protobuf:"bytes,15,opt,name=driver,proto3" json:"driver,omitempty"`
	DriverVersion    string                           `protobuf:"bytes,16,opt,name=driver_version,json=driverVersion,proto3" json:"driver_version,omitempty"`
	FirmwareVersion  string                           `protobuf:"bytes,17,opt,name=firmware_version,json=firmwareVersion,proto3" json:"firmware_version,omitempty"`
	ProductId        string                           `protobuf:"bytes,18,opt,name=product_id,json=productId,proto3" json:"product_id,omitempty"`
	VendorId         string                           `protobuf:"bytes,19,opt,name=vendor_id,json=vendorId,proto3" json:"vendor_id,omitempty"`
	Product          string                           `protobuf:"bytes,20,opt,name=product,proto3" json:"product,omitempty"`
	Vendor           string                           `protobuf:"bytes,21,opt,name=vendor,proto3" json:"vendor,omitempty"`
	LinkState        bool                             `protobuf:"varint,22,opt,name=link_state,json=linkState,proto3" json:"link_state,omitempty"`
	SpeedMegabits    int64                            `protobuf:"varint,23,opt,name=speed_megabits,json=speedMegabits,proto3" json:"speed_megabits,omitempty"`
	Port             enums.NethelpersPort             `protobuf:"varint,24,opt,name=port,proto3,enum=talos.resource.definitions.enums.NethelpersPort" json:"port,omitempty"`
	Duplex           enums.NethelpersDuplex           `protobuf:"varint,25,opt,name=duplex,proto3,enum=talos.resource.definitions.enums.NethelpersDuplex" json:"duplex,omitempty"`
	Vlan             *VLANSpec                        `protobuf:"bytes,26,opt,name=vlan,proto3" json:"vlan,omitempty"`
	BridgeMaster     *BridgeMasterSpec                `protobuf:"bytes,27,opt,name=bridge_master,json=bridgeMaster,proto3" json:"bridge_master,omitempty"`
	BondMaster       *BondMasterSpec                  `protobuf:"bytes,28,opt,name=bond_master,json=bondMaster,proto3" json:"bond_master,omitempty"`
	Wireguard        *WireguardSpec                   `protobuf:"bytes,29,opt,name=wireguard,proto3" json:"wireguard,omitempty"`
	PermanentAddr    []byte                           `protobuf:"bytes,30,opt,name=permanent_addr,json=permanentAddr,proto3" json:"permanent_addr,omitempty"`
}

func (x *LinkStatusSpec) Reset() {
	*x = LinkStatusSpec{}
	if protoimpl.UnsafeEnabled {
		mi := &file_resource_definitions_network_network_proto_msgTypes[13]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*LinkStatusSpec) ProtoMessage() {}

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

func (x *LinkStatusSpec) GetIndex() uint32 {
	if x != nil {
		return x.Index
	}
	return 0
}

func (x *LinkStatusSpec) GetType() enums.NethelpersLinkType {
	if x != nil {
		return x.Type
	}
	return enums.NethelpersLinkType(0)
}

func (x *LinkStatusSpec) GetLinkIndex() uint32 {
	if x != nil {
		return x.LinkIndex
	}
	return 0
}

func (x *LinkStatusSpec) GetFlags() uint32 {
	if x != nil {
		return x.Flags
	}
	return 0
}

func (x *LinkStatusSpec) GetHardwareAddr() []byte {
	if x != nil {
		return x.HardwareAddr
	}
	return nil
}

func (x *LinkStatusSpec) GetBroadcastAddr() []byte {
	if x != nil {
		return x.BroadcastAddr
	}
	return nil
}

func (x *LinkStatusSpec) GetMtu() uint32 {
	if x != nil {
		return x.Mtu
	}
	return 0
}

func (x *LinkStatusSpec) GetQueueDisc() string {
	if x != nil {
		return x.QueueDisc
	}
	return ""
}

func (x *LinkStatusSpec) GetMasterIndex() uint32 {
	if x != nil {
		return x.MasterIndex
	}
	return 0
}

func (x *LinkStatusSpec) GetOperationalState() enums.NethelpersOperationalState {
	if x != nil {
		return x.OperationalState
	}
	return enums.NethelpersOperationalState(0)
}

func (x *LinkStatusSpec) GetKind() string {
	if x != nil {
		return x.Kind
	}
	return ""
}

func (x *LinkStatusSpec) GetSlaveKind() string {
	if x != nil {
		return x.SlaveKind
	}
	return ""
}

func (x *LinkStatusSpec) GetBusPath() string {
	if x != nil {
		return x.BusPath
	}
	return ""
}

func (x *LinkStatusSpec) GetPciid() string {
	if x != nil {
		return x.Pciid
	}
	return ""
}

func (x *LinkStatusSpec) GetDriver() string {
	if x != nil {
		return x.Driver
	}
	return ""
}

func (x *LinkStatusSpec) GetDriverVersion() string {
	if x != nil {
		return x.DriverVersion
	}
	return ""
}

func (x *LinkStatusSpec) GetFirmwareVersion() string {
	if x != nil {
		return x.FirmwareVersion
	}
	return ""
}

func (x *LinkStatusSpec) GetProductId() string {
	if x != nil {
		return x.ProductId
	}
	return ""
}

func (x *LinkStatusSpec) GetVendorId() string {
	if x != nil {
		return x.VendorId
	}
	return ""
}

func (x *LinkStatusSpec) GetProduct() string {
	if x != nil {
		return x.Product
	}
	return ""
}

func (x *LinkStatusSpec) GetVendor() string {
	if x != nil {
		return x.Vendor
	}
	return ""
}

func (x *LinkStatusSpec) GetLinkState() bool {
	if x != nil {
		return x.LinkState
	}
	return false
}

func (x *LinkStatusSpec) GetSpeedMegabits() int64 {
	if x != nil {
		return x.SpeedMegabits
	}
	return 0
}

func (x *LinkStatusSpec) GetPort() enums.NethelpersPort {
	if x != nil {
		return x.Port
	}
	return enums.NethelpersPort(0)
}

func (x *LinkStatusSpec) GetDuplex() enums.NethelpersDuplex {
	if x != nil {
		return x.Duplex
	}
	return enums.NethelpersDuplex(0)
}

func (x *LinkStatusSpec) GetVlan() *VLANSpec {
	if x != nil {
		return x.Vlan
	}
	return nil
}

func (x *LinkStatusSpec) GetBridgeMaster() *BridgeMasterSpec {
	if x != nil {
		return x.BridgeMaster
	}
	return nil
}

func (x *LinkStatusSpec) GetBondMaster() *BondMasterSpec {
	if x != nil {
		return x.BondMaster
	}
	return nil
}

func (x *LinkStatusSpec) GetWireguard() *WireguardSpec {
	if x != nil {
		return x.Wireguard
	}
	return nil
}

func (x *LinkStatusSpec) GetPermanentAddr() []byte {
	if x != nil {
		return x.PermanentAddr
	}
	return nil
}

// NodeAddressFilterSpec describes a filter for NodeAddresses.
type NodeAddressFilterSpec struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	IncludeSubnets []*common.NetIPPrefix `protobuf:"bytes,1,rep,name=include_subnets,json=includeSubnets,proto3" json:"include_subnets,omitempty"`
	ExcludeSubnets []*common.NetIPPrefix `protobuf:"bytes,2,rep,name=exclude_subnets,json=excludeSubnets,proto3" json:"exclude_subnets,omitempty"`
}

func (x *NodeAddressFilterSpec) Reset() {
	*x = NodeAddressFilterSpec{}
	if protoimpl.UnsafeEnabled {
		mi := &file_resource_definitions_network_network_proto_msgTypes[14]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*NodeAddressFilterSpec) ProtoMessage() {}

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

func (x *NodeAddressFilterSpec) GetIncludeSubnets() []*common.NetIPPrefix {
	if x != nil {
		return x.IncludeSubnets
	}
	return nil
}

func (x *NodeAddressFilterSpec) GetExcludeSubnets() []*common.NetIPPrefix {
	if x != nil {
		return x.ExcludeSubnets
	}
	return nil
}

// NodeAddressSpec describes a set of node addresses.
type NodeAddressSpec struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Addresses []*common.NetIPPrefix `protobuf:"bytes,1,rep,name=addresses,proto3" json:"addresses,omitempty"`
}

func (x *NodeAddressSpec) Reset() {
	*x = NodeAddressSpec{}
	if protoimpl.UnsafeEnabled {
		mi := &file_resource_definitions_network_network_proto_msgTypes[15]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*NodeAddressSpec) ProtoMessage() {}

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

func (x *NodeAddressSpec) GetAddresses() []*common.NetIPPrefix {
	if x != nil {
		return x.Addresses
	}
	return nil
}

// OperatorSpecSpec describes DNS resolvers.
type OperatorSpecSpec struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Operator    enums.NetworkOperator    `protobuf:"varint,1,opt,name=operator,proto3,enum=talos.resource.definitions.enums.NetworkOperator" json:"operator,omitempty"`
	LinkName    string                   `protobuf:"bytes,2,opt,name=link_name,json=linkName,proto3" json:"link_name,omitempty"`
	RequireUp   bool                     `protobuf:"varint,3,opt,name=require_up,json=requireUp,proto3" json:"require_up,omitempty"`
	Dhcp4       *DHCP4OperatorSpec       `protobuf:"bytes,4,opt,name=dhcp4,proto3" json:"dhcp4,omitempty"`
	Dhcp6       *DHCP6OperatorSpec       `protobuf:"bytes,5,opt,name=dhcp6,proto3" json:"dhcp6,omitempty"`
	Vip         *VIPOperatorSpec         `protobuf:"bytes,6,opt,name=vip,proto3" json:"vip,omitempty"`
	ConfigLayer enums.NetworkConfigLayer `protobuf:"varint,7,opt,name=config_layer,json=configLayer,proto3,enum=talos.resource.definitions.enums.NetworkConfigLayer" json:"config_layer,omitempty"`
}

func (x *OperatorSpecSpec) Reset() {
	*x = OperatorSpecSpec{}
	if protoimpl.UnsafeEnabled {
		mi := &file_resource_definitions_network_network_proto_msgTypes[16]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*OperatorSpecSpec) ProtoMessage() {}

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

func (x *OperatorSpecSpec) GetOperator() enums.NetworkOperator {
	if x != nil {
		return x.Operator
	}
	return enums.NetworkOperator(0)
}

func (x *OperatorSpecSpec) GetLinkName() string {
	if x != nil {
		return x.LinkName
	}
	return ""
}

func (x *OperatorSpecSpec) GetRequireUp() bool {
	if x != nil {
		return x.RequireUp
	}
	return false
}

func (x *OperatorSpecSpec) GetDhcp4() *DHCP4OperatorSpec {
	if x != nil {
		return x.Dhcp4
	}
	return nil
}

func (x *OperatorSpecSpec) GetDhcp6() *DHCP6OperatorSpec {
	if x != nil {
		return x.Dhcp6
	}
	return nil
}

func (x *OperatorSpecSpec) GetVip() *VIPOperatorSpec {
	if x != nil {
		return x.Vip
	}
	return nil
}

func (x *OperatorSpecSpec) GetConfigLayer() enums.NetworkConfigLayer {
	if x != nil {
		return x.ConfigLayer
	}
	return enums.NetworkConfigLayer(0)
}

// ResolverSpecSpec describes DNS resolvers.
type ResolverSpecSpec struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	DnsServers  []*common.NetIP          `protobuf:"bytes,1,rep,name=dns_servers,json=dnsServers,proto3" json:"dns_servers,omitempty"`
	ConfigLayer enums.NetworkConfigLayer `protobuf:"varint,2,opt,name=config_layer,json=configLayer,proto3,enum=talos.resource.definitions.enums.NetworkConfigLayer" json:"config_layer,omitempty"`
}

func (x *ResolverSpecSpec) Reset() {
	*x = ResolverSpecSpec{}
	if protoimpl.UnsafeEnabled {
		mi := &file_resource_definitions_network_network_proto_msgTypes[17]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ResolverSpecSpec) ProtoMessage() {}

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

func (x *ResolverSpecSpec) GetDnsServers() []*common.NetIP {
	if x != nil {
		return x.DnsServers
	}
	return nil
}

func (x *ResolverSpecSpec) GetConfigLayer() enums.NetworkConfigLayer {
	if x != nil {
		return x.ConfigLayer
	}
	return enums.NetworkConfigLayer(0)
}

// ResolverStatusSpec describes DNS resolvers.
type ResolverStatusSpec struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	DnsServers []*common.NetIP `protobuf:"bytes,1,rep,name=dns_servers,json=dnsServers,proto3" json:"dns_servers,omitempty"`
}

func (x *ResolverStatusSpec) Reset() {
	*x = ResolverStatusSpec{}
	if protoimpl.UnsafeEnabled {
		mi := &file_resource_definitions_network_network_proto_msgTypes[18]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ResolverStatusSpec) ProtoMessage() {}

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

func (x *ResolverStatusSpec) GetDnsServers() []*common.NetIP {
	if x != nil {
		return x.DnsServers
	}
	return nil
}

// RouteSpecSpec describes the route.
type RouteSpecSpec struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Family      enums.NethelpersFamily        `protobuf:"varint,1,opt,name=family,proto3,enum=talos.resource.definitions.enums.NethelpersFamily" json:"family,omitempty"`
	Destination *common.NetIPPrefix           `protobuf:"bytes,2,opt,name=destination,proto3" json:"destination,omitempty"`
	Source      *common.NetIP                 `protobuf:"bytes,3,opt,name=source,proto3" json:"source,omitempty"`
	Gateway     *common.NetIP                 `protobuf:"bytes,4,opt,name=gateway,proto3" json:"gateway,omitempty"`
	OutLinkName string                        `protobuf:"bytes,5,opt,name=out_link_name,json=outLinkName,proto3" json:"out_link_name,omitempty"`
	Table       enums.NethelpersRoutingTable  `protobuf:"varint,6,opt,name=table,proto3,enum=talos.resource.definitions.enums.NethelpersRoutingTable" json:"table,omitempty"`
	Priority    uint32                        `protobuf:"varint,7,opt,name=priority,proto3" json:"priority,omitempty"`
	Scope       enums.NethelpersScope         `protobuf:"varint,8,opt,name=scope,proto3,enum=talos.resource.definitions.enums.NethelpersScope" json:"scope,omitempty"`
	Type        enums.NethelpersRouteType     `protobuf:"varint,9,opt,name=type,proto3,enum=talos.resource.definitions.enums.NethelpersRouteType" json:"type,omitempty"`
	Flags       uint32                        `protobuf:"varint,10,opt,name=flags,proto3" json:"flags,omitempty"`
	Protocol    enums.NethelpersRouteProtocol `protobuf:"varint,11,opt,name=protocol,proto3,enum=talos.resource.definitions.enums.NethelpersRouteProtocol" json:"protocol,omitempty"`
	ConfigLayer enums.NetworkConfigLayer      `protobuf:"varint,12,opt,name=config_layer,json=configLayer,proto3,enum=talos.resource.definitions.enums.NetworkConfigLayer" json:"config_layer,omitempty"`
	Mtu         uint32                        `protobuf:"varint,13,opt,name=mtu,proto3" json:"mtu,omitempty"`
}

func (x *RouteSpecSpec) Reset() {
	*x = RouteSpecSpec{}
	if protoimpl.UnsafeEnabled {
		mi := &file_resource_definitions_network_network_proto_msgTypes[19]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*RouteSpecSpec) ProtoMessage() {}

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

func (x *RouteSpecSpec) GetFamily() enums.NethelpersFamily {
	if x != nil {
		return x.Family
	}
	return enums.NethelpersFamily(0)
}

func (x *RouteSpecSpec) GetDestination() *common.NetIPPrefix {
	if x != nil {
		return x.Destination
	}
	return nil
}

func (x *RouteSpecSpec) GetSource() *common.NetIP {
	if x != nil {
		return x.Source
	}
	return nil
}

func (x *RouteSpecSpec) GetGateway() *common.NetIP {
	if x != nil {
		return x.Gateway
	}
	return nil
}

func (x *RouteSpecSpec) GetOutLinkName() string {
	if x != nil {
		return x.OutLinkName
	}
	return ""
}

func (x *RouteSpecSpec) GetTable() enums.NethelpersRoutingTable {
	if x != nil {
		return x.Table
	}
	return enums.NethelpersRoutingTable(0)
}

func (x *RouteSpecSpec) GetPriority() uint32 {
	if x != nil {
		return x.Priority
	}
	return 0
}

func (x *RouteSpecSpec) GetScope() enums.NethelpersScope {
	if x != nil {
		return x.Scope
	}
	return enums.NethelpersScope(0)
}

func (x *RouteSpecSpec) GetType() enums.NethelpersRouteType {
	if x != nil {
		return x.Type
	}
	return enums.NethelpersRouteType(0)
}

func (x *RouteSpecSpec) GetFlags() uint32 {
	if x != nil {
		return x.Flags
	}
	return 0
}

func (x *RouteSpecSpec) GetProtocol() enums.NethelpersRouteProtocol {
	if x != nil {
		return x.Protocol
	}
	return enums.NethelpersRouteProtocol(0)
}

func (x *RouteSpecSpec) GetConfigLayer() enums.NetworkConfigLayer {
	if x != nil {
		return x.ConfigLayer
	}
	return enums.NetworkConfigLayer(0)
}

func (x *RouteSpecSpec) GetMtu() uint32 {
	if x != nil {
		return x.Mtu
	}
	return 0
}

// RouteStatusSpec describes status of rendered secrets.
type RouteStatusSpec struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Family       enums.NethelpersFamily        `protobuf:"varint,1,opt,name=family,proto3,enum=talos.resource.definitions.enums.NethelpersFamily" json:"family,omitempty"`
	Destination  *common.NetIPPrefix           `protobuf:"bytes,2,opt,name=destination,proto3" json:"destination,omitempty"`
	Source       *common.NetIP                 `protobuf:"bytes,3,opt,name=source,proto3" json:"source,omitempty"`
	Gateway      *common.NetIP                 `protobuf:"bytes,4,opt,name=gateway,proto3" json:"gateway,omitempty"`
	OutLinkIndex uint32                        `protobuf:"varint,5,opt,name=out_link_index,json=outLinkIndex,proto3" json:"out_link_index,omitempty"`
	OutLinkName  string                        `protobuf:"bytes,6,opt,name=out_link_name,json=outLinkName,proto3" json:"out_link_name,omitempty"`
	Table        enums.NethelpersRoutingTable  `protobuf:"varint,7,opt,name=table,proto3,enum=talos.resource.definitions.enums.NethelpersRoutingTable" json:"table,omitempty"`
	Priority     uint32                        `protobuf:"varint,8,opt,name=priority,proto3" json:"priority,omitempty"`
	Scope        enums.NethelpersScope         `protobuf:"varint,9,opt,name=scope,proto3,enum=talos.resource.definitions.enums.NethelpersScope" json:"scope,omitempty"`
	Type         enums.NethelpersRouteType     `protobuf:"varint,10,opt,name=type,proto3,enum=talos.resource.definitions.enums.NethelpersRouteType" json:"type,omitempty"`
	Flags        uint32                        `protobuf:"varint,11,opt,name=flags,proto3" json:"flags,omitempty"`
	Protocol     enums.NethelpersRouteProtocol `protobuf:"varint,12,opt,name=protocol,proto3,enum=talos.resource.definitions.enums.NethelpersRouteProtocol" json:"protocol,omitempty"`
	Mtu          uint32                        `protobuf:"varint,13,opt,name=mtu,proto3" json:"mtu,omitempty"`
}

func (x *RouteStatusSpec) Reset() {
	*x = RouteStatusSpec{}
	if protoimpl.UnsafeEnabled {
		mi := &file_resource_definitions_network_network_proto_msgTypes[20]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*RouteStatusSpec) ProtoMessage() {}

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

func (x *RouteStatusSpec) GetFamily() enums.NethelpersFamily {
	if x != nil {
		return x.Family
	}
	return enums.NethelpersFamily(0)
}

func (x *RouteStatusSpec) GetDestination() *common.NetIPPrefix {
	if x != nil {
		return x.Destination
	}
	return nil
}

func (x *RouteStatusSpec) GetSource() *common.NetIP {
	if x != nil {
		return x.Source
	}
	return nil
}

func (x *RouteStatusSpec) GetGateway() *common.NetIP {
	if x != nil {
		return x.Gateway
	}
	return nil
}

func (x *RouteStatusSpec) GetOutLinkIndex() uint32 {
	if x != nil {
		return x.OutLinkIndex
	}
	return 0
}

func (x *RouteStatusSpec) GetOutLinkName() string {
	if x != nil {
		return x.OutLinkName
	}
	return ""
}

func (x *RouteStatusSpec) GetTable() enums.NethelpersRoutingTable {
	if x != nil {
		return x.Table
	}
	return enums.NethelpersRoutingTable(0)
}

func (x *RouteStatusSpec) GetPriority() uint32 {
	if x != nil {
		return x.Priority
	}
	return 0
}

func (x *RouteStatusSpec) GetScope() enums.NethelpersScope {
	if x != nil {
		return x.Scope
	}
	return enums.NethelpersScope(0)
}

func (x *RouteStatusSpec) GetType() enums.NethelpersRouteType {
	if x != nil {
		return x.Type
	}
	return enums.NethelpersRouteType(0)
}

func (x *RouteStatusSpec) GetFlags() uint32 {
	if x != nil {
		return x.Flags
	}
	return 0
}

func (x *RouteStatusSpec) GetProtocol() enums.NethelpersRouteProtocol {
	if x != nil {
		return x.Protocol
	}
	return enums.NethelpersRouteProtocol(0)
}

func (x *RouteStatusSpec) GetMtu() uint32 {
	if x != nil {
		return x.Mtu
	}
	return 0
}

// STPSpec describes Spanning Tree Protocol (STP) settings of a bridge.
type STPSpec struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
}

func (x *STPSpec) Reset() {
	*x = STPSpec{}
	if protoimpl.UnsafeEnabled {
		mi := &file_resource_definitions_network_network_proto_msgTypes[21]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*STPSpec) ProtoMessage() {}

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

func (x *STPSpec) GetEnabled() bool {
	if x != nil {
		return x.Enabled
	}
	return false
}

// StatusSpec describes network state.
type StatusSpec struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	AddressReady      bool `protobuf:"varint,1,opt,name=address_ready,json=addressReady,proto3" json:"address_ready,omitempty"`
	ConnectivityReady bool `protobuf:"varint,2,opt,name=connectivity_ready,json=connectivityReady,proto3" json:"connectivity_ready,omitempty"`
	HostnameReady     bool `protobuf:"varint,3,opt,name=hostname_ready,json=hostnameReady,proto3" json:"hostname_ready,omitempty"`
	EtcFilesReady     bool `protobuf:"varint,4,opt,name=etc_files_ready,json=etcFilesReady,proto3" json:"etc_files_ready,omitempty"`
}

func (x *StatusSpec) Reset() {
	*x = StatusSpec{}
	if protoimpl.UnsafeEnabled {
		mi := &file_resource_definitions_network_network_proto_msgTypes[22]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*StatusSpec) ProtoMessage() {}

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

func (x *StatusSpec) GetAddressReady() bool {
	if x != nil {
		return x.AddressReady
	}
	return false
}

func (x *StatusSpec) GetConnectivityReady() bool {
	if x != nil {
		return x.ConnectivityReady
	}
	return false
}

func (x *StatusSpec) GetHostnameReady() bool {
	if x != nil {
		return x.HostnameReady
	}
	return false
}

func (x *StatusSpec) GetEtcFilesReady() bool {
	if x != nil {
		return x.EtcFilesReady
	}
	return false
}

// TimeServerSpecSpec describes NTP servers.
type TimeServerSpecSpec struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NtpServers  []string                 `protobuf:"bytes,1,rep,name=ntp_servers,json=ntpServers,proto3" json:"ntp_servers,omitempty"`
	ConfigLayer enums.NetworkConfigLayer `protobuf:"varint,2,opt,name=config_layer,json=configLayer,proto3,enum=talos.resource.definitions.enums.NetworkConfigLayer" json:"config_layer,omitempty"`
}

func (x *TimeServerSpecSpec) Reset() {
	*x = TimeServerSpecSpec{}
	if protoimpl.UnsafeEnabled {
		mi := &file_resource_definitions_network_network_proto_msgTypes[23]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*TimeServerSpecSpec) ProtoMessage() {}

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

func (x *TimeServerSpecSpec) GetNtpServers() []string {
	if x != nil {
		return x.NtpServers
	}
	return nil
}

func (x *TimeServerSpecSpec) GetConfigLayer() enums.NetworkConfigLayer {
	if x != nil {
		return x.ConfigLayer
	}
	return enums.NetworkConfigLayer(0)
}

// TimeServerStatusSpec describes NTP servers.
type TimeServerStatusSpec struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NtpServers []string `protobuf:"bytes,1,rep,name=ntp_servers,json=ntpServers,proto3" json:"ntp_servers,omitempty"`
}

func (x *TimeServerStatusSpec) Reset() {
	*x = TimeServerStatusSpec{}
	if protoimpl.UnsafeEnabled {
		mi := &file_resource_definitions_network_network_proto_msgTypes[24]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*TimeServerStatusSpec) ProtoMessage() {}

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

func (x *TimeServerStatusSpec) GetNtpServers() []string {
	if x != nil {
		return x.NtpServers
	}
	return nil
}

// VIPEquinixMetalSpec describes virtual (elastic) IP settings for Equinix Metal.
type VIPEquinixMetalSpec struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	DeviceId  string `protobuf:"bytes,2,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	ApiToken  string `protobuf:"bytes,3,opt,name=api_token,json=apiToken,proto3" json:"api_token,omitempty"`
}

func (x *VIPEquinixMetalSpec) Reset() {
	*x = VIPEquinixMetalSpec{}
	if protoimpl.UnsafeEnabled {
		mi := &file_resource_definitions_network_network_proto_msgTypes[25]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*VIPEquinixMetalSpec) ProtoMessage() {}

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

func (x *VIPEquinixMetalSpec) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *VIPEquinixMetalSpec) GetDeviceId() string {
	if x != nil {
		return x.DeviceId
	}
	return ""
}

func (x *VIPEquinixMetalSpec) GetApiToken() string {
	if x != nil {
		return x.ApiToken
	}
	return ""
}

// VIPHCloudSpec describes virtual (elastic) IP settings for Hetzner Cloud.
type VIPHCloudSpec struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	DeviceId  int64  `protobuf:"varint,1,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	NetworkId int64  `protobuf:"varint,2,opt,name=network_id,json=networkId,proto3" json:"network_id,omitempty"`
	ApiToken  string `protobuf:"bytes,3,opt,name=api_token,json=apiToken,proto3" json:"api_token,omitempty"`
}

func (x *VIPHCloudSpec) Reset() {
	*x = VIPHCloudSpec{}
	if protoimpl.UnsafeEnabled {
		mi := &file_resource_definitions_network_network_proto_msgTypes[26]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*VIPHCloudSpec) ProtoMessage() {}

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

func (x *VIPHCloudSpec) GetDeviceId() int64 {
	if x != nil {
		return x.DeviceId
	}
	return 0
}

func (x *VIPHCloudSpec) GetNetworkId() int64 {
	if x != nil {
		return x.NetworkId
	}
	return 0
}

func (x *VIPHCloudSpec) GetApiToken() string {
	if x != nil {
		return x.ApiToken
	}
	return ""
}

// VIPOperatorSpec describes virtual IP operator options.
type VIPOperatorSpec struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ip            *common.NetIP        `protobuf:"bytes,1,opt,name=ip,proto3" json:"ip,omitempty"`
	GratuitousArp bool                 `protobuf:"varint,2,opt,name=gratuitous_arp,json=gratuitousArp,proto3" json:"gratuitous_arp,omitempty"`
	EquinixMetal  *VIPEquinixMetalSpec `protobuf:"bytes,3,opt,name=equinix_metal,json=equinixMetal,proto3" json:"equinix_metal,omitempty"`
	HCloud        *VIPHCloudSpec       `protobuf:"bytes,4,opt,name=h_cloud,json=hCloud,proto3" json:"h_cloud,omitempty"`
}

func (x *VIPOperatorSpec) Reset() {
	*x = VIPOperatorSpec{}
	if protoimpl.UnsafeEnabled {
		mi := &file_resource_definitions_network_network_proto_msgTypes[27]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*VIPOperatorSpec) ProtoMessage() {}

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

func (x *VIPOperatorSpec) GetIp() *common.NetIP {
	if x != nil {
		return x.Ip
	}
	return nil
}

func (x *VIPOperatorSpec) GetGratuitousArp() bool {
	if x != nil {
		return x.GratuitousArp
	}
	return false
}

func (x *VIPOperatorSpec) GetEquinixMetal() *VIPEquinixMetalSpec {
	if x != nil {
		return x.EquinixMetal
	}
	return nil
}

func (x *VIPOperatorSpec) GetHCloud() *VIPHCloudSpec {
	if x != nil {
		return x.HCloud
	}
	return nil
}

// VLANSpec describes VLAN settings if Kind == "vlan".
type VLANSpec struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Vid      uint32                       `protobuf:"fixed32,1,opt,name=vid,proto3" json:"vid,omitempty"`
	Protocol enums.NethelpersVLANProtocol `protobuf:"varint,2,opt,name=protocol,proto3,enum=talos.resource.definitions.enums.NethelpersVLANProtocol" json:"protocol,omitempty"`
}

func (x *VLANSpec) Reset() {
	*x = VLANSpec{}
	if protoimpl.UnsafeEnabled {
		mi := &file_resource_definitions_network_network_proto_msgTypes[28]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*VLANSpec) ProtoMessage() {}

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

// Deprecated: Use VLANSpec.ProtoReflect.Descriptor instead.
func (*VLANSpec) Descriptor() ([]byte, []int) {
	return file_resource_definitions_network_network_proto_rawDescGZIP(), []int{28}
}

func (x *VLANSpec) GetVid() uint32 {
	if x != nil {
		return x.Vid
	}
	return 0
}

func (x *VLANSpec) GetProtocol() enums.NethelpersVLANProtocol {
	if x != nil {
		return x.Protocol
	}
	return enums.NethelpersVLANProtocol(0)
}

// WireguardPeer describes a single peer.
type WireguardPeer struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	PublicKey                   string                `protobuf:"bytes,1,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"`
	PresharedKey                string                `protobuf:"bytes,2,opt,name=preshared_key,json=presharedKey,proto3" json:"preshared_key,omitempty"`
	Endpoint                    string                `protobuf:"bytes,3,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
	PersistentKeepaliveInterval *durationpb.Duration  `protobuf:"bytes,4,opt,name=persistent_keepalive_interval,json=persistentKeepaliveInterval,proto3" json:"persistent_keepalive_interval,omitempty"`
	AllowedIps                  []*common.NetIPPrefix `protobuf:"bytes,5,rep,name=allowed_ips,json=allowedIps,proto3" json:"allowed_ips,omitempty"`
}

func (x *WireguardPeer) Reset() {
	*x = WireguardPeer{}
	if protoimpl.UnsafeEnabled {
		mi := &file_resource_definitions_network_network_proto_msgTypes[29]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*WireguardPeer) ProtoMessage() {}

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

// Deprecated: Use WireguardPeer.ProtoReflect.Descriptor instead.
func (*WireguardPeer) Descriptor() ([]byte, []int) {
	return file_resource_definitions_network_network_proto_rawDescGZIP(), []int{29}
}

func (x *WireguardPeer) GetPublicKey() string {
	if x != nil {
		return x.PublicKey
	}
	return ""
}

func (x *WireguardPeer) GetPresharedKey() string {
	if x != nil {
		return x.PresharedKey
	}
	return ""
}

func (x *WireguardPeer) GetEndpoint() string {
	if x != nil {
		return x.Endpoint
	}
	return ""
}

func (x *WireguardPeer) GetPersistentKeepaliveInterval() *durationpb.Duration {
	if x != nil {
		return x.PersistentKeepaliveInterval
	}
	return nil
}

func (x *WireguardPeer) GetAllowedIps() []*common.NetIPPrefix {
	if x != nil {
		return x.AllowedIps
	}
	return nil
}

// WireguardSpec describes Wireguard settings if Kind == "wireguard".
type WireguardSpec struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	PrivateKey   string           `protobuf:"bytes,1,opt,name=private_key,json=privateKey,proto3" json:"private_key,omitempty"`
	PublicKey    string           `protobuf:"bytes,2,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"`
	ListenPort   int64            `protobuf:"varint,3,opt,name=listen_port,json=listenPort,proto3" json:"listen_port,omitempty"`
	FirewallMark int64            `protobuf:"varint,4,opt,name=firewall_mark,json=firewallMark,proto3" json:"firewall_mark,omitempty"`
	Peers        []*WireguardPeer `protobuf:"bytes,5,rep,name=peers,proto3" json:"peers,omitempty"`
}

func (x *WireguardSpec) Reset() {
	*x = WireguardSpec{}
	if protoimpl.UnsafeEnabled {
		mi := &file_resource_definitions_network_network_proto_msgTypes[30]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*WireguardSpec) ProtoMessage() {}

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

// Deprecated: Use WireguardSpec.ProtoReflect.Descriptor instead.
func (*WireguardSpec) Descriptor() ([]byte, []int) {
	return file_resource_definitions_network_network_proto_rawDescGZIP(), []int{30}
}

func (x *WireguardSpec) GetPrivateKey() string {
	if x != nil {
		return x.PrivateKey
	}
	return ""
}

func (x *WireguardSpec) GetPublicKey() string {
	if x != nil {
		return x.PublicKey
	}
	return ""
}

func (x *WireguardSpec) GetListenPort() int64 {
	if x != nil {
		return x.ListenPort
	}
	return 0
}

func (x *WireguardSpec) GetFirewallMark() int64 {
	if x != nil {
		return x.FirewallMark
	}
	return 0
}

func (x *WireguardSpec) GetPeers() []*WireguardPeer {
	if x != nil {
		return x.Peers
	}
	return nil
}

var File_resource_definitions_network_network_proto protoreflect.FileDescriptor

var file_resource_definitions_network_network_proto_rawDesc = []byte{
	0x0a, 0x2a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2f, 0x64, 0x65, 0x66, 0x69, 0x6e,
	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x6e,
	0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x22, 0x74, 0x61,
	0x6c, 0x6f, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x64, 0x65, 0x66,
	0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
	0x1a, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2f,
	0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x65, 0x6e, 0x75, 0x6d,
	0x73, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8d, 0x03,
	0x0a, 0x0f, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x70, 0x65, 0x63, 0x53, 0x70, 0x65,
	0x63, 0x12, 0x2d, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4e, 0x65, 0x74, 0x49,
	0x50, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
	0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x69, 0x6e, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4a, 0x0a,
	0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e,
	0x74, 0x61, 0x6c, 0x6f, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x64,
	0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73,
	0x2e, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x46, 0x61, 0x6d, 0x69, 0x6c,
	0x79, 0x52, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x47, 0x0a, 0x05, 0x73, 0x63, 0x6f,
	0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x74, 0x61, 0x6c, 0x6f, 0x73,
	0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69,
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4e, 0x65, 0x74, 0x68,
	0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x05, 0x73, 0x63, 0x6f,
	0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28,
	0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x6e, 0x6e, 0x6f,
	0x75, 0x6e, 0x63, 0x65, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x61, 0x72, 0x70, 0x18, 0x06, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x0f, 0x61, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x57, 0x69, 0x74,
	0x68, 0x41, 0x72, 0x70, 0x12, 0x57, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x6c,
	0x61, 0x79, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x74, 0x61, 0x6c,
	0x6f, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x69,
	0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4e, 0x65,
	0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4c, 0x61, 0x79, 0x65, 0x72,
	0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x22, 0xd1, 0x03,
	0x0a, 0x11, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53,
	0x70, 0x65, 0x63, 0x12, 0x2d, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4e, 0x65,
	0x74, 0x49, 0x50, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65,
	0x73, 0x73, 0x12, 0x23, 0x0a, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x0d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4e, 0x65, 0x74, 0x49, 0x50,
	0x52, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x12, 0x2b, 0x0a, 0x09, 0x62, 0x72, 0x6f, 0x61, 0x64,
	0x63, 0x61, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x63, 0x6f, 0x6d,
	0x6d, 0x6f, 0x6e, 0x2e, 0x4e, 0x65, 0x74, 0x49, 0x50, 0x52, 0x09, 0x62, 0x72, 0x6f, 0x61, 0x64,
	0x63, 0x61, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x07, 0x61, 0x6e, 0x79, 0x63, 0x61, 0x73, 0x74, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4e,
	0x65, 0x74, 0x49, 0x50, 0x52, 0x07, 0x61, 0x6e, 0x79, 0x63, 0x61, 0x73, 0x74, 0x12, 0x2b, 0x0a,
	0x09, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x0d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4e, 0x65, 0x74, 0x49, 0x50, 0x52,
	0x09, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x69,
	0x6e, 0x6b, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09,
	0x6c, 0x69, 0x6e, 0x6b, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x69, 0x6e,
	0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x69,
	0x6e, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4a, 0x0a, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79,
	0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x2e, 0x72,
	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69,
	0x6f, 0x6e, 0x73, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c,
	0x70, 0x65, 0x72, 0x73, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x52, 0x06, 0x66, 0x61, 0x6d, 0x69,
	0x6c, 0x79, 0x12, 0x47, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28,
	0x0e, 0x32, 0x31, 0x2e, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
	0x63, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x65,
	0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x53,
	0x63, 0x6f, 0x70, 0x65, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66,
	0x6c, 0x61, 0x67, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67,
	0x73, 0x22, 0xa4, 0x0a, 0x0a, 0x0e, 0x42, 0x6f, 0x6e, 0x64, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72,
	0x53, 0x70, 0x65, 0x63, 0x12, 0x48, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0e, 0x32, 0x34, 0x2e, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75,
	0x72, 0x63, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
	0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73,
	0x42, 0x6f, 0x6e, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x5f,
	0x0a, 0x0b, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f,
	0x75, 0x72, 0x63, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
	0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72,
	0x73, 0x42, 0x6f, 0x6e, 0x64, 0x58, 0x6d, 0x69, 0x74, 0x48, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c,
	0x69, 0x63, 0x79, 0x52, 0x0a, 0x68, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12,
	0x51, 0x0a, 0x09, 0x6c, 0x61, 0x63, 0x70, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x0e, 0x32, 0x34, 0x2e, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75,
	0x72, 0x63, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
	0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73,
	0x4c, 0x41, 0x43, 0x50, 0x52, 0x61, 0x74, 0x65, 0x52, 0x08, 0x6c, 0x61, 0x63, 0x70, 0x52, 0x61,
	0x74, 0x65, 0x12, 0x5a, 0x0a, 0x0c, 0x61, 0x72, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61,
	0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x74, 0x61, 0x6c, 0x6f, 0x73,
	0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69,
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4e, 0x65, 0x74, 0x68,
	0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x41, 0x52, 0x50, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
	0x65, 0x52, 0x0b, 0x61, 0x72, 0x70, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x12, 0x61,
	0x0a, 0x0f, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
	0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x2e,
	0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4e, 0x65, 0x74, 0x68, 0x65,
	0x6c, 0x70, 0x65, 0x72, 0x73, 0x41, 0x52, 0x50, 0x41, 0x6c, 0x6c, 0x54, 0x61, 0x72, 0x67, 0x65,
	0x74, 0x73, 0x52, 0x0d, 0x61, 0x72, 0x70, 0x41, 0x6c, 0x6c, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74,
	0x73, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x69, 0x6e, 0x64,
	0x65, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72,
	0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x66, 0x0a, 0x10, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72,
	0x79, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e,
	0x32, 0x3b, 0x2e, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x2e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x65, 0x6e,
	0x75, 0x6d, 0x73, 0x2e, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x50, 0x72,
	0x69, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x0f, 0x70,
	0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x5b,
	0x0a, 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x63, 0x18,
	0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x2e, 0x72, 0x65,
	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f,
	0x6e, 0x73, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70,
	0x65, 0x72, 0x73, 0x46, 0x61, 0x69, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x4d, 0x41, 0x43, 0x52, 0x0b,
	0x66, 0x61, 0x69, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x4d, 0x61, 0x63, 0x12, 0x51, 0x0a, 0x09, 0x61,
	0x64, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34,
	0x2e, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e,
	0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x65, 0x6e, 0x75, 0x6d,
	0x73, 0x2e, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x41, 0x44, 0x53, 0x65,
	0x6c, 0x65, 0x63, 0x74, 0x52, 0x08, 0x61, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x17,
	0x0a, 0x07, 0x6d, 0x69, 0x69, 0x5f, 0x6d, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52,
	0x06, 0x6d, 0x69, 0x69, 0x4d, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x75, 0x70, 0x5f, 0x64, 0x65,
	0x6c, 0x61, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x75, 0x70, 0x44, 0x65, 0x6c,
	0x61, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79,
	0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x6f, 0x77, 0x6e, 0x44, 0x65, 0x6c, 0x61,
	0x79, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x72, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61,
	0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x72, 0x70, 0x49, 0x6e, 0x74, 0x65,
	0x72, 0x76, 0x61, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x69,
	0x67, 0x6d, 0x70, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x65, 0x6e,
	0x64, 0x49, 0x67, 0x6d, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x69, 0x6e,
	0x6b, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x4c, 0x69, 0x6e,
	0x6b, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61,
	0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x70, 0x49, 0x6e, 0x74, 0x65, 0x72,
	0x76, 0x61, 0x6c, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x70,
	0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x76, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f,
	0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x50, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x76, 0x65, 0x12,
	0x24, 0x0a, 0x0e, 0x6e, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x74, 0x69,
	0x66, 0x18, 0x12, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0c, 0x6e, 0x75, 0x6d, 0x50, 0x65, 0x65, 0x72,
	0x4e, 0x6f, 0x74, 0x69, 0x66, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x6c, 0x62, 0x5f, 0x64, 0x79, 0x6e,
	0x61, 0x6d, 0x69, 0x63, 0x5f, 0x6c, 0x62, 0x18, 0x13, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0c, 0x74,
	0x6c, 0x62, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4c, 0x62, 0x12, 0x2a, 0x0a, 0x11, 0x61,
	0x6c, 0x6c, 0x5f, 0x73, 0x6c, 0x61, 0x76, 0x65, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65,
	0x18, 0x14, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0f, 0x61, 0x6c, 0x6c, 0x53, 0x6c, 0x61, 0x76, 0x65,
	0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x5f, 0x63,
	0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x75, 0x73,
	0x65, 0x43, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x11, 0x61, 0x64, 0x5f, 0x61,
	0x63, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x79, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x18, 0x16, 0x20,
	0x01, 0x28, 0x07, 0x52, 0x0e, 0x61, 0x64, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x79, 0x73, 0x50,
	0x72, 0x69, 0x6f, 0x12, 0x27, 0x0a, 0x10, 0x61, 0x64, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x70,
	0x6f, 0x72, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x17, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0d, 0x61,
	0x64, 0x55, 0x73, 0x65, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x11,
	0x70, 0x65, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x64, 0x65, 0x6c, 0x61,
	0x79, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x65, 0x65, 0x72, 0x4e, 0x6f, 0x74,
	0x69, 0x66, 0x79, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x22, 0x4d, 0x0a, 0x09, 0x42, 0x6f, 0x6e, 0x64,
	0x53, 0x6c, 0x61, 0x76, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f,
	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x73, 0x74,
	0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6c, 0x61, 0x76, 0x65, 0x5f,
	0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x73, 0x6c, 0x61,
	0x76, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x51, 0x0a, 0x10, 0x42, 0x72, 0x69, 0x64, 0x67,
	0x65, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, 0x3d, 0x0a, 0x03, 0x73,
	0x74, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x74, 0x61, 0x6c, 0x6f, 0x73,
	0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69,
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x53, 0x54,
	0x50, 0x53, 0x70, 0x65, 0x63, 0x52, 0x03, 0x73, 0x74, 0x70, 0x22, 0x2e, 0x0a, 0x0b, 0x42, 0x72,
	0x69, 0x64, 0x67, 0x65, 0x53, 0x6c, 0x61, 0x76, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x73,
	0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
	0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x6a, 0x0a, 0x11, 0x44, 0x48,
	0x43, 0x50, 0x34, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x70, 0x65, 0x63, 0x12,
	0x21, 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x72,
	0x69, 0x63, 0x12, 0x32, 0x0a, 0x15, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x6e,
	0x61, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x13, 0x73, 0x6b, 0x69, 0x70, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x7e, 0x0a, 0x11, 0x44, 0x48, 0x43, 0x50, 0x36, 0x4f,
	0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x64,
	0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x75, 0x69, 0x64, 0x12,
	0x21, 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x72,
	0x69, 0x63, 0x12, 0x32, 0x0a, 0x15, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x6e,
	0x61, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x13, 0x73, 0x6b, 0x69, 0x70, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4b, 0x0a, 0x10, 0x48, 0x61, 0x72, 0x64, 0x77, 0x61,
	0x72, 0x65, 0x41, 0x64, 0x64, 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
	0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23,
	0x0a, 0x0d, 0x68, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x68, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x41,
	0x64, 0x64, 0x72, 0x22, 0xa7, 0x01, 0x0a, 0x10, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65,
	0x53, 0x70, 0x65, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74,
	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74,
	0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x6e, 0x61,
	0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e,
	0x6e, 0x61, 0x6d, 0x65, 0x12, 0x57, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x6c,
	0x61, 0x79, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x74, 0x61, 0x6c,
	0x6f, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x69,
	0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4e, 0x65,
	0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4c, 0x61, 0x79, 0x65, 0x72,
	0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x22, 0x50, 0x0a,
	0x12, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53,
	0x70, 0x65, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12,
	0x1e, 0x0a, 0x0a, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x22,
	0x31, 0x0a, 0x0f, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x53, 0x70,
	0x65, 0x63, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x22, 0x9b, 0x06, 0x0a, 0x0c, 0x4c, 0x69, 0x6e, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x53,
	0x70, 0x65, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x6f, 0x67, 0x69, 0x63,
	0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61,
	0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x75, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x75,
	0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x74, 0x75, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03,
	0x6d, 0x74, 0x75, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x48, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18,
	0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x2e, 0x72, 0x65,
	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f,
	0x6e, 0x73, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70,
	0x65, 0x72, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70,
	0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
	0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x61,
	0x6d, 0x65, 0x12, 0x4c, 0x0a, 0x0a, 0x62, 0x6f, 0x6e, 0x64, 0x5f, 0x73, 0x6c, 0x61, 0x76, 0x65,
	0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x2e, 0x72,
	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69,
	0x6f, 0x6e, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x42, 0x6f, 0x6e, 0x64,
	0x53, 0x6c, 0x61, 0x76, 0x65, 0x52, 0x09, 0x62, 0x6f, 0x6e, 0x64, 0x53, 0x6c, 0x61, 0x76, 0x65,
	0x12, 0x52, 0x0a, 0x0c, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x5f, 0x73, 0x6c, 0x61, 0x76, 0x65,
	0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x2e, 0x72,
	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69,
	0x6f, 0x6e, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x42, 0x72, 0x69, 0x64,
	0x67, 0x65, 0x53, 0x6c, 0x61, 0x76, 0x65, 0x52, 0x0b, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x53,
	0x6c, 0x61, 0x76, 0x65, 0x12, 0x40, 0x0a, 0x04, 0x76, 0x6c, 0x61, 0x6e, 0x18, 0x0a, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75,
	0x72, 0x63, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
	0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x56, 0x4c, 0x41, 0x4e, 0x53, 0x70, 0x65, 0x63,
	0x52, 0x04, 0x76, 0x6c, 0x61, 0x6e, 0x12, 0x53, 0x0a, 0x0b, 0x62, 0x6f, 0x6e, 0x64, 0x5f, 0x6d,
	0x61, 0x73, 0x74, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x74, 0x61,
	0x6c, 0x6f, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x64, 0x65, 0x66,
	0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
	0x2e, 0x42, 0x6f, 0x6e, 0x64, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x52,
	0x0a, 0x62, 0x6f, 0x6e, 0x64, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x12, 0x59, 0x0a, 0x0d, 0x62,
	0x72, 0x69, 0x64, 0x67, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x34, 0x2e, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75,
	0x72, 0x63, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
	0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x4d, 0x61,
	0x73, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0c, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65,
	0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x12, 0x4f, 0x0a, 0x09, 0x77, 0x69, 0x72, 0x65, 0x67, 0x75,
	0x61, 0x72, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x74, 0x61, 0x6c, 0x6f,
	0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x69, 0x6e,
	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x57,
	0x69, 0x72, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x53, 0x70, 0x65, 0x63, 0x52, 0x09, 0x77, 0x69,
	0x72, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x12, 0x57, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69,
	0x67, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e,
	0x74, 0x61, 0x6c, 0x6f, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x64,
	0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73,
	0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4c, 0x61,
	0x79, 0x65, 0x72, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4c, 0x61, 0x79, 0x65, 0x72,
	0x22, 0xae, 0x0a, 0x0a, 0x0e, 0x4c, 0x69, 0x6e, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53,
	0x70, 0x65, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x48, 0x0a, 0x04, 0x74, 0x79, 0x70,
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x2e,
	0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4e, 0x65, 0x74, 0x68, 0x65,
	0x6c, 0x70, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74,
	0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x69, 0x6e, 0x64, 0x65,
	0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6c, 0x69, 0x6e, 0x6b, 0x49, 0x6e, 0x64,
	0x65, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x68, 0x61, 0x72, 0x64,
	0x77, 0x61, 0x72, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52,
	0x0c, 0x68, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x41, 0x64, 0x64, 0x72, 0x12, 0x25, 0x0a,
	0x0e, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18,
	0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74,
	0x41, 0x64, 0x64, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x74, 0x75, 0x18, 0x07, 0x20, 0x01, 0x28,
	0x0d, 0x52, 0x03, 0x6d, 0x74, 0x75, 0x12, 0x1d, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f,
	0x64, 0x69, 0x73, 0x63, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x71, 0x75, 0x65, 0x75,
	0x65, 0x44, 0x69, 0x73, 0x63, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f,
	0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6d, 0x61, 0x73,
	0x74, 0x65, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x69, 0x0a, 0x11, 0x6f, 0x70, 0x65, 0x72,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20,
	0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f,
	0x75, 0x72, 0x63, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
	0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72,
	0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74,
	0x65, 0x52, 0x10, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74,
	0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6c, 0x61, 0x76, 0x65,
	0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6c, 0x61,
	0x76, 0x65, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x75, 0x73, 0x5f, 0x70, 0x61,
	0x74, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x75, 0x73, 0x50, 0x61, 0x74,
	0x68, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x63, 0x69, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x05, 0x70, 0x63, 0x69, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x72, 0x69, 0x76, 0x65,
	0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x12,
	0x25, 0x0a, 0x0e, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
	0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x56,
	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61,
	0x72, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0f, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
	0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18,
	0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64,
	0x12, 0x1b, 0x0a, 0x09, 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x13, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a,
	0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
	0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x65, 0x6e, 0x64, 0x6f,
	0x72, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x12,
	0x1d, 0x0a, 0x0a, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x16, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x09, 0x6c, 0x69, 0x6e, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x25,
	0x0a, 0x0e, 0x73, 0x70, 0x65, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x67, 0x61, 0x62, 0x69, 0x74, 0x73,
	0x18, 0x17, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x73, 0x70, 0x65, 0x65, 0x64, 0x4d, 0x65, 0x67,
	0x61, 0x62, 0x69, 0x74, 0x73, 0x12, 0x44, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x18, 0x20,
	0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f,
	0x75, 0x72, 0x63, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
	0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72,
	0x73, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x4a, 0x0a, 0x06, 0x64,
	0x75, 0x70, 0x6c, 0x65, 0x78, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x74, 0x61,
	0x6c, 0x6f, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x64, 0x65, 0x66,
	0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4e,
	0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x44, 0x75, 0x70, 0x6c, 0x65, 0x78, 0x52,
	0x06, 0x64, 0x75, 0x70, 0x6c, 0x65, 0x78, 0x12, 0x40, 0x0a, 0x04, 0x76, 0x6c, 0x61, 0x6e, 0x18,
	0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x2e, 0x72, 0x65,
	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f,
	0x6e, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x56, 0x4c, 0x41, 0x4e, 0x53,
	0x70, 0x65, 0x63, 0x52, 0x04, 0x76, 0x6c, 0x61, 0x6e, 0x12, 0x59, 0x0a, 0x0d, 0x62, 0x72, 0x69,
	0x64, 0x67, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x34, 0x2e, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x2e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6e, 0x65,
	0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x4d, 0x61, 0x73, 0x74,
	0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0c, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x4d, 0x61,
	0x73, 0x74, 0x65, 0x72, 0x12, 0x53, 0x0a, 0x0b, 0x62, 0x6f, 0x6e, 0x64, 0x5f, 0x6d, 0x61, 0x73,
	0x74, 0x65, 0x72, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x74, 0x61, 0x6c, 0x6f,
	0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x69, 0x6e,
	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x42,
	0x6f, 0x6e, 0x64, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0a, 0x62,
	0x6f, 0x6e, 0x64, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x12, 0x4f, 0x0a, 0x09, 0x77, 0x69, 0x72,
	0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x74,
	0x61, 0x6c, 0x6f, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x64, 0x65,
	0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
	0x6b, 0x2e, 0x57, 0x69, 0x72, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x53, 0x70, 0x65, 0x63, 0x52,
	0x09, 0x77, 0x69, 0x72, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x65,
	0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x1e, 0x20, 0x01,
	0x28, 0x0c, 0x52, 0x0d, 0x70, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x64,
	0x72, 0x22, 0x93, 0x01, 0x0a, 0x15, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73,
	0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, 0x3c, 0x0a, 0x0f, 0x69,
	0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x18, 0x01,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4e, 0x65,
	0x74, 0x49, 0x50, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75,
	0x64, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x12, 0x3c, 0x0a, 0x0f, 0x65, 0x78, 0x63,
	0x6c, 0x75, 0x64, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4e, 0x65, 0x74, 0x49,
	0x50, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65,
	0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x22, 0x44, 0x0a, 0x0f, 0x4e, 0x6f, 0x64, 0x65, 0x41,
	0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x70, 0x65, 0x63, 0x12, 0x31, 0x0a, 0x09, 0x61, 0x64,
	0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e,
	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4e, 0x65, 0x74, 0x49, 0x50, 0x50, 0x72, 0x65, 0x66,
	0x69, 0x78, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x22, 0xd7, 0x03,
	0x0a, 0x10, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x70, 0x65, 0x63, 0x53, 0x70,
	0x65, 0x63, 0x12, 0x4d, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x2e, 0x72, 0x65, 0x73,
	0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e,
	0x73, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4f,
	0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f,
	0x72, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x69, 0x6e, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d,
	0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x5f, 0x75, 0x70, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x55, 0x70, 0x12, 0x4b, 0x0a,
	0x05, 0x64, 0x68, 0x63, 0x70, 0x34, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x74,
	0x61, 0x6c, 0x6f, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x64, 0x65,
	0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
	0x6b, 0x2e, 0x44, 0x48, 0x43, 0x50, 0x34, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x53,
	0x70, 0x65, 0x63, 0x52, 0x05, 0x64, 0x68, 0x63, 0x70, 0x34, 0x12, 0x4b, 0x0a, 0x05, 0x64, 0x68,
	0x63, 0x70, 0x36, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x74, 0x61, 0x6c, 0x6f,
	0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x69, 0x6e,
	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x44,
	0x48, 0x43, 0x50, 0x36, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x70, 0x65, 0x63,
	0x52, 0x05, 0x64, 0x68, 0x63, 0x70, 0x36, 0x12, 0x45, 0x0a, 0x03, 0x76, 0x69, 0x70, 0x18, 0x06,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x2e, 0x72, 0x65, 0x73,
	0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e,
	0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x56, 0x49, 0x50, 0x4f, 0x70, 0x65,
	0x72, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x70, 0x65, 0x63, 0x52, 0x03, 0x76, 0x69, 0x70, 0x12, 0x57,
	0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x07,
	0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x2e, 0x72, 0x65, 0x73,
	0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e,
	0x73, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43,
	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x66,
	0x69, 0x67, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x22, 0x9b, 0x01, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x6f,
	0x6c, 0x76, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x2e, 0x0a, 0x0b,
	0x64, 0x6e, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
	0x0b, 0x32, 0x0d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4e, 0x65, 0x74, 0x49, 0x50,
	0x52, 0x0a, 0x64, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x57, 0x0a, 0x0c,
	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0e, 0x32, 0x34, 0x2e, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75,
	0x72, 0x63, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
	0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e,
	0x66, 0x69, 0x67, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
	0x4c, 0x61, 0x79, 0x65, 0x72, 0x22, 0x44, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65,
	0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x70, 0x65, 0x63, 0x12, 0x2e, 0x0a, 0x0b, 0x64,
	0x6e, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x0d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4e, 0x65, 0x74, 0x49, 0x50, 0x52,
	0x0a, 0x64, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x22, 0xde, 0x05, 0x0a, 0x0d,
	0x52, 0x6f, 0x75, 0x74, 0x65, 0x53, 0x70, 0x65, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x4a, 0x0a,
	0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e,
	0x74, 0x61, 0x6c, 0x6f, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x64,
	0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73,
	0x2e, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x46, 0x61, 0x6d, 0x69, 0x6c,
	0x79, 0x52, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x35, 0x0a, 0x0b, 0x64, 0x65, 0x73,
	0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13,
	0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4e, 0x65, 0x74, 0x49, 0x50, 0x50, 0x72, 0x65,
	0x66, 0x69, 0x78, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x12, 0x25, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x0d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4e, 0x65, 0x74, 0x49, 0x50, 0x52,
	0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x27, 0x0a, 0x07, 0x67, 0x61, 0x74, 0x65, 0x77,
	0x61, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
	0x6e, 0x2e, 0x4e, 0x65, 0x74, 0x49, 0x50, 0x52, 0x07, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79,
	0x12, 0x22, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d,
	0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x75, 0x74, 0x4c, 0x69, 0x6e, 0x6b,
	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4e, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x06, 0x20,
	0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f,
	0x75, 0x72, 0x63, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
	0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72,
	0x73, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x05, 0x74,
	0x61, 0x62, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79,
	0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79,
	0x12, 0x47, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32,
	0x31, 0x2e, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
	0x2e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x65, 0x6e, 0x75,
	0x6d, 0x73, 0x2e, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x53, 0x63, 0x6f,
	0x70, 0x65, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x49, 0x0a, 0x04, 0x74, 0x79, 0x70,
	0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x2e,
	0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4e, 0x65, 0x74, 0x68, 0x65,
	0x6c, 0x70, 0x65, 0x72, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04,
	0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x0a, 0x20,
	0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x55, 0x0a, 0x08, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x74,
	0x61, 0x6c, 0x6f, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x64, 0x65,
	0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e,
	0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50,
	0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
	0x6c, 0x12, 0x57, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x6c, 0x61, 0x79, 0x65,
	0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x2e,
	0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f,
	0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x0b, 0x63,
	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x74,
	0x75, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x74, 0x75, 0x22, 0xad, 0x05, 0x0a,
	0x0f, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x70, 0x65, 0x63,
	0x12, 0x4a, 0x0a, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e,
	0x32, 0x32, 0x2e, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x2e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x65, 0x6e,
	0x75, 0x6d, 0x73, 0x2e, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x46, 0x61,
	0x6d, 0x69, 0x6c, 0x79, 0x52, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x35, 0x0a, 0x0b,
	0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x13, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4e, 0x65, 0x74, 0x49, 0x50,
	0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4e, 0x65, 0x74,
	0x49, 0x50, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x27, 0x0a, 0x07, 0x67, 0x61,
	0x74, 0x65, 0x77, 0x61, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x63, 0x6f,
	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4e, 0x65, 0x74, 0x49, 0x50, 0x52, 0x07, 0x67, 0x61, 0x74, 0x65,
	0x77, 0x61, 0x79, 0x12, 0x24, 0x0a, 0x0e, 0x6f, 0x75, 0x74, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f,
	0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6f, 0x75, 0x74,
	0x4c, 0x69, 0x6e, 0x6b, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x22, 0x0a, 0x0d, 0x6f, 0x75, 0x74,
	0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0b, 0x6f, 0x75, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4e, 0x0a,
	0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x74,
	0x61, 0x6c, 0x6f, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x64, 0x65,
	0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e,
	0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e,
	0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1a, 0x0a,
	0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52,
	0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x47, 0x0a, 0x05, 0x73, 0x63, 0x6f,
	0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x74, 0x61, 0x6c, 0x6f, 0x73,
	0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69,
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4e, 0x65, 0x74, 0x68,
	0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x05, 0x73, 0x63, 0x6f,
	0x70, 0x65, 0x12, 0x49, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e,
	0x32, 0x35, 0x2e, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x2e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x65, 0x6e,
	0x75, 0x6d, 0x73, 0x2e, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x52, 0x6f,
	0x75, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a,
	0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c,
	0x61, 0x67, 0x73, 0x12, 0x55, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18,
	0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x2e, 0x72, 0x65,
	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f,
	0x6e, 0x73, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70,
	0x65, 0x72, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c,
	0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x74,
	0x75, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x74, 0x75, 0x22, 0x23, 0x0a, 0x07,
	0x53, 0x54, 0x50, 0x53, 0x70, 0x65, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c,
	0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
	0x64, 0x22, 0xaf, 0x01, 0x0a, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x70, 0x65, 0x63,
	0x12, 0x23, 0x0a, 0x0d, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x65, 0x61, 0x64,
	0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
	0x52, 0x65, 0x61, 0x64, 0x79, 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
	0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52,
	0x65, 0x61, 0x64, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65,
	0x5f, 0x72, 0x65, 0x61, 0x64, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x68, 0x6f,
	0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x61, 0x64, 0x79, 0x12, 0x26, 0x0a, 0x0f, 0x65,
	0x74, 0x63, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x79, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x65, 0x74, 0x63, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65,
	0x61, 0x64, 0x79, 0x22, 0x8e, 0x01, 0x0a, 0x12, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76,
	0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x74,
	0x70, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52,
	0x0a, 0x6e, 0x74, 0x70, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x57, 0x0a, 0x0c, 0x63,
	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x0e, 0x32, 0x34, 0x2e, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
	0x63, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x65,
	0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x66,
	0x69, 0x67, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4c,
	0x61, 0x79, 0x65, 0x72, 0x22, 0x37, 0x0a, 0x14, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76,
	0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x70, 0x65, 0x63, 0x12, 0x1f, 0x0a, 0x0b,
	0x6e, 0x74, 0x70, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
	0x09, 0x52, 0x0a, 0x6e, 0x74, 0x70, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x22, 0x6e, 0x0a,
	0x13, 0x56, 0x49, 0x50, 0x45, 0x71, 0x75, 0x69, 0x6e, 0x69, 0x78, 0x4d, 0x65, 0x74, 0x61, 0x6c,
	0x53, 0x70, 0x65, 0x63, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f,
	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
	0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64,
	0x12, 0x1b, 0x0a, 0x09, 0x61, 0x70, 0x69, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x70, 0x69, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x68, 0x0a,
	0x0d, 0x56, 0x49, 0x50, 0x48, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x70, 0x65, 0x63, 0x12, 0x1b,
	0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x03, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6e,
	0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
	0x09, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x70,
	0x69, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61,
	0x70, 0x69, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x81, 0x02, 0x0a, 0x0f, 0x56, 0x49, 0x50, 0x4f,
	0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, 0x1d, 0x0a, 0x02, 0x69,
	0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
	0x2e, 0x4e, 0x65, 0x74, 0x49, 0x50, 0x52, 0x02, 0x69, 0x70, 0x12, 0x25, 0x0a, 0x0e, 0x67, 0x72,
	0x61, 0x74, 0x75, 0x69, 0x74, 0x6f, 0x75, 0x73, 0x5f, 0x61, 0x72, 0x70, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x0d, 0x67, 0x72, 0x61, 0x74, 0x75, 0x69, 0x74, 0x6f, 0x75, 0x73, 0x41, 0x72,
	0x70, 0x12, 0x5c, 0x0a, 0x0d, 0x65, 0x71, 0x75, 0x69, 0x6e, 0x69, 0x78, 0x5f, 0x6d, 0x65, 0x74,
	0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x74, 0x61, 0x6c, 0x6f, 0x73,
	0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69,
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x56, 0x49,
	0x50, 0x45, 0x71, 0x75, 0x69, 0x6e, 0x69, 0x78, 0x4d, 0x65, 0x74, 0x61, 0x6c, 0x53, 0x70, 0x65,
	0x63, 0x52, 0x0c, 0x65, 0x71, 0x75, 0x69, 0x6e, 0x69, 0x78, 0x4d, 0x65, 0x74, 0x61, 0x6c, 0x12,
	0x4a, 0x0a, 0x07, 0x68, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x31, 0x2e, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x2e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6e, 0x65,
	0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x56, 0x49, 0x50, 0x48, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53,
	0x70, 0x65, 0x63, 0x52, 0x06, 0x68, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x22, 0x72, 0x0a, 0x08, 0x56,
	0x4c, 0x41, 0x4e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x69, 0x64, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x07, 0x52, 0x03, 0x76, 0x69, 0x64, 0x12, 0x54, 0x0a, 0x08, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x74, 0x61,
	0x6c, 0x6f, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x64, 0x65, 0x66,
	0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4e,
	0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x56, 0x4c, 0x41, 0x4e, 0x50, 0x72, 0x6f,
	0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x22,
	0x84, 0x02, 0x0a, 0x0d, 0x57, 0x69, 0x72, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x50, 0x65, 0x65,
	0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79,
	0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x6b, 0x65,
	0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x73, 0x68, 0x61, 0x72,
	0x65, 0x64, 0x4b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
	0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
	0x74, 0x12, 0x5d, 0x0a, 0x1d, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f,
	0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76,
	0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x52, 0x1b, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x4b,
	0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c,
	0x12, 0x34, 0x0a, 0x0b, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x73, 0x18,
	0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4e,
	0x65, 0x74, 0x49, 0x50, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x0a, 0x61, 0x6c, 0x6c, 0x6f,
	0x77, 0x65, 0x64, 0x49, 0x70, 0x73, 0x22, 0xde, 0x01, 0x0a, 0x0d, 0x57, 0x69, 0x72, 0x65, 0x67,
	0x75, 0x61, 0x72, 0x64, 0x53, 0x70, 0x65, 0x63, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x69, 0x76,
	0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70,
	0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x75, 0x62,
	0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70,
	0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x69, 0x73, 0x74,
	0x65, 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6c,
	0x69, 0x73, 0x74, 0x65, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x69, 0x72,
	0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03,
	0x52, 0x0c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x4d, 0x61, 0x72, 0x6b, 0x12, 0x47,
	0x0a, 0x05, 0x70, 0x65, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e,
	0x74, 0x61, 0x6c, 0x6f, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x64,
	0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f,
	0x72, 0x6b, 0x2e, 0x57, 0x69, 0x72, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x50, 0x65, 0x65, 0x72,
	0x52, 0x05, 0x70, 0x65, 0x65, 0x72, 0x73, 0x42, 0x4c, 0x5a, 0x4a, 0x67, 0x69, 0x74, 0x68, 0x75,
	0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x69, 0x64, 0x65, 0x72, 0x6f, 0x6c, 0x61, 0x62, 0x73,
	0x2f, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69,
	0x6e, 0x65, 0x72, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x2f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6e, 0x65,
	0x74, 0x77, 0x6f, 0x72, 0x6b, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_resource_definitions_network_network_proto_rawDescOnce sync.Once
	file_resource_definitions_network_network_proto_rawDescData = file_resource_definitions_network_network_proto_rawDesc
)

func file_resource_definitions_network_network_proto_rawDescGZIP() []byte {
	file_resource_definitions_network_network_proto_rawDescOnce.Do(func() {
		file_resource_definitions_network_network_proto_rawDescData = protoimpl.X.CompressGZIP(file_resource_definitions_network_network_proto_rawDescData)
	})
	return file_resource_definitions_network_network_proto_rawDescData
}

var file_resource_definitions_network_network_proto_msgTypes = make([]protoimpl.MessageInfo, 31)
var file_resource_definitions_network_network_proto_goTypes = []interface{}{
	(*AddressSpecSpec)(nil),                 // 0: talos.resource.definitions.network.AddressSpecSpec
	(*AddressStatusSpec)(nil),               // 1: talos.resource.definitions.network.AddressStatusSpec
	(*BondMasterSpec)(nil),                  // 2: talos.resource.definitions.network.BondMasterSpec
	(*BondSlave)(nil),                       // 3: talos.resource.definitions.network.BondSlave
	(*BridgeMasterSpec)(nil),                // 4: talos.resource.definitions.network.BridgeMasterSpec
	(*BridgeSlave)(nil),                     // 5: talos.resource.definitions.network.BridgeSlave
	(*DHCP4OperatorSpec)(nil),               // 6: talos.resource.definitions.network.DHCP4OperatorSpec
	(*DHCP6OperatorSpec)(nil),               // 7: talos.resource.definitions.network.DHCP6OperatorSpec
	(*HardwareAddrSpec)(nil),                // 8: talos.resource.definitions.network.HardwareAddrSpec
	(*HostnameSpecSpec)(nil),                // 9: talos.resource.definitions.network.HostnameSpecSpec
	(*HostnameStatusSpec)(nil),              // 10: talos.resource.definitions.network.HostnameStatusSpec
	(*LinkRefreshSpec)(nil),                 // 11: talos.resource.definitions.network.LinkRefreshSpec
	(*LinkSpecSpec)(nil),                    // 12: talos.resource.definitions.network.LinkSpecSpec
	(*LinkStatusSpec)(nil),                  // 13: talos.resource.definitions.network.LinkStatusSpec
	(*NodeAddressFilterSpec)(nil),           // 14: talos.resource.definitions.network.NodeAddressFilterSpec
	(*NodeAddressSpec)(nil),                 // 15: talos.resource.definitions.network.NodeAddressSpec
	(*OperatorSpecSpec)(nil),                // 16: talos.resource.definitions.network.OperatorSpecSpec
	(*ResolverSpecSpec)(nil),                // 17: talos.resource.definitions.network.ResolverSpecSpec
	(*ResolverStatusSpec)(nil),              // 18: talos.resource.definitions.network.ResolverStatusSpec
	(*RouteSpecSpec)(nil),                   // 19: talos.resource.definitions.network.RouteSpecSpec
	(*RouteStatusSpec)(nil),                 // 20: talos.resource.definitions.network.RouteStatusSpec
	(*STPSpec)(nil),                         // 21: talos.resource.definitions.network.STPSpec
	(*StatusSpec)(nil),                      // 22: talos.resource.definitions.network.StatusSpec
	(*TimeServerSpecSpec)(nil),              // 23: talos.resource.definitions.network.TimeServerSpecSpec
	(*TimeServerStatusSpec)(nil),            // 24: talos.resource.definitions.network.TimeServerStatusSpec
	(*VIPEquinixMetalSpec)(nil),             // 25: talos.resource.definitions.network.VIPEquinixMetalSpec
	(*VIPHCloudSpec)(nil),                   // 26: talos.resource.definitions.network.VIPHCloudSpec
	(*VIPOperatorSpec)(nil),                 // 27: talos.resource.definitions.network.VIPOperatorSpec
	(*VLANSpec)(nil),                        // 28: talos.resource.definitions.network.VLANSpec
	(*WireguardPeer)(nil),                   // 29: talos.resource.definitions.network.WireguardPeer
	(*WireguardSpec)(nil),                   // 30: talos.resource.definitions.network.WireguardSpec
	(*common.NetIPPrefix)(nil),              // 31: common.NetIPPrefix
	(enums.NethelpersFamily)(0),             // 32: talos.resource.definitions.enums.NethelpersFamily
	(enums.NethelpersScope)(0),              // 33: talos.resource.definitions.enums.NethelpersScope
	(enums.NetworkConfigLayer)(0),           // 34: talos.resource.definitions.enums.NetworkConfigLayer
	(*common.NetIP)(nil),                    // 35: common.NetIP
	(enums.NethelpersBondMode)(0),           // 36: talos.resource.definitions.enums.NethelpersBondMode
	(enums.NethelpersBondXmitHashPolicy)(0), // 37: talos.resource.definitions.enums.NethelpersBondXmitHashPolicy
	(enums.NethelpersLACPRate)(0),           // 38: talos.resource.definitions.enums.NethelpersLACPRate
	(enums.NethelpersARPValidate)(0),        // 39: talos.resource.definitions.enums.NethelpersARPValidate
	(enums.NethelpersARPAllTargets)(0),      // 40: talos.resource.definitions.enums.NethelpersARPAllTargets
	(enums.NethelpersPrimaryReselect)(0),    // 41: talos.resource.definitions.enums.NethelpersPrimaryReselect
	(enums.NethelpersFailOverMAC)(0),        // 42: talos.resource.definitions.enums.NethelpersFailOverMAC
	(enums.NethelpersADSelect)(0),           // 43: talos.resource.definitions.enums.NethelpersADSelect
	(enums.NethelpersLinkType)(0),           // 44: talos.resource.definitions.enums.NethelpersLinkType
	(enums.NethelpersOperationalState)(0),   // 45: talos.resource.definitions.enums.NethelpersOperationalState
	(enums.NethelpersPort)(0),               // 46: talos.resource.definitions.enums.NethelpersPort
	(enums.NethelpersDuplex)(0),             // 47: talos.resource.definitions.enums.NethelpersDuplex
	(enums.NetworkOperator)(0),              // 48: talos.resource.definitions.enums.NetworkOperator
	(enums.NethelpersRoutingTable)(0),       // 49: talos.resource.definitions.enums.NethelpersRoutingTable
	(enums.NethelpersRouteType)(0),          // 50: talos.resource.definitions.enums.NethelpersRouteType
	(enums.NethelpersRouteProtocol)(0),      // 51: talos.resource.definitions.enums.NethelpersRouteProtocol
	(enums.NethelpersVLANProtocol)(0),       // 52: talos.resource.definitions.enums.NethelpersVLANProtocol
	(*durationpb.Duration)(nil),             // 53: google.protobuf.Duration
}
var file_resource_definitions_network_network_proto_depIdxs = []int32{
	31, // 0: talos.resource.definitions.network.AddressSpecSpec.address:type_name -> common.NetIPPrefix
	32, // 1: talos.resource.definitions.network.AddressSpecSpec.family:type_name -> talos.resource.definitions.enums.NethelpersFamily
	33, // 2: talos.resource.definitions.network.AddressSpecSpec.scope:type_name -> talos.resource.definitions.enums.NethelpersScope
	34, // 3: talos.resource.definitions.network.AddressSpecSpec.config_layer:type_name -> talos.resource.definitions.enums.NetworkConfigLayer
	31, // 4: talos.resource.definitions.network.AddressStatusSpec.address:type_name -> common.NetIPPrefix
	35, // 5: talos.resource.definitions.network.AddressStatusSpec.local:type_name -> common.NetIP
	35, // 6: talos.resource.definitions.network.AddressStatusSpec.broadcast:type_name -> common.NetIP
	35, // 7: talos.resource.definitions.network.AddressStatusSpec.anycast:type_name -> common.NetIP
	35, // 8: talos.resource.definitions.network.AddressStatusSpec.multicast:type_name -> common.NetIP
	32, // 9: talos.resource.definitions.network.AddressStatusSpec.family:type_name -> talos.resource.definitions.enums.NethelpersFamily
	33, // 10: talos.resource.definitions.network.AddressStatusSpec.scope:type_name -> talos.resource.definitions.enums.NethelpersScope
	36, // 11: talos.resource.definitions.network.BondMasterSpec.mode:type_name -> talos.resource.definitions.enums.NethelpersBondMode
	37, // 12: talos.resource.definitions.network.BondMasterSpec.hash_policy:type_name -> talos.resource.definitions.enums.NethelpersBondXmitHashPolicy
	38, // 13: talos.resource.definitions.network.BondMasterSpec.lacp_rate:type_name -> talos.resource.definitions.enums.NethelpersLACPRate
	39, // 14: talos.resource.definitions.network.BondMasterSpec.arp_validate:type_name -> talos.resource.definitions.enums.NethelpersARPValidate
	40, // 15: talos.resource.definitions.network.BondMasterSpec.arp_all_targets:type_name -> talos.resource.definitions.enums.NethelpersARPAllTargets
	41, // 16: talos.resource.definitions.network.BondMasterSpec.primary_reselect:type_name -> talos.resource.definitions.enums.NethelpersPrimaryReselect
	42, // 17: talos.resource.definitions.network.BondMasterSpec.fail_over_mac:type_name -> talos.resource.definitions.enums.NethelpersFailOverMAC
	43, // 18: talos.resource.definitions.network.BondMasterSpec.ad_select:type_name -> talos.resource.definitions.enums.NethelpersADSelect
	21, // 19: talos.resource.definitions.network.BridgeMasterSpec.stp:type_name -> talos.resource.definitions.network.STPSpec
	34, // 20: talos.resource.definitions.network.HostnameSpecSpec.config_layer:type_name -> talos.resource.definitions.enums.NetworkConfigLayer
	44, // 21: talos.resource.definitions.network.LinkSpecSpec.type:type_name -> talos.resource.definitions.enums.NethelpersLinkType
	3,  // 22: talos.resource.definitions.network.LinkSpecSpec.bond_slave:type_name -> talos.resource.definitions.network.BondSlave
	5,  // 23: talos.resource.definitions.network.LinkSpecSpec.bridge_slave:type_name -> talos.resource.definitions.network.BridgeSlave
	28, // 24: talos.resource.definitions.network.LinkSpecSpec.vlan:type_name -> talos.resource.definitions.network.VLANSpec
	2,  // 25: talos.resource.definitions.network.LinkSpecSpec.bond_master:type_name -> talos.resource.definitions.network.BondMasterSpec
	4,  // 26: talos.resource.definitions.network.LinkSpecSpec.bridge_master:type_name -> talos.resource.definitions.network.BridgeMasterSpec
	30, // 27: talos.resource.definitions.network.LinkSpecSpec.wireguard:type_name -> talos.resource.definitions.network.WireguardSpec
	34, // 28: talos.resource.definitions.network.LinkSpecSpec.config_layer:type_name -> talos.resource.definitions.enums.NetworkConfigLayer
	44, // 29: talos.resource.definitions.network.LinkStatusSpec.type:type_name -> talos.resource.definitions.enums.NethelpersLinkType
	45, // 30: talos.resource.definitions.network.LinkStatusSpec.operational_state:type_name -> talos.resource.definitions.enums.NethelpersOperationalState
	46, // 31: talos.resource.definitions.network.LinkStatusSpec.port:type_name -> talos.resource.definitions.enums.NethelpersPort
	47, // 32: talos.resource.definitions.network.LinkStatusSpec.duplex:type_name -> talos.resource.definitions.enums.NethelpersDuplex
	28, // 33: talos.resource.definitions.network.LinkStatusSpec.vlan:type_name -> talos.resource.definitions.network.VLANSpec
	4,  // 34: talos.resource.definitions.network.LinkStatusSpec.bridge_master:type_name -> talos.resource.definitions.network.BridgeMasterSpec
	2,  // 35: talos.resource.definitions.network.LinkStatusSpec.bond_master:type_name -> talos.resource.definitions.network.BondMasterSpec
	30, // 36: talos.resource.definitions.network.LinkStatusSpec.wireguard:type_name -> talos.resource.definitions.network.WireguardSpec
	31, // 37: talos.resource.definitions.network.NodeAddressFilterSpec.include_subnets:type_name -> common.NetIPPrefix
	31, // 38: talos.resource.definitions.network.NodeAddressFilterSpec.exclude_subnets:type_name -> common.NetIPPrefix
	31, // 39: talos.resource.definitions.network.NodeAddressSpec.addresses:type_name -> common.NetIPPrefix
	48, // 40: talos.resource.definitions.network.OperatorSpecSpec.operator:type_name -> talos.resource.definitions.enums.NetworkOperator
	6,  // 41: talos.resource.definitions.network.OperatorSpecSpec.dhcp4:type_name -> talos.resource.definitions.network.DHCP4OperatorSpec
	7,  // 42: talos.resource.definitions.network.OperatorSpecSpec.dhcp6:type_name -> talos.resource.definitions.network.DHCP6OperatorSpec
	27, // 43: talos.resource.definitions.network.OperatorSpecSpec.vip:type_name -> talos.resource.definitions.network.VIPOperatorSpec
	34, // 44: talos.resource.definitions.network.OperatorSpecSpec.config_layer:type_name -> talos.resource.definitions.enums.NetworkConfigLayer
	35, // 45: talos.resource.definitions.network.ResolverSpecSpec.dns_servers:type_name -> common.NetIP
	34, // 46: talos.resource.definitions.network.ResolverSpecSpec.config_layer:type_name -> talos.resource.definitions.enums.NetworkConfigLayer
	35, // 47: talos.resource.definitions.network.ResolverStatusSpec.dns_servers:type_name -> common.NetIP
	32, // 48: talos.resource.definitions.network.RouteSpecSpec.family:type_name -> talos.resource.definitions.enums.NethelpersFamily
	31, // 49: talos.resource.definitions.network.RouteSpecSpec.destination:type_name -> common.NetIPPrefix
	35, // 50: talos.resource.definitions.network.RouteSpecSpec.source:type_name -> common.NetIP
	35, // 51: talos.resource.definitions.network.RouteSpecSpec.gateway:type_name -> common.NetIP
	49, // 52: talos.resource.definitions.network.RouteSpecSpec.table:type_name -> talos.resource.definitions.enums.NethelpersRoutingTable
	33, // 53: talos.resource.definitions.network.RouteSpecSpec.scope:type_name -> talos.resource.definitions.enums.NethelpersScope
	50, // 54: talos.resource.definitions.network.RouteSpecSpec.type:type_name -> talos.resource.definitions.enums.NethelpersRouteType
	51, // 55: talos.resource.definitions.network.RouteSpecSpec.protocol:type_name -> talos.resource.definitions.enums.NethelpersRouteProtocol
	34, // 56: talos.resource.definitions.network.RouteSpecSpec.config_layer:type_name -> talos.resource.definitions.enums.NetworkConfigLayer
	32, // 57: talos.resource.definitions.network.RouteStatusSpec.family:type_name -> talos.resource.definitions.enums.NethelpersFamily
	31, // 58: talos.resource.definitions.network.RouteStatusSpec.destination:type_name -> common.NetIPPrefix
	35, // 59: talos.resource.definitions.network.RouteStatusSpec.source:type_name -> common.NetIP
	35, // 60: talos.resource.definitions.network.RouteStatusSpec.gateway:type_name -> common.NetIP
	49, // 61: talos.resource.definitions.network.RouteStatusSpec.table:type_name -> talos.resource.definitions.enums.NethelpersRoutingTable
	33, // 62: talos.resource.definitions.network.RouteStatusSpec.scope:type_name -> talos.resource.definitions.enums.NethelpersScope
	50, // 63: talos.resource.definitions.network.RouteStatusSpec.type:type_name -> talos.resource.definitions.enums.NethelpersRouteType
	51, // 64: talos.resource.definitions.network.RouteStatusSpec.protocol:type_name -> talos.resource.definitions.enums.NethelpersRouteProtocol
	34, // 65: talos.resource.definitions.network.TimeServerSpecSpec.config_layer:type_name -> talos.resource.definitions.enums.NetworkConfigLayer
	35, // 66: talos.resource.definitions.network.VIPOperatorSpec.ip:type_name -> common.NetIP
	25, // 67: talos.resource.definitions.network.VIPOperatorSpec.equinix_metal:type_name -> talos.resource.definitions.network.VIPEquinixMetalSpec
	26, // 68: talos.resource.definitions.network.VIPOperatorSpec.h_cloud:type_name -> talos.resource.definitions.network.VIPHCloudSpec
	52, // 69: talos.resource.definitions.network.VLANSpec.protocol:type_name -> talos.resource.definitions.enums.NethelpersVLANProtocol
	53, // 70: talos.resource.definitions.network.WireguardPeer.persistent_keepalive_interval:type_name -> google.protobuf.Duration
	31, // 71: talos.resource.definitions.network.WireguardPeer.allowed_ips:type_name -> common.NetIPPrefix
	29, // 72: talos.resource.definitions.network.WireguardSpec.peers:type_name -> talos.resource.definitions.network.WireguardPeer
	73, // [73:73] is the sub-list for method output_type
	73, // [73:73] is the sub-list for method input_type
	73, // [73:73] is the sub-list for extension type_name
	73, // [73:73] is the sub-list for extension extendee
	0,  // [0:73] is the sub-list for field type_name
}

func init() { file_resource_definitions_network_network_proto_init() }
func file_resource_definitions_network_network_proto_init() {
	if File_resource_definitions_network_network_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_resource_definitions_network_network_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AddressSpecSpec); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_resource_definitions_network_network_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AddressStatusSpec); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_resource_definitions_network_network_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BondMasterSpec); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_resource_definitions_network_network_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BondSlave); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_resource_definitions_network_network_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BridgeMasterSpec); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_resource_definitions_network_network_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BridgeSlave); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_resource_definitions_network_network_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DHCP4OperatorSpec); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_resource_definitions_network_network_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DHCP6OperatorSpec); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_resource_definitions_network_network_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*HardwareAddrSpec); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_resource_definitions_network_network_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*HostnameSpecSpec); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_resource_definitions_network_network_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*HostnameStatusSpec); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_resource_definitions_network_network_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*LinkRefreshSpec); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_resource_definitions_network_network_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*LinkSpecSpec); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_resource_definitions_network_network_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*LinkStatusSpec); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_resource_definitions_network_network_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NodeAddressFilterSpec); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_resource_definitions_network_network_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NodeAddressSpec); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_resource_definitions_network_network_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*OperatorSpecSpec); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_resource_definitions_network_network_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ResolverSpecSpec); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_resource_definitions_network_network_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ResolverStatusSpec); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_resource_definitions_network_network_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RouteSpecSpec); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_resource_definitions_network_network_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RouteStatusSpec); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_resource_definitions_network_network_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*STPSpec); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_resource_definitions_network_network_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StatusSpec); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_resource_definitions_network_network_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TimeServerSpecSpec); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_resource_definitions_network_network_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TimeServerStatusSpec); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_resource_definitions_network_network_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*VIPEquinixMetalSpec); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_resource_definitions_network_network_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*VIPHCloudSpec); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_resource_definitions_network_network_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*VIPOperatorSpec); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_resource_definitions_network_network_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*VLANSpec); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_resource_definitions_network_network_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*WireguardPeer); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_resource_definitions_network_network_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*WireguardSpec); 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_resource_definitions_network_network_proto_rawDesc,
			NumEnums:      0,
			NumMessages:   31,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_resource_definitions_network_network_proto_goTypes,
		DependencyIndexes: file_resource_definitions_network_network_proto_depIdxs,
		MessageInfos:      file_resource_definitions_network_network_proto_msgTypes,
	}.Build()
	File_resource_definitions_network_network_proto = out.File
	file_resource_definitions_network_network_proto_rawDesc = nil
	file_resource_definitions_network_network_proto_goTypes = nil
	file_resource_definitions_network_network_proto_depIdxs = nil
}
