// Code generated by protoc-gen-go.
// source: gobgp.proto
// DO NOT EDIT!

/*
Package gobgpapi is a generated protocol buffer package.

It is generated from these files:
	gobgp.proto

It has these top-level messages:
	GetNeighborRequest
	GetNeighborResponse
	Arguments
	AddPathRequest
	AddPathResponse
	DeletePathRequest
	DeletePathResponse
	AddNeighborRequest
	AddNeighborResponse
	DeleteNeighborRequest
	DeleteNeighborResponse
	ResetNeighborRequest
	ResetNeighborResponse
	SoftResetNeighborRequest
	SoftResetNeighborResponse
	ShutdownNeighborRequest
	ShutdownNeighborResponse
	EnableNeighborRequest
	EnableNeighborResponse
	DisableNeighborRequest
	DisableNeighborResponse
	EnableMrtRequest
	EnableMrtResponse
	DisableMrtRequest
	DisableMrtResponse
	InjectMrtRequest
	InjectMrtResponse
	AddBmpRequest
	AddBmpResponse
	DeleteBmpRequest
	DeleteBmpResponse
	RPKIConf
	RPKIState
	Rpki
	GetRpkiRequest
	GetRpkiResponse
	AddRpkiRequest
	AddRpkiResponse
	DeleteRpkiRequest
	DeleteRpkiResponse
	EnableRpkiRequest
	EnableRpkiResponse
	DisableRpkiRequest
	DisableRpkiResponse
	ResetRpkiRequest
	ResetRpkiResponse
	SoftResetRpkiRequest
	SoftResetRpkiResponse
	EnableZebraRequest
	EnableZebraResponse
	GetVrfRequest
	GetVrfResponse
	AddVrfRequest
	AddVrfResponse
	DeleteVrfRequest
	DeleteVrfResponse
	GetDefinedSetRequest
	GetDefinedSetResponse
	AddDefinedSetRequest
	AddDefinedSetResponse
	DeleteDefinedSetRequest
	DeleteDefinedSetResponse
	ReplaceDefinedSetRequest
	ReplaceDefinedSetResponse
	GetStatementRequest
	GetStatementResponse
	AddStatementRequest
	AddStatementResponse
	DeleteStatementRequest
	DeleteStatementResponse
	ReplaceStatementRequest
	ReplaceStatementResponse
	GetPolicyRequest
	GetPolicyResponse
	AddPolicyRequest
	AddPolicyResponse
	DeletePolicyRequest
	DeletePolicyResponse
	ReplacePolicyRequest
	ReplacePolicyResponse
	GetPolicyAssignmentRequest
	GetPolicyAssignmentResponse
	AddPolicyAssignmentRequest
	AddPolicyAssignmentResponse
	DeletePolicyAssignmentRequest
	DeletePolicyAssignmentResponse
	ReplacePolicyAssignmentRequest
	ReplacePolicyAssignmentResponse
	GetServerRequest
	GetServerResponse
	StartServerRequest
	StartServerResponse
	StopServerRequest
	StopServerResponse
	Path
	Destination
	Table
	GetRibRequest
	GetRibResponse
	ValidateRibRequest
	ValidateRibResponse
	Peer
	ApplyPolicy
	PrefixLimit
	PeerConf
	EbgpMultihop
	RouteReflector
	PeerState
	Messages
	Message
	Queues
	Timers
	TimersConfig
	TimersState
	Transport
	RouteServer
	Prefix
	DefinedSet
	MatchSet
	AsPathLength
	Conditions
	CommunityAction
	MedAction
	AsPrependAction
	NexthopAction
	LocalPrefAction
	Actions
	Statement
	Policy
	PolicyAssignment
	Roa
	GetRoaRequest
	GetRoaResponse
	Vrf
	Global
*/
package gobgpapi

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"

import (
	context "golang.org/x/net/context"
	grpc "google.golang.org/grpc"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package

type Resource int32

const (
	Resource_GLOBAL  Resource = 0
	Resource_LOCAL   Resource = 1
	Resource_ADJ_IN  Resource = 2
	Resource_ADJ_OUT Resource = 3
	Resource_VRF     Resource = 4
)

var Resource_name = map[int32]string{
	0: "GLOBAL",
	1: "LOCAL",
	2: "ADJ_IN",
	3: "ADJ_OUT",
	4: "VRF",
}
var Resource_value = map[string]int32{
	"GLOBAL":  0,
	"LOCAL":   1,
	"ADJ_IN":  2,
	"ADJ_OUT": 3,
	"VRF":     4,
}

func (x Resource) String() string {
	return proto.EnumName(Resource_name, int32(x))
}
func (Resource) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }

type DefinedType int32

const (
	DefinedType_PREFIX        DefinedType = 0
	DefinedType_NEIGHBOR      DefinedType = 1
	DefinedType_TAG           DefinedType = 2
	DefinedType_AS_PATH       DefinedType = 3
	DefinedType_COMMUNITY     DefinedType = 4
	DefinedType_EXT_COMMUNITY DefinedType = 5
)

var DefinedType_name = map[int32]string{
	0: "PREFIX",
	1: "NEIGHBOR",
	2: "TAG",
	3: "AS_PATH",
	4: "COMMUNITY",
	5: "EXT_COMMUNITY",
}
var DefinedType_value = map[string]int32{
	"PREFIX":        0,
	"NEIGHBOR":      1,
	"TAG":           2,
	"AS_PATH":       3,
	"COMMUNITY":     4,
	"EXT_COMMUNITY": 5,
}

func (x DefinedType) String() string {
	return proto.EnumName(DefinedType_name, int32(x))
}
func (DefinedType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }

type MatchType int32

const (
	MatchType_ANY    MatchType = 0
	MatchType_ALL    MatchType = 1
	MatchType_INVERT MatchType = 2
)

var MatchType_name = map[int32]string{
	0: "ANY",
	1: "ALL",
	2: "INVERT",
}
var MatchType_value = map[string]int32{
	"ANY":    0,
	"ALL":    1,
	"INVERT": 2,
}

func (x MatchType) String() string {
	return proto.EnumName(MatchType_name, int32(x))
}
func (MatchType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }

type AsPathLengthType int32

const (
	AsPathLengthType_EQ AsPathLengthType = 0
	AsPathLengthType_GE AsPathLengthType = 1
	AsPathLengthType_LE AsPathLengthType = 2
)

var AsPathLengthType_name = map[int32]string{
	0: "EQ",
	1: "GE",
	2: "LE",
}
var AsPathLengthType_value = map[string]int32{
	"EQ": 0,
	"GE": 1,
	"LE": 2,
}

func (x AsPathLengthType) String() string {
	return proto.EnumName(AsPathLengthType_name, int32(x))
}
func (AsPathLengthType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }

type RouteAction int32

const (
	RouteAction_NONE   RouteAction = 0
	RouteAction_ACCEPT RouteAction = 1
	RouteAction_REJECT RouteAction = 2
)

var RouteAction_name = map[int32]string{
	0: "NONE",
	1: "ACCEPT",
	2: "REJECT",
}
var RouteAction_value = map[string]int32{
	"NONE":   0,
	"ACCEPT": 1,
	"REJECT": 2,
}

func (x RouteAction) String() string {
	return proto.EnumName(RouteAction_name, int32(x))
}
func (RouteAction) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }

type CommunityActionType int32

const (
	CommunityActionType_COMMUNITY_ADD     CommunityActionType = 0
	CommunityActionType_COMMUNITY_REMOVE  CommunityActionType = 1
	CommunityActionType_COMMUNITY_REPLACE CommunityActionType = 2
)

var CommunityActionType_name = map[int32]string{
	0: "COMMUNITY_ADD",
	1: "COMMUNITY_REMOVE",
	2: "COMMUNITY_REPLACE",
}
var CommunityActionType_value = map[string]int32{
	"COMMUNITY_ADD":     0,
	"COMMUNITY_REMOVE":  1,
	"COMMUNITY_REPLACE": 2,
}

func (x CommunityActionType) String() string {
	return proto.EnumName(CommunityActionType_name, int32(x))
}
func (CommunityActionType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }

type MedActionType int32

const (
	MedActionType_MED_MOD     MedActionType = 0
	MedActionType_MED_REPLACE MedActionType = 1
)

var MedActionType_name = map[int32]string{
	0: "MED_MOD",
	1: "MED_REPLACE",
}
var MedActionType_value = map[string]int32{
	"MED_MOD":     0,
	"MED_REPLACE": 1,
}

func (x MedActionType) String() string {
	return proto.EnumName(MedActionType_name, int32(x))
}
func (MedActionType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }

type PolicyType int32

const (
	PolicyType_IN     PolicyType = 0
	PolicyType_IMPORT PolicyType = 1
	PolicyType_EXPORT PolicyType = 2
)

var PolicyType_name = map[int32]string{
	0: "IN",
	1: "IMPORT",
	2: "EXPORT",
}
var PolicyType_value = map[string]int32{
	"IN":     0,
	"IMPORT": 1,
	"EXPORT": 2,
}

func (x PolicyType) String() string {
	return proto.EnumName(PolicyType_name, int32(x))
}
func (PolicyType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }

type SoftResetNeighborRequest_SoftResetDirection int32

const (
	SoftResetNeighborRequest_IN   SoftResetNeighborRequest_SoftResetDirection = 0
	SoftResetNeighborRequest_OUT  SoftResetNeighborRequest_SoftResetDirection = 1
	SoftResetNeighborRequest_BOTH SoftResetNeighborRequest_SoftResetDirection = 2
)

var SoftResetNeighborRequest_SoftResetDirection_name = map[int32]string{
	0: "IN",
	1: "OUT",
	2: "BOTH",
}
var SoftResetNeighborRequest_SoftResetDirection_value = map[string]int32{
	"IN":   0,
	"OUT":  1,
	"BOTH": 2,
}

func (x SoftResetNeighborRequest_SoftResetDirection) String() string {
	return proto.EnumName(SoftResetNeighborRequest_SoftResetDirection_name, int32(x))
}
func (SoftResetNeighborRequest_SoftResetDirection) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor0, []int{13, 0}
}

type AddBmpRequest_MonitoringPolicy int32

const (
	AddBmpRequest_PRE  AddBmpRequest_MonitoringPolicy = 0
	AddBmpRequest_POST AddBmpRequest_MonitoringPolicy = 1
	AddBmpRequest_BOTH AddBmpRequest_MonitoringPolicy = 2
)

var AddBmpRequest_MonitoringPolicy_name = map[int32]string{
	0: "PRE",
	1: "POST",
	2: "BOTH",
}
var AddBmpRequest_MonitoringPolicy_value = map[string]int32{
	"PRE":  0,
	"POST": 1,
	"BOTH": 2,
}

func (x AddBmpRequest_MonitoringPolicy) String() string {
	return proto.EnumName(AddBmpRequest_MonitoringPolicy_name, int32(x))
}
func (AddBmpRequest_MonitoringPolicy) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor0, []int{27, 0}
}

type Conditions_RouteType int32

const (
	Conditions_ROUTE_TYPE_NONE     Conditions_RouteType = 0
	Conditions_ROUTE_TYPE_INTERNAL Conditions_RouteType = 1
	Conditions_ROUTE_TYPE_EXTERNAL Conditions_RouteType = 2
	Conditions_ROUTE_TYPE_LOCAL    Conditions_RouteType = 3
)

var Conditions_RouteType_name = map[int32]string{
	0: "ROUTE_TYPE_NONE",
	1: "ROUTE_TYPE_INTERNAL",
	2: "ROUTE_TYPE_EXTERNAL",
	3: "ROUTE_TYPE_LOCAL",
}
var Conditions_RouteType_value = map[string]int32{
	"ROUTE_TYPE_NONE":     0,
	"ROUTE_TYPE_INTERNAL": 1,
	"ROUTE_TYPE_EXTERNAL": 2,
	"ROUTE_TYPE_LOCAL":    3,
}

func (x Conditions_RouteType) String() string {
	return proto.EnumName(Conditions_RouteType_name, int32(x))
}
func (Conditions_RouteType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{120, 0} }

type GetNeighborRequest struct {
}

func (m *GetNeighborRequest) Reset()                    { *m = GetNeighborRequest{} }
func (m *GetNeighborRequest) String() string            { return proto.CompactTextString(m) }
func (*GetNeighborRequest) ProtoMessage()               {}
func (*GetNeighborRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }

type GetNeighborResponse struct {
	Peers []*Peer `protobuf:"bytes,1,rep,name=peers" json:"peers,omitempty"`
}

func (m *GetNeighborResponse) Reset()                    { *m = GetNeighborResponse{} }
func (m *GetNeighborResponse) String() string            { return proto.CompactTextString(m) }
func (*GetNeighborResponse) ProtoMessage()               {}
func (*GetNeighborResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }

func (m *GetNeighborResponse) GetPeers() []*Peer {
	if m != nil {
		return m.Peers
	}
	return nil
}

type Arguments struct {
	Resource Resource `protobuf:"varint,1,opt,name=resource,enum=gobgpapi.Resource" json:"resource,omitempty"`
	Family   uint32   `protobuf:"varint,2,opt,name=family" json:"family,omitempty"`
	Name     string   `protobuf:"bytes,3,opt,name=name" json:"name,omitempty"`
}

func (m *Arguments) Reset()                    { *m = Arguments{} }
func (m *Arguments) String() string            { return proto.CompactTextString(m) }
func (*Arguments) ProtoMessage()               {}
func (*Arguments) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }

type AddPathRequest struct {
	Resource Resource `protobuf:"varint,1,opt,name=resource,enum=gobgpapi.Resource" json:"resource,omitempty"`
	VrfId    string   `protobuf:"bytes,2,opt,name=vrf_id,json=vrfId" json:"vrf_id,omitempty"`
	Path     *Path    `protobuf:"bytes,3,opt,name=path" json:"path,omitempty"`
}

func (m *AddPathRequest) Reset()                    { *m = AddPathRequest{} }
func (m *AddPathRequest) String() string            { return proto.CompactTextString(m) }
func (*AddPathRequest) ProtoMessage()               {}
func (*AddPathRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }

func (m *AddPathRequest) GetPath() *Path {
	if m != nil {
		return m.Path
	}
	return nil
}

type AddPathResponse struct {
	Uuid []byte `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"`
}

func (m *AddPathResponse) Reset()                    { *m = AddPathResponse{} }
func (m *AddPathResponse) String() string            { return proto.CompactTextString(m) }
func (*AddPathResponse) ProtoMessage()               {}
func (*AddPathResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }

type DeletePathRequest struct {
	Resource Resource `protobuf:"varint,1,opt,name=resource,enum=gobgpapi.Resource" json:"resource,omitempty"`
	VrfId    string   `protobuf:"bytes,2,opt,name=vrf_id,json=vrfId" json:"vrf_id,omitempty"`
	Family   uint32   `protobuf:"varint,3,opt,name=family" json:"family,omitempty"`
	Path     *Path    `protobuf:"bytes,4,opt,name=path" json:"path,omitempty"`
	Uuid     []byte   `protobuf:"bytes,5,opt,name=uuid,proto3" json:"uuid,omitempty"`
}

func (m *DeletePathRequest) Reset()                    { *m = DeletePathRequest{} }
func (m *DeletePathRequest) String() string            { return proto.CompactTextString(m) }
func (*DeletePathRequest) ProtoMessage()               {}
func (*DeletePathRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }

func (m *DeletePathRequest) GetPath() *Path {
	if m != nil {
		return m.Path
	}
	return nil
}

type DeletePathResponse struct {
}

func (m *DeletePathResponse) Reset()                    { *m = DeletePathResponse{} }
func (m *DeletePathResponse) String() string            { return proto.CompactTextString(m) }
func (*DeletePathResponse) ProtoMessage()               {}
func (*DeletePathResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }

type AddNeighborRequest struct {
	Peer *Peer `protobuf:"bytes,1,opt,name=peer" json:"peer,omitempty"`
}

func (m *AddNeighborRequest) Reset()                    { *m = AddNeighborRequest{} }
func (m *AddNeighborRequest) String() string            { return proto.CompactTextString(m) }
func (*AddNeighborRequest) ProtoMessage()               {}
func (*AddNeighborRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }

func (m *AddNeighborRequest) GetPeer() *Peer {
	if m != nil {
		return m.Peer
	}
	return nil
}

type AddNeighborResponse struct {
}

func (m *AddNeighborResponse) Reset()                    { *m = AddNeighborResponse{} }
func (m *AddNeighborResponse) String() string            { return proto.CompactTextString(m) }
func (*AddNeighborResponse) ProtoMessage()               {}
func (*AddNeighborResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }

type DeleteNeighborRequest struct {
	Peer *Peer `protobuf:"bytes,1,opt,name=peer" json:"peer,omitempty"`
}

func (m *DeleteNeighborRequest) Reset()                    { *m = DeleteNeighborRequest{} }
func (m *DeleteNeighborRequest) String() string            { return proto.CompactTextString(m) }
func (*DeleteNeighborRequest) ProtoMessage()               {}
func (*DeleteNeighborRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }

func (m *DeleteNeighborRequest) GetPeer() *Peer {
	if m != nil {
		return m.Peer
	}
	return nil
}

type DeleteNeighborResponse struct {
}

func (m *DeleteNeighborResponse) Reset()                    { *m = DeleteNeighborResponse{} }
func (m *DeleteNeighborResponse) String() string            { return proto.CompactTextString(m) }
func (*DeleteNeighborResponse) ProtoMessage()               {}
func (*DeleteNeighborResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }

type ResetNeighborRequest struct {
	Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"`
}

func (m *ResetNeighborRequest) Reset()                    { *m = ResetNeighborRequest{} }
func (m *ResetNeighborRequest) String() string            { return proto.CompactTextString(m) }
func (*ResetNeighborRequest) ProtoMessage()               {}
func (*ResetNeighborRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }

type ResetNeighborResponse struct {
}

func (m *ResetNeighborResponse) Reset()                    { *m = ResetNeighborResponse{} }
func (m *ResetNeighborResponse) String() string            { return proto.CompactTextString(m) }
func (*ResetNeighborResponse) ProtoMessage()               {}
func (*ResetNeighborResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }

type SoftResetNeighborRequest struct {
	Address   string                                      `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"`
	Direction SoftResetNeighborRequest_SoftResetDirection `protobuf:"varint,2,opt,name=direction,enum=gobgpapi.SoftResetNeighborRequest_SoftResetDirection" json:"direction,omitempty"`
}

func (m *SoftResetNeighborRequest) Reset()                    { *m = SoftResetNeighborRequest{} }
func (m *SoftResetNeighborRequest) String() string            { return proto.CompactTextString(m) }
func (*SoftResetNeighborRequest) ProtoMessage()               {}
func (*SoftResetNeighborRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }

type SoftResetNeighborResponse struct {
}

func (m *SoftResetNeighborResponse) Reset()                    { *m = SoftResetNeighborResponse{} }
func (m *SoftResetNeighborResponse) String() string            { return proto.CompactTextString(m) }
func (*SoftResetNeighborResponse) ProtoMessage()               {}
func (*SoftResetNeighborResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }

type ShutdownNeighborRequest struct {
	Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"`
}

func (m *ShutdownNeighborRequest) Reset()                    { *m = ShutdownNeighborRequest{} }
func (m *ShutdownNeighborRequest) String() string            { return proto.CompactTextString(m) }
func (*ShutdownNeighborRequest) ProtoMessage()               {}
func (*ShutdownNeighborRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }

type ShutdownNeighborResponse struct {
}

func (m *ShutdownNeighborResponse) Reset()                    { *m = ShutdownNeighborResponse{} }
func (m *ShutdownNeighborResponse) String() string            { return proto.CompactTextString(m) }
func (*ShutdownNeighborResponse) ProtoMessage()               {}
func (*ShutdownNeighborResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }

type EnableNeighborRequest struct {
	Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"`
}

func (m *EnableNeighborRequest) Reset()                    { *m = EnableNeighborRequest{} }
func (m *EnableNeighborRequest) String() string            { return proto.CompactTextString(m) }
func (*EnableNeighborRequest) ProtoMessage()               {}
func (*EnableNeighborRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }

type EnableNeighborResponse struct {
}

func (m *EnableNeighborResponse) Reset()                    { *m = EnableNeighborResponse{} }
func (m *EnableNeighborResponse) String() string            { return proto.CompactTextString(m) }
func (*EnableNeighborResponse) ProtoMessage()               {}
func (*EnableNeighborResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} }

type DisableNeighborRequest struct {
	Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"`
}

func (m *DisableNeighborRequest) Reset()                    { *m = DisableNeighborRequest{} }
func (m *DisableNeighborRequest) String() string            { return proto.CompactTextString(m) }
func (*DisableNeighborRequest) ProtoMessage()               {}
func (*DisableNeighborRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} }

type DisableNeighborResponse struct {
}

func (m *DisableNeighborResponse) Reset()                    { *m = DisableNeighborResponse{} }
func (m *DisableNeighborResponse) String() string            { return proto.CompactTextString(m) }
func (*DisableNeighborResponse) ProtoMessage()               {}
func (*DisableNeighborResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} }

type EnableMrtRequest struct {
	DumpType int32  `protobuf:"varint,1,opt,name=dump_type,json=dumpType" json:"dump_type,omitempty"`
	Filename string `protobuf:"bytes,2,opt,name=filename" json:"filename,omitempty"`
	Interval uint64 `protobuf:"varint,3,opt,name=interval" json:"interval,omitempty"`
}

func (m *EnableMrtRequest) Reset()                    { *m = EnableMrtRequest{} }
func (m *EnableMrtRequest) String() string            { return proto.CompactTextString(m) }
func (*EnableMrtRequest) ProtoMessage()               {}
func (*EnableMrtRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} }

type EnableMrtResponse struct {
}

func (m *EnableMrtResponse) Reset()                    { *m = EnableMrtResponse{} }
func (m *EnableMrtResponse) String() string            { return proto.CompactTextString(m) }
func (*EnableMrtResponse) ProtoMessage()               {}
func (*EnableMrtResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} }

type DisableMrtRequest struct {
}

func (m *DisableMrtRequest) Reset()                    { *m = DisableMrtRequest{} }
func (m *DisableMrtRequest) String() string            { return proto.CompactTextString(m) }
func (*DisableMrtRequest) ProtoMessage()               {}
func (*DisableMrtRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} }

type DisableMrtResponse struct {
}

func (m *DisableMrtResponse) Reset()                    { *m = DisableMrtResponse{} }
func (m *DisableMrtResponse) String() string            { return proto.CompactTextString(m) }
func (*DisableMrtResponse) ProtoMessage()               {}
func (*DisableMrtResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{24} }

type InjectMrtRequest struct {
	Resource Resource `protobuf:"varint,1,opt,name=resource,enum=gobgpapi.Resource" json:"resource,omitempty"`
	VrfId    string   `protobuf:"bytes,2,opt,name=vrf_id,json=vrfId" json:"vrf_id,omitempty"`
	Paths    []*Path  `protobuf:"bytes,3,rep,name=paths" json:"paths,omitempty"`
}

func (m *InjectMrtRequest) Reset()                    { *m = InjectMrtRequest{} }
func (m *InjectMrtRequest) String() string            { return proto.CompactTextString(m) }
func (*InjectMrtRequest) ProtoMessage()               {}
func (*InjectMrtRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{25} }

func (m *InjectMrtRequest) GetPaths() []*Path {
	if m != nil {
		return m.Paths
	}
	return nil
}

type InjectMrtResponse struct {
}

func (m *InjectMrtResponse) Reset()                    { *m = InjectMrtResponse{} }
func (m *InjectMrtResponse) String() string            { return proto.CompactTextString(m) }
func (*InjectMrtResponse) ProtoMessage()               {}
func (*InjectMrtResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{26} }

type AddBmpRequest struct {
	Address string                         `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"`
	Port    uint32                         `protobuf:"varint,2,opt,name=port" json:"port,omitempty"`
	Type    AddBmpRequest_MonitoringPolicy `protobuf:"varint,3,opt,name=type,enum=gobgpapi.AddBmpRequest_MonitoringPolicy" json:"type,omitempty"`
}

func (m *AddBmpRequest) Reset()                    { *m = AddBmpRequest{} }
func (m *AddBmpRequest) String() string            { return proto.CompactTextString(m) }
func (*AddBmpRequest) ProtoMessage()               {}
func (*AddBmpRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{27} }

type AddBmpResponse struct {
}

func (m *AddBmpResponse) Reset()                    { *m = AddBmpResponse{} }
func (m *AddBmpResponse) String() string            { return proto.CompactTextString(m) }
func (*AddBmpResponse) ProtoMessage()               {}
func (*AddBmpResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{28} }

type DeleteBmpRequest struct {
	Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"`
	Port    uint32 `protobuf:"varint,2,opt,name=port" json:"port,omitempty"`
}

func (m *DeleteBmpRequest) Reset()                    { *m = DeleteBmpRequest{} }
func (m *DeleteBmpRequest) String() string            { return proto.CompactTextString(m) }
func (*DeleteBmpRequest) ProtoMessage()               {}
func (*DeleteBmpRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{29} }

type DeleteBmpResponse struct {
}

func (m *DeleteBmpResponse) Reset()                    { *m = DeleteBmpResponse{} }
func (m *DeleteBmpResponse) String() string            { return proto.CompactTextString(m) }
func (*DeleteBmpResponse) ProtoMessage()               {}
func (*DeleteBmpResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{30} }

type RPKIConf struct {
	Address    string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"`
	RemotePort string `protobuf:"bytes,2,opt,name=remote_port,json=remotePort" json:"remote_port,omitempty"`
}

func (m *RPKIConf) Reset()                    { *m = RPKIConf{} }
func (m *RPKIConf) String() string            { return proto.CompactTextString(m) }
func (*RPKIConf) ProtoMessage()               {}
func (*RPKIConf) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{31} }

type RPKIState struct {
	Uptime        int64  `protobuf:"varint,1,opt,name=uptime" json:"uptime,omitempty"`
	Downtime      int64  `protobuf:"varint,2,opt,name=downtime" json:"downtime,omitempty"`
	Up            bool   `protobuf:"varint,3,opt,name=up" json:"up,omitempty"`
	RecordIpv4    uint32 `protobuf:"varint,4,opt,name=record_ipv4,json=recordIpv4" json:"record_ipv4,omitempty"`
	RecordIpv6    uint32 `protobuf:"varint,5,opt,name=record_ipv6,json=recordIpv6" json:"record_ipv6,omitempty"`
	PrefixIpv4    uint32 `protobuf:"varint,6,opt,name=prefix_ipv4,json=prefixIpv4" json:"prefix_ipv4,omitempty"`
	PrefixIpv6    uint32 `protobuf:"varint,7,opt,name=prefix_ipv6,json=prefixIpv6" json:"prefix_ipv6,omitempty"`
	Serial        uint32 `protobuf:"varint,8,opt,name=serial" json:"serial,omitempty"`
	ReceivedIpv4  int64  `protobuf:"varint,9,opt,name=received_ipv4,json=receivedIpv4" json:"received_ipv4,omitempty"`
	ReceivedIpv6  int64  `protobuf:"varint,10,opt,name=received_ipv6,json=receivedIpv6" json:"received_ipv6,omitempty"`
	SerialNotify  int64  `protobuf:"varint,11,opt,name=serial_notify,json=serialNotify" json:"serial_notify,omitempty"`
	CacheReset    int64  `protobuf:"varint,12,opt,name=cache_reset,json=cacheReset" json:"cache_reset,omitempty"`
	CacheResponse int64  `protobuf:"varint,13,opt,name=cache_response,json=cacheResponse" json:"cache_response,omitempty"`
	EndOfData     int64  `protobuf:"varint,14,opt,name=end_of_data,json=endOfData" json:"end_of_data,omitempty"`
	Error         int64  `protobuf:"varint,15,opt,name=error" json:"error,omitempty"`
	SerialQuery   int64  `protobuf:"varint,16,opt,name=serial_query,json=serialQuery" json:"serial_query,omitempty"`
	ResetQuery    int64  `protobuf:"varint,17,opt,name=reset_query,json=resetQuery" json:"reset_query,omitempty"`
}

