github.com/osrg/gobgp@v2.0.0+incompatible/api/attribute.pb.go (about)

     1  // Code generated by protoc-gen-go.
     2  // source: attribute.proto
     3  // DO NOT EDIT!
     4  
     5  package gobgpapi
     6  
     7  import proto "github.com/golang/protobuf/proto"
     8  import fmt "fmt"
     9  import math "math"
    10  import google_protobuf "github.com/golang/protobuf/ptypes/any"
    11  
    12  // Reference imports to suppress errors if they are not otherwise used.
    13  var _ = proto.Marshal
    14  var _ = fmt.Errorf
    15  var _ = math.Inf
    16  
    17  type OriginAttribute struct {
    18  	Origin uint32 `protobuf:"varint,1,opt,name=origin" json:"origin,omitempty"`
    19  }
    20  
    21  func (m *OriginAttribute) Reset()                    { *m = OriginAttribute{} }
    22  func (m *OriginAttribute) String() string            { return proto.CompactTextString(m) }
    23  func (*OriginAttribute) ProtoMessage()               {}
    24  func (*OriginAttribute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
    25  
    26  func (m *OriginAttribute) GetOrigin() uint32 {
    27  	if m != nil {
    28  		return m.Origin
    29  	}
    30  	return 0
    31  }
    32  
    33  type AsSegment struct {
    34  	Type    uint32   `protobuf:"varint,1,opt,name=type" json:"type,omitempty"`
    35  	Numbers []uint32 `protobuf:"varint,2,rep,packed,name=numbers" json:"numbers,omitempty"`
    36  }
    37  
    38  func (m *AsSegment) Reset()                    { *m = AsSegment{} }
    39  func (m *AsSegment) String() string            { return proto.CompactTextString(m) }
    40  func (*AsSegment) ProtoMessage()               {}
    41  func (*AsSegment) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
    42  
    43  func (m *AsSegment) GetType() uint32 {
    44  	if m != nil {
    45  		return m.Type
    46  	}
    47  	return 0
    48  }
    49  
    50  func (m *AsSegment) GetNumbers() []uint32 {
    51  	if m != nil {
    52  		return m.Numbers
    53  	}
    54  	return nil
    55  }
    56  
    57  type AsPathAttribute struct {
    58  	Segments []*AsSegment `protobuf:"bytes,1,rep,name=segments" json:"segments,omitempty"`
    59  }
    60  
    61  func (m *AsPathAttribute) Reset()                    { *m = AsPathAttribute{} }
    62  func (m *AsPathAttribute) String() string            { return proto.CompactTextString(m) }
    63  func (*AsPathAttribute) ProtoMessage()               {}
    64  func (*AsPathAttribute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }
    65  
    66  func (m *AsPathAttribute) GetSegments() []*AsSegment {
    67  	if m != nil {
    68  		return m.Segments
    69  	}
    70  	return nil
    71  }
    72  
    73  type NextHopAttribute struct {
    74  	NextHop string `protobuf:"bytes,1,opt,name=next_hop,json=nextHop" json:"next_hop,omitempty"`
    75  }
    76  
    77  func (m *NextHopAttribute) Reset()                    { *m = NextHopAttribute{} }
    78  func (m *NextHopAttribute) String() string            { return proto.CompactTextString(m) }
    79  func (*NextHopAttribute) ProtoMessage()               {}
    80  func (*NextHopAttribute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3} }
    81  
    82  func (m *NextHopAttribute) GetNextHop() string {
    83  	if m != nil {
    84  		return m.NextHop
    85  	}
    86  	return ""
    87  }
    88  
    89  type MultiExitDiscAttribute struct {
    90  	Med uint32 `protobuf:"varint,1,opt,name=med" json:"med,omitempty"`
    91  }
    92  
    93  func (m *MultiExitDiscAttribute) Reset()                    { *m = MultiExitDiscAttribute{} }
    94  func (m *MultiExitDiscAttribute) String() string            { return proto.CompactTextString(m) }
    95  func (*MultiExitDiscAttribute) ProtoMessage()               {}
    96  func (*MultiExitDiscAttribute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{4} }
    97  
    98  func (m *MultiExitDiscAttribute) GetMed() uint32 {
    99  	if m != nil {
   100  		return m.Med
   101  	}
   102  	return 0
   103  }
   104  
   105  type LocalPrefAttribute struct {
   106  	LocalPref uint32 `protobuf:"varint,1,opt,name=local_pref,json=localPref" json:"local_pref,omitempty"`
   107  }
   108  
   109  func (m *LocalPrefAttribute) Reset()                    { *m = LocalPrefAttribute{} }
   110  func (m *LocalPrefAttribute) String() string            { return proto.CompactTextString(m) }
   111  func (*LocalPrefAttribute) ProtoMessage()               {}
   112  func (*LocalPrefAttribute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{5} }
   113  
   114  func (m *LocalPrefAttribute) GetLocalPref() uint32 {
   115  	if m != nil {
   116  		return m.LocalPref
   117  	}
   118  	return 0
   119  }
   120  
   121  type AtomicAggregateAttribute struct {
   122  }
   123  
   124  func (m *AtomicAggregateAttribute) Reset()                    { *m = AtomicAggregateAttribute{} }
   125  func (m *AtomicAggregateAttribute) String() string            { return proto.CompactTextString(m) }
   126  func (*AtomicAggregateAttribute) ProtoMessage()               {}
   127  func (*AtomicAggregateAttribute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{6} }
   128  
   129  type AggregatorAttribute struct {
   130  	As      uint32 `protobuf:"varint,2,opt,name=as" json:"as,omitempty"`
   131  	Address string `protobuf:"bytes,3,opt,name=address" json:"address,omitempty"`
   132  }
   133  
   134  func (m *AggregatorAttribute) Reset()                    { *m = AggregatorAttribute{} }
   135  func (m *AggregatorAttribute) String() string            { return proto.CompactTextString(m) }
   136  func (*AggregatorAttribute) ProtoMessage()               {}
   137  func (*AggregatorAttribute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{7} }
   138  
   139  func (m *AggregatorAttribute) GetAs() uint32 {
   140  	if m != nil {
   141  		return m.As
   142  	}
   143  	return 0
   144  }
   145  
   146  func (m *AggregatorAttribute) GetAddress() string {
   147  	if m != nil {
   148  		return m.Address
   149  	}
   150  	return ""
   151  }
   152  
   153  type CommunitiesAttribute struct {
   154  	Communities []uint32 `protobuf:"varint,1,rep,packed,name=communities" json:"communities,omitempty"`
   155  }
   156  
   157  func (m *CommunitiesAttribute) Reset()                    { *m = CommunitiesAttribute{} }
   158  func (m *CommunitiesAttribute) String() string            { return proto.CompactTextString(m) }
   159  func (*CommunitiesAttribute) ProtoMessage()               {}
   160  func (*CommunitiesAttribute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{8} }
   161  
   162  func (m *CommunitiesAttribute) GetCommunities() []uint32 {
   163  	if m != nil {
   164  		return m.Communities
   165  	}
   166  	return nil
   167  }
   168  
   169  type OriginatorIdAttribute struct {
   170  	Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
   171  }
   172  
   173  func (m *OriginatorIdAttribute) Reset()                    { *m = OriginatorIdAttribute{} }
   174  func (m *OriginatorIdAttribute) String() string            { return proto.CompactTextString(m) }
   175  func (*OriginatorIdAttribute) ProtoMessage()               {}
   176  func (*OriginatorIdAttribute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{9} }
   177  
   178  func (m *OriginatorIdAttribute) GetId() string {
   179  	if m != nil {
   180  		return m.Id
   181  	}
   182  	return ""
   183  }
   184  
   185  type ClusterListAttribute struct {
   186  	Ids []string `protobuf:"bytes,1,rep,name=ids" json:"ids,omitempty"`
   187  }
   188  
   189  func (m *ClusterListAttribute) Reset()                    { *m = ClusterListAttribute{} }
   190  func (m *ClusterListAttribute) String() string            { return proto.CompactTextString(m) }
   191  func (*ClusterListAttribute) ProtoMessage()               {}
   192  func (*ClusterListAttribute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{10} }
   193  
   194  func (m *ClusterListAttribute) GetIds() []string {
   195  	if m != nil {
   196  		return m.Ids
   197  	}
   198  	return nil
   199  }
   200  
   201  // IPAddressPrefix represents the NLRI for:
   202  // - AFI=1, SAFI=1
   203  // - AFI=2, SAFI=1
   204  type IPAddressPrefix struct {
   205  	PrefixLen uint32 `protobuf:"varint,1,opt,name=prefix_len,json=prefixLen" json:"prefix_len,omitempty"`
   206  	Prefix    string `protobuf:"bytes,2,opt,name=prefix" json:"prefix,omitempty"`
   207  }
   208  
   209  func (m *IPAddressPrefix) Reset()                    { *m = IPAddressPrefix{} }
   210  func (m *IPAddressPrefix) String() string            { return proto.CompactTextString(m) }
   211  func (*IPAddressPrefix) ProtoMessage()               {}
   212  func (*IPAddressPrefix) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{11} }
   213  
   214  func (m *IPAddressPrefix) GetPrefixLen() uint32 {
   215  	if m != nil {
   216  		return m.PrefixLen
   217  	}
   218  	return 0
   219  }
   220  
   221  func (m *IPAddressPrefix) GetPrefix() string {
   222  	if m != nil {
   223  		return m.Prefix
   224  	}
   225  	return ""
   226  }
   227  
   228  // LabeledIPAddressPrefix represents the NLRI for:
   229  // - AFI=1, SAFI=4
   230  // - AFI=2, SAFI=4
   231  type LabeledIPAddressPrefix struct {
   232  	Labels    []uint32 `protobuf:"varint,1,rep,packed,name=labels" json:"labels,omitempty"`
   233  	PrefixLen uint32   `protobuf:"varint,2,opt,name=prefix_len,json=prefixLen" json:"prefix_len,omitempty"`
   234  	Prefix    string   `protobuf:"bytes,3,opt,name=prefix" json:"prefix,omitempty"`
   235  }
   236  
   237  func (m *LabeledIPAddressPrefix) Reset()                    { *m = LabeledIPAddressPrefix{} }
   238  func (m *LabeledIPAddressPrefix) String() string            { return proto.CompactTextString(m) }
   239  func (*LabeledIPAddressPrefix) ProtoMessage()               {}
   240  func (*LabeledIPAddressPrefix) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{12} }
   241  
   242  func (m *LabeledIPAddressPrefix) GetLabels() []uint32 {
   243  	if m != nil {
   244  		return m.Labels
   245  	}
   246  	return nil
   247  }
   248  
   249  func (m *LabeledIPAddressPrefix) GetPrefixLen() uint32 {
   250  	if m != nil {
   251  		return m.PrefixLen
   252  	}
   253  	return 0
   254  }
   255  
   256  func (m *LabeledIPAddressPrefix) GetPrefix() string {
   257  	if m != nil {
   258  		return m.Prefix
   259  	}
   260  	return ""
   261  }
   262  
   263  // EncapsulationNLRI represents the NLRI for:
   264  // - AFI=1, SAFI=7
   265  // - AFI=2, SAFI=7
   266  type EncapsulationNLRI struct {
   267  	Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"`
   268  }
   269  
   270  func (m *EncapsulationNLRI) Reset()                    { *m = EncapsulationNLRI{} }
   271  func (m *EncapsulationNLRI) String() string            { return proto.CompactTextString(m) }
   272  func (*EncapsulationNLRI) ProtoMessage()               {}
   273  func (*EncapsulationNLRI) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{13} }
   274  
   275  func (m *EncapsulationNLRI) GetAddress() string {
   276  	if m != nil {
   277  		return m.Address
   278  	}
   279  	return ""
   280  }
   281  
   282  type RouteDistinguisherTwoOctetAS struct {
   283  	Admin    uint32 `protobuf:"varint,1,opt,name=admin" json:"admin,omitempty"`
   284  	Assigned uint32 `protobuf:"varint,2,opt,name=assigned" json:"assigned,omitempty"`
   285  }
   286  
   287  func (m *RouteDistinguisherTwoOctetAS) Reset()                    { *m = RouteDistinguisherTwoOctetAS{} }
   288  func (m *RouteDistinguisherTwoOctetAS) String() string            { return proto.CompactTextString(m) }
   289  func (*RouteDistinguisherTwoOctetAS) ProtoMessage()               {}
   290  func (*RouteDistinguisherTwoOctetAS) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{14} }
   291  
   292  func (m *RouteDistinguisherTwoOctetAS) GetAdmin() uint32 {
   293  	if m != nil {
   294  		return m.Admin
   295  	}
   296  	return 0
   297  }
   298  
   299  func (m *RouteDistinguisherTwoOctetAS) GetAssigned() uint32 {
   300  	if m != nil {
   301  		return m.Assigned
   302  	}
   303  	return 0
   304  }
   305  
   306  type RouteDistinguisherIPAddress struct {
   307  	Admin    string `protobuf:"bytes,1,opt,name=admin" json:"admin,omitempty"`
   308  	Assigned uint32 `protobuf:"varint,2,opt,name=assigned" json:"assigned,omitempty"`
   309  }
   310  
   311  func (m *RouteDistinguisherIPAddress) Reset()                    { *m = RouteDistinguisherIPAddress{} }
   312  func (m *RouteDistinguisherIPAddress) String() string            { return proto.CompactTextString(m) }
   313  func (*RouteDistinguisherIPAddress) ProtoMessage()               {}
   314  func (*RouteDistinguisherIPAddress) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{15} }
   315  
   316  func (m *RouteDistinguisherIPAddress) GetAdmin() string {
   317  	if m != nil {
   318  		return m.Admin
   319  	}
   320  	return ""
   321  }
   322  
   323  func (m *RouteDistinguisherIPAddress) GetAssigned() uint32 {
   324  	if m != nil {
   325  		return m.Assigned
   326  	}
   327  	return 0
   328  }
   329  
   330  type RouteDistinguisherFourOctetAS struct {
   331  	Admin    uint32 `protobuf:"varint,1,opt,name=admin" json:"admin,omitempty"`
   332  	Assigned uint32 `protobuf:"varint,2,opt,name=assigned" json:"assigned,omitempty"`
   333  }
   334  
   335  func (m *RouteDistinguisherFourOctetAS) Reset()                    { *m = RouteDistinguisherFourOctetAS{} }
   336  func (m *RouteDistinguisherFourOctetAS) String() string            { return proto.CompactTextString(m) }
   337  func (*RouteDistinguisherFourOctetAS) ProtoMessage()               {}
   338  func (*RouteDistinguisherFourOctetAS) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{16} }
   339  
   340  func (m *RouteDistinguisherFourOctetAS) GetAdmin() uint32 {
   341  	if m != nil {
   342  		return m.Admin
   343  	}
   344  	return 0
   345  }
   346  
   347  func (m *RouteDistinguisherFourOctetAS) GetAssigned() uint32 {
   348  	if m != nil {
   349  		return m.Assigned
   350  	}
   351  	return 0
   352  }
   353  
   354  type EthernetSegmentIdentifier struct {
   355  	Type  uint32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"`
   356  	Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
   357  }
   358  
   359  func (m *EthernetSegmentIdentifier) Reset()                    { *m = EthernetSegmentIdentifier{} }
   360  func (m *EthernetSegmentIdentifier) String() string            { return proto.CompactTextString(m) }
   361  func (*EthernetSegmentIdentifier) ProtoMessage()               {}
   362  func (*EthernetSegmentIdentifier) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{17} }
   363  
   364  func (m *EthernetSegmentIdentifier) GetType() uint32 {
   365  	if m != nil {
   366  		return m.Type
   367  	}
   368  	return 0
   369  }
   370  
   371  func (m *EthernetSegmentIdentifier) GetValue() []byte {
   372  	if m != nil {
   373  		return m.Value
   374  	}
   375  	return nil
   376  }
   377  
   378  // EVPNEthernetAutoDiscoveryRoute represents the NLRI for:
   379  // - AFI=25, SAFI=70, RouteType=1
   380  type EVPNEthernetAutoDiscoveryRoute struct {
   381  	// One of:
   382  	// - RouteDistinguisherTwoOctetAS
   383  	// - RouteDistinguisherIPAddressAS
   384  	// - RouteDistinguisherFourOctetAS
   385  	Rd          *google_protobuf.Any       `protobuf:"bytes,1,opt,name=rd" json:"rd,omitempty"`
   386  	Esi         *EthernetSegmentIdentifier `protobuf:"bytes,2,opt,name=esi" json:"esi,omitempty"`
   387  	EthernetTag uint32                     `protobuf:"varint,3,opt,name=ethernet_tag,json=ethernetTag" json:"ethernet_tag,omitempty"`
   388  	Label       uint32                     `protobuf:"varint,4,opt,name=label" json:"label,omitempty"`
   389  }
   390  
   391  func (m *EVPNEthernetAutoDiscoveryRoute) Reset()                    { *m = EVPNEthernetAutoDiscoveryRoute{} }
   392  func (m *EVPNEthernetAutoDiscoveryRoute) String() string            { return proto.CompactTextString(m) }
   393  func (*EVPNEthernetAutoDiscoveryRoute) ProtoMessage()               {}
   394  func (*EVPNEthernetAutoDiscoveryRoute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{18} }
   395  
   396  func (m *EVPNEthernetAutoDiscoveryRoute) GetRd() *google_protobuf.Any {
   397  	if m != nil {
   398  		return m.Rd
   399  	}
   400  	return nil
   401  }
   402  
   403  func (m *EVPNEthernetAutoDiscoveryRoute) GetEsi() *EthernetSegmentIdentifier {
   404  	if m != nil {
   405  		return m.Esi
   406  	}
   407  	return nil
   408  }
   409  
   410  func (m *EVPNEthernetAutoDiscoveryRoute) GetEthernetTag() uint32 {
   411  	if m != nil {
   412  		return m.EthernetTag
   413  	}
   414  	return 0
   415  }
   416  
   417  func (m *EVPNEthernetAutoDiscoveryRoute) GetLabel() uint32 {
   418  	if m != nil {
   419  		return m.Label
   420  	}
   421  	return 0
   422  }
   423  
   424  // EVPNMACIPAdvertisementRoute represents the NLRI for:
   425  // - AFI=25, SAFI=70, RouteType=2
   426  type EVPNMACIPAdvertisementRoute struct {
   427  	// One of:
   428  	// - RouteDistinguisherTwoOctetAS
   429  	// - RouteDistinguisherIPAddressAS
   430  	// - RouteDistinguisherFourOctetAS
   431  	Rd          *google_protobuf.Any       `protobuf:"bytes,1,opt,name=rd" json:"rd,omitempty"`
   432  	Esi         *EthernetSegmentIdentifier `protobuf:"bytes,2,opt,name=esi" json:"esi,omitempty"`
   433  	EthernetTag uint32                     `protobuf:"varint,3,opt,name=ethernet_tag,json=ethernetTag" json:"ethernet_tag,omitempty"`
   434  	MacAddress  string                     `protobuf:"bytes,4,opt,name=mac_address,json=macAddress" json:"mac_address,omitempty"`
   435  	IpAddress   string                     `protobuf:"bytes,5,opt,name=ip_address,json=ipAddress" json:"ip_address,omitempty"`
   436  	Labels      []uint32                   `protobuf:"varint,6,rep,packed,name=labels" json:"labels,omitempty"`
   437  }
   438  
   439  func (m *EVPNMACIPAdvertisementRoute) Reset()                    { *m = EVPNMACIPAdvertisementRoute{} }
   440  func (m *EVPNMACIPAdvertisementRoute) String() string            { return proto.CompactTextString(m) }
   441  func (*EVPNMACIPAdvertisementRoute) ProtoMessage()               {}
   442  func (*EVPNMACIPAdvertisementRoute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{19} }
   443  
   444  func (m *EVPNMACIPAdvertisementRoute) GetRd() *google_protobuf.Any {
   445  	if m != nil {
   446  		return m.Rd
   447  	}
   448  	return nil
   449  }
   450  
   451  func (m *EVPNMACIPAdvertisementRoute) GetEsi() *EthernetSegmentIdentifier {
   452  	if m != nil {
   453  		return m.Esi
   454  	}
   455  	return nil
   456  }
   457  
   458  func (m *EVPNMACIPAdvertisementRoute) GetEthernetTag() uint32 {
   459  	if m != nil {
   460  		return m.EthernetTag
   461  	}
   462  	return 0
   463  }
   464  
   465  func (m *EVPNMACIPAdvertisementRoute) GetMacAddress() string {
   466  	if m != nil {
   467  		return m.MacAddress
   468  	}
   469  	return ""
   470  }
   471  
   472  func (m *EVPNMACIPAdvertisementRoute) GetIpAddress() string {
   473  	if m != nil {
   474  		return m.IpAddress
   475  	}
   476  	return ""
   477  }
   478  
   479  func (m *EVPNMACIPAdvertisementRoute) GetLabels() []uint32 {
   480  	if m != nil {
   481  		return m.Labels
   482  	}
   483  	return nil
   484  }
   485  
   486  // EVPNInclusiveMulticastEthernetTagRoute represents the NLRI for:
   487  // - AFI=25, SAFI=70, RouteType=3
   488  type EVPNInclusiveMulticastEthernetTagRoute struct {
   489  	// One of:
   490  	// - RouteDistinguisherTwoOctetAS
   491  	// - RouteDistinguisherIPAddressAS
   492  	// - RouteDistinguisherFourOctetAS
   493  	Rd          *google_protobuf.Any `protobuf:"bytes,1,opt,name=rd" json:"rd,omitempty"`
   494  	EthernetTag uint32               `protobuf:"varint,2,opt,name=ethernet_tag,json=ethernetTag" json:"ethernet_tag,omitempty"`
   495  	IpAddress   string               `protobuf:"bytes,3,opt,name=ip_address,json=ipAddress" json:"ip_address,omitempty"`
   496  }
   497  
   498  func (m *EVPNInclusiveMulticastEthernetTagRoute) Reset() {
   499  	*m = EVPNInclusiveMulticastEthernetTagRoute{}
   500  }
   501  func (m *EVPNInclusiveMulticastEthernetTagRoute) String() string { return proto.CompactTextString(m) }
   502  func (*EVPNInclusiveMulticastEthernetTagRoute) ProtoMessage()    {}
   503  func (*EVPNInclusiveMulticastEthernetTagRoute) Descriptor() ([]byte, []int) {
   504  	return fileDescriptor1, []int{20}
   505  }
   506  
   507  func (m *EVPNInclusiveMulticastEthernetTagRoute) GetRd() *google_protobuf.Any {
   508  	if m != nil {
   509  		return m.Rd
   510  	}
   511  	return nil
   512  }
   513  
   514  func (m *EVPNInclusiveMulticastEthernetTagRoute) GetEthernetTag() uint32 {
   515  	if m != nil {
   516  		return m.EthernetTag
   517  	}
   518  	return 0
   519  }
   520  
   521  func (m *EVPNInclusiveMulticastEthernetTagRoute) GetIpAddress() string {
   522  	if m != nil {
   523  		return m.IpAddress
   524  	}
   525  	return ""
   526  }
   527  
   528  // EVPNEthernetSegmentRoute represents the NLRI for:
   529  // - AFI=25, SAFI=70, RouteType=4
   530  type EVPNEthernetSegmentRoute struct {
   531  	// One of:
   532  	// - RouteDistinguisherTwoOctetAS
   533  	// - RouteDistinguisherIPAddressAS
   534  	// - RouteDistinguisherFourOctetAS
   535  	Rd        *google_protobuf.Any       `protobuf:"bytes,1,opt,name=rd" json:"rd,omitempty"`
   536  	Esi       *EthernetSegmentIdentifier `protobuf:"bytes,2,opt,name=esi" json:"esi,omitempty"`
   537  	IpAddress string                     `protobuf:"bytes,3,opt,name=ip_address,json=ipAddress" json:"ip_address,omitempty"`
   538  }
   539  
   540  func (m *EVPNEthernetSegmentRoute) Reset()                    { *m = EVPNEthernetSegmentRoute{} }
   541  func (m *EVPNEthernetSegmentRoute) String() string            { return proto.CompactTextString(m) }
   542  func (*EVPNEthernetSegmentRoute) ProtoMessage()               {}
   543  func (*EVPNEthernetSegmentRoute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{21} }
   544  
   545  func (m *EVPNEthernetSegmentRoute) GetRd() *google_protobuf.Any {
   546  	if m != nil {
   547  		return m.Rd
   548  	}
   549  	return nil
   550  }
   551  
   552  func (m *EVPNEthernetSegmentRoute) GetEsi() *EthernetSegmentIdentifier {
   553  	if m != nil {
   554  		return m.Esi
   555  	}
   556  	return nil
   557  }
   558  
   559  func (m *EVPNEthernetSegmentRoute) GetIpAddress() string {
   560  	if m != nil {
   561  		return m.IpAddress
   562  	}
   563  	return ""
   564  }
   565  
   566  // EVPNIPPrefixRoute represents the NLRI for:
   567  // - AFI=25, SAFI=70, RouteType=5
   568  type EVPNIPPrefixRoute struct {
   569  	// One of:
   570  	// - RouteDistinguisherTwoOctetAS
   571  	// - RouteDistinguisherIPAddressAS
   572  	// - RouteDistinguisherFourOctetAS
   573  	Rd          *google_protobuf.Any       `protobuf:"bytes,1,opt,name=rd" json:"rd,omitempty"`
   574  	Esi         *EthernetSegmentIdentifier `protobuf:"bytes,2,opt,name=esi" json:"esi,omitempty"`
   575  	EthernetTag uint32                     `protobuf:"varint,3,opt,name=ethernet_tag,json=ethernetTag" json:"ethernet_tag,omitempty"`
   576  	IpPrefix    string                     `protobuf:"bytes,4,opt,name=ip_prefix,json=ipPrefix" json:"ip_prefix,omitempty"`
   577  	IpPrefixLen uint32                     `protobuf:"varint,5,opt,name=ip_prefix_len,json=ipPrefixLen" json:"ip_prefix_len,omitempty"`
   578  	GwAddress   string                     `protobuf:"bytes,6,opt,name=gw_address,json=gwAddress" json:"gw_address,omitempty"`
   579  	Label       uint32                     `protobuf:"varint,7,opt,name=label" json:"label,omitempty"`
   580  }
   581  
   582  func (m *EVPNIPPrefixRoute) Reset()                    { *m = EVPNIPPrefixRoute{} }
   583  func (m *EVPNIPPrefixRoute) String() string            { return proto.CompactTextString(m) }
   584  func (*EVPNIPPrefixRoute) ProtoMessage()               {}
   585  func (*EVPNIPPrefixRoute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{22} }
   586  
   587  func (m *EVPNIPPrefixRoute) GetRd() *google_protobuf.Any {
   588  	if m != nil {
   589  		return m.Rd
   590  	}
   591  	return nil
   592  }
   593  
   594  func (m *EVPNIPPrefixRoute) GetEsi() *EthernetSegmentIdentifier {
   595  	if m != nil {
   596  		return m.Esi
   597  	}
   598  	return nil
   599  }
   600  
   601  func (m *EVPNIPPrefixRoute) GetEthernetTag() uint32 {
   602  	if m != nil {
   603  		return m.EthernetTag
   604  	}
   605  	return 0
   606  }
   607  
   608  func (m *EVPNIPPrefixRoute) GetIpPrefix() string {
   609  	if m != nil {
   610  		return m.IpPrefix
   611  	}
   612  	return ""
   613  }
   614  
   615  func (m *EVPNIPPrefixRoute) GetIpPrefixLen() uint32 {
   616  	if m != nil {
   617  		return m.IpPrefixLen
   618  	}
   619  	return 0
   620  }
   621  
   622  func (m *EVPNIPPrefixRoute) GetGwAddress() string {
   623  	if m != nil {
   624  		return m.GwAddress
   625  	}
   626  	return ""
   627  }
   628  
   629  func (m *EVPNIPPrefixRoute) GetLabel() uint32 {
   630  	if m != nil {
   631  		return m.Label
   632  	}
   633  	return 0
   634  }
   635  
   636  // LabeledVPNIPAddressPrefix represents the NLRI for:
   637  // - AFI=1, SAFI=128
   638  // - AFI=2, SAFI=128
   639  type LabeledVPNIPAddressPrefix struct {
   640  	Labels []uint32 `protobuf:"varint,1,rep,packed,name=labels" json:"labels,omitempty"`
   641  	// One of:
   642  	// - TwoOctetAsSpecificExtended
   643  	// - IPv4AddressSpecificExtended
   644  	// - FourOctetAsSpecificExtended
   645  	Rd        *google_protobuf.Any `protobuf:"bytes,2,opt,name=rd" json:"rd,omitempty"`
   646  	PrefixLen uint32               `protobuf:"varint,3,opt,name=prefix_len,json=prefixLen" json:"prefix_len,omitempty"`
   647  	Prefix    string               `protobuf:"bytes,4,opt,name=prefix" json:"prefix,omitempty"`
   648  }
   649  
   650  func (m *LabeledVPNIPAddressPrefix) Reset()                    { *m = LabeledVPNIPAddressPrefix{} }
   651  func (m *LabeledVPNIPAddressPrefix) String() string            { return proto.CompactTextString(m) }
   652  func (*LabeledVPNIPAddressPrefix) ProtoMessage()               {}
   653  func (*LabeledVPNIPAddressPrefix) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{23} }
   654  
   655  func (m *LabeledVPNIPAddressPrefix) GetLabels() []uint32 {
   656  	if m != nil {
   657  		return m.Labels
   658  	}
   659  	return nil
   660  }
   661  
   662  func (m *LabeledVPNIPAddressPrefix) GetRd() *google_protobuf.Any {
   663  	if m != nil {
   664  		return m.Rd
   665  	}
   666  	return nil
   667  }
   668  
   669  func (m *LabeledVPNIPAddressPrefix) GetPrefixLen() uint32 {
   670  	if m != nil {
   671  		return m.PrefixLen
   672  	}
   673  	return 0
   674  }
   675  
   676  func (m *LabeledVPNIPAddressPrefix) GetPrefix() string {
   677  	if m != nil {
   678  		return m.Prefix
   679  	}
   680  	return ""
   681  }
   682  
   683  // RouteTargetMembershipNLRI represents the NLRI for:
   684  // - AFI=1, SAFI=132
   685  type RouteTargetMembershipNLRI struct {
   686  	As uint32 `protobuf:"varint,1,opt,name=as" json:"as,omitempty"`
   687  	// One of:
   688  	// - TwoOctetAsSpecificExtended
   689  	// - IPv4AddressSpecificExtended
   690  	// - FourOctetAsSpecificExtended
   691  	Rt *google_protobuf.Any `protobuf:"bytes,2,opt,name=rt" json:"rt,omitempty"`
   692  }
   693  
   694  func (m *RouteTargetMembershipNLRI) Reset()                    { *m = RouteTargetMembershipNLRI{} }
   695  func (m *RouteTargetMembershipNLRI) String() string            { return proto.CompactTextString(m) }
   696  func (*RouteTargetMembershipNLRI) ProtoMessage()               {}
   697  func (*RouteTargetMembershipNLRI) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{24} }
   698  
   699  func (m *RouteTargetMembershipNLRI) GetAs() uint32 {
   700  	if m != nil {
   701  		return m.As
   702  	}
   703  	return 0
   704  }
   705  
   706  func (m *RouteTargetMembershipNLRI) GetRt() *google_protobuf.Any {
   707  	if m != nil {
   708  		return m.Rt
   709  	}
   710  	return nil
   711  }
   712  
   713  type FlowSpecIPPrefix struct {
   714  	Type      uint32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"`
   715  	PrefixLen uint32 `protobuf:"varint,2,opt,name=prefix_len,json=prefixLen" json:"prefix_len,omitempty"`
   716  	Prefix    string `protobuf:"bytes,3,opt,name=prefix" json:"prefix,omitempty"`
   717  	// IPv6 only
   718  	Offset uint32 `protobuf:"varint,4,opt,name=offset" json:"offset,omitempty"`
   719  }
   720  
   721  func (m *FlowSpecIPPrefix) Reset()                    { *m = FlowSpecIPPrefix{} }
   722  func (m *FlowSpecIPPrefix) String() string            { return proto.CompactTextString(m) }
   723  func (*FlowSpecIPPrefix) ProtoMessage()               {}
   724  func (*FlowSpecIPPrefix) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{25} }
   725  
   726  func (m *FlowSpecIPPrefix) GetType() uint32 {
   727  	if m != nil {
   728  		return m.Type
   729  	}
   730  	return 0
   731  }
   732  
   733  func (m *FlowSpecIPPrefix) GetPrefixLen() uint32 {
   734  	if m != nil {
   735  		return m.PrefixLen
   736  	}
   737  	return 0
   738  }
   739  
   740  func (m *FlowSpecIPPrefix) GetPrefix() string {
   741  	if m != nil {
   742  		return m.Prefix
   743  	}
   744  	return ""
   745  }
   746  
   747  func (m *FlowSpecIPPrefix) GetOffset() uint32 {
   748  	if m != nil {
   749  		return m.Offset
   750  	}
   751  	return 0
   752  }
   753  
   754  type FlowSpecMAC struct {
   755  	Type    uint32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"`
   756  	Address string `protobuf:"bytes,2,opt,name=address" json:"address,omitempty"`
   757  }
   758  
   759  func (m *FlowSpecMAC) Reset()                    { *m = FlowSpecMAC{} }
   760  func (m *FlowSpecMAC) String() string            { return proto.CompactTextString(m) }
   761  func (*FlowSpecMAC) ProtoMessage()               {}
   762  func (*FlowSpecMAC) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{26} }
   763  
   764  func (m *FlowSpecMAC) GetType() uint32 {
   765  	if m != nil {
   766  		return m.Type
   767  	}
   768  	return 0
   769  }
   770  
   771  func (m *FlowSpecMAC) GetAddress() string {
   772  	if m != nil {
   773  		return m.Address
   774  	}
   775  	return ""
   776  }
   777  
   778  type FlowSpecComponentItem struct {
   779  	// Operator for Numeric type, Operand for Bitmask type
   780  	Op    uint32 `protobuf:"varint,1,opt,name=op" json:"op,omitempty"`
   781  	Value uint64 `protobuf:"varint,2,opt,name=value" json:"value,omitempty"`
   782  }
   783  
   784  func (m *FlowSpecComponentItem) Reset()                    { *m = FlowSpecComponentItem{} }
   785  func (m *FlowSpecComponentItem) String() string            { return proto.CompactTextString(m) }
   786  func (*FlowSpecComponentItem) ProtoMessage()               {}
   787  func (*FlowSpecComponentItem) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{27} }
   788  
   789  func (m *FlowSpecComponentItem) GetOp() uint32 {
   790  	if m != nil {
   791  		return m.Op
   792  	}
   793  	return 0
   794  }
   795  
   796  func (m *FlowSpecComponentItem) GetValue() uint64 {
   797  	if m != nil {
   798  		return m.Value
   799  	}
   800  	return 0
   801  }
   802  
   803  type FlowSpecComponent struct {
   804  	Type  uint32                   `protobuf:"varint,1,opt,name=type" json:"type,omitempty"`
   805  	Items []*FlowSpecComponentItem `protobuf:"bytes,2,rep,name=items" json:"items,omitempty"`
   806  }
   807  
   808  func (m *FlowSpecComponent) Reset()                    { *m = FlowSpecComponent{} }
   809  func (m *FlowSpecComponent) String() string            { return proto.CompactTextString(m) }
   810  func (*FlowSpecComponent) ProtoMessage()               {}
   811  func (*FlowSpecComponent) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{28} }
   812  
   813  func (m *FlowSpecComponent) GetType() uint32 {
   814  	if m != nil {
   815  		return m.Type
   816  	}
   817  	return 0
   818  }
   819  
   820  func (m *FlowSpecComponent) GetItems() []*FlowSpecComponentItem {
   821  	if m != nil {
   822  		return m.Items
   823  	}
   824  	return nil
   825  }
   826  
   827  // FlowSpecNLRI represents the NLRI for:
   828  // - AFI=1, SAFI=133
   829  // - AFI=2, SAFI=133
   830  type FlowSpecNLRI struct {
   831  	// One of:
   832  	// - FlowSpecIPPrefix
   833  	// - FlowSpecMAC
   834  	// - FlowSpecComponent
   835  	Rules []*google_protobuf.Any `protobuf:"bytes,1,rep,name=rules" json:"rules,omitempty"`
   836  }
   837  
   838  func (m *FlowSpecNLRI) Reset()                    { *m = FlowSpecNLRI{} }
   839  func (m *FlowSpecNLRI) String() string            { return proto.CompactTextString(m) }
   840  func (*FlowSpecNLRI) ProtoMessage()               {}
   841  func (*FlowSpecNLRI) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{29} }
   842  
   843  func (m *FlowSpecNLRI) GetRules() []*google_protobuf.Any {
   844  	if m != nil {
   845  		return m.Rules
   846  	}
   847  	return nil
   848  }
   849  
   850  // VPNFlowSpecNLRI represents the NLRI for:
   851  // - AFI=1, SAFI=134
   852  // - AFI=2, SAFI=134
   853  // - AFI=25, SAFI=134
   854  type VPNFlowSpecNLRI struct {
   855  	// One of:
   856  	// - RouteDistinguisherTwoOctetAS
   857  	// - RouteDistinguisherIPAddressAS
   858  	// - RouteDistinguisherFourOctetAS
   859  	Rd *google_protobuf.Any `protobuf:"bytes,1,opt,name=rd" json:"rd,omitempty"`
   860  	// One of:
   861  	// - FlowSpecIPPrefix
   862  	// - FlowSpecMAC
   863  	// - FlowSpecComponent
   864  	Rules []*google_protobuf.Any `protobuf:"bytes,2,rep,name=rules" json:"rules,omitempty"`
   865  }
   866  
   867  func (m *VPNFlowSpecNLRI) Reset()                    { *m = VPNFlowSpecNLRI{} }
   868  func (m *VPNFlowSpecNLRI) String() string            { return proto.CompactTextString(m) }
   869  func (*VPNFlowSpecNLRI) ProtoMessage()               {}
   870  func (*VPNFlowSpecNLRI) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{30} }
   871  
   872  func (m *VPNFlowSpecNLRI) GetRd() *google_protobuf.Any {
   873  	if m != nil {
   874  		return m.Rd
   875  	}
   876  	return nil
   877  }
   878  
   879  func (m *VPNFlowSpecNLRI) GetRules() []*google_protobuf.Any {
   880  	if m != nil {
   881  		return m.Rules
   882  	}
   883  	return nil
   884  }
   885  
   886  // OpaqueNLRI represents the NLRI for:
   887  // - AFI=16397, SAFI=241
   888  type OpaqueNLRI struct {
   889  	Key   []byte `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
   890  	Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
   891  }
   892  
   893  func (m *OpaqueNLRI) Reset()                    { *m = OpaqueNLRI{} }
   894  func (m *OpaqueNLRI) String() string            { return proto.CompactTextString(m) }
   895  func (*OpaqueNLRI) ProtoMessage()               {}
   896  func (*OpaqueNLRI) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{31} }
   897  
   898  func (m *OpaqueNLRI) GetKey() []byte {
   899  	if m != nil {
   900  		return m.Key
   901  	}
   902  	return nil
   903  }
   904  
   905  func (m *OpaqueNLRI) GetValue() []byte {
   906  	if m != nil {
   907  		return m.Value
   908  	}
   909  	return nil
   910  }
   911  
   912  type MpReachNLRIAttribute struct {
   913  	Family   *Family  `protobuf:"bytes,1,opt,name=family" json:"family,omitempty"`
   914  	NextHops []string `protobuf:"bytes,2,rep,name=next_hops,json=nextHops" json:"next_hops,omitempty"`
   915  	// Each NLRI must be one of:
   916  	// - IPAddressPrefix
   917  	// - LabeledIPAddressPrefix
   918  	// - EncapsulationNLRI
   919  	// - EVPNEthernetAutoDiscoveryRoute
   920  	// - EVPNMACIPAdvertisementRoute
   921  	// - EVPNInclusiveMulticastEthernetTagRoute
   922  	// - EVPNEthernetSegmentRoute
   923  	// - EVPNIPPrefixRoute
   924  	// - LabeledVPNIPAddressPrefix
   925  	// - RouteTargetMembershipNLRI
   926  	// - FlowSpecNLRI
   927  	// - VPNFlowSpecNLRI
   928  	// - OpaqueNLRI
   929  	Nlris []*google_protobuf.Any `protobuf:"bytes,3,rep,name=nlris" json:"nlris,omitempty"`
   930  }
   931  
   932  func (m *MpReachNLRIAttribute) Reset()                    { *m = MpReachNLRIAttribute{} }
   933  func (m *MpReachNLRIAttribute) String() string            { return proto.CompactTextString(m) }
   934  func (*MpReachNLRIAttribute) ProtoMessage()               {}
   935  func (*MpReachNLRIAttribute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{32} }
   936  
   937  func (m *MpReachNLRIAttribute) GetFamily() *Family {
   938  	if m != nil {
   939  		return m.Family
   940  	}
   941  	return nil
   942  }
   943  
   944  func (m *MpReachNLRIAttribute) GetNextHops() []string {
   945  	if m != nil {
   946  		return m.NextHops
   947  	}
   948  	return nil
   949  }
   950  
   951  func (m *MpReachNLRIAttribute) GetNlris() []*google_protobuf.Any {
   952  	if m != nil {
   953  		return m.Nlris
   954  	}
   955  	return nil
   956  }
   957  
   958  type MpUnreachNLRIAttribute struct {
   959  	Family *Family `protobuf:"bytes,1,opt,name=family" json:"family,omitempty"`
   960  	// The same as NLRI field of MpReachNLRIAttribute
   961  	Nlris []*google_protobuf.Any `protobuf:"bytes,3,rep,name=nlris" json:"nlris,omitempty"`
   962  }
   963  
   964  func (m *MpUnreachNLRIAttribute) Reset()                    { *m = MpUnreachNLRIAttribute{} }
   965  func (m *MpUnreachNLRIAttribute) String() string            { return proto.CompactTextString(m) }
   966  func (*MpUnreachNLRIAttribute) ProtoMessage()               {}
   967  func (*MpUnreachNLRIAttribute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{33} }
   968  
   969  func (m *MpUnreachNLRIAttribute) GetFamily() *Family {
   970  	if m != nil {
   971  		return m.Family
   972  	}
   973  	return nil
   974  }
   975  
   976  func (m *MpUnreachNLRIAttribute) GetNlris() []*google_protobuf.Any {
   977  	if m != nil {
   978  		return m.Nlris
   979  	}
   980  	return nil
   981  }
   982  
   983  type TwoOctetAsSpecificExtended struct {
   984  	IsTransitive bool   `protobuf:"varint,1,opt,name=is_transitive,json=isTransitive" json:"is_transitive,omitempty"`
   985  	SubType      uint32 `protobuf:"varint,2,opt,name=sub_type,json=subType" json:"sub_type,omitempty"`
   986  	As           uint32 `protobuf:"varint,3,opt,name=as" json:"as,omitempty"`
   987  	LocalAdmin   uint32 `protobuf:"varint,4,opt,name=local_admin,json=localAdmin" json:"local_admin,omitempty"`
   988  }
   989  
   990  func (m *TwoOctetAsSpecificExtended) Reset()                    { *m = TwoOctetAsSpecificExtended{} }
   991  func (m *TwoOctetAsSpecificExtended) String() string            { return proto.CompactTextString(m) }
   992  func (*TwoOctetAsSpecificExtended) ProtoMessage()               {}
   993  func (*TwoOctetAsSpecificExtended) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{34} }
   994  
   995  func (m *TwoOctetAsSpecificExtended) GetIsTransitive() bool {
   996  	if m != nil {
   997  		return m.IsTransitive
   998  	}
   999  	return false
  1000  }
  1001  
  1002  func (m *TwoOctetAsSpecificExtended) GetSubType() uint32 {
  1003  	if m != nil {
  1004  		return m.SubType
  1005  	}
  1006  	return 0
  1007  }
  1008  
  1009  func (m *TwoOctetAsSpecificExtended) GetAs() uint32 {
  1010  	if m != nil {
  1011  		return m.As
  1012  	}
  1013  	return 0
  1014  }
  1015  
  1016  func (m *TwoOctetAsSpecificExtended) GetLocalAdmin() uint32 {
  1017  	if m != nil {
  1018  		return m.LocalAdmin
  1019  	}
  1020  	return 0
  1021  }
  1022  
  1023  type IPv4AddressSpecificExtended struct {
  1024  	IsTransitive bool   `protobuf:"varint,1,opt,name=is_transitive,json=isTransitive" json:"is_transitive,omitempty"`
  1025  	SubType      uint32 `protobuf:"varint,2,opt,name=sub_type,json=subType" json:"sub_type,omitempty"`
  1026  	Address      string `protobuf:"bytes,3,opt,name=address" json:"address,omitempty"`
  1027  	LocalAdmin   uint32 `protobuf:"varint,4,opt,name=local_admin,json=localAdmin" json:"local_admin,omitempty"`
  1028  }
  1029  
  1030  func (m *IPv4AddressSpecificExtended) Reset()                    { *m = IPv4AddressSpecificExtended{} }
  1031  func (m *IPv4AddressSpecificExtended) String() string            { return proto.CompactTextString(m) }
  1032  func (*IPv4AddressSpecificExtended) ProtoMessage()               {}
  1033  func (*IPv4AddressSpecificExtended) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{35} }
  1034  
  1035  func (m *IPv4AddressSpecificExtended) GetIsTransitive() bool {
  1036  	if m != nil {
  1037  		return m.IsTransitive
  1038  	}
  1039  	return false
  1040  }
  1041  
  1042  func (m *IPv4AddressSpecificExtended) GetSubType() uint32 {
  1043  	if m != nil {
  1044  		return m.SubType
  1045  	}
  1046  	return 0
  1047  }
  1048  
  1049  func (m *IPv4AddressSpecificExtended) GetAddress() string {
  1050  	if m != nil {
  1051  		return m.Address
  1052  	}
  1053  	return ""
  1054  }
  1055  
  1056  func (m *IPv4AddressSpecificExtended) GetLocalAdmin() uint32 {
  1057  	if m != nil {
  1058  		return m.LocalAdmin
  1059  	}
  1060  	return 0
  1061  }
  1062  
  1063  type FourOctetAsSpecificExtended struct {
  1064  	IsTransitive bool   `protobuf:"varint,1,opt,name=is_transitive,json=isTransitive" json:"is_transitive,omitempty"`
  1065  	SubType      uint32 `protobuf:"varint,2,opt,name=sub_type,json=subType" json:"sub_type,omitempty"`
  1066  	As           uint32 `protobuf:"varint,3,opt,name=as" json:"as,omitempty"`
  1067  	LocalAdmin   uint32 `protobuf:"varint,4,opt,name=local_admin,json=localAdmin" json:"local_admin,omitempty"`
  1068  }
  1069  
  1070  func (m *FourOctetAsSpecificExtended) Reset()                    { *m = FourOctetAsSpecificExtended{} }
  1071  func (m *FourOctetAsSpecificExtended) String() string            { return proto.CompactTextString(m) }
  1072  func (*FourOctetAsSpecificExtended) ProtoMessage()               {}
  1073  func (*FourOctetAsSpecificExtended) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{36} }
  1074  
  1075  func (m *FourOctetAsSpecificExtended) GetIsTransitive() bool {
  1076  	if m != nil {
  1077  		return m.IsTransitive
  1078  	}
  1079  	return false
  1080  }
  1081  
  1082  func (m *FourOctetAsSpecificExtended) GetSubType() uint32 {
  1083  	if m != nil {
  1084  		return m.SubType
  1085  	}
  1086  	return 0
  1087  }
  1088  
  1089  func (m *FourOctetAsSpecificExtended) GetAs() uint32 {
  1090  	if m != nil {
  1091  		return m.As
  1092  	}
  1093  	return 0
  1094  }
  1095  
  1096  func (m *FourOctetAsSpecificExtended) GetLocalAdmin() uint32 {
  1097  	if m != nil {
  1098  		return m.LocalAdmin
  1099  	}
  1100  	return 0
  1101  }
  1102  
  1103  type ValidationExtended struct {
  1104  	State uint32 `protobuf:"varint,1,opt,name=state" json:"state,omitempty"`
  1105  }
  1106  
  1107  func (m *ValidationExtended) Reset()                    { *m = ValidationExtended{} }
  1108  func (m *ValidationExtended) String() string            { return proto.CompactTextString(m) }
  1109  func (*ValidationExtended) ProtoMessage()               {}
  1110  func (*ValidationExtended) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{37} }
  1111  
  1112  func (m *ValidationExtended) GetState() uint32 {
  1113  	if m != nil {
  1114  		return m.State
  1115  	}
  1116  	return 0
  1117  }
  1118  
  1119  type ColorExtended struct {
  1120  	Color uint32 `protobuf:"varint,1,opt,name=color" json:"color,omitempty"`
  1121  }
  1122  
  1123  func (m *ColorExtended) Reset()                    { *m = ColorExtended{} }
  1124  func (m *ColorExtended) String() string            { return proto.CompactTextString(m) }
  1125  func (*ColorExtended) ProtoMessage()               {}
  1126  func (*ColorExtended) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{38} }
  1127  
  1128  func (m *ColorExtended) GetColor() uint32 {
  1129  	if m != nil {
  1130  		return m.Color
  1131  	}
  1132  	return 0
  1133  }
  1134  
  1135  type EncapExtended struct {
  1136  	TunnelType uint32 `protobuf:"varint,1,opt,name=tunnel_type,json=tunnelType" json:"tunnel_type,omitempty"`
  1137  }
  1138  
  1139  func (m *EncapExtended) Reset()                    { *m = EncapExtended{} }
  1140  func (m *EncapExtended) String() string            { return proto.CompactTextString(m) }
  1141  func (*EncapExtended) ProtoMessage()               {}
  1142  func (*EncapExtended) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{39} }
  1143  
  1144  func (m *EncapExtended) GetTunnelType() uint32 {
  1145  	if m != nil {
  1146  		return m.TunnelType
  1147  	}
  1148  	return 0
  1149  }
  1150  
  1151  type DefaultGatewayExtended struct {
  1152  }
  1153  
  1154  func (m *DefaultGatewayExtended) Reset()                    { *m = DefaultGatewayExtended{} }
  1155  func (m *DefaultGatewayExtended) String() string            { return proto.CompactTextString(m) }
  1156  func (*DefaultGatewayExtended) ProtoMessage()               {}
  1157  func (*DefaultGatewayExtended) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{40} }
  1158  
  1159  type OpaqueExtended struct {
  1160  	IsTransitive bool   `protobuf:"varint,1,opt,name=is_transitive,json=isTransitive" json:"is_transitive,omitempty"`
  1161  	Value        []byte `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"`
  1162  }
  1163  
  1164  func (m *OpaqueExtended) Reset()                    { *m = OpaqueExtended{} }
  1165  func (m *OpaqueExtended) String() string            { return proto.CompactTextString(m) }
  1166  func (*OpaqueExtended) ProtoMessage()               {}
  1167  func (*OpaqueExtended) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{41} }
  1168  
  1169  func (m *OpaqueExtended) GetIsTransitive() bool {
  1170  	if m != nil {
  1171  		return m.IsTransitive
  1172  	}
  1173  	return false
  1174  }
  1175  
  1176  func (m *OpaqueExtended) GetValue() []byte {
  1177  	if m != nil {
  1178  		return m.Value
  1179  	}
  1180  	return nil
  1181  }
  1182  
  1183  type ESILabelExtended struct {
  1184  	IsSingleActive bool   `protobuf:"varint,1,opt,name=is_single_active,json=isSingleActive" json:"is_single_active,omitempty"`
  1185  	Label          uint32 `protobuf:"varint,2,opt,name=label" json:"label,omitempty"`
  1186  }
  1187  
  1188  func (m *ESILabelExtended) Reset()                    { *m = ESILabelExtended{} }
  1189  func (m *ESILabelExtended) String() string            { return proto.CompactTextString(m) }
  1190  func (*ESILabelExtended) ProtoMessage()               {}
  1191  func (*ESILabelExtended) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{42} }
  1192  
  1193  func (m *ESILabelExtended) GetIsSingleActive() bool {
  1194  	if m != nil {
  1195  		return m.IsSingleActive
  1196  	}
  1197  	return false
  1198  }
  1199  
  1200  func (m *ESILabelExtended) GetLabel() uint32 {
  1201  	if m != nil {
  1202  		return m.Label
  1203  	}
  1204  	return 0
  1205  }
  1206  
  1207  type ESImportRouteTarget struct {
  1208  	EsImport string `protobuf:"bytes,1,opt,name=es_import,json=esImport" json:"es_import,omitempty"`
  1209  }
  1210  
  1211  func (m *ESImportRouteTarget) Reset()                    { *m = ESImportRouteTarget{} }
  1212  func (m *ESImportRouteTarget) String() string            { return proto.CompactTextString(m) }
  1213  func (*ESImportRouteTarget) ProtoMessage()               {}
  1214  func (*ESImportRouteTarget) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{43} }
  1215  
  1216  func (m *ESImportRouteTarget) GetEsImport() string {
  1217  	if m != nil {
  1218  		return m.EsImport
  1219  	}
  1220  	return ""
  1221  }
  1222  
  1223  type MacMobilityExtended struct {
  1224  	IsSticky    bool   `protobuf:"varint,1,opt,name=is_sticky,json=isSticky" json:"is_sticky,omitempty"`
  1225  	SequenceNum uint32 `protobuf:"varint,2,opt,name=sequence_num,json=sequenceNum" json:"sequence_num,omitempty"`
  1226  }
  1227  
  1228  func (m *MacMobilityExtended) Reset()                    { *m = MacMobilityExtended{} }
  1229  func (m *MacMobilityExtended) String() string            { return proto.CompactTextString(m) }
  1230  func (*MacMobilityExtended) ProtoMessage()               {}
  1231  func (*MacMobilityExtended) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{44} }
  1232  
  1233  func (m *MacMobilityExtended) GetIsSticky() bool {
  1234  	if m != nil {
  1235  		return m.IsSticky
  1236  	}
  1237  	return false
  1238  }
  1239  
  1240  func (m *MacMobilityExtended) GetSequenceNum() uint32 {
  1241  	if m != nil {
  1242  		return m.SequenceNum
  1243  	}
  1244  	return 0
  1245  }
  1246  
  1247  type RouterMacExtended struct {
  1248  	Mac string `protobuf:"bytes,1,opt,name=mac" json:"mac,omitempty"`
  1249  }
  1250  
  1251  func (m *RouterMacExtended) Reset()                    { *m = RouterMacExtended{} }
  1252  func (m *RouterMacExtended) String() string            { return proto.CompactTextString(m) }
  1253  func (*RouterMacExtended) ProtoMessage()               {}
  1254  func (*RouterMacExtended) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{45} }
  1255  
  1256  func (m *RouterMacExtended) GetMac() string {
  1257  	if m != nil {
  1258  		return m.Mac
  1259  	}
  1260  	return ""
  1261  }
  1262  
  1263  type TrafficRateExtended struct {
  1264  	As   uint32  `protobuf:"varint,1,opt,name=as" json:"as,omitempty"`
  1265  	Rate float32 `protobuf:"fixed32,2,opt,name=rate" json:"rate,omitempty"`
  1266  }
  1267  
  1268  func (m *TrafficRateExtended) Reset()                    { *m = TrafficRateExtended{} }
  1269  func (m *TrafficRateExtended) String() string            { return proto.CompactTextString(m) }
  1270  func (*TrafficRateExtended) ProtoMessage()               {}
  1271  func (*TrafficRateExtended) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{46} }
  1272  
  1273  func (m *TrafficRateExtended) GetAs() uint32 {
  1274  	if m != nil {
  1275  		return m.As
  1276  	}
  1277  	return 0
  1278  }
  1279  
  1280  func (m *TrafficRateExtended) GetRate() float32 {
  1281  	if m != nil {
  1282  		return m.Rate
  1283  	}
  1284  	return 0
  1285  }
  1286  
  1287  type TrafficActionExtended struct {
  1288  	Terminal bool `protobuf:"varint,1,opt,name=terminal" json:"terminal,omitempty"`
  1289  	Sample   bool `protobuf:"varint,2,opt,name=sample" json:"sample,omitempty"`
  1290  }
  1291  
  1292  func (m *TrafficActionExtended) Reset()                    { *m = TrafficActionExtended{} }
  1293  func (m *TrafficActionExtended) String() string            { return proto.CompactTextString(m) }
  1294  func (*TrafficActionExtended) ProtoMessage()               {}
  1295  func (*TrafficActionExtended) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{47} }
  1296  
  1297  func (m *TrafficActionExtended) GetTerminal() bool {
  1298  	if m != nil {
  1299  		return m.Terminal
  1300  	}
  1301  	return false
  1302  }
  1303  
  1304  func (m *TrafficActionExtended) GetSample() bool {
  1305  	if m != nil {
  1306  		return m.Sample
  1307  	}
  1308  	return false
  1309  }
  1310  
  1311  type RedirectTwoOctetAsSpecificExtended struct {
  1312  	As         uint32 `protobuf:"varint,1,opt,name=as" json:"as,omitempty"`
  1313  	LocalAdmin uint32 `protobuf:"varint,2,opt,name=local_admin,json=localAdmin" json:"local_admin,omitempty"`
  1314  }
  1315  
  1316  func (m *RedirectTwoOctetAsSpecificExtended) Reset()         { *m = RedirectTwoOctetAsSpecificExtended{} }
  1317  func (m *RedirectTwoOctetAsSpecificExtended) String() string { return proto.CompactTextString(m) }
  1318  func (*RedirectTwoOctetAsSpecificExtended) ProtoMessage()    {}
  1319  func (*RedirectTwoOctetAsSpecificExtended) Descriptor() ([]byte, []int) {
  1320  	return fileDescriptor1, []int{48}
  1321  }
  1322  
  1323  func (m *RedirectTwoOctetAsSpecificExtended) GetAs() uint32 {
  1324  	if m != nil {
  1325  		return m.As
  1326  	}
  1327  	return 0
  1328  }
  1329  
  1330  func (m *RedirectTwoOctetAsSpecificExtended) GetLocalAdmin() uint32 {
  1331  	if m != nil {
  1332  		return m.LocalAdmin
  1333  	}
  1334  	return 0
  1335  }
  1336  
  1337  type RedirectIPv4AddressSpecificExtended struct {
  1338  	Address    string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"`
  1339  	LocalAdmin uint32 `protobuf:"varint,2,opt,name=local_admin,json=localAdmin" json:"local_admin,omitempty"`
  1340  }
  1341  
  1342  func (m *RedirectIPv4AddressSpecificExtended) Reset()         { *m = RedirectIPv4AddressSpecificExtended{} }
  1343  func (m *RedirectIPv4AddressSpecificExtended) String() string { return proto.CompactTextString(m) }
  1344  func (*RedirectIPv4AddressSpecificExtended) ProtoMessage()    {}
  1345  func (*RedirectIPv4AddressSpecificExtended) Descriptor() ([]byte, []int) {
  1346  	return fileDescriptor1, []int{49}
  1347  }
  1348  
  1349  func (m *RedirectIPv4AddressSpecificExtended) GetAddress() string {
  1350  	if m != nil {
  1351  		return m.Address
  1352  	}
  1353  	return ""
  1354  }
  1355  
  1356  func (m *RedirectIPv4AddressSpecificExtended) GetLocalAdmin() uint32 {
  1357  	if m != nil {
  1358  		return m.LocalAdmin
  1359  	}
  1360  	return 0
  1361  }
  1362  
  1363  type RedirectFourOctetAsSpecificExtended struct {
  1364  	As         uint32 `protobuf:"varint,1,opt,name=as" json:"as,omitempty"`
  1365  	LocalAdmin uint32 `protobuf:"varint,2,opt,name=local_admin,json=localAdmin" json:"local_admin,omitempty"`
  1366  }
  1367  
  1368  func (m *RedirectFourOctetAsSpecificExtended) Reset()         { *m = RedirectFourOctetAsSpecificExtended{} }
  1369  func (m *RedirectFourOctetAsSpecificExtended) String() string { return proto.CompactTextString(m) }
  1370  func (*RedirectFourOctetAsSpecificExtended) ProtoMessage()    {}
  1371  func (*RedirectFourOctetAsSpecificExtended) Descriptor() ([]byte, []int) {
  1372  	return fileDescriptor1, []int{50}
  1373  }
  1374  
  1375  func (m *RedirectFourOctetAsSpecificExtended) GetAs() uint32 {
  1376  	if m != nil {
  1377  		return m.As
  1378  	}
  1379  	return 0
  1380  }
  1381  
  1382  func (m *RedirectFourOctetAsSpecificExtended) GetLocalAdmin() uint32 {
  1383  	if m != nil {
  1384  		return m.LocalAdmin
  1385  	}
  1386  	return 0
  1387  }
  1388  
  1389  type TrafficRemarkExtended struct {
  1390  	Dscp uint32 `protobuf:"varint,1,opt,name=dscp" json:"dscp,omitempty"`
  1391  }
  1392  
  1393  func (m *TrafficRemarkExtended) Reset()                    { *m = TrafficRemarkExtended{} }
  1394  func (m *TrafficRemarkExtended) String() string            { return proto.CompactTextString(m) }
  1395  func (*TrafficRemarkExtended) ProtoMessage()               {}
  1396  func (*TrafficRemarkExtended) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{51} }
  1397  
  1398  func (m *TrafficRemarkExtended) GetDscp() uint32 {
  1399  	if m != nil {
  1400  		return m.Dscp
  1401  	}
  1402  	return 0
  1403  }
  1404  
  1405  type UnknownExtended struct {
  1406  	Type  uint32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"`
  1407  	Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
  1408  }
  1409  
  1410  func (m *UnknownExtended) Reset()                    { *m = UnknownExtended{} }
  1411  func (m *UnknownExtended) String() string            { return proto.CompactTextString(m) }
  1412  func (*UnknownExtended) ProtoMessage()               {}
  1413  func (*UnknownExtended) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{52} }
  1414  
  1415  func (m *UnknownExtended) GetType() uint32 {
  1416  	if m != nil {
  1417  		return m.Type
  1418  	}
  1419  	return 0
  1420  }
  1421  
  1422  func (m *UnknownExtended) GetValue() []byte {
  1423  	if m != nil {
  1424  		return m.Value
  1425  	}
  1426  	return nil
  1427  }
  1428  
  1429  type ExtendedCommunitiesAttribute struct {
  1430  	// Each Community must be one of:
  1431  	// - TwoOctetAsSpecificExtended
  1432  	// - IPv4AddressSpecificExtended
  1433  	// - FourOctetAsSpecificExtended
  1434  	// - OpaqueExtended
  1435  	// - ESILabelExtended
  1436  	// - MacMobilityExtended
  1437  	// - RouterMacExtended
  1438  	// - TrafficRateExtended
  1439  	// - TrafficActionExtended
  1440  	// - RedirectTwoOctetAsSpecificExtended
  1441  	// - RedirectIPv4AddressSpecificExtended
  1442  	// - RedirectFourOctetAsSpecificExtended
  1443  	// - TrafficRemarkExtended
  1444  	// - UnknownExtended
  1445  	Communities []*google_protobuf.Any `protobuf:"bytes,1,rep,name=communities" json:"communities,omitempty"`
  1446  }
  1447  
  1448  func (m *ExtendedCommunitiesAttribute) Reset()                    { *m = ExtendedCommunitiesAttribute{} }
  1449  func (m *ExtendedCommunitiesAttribute) String() string            { return proto.CompactTextString(m) }
  1450  func (*ExtendedCommunitiesAttribute) ProtoMessage()               {}
  1451  func (*ExtendedCommunitiesAttribute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{53} }
  1452  
  1453  func (m *ExtendedCommunitiesAttribute) GetCommunities() []*google_protobuf.Any {
  1454  	if m != nil {
  1455  		return m.Communities
  1456  	}
  1457  	return nil
  1458  }
  1459  
  1460  type As4PathAttribute struct {
  1461  	Segments []*AsSegment `protobuf:"bytes,1,rep,name=segments" json:"segments,omitempty"`
  1462  }
  1463  
  1464  func (m *As4PathAttribute) Reset()                    { *m = As4PathAttribute{} }
  1465  func (m *As4PathAttribute) String() string            { return proto.CompactTextString(m) }
  1466  func (*As4PathAttribute) ProtoMessage()               {}
  1467  func (*As4PathAttribute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{54} }
  1468  
  1469  func (m *As4PathAttribute) GetSegments() []*AsSegment {
  1470  	if m != nil {
  1471  		return m.Segments
  1472  	}
  1473  	return nil
  1474  }
  1475  
  1476  type As4AggregatorAttribute struct {
  1477  	As      uint32 `protobuf:"varint,2,opt,name=as" json:"as,omitempty"`
  1478  	Address string `protobuf:"bytes,3,opt,name=address" json:"address,omitempty"`
  1479  }
  1480  
  1481  func (m *As4AggregatorAttribute) Reset()                    { *m = As4AggregatorAttribute{} }
  1482  func (m *As4AggregatorAttribute) String() string            { return proto.CompactTextString(m) }
  1483  func (*As4AggregatorAttribute) ProtoMessage()               {}
  1484  func (*As4AggregatorAttribute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{55} }
  1485  
  1486  func (m *As4AggregatorAttribute) GetAs() uint32 {
  1487  	if m != nil {
  1488  		return m.As
  1489  	}
  1490  	return 0
  1491  }
  1492  
  1493  func (m *As4AggregatorAttribute) GetAddress() string {
  1494  	if m != nil {
  1495  		return m.Address
  1496  	}
  1497  	return ""
  1498  }
  1499  
  1500  type PmsiTunnelAttribute struct {
  1501  	Flags uint32 `protobuf:"varint,1,opt,name=flags" json:"flags,omitempty"`
  1502  	Type  uint32 `protobuf:"varint,2,opt,name=type" json:"type,omitempty"`
  1503  	Label uint32 `protobuf:"varint,3,opt,name=label" json:"label,omitempty"`
  1504  	Id    []byte `protobuf:"bytes,4,opt,name=id,proto3" json:"id,omitempty"`
  1505  }
  1506  
  1507  func (m *PmsiTunnelAttribute) Reset()                    { *m = PmsiTunnelAttribute{} }
  1508  func (m *PmsiTunnelAttribute) String() string            { return proto.CompactTextString(m) }
  1509  func (*PmsiTunnelAttribute) ProtoMessage()               {}
  1510  func (*PmsiTunnelAttribute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{56} }
  1511  
  1512  func (m *PmsiTunnelAttribute) GetFlags() uint32 {
  1513  	if m != nil {
  1514  		return m.Flags
  1515  	}
  1516  	return 0
  1517  }
  1518  
  1519  func (m *PmsiTunnelAttribute) GetType() uint32 {
  1520  	if m != nil {
  1521  		return m.Type
  1522  	}
  1523  	return 0
  1524  }
  1525  
  1526  func (m *PmsiTunnelAttribute) GetLabel() uint32 {
  1527  	if m != nil {
  1528  		return m.Label
  1529  	}
  1530  	return 0
  1531  }
  1532  
  1533  func (m *PmsiTunnelAttribute) GetId() []byte {
  1534  	if m != nil {
  1535  		return m.Id
  1536  	}
  1537  	return nil
  1538  }
  1539  
  1540  type TunnelEncapSubTLVEncapsulation struct {
  1541  	Key    uint32 `protobuf:"varint,1,opt,name=key" json:"key,omitempty"`
  1542  	Cookie []byte `protobuf:"bytes,2,opt,name=cookie,proto3" json:"cookie,omitempty"`
  1543  }
  1544  
  1545  func (m *TunnelEncapSubTLVEncapsulation) Reset()                    { *m = TunnelEncapSubTLVEncapsulation{} }
  1546  func (m *TunnelEncapSubTLVEncapsulation) String() string            { return proto.CompactTextString(m) }
  1547  func (*TunnelEncapSubTLVEncapsulation) ProtoMessage()               {}
  1548  func (*TunnelEncapSubTLVEncapsulation) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{57} }
  1549  
  1550  func (m *TunnelEncapSubTLVEncapsulation) GetKey() uint32 {
  1551  	if m != nil {
  1552  		return m.Key
  1553  	}
  1554  	return 0
  1555  }
  1556  
  1557  func (m *TunnelEncapSubTLVEncapsulation) GetCookie() []byte {
  1558  	if m != nil {
  1559  		return m.Cookie
  1560  	}
  1561  	return nil
  1562  }
  1563  
  1564  type TunnelEncapSubTLVProtocol struct {
  1565  	Protocol uint32 `protobuf:"varint,1,opt,name=protocol" json:"protocol,omitempty"`
  1566  }
  1567  
  1568  func (m *TunnelEncapSubTLVProtocol) Reset()                    { *m = TunnelEncapSubTLVProtocol{} }
  1569  func (m *TunnelEncapSubTLVProtocol) String() string            { return proto.CompactTextString(m) }
  1570  func (*TunnelEncapSubTLVProtocol) ProtoMessage()               {}
  1571  func (*TunnelEncapSubTLVProtocol) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{58} }
  1572  
  1573  func (m *TunnelEncapSubTLVProtocol) GetProtocol() uint32 {
  1574  	if m != nil {
  1575  		return m.Protocol
  1576  	}
  1577  	return 0
  1578  }
  1579  
  1580  type TunnelEncapSubTLVColor struct {
  1581  	Color uint32 `protobuf:"varint,1,opt,name=color" json:"color,omitempty"`
  1582  }
  1583  
  1584  func (m *TunnelEncapSubTLVColor) Reset()                    { *m = TunnelEncapSubTLVColor{} }
  1585  func (m *TunnelEncapSubTLVColor) String() string            { return proto.CompactTextString(m) }
  1586  func (*TunnelEncapSubTLVColor) ProtoMessage()               {}
  1587  func (*TunnelEncapSubTLVColor) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{59} }
  1588  
  1589  func (m *TunnelEncapSubTLVColor) GetColor() uint32 {
  1590  	if m != nil {
  1591  		return m.Color
  1592  	}
  1593  	return 0
  1594  }
  1595  
  1596  type TunnelEncapSubTLVUnknown struct {
  1597  	Type  uint32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"`
  1598  	Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
  1599  }
  1600  
  1601  func (m *TunnelEncapSubTLVUnknown) Reset()                    { *m = TunnelEncapSubTLVUnknown{} }
  1602  func (m *TunnelEncapSubTLVUnknown) String() string            { return proto.CompactTextString(m) }
  1603  func (*TunnelEncapSubTLVUnknown) ProtoMessage()               {}
  1604  func (*TunnelEncapSubTLVUnknown) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{60} }
  1605  
  1606  func (m *TunnelEncapSubTLVUnknown) GetType() uint32 {
  1607  	if m != nil {
  1608  		return m.Type
  1609  	}
  1610  	return 0
  1611  }
  1612  
  1613  func (m *TunnelEncapSubTLVUnknown) GetValue() []byte {
  1614  	if m != nil {
  1615  		return m.Value
  1616  	}
  1617  	return nil
  1618  }
  1619  
  1620  type TunnelEncapTLV struct {
  1621  	Type uint32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"`
  1622  	// Each TLV must be one of:
  1623  	// - TunnelEncapSubTLVEncapsulation
  1624  	// - TunnelEncapSubTLVProtocol
  1625  	// - TunnelEncapSubTLVColor
  1626  	// - TunnelEncapSubTLVUnknown
  1627  	Tlvs []*google_protobuf.Any `protobuf:"bytes,2,rep,name=tlvs" json:"tlvs,omitempty"`
  1628  }
  1629  
  1630  func (m *TunnelEncapTLV) Reset()                    { *m = TunnelEncapTLV{} }
  1631  func (m *TunnelEncapTLV) String() string            { return proto.CompactTextString(m) }
  1632  func (*TunnelEncapTLV) ProtoMessage()               {}
  1633  func (*TunnelEncapTLV) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{61} }
  1634  
  1635  func (m *TunnelEncapTLV) GetType() uint32 {
  1636  	if m != nil {
  1637  		return m.Type
  1638  	}
  1639  	return 0
  1640  }
  1641  
  1642  func (m *TunnelEncapTLV) GetTlvs() []*google_protobuf.Any {
  1643  	if m != nil {
  1644  		return m.Tlvs
  1645  	}
  1646  	return nil
  1647  }
  1648  
  1649  type TunnelEncapAttribute struct {
  1650  	Tlvs []*TunnelEncapTLV `protobuf:"bytes,1,rep,name=tlvs" json:"tlvs,omitempty"`
  1651  }
  1652  
  1653  func (m *TunnelEncapAttribute) Reset()                    { *m = TunnelEncapAttribute{} }
  1654  func (m *TunnelEncapAttribute) String() string            { return proto.CompactTextString(m) }
  1655  func (*TunnelEncapAttribute) ProtoMessage()               {}
  1656  func (*TunnelEncapAttribute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{62} }
  1657  
  1658  func (m *TunnelEncapAttribute) GetTlvs() []*TunnelEncapTLV {
  1659  	if m != nil {
  1660  		return m.Tlvs
  1661  	}
  1662  	return nil
  1663  }
  1664  
  1665  type IPv6AddressSpecificExtended struct {
  1666  	IsTransitive bool   `protobuf:"varint,1,opt,name=is_transitive,json=isTransitive" json:"is_transitive,omitempty"`
  1667  	SubType      uint32 `protobuf:"varint,2,opt,name=sub_type,json=subType" json:"sub_type,omitempty"`
  1668  	Address      string `protobuf:"bytes,3,opt,name=address" json:"address,omitempty"`
  1669  	LocalAdmin   uint32 `protobuf:"varint,4,opt,name=local_admin,json=localAdmin" json:"local_admin,omitempty"`
  1670  }
  1671  
  1672  func (m *IPv6AddressSpecificExtended) Reset()                    { *m = IPv6AddressSpecificExtended{} }
  1673  func (m *IPv6AddressSpecificExtended) String() string            { return proto.CompactTextString(m) }
  1674  func (*IPv6AddressSpecificExtended) ProtoMessage()               {}
  1675  func (*IPv6AddressSpecificExtended) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{63} }
  1676  
  1677  func (m *IPv6AddressSpecificExtended) GetIsTransitive() bool {
  1678  	if m != nil {
  1679  		return m.IsTransitive
  1680  	}
  1681  	return false
  1682  }
  1683  
  1684  func (m *IPv6AddressSpecificExtended) GetSubType() uint32 {
  1685  	if m != nil {
  1686  		return m.SubType
  1687  	}
  1688  	return 0
  1689  }
  1690  
  1691  func (m *IPv6AddressSpecificExtended) GetAddress() string {
  1692  	if m != nil {
  1693  		return m.Address
  1694  	}
  1695  	return ""
  1696  }
  1697  
  1698  func (m *IPv6AddressSpecificExtended) GetLocalAdmin() uint32 {
  1699  	if m != nil {
  1700  		return m.LocalAdmin
  1701  	}
  1702  	return 0
  1703  }
  1704  
  1705  type RedirectIPv6AddressSpecificExtended struct {
  1706  	Address    string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"`
  1707  	LocalAdmin uint32 `protobuf:"varint,2,opt,name=local_admin,json=localAdmin" json:"local_admin,omitempty"`
  1708  }
  1709  
  1710  func (m *RedirectIPv6AddressSpecificExtended) Reset()         { *m = RedirectIPv6AddressSpecificExtended{} }
  1711  func (m *RedirectIPv6AddressSpecificExtended) String() string { return proto.CompactTextString(m) }
  1712  func (*RedirectIPv6AddressSpecificExtended) ProtoMessage()    {}
  1713  func (*RedirectIPv6AddressSpecificExtended) Descriptor() ([]byte, []int) {
  1714  	return fileDescriptor1, []int{64}
  1715  }
  1716  
  1717  func (m *RedirectIPv6AddressSpecificExtended) GetAddress() string {
  1718  	if m != nil {
  1719  		return m.Address
  1720  	}
  1721  	return ""
  1722  }
  1723  
  1724  func (m *RedirectIPv6AddressSpecificExtended) GetLocalAdmin() uint32 {
  1725  	if m != nil {
  1726  		return m.LocalAdmin
  1727  	}
  1728  	return 0
  1729  }
  1730  
  1731  type IP6ExtendedCommunitiesAttribute struct {
  1732  	// Each Community must be one of:
  1733  	// - IPv6AddressSpecificExtended
  1734  	// - RedirectIPv6AddressSpecificExtended
  1735  	Communities []*google_protobuf.Any `protobuf:"bytes,1,rep,name=communities" json:"communities,omitempty"`
  1736  }
  1737  
  1738  func (m *IP6ExtendedCommunitiesAttribute) Reset()         { *m = IP6ExtendedCommunitiesAttribute{} }
  1739  func (m *IP6ExtendedCommunitiesAttribute) String() string { return proto.CompactTextString(m) }
  1740  func (*IP6ExtendedCommunitiesAttribute) ProtoMessage()    {}
  1741  func (*IP6ExtendedCommunitiesAttribute) Descriptor() ([]byte, []int) {
  1742  	return fileDescriptor1, []int{65}
  1743  }
  1744  
  1745  func (m *IP6ExtendedCommunitiesAttribute) GetCommunities() []*google_protobuf.Any {
  1746  	if m != nil {
  1747  		return m.Communities
  1748  	}
  1749  	return nil
  1750  }
  1751  
  1752  type AigpTLVIGPMetric struct {
  1753  	Metric uint64 `protobuf:"varint,1,opt,name=metric" json:"metric,omitempty"`
  1754  }
  1755  
  1756  func (m *AigpTLVIGPMetric) Reset()                    { *m = AigpTLVIGPMetric{} }
  1757  func (m *AigpTLVIGPMetric) String() string            { return proto.CompactTextString(m) }
  1758  func (*AigpTLVIGPMetric) ProtoMessage()               {}
  1759  func (*AigpTLVIGPMetric) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{66} }
  1760  
  1761  func (m *AigpTLVIGPMetric) GetMetric() uint64 {
  1762  	if m != nil {
  1763  		return m.Metric
  1764  	}
  1765  	return 0
  1766  }
  1767  
  1768  type AigpTLVUnknown struct {
  1769  	Type  uint32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"`
  1770  	Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
  1771  }
  1772  
  1773  func (m *AigpTLVUnknown) Reset()                    { *m = AigpTLVUnknown{} }
  1774  func (m *AigpTLVUnknown) String() string            { return proto.CompactTextString(m) }
  1775  func (*AigpTLVUnknown) ProtoMessage()               {}
  1776  func (*AigpTLVUnknown) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{67} }
  1777  
  1778  func (m *AigpTLVUnknown) GetType() uint32 {
  1779  	if m != nil {
  1780  		return m.Type
  1781  	}
  1782  	return 0
  1783  }
  1784  
  1785  func (m *AigpTLVUnknown) GetValue() []byte {
  1786  	if m != nil {
  1787  		return m.Value
  1788  	}
  1789  	return nil
  1790  }
  1791  
  1792  type AigpAttribute struct {
  1793  	// Each TLV must be one of:
  1794  	// - AigpTLVIGPMetric
  1795  	// - AigpTLVUnknown
  1796  	Tlvs []*google_protobuf.Any `protobuf:"bytes,1,rep,name=tlvs" json:"tlvs,omitempty"`
  1797  }
  1798  
  1799  func (m *AigpAttribute) Reset()                    { *m = AigpAttribute{} }
  1800  func (m *AigpAttribute) String() string            { return proto.CompactTextString(m) }
  1801  func (*AigpAttribute) ProtoMessage()               {}
  1802  func (*AigpAttribute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{68} }
  1803  
  1804  func (m *AigpAttribute) GetTlvs() []*google_protobuf.Any {
  1805  	if m != nil {
  1806  		return m.Tlvs
  1807  	}
  1808  	return nil
  1809  }
  1810  
  1811  type LargeCommunity struct {
  1812  	GlobalAdmin uint32 `protobuf:"varint,1,opt,name=global_admin,json=globalAdmin" json:"global_admin,omitempty"`
  1813  	LocalData1  uint32 `protobuf:"varint,2,opt,name=local_data1,json=localData1" json:"local_data1,omitempty"`
  1814  	LocalData2  uint32 `protobuf:"varint,3,opt,name=local_data2,json=localData2" json:"local_data2,omitempty"`
  1815  }
  1816  
  1817  func (m *LargeCommunity) Reset()                    { *m = LargeCommunity{} }
  1818  func (m *LargeCommunity) String() string            { return proto.CompactTextString(m) }
  1819  func (*LargeCommunity) ProtoMessage()               {}
  1820  func (*LargeCommunity) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{69} }
  1821  
  1822  func (m *LargeCommunity) GetGlobalAdmin() uint32 {
  1823  	if m != nil {
  1824  		return m.GlobalAdmin
  1825  	}
  1826  	return 0
  1827  }
  1828  
  1829  func (m *LargeCommunity) GetLocalData1() uint32 {
  1830  	if m != nil {
  1831  		return m.LocalData1
  1832  	}
  1833  	return 0
  1834  }
  1835  
  1836  func (m *LargeCommunity) GetLocalData2() uint32 {
  1837  	if m != nil {
  1838  		return m.LocalData2
  1839  	}
  1840  	return 0
  1841  }
  1842  
  1843  type LargeCommunitiesAttribute struct {
  1844  	Communities []*LargeCommunity `protobuf:"bytes,1,rep,name=communities" json:"communities,omitempty"`
  1845  }
  1846  
  1847  func (m *LargeCommunitiesAttribute) Reset()                    { *m = LargeCommunitiesAttribute{} }
  1848  func (m *LargeCommunitiesAttribute) String() string            { return proto.CompactTextString(m) }
  1849  func (*LargeCommunitiesAttribute) ProtoMessage()               {}
  1850  func (*LargeCommunitiesAttribute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{70} }
  1851  
  1852  func (m *LargeCommunitiesAttribute) GetCommunities() []*LargeCommunity {
  1853  	if m != nil {
  1854  		return m.Communities
  1855  	}
  1856  	return nil
  1857  }
  1858  
  1859  type UnknownAttribute struct {
  1860  	Flags uint32 `protobuf:"varint,1,opt,name=flags" json:"flags,omitempty"`
  1861  	Type  uint32 `protobuf:"varint,2,opt,name=type" json:"type,omitempty"`
  1862  	Value []byte `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"`
  1863  }
  1864  
  1865  func (m *UnknownAttribute) Reset()                    { *m = UnknownAttribute{} }
  1866  func (m *UnknownAttribute) String() string            { return proto.CompactTextString(m) }
  1867  func (*UnknownAttribute) ProtoMessage()               {}
  1868  func (*UnknownAttribute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{71} }
  1869  
  1870  func (m *UnknownAttribute) GetFlags() uint32 {
  1871  	if m != nil {
  1872  		return m.Flags
  1873  	}
  1874  	return 0
  1875  }
  1876  
  1877  func (m *UnknownAttribute) GetType() uint32 {
  1878  	if m != nil {
  1879  		return m.Type
  1880  	}
  1881  	return 0
  1882  }
  1883  
  1884  func (m *UnknownAttribute) GetValue() []byte {
  1885  	if m != nil {
  1886  		return m.Value
  1887  	}
  1888  	return nil
  1889  }
  1890  
  1891  func init() {
  1892  	proto.RegisterType((*OriginAttribute)(nil), "gobgpapi.OriginAttribute")
  1893  	proto.RegisterType((*AsSegment)(nil), "gobgpapi.AsSegment")
  1894  	proto.RegisterType((*AsPathAttribute)(nil), "gobgpapi.AsPathAttribute")
  1895  	proto.RegisterType((*NextHopAttribute)(nil), "gobgpapi.NextHopAttribute")
  1896  	proto.RegisterType((*MultiExitDiscAttribute)(nil), "gobgpapi.MultiExitDiscAttribute")
  1897  	proto.RegisterType((*LocalPrefAttribute)(nil), "gobgpapi.LocalPrefAttribute")
  1898  	proto.RegisterType((*AtomicAggregateAttribute)(nil), "gobgpapi.AtomicAggregateAttribute")
  1899  	proto.RegisterType((*AggregatorAttribute)(nil), "gobgpapi.AggregatorAttribute")
  1900  	proto.RegisterType((*CommunitiesAttribute)(nil), "gobgpapi.CommunitiesAttribute")
  1901  	proto.RegisterType((*OriginatorIdAttribute)(nil), "gobgpapi.OriginatorIdAttribute")
  1902  	proto.RegisterType((*ClusterListAttribute)(nil), "gobgpapi.ClusterListAttribute")
  1903  	proto.RegisterType((*IPAddressPrefix)(nil), "gobgpapi.IPAddressPrefix")
  1904  	proto.RegisterType((*LabeledIPAddressPrefix)(nil), "gobgpapi.LabeledIPAddressPrefix")
  1905  	proto.RegisterType((*EncapsulationNLRI)(nil), "gobgpapi.EncapsulationNLRI")
  1906  	proto.RegisterType((*RouteDistinguisherTwoOctetAS)(nil), "gobgpapi.RouteDistinguisherTwoOctetAS")
  1907  	proto.RegisterType((*RouteDistinguisherIPAddress)(nil), "gobgpapi.RouteDistinguisherIPAddress")
  1908  	proto.RegisterType((*RouteDistinguisherFourOctetAS)(nil), "gobgpapi.RouteDistinguisherFourOctetAS")
  1909  	proto.RegisterType((*EthernetSegmentIdentifier)(nil), "gobgpapi.EthernetSegmentIdentifier")
  1910  	proto.RegisterType((*EVPNEthernetAutoDiscoveryRoute)(nil), "gobgpapi.EVPNEthernetAutoDiscoveryRoute")
  1911  	proto.RegisterType((*EVPNMACIPAdvertisementRoute)(nil), "gobgpapi.EVPNMACIPAdvertisementRoute")
  1912  	proto.RegisterType((*EVPNInclusiveMulticastEthernetTagRoute)(nil), "gobgpapi.EVPNInclusiveMulticastEthernetTagRoute")
  1913  	proto.RegisterType((*EVPNEthernetSegmentRoute)(nil), "gobgpapi.EVPNEthernetSegmentRoute")
  1914  	proto.RegisterType((*EVPNIPPrefixRoute)(nil), "gobgpapi.EVPNIPPrefixRoute")
  1915  	proto.RegisterType((*LabeledVPNIPAddressPrefix)(nil), "gobgpapi.LabeledVPNIPAddressPrefix")
  1916  	proto.RegisterType((*RouteTargetMembershipNLRI)(nil), "gobgpapi.RouteTargetMembershipNLRI")
  1917  	proto.RegisterType((*FlowSpecIPPrefix)(nil), "gobgpapi.FlowSpecIPPrefix")
  1918  	proto.RegisterType((*FlowSpecMAC)(nil), "gobgpapi.FlowSpecMAC")
  1919  	proto.RegisterType((*FlowSpecComponentItem)(nil), "gobgpapi.FlowSpecComponentItem")
  1920  	proto.RegisterType((*FlowSpecComponent)(nil), "gobgpapi.FlowSpecComponent")
  1921  	proto.RegisterType((*FlowSpecNLRI)(nil), "gobgpapi.FlowSpecNLRI")
  1922  	proto.RegisterType((*VPNFlowSpecNLRI)(nil), "gobgpapi.VPNFlowSpecNLRI")
  1923  	proto.RegisterType((*OpaqueNLRI)(nil), "gobgpapi.OpaqueNLRI")
  1924  	proto.RegisterType((*MpReachNLRIAttribute)(nil), "gobgpapi.MpReachNLRIAttribute")
  1925  	proto.RegisterType((*MpUnreachNLRIAttribute)(nil), "gobgpapi.MpUnreachNLRIAttribute")
  1926  	proto.RegisterType((*TwoOctetAsSpecificExtended)(nil), "gobgpapi.TwoOctetAsSpecificExtended")
  1927  	proto.RegisterType((*IPv4AddressSpecificExtended)(nil), "gobgpapi.IPv4AddressSpecificExtended")
  1928  	proto.RegisterType((*FourOctetAsSpecificExtended)(nil), "gobgpapi.FourOctetAsSpecificExtended")
  1929  	proto.RegisterType((*ValidationExtended)(nil), "gobgpapi.ValidationExtended")
  1930  	proto.RegisterType((*ColorExtended)(nil), "gobgpapi.ColorExtended")
  1931  	proto.RegisterType((*EncapExtended)(nil), "gobgpapi.EncapExtended")
  1932  	proto.RegisterType((*DefaultGatewayExtended)(nil), "gobgpapi.DefaultGatewayExtended")
  1933  	proto.RegisterType((*OpaqueExtended)(nil), "gobgpapi.OpaqueExtended")
  1934  	proto.RegisterType((*ESILabelExtended)(nil), "gobgpapi.ESILabelExtended")
  1935  	proto.RegisterType((*ESImportRouteTarget)(nil), "gobgpapi.ESImportRouteTarget")
  1936  	proto.RegisterType((*MacMobilityExtended)(nil), "gobgpapi.MacMobilityExtended")
  1937  	proto.RegisterType((*RouterMacExtended)(nil), "gobgpapi.RouterMacExtended")
  1938  	proto.RegisterType((*TrafficRateExtended)(nil), "gobgpapi.TrafficRateExtended")
  1939  	proto.RegisterType((*TrafficActionExtended)(nil), "gobgpapi.TrafficActionExtended")
  1940  	proto.RegisterType((*RedirectTwoOctetAsSpecificExtended)(nil), "gobgpapi.RedirectTwoOctetAsSpecificExtended")
  1941  	proto.RegisterType((*RedirectIPv4AddressSpecificExtended)(nil), "gobgpapi.RedirectIPv4AddressSpecificExtended")
  1942  	proto.RegisterType((*RedirectFourOctetAsSpecificExtended)(nil), "gobgpapi.RedirectFourOctetAsSpecificExtended")
  1943  	proto.RegisterType((*TrafficRemarkExtended)(nil), "gobgpapi.TrafficRemarkExtended")
  1944  	proto.RegisterType((*UnknownExtended)(nil), "gobgpapi.UnknownExtended")
  1945  	proto.RegisterType((*ExtendedCommunitiesAttribute)(nil), "gobgpapi.ExtendedCommunitiesAttribute")
  1946  	proto.RegisterType((*As4PathAttribute)(nil), "gobgpapi.As4PathAttribute")
  1947  	proto.RegisterType((*As4AggregatorAttribute)(nil), "gobgpapi.As4AggregatorAttribute")
  1948  	proto.RegisterType((*PmsiTunnelAttribute)(nil), "gobgpapi.PmsiTunnelAttribute")
  1949  	proto.RegisterType((*TunnelEncapSubTLVEncapsulation)(nil), "gobgpapi.TunnelEncapSubTLVEncapsulation")
  1950  	proto.RegisterType((*TunnelEncapSubTLVProtocol)(nil), "gobgpapi.TunnelEncapSubTLVProtocol")
  1951  	proto.RegisterType((*TunnelEncapSubTLVColor)(nil), "gobgpapi.TunnelEncapSubTLVColor")
  1952  	proto.RegisterType((*TunnelEncapSubTLVUnknown)(nil), "gobgpapi.TunnelEncapSubTLVUnknown")
  1953  	proto.RegisterType((*TunnelEncapTLV)(nil), "gobgpapi.TunnelEncapTLV")
  1954  	proto.RegisterType((*TunnelEncapAttribute)(nil), "gobgpapi.TunnelEncapAttribute")
  1955  	proto.RegisterType((*IPv6AddressSpecificExtended)(nil), "gobgpapi.IPv6AddressSpecificExtended")
  1956  	proto.RegisterType((*RedirectIPv6AddressSpecificExtended)(nil), "gobgpapi.RedirectIPv6AddressSpecificExtended")
  1957  	proto.RegisterType((*IP6ExtendedCommunitiesAttribute)(nil), "gobgpapi.IP6ExtendedCommunitiesAttribute")
  1958  	proto.RegisterType((*AigpTLVIGPMetric)(nil), "gobgpapi.AigpTLVIGPMetric")
  1959  	proto.RegisterType((*AigpTLVUnknown)(nil), "gobgpapi.AigpTLVUnknown")
  1960  	proto.RegisterType((*AigpAttribute)(nil), "gobgpapi.AigpAttribute")
  1961  	proto.RegisterType((*LargeCommunity)(nil), "gobgpapi.LargeCommunity")
  1962  	proto.RegisterType((*LargeCommunitiesAttribute)(nil), "gobgpapi.LargeCommunitiesAttribute")
  1963  	proto.RegisterType((*UnknownAttribute)(nil), "gobgpapi.UnknownAttribute")
  1964  }
  1965  
  1966  func init() { proto.RegisterFile("attribute.proto", fileDescriptor1) }
  1967  
  1968  var fileDescriptor1 = []byte{
  1969  	// 1881 bytes of a gzipped FileDescriptorProto
  1970  	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0x4b, 0x73, 0x1b, 0xc7,
  1971  	0x11, 0x2e, 0x2c, 0x40, 0x0a, 0x68, 0x10, 0x24, 0x04, 0x52, 0x2c, 0x90, 0xb4, 0x4c, 0x65, 0x14,
  1972  	0x27, 0x8c, 0x12, 0x53, 0x09, 0x2d, 0x2b, 0x91, 0x5c, 0xa9, 0x14, 0x4c, 0xd2, 0x36, 0x62, 0x82,
  1973  	0x82, 0x97, 0x14, 0x53, 0xb9, 0x04, 0x19, 0xec, 0x0e, 0x96, 0x53, 0xdc, 0x97, 0x77, 0x66, 0xf9,
  1974  	0xf8, 0x09, 0x3e, 0x24, 0xa5, 0x53, 0x2a, 0xbf, 0x24, 0xff, 0x2c, 0xf7, 0xd4, 0xbc, 0xf6, 0x41,
  1975  	0xf0, 0x21, 0x4a, 0x51, 0x95, 0x6e, 0xdb, 0xb3, 0x3d, 0xdd, 0x3d, 0xdf, 0x74, 0x7f, 0xdd, 0xbb,
  1976  	0xb0, 0x80, 0x39, 0x4f, 0xe8, 0x38, 0xe5, 0x64, 0x33, 0x4e, 0x22, 0x1e, 0x75, 0xea, 0x5e, 0x34,
  1977  	0xf6, 0x62, 0x1c, 0xd3, 0xd5, 0x15, 0x2f, 0x8a, 0x3c, 0x9f, 0x3c, 0x95, 0xeb, 0xe3, 0x74, 0xf2,
  1978  	0x14, 0x87, 0x17, 0x4a, 0x69, 0xb5, 0x29, 0x95, 0x94, 0x80, 0x7e, 0x05, 0x0b, 0xaf, 0x12, 0xea,
  1979  	0xd1, 0xb0, 0x67, 0x4c, 0x75, 0x96, 0x61, 0x36, 0x92, 0x4b, 0xdd, 0xca, 0xa3, 0xca, 0x46, 0xcb,
  1980  	0xd6, 0x12, 0x7a, 0x01, 0x8d, 0x1e, 0x3b, 0x20, 0x5e, 0x40, 0x42, 0xde, 0xe9, 0x40, 0x8d, 0x5f,
  1981  	0xc4, 0x44, 0xab, 0xc8, 0xe7, 0x4e, 0x17, 0xee, 0x85, 0x69, 0x30, 0x26, 0x09, 0xeb, 0x5a, 0x8f,
  1982  	0xaa, 0x1b, 0x2d, 0xdb, 0x88, 0xe8, 0x6b, 0x58, 0xe8, 0xb1, 0x21, 0xe6, 0xc7, 0xb9, 0x97, 0xa7,
  1983  	0x50, 0x67, 0xca, 0x16, 0xeb, 0x56, 0x1e, 0x55, 0x37, 0x9a, 0x5b, 0x8b, 0x9b, 0x26, 0xfa, 0xcd,
  1984  	0xcc, 0x8f, 0x9d, 0x29, 0xa1, 0xcf, 0xa1, 0xbd, 0x4f, 0xce, 0xf9, 0x77, 0x51, 0x9c, 0x1b, 0x59,
  1985  	0x81, 0x7a, 0x48, 0xce, 0xf9, 0xe8, 0x38, 0x8a, 0x65, 0x24, 0x0d, 0xfb, 0x5e, 0xa8, 0x74, 0xd0,
  1986  	0x13, 0x58, 0x1e, 0xa4, 0x3e, 0xa7, 0xbb, 0xe7, 0x94, 0xef, 0x50, 0xe6, 0xe4, 0x9b, 0xda, 0x50,
  1987  	0x0d, 0x88, 0xab, 0x23, 0x17, 0x8f, 0xe8, 0x0b, 0xe8, 0xec, 0x45, 0x0e, 0xf6, 0x87, 0x09, 0x99,
  1988  	0xe4, 0x7a, 0x0f, 0x01, 0x7c, 0xb1, 0x3a, 0x8a, 0x13, 0x32, 0xd1, 0xea, 0x0d, 0xdf, 0xe8, 0xa1,
  1989  	0x55, 0xe8, 0xf6, 0x78, 0x14, 0x50, 0xa7, 0xe7, 0x79, 0x09, 0xf1, 0x30, 0x27, 0xd9, 0x56, 0xf4,
  1990  	0x27, 0x58, 0x34, 0xab, 0x51, 0x92, 0x5b, 0x9c, 0x07, 0x0b, 0x0b, 0x6c, 0x84, 0x25, 0x0b, 0x33,
  1991  	0x01, 0x18, 0x76, 0xdd, 0x84, 0x30, 0xd6, 0xad, 0xaa, 0xe8, 0xb5, 0x88, 0xfe, 0x00, 0x4b, 0xdb,
  1992  	0x51, 0x10, 0xa4, 0x21, 0xe5, 0x94, 0xb0, 0xdc, 0xc2, 0x23, 0x68, 0x3a, 0xf9, 0xba, 0x04, 0xae,
  1993  	0x65, 0x17, 0x97, 0xd0, 0x2f, 0xe1, 0x81, 0xba, 0x50, 0xe1, 0xba, 0xef, 0x96, 0x9c, 0x53, 0x57,
  1994  	0xa3, 0x64, 0x51, 0x17, 0x6d, 0xc0, 0xd2, 0xb6, 0x9f, 0x32, 0x4e, 0x92, 0x3d, 0xca, 0x78, 0x09,
  1995  	0x1e, 0xea, 0x2a, 0xd3, 0x0d, 0x5b, 0x3c, 0xa2, 0xef, 0x60, 0xa1, 0x3f, 0xec, 0xa9, 0xc8, 0xc4,
  1996  	0xd1, 0xe9, 0xb9, 0xc0, 0x26, 0x96, 0x4f, 0x23, 0x9f, 0x98, 0x3c, 0x69, 0xa8, 0x95, 0x3d, 0x12,
  1997  	0x8a, 0x14, 0x52, 0x82, 0x3c, 0x6c, 0xc3, 0xd6, 0x12, 0xf2, 0x60, 0x79, 0x0f, 0x8f, 0x89, 0x4f,
  1998  	0xdc, 0xcb, 0x06, 0x97, 0x61, 0xd6, 0x17, 0x6f, 0xcc, 0x99, 0xb4, 0x74, 0xc9, 0x91, 0x75, 0xbd,
  1999  	0xa3, 0x6a, 0xc9, 0xd1, 0xe7, 0x70, 0x7f, 0x37, 0x74, 0x70, 0xcc, 0x52, 0x1f, 0x73, 0x1a, 0x85,
  2000  	0xfb, 0x7b, 0x76, 0xbf, 0x08, 0x77, 0xa5, 0x0c, 0xf7, 0x10, 0x3e, 0xb1, 0xa3, 0x94, 0x93, 0x1d,
  2001  	0xca, 0x38, 0x0d, 0xbd, 0x94, 0xb2, 0x63, 0x92, 0x1c, 0x9e, 0x45, 0xaf, 0x1c, 0x4e, 0x78, 0xef,
  2002  	0xa0, 0xb3, 0x04, 0x33, 0xd8, 0x0d, 0xb2, 0x8a, 0x50, 0x42, 0x67, 0x15, 0xea, 0x98, 0x31, 0xea,
  2003  	0x85, 0xc4, 0xd5, 0x91, 0x65, 0x32, 0x7a, 0x05, 0x6b, 0xd3, 0x16, 0xb3, 0x43, 0x97, 0x0d, 0x36,
  2004  	0xde, 0xc6, 0xe0, 0x0f, 0xf0, 0x70, 0xda, 0xe0, 0x37, 0x51, 0x9a, 0xbc, 0x7b, 0x8c, 0xbb, 0xb0,
  2005  	0xb2, 0xcb, 0x8f, 0x49, 0x12, 0x12, 0xae, 0xcb, 0xad, 0xef, 0x92, 0x90, 0xd3, 0x09, 0x25, 0xc9,
  2006  	0x95, 0x05, 0xbe, 0x04, 0x33, 0xa7, 0xd8, 0x4f, 0x89, 0xb4, 0x34, 0x67, 0x2b, 0x01, 0xfd, 0xa7,
  2007  	0x02, 0x9f, 0xee, 0x1e, 0x0d, 0xf7, 0x8d, 0xad, 0x5e, 0xca, 0x23, 0x51, 0x71, 0xd1, 0x29, 0x49,
  2008  	0x2e, 0x64, 0xcc, 0x9d, 0x9f, 0x83, 0x95, 0xa8, 0xdc, 0x6b, 0x6e, 0x2d, 0x6d, 0x2a, 0x6a, 0xda,
  2009  	0x34, 0xd4, 0xb4, 0xd9, 0x0b, 0x2f, 0x6c, 0x2b, 0x71, 0x3b, 0x5f, 0x42, 0x95, 0x30, 0x2a, 0x8d,
  2010  	0x37, 0xb7, 0x1e, 0xe7, 0x6c, 0x70, 0x6d, 0x90, 0xb6, 0xd0, 0xef, 0xfc, 0x0c, 0xe6, 0x88, 0xd6,
  2011  	0x18, 0x71, 0xec, 0xc9, 0x4c, 0x68, 0xd9, 0x4d, 0xb3, 0x76, 0x88, 0x3d, 0x11, 0xb8, 0xcc, 0xa7,
  2012  	0x6e, 0x4d, 0x61, 0x23, 0x05, 0xf4, 0xdf, 0x0a, 0xac, 0x89, 0xc0, 0x07, 0xbd, 0x6d, 0x71, 0x33,
  2013  	0xa7, 0x24, 0xe1, 0x94, 0x11, 0x49, 0x3b, 0x1f, 0x45, 0xd4, 0xeb, 0xd0, 0x0c, 0xb0, 0x33, 0x32,
  2014  	0x39, 0x5b, 0x93, 0xa9, 0x02, 0x01, 0x76, 0x4c, 0x16, 0x3d, 0x04, 0xa0, 0x71, 0xf6, 0x7e, 0x46,
  2015  	0xbe, 0x6f, 0xd0, 0xd8, 0xbc, 0xce, 0x6b, 0x6a, 0xb6, 0x58, 0x53, 0xe8, 0x4d, 0x05, 0x7e, 0x21,
  2016  	0xce, 0xdd, 0x0f, 0x1d, 0x3f, 0x65, 0xf4, 0x94, 0x48, 0xa2, 0x74, 0x30, 0xe3, 0xbb, 0xb9, 0xf7,
  2017  	0xbb, 0x40, 0x70, 0xf9, 0x2c, 0xd6, 0xf4, 0x59, 0xca, 0xa1, 0x56, 0x2f, 0x85, 0x8a, 0xfe, 0x55,
  2018  	0x81, 0x6e, 0x31, 0x87, 0x0c, 0xfd, 0x7f, 0xf8, 0x7b, 0xb8, 0x25, 0xb0, 0x9f, 0x2c, 0xb8, 0x2f,
  2019  	0xb1, 0x1a, 0x2a, 0xa2, 0xfa, 0x38, 0x32, 0x63, 0x0d, 0x1a, 0x34, 0x1e, 0x69, 0xe6, 0x53, 0x79,
  2020  	0x51, 0xa7, 0xb1, 0xa6, 0x52, 0x04, 0xad, 0xec, 0xa5, 0x64, 0xcd, 0x19, 0x65, 0xc0, 0x28, 0x08,
  2021  	0xde, 0x7c, 0x08, 0xe0, 0x9d, 0x65, 0xa7, 0x9e, 0x55, 0xa7, 0xf6, 0xce, 0x0a, 0xf4, 0xa4, 0xea,
  2022  	0xe5, 0x5e, 0xb1, 0x5e, 0xde, 0x54, 0x60, 0x45, 0xd3, 0xb7, 0x44, 0xe4, 0xed, 0x18, 0x5c, 0x61,
  2023  	0x65, 0xdd, 0x82, 0x55, 0x99, 0xe7, 0xab, 0xd7, 0xf3, 0x7c, 0xad, 0xc4, 0xf3, 0x3f, 0xc0, 0x8a,
  2024  	0xbc, 0x91, 0x43, 0x9c, 0x78, 0x84, 0x0f, 0x88, 0x1c, 0x37, 0x8e, 0x69, 0x2c, 0xf9, 0x5e, 0xb5,
  2025  	0xdb, 0x4a, 0xd6, 0x6e, 0x45, 0x24, 0xfc, 0x96, 0x48, 0x38, 0x4a, 0xa1, 0xfd, 0x8d, 0x1f, 0x9d,
  2026  	0x1d, 0xc4, 0xc4, 0x31, 0x97, 0x7e, 0x25, 0x19, 0xbe, 0x5b, 0x67, 0x92, 0xd3, 0xd5, 0x64, 0xc2,
  2027  	0x08, 0xd7, 0x5c, 0xa4, 0x25, 0xf4, 0x15, 0x34, 0x8d, 0xdb, 0x41, 0x6f, 0xfb, 0xba, 0xf9, 0xca,
  2028  	0xdc, 0x98, 0x55, 0xee, 0x5f, 0x7f, 0x84, 0x07, 0x66, 0xf3, 0x76, 0x14, 0xc4, 0x51, 0x28, 0xd2,
  2029  	0x8a, 0x93, 0x40, 0x40, 0xa0, 0x47, 0xa3, 0x96, 0x6d, 0x45, 0x71, 0x99, 0xc1, 0x6b, 0x86, 0xc1,
  2030  	0xff, 0x06, 0xf7, 0xa7, 0xb6, 0x5f, 0x19, 0xc1, 0x97, 0x30, 0x43, 0x39, 0x09, 0xd4, 0x7c, 0xd7,
  2031  	0xdc, 0x5a, 0xcf, 0x73, 0xfa, 0x4a, 0xf7, 0xb6, 0xd2, 0x46, 0x2f, 0x61, 0xce, 0xbc, 0x97, 0x17,
  2032  	0xf3, 0x04, 0x66, 0x92, 0xd4, 0x27, 0x66, 0xf0, 0xbb, 0xfa, 0x2e, 0x94, 0x0a, 0x72, 0x60, 0xe1,
  2033  	0x68, 0xb8, 0x5f, 0xda, 0xfe, 0x76, 0xd5, 0x97, 0x39, 0xb1, 0x6e, 0x77, 0xf2, 0x0c, 0xe0, 0x55,
  2034  	0x8c, 0x7f, 0x4c, 0x89, 0xb4, 0xdf, 0x86, 0xea, 0x09, 0xb9, 0x90, 0x0e, 0xe6, 0x6c, 0xf1, 0x78,
  2035  	0x4d, 0xe3, 0xfb, 0xa9, 0x02, 0x4b, 0x83, 0xd8, 0x26, 0xd8, 0x39, 0x16, 0xfb, 0xf2, 0x11, 0x6a,
  2036  	0x03, 0x66, 0x27, 0x38, 0xa0, 0xfe, 0x85, 0x0e, 0xb2, 0x5d, 0xc0, 0x49, 0xae, 0xdb, 0xfa, 0xbd,
  2037  	0x28, 0x64, 0x33, 0xc0, 0xaa, 0x40, 0x1b, 0x76, 0x5d, 0x4f, 0xb0, 0x4c, 0x9c, 0x20, 0xf4, 0x13,
  2038  	0x2a, 0x58, 0xe9, 0x86, 0x13, 0x48, 0x15, 0x14, 0xc2, 0xf2, 0x20, 0x7e, 0x1d, 0x26, 0xef, 0x13,
  2039  	0xcc, 0x5d, 0xfc, 0xfd, 0xa3, 0x02, 0xab, 0xd9, 0x80, 0xc4, 0xc4, 0xd5, 0xd0, 0x09, 0x75, 0x76,
  2040  	0xcf, 0x39, 0x09, 0x5d, 0xe2, 0x76, 0x1e, 0x43, 0x8b, 0xb2, 0x11, 0x4f, 0x70, 0xc8, 0x28, 0xa7,
  2041  	0xa7, 0x2a, 0x8b, 0xea, 0xf6, 0x1c, 0x65, 0x87, 0xd9, 0x9a, 0x98, 0xde, 0x59, 0x3a, 0x1e, 0xc9,
  2042  	0x2c, 0x53, 0xf5, 0x73, 0x8f, 0xa5, 0xe3, 0x43, 0x91, 0x68, 0xaa, 0x74, 0xab, 0x59, 0xe9, 0xae,
  2043  	0x43, 0x53, 0xcd, 0xe2, 0x6a, 0xc4, 0x51, 0xa5, 0xa3, 0xc6, 0xf3, 0x9e, 0x58, 0x41, 0xff, 0xae,
  2044  	0xc0, 0x5a, 0x7f, 0x78, 0xfa, 0x4c, 0x73, 0xd2, 0xff, 0x3d, 0xa0, 0x6b, 0x47, 0xf5, 0xdb, 0x43,
  2045  	0xfb, 0x67, 0x05, 0xd6, 0xf2, 0x41, 0xed, 0x23, 0xc0, 0xea, 0x09, 0x74, 0x8e, 0xb0, 0x4f, 0x5d,
  2046  	0x39, 0x19, 0x67, 0x61, 0x2c, 0xc1, 0x0c, 0xe3, 0x98, 0x9b, 0x82, 0x57, 0x02, 0xfa, 0x0c, 0x5a,
  2047  	0xdb, 0x91, 0x1f, 0x25, 0x45, 0x35, 0x47, 0x2c, 0x18, 0x35, 0x29, 0xa0, 0xdf, 0x42, 0x4b, 0xce,
  2048  	0xdb, 0x99, 0xda, 0x3a, 0x34, 0x79, 0x1a, 0x86, 0xc4, 0x1f, 0x15, 0x48, 0x04, 0xd4, 0x92, 0x88,
  2049  	0x1a, 0x75, 0x61, 0x79, 0x87, 0x4c, 0x70, 0xea, 0xf3, 0x6f, 0x31, 0x27, 0x67, 0xf8, 0xc2, 0x6c,
  2050  	0x45, 0xdf, 0xc3, 0xbc, 0x2a, 0xc6, 0xbb, 0x21, 0x94, 0xd5, 0x68, 0xb5, 0x58, 0xa3, 0x36, 0xb4,
  2051  	0x77, 0x0f, 0xfa, 0xb2, 0x6b, 0x65, 0xe6, 0x36, 0xa0, 0x4d, 0xd9, 0x88, 0xd1, 0xd0, 0xf3, 0xc9,
  2052  	0x08, 0x3b, 0x05, 0x8b, 0xf3, 0x94, 0x1d, 0xc8, 0xe5, 0x9e, 0x63, 0x6c, 0xaa, 0x3e, 0x68, 0x15,
  2053  	0xfb, 0xe0, 0x16, 0x2c, 0xee, 0x1e, 0xf4, 0x83, 0x38, 0x4a, 0x78, 0xa1, 0xf9, 0x88, 0x5a, 0x26,
  2054  	0x6c, 0x44, 0xe5, 0xba, 0x9e, 0xeb, 0xeb, 0x84, 0x29, 0x3d, 0xf4, 0x1a, 0x16, 0x07, 0xd8, 0x19,
  2055  	0x44, 0x63, 0xea, 0x53, 0x9e, 0x9d, 0x55, 0x36, 0x72, 0x36, 0x62, 0x9c, 0x3a, 0x27, 0x17, 0x3a,
  2056  	0x86, 0x3a, 0x65, 0x07, 0x52, 0x16, 0x83, 0x00, 0x23, 0x3f, 0xa6, 0x24, 0x74, 0xc8, 0x28, 0x4c,
  2057  	0x03, 0x33, 0x56, 0x99, 0xb5, 0xfd, 0x34, 0x40, 0x9f, 0xc1, 0x7d, 0x19, 0x42, 0x32, 0xc0, 0x79,
  2058  	0x42, 0x89, 0x0f, 0x5c, 0xec, 0xe8, 0x10, 0xc4, 0x23, 0x7a, 0x01, 0x8b, 0x87, 0x09, 0x9e, 0x4c,
  2059  	0xa8, 0x63, 0x63, 0x9e, 0xe3, 0x7a, 0xb9, 0x41, 0x76, 0xa0, 0x96, 0x88, 0x0c, 0x10, 0x8e, 0x2c,
  2060  	0x5b, 0x3e, 0xa3, 0xef, 0xe1, 0x81, 0xde, 0x2a, 0x30, 0x29, 0xe4, 0xcb, 0x2a, 0xd4, 0x39, 0x49,
  2061  	0x02, 0x1a, 0x62, 0xdf, 0x44, 0x6e, 0x64, 0xd1, 0xe4, 0x18, 0x0e, 0x62, 0x5f, 0x99, 0xaa, 0xdb,
  2062  	0x5a, 0x42, 0xaf, 0x01, 0xd9, 0xc4, 0xa5, 0x09, 0x71, 0xf8, 0x0d, 0xe4, 0x71, 0x39, 0xac, 0x4b,
  2063  	0x09, 0x6d, 0x4d, 0x25, 0xf4, 0xdf, 0xe1, 0xb1, 0x31, 0x7b, 0x13, 0x07, 0x5c, 0xfb, 0xfd, 0x77,
  2064  	0xbb, 0x87, 0xa3, 0xdc, 0xc3, 0x4d, 0xa5, 0x7c, 0xe7, 0xc8, 0x7f, 0x9d, 0xa1, 0x6b, 0x93, 0x00,
  2065  	0x27, 0x27, 0x99, 0xa5, 0x0e, 0xd4, 0x5c, 0xe6, 0x98, 0xd6, 0x2d, 0x9f, 0xd1, 0x57, 0xb0, 0xf0,
  2066  	0x3a, 0x3c, 0x09, 0xa3, 0xb3, 0xb0, 0xa8, 0xf6, 0x96, 0x5f, 0x69, 0x47, 0xf0, 0x89, 0xd9, 0x75,
  2067  	0xe5, 0x9f, 0x85, 0xe7, 0xd3, 0x7f, 0x16, 0xae, 0x6b, 0x01, 0xa5, 0xff, 0x0d, 0xdb, 0xd0, 0xee,
  2068  	0xb1, 0x67, 0xef, 0xf9, 0x6f, 0xe7, 0x6b, 0x58, 0xee, 0xb1, 0x67, 0xef, 0xf7, 0xcb, 0x84, 0xc0,
  2069  	0xe2, 0x30, 0x60, 0xf4, 0x50, 0x52, 0x4c, 0x6e, 0x60, 0x09, 0x66, 0x26, 0x3e, 0xf6, 0xcc, 0xad,
  2070  	0x28, 0x21, 0xc3, 0xcd, 0x2a, 0xe3, 0xa6, 0x8a, 0xbd, 0x5a, 0x28, 0x76, 0xfd, 0xdb, 0xa4, 0x26,
  2071  	0xa1, 0xb4, 0xa8, 0x8b, 0xfe, 0x0c, 0x9f, 0x2a, 0x17, 0x92, 0xef, 0x0e, 0xd2, 0xf1, 0xe1, 0xde,
  2072  	0x51, 0xe9, 0x57, 0x43, 0x71, 0x7c, 0x68, 0xa9, 0xf1, 0x61, 0x19, 0x66, 0x9d, 0x28, 0x3a, 0xa1,
  2073  	0xe6, 0x4a, 0xb4, 0x84, 0x7e, 0x0f, 0x2b, 0x53, 0xb6, 0x86, 0x02, 0x69, 0x27, 0xf2, 0x45, 0x7d,
  2074  	0xc5, 0xfa, 0x59, 0xdb, 0xca, 0x64, 0xb4, 0x09, 0xcb, 0x53, 0x1b, 0x25, 0x4d, 0x5f, 0x43, 0xcf,
  2075  	0x3b, 0xd0, 0x9d, 0xd2, 0xd7, 0xa9, 0x74, 0x87, 0x14, 0xda, 0x87, 0xf9, 0x82, 0x95, 0xc3, 0xbd,
  2076  	0xa3, 0x2b, 0xf7, 0x6e, 0x40, 0x8d, 0xfb, 0xa7, 0x37, 0x8f, 0x5d, 0x52, 0x03, 0xed, 0xc0, 0x52,
  2077  	0xc1, 0x5e, 0x7e, 0x65, 0xbf, 0xd1, 0x16, 0x54, 0xea, 0x74, 0xf3, 0xd4, 0x29, 0x7b, 0xd7, 0x56,
  2078  	0x74, 0xe7, 0x7f, 0xfe, 0x11, 0x76, 0xfe, 0x32, 0x2f, 0x3d, 0xff, 0x00, 0xbc, 0xf4, 0x57, 0x58,
  2079  	0xef, 0x0f, 0x9f, 0x7f, 0x90, 0xc2, 0x7e, 0x02, 0xed, 0x1e, 0xf5, 0x04, 0xd0, 0xfd, 0x6f, 0x87,
  2080  	0x03, 0xc2, 0x13, 0xea, 0x88, 0x44, 0x0e, 0xe4, 0x93, 0x0c, 0xb4, 0x66, 0x6b, 0x09, 0xbd, 0x84,
  2081  	0x79, 0xad, 0x7b, 0xf7, 0xac, 0x7a, 0x01, 0x2d, 0xb1, 0xb7, 0x38, 0xb0, 0x16, 0xaf, 0xff, 0xa6,
  2082  	0x04, 0x4a, 0x61, 0x7e, 0x4f, 0xf4, 0x5e, 0x73, 0x6e, 0xd9, 0x32, 0x3d, 0x3f, 0x1a, 0x67, 0x88,
  2083  	0x29, 0xf7, 0x4d, 0xb5, 0x26, 0x21, 0xcb, 0x31, 0x75, 0x31, 0xc7, 0xbf, 0x2b, 0x61, 0xba, 0x23,
  2084  	0x56, 0xca, 0x0a, 0x5b, 0x9a, 0x0d, 0x72, 0x85, 0x2d, 0xf4, 0x17, 0xf1, 0x19, 0x5c, 0x70, 0x5b,
  2085  	0x82, 0xfb, 0xe5, 0x55, 0x70, 0x17, 0x72, 0xb8, 0x1c, 0x70, 0x19, 0x72, 0x1b, 0xda, 0x1a, 0xbf,
  2086  	0x77, 0xe4, 0xaf, 0xe9, 0x01, 0x68, 0x3c, 0x2b, 0x71, 0xfb, 0xe2, 0x7f, 0x01, 0x00, 0x00, 0xff,
  2087  	0xff, 0xc5, 0x72, 0x43, 0xec, 0x2c, 0x18, 0x00, 0x00,
  2088  }