func (m *RPKIState) Reset()                    { *m = RPKIState{} }
func (m *RPKIState) String() string            { return proto.CompactTextString(m) }
func (*RPKIState) ProtoMessage()               {}
func (*RPKIState) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{32} }

type Rpki struct {
	Conf  *RPKIConf  `protobuf:"bytes,1,opt,name=conf" json:"conf,omitempty"`
	State *RPKIState `protobuf:"bytes,2,opt,name=state" json:"state,omitempty"`
}

func (m *Rpki) Reset()                    { *m = Rpki{} }
func (m *Rpki) String() string            { return proto.CompactTextString(m) }
func (*Rpki) ProtoMessage()               {}
func (*Rpki) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{33} }

func (m *Rpki) GetConf() *RPKIConf {
	if m != nil {
		return m.Conf
	}
	return nil
}

func (m *Rpki) GetState() *RPKIState {
	if m != nil {
		return m.State
	}
	return nil
}

type GetRpkiRequest struct {
	Family uint32 `protobuf:"varint,1,opt,name=family" json:"family,omitempty"`
}

func (m *GetRpkiRequest) Reset()                    { *m = GetRpkiRequest{} }
func (m *GetRpkiRequest) String() string            { return proto.CompactTextString(m) }
func (*GetRpkiRequest) ProtoMessage()               {}
func (*GetRpkiRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{34} }

type GetRpkiResponse struct {
	Servers []*Rpki `protobuf:"bytes,1,rep,name=servers" json:"servers,omitempty"`
}

func (m *GetRpkiResponse) Reset()                    { *m = GetRpkiResponse{} }
func (m *GetRpkiResponse) String() string            { return proto.CompactTextString(m) }
func (*GetRpkiResponse) ProtoMessage()               {}
func (*GetRpkiResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{35} }

func (m *GetRpkiResponse) GetServers() []*Rpki {
	if m != nil {
		return m.Servers
	}
	return nil
}

type AddRpkiRequest struct {
	Address  string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"`
	Port     uint32 `protobuf:"varint,2,opt,name=port" json:"port,omitempty"`
	Lifetime int64  `protobuf:"varint,3,opt,name=lifetime" json:"lifetime,omitempty"`
}

func (m *AddRpkiRequest) Reset()                    { *m = AddRpkiRequest{} }
func (m *AddRpkiRequest) String() string            { return proto.CompactTextString(m) }
func (*AddRpkiRequest) ProtoMessage()               {}
func (*AddRpkiRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{36} }

type AddRpkiResponse struct {
}

func (m *AddRpkiResponse) Reset()                    { *m = AddRpkiResponse{} }
func (m *AddRpkiResponse) String() string            { return proto.CompactTextString(m) }
func (*AddRpkiResponse) ProtoMessage()               {}
func (*AddRpkiResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{37} }

type DeleteRpkiRequest struct {
	Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"`
	Port    uint32 `protobuf:"varint,2,opt,name=port" json:"port,omitempty"`
}

func (m *DeleteRpkiRequest) Reset()                    { *m = DeleteRpkiRequest{} }
func (m *DeleteRpkiRequest) String() string            { return proto.CompactTextString(m) }
func (*DeleteRpkiRequest) ProtoMessage()               {}
func (*DeleteRpkiRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{38} }

type DeleteRpkiResponse struct {
}

func (m *DeleteRpkiResponse) Reset()                    { *m = DeleteRpkiResponse{} }
func (m *DeleteRpkiResponse) String() string            { return proto.CompactTextString(m) }
func (*DeleteRpkiResponse) ProtoMessage()               {}
func (*DeleteRpkiResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{39} }

type EnableRpkiRequest struct {
	Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"`
}

func (m *EnableRpkiRequest) Reset()                    { *m = EnableRpkiRequest{} }
func (m *EnableRpkiRequest) String() string            { return proto.CompactTextString(m) }
func (*EnableRpkiRequest) ProtoMessage()               {}
func (*EnableRpkiRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{40} }

type EnableRpkiResponse struct {
}

func (m *EnableRpkiResponse) Reset()                    { *m = EnableRpkiResponse{} }
func (m *EnableRpkiResponse) String() string            { return proto.CompactTextString(m) }
func (*EnableRpkiResponse) ProtoMessage()               {}
func (*EnableRpkiResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{41} }

type DisableRpkiRequest struct {
	Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"`
}

func (m *DisableRpkiRequest) Reset()                    { *m = DisableRpkiRequest{} }
func (m *DisableRpkiRequest) String() string            { return proto.CompactTextString(m) }
func (*DisableRpkiRequest) ProtoMessage()               {}
func (*DisableRpkiRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{42} }

type DisableRpkiResponse struct {
}

func (m *DisableRpkiResponse) Reset()                    { *m = DisableRpkiResponse{} }
func (m *DisableRpkiResponse) String() string            { return proto.CompactTextString(m) }
func (*DisableRpkiResponse) ProtoMessage()               {}
func (*DisableRpkiResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{43} }

type ResetRpkiRequest struct {
	Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"`
}

func (m *ResetRpkiRequest) Reset()                    { *m = ResetRpkiRequest{} }
func (m *ResetRpkiRequest) String() string            { return proto.CompactTextString(m) }
func (*ResetRpkiRequest) ProtoMessage()               {}
func (*ResetRpkiRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{44} }

type ResetRpkiResponse struct {
}

func (m *ResetRpkiResponse) Reset()                    { *m = ResetRpkiResponse{} }
func (m *ResetRpkiResponse) String() string            { return proto.CompactTextString(m) }
func (*ResetRpkiResponse) ProtoMessage()               {}
func (*ResetRpkiResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{45} }

type SoftResetRpkiRequest struct {
	Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"`
}

func (m *SoftResetRpkiRequest) Reset()                    { *m = SoftResetRpkiRequest{} }
func (m *SoftResetRpkiRequest) String() string            { return proto.CompactTextString(m) }
func (*SoftResetRpkiRequest) ProtoMessage()               {}
func (*SoftResetRpkiRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{46} }

type SoftResetRpkiResponse struct {
}

func (m *SoftResetRpkiResponse) Reset()                    { *m = SoftResetRpkiResponse{} }
func (m *SoftResetRpkiResponse) String() string            { return proto.CompactTextString(m) }
func (*SoftResetRpkiResponse) ProtoMessage()               {}
func (*SoftResetRpkiResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{47} }

type EnableZebraRequest struct {
	Url        string   `protobuf:"bytes,1,opt,name=url" json:"url,omitempty"`
	RouteTypes []string `protobuf:"bytes,2,rep,name=route_types,json=routeTypes" json:"route_types,omitempty"`
}

func (m *EnableZebraRequest) Reset()                    { *m = EnableZebraRequest{} }
func (m *EnableZebraRequest) String() string            { return proto.CompactTextString(m) }
func (*EnableZebraRequest) ProtoMessage()               {}
func (*EnableZebraRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{48} }

type EnableZebraResponse struct {
}

func (m *EnableZebraResponse) Reset()                    { *m = EnableZebraResponse{} }
func (m *EnableZebraResponse) String() string            { return proto.CompactTextString(m) }
func (*EnableZebraResponse) ProtoMessage()               {}
func (*EnableZebraResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{49} }

type GetVrfRequest struct {
}

func (m *GetVrfRequest) Reset()                    { *m = GetVrfRequest{} }
func (m *GetVrfRequest) String() string            { return proto.CompactTextString(m) }
func (*GetVrfRequest) ProtoMessage()               {}
func (*GetVrfRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{50} }

type GetVrfResponse struct {
	Vrfs []*Vrf `protobuf:"bytes,1,rep,name=vrfs" json:"vrfs,omitempty"`
}

func (m *GetVrfResponse) Reset()                    { *m = GetVrfResponse{} }
func (m *GetVrfResponse) String() string            { return proto.CompactTextString(m) }
func (*GetVrfResponse) ProtoMessage()               {}
func (*GetVrfResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{51} }

func (m *GetVrfResponse) GetVrfs() []*Vrf {
	if m != nil {
		return m.Vrfs
	}
	return nil
}

type AddVrfRequest struct {
	Vrf *Vrf `protobuf:"bytes,1,opt,name=vrf" json:"vrf,omitempty"`
}

func (m *AddVrfRequest) Reset()                    { *m = AddVrfRequest{} }
func (m *AddVrfRequest) String() string            { return proto.CompactTextString(m) }
func (*AddVrfRequest) ProtoMessage()               {}
func (*AddVrfRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{52} }

func (m *AddVrfRequest) GetVrf() *Vrf {
	if m != nil {
		return m.Vrf
	}
	return nil
}

type AddVrfResponse struct {
}

func (m *AddVrfResponse) Reset()                    { *m = AddVrfResponse{} }
func (m *AddVrfResponse) String() string            { return proto.CompactTextString(m) }
func (*AddVrfResponse) ProtoMessage()               {}
func (*AddVrfResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{53} }

type DeleteVrfRequest struct {
	Vrf *Vrf `protobuf:"bytes,1,opt,name=vrf" json:"vrf,omitempty"`
}

func (m *DeleteVrfRequest) Reset()                    { *m = DeleteVrfRequest{} }
func (m *DeleteVrfRequest) String() string            { return proto.CompactTextString(m) }
func (*DeleteVrfRequest) ProtoMessage()               {}
func (*DeleteVrfRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{54} }

func (m *DeleteVrfRequest) GetVrf() *Vrf {
	if m != nil {
		return m.Vrf
	}
	return nil
}

type DeleteVrfResponse struct {
}

func (m *DeleteVrfResponse) Reset()                    { *m = DeleteVrfResponse{} }
func (m *DeleteVrfResponse) String() string            { return proto.CompactTextString(m) }
func (*DeleteVrfResponse) ProtoMessage()               {}
func (*DeleteVrfResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{55} }

type GetDefinedSetRequest struct {
	Type DefinedType `protobuf:"varint,1,opt,name=type,enum=gobgpapi.DefinedType" json:"type,omitempty"`
}

func (m *GetDefinedSetRequest) Reset()                    { *m = GetDefinedSetRequest{} }
func (m *GetDefinedSetRequest) String() string            { return proto.CompactTextString(m) }
func (*GetDefinedSetRequest) ProtoMessage()               {}
func (*GetDefinedSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{56} }

type GetDefinedSetResponse struct {
	Sets []*DefinedSet `protobuf:"bytes,1,rep,name=sets" json:"sets,omitempty"`
}

func (m *GetDefinedSetResponse) Reset()                    { *m = GetDefinedSetResponse{} }
func (m *GetDefinedSetResponse) String() string            { return proto.CompactTextString(m) }
func (*GetDefinedSetResponse) ProtoMessage()               {}
func (*GetDefinedSetResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{57} }

func (m *GetDefinedSetResponse) GetSets() []*DefinedSet {
	if m != nil {
		return m.Sets
	}
	return nil
}

type AddDefinedSetRequest struct {
	Set *DefinedSet `protobuf:"bytes,1,opt,name=set" json:"set,omitempty"`
}

func (m *AddDefinedSetRequest) Reset()                    { *m = AddDefinedSetRequest{} }
func (m *AddDefinedSetRequest) String() string            { return proto.CompactTextString(m) }
func (*AddDefinedSetRequest) ProtoMessage()               {}
func (*AddDefinedSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{58} }

func (m *AddDefinedSetRequest) GetSet() *DefinedSet {
	if m != nil {
		return m.Set
	}
	return nil
}

type AddDefinedSetResponse struct {
}

func (m *AddDefinedSetResponse) Reset()                    { *m = AddDefinedSetResponse{} }
func (m *AddDefinedSetResponse) String() string            { return proto.CompactTextString(m) }
func (*AddDefinedSetResponse) ProtoMessage()               {}
func (*AddDefinedSetResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{59} }

type DeleteDefinedSetRequest struct {
	Set *DefinedSet `protobuf:"bytes,1,opt,name=set" json:"set,omitempty"`
	All bool        `protobuf:"varint,2,opt,name=all" json:"all,omitempty"`
}

func (m *DeleteDefinedSetRequest) Reset()                    { *m = DeleteDefinedSetRequest{} }
func (m *DeleteDefinedSetRequest) String() string            { return proto.CompactTextString(m) }
func (*DeleteDefinedSetRequest) ProtoMessage()               {}
func (*DeleteDefinedSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{60} }

func (m *DeleteDefinedSetRequest) GetSet() *DefinedSet {
	if m != nil {
		return m.Set
	}
	return nil
}

type DeleteDefinedSetResponse struct {
}

func (m *DeleteDefinedSetResponse) Reset()                    { *m = DeleteDefinedSetResponse{} }
func (m *DeleteDefinedSetResponse) String() string            { return proto.CompactTextString(m) }
func (*DeleteDefinedSetResponse) ProtoMessage()               {}
func (*DeleteDefinedSetResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{61} }

type ReplaceDefinedSetRequest struct {
	Set *DefinedSet `protobuf:"bytes,1,opt,name=set" json:"set,omitempty"`
}

func (m *ReplaceDefinedSetRequest) Reset()                    { *m = ReplaceDefinedSetRequest{} }
func (m *ReplaceDefinedSetRequest) String() string            { return proto.CompactTextString(m) }
func (*ReplaceDefinedSetRequest) ProtoMessage()               {}
func (*ReplaceDefinedSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{62} }

func (m *ReplaceDefinedSetRequest) GetSet() *DefinedSet {
	if m != nil {
		return m.Set
	}
	return nil
}

type ReplaceDefinedSetResponse struct {
}

func (m *ReplaceDefinedSetResponse) Reset()                    { *m = ReplaceDefinedSetResponse{} }
func (m *ReplaceDefinedSetResponse) String() string            { return proto.CompactTextString(m) }
func (*ReplaceDefinedSetResponse) ProtoMessage()               {}
func (*ReplaceDefinedSetResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{63} }

type GetStatementRequest struct {
}

func (m *GetStatementRequest) Reset()                    { *m = GetStatementRequest{} }
func (m *GetStatementRequest) String() string            { return proto.CompactTextString(m) }
func (*GetStatementRequest) ProtoMessage()               {}
func (*GetStatementRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{64} }

type GetStatementResponse struct {
	Statements []*Statement `protobuf:"bytes,1,rep,name=statements" json:"statements,omitempty"`
}

func (m *GetStatementResponse) Reset()                    { *m = GetStatementResponse{} }
func (m *GetStatementResponse) String() string            { return proto.CompactTextString(m) }
func (*GetStatementResponse) ProtoMessage()               {}
func (*GetStatementResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{65} }

func (m *GetStatementResponse) GetStatements() []*Statement {
	if m != nil {
		return m.Statements
	}
	return nil
}

type AddStatementRequest struct {
	Statement *Statement `protobuf:"bytes,1,opt,name=statement" json:"statement,omitempty"`
}

func (m *AddStatementRequest) Reset()                    { *m = AddStatementRequest{} }
func (m *AddStatementRequest) String() string            { return proto.CompactTextString(m) }
func (*AddStatementRequest) ProtoMessage()               {}
func (*AddStatementRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{66} }

func (m *AddStatementRequest) GetStatement() *Statement {
	if m != nil {
		return m.Statement
	}
	return nil
}

type AddStatementResponse struct {
}

func (m *AddStatementResponse) Reset()                    { *m = AddStatementResponse{} }
func (m *AddStatementResponse) String() string            { return proto.CompactTextString(m) }
func (*AddStatementResponse) ProtoMessage()               {}
func (*AddStatementResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{67} }

type DeleteStatementRequest struct {
	Statement *Statement `protobuf:"bytes,1,opt,name=statement" json:"statement,omitempty"`
	All       bool       `protobuf:"varint,2,opt,name=all" json:"all,omitempty"`
}

func (m *DeleteStatementRequest) Reset()                    { *m = DeleteStatementRequest{} }
func (m *DeleteStatementRequest) String() string            { return proto.CompactTextString(m) }
func (*DeleteStatementRequest) ProtoMessage()               {}
func (*DeleteStatementRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{68} }

func (m *DeleteStatementRequest) GetStatement() *Statement {
	if m != nil {
		return m.Statement
	}
	return nil
}

type DeleteStatementResponse struct {
}

func (m *DeleteStatementResponse) Reset()                    { *m = DeleteStatementResponse{} }
func (m *DeleteStatementResponse) String() string            { return proto.CompactTextString(m) }
func (*DeleteStatementResponse) ProtoMessage()               {}
func (*DeleteStatementResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{69} }

type ReplaceStatementRequest struct {
	Statement *Statement `protobuf:"bytes,1,opt,name=statement" json:"statement,omitempty"`
}

func (m *ReplaceStatementRequest) Reset()                    { *m = ReplaceStatementRequest{} }
func (m *ReplaceStatementRequest) String() string            { return proto.CompactTextString(m) }
func (*ReplaceStatementRequest) ProtoMessage()               {}
func (*ReplaceStatementRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{70} }

func (m *ReplaceStatementRequest) GetStatement() *Statement {
	if m != nil {
		return m.Statement
	}
	return nil
}

type ReplaceStatementResponse struct {
}

func (m *ReplaceStatementResponse) Reset()                    { *m = ReplaceStatementResponse{} }
func (m *ReplaceStatementResponse) String() string            { return proto.CompactTextString(m) }
func (*ReplaceStatementResponse) ProtoMessage()               {}
func (*ReplaceStatementResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{71} }

type GetPolicyRequest struct {
}

func (m *GetPolicyRequest) Reset()                    { *m = GetPolicyRequest{} }
func (m *GetPolicyRequest) String() string            { return proto.CompactTextString(m) }
func (*GetPolicyRequest) ProtoMessage()               {}
func (*GetPolicyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{72} }

type GetPolicyResponse struct {
	Policies []*Policy `protobuf:"bytes,1,rep,name=policies" json:"policies,omitempty"`
}

func (m *GetPolicyResponse) Reset()                    { *m = GetPolicyResponse{} }
func (m *GetPolicyResponse) String() string            { return proto.CompactTextString(m) }
func (*GetPolicyResponse) ProtoMessage()               {}
func (*GetPolicyResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{73} }

func (m *GetPolicyResponse) GetPolicies() []*Policy {
	if m != nil {
		return m.Policies
	}
	return nil
}

type AddPolicyRequest struct {
	Policy *Policy `protobuf:"bytes,1,opt,name=policy" json:"policy,omitempty"`
	// if this flag is set, gobgpd won't define new statements
	// but refer existing statements using statement's names in this arguments.
	ReferExistingStatements bool `protobuf:"varint,2,opt,name=refer_existing_statements,json=referExistingStatements" json:"refer_existing_statements,omitempty"`
}

func (m *AddPolicyRequest) Reset()                    { *m = AddPolicyRequest{} }
func (m *AddPolicyRequest) String() string            { return proto.CompactTextString(m) }
func (*AddPolicyRequest) ProtoMessage()               {}
func (*AddPolicyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{74} }

func (m *AddPolicyRequest) GetPolicy() *Policy {
	if m != nil {
		return m.Policy
	}
	return nil
}

type AddPolicyResponse struct {
}

func (m *AddPolicyResponse) Reset()                    { *m = AddPolicyResponse{} }
func (m *AddPolicyResponse) String() string            { return proto.CompactTextString(m) }
func (*AddPolicyResponse) ProtoMessage()               {}
func (*AddPolicyResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{75} }

type DeletePolicyRequest struct {
	Policy *Policy `protobuf:"bytes,1,opt,name=policy" json:"policy,omitempty"`
	// if this flag is set, gobgpd won't delete any statements
	// even if some statements get not used by any policy by this operation.
	PreserveStatements bool `protobuf:"varint,2,opt,name=preserve_statements,json=preserveStatements" json:"preserve_statements,omitempty"`
	All                bool `protobuf:"varint,3,opt,name=all" json:"all,omitempty"`
}

func (m *DeletePolicyRequest) Reset()                    { *m = DeletePolicyRequest{} }
func (m *DeletePolicyRequest) String() string            { return proto.CompactTextString(m) }
func (*DeletePolicyRequest) ProtoMessage()               {}
func (*DeletePolicyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{76} }

func (m *DeletePolicyRequest) GetPolicy() *Policy {
	if m != nil {
		return m.Policy
	}
	return nil
}

type DeletePolicyResponse struct {
}

func (m *DeletePolicyResponse) Reset()                    { *m = DeletePolicyResponse{} }
func (m *DeletePolicyResponse) String() string            { return proto.CompactTextString(m) }
func (*DeletePolicyResponse) ProtoMessage()               {}
func (*DeletePolicyResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{77} }

type ReplacePolicyRequest struct {
	Policy *Policy `protobuf:"bytes,1,opt,name=policy" json:"policy,omitempty"`
	// if this flag is set, gobgpd won't define new statements
	// but refer existing statements using statement's names in this arguments.
	ReferExistingStatements bool `protobuf:"varint,2,opt,name=refer_existing_statements,json=referExistingStatements" json:"refer_existing_statements,omitempty"`
	// if this flag is set, gobgpd won't delete any statements
	// even if some statements get not used by any policy by this operation.
	PreserveStatements bool `protobuf:"varint,3,opt,name=preserve_statements,json=preserveStatements" json:"preserve_statements,omitempty"`
}

func (m *ReplacePolicyRequest) Reset()                    { *m = ReplacePolicyRequest{} }
func (m *ReplacePolicyRequest) String() string            { return proto.CompactTextString(m) }
func (*ReplacePolicyRequest) ProtoMessage()               {}
func (*ReplacePolicyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{78} }

func (m *ReplacePolicyRequest) GetPolicy() *Policy {
	if m != nil {
		return m.Policy
	}
	return nil
}

type ReplacePolicyResponse struct {
}

func (m *ReplacePolicyResponse) Reset()                    { *m = ReplacePolicyResponse{} }
func (m *ReplacePolicyResponse) String() string            { return proto.CompactTextString(m) }
func (*ReplacePolicyResponse) ProtoMessage()               {}
func (*ReplacePolicyResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{79} }

type GetPolicyAssignmentRequest struct {
	Assignment *PolicyAssignment `protobuf:"bytes,1,opt,name=assignment" json:"assignment,omitempty"`
}

func (m *GetPolicyAssignmentRequest) Reset()                    { *m = GetPolicyAssignmentRequest{} }
func (m *GetPolicyAssignmentRequest) String() string            { return proto.CompactTextString(m) }
func (*GetPolicyAssignmentRequest) ProtoMessage()               {}
func (*GetPolicyAssignmentRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{80} }

func (m *GetPolicyAssignmentRequest) GetAssignment() *PolicyAssignment {
	if m != nil {
		return m.Assignment
	}
	return nil
}

type GetPolicyAssignmentResponse struct {
	Assignment *PolicyAssignment `protobuf:"bytes,1,opt,name=assignment" json:"assignment,omitempty"`
}

func (m *GetPolicyAssignmentResponse) Reset()                    { *m = GetPolicyAssignmentResponse{} }
func (m *GetPolicyAssignmentResponse) String() string            { return proto.CompactTextString(m) }
func (*GetPolicyAssignmentResponse) ProtoMessage()               {}
func (*GetPolicyAssignmentResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{81} }

func (m *GetPolicyAssignmentResponse) GetAssignment() *PolicyAssignment {
	if m != nil {
		return m.Assignment
	}
	return nil
}

type AddPolicyAssignmentRequest struct {
	Assignment *PolicyAssignment `protobuf:"bytes,1,opt,name=assignment" json:"assignment,omitempty"`
}

func (m *AddPolicyAssignmentRequest) Reset()                    { *m = AddPolicyAssignmentRequest{} }
func (m *AddPolicyAssignmentRequest) String() string            { return proto.CompactTextString(m) }
func (*AddPolicyAssignmentRequest) ProtoMessage()               {}
func (*AddPolicyAssignmentRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{82} }

func (m *AddPolicyAssignmentRequest) GetAssignment() *PolicyAssignment {
	if m != nil {
		return m.Assignment
	}
	return nil
}

type AddPolicyAssignmentResponse struct {
}

func (m *AddPolicyAssignmentResponse) Reset()                    { *m = AddPolicyAssignmentResponse{} }
func (m *AddPolicyAssignmentResponse) String() string            { return proto.CompactTextString(m) }
func (*AddPolicyAssignmentResponse) ProtoMessage()               {}
func (*AddPolicyAssignmentResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{83} }

type DeletePolicyAssignmentRequest struct {
	Assignment *PolicyAssignment `protobuf:"bytes,1,opt,name=assignment" json:"assignment,omitempty"`
	All        bool              `protobuf:"varint,2,opt,name=all" json:"all,omitempty"`
}

func (m *DeletePolicyAssignmentRequest) Reset()                    { *m = DeletePolicyAssignmentRequest{} }
func (m *DeletePolicyAssignmentRequest) String() string            { return proto.CompactTextString(m) }
func (*DeletePolicyAssignmentRequest) ProtoMessage()               {}
func (*DeletePolicyAssignmentRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{84} }

func (m *DeletePolicyAssignmentRequest) GetAssignment() *PolicyAssignment {
	if m != nil {
		return m.Assignment
	}
	return nil
}

type DeletePolicyAssignmentResponse struct {
}

func (m *DeletePolicyAssignmentResponse) Reset()                    { *m = DeletePolicyAssignmentResponse{} }
func (m *DeletePolicyAssignmentResponse) String() string            { return proto.CompactTextString(m) }
func (*DeletePolicyAssignmentResponse) ProtoMessage()               {}
func (*DeletePolicyAssignmentResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{85} }

type ReplacePolicyAssignmentRequest struct {
	Assignment *PolicyAssignment `protobuf:"bytes,1,opt,name=assignment" json:"assignment,omitempty"`
}

func (m *ReplacePolicyAssignmentRequest) Reset()                    { *m = ReplacePolicyAssignmentRequest{} }
func (m *ReplacePolicyAssignmentRequest) String() string            { return proto.CompactTextString(m) }
func (*ReplacePolicyAssignmentRequest) ProtoMessage()               {}
func (*ReplacePolicyAssignmentRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{86} }

func (m *ReplacePolicyAssignmentRequest) GetAssignment() *PolicyAssignment {
	if m != nil {
		return m.Assignment
	}
	return nil
}

type ReplacePolicyAssignmentResponse struct {
}

func (m *ReplacePolicyAssignmentResponse) Reset()         { *m = ReplacePolicyAssignmentResponse{} }
func (m *ReplacePolicyAssignmentResponse) String() string { return proto.CompactTextString(m) }
func (*ReplacePolicyAssignmentResponse) ProtoMessage()    {}
func (*ReplacePolicyAssignmentResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{87}
}

type GetServerRequest struct {
}

func (m *GetServerRequest) Reset()                    { *m = GetServerRequest{} }
func (m *GetServerRequest) String() string            { return proto.CompactTextString(m) }
func (*GetServerRequest) ProtoMessage()               {}
func (*GetServerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{88} }

type GetServerResponse struct {
	Global *Global `protobuf:"bytes,1,opt,name=global" json:"global,omitempty"`
}

func (m *GetServerResponse) Reset()                    { *m = GetServerResponse{} }
func (m *GetServerResponse) String() string            { return proto.CompactTextString(m) }
func (*GetServerResponse) ProtoMessage()               {}
func (*GetServerResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{89} }

func (m *GetServerResponse) GetGlobal() *Global {
	if m != nil {
		return m.Global
	}
	return nil
}

type StartServerRequest struct {
	Global *Global `protobuf:"bytes,1,opt,name=global" json:"global,omitempty"`
}

func (m *StartServerRequest) Reset()                    { *m = StartServerRequest{} }
func (m *StartServerRequest) String() string            { return proto.CompactTextString(m) }
func (*StartServerRequest) ProtoMessage()               {}
func (*StartServerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{90} }

func (m *StartServerRequest) GetGlobal() *Global {
	if m != nil {
		return m.Global
	}
	return nil
}

type StartServerResponse struct {
}

func (m *StartServerResponse) Reset()                    { *m = StartServerResponse{} }
func (m *StartServerResponse) String() string            { return proto.CompactTextString(m) }
func (*StartServerResponse) ProtoMessage()               {}
func (*StartServerResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{91} }

type StopServerRequest struct {
}

func (m *StopServerRequest) Reset()                    { *m = StopServerRequest{} }
func (m *StopServerRequest) String() string            { return proto.CompactTextString(m) }
func (*StopServerRequest) ProtoMessage()               {}
func (*StopServerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{92} }

type StopServerResponse struct {
}

func (m *StopServerResponse) Reset()                    { *m = StopServerResponse{} }
func (m *StopServerResponse) String() string            { return proto.CompactTextString(m) }
func (*StopServerResponse) ProtoMessage()               {}
func (*StopServerResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{93} }

type Path struct {
	Nlri               []byte   `protobuf:"bytes,1,opt,name=nlri,proto3" json:"nlri,omitempty"`
	Pattrs             [][]byte `protobuf:"bytes,2,rep,name=pattrs,proto3" json:"pattrs,omitempty"`
	Age                int64    `protobuf:"varint,3,opt,name=age" json:"age,omitempty"`
	Best               bool     `protobuf:"varint,4,opt,name=best" json:"best,omitempty"`
	IsWithdraw         bool     `protobuf:"varint,5,opt,name=is_withdraw,json=isWithdraw" json:"is_withdraw,omitempty"`
	Validation         int32    `protobuf:"varint,6,opt,name=validation" json:"validation,omitempty"`
	NoImplicitWithdraw bool     `protobuf:"varint,7,opt,name=no_implicit_withdraw,json=noImplicitWithdraw" json:"no_implicit_withdraw,omitempty"`
	Family             uint32   `protobuf:"varint,8,opt,name=family" json:"family,omitempty"`
	SourceAsn          uint32   `protobuf:"varint,9,opt,name=source_asn,json=sourceAsn" json:"source_asn,omitempty"`
	SourceId           string   `protobuf:"bytes,10,opt,name=source_id,json=sourceId" json:"source_id,omitempty"`
	Filtered           bool     `protobuf:"varint,11,opt,name=filtered" json:"filtered,omitempty"`
	Stale              bool     `protobuf:"varint,12,opt,name=stale" json:"stale,omitempty"`
	IsFromExternal     bool     `protobuf:"varint,13,opt,name=is_from_external,json=isFromExternal" json:"is_from_external,omitempty"`
	NeighborIp         string   `protobuf:"bytes,14,opt,name=neighbor_ip,json=neighborIp" json:"neighbor_ip,omitempty"`
}

func (m *Path) Reset()                    { *m = Path{} }
func (m *Path) String() string            { return proto.CompactTextString(m) }
func (*Path) ProtoMessage()               {}
func (*Path) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{94} }

type Destination struct {
	Prefix          string  `protobuf:"bytes,1,opt,name=prefix" json:"prefix,omitempty"`
	Paths           []*Path `protobuf:"bytes,2,rep,name=paths" json:"paths,omitempty"`
	LongerPrefixes  bool    `protobuf:"varint,3,opt,name=longer_prefixes,json=longerPrefixes" json:"longer_prefixes,omitempty"`
	ShorterPrefixes bool    `protobuf:"varint,4,opt,name=shorter_prefixes,json=shorterPrefixes" json:"shorter_prefixes,omitempty"`
}

func (m *Destination) Reset()                    { *m = Destination{} }
func (m *Destination) String() string            { return proto.CompactTextString(m) }
func (*Destination) ProtoMessage()               {}
func (*Destination) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{95} }

func (m *Destination) GetPaths() []*Path {
	if m != nil {
		return m.Paths
	}
	return nil
}

type Table struct {
	Type         Resource       `protobuf:"varint,1,opt,name=type,enum=gobgpapi.Resource" json:"type,omitempty"`
	Name         string         `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
	Family       uint32         `protobuf:"varint,3,opt,name=family" json:"family,omitempty"`
	Destinations []*Destination `protobuf:"bytes,4,rep,name=destinations" json:"destinations,omitempty"`
	PostPolicy   bool           `protobuf:"varint,5,opt,name=post_policy,json=postPolicy" json:"post_policy,omitempty"`
}

func (m *Table) Reset()                    { *m = Table{} }
func (m *Table) String() string            { return proto.CompactTextString(m) }
func (*Table) ProtoMessage()               {}
func (*Table) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{96} }

func (m *Table) GetDestinations() []*Destination {
	if m != nil {
		return m.Destinations
	}
	return nil
}

type GetRibRequest struct {
	Table *Table `protobuf:"bytes,1,opt,name=table" json:"table,omitempty"`
}

func (m *GetRibRequest) Reset()                    { *m = GetRibRequest{} }
func (m *GetRibRequest) String() string            { return proto.CompactTextString(m) }
func (*GetRibRequest) ProtoMessage()               {}
func (*GetRibRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{97} }

func (m *GetRibRequest) GetTable() *Table {
	if m != nil {
		return m.Table
	}
	return nil
}

type GetRibResponse struct {
	Table *Table `protobuf:"bytes,1,opt,name=table" json:"table,omitempty"`
}

func (m *GetRibResponse) Reset()                    { *m = GetRibResponse{} }
func (m *GetRibResponse) String() string            { return proto.CompactTextString(m) }
func (*GetRibResponse) ProtoMessage()               {}
func (*GetRibResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{98} }

func (m *GetRibResponse) GetTable() *Table {
	if m != nil {
		return m.Table
	}
	return nil
}

type ValidateRibRequest struct {
	Type   Resource `protobuf:"varint,1,opt,name=type,enum=gobgpapi.Resource" json:"type,omitempty"`
	Family uint32   `protobuf:"varint,2,opt,name=family" json:"family,omitempty"`
	Prefix string   `protobuf:"bytes,3,opt,name=prefix" json:"prefix,omitempty"`
}

func (m *ValidateRibRequest) Reset()                    { *m = ValidateRibRequest{} }
func (m *ValidateRibRequest) String() string            { return proto.CompactTextString(m) }
func (*ValidateRibRequest) ProtoMessage()               {}
func (*ValidateRibRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{99} }

type ValidateRibResponse struct {
}

func (m *ValidateRibResponse) Reset()                    { *m = ValidateRibResponse{} }
func (m *ValidateRibResponse) String() string            { return proto.CompactTextString(m) }
func (*ValidateRibResponse) ProtoMessage()               {}
func (*ValidateRibResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{100} }

type Peer struct {
	Families       []uint32        `protobuf:"varint,1,rep,packed,name=families" json:"families,omitempty"`
	ApplyPolicy    *ApplyPolicy    `protobuf:"bytes,2,opt,name=apply_policy,json=applyPolicy" json:"apply_policy,omitempty"`
	Conf           *PeerConf       `protobuf:"bytes,3,opt,name=conf" json:"conf,omitempty"`
	EbgpMultihop   *EbgpMultihop   `protobuf:"bytes,4,opt,name=ebgp_multihop,json=ebgpMultihop" json:"ebgp_multihop,omitempty"`
	RouteReflector *RouteReflector `protobuf:"bytes,5,opt,name=route_reflector,json=routeReflector" json:"route_reflector,omitempty"`
	Info           *PeerState      `protobuf:"bytes,6,opt,name=info" json:"info,omitempty"`
	Timers         *Timers         `protobuf:"bytes,7,opt,name=timers" json:"timers,omitempty"`
	Transport      *Transport      `protobuf:"bytes,8,opt,name=transport" json:"transport,omitempty"`
	RouteServer    *RouteServer    `protobuf:"bytes,9,opt,name=route_server,json=routeServer" json:"route_server,omitempty"`
}

func (m *Peer) Reset()                    { *m = Peer{} }
func (m *Peer) String() string            { return proto.CompactTextString(m) }
func (*Peer) ProtoMessage()               {}
func (*Peer) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{101} }

func (m *Peer) GetApplyPolicy() *ApplyPolicy {
	if m != nil {
		return m.ApplyPolicy
	}
	return nil
}

func (m *Peer) GetConf() *PeerConf {
	if m != nil {
		return m.Conf
	}
	return nil
}

func (m *Peer) GetEbgpMultihop() *EbgpMultihop {
	if m != nil {
		return m.EbgpMultihop
	}
	return nil
}

func (m *Peer) GetRouteReflector() *RouteReflector {
	if m != nil {
		return m.RouteReflector
	}
	return nil
}

func (m *Peer) GetInfo() *PeerState {
	if m != nil {
		return m.Info
	}
	return nil
}

func (m *Peer) GetTimers() *Timers {
	if m != nil {
		return m.Timers
	}
	return nil
}

func (m *Peer) GetTransport() *Transport {
	if m != nil {
		return m.Transport
	}
	return nil
}

func (m *Peer) GetRouteServer() *RouteServer {
	if m != nil {
		return m.RouteServer
	}
	return nil
}

type ApplyPolicy struct {
	InPolicy     *PolicyAssignment `protobuf:"bytes,1,opt,name=in_policy,json=inPolicy" json:"in_policy,omitempty"`
	ExportPolicy *PolicyAssignment `protobuf:"bytes,2,opt,name=export_policy,json=exportPolicy" json:"export_policy,omitempty"`
	ImportPolicy *PolicyAssignment `protobuf:"bytes,3,opt,name=import_policy,json=importPolicy" json:"import_policy,omitempty"`
}

func (m *ApplyPolicy) Reset()                    { *m = ApplyPolicy{} }
func (m *ApplyPolicy) String() string            { return proto.CompactTextString(m) }
func (*ApplyPolicy) ProtoMessage()               {}
func (*ApplyPolicy) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{102} }

func (m *ApplyPolicy) GetInPolicy() *PolicyAssignment {
	if m != nil {
		return m.InPolicy
	}
	return nil
}

func (m *ApplyPolicy) GetExportPolicy() *PolicyAssignment {
	if m != nil {
		return m.ExportPolicy
	}
	return nil
}

func (m *ApplyPolicy) GetImportPolicy() *PolicyAssignment {
	if m != nil {
		return m.ImportPolicy
	}
	return nil
}

type PrefixLimit struct {
	Family               uint32 `protobuf:"varint,1,opt,name=family" json:"family,omitempty"`
	MaxPrefixes          uint32 `protobuf:"varint,2,opt,name=max_prefixes,json=maxPrefixes" json:"max_prefixes,omitempty"`
	ShutdownThresholdPct uint32 `protobuf:"varint,3,opt,name=shutdown_threshold_pct,json=shutdownThresholdPct" json:"shutdown_threshold_pct,omitempty"`
}

func (m *PrefixLimit) Reset()                    { *m = PrefixLimit{} }
func (m *PrefixLimit) String() string            { return proto.CompactTextString(m) }
func (*PrefixLimit) ProtoMessage()               {}
func (*PrefixLimit) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{103} }

type PeerConf struct {
	AuthPassword      string         `protobuf:"bytes,1,opt,name=auth_password,json=authPassword" json:"auth_password,omitempty"`
	Description       string         `protobuf:"bytes,2,opt,name=description" json:"description,omitempty"`
	LocalAs           uint32         `protobuf:"varint,3,opt,name=local_as,json=localAs" json:"local_as,omitempty"`
	NeighborAddress   string         `protobuf:"bytes,4,opt,name=neighbor_address,json=neighborAddress" json:"neighbor_address,omitempty"`
	PeerAs            uint32         `protobuf:"varint,5,opt,name=peer_as,json=peerAs" json:"peer_as,omitempty"`
	PeerGroup         string         `protobuf:"bytes,6,opt,name=peer_group,json=peerGroup" json:"peer_group,omitempty"`
	PeerType          uint32         `protobuf:"varint,7,opt,name=peer_type,json=peerType" json:"peer_type,omitempty"`
	RemovePrivateAs   uint32         `protobuf:"varint,8,opt,name=remove_private_as,json=removePrivateAs" json:"remove_private_as,omitempty"`
	RouteFlapDamping  bool           `protobuf:"varint,9,opt,name=route_flap_damping,json=routeFlapDamping" json:"route_flap_damping,omitempty"`
	SendCommunity     uint32         `protobuf:"varint,10,opt,name=send_community,json=sendCommunity" json:"send_community,omitempty"`
	RemoteCap         [][]byte       `protobuf:"bytes,11,rep,name=remote_cap,json=remoteCap,proto3" json:"remote_cap,omitempty"`
	LocalCap          [][]byte       `protobuf:"bytes,12,rep,name=local_cap,json=localCap,proto3" json:"local_cap,omitempty"`
	Id                string         `protobuf:"bytes,13,opt,name=id" json:"id,omitempty"`
	PrefixLimits      []*PrefixLimit `protobuf:"bytes,14,rep,name=prefix_limits,json=prefixLimits" json:"prefix_limits,omitempty"`
	LocalAddress      string         `protobuf:"bytes,15,opt,name=local_address,json=localAddress" json:"local_address,omitempty"`
	NeighborInterface string         `protobuf:"bytes,16,opt,name=neighbor_interface,json=neighborInterface" json:"neighbor_interface,omitempty"`
}

func (m *PeerConf) Reset()                    { *m = PeerConf{} }
func (m *PeerConf) String() string            { return proto.CompactTextString(m) }
func (*PeerConf) ProtoMessage()               {}
func (*PeerConf) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{104} }

func (m *PeerConf) GetPrefixLimits() []*PrefixLimit {
	if m != nil {
		return m.PrefixLimits
	}
	return nil
}

type EbgpMultihop struct {
	Enabled     bool   `protobuf:"varint,1,opt,name=enabled" json:"enabled,omitempty"`
	MultihopTtl uint32 `protobuf:"varint,2,opt,name=multihop_ttl,json=multihopTtl" json:"multihop_ttl,omitempty"`
}

func (m *EbgpMultihop) Reset()                    { *m = EbgpMultihop{} }
func (m *EbgpMultihop) String() string            { return proto.CompactTextString(m) }
func (*EbgpMultihop) ProtoMessage()               {}
func (*EbgpMultihop) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{105} }

type RouteReflector struct {
	RouteReflectorClient    bool   `protobuf:"varint,1,opt,name=route_reflector_client,json=routeReflectorClient" json:"route_reflector_client,omitempty"`
	RouteReflectorClusterId string `protobuf:"bytes,2,opt,name=route_reflector_cluster_id,json=routeReflectorClusterId" json:"route_reflector_cluster_id,omitempty"`
}

func (m *RouteReflector) Reset()                    { *m = RouteReflector{} }
func (m *RouteReflector) String() string            { return proto.CompactTextString(m) }
func (*RouteReflector) ProtoMessage()               {}
func (*RouteReflector) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{106} }

type PeerState struct {
	AuthPassword          string    `protobuf:"bytes,1,opt,name=auth_password,json=authPassword" json:"auth_password,omitempty"`
	Description           string    `protobuf:"bytes,2,opt,name=description" json:"description,omitempty"`
	LocalAs               uint32    `protobuf:"varint,3,opt,name=local_as,json=localAs" json:"local_as,omitempty"`
	Messages              *Messages `protobuf:"bytes,4,opt,name=messages" json:"messages,omitempty"`
	NeighborAddress       string    `protobuf:"bytes,5,opt,name=neighbor_address,json=neighborAddress" json:"neighbor_address,omitempty"`
	PeerAs                uint32    `protobuf:"varint,6,opt,name=peer_as,json=peerAs" json:"peer_as,omitempty"`
	PeerGroup             string    `protobuf:"bytes,7,opt,name=peer_group,json=peerGroup" json:"peer_group,omitempty"`
	PeerType              uint32    `protobuf:"varint,8,opt,name=peer_type,json=peerType" json:"peer_type,omitempty"`
	Queues                *Queues   `protobuf:"bytes,9,opt,name=queues" json:"queues,omitempty"`
	RemovePrivateAs       uint32    `protobuf:"varint,10,opt,name=remove_private_as,json=removePrivateAs" json:"remove_private_as,omitempty"`
	RouteFlapDamping      bool      `protobuf:"varint,11,opt,name=route_flap_damping,json=routeFlapDamping" json:"route_flap_damping,omitempty"`
	SendCommunity         uint32    `protobuf:"varint,12,opt,name=send_community,json=sendCommunity" json:"send_community,omitempty"`
	SessionState          uint32    `protobuf:"varint,13,opt,name=session_state,json=sessionState" json:"session_state,omitempty"`
	SupportedCapabilities []string  `protobuf:"bytes,14,rep,name=supported_capabilities,json=supportedCapabilities" json:"supported_capabilities,omitempty"`
	BgpState              string    `protobuf:"bytes,15,opt,name=bgp_state,json=bgpState" json:"bgp_state,omitempty"`
	AdminState            string    `protobuf:"bytes,16,opt,name=admin_state,json=adminState" json:"admin_state,omitempty"`
	Received              uint32    `protobuf:"varint,17,opt,name=received" json:"received,omitempty"`
	Accepted              uint32    `protobuf:"varint,18,opt,name=accepted" json:"accepted,omitempty"`
	Advertised            uint32    `protobuf:"varint,19,opt,name=advertised" json:"advertised,omitempty"`
	OutQ                  uint32    `protobuf:"varint,20,opt,name=out_q,json=outQ" json:"out_q,omitempty"`
	Flops                 uint32    `protobuf:"varint,21,opt,name=flops" json:"flops,omitempty"`
}

func (m *PeerState) Reset()                    { *m = PeerState{} }
func (m *PeerState) String() string            { return proto.CompactTextString(m) }
func (*PeerState) ProtoMessage()               {}
func (*PeerState) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{107} }

func (m *PeerState) GetMessages() *Messages {
	if m != nil {
		return m.Messages
	}
	return nil
}

func (m *PeerState) GetQueues() *Queues {
	if m != nil {
		return m.Queues
	}
	return nil
}

type Messages struct {
	Received *Message `protobuf:"bytes,1,opt,name=received" json:"received,omitempty"`
	Sent     *Message `protobuf:"bytes,2,opt,name=sent" json:"sent,omitempty"`
}

func (m *Messages) Reset()                    { *m = Messages{} }
func (m *Messages) String() string            { return proto.CompactTextString(m) }
func (*Messages) ProtoMessage()               {}
func (*Messages) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{108} }

func (m *Messages) GetReceived() *Message {
	if m != nil {
		return m.Received
	}
	return nil
}

func (m *Messages) GetSent() *Message {
	if m != nil {
		return m.Sent
	}
	return nil
}

type Message struct {
	NOTIFICATION uint64 `protobuf:"varint,1,opt,name=NOTIFICATION,json=nOTIFICATION" json:"NOTIFICATION,omitempty"`
	UPDATE       uint64 `protobuf:"varint,2,opt,name=UPDATE,json=uPDATE" json:"UPDATE,omitempty"`
	OPEN         uint64 `protobuf:"varint,3,opt,name=OPEN,json=oPEN" json:"OPEN,omitempty"`
	KEEPALIVE    uint64 `protobuf:"varint,4,opt,name=KEEPALIVE,json=kEEPALIVE" json:"KEEPALIVE,omitempty"`
	REFRESH      uint64 `protobuf:"varint,5,opt,name=REFRESH,json=rEFRESH" json:"REFRESH,omitempty"`
	DISCARDED    uint64 `protobuf:"varint,6,opt,name=DISCARDED,json=dISCARDED" json:"DISCARDED,omitempty"`
	TOTAL        uint64 `protobuf:"varint,7,opt,name=TOTAL,json=tOTAL" json:"TOTAL,omitempty"`
}

func (m *Message) Reset()                    { *m = Message{} }
func (m *Message) String() string            { return proto.CompactTextString(m) }
func (*Message) ProtoMessage()               {}
func (*Message) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{109} }

type Queues struct {
	Input  uint32 `protobuf:"varint,1,opt,name=input" json:"input,omitempty"`
	Output uint32 `protobuf:"varint,2,opt,name=output" json:"output,omitempty"`
}

func (m *Queues) Reset()                    { *m = Queues{} }
func (m *Queues) String() string            { return proto.CompactTextString(m) }
func (*Queues) ProtoMessage()               {}
func (*Queues) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{110} }

type Timers struct {
	Config *TimersConfig `protobuf:"bytes,1,opt,name=config" json:"config,omitempty"`
	State  *TimersState  `protobuf:"bytes,2,opt,name=state" json:"state,omitempty"`
}

func (m *Timers) Reset()                    { *m = Timers{} }
func (m *Timers) String() string            { return proto.CompactTextString(m) }
func (*Timers) ProtoMessage()               {}
func (*Timers) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{111} }

func (m *Timers) GetConfig() *TimersConfig {
	if m != nil {
		return m.Config
	}
	return nil
}

func (m *Timers) GetState() *TimersState {
	if m != nil {
		return m.State
	}
	return nil
}

type TimersConfig struct {
	ConnectRetry                 uint64 `protobuf:"varint,1,opt,name=connect_retry,json=connectRetry" json:"connect_retry,omitempty"`
	HoldTime                     uint64 `protobuf:"varint,2,opt,name=hold_time,json=holdTime" json:"hold_time,omitempty"`
	KeepaliveInterval            uint64 `protobuf:"varint,3,opt,name=keepalive_interval,json=keepaliveInterval" json:"keepalive_interval,omitempty"`
	MinimumAdvertisementInterval uint64 `protobuf:"varint,4,opt,name=minimum_advertisement_interval,json=minimumAdvertisementInterval" json:"minimum_advertisement_interval,omitempty"`
}

func (m *TimersConfig) Reset()                    { *m = TimersConfig{} }
func (m *TimersConfig) String() string            { return proto.CompactTextString(m) }
func (*TimersConfig) ProtoMessage()               {}
func (*TimersConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{112} }

type TimersState struct {
	ConnectRetry                 uint64 `protobuf:"varint,1,opt,name=connect_retry,json=connectRetry" json:"connect_retry,omitempty"`
	HoldTime                     uint64 `protobuf:"varint,2,opt,name=hold_time,json=holdTime" json:"hold_time,omitempty"`
	KeepaliveInterval            uint64 `protobuf:"varint,3,opt,name=keepalive_interval,json=keepaliveInterval" json:"keepalive_interval,omitempty"`
	MinimumAdvertisementInterval uint64 `protobuf:"varint,4,opt,name=minimum_advertisement_interval,json=minimumAdvertisementInterval" json:"minimum_advertisement_interval,omitempty"`
	NegotiatedHoldTime           uint64 `protobuf:"varint,5,opt,name=negotiated_hold_time,json=negotiatedHoldTime" json:"negotiated_hold_time,omitempty"`
	Uptime                       uint64 `protobuf:"varint,6,opt,name=uptime" json:"uptime,omitempty"`
	Downtime                     uint64 `protobuf:"varint,7,opt,name=downtime" json:"downtime,omitempty"`
}

func (m *TimersState) Reset()                    { *m = TimersState{} }
func (m *TimersState) String() string            { return proto.CompactTextString(m) }
func (*TimersState) ProtoMessage()               {}
func (*TimersState) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{113} }

type Transport struct {
	LocalAddress  string `protobuf:"bytes,1,opt,name=local_address,json=localAddress" json:"local_address,omitempty"`
	LocalPort     uint32 `protobuf:"varint,2,opt,name=local_port,json=localPort" json:"local_port,omitempty"`
	MtuDiscovery  bool   `protobuf:"varint,3,opt,name=mtu_discovery,json=mtuDiscovery" json:"mtu_discovery,omitempty"`
	PassiveMode   bool   `protobuf:"varint,4,opt,name=passive_mode,json=passiveMode" json:"passive_mode,omitempty"`
	RemoteAddress string `protobuf:"bytes,5,opt,name=remote_address,json=remoteAddress" json:"remote_address,omitempty"`
	RemotePort    uint32 `protobuf:"varint,6,opt,name=remote_port,json=remotePort" json:"remote_port,omitempty"`
	TcpMss        uint32 `protobuf:"varint,7,opt,name=tcp_mss,json=tcpMss" json:"tcp_mss,omitempty"`
}

func (m *Transport) Reset()                    { *m = Transport{} }
func (m *Transport) String() string            { return proto.CompactTextString(m) }
func (*Transport) ProtoMessage()               {}
func (*Transport) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{114} }

type RouteServer struct {
	RouteServerClient bool `protobuf:"varint,1,opt,name=route_server_client,json=routeServerClient" json:"route_server_client,omitempty"`
}

func (m *RouteServer) Reset()                    { *m = RouteServer{} }
func (m *RouteServer) String() string            { return proto.CompactTextString(m) }
func (*RouteServer) ProtoMessage()               {}
func (*RouteServer) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{115} }

type Prefix struct {
	IpPrefix      string `protobuf:"bytes,1,opt,name=ip_prefix,json=ipPrefix" json:"ip_prefix,omitempty"`
	MaskLengthMin uint32 `protobuf:"varint,2,opt,name=mask_length_min,json=maskLengthMin" json:"mask_length_min,omitempty"`
	MaskLengthMax uint32 `protobuf:"varint,3,opt,name=mask_length_max,json=maskLengthMax" json:"mask_length_max,omitempty"`
}

func (m *Prefix) Reset()                    { *m = Prefix{} }
func (m *Prefix) String() string            { return proto.CompactTextString(m) }
func (*Prefix) ProtoMessage()               {}
func (*Prefix) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{116} }

type DefinedSet struct {
	Type     DefinedType `protobuf:"varint,1,opt,name=type,enum=gobgpapi.DefinedType" json:"type,omitempty"`
	Name     string      `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
	List     []string    `protobuf:"bytes,3,rep,name=list" json:"list,omitempty"`
	Prefixes []*Prefix   `protobuf:"bytes,4,rep,name=prefixes" json:"prefixes,omitempty"`
}

func (m *DefinedSet) Reset()                    { *m = DefinedSet{} }
func (m *DefinedSet) String() string            { return proto.CompactTextString(m) }
func (*DefinedSet) ProtoMessage()               {}
func (*DefinedSet) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{117} }

func (m *DefinedSet) GetPrefixes() []*Prefix {
	if m != nil {
		return m.Prefixes
	}
	return nil
}

type MatchSet struct {
	Type MatchType `protobuf:"varint,1,opt,name=type,enum=gobgpapi.MatchType" json:"type,omitempty"`
	Name string    `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
}

func (m *MatchSet) Reset()                    { *m = MatchSet{} }
func (m *MatchSet) String() string            { return proto.CompactTextString(m) }
func (*MatchSet) ProtoMessage()               {}
func (*MatchSet) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{118} }

type AsPathLength struct {
	Type   AsPathLengthType `protobuf:"varint,1,opt,name=type,enum=gobgpapi.AsPathLengthType" json:"type,omitempty"`
	Length uint32           `protobuf:"varint,2,opt,name=length" json:"length,omitempty"`
}

func (m *AsPathLength) Reset()                    { *m = AsPathLength{} }
func (m *AsPathLength) String() string            { return proto.CompactTextString(m) }
func (*AsPathLength) ProtoMessage()               {}
func (*AsPathLength) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{119} }

type Conditions struct {
	PrefixSet       *MatchSet            `protobuf:"bytes,1,opt,name=prefix_set,json=prefixSet" json:"prefix_set,omitempty"`
	NeighborSet     *MatchSet            `protobuf:"bytes,2,opt,name=neighbor_set,json=neighborSet" json:"neighbor_set,omitempty"`
	AsPathLength    *AsPathLength        `protobuf:"bytes,3,opt,name=as_path_length,json=asPathLength" json:"as_path_length,omitempty"`
	AsPathSet       *MatchSet            `protobuf:"bytes,4,opt,name=as_path_set,json=asPathSet" json:"as_path_set,omitempty"`
	CommunitySet    *MatchSet            `protobuf:"bytes,5,opt,name=community_set,json=communitySet" json:"community_set,omitempty"`
	ExtCommunitySet *MatchSet            `protobuf:"bytes,6,opt,name=ext_community_set,json=extCommunitySet" json:"ext_community_set,omitempty"`
	RpkiResult      int32                `protobuf:"varint,7,opt,name=rpki_result,json=rpkiResult" json:"rpki_result,omitempty"`
	RouteType       Conditions_RouteType `protobuf:"varint,8,opt,name=route_type,json=routeType,enum=gobgpapi.Conditions_RouteType" json:"route_type,omitempty"`
}

func (m *Conditions) Reset()                    { *m = Conditions{} }
func (m *Conditions) String() string            { return proto.CompactTextString(m) }
func (*Conditions) ProtoMessage()               {}
func (*Conditions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{120} }

func (m *Conditions) GetPrefixSet() *MatchSet {
	if m != nil {
		return m.PrefixSet
	}
	return nil
}

func (m *Conditions) GetNeighborSet() *MatchSet {
	if m != nil {
		return m.NeighborSet
	}
	return nil
}

func (m *Conditions) GetAsPathLength() *AsPathLength {
	if m != nil {
		return m.AsPathLength
	}
	return nil
}

func (m *Conditions) GetAsPathSet() *MatchSet {
	if m != nil {
		return m.AsPathSet
	}
	return nil
}

func (m *Conditions) GetCommunitySet() *MatchSet {
	if m != nil {
		return m.CommunitySet
	}
	return nil
}

func (m *Conditions) GetExtCommunitySet() *MatchSet {
	if m != nil {
		return m.ExtCommunitySet
	}
	return nil
}

type CommunityAction struct {
	Type        CommunityActionType `protobuf:"varint,1,opt,name=type,enum=gobgpapi.CommunityActionType" json:"type,omitempty"`
	Communities []string            `protobuf:"bytes,2,rep,name=communities" json:"communities,omitempty"`
}

func (m *CommunityAction) Reset()                    { *m = CommunityAction{} }
func (m *CommunityAction) String() string            { return proto.CompactTextString(m) }
func (*CommunityAction) ProtoMessage()               {}
func (*CommunityAction) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{121} }

type MedAction struct {
	Type  MedActionType `protobuf:"varint,1,opt,name=type,enum=gobgpapi.MedActionType" json:"type,omitempty"`
	Value int64         `protobuf:"varint,2,opt,name=value" json:"value,omitempty"`
}

func (m *MedAction) Reset()                    { *m = MedAction{} }
func (m *MedAction) String() string            { return proto.CompactTextString(m) }
func (*MedAction) ProtoMessage()               {}
func (*MedAction) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{122} }

type AsPrependAction struct {
	Asn         uint32 `protobuf:"varint,1,opt,name=asn" json:"asn,omitempty"`
	Repeat      uint32 `protobuf:"varint,2,opt,name=repeat" json:"repeat,omitempty"`
	UseLeftMost bool   `protobuf:"varint,3,opt,name=use_left_most,json=useLeftMost" json:"use_left_most,omitempty"`
}

func (m *AsPrependAction) Reset()                    { *m = AsPrependAction{} }
func (m *AsPrependAction) String() string            { return proto.CompactTextString(m) }
func (*AsPrependAction) ProtoMessage()               {}
func (*AsPrependAction) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{123} }

type NexthopAction struct {
	Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"`
	Self    bool   `protobuf:"varint,2,opt,name=self" json:"self,omitempty"`
}

func (m *NexthopAction) Reset()                    { *m = NexthopAction{} }
func (m *NexthopAction) String() string            { return proto.CompactTextString(m) }
func (*NexthopAction) ProtoMessage()               {}
func (*NexthopAction) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{124} }

type LocalPrefAction struct {
	Value uint32 `protobuf:"varint,1,opt,name=value" json:"value,omitempty"`
}

func (m *LocalPrefAction) Reset()                    { *m = LocalPrefAction{} }
func (m *LocalPrefAction) String() string            { return proto.CompactTextString(m) }
func (*LocalPrefAction) ProtoMessage()               {}
func (*LocalPrefAction) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{125} }

type Actions struct {
	RouteAction  RouteAction      `protobuf:"varint,1,opt,name=route_action,json=routeAction,enum=gobgpapi.RouteAction" json:"route_action,omitempty"`
	Community    *CommunityAction `protobuf:"bytes,2,opt,name=community" json:"community,omitempty"`
	Med          *MedAction       `protobuf:"bytes,3,opt,name=med" json:"med,omitempty"`
	AsPrepend    *AsPrependAction `protobuf:"bytes,4,opt,name=as_prepend,json=asPrepend" json:"as_prepend,omitempty"`
	ExtCommunity *CommunityAction `protobuf:"bytes,5,opt,name=ext_community,json=extCommunity" json:"ext_community,omitempty"`
	Nexthop      *NexthopAction   `protobuf:"bytes,6,opt,name=nexthop" json:"nexthop,omitempty"`
	LocalPref    *LocalPrefAction `protobuf:"bytes,7,opt,name=local_pref,json=localPref" json:"local_pref,omitempty"`
}

func (m *Actions) Reset()                    { *m = Actions{} }
func (m *Actions) String() string            { return proto.CompactTextString(m) }
func (*Actions) ProtoMessage()               {}
func (*Actions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{126} }

func (m *Actions) GetCommunity() *CommunityAction {
	if m != nil {
		return m.Community
	}
	return nil
}

func (m *Actions) GetMed() *MedAction {
	if m != nil {
		return m.Med
	}
	return nil
}

func (m *Actions) GetAsPrepend() *AsPrependAction {
	if m != nil {
		return m.AsPrepend
	}
	return nil
}

func (m *Actions) GetExtCommunity() *CommunityAction {
	if m != nil {
		return m.ExtCommunity
	}
	return nil
}

func (m *Actions) GetNexthop() *NexthopAction {
	if m != nil {
		return m.Nexthop
	}
	return nil
}

func (m *Actions) GetLocalPref() *LocalPrefAction {
	if m != nil {
		return m.LocalPref
	}
	return nil
}

type Statement struct {
	Name       string      `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
	Conditions *Conditions `protobuf:"bytes,2,opt,name=conditions" json:"conditions,omitempty"`
	Actions    *Actions    `protobuf:"bytes,3,opt,name=actions" json:"actions,omitempty"`
}

func (m *Statement) Reset()                    { *m = Statement{} }
func (m *Statement) String() string            { return proto.CompactTextString(m) }
func (*Statement) ProtoMessage()               {}
func (*Statement) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{127} }

func (m *Statement) GetConditions() *Conditions {
	if m != nil {
		return m.Conditions
	}
	return nil
}

func (m *Statement) GetActions() *Actions {
	if m != nil {
		return m.Actions
	}
	return nil
}

type Policy struct {
	Name       string       `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
	Statements []*Statement `protobuf:"bytes,2,rep,name=statements" json:"statements,omitempty"`
}

func (m *Policy) Reset()                    { *m = Policy{} }
func (m *Policy) String() string            { return proto.CompactTextString(m) }
func (*Policy) ProtoMessage()               {}
func (*Policy) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{128} }

func (m *Policy) GetStatements() []*Statement {
	if m != nil {
		return m.Statements
	}
	return nil
}

type PolicyAssignment struct {
	Type     PolicyType  `protobuf:"varint,1,opt,name=type,enum=gobgpapi.PolicyType" json:"type,omitempty"`
	Resource Resource    `protobuf:"varint,2,opt,name=resource,enum=gobgpapi.Resource" json:"resource,omitempty"`
	Name     string      `protobuf:"bytes,3,opt,name=name" json:"name,omitempty"`
	Policies []*Policy   `protobuf:"bytes,4,rep,name=policies" json:"policies,omitempty"`
	Default  RouteAction `protobuf:"varint,5,opt,name=default,enum=gobgpapi.RouteAction" json:"default,omitempty"`
}

func (m *PolicyAssignment) Reset()                    { *m = PolicyAssignment{} }
func (m *PolicyAssignment) String() string            { return proto.CompactTextString(m) }
func (*PolicyAssignment) ProtoMessage()               {}
func (*PolicyAssignment) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{129} }

func (m *PolicyAssignment) GetPolicies() []*Policy {
	if m != nil {
		return m.Policies
	}
	return nil
}

type Roa struct {
	As        uint32    `protobuf:"varint,1,opt,name=as" json:"as,omitempty"`
	Prefixlen uint32    `protobuf:"varint,2,opt,name=prefixlen" json:"prefixlen,omitempty"`
	Maxlen    uint32    `protobuf:"varint,3,opt,name=maxlen" json:"maxlen,omitempty"`
	Prefix    string    `protobuf:"bytes,4,opt,name=prefix" json:"prefix,omitempty"`
	Conf      *RPKIConf `protobuf:"bytes,5,opt,name=conf" json:"conf,omitempty"`
}

func (m *Roa) Reset()                    { *m = Roa{} }
func (m *Roa) String() string            { return proto.CompactTextString(m) }
func (*Roa) ProtoMessage()               {}
func (*Roa) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{130} }

func (m *Roa) GetConf() *RPKIConf {
	if m != nil {
		return m.Conf
	}
	return nil
}

type GetRoaRequest struct {
	Family uint32 `protobuf:"varint,1,opt,name=family" json:"family,omitempty"`
}

func (m *GetRoaRequest) Reset()                    { *m = GetRoaRequest{} }
func (m *GetRoaRequest) String() string            { return proto.CompactTextString(m) }
func (*GetRoaRequest) ProtoMessage()               {}
func (*GetRoaRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{131} }

type GetRoaResponse struct {
	Roas []*Roa `protobuf:"bytes,1,rep,name=roas" json:"roas,omitempty"`
}

func (m *GetRoaResponse) Reset()                    { *m = GetRoaResponse{} }
func (m *GetRoaResponse) String() string            { return proto.CompactTextString(m) }
func (*GetRoaResponse) ProtoMessage()               {}
func (*GetRoaResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{132} }

func (m *GetRoaResponse) GetRoas() []*Roa {
	if m != nil {
		return m.Roas
	}
	return nil
}

type Vrf struct {
	Name     string   `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
	Rd       []byte   `protobuf:"bytes,2,opt,name=rd,proto3" json:"rd,omitempty"`
	ImportRt [][]byte `protobuf:"bytes,3,rep,name=import_rt,json=importRt,proto3" json:"import_rt,omitempty"`
	ExportRt [][]byte `protobuf:"bytes,4,rep,name=export_rt,json=exportRt,proto3" json:"export_rt,omitempty"`
}

func (m *Vrf) Reset()                    { *m = Vrf{} }
func (m *Vrf) String() string            { return proto.CompactTextString(m) }
func (*Vrf) ProtoMessage()               {}
func (*Vrf) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{133} }

type Global struct {
	As               uint32   `protobuf:"varint,1,opt,name=as" json:"as,omitempty"`
	RouterId         string   `protobuf:"bytes,2,opt,name=router_id,json=routerId" json:"router_id,omitempty"`
	ListenPort       int32    `protobuf:"varint,3,opt,name=listen_port,json=listenPort" json:"listen_port,omitempty"`
	ListenAddresses  []string `protobuf:"bytes,4,rep,name=listen_addresses,json=listenAddresses" json:"listen_addresses,omitempty"`
	Families         []uint32 `protobuf:"varint,5,rep,packed,name=families" json:"families,omitempty"`
	MplsLabelMin     uint32   `protobuf:"varint,6,opt,name=mpls_label_min,json=mplsLabelMin" json:"mpls_label_min,omitempty"`
	MplsLabelMax     uint32   `protobuf:"varint,7,opt,name=mpls_label_max,json=mplsLabelMax" json:"mpls_label_max,omitempty"`
	UseMultiplePaths bool     `protobuf:"varint,8,opt,name=use_multiple_paths,json=useMultiplePaths" json:"use_multiple_paths,omitempty"`
}

func (m *Global) Reset()                    { *m = Global{} }
func (m *Global) String() string            { return proto.CompactTextString(m) }
func (*Global) ProtoMessage()               {}
func (*Global) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{134} }

func init() {
	proto.RegisterType((*GetNeighborRequest)(nil), "gobgpapi.GetNeighborRequest")
	proto.RegisterType((*GetNeighborResponse)(nil), "gobgpapi.GetNeighborResponse")
	proto.RegisterType((*Arguments)(nil), "gobgpapi.Arguments")
	proto.RegisterType((*AddPathRequest)(nil), "gobgpapi.AddPathRequest")
	proto.RegisterType((*AddPathResponse)(nil), "gobgpapi.AddPathResponse")
	proto.RegisterType((*DeletePathRequest)(nil), "gobgpapi.DeletePathRequest")
	proto.RegisterType((*DeletePathResponse)(nil), "gobgpapi.DeletePathResponse")
	proto.RegisterType((*AddNeighborRequest)(nil), "gobgpapi.AddNeighborRequest")
	proto.RegisterType((*AddNeighborResponse)(nil), "gobgpapi.AddNeighborResponse")
	proto.RegisterType((*DeleteNeighborRequest)(nil), "gobgpapi.DeleteNeighborRequest")
	proto.RegisterType((*DeleteNeighborResponse)(nil), "gobgpapi.DeleteNeighborResponse")
	proto.RegisterType((*ResetNeighborRequest)(nil), "gobgpapi.ResetNeighborRequest")
	proto.RegisterType((*ResetNeighborResponse)(nil), "gobgpapi.ResetNeighborResponse")
	proto.RegisterType((*SoftResetNeighborRequest)(nil), "gobgpapi.SoftResetNeighborRequest")
	proto.RegisterType((*SoftResetNeighborResponse)(nil), "gobgpapi.SoftResetNeighborResponse")
	proto.RegisterType((*ShutdownNeighborRequest)(nil), "gobgpapi.ShutdownNeighborRequest")
	proto.RegisterType((*ShutdownNeighborResponse)(nil), "gobgpapi.ShutdownNeighborResponse")
	proto.RegisterType((*EnableNeighborRequest)(nil), "gobgpapi.EnableNeighborRequest")
	proto.RegisterType((*EnableNeighborResponse)(nil), "gobgpapi.EnableNeighborResponse")
	proto.RegisterType((*DisableNeighborRequest)(nil), "gobgpapi.DisableNeighborRequest")
	proto.RegisterType((*DisableNeighborResponse)(nil), "gobgpapi.DisableNeighborResponse")
	proto.RegisterType((*EnableMrtRequest)(nil), "gobgpapi.EnableMrtRequest")
	proto.RegisterType((*EnableMrtResponse)(nil), "gobgpapi.EnableMrtResponse")
	proto.RegisterType((*DisableMrtRequest)(nil), "gobgpapi.DisableMrtRequest")
	proto.RegisterType((*DisableMrtResponse)(nil), "gobgpapi.DisableMrtResponse")
	proto.RegisterType((*InjectMrtRequest)(nil), "gobgpapi.InjectMrtRequest")
	proto.RegisterType((*InjectMrtResponse)(nil), "gobgpapi.InjectMrtResponse")
	proto.RegisterType((*AddBmpRequest)(nil), "gobgpapi.AddBmpRequest")
	proto.RegisterType((*AddBmpResponse)(nil), "gobgpapi.AddBmpResponse")
	proto.RegisterType((*DeleteBmpRequest)(nil), "gobgpapi.DeleteBmpRequest")
	proto.RegisterType((*DeleteBmpResponse)(nil), "gobgpapi.DeleteBmpResponse")
	proto.RegisterType((*RPKIConf)(nil), "gobgpapi.RPKIConf")
	proto.RegisterType((*RPKIState)(nil), "gobgpapi.RPKIState")
	proto.RegisterType((*Rpki)(nil), "gobgpapi.Rpki")
	proto.RegisterType((*GetRpkiRequest)(nil), "gobgpapi.GetRpkiRequest")
	proto.RegisterType((*GetRpkiResponse)(nil), "gobgpapi.GetRpkiResponse")
	proto.RegisterType((*AddRpkiRequest)(nil), "gobgpapi.AddRpkiRequest")
	proto.RegisterType((*AddRpkiResponse)(nil), "gobgpapi.AddRpkiResponse")
	proto.RegisterType((*DeleteRpkiRequest)(nil), "gobgpapi.DeleteRpkiRequest")
	proto.RegisterType((*DeleteRpkiResponse)(nil), "gobgpapi.DeleteRpkiResponse")
	proto.RegisterType((*EnableRpkiRequest)(nil), "gobgpapi.EnableRpkiRequest")
	proto.RegisterType((*EnableRpkiResponse)(nil), "gobgpapi.EnableRpkiResponse")
	proto.RegisterType((*DisableRpkiRequest)(nil), "gobgpapi.DisableRpkiRequest")
	proto.RegisterType((*DisableRpkiResponse)(nil), "gobgpapi.DisableRpkiResponse")
	proto.RegisterType((*ResetRpkiRequest)(nil), "gobgpapi.ResetRpkiRequest")
	proto.RegisterType((*ResetRpkiResponse)(nil), "gobgpapi.ResetRpkiResponse")
	proto.RegisterType((*SoftResetRpkiRequest)(nil), "gobgpapi.SoftResetRpkiRequest")
	proto.RegisterType((*SoftResetRpkiResponse)(nil), "gobgpapi.SoftResetRpkiResponse")
	proto.RegisterType((*EnableZebraRequest)(nil), "gobgpapi.EnableZebraRequest")
	proto.RegisterType((*EnableZebraResponse)(nil), "gobgpapi.EnableZebraResponse")
	proto.RegisterType((*GetVrfRequest)(nil), "gobgpapi.GetVrfRequest")
	proto.RegisterType((*GetVrfResponse)(nil), "gobgpapi.GetVrfResponse")
	proto.RegisterType((*AddVrfRequest)(nil), "gobgpapi.AddVrfRequest")
	proto.RegisterType((*AddVrfResponse)(nil), "gobgpapi.AddVrfResponse")
	proto.RegisterType((*DeleteVrfRequest)(nil), "gobgpapi.DeleteVrfRequest")
	proto.RegisterType((*DeleteVrfResponse)(nil), "gobgpapi.DeleteVrfResponse")
	proto.RegisterType((*GetDefinedSetRequest)(nil), "gobgpapi.GetDefinedSetRequest")
	proto.RegisterType((*GetDefinedSetResponse)(nil), "gobgpapi.GetDefinedSetResponse")
	proto.RegisterType((*AddDefinedSetRequest)(nil), "gobgpapi.AddDefinedSetRequest")
	proto.RegisterType((*AddDefinedSetResponse)(nil), "gobgpapi.AddDefinedSetResponse")
	proto.RegisterType((*DeleteDefinedSetRequest)(nil), "gobgpapi.DeleteDefinedSetRequest")
	proto.RegisterType((*DeleteDefinedSetResponse)(nil), "gobgpapi.DeleteDefinedSetResponse")
	proto.RegisterType((*ReplaceDefinedSetRequest)(nil), "gobgpapi.ReplaceDefinedSetRequest")
	proto.RegisterType((*ReplaceDefinedSetResponse)(nil), "gobgpapi.ReplaceDefinedSetResponse")
	proto.RegisterType((*GetStatementRequest)(nil), "gobgpapi.GetStatementRequest")
	proto.RegisterType((*GetStatementResponse)(nil), "gobgpapi.GetStatementResponse")
	proto.RegisterType((*AddStatementRequest)(nil), "gobgpapi.AddStatementRequest")
	proto.RegisterType((*AddStatementResponse)(nil), "gobgpapi.AddStatementResponse")
	proto.RegisterType((*DeleteStatementRequest)(nil), "gobgpapi.DeleteStatementRequest")
	proto.RegisterType((*DeleteStatementResponse)(nil), "gobgpapi.DeleteStatementResponse")
	proto.RegisterType((*ReplaceStatementRequest)(nil), "gobgpapi.ReplaceStatementRequest")
	proto.RegisterType((*ReplaceStatementResponse)(nil), "gobgpapi.ReplaceStatementResponse")
	proto.RegisterType((*GetPolicyRequest)(nil), "gobgpapi.GetPolicyRequest")
	proto.RegisterType((*GetPolicyResponse)(nil), "gobgpapi.GetPolicyResponse")
	proto.RegisterType((*AddPolicyRequest)(nil), "gobgpapi.AddPolicyRequest")
	proto.RegisterType((*AddPolicyResponse)(nil), "gobgpapi.AddPolicyResponse")
	proto.RegisterType((*DeletePolicyRequest)(nil), "gobgpapi.DeletePolicyRequest")
	proto.RegisterType((*DeletePolicyResponse)(nil), "gobgpapi.DeletePolicyResponse")
	proto.RegisterType((*ReplacePolicyRequest)(nil), "gobgpapi.ReplacePolicyRequest")
	proto.RegisterType((*ReplacePolicyResponse)(nil), "gobgpapi.ReplacePolicyResponse")
	proto.RegisterType((*GetPolicyAssignmentRequest)(nil), "gobgpapi.GetPolicyAssignmentRequest")
	proto.RegisterType((*GetPolicyAssignmentResponse)(nil), "gobgpapi.GetPolicyAssignmentResponse")
	proto.RegisterType((*AddPolicyAssignmentRequest)(nil), "gobgpapi.AddPolicyAssignmentRequest")
	proto.RegisterType((*AddPolicyAssignmentResponse)(nil), "gobgpapi.AddPolicyAssignmentResponse")
	proto.RegisterType((*DeletePolicyAssignmentRequest)(nil), "gobgpapi.DeletePolicyAssignmentRequest")
	proto.RegisterType((*DeletePolicyAssignmentResponse)(nil), "gobgpapi.DeletePolicyAssignmentResponse")
	proto.RegisterType((*ReplacePolicyAssignmentRequest)(nil), "gobgpapi.ReplacePolicyAssignmentRequest")
	proto.RegisterType((*ReplacePolicyAssignmentResponse)(nil), "gobgpapi.ReplacePolicyAssignmentResponse")
	proto.RegisterType((*GetServerRequest)(nil), "gobgpapi.GetServerRequest")
	proto.RegisterType((*GetServerResponse)(nil), "gobgpapi.GetServerResponse")
	proto.RegisterType((*StartServerRequest)(nil), "gobgpapi.StartServerRequest")
	proto.RegisterType((*StartServerResponse)(nil), "gobgpapi.StartServerResponse")
	proto.RegisterType((*StopServerRequest)(nil), "gobgpapi.StopServerRequest")
	proto.RegisterType((*StopServerResponse)(nil), "gobgpapi.StopServerResponse")
	proto.RegisterType((*Path)(nil), "gobgpapi.Path")
	proto.RegisterType((*Destination)(nil), "gobgpapi.Destination")
	proto.RegisterType((*Table)(nil), "gobgpapi.Table")
	proto.RegisterType((*GetRibRequest)(nil), "gobgpapi.GetRibRequest")
	proto.RegisterType((*GetRibResponse)(nil), "gobgpapi.GetRibResponse")
	proto.RegisterType((*ValidateRibRequest)(nil), "gobgpapi.ValidateRibRequest")
	proto.RegisterType((*ValidateRibResponse)(nil), "gobgpapi.ValidateRibResponse")
	proto.RegisterType((*Peer)(nil), "gobgpapi.Peer")
	proto.RegisterType((*ApplyPolicy)(nil), "gobgpapi.ApplyPolicy")
	proto.RegisterType((*PrefixLimit)(nil), "gobgpapi.PrefixLimit")
	proto.RegisterType((*PeerConf)(nil), "gobgpapi.PeerConf")
	proto.RegisterType((*EbgpMultihop)(nil), "gobgpapi.EbgpMultihop")
	proto.RegisterType((*RouteReflector)(nil), "gobgpapi.RouteReflector")
	proto.RegisterType((*PeerState)(nil), "gobgpapi.PeerState")
	proto.RegisterType((*Messages)(nil), "gobgpapi.Messages")
	proto.RegisterType((*Message)(nil), "gobgpapi.Message")
	proto.RegisterType((*Queues)(nil), "gobgpapi.Queues")
	proto.RegisterType((*Timers)(nil), "gobgpapi.Timers")
	proto.RegisterType((*TimersConfig)(nil), "gobgpapi.TimersConfig")
	proto.RegisterType((*TimersState)(nil), "gobgpapi.TimersState")
	proto.RegisterType((*Transport)(nil), "gobgpapi.Transport")
	proto.RegisterType((*RouteServer)(nil), "gobgpapi.RouteServer")
	proto.RegisterType((*Prefix)(nil), "gobgpapi.Prefix")
	proto.RegisterType((*DefinedSet)(nil), "gobgpapi.DefinedSet")
	proto.RegisterType((*MatchSet)(nil), "gobgpapi.MatchSet")
	proto.RegisterType((*AsPathLength)(nil), "gobgpapi.AsPathLength")
	proto.RegisterType((*Conditions)(nil), "gobgpapi.Conditions")
	proto.RegisterType((*CommunityAction)(nil), "gobgpapi.CommunityAction")
	proto.RegisterType((*MedAction)(nil), "gobgpapi.MedAction")
	proto.RegisterType((*AsPrependAction)(nil), "gobgpapi.AsPrependAction")
	proto.RegisterType((*NexthopAction)(nil), "gobgpapi.NexthopAction")
	proto.RegisterType((*LocalPrefAction)(nil), "gobgpapi.LocalPrefAction")
	proto.RegisterType((*Actions)(nil), "gobgpapi.Actions")
	proto.RegisterType((*Statement)(nil), "gobgpapi.Statement")
	proto.RegisterType((*Policy)(nil), "gobgpapi.Policy")
	proto.RegisterType((*PolicyAssignment)(nil), "gobgpapi.PolicyAssignment")
	proto.RegisterType((*Roa)(nil), "gobgpapi.Roa")
	proto.RegisterType((*GetRoaRequest)(nil), "gobgpapi.GetRoaRequest")
	proto.RegisterType((*GetRoaResponse)(nil), "gobgpapi.GetRoaResponse")
	proto.RegisterType((*Vrf)(nil), "gobgpapi.Vrf")
	proto.RegisterType((*Global)(nil), "gobgpapi.Global")
	proto.RegisterEnum("gobgpapi.Resource", Resource_name, Resource_value)
	proto.RegisterEnum("gobgpapi.DefinedType", DefinedType_name, DefinedType_value)
	proto.RegisterEnum("gobgpapi.MatchType", MatchType_name, MatchType_value)
	proto.RegisterEnum("gobgpapi.AsPathLengthType", AsPathLengthType_name, AsPathLengthType_value)
	proto.RegisterEnum("gobgpapi.RouteAction", RouteAction_name, RouteAction_value)
	proto.RegisterEnum("gobgpapi.CommunityActionType", CommunityActionType_name, CommunityActionType_value)
	proto.RegisterEnum("gobgpapi.MedActionType", MedActionType_name, MedActionType_value)
	proto.RegisterEnum("gobgpapi.PolicyType", PolicyType_name, PolicyType_value)
	proto.RegisterEnum("gobgpapi.SoftResetNeighborRequest_SoftResetDirection", SoftResetNeighborRequest_SoftResetDirection_name, SoftResetNeighborRequest_SoftResetDirection_value)
	proto.RegisterEnum("gobgpapi.AddBmpRequest_MonitoringPolicy", AddBmpRequest_MonitoringPolicy_name, AddBmpRequest_MonitoringPolicy_value)
	proto.RegisterEnum("gobgpapi.Conditions_RouteType", Conditions_RouteType_name, Conditions_RouteType_value)
}

// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConn

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion3

// Client API for GobgpApi service

type GobgpApiClient interface {
	StartServer(ctx context.Context, in *StartServerRequest, opts ...grpc.CallOption) (*StartServerResponse, error)
	StopServer(ctx context.Context, in *StopServerRequest, opts ...grpc.CallOption) (*StopServerResponse, error)
	GetServer(ctx context.Context, in *GetServerRequest, opts ...grpc.CallOption) (*GetServerResponse, error)
	AddNeighbor(ctx context.Context, in *AddNeighborRequest, opts ...grpc.CallOption) (*AddNeighborResponse, error)
	DeleteNeighbor(ctx context.Context, in *DeleteNeighborRequest, opts ...grpc.CallOption) (*DeleteNeighborResponse, error)
	GetNeighbor(ctx context.Context, in *GetNeighborRequest, opts ...grpc.CallOption) (*GetNeighborResponse, error)
	ResetNeighbor(ctx context.Context, in *ResetNeighborRequest, opts ...grpc.CallOption) (*ResetNeighborResponse, error)
	SoftResetNeighbor(ctx context.Context, in *SoftResetNeighborRequest, opts ...grpc.CallOption) (*SoftResetNeighborResponse, error)
	ShutdownNeighbor(ctx context.Context, in *ShutdownNeighborRequest, opts ...grpc.CallOption) (*ShutdownNeighborResponse, error)
	EnableNeighbor(ctx context.Context, in *EnableNeighborRequest, opts ...grpc.CallOption) (*EnableNeighborResponse, error)
	DisableNeighbor(ctx context.Context, in *DisableNeighborRequest, opts ...grpc.CallOption) (*DisableNeighborResponse, error)
	GetRib(ctx context.Context, in *GetRibRequest, opts ...grpc.CallOption) (*GetRibResponse, error)
	ValidateRib(ctx context.Context, in *ValidateRibRequest, opts ...grpc.CallOption) (*ValidateRibResponse, error)
	AddPath(ctx context.Context, in *AddPathRequest, opts ...grpc.CallOption) (*AddPathResponse, error)
	DeletePath(ctx context.Context, in *DeletePathRequest, opts ...grpc.CallOption) (*DeletePathResponse, error)
	MonitorRib(ctx context.Context, in *Table, opts ...grpc.CallOption) (GobgpApi_MonitorRibClient, error)
	MonitorPeerState(ctx context.Context, in *Arguments, opts ...grpc.CallOption) (GobgpApi_MonitorPeerStateClient, error)
	EnableMrt(ctx context.Context, in *EnableMrtRequest, opts ...grpc.CallOption) (*EnableMrtResponse, error)
	DisableMrt(ctx context.Context, in *DisableMrtRequest, opts ...grpc.CallOption) (*DisableMrtResponse, error)
	InjectMrt(ctx context.Context, opts ...grpc.CallOption) (GobgpApi_InjectMrtClient, error)
	AddBmp(ctx context.Context, in *AddBmpRequest, opts ...grpc.CallOption) (*AddBmpResponse, error)
	DeleteBmp(ctx context.Context, in *DeleteBmpRequest, opts ...grpc.CallOption) (*DeleteBmpResponse, error)
	GetRpki(ctx context.Context, in *GetRpkiRequest, opts ...grpc.CallOption) (*GetRpkiResponse, error)
	AddRpki(ctx context.Context, in *AddRpkiRequest, opts ...grpc.CallOption) (*AddRpkiResponse, error)
	DeleteRpki(ctx context.Context, in *DeleteRpkiRequest, opts ...grpc.CallOption) (*DeleteRpkiResponse, error)
	EnableRpki(ctx context.Context, in *EnableRpkiRequest, opts ...grpc.CallOption) (*EnableRpkiResponse, error)
	DisableRpki(ctx context.Context, in *DisableRpkiRequest, opts ...grpc.CallOption) (*DisableRpkiResponse, error)
	ResetRpki(ctx context.Context, in *ResetRpkiRequest, opts ...grpc.CallOption) (*ResetRpkiResponse, error)
	SoftResetRpki(ctx context.Context, in *SoftResetRpkiRequest, opts ...grpc.CallOption) (*SoftResetRpkiResponse, error)
	GetRoa(ctx context.Context, in *GetRoaRequest, opts ...grpc.CallOption) (*GetRoaResponse, error)
	EnableZebra(ctx context.Context, in *EnableZebraRequest, opts ...grpc.CallOption) (*EnableZebraResponse, error)
	AddVrf(ctx context.Context, in *AddVrfRequest, opts ...grpc.CallOption) (*AddVrfResponse, error)
	DeleteVrf(ctx context.Context, in *DeleteVrfRequest, opts ...grpc.CallOption) (*DeleteVrfResponse, error)
	GetVrf(ctx context.Context, in *GetVrfRequest, opts ...grpc.CallOption) (*GetVrfResponse, error)
	GetDefinedSet(ctx context.Context, in *GetDefinedSetRequest, opts ...grpc.CallOption) (*GetDefinedSetResponse, error)
	AddDefinedSet(ctx context.Context, in *AddDefinedSetRequest, opts ...grpc.CallOption) (*AddDefinedSetResponse, error)
	DeleteDefinedSet(ctx context.Context, in *DeleteDefinedSetRequest, opts ...grpc.CallOption) (*DeleteDefinedSetResponse, error)
	ReplaceDefinedSet(ctx context.Context, in *ReplaceDefinedSetRequest, opts ...grpc.CallOption) (*ReplaceDefinedSetResponse, error)
	GetStatement(ctx context.Context, in *GetStatementRequest, opts ...grpc.CallOption) (*GetStatementResponse, error)
	AddStatement(ctx context.Context, in *AddStatementRequest, opts ...grpc.CallOption) (*AddStatementResponse, error)
	DeleteStatement(ctx context.Context, in *DeleteStatementRequest, opts ...grpc.CallOption) (*DeleteStatementResponse, error)
	ReplaceStatement(ctx context.Context, in *ReplaceStatementRequest, opts ...grpc.CallOption) (*ReplaceStatementResponse, error)
	GetPolicy(ctx context.Context, in *GetPolicyRequest, opts ...grpc.CallOption) (*GetPolicyResponse, error)
	AddPolicy(ctx context.Context, in *AddPolicyRequest, opts ...grpc.CallOption) (*AddPolicyResponse, error)
	DeletePolicy(ctx context.Context, in *DeletePolicyRequest, opts ...grpc.CallOption) (*DeletePolicyResponse, error)
	ReplacePolicy(ctx context.Context, in *ReplacePolicyRequest, opts ...grpc.CallOption) (*ReplacePolicyResponse, error)
	GetPolicyAssignment(ctx context.Context, in *GetPolicyAssignmentRequest, opts ...grpc.CallOption) (*GetPolicyAssignmentResponse, error)
	AddPolicyAssignment(ctx context.Context, in *AddPolicyAssignmentRequest, opts ...grpc.CallOption) (*AddPolicyAssignmentResponse, error)
	DeletePolicyAssignment(ctx context.Context, in *DeletePolicyAssignmentRequest, opts ...grpc.CallOption) (*DeletePolicyAssignmentResponse, error)
	ReplacePolicyAssignment(ctx context.Context, in *ReplacePolicyAssignmentRequest, opts ...grpc.CallOption) (*ReplacePolicyAssignmentResponse, error)
}

type gobgpApiClient struct {
	cc *grpc.ClientConn
}

func NewGobgpApiClient(cc *grpc.ClientConn) GobgpApiClient {
	return &gobgpApiClient{cc}
}

func (c *gobgpApiClient) StartServer(ctx context.Context, in *StartServerRequest, opts ...grpc.CallOption) (*StartServerResponse, error) {
	out := new(StartServerResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/StartServer", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) StopServer(ctx context.Context, in *StopServerRequest, opts ...grpc.CallOption) (*StopServerResponse, error) {
	out := new(StopServerResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/StopServer", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) GetServer(ctx context.Context, in *GetServerRequest, opts ...grpc.CallOption) (*GetServerResponse, error) {
	out := new(GetServerResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/GetServer", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) AddNeighbor(ctx context.Context, in *AddNeighborRequest, opts ...grpc.CallOption) (*AddNeighborResponse, error) {
	out := new(AddNeighborResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/AddNeighbor", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) DeleteNeighbor(ctx context.Context, in *DeleteNeighborRequest, opts ...grpc.CallOption) (*DeleteNeighborResponse, error) {
	out := new(DeleteNeighborResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DeleteNeighbor", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) GetNeighbor(ctx context.Context, in *GetNeighborRequest, opts ...grpc.CallOption) (*GetNeighborResponse, error) {
	out := new(GetNeighborResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/GetNeighbor", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) ResetNeighbor(ctx context.Context, in *ResetNeighborRequest, opts ...grpc.CallOption) (*ResetNeighborResponse, error) {
	out := new(ResetNeighborResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/ResetNeighbor", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) SoftResetNeighbor(ctx context.Context, in *SoftResetNeighborRequest, opts ...grpc.CallOption) (*SoftResetNeighborResponse, error) {
	out := new(SoftResetNeighborResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/SoftResetNeighbor", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) ShutdownNeighbor(ctx context.Context, in *ShutdownNeighborRequest, opts ...grpc.CallOption) (*ShutdownNeighborResponse, error) {
	out := new(ShutdownNeighborResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/ShutdownNeighbor", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) EnableNeighbor(ctx context.Context, in *EnableNeighborRequest, opts ...grpc.CallOption) (*EnableNeighborResponse, error) {
	out := new(EnableNeighborResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/EnableNeighbor", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) DisableNeighbor(ctx context.Context, in *DisableNeighborRequest, opts ...grpc.CallOption) (*DisableNeighborResponse, error) {
	out := new(DisableNeighborResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DisableNeighbor", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) GetRib(ctx context.Context, in *GetRibRequest, opts ...grpc.CallOption) (*GetRibResponse, error) {
	out := new(GetRibResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/GetRib", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) ValidateRib(ctx context.Context, in *ValidateRibRequest, opts ...grpc.CallOption) (*ValidateRibResponse, error) {
	out := new(ValidateRibResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/ValidateRib", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) AddPath(ctx context.Context, in *AddPathRequest, opts ...grpc.CallOption) (*AddPathResponse, error) {
	out := new(AddPathResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/AddPath", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) DeletePath(ctx context.Context, in *DeletePathRequest, opts ...grpc.CallOption) (*DeletePathResponse, error) {
	out := new(DeletePathResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DeletePath", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) MonitorRib(ctx context.Context, in *Table, opts ...grpc.CallOption) (GobgpApi_MonitorRibClient, error) {
	stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[0], c.cc, "/gobgpapi.GobgpApi/MonitorRib", opts...)
	if err != nil {
		return nil, err
	}
	x := &gobgpApiMonitorRibClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type GobgpApi_MonitorRibClient interface {
	Recv() (*Destination, error)
	grpc.ClientStream
}

type gobgpApiMonitorRibClient struct {
	grpc.ClientStream
}

func (x *gobgpApiMonitorRibClient) Recv() (*Destination, error) {
	m := new(Destination)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *gobgpApiClient) MonitorPeerState(ctx context.Context, in *Arguments, opts ...grpc.CallOption) (GobgpApi_MonitorPeerStateClient, error) {
	stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[1], c.cc, "/gobgpapi.GobgpApi/MonitorPeerState", opts...)
	if err != nil {
		return nil, err
	}
	x := &gobgpApiMonitorPeerStateClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type GobgpApi_MonitorPeerStateClient interface {
	Recv() (*Peer, error)
	grpc.ClientStream
}

type gobgpApiMonitorPeerStateClient struct {
	grpc.ClientStream
}

func (x *gobgpApiMonitorPeerStateClient) Recv() (*Peer, error) {
	m := new(Peer)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *gobgpApiClient) EnableMrt(ctx context.Context, in *EnableMrtRequest, opts ...grpc.CallOption) (*EnableMrtResponse, error) {
	out := new(EnableMrtResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/EnableMrt", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) DisableMrt(ctx context.Context, in *DisableMrtRequest, opts ...grpc.CallOption) (*DisableMrtResponse, error) {
	out := new(DisableMrtResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DisableMrt", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) InjectMrt(ctx context.Context, opts ...grpc.CallOption) (GobgpApi_InjectMrtClient, error) {
	stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[2], c.cc, "/gobgpapi.GobgpApi/InjectMrt", opts...)
	if err != nil {
		return nil, err
	}
	x := &gobgpApiInjectMrtClient{stream}
	return x, nil
}

type GobgpApi_InjectMrtClient interface {
	Send(*InjectMrtRequest) error
	CloseAndRecv() (*InjectMrtResponse, error)
	grpc.ClientStream
}

type gobgpApiInjectMrtClient struct {
	grpc.ClientStream
}

func (x *gobgpApiInjectMrtClient) Send(m *InjectMrtRequest) error {
	return x.ClientStream.SendMsg(m)
}

func (x *gobgpApiInjectMrtClient) CloseAndRecv() (*InjectMrtResponse, error) {
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	m := new(InjectMrtResponse)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *gobgpApiClient) AddBmp(ctx context.Context, in *AddBmpRequest, opts ...grpc.CallOption) (*AddBmpResponse, error) {
	out := new(AddBmpResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/AddBmp", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) DeleteBmp(ctx context.Context, in *DeleteBmpRequest, opts ...grpc.CallOption) (*DeleteBmpResponse, error) {
	out := new(DeleteBmpResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DeleteBmp", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) GetRpki(ctx context.Context, in *GetRpkiRequest, opts ...grpc.CallOption) (*GetRpkiResponse, error) {
	out := new(GetRpkiResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/GetRpki", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) AddRpki(ctx context.Context, in *AddRpkiRequest, opts ...grpc.CallOption) (*AddRpkiResponse, error) {
	out := new(AddRpkiResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/AddRpki", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) DeleteRpki(ctx context.Context, in *DeleteRpkiRequest, opts ...grpc.CallOption) (*DeleteRpkiResponse, error) {
	out := new(DeleteRpkiResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DeleteRpki", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) EnableRpki(ctx context.Context, in *EnableRpkiRequest, opts ...grpc.CallOption) (*EnableRpkiResponse, error) {
	out := new(EnableRpkiResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/EnableRpki", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) DisableRpki(ctx context.Context, in *DisableRpkiRequest, opts ...grpc.CallOption) (*DisableRpkiResponse, error) {
	out := new(DisableRpkiResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DisableRpki", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) ResetRpki(ctx context.Context, in *ResetRpkiRequest, opts ...grpc.CallOption) (*ResetRpkiResponse, error) {
	out := new(ResetRpkiResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/ResetRpki", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) SoftResetRpki(ctx context.Context, in *SoftResetRpkiRequest, opts ...grpc.CallOption) (*SoftResetRpkiResponse, error) {
	out := new(SoftResetRpkiResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/SoftResetRpki", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) GetRoa(ctx context.Context, in *GetRoaRequest, opts ...grpc.CallOption) (*GetRoaResponse, error) {
	out := new(GetRoaResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/GetRoa", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) EnableZebra(ctx context.Context, in *EnableZebraRequest, opts ...grpc.CallOption) (*EnableZebraResponse, error) {
	out := new(EnableZebraResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/EnableZebra", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) AddVrf(ctx context.Context, in *AddVrfRequest, opts ...grpc.CallOption) (*AddVrfResponse, error) {
	out := new(AddVrfResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/AddVrf", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) DeleteVrf(ctx context.Context, in *DeleteVrfRequest, opts ...grpc.CallOption) (*DeleteVrfResponse, error) {
	out := new(DeleteVrfResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DeleteVrf", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) GetVrf(ctx context.Context, in *GetVrfRequest, opts ...grpc.CallOption) (*GetVrfResponse, error) {
	out := new(GetVrfResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/GetVrf", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) GetDefinedSet(ctx context.Context, in *GetDefinedSetRequest, opts ...grpc.CallOption) (*GetDefinedSetResponse, error) {
	out := new(GetDefinedSetResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/GetDefinedSet", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) AddDefinedSet(ctx context.Context, in *AddDefinedSetRequest, opts ...grpc.CallOption) (*AddDefinedSetResponse, error) {
	out := new(AddDefinedSetResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/AddDefinedSet", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) DeleteDefinedSet(ctx context.Context, in *DeleteDefinedSetRequest, opts ...grpc.CallOption) (*DeleteDefinedSetResponse, error) {
	out := new(DeleteDefinedSetResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DeleteDefinedSet", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) ReplaceDefinedSet(ctx context.Context, in *ReplaceDefinedSetRequest, opts ...grpc.CallOption) (*ReplaceDefinedSetResponse, error) {
	out := new(ReplaceDefinedSetResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/ReplaceDefinedSet", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) GetStatement(ctx context.Context, in *GetStatementRequest, opts ...grpc.CallOption) (*GetStatementResponse, error) {
	out := new(GetStatementResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/GetStatement", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) AddStatement(ctx context.Context, in *AddStatementRequest, opts ...grpc.CallOption) (*AddStatementResponse, error) {
	out := new(AddStatementResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/AddStatement", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) DeleteStatement(ctx context.Context, in *DeleteStatementRequest, opts ...grpc.CallOption) (*DeleteStatementResponse, error) {
	out := new(DeleteStatementResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DeleteStatement", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) ReplaceStatement(ctx context.Context, in *ReplaceStatementRequest, opts ...grpc.CallOption) (*ReplaceStatementResponse, error) {
	out := new(ReplaceStatementResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/ReplaceStatement", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) GetPolicy(ctx context.Context, in *GetPolicyRequest, opts ...grpc.CallOption) (*GetPolicyResponse, error) {
	out := new(GetPolicyResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/GetPolicy", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) AddPolicy(ctx context.Context, in *AddPolicyRequest, opts ...grpc.CallOption) (*AddPolicyResponse, error) {
	out := new(AddPolicyResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/AddPolicy", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) DeletePolicy(ctx context.Context, in *DeletePolicyRequest, opts ...grpc.CallOption) (*DeletePolicyResponse, error) {
	out := new(DeletePolicyResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DeletePolicy", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) ReplacePolicy(ctx context.Context, in *ReplacePolicyRequest, opts ...grpc.CallOption) (*ReplacePolicyResponse, error) {
	out := new(ReplacePolicyResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/ReplacePolicy", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) GetPolicyAssignment(ctx context.Context, in *GetPolicyAssignmentRequest, opts ...grpc.CallOption) (*GetPolicyAssignmentResponse, error) {
	out := new(GetPolicyAssignmentResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/GetPolicyAssignment", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) AddPolicyAssignment(ctx context.Context, in *AddPolicyAssignmentRequest, opts ...grpc.CallOption) (*AddPolicyAssignmentResponse, error) {
	out := new(AddPolicyAssignmentResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/AddPolicyAssignment", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) DeletePolicyAssignment(ctx context.Context, in *DeletePolicyAssignmentRequest, opts ...grpc.CallOption) (*DeletePolicyAssignmentResponse, error) {
	out := new(DeletePolicyAssignmentResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DeletePolicyAssignment", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gobgpApiClient) ReplacePolicyAssignment(ctx context.Context, in *ReplacePolicyAssignmentRequest, opts ...grpc.CallOption) (*ReplacePolicyAssignmentResponse, error) {
	out := new(ReplacePolicyAssignmentResponse)
	err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/ReplacePolicyAssignment", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// Server API for GobgpApi service

type GobgpApiServer interface {
	StartServer(context.Context, *StartServerRequest) (*StartServerResponse, error)
	StopServer(context.Context, *StopServerRequest) (*StopServerResponse, error)
	GetServer(context.Context, *GetServerRequest) (*GetServerResponse, error)
	AddNeighbor(context.Context, *AddNeighborRequest) (*AddNeighborResponse, error)
	DeleteNeighbor(context.Context, *DeleteNeighborRequest) (*DeleteNeighborResponse, error)
	GetNeighbor(context.Context, *GetNeighborRequest) (*GetNeighborResponse, error)
	ResetNeighbor(context.Context, *ResetNeighborRequest) (*ResetNeighborResponse, error)
	SoftResetNeighbor(context.Context, *SoftResetNeighborRequest) (*SoftResetNeighborResponse, error)
	ShutdownNeighbor(context.Context, *ShutdownNeighborRequest) (*ShutdownNeighborResponse, error)
	EnableNeighbor(context.Context, *EnableNeighborRequest) (*EnableNeighborResponse, error)
	DisableNeighbor(context.Context, *DisableNeighborRequest) (*DisableNeighborResponse, error)
	GetRib(context.Context, *GetRibRequest) (*GetRibResponse, error)
	ValidateRib(context.Context, *ValidateRibRequest) (*ValidateRibResponse, error)
	AddPath(context.Context, *AddPathRequest) (*AddPathResponse, error)
	DeletePath(context.Context, *DeletePathRequest) (*DeletePathResponse, error)
	MonitorRib(*Table, GobgpApi_MonitorRibServer) error
	MonitorPeerState(*Arguments, GobgpApi_MonitorPeerStateServer) error
	EnableMrt(context.Context, *EnableMrtRequest) (*EnableMrtResponse, error)
	DisableMrt(context.Context, *DisableMrtRequest) (*DisableMrtResponse, error)
	InjectMrt(GobgpApi_InjectMrtServer) error
	AddBmp(context.Context, *AddBmpRequest) (*AddBmpResponse, error)
	DeleteBmp(context.Context, *DeleteBmpRequest) (*DeleteBmpResponse, error)
	GetRpki(context.Context, *GetRpkiRequest) (*GetRpkiResponse, error)
	AddRpki(context.Context, *AddRpkiRequest) (*AddRpkiResponse, error)
	DeleteRpki(context.Context, *DeleteRpkiRequest) (*DeleteRpkiResponse, error)
	EnableRpki(context.Context, *EnableRpkiRequest) (*EnableRpkiResponse, error)
	DisableRpki(context.Context, *DisableRpkiRequest) (*DisableRpkiResponse, error)
	ResetRpki(context.Context, *ResetRpkiRequest) (*ResetRpkiResponse, error)
	SoftResetRpki(context.Context, *SoftResetRpkiRequest) (*SoftResetRpkiResponse, error)
	GetRoa(context.Context, *GetRoaRequest) (*GetRoaResponse, error)
	EnableZebra(context.Context, *EnableZebraRequest) (*EnableZebraResponse, error)
	AddVrf(context.Context, *AddVrfRequest) (*AddVrfResponse, error)
	DeleteVrf(context.Context, *DeleteVrfRequest) (*DeleteVrfResponse, error)
	GetVrf(context.Context, *GetVrfRequest) (*GetVrfResponse, error)
	GetDefinedSet(context.Context, *GetDefinedSetRequest) (*GetDefinedSetResponse, error)
	AddDefinedSet(context.Context, *AddDefinedSetRequest) (*AddDefinedSetResponse, error)
	DeleteDefinedSet(context.Context, *DeleteDefinedSetRequest) (*DeleteDefinedSetResponse, error)
	ReplaceDefinedSet(context.Context, *ReplaceDefinedSetRequest) (*ReplaceDefinedSetResponse, error)
	GetStatement(context.Context, *GetStatementRequest) (*GetStatementResponse, error)
	AddStatement(context.Context, *AddStatementRequest) (*AddStatementResponse, error)
	DeleteStatement(context.Context, *DeleteStatementRequest) (*DeleteStatementResponse, error)
	ReplaceStatement(context.Context, *ReplaceStatementRequest) (*ReplaceStatementResponse, error)
	GetPolicy(context.Context, *GetPolicyRequest) (*GetPolicyResponse, error)
	AddPolicy(context.Context, *AddPolicyRequest) (*AddPolicyResponse, error)
	DeletePolicy(context.Context, *DeletePolicyRequest) (*DeletePolicyResponse, error)
	ReplacePolicy(context.Context, *ReplacePolicyRequest) (*ReplacePolicyResponse, error)
	GetPolicyAssignment(context.Context, *GetPolicyAssignmentRequest) (*GetPolicyAssignmentResponse, error)
	AddPolicyAssignment(context.Context, *AddPolicyAssignmentRequest) (*AddPolicyAssignmentResponse, error)
	DeletePolicyAssignment(context.Context, *DeletePolicyAssignmentRequest) (*DeletePolicyAssignmentResponse, error)
	ReplacePolicyAssignment(context.Context, *ReplacePolicyAssignmentRequest) (*ReplacePolicyAssignmentResponse, error)
}

func RegisterGobgpApiServer(s *grpc.Server, srv GobgpApiServer) {
	s.RegisterService(&_GobgpApi_serviceDesc, srv)
}

func _GobgpApi_StartServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(StartServerRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).StartServer(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/StartServer",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).StartServer(ctx, req.(*StartServerRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_StopServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(StopServerRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).StopServer(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/StopServer",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).StopServer(ctx, req.(*StopServerRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_GetServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetServerRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).GetServer(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/GetServer",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).GetServer(ctx, req.(*GetServerRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_AddNeighbor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AddNeighborRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).AddNeighbor(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/AddNeighbor",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).AddNeighbor(ctx, req.(*AddNeighborRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_DeleteNeighbor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteNeighborRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).DeleteNeighbor(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/DeleteNeighbor",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).DeleteNeighbor(ctx, req.(*DeleteNeighborRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_GetNeighbor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetNeighborRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).GetNeighbor(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/GetNeighbor",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).GetNeighbor(ctx, req.(*GetNeighborRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_ResetNeighbor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ResetNeighborRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).ResetNeighbor(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/ResetNeighbor",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).ResetNeighbor(ctx, req.(*ResetNeighborRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_SoftResetNeighbor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SoftResetNeighborRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).SoftResetNeighbor(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/SoftResetNeighbor",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).SoftResetNeighbor(ctx, req.(*SoftResetNeighborRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_ShutdownNeighbor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ShutdownNeighborRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).ShutdownNeighbor(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/ShutdownNeighbor",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).ShutdownNeighbor(ctx, req.(*ShutdownNeighborRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_EnableNeighbor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(EnableNeighborRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).EnableNeighbor(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/EnableNeighbor",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).EnableNeighbor(ctx, req.(*EnableNeighborRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_DisableNeighbor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DisableNeighborRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).DisableNeighbor(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/DisableNeighbor",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).DisableNeighbor(ctx, req.(*DisableNeighborRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_GetRib_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetRibRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).GetRib(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/GetRib",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).GetRib(ctx, req.(*GetRibRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_ValidateRib_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ValidateRibRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).ValidateRib(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/ValidateRib",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).ValidateRib(ctx, req.(*ValidateRibRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_AddPath_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AddPathRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).AddPath(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/AddPath",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).AddPath(ctx, req.(*AddPathRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_DeletePath_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeletePathRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).DeletePath(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/DeletePath",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).DeletePath(ctx, req.(*DeletePathRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_MonitorRib_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(Table)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(GobgpApiServer).MonitorRib(m, &gobgpApiMonitorRibServer{stream})
}

type GobgpApi_MonitorRibServer interface {
	Send(*Destination) error
	grpc.ServerStream
}

type gobgpApiMonitorRibServer struct {
	grpc.ServerStream
}

func (x *gobgpApiMonitorRibServer) Send(m *Destination) error {
	return x.ServerStream.SendMsg(m)
}

func _GobgpApi_MonitorPeerState_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(Arguments)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(GobgpApiServer).MonitorPeerState(m, &gobgpApiMonitorPeerStateServer{stream})
}

type GobgpApi_MonitorPeerStateServer interface {
	Send(*Peer) error
	grpc.ServerStream
}

type gobgpApiMonitorPeerStateServer struct {
	grpc.ServerStream
}

func (x *gobgpApiMonitorPeerStateServer) Send(m *Peer) error {
	return x.ServerStream.SendMsg(m)
}

func _GobgpApi_EnableMrt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(EnableMrtRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).EnableMrt(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/EnableMrt",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).EnableMrt(ctx, req.(*EnableMrtRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_DisableMrt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DisableMrtRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).DisableMrt(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/DisableMrt",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).DisableMrt(ctx, req.(*DisableMrtRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_InjectMrt_Handler(srv interface{}, stream grpc.ServerStream) error {
	return srv.(GobgpApiServer).InjectMrt(&gobgpApiInjectMrtServer{stream})
}

type GobgpApi_InjectMrtServer interface {
	SendAndClose(*InjectMrtResponse) error
	Recv() (*InjectMrtRequest, error)
	grpc.ServerStream
}

type gobgpApiInjectMrtServer struct {
	grpc.ServerStream
}

func (x *gobgpApiInjectMrtServer) SendAndClose(m *InjectMrtResponse) error {
	return x.ServerStream.SendMsg(m)
}

func (x *gobgpApiInjectMrtServer) Recv() (*InjectMrtRequest, error) {
	m := new(InjectMrtRequest)
	if err := x.ServerStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func _GobgpApi_AddBmp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AddBmpRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).AddBmp(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/AddBmp",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).AddBmp(ctx, req.(*AddBmpRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_DeleteBmp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteBmpRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).DeleteBmp(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/DeleteBmp",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).DeleteBmp(ctx, req.(*DeleteBmpRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_GetRpki_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetRpkiRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).GetRpki(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/GetRpki",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).GetRpki(ctx, req.(*GetRpkiRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_AddRpki_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AddRpkiRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).AddRpki(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/AddRpki",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).AddRpki(ctx, req.(*AddRpkiRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_DeleteRpki_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteRpkiRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).DeleteRpki(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/DeleteRpki",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).DeleteRpki(ctx, req.(*DeleteRpkiRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_EnableRpki_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(EnableRpkiRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).EnableRpki(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/EnableRpki",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).EnableRpki(ctx, req.(*EnableRpkiRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_DisableRpki_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DisableRpkiRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).DisableRpki(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/DisableRpki",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).DisableRpki(ctx, req.(*DisableRpkiRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_ResetRpki_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ResetRpkiRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).ResetRpki(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/ResetRpki",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).ResetRpki(ctx, req.(*ResetRpkiRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_SoftResetRpki_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SoftResetRpkiRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).SoftResetRpki(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/SoftResetRpki",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).SoftResetRpki(ctx, req.(*SoftResetRpkiRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_GetRoa_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetRoaRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).GetRoa(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/GetRoa",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).GetRoa(ctx, req.(*GetRoaRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_EnableZebra_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(EnableZebraRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).EnableZebra(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/EnableZebra",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).EnableZebra(ctx, req.(*EnableZebraRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_AddVrf_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AddVrfRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).AddVrf(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/AddVrf",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).AddVrf(ctx, req.(*AddVrfRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_DeleteVrf_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteVrfRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).DeleteVrf(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/DeleteVrf",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).DeleteVrf(ctx, req.(*DeleteVrfRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_GetVrf_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetVrfRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).GetVrf(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/GetVrf",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).GetVrf(ctx, req.(*GetVrfRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_GetDefinedSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetDefinedSetRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).GetDefinedSet(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/GetDefinedSet",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).GetDefinedSet(ctx, req.(*GetDefinedSetRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_AddDefinedSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AddDefinedSetRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).AddDefinedSet(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/AddDefinedSet",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).AddDefinedSet(ctx, req.(*AddDefinedSetRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_DeleteDefinedSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteDefinedSetRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).DeleteDefinedSet(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/DeleteDefinedSet",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).DeleteDefinedSet(ctx, req.(*DeleteDefinedSetRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_ReplaceDefinedSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReplaceDefinedSetRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).ReplaceDefinedSet(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/ReplaceDefinedSet",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).ReplaceDefinedSet(ctx, req.(*ReplaceDefinedSetRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_GetStatement_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetStatementRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).GetStatement(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/GetStatement",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).GetStatement(ctx, req.(*GetStatementRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_AddStatement_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AddStatementRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).AddStatement(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/AddStatement",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).AddStatement(ctx, req.(*AddStatementRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_DeleteStatement_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteStatementRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).DeleteStatement(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/DeleteStatement",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).DeleteStatement(ctx, req.(*DeleteStatementRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_ReplaceStatement_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReplaceStatementRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).ReplaceStatement(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/ReplaceStatement",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).ReplaceStatement(ctx, req.(*ReplaceStatementRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_GetPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetPolicyRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).GetPolicy(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/GetPolicy",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).GetPolicy(ctx, req.(*GetPolicyRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_AddPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AddPolicyRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).AddPolicy(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/AddPolicy",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).AddPolicy(ctx, req.(*AddPolicyRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_DeletePolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeletePolicyRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).DeletePolicy(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/DeletePolicy",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).DeletePolicy(ctx, req.(*DeletePolicyRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_ReplacePolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReplacePolicyRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).ReplacePolicy(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/ReplacePolicy",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).ReplacePolicy(ctx, req.(*ReplacePolicyRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_GetPolicyAssignment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetPolicyAssignmentRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).GetPolicyAssignment(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/GetPolicyAssignment",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).GetPolicyAssignment(ctx, req.(*GetPolicyAssignmentRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_AddPolicyAssignment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AddPolicyAssignmentRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).AddPolicyAssignment(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/AddPolicyAssignment",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).AddPolicyAssignment(ctx, req.(*AddPolicyAssignmentRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_DeletePolicyAssignment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeletePolicyAssignmentRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).DeletePolicyAssignment(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/DeletePolicyAssignment",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).DeletePolicyAssignment(ctx, req.(*DeletePolicyAssignmentRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GobgpApi_ReplacePolicyAssignment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReplacePolicyAssignmentRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GobgpApiServer).ReplacePolicyAssignment(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gobgpapi.GobgpApi/ReplacePolicyAssignment",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GobgpApiServer).ReplacePolicyAssignment(ctx, req.(*ReplacePolicyAssignmentRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _GobgpApi_serviceDesc = grpc.ServiceDesc{
	ServiceName: "gobgpapi.GobgpApi",
	HandlerType: (*GobgpApiServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "StartServer",
			Handler:    _GobgpApi_StartServer_Handler,
		},
		{
			MethodName: "StopServer",
			Handler:    _GobgpApi_StopServer_Handler,
		},
		{
			MethodName: "GetServer",
			Handler:    _GobgpApi_GetServer_Handler,
		},
		{
			MethodName: "AddNeighbor",
			Handler:    _GobgpApi_AddNeighbor_Handler,
		},
		{
			MethodName: "DeleteNeighbor",
			Handler:    _GobgpApi_DeleteNeighbor_Handler,
		},
		{
			MethodName: "GetNeighbor",
			Handler:    _GobgpApi_GetNeighbor_Handler,
		},
		{
			MethodName: "ResetNeighbor",
			Handler:    _GobgpApi_ResetNeighbor_Handler,
		},
		{
			MethodName: "SoftResetNeighbor",
			Handler:    _GobgpApi_SoftResetNeighbor_Handler,
		},
		{
			MethodName: "ShutdownNeighbor",
			Handler:    _GobgpApi_ShutdownNeighbor_Handler,
		},
		{
			MethodName: "EnableNeighbor",
			Handler:    _GobgpApi_EnableNeighbor_Handler,
		},
		{
			MethodName: "DisableNeighbor",
			Handler:    _GobgpApi_DisableNeighbor_Handler,
		},
		{
			MethodName: "GetRib",
			Handler:    _GobgpApi_GetRib_Handler,
		},
		{
			MethodName: "ValidateRib",
			Handler:    _GobgpApi_ValidateRib_Handler,
		},
		{
			MethodName: "AddPath",
			Handler:    _GobgpApi_AddPath_Handler,
		},
		{
			MethodName: "DeletePath",
			Handler:    _GobgpApi_DeletePath_Handler,
		},
		{
			MethodName: "EnableMrt",
			Handler:    _GobgpApi_EnableMrt_Handler,
		},
		{
			MethodName: "DisableMrt",
			Handler:    _GobgpApi_DisableMrt_Handler,
		},
		{
			MethodName: "AddBmp",
			Handler:    _GobgpApi_AddBmp_Handler,
		},
		{
			MethodName: "DeleteBmp",
			Handler:    _GobgpApi_DeleteBmp_Handler,
		},
		{
			MethodName: "GetRpki",
			Handler:    _GobgpApi_GetRpki_Handler,
		},
		{
			MethodName: "AddRpki",
			Handler:    _GobgpApi_AddRpki_Handler,
		},
		{
			MethodName: "DeleteRpki",
			Handler:    _GobgpApi_DeleteRpki_Handler,
		},
		{
			MethodName: "EnableRpki",
			Handler:    _GobgpApi_EnableRpki_Handler,
		},
		{
			MethodName: "DisableRpki",
			Handler:    _GobgpApi_DisableRpki_Handler,
		},
		{
			MethodName: "ResetRpki",
			Handler:    _GobgpApi_ResetRpki_Handler,
		},
		{
			MethodName: "SoftResetRpki",
			Handler:    _GobgpApi_SoftResetRpki_Handler,
		},
		{
			MethodName: "GetRoa",
			Handler:    _GobgpApi_GetRoa_Handler,
		},
		{
			MethodName: "EnableZebra",
			Handler:    _GobgpApi_EnableZebra_Handler,
		},
		{
			MethodName: "AddVrf",
			Handler:    _GobgpApi_AddVrf_Handler,
		},
		{
			MethodName: "DeleteVrf",
			Handler:    _GobgpApi_DeleteVrf_Handler,
		},
		{
			MethodName: "GetVrf",
			Handler:    _GobgpApi_GetVrf_Handler,
		},
		{
			MethodName: "GetDefinedSet",
			Handler:    _GobgpApi_GetDefinedSet_Handler,
		},
		{
			MethodName: "AddDefinedSet",
			Handler:    _GobgpApi_AddDefinedSet_Handler,
		},
		{
			MethodName: "DeleteDefinedSet",
			Handler:    _GobgpApi_DeleteDefinedSet_Handler,
		},
		{
			MethodName: "ReplaceDefinedSet",
			Handler:    _GobgpApi_ReplaceDefinedSet_Handler,
		},
		{
			MethodName: "GetStatement",
			Handler:    _GobgpApi_GetStatement_Handler,
		},
		{
			MethodName: "AddStatement",
			Handler:    _GobgpApi_AddStatement_Handler,
		},
		{
			MethodName: "DeleteStatement",
			Handler:    _GobgpApi_DeleteStatement_Handler,
		},
		{
			MethodName: "ReplaceStatement",
			Handler:    _GobgpApi_ReplaceStatement_Handler,
		},
		{
			MethodName: "GetPolicy",
			Handler:    _GobgpApi_GetPolicy_Handler,
		},
		{
			MethodName: "AddPolicy",
			Handler:    _GobgpApi_AddPolicy_Handler,
		},
		{
			MethodName: "DeletePolicy",
			Handler:    _GobgpApi_DeletePolicy_Handler,
		},
		{
			MethodName: "ReplacePolicy",
			Handler:    _GobgpApi_ReplacePolicy_Handler,
		},
		{
			MethodName: "GetPolicyAssignment",
			Handler:    _GobgpApi_GetPolicyAssignment_Handler,
		},
		{
			MethodName: "AddPolicyAssignment",
			Handler:    _GobgpApi_AddPolicyAssignment_Handler,
		},
		{
			MethodName: "DeletePolicyAssignment",
			Handler:    _GobgpApi_DeletePolicyAssignment_Handler,
		},
		{
			MethodName: "ReplacePolicyAssignment",
			Handler:    _GobgpApi_ReplacePolicyAssignment_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "MonitorRib",
			Handler:       _GobgpApi_MonitorRib_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "MonitorPeerState",
			Handler:       _GobgpApi_MonitorPeerState_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "InjectMrt",
			Handler:       _GobgpApi_InjectMrt_Handler,
			ClientStreams: true,
		},
	},
	Metadata: fileDescriptor0,
}

func init() { proto.RegisterFile("gobgp.proto", fileDescriptor0) }

var fileDescriptor0 = []byte{
	// 5371 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xd4, 0x3c, 0x4d, 0x73, 0x1b, 0x57,
	0x72, 0x04, 0x01, 0x92, 0x40, 0x03, 0x20, 0xc1, 0x11, 0x29, 0x41, 0x90, 0x25, 0x5b, 0xb3, 0xeb,
	0xb5, 0xac, 0xb5, 0xe5, 0xb5, 0x6c, 0xcb, 0x9b, 0xf5, 0x7a, 0xb3, 0x30, 0x09, 0x49, 0x58, 0xf3,
	0x03, 0x1e, 0x42, 0x8a, 0xbd, 0xf9, 0x98, 0x8c, 0x80, 0x01, 0x39, 0x31, 0x80, 0x99, 0x9d, 0x19,
	0xc8, 0x52, 0xa5, 0x2a, 0xa9, 0x4a, 0x6e, 0xf9, 0x38, 0xe7, 0xb2, 0x55, 0xb9, 0x6f, 0x92, 0x73,
	0xaa, 0x72, 0x4e, 0xaa, 0x92, 0x5f, 0x91, 0x53, 0xfe, 0x43, 0x8e, 0xe9, 0xee, 0xf7, 0x66, 0xe6,
	0xcd, 0x07, 0x28, 0x4a, 0x51, 0x92, 0xca, 0x89, 0x78, 0xdd, 0xfd, 0xfa, 0x7d, 0xf5, 0xd7, 0xeb,
	0x37, 0x4d, 0xa8, 0x9f, 0xba, 0x4f, 0x4e, 0xbd, 0x3b, 0x9e, 0xef, 0x86, 0xae, 0x56, 0xe5, 0x86,
	0xe5, 0x39, 0xfa, 0x0e, 0x68, 0x0f, 0xec, 0xf0, 0xc8, 0x76, 0x4e, 0xcf, 0x9e, 0xb8, 0xbe, 0x61,
	0xff, 0x6a, 0x61, 0x07, 0xa1, 0xfe, 0x19, 0x5c, 0x4a, 0x41, 0x03, 0xcf, 0x9d, 0x07, 0xb6, 0xf6,
	0x7d, 0x58, 0xf3, 0x6c, 0xdb, 0x0f, 0xda, 0xa5, 0xb7, 0xca, 0xb7, 0xea, 0x77, 0x37, 0xef, 0x44,
	0x6c, 0xee, 0x0c, 0x10, 0x6c, 0x08, 0xa4, 0x7e, 0x0a, 0xb5, 0xae, 0x7f, 0xba, 0x98, 0xd9, 0xf3,
	0x30, 0xd0, 0xee, 0x40, 0xd5, 0xb7, 0x03, 0x77, 0xe1, 0x8f, 0x6c, 0xec, 0x55, 0xba, 0xb5, 0x79,
	0x57, 0x4b, 0x7a, 0x19, 0x12, 0x63, 0xc4, 0x34, 0xda, 0x65, 0x58, 0x9f, 0x58, 0x33, 0x67, 0xfa,
	0xbc, 0xbd, 0x8a, 0xd4, 0x4d, 0x43, 0xb6, 0x34, 0x0d, 0x2a, 0x73, 0x6b, 0x66, 0xb7, 0xcb, 0x08,
	0xad, 0x19, 0xfc, 0x5b, 0xff, 0x63, 0xd8, 0xec, 0x8e, 0xc7, 0x03, 0x2b, 0x3c, 0x93, 0xf3, 0x7e,
	0xe9, 0xd1, 0x76, 0x61, 0xfd, 0xa9, 0x3f, 0x31, 0x9d, 0x31, 0x8f, 0x56, 0x33, 0xd6, 0xb0, 0xd5,
	0x1f, 0x6b, 0x3a, 0x54, 0x3c, 0xe4, 0xca, 0x83, 0xa5, 0x97, 0x49, 0x63, 0x31, 0x4e, 0x7f, 0x1b,
	0xb6, 0xe2, 0xc1, 0xe5, 0xf6, 0xe0, 0x1c, 0x17, 0x0b, 0xe4, 0x45, 0x23, 0x37, 0x0c, 0xfe, 0xad,
	0xff, 0xa6, 0x04, 0xdb, 0xfb, 0xf6, 0xd4, 0x0e, 0xed, 0xff, 0x81, 0x79, 0x26, 0x9b, 0x55, 0x4e,
	0x6d, 0x56, 0x34, 0xff, 0xca, 0xf2, 0xf9, 0xc7, 0x93, 0x5d, 0x53, 0x26, 0x8b, 0xc2, 0xa0, 0xce,
	0x55, 0x2c, 0x4b, 0xff, 0x31, 0x68, 0xb8, 0xd2, 0x8c, 0x88, 0xf0, 0x18, 0x78, 0xdc, 0x3c, 0xfd,
	0xbc, 0x28, 0x30, 0x4e, 0xdf, 0x85, 0x4b, 0xa9, 0x9e, 0x92, 0xe1, 0x67, 0xb0, 0x2b, 0x86, 0x79,
	0x15, 0x9e, 0x6d, 0xb8, 0x9c, 0xed, 0x2c, 0xd9, 0xfe, 0x08, 0x76, 0xf0, 0x77, 0x4e, 0x98, 0xb5,
	0x36, 0x6c, 0x58, 0xe3, 0x31, 0xee, 0x65, 0xc0, 0x8c, 0x6b, 0x46, 0xd4, 0xd4, 0xaf, 0xc0, 0x6e,
	0xa6, 0x87, 0x64, 0xf5, 0x4f, 0x25, 0x68, 0x9f, 0xb8, 0x93, 0xf0, 0xe5, 0xf8, 0x69, 0x27, 0x50,
	0x1b, 0x3b, 0xbe, 0x3d, 0x0a, 0x1d, 0x77, 0xce, 0x27, 0xb5, 0x79, 0xf7, 0x93, 0x64, 0x11, 0xcb,
	0x18, 0x26, 0x88, 0xfd, 0xa8, 0xb3, 0x91, 0xf0, 0xd1, 0x3f, 0x00, 0x2d, 0x4f, 0xa0, 0xad, 0xc3,
	0x6a, 0xff, 0xa8, 0xb5, 0xa2, 0x6d, 0x40, 0xf9, 0xf8, 0xd1, 0xb0, 0x55, 0xd2, 0xaa, 0x50, 0xf9,
	0xe2, 0x78, 0xf8, 0xb0, 0xb5, 0xaa, 0x5f, 0x83, 0xab, 0x05, 0x43, 0xc9, 0x95, 0x7d, 0x04, 0x57,
	0x4e, 0xce, 0x16, 0xe1, 0xd8, 0xfd, 0x6e, 0x7e, 0xf1, 0x7d, 0xea, 0xe0, 0x6e, 0xe4, 0x3a, 0x49,
	0x86, 0x1f, 0xc2, 0x6e, 0x6f, 0x6e, 0x3d, 0x99, 0xda, 0x17, 0x67, 0x87, 0x47, 0x98, 0xed, 0x22,
	0x99, 0xdd, 0xc5, 0xc3, 0x75, 0x82, 0x97, 0xe3, 0x76, 0x15, 0xae, 0xe4, 0xfa, 0x48, 0x76, 0xa7,
	0xd0, 0x12, 0x03, 0x1d, 0xfa, 0x61, 0xc4, 0xe8, 0x1a, 0x9e, 0xd1, 0x62, 0xe6, 0x99, 0xe1, 0x73,
	0x4f, 0xe8, 0xde, 0x9a, 0x51, 0x25, 0xc0, 0x10, 0xdb, 0x5a, 0x07, 0xaa, 0x13, 0x67, 0x6a, 0xb3,
	0xa5, 0x11, 0x9a, 0x16, 0xb7, 0x09, 0xe7, 0xcc, 0x43, 0xdb, 0x7f, 0x6a, 0x4d, 0x59, 0xdd, 0x2a,
	0x46, 0xdc, 0xd6, 0x2f, 0xc1, 0xb6, 0x32, 0x90, 0x1c, 0x1d, 0x81, 0x72, 0x62, 0xc9, 0xf0, 0xac,
	0x62, 0x0a, 0x50, 0x92, 0xfe, 0x29, 0xb4, 0xfa, 0xf3, 0x3f, 0xc2, 0xa3, 0x55, 0x26, 0xfa, 0x9a,
	0x6c, 0x04, 0xd9, 0x6c, 0xd4, 0xe6, 0x00, 0xe7, 0x5c, 0x2e, 0x30, 0x06, 0x02, 0x49, 0x73, 0x55,
	0x26, 0x20, 0x67, 0xf5, 0xf7, 0x25, 0x68, 0xa2, 0xfe, 0x7e, 0x31, 0xf3, 0x5e, 0x2c, 0xfa, 0x68,
	0x4e, 0x3c, 0xd7, 0x0f, 0xa5, 0xd5, 0xe6, 0xdf, 0xda, 0x4f, 0xa1, 0xc2, 0xbb, 0x5c, 0xe6, 0xd9,
	0xdf, 0x4a, 0x46, 0x4e, 0x31, 0xbd, 0x73, 0xe8, 0xce, 0x9d, 0xd0, 0xf5, 0x9d, 0xf9, 0xe9, 0xc0,
	0x9d, 0x3a, 0xa3, 0xe7, 0x06, 0xf7, 0x42, 0xb9, 0x6f, 0x65, 0x31, 0x24, 0xed, 0x03, 0xa3, 0x87,
	0x62, 0x8f, 0xd2, 0x3e, 0x38, 0x3e, 0x49, 0xcb, 0x7d, 0x8b, 0xdd, 0x01, 0x33, 0x96, 0x0b, 0xf8,
	0x39, 0xb4, 0x84, 0xad, 0x78, 0xd5, 0x25, 0xf0, 0x19, 0x26, 0x1c, 0x24, 0xdb, 0x1e, 0x54, 0x8d,
	0xc1, 0x97, 0xfd, 0x3d, 0x77, 0x3e, 0x39, 0x87, 0xdd, 0x9b, 0x50, 0xf7, 0xed, 0x99, 0x1b, 0xda,
	0x66, 0xcc, 0xb5, 0x66, 0x80, 0x00, 0x0d, 0x88, 0xf7, 0xaf, 0x2b, 0x50, 0x23, 0x3e, 0x27, 0xa1,
	0x15, 0xb2, 0xe3, 0x5b, 0x78, 0xa1, 0x33, 0x13, 0x87, 0x5d, 0x36, 0x64, 0x8b, 0xc4, 0x8e, 0xf4,
	0x8e, 0x31, 0xab, 0x8c, 0x89, 0xdb, 0xda, 0x26, 0xac, 0x2e, 0x3c, 0xde, 0xde, 0xaa, 0x81, 0xbf,
	0xc4, 0x90, 0x23, 0xd7, 0x1f, 0x9b, 0x8e, 0xf7, 0xf4, 0x63, 0x36, 0xff, 0x4d, 0x1a, 0x92, 0x40,
	0x7d, 0x84, 0xa4, 0x09, 0xee, 0xb1, 0xed, 0x57, 0x09, 0xee, 0x11, 0x81, 0xe7, 0xdb, 0x13, 0xe7,
	0x99, 0xe0, 0xb0, 0x2e, 0x08, 0x04, 0x28, 0xe2, 0x90, 0x10, 0xdc, 0x6b, 0x6f, 0x64, 0x08, 0xee,
	0xd1, 0x3a, 0x02, 0xdb, 0x77, 0x50, 0x49, 0xaa, 0xc2, 0x27, 0x89, 0x96, 0xf6, 0x3d, 0x68, 0xe2,
	0x38, 0xb6, 0xf3, 0xd4, 0x96, 0xb3, 0xab, 0xf1, 0x62, 0x1a, 0x11, 0x90, 0xb9, 0x67, 0x88, 0xee,
	0xb5, 0x21, 0x47, 0x74, 0x8f, 0x88, 0x04, 0x4f, 0x73, 0xee, 0x86, 0xce, 0xe4, 0x79, 0xbb, 0x2e,
	0x88, 0x04, 0xf0, 0x88, 0x61, 0x34, 0xcf, 0x91, 0x35, 0x3a, 0xb3, 0x4d, 0x9f, 0xcc, 0x60, 0xbb,
	0xc1, 0x24, 0xc0, 0x20, 0x36, 0x8c, 0xda, 0xdb, 0xb0, 0x19, 0x13, 0xf0, 0xb1, 0xb6, 0x9b, 0x4c,
	0xd3, 0x8c, 0x68, 0x84, 0x4f, 0xbf, 0x01, 0x75, 0x7b, 0x3e, 0x36, 0xdd, 0x89, 0x39, 0xb6, 0x42,
	0xab, 0xbd, 0xc9, 0x34, 0x35, 0x04, 0x1d, 0x4f, 0xf6, 0x11, 0xa0, 0xed, 0xc0, 0x9a, 0xed, 0xfb,
	0xae, 0xdf, 0xde, 0x62, 0x8c, 0x68, 0x68, 0x37, 0x41, 0xce, 0xc6, 0x44, 0xa1, 0xf3, 0x9f, 0xb7,
	0x5b, 0x8c, 0xac, 0x0b, 0xd8, 0x57, 0x04, 0x12, 0x47, 0x81, 0x13, 0x91, 0x14, 0xdb, 0x62, 0x82,
	0x0c, 0x62, 0x02, 0xfd, 0x1b, 0xa8, 0x18, 0xde, 0xb7, 0x8e, 0xf6, 0x03, 0xa8, 0x8c, 0x50, 0xd2,
	0xa4, 0x53, 0x54, 0x6d, 0x80, 0x94, 0x41, 0x83, 0xf1, 0xda, 0xbb, 0xb0, 0x16, 0x90, 0x24, 0xb1,
	0x94, 0xd4, 0xef, 0x5e, 0x4a, 0x13, 0xb2, 0x90, 0x19, 0x82, 0x42, 0xbf, 0x05, 0x9b, 0x18, 0xde,
	0x11, 0xf7, 0x48, 0x2b, 0x92, 0x48, 0xa2, 0xa4, 0x46, 0x12, 0xe8, 0xaa, 0xb7, 0x62, 0x4a, 0xb9,
	0x23, 0xb7, 0x60, 0x03, 0xd7, 0xf1, 0xb4, 0x30, 0x0c, 0x64, 0xc2, 0x08, 0xad, 0xff, 0x92, 0x15,
	0x52, 0x1d, 0xe6, 0xe5, 0xec, 0x07, 0x8a, 0xfe, 0xd4, 0x99, 0xd8, 0x2c, 0xfa, 0x65, 0x21, 0xfa,
	0x51, 0x5b, 0xdf, 0xe6, 0xf0, 0x4b, 0x9d, 0x98, 0xde, 0x8d, 0x74, 0xf5, 0x95, 0x47, 0x4c, 0x02,
	0xa0, 0x14, 0xe3, 0xf7, 0x23, 0xeb, 0x7e, 0x21, 0xc6, 0xc4, 0x44, 0x25, 0x97, 0x4c, 0xee, 0xc4,
	0x86, 0xff, 0x62, 0x5c, 0x30, 0x76, 0x4a, 0xd1, 0x4b, 0x36, 0xef, 0x41, 0x8b, 0xe5, 0xf7, 0x62,
	0x4c, 0xd0, 0x7c, 0x29, 0xd4, 0x49, 0x9c, 0x14, 0xc7, 0x07, 0x17, 0x63, 0x83, 0x71, 0x52, 0xa6,
	0x87, 0x64, 0xf5, 0x20, 0x5a, 0xea, 0x2f, 0xed, 0x27, 0xbe, 0x15, 0x31, 0x6a, 0x41, 0x79, 0xe1,
	0x4f, 0x25, 0x13, 0xfa, 0xc9, 0xc2, 0xee, 0x2e, 0xd0, 0x14, 0x92, 0x65, 0x0f, 0x70, 0xcb, 0xcb,
	0x6c, 0x0b, 0x09, 0x44, 0x7e, 0x97, 0x57, 0x9b, 0x62, 0x24, 0xf9, 0x6f, 0x41, 0x13, 0xc5, 0xef,
	0xb1, 0x3f, 0x89, 0xdc, 0xe7, 0x47, 0x2c, 0xb9, 0x0c, 0x90, 0xe2, 0x78, 0x13, 0x2a, 0xe8, 0xe8,
	0x22, 0x59, 0x6c, 0x26, 0xb2, 0x48, 0x44, 0x8c, 0xc2, 0x05, 0x93, 0x1b, 0x4b, 0xb8, 0xe0, 0x74,
	0xca, 0x88, 0x90, 0x1a, 0x95, 0xe9, 0x42, 0x18, 0xe9, 0x4a, 0x94, 0x61, 0x70, 0x60, 0xe9, 0x4a,
	0x5e, 0x86, 0x4d, 0xec, 0x3d, 0x54, 0x4e, 0x5d, 0xd8, 0xc1, 0x25, 0xec, 0xa3, 0xc1, 0x9c, 0xdb,
	0xe3, 0x13, 0x3b, 0xf6, 0xf7, 0xef, 0x4a, 0x6f, 0x29, 0x7c, 0xfd, 0x6e, 0xc2, 0x4e, 0x92, 0xd2,
	0x46, 0x49, 0xd7, 0xd8, 0x85, 0xdd, 0x0c, 0x8b, 0x58, 0x37, 0x2b, 0x78, 0x44, 0xd1, 0x66, 0xec,
	0xe4, 0x78, 0x10, 0x2d, 0x53, 0xe8, 0x3f, 0x83, 0x1d, 0x5c, 0x61, 0x7e, 0x16, 0x3f, 0x80, 0x32,
	0xd9, 0x4b, 0xb1, 0xa6, 0x62, 0x06, 0x44, 0x40, 0x22, 0x91, 0xe9, 0x2f, 0x97, 0x77, 0x82, 0xe1,
	0x18, 0xaf, 0xf9, 0x95, 0x79, 0x93, 0xfc, 0x58, 0xd3, 0x29, 0x2b, 0x66, 0xd5, 0xa0, 0x9f, 0x14,
	0x80, 0xe6, 0x99, 0xca, 0x01, 0xbf, 0x80, 0xb6, 0x61, 0x7b, 0x53, 0x6b, 0xf4, 0xea, 0x23, 0x52,
	0xc8, 0x5c, 0xc0, 0x43, 0x0e, 0xb0, 0xcb, 0x97, 0x61, 0x36, 0xa0, 0x74, 0xa7, 0x8d, 0x44, 0xf1,
	0x4b, 0x3e, 0x47, 0x05, 0x2c, 0xcf, 0xe0, 0x23, 0x80, 0x20, 0x02, 0x46, 0x27, 0xa1, 0x18, 0xe3,
	0xa4, 0x83, 0x42, 0xa6, 0x3f, 0xe4, 0x9b, 0x52, 0x76, 0x0c, 0xed, 0x43, 0xa8, 0xc5, 0x44, 0x72,
	0x15, 0x85, 0xac, 0x12, 0x2a, 0xfd, 0x32, 0x1f, 0x6c, 0x6e, 0x5a, 0xfa, 0xef, 0x47, 0xf7, 0xa6,
	0xd7, 0x30, 0x48, 0xc1, 0x09, 0x5d, 0x8d, 0x8e, 0x3d, 0x3f, 0xf2, 0x01, 0x5c, 0x91, 0x9b, 0xfb,
	0x3a, 0xd6, 0xd7, 0x89, 0x8f, 0x3b, 0x3f, 0x92, 0x06, 0x2d, 0x3c, 0x12, 0x19, 0x45, 0xca, 0x63,
	0x42, 0xaf, 0xa0, 0xc0, 0xe4, 0x19, 0xbd, 0x07, 0x55, 0x8f, 0x20, 0x8e, 0x1d, 0x9d, 0x50, 0x4b,
	0x89, 0x8b, 0x05, 0x6d, 0x4c, 0xa1, 0x3f, 0x83, 0x16, 0x5d, 0xf5, 0x55, 0xb6, 0xa8, 0x69, 0xeb,
	0x8c, 0x7f, 0x2e, 0xa7, 0x9d, 0xef, 0x2f, 0xf1, 0xda, 0x4f, 0xe0, 0x2a, 0x46, 0x47, 0xb6, 0x6f,
	0xda, 0xcf, 0x9c, 0x20, 0xc4, 0x58, 0xd6, 0x54, 0xc4, 0x43, 0xec, 0xe0, 0x15, 0x26, 0xe8, 0x49,
	0xfc, 0x49, 0x22, 0x16, 0x68, 0x40, 0x94, 0x91, 0xe5, 0x2a, 0xff, 0xac, 0x84, 0xae, 0x41, 0x5c,
	0xd3, 0x5f, 0x71, 0x4a, 0x1f, 0xc0, 0x25, 0x8f, 0x22, 0x0d, 0x74, 0xd3, 0xf9, 0xc9, 0x68, 0x11,
	0x2a, 0x99, 0x47, 0x74, 0xde, 0xe5, 0xe4, 0xbc, 0x51, 0xcc, 0xd2, 0x73, 0x90, 0x93, 0xfb, 0x87,
	0x12, 0xdd, 0xc2, 0xf9, 0x7c, 0xfe, 0x0f, 0x36, 0x6c, 0xd9, 0xca, 0xca, 0xcb, 0x56, 0x26, 0x52,
	0x00, 0xa9, 0xe9, 0xca, 0x85, 0x7c, 0x0d, 0x9d, 0x58, 0x6e, 0xba, 0x41, 0xe0, 0x9c, 0xce, 0x55,
	0xc1, 0xfd, 0x09, 0x80, 0x15, 0x03, 0xe5, 0x8a, 0x3a, 0xd9, 0x15, 0x29, 0xdd, 0x14, 0x6a, 0x0c,
	0xec, 0xae, 0x15, 0x72, 0x96, 0xb2, 0xf9, 0xdf, 0x61, 0x8d, 0x93, 0x8e, 0xe5, 0xe5, 0xf5, 0x4e,
	0xfa, 0x3a, 0x5c, 0x2b, 0xe4, 0x2c, 0x77, 0x6b, 0x06, 0xd7, 0x55, 0x71, 0x78, 0xad, 0x63, 0x17,
	0x58, 0x9b, 0xb7, 0xe0, 0xc6, 0xb2, 0xe1, 0xe4, 0x84, 0x7e, 0x0f, 0x6e, 0xa4, 0xce, 0xf5, 0xf5,
	0xee, 0xc6, 0x4d, 0x78, 0x73, 0x29, 0xf7, 0x94, 0x2d, 0x3a, 0xe1, 0x50, 0x38, 0xb2, 0x45, 0x9f,
	0xb3, 0x2d, 0x8a, 0x60, 0xb1, 0xcf, 0x5e, 0x3f, 0x9d, 0xba, 0x4f, 0xac, 0x69, 0x5e, 0x31, 0x1e,
	0x30, 0xdc, 0x90, 0x78, 0xf4, 0xd9, 0x1a, 0x4a, 0xae, 0x9f, 0x66, 0xfa, 0x12, 0xfd, 0xd1, 0x91,
	0xa5, 0xfa, 0x27, 0x79, 0x8a, 0x93, 0xd0, 0xf5, 0xd2, 0x53, 0xdd, 0xa1, 0xb1, 0x12, 0xa0, 0x24,
	0xfd, 0x75, 0x19, 0xef, 0xdd, 0x32, 0x7b, 0x38, 0x9f, 0xfa, 0x4e, 0x94, 0xea, 0xa4, 0xdf, 0x74,
	0x87, 0xf0, 0xac, 0x30, 0xf4, 0x45, 0x7c, 0xd7, 0x30, 0x64, 0x8b, 0x8f, 0xef, 0x34, 0x8a, 0xe0,
	0xe9, 0x27, 0xf5, 0x7e, 0x82, 0x83, 0xf0, 0x05, 0xb5, 0x6a, 0xf0, 0x6f, 0x0a, 0x11, 0x9d, 0xc0,
	0xfc, 0xce, 0x09, 0xcf, 0xc6, 0xbe, 0xf5, 0x1d, 0x5f, 0x4d, 0xab, 0x06, 0x38, 0xc1, 0xef, 0x48,
	0x08, 0xde, 0xc4, 0xe0, 0xa9, 0x35, 0x75, 0xf0, 0x1a, 0x46, 0xd9, 0xb5, 0x75, 0xce, 0xdc, 0x28,
	0x10, 0x0d, 0xc3, 0xda, 0xb9, 0x6b, 0x3a, 0x33, 0x8f, 0xac, 0x76, 0x98, 0x70, 0xda, 0x10, 0xba,
	0x3f, 0x77, 0xfb, 0x12, 0x15, 0x73, 0x4c, 0x2e, 0x3d, 0xd5, 0x54, 0xfa, 0xf4, 0x3a, 0x7a, 0x70,
	0xce, 0xa9, 0x98, 0x56, 0x30, 0xe7, 0x7b, 0x6a, 0x13, 0x3d, 0x10, 0x43, 0xba, 0xc1, 0x9c, 0x32,
	0x48, 0x12, 0xed, 0x8c, 0xf9, 0x82, 0x5a, 0x33, 0xaa, 0x02, 0xd0, 0x1f, 0xcb, 0x0c, 0x52, 0x68,
	0xfb, 0xf6, 0x98, 0xef, 0xa5, 0x55, 0x23, 0x6e, 0xd3, 0x5d, 0x11, 0x6d, 0xd2, 0xd4, 0xe6, 0xdb,
	0x68, 0xd5, 0x10, 0x0d, 0x3c, 0xbf, 0x16, 0x2e, 0x7c, 0xe2, 0xbb, 0x33, 0x34, 0x78, 0x48, 0x38,
	0xc7, 0x93, 0x6c, 0x32, 0xc1, 0xa6, 0x13, 0xdc, 0x47, 0x70, 0x4f, 0x42, 0x69, 0x8b, 0xe6, 0x32,
	0xc5, 0x85, 0xb7, 0x63, 0xbe, 0x8b, 0x62, 0x14, 0x1d, 0x81, 0xfa, 0x9e, 0xfe, 0xb7, 0x25, 0xa8,
	0xef, 0xdb, 0x64, 0x13, 0xc5, 0x96, 0xd0, 0x89, 0xf0, 0xcd, 0x5c, 0xc6, 0xe2, 0xb2, 0x95, 0xe4,
	0x84, 0x56, 0xcf, 0xc9, 0x09, 0x69, 0xef, 0xc0, 0xd6, 0xd4, 0x9d, 0x9f, 0xa2, 0x21, 0x16, 0xdd,
	0xec, 0xc8, 0x8e, 0x6e, 0x0a, 0xf0, 0x40, 0x42, 0x31, 0x72, 0x6d, 0x05, 0x67, 0x78, 0x7d, 0x52,
	0x29, 0xc5, 0xd1, 0x6e, 0x49, 0x78, 0x44, 0xaa, 0xff, 0x63, 0x09, 0xd6, 0x86, 0x14, 0xe7, 0xd3,
	0xb5, 0x56, 0x09, 0x77, 0x8b, 0x52, 0x5b, 0x8c, 0x8f, 0x13, 0xff, 0xab, 0x49, 0xe2, 0x7f, 0x69,
	0xde, 0xfb, 0xb7, 0xa0, 0x31, 0x4e, 0x96, 0x4f, 0x93, 0xa0, 0xe5, 0xa5, 0x42, 0xe9, 0x18, 0x6b,
	0xa4, 0x48, 0x39, 0xaf, 0xe1, 0x06, 0xa1, 0x29, 0x7d, 0x94, 0x14, 0x3f, 0x02, 0x09, 0x0d, 0xd7,
	0xef, 0xf1, 0x55, 0xc4, 0x70, 0x9e, 0x44, 0x7a, 0xf7, 0x36, 0xac, 0x85, 0xb4, 0x12, 0xa9, 0x76,
	0x5b, 0xc9, 0x28, 0xbc, 0x40, 0x43, 0x60, 0xf5, 0x4f, 0xc5, 0x5d, 0x9b, 0xfa, 0x49, 0x85, 0xbf,
	0x60, 0xc7, 0x29, 0x68, 0x8f, 0x85, 0x74, 0xdb, 0xca, 0xa8, 0x17, 0xdd, 0xb6, 0x65, 0xef, 0x28,
	0x89, 0x48, 0x94, 0x55, 0x91, 0x20, 0xdb, 0x90, 0x1a, 0x4d, 0x2a, 0xfc, 0x3f, 0x93, 0xc2, 0xdb,
	0xb6, 0xcf, 0x72, 0x4d, 0x1c, 0xa2, 0x88, 0xa9, 0x69, 0xc4, 0x6d, 0xed, 0xc7, 0xd0, 0xb0, 0x3c,
	0x6f, 0xfa, 0x3c, 0xda, 0x3c, 0x91, 0x80, 0x50, 0xb6, 0xbd, 0x4b, 0x58, 0xe9, 0x5f, 0xeb, 0x56,
	0xd2, 0x88, 0x73, 0x1b, 0xe5, 0x6c, 0x6e, 0x83, 0xc6, 0x54, 0x72, 0x1b, 0x9f, 0x41, 0xd3, 0x46,
	0x8c, 0x39, 0x5b, 0x4c, 0x43, 0xe7, 0xcc, 0xf5, 0xe4, 0xcb, 0xc6, 0xe5, 0xa4, 0x43, 0x0f, 0xff,
	0x1e, 0x4a, 0xac, 0xd1, 0xb0, 0x95, 0x96, 0xd6, 0x85, 0x2d, 0x71, 0xf9, 0xc4, 0x95, 0x4e, 0xed,
	0x51, 0xe8, 0xfa, 0x7c, 0xbc, 0xf5, 0xbb, 0x6d, 0x65, 0xf7, 0x88, 0xc0, 0x88, 0xf0, 0xc6, 0xa6,
	0x9f, 0x6a, 0xa3, 0x2a, 0x54, 0x9c, 0xf9, 0xc4, 0x65, 0xab, 0x93, 0x0a, 0x51, 0x69, 0x9e, 0x22,
	0xb5, 0xc2, 0x04, 0x64, 0x8c, 0x29, 0x3d, 0x81, 0x36, 0x70, 0x23, 0x6b, 0x8c, 0x87, 0x0c, 0x37,
	0x24, 0x9e, 0x42, 0xdf, 0xd0, 0xb7, 0xe6, 0x01, 0xe7, 0x20, 0xaa, 0x59, 0xbe, 0xc3, 0x08, 0x65,
	0x24, 0x54, 0xb4, 0xcf, 0x62, 0x21, 0x22, 0xc1, 0xc2, 0x96, 0x29, 0xb5, 0xcf, 0xbc, 0x0a, 0x69,
	0xb2, 0xc5, 0x85, 0x5b, 0x34, 0xf4, 0x7f, 0x45, 0xc3, 0xa0, 0x1c, 0x82, 0xf6, 0x29, 0xd4, 0x9c,
	0xb9, 0x99, 0x8a, 0xc7, 0xce, 0x73, 0x7d, 0x55, 0x67, 0x2e, 0x3b, 0xfe, 0x36, 0x1e, 0xc4, 0x33,
	0x9a, 0x4c, 0xfa, 0xac, 0xcf, 0xeb, 0xdc, 0x10, 0x1d, 0x12, 0x06, 0x68, 0xa2, 0x15, 0x06, 0xe5,
	0x17, 0x33, 0x10, 0x1d, 0xa4, 0x1e, 0xfe, 0x09, 0xd4, 0x85, 0x35, 0x39, 0x70, 0x66, 0xce, 0xd2,
	0xc4, 0x15, 0x65, 0xe0, 0x66, 0xd6, 0xb3, 0xc4, 0x1e, 0x09, 0x2d, 0xa8, 0x23, 0x2c, 0x36, 0x5b,
	0x1f, 0xc3, 0xe5, 0x40, 0xbe, 0x6a, 0x98, 0xe1, 0x19, 0x86, 0x86, 0x67, 0xee, 0x74, 0x6c, 0x7a,
	0xa3, 0x50, 0x5a, 0x95, 0x9d, 0x08, 0x3b, 0x8c, 0x90, 0x83, 0x51, 0xa8, 0xff, 0x5b, 0x05, 0xaa,
	0x91, 0x74, 0x52, 0x2a, 0xd2, 0x5a, 0x84, 0x67, 0xa6, 0x87, 0xb1, 0xc1, 0x77, 0xae, 0x3f, 0x96,
	0x76, 0xb6, 0x41, 0xc0, 0x81, 0x84, 0x69, 0x6f, 0x41, 0x1d, 0x4d, 0xcd, 0xc8, 0x77, 0xbc, 0xf8,
	0x5d, 0xa8, 0x66, 0xa8, 0x20, 0xed, 0x2a, 0x54, 0xa7, 0xee, 0xc8, 0x9a, 0xa2, 0xbf, 0x91, 0x63,
	0x6f, 0x70, 0xbb, 0xcb, 0xb6, 0x35, 0xb6, 0xf9, 0x51, 0x76, 0xa6, 0xc2, 0x1c, 0xb6, 0x22, 0x78,
	0x57, 0x26, 0xb4, 0xae, 0xc0, 0x06, 0xbd, 0x90, 0x11, 0x13, 0x91, 0xd8, 0x5d, 0xa7, 0x26, 0xf2,
	0x40, 0x7f, 0xc6, 0x88, 0x53, 0x14, 0x09, 0x8f, 0x65, 0xb8, 0x66, 0xd4, 0x08, 0xf2, 0x80, 0x00,
	0xe4, 0xcf, 0x18, 0xcd, 0x76, 0x45, 0x24, 0x74, 0xab, 0x04, 0xe0, 0x17, 0x91, 0xdb, 0xb0, 0x4d,
	0x29, 0x6b, 0x0c, 0xa7, 0x3d, 0xdf, 0x79, 0x8a, 0x82, 0x4e, 0xec, 0x85, 0xbb, 0xdc, 0x12, 0x88,
	0x81, 0x80, 0xe3, 0x38, 0xef, 0x81, 0x26, 0xe4, 0x73, 0x32, 0xb5, 0x3c, 0x73, 0x6c, 0xcd, 0x3c,
	0x0c, 0xce, 0x59, 0x4a, 0xab, 0x46, 0x8b, 0x31, 0xf7, 0x11, 0xb1, 0x2f, 0xe0, 0x94, 0x80, 0x0d,
	0x28, 0xb5, 0x3a, 0x72, 0x67, 0xb3, 0xc5, 0xdc, 0x09, 0x9f, 0xb3, 0x2f, 0x6d, 0x1a, 0x4d, 0x82,
	0xee, 0x45, 0x40, 0x9a, 0xbc, 0x4c, 0xa3, 0x8f, 0x2c, 0x0f, 0x5d, 0x2a, 0x45, 0x16, 0x35, 0x01,
	0xd9, 0xb3, 0x78, 0xf2, 0x62, 0xeb, 0x08, 0xdb, 0x60, 0xac, 0xd8, 0x4b, 0x42, 0x6e, 0xc2, 0x2a,
	0xba, 0xe8, 0x26, 0x2f, 0x18, 0x7f, 0x61, 0xc8, 0xd7, 0x94, 0xc9, 0xeb, 0x29, 0x09, 0x4f, 0x80,
	0x2e, 0x34, 0xe3, 0x20, 0x14, 0xd1, 0x32, 0x1a, 0x5e, 0xd2, 0x08, 0xe8, 0xa8, 0xe5, 0x19, 0xc9,
	0x53, 0xd8, 0x12, 0x47, 0x2d, 0x0e, 0x4a, 0x1e, 0xc1, 0xfb, 0xa0, 0x25, 0x1e, 0x9a, 0x1e, 0x87,
	0x26, 0x18, 0x22, 0x72, 0xf6, 0xb7, 0x66, 0x6c, 0xc7, 0x8e, 0x3a, 0x42, 0xe8, 0x5f, 0x42, 0x43,
	0xb5, 0x5b, 0x94, 0x81, 0xb3, 0x39, 0x0b, 0x26, 0x04, 0xa9, 0x6a, 0x44, 0x4d, 0x16, 0x67, 0x49,
	0x65, 0x86, 0xe1, 0x34, 0x16, 0x67, 0x09, 0x1b, 0x86, 0x53, 0xfd, 0xcf, 0x4b, 0xb0, 0x99, 0x36,
	0x63, 0x24, 0xe1, 0x19, 0xcb, 0x67, 0x8e, 0xd0, 0x62, 0xcb, 0x70, 0xb7, 0x6a, 0xec, 0xa4, 0xcd,
	0xdc, 0x1e, 0xe3, 0xd0, 0xd8, 0x76, 0xf2, 0xbd, 0x16, 0x01, 0xb9, 0xf7, 0xf8, 0x71, 0xe9, 0x4a,
	0xb6, 0x27, 0xe3, 0xfb, 0x63, 0xfd, 0x3f, 0xd6, 0xa0, 0x16, 0x1b, 0xc5, 0xff, 0x05, 0xfd, 0xb8,
	0x03, 0xd5, 0x19, 0xee, 0x3c, 0x46, 0x95, 0x81, 0x74, 0x0a, 0x8a, 0x17, 0x39, 0x94, 0x18, 0x23,
	0xa6, 0x29, 0xd4, 0xa7, 0xb5, 0x17, 0xea, 0xd3, 0xfa, 0x39, 0xfa, 0xb4, 0x71, 0xae, 0x3e, 0x55,
	0x33, 0xfa, 0x84, 0x0e, 0x02, 0x1d, 0x39, 0xba, 0x72, 0x69, 0xbd, 0x15, 0x07, 0xf1, 0x15, 0xc3,
	0x0d, 0x89, 0x2f, 0xd6, 0x3c, 0x78, 0x19, 0xcd, 0xab, 0x5f, 0x58, 0xf3, 0x1a, 0x45, 0x9a, 0xc7,
	0xef, 0x2c, 0x68, 0x86, 0xdd, 0xb9, 0xb8, 0x4a, 0xb3, 0x22, 0x35, 0xe9, 0x9d, 0x85, 0x81, 0xe2,
	0x84, 0x3f, 0x41, 0x23, 0xba, 0xf0, 0xc8, 0x3e, 0xdb, 0x63, 0xd2, 0x41, 0xeb, 0x09, 0xc6, 0x04,
	0x21, 0x45, 0x09, 0x9b, 0x9c, 0xe4, 0xdd, 0x8d, 0xb1, 0x7b, 0x0a, 0x92, 0xf6, 0x88, 0xfc, 0xb9,
	0xe0, 0x2b, 0x34, 0xa9, 0x8a, 0x00, 0xc1, 0x13, 0x63, 0x31, 0x6b, 0x3c, 0x73, 0xa2, 0x61, 0x85,
	0xfa, 0x00, 0x83, 0x04, 0x41, 0x87, 0x9e, 0x46, 0xc5, 0x8b, 0x10, 0x3f, 0x9c, 0x34, 0x8d, 0xb8,
	0x4d, 0x38, 0x6b, 0x34, 0xb2, 0x3d, 0x1c, 0xb1, 0xad, 0x09, 0x5c, 0xd4, 0xa6, 0x2b, 0x84, 0x35,
	0x46, 0x7f, 0x18, 0x3a, 0x01, 0x62, 0x2f, 0x89, 0xb7, 0xab, 0x04, 0xa2, 0x5d, 0x82, 0x35, 0xdc,
	0x2b, 0xf3, 0x57, 0xed, 0x1d, 0xf1, 0x26, 0x80, 0x8d, 0xaf, 0x28, 0x6a, 0x9f, 0x4c, 0x5d, 0x2f,
	0x68, 0xef, 0x32, 0x50, 0x34, 0xf4, 0x3f, 0x84, 0x6a, 0x24, 0x5d, 0xa8, 0xf5, 0xc9, 0x74, 0x84,
	0x33, 0xdd, 0xce, 0xc9, 0xa0, 0x32, 0xc3, 0xb7, 0x29, 0x49, 0x3b, 0x0f, 0xa5, 0xeb, 0x2c, 0x20,
	0x65, 0xb4, 0xfe, 0x2f, 0x25, 0xd8, 0x90, 0x10, 0x4d, 0x87, 0xc6, 0xd1, 0xf1, 0xb0, 0x7f, 0xbf,
	0xbf, 0xd7, 0x1d, 0xf6, 0x8f, 0x8f, 0x78, 0x94, 0x8a, 0xd1, 0x98, 0x2b, 0x30, 0xf2, 0x84, 0x8f,
	0x06, 0xfb, 0xdd, 0x61, 0x8f, 0x19, 0x57, 0x8c, 0xf5, 0x05, 0xb7, 0x28, 0x80, 0x3e, 0x1e, 0xf4,
	0x8e, 0xe4, 0x9b, 0x75, 0xc5, 0xc5, 0xdf, 0xda, 0x1b, 0x50, 0xfb, 0xb2, 0xd7, 0x1b, 0x74, 0x0f,
	0xfa, 0x8f, 0x7b, 0xac, 0x36, 0x15, 0xa3, 0xf6, 0x6d, 0x04, 0x20, 0x33, 0x64, 0xf4, 0xee, 0x1b,
	0xbd, 0x93, 0x87, 0xac, 0x1a, 0x15, 0x63, 0xc3, 0x17, 0x4d, 0xea, 0xb7, 0xdf, 0x3f, 0xd9, 0xeb,
	0x1a, 0xfb, 0xbd, 0x7d, 0x56, 0x0a, 0xec, 0x37, 0x8e, 0x00, 0xb4, 0x53, 0xc3, 0xe3, 0x61, 0xf7,
	0x80, 0x55, 0xa2, 0x82, 0x71, 0x2c, 0x35, 0x30, 0x70, 0x5e, 0x17, 0x92, 0x4d, 0x78, 0x67, 0xee,
	0x2d, 0x42, 0xe9, 0xaa, 0x45, 0x83, 0xe6, 0x8d, 0xfb, 0x4c, 0x60, 0x19, 0xa9, 0x8a, 0x96, 0x6e,
	0xc3, 0xba, 0x08, 0x99, 0x50, 0xc7, 0xd7, 0x29, 0x0a, 0x74, 0x4e, 0xe5, 0xee, 0x5e, 0xce, 0x06,
	0x55, 0x7b, 0x8c, 0x35, 0x24, 0x95, 0xf6, 0xc3, 0xf4, 0x4b, 0xd8, 0x6e, 0x96, 0x3c, 0xf5, 0x16,
	0x86, 0xdb, 0xdc, 0x50, 0xb9, 0x90, 0xd8, 0x23, 0x9f, 0x39, 0xda, 0x35, 0x34, 0x80, 0xa1, 0xff,
	0x3c, 0xda, 0x6c, 0x09, 0x34, 0x08, 0x46, 0xf2, 0xcb, 0xd1, 0x42, 0xfc, 0x2c, 0x5b, 0x31, 0xaa,
	0x04, 0x20, 0x4e, 0xe4, 0x05, 0xbe, 0xb5, 0x6d, 0x0f, 0xc3, 0x69, 0x54, 0xde, 0xcc, 0x37, 0x03,
	0xdb, 0x31, 0xa6, 0x2f, 0x11, 0xda, 0x3e, 0xdc, 0x40, 0xc9, 0x76, 0x66, 0x8b, 0x99, 0x19, 0xcb,
	0x22, 0x05, 0x3e, 0x49, 0x57, 0x71, 0x42, 0x6f, 0x48, 0xaa, 0xae, 0x4a, 0x14, 0x71, 0xd1, 0x7f,
	0xb3, 0x0a, 0x75, 0x65, 0x79, 0xff, 0x4f, 0x97, 0xc1, 0xb7, 0x78, 0xfb, 0xd4, 0x0d, 0x1d, 0x8b,
	0x0c, 0x4a, 0x32, 0x39, 0x21, 0x88, 0x5a, 0x82, 0x7b, 0x18, 0x4d, 0x33, 0x79, 0x38, 0x5f, 0x97,
	0x72, 0x9f, 0x7f, 0x38, 0x17, 0x02, 0x19, 0xb7, 0xf5, 0xff, 0x2c, 0x41, 0x2d, 0x0e, 0xb1, 0xf3,
	0xae, 0xbd, 0x54, 0xe0, 0xda, 0xd1, 0xe8, 0x0b, 0x22, 0xe5, 0xd1, 0x50, 0x84, 0x1e, 0x03, 0xc9,
	0x63, 0x16, 0x2e, 0xcc, 0xb1, 0x13, 0x8c, 0xd0, 0x32, 0xfb, 0xcf, 0xe5, 0x55, 0xb9, 0x81, 0xc0,
	0xfd, 0x08, 0x46, 0x5e, 0x9c, 0x3c, 0x21, 0xed, 0xe7, 0xcc, 0x1d, 0xdb, 0xf2, 0x92, 0x5c, 0x97,
	0xb0, 0x43, 0x04, 0x91, 0x6d, 0x96, 0xe1, 0x4e, 0xda, 0x3b, 0x35, 0x05, 0xb4, 0x5b, 0xfc, 0x71,
	0xc1, 0x7a, 0xf4, 0x90, 0x1f, 0x7d, 0x5c, 0x40, 0xce, 0x2b, 0x1c, 0xe1, 0x85, 0x29, 0x08, 0x64,
	0x48, 0xb7, 0x8e, 0xcd, 0xc3, 0x20, 0xd0, 0x3f, 0x87, 0xba, 0x72, 0x4d, 0x40, 0xdd, 0xba, 0xa4,
	0xde, 0x29, 0xd2, 0xf1, 0xc1, 0xb6, 0x72, 0x87, 0x10, 0xc1, 0x81, 0xbe, 0x80, 0x75, 0x11, 0x23,
	0x91, 0xec, 0x38, 0x9e, 0x99, 0xca, 0x2f, 0x54, 0x1d, 0x4f, 0x22, 0x7f, 0x00, 0x5b, 0x33, 0x2b,
	0xf8, 0xd6, 0x9c, 0xda, 0xf3, 0x53, 0xf4, 0xff, 0x78, 0xe4, 0x72, 0xcb, 0x9a, 0x04, 0x3e, 0x60,
	0xe8, 0xa1, 0x33, 0xcf, 0xd1, 0x59, 0xcf, 0xa4, 0x83, 0x57, 0xe9, 0xac, 0x67, 0xfa, 0x5f, 0x97,
	0x00, 0x92, 0xa7, 0x99, 0x97, 0x78, 0x2b, 0x2b, 0xcc, 0x1f, 0x20, 0x6c, 0xea, 0x04, 0x21, 0x7f,
	0x12, 0x83, 0x30, 0xfa, 0xcd, 0x4f, 0x02, 0x49, 0xf2, 0x22, 0xfb, 0x24, 0xc0, 0x18, 0x23, 0xa6,
	0xd0, 0x1f, 0xa0, 0xf9, 0xb7, 0xc2, 0xd1, 0x19, 0x4d, 0xe6, 0x9d, 0xd4, 0x64, 0x94, 0x4b, 0x1c,
	0x53, 0x9c, 0x3f, 0x15, 0xfd, 0x31, 0x34, 0xba, 0x01, 0x65, 0x5d, 0xc4, 0x5a, 0xf1, 0x3c, 0x54,
	0x66, 0xca, 0xb5, 0x48, 0xa5, 0x52, 0x78, 0xa2, 0xf4, 0x8b, 0xbd, 0x8b, 0xac, 0xa7, 0x68, 0xe9,
	0x7f, 0x57, 0x01, 0x40, 0x83, 0x36, 0x76, 0x44, 0x7a, 0xe3, 0x43, 0x90, 0xdf, 0x68, 0x98, 0xc9,
	0x7b, 0x98, 0x96, 0x99, 0x29, 0xbd, 0x79, 0xd5, 0x04, 0x15, 0x2d, 0xeb, 0x13, 0x68, 0xc4, 0x91,
	0x12, 0x75, 0x5a, 0x5d, 0xda, 0x29, 0xce, 0x4a, 0x51, 0xb7, 0x9f, 0xc2, 0xa6, 0x15, 0x98, 0x94,
	0x41, 0x92, 0x87, 0x2a, 0x6f, 0x78, 0x97, 0x8b, 0x97, 0x82, 0xb1, 0xa0, 0xba, 0xfc, 0xbb, 0xe8,
	0xfa, 0x65, 0x6f, 0x1a, 0xb3, 0xb2, 0x7c, 0xa2, 0xa2, 0x1b, 0x8d, 0xf8, 0x29, 0x59, 0x3a, 0x19,
	0xb4, 0x70, 0xaf, 0xb5, 0xa5, 0xbd, 0x1a, 0x31, 0x21, 0x75, 0xfc, 0x19, 0x6c, 0xdb, 0xcf, 0x42,
	0x33, 0xdd, 0x79, 0x7d, 0x69, 0xe7, 0x2d, 0x24, 0xde, 0x53, 0xfb, 0x93, 0x12, 0x7a, 0xdf, 0x3a,
	0xf4, 0x05, 0x09, 0xc6, 0xe1, 0xac, 0x67, 0x6b, 0xa8, 0x84, 0xe2, 0x81, 0x1c, 0x21, 0xda, 0xe7,
	0x00, 0xc9, 0xb3, 0x37, 0x87, 0x82, 0x9b, 0x77, 0x6f, 0x24, 0x9c, 0x93, 0xf3, 0x11, 0x37, 0x77,
	0x3e, 0xd6, 0x5a, 0xfc, 0x2a, 0xae, 0x9f, 0x41, 0x2d, 0x86, 0x63, 0x6c, 0xb2, 0x65, 0x1c, 0x3f,
	0x1a, 0xf6, 0xcc, 0xe1, 0x37, 0x83, 0x9e, 0x79, 0x74, 0x7c, 0x44, 0x9f, 0x41, 0x5d, 0x81, 0x4b,
	0x0a, 0xb0, 0x7f, 0x34, 0xec, 0x19, 0x47, 0xdd, 0x83, 0x56, 0x29, 0x83, 0xe8, 0x7d, 0x2d, 0x11,
	0xab, 0xe8, 0x83, 0x5b, 0x0a, 0xe2, 0xe0, 0x78, 0x0f, 0xa1, 0x65, 0x7d, 0x02, 0x5b, 0xf1, 0xca,
	0xba, 0xe2, 0x03, 0xc3, 0x0f, 0x53, 0x82, 0x78, 0x5d, 0x9d, 0x75, 0x8a, 0x50, 0x91, 0x45, 0x0c,
	0xe4, 0xa3, 0xbd, 0x74, 0xe2, 0x57, 0x7e, 0x15, 0xa4, 0x1f, 0x41, 0xed, 0xd0, 0x1e, 0xcb, 0x11,
	0x7e, 0x98, 0x1a, 0xe1, 0x8a, 0x1a, 0x07, 0x8d, 0x73, 0xbc, 0x31, 0x76, 0x40, 0xf7, 0xb0, 0x88,
	0xbe, 0x81, 0x12, 0x0d, 0xdd, 0x84, 0x2d, 0x14, 0x26, 0xdf, 0xf6, 0x30, 0x70, 0x95, 0x5c, 0x29,
	0xdb, 0x1c, 0xcc, 0x65, 0x88, 0x41, 0x3f, 0x49, 0x45, 0x88, 0xc2, 0x8a, 0x03, 0x0c, 0xd1, 0xc2,
	0xa0, 0xaa, 0xb9, 0x08, 0x6c, 0x94, 0xd2, 0x49, 0x88, 0xe6, 0x38, 0x08, 0xa5, 0xc9, 0xae, 0x23,
	0xf0, 0x00, 0x61, 0x87, 0x2e, 0x67, 0xec, 0x9b, 0x47, 0x78, 0xec, 0x78, 0xc5, 0x92, 0xec, 0xcf,
	0xfd, 0x9e, 0x24, 0xb0, 0xa7, 0x13, 0xf9, 0x4c, 0xc1, 0xbf, 0xf5, 0x77, 0x60, 0xeb, 0x80, 0x5d,
	0x04, 0x6a, 0x95, 0x64, 0x10, 0x2f, 0x44, 0x06, 0x41, 0x62, 0x21, 0x7f, 0x51, 0x86, 0x0d, 0x41,
	0x10, 0x24, 0x69, 0x1e, 0x4b, 0x7c, 0x48, 0x9a, 0x33, 0x72, 0x2c, 0x14, 0x82, 0x5a, 0xa6, 0x79,
	0x24, 0xef, 0x4f, 0xa1, 0x96, 0xc4, 0xf4, 0x42, 0x5f, 0xaf, 0x2e, 0x3d, 0x38, 0x23, 0xa1, 0x45,
	0xaf, 0x53, 0x9e, 0x61, 0xf0, 0x5a, 0xce, 0xa6, 0xa1, 0xe2, 0x93, 0x30, 0x08, 0x8f, 0x33, 0x03,
	0xd2, 0x4e, 0xb1, 0xdf, 0x52, 0x39, 0xaf, 0xa6, 0xf4, 0x5a, 0x3d, 0x0a, 0xd6, 0x51, 0x01, 0x40,
	0x55, 0x6b, 0xa6, 0x54, 0x4d, 0xea, 0xe8, 0x39, 0xb3, 0x6b, 0xa8, 0xda, 0x86, 0xd2, 0xb8, 0x31,
	0x17, 0xe7, 0x20, 0x15, 0x54, 0x11, 0x97, 0xd4, 0x01, 0x19, 0x11, 0x1d, 0x4d, 0x56, 0x3a, 0x6c,
	0xdc, 0x7c, 0x99, 0x8e, 0x53, 0xc6, 0xcb, 0x9c, 0x4b, 0xe4, 0xcb, 0x11, 0x40, 0x0f, 0xac, 0xb5,
	0xf8, 0x89, 0x30, 0xb6, 0xda, 0x25, 0xc5, 0x81, 0x7c, 0x0c, 0x30, 0x8a, 0x95, 0x57, 0xee, 0xf4,
	0x4e, 0x91, 0x62, 0x1b, 0x0a, 0x1d, 0x0a, 0xfc, 0x86, 0x38, 0xd2, 0x40, 0xee, 0xb4, 0x12, 0xfb,
	0xcb, 0xc3, 0x37, 0x22, 0x0a, 0xfd, 0x2b, 0x74, 0xb4, 0x22, 0x65, 0x56, 0x34, 0x81, 0xf4, 0x47,
	0x06, 0xab, 0x17, 0xfb, 0xc8, 0xe0, 0xdf, 0x4b, 0xd0, 0xca, 0x66, 0xd7, 0xe8, 0x93, 0x11, 0x45,
	0x0b, 0x77, 0xb2, 0x79, 0x38, 0x45, 0x05, 0xd5, 0x0f, 0x52, 0x57, 0x2f, 0xf0, 0x41, 0x6a, 0xc1,
	0x27, 0xfb, 0xa9, 0x87, 0xf7, 0xca, 0x8b, 0x1e, 0xde, 0xb5, 0x0f, 0x60, 0x63, 0x6c, 0x4f, 0x2c,
	0x32, 0xae, 0x6b, 0xe7, 0x29, 0x41, 0x44, 0xa5, 0xff, 0x65, 0x09, 0xca, 0x86, 0x6b, 0x51, 0xe2,
	0xc7, 0x0a, 0xa4, 0x86, 0xe1, 0x2f, 0xba, 0xb7, 0x08, 0xc7, 0x86, 0x2e, 0x29, 0x8a, 0xdd, 0x62,
	0x00, 0x19, 0x08, 0x0c, 0x3c, 0x08, 0x25, 0x9f, 0x13, 0x44, 0x4b, 0xc9, 0x95, 0x57, 0x52, 0xcf,
	0x27, 0x51, 0xd6, 0x7a, 0xed, 0xfc, 0x2f, 0xf2, 0x50, 0xfb, 0xf9, 0xc9, 0xc0, 0xb5, 0x5e, 0xf4,
	0x95, 0x9d, 0xf8, 0xaa, 0x89, 0x09, 0x93, 0xaf, 0x9a, 0x7c, 0xd7, 0x2a, 0xf8, 0xaa, 0x89, 0x88,
	0x18, 0xa5, 0x8f, 0xa0, 0xfc, 0xd8, 0x9f, 0x14, 0x4a, 0x07, 0x2e, 0xdf, 0x17, 0x99, 0x9a, 0x86,
	0x81, 0xbf, 0x38, 0x54, 0x13, 0x49, 0x57, 0x5f, 0x04, 0x3d, 0x0d, 0x0c, 0xd5, 0x18, 0x60, 0xf0,
	0x07, 0xd1, 0x32, 0xa5, 0xeb, 0x87, 0x7c, 0x26, 0x88, 0x14, 0x00, 0x23, 0xd4, 0xff, 0x66, 0x15,
	0xd6, 0xc5, 0x2b, 0x62, 0x6e, 0x4f, 0xb1, 0x1f, 0xdb, 0x1e, 0x25, 0x2b, 0x54, 0x15, 0x80, 0xfe,
	0x98, 0x5c, 0x23, 0x45, 0x55, 0xf6, 0x5c, 0xc4, 0xa7, 0x65, 0xe1, 0x1a, 0x05, 0x88, 0xe3, 0xd3,
	0x77, 0xa1, 0x25, 0x09, 0xa4, 0xfd, 0x94, 0x02, 0x51, 0x33, 0xb6, 0x04, 0xbc, 0x1b, 0x81, 0x53,
	0x4f, 0x0f, 0x6b, 0x99, 0xa7, 0x87, 0xef, 0xc3, 0xe6, 0xcc, 0x9b, 0x06, 0xe6, 0xd4, 0x7a, 0x62,
	0x4f, 0x39, 0xcc, 0x14, 0xa1, 0x70, 0x83, 0xa0, 0x07, 0x04, 0xa4, 0x28, 0x33, 0x43, 0x85, 0x41,
	0xe6, 0x46, 0x96, 0xca, 0x7a, 0x46, 0x49, 0x14, 0xf2, 0x07, 0x9c, 0x53, 0xf3, 0xa6, 0xb6, 0x29,
	0x9e, 0xc8, 0xaa, 0x22, 0x89, 0x82, 0x98, 0x43, 0x89, 0xa0, 0xb8, 0x23, 0xb8, 0xbd, 0x07, 0xd5,
	0x48, 0xe6, 0x35, 0xc0, 0x4d, 0x3a, 0x38, 0xfe, 0x02, 0x5d, 0xe9, 0x8a, 0x56, 0x83, 0x35, 0xe1,
	0x55, 0x4b, 0x04, 0xee, 0xee, 0xff, 0x02, 0xdd, 0x32, 0xfa, 0xdd, 0x3a, 0xda, 0x77, 0xfc, 0x4d,
	0xdf, 0xea, 0x97, 0xe9, 0x33, 0xe6, 0xc7, 0xc6, 0xfd, 0x56, 0xe5, 0xb6, 0x49, 0xef, 0x75, 0x71,
	0xc4, 0x4a, 0x1d, 0x06, 0x78, 0xf3, 0xee, 0x7f, 0x8d, 0x7c, 0x1a, 0x50, 0x3d, 0xea, 0xf5, 0x1f,
	0x3c, 0xfc, 0xe2, 0xd8, 0x40, 0x56, 0xd8, 0x63, 0xd8, 0x7d, 0x20, 0xf9, 0x9c, 0x98, 0x83, 0xee,
	0xf0, 0x21, 0xf2, 0x69, 0x42, 0x6d, 0xef, 0xf8, 0xf0, 0xf0, 0xd1, 0x51, 0x7f, 0xf8, 0x4d, 0xab,
	0xa2, 0x6d, 0x43, 0x13, 0x3d, 0xbd, 0x99, 0x80, 0xd6, 0x6e, 0xbf, 0x8b, 0x0e, 0x37, 0x8a, 0x42,
	0x89, 0x49, 0xf7, 0xe8, 0x1b, 0x51, 0x34, 0xd0, 0x3d, 0x90, 0x33, 0xec, 0x1f, 0x3d, 0xee, 0x19,
	0xc3, 0xd6, 0xea, 0xed, 0xdb, 0xd0, 0xca, 0xc6, 0x98, 0x54, 0x65, 0xd0, 0xfb, 0x0a, 0x3b, 0xe0,
	0xdf, 0x07, 0x3d, 0xa4, 0xc7, 0xbf, 0x07, 0x3d, 0xa4, 0xfd, 0x40, 0x5e, 0x22, 0xa4, 0xdf, 0xa9,
	0x42, 0x45, 0x06, 0x24, 0xb4, 0xe4, 0xbd, 0xbd, 0xde, 0x60, 0x28, 0x98, 0x1b, 0xbd, 0x5f, 0xf4,
	0xf6, 0x88, 0xf9, 0x23, 0xb8, 0x54, 0x10, 0x37, 0xd0, 0x8c, 0xe3, 0xd9, 0x9a, 0xdd, 0xfd, 0x7d,
	0xe4, 0x80, 0x01, 0x4a, 0x02, 0x32, 0x7a, 0x87, 0xc7, 0x8f, 0x69, 0xe0, 0x5d, 0xd8, 0x56, 0xa1,
	0x83, 0x83, 0xee, 0x1e, 0xcd, 0xe3, 0x7d, 0x68, 0xa6, 0x82, 0x05, 0xda, 0x9e, 0xc3, 0xde, 0xbe,
	0x79, 0x78, 0x4c, 0xac, 0xb6, 0xa0, 0x4e, 0x8d, 0x88, 0xbc, 0x74, 0xfb, 0x3d, 0x80, 0xc4, 0xaa,
	0xc5, 0x25, 0x14, 0xb4, 0x09, 0x87, 0x83, 0x63, 0x43, 0xce, 0xb9, 0xf7, 0x35, 0xff, 0x5e, 0xbd,
	0xfb, 0x57, 0x6f, 0x42, 0xf5, 0x01, 0xe9, 0x5d, 0xd7, 0x73, 0xb4, 0x03, 0xa8, 0x2b, 0x6f, 0xe7,
	0xda, 0x1b, 0x29, 0x5b, 0x9b, 0x79, 0x92, 0xef, 0x5c, 0x5f, 0x82, 0x95, 0x8f, 0x6a, 0x2b, 0x5a,
	0x1f, 0x20, 0x79, 0x5d, 0xd7, 0xae, 0xa9, 0xe4, 0x99, 0x87, 0xf8, 0xce, 0x1b, 0xc5, 0xc8, 0x98,
	0xd5, 0x7d, 0xa8, 0xc5, 0xdf, 0x14, 0x68, 0xca, 0x7d, 0x21, 0xfb, 0xf1, 0x41, 0xe7, 0x5a, 0x21,
	0x2e, 0xe6, 0x83, 0x0b, 0x54, 0x6a, 0x75, 0xd4, 0x05, 0xe6, 0x8b, 0x7f, 0xd4, 0x05, 0x16, 0x15,
	0xf8, 0xac, 0x68, 0x8f, 0x60, 0x33, 0x5d, 0xa5, 0xa3, 0xbd, 0xa9, 0x5e, 0xd2, 0x0a, 0x8a, 0x7f,
	0x3a, 0x6f, 0x2d, 0x27, 0x50, 0x27, 0xa9, 0xd4, 0xa5, 0xa9, 0x93, 0xcc, 0x17, 0xb1, 0xa9, 0x93,
	0x2c, 0x28, 0x66, 0x43, 0x6e, 0x06, 0x34, 0x53, 0x45, 0x32, 0xda, 0x8d, 0x94, 0x3f, 0xcb, 0x73,
	0x7c, 0x73, 0x29, 0x3e, 0xe6, 0xf9, 0x07, 0xb0, 0x9d, 0x2b, 0xbe, 0xd1, 0xf4, 0x17, 0x17, 0x01,
	0x75, 0xbe, 0x77, 0x2e, 0x4d, 0xcc, 0xff, 0x77, 0xa1, 0x95, 0x2d, 0xc5, 0xd1, 0x6e, 0x2a, 0x5d,
	0x8b, 0x6b, 0x7b, 0x3a, 0xfa, 0x79, 0x24, 0xea, 0xa9, 0xa5, 0x0b, 0x73, 0xd4, 0x53, 0x2b, 0xac,
	0xf2, 0x51, 0x4f, 0x6d, 0x49, 0x4d, 0xcf, 0x8a, 0xf6, 0x35, 0x6c, 0x65, 0x2a, 0x74, 0x34, 0xf5,
	0xb0, 0x0b, 0x0b, 0x7e, 0x3a, 0x37, 0xcf, 0xa1, 0x88, 0x39, 0x7f, 0x8e, 0x86, 0x97, 0x1f, 0xd7,
	0xb5, 0x2b, 0xa9, 0xc3, 0x4e, 0x1e, 0xcc, 0x3b, 0xed, 0x3c, 0x42, 0x15, 0x27, 0xe5, 0xd1, 0x5b,
	0x15, 0xa7, 0xfc, 0xcb, 0xbb, 0x2a, 0x4e, 0x45, 0x2f, 0xe5, 0x2b, 0xda, 0xcf, 0xd1, 0x34, 0x8b,
	0x8a, 0x40, 0xad, 0x9d, 0xd2, 0x0f, 0xa5, 0xf2, 0xaf, 0x73, 0xb5, 0x00, 0xa3, 0x9a, 0x85, 0xa4,
	0xfe, 0x4e, 0x35, 0x0b, 0xb9, 0x0a, 0x42, 0xd5, 0x2c, 0x14, 0x94, 0xec, 0xad, 0x50, 0xf4, 0x2b,
	0xab, 0x67, 0x68, 0x65, 0xd9, 0x6f, 0x0c, 0x3a, 0xc5, 0xdf, 0x44, 0xe8, 0x2b, 0x3f, 0x2a, 0x69,
	0x9f, 0xc5, 0x75, 0x37, 0xc9, 0x3b, 0x8e, 0x12, 0x5a, 0xc6, 0xa5, 0x9d, 0x9d, 0x4c, 0x7d, 0x1e,
	0x77, 0x46, 0x6b, 0x14, 0x17, 0x42, 0xa9, 0xd6, 0x28, 0x5b, 0x86, 0xa5, 0x5a, 0xa3, 0x7c, 0xe5,
	0x94, 0xd8, 0x89, 0xb8, 0x4c, 0x2a, 0xb5, 0x13, 0xd9, 0x8a, 0xaa, 0xd4, 0x4e, 0xe4, 0x2b, 0xab,
	0x56, 0xb4, 0x87, 0x50, 0x8b, 0x4b, 0x9b, 0xd4, 0x29, 0x65, 0x0b, 0xae, 0xd4, 0x29, 0xe5, 0x6b,
	0xa1, 0x56, 0x6e, 0x95, 0x48, 0xda, 0x44, 0x81, 0x91, 0x2a, 0x6d, 0xa9, 0x5a, 0xa6, 0x4e, 0x3b,
	0x8f, 0x50, 0x2d, 0x75, 0x5c, 0x4b, 0xa4, 0x4e, 0x24, 0x5b, 0xa2, 0xd4, 0xb9, 0x56, 0x88, 0x53,
	0xe5, 0x4c, 0xd6, 0x64, 0x68, 0x19, 0xe1, 0x4e, 0x3e, 0xe6, 0x57, 0xe5, 0x2c, 0x53, 0xc0, 0x11,
	0x4b, 0x6a, 0x96, 0x43, 0xba, 0x56, 0x23, 0x23, 0xa9, 0x19, 0x0e, 0xb1, 0xa4, 0x32, 0x93, 0xdc,
	0x84, 0x55, 0x3e, 0x6f, 0x14, 0x23, 0x55, 0x56, 0x49, 0xb9, 0x84, 0x96, 0x93, 0x8b, 0x25, 0xac,
	0x0a, 0x2a, 0x2c, 0x58, 0x9f, 0x95, 0x9a, 0x09, 0x2d, 0x2f, 0x19, 0x2a, 0xb3, 0xeb, 0x4b, 0xb0,
	0xea, 0x79, 0xc5, 0x15, 0x0f, 0xea, 0x79, 0x65, 0x0b, 0x27, 0xd4, 0xf3, 0xca, 0x97, 0x48, 0xb0,
	0x9b, 0x49, 0x55, 0x4f, 0xa8, 0x6e, 0xa6, 0xa8, 0x10, 0x43, 0x75, 0x33, 0xc5, 0x65, 0x17, 0xb1,
	0xe1, 0xc3, 0xab, 0x4e, 0xc6, 0xf0, 0xc5, 0x97, 0x8d, 0xac, 0xe1, 0x4b, 0x2e, 0x17, 0x62, 0xa3,
	0x94, 0x72, 0x0b, 0x2d, 0xb7, 0xaf, 0x6a, 0x39, 0x87, 0xba, 0x51, 0x45, 0x35, 0x1a, 0x2b, 0x52,
	0x2f, 0xe8, 0x32, 0x92, 0xd6, 0x8b, 0xa4, 0x54, 0x22, 0xa3, 0x17, 0x6a, 0x39, 0x84, 0xa2, 0x17,
	0xc4, 0x21, 0xa7, 0x17, 0x0a, 0x93, 0x6b, 0x85, 0xb8, 0xcc, 0x9e, 0x64, 0xa6, 0x91, 0x2a, 0x1f,
	0xc9, 0xec, 0x49, 0xba, 0xbb, 0xc1, 0xb7, 0x35, 0x25, 0xc9, 0x7c, 0x23, 0x45, 0x9c, 0x2b, 0x2e,
	0x50, 0x8f, 0xa9, 0xb0, 0x1a, 0x43, 0xf0, 0x4c, 0x55, 0x49, 0xa8, 0x3c, 0x8b, 0xca, 0x2f, 0x54,
	0x9e, 0xc5, 0xe5, 0x15, 0x1c, 0x01, 0x64, 0x6b, 0x21, 0xd4, 0x08, 0x60, 0x49, 0xf1, 0x85, 0x1a,
	0x01, 0x2c, 0x2d, 0xa5, 0xe0, 0xf0, 0x25, 0x57, 0x08, 0xa1, 0x86, 0x2f, 0xcb, 0x2a, 0x2d, 0xd4,
	0xf0, 0x65, 0x79, 0x25, 0xc5, 0x8a, 0x76, 0x0c, 0x0d, 0xb5, 0x68, 0x42, 0x4b, 0xc7, 0x68, 0xd9,
	0xfa, 0x80, 0xce, 0x8d, 0x65, 0x68, 0x95, 0xa1, 0x5a, 0xee, 0xa0, 0xa5, 0x23, 0xd3, 0xf3, 0x18,
	0x16, 0x56, 0x49, 0x88, 0x60, 0x25, 0x5d, 0xc8, 0xa0, 0xe5, 0x22, 0xd3, 0x1c, 0xdb, 0x9b, 0xe7,
	0x50, 0xa8, 0x07, 0x97, 0xad, 0x5c, 0x50, 0x0f, 0x6e, 0x49, 0x8d, 0x44, 0x47, 0x3f, 0x8f, 0x24,
	0x73, 0x0d, 0x90, 0x19, 0xa3, 0xf4, 0x35, 0x20, 0xf5, 0x1d, 0x7e, 0xe6, 0x1a, 0x90, 0xf9, 0xe8,
	0x9d, 0xf9, 0xc4, 0xdf, 0x79, 0xab, 0x7c, 0xb2, 0x05, 0x10, 0x2a, 0x9f, 0x7c, 0x89, 0x02, 0x9f,
	0x8b, 0xfa, 0x85, 0xb6, 0x7a, 0x2e, 0x05, 0xb5, 0x0b, 0xea, 0xb9, 0x14, 0x96, 0x15, 0xc8, 0x60,
	0x5d, 0xf9, 0xe4, 0x3a, 0x1d, 0xac, 0xe7, 0x0b, 0x0e, 0xd2, 0xc1, 0x7a, 0xd1, 0x17, 0xfe, 0x2b,
	0xda, 0x98, 0x2b, 0x7b, 0x72, 0x29, 0xb1, 0xef, 0x17, 0x6c, 0x51, 0xee, 0xfb, 0xf1, 0xce, 0xdb,
	0x2f, 0xa0, 0x52, 0x47, 0x29, 0xf8, 0x74, 0x5e, 0x1d, 0x65, 0xf9, 0x37, 0xfb, 0xea, 0x28, 0xe7,
	0x7d, 0x7f, 0xbf, 0xa2, 0xcd, 0xa2, 0xfa, 0x9e, 0xdc, 0x40, 0xef, 0x14, 0xef, 0x6d, 0x7e, 0xac,
	0x5b, 0x2f, 0x26, 0x8c, 0x87, 0xf3, 0xe2, 0xa2, 0x9e, 0x7c, 0x46, 0x71, 0xc9, 0xc6, 0xe7, 0x07,
	0x7c, 0xf7, 0x02, 0x94, 0xd1, 0x88, 0x4f, 0xd6, 0xf9, 0x5f, 0x97, 0x7c, 0xf4, 0x5f, 0x01, 0x00,
	0x00, 0xff, 0xff, 0x80, 0xb9, 0xdd, 0x3c, 0xc9, 0x44, 0x00, 0x00,
}