summaryrefslogtreecommitdiffhomepage
path: root/api
diff options
context:
space:
mode:
Diffstat (limited to 'api')
-rw-r--r--api/gobgp.pb.go2214
-rw-r--r--api/gobgp.proto1
-rw-r--r--api/grpc_server.go2
3 files changed, 1857 insertions, 360 deletions
diff --git a/api/gobgp.pb.go b/api/gobgp.pb.go
index 3feb7e64..b2ff2f8b 100644
--- a/api/gobgp.pb.go
+++ b/api/gobgp.pb.go
@@ -481,6 +481,7 @@ func (x Conditions_RouteType) String() string {
func (Conditions_RouteType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{120, 0} }
type GetNeighborRequest struct {
+ EnableAdvertised bool `protobuf:"varint,1,opt,name=enableAdvertised" json:"enableAdvertised,omitempty"`
}
func (m *GetNeighborRequest) Reset() { *m = GetNeighborRequest{} }
@@ -488,6 +489,13 @@ func (m *GetNeighborRequest) String() string { return proto.CompactTe
func (*GetNeighborRequest) ProtoMessage() {}
func (*GetNeighborRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
+func (m *GetNeighborRequest) GetEnableAdvertised() bool {
+ if m != nil {
+ return m.EnableAdvertised
+ }
+ return false
+}
+
type GetNeighborResponse struct {
Peers []*Peer `protobuf:"bytes,1,rep,name=peers" json:"peers,omitempty"`
}
@@ -515,6 +523,27 @@ func (m *Arguments) String() string { return proto.CompactTextString(
func (*Arguments) ProtoMessage() {}
func (*Arguments) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
+func (m *Arguments) GetResource() Resource {
+ if m != nil {
+ return m.Resource
+ }
+ return Resource_GLOBAL
+}
+
+func (m *Arguments) GetFamily() uint32 {
+ if m != nil {
+ return m.Family
+ }
+ return 0
+}
+
+func (m *Arguments) GetName() string {
+ if m != nil {
+ return m.Name
+ }
+ return ""
+}
+
type AddPathRequest struct {
Resource Resource `protobuf:"varint,1,opt,name=resource,enum=gobgpapi.Resource" json:"resource,omitempty"`
VrfId string `protobuf:"bytes,2,opt,name=vrf_id,json=vrfId" json:"vrf_id,omitempty"`
@@ -526,6 +555,20 @@ func (m *AddPathRequest) String() string { return proto.CompactTextSt
func (*AddPathRequest) ProtoMessage() {}
func (*AddPathRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
+func (m *AddPathRequest) GetResource() Resource {
+ if m != nil {
+ return m.Resource
+ }
+ return Resource_GLOBAL
+}
+
+func (m *AddPathRequest) GetVrfId() string {
+ if m != nil {
+ return m.VrfId
+ }
+ return ""
+}
+
func (m *AddPathRequest) GetPath() *Path {
if m != nil {
return m.Path
@@ -542,6 +585,13 @@ func (m *AddPathResponse) String() string { return proto.CompactTextS
func (*AddPathResponse) ProtoMessage() {}
func (*AddPathResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
+func (m *AddPathResponse) GetUuid() []byte {
+ if m != nil {
+ return m.Uuid
+ }
+ return nil
+}
+
type DeletePathRequest struct {
Resource Resource `protobuf:"varint,1,opt,name=resource,enum=gobgpapi.Resource" json:"resource,omitempty"`
VrfId string `protobuf:"bytes,2,opt,name=vrf_id,json=vrfId" json:"vrf_id,omitempty"`
@@ -555,6 +605,27 @@ func (m *DeletePathRequest) String() string { return proto.CompactTex
func (*DeletePathRequest) ProtoMessage() {}
func (*DeletePathRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
+func (m *DeletePathRequest) GetResource() Resource {
+ if m != nil {
+ return m.Resource
+ }
+ return Resource_GLOBAL
+}
+
+func (m *DeletePathRequest) GetVrfId() string {
+ if m != nil {
+ return m.VrfId
+ }
+ return ""
+}
+
+func (m *DeletePathRequest) GetFamily() uint32 {
+ if m != nil {
+ return m.Family
+ }
+ return 0
+}
+
func (m *DeletePathRequest) GetPath() *Path {
if m != nil {
return m.Path
@@ -562,6 +633,13 @@ func (m *DeletePathRequest) GetPath() *Path {
return nil
}
+func (m *DeletePathRequest) GetUuid() []byte {
+ if m != nil {
+ return m.Uuid
+ }
+ return nil
+}
+
type DeletePathResponse struct {
}
@@ -627,6 +705,13 @@ func (m *ResetNeighborRequest) String() string { return proto.Compact
func (*ResetNeighborRequest) ProtoMessage() {}
func (*ResetNeighborRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
+func (m *ResetNeighborRequest) GetAddress() string {
+ if m != nil {
+ return m.Address
+ }
+ return ""
+}
+
type ResetNeighborResponse struct {
}
@@ -645,6 +730,20 @@ func (m *SoftResetNeighborRequest) String() string { return proto.Com
func (*SoftResetNeighborRequest) ProtoMessage() {}
func (*SoftResetNeighborRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
+func (m *SoftResetNeighborRequest) GetAddress() string {
+ if m != nil {
+ return m.Address
+ }
+ return ""
+}
+
+func (m *SoftResetNeighborRequest) GetDirection() SoftResetNeighborRequest_SoftResetDirection {
+ if m != nil {
+ return m.Direction
+ }
+ return SoftResetNeighborRequest_IN
+}
+
type SoftResetNeighborResponse struct {
}
@@ -662,6 +761,13 @@ func (m *ShutdownNeighborRequest) String() string { return proto.Comp
func (*ShutdownNeighborRequest) ProtoMessage() {}
func (*ShutdownNeighborRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
+func (m *ShutdownNeighborRequest) GetAddress() string {
+ if m != nil {
+ return m.Address
+ }
+ return ""
+}
+
type ShutdownNeighborResponse struct {
}
@@ -679,6 +785,13 @@ func (m *EnableNeighborRequest) String() string { return proto.Compac
func (*EnableNeighborRequest) ProtoMessage() {}
func (*EnableNeighborRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }
+func (m *EnableNeighborRequest) GetAddress() string {
+ if m != nil {
+ return m.Address
+ }
+ return ""
+}
+
type EnableNeighborResponse struct {
}
@@ -696,6 +809,13 @@ func (m *DisableNeighborRequest) String() string { return proto.Compa
func (*DisableNeighborRequest) ProtoMessage() {}
func (*DisableNeighborRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} }
+func (m *DisableNeighborRequest) GetAddress() string {
+ if m != nil {
+ return m.Address
+ }
+ return ""
+}
+
type DisableNeighborResponse struct {
}
@@ -715,6 +835,27 @@ func (m *EnableMrtRequest) String() string { return proto.CompactText
func (*EnableMrtRequest) ProtoMessage() {}
func (*EnableMrtRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} }
+func (m *EnableMrtRequest) GetDumpType() int32 {
+ if m != nil {
+ return m.DumpType
+ }
+ return 0
+}
+
+func (m *EnableMrtRequest) GetFilename() string {
+ if m != nil {
+ return m.Filename
+ }
+ return ""
+}
+
+func (m *EnableMrtRequest) GetInterval() uint64 {
+ if m != nil {
+ return m.Interval
+ }
+ return 0
+}
+
type EnableMrtResponse struct {
}
@@ -750,6 +891,20 @@ func (m *InjectMrtRequest) String() string { return proto.CompactText
func (*InjectMrtRequest) ProtoMessage() {}
func (*InjectMrtRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{25} }
+func (m *InjectMrtRequest) GetResource() Resource {
+ if m != nil {
+ return m.Resource
+ }
+ return Resource_GLOBAL
+}
+
+func (m *InjectMrtRequest) GetVrfId() string {
+ if m != nil {
+ return m.VrfId
+ }
+ return ""
+}
+
func (m *InjectMrtRequest) GetPaths() []*Path {
if m != nil {
return m.Paths
@@ -776,6 +931,27 @@ func (m *AddBmpRequest) String() string { return proto.CompactTextStr
func (*AddBmpRequest) ProtoMessage() {}
func (*AddBmpRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{27} }
+func (m *AddBmpRequest) GetAddress() string {
+ if m != nil {
+ return m.Address
+ }
+ return ""
+}
+
+func (m *AddBmpRequest) GetPort() uint32 {
+ if m != nil {
+ return m.Port
+ }
+ return 0
+}
+
+func (m *AddBmpRequest) GetType() AddBmpRequest_MonitoringPolicy {
+ if m != nil {
+ return m.Type
+ }
+ return AddBmpRequest_PRE
+}
+
type AddBmpResponse struct {
}
@@ -794,6 +970,20 @@ func (m *DeleteBmpRequest) String() string { return proto.CompactText
func (*DeleteBmpRequest) ProtoMessage() {}
func (*DeleteBmpRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{29} }
+func (m *DeleteBmpRequest) GetAddress() string {
+ if m != nil {
+ return m.Address
+ }
+ return ""
+}
+
+func (m *DeleteBmpRequest) GetPort() uint32 {
+ if m != nil {
+ return m.Port
+ }
+ return 0
+}
+
type DeleteBmpResponse struct {
}
@@ -812,6 +1002,20 @@ func (m *RPKIConf) String() string { return proto.CompactTextString(m
func (*RPKIConf) ProtoMessage() {}
func (*RPKIConf) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{31} }
+func (m *RPKIConf) GetAddress() string {
+ if m != nil {
+ return m.Address
+ }
+ return ""
+}
+
+func (m *RPKIConf) GetRemotePort() string {
+ if m != nil {
+ return m.RemotePort
+ }
+ return ""
+}
+
type RPKIState struct {
Uptime int64 `protobuf:"varint,1,opt,name=uptime" json:"uptime,omitempty"`
Downtime int64 `protobuf:"varint,2,opt,name=downtime" json:"downtime,omitempty"`
@@ -837,6 +1041,125 @@ func (m *RPKIState) String() string { return proto.CompactTextString(
func (*RPKIState) ProtoMessage() {}
func (*RPKIState) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{32} }
+func (m *RPKIState) GetUptime() int64 {
+ if m != nil {
+ return m.Uptime
+ }
+ return 0
+}
+
+func (m *RPKIState) GetDowntime() int64 {
+ if m != nil {
+ return m.Downtime
+ }
+ return 0
+}
+
+func (m *RPKIState) GetUp() bool {
+ if m != nil {
+ return m.Up
+ }
+ return false
+}
+
+func (m *RPKIState) GetRecordIpv4() uint32 {
+ if m != nil {
+ return m.RecordIpv4
+ }
+ return 0
+}
+
+func (m *RPKIState) GetRecordIpv6() uint32 {
+ if m != nil {
+ return m.RecordIpv6
+ }
+ return 0
+}
+
+func (m *RPKIState) GetPrefixIpv4() uint32 {
+ if m != nil {
+ return m.PrefixIpv4
+ }
+ return 0
+}
+
+func (m *RPKIState) GetPrefixIpv6() uint32 {
+ if m != nil {
+ return m.PrefixIpv6
+ }
+ return 0
+}
+
+func (m *RPKIState) GetSerial() uint32 {
+ if m != nil {
+ return m.Serial
+ }
+ return 0
+}
+
+func (m *RPKIState) GetReceivedIpv4() int64 {
+ if m != nil {
+ return m.ReceivedIpv4
+ }
+ return 0
+}
+
+func (m *RPKIState) GetReceivedIpv6() int64 {
+ if m != nil {
+ return m.ReceivedIpv6
+ }
+ return 0
+}
+
+func (m *RPKIState) GetSerialNotify() int64 {
+ if m != nil {
+ return m.SerialNotify
+ }
+ return 0
+}
+
+func (m *RPKIState) GetCacheReset() int64 {
+ if m != nil {
+ return m.CacheReset
+ }
+ return 0
+}
+
+func (m *RPKIState) GetCacheResponse() int64 {
+ if m != nil {
+ return m.CacheResponse
+ }
+ return 0
+}
+
+func (m *RPKIState) GetEndOfData() int64 {
+ if m != nil {
+ return m.EndOfData
+ }
+ return 0
+}
+
+func (m *RPKIState) GetError() int64 {
+ if m != nil {
+ return m.Error
+ }
+ return 0
+}
+
+func (m *RPKIState) GetSerialQuery() int64 {
+ if m != nil {
+ return m.SerialQuery
+ }
+ return 0
+}
+
+func (m *RPKIState) GetResetQuery() int64 {
+ if m != nil {
+ return m.ResetQuery
+ }
+ return 0
+}
+
type Rpki struct {
Conf *RPKIConf `protobuf:"bytes,1,opt,name=conf" json:"conf,omitempty"`
State *RPKIState `protobuf:"bytes,2,opt,name=state" json:"state,omitempty"`
@@ -870,6 +1193,13 @@ func (m *GetRpkiRequest) String() string { return proto.CompactTextSt
func (*GetRpkiRequest) ProtoMessage() {}
func (*GetRpkiRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{34} }
+func (m *GetRpkiRequest) GetFamily() uint32 {
+ if m != nil {
+ return m.Family
+ }
+ return 0
+}
+
type GetRpkiResponse struct {
Servers []*Rpki `protobuf:"bytes,1,rep,name=servers" json:"servers,omitempty"`
}
@@ -897,6 +1227,27 @@ func (m *AddRpkiRequest) String() string { return proto.CompactTextSt
func (*AddRpkiRequest) ProtoMessage() {}
func (*AddRpkiRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{36} }
+func (m *AddRpkiRequest) GetAddress() string {
+ if m != nil {
+ return m.Address
+ }
+ return ""
+}
+
+func (m *AddRpkiRequest) GetPort() uint32 {
+ if m != nil {
+ return m.Port
+ }
+ return 0
+}
+
+func (m *AddRpkiRequest) GetLifetime() int64 {
+ if m != nil {
+ return m.Lifetime
+ }
+ return 0
+}
+
type AddRpkiResponse struct {
}
@@ -915,6 +1266,20 @@ func (m *DeleteRpkiRequest) String() string { return proto.CompactTex
func (*DeleteRpkiRequest) ProtoMessage() {}
func (*DeleteRpkiRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{38} }
+func (m *DeleteRpkiRequest) GetAddress() string {
+ if m != nil {
+ return m.Address
+ }
+ return ""
+}
+
+func (m *DeleteRpkiRequest) GetPort() uint32 {
+ if m != nil {
+ return m.Port
+ }
+ return 0
+}
+
type DeleteRpkiResponse struct {
}
@@ -932,6 +1297,13 @@ func (m *EnableRpkiRequest) String() string { return proto.CompactTex
func (*EnableRpkiRequest) ProtoMessage() {}
func (*EnableRpkiRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{40} }
+func (m *EnableRpkiRequest) GetAddress() string {
+ if m != nil {
+ return m.Address
+ }
+ return ""
+}
+
type EnableRpkiResponse struct {
}
@@ -949,6 +1321,13 @@ func (m *DisableRpkiRequest) String() string { return proto.CompactTe
func (*DisableRpkiRequest) ProtoMessage() {}
func (*DisableRpkiRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{42} }
+func (m *DisableRpkiRequest) GetAddress() string {
+ if m != nil {
+ return m.Address
+ }
+ return ""
+}
+
type DisableRpkiResponse struct {
}
@@ -966,6 +1345,13 @@ func (m *ResetRpkiRequest) String() string { return proto.CompactText
func (*ResetRpkiRequest) ProtoMessage() {}
func (*ResetRpkiRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{44} }
+func (m *ResetRpkiRequest) GetAddress() string {
+ if m != nil {
+ return m.Address
+ }
+ return ""
+}
+
type ResetRpkiResponse struct {
}
@@ -983,6 +1369,13 @@ func (m *SoftResetRpkiRequest) String() string { return proto.Compact
func (*SoftResetRpkiRequest) ProtoMessage() {}
func (*SoftResetRpkiRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{46} }
+func (m *SoftResetRpkiRequest) GetAddress() string {
+ if m != nil {
+ return m.Address
+ }
+ return ""
+}
+
type SoftResetRpkiResponse struct {
}
@@ -1002,6 +1395,27 @@ func (m *EnableZebraRequest) String() string { return proto.CompactTe
func (*EnableZebraRequest) ProtoMessage() {}
func (*EnableZebraRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{48} }
+func (m *EnableZebraRequest) GetUrl() string {
+ if m != nil {
+ return m.Url
+ }
+ return ""
+}
+
+func (m *EnableZebraRequest) GetRouteTypes() []string {
+ if m != nil {
+ return m.RouteTypes
+ }
+ return nil
+}
+
+func (m *EnableZebraRequest) GetVersion() uint32 {
+ if m != nil {
+ return m.Version
+ }
+ return 0
+}
+
type EnableZebraResponse struct {
}
@@ -1091,6 +1505,13 @@ func (m *GetDefinedSetRequest) String() string { return proto.Compact
func (*GetDefinedSetRequest) ProtoMessage() {}
func (*GetDefinedSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{56} }
+func (m *GetDefinedSetRequest) GetType() DefinedType {
+ if m != nil {
+ return m.Type
+ }
+ return DefinedType_PREFIX
+}
+
type GetDefinedSetResponse struct {
Sets []*DefinedSet `protobuf:"bytes,1,rep,name=sets" json:"sets,omitempty"`
}
@@ -1148,6 +1569,13 @@ func (m *DeleteDefinedSetRequest) GetSet() *DefinedSet {
return nil
}
+func (m *DeleteDefinedSetRequest) GetAll() bool {
+ if m != nil {
+ return m.All
+ }
+ return false
+}
+
type DeleteDefinedSetResponse struct {
}
@@ -1245,6 +1673,13 @@ func (m *DeleteStatementRequest) GetStatement() *Statement {
return nil
}
+func (m *DeleteStatementRequest) GetAll() bool {
+ if m != nil {
+ return m.All
+ }
+ return false
+}
+
type DeleteStatementResponse struct {
}
@@ -1320,6 +1755,13 @@ func (m *AddPolicyRequest) GetPolicy() *Policy {
return nil
}
+func (m *AddPolicyRequest) GetReferExistingStatements() bool {
+ if m != nil {
+ return m.ReferExistingStatements
+ }
+ return false
+}
+
type AddPolicyResponse struct {
}
@@ -1348,6 +1790,20 @@ func (m *DeletePolicyRequest) GetPolicy() *Policy {
return nil
}
+func (m *DeletePolicyRequest) GetPreserveStatements() bool {
+ if m != nil {
+ return m.PreserveStatements
+ }
+ return false
+}
+
+func (m *DeletePolicyRequest) GetAll() bool {
+ if m != nil {
+ return m.All
+ }
+ return false
+}
+
type DeletePolicyResponse struct {
}
@@ -1378,6 +1834,20 @@ func (m *ReplacePolicyRequest) GetPolicy() *Policy {
return nil
}
+func (m *ReplacePolicyRequest) GetReferExistingStatements() bool {
+ if m != nil {
+ return m.ReferExistingStatements
+ }
+ return false
+}
+
+func (m *ReplacePolicyRequest) GetPreserveStatements() bool {
+ if m != nil {
+ return m.PreserveStatements
+ }
+ return false
+}
+
type ReplacePolicyResponse struct {
}
@@ -1459,6 +1929,13 @@ func (m *DeletePolicyAssignmentRequest) GetAssignment() *PolicyAssignment {
return nil
}
+func (m *DeletePolicyAssignmentRequest) GetAll() bool {
+ if m != nil {
+ return m.All
+ }
+ return false
+}
+
type DeletePolicyAssignmentResponse struct {
}
@@ -1579,6 +2056,104 @@ func (m *Path) String() string { return proto.CompactTextString(m) }
func (*Path) ProtoMessage() {}
func (*Path) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{94} }
+func (m *Path) GetNlri() []byte {
+ if m != nil {
+ return m.Nlri
+ }
+ return nil
+}
+
+func (m *Path) GetPattrs() [][]byte {
+ if m != nil {
+ return m.Pattrs
+ }
+ return nil
+}
+
+func (m *Path) GetAge() int64 {
+ if m != nil {
+ return m.Age
+ }
+ return 0
+}
+
+func (m *Path) GetBest() bool {
+ if m != nil {
+ return m.Best
+ }
+ return false
+}
+
+func (m *Path) GetIsWithdraw() bool {
+ if m != nil {
+ return m.IsWithdraw
+ }
+ return false
+}
+
+func (m *Path) GetValidation() int32 {
+ if m != nil {
+ return m.Validation
+ }
+ return 0
+}
+
+func (m *Path) GetNoImplicitWithdraw() bool {
+ if m != nil {
+ return m.NoImplicitWithdraw
+ }
+ return false
+}
+
+func (m *Path) GetFamily() uint32 {
+ if m != nil {
+ return m.Family
+ }
+ return 0
+}
+
+func (m *Path) GetSourceAsn() uint32 {
+ if m != nil {
+ return m.SourceAsn
+ }
+ return 0
+}
+
+func (m *Path) GetSourceId() string {
+ if m != nil {
+ return m.SourceId
+ }
+ return ""
+}
+
+func (m *Path) GetFiltered() bool {
+ if m != nil {
+ return m.Filtered
+ }
+ return false
+}
+
+func (m *Path) GetStale() bool {
+ if m != nil {
+ return m.Stale
+ }
+ return false
+}
+
+func (m *Path) GetIsFromExternal() bool {
+ if m != nil {
+ return m.IsFromExternal
+ }
+ return false
+}
+
+func (m *Path) GetNeighborIp() string {
+ if m != nil {
+ return m.NeighborIp
+ }
+ return ""
+}
+
type Destination struct {
Prefix string `protobuf:"bytes,1,opt,name=prefix" json:"prefix,omitempty"`
Paths []*Path `protobuf:"bytes,2,rep,name=paths" json:"paths,omitempty"`
@@ -1591,6 +2166,13 @@ func (m *Destination) String() string { return proto.CompactTextStrin
func (*Destination) ProtoMessage() {}
func (*Destination) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{95} }
+func (m *Destination) GetPrefix() string {
+ if m != nil {
+ return m.Prefix
+ }
+ return ""
+}
+
func (m *Destination) GetPaths() []*Path {
if m != nil {
return m.Paths
@@ -1598,6 +2180,20 @@ func (m *Destination) GetPaths() []*Path {
return nil
}
+func (m *Destination) GetLongerPrefixes() bool {
+ if m != nil {
+ return m.LongerPrefixes
+ }
+ return false
+}
+
+func (m *Destination) GetShorterPrefixes() bool {
+ if m != nil {
+ return m.ShorterPrefixes
+ }
+ return false
+}
+
type Table struct {
Type Resource `protobuf:"varint,1,opt,name=type,enum=gobgpapi.Resource" json:"type,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
@@ -1611,6 +2207,27 @@ func (m *Table) String() string { return proto.CompactTextString(m) }
func (*Table) ProtoMessage() {}
func (*Table) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{96} }
+func (m *Table) GetType() Resource {
+ if m != nil {
+ return m.Type
+ }
+ return Resource_GLOBAL
+}
+
+func (m *Table) GetName() string {
+ if m != nil {
+ return m.Name
+ }
+ return ""
+}
+
+func (m *Table) GetFamily() uint32 {
+ if m != nil {
+ return m.Family
+ }
+ return 0
+}
+
func (m *Table) GetDestinations() []*Destination {
if m != nil {
return m.Destinations
@@ -1618,6 +2235,13 @@ func (m *Table) GetDestinations() []*Destination {
return nil
}
+func (m *Table) GetPostPolicy() bool {
+ if m != nil {
+ return m.PostPolicy
+ }
+ return false
+}
+
type GetRibRequest struct {
Table *Table `protobuf:"bytes,1,opt,name=table" json:"table,omitempty"`
}
@@ -1661,6 +2285,27 @@ func (m *ValidateRibRequest) String() string { return proto.CompactTe
func (*ValidateRibRequest) ProtoMessage() {}
func (*ValidateRibRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{99} }
+func (m *ValidateRibRequest) GetType() Resource {
+ if m != nil {
+ return m.Type
+ }
+ return Resource_GLOBAL
+}
+
+func (m *ValidateRibRequest) GetFamily() uint32 {
+ if m != nil {
+ return m.Family
+ }
+ return 0
+}
+
+func (m *ValidateRibRequest) GetPrefix() string {
+ if m != nil {
+ return m.Prefix
+ }
+ return ""
+}
+
type ValidateRibResponse struct {
}
@@ -1686,6 +2331,13 @@ func (m *Peer) String() string { return proto.CompactTextString(m) }
func (*Peer) ProtoMessage() {}
func (*Peer) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{101} }
+func (m *Peer) GetFamilies() []uint32 {
+ if m != nil {
+ return m.Families
+ }
+ return nil
+}
+
func (m *Peer) GetApplyPolicy() *ApplyPolicy {
if m != nil {
return m.ApplyPolicy
@@ -1785,6 +2437,27 @@ func (m *PrefixLimit) String() string { return proto.CompactTextStrin
func (*PrefixLimit) ProtoMessage() {}
func (*PrefixLimit) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{103} }
+func (m *PrefixLimit) GetFamily() uint32 {
+ if m != nil {
+ return m.Family
+ }
+ return 0
+}
+
+func (m *PrefixLimit) GetMaxPrefixes() uint32 {
+ if m != nil {
+ return m.MaxPrefixes
+ }
+ return 0
+}
+
+func (m *PrefixLimit) GetShutdownThresholdPct() uint32 {
+ if m != nil {
+ return m.ShutdownThresholdPct
+ }
+ return 0
+}
+
type PeerConf struct {
AuthPassword string `protobuf:"bytes,1,opt,name=auth_password,json=authPassword" json:"auth_password,omitempty"`
Description string `protobuf:"bytes,2,opt,name=description" json:"description,omitempty"`
@@ -1810,6 +2483,97 @@ func (m *PeerConf) String() string { return proto.CompactTextString(m
func (*PeerConf) ProtoMessage() {}
func (*PeerConf) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{104} }
+func (m *PeerConf) GetAuthPassword() string {
+ if m != nil {
+ return m.AuthPassword
+ }
+ return ""
+}
+
+func (m *PeerConf) GetDescription() string {
+ if m != nil {
+ return m.Description
+ }
+ return ""
+}
+
+func (m *PeerConf) GetLocalAs() uint32 {
+ if m != nil {
+ return m.LocalAs
+ }
+ return 0
+}
+
+func (m *PeerConf) GetNeighborAddress() string {
+ if m != nil {
+ return m.NeighborAddress
+ }
+ return ""
+}
+
+func (m *PeerConf) GetPeerAs() uint32 {
+ if m != nil {
+ return m.PeerAs
+ }
+ return 0
+}
+
+func (m *PeerConf) GetPeerGroup() string {
+ if m != nil {
+ return m.PeerGroup
+ }
+ return ""
+}
+
+func (m *PeerConf) GetPeerType() uint32 {
+ if m != nil {
+ return m.PeerType
+ }
+ return 0
+}
+
+func (m *PeerConf) GetRemovePrivateAs() uint32 {
+ if m != nil {
+ return m.RemovePrivateAs
+ }
+ return 0
+}
+
+func (m *PeerConf) GetRouteFlapDamping() bool {
+ if m != nil {
+ return m.RouteFlapDamping
+ }
+ return false
+}
+
+func (m *PeerConf) GetSendCommunity() uint32 {
+ if m != nil {
+ return m.SendCommunity
+ }
+ return 0
+}
+
+func (m *PeerConf) GetRemoteCap() [][]byte {
+ if m != nil {
+ return m.RemoteCap
+ }
+ return nil
+}
+
+func (m *PeerConf) GetLocalCap() [][]byte {
+ if m != nil {
+ return m.LocalCap
+ }
+ return nil
+}
+
+func (m *PeerConf) GetId() string {
+ if m != nil {
+ return m.Id
+ }
+ return ""
+}
+
func (m *PeerConf) GetPrefixLimits() []*PrefixLimit {
if m != nil {
return m.PrefixLimits
@@ -1817,6 +2581,27 @@ func (m *PeerConf) GetPrefixLimits() []*PrefixLimit {
return nil
}
+func (m *PeerConf) GetLocalAddress() string {
+ if m != nil {
+ return m.LocalAddress
+ }
+ return ""
+}
+
+func (m *PeerConf) GetNeighborInterface() string {
+ if m != nil {
+ return m.NeighborInterface
+ }
+ return ""
+}
+
+func (m *PeerConf) GetVrf() string {
+ if m != nil {
+ return m.Vrf
+ }
+ return ""
+}
+
type EbgpMultihop struct {
Enabled bool `protobuf:"varint,1,opt,name=enabled" json:"enabled,omitempty"`
MultihopTtl uint32 `protobuf:"varint,2,opt,name=multihop_ttl,json=multihopTtl" json:"multihop_ttl,omitempty"`
@@ -1827,6 +2612,20 @@ func (m *EbgpMultihop) String() string { return proto.CompactTextStri
func (*EbgpMultihop) ProtoMessage() {}
func (*EbgpMultihop) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{105} }
+func (m *EbgpMultihop) GetEnabled() bool {
+ if m != nil {
+ return m.Enabled
+ }
+ return false
+}
+
+func (m *EbgpMultihop) GetMultihopTtl() uint32 {
+ if m != nil {
+ return m.MultihopTtl
+ }
+ return 0
+}
+
type RouteReflector struct {
RouteReflectorClient bool `protobuf:"varint,1,opt,name=route_reflector_client,json=routeReflectorClient" json:"route_reflector_client,omitempty"`
RouteReflectorClusterId string `protobuf:"bytes,2,opt,name=route_reflector_cluster_id,json=routeReflectorClusterId" json:"route_reflector_cluster_id,omitempty"`
@@ -1837,6 +2636,20 @@ func (m *RouteReflector) String() string { return proto.CompactTextSt
func (*RouteReflector) ProtoMessage() {}
func (*RouteReflector) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{106} }
+func (m *RouteReflector) GetRouteReflectorClient() bool {
+ if m != nil {
+ return m.RouteReflectorClient
+ }
+ return false
+}
+
+func (m *RouteReflector) GetRouteReflectorClusterId() string {
+ if m != nil {
+ return m.RouteReflectorClusterId
+ }
+ return ""
+}
+
type PeerState struct {
AuthPassword string `protobuf:"bytes,1,opt,name=auth_password,json=authPassword" json:"auth_password,omitempty"`
Description string `protobuf:"bytes,2,opt,name=description" json:"description,omitempty"`
@@ -1866,6 +2679,27 @@ func (m *PeerState) String() string { return proto.CompactTextString(
func (*PeerState) ProtoMessage() {}
func (*PeerState) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{107} }
+func (m *PeerState) GetAuthPassword() string {
+ if m != nil {
+ return m.AuthPassword
+ }
+ return ""
+}
+
+func (m *PeerState) GetDescription() string {
+ if m != nil {
+ return m.Description
+ }
+ return ""
+}
+
+func (m *PeerState) GetLocalAs() uint32 {
+ if m != nil {
+ return m.LocalAs
+ }
+ return 0
+}
+
func (m *PeerState) GetMessages() *Messages {
if m != nil {
return m.Messages
@@ -1873,6 +2707,34 @@ func (m *PeerState) GetMessages() *Messages {
return nil
}
+func (m *PeerState) GetNeighborAddress() string {
+ if m != nil {
+ return m.NeighborAddress
+ }
+ return ""
+}
+
+func (m *PeerState) GetPeerAs() uint32 {
+ if m != nil {
+ return m.PeerAs
+ }
+ return 0
+}
+
+func (m *PeerState) GetPeerGroup() string {
+ if m != nil {
+ return m.PeerGroup
+ }
+ return ""
+}
+
+func (m *PeerState) GetPeerType() uint32 {
+ if m != nil {
+ return m.PeerType
+ }
+ return 0
+}
+
func (m *PeerState) GetQueues() *Queues {
if m != nil {
return m.Queues
@@ -1880,6 +2742,90 @@ func (m *PeerState) GetQueues() *Queues {
return nil
}
+func (m *PeerState) GetRemovePrivateAs() uint32 {
+ if m != nil {
+ return m.RemovePrivateAs
+ }
+ return 0
+}
+
+func (m *PeerState) GetRouteFlapDamping() bool {
+ if m != nil {
+ return m.RouteFlapDamping
+ }
+ return false
+}
+
+func (m *PeerState) GetSendCommunity() uint32 {
+ if m != nil {
+ return m.SendCommunity
+ }
+ return 0
+}
+
+func (m *PeerState) GetSessionState() uint32 {
+ if m != nil {
+ return m.SessionState
+ }
+ return 0
+}
+
+func (m *PeerState) GetSupportedCapabilities() []string {
+ if m != nil {
+ return m.SupportedCapabilities
+ }
+ return nil
+}
+
+func (m *PeerState) GetBgpState() string {
+ if m != nil {
+ return m.BgpState
+ }
+ return ""
+}
+
+func (m *PeerState) GetAdminState() PeerState_AdminState {
+ if m != nil {
+ return m.AdminState
+ }
+ return PeerState_UP
+}
+
+func (m *PeerState) GetReceived() uint32 {
+ if m != nil {
+ return m.Received
+ }
+ return 0
+}
+
+func (m *PeerState) GetAccepted() uint32 {
+ if m != nil {
+ return m.Accepted
+ }
+ return 0
+}
+
+func (m *PeerState) GetAdvertised() uint32 {
+ if m != nil {
+ return m.Advertised
+ }
+ return 0
+}
+
+func (m *PeerState) GetOutQ() uint32 {
+ if m != nil {
+ return m.OutQ
+ }
+ return 0
+}
+
+func (m *PeerState) GetFlops() uint32 {
+ if m != nil {
+ return m.Flops
+ }
+ return 0
+}
+
type Messages struct {
Received *Message `protobuf:"bytes,1,opt,name=received" json:"received,omitempty"`
Sent *Message `protobuf:"bytes,2,opt,name=sent" json:"sent,omitempty"`
@@ -1905,13 +2851,13 @@ func (m *Messages) GetSent() *Message {
}
type Message struct {
- NOTIFICATION uint64 `protobuf:"varint,1,opt,name=NOTIFICATION,json=nOTIFICATION" json:"NOTIFICATION,omitempty"`
- UPDATE uint64 `protobuf:"varint,2,opt,name=UPDATE,json=uPDATE" json:"UPDATE,omitempty"`
- OPEN uint64 `protobuf:"varint,3,opt,name=OPEN,json=oPEN" json:"OPEN,omitempty"`
- KEEPALIVE uint64 `protobuf:"varint,4,opt,name=KEEPALIVE,json=kEEPALIVE" json:"KEEPALIVE,omitempty"`
- REFRESH uint64 `protobuf:"varint,5,opt,name=REFRESH,json=rEFRESH" json:"REFRESH,omitempty"`
- DISCARDED uint64 `protobuf:"varint,6,opt,name=DISCARDED,json=dISCARDED" json:"DISCARDED,omitempty"`
- TOTAL uint64 `protobuf:"varint,7,opt,name=TOTAL,json=tOTAL" json:"TOTAL,omitempty"`
+ NOTIFICATION uint64 `protobuf:"varint,1,opt,name=NOTIFICATION" json:"NOTIFICATION,omitempty"`
+ UPDATE uint64 `protobuf:"varint,2,opt,name=UPDATE" json:"UPDATE,omitempty"`
+ OPEN uint64 `protobuf:"varint,3,opt,name=OPEN" json:"OPEN,omitempty"`
+ KEEPALIVE uint64 `protobuf:"varint,4,opt,name=KEEPALIVE" json:"KEEPALIVE,omitempty"`
+ REFRESH uint64 `protobuf:"varint,5,opt,name=REFRESH" json:"REFRESH,omitempty"`
+ DISCARDED uint64 `protobuf:"varint,6,opt,name=DISCARDED" json:"DISCARDED,omitempty"`
+ TOTAL uint64 `protobuf:"varint,7,opt,name=TOTAL" json:"TOTAL,omitempty"`
}
func (m *Message) Reset() { *m = Message{} }
@@ -1919,6 +2865,55 @@ func (m *Message) String() string { return proto.CompactTextString(m)
func (*Message) ProtoMessage() {}
func (*Message) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{109} }
+func (m *Message) GetNOTIFICATION() uint64 {
+ if m != nil {
+ return m.NOTIFICATION
+ }
+ return 0
+}
+
+func (m *Message) GetUPDATE() uint64 {
+ if m != nil {
+ return m.UPDATE
+ }
+ return 0
+}
+
+func (m *Message) GetOPEN() uint64 {
+ if m != nil {
+ return m.OPEN
+ }
+ return 0
+}
+
+func (m *Message) GetKEEPALIVE() uint64 {
+ if m != nil {
+ return m.KEEPALIVE
+ }
+ return 0
+}
+
+func (m *Message) GetREFRESH() uint64 {
+ if m != nil {
+ return m.REFRESH
+ }
+ return 0
+}
+
+func (m *Message) GetDISCARDED() uint64 {
+ if m != nil {
+ return m.DISCARDED
+ }
+ return 0
+}
+
+func (m *Message) GetTOTAL() uint64 {
+ if m != nil {
+ return m.TOTAL
+ }
+ return 0
+}
+
type Queues struct {
Input uint32 `protobuf:"varint,1,opt,name=input" json:"input,omitempty"`
Output uint32 `protobuf:"varint,2,opt,name=output" json:"output,omitempty"`
@@ -1929,6 +2924,20 @@ func (m *Queues) String() string { return proto.CompactTextString(m)
func (*Queues) ProtoMessage() {}
func (*Queues) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{110} }
+func (m *Queues) GetInput() uint32 {
+ if m != nil {
+ return m.Input
+ }
+ return 0
+}
+
+func (m *Queues) GetOutput() uint32 {
+ if m != nil {
+ return m.Output
+ }
+ return 0
+}
+
type Timers struct {
Config *TimersConfig `protobuf:"bytes,1,opt,name=config" json:"config,omitempty"`
State *TimersState `protobuf:"bytes,2,opt,name=state" json:"state,omitempty"`
@@ -1965,6 +2974,34 @@ func (m *TimersConfig) String() string { return proto.CompactTextStri
func (*TimersConfig) ProtoMessage() {}
func (*TimersConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{112} }
+func (m *TimersConfig) GetConnectRetry() uint64 {
+ if m != nil {
+ return m.ConnectRetry
+ }
+ return 0
+}
+
+func (m *TimersConfig) GetHoldTime() uint64 {
+ if m != nil {
+ return m.HoldTime
+ }
+ return 0
+}
+
+func (m *TimersConfig) GetKeepaliveInterval() uint64 {
+ if m != nil {
+ return m.KeepaliveInterval
+ }
+ return 0
+}
+
+func (m *TimersConfig) GetMinimumAdvertisementInterval() uint64 {
+ if m != nil {
+ return m.MinimumAdvertisementInterval
+ }
+ return 0
+}
+
type TimersState struct {
ConnectRetry uint64 `protobuf:"varint,1,opt,name=connect_retry,json=connectRetry" json:"connect_retry,omitempty"`
HoldTime uint64 `protobuf:"varint,2,opt,name=hold_time,json=holdTime" json:"hold_time,omitempty"`
@@ -1980,6 +3017,55 @@ func (m *TimersState) String() string { return proto.CompactTextStrin
func (*TimersState) ProtoMessage() {}
func (*TimersState) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{113} }
+func (m *TimersState) GetConnectRetry() uint64 {
+ if m != nil {
+ return m.ConnectRetry
+ }
+ return 0
+}
+
+func (m *TimersState) GetHoldTime() uint64 {
+ if m != nil {
+ return m.HoldTime
+ }
+ return 0
+}
+
+func (m *TimersState) GetKeepaliveInterval() uint64 {
+ if m != nil {
+ return m.KeepaliveInterval
+ }
+ return 0
+}
+
+func (m *TimersState) GetMinimumAdvertisementInterval() uint64 {
+ if m != nil {
+ return m.MinimumAdvertisementInterval
+ }
+ return 0
+}
+
+func (m *TimersState) GetNegotiatedHoldTime() uint64 {
+ if m != nil {
+ return m.NegotiatedHoldTime
+ }
+ return 0
+}
+
+func (m *TimersState) GetUptime() uint64 {
+ if m != nil {
+ return m.Uptime
+ }
+ return 0
+}
+
+func (m *TimersState) GetDowntime() uint64 {
+ if m != nil {
+ return m.Downtime
+ }
+ return 0
+}
+
type Transport struct {
LocalAddress string `protobuf:"bytes,1,opt,name=local_address,json=localAddress" json:"local_address,omitempty"`
LocalPort uint32 `protobuf:"varint,2,opt,name=local_port,json=localPort" json:"local_port,omitempty"`
@@ -1995,6 +3081,55 @@ func (m *Transport) String() string { return proto.CompactTextString(
func (*Transport) ProtoMessage() {}
func (*Transport) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{114} }
+func (m *Transport) GetLocalAddress() string {
+ if m != nil {
+ return m.LocalAddress
+ }
+ return ""
+}
+
+func (m *Transport) GetLocalPort() uint32 {
+ if m != nil {
+ return m.LocalPort
+ }
+ return 0
+}
+
+func (m *Transport) GetMtuDiscovery() bool {
+ if m != nil {
+ return m.MtuDiscovery
+ }
+ return false
+}
+
+func (m *Transport) GetPassiveMode() bool {
+ if m != nil {
+ return m.PassiveMode
+ }
+ return false
+}
+
+func (m *Transport) GetRemoteAddress() string {
+ if m != nil {
+ return m.RemoteAddress
+ }
+ return ""
+}
+
+func (m *Transport) GetRemotePort() uint32 {
+ if m != nil {
+ return m.RemotePort
+ }
+ return 0
+}
+
+func (m *Transport) GetTcpMss() uint32 {
+ if m != nil {
+ return m.TcpMss
+ }
+ return 0
+}
+
type RouteServer struct {
RouteServerClient bool `protobuf:"varint,1,opt,name=route_server_client,json=routeServerClient" json:"route_server_client,omitempty"`
}
@@ -2004,6 +3139,13 @@ func (m *RouteServer) String() string { return proto.CompactTextStrin
func (*RouteServer) ProtoMessage() {}
func (*RouteServer) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{115} }
+func (m *RouteServer) GetRouteServerClient() bool {
+ if m != nil {
+ return m.RouteServerClient
+ }
+ return false
+}
+
type Prefix struct {
IpPrefix string `protobuf:"bytes,1,opt,name=ip_prefix,json=ipPrefix" json:"ip_prefix,omitempty"`
MaskLengthMin uint32 `protobuf:"varint,2,opt,name=mask_length_min,json=maskLengthMin" json:"mask_length_min,omitempty"`
@@ -2015,6 +3157,27 @@ func (m *Prefix) String() string { return proto.CompactTextString(m)
func (*Prefix) ProtoMessage() {}
func (*Prefix) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{116} }
+func (m *Prefix) GetIpPrefix() string {
+ if m != nil {
+ return m.IpPrefix
+ }
+ return ""
+}
+
+func (m *Prefix) GetMaskLengthMin() uint32 {
+ if m != nil {
+ return m.MaskLengthMin
+ }
+ return 0
+}
+
+func (m *Prefix) GetMaskLengthMax() uint32 {
+ if m != nil {
+ return m.MaskLengthMax
+ }
+ return 0
+}
+
type DefinedSet struct {
Type DefinedType `protobuf:"varint,1,opt,name=type,enum=gobgpapi.DefinedType" json:"type,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
@@ -2027,6 +3190,27 @@ func (m *DefinedSet) String() string { return proto.CompactTextString
func (*DefinedSet) ProtoMessage() {}
func (*DefinedSet) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{117} }
+func (m *DefinedSet) GetType() DefinedType {
+ if m != nil {
+ return m.Type
+ }
+ return DefinedType_PREFIX
+}
+
+func (m *DefinedSet) GetName() string {
+ if m != nil {
+ return m.Name
+ }
+ return ""
+}
+
+func (m *DefinedSet) GetList() []string {
+ if m != nil {
+ return m.List
+ }
+ return nil
+}
+
func (m *DefinedSet) GetPrefixes() []*Prefix {
if m != nil {
return m.Prefixes
@@ -2044,6 +3228,20 @@ func (m *MatchSet) String() string { return proto.CompactTextString(m
func (*MatchSet) ProtoMessage() {}
func (*MatchSet) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{118} }
+func (m *MatchSet) GetType() MatchType {
+ if m != nil {
+ return m.Type
+ }
+ return MatchType_ANY
+}
+
+func (m *MatchSet) GetName() string {
+ if m != nil {
+ return m.Name
+ }
+ return ""
+}
+
type AsPathLength struct {
Type AsPathLengthType `protobuf:"varint,1,opt,name=type,enum=gobgpapi.AsPathLengthType" json:"type,omitempty"`
Length uint32 `protobuf:"varint,2,opt,name=length" json:"length,omitempty"`
@@ -2054,6 +3252,20 @@ func (m *AsPathLength) String() string { return proto.CompactTextStri
func (*AsPathLength) ProtoMessage() {}
func (*AsPathLength) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{119} }
+func (m *AsPathLength) GetType() AsPathLengthType {
+ if m != nil {
+ return m.Type
+ }
+ return AsPathLengthType_EQ
+}
+
+func (m *AsPathLength) GetLength() uint32 {
+ if m != nil {
+ return m.Length
+ }
+ return 0
+}
+
type Conditions struct {
PrefixSet *MatchSet `protobuf:"bytes,1,opt,name=prefix_set,json=prefixSet" json:"prefix_set,omitempty"`
NeighborSet *MatchSet `protobuf:"bytes,2,opt,name=neighbor_set,json=neighborSet" json:"neighbor_set,omitempty"`
@@ -2113,6 +3325,20 @@ func (m *Conditions) GetExtCommunitySet() *MatchSet {
return nil
}
+func (m *Conditions) GetRpkiResult() int32 {
+ if m != nil {
+ return m.RpkiResult
+ }
+ return 0
+}
+
+func (m *Conditions) GetRouteType() Conditions_RouteType {
+ if m != nil {
+ return m.RouteType
+ }
+ return Conditions_ROUTE_TYPE_NONE
+}
+
func (m *Conditions) GetLargeCommunitySet() *MatchSet {
if m != nil {
return m.LargeCommunitySet
@@ -2130,6 +3356,20 @@ func (m *CommunityAction) String() string { return proto.CompactTextS
func (*CommunityAction) ProtoMessage() {}
func (*CommunityAction) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{121} }
+func (m *CommunityAction) GetType() CommunityActionType {
+ if m != nil {
+ return m.Type
+ }
+ return CommunityActionType_COMMUNITY_ADD
+}
+
+func (m *CommunityAction) GetCommunities() []string {
+ if m != nil {
+ return m.Communities
+ }
+ return nil
+}
+
type MedAction struct {
Type MedActionType `protobuf:"varint,1,opt,name=type,enum=gobgpapi.MedActionType" json:"type,omitempty"`
Value int64 `protobuf:"varint,2,opt,name=value" json:"value,omitempty"`
@@ -2140,6 +3380,20 @@ func (m *MedAction) String() string { return proto.CompactTextString(
func (*MedAction) ProtoMessage() {}
func (*MedAction) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{122} }
+func (m *MedAction) GetType() MedActionType {
+ if m != nil {
+ return m.Type
+ }
+ return MedActionType_MED_MOD
+}
+
+func (m *MedAction) GetValue() int64 {
+ if m != nil {
+ return m.Value
+ }
+ return 0
+}
+
type AsPrependAction struct {
Asn uint32 `protobuf:"varint,1,opt,name=asn" json:"asn,omitempty"`
Repeat uint32 `protobuf:"varint,2,opt,name=repeat" json:"repeat,omitempty"`
@@ -2151,6 +3405,27 @@ func (m *AsPrependAction) String() string { return proto.CompactTextS
func (*AsPrependAction) ProtoMessage() {}
func (*AsPrependAction) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{123} }
+func (m *AsPrependAction) GetAsn() uint32 {
+ if m != nil {
+ return m.Asn
+ }
+ return 0
+}
+
+func (m *AsPrependAction) GetRepeat() uint32 {
+ if m != nil {
+ return m.Repeat
+ }
+ return 0
+}
+
+func (m *AsPrependAction) GetUseLeftMost() bool {
+ if m != nil {
+ return m.UseLeftMost
+ }
+ return false
+}
+
type NexthopAction struct {
Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"`
Self bool `protobuf:"varint,2,opt,name=self" json:"self,omitempty"`
@@ -2161,6 +3436,20 @@ func (m *NexthopAction) String() string { return proto.CompactTextStr
func (*NexthopAction) ProtoMessage() {}
func (*NexthopAction) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{124} }
+func (m *NexthopAction) GetAddress() string {
+ if m != nil {
+ return m.Address
+ }
+ return ""
+}
+
+func (m *NexthopAction) GetSelf() bool {
+ if m != nil {
+ return m.Self
+ }
+ return false
+}
+
type LocalPrefAction struct {
Value uint32 `protobuf:"varint,1,opt,name=value" json:"value,omitempty"`
}
@@ -2170,6 +3459,13 @@ func (m *LocalPrefAction) String() string { return proto.CompactTextS
func (*LocalPrefAction) ProtoMessage() {}
func (*LocalPrefAction) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{125} }
+func (m *LocalPrefAction) GetValue() uint32 {
+ if m != nil {
+ return m.Value
+ }
+ return 0
+}
+
type Actions struct {
RouteAction RouteAction `protobuf:"varint,1,opt,name=route_action,json=routeAction,enum=gobgpapi.RouteAction" json:"route_action,omitempty"`
Community *CommunityAction `protobuf:"bytes,2,opt,name=community" json:"community,omitempty"`
@@ -2186,6 +3482,13 @@ func (m *Actions) String() string { return proto.CompactTextString(m)
func (*Actions) ProtoMessage() {}
func (*Actions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{126} }
+func (m *Actions) GetRouteAction() RouteAction {
+ if m != nil {
+ return m.RouteAction
+ }
+ return RouteAction_NONE
+}
+
func (m *Actions) GetCommunity() *CommunityAction {
if m != nil {
return m.Community
@@ -2246,6 +3549,13 @@ func (m *Statement) String() string { return proto.CompactTextString(
func (*Statement) ProtoMessage() {}
func (*Statement) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{127} }
+func (m *Statement) GetName() string {
+ if m != nil {
+ return m.Name
+ }
+ return ""
+}
+
func (m *Statement) GetConditions() *Conditions {
if m != nil {
return m.Conditions
@@ -2270,6 +3580,13 @@ func (m *Policy) String() string { return proto.CompactTextString(m)
func (*Policy) ProtoMessage() {}
func (*Policy) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{128} }
+func (m *Policy) GetName() string {
+ if m != nil {
+ return m.Name
+ }
+ return ""
+}
+
func (m *Policy) GetStatements() []*Statement {
if m != nil {
return m.Statements
@@ -2290,6 +3607,27 @@ func (m *PolicyAssignment) String() string { return proto.CompactText
func (*PolicyAssignment) ProtoMessage() {}
func (*PolicyAssignment) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{129} }
+func (m *PolicyAssignment) GetType() PolicyType {
+ if m != nil {
+ return m.Type
+ }
+ return PolicyType_IN
+}
+
+func (m *PolicyAssignment) GetResource() Resource {
+ if m != nil {
+ return m.Resource
+ }
+ return Resource_GLOBAL
+}
+
+func (m *PolicyAssignment) GetName() string {
+ if m != nil {
+ return m.Name
+ }
+ return ""
+}
+
func (m *PolicyAssignment) GetPolicies() []*Policy {
if m != nil {
return m.Policies
@@ -2297,6 +3635,13 @@ func (m *PolicyAssignment) GetPolicies() []*Policy {
return nil
}
+func (m *PolicyAssignment) GetDefault() RouteAction {
+ if m != nil {
+ return m.Default
+ }
+ return RouteAction_NONE
+}
+
type Roa struct {
As uint32 `protobuf:"varint,1,opt,name=as" json:"as,omitempty"`
Prefixlen uint32 `protobuf:"varint,2,opt,name=prefixlen" json:"prefixlen,omitempty"`
@@ -2310,6 +3655,34 @@ func (m *Roa) String() string { return proto.CompactTextString(m) }
func (*Roa) ProtoMessage() {}
func (*Roa) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{130} }
+func (m *Roa) GetAs() uint32 {
+ if m != nil {
+ return m.As
+ }
+ return 0
+}
+
+func (m *Roa) GetPrefixlen() uint32 {
+ if m != nil {
+ return m.Prefixlen
+ }
+ return 0
+}
+
+func (m *Roa) GetMaxlen() uint32 {
+ if m != nil {
+ return m.Maxlen
+ }
+ return 0
+}
+
+func (m *Roa) GetPrefix() string {
+ if m != nil {
+ return m.Prefix
+ }
+ return ""
+}
+
func (m *Roa) GetConf() *RPKIConf {
if m != nil {
return m.Conf
@@ -2326,6 +3699,13 @@ func (m *GetRoaRequest) String() string { return proto.CompactTextStr
func (*GetRoaRequest) ProtoMessage() {}
func (*GetRoaRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{131} }
+func (m *GetRoaRequest) GetFamily() uint32 {
+ if m != nil {
+ return m.Family
+ }
+ return 0
+}
+
type GetRoaResponse struct {
Roas []*Roa `protobuf:"bytes,1,rep,name=roas" json:"roas,omitempty"`
}
@@ -2355,6 +3735,41 @@ func (m *Vrf) String() string { return proto.CompactTextString(m) }
func (*Vrf) ProtoMessage() {}
func (*Vrf) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{133} }
+func (m *Vrf) GetName() string {
+ if m != nil {
+ return m.Name
+ }
+ return ""
+}
+
+func (m *Vrf) GetRd() []byte {
+ if m != nil {
+ return m.Rd
+ }
+ return nil
+}
+
+func (m *Vrf) GetImportRt() [][]byte {
+ if m != nil {
+ return m.ImportRt
+ }
+ return nil
+}
+
+func (m *Vrf) GetExportRt() [][]byte {
+ if m != nil {
+ return m.ExportRt
+ }
+ return nil
+}
+
+func (m *Vrf) GetId() uint32 {
+ if m != nil {
+ return m.Id
+ }
+ return 0
+}
+
type Global struct {
As uint32 `protobuf:"varint,1,opt,name=as" json:"as,omitempty"`
RouterId string `protobuf:"bytes,2,opt,name=router_id,json=routerId" json:"router_id,omitempty"`
@@ -2369,6 +3784,48 @@ func (m *Global) String() string { return proto.CompactTextString(m)
func (*Global) ProtoMessage() {}
func (*Global) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{134} }
+func (m *Global) GetAs() uint32 {
+ if m != nil {
+ return m.As
+ }
+ return 0
+}
+
+func (m *Global) GetRouterId() string {
+ if m != nil {
+ return m.RouterId
+ }
+ return ""
+}
+
+func (m *Global) GetListenPort() int32 {
+ if m != nil {
+ return m.ListenPort
+ }
+ return 0
+}
+
+func (m *Global) GetListenAddresses() []string {
+ if m != nil {
+ return m.ListenAddresses
+ }
+ return nil
+}
+
+func (m *Global) GetFamilies() []uint32 {
+ if m != nil {
+ return m.Families
+ }
+ return nil
+}
+
+func (m *Global) GetUseMultiplePaths() bool {
+ if m != nil {
+ return m.UseMultiplePaths
+ }
+ return false
+}
+
type TableInfo struct {
Type Resource `protobuf:"varint,1,opt,name=type,enum=gobgpapi.Resource" json:"type,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
@@ -2383,6 +3840,48 @@ func (m *TableInfo) String() string { return proto.CompactTextString(
func (*TableInfo) ProtoMessage() {}
func (*TableInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{135} }
+func (m *TableInfo) GetType() Resource {
+ if m != nil {
+ return m.Type
+ }
+ return Resource_GLOBAL
+}
+
+func (m *TableInfo) GetName() string {
+ if m != nil {
+ return m.Name
+ }
+ return ""
+}
+
+func (m *TableInfo) GetFamily() uint32 {
+ if m != nil {
+ return m.Family
+ }
+ return 0
+}
+
+func (m *TableInfo) GetNumDestination() uint64 {
+ if m != nil {
+ return m.NumDestination
+ }
+ return 0
+}
+
+func (m *TableInfo) GetNumPath() uint64 {
+ if m != nil {
+ return m.NumPath
+ }
+ return 0
+}
+
+func (m *TableInfo) GetNumAccepted() uint64 {
+ if m != nil {
+ return m.NumAccepted
+ }
+ return 0
+}
+
type GetRibInfoRequest struct {
Info *TableInfo `protobuf:"bytes,1,opt,name=info" json:"info,omitempty"`
}
@@ -4382,356 +5881,353 @@ var _GobgpApi_serviceDesc = grpc.ServiceDesc{
func init() { proto.RegisterFile("gobgp.proto", fileDescriptor0) }
var fileDescriptor0 = []byte{
- // 5603 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xd4, 0x3c, 0xcb, 0x72, 0x1b, 0x49,
- 0x72, 0xc4, 0x83, 0x20, 0x90, 0x78, 0x10, 0x2c, 0xbe, 0x20, 0xe8, 0xdd, 0xbb, 0x5a, 0x51, 0xda,
- 0x19, 0xcd, 0x8c, 0x66, 0x56, 0xb3, 0x5e, 0xcd, 0xcc, 0x2e, 0x44, 0x42, 0x14, 0x76, 0xf8, 0xc0,
- 0x14, 0x21, 0xad, 0x66, 0xfd, 0x68, 0x37, 0xd1, 0x05, 0xb2, 0x3d, 0x8d, 0xee, 0x9e, 0xee, 0x02,
- 0x87, 0x0a, 0x47, 0xd8, 0x11, 0xeb, 0xa3, 0xc3, 0x7f, 0xb0, 0x11, 0xbe, 0x6f, 0xd8, 0x07, 0x9f,
- 0x1c, 0xe1, 0xb3, 0xd7, 0xe1, 0x08, 0x47, 0xf8, 0xea, 0x83, 0x0f, 0xfe, 0x04, 0x5f, 0x7d, 0x74,
- 0xd4, 0xa3, 0xbb, 0xab, 0x1f, 0xa0, 0x28, 0x59, 0x6b, 0x87, 0x4f, 0x44, 0x67, 0x66, 0x65, 0x65,
- 0x55, 0x65, 0x66, 0x65, 0x65, 0x55, 0x12, 0xea, 0x27, 0xee, 0xf1, 0x89, 0xf7, 0xc0, 0xf3, 0x5d,
- 0xea, 0xa2, 0x2a, 0xff, 0x30, 0x3c, 0x4b, 0x5b, 0x03, 0xb4, 0x4b, 0xe8, 0x01, 0xb1, 0x4e, 0x4e,
- 0x8f, 0x5d, 0x1f, 0x93, 0x6f, 0x67, 0x24, 0xa0, 0xda, 0x63, 0x58, 0x4d, 0x40, 0x03, 0xcf, 0x75,
- 0x02, 0x82, 0xbe, 0x0f, 0x8b, 0x1e, 0x21, 0x7e, 0xd0, 0x29, 0xdc, 0x2a, 0x6d, 0xd5, 0x1f, 0xb6,
- 0x1e, 0x84, 0x6c, 0x1e, 0x0c, 0x09, 0xf1, 0xb1, 0x40, 0x6a, 0x27, 0x50, 0xeb, 0xf9, 0x27, 0xb3,
- 0x29, 0x71, 0x68, 0x80, 0x1e, 0x40, 0xd5, 0x27, 0x81, 0x3b, 0xf3, 0xc7, 0xa4, 0x53, 0xb8, 0x55,
- 0xd8, 0x6a, 0x3d, 0x44, 0x71, 0x2b, 0x2c, 0x31, 0x38, 0xa2, 0x41, 0x1b, 0x50, 0x99, 0x18, 0x53,
- 0xcb, 0x7e, 0xd5, 0x29, 0xde, 0x2a, 0x6c, 0x35, 0xb1, 0xfc, 0x42, 0x08, 0xca, 0x8e, 0x31, 0x25,
- 0x9d, 0xd2, 0xad, 0xc2, 0x56, 0x0d, 0xf3, 0xdf, 0xda, 0x9f, 0x42, 0xab, 0x67, 0x9a, 0x43, 0x83,
- 0x9e, 0x4a, 0xb9, 0xdf, 0xb8, 0xb7, 0x75, 0xa8, 0x9c, 0xf9, 0x13, 0xdd, 0x32, 0x79, 0x6f, 0x35,
- 0xbc, 0x78, 0xe6, 0x4f, 0x06, 0x26, 0xd2, 0xa0, 0xec, 0x19, 0xf4, 0x94, 0x77, 0x96, 0x1c, 0x26,
- 0xeb, 0x8b, 0xe3, 0xb4, 0x3b, 0xb0, 0x1c, 0x75, 0x2e, 0xa7, 0x07, 0x41, 0x79, 0x36, 0xb3, 0x4c,
- 0xde, 0x73, 0x03, 0xf3, 0xdf, 0xda, 0x6f, 0x0a, 0xb0, 0xb2, 0x43, 0x6c, 0x42, 0xc9, 0xef, 0x40,
- 0xce, 0x78, 0xb2, 0x4a, 0x89, 0xc9, 0x0a, 0xe5, 0x2f, 0xcf, 0x97, 0x3f, 0x12, 0x76, 0x51, 0x11,
- 0x76, 0x0d, 0x90, 0x2a, 0xab, 0x18, 0x96, 0xf6, 0x63, 0x40, 0x3d, 0xd3, 0x4c, 0xa9, 0x08, 0xef,
- 0x83, 0x10, 0x9f, 0x8b, 0x9f, 0x55, 0x05, 0x8e, 0xd3, 0xd6, 0x61, 0x35, 0xd1, 0x52, 0x32, 0x7c,
- 0x0c, 0xeb, 0xa2, 0x9b, 0xb7, 0xe1, 0xd9, 0x81, 0x8d, 0x74, 0x63, 0xc9, 0xf6, 0x43, 0x58, 0xc3,
- 0x24, 0xc8, 0x28, 0x33, 0xea, 0xc0, 0x92, 0x61, 0x9a, 0x3e, 0x09, 0x02, 0xce, 0xb8, 0x86, 0xc3,
- 0x4f, 0x6d, 0x13, 0xd6, 0x53, 0x2d, 0x24, 0xab, 0x7f, 0x28, 0x40, 0xe7, 0xc8, 0x9d, 0xd0, 0x37,
- 0xe3, 0x87, 0x8e, 0xa0, 0x66, 0x5a, 0x3e, 0x19, 0x53, 0xcb, 0x75, 0xf8, 0x4a, 0xb5, 0x1e, 0xfe,
- 0x28, 0x1e, 0xc4, 0x3c, 0x86, 0x31, 0x62, 0x27, 0x6c, 0x8c, 0x63, 0x3e, 0xda, 0x07, 0x80, 0xb2,
- 0x04, 0xa8, 0x02, 0xc5, 0xc1, 0x41, 0x7b, 0x01, 0x2d, 0x41, 0xe9, 0xf0, 0xf9, 0xa8, 0x5d, 0x40,
- 0x55, 0x28, 0x3f, 0x39, 0x1c, 0x3d, 0x6b, 0x17, 0xb5, 0xab, 0x70, 0x25, 0xa7, 0x2b, 0x39, 0xb2,
- 0x8f, 0x61, 0xf3, 0xe8, 0x74, 0x46, 0x4d, 0xf7, 0x3b, 0xe7, 0xf2, 0xf3, 0xd4, 0x85, 0x4e, 0xb6,
- 0x91, 0x64, 0xf8, 0x11, 0xac, 0xf7, 0x1d, 0xe3, 0xd8, 0x26, 0x97, 0x67, 0xd7, 0x81, 0x8d, 0x74,
- 0x13, 0xc9, 0xec, 0x21, 0x6c, 0xec, 0x58, 0xc1, 0x9b, 0x71, 0xbb, 0x02, 0x9b, 0x99, 0x36, 0x92,
- 0xdd, 0x09, 0xb4, 0x45, 0x47, 0xfb, 0x3e, 0x0d, 0x19, 0x5d, 0x85, 0x9a, 0x39, 0x9b, 0x7a, 0x3a,
- 0x7d, 0xe5, 0x09, 0xdb, 0x5b, 0xc4, 0x55, 0x06, 0x18, 0xbd, 0xf2, 0x08, 0xea, 0x42, 0x75, 0x62,
- 0xd9, 0x84, 0x7b, 0x1a, 0x61, 0x69, 0xd1, 0x37, 0xc3, 0x59, 0x0e, 0x25, 0xfe, 0x99, 0x61, 0x73,
- 0x73, 0x2b, 0xe3, 0xe8, 0x5b, 0x5b, 0x85, 0x15, 0xa5, 0x23, 0xd9, 0xfb, 0x2a, 0xac, 0x48, 0xc1,
- 0xe2, 0xee, 0xb9, 0x89, 0x29, 0x40, 0x49, 0xfa, 0xe7, 0xd0, 0x1e, 0x38, 0x7f, 0x42, 0xc6, 0x54,
- 0x11, 0xf4, 0x1d, 0xf9, 0x08, 0xe6, 0xb3, 0x0d, 0x7a, 0x1a, 0x74, 0x4a, 0x19, 0x9f, 0xcd, 0x8c,
- 0x5c, 0x20, 0x99, 0xac, 0x8a, 0x00, 0x52, 0xaa, 0xbf, 0x29, 0x40, 0xb3, 0x67, 0x9a, 0x4f, 0xa6,
- 0xde, 0xeb, 0x55, 0x1f, 0x41, 0xd9, 0x73, 0x7d, 0x2a, 0xbd, 0x36, 0xff, 0x8d, 0x3e, 0x83, 0x32,
- 0x9f, 0xe5, 0x12, 0x97, 0x7e, 0x2b, 0xee, 0x39, 0xc1, 0xf4, 0xc1, 0xbe, 0xeb, 0x58, 0xd4, 0xf5,
- 0x2d, 0xe7, 0x64, 0xe8, 0xda, 0xd6, 0xf8, 0x15, 0xe6, 0xad, 0xb4, 0x0f, 0xa0, 0x9d, 0xc6, 0x30,
- 0x6d, 0x1f, 0xe2, 0x7e, 0x7b, 0x81, 0x69, 0xfb, 0xf0, 0xf0, 0x28, 0xa9, 0xf7, 0x6d, 0xbe, 0x1d,
- 0x70, 0xc6, 0x72, 0x00, 0x3f, 0x83, 0xb6, 0xf0, 0x15, 0x6f, 0x3b, 0x04, 0xbe, 0x86, 0x31, 0x07,
- 0xc9, 0xb6, 0x0f, 0x55, 0x3c, 0xfc, 0x72, 0xb0, 0xed, 0x3a, 0x93, 0x0b, 0xd8, 0xdd, 0x84, 0xba,
- 0x4f, 0xa6, 0x2e, 0x25, 0x7a, 0xc4, 0xb5, 0x86, 0x41, 0x80, 0x86, 0x8c, 0xf7, 0xaf, 0xcb, 0x50,
- 0x63, 0x7c, 0x8e, 0xa8, 0x41, 0xf9, 0xc6, 0x37, 0xf3, 0xa8, 0x35, 0x15, 0x8b, 0x5d, 0xc2, 0xf2,
- 0x8b, 0xa9, 0x1d, 0xb3, 0x3b, 0x8e, 0x29, 0x72, 0x4c, 0xf4, 0x8d, 0x5a, 0x50, 0x9c, 0x79, 0x7c,
- 0x7a, 0xab, 0xb8, 0x38, 0xf3, 0x44, 0x97, 0x63, 0xd7, 0x37, 0x75, 0xcb, 0x3b, 0xfb, 0x84, 0xbb,
- 0xff, 0x26, 0xeb, 0x92, 0x81, 0x06, 0xde, 0xd9, 0x27, 0x49, 0x82, 0x47, 0xdc, 0xf7, 0xab, 0x04,
- 0x8f, 0x18, 0x81, 0xe7, 0x93, 0x89, 0x75, 0x2e, 0x38, 0x54, 0x04, 0x81, 0x00, 0x85, 0x1c, 0x62,
- 0x82, 0x47, 0x9d, 0xa5, 0x14, 0xc1, 0x23, 0x36, 0x8e, 0x80, 0xf8, 0x96, 0x61, 0x77, 0xaa, 0x62,
- 0x4f, 0x12, 0x5f, 0xe8, 0x7b, 0xd0, 0xf4, 0xc9, 0x98, 0x58, 0x67, 0x44, 0x4a, 0x57, 0xe3, 0x83,
- 0x69, 0x84, 0x40, 0xce, 0x3d, 0x45, 0xf4, 0xa8, 0x03, 0x19, 0xa2, 0x47, 0x8c, 0x48, 0xf0, 0xd4,
- 0x1d, 0x97, 0x5a, 0x93, 0x57, 0x9d, 0xba, 0x20, 0x12, 0xc0, 0x03, 0x0e, 0x63, 0x72, 0x8e, 0x8d,
- 0xf1, 0x29, 0xd1, 0x7d, 0xe6, 0x06, 0x3b, 0x0d, 0x4e, 0x02, 0x1c, 0xc4, 0x1d, 0x23, 0xba, 0x03,
- 0xad, 0x88, 0x80, 0x2f, 0x6b, 0xa7, 0xc9, 0x69, 0x9a, 0x21, 0x8d, 0xd8, 0xd3, 0x6f, 0x40, 0x9d,
- 0x38, 0xa6, 0xee, 0x4e, 0x74, 0xd3, 0xa0, 0x46, 0xa7, 0xc5, 0x69, 0x6a, 0xc4, 0x31, 0x0f, 0x27,
- 0x3b, 0x06, 0x35, 0xd0, 0x1a, 0x2c, 0x12, 0xdf, 0x77, 0xfd, 0xce, 0x32, 0xc7, 0x88, 0x0f, 0x74,
- 0x1b, 0xa4, 0x34, 0xfa, 0xb7, 0x33, 0xe2, 0xbf, 0xea, 0xb4, 0x39, 0xb2, 0x2e, 0x60, 0x5f, 0x31,
- 0x90, 0x58, 0x8a, 0x80, 0x50, 0x49, 0xb1, 0x22, 0x04, 0xe4, 0x20, 0x4e, 0xa0, 0x7d, 0x0d, 0x65,
- 0xec, 0x7d, 0x63, 0xa1, 0x1f, 0x40, 0x79, 0xec, 0x3a, 0x13, 0xb9, 0x29, 0xaa, 0x3e, 0x40, 0xea,
- 0x20, 0xe6, 0x78, 0x74, 0x0f, 0x16, 0x03, 0xa6, 0x49, 0x5c, 0x4b, 0xea, 0x0f, 0x57, 0x93, 0x84,
- 0x5c, 0xc9, 0xb0, 0xa0, 0xd0, 0xb6, 0xa0, 0xb5, 0x4b, 0x28, 0xe3, 0x1e, 0x5a, 0x45, 0x1c, 0x49,
- 0x14, 0xd4, 0x48, 0x42, 0x7b, 0x0c, 0xcb, 0x11, 0xa5, 0x9c, 0x91, 0x2d, 0x58, 0x0a, 0x88, 0x7f,
- 0x96, 0x1b, 0x06, 0x72, 0xc2, 0x10, 0xad, 0xfd, 0x92, 0x1b, 0xa4, 0xda, 0xcd, 0x9b, 0xf9, 0x8f,
- 0x2e, 0x54, 0x6d, 0x6b, 0x42, 0xb8, 0xea, 0x97, 0x84, 0xea, 0x87, 0xdf, 0xda, 0x0a, 0x0f, 0xbf,
- 0x54, 0xc1, 0xb4, 0x5e, 0x68, 0xab, 0x6f, 0xdd, 0x63, 0x1c, 0x00, 0x25, 0x18, 0xbf, 0x1f, 0x7a,
- 0xf7, 0x4b, 0x31, 0x66, 0x4c, 0x54, 0x72, 0xc9, 0xe4, 0x41, 0xe4, 0xf8, 0x2f, 0xc7, 0x65, 0x1d,
- 0x56, 0x13, 0xf4, 0x92, 0xcd, 0x7b, 0xd0, 0xe6, 0xfa, 0x7b, 0x39, 0x26, 0xab, 0xb0, 0xa2, 0x50,
- 0xc7, 0x71, 0x52, 0x14, 0x1f, 0x5c, 0x8e, 0xcd, 0x26, 0xac, 0xa7, 0x5a, 0x48, 0x56, 0x46, 0x38,
- 0xd4, 0x5f, 0x92, 0x63, 0xdf, 0x08, 0x19, 0xb5, 0xa1, 0x34, 0xf3, 0x6d, 0xc9, 0x84, 0xfd, 0xe4,
- 0xca, 0xee, 0xce, 0x28, 0xe1, 0xbb, 0x6e, 0xd0, 0x29, 0xde, 0x2a, 0x71, 0x5f, 0xc8, 0x40, 0x6c,
- 0xdf, 0x0d, 0x58, 0xdf, 0x4c, 0x65, 0x58, 0xdc, 0x24, 0x42, 0xd9, 0xf0, 0x93, 0xcd, 0x43, 0xa2,
- 0x0b, 0xd9, 0xf3, 0x32, 0x34, 0x77, 0x09, 0x7d, 0xe1, 0x4f, 0xc2, 0x8d, 0xf5, 0x63, 0xae, 0xd3,
- 0x1c, 0x20, 0x15, 0xf5, 0x36, 0x94, 0xcf, 0xfc, 0x49, 0xa8, 0xa5, 0xcd, 0x58, 0x4b, 0x19, 0x11,
- 0x47, 0x69, 0x1f, 0xf2, 0x0d, 0x2e, 0xe6, 0x82, 0x6e, 0x42, 0xe9, 0xcc, 0x0f, 0x6d, 0x2d, 0xd5,
- 0x84, 0x61, 0xe4, 0x26, 0xa3, 0x74, 0xa3, 0x7d, 0x1c, 0x6e, 0x32, 0x6f, 0xc2, 0x26, 0xda, 0x57,
- 0x54, 0x4e, 0x3d, 0x58, 0xdb, 0x25, 0x74, 0x87, 0x4c, 0x2c, 0x87, 0x98, 0x47, 0x24, 0x8a, 0x04,
- 0xee, 0xc9, 0x7d, 0x54, 0x44, 0x01, 0xeb, 0x31, 0x3b, 0x49, 0xca, 0xa6, 0x50, 0x6e, 0x9a, 0x3d,
- 0x58, 0x4f, 0xb1, 0x88, 0xac, 0xb6, 0x1c, 0x10, 0x1a, 0x4e, 0xc6, 0x5a, 0x86, 0x07, 0xa3, 0xe5,
- 0x14, 0xda, 0x17, 0xb0, 0xd6, 0x33, 0xcd, 0xac, 0x14, 0x3f, 0x80, 0x12, 0xf3, 0xa4, 0x62, 0x4c,
- 0xf9, 0x0c, 0x18, 0x01, 0x53, 0x96, 0x54, 0x7b, 0x39, 0xbc, 0x23, 0xd8, 0x14, 0x63, 0x7e, 0x6b,
- 0xde, 0x4c, 0xb3, 0x0c, 0xdb, 0xe6, 0x26, 0x5b, 0xc5, 0xec, 0x27, 0x0b, 0x4d, 0xb3, 0x4c, 0x65,
- 0x87, 0x4f, 0xa0, 0x83, 0x89, 0x67, 0x1b, 0xe3, 0xb7, 0xef, 0x91, 0x05, 0xd3, 0x39, 0x3c, 0x64,
- 0x07, 0xeb, 0xfc, 0x98, 0xcc, 0x5d, 0x2b, 0x3b, 0xed, 0x86, 0xaa, 0xf8, 0x25, 0x5f, 0x47, 0x05,
- 0x2c, 0xd7, 0xe0, 0x63, 0x80, 0x20, 0x04, 0x86, 0x2b, 0xa1, 0xb8, 0xe9, 0xb8, 0x81, 0x42, 0xa6,
- 0x3d, 0xe3, 0x67, 0xa8, 0x74, 0x1f, 0xe8, 0x23, 0xa8, 0x45, 0x44, 0x72, 0x14, 0xb9, 0xac, 0x62,
- 0x2a, 0x6d, 0x83, 0x2f, 0x6c, 0x46, 0x2c, 0xed, 0x0f, 0xc3, 0x13, 0xd5, 0x3b, 0xe8, 0x24, 0x67,
- 0x85, 0xae, 0x84, 0xcb, 0x9e, 0xed, 0x79, 0x0f, 0x36, 0xe5, 0xe4, 0xbe, 0x8b, 0xf1, 0x75, 0xa3,
- 0xe5, 0xce, 0xf6, 0x84, 0xa0, 0xbd, 0x4b, 0xa8, 0x8c, 0x2f, 0xe5, 0x32, 0xf5, 0x60, 0x45, 0x81,
- 0xc9, 0x35, 0x7a, 0x0f, 0xaa, 0x1e, 0x83, 0x58, 0x24, 0x5c, 0xa1, 0xb6, 0x12, 0x31, 0x0b, 0xda,
- 0x88, 0x42, 0x3b, 0x87, 0x76, 0xcf, 0x34, 0x13, 0x6c, 0xd1, 0x16, 0x54, 0x38, 0xfe, 0x95, 0x14,
- 0x3b, 0xdb, 0x5e, 0xe2, 0xd1, 0x4f, 0xe0, 0x8a, 0x4f, 0x26, 0xc4, 0xd7, 0xc9, 0xb9, 0x15, 0x50,
- 0xcb, 0x39, 0xd1, 0x15, 0xf5, 0x10, 0x33, 0xb8, 0xc9, 0x09, 0xfa, 0x12, 0x7f, 0x14, 0xab, 0xc5,
- 0x2a, 0xac, 0x28, 0x3d, 0xcb, 0x51, 0xfe, 0xaa, 0x00, 0xab, 0xf2, 0x00, 0xff, 0x96, 0x22, 0x7d,
- 0x00, 0xab, 0x1e, 0x8b, 0x41, 0xfc, 0x33, 0x92, 0x15, 0x06, 0x85, 0xa8, 0x58, 0x8e, 0x70, 0xbd,
- 0x4b, 0xf1, 0x7a, 0x6f, 0xc0, 0x5a, 0x52, 0x06, 0x29, 0xdc, 0xdf, 0x16, 0xd8, 0xf9, 0x9c, 0xaf,
- 0xcf, 0xff, 0xc1, 0x84, 0xcd, 0x1b, 0x59, 0x69, 0xde, 0xc8, 0x44, 0x72, 0x20, 0x21, 0xae, 0x1c,
- 0xc8, 0x4b, 0xe8, 0x46, 0x7a, 0xd3, 0x0b, 0x02, 0xeb, 0xc4, 0x51, 0x15, 0xf7, 0x27, 0x00, 0x46,
- 0x04, 0x94, 0x23, 0xea, 0xa6, 0x47, 0xa4, 0x34, 0x53, 0xa8, 0xb5, 0xaf, 0xe1, 0x6a, 0x2e, 0x67,
- 0xa9, 0x9b, 0xff, 0x13, 0xd6, 0x2f, 0xa1, 0x1b, 0xe9, 0xcb, 0xbb, 0x15, 0xfa, 0x3a, 0x5c, 0xcd,
- 0xe5, 0x2c, 0x67, 0x6b, 0x0a, 0xd7, 0x55, 0x75, 0x78, 0xa7, 0x7d, 0xe7, 0x78, 0x9b, 0x5b, 0x70,
- 0x63, 0x5e, 0x77, 0x52, 0xa0, 0x3f, 0x80, 0x1b, 0x89, 0x75, 0x7d, 0xb7, 0xb3, 0x71, 0x1b, 0x6e,
- 0xce, 0xe5, 0x9e, 0xf0, 0x45, 0x47, 0x3c, 0x48, 0x0e, 0x7d, 0xd1, 0xe7, 0xdc, 0x17, 0x85, 0xb0,
- 0x68, 0xcf, 0xae, 0x9c, 0xd8, 0xee, 0xb1, 0x61, 0x67, 0x0d, 0x63, 0x97, 0xc3, 0xb1, 0xc4, 0x6b,
- 0x5f, 0x00, 0x3a, 0xa2, 0x86, 0x9f, 0x64, 0xfa, 0x06, 0xed, 0xd7, 0x61, 0x35, 0xd1, 0x3e, 0xce,
- 0x60, 0x1c, 0x51, 0xd7, 0x4b, 0x8a, 0xba, 0xc6, 0xfa, 0x8a, 0x81, 0x92, 0xf4, 0xd7, 0x25, 0x28,
- 0x0f, 0x65, 0x5e, 0xd1, 0xb1, 0x7d, 0x2b, 0x4c, 0x82, 0xb2, 0xdf, 0xec, 0x74, 0xe1, 0x19, 0x94,
- 0xfa, 0x22, 0xf2, 0x6b, 0x60, 0xf9, 0xc5, 0x97, 0xef, 0x24, 0x8c, 0xed, 0xd9, 0x4f, 0xd6, 0xfa,
- 0x98, 0x04, 0x94, 0x1f, 0x5d, 0xab, 0x98, 0xff, 0x66, 0xc1, 0xa3, 0x15, 0xe8, 0xdf, 0x59, 0xf4,
- 0xd4, 0xf4, 0x8d, 0xef, 0xf8, 0xa1, 0xb5, 0x8a, 0xc1, 0x0a, 0x7e, 0x21, 0x21, 0xe8, 0x06, 0xc0,
- 0x99, 0x61, 0x5b, 0xa6, 0xc1, 0xf3, 0x6e, 0x15, 0x9e, 0xd3, 0x51, 0x20, 0xe8, 0x43, 0x58, 0x73,
- 0x5c, 0xdd, 0x9a, 0x7a, 0xcc, 0x6b, 0xd3, 0x98, 0xd3, 0x92, 0xb0, 0x7d, 0xc7, 0x1d, 0x48, 0x54,
- 0xc4, 0x31, 0x3e, 0x0e, 0x55, 0x13, 0x89, 0xd5, 0xeb, 0x00, 0x22, 0xdb, 0xa2, 0x1b, 0x81, 0xc3,
- 0x4f, 0xb0, 0x4d, 0x5c, 0x13, 0x90, 0x5e, 0xe0, 0xa0, 0xab, 0x20, 0x3f, 0x74, 0xcb, 0xe4, 0x47,
- 0xd7, 0x1a, 0xae, 0x0a, 0xc0, 0xc0, 0x94, 0xb9, 0x25, 0x4a, 0x7c, 0x62, 0xf2, 0x13, 0x6b, 0x15,
- 0x47, 0xdf, 0xec, 0x14, 0x19, 0x50, 0xc3, 0x26, 0xfc, 0x9c, 0x5a, 0xc5, 0xe2, 0x03, 0x6d, 0x41,
- 0xdb, 0x0a, 0xf4, 0x89, 0xef, 0x4e, 0x75, 0x72, 0x4e, 0x89, 0xef, 0x18, 0x36, 0x3f, 0xa4, 0x56,
- 0x71, 0xcb, 0x0a, 0x9e, 0xfa, 0xee, 0xb4, 0x2f, 0xa1, 0x6c, 0x8a, 0x1c, 0x99, 0xfc, 0xd2, 0x2d,
- 0x8f, 0x9f, 0x52, 0x6b, 0x18, 0x42, 0xd0, 0xc0, 0xd3, 0xfe, 0xba, 0x00, 0xf5, 0x1d, 0xc2, 0x7c,
- 0xa2, 0x98, 0x12, 0xb6, 0x22, 0xfc, 0xcc, 0x2e, 0xa3, 0x74, 0xf9, 0x15, 0x67, 0x8b, 0x8a, 0x17,
- 0x64, 0x8b, 0xd0, 0x5d, 0x58, 0xb6, 0x5d, 0xe7, 0x84, 0xf8, 0xba, 0x68, 0x46, 0x42, 0x3f, 0xda,
- 0x12, 0xe0, 0xa1, 0x84, 0xa2, 0x7b, 0xd0, 0x0e, 0x4e, 0x5d, 0x9f, 0xaa, 0x94, 0x62, 0x69, 0x97,
- 0x25, 0x3c, 0x24, 0xd5, 0xfe, 0xbe, 0x00, 0x8b, 0x23, 0x16, 0xe7, 0xb3, 0x03, 0xaf, 0x12, 0xee,
- 0xe6, 0x25, 0xbd, 0x38, 0x3e, 0xba, 0x12, 0x28, 0xc6, 0x57, 0x02, 0x73, 0x33, 0xe2, 0xbf, 0x07,
- 0x0d, 0x33, 0x1e, 0x3e, 0x13, 0x82, 0x0d, 0x2f, 0x11, 0x4a, 0x47, 0x58, 0x9c, 0x20, 0xe5, 0x19,
- 0x0f, 0x37, 0xa0, 0xba, 0xdc, 0xa3, 0xa4, 0xfa, 0x31, 0x90, 0xb0, 0x70, 0xed, 0x11, 0x3f, 0x8a,
- 0x60, 0xeb, 0x38, 0xb4, 0xbb, 0x3b, 0xb0, 0x48, 0xd9, 0x48, 0xa4, 0xd9, 0x2d, 0xc7, 0xbd, 0xf0,
- 0x01, 0x62, 0x81, 0xd5, 0x3e, 0x15, 0xa7, 0x70, 0xd6, 0x4e, 0x1a, 0xfc, 0x25, 0x1b, 0xda, 0x80,
- 0x5e, 0x08, 0xed, 0x26, 0x4a, 0xaf, 0x97, 0x9d, 0xb6, 0x79, 0x37, 0x2c, 0xb1, 0x4a, 0x94, 0x54,
- 0x95, 0x60, 0xbe, 0x21, 0xd1, 0x9b, 0x34, 0xf8, 0x7f, 0x64, 0x06, 0x4f, 0x88, 0xcf, 0xf5, 0x9a,
- 0x71, 0x08, 0x23, 0xa6, 0x26, 0x8e, 0xbe, 0xd1, 0x8f, 0xa1, 0x61, 0x78, 0x9e, 0xfd, 0x2a, 0x9c,
- 0x3c, 0x91, 0x9a, 0x50, 0xa6, 0xbd, 0xc7, 0xb0, 0x72, 0x7f, 0xad, 0x1b, 0xf1, 0x47, 0x94, 0xf5,
- 0x28, 0xa5, 0xb3, 0x1e, 0xac, 0x4f, 0x25, 0xeb, 0xf1, 0x18, 0x9a, 0xe4, 0xf8, 0xc4, 0xd3, 0xa7,
- 0x33, 0x9b, 0x5a, 0xa7, 0xae, 0x27, 0xef, 0x3c, 0x36, 0xe2, 0x06, 0xfd, 0xe3, 0x13, 0x6f, 0x5f,
- 0x62, 0x71, 0x83, 0x28, 0x5f, 0xa8, 0x07, 0xcb, 0xe2, 0x58, 0xea, 0x93, 0x89, 0x4d, 0xc6, 0xd4,
- 0xf5, 0xf9, 0xf2, 0xd6, 0x1f, 0x76, 0x94, 0xd9, 0x63, 0x04, 0x38, 0xc4, 0xe3, 0x96, 0x9f, 0xf8,
- 0x46, 0x77, 0xa1, 0x6c, 0x39, 0x13, 0x97, 0x7b, 0x9d, 0x44, 0x88, 0xca, 0xe4, 0x14, 0x49, 0x17,
- 0x4e, 0xc0, 0x9c, 0x31, 0xb5, 0xa6, 0xc4, 0x0f, 0xb8, 0xdb, 0x49, 0x38, 0xe3, 0x11, 0x87, 0x63,
- 0x89, 0x67, 0xa1, 0x2f, 0xf5, 0x0d, 0x27, 0xe0, 0xd9, 0x89, 0x6a, 0x9a, 0xef, 0x28, 0x44, 0xe1,
- 0x98, 0x8a, 0xcd, 0xb3, 0x18, 0x88, 0x48, 0xbd, 0x70, 0xcf, 0x94, 0x98, 0x67, 0x3e, 0x0a, 0xe9,
- 0xb2, 0xc5, 0x51, 0x5c, 0x7c, 0x68, 0xff, 0x5c, 0x80, 0xba, 0xb2, 0x08, 0xe8, 0x53, 0xa8, 0x59,
- 0x8e, 0x9e, 0x88, 0xc7, 0x2e, 0xda, 0xfa, 0xaa, 0x96, 0x23, 0x1b, 0xfe, 0x14, 0x9a, 0xe4, 0x9c,
- 0x09, 0x93, 0x5c, 0xeb, 0x8b, 0x1a, 0x37, 0x44, 0x83, 0x98, 0x81, 0x35, 0x55, 0x19, 0x94, 0x5e,
- 0xcf, 0x40, 0x34, 0x90, 0x76, 0xf8, 0x67, 0x50, 0x17, 0xde, 0x64, 0xcf, 0x9a, 0x5a, 0x73, 0x53,
- 0x5a, 0xe8, 0x36, 0x34, 0xa6, 0xc6, 0x79, 0xec, 0x8f, 0x84, 0x15, 0xd4, 0xa7, 0xc6, 0x79, 0xe4,
- 0xb6, 0x3e, 0x81, 0x8d, 0x40, 0xde, 0x77, 0xe8, 0xf4, 0xd4, 0x27, 0xc1, 0xa9, 0x6b, 0x9b, 0xba,
- 0x37, 0xa6, 0xd2, 0xab, 0xac, 0x85, 0xd8, 0x51, 0x88, 0x1c, 0x8e, 0xa9, 0xf6, 0xef, 0x65, 0xa8,
- 0x86, 0xda, 0x89, 0xbe, 0x07, 0x4d, 0x63, 0x46, 0x4f, 0x75, 0xcf, 0x08, 0x82, 0xef, 0x5c, 0xdf,
- 0x94, 0x7e, 0xb6, 0xc1, 0x80, 0x43, 0x09, 0x43, 0xb7, 0xa0, 0x6e, 0x92, 0x60, 0xec, 0x5b, 0x5e,
- 0x74, 0x63, 0x54, 0xc3, 0x2a, 0x08, 0x5d, 0x81, 0xaa, 0xed, 0x8e, 0x0d, 0x5b, 0x37, 0x82, 0x30,
- 0x31, 0xc2, 0xbf, 0x7b, 0xdc, 0xb7, 0x46, 0x3e, 0x3f, 0xcc, 0xdb, 0x94, 0x39, 0x87, 0xe5, 0x10,
- 0xde, 0x93, 0xa9, 0xae, 0x4d, 0x58, 0xf2, 0x08, 0xf1, 0x19, 0x13, 0x91, 0xf2, 0xad, 0xb0, 0xcf,
- 0x5e, 0xc0, 0xf6, 0x33, 0x8e, 0x38, 0xf1, 0xdd, 0x99, 0xc7, 0x75, 0xb8, 0x86, 0x6b, 0x0c, 0xb2,
- 0xcb, 0x00, 0x6c, 0x3f, 0xe3, 0x68, 0xee, 0x57, 0x44, 0xaa, 0xb7, 0xca, 0x00, 0xfc, 0xae, 0xe4,
- 0x3e, 0xac, 0xf8, 0x64, 0xea, 0x9e, 0x11, 0xdd, 0xf3, 0xad, 0x33, 0x83, 0xb2, 0x3d, 0x51, 0x6e,
- 0x97, 0xcb, 0x02, 0x31, 0x14, 0xf0, 0x5e, 0x80, 0xde, 0x03, 0x24, 0xf4, 0x73, 0x62, 0x1b, 0x9e,
- 0x6e, 0x1a, 0x53, 0xcf, 0x72, 0x4e, 0xb8, 0x96, 0x56, 0x71, 0x9b, 0x63, 0x9e, 0xda, 0x86, 0xb7,
- 0x23, 0xe0, 0xe8, 0x0e, 0xb4, 0x02, 0xe2, 0x98, 0xfa, 0xd8, 0x9d, 0x4e, 0x67, 0x8e, 0x45, 0x5f,
- 0xf1, 0xbd, 0xb4, 0x89, 0x9b, 0x0c, 0xba, 0x1d, 0x02, 0x99, 0xf0, 0x32, 0xc1, 0x3e, 0x36, 0xbc,
- 0x4e, 0x9d, 0x47, 0x16, 0x35, 0x01, 0xd9, 0x36, 0xb8, 0xf0, 0x62, 0xea, 0x18, 0xb6, 0xc1, 0xb1,
- 0x62, 0x2e, 0x19, 0xb2, 0x05, 0x45, 0xcb, 0xe4, 0x9b, 0x69, 0x0d, 0x17, 0x2d, 0x13, 0xfd, 0x04,
- 0x9a, 0x32, 0xad, 0x6d, 0x33, 0xe5, 0x09, 0x3a, 0xad, 0xf4, 0x06, 0xa1, 0xa8, 0x16, 0x6e, 0x78,
- 0xf1, 0x47, 0xc0, 0x96, 0x5a, 0xae, 0x91, 0x5c, 0x85, 0x65, 0xb1, 0xd4, 0x62, 0xa1, 0xe4, 0x12,
- 0xbc, 0x0f, 0x28, 0xde, 0xa1, 0x1d, 0x4a, 0xfc, 0x89, 0x31, 0x26, 0x3c, 0x2f, 0x5c, 0xc3, 0x2b,
- 0xd1, 0x46, 0x1d, 0x22, 0x58, 0x64, 0x74, 0xe6, 0x4f, 0x78, 0x56, 0xb8, 0x26, 0x32, 0x46, 0x5f,
- 0x42, 0x43, 0xf5, 0x64, 0xa8, 0x03, 0x4b, 0x84, 0xe7, 0xc5, 0x84, 0x6a, 0x55, 0x71, 0xf8, 0xc9,
- 0x15, 0x5c, 0x52, 0xe9, 0x94, 0xda, 0x91, 0x82, 0x4b, 0xd8, 0x88, 0xda, 0xda, 0x5f, 0x14, 0xa0,
- 0x95, 0x74, 0x6c, 0x4c, 0xe7, 0x53, 0xbe, 0x50, 0x1f, 0xdb, 0x56, 0x18, 0x00, 0x57, 0xf1, 0x5a,
- 0xd2, 0xf1, 0x6d, 0x73, 0x1c, 0x7a, 0x0c, 0xdd, 0x6c, 0xab, 0x59, 0xc0, 0x36, 0xfc, 0xe8, 0x22,
- 0x6a, 0x33, 0xdd, 0x92, 0xe3, 0x07, 0xa6, 0xf6, 0x77, 0x15, 0xa8, 0x45, 0x6e, 0xf2, 0x7f, 0xc1,
- 0x62, 0x1e, 0x40, 0x75, 0x4a, 0x82, 0xc0, 0x38, 0x91, 0x51, 0x48, 0x62, 0x5f, 0xd9, 0x97, 0x18,
- 0x1c, 0xd1, 0xe4, 0x5a, 0xd8, 0xe2, 0x6b, 0x2d, 0xac, 0x72, 0x81, 0x85, 0x2d, 0x5d, 0x68, 0x61,
- 0xd5, 0x94, 0x85, 0x6d, 0x41, 0xe5, 0xdb, 0x19, 0x99, 0x91, 0x40, 0xfa, 0x73, 0x65, 0xcb, 0xf8,
- 0x8a, 0xc3, 0xb1, 0xc4, 0xe7, 0xdb, 0x22, 0xbc, 0x89, 0x2d, 0xd6, 0x2f, 0x6d, 0x8b, 0x8d, 0x3c,
- 0x5b, 0xe4, 0x77, 0x32, 0x41, 0x60, 0xb9, 0x8e, 0x38, 0x5c, 0x73, 0xd3, 0x6a, 0xe2, 0x86, 0x04,
- 0x8a, 0x15, 0xfe, 0x11, 0x6c, 0x04, 0x33, 0x8f, 0x79, 0x6c, 0x62, 0x32, 0xab, 0x34, 0x8e, 0x2d,
- 0xdb, 0xa2, 0x2c, 0x6e, 0x68, 0xf1, 0x84, 0xf0, 0x7a, 0x84, 0xdd, 0x56, 0x90, 0x6c, 0x8e, 0xd8,
- 0x0e, 0x2f, 0xf8, 0x0a, 0xdb, 0xaa, 0x1e, 0x9f, 0x78, 0x82, 0xe7, 0x4f, 0xa1, 0x6e, 0x98, 0x53,
- 0x2b, 0xec, 0xb6, 0xcd, 0x83, 0x9f, 0x1b, 0x39, 0xdb, 0xf0, 0x83, 0x1e, 0x23, 0x13, 0x3b, 0x32,
- 0x18, 0xd1, 0x6f, 0x16, 0xbe, 0x84, 0xb7, 0x4b, 0xdc, 0xdc, 0x9a, 0x38, 0xfa, 0x66, 0x38, 0x63,
- 0x3c, 0x26, 0x1e, 0x25, 0x66, 0x07, 0x09, 0x5c, 0xf8, 0xcd, 0x0e, 0x1d, 0x86, 0x79, 0x46, 0x7c,
- 0x6a, 0x05, 0xc4, 0xec, 0xac, 0x8a, 0x7b, 0xb0, 0x18, 0x82, 0x56, 0x61, 0xd1, 0x9d, 0x51, 0xfd,
- 0xdb, 0xce, 0x9a, 0xb8, 0x5f, 0x70, 0x67, 0xf4, 0x2b, 0x16, 0xe7, 0x4f, 0x6c, 0xd7, 0x0b, 0x3a,
- 0xeb, 0x1c, 0x28, 0x3e, 0xb4, 0xfb, 0x00, 0xb1, 0x70, 0xa8, 0x02, 0xc5, 0xe7, 0x43, 0x71, 0xc5,
- 0xb9, 0x73, 0xf8, 0x8b, 0x83, 0x76, 0x01, 0x01, 0x54, 0x86, 0x4f, 0x5f, 0xea, 0xdb, 0xa3, 0x76,
- 0x51, 0xfb, 0x63, 0xa8, 0x86, 0x9a, 0x8a, 0xde, 0x57, 0x44, 0x17, 0x5b, 0xf5, 0x4a, 0x46, 0x9f,
- 0x95, 0xd1, 0xdc, 0x81, 0x72, 0xc0, 0xec, 0xb9, 0x38, 0x8f, 0x94, 0xa3, 0xb5, 0xdf, 0x16, 0x60,
- 0x49, 0x42, 0x90, 0x06, 0x8d, 0x83, 0xc3, 0xd1, 0xe0, 0xe9, 0x60, 0xbb, 0x37, 0x1a, 0x1c, 0x1e,
- 0xf0, 0x5e, 0xca, 0xb8, 0xe1, 0x28, 0x30, 0xb6, 0xcf, 0x3e, 0x1f, 0xee, 0xf4, 0x46, 0x7d, 0xce,
- 0xb8, 0x8c, 0x2b, 0x33, 0xfe, 0xc5, 0xc2, 0xf3, 0xc3, 0x61, 0xff, 0x40, 0xde, 0x95, 0x97, 0xdd,
- 0x61, 0xff, 0x00, 0x5d, 0x83, 0xda, 0x97, 0xfd, 0xfe, 0xb0, 0xb7, 0x37, 0x78, 0xd1, 0xe7, 0x26,
- 0x58, 0xc6, 0xb5, 0x6f, 0x42, 0x00, 0x73, 0x69, 0xb8, 0xff, 0x14, 0xf7, 0x8f, 0x9e, 0x71, 0x33,
- 0x2b, 0xe3, 0x25, 0x5f, 0x7c, 0xb2, 0x76, 0x3b, 0x83, 0xa3, 0xed, 0x1e, 0xde, 0xe9, 0xef, 0x70,
- 0x03, 0x2b, 0xe3, 0x9a, 0x19, 0x02, 0xd8, 0xac, 0x8e, 0x0e, 0x47, 0xbd, 0x3d, 0x6e, 0x5e, 0x65,
- 0xbc, 0x48, 0xd9, 0x87, 0xf6, 0x08, 0x2a, 0xc2, 0x4a, 0x18, 0xde, 0x72, 0xbc, 0x19, 0x95, 0x81,
- 0x80, 0xf8, 0x60, 0x72, 0xbb, 0x33, 0xca, 0xc0, 0x32, 0x0e, 0x16, 0x5f, 0x1a, 0x81, 0x8a, 0x08,
- 0xc8, 0xd0, 0x03, 0xa8, 0xb0, 0x18, 0xd3, 0x3a, 0x91, 0xb3, 0xbb, 0x91, 0x0e, 0xd9, 0xb6, 0x39,
- 0x16, 0x4b, 0x2a, 0xf4, 0xc3, 0xe4, 0x0d, 0xdc, 0x7a, 0x9a, 0x3c, 0x71, 0x07, 0xf7, 0xdb, 0x02,
- 0x34, 0x54, 0x2e, 0xcc, 0x84, 0xc6, 0xae, 0xe3, 0x90, 0x31, 0xd5, 0x7d, 0x42, 0xfd, 0x57, 0xe1,
- 0x64, 0x4b, 0x20, 0x66, 0x30, 0x66, 0x0b, 0x3c, 0x16, 0x89, 0xae, 0x83, 0xcb, 0xb8, 0xca, 0x00,
- 0x8c, 0x13, 0xdb, 0x63, 0xbe, 0x21, 0xc4, 0x33, 0x6c, 0xeb, 0x8c, 0xe8, 0xa9, 0xb7, 0x0a, 0x2b,
- 0x11, 0x66, 0x20, 0x11, 0x68, 0x07, 0x6e, 0x4c, 0x2d, 0xc7, 0x9a, 0xce, 0xa6, 0x7a, 0xa4, 0xb7,
- 0x2c, 0xac, 0x8a, 0x9b, 0x8a, 0x15, 0xba, 0x26, 0xa9, 0x7a, 0x2a, 0x51, 0xc8, 0x45, 0xfb, 0x4d,
- 0x11, 0xea, 0xca, 0xf0, 0xfe, 0x9f, 0x0e, 0x83, 0xe7, 0x08, 0xc8, 0x89, 0x4b, 0x2d, 0x83, 0x39,
- 0xa7, 0x58, 0x38, 0xa1, 0x88, 0x28, 0xc6, 0x3d, 0x0b, 0xc5, 0x8c, 0x2f, 0xec, 0x2b, 0x52, 0xef,
- 0xb3, 0x17, 0xf6, 0x42, 0x21, 0xa3, 0x6f, 0xed, 0xbf, 0x0a, 0x50, 0x8b, 0x02, 0xf8, 0x6c, 0xe0,
- 0x50, 0xc8, 0x09, 0x1c, 0xae, 0x03, 0x08, 0x22, 0xe5, 0xb2, 0x52, 0x04, 0x36, 0x43, 0xc9, 0x63,
- 0x4a, 0x67, 0xba, 0x69, 0x05, 0x63, 0xf7, 0x8c, 0xf8, 0xaf, 0xe4, 0x41, 0xbc, 0x31, 0xa5, 0xb3,
- 0x9d, 0x10, 0xc6, 0x22, 0x02, 0xb6, 0xab, 0xb2, 0xf9, 0x9c, 0xba, 0x26, 0x91, 0x47, 0xf0, 0xba,
- 0x84, 0xed, 0xbb, 0x26, 0x3b, 0x7a, 0xb6, 0x64, 0x30, 0x95, 0xdc, 0xe9, 0x9a, 0x02, 0xda, 0xcb,
- 0x7f, 0xd4, 0x50, 0x09, 0x1f, 0x10, 0x84, 0x8f, 0x1a, 0xd8, 0x46, 0x48, 0xc7, 0x9e, 0x3e, 0x0d,
- 0x02, 0x19, 0x30, 0x56, 0xe8, 0xd8, 0xdb, 0x0f, 0x02, 0xed, 0x73, 0xa8, 0x2b, 0x87, 0x10, 0xf4,
- 0x00, 0x56, 0xd5, 0x13, 0x4b, 0x32, 0xd6, 0x58, 0x51, 0x4e, 0x28, 0x22, 0xd0, 0xd0, 0x66, 0x50,
- 0x11, 0x11, 0x18, 0xd3, 0x1d, 0xcb, 0xd3, 0x13, 0xd9, 0x8b, 0xaa, 0xe5, 0x49, 0xe4, 0x0f, 0x60,
- 0x79, 0x6a, 0x04, 0xdf, 0xe8, 0x36, 0x71, 0x4e, 0xe8, 0xa9, 0x3e, 0xb5, 0x1c, 0x39, 0x65, 0x4d,
- 0x06, 0xde, 0xe3, 0xd0, 0x7d, 0xcb, 0xc9, 0xd0, 0x19, 0xe7, 0x32, 0x58, 0x50, 0xe9, 0x8c, 0x73,
- 0xed, 0xaf, 0x0a, 0x00, 0xf1, 0xc5, 0xcf, 0x1b, 0xdc, 0xc4, 0xe5, 0x66, 0x27, 0x10, 0x94, 0x6d,
- 0x2b, 0xa0, 0xfc, 0x29, 0x4e, 0x0d, 0xf3, 0xdf, 0xfc, 0xc2, 0x21, 0x4e, 0x8d, 0xa4, 0x2f, 0x1c,
- 0x38, 0x06, 0x47, 0x14, 0xda, 0x2e, 0x54, 0xf7, 0x0d, 0x3a, 0x3e, 0x65, 0xc2, 0xdc, 0x4d, 0x08,
- 0xa3, 0x1c, 0x11, 0x39, 0xc5, 0xc5, 0xa2, 0x68, 0x2f, 0xa0, 0xd1, 0x0b, 0x86, 0x06, 0x3d, 0x15,
- 0x63, 0x45, 0x0f, 0x12, 0xcc, 0x94, 0x43, 0x97, 0x4a, 0xa5, 0xf0, 0xdc, 0x80, 0x8a, 0x98, 0xbb,
- 0xd0, 0x7b, 0x8a, 0x2f, 0xed, 0x3f, 0xcb, 0x00, 0xdb, 0xae, 0x63, 0x5a, 0x22, 0x79, 0xf2, 0x11,
- 0xc8, 0xb7, 0x21, 0x7a, 0x7c, 0xdb, 0x86, 0x52, 0x92, 0x1e, 0x11, 0x8a, 0x6b, 0x82, 0x8a, 0x0d,
- 0xeb, 0x47, 0xd0, 0x88, 0xa2, 0x2e, 0xd6, 0xa8, 0x38, 0xb7, 0x51, 0x94, 0xf3, 0x62, 0xcd, 0x3e,
- 0x83, 0x96, 0x11, 0xe8, 0x9e, 0x41, 0x4f, 0xe5, 0xa2, 0xca, 0xf3, 0xe3, 0x46, 0xfe, 0x50, 0x70,
- 0xc3, 0x50, 0x87, 0xff, 0x10, 0xea, 0x61, 0x6b, 0xd6, 0x67, 0x79, 0xbe, 0xa0, 0xa2, 0x19, 0xeb,
- 0xf1, 0x53, 0xe6, 0xe9, 0x64, 0x00, 0xc4, 0x5b, 0x2d, 0xce, 0x6d, 0xd5, 0x88, 0x08, 0x59, 0xc3,
- 0x2f, 0x60, 0x85, 0x9c, 0x53, 0x3d, 0xd9, 0xb8, 0x32, 0xb7, 0xf1, 0x32, 0x39, 0xa7, 0xdb, 0x6a,
- 0x7b, 0x66, 0x84, 0xde, 0x37, 0x96, 0xee, 0x93, 0x60, 0x66, 0x53, 0x6e, 0x67, 0x8b, 0x18, 0x7c,
- 0x71, 0x31, 0x3f, 0xb3, 0x29, 0xfa, 0x1c, 0x20, 0xbe, 0x6e, 0xe7, 0x61, 0x65, 0x22, 0x26, 0x8a,
- 0xd7, 0x47, 0xe4, 0x05, 0xf8, 0xb2, 0xd6, 0xa2, 0xdb, 0x78, 0xf4, 0x04, 0x56, 0x6d, 0xc3, 0x3f,
- 0x21, 0x29, 0x09, 0x6b, 0x73, 0x25, 0x5c, 0xe1, 0xe4, 0xaa, 0x8c, 0xda, 0x29, 0xd4, 0x22, 0xde,
- 0x68, 0x15, 0x96, 0xf1, 0xe1, 0xf3, 0x51, 0x5f, 0x1f, 0x7d, 0x3d, 0xec, 0xeb, 0x07, 0x87, 0x07,
- 0xfd, 0xf6, 0x02, 0xda, 0x84, 0x55, 0x05, 0x38, 0x38, 0x18, 0xf5, 0xf1, 0x41, 0x6f, 0xaf, 0x5d,
- 0x48, 0x21, 0xfa, 0x2f, 0x25, 0xa2, 0x88, 0xd6, 0xa0, 0xad, 0x20, 0xf6, 0x0e, 0xb7, 0x7b, 0x7b,
- 0xed, 0x92, 0x36, 0x81, 0xe5, 0xa8, 0xe7, 0x9e, 0x78, 0x1c, 0xf9, 0x51, 0x42, 0x99, 0xaf, 0xab,
- 0x23, 0x4f, 0x10, 0x2a, 0xfa, 0x7c, 0x0b, 0xea, 0xe1, 0x68, 0xad, 0xe8, 0x85, 0x82, 0x0a, 0xd2,
- 0x0e, 0xa0, 0xb6, 0x4f, 0x4c, 0xd9, 0xc3, 0x0f, 0x13, 0x3d, 0x6c, 0xaa, 0xb1, 0x94, 0x99, 0xe1,
- 0xbd, 0x06, 0x8b, 0x67, 0x86, 0x3d, 0x0b, 0xdf, 0x6f, 0x89, 0x0f, 0x4d, 0x87, 0xe5, 0x5e, 0x30,
- 0xf4, 0x89, 0x47, 0x9c, 0x90, 0x6b, 0x1b, 0x4a, 0x46, 0xe0, 0xc8, 0x30, 0x85, 0xfd, 0x64, 0x66,
- 0xc6, 0x28, 0x8c, 0x28, 0x48, 0x11, 0x5f, 0x48, 0x83, 0xe6, 0x2c, 0x20, 0xba, 0x4d, 0x26, 0x54,
- 0x9f, 0xba, 0x01, 0x95, 0x6e, 0xbf, 0x3e, 0x0b, 0xc8, 0x1e, 0x99, 0xd0, 0x7d, 0x97, 0xdf, 0x29,
- 0x34, 0x0f, 0xc8, 0x39, 0x3d, 0x75, 0x3d, 0xc9, 0xfe, 0xc2, 0xb7, 0x30, 0x01, 0xb1, 0x27, 0xf2,
- 0x22, 0x85, 0xff, 0xd6, 0xee, 0xc2, 0xf2, 0x1e, 0xdf, 0x66, 0x7c, 0x32, 0x91, 0x0c, 0xa2, 0x81,
- 0xc8, 0x40, 0x4a, 0x0c, 0xe4, 0x5f, 0x4b, 0xb0, 0x24, 0x08, 0x82, 0x38, 0x11, 0x65, 0x88, 0x47,
- 0xb0, 0x19, 0x47, 0xc9, 0x95, 0x42, 0x50, 0xcb, 0x44, 0x94, 0xe4, 0xfd, 0x29, 0xd4, 0xe2, 0x33,
- 0x86, 0xb0, 0xf9, 0x2b, 0x73, 0x17, 0x0e, 0xc7, 0xb4, 0xe8, 0x0e, 0x94, 0xa6, 0xc4, 0x94, 0xd6,
- 0xbe, 0x9a, 0xb3, 0x12, 0x98, 0xe1, 0xd1, 0x8f, 0x01, 0x98, 0x85, 0x8b, 0xf9, 0x96, 0x06, 0x7e,
- 0x25, 0xe1, 0x1b, 0xd4, 0xa5, 0xe0, 0x76, 0x2e, 0x00, 0xe8, 0x0b, 0x68, 0x26, 0xcc, 0x55, 0xda,
- 0xf9, 0x05, 0xd2, 0x35, 0x54, 0x8b, 0x45, 0x1f, 0xc1, 0x92, 0x23, 0xd6, 0x41, 0x1a, 0xb9, 0xa2,
- 0x2e, 0x89, 0x05, 0xc2, 0x21, 0x1d, 0x13, 0x56, 0x6e, 0xfa, 0x3e, 0x99, 0xc8, 0x84, 0xa1, 0xd2,
- 0x5f, 0x6a, 0x5d, 0xc2, 0x78, 0xc0, 0x27, 0x13, 0xf4, 0x04, 0x96, 0x53, 0xb6, 0x2b, 0x53, 0x88,
- 0x17, 0x88, 0xdb, 0x4a, 0x9a, 0xaf, 0xf6, 0xab, 0x02, 0xd4, 0xa2, 0x8b, 0xd0, 0x68, 0xf7, 0x28,
- 0x28, 0x1b, 0xd9, 0x27, 0x00, 0xe3, 0xc8, 0x89, 0xc8, 0xd5, 0x5a, 0xcb, 0x73, 0x30, 0x58, 0xa1,
- 0x43, 0x3f, 0x84, 0x25, 0xa1, 0x16, 0x81, 0x5c, 0x2d, 0xe5, 0x0c, 0x22, 0x15, 0x08, 0x87, 0x14,
- 0xda, 0x57, 0x50, 0x91, 0x89, 0xc1, 0x3c, 0x01, 0x92, 0x4f, 0x29, 0x8a, 0x97, 0x7b, 0x4a, 0xf1,
- 0x1f, 0x05, 0x68, 0xa7, 0x73, 0x88, 0x68, 0x2b, 0x61, 0xc9, 0x6b, 0xe9, 0x6c, 0xa3, 0x62, 0xc6,
- 0xea, 0x83, 0xdc, 0xe2, 0x25, 0x1e, 0xe4, 0xe6, 0x94, 0x2c, 0x24, 0x9e, 0x17, 0x94, 0x5f, 0xf7,
- 0xbc, 0x00, 0x7d, 0x00, 0x4b, 0x26, 0x99, 0x18, 0xcc, 0xc9, 0x2f, 0x5e, 0x64, 0x48, 0x21, 0x95,
- 0xf6, 0x97, 0x05, 0x28, 0x61, 0xd7, 0x40, 0x2d, 0x28, 0x1a, 0x81, 0xb4, 0xd2, 0xa2, 0x11, 0xb0,
- 0xf3, 0x93, 0xd8, 0x60, 0x6d, 0x12, 0x06, 0x44, 0x31, 0x80, 0x39, 0x99, 0xa9, 0xc1, 0x51, 0xf2,
- 0xd2, 0x44, 0x7c, 0x29, 0x37, 0x02, 0xe5, 0xc4, 0x25, 0x51, 0x98, 0x9b, 0x5f, 0xbc, 0xf8, 0x45,
- 0xa2, 0x76, 0x57, 0x5c, 0x8c, 0xb8, 0xc6, 0xeb, 0x5e, 0x19, 0x8a, 0xb7, 0x5b, 0x9c, 0x30, 0x7e,
- 0xbb, 0xe5, 0xbb, 0x46, 0xce, 0xdb, 0x2d, 0x46, 0xc4, 0x51, 0x5a, 0x00, 0xa5, 0x17, 0xfe, 0x24,
- 0x57, 0x3b, 0x5a, 0x50, 0xf4, 0x45, 0xf6, 0xa9, 0x81, 0x8b, 0xbe, 0xc9, 0x43, 0x46, 0x91, 0x5a,
- 0xf6, 0x45, 0xf0, 0xd5, 0xc0, 0x55, 0x01, 0xc0, 0xfc, 0x41, 0xb8, 0x4c, 0x5c, 0xfb, 0x94, 0xaf,
- 0x49, 0x03, 0x57, 0x05, 0x00, 0x53, 0x99, 0x27, 0x14, 0x49, 0xd3, 0xa2, 0x65, 0x6a, 0xff, 0x52,
- 0x80, 0x8a, 0xb8, 0x3b, 0xcd, 0xcc, 0xf1, 0x55, 0x10, 0x5b, 0xa8, 0x92, 0xf9, 0xaa, 0x0a, 0xc0,
- 0xc0, 0x64, 0x5b, 0x36, 0x8b, 0xf6, 0x88, 0x23, 0xe2, 0xe6, 0x92, 0xd8, 0xb2, 0x05, 0x88, 0xc7,
- 0xcd, 0xf7, 0xa0, 0x2d, 0x09, 0xa4, 0x4f, 0x96, 0x0a, 0x52, 0xc3, 0xcb, 0x02, 0xde, 0x0b, 0xc1,
- 0x89, 0x0b, 0x97, 0xc5, 0xd4, 0x85, 0xcb, 0x7b, 0x80, 0xd8, 0xbe, 0xc0, 0x73, 0x7d, 0x9e, 0x4d,
- 0x74, 0x71, 0x99, 0x57, 0x11, 0xc9, 0x9d, 0x59, 0x40, 0xf6, 0x25, 0x62, 0xc8, 0x5f, 0x7d, 0xff,
- 0x13, 0x3b, 0x8e, 0x18, 0xc7, 0x36, 0x19, 0x38, 0x13, 0xf7, 0x77, 0x72, 0xef, 0x76, 0x17, 0x96,
- 0x9d, 0xd9, 0x54, 0x57, 0x2e, 0xd4, 0xe4, 0x69, 0xac, 0xe5, 0xcc, 0xa6, 0xea, 0x85, 0xe4, 0x15,
- 0xa8, 0x32, 0x42, 0x5e, 0xb6, 0x22, 0x0f, 0xff, 0xce, 0x6c, 0xca, 0x6f, 0x94, 0x6f, 0x43, 0x83,
- 0xa1, 0xa2, 0x4c, 0x8c, 0x38, 0x6e, 0xd5, 0x9d, 0xd9, 0xb4, 0x27, 0x41, 0xda, 0x67, 0xfc, 0xfa,
- 0x1c, 0x5b, 0xc7, 0x6c, 0x20, 0xa1, 0xb6, 0x85, 0x57, 0x33, 0x99, 0xd7, 0x43, 0xd1, 0x90, 0xc5,
- 0xd5, 0x8c, 0xf6, 0x39, 0xaf, 0x81, 0x8a, 0x5a, 0x4b, 0x15, 0xbc, 0x6c, 0xf3, 0xfb, 0xdb, 0x50,
- 0x0d, 0x67, 0x08, 0x01, 0x54, 0x76, 0xf7, 0x0e, 0x9f, 0xf4, 0xf6, 0xda, 0x0b, 0xa8, 0x06, 0x8b,
- 0x22, 0x46, 0xe1, 0x19, 0x9c, 0xde, 0xce, 0xcf, 0xf5, 0xc1, 0x41, 0xbb, 0x88, 0xea, 0xb0, 0xc4,
- 0x7e, 0x1f, 0x3e, 0x1f, 0xb5, 0x4b, 0x68, 0x09, 0x4a, 0x2f, 0xf0, 0xd3, 0x76, 0xf9, 0x3e, 0x85,
- 0xba, 0x72, 0x86, 0xe0, 0x29, 0x1f, 0xdc, 0x7f, 0x3a, 0x78, 0xd9, 0x5e, 0x40, 0x0d, 0xa8, 0x1e,
- 0xf4, 0x07, 0xbb, 0xcf, 0x9e, 0x1c, 0xe2, 0x76, 0x81, 0xb5, 0x18, 0xf5, 0x76, 0x25, 0x9f, 0x23,
- 0x7d, 0xd8, 0x1b, 0x3d, 0x6b, 0x97, 0x50, 0x13, 0x6a, 0xdb, 0x87, 0xfb, 0xfb, 0xcf, 0x0f, 0x06,
- 0xa3, 0xaf, 0xdb, 0x65, 0xb4, 0x02, 0xcd, 0xfe, 0xcb, 0x91, 0x1e, 0x83, 0x16, 0x59, 0x0c, 0xb6,
- 0xd7, 0xc3, 0xbb, 0x7d, 0x05, 0x58, 0xb9, 0x7f, 0x0f, 0x6a, 0xd1, 0x61, 0x81, 0x71, 0xee, 0x1d,
- 0x7c, 0x2d, 0x6a, 0x4a, 0x7a, 0x7b, 0x52, 0xec, 0xc1, 0xc1, 0x8b, 0x3e, 0x1e, 0xb5, 0x8b, 0xf7,
- 0xef, 0x43, 0x3b, 0x7d, 0x14, 0x40, 0x15, 0x28, 0xf6, 0xbf, 0x6a, 0x2f, 0xb0, 0xbf, 0xbb, 0xfd,
- 0x76, 0x81, 0xfd, 0xdd, 0xeb, 0xb7, 0x8b, 0xf7, 0x3f, 0x90, 0x67, 0x3d, 0xb9, 0xb5, 0x57, 0xa1,
- 0x2c, 0x63, 0x3e, 0x36, 0x0f, 0xdb, 0xdb, 0xfd, 0xe1, 0x48, 0x30, 0xc7, 0xfd, 0x9f, 0xf7, 0xb7,
- 0x19, 0xf3, 0xe7, 0xb0, 0x9a, 0x13, 0x9a, 0xb1, 0x61, 0x44, 0xd2, 0xea, 0xbd, 0x9d, 0x9d, 0xf6,
- 0x02, 0x8b, 0x01, 0x63, 0x10, 0xee, 0xef, 0x1f, 0xbe, 0x60, 0x1d, 0xaf, 0xc3, 0x8a, 0x0a, 0x1d,
- 0xee, 0xf5, 0xb6, 0x99, 0x1c, 0xef, 0x43, 0x33, 0x11, 0x8f, 0xb1, 0x39, 0xdb, 0xef, 0xef, 0xe8,
- 0xfb, 0x87, 0x8c, 0xd5, 0x32, 0xd4, 0xd9, 0x47, 0x48, 0x5e, 0xb8, 0xff, 0x1e, 0x40, 0xec, 0xf4,
- 0xa3, 0x0a, 0x1b, 0x36, 0x09, 0xfb, 0xc3, 0x43, 0x2c, 0x65, 0xee, 0xbf, 0xe4, 0xbf, 0x8b, 0x0f,
- 0xff, 0xed, 0x26, 0x54, 0x77, 0x99, 0x4e, 0xf4, 0x3c, 0x0b, 0xed, 0x41, 0x5d, 0x79, 0x40, 0x81,
- 0xae, 0x25, 0xb6, 0xa2, 0xd4, 0xbb, 0x8c, 0xee, 0xf5, 0x39, 0x58, 0x79, 0xb3, 0xba, 0x80, 0x06,
- 0x00, 0xf1, 0x13, 0x0b, 0x74, 0x55, 0x25, 0x4f, 0xbd, 0xc6, 0xe8, 0x5e, 0xcb, 0x47, 0x46, 0xac,
- 0x9e, 0x42, 0x2d, 0x7a, 0x58, 0x82, 0x94, 0x63, 0x5d, 0xfa, 0x05, 0x4a, 0xf7, 0x6a, 0x2e, 0x2e,
- 0xe2, 0xb3, 0x07, 0x75, 0xa5, 0x94, 0x4b, 0x1d, 0x60, 0xb6, 0x36, 0x4c, 0x1d, 0x60, 0x5e, 0xfd,
- 0xd7, 0x02, 0x7a, 0x0e, 0xad, 0x64, 0x11, 0x17, 0xba, 0xa9, 0x9e, 0xa5, 0x73, 0x6a, 0xc3, 0xba,
- 0xb7, 0xe6, 0x13, 0xa8, 0x42, 0x2a, 0x65, 0x8b, 0xaa, 0x90, 0xd9, 0x1a, 0x47, 0x55, 0xc8, 0x9c,
- 0x5a, 0x47, 0x6d, 0x01, 0x61, 0x68, 0x26, 0x6a, 0xa8, 0xd0, 0x8d, 0x84, 0x4b, 0xcc, 0x72, 0xbc,
- 0x39, 0x17, 0x1f, 0xf1, 0xfc, 0x23, 0x58, 0xc9, 0xd4, 0x66, 0x21, 0xed, 0xf5, 0x35, 0x62, 0xdd,
- 0xef, 0x5d, 0x48, 0x13, 0xf1, 0xff, 0x7d, 0x68, 0xa7, 0x2b, 0xb5, 0xd0, 0x6d, 0xa5, 0x69, 0x7e,
- 0xe9, 0x57, 0x57, 0xbb, 0x88, 0x44, 0x5d, 0xb5, 0x64, 0xdd, 0x96, 0xba, 0x6a, 0xb9, 0x45, 0x60,
- 0xea, 0xaa, 0xcd, 0x29, 0xf9, 0x5a, 0x40, 0x2f, 0x61, 0x39, 0x55, 0xc0, 0x85, 0xd4, 0xc5, 0xce,
- 0xad, 0x07, 0xeb, 0xde, 0xbe, 0x80, 0x22, 0xe2, 0xfc, 0x39, 0x54, 0x84, 0x63, 0x47, 0x9b, 0x89,
- 0xc5, 0x8e, 0x5f, 0x4d, 0x74, 0x3b, 0x59, 0x84, 0xaa, 0x4e, 0xca, 0xcb, 0x07, 0x55, 0x9d, 0xb2,
- 0xcf, 0x2f, 0x54, 0x75, 0xca, 0x7b, 0x2e, 0xb1, 0x80, 0x7e, 0x06, 0x4b, 0xb2, 0x60, 0x14, 0x75,
- 0x12, 0xf6, 0xa1, 0x14, 0x86, 0x76, 0xaf, 0xe4, 0x60, 0x54, 0xb7, 0x10, 0x97, 0x67, 0xaa, 0x6e,
- 0x21, 0x53, 0x60, 0xaa, 0xba, 0x85, 0x9c, 0x8a, 0xce, 0x05, 0x76, 0xc0, 0x90, 0xc5, 0x55, 0x6c,
- 0x64, 0xe9, 0x87, 0x26, 0xdd, 0xfc, 0x87, 0x31, 0xda, 0xc2, 0x87, 0x05, 0xf4, 0x38, 0x2a, 0xcb,
- 0x8a, 0xaf, 0xee, 0x94, 0xcd, 0x31, 0xaa, 0xfc, 0xed, 0xa6, 0xca, 0x37, 0x79, 0xe3, 0xa7, 0x50,
- 0x8b, 0xea, 0xe4, 0x54, 0x6f, 0x94, 0xae, 0xd2, 0x53, 0xbd, 0x51, 0xb6, 0xb0, 0x4e, 0xcc, 0x44,
- 0x54, 0x45, 0x97, 0x98, 0x89, 0x74, 0xc1, 0x5d, 0x62, 0x26, 0xb2, 0x85, 0x77, 0x0b, 0xe8, 0x19,
- 0xd4, 0xa2, 0xca, 0x37, 0x55, 0xa4, 0x74, 0x3d, 0x9e, 0x2a, 0x52, 0xb6, 0x54, 0x6e, 0x61, 0xab,
- 0xc0, 0xb4, 0x4d, 0xd4, 0x9f, 0xa9, 0xda, 0x96, 0x28, 0x75, 0xeb, 0x76, 0xb2, 0x08, 0xd5, 0x53,
- 0x47, 0xa5, 0x66, 0xaa, 0x20, 0xe9, 0x0a, 0xb6, 0xee, 0xd5, 0x5c, 0x9c, 0xaa, 0x67, 0xb2, 0x64,
- 0x07, 0xa5, 0x94, 0x3b, 0xae, 0xf5, 0x50, 0xf5, 0x2c, 0x55, 0xdf, 0x13, 0x69, 0x6a, 0x9a, 0x43,
- 0xb2, 0x94, 0x27, 0xa5, 0xa9, 0x29, 0x0e, 0x91, 0xa6, 0x72, 0x26, 0x19, 0x81, 0x55, 0x3e, 0xd7,
- 0xf2, 0x91, 0x2a, 0xab, 0xb8, 0x9a, 0x06, 0x65, 0xf4, 0x62, 0x0e, 0xab, 0x9c, 0x02, 0x1c, 0x6e,
- 0xcf, 0x4a, 0x49, 0x0d, 0xca, 0x6a, 0x86, 0xca, 0xec, 0xfa, 0x1c, 0xac, 0xba, 0x5e, 0x51, 0x41,
- 0x8c, 0xba, 0x5e, 0xe9, 0xba, 0x1a, 0x75, 0xbd, 0xb2, 0x15, 0x34, 0x7c, 0x9b, 0x49, 0x14, 0xd7,
- 0xa8, 0xdb, 0x4c, 0x5e, 0x9d, 0x8e, 0xba, 0xcd, 0xe4, 0x57, 0xe5, 0x44, 0x8e, 0xcf, 0x35, 0xd2,
- 0x8e, 0x2f, 0x3a, 0x8b, 0xa5, 0x1d, 0x5f, 0x7c, 0xf6, 0x12, 0x13, 0xa5, 0xd4, 0xdc, 0xa0, 0xcc,
- 0xbc, 0xaa, 0xd5, 0x3e, 0xea, 0x44, 0xe5, 0x15, 0xea, 0x2c, 0x48, 0xbb, 0x60, 0x67, 0xb5, 0xa4,
- 0x5d, 0xc4, 0xf5, 0x32, 0x29, 0xbb, 0x50, 0x6b, 0x62, 0x14, 0xbb, 0x60, 0x1c, 0x32, 0x76, 0xa1,
- 0x30, 0xb9, 0x9a, 0x8b, 0x4b, 0xcd, 0x49, 0x4a, 0x8c, 0x44, 0x0d, 0x51, 0x6a, 0x4e, 0x92, 0xcd,
- 0x31, 0x3f, 0xcc, 0x2a, 0x77, 0x01, 0x37, 0x12, 0xc4, 0x99, 0x0a, 0x13, 0x75, 0x99, 0x72, 0x4b,
- 0x72, 0x04, 0xcf, 0x44, 0xa9, 0x8c, 0xca, 0x33, 0xaf, 0x06, 0x47, 0xe5, 0x99, 0x5f, 0x63, 0xc3,
- 0x23, 0x80, 0x74, 0x41, 0x8c, 0x1a, 0x01, 0xcc, 0xa9, 0xc0, 0x51, 0x23, 0x80, 0xb9, 0xf5, 0x34,
- 0x3c, 0x7c, 0xc9, 0x54, 0xc3, 0xa8, 0xe1, 0xcb, 0xbc, 0x72, 0x1b, 0x35, 0x7c, 0x99, 0x5f, 0x4e,
- 0xb3, 0x80, 0x0e, 0xa1, 0xa1, 0x56, 0xce, 0xa0, 0x64, 0x8c, 0x96, 0x2e, 0x12, 0xe9, 0xde, 0x98,
- 0x87, 0x56, 0x19, 0xaa, 0x35, 0x2f, 0x28, 0x19, 0x99, 0x5e, 0xc4, 0x30, 0xb7, 0x54, 0x46, 0x04,
- 0x2b, 0xc9, 0x6a, 0x16, 0x94, 0x89, 0x4c, 0x33, 0x6c, 0x6f, 0x5f, 0x40, 0xa1, 0x2e, 0x5c, 0xba,
- 0x7c, 0x45, 0x5d, 0xb8, 0x39, 0x85, 0x32, 0x5d, 0xed, 0x22, 0x92, 0xd4, 0x31, 0x40, 0x26, 0xd4,
- 0x92, 0xc7, 0x80, 0x44, 0x31, 0x46, 0xea, 0x18, 0x90, 0xaa, 0x7c, 0xe0, 0x7c, 0xa2, 0xc7, 0xfe,
- 0x2a, 0x9f, 0x74, 0x15, 0x8c, 0xca, 0x27, 0x5b, 0xa7, 0xc2, 0xd7, 0x45, 0x7d, 0xa6, 0xaf, 0xae,
- 0x4b, 0x4e, 0x01, 0x8b, 0xba, 0x2e, 0xb9, 0xb5, 0x25, 0x32, 0x58, 0x57, 0xde, 0xdd, 0x27, 0x83,
- 0xf5, 0x6c, 0xd5, 0x49, 0x32, 0x58, 0xcf, 0x2b, 0xf3, 0x58, 0x40, 0x26, 0x2f, 0xef, 0xca, 0x64,
- 0x0c, 0xbf, 0x9f, 0x33, 0x45, 0x99, 0x22, 0x82, 0xee, 0x9d, 0xd7, 0x50, 0xa9, 0xbd, 0xe4, 0xd4,
- 0x4f, 0xa8, 0xbd, 0xcc, 0x2f, 0xdc, 0x50, 0x7b, 0xb9, 0xa8, 0x08, 0x63, 0x01, 0x4d, 0xc3, 0x22,
- 0xaf, 0x4c, 0x47, 0x77, 0xf3, 0xe7, 0x36, 0xdb, 0xd7, 0xd6, 0xeb, 0x09, 0xa3, 0xee, 0xbc, 0xa8,
- 0xb2, 0x2b, 0x9b, 0x70, 0x9d, 0x33, 0xf1, 0xd9, 0x0e, 0xef, 0x5d, 0x82, 0x52, 0x8d, 0x13, 0xe2,
- 0x24, 0x0e, 0xba, 0x9a, 0x0e, 0xeb, 0x95, 0xc4, 0x50, 0xf7, 0x5a, 0x3e, 0x32, 0x64, 0x75, 0x5c,
- 0xe1, 0xff, 0x24, 0xe7, 0xe3, 0xff, 0x0e, 0x00, 0x00, 0xff, 0xff, 0x47, 0x17, 0x37, 0x20, 0x33,
- 0x47, 0x00, 0x00,
+ // 5559 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xd4, 0x3c, 0x4d, 0x73, 0x1b, 0x57,
+ 0x72, 0x04, 0x01, 0x92, 0x40, 0x03, 0x20, 0xc1, 0x27, 0x52, 0x82, 0xa0, 0x0f, 0x5b, 0xb3, 0xeb,
+ 0xb5, 0xac, 0xf5, 0xca, 0x6b, 0x79, 0x2d, 0x6f, 0xd6, 0xf6, 0xae, 0x21, 0x12, 0x92, 0xb0, 0xe6,
+ 0x07, 0x3c, 0x84, 0xb4, 0xf2, 0xe6, 0x03, 0x19, 0x01, 0x43, 0x72, 0x62, 0x7c, 0xcc, 0xce, 0x0c,
+ 0x64, 0xa9, 0x52, 0x95, 0x54, 0x25, 0xc7, 0x54, 0xfe, 0xc1, 0x56, 0xe5, 0xbe, 0x95, 0x1c, 0x72,
+ 0x4a, 0x55, 0xce, 0x49, 0x2a, 0x55, 0xa9, 0xca, 0x35, 0x87, 0x1c, 0xf2, 0x13, 0x72, 0xcd, 0x31,
+ 0xdd, 0xfd, 0xde, 0xcc, 0xbc, 0xf9, 0x00, 0x45, 0x29, 0xda, 0xa4, 0x72, 0x22, 0xa6, 0xbb, 0x5f,
+ 0xbf, 0xaf, 0xfe, 0x7a, 0xfd, 0x5e, 0x13, 0xaa, 0x27, 0xb3, 0xa7, 0x27, 0xee, 0x6d, 0xd7, 0x9b,
+ 0x05, 0x33, 0x51, 0xe6, 0x0f, 0xcb, 0x75, 0x8c, 0x2f, 0x40, 0x3c, 0xb0, 0x83, 0x03, 0xdb, 0x39,
+ 0x39, 0x7d, 0x3a, 0xf3, 0x4c, 0xfb, 0x57, 0x73, 0xdb, 0x0f, 0xc4, 0x2d, 0x68, 0xd8, 0x53, 0xeb,
+ 0xe9, 0xd8, 0x6e, 0x8f, 0x9e, 0xd9, 0x5e, 0xe0, 0xf8, 0xf6, 0xa8, 0x59, 0x78, 0xbb, 0x70, 0xb3,
+ 0x6c, 0x66, 0xe0, 0xc6, 0xa7, 0x70, 0x21, 0xc1, 0xc1, 0x77, 0x67, 0x53, 0xdf, 0x16, 0xdf, 0x85,
+ 0x15, 0xd7, 0xb6, 0x3d, 0x1f, 0xdb, 0x15, 0x6f, 0x56, 0xef, 0xac, 0xdf, 0x0e, 0xbb, 0xbc, 0xdd,
+ 0x43, 0xb0, 0x29, 0x91, 0xc6, 0x09, 0x54, 0xda, 0xde, 0xc9, 0x7c, 0x62, 0x4f, 0x03, 0x5f, 0xdc,
+ 0x86, 0xb2, 0x67, 0xfb, 0xb3, 0xb9, 0x37, 0xb4, 0xb9, 0xb7, 0xf5, 0x3b, 0x22, 0x6e, 0x65, 0x2a,
+ 0x8c, 0x19, 0xd1, 0x88, 0x8b, 0xb0, 0x7a, 0x6c, 0x4d, 0x9c, 0xf1, 0x8b, 0xe6, 0x32, 0x52, 0xd7,
+ 0x4d, 0xf5, 0x25, 0x04, 0x94, 0xa6, 0xd6, 0xc4, 0x6e, 0x16, 0x11, 0x5a, 0x31, 0xf9, 0xb7, 0xf1,
+ 0xc7, 0xb0, 0xde, 0x1e, 0x8d, 0x7a, 0x56, 0x70, 0x1a, 0xce, 0xf1, 0x55, 0x7b, 0xdb, 0x86, 0xd5,
+ 0x67, 0xde, 0xf1, 0xc0, 0x19, 0x71, 0x6f, 0x15, 0x73, 0x05, 0xbf, 0xba, 0x23, 0x61, 0x40, 0xc9,
+ 0x45, 0xae, 0xdc, 0x59, 0x72, 0x9a, 0xd4, 0x17, 0xe3, 0x8c, 0x77, 0x60, 0x23, 0xea, 0x5c, 0x2d,
+ 0x0f, 0x8e, 0x71, 0x3e, 0x77, 0xe4, 0xaa, 0xd6, 0x4c, 0xfe, 0x6d, 0xfc, 0xa6, 0x00, 0x9b, 0xbb,
+ 0xf6, 0xd8, 0x0e, 0xec, 0xdf, 0xc2, 0x38, 0xe3, 0xc5, 0x2a, 0x26, 0x16, 0x2b, 0x1c, 0x7f, 0x69,
+ 0xf1, 0xf8, 0xa3, 0xc1, 0xae, 0x68, 0x83, 0xdd, 0x02, 0xa1, 0x8f, 0x55, 0x4e, 0xcb, 0xf8, 0x31,
+ 0x08, 0x9c, 0x69, 0x5a, 0x9c, 0xa8, 0x0f, 0xdc, 0x6e, 0x1e, 0x7e, 0x56, 0x14, 0x18, 0x67, 0x6c,
+ 0xc3, 0x85, 0x44, 0x4b, 0xc5, 0xf0, 0x53, 0xd8, 0x96, 0xdd, 0xbc, 0x0e, 0xcf, 0x26, 0x5c, 0x4c,
+ 0x37, 0x56, 0x6c, 0x7f, 0x08, 0x5b, 0xf8, 0x3b, 0x2b, 0xf8, 0x4d, 0x58, 0xb3, 0x46, 0x23, 0x5c,
+ 0x4b, 0x9f, 0x19, 0x57, 0xcc, 0xf0, 0xd3, 0xb8, 0x04, 0xdb, 0xa9, 0x16, 0x8a, 0xd5, 0xdf, 0x17,
+ 0xa0, 0x79, 0x34, 0x3b, 0x0e, 0x5e, 0x8d, 0x9f, 0x38, 0x82, 0xca, 0xc8, 0xf1, 0xec, 0x61, 0xe0,
+ 0xcc, 0xa6, 0xbc, 0x53, 0xeb, 0x77, 0x3e, 0x8e, 0x27, 0xb1, 0x88, 0x61, 0x8c, 0xd8, 0x0d, 0x1b,
+ 0x9b, 0x31, 0x1f, 0xe3, 0x03, 0x10, 0x59, 0x02, 0xb1, 0x0a, 0xcb, 0xdd, 0x83, 0xc6, 0x92, 0x58,
+ 0x83, 0xe2, 0xe1, 0xa3, 0x7e, 0xa3, 0x20, 0xca, 0x50, 0xba, 0x77, 0xd8, 0x7f, 0xd8, 0x58, 0x36,
+ 0xae, 0xc0, 0xe5, 0x9c, 0xae, 0xd4, 0xcc, 0x3e, 0x82, 0x4b, 0x47, 0xa7, 0xf3, 0x60, 0x34, 0xfb,
+ 0x76, 0x7a, 0xfe, 0x75, 0x6a, 0xe1, 0x6a, 0x64, 0x1a, 0x29, 0x86, 0x1f, 0xc2, 0x76, 0x87, 0xcd,
+ 0xc7, 0xf9, 0xd9, 0xe1, 0x16, 0xa6, 0x9b, 0x28, 0x66, 0x77, 0x70, 0x73, 0x1d, 0xff, 0xd5, 0xb8,
+ 0x5d, 0x86, 0x4b, 0x99, 0x36, 0x8a, 0xdd, 0x09, 0x34, 0x64, 0x47, 0xfb, 0x5e, 0x10, 0x32, 0xba,
+ 0x82, 0x7b, 0x34, 0x9f, 0xb8, 0x83, 0xe0, 0x85, 0x2b, 0x75, 0x6f, 0xc5, 0x2c, 0x13, 0xa0, 0x8f,
+ 0xdf, 0xa2, 0x05, 0xe5, 0x63, 0x67, 0x6c, 0xb3, 0xa5, 0x91, 0x9a, 0x16, 0x7d, 0x13, 0xce, 0x99,
+ 0x06, 0xb6, 0xf7, 0xcc, 0x1a, 0xb3, 0xba, 0x95, 0xcc, 0xe8, 0xdb, 0xb8, 0x00, 0x9b, 0x5a, 0x47,
+ 0xaa, 0x77, 0x04, 0xaa, 0x81, 0xc5, 0xdd, 0xb3, 0x8a, 0x69, 0x40, 0x45, 0xfa, 0xa7, 0xd0, 0xe8,
+ 0x4e, 0xff, 0x08, 0xb7, 0x56, 0x1b, 0xe8, 0x1b, 0xb2, 0x11, 0x64, 0xb3, 0x51, 0x9b, 0x7d, 0x1c,
+ 0x73, 0x31, 0xc7, 0x18, 0x48, 0x24, 0x8d, 0x55, 0x1b, 0x80, 0x1a, 0xd5, 0x5f, 0x17, 0xa0, 0x8e,
+ 0xfa, 0x7b, 0x6f, 0xe2, 0xbe, 0x5c, 0xf4, 0xd1, 0x9c, 0xb8, 0x33, 0x2f, 0x50, 0x56, 0x9b, 0x7f,
+ 0x8b, 0xcf, 0xa0, 0xc4, 0xab, 0x5c, 0xe4, 0xd1, 0xdf, 0x8c, 0x7b, 0x4e, 0x30, 0xbd, 0xbd, 0x3f,
+ 0x9b, 0x3a, 0xc1, 0xcc, 0x73, 0xa6, 0x27, 0xbd, 0xd9, 0xd8, 0x19, 0xbe, 0x30, 0xb9, 0x15, 0xca,
+ 0x7d, 0x23, 0x8d, 0x21, 0x69, 0xef, 0x99, 0x1d, 0x14, 0x7b, 0x94, 0xf6, 0xde, 0xe1, 0x51, 0x52,
+ 0xee, 0x1b, 0xec, 0x0e, 0x98, 0xb1, 0x9a, 0xc0, 0x17, 0xd0, 0x90, 0xb6, 0xe2, 0x75, 0xa7, 0xc0,
+ 0x7b, 0x18, 0x73, 0x50, 0x6c, 0x3b, 0x50, 0x36, 0x7b, 0x5f, 0x76, 0x77, 0x66, 0xd3, 0xe3, 0x33,
+ 0xd8, 0xbd, 0x05, 0x55, 0xcf, 0x9e, 0xcc, 0x02, 0x7b, 0x10, 0x71, 0xad, 0x98, 0x20, 0x41, 0x3d,
+ 0xe2, 0xfd, 0xeb, 0x12, 0x54, 0x88, 0xcf, 0x51, 0x60, 0x05, 0xec, 0xf8, 0xe6, 0x6e, 0xe0, 0x4c,
+ 0xe4, 0x66, 0x17, 0x4d, 0xf5, 0x45, 0x62, 0x47, 0x7a, 0xc7, 0x98, 0x65, 0xc6, 0x44, 0xdf, 0x62,
+ 0x1d, 0x96, 0xe7, 0x2e, 0x2f, 0x6f, 0xd9, 0xc4, 0x5f, 0xb2, 0xcb, 0xe1, 0xcc, 0x1b, 0x0d, 0x1c,
+ 0xf7, 0xd9, 0x8f, 0xd8, 0xfc, 0xd7, 0xa9, 0x4b, 0x02, 0x75, 0x11, 0x92, 0x24, 0xb8, 0xcb, 0xb6,
+ 0x5f, 0x27, 0xb8, 0x4b, 0x04, 0xae, 0x67, 0x1f, 0x3b, 0xcf, 0x25, 0x87, 0x55, 0x49, 0x20, 0x41,
+ 0x21, 0x87, 0x98, 0xe0, 0x6e, 0x73, 0x2d, 0x45, 0x70, 0x97, 0xe6, 0xe1, 0xdb, 0x9e, 0x83, 0x4a,
+ 0x52, 0x96, 0x3e, 0x49, 0x7e, 0x89, 0xef, 0x40, 0x1d, 0xfb, 0xb1, 0x9d, 0x67, 0xb6, 0x1a, 0x5d,
+ 0x85, 0x27, 0x53, 0x0b, 0x81, 0xcc, 0x3d, 0x45, 0x74, 0xb7, 0x09, 0x19, 0xa2, 0xbb, 0x44, 0x24,
+ 0x79, 0x0e, 0xa6, 0xb3, 0xc0, 0x39, 0x7e, 0xd1, 0xac, 0x4a, 0x22, 0x09, 0x3c, 0x60, 0x18, 0x8d,
+ 0x73, 0x68, 0x0d, 0x4f, 0xed, 0x81, 0x47, 0x66, 0xb0, 0x59, 0x63, 0x12, 0x60, 0x10, 0x1b, 0x46,
+ 0xf1, 0x0e, 0xac, 0x47, 0x04, 0xbc, 0xad, 0xcd, 0x3a, 0xd3, 0xd4, 0x43, 0x1a, 0xe9, 0xd3, 0xaf,
+ 0x43, 0xd5, 0x9e, 0x8e, 0x06, 0xb3, 0xe3, 0xc1, 0xc8, 0x0a, 0xac, 0xe6, 0x3a, 0xd3, 0x54, 0x10,
+ 0x74, 0x78, 0xbc, 0x8b, 0x00, 0xb1, 0x05, 0x2b, 0xb6, 0xe7, 0xcd, 0xbc, 0xe6, 0x06, 0x63, 0xe4,
+ 0x87, 0xb8, 0x01, 0x6a, 0x34, 0x03, 0x14, 0x3a, 0xef, 0x45, 0xb3, 0xc1, 0xc8, 0xaa, 0x84, 0x7d,
+ 0x45, 0x20, 0xb9, 0x15, 0x38, 0x10, 0x45, 0xb1, 0x29, 0x07, 0xc8, 0x20, 0x26, 0x30, 0xbe, 0x86,
+ 0x92, 0xe9, 0x7e, 0xe3, 0x88, 0xef, 0x41, 0x69, 0x88, 0x92, 0xa6, 0x9c, 0xa2, 0x6e, 0x03, 0x94,
+ 0x0c, 0x9a, 0x8c, 0x17, 0xef, 0xc1, 0x8a, 0x4f, 0x92, 0xc4, 0x52, 0x52, 0xbd, 0x73, 0x21, 0x49,
+ 0xc8, 0x42, 0x66, 0x4a, 0x0a, 0xe3, 0x26, 0xac, 0x63, 0x78, 0x47, 0xdc, 0x43, 0xad, 0x88, 0x23,
+ 0x89, 0x82, 0x1e, 0x49, 0xa0, 0xab, 0xde, 0x88, 0x28, 0xd5, 0x8a, 0xdc, 0x84, 0x35, 0x9c, 0xc7,
+ 0xb3, 0xdc, 0x30, 0x90, 0x09, 0x43, 0xb4, 0xf1, 0x4b, 0x56, 0x48, 0xbd, 0x9b, 0x57, 0xb3, 0x1f,
+ 0x28, 0xfa, 0x63, 0xe7, 0xd8, 0x66, 0xd1, 0x2f, 0x4a, 0xd1, 0x0f, 0xbf, 0x8d, 0x4d, 0x0e, 0xbf,
+ 0xf4, 0x81, 0x19, 0xed, 0x50, 0x57, 0x5f, 0xbb, 0xc7, 0x38, 0x00, 0x4a, 0x30, 0xfe, 0x41, 0x68,
+ 0xdd, 0xcf, 0xc5, 0x98, 0x98, 0xe8, 0xe4, 0x8a, 0xc9, 0xed, 0xc8, 0xf0, 0x9f, 0x8f, 0x0b, 0xc6,
+ 0x4e, 0x09, 0x7a, 0xc5, 0xe6, 0x7d, 0x68, 0xb0, 0xfc, 0x9e, 0x8f, 0x09, 0x9a, 0x2f, 0x8d, 0x3a,
+ 0x8e, 0x93, 0xa2, 0xf8, 0xe0, 0x7c, 0x6c, 0x30, 0x4e, 0x4a, 0xb5, 0x50, 0xac, 0xac, 0x70, 0xaa,
+ 0xbf, 0xb4, 0x9f, 0x7a, 0x56, 0xc8, 0xa8, 0x01, 0xc5, 0xb9, 0x37, 0x56, 0x4c, 0xe8, 0x27, 0x0b,
+ 0xfb, 0x6c, 0x8e, 0xa6, 0x90, 0x2c, 0xbb, 0x8f, 0x4b, 0x5e, 0x64, 0x5b, 0x48, 0x20, 0xf2, 0xbb,
+ 0x3e, 0xf5, 0x4d, 0x22, 0x43, 0x71, 0x93, 0x0c, 0x65, 0xc3, 0x4f, 0x5a, 0x87, 0x44, 0x17, 0xaa,
+ 0xe7, 0x0d, 0xa8, 0xa3, 0x60, 0x3e, 0xf6, 0x8e, 0x43, 0xc7, 0xfa, 0x11, 0xcb, 0x34, 0x03, 0x94,
+ 0xa0, 0xde, 0x80, 0x12, 0xba, 0xc0, 0x50, 0x4a, 0xeb, 0xb1, 0x94, 0x12, 0x11, 0xa3, 0x70, 0x29,
+ 0xc8, 0xc1, 0xc5, 0x5c, 0x70, 0xa0, 0x45, 0x44, 0x28, 0x5d, 0x4b, 0x35, 0x21, 0x8c, 0x72, 0x32,
+ 0x5a, 0x37, 0xd8, 0xb1, 0x72, 0x32, 0xaf, 0xc2, 0x26, 0xf2, 0x2b, 0x3a, 0xa7, 0x36, 0x6c, 0xe1,
+ 0x14, 0x76, 0xd1, 0x94, 0x4e, 0xed, 0xd1, 0x91, 0x1d, 0x45, 0x02, 0xef, 0x29, 0x3f, 0x2a, 0xa3,
+ 0x80, 0xed, 0x98, 0x9d, 0x22, 0xa5, 0x25, 0x54, 0x4e, 0xb3, 0x0d, 0xdb, 0x29, 0x16, 0x91, 0xd6,
+ 0x96, 0x70, 0xf3, 0xc2, 0xc5, 0xd8, 0xca, 0xf0, 0x20, 0x5a, 0xa6, 0x30, 0x7e, 0x0a, 0x5b, 0x38,
+ 0xc3, 0xec, 0x28, 0xbe, 0x07, 0x45, 0xb2, 0xa4, 0x72, 0x4e, 0xf9, 0x0c, 0x88, 0x80, 0x84, 0x25,
+ 0xd5, 0x5e, 0x4d, 0xef, 0x08, 0x03, 0x35, 0x9e, 0xf3, 0x6b, 0xf3, 0x26, 0xc9, 0xb2, 0xc6, 0x63,
+ 0x56, 0xd9, 0xb2, 0x49, 0x3f, 0x29, 0x34, 0xcd, 0x32, 0x55, 0x1d, 0xde, 0x83, 0xa6, 0x69, 0xbb,
+ 0x63, 0x6b, 0xf8, 0xfa, 0x3d, 0x52, 0x30, 0x9d, 0xc3, 0x43, 0x75, 0xb0, 0xcd, 0xc7, 0x64, 0x36,
+ 0xad, 0x74, 0xda, 0x0d, 0x45, 0xf1, 0x4b, 0xde, 0x47, 0x0d, 0xac, 0xf6, 0xe0, 0x23, 0x00, 0x3f,
+ 0x04, 0x86, 0x3b, 0xa1, 0x99, 0xe9, 0xb8, 0x81, 0x46, 0x66, 0x3c, 0xe4, 0x33, 0x54, 0xba, 0x0f,
+ 0xf1, 0x21, 0x54, 0x22, 0x22, 0x35, 0x8b, 0x5c, 0x56, 0x31, 0x95, 0x71, 0x91, 0x37, 0x36, 0x33,
+ 0x2c, 0xe3, 0xf7, 0xc3, 0x13, 0xd5, 0x1b, 0xe8, 0x24, 0x67, 0x87, 0x2e, 0x87, 0xdb, 0x9e, 0xed,
+ 0x79, 0x0f, 0x2e, 0xa9, 0xc5, 0x7d, 0x13, 0xf3, 0x6b, 0x45, 0xdb, 0x9d, 0xed, 0x49, 0x40, 0x03,
+ 0xb7, 0x44, 0xc5, 0x97, 0x6a, 0x9b, 0xd0, 0x5f, 0x68, 0x30, 0xb5, 0x47, 0xef, 0x43, 0xd9, 0x25,
+ 0x88, 0x63, 0x87, 0x3b, 0xd4, 0xd0, 0x22, 0x66, 0x49, 0x1b, 0x51, 0x18, 0xcf, 0xa1, 0x41, 0x49,
+ 0x00, 0x9d, 0x2d, 0x6a, 0xda, 0x2a, 0xe3, 0x5f, 0xa8, 0x61, 0x67, 0xdb, 0x2b, 0xbc, 0xf8, 0x09,
+ 0x5c, 0xc6, 0xb8, 0xc9, 0xf6, 0x06, 0xf6, 0x73, 0xc7, 0x0f, 0x30, 0xca, 0x1d, 0x68, 0xe2, 0x21,
+ 0x57, 0xf0, 0x12, 0x13, 0x74, 0x14, 0xfe, 0x28, 0x16, 0x0b, 0x34, 0x20, 0x5a, 0xcf, 0x6a, 0x96,
+ 0x7f, 0x56, 0x40, 0xa7, 0x21, 0x0f, 0xf0, 0xaf, 0x39, 0xa4, 0x0f, 0xe0, 0x82, 0x4b, 0x31, 0x08,
+ 0x3a, 0xf0, 0xec, 0x60, 0x44, 0x88, 0x8a, 0xc7, 0x11, 0xee, 0x77, 0x31, 0xde, 0x6f, 0x14, 0xb3,
+ 0xe4, 0x18, 0xd4, 0xe0, 0xfe, 0xa6, 0x40, 0xe7, 0x73, 0xde, 0x9f, 0xff, 0x83, 0x05, 0x5b, 0x34,
+ 0xb3, 0xe2, 0xa2, 0x99, 0xc9, 0xe4, 0x40, 0x62, 0xb8, 0x6a, 0x22, 0x4f, 0xa0, 0x15, 0xc9, 0x4d,
+ 0xdb, 0xf7, 0x9d, 0x93, 0xa9, 0x2e, 0xb8, 0x3f, 0x01, 0xb0, 0x22, 0xa0, 0x9a, 0x51, 0x2b, 0x3d,
+ 0x23, 0xad, 0x99, 0x46, 0x8d, 0x21, 0xdf, 0x95, 0x5c, 0xce, 0x4a, 0x36, 0xff, 0x27, 0xac, 0x71,
+ 0xd0, 0x91, 0xbc, 0xbc, 0xd9, 0x41, 0x5f, 0x83, 0x2b, 0xb9, 0x9c, 0xd5, 0x6a, 0x4d, 0xe0, 0x9a,
+ 0x2e, 0x0e, 0x6f, 0xb4, 0xef, 0x1c, 0x6b, 0xf3, 0x36, 0x5c, 0x5f, 0xd4, 0x9d, 0x1a, 0xd0, 0xef,
+ 0xc1, 0xf5, 0xc4, 0xbe, 0xbe, 0xd9, 0xd5, 0xb8, 0x01, 0x6f, 0x2d, 0xe4, 0x9e, 0xb0, 0x45, 0x47,
+ 0x1c, 0x24, 0x87, 0xb6, 0xe8, 0x73, 0xb6, 0x45, 0x21, 0x2c, 0xf2, 0xd9, 0xab, 0x27, 0xe3, 0xd9,
+ 0x53, 0x6b, 0x9c, 0x55, 0x8c, 0x07, 0x0c, 0x37, 0x15, 0x1e, 0x7d, 0xb6, 0x40, 0xc9, 0xf5, 0x92,
+ 0x4c, 0x5f, 0xa1, 0x3d, 0x3a, 0xb2, 0x44, 0xfb, 0x38, 0x83, 0x71, 0x14, 0xcc, 0xdc, 0xe4, 0x50,
+ 0xb7, 0xa8, 0xaf, 0x18, 0xa8, 0x48, 0x7f, 0x5d, 0xc4, 0x13, 0xb9, 0xca, 0x2b, 0x4e, 0xc7, 0x9e,
+ 0x13, 0x26, 0x41, 0xe9, 0x37, 0x9d, 0x2e, 0x5c, 0x2b, 0x08, 0x3c, 0x19, 0xf9, 0xd5, 0x4c, 0xf5,
+ 0xc5, 0xdb, 0x77, 0x12, 0xc6, 0xf6, 0xf4, 0x93, 0x5a, 0x3f, 0xc5, 0x4e, 0xf8, 0xe8, 0x5a, 0x36,
+ 0xf9, 0x37, 0x05, 0x8f, 0x8e, 0x3f, 0xf8, 0xd6, 0x09, 0x4e, 0x47, 0x9e, 0xf5, 0x2d, 0x1f, 0x5a,
+ 0xcb, 0x26, 0x38, 0xfe, 0x2f, 0x14, 0x04, 0xcf, 0x68, 0xf0, 0xcc, 0x1a, 0x3b, 0x78, 0x40, 0xa3,
+ 0xf8, 0x71, 0x95, 0x73, 0x3a, 0x1a, 0x44, 0x60, 0xc0, 0x3b, 0x9d, 0x0d, 0x9c, 0x89, 0x4b, 0x56,
+ 0x3b, 0x88, 0x39, 0xad, 0x49, 0xdd, 0x9f, 0xce, 0xba, 0x0a, 0x15, 0x71, 0x8c, 0x8f, 0x43, 0xe5,
+ 0x44, 0x62, 0xf5, 0x1a, 0x7a, 0x70, 0xce, 0xb6, 0x0c, 0x2c, 0x7f, 0xca, 0x27, 0xd8, 0x3a, 0x7a,
+ 0x20, 0x86, 0xb4, 0xfd, 0x29, 0xe5, 0x96, 0x14, 0xda, 0x19, 0xf1, 0xd1, 0xb5, 0x62, 0x96, 0x25,
+ 0xa0, 0x3b, 0x52, 0xb9, 0xa5, 0xc0, 0xf6, 0xec, 0x11, 0x9f, 0x58, 0xcb, 0x66, 0xf4, 0x4d, 0xa7,
+ 0x48, 0xb4, 0x49, 0x63, 0x9b, 0xcf, 0xa9, 0x65, 0x53, 0x7e, 0xe0, 0xfe, 0x35, 0x70, 0xe2, 0xc7,
+ 0xde, 0x6c, 0x82, 0x06, 0x0f, 0x09, 0xa7, 0xb8, 0x93, 0x75, 0x26, 0x58, 0x77, 0xfc, 0xfb, 0x08,
+ 0xee, 0x28, 0x28, 0x2d, 0xd1, 0x54, 0x25, 0xbf, 0xf0, 0xdc, 0xcc, 0xa7, 0x54, 0x8c, 0xaf, 0x43,
+ 0x50, 0xd7, 0x35, 0xfe, 0xaa, 0x00, 0xd5, 0x5d, 0x9b, 0x6c, 0xa2, 0x5c, 0x12, 0xda, 0x11, 0x3e,
+ 0xb3, 0xab, 0x28, 0x5d, 0x7d, 0xc5, 0xd9, 0xa2, 0xe5, 0x33, 0xb2, 0x45, 0xe2, 0x5d, 0xd8, 0x18,
+ 0xcf, 0xa6, 0x27, 0x68, 0x88, 0x65, 0x33, 0x3b, 0xb4, 0xa3, 0xeb, 0x12, 0xdc, 0x53, 0x50, 0x8c,
+ 0x5c, 0x1b, 0xfe, 0x29, 0x1e, 0xac, 0x74, 0x4a, 0xb9, 0xb5, 0x1b, 0x0a, 0x1e, 0x92, 0x1a, 0x7f,
+ 0x57, 0x80, 0x95, 0x3e, 0xc5, 0xf9, 0x74, 0xe0, 0xd5, 0xc2, 0xdd, 0xbc, 0xa4, 0x17, 0xe3, 0xa3,
+ 0x2b, 0x81, 0xe5, 0xf8, 0x4a, 0x60, 0x61, 0x46, 0xfc, 0x77, 0xa0, 0x36, 0x8a, 0xa7, 0x4f, 0x83,
+ 0xa0, 0xe9, 0x25, 0x42, 0xe9, 0x08, 0x6b, 0x26, 0x48, 0x39, 0xe3, 0x31, 0xf3, 0x83, 0x81, 0xf2,
+ 0x51, 0x4a, 0xfc, 0x08, 0x24, 0x35, 0xdc, 0xb8, 0xcb, 0x47, 0x11, 0xd3, 0x79, 0x1a, 0xea, 0xdd,
+ 0x3b, 0xb0, 0x12, 0xd0, 0x4c, 0x94, 0xda, 0x6d, 0xc4, 0xbd, 0xf0, 0x04, 0x4d, 0x89, 0x35, 0x3e,
+ 0x91, 0xa7, 0x70, 0x6a, 0xa7, 0x14, 0xfe, 0x9c, 0x0d, 0xc7, 0x20, 0x1e, 0x4b, 0xe9, 0xb6, 0xb5,
+ 0x5e, 0xcf, 0xbb, 0x6c, 0x8b, 0x6e, 0x58, 0x62, 0x91, 0x28, 0xea, 0x22, 0x41, 0xb6, 0x21, 0xd1,
+ 0x9b, 0x52, 0xf8, 0x7f, 0x20, 0x85, 0xb7, 0x6d, 0x8f, 0xe5, 0x9a, 0x38, 0x84, 0x11, 0x53, 0xdd,
+ 0x8c, 0xbe, 0xc5, 0x8f, 0xa1, 0x66, 0xb9, 0xee, 0xf8, 0x45, 0xb8, 0x78, 0x32, 0x35, 0xa1, 0x2d,
+ 0x7b, 0x9b, 0xb0, 0xca, 0xbf, 0x56, 0xad, 0xf8, 0x23, 0xca, 0x7a, 0x14, 0xd3, 0x59, 0x0f, 0xea,
+ 0x53, 0xcb, 0x7a, 0x7c, 0x0a, 0x75, 0x1b, 0x31, 0x83, 0xc9, 0x7c, 0x1c, 0x38, 0xa7, 0x33, 0x57,
+ 0xdd, 0x79, 0x5c, 0x8c, 0x1b, 0x74, 0xf0, 0xef, 0xbe, 0xc2, 0x9a, 0x35, 0x5b, 0xfb, 0x12, 0x6d,
+ 0xd8, 0x90, 0xc7, 0x52, 0x9c, 0xe9, 0xd8, 0x1e, 0x06, 0x33, 0x8f, 0xb7, 0xb7, 0x7a, 0xa7, 0xa9,
+ 0xad, 0x1e, 0x11, 0x98, 0x21, 0xde, 0x5c, 0xf7, 0x12, 0xdf, 0xa8, 0x0a, 0x25, 0x67, 0x7a, 0x3c,
+ 0x63, 0xab, 0x93, 0x08, 0x51, 0x69, 0x9c, 0x32, 0xe9, 0xc2, 0x04, 0x64, 0x8c, 0x29, 0x71, 0x81,
+ 0x36, 0x70, 0x2d, 0x6d, 0x8c, 0xfb, 0x0c, 0x37, 0x15, 0x9e, 0x42, 0xdf, 0xc0, 0xb3, 0xa6, 0x3e,
+ 0x67, 0x27, 0xca, 0x69, 0xbe, 0xfd, 0x10, 0x65, 0xc6, 0x54, 0xb4, 0xce, 0x72, 0x22, 0x32, 0xf5,
+ 0xc2, 0x96, 0x29, 0xb1, 0xce, 0x3c, 0x0b, 0x65, 0xb2, 0xe5, 0x51, 0x5c, 0x7e, 0x18, 0xff, 0x8c,
+ 0x86, 0x41, 0xdb, 0x04, 0xf1, 0x09, 0x54, 0x9c, 0xe9, 0x20, 0x11, 0x8f, 0x9d, 0xe5, 0xfa, 0xca,
+ 0xce, 0x54, 0x35, 0xfc, 0x19, 0x6e, 0xc4, 0x73, 0x1a, 0x4c, 0x72, 0xaf, 0xcf, 0x6a, 0x5c, 0x93,
+ 0x0d, 0x62, 0x06, 0x68, 0xa2, 0x35, 0x06, 0xc5, 0x97, 0x33, 0x90, 0x0d, 0x94, 0x1e, 0xfe, 0x09,
+ 0x54, 0xa5, 0x35, 0xd9, 0x73, 0x26, 0xce, 0xc2, 0x94, 0x16, 0xe5, 0xe6, 0x26, 0xd6, 0xf3, 0xd8,
+ 0x1e, 0x49, 0x2d, 0xa8, 0x22, 0x2c, 0x32, 0x5b, 0x3f, 0x82, 0x8b, 0xbe, 0xba, 0xef, 0x18, 0x04,
+ 0xa7, 0x18, 0x1a, 0x9e, 0xce, 0xc6, 0xa3, 0x81, 0x3b, 0x0c, 0x94, 0x55, 0xd9, 0x0a, 0xb1, 0xfd,
+ 0x10, 0xd9, 0x1b, 0x06, 0xc6, 0xbf, 0x97, 0xa0, 0x1c, 0x4a, 0x27, 0x25, 0x29, 0xad, 0x79, 0x70,
+ 0x3a, 0x70, 0x31, 0x36, 0xf8, 0x76, 0xe6, 0x8d, 0x94, 0x9d, 0xad, 0x11, 0xb0, 0xa7, 0x60, 0xe2,
+ 0x6d, 0xa8, 0xa2, 0xa9, 0x19, 0x7a, 0x8e, 0x1b, 0xdd, 0x18, 0x55, 0x4c, 0x1d, 0x24, 0x2e, 0x43,
+ 0x79, 0x3c, 0x1b, 0x5a, 0x63, 0xf4, 0x37, 0x61, 0x62, 0x84, 0xbf, 0xdb, 0x6c, 0x5b, 0x23, 0x9b,
+ 0x1f, 0xe6, 0x6d, 0x4a, 0xcc, 0x61, 0x23, 0x84, 0xb7, 0x55, 0xaa, 0xeb, 0x12, 0xac, 0xd1, 0xdd,
+ 0x19, 0x31, 0x91, 0x29, 0xdf, 0x55, 0xfa, 0x44, 0x1e, 0xe8, 0xcf, 0x18, 0x71, 0x82, 0x22, 0xe1,
+ 0xb2, 0x0c, 0x57, 0xcc, 0x0a, 0x41, 0x1e, 0x10, 0x80, 0xfc, 0x19, 0xa3, 0xd9, 0xae, 0xc8, 0x54,
+ 0x6f, 0x99, 0x00, 0x7c, 0x57, 0x72, 0x0b, 0x36, 0x29, 0x99, 0x8d, 0xe1, 0xb4, 0xeb, 0x39, 0xcf,
+ 0x50, 0xd0, 0x89, 0xbd, 0x74, 0x97, 0x1b, 0x12, 0xd1, 0x93, 0x70, 0xec, 0xe7, 0x7d, 0x10, 0x52,
+ 0x3e, 0x8f, 0xc7, 0x96, 0x3b, 0x18, 0x59, 0x13, 0x17, 0x83, 0x73, 0x96, 0xd2, 0xb2, 0xd9, 0x60,
+ 0xcc, 0x7d, 0x44, 0xec, 0x4a, 0x38, 0xa5, 0x66, 0x7d, 0x4a, 0xba, 0x0e, 0x67, 0x93, 0xc9, 0x7c,
+ 0xea, 0x04, 0x2f, 0xd8, 0x97, 0xd6, 0xcd, 0x3a, 0x41, 0x77, 0x42, 0x20, 0x0d, 0x5e, 0x25, 0xd8,
+ 0x87, 0x96, 0x8b, 0x2e, 0x95, 0x22, 0x8b, 0x8a, 0x84, 0xec, 0x58, 0x3c, 0x78, 0xb9, 0x74, 0x84,
+ 0xad, 0x31, 0x56, 0xae, 0x25, 0x21, 0xd7, 0x61, 0x19, 0x5d, 0x74, 0x9d, 0x27, 0x8c, 0xbf, 0x30,
+ 0xe4, 0xab, 0xab, 0xb4, 0xf6, 0x98, 0x84, 0xc7, 0x47, 0x17, 0x9a, 0x72, 0x10, 0x9a, 0x68, 0x99,
+ 0x35, 0x37, 0xfe, 0xf0, 0x69, 0xab, 0xd5, 0x1e, 0xa9, 0x5d, 0xd8, 0x90, 0x5b, 0x2d, 0x37, 0x4a,
+ 0x6d, 0xc1, 0x0f, 0x40, 0xc4, 0x1e, 0x9a, 0xae, 0x8d, 0x8e, 0x31, 0x44, 0xe4, 0xbc, 0x70, 0xc5,
+ 0xdc, 0x8c, 0x1c, 0x75, 0x88, 0xa0, 0xc8, 0x88, 0x12, 0x48, 0x9b, 0x32, 0x85, 0x46, 0x19, 0xa3,
+ 0x2f, 0xa1, 0xa6, 0x5b, 0x32, 0xca, 0x98, 0xc9, 0x6b, 0xfb, 0xf0, 0x16, 0x3f, 0xfc, 0x64, 0x01,
+ 0x57, 0x54, 0x83, 0x20, 0x18, 0x47, 0x02, 0xae, 0x60, 0xfd, 0x60, 0x6c, 0xfc, 0x79, 0x01, 0xd6,
+ 0x93, 0x86, 0x8d, 0x64, 0x3e, 0x65, 0x0b, 0x07, 0x43, 0xb4, 0xe1, 0x2a, 0x00, 0x2e, 0x9b, 0x5b,
+ 0x49, 0xc3, 0xb7, 0xc3, 0x38, 0x34, 0xbf, 0xad, 0x6c, 0xab, 0xb9, 0x4f, 0x0e, 0x3f, 0xba, 0x88,
+ 0xba, 0x94, 0x6e, 0xc9, 0xf8, 0xee, 0xc8, 0xf8, 0xdb, 0x55, 0xa8, 0x44, 0x66, 0xf2, 0x7f, 0x41,
+ 0x63, 0x6e, 0x43, 0x79, 0x82, 0x7b, 0x81, 0x71, 0xa6, 0xaf, 0xdc, 0x84, 0xe6, 0x57, 0xf6, 0x15,
+ 0xc6, 0x8c, 0x68, 0x72, 0x35, 0x6c, 0xe5, 0xa5, 0x1a, 0xb6, 0x7a, 0x86, 0x86, 0xad, 0x9d, 0xa9,
+ 0x61, 0xe5, 0x94, 0x86, 0xa1, 0xcb, 0x40, 0xd7, 0x8e, 0xce, 0x5d, 0xd9, 0x73, 0xcd, 0x65, 0x7c,
+ 0xc5, 0x70, 0x53, 0xe1, 0xf3, 0x75, 0x11, 0x5e, 0x45, 0x17, 0xab, 0xe7, 0xd6, 0xc5, 0x5a, 0x9e,
+ 0x2e, 0xf2, 0x9d, 0x8c, 0x4f, 0x09, 0x5b, 0x79, 0xb8, 0x66, 0xd5, 0xaa, 0xd3, 0x9d, 0x0c, 0x03,
+ 0xe5, 0x0e, 0x7f, 0x8c, 0x66, 0x75, 0xee, 0x92, 0xc5, 0xb6, 0x47, 0xa4, 0x95, 0xd6, 0x53, 0x8c,
+ 0x12, 0x02, 0x8a, 0x1b, 0xd6, 0x39, 0x21, 0xbc, 0x1d, 0x61, 0x77, 0x34, 0x24, 0xad, 0x11, 0x79,
+ 0x78, 0xc9, 0x57, 0xea, 0x56, 0x19, 0x01, 0x92, 0xe7, 0xcf, 0xa0, 0x6a, 0x8d, 0x26, 0x4e, 0xd8,
+ 0x6d, 0x83, 0x83, 0x9f, 0xeb, 0x39, 0x6e, 0xf8, 0x76, 0x9b, 0xc8, 0xa4, 0x47, 0x06, 0x2b, 0xfa,
+ 0x4d, 0xe1, 0x4b, 0x78, 0xbb, 0xc4, 0xea, 0x56, 0x37, 0xa3, 0x6f, 0xc2, 0x59, 0xc3, 0xa1, 0xed,
+ 0xe2, 0x88, 0x9a, 0x42, 0xe2, 0xc2, 0x6f, 0x3a, 0x74, 0x58, 0xf1, 0x43, 0x9a, 0x0b, 0xf2, 0x1e,
+ 0x2c, 0x86, 0x88, 0x0b, 0xb0, 0x82, 0x6b, 0x39, 0xf8, 0x55, 0x73, 0x4b, 0xde, 0x2f, 0xe0, 0xc7,
+ 0x57, 0x14, 0xe7, 0x1f, 0x8f, 0x67, 0xae, 0xdf, 0xdc, 0x66, 0xa0, 0xfc, 0x30, 0x6e, 0x01, 0xc4,
+ 0x83, 0xa3, 0x9b, 0xfd, 0x47, 0x3d, 0x79, 0xc5, 0xb9, 0x7b, 0xf8, 0x8b, 0x83, 0x46, 0x41, 0x00,
+ 0xac, 0xf6, 0xee, 0x3f, 0x19, 0xec, 0xf4, 0x1b, 0xcb, 0xc6, 0x1f, 0x42, 0x39, 0x94, 0x54, 0xb4,
+ 0x29, 0xf1, 0xd0, 0xa5, 0xab, 0xde, 0xcc, 0xc8, 0xb3, 0x36, 0x9b, 0x77, 0x28, 0x05, 0x3c, 0x0d,
+ 0x94, 0x63, 0xce, 0x21, 0x65, 0xb4, 0xf1, 0x8f, 0x05, 0x58, 0x53, 0x10, 0x61, 0x40, 0xed, 0xe0,
+ 0xb0, 0xdf, 0xbd, 0xdf, 0xdd, 0x69, 0xf7, 0xbb, 0x87, 0x07, 0xdc, 0x4b, 0xc9, 0x4c, 0xc0, 0xc8,
+ 0xcf, 0x3e, 0xea, 0xed, 0xb6, 0xfb, 0x1d, 0x66, 0x5c, 0x32, 0xd5, 0x17, 0x85, 0xe7, 0x87, 0xbd,
+ 0xce, 0x81, 0xba, 0x2b, 0xe7, 0xdf, 0xe2, 0x2a, 0x54, 0xbe, 0xec, 0x74, 0x7a, 0xed, 0xbd, 0xee,
+ 0xe3, 0x0e, 0xab, 0x60, 0xc9, 0x8c, 0x01, 0x64, 0xd2, 0xcc, 0xce, 0x7d, 0xb3, 0x73, 0xf4, 0x90,
+ 0xd5, 0xac, 0x64, 0x86, 0x9f, 0xd4, 0x6e, 0xb7, 0x7b, 0xb4, 0xd3, 0x36, 0x77, 0x3b, 0xbb, 0xac,
+ 0x60, 0xd8, 0x2e, 0x02, 0xd0, 0xaa, 0xf6, 0x0f, 0xfb, 0xed, 0x3d, 0x56, 0xaf, 0x92, 0x29, 0x3f,
+ 0x30, 0x2c, 0x5f, 0x95, 0x5a, 0x42, 0x78, 0x67, 0xea, 0xce, 0x03, 0x15, 0x08, 0xc8, 0x0f, 0x1a,
+ 0x37, 0xee, 0x09, 0x81, 0x55, 0x1c, 0x2c, 0xbf, 0x0c, 0x1b, 0x56, 0x65, 0x40, 0x86, 0xf6, 0x62,
+ 0x95, 0x62, 0x4c, 0xe7, 0x44, 0xad, 0xee, 0xc5, 0x74, 0xc8, 0xb6, 0xc3, 0x58, 0x53, 0x51, 0x89,
+ 0xef, 0x27, 0x6f, 0xe0, 0xb6, 0xd3, 0xe4, 0x89, 0x3b, 0x38, 0x5c, 0xe6, 0x9a, 0xce, 0x85, 0x54,
+ 0x08, 0xf9, 0x4c, 0xd1, 0x46, 0xa2, 0x31, 0x0d, 0xbc, 0x17, 0xe1, 0x62, 0x2b, 0xa0, 0x49, 0x30,
+ 0xd2, 0x05, 0x8e, 0x45, 0xa2, 0xeb, 0xe0, 0x92, 0x59, 0x26, 0x00, 0x71, 0x22, 0x1f, 0xf3, 0x8d,
+ 0x6d, 0xbb, 0x18, 0xac, 0xa3, 0x21, 0x48, 0xbd, 0x55, 0xd8, 0x8c, 0x30, 0x5d, 0x85, 0x10, 0xbb,
+ 0x70, 0x1d, 0x85, 0xce, 0x99, 0xcc, 0x27, 0x83, 0x48, 0x6e, 0x29, 0xac, 0x8a, 0x9b, 0xca, 0x1d,
+ 0xba, 0xaa, 0xa8, 0xda, 0x3a, 0x51, 0xc8, 0xc5, 0xf8, 0xcd, 0x32, 0x54, 0xb5, 0xe9, 0xfd, 0x3f,
+ 0x9d, 0x06, 0xe7, 0x08, 0xec, 0x93, 0x59, 0xe0, 0x58, 0x64, 0x9c, 0xe2, 0xc1, 0x49, 0x41, 0x14,
+ 0x31, 0xee, 0x61, 0x38, 0xcc, 0xf8, 0xc2, 0x5e, 0x0a, 0x64, 0xde, 0x85, 0xbd, 0x14, 0xc8, 0xe8,
+ 0xdb, 0xf8, 0xaf, 0x02, 0x54, 0xa2, 0x00, 0x3e, 0x1b, 0x38, 0x14, 0x72, 0x02, 0x07, 0x74, 0x20,
+ 0x92, 0x48, 0xbb, 0xac, 0x94, 0x81, 0x4d, 0x4f, 0xf1, 0x98, 0x04, 0xf3, 0xc1, 0xc8, 0xf1, 0x87,
+ 0x68, 0xe5, 0xbd, 0x17, 0xea, 0x20, 0x5e, 0x43, 0xe0, 0x6e, 0x08, 0xa3, 0x88, 0x80, 0xbc, 0x2a,
+ 0xad, 0xe7, 0x64, 0x36, 0xb2, 0xd5, 0x11, 0xbc, 0xaa, 0x60, 0xfb, 0x08, 0x22, 0x3b, 0xaf, 0x82,
+ 0xa9, 0xa4, 0xa7, 0xab, 0x4b, 0x68, 0x3b, 0xff, 0x51, 0xc3, 0x6a, 0xf8, 0x80, 0x20, 0x7c, 0xd4,
+ 0x40, 0x8e, 0x30, 0x18, 0xe2, 0x71, 0xcc, 0xf7, 0x55, 0xc0, 0xb8, 0x8a, 0x9f, 0xfb, 0xbe, 0x6f,
+ 0x7c, 0x0e, 0x55, 0xed, 0x10, 0x82, 0xba, 0x75, 0x41, 0x3f, 0xb1, 0x24, 0x63, 0x8d, 0x4d, 0xed,
+ 0x84, 0x22, 0x03, 0x0d, 0x63, 0x8e, 0x36, 0x50, 0xa6, 0x28, 0x50, 0x76, 0x1c, 0x77, 0x90, 0xc8,
+ 0x5e, 0x94, 0x1d, 0x57, 0x21, 0xbf, 0x07, 0x1b, 0x13, 0xcb, 0xff, 0x66, 0x30, 0xb6, 0xa7, 0x27,
+ 0x18, 0x4b, 0xe0, 0x96, 0xab, 0x25, 0xab, 0x13, 0x78, 0x8f, 0xa1, 0xfb, 0xce, 0x34, 0x43, 0x67,
+ 0x3d, 0x57, 0xc1, 0x82, 0x4e, 0x67, 0x3d, 0x37, 0xfe, 0xb2, 0x00, 0x10, 0x5f, 0xfc, 0xbc, 0xc2,
+ 0x4d, 0x5c, 0x6e, 0x76, 0x02, 0x61, 0x63, 0xc7, 0x0f, 0xf8, 0x29, 0x0e, 0xc2, 0xe8, 0x37, 0x5f,
+ 0x38, 0xc4, 0xa9, 0x91, 0xf4, 0x85, 0x03, 0x63, 0xcc, 0x88, 0xc2, 0x78, 0x80, 0xe6, 0xdf, 0x0a,
+ 0x86, 0xa7, 0x34, 0x98, 0x77, 0x13, 0x83, 0xd1, 0x8e, 0x88, 0x4c, 0x71, 0xf6, 0x50, 0x8c, 0xc7,
+ 0x50, 0x6b, 0xfb, 0x94, 0xd3, 0x91, 0x73, 0xc5, 0xfd, 0xd0, 0x99, 0x69, 0x87, 0x2e, 0x9d, 0x4a,
+ 0xe3, 0x89, 0xd2, 0x2f, 0xd7, 0x2e, 0xb4, 0x9e, 0xf2, 0xcb, 0xf8, 0xcf, 0x12, 0x00, 0x1a, 0xb4,
+ 0x91, 0x23, 0x93, 0x27, 0x1f, 0x82, 0x7a, 0x1b, 0x32, 0x88, 0x6f, 0xdb, 0x44, 0x6a, 0xa4, 0x74,
+ 0xa3, 0x56, 0x91, 0x54, 0x34, 0xad, 0x8f, 0xa1, 0x16, 0x45, 0x5d, 0xd4, 0x68, 0x79, 0x61, 0xa3,
+ 0x28, 0xe7, 0x45, 0xcd, 0x3e, 0x83, 0x75, 0xcb, 0x1f, 0x50, 0x7e, 0x4a, 0x6d, 0xaa, 0x3a, 0x3f,
+ 0x5e, 0xcc, 0x9f, 0x0a, 0xc6, 0x95, 0xfa, 0xf4, 0xef, 0x60, 0x18, 0xa1, 0x5a, 0x53, 0x9f, 0xa5,
+ 0xc5, 0x03, 0x95, 0xcd, 0xa8, 0xc7, 0x4f, 0xc8, 0xd2, 0xa9, 0x00, 0x88, 0x5b, 0xad, 0x2c, 0x6c,
+ 0x55, 0x8b, 0x08, 0xa9, 0xe1, 0x4f, 0x61, 0xd3, 0x7e, 0x1e, 0x0c, 0x92, 0x8d, 0x57, 0x17, 0x36,
+ 0xde, 0x40, 0xe2, 0x1d, 0xbd, 0x3d, 0x29, 0xa1, 0xfb, 0x8d, 0x43, 0x2f, 0x57, 0x30, 0xa6, 0x67,
+ 0x3d, 0x5b, 0x41, 0x25, 0x94, 0x17, 0xf3, 0x08, 0x11, 0x9f, 0x03, 0xc4, 0xd7, 0xed, 0x1c, 0x56,
+ 0x26, 0x62, 0xa2, 0x78, 0x7f, 0x64, 0x5e, 0x80, 0xb7, 0xb5, 0x12, 0xdd, 0xc6, 0x8b, 0x7b, 0x70,
+ 0x61, 0x6c, 0x79, 0x27, 0x76, 0x6a, 0x84, 0x95, 0x85, 0x23, 0xdc, 0x64, 0x72, 0x7d, 0x8c, 0xc6,
+ 0x29, 0x54, 0x22, 0xde, 0x18, 0x0b, 0x6d, 0x98, 0x87, 0x8f, 0xfa, 0x9d, 0x41, 0xff, 0xeb, 0x5e,
+ 0x67, 0x70, 0x70, 0x78, 0x40, 0x4f, 0xb8, 0x2e, 0xc1, 0x05, 0x0d, 0xd8, 0x3d, 0xe8, 0x77, 0xcc,
+ 0x83, 0xf6, 0x1e, 0x86, 0x3b, 0x49, 0x44, 0xe7, 0x89, 0x42, 0x2c, 0xa3, 0x1f, 0x6f, 0x68, 0x88,
+ 0xbd, 0xc3, 0x1d, 0x84, 0x16, 0x8d, 0x63, 0xd8, 0x88, 0x7a, 0x6e, 0xcb, 0xc7, 0x91, 0x1f, 0x26,
+ 0x84, 0xf9, 0x9a, 0x3e, 0xf3, 0x04, 0xa1, 0x26, 0xcf, 0x78, 0xb0, 0x08, 0x67, 0xeb, 0x44, 0x2f,
+ 0x14, 0x74, 0x90, 0x71, 0x00, 0x95, 0x7d, 0x7b, 0xa4, 0x7a, 0xf8, 0x7e, 0xa2, 0x87, 0x4b, 0x7a,
+ 0x2c, 0x35, 0xca, 0xf0, 0xc6, 0xf8, 0x03, 0x5d, 0xcc, 0x3c, 0x7c, 0xbf, 0x25, 0x3f, 0x8c, 0x01,
+ 0x6c, 0xa0, 0x40, 0x7a, 0xb6, 0x8b, 0x81, 0xb4, 0xe2, 0x4a, 0xf9, 0x70, 0x7f, 0xaa, 0xc2, 0x14,
+ 0xfa, 0x49, 0x6a, 0x46, 0x14, 0x56, 0x14, 0xa4, 0xc8, 0x2f, 0x0c, 0xcc, 0xea, 0x73, 0xdf, 0x46,
+ 0x49, 0x3f, 0x0e, 0xd0, 0xa4, 0xfb, 0x81, 0x32, 0xfb, 0x55, 0x04, 0xee, 0x21, 0x6c, 0x7f, 0xc6,
+ 0x77, 0x0a, 0xf5, 0x03, 0x14, 0x1d, 0x3c, 0xf2, 0x29, 0xf6, 0x67, 0xbe, 0x85, 0xf1, 0xed, 0xf1,
+ 0xb1, 0xba, 0x48, 0xe1, 0xdf, 0xc6, 0xbb, 0xb0, 0xb1, 0xc7, 0x6e, 0x06, 0x35, 0x53, 0x31, 0x88,
+ 0x26, 0xa2, 0x02, 0x29, 0x39, 0x91, 0x7f, 0x2d, 0xc2, 0x9a, 0x24, 0xf0, 0xe3, 0x44, 0x94, 0x25,
+ 0x1f, 0xc1, 0x66, 0x0c, 0x25, 0x0b, 0x85, 0xa4, 0x56, 0x89, 0x28, 0xc5, 0xfb, 0x13, 0xa8, 0xc4,
+ 0x67, 0x0c, 0xa9, 0xf3, 0x97, 0x17, 0x6e, 0x9c, 0x19, 0xd3, 0xa2, 0xe7, 0x2a, 0x4e, 0x30, 0x00,
+ 0x2e, 0xa6, 0x13, 0x65, 0xd1, 0x4e, 0x98, 0x84, 0xc7, 0x91, 0x01, 0x69, 0xb8, 0x5c, 0x6f, 0xa5,
+ 0xe0, 0x97, 0x13, 0xb6, 0x41, 0xdf, 0x0a, 0xd6, 0x73, 0x09, 0x40, 0x75, 0xad, 0x27, 0xd4, 0x55,
+ 0xe9, 0xf9, 0x19, 0xa3, 0xab, 0xe9, 0x1a, 0x8b, 0xd2, 0xb8, 0x36, 0x95, 0xfb, 0xa0, 0x94, 0x5c,
+ 0x13, 0x97, 0xc4, 0x06, 0x99, 0x21, 0x1d, 0x0d, 0x56, 0x39, 0x7d, 0x5c, 0x7c, 0x95, 0x30, 0xd4,
+ 0xfa, 0x4b, 0xed, 0x4b, 0x18, 0x0f, 0x20, 0x00, 0x75, 0x77, 0x23, 0xa5, 0xbb, 0x2a, 0x85, 0x78,
+ 0xc6, 0x70, 0xd7, 0x93, 0xea, 0x4b, 0xd7, 0xc8, 0x95, 0xe8, 0x22, 0x34, 0xf2, 0x1e, 0x05, 0xcd,
+ 0x91, 0xfd, 0x08, 0x60, 0x18, 0x19, 0x11, 0xb5, 0x5b, 0x5b, 0x79, 0x06, 0xc6, 0xd4, 0xe8, 0x50,
+ 0x69, 0xd6, 0xa4, 0x58, 0xf8, 0x6a, 0xb7, 0xb4, 0x33, 0x88, 0x12, 0x20, 0x33, 0xa4, 0x30, 0xbe,
+ 0x42, 0x87, 0x2f, 0x13, 0x83, 0x79, 0x03, 0x48, 0x3e, 0xa5, 0x58, 0x3e, 0xdf, 0x53, 0x8a, 0xff,
+ 0x28, 0x40, 0x23, 0x9d, 0x43, 0xa4, 0x87, 0x31, 0x9a, 0x26, 0x6f, 0xa5, 0xb3, 0x8d, 0x9a, 0x1a,
+ 0xeb, 0x0f, 0x72, 0x97, 0xcf, 0xf1, 0x20, 0x37, 0xa7, 0x64, 0x21, 0xf1, 0xbc, 0xa0, 0xf4, 0xb2,
+ 0xe7, 0x05, 0xe2, 0x03, 0x58, 0x1b, 0xd9, 0xc7, 0x16, 0x19, 0xf9, 0x95, 0xb3, 0x14, 0x29, 0xa4,
+ 0x32, 0xfe, 0xa2, 0x00, 0x45, 0x73, 0x66, 0x51, 0x7a, 0xcb, 0xf2, 0x95, 0x96, 0xe2, 0x2f, 0x3a,
+ 0x3f, 0x49, 0x07, 0x8b, 0xae, 0x31, 0x8c, 0x21, 0x23, 0x00, 0x19, 0x19, 0x0c, 0x80, 0x08, 0xa5,
+ 0x2e, 0x4d, 0xe4, 0x97, 0x76, 0x23, 0x50, 0x4a, 0x5c, 0x12, 0x85, 0xb9, 0xf9, 0x95, 0xb3, 0x5f,
+ 0x24, 0xa2, 0x05, 0xe1, 0x8b, 0x91, 0x99, 0xf5, 0xb2, 0x57, 0x86, 0xf2, 0xed, 0x16, 0x13, 0xc6,
+ 0x6f, 0xb7, 0xbc, 0x99, 0x95, 0xf3, 0x76, 0x8b, 0x88, 0x18, 0x65, 0xf8, 0x50, 0x7c, 0xec, 0x1d,
+ 0xe7, 0x4a, 0x07, 0x4e, 0xdf, 0x93, 0xd9, 0xa7, 0x9a, 0x89, 0xbf, 0x38, 0x64, 0x94, 0xa9, 0x65,
+ 0x4f, 0x06, 0x5f, 0x35, 0x0c, 0x19, 0x19, 0x60, 0xf2, 0x83, 0x70, 0x95, 0xb8, 0xf6, 0x02, 0xde,
+ 0x13, 0x44, 0x4a, 0x00, 0x22, 0x65, 0x9e, 0x50, 0x26, 0x4d, 0xf1, 0x97, 0xf1, 0x2f, 0x05, 0x58,
+ 0x95, 0x77, 0xa7, 0x99, 0x35, 0x46, 0x3e, 0x6c, 0xcf, 0xb4, 0xcc, 0x57, 0x59, 0x02, 0xba, 0x23,
+ 0x72, 0xd9, 0x14, 0xed, 0xd9, 0x53, 0x19, 0x37, 0x17, 0xa5, 0xcb, 0x96, 0x20, 0x8e, 0x9b, 0xdf,
+ 0x83, 0x86, 0x22, 0x50, 0x36, 0x59, 0x09, 0x48, 0xc5, 0xdc, 0x90, 0xf0, 0x76, 0x08, 0x4e, 0x5c,
+ 0xb8, 0xac, 0xa4, 0x2e, 0x5c, 0xde, 0x07, 0x41, 0x7e, 0x81, 0x73, 0x7d, 0xee, 0xd8, 0x1e, 0xc8,
+ 0xcb, 0xbc, 0x55, 0x99, 0xdc, 0x41, 0xcc, 0xbe, 0x42, 0xf4, 0xf8, 0xd5, 0xf7, 0x3f, 0xd1, 0x71,
+ 0x84, 0x92, 0x86, 0x5d, 0xba, 0xa1, 0xf8, 0x6d, 0xdc, 0xbb, 0xa1, 0x13, 0x99, 0xe2, 0xc1, 0x4c,
+ 0xbb, 0x50, 0x53, 0xa7, 0xb1, 0x75, 0x04, 0xeb, 0x17, 0x92, 0x97, 0xa1, 0x4c, 0x84, 0x5c, 0xb6,
+ 0xa2, 0x0e, 0xff, 0xf8, 0xcd, 0x37, 0xca, 0x78, 0x7a, 0x21, 0x54, 0x94, 0x89, 0x91, 0xc7, 0xad,
+ 0x2a, 0xc2, 0xda, 0x0a, 0x64, 0x7c, 0xc6, 0xd7, 0xe7, 0xa6, 0xf3, 0x94, 0x26, 0x12, 0x4a, 0x5b,
+ 0x78, 0x35, 0x93, 0x79, 0x3d, 0x14, 0x4d, 0x59, 0x5e, 0xcd, 0xa0, 0xa3, 0x14, 0x7a, 0x6b, 0x25,
+ 0x82, 0xe7, 0x6d, 0x7e, 0x6b, 0x07, 0xca, 0xe1, 0x0a, 0x51, 0xaa, 0xe6, 0xc1, 0xde, 0xe1, 0x3d,
+ 0x0c, 0x4c, 0x96, 0x44, 0x05, 0x56, 0x64, 0x8c, 0xc2, 0x19, 0x9c, 0xf6, 0xee, 0xcf, 0x31, 0xc8,
+ 0xc1, 0x28, 0xa6, 0x8a, 0xde, 0x12, 0x7f, 0x53, 0xd5, 0x46, 0x91, 0x1e, 0xb4, 0x3f, 0x36, 0xef,
+ 0x37, 0x4a, 0xb7, 0x02, 0xba, 0x9f, 0x8d, 0xce, 0x10, 0x9c, 0xf2, 0x31, 0x3b, 0xf7, 0xbb, 0x4f,
+ 0x90, 0x4f, 0x0d, 0xca, 0x07, 0x9d, 0xee, 0x83, 0x87, 0xf7, 0x0e, 0x4d, 0x64, 0x85, 0x2d, 0xfa,
+ 0xed, 0x07, 0x8a, 0xcf, 0xd1, 0xa0, 0xd7, 0xee, 0x3f, 0x44, 0x3e, 0x75, 0xa8, 0xec, 0x1c, 0xee,
+ 0xef, 0x3f, 0x3a, 0xe8, 0xf6, 0xbf, 0x6e, 0x94, 0xc4, 0x26, 0xd4, 0x31, 0x6e, 0x1a, 0xc4, 0xa0,
+ 0x15, 0x8a, 0xc1, 0xf6, 0xda, 0xe6, 0x83, 0x8e, 0x06, 0x5c, 0xbd, 0xf5, 0x1e, 0xc6, 0x34, 0xe1,
+ 0x61, 0x81, 0x38, 0xb7, 0x0f, 0xbe, 0x96, 0x35, 0x25, 0xed, 0x3d, 0x35, 0xec, 0xee, 0xc1, 0xe3,
+ 0x8e, 0xd9, 0x6f, 0x2c, 0xdf, 0xba, 0x05, 0x8d, 0xf4, 0x51, 0x80, 0x52, 0x55, 0x9d, 0xaf, 0xb0,
+ 0x01, 0xfe, 0x7d, 0xd0, 0x41, 0x7a, 0xfc, 0xbb, 0xd7, 0x41, 0xda, 0x0f, 0xd4, 0x59, 0x4f, 0xb9,
+ 0xf6, 0x32, 0x94, 0x54, 0xcc, 0x47, 0xeb, 0xb0, 0xb3, 0xd3, 0xe9, 0xf5, 0x25, 0x73, 0xb3, 0xf3,
+ 0xf3, 0x0e, 0x65, 0xb5, 0x6e, 0x3d, 0x82, 0x0b, 0x39, 0xa1, 0x19, 0x4d, 0x23, 0x1a, 0xed, 0xa0,
+ 0xbd, 0xbb, 0x8b, 0x1c, 0x30, 0x06, 0x8c, 0x41, 0x66, 0x67, 0xff, 0xf0, 0x31, 0x75, 0xbc, 0x0d,
+ 0x9b, 0x3a, 0xb4, 0xb7, 0xd7, 0xde, 0xa1, 0x71, 0xfc, 0x00, 0xea, 0x89, 0x78, 0x8c, 0xd6, 0x6c,
+ 0xbf, 0xb3, 0x3b, 0xd8, 0x3f, 0x24, 0x56, 0x1b, 0x50, 0xa5, 0x8f, 0x90, 0xbc, 0x70, 0xeb, 0x7d,
+ 0x80, 0xd8, 0xe8, 0x47, 0x15, 0x36, 0xb4, 0x08, 0xfb, 0xbd, 0x43, 0x53, 0x8d, 0xb9, 0xf3, 0x84,
+ 0x7f, 0x2f, 0xdf, 0xf9, 0xb7, 0xb7, 0xa0, 0xfc, 0x80, 0x64, 0xa2, 0xed, 0x3a, 0x62, 0x0f, 0xaa,
+ 0xda, 0x03, 0x0a, 0x71, 0x35, 0xe1, 0x8a, 0x52, 0xef, 0x32, 0x5a, 0xd7, 0x16, 0x60, 0xd5, 0xcd,
+ 0xea, 0x92, 0xe8, 0x02, 0xc4, 0x4f, 0x2c, 0xc4, 0x15, 0x9d, 0x3c, 0xf5, 0x1a, 0xa3, 0x75, 0x35,
+ 0x1f, 0x19, 0xb1, 0xba, 0x0f, 0x95, 0xe8, 0x61, 0x89, 0xd0, 0x8e, 0x75, 0xe9, 0x17, 0x28, 0xad,
+ 0x2b, 0xb9, 0xb8, 0x88, 0x0f, 0x4e, 0x50, 0x2b, 0xe5, 0xd2, 0x27, 0x98, 0xad, 0x0d, 0xd3, 0x27,
+ 0x98, 0x57, 0xff, 0xb5, 0x24, 0x1e, 0xc1, 0x7a, 0xb2, 0x88, 0x4b, 0xbc, 0xa5, 0x9f, 0xa5, 0x73,
+ 0x6a, 0xc3, 0x5a, 0x6f, 0x2f, 0x26, 0xd0, 0x07, 0xa9, 0x95, 0x2d, 0xea, 0x83, 0xcc, 0xd6, 0x43,
+ 0xea, 0x83, 0xcc, 0xa9, 0x75, 0x44, 0x6e, 0x26, 0xd4, 0x13, 0x35, 0x54, 0xe2, 0x7a, 0xc2, 0x24,
+ 0x66, 0x39, 0xbe, 0xb5, 0x10, 0x1f, 0xf1, 0xfc, 0x03, 0xd8, 0xcc, 0xd4, 0x66, 0x09, 0xe3, 0xe5,
+ 0x35, 0x62, 0xad, 0xef, 0x9c, 0x49, 0x13, 0xf1, 0xff, 0x5d, 0x68, 0xa4, 0x2b, 0xb5, 0xc4, 0x0d,
+ 0xad, 0x69, 0x7e, 0xe9, 0x57, 0xcb, 0x38, 0x8b, 0x44, 0xdf, 0xb5, 0x64, 0xdd, 0x96, 0xbe, 0x6b,
+ 0xb9, 0x45, 0x60, 0xfa, 0xae, 0x2d, 0x28, 0xf9, 0x5a, 0x12, 0x4f, 0x60, 0x23, 0x55, 0xc0, 0x25,
+ 0xf4, 0xcd, 0xce, 0xad, 0x07, 0x6b, 0xdd, 0x38, 0x83, 0x22, 0xe2, 0xfc, 0x39, 0x5a, 0x63, 0x36,
+ 0xec, 0xe2, 0x52, 0x62, 0xb3, 0xe3, 0x57, 0x13, 0xad, 0x66, 0x16, 0xa1, 0x8b, 0x93, 0xf6, 0xf2,
+ 0x41, 0x17, 0xa7, 0xec, 0xf3, 0x0b, 0x5d, 0x9c, 0xf2, 0x9e, 0x4b, 0x2c, 0x89, 0x2f, 0xd0, 0x5e,
+ 0xcb, 0x82, 0x51, 0xd1, 0x4c, 0xe8, 0x87, 0x56, 0x18, 0xda, 0xba, 0x9c, 0x83, 0xd1, 0xcd, 0x42,
+ 0x5c, 0x9e, 0xa9, 0x9b, 0x85, 0x4c, 0x81, 0xa9, 0x6e, 0x16, 0x72, 0x2a, 0x3a, 0x97, 0xe8, 0x80,
+ 0xa1, 0x8a, 0xab, 0x68, 0x66, 0xe9, 0x87, 0x26, 0xad, 0xfc, 0x87, 0x31, 0xc6, 0xd2, 0x0f, 0x0b,
+ 0xe2, 0xd3, 0xa8, 0x2c, 0x2b, 0xbe, 0xba, 0xd3, 0x9c, 0x63, 0x54, 0xf9, 0xdb, 0x4a, 0x95, 0x6f,
+ 0x72, 0x63, 0xb4, 0x46, 0x51, 0x9d, 0x9c, 0x6e, 0x8d, 0xd2, 0x55, 0x7a, 0xba, 0x35, 0xca, 0x16,
+ 0xd6, 0xc9, 0x95, 0x88, 0xaa, 0xe8, 0x12, 0x2b, 0x91, 0x2e, 0xb8, 0x4b, 0xac, 0x44, 0xb6, 0xf0,
+ 0x6e, 0x49, 0x3c, 0x84, 0x4a, 0x54, 0xf9, 0xa6, 0x0f, 0x29, 0x5d, 0x8f, 0xa7, 0x0f, 0x29, 0x5b,
+ 0x2a, 0xb7, 0x74, 0xb3, 0x40, 0xd2, 0x26, 0xeb, 0xcf, 0x74, 0x69, 0x4b, 0x94, 0xba, 0xb5, 0x9a,
+ 0x59, 0x84, 0x6e, 0xa9, 0xa3, 0x52, 0x33, 0x7d, 0x20, 0xe9, 0x0a, 0xb6, 0xd6, 0x95, 0x5c, 0x9c,
+ 0x2e, 0x67, 0xaa, 0x64, 0x47, 0xa4, 0x84, 0x3b, 0xae, 0xf5, 0xd0, 0xe5, 0x2c, 0x55, 0xdf, 0x13,
+ 0x49, 0x6a, 0x9a, 0x43, 0xb2, 0x94, 0x27, 0x25, 0xa9, 0x29, 0x0e, 0x91, 0xa4, 0x32, 0x93, 0xcc,
+ 0x80, 0x75, 0x3e, 0x57, 0xf3, 0x91, 0x3a, 0xab, 0xb8, 0x9a, 0x46, 0x64, 0xe4, 0x62, 0x01, 0xab,
+ 0x9c, 0x02, 0x1c, 0xd6, 0x67, 0xad, 0xa4, 0x46, 0x64, 0x25, 0x43, 0x67, 0x76, 0x6d, 0x01, 0x56,
+ 0xdf, 0xaf, 0xa8, 0x20, 0x46, 0xdf, 0xaf, 0x74, 0x5d, 0x8d, 0xbe, 0x5f, 0xd9, 0x0a, 0x1a, 0x76,
+ 0x33, 0x89, 0xe2, 0x1a, 0xdd, 0xcd, 0xe4, 0xd5, 0xe9, 0xe8, 0x6e, 0x26, 0xbf, 0x2a, 0x27, 0x32,
+ 0x7c, 0x78, 0x12, 0x4c, 0x19, 0xbe, 0xe8, 0x2c, 0x96, 0x36, 0x7c, 0xf1, 0xd9, 0x4b, 0x2e, 0x94,
+ 0x56, 0x73, 0x23, 0x32, 0xeb, 0xaa, 0x57, 0xfb, 0xe8, 0x0b, 0x95, 0x57, 0xa8, 0xb3, 0xa4, 0xf4,
+ 0x82, 0xce, 0x6a, 0x49, 0xbd, 0x88, 0xeb, 0x65, 0x52, 0x7a, 0xa1, 0xd7, 0xc4, 0x68, 0x7a, 0x41,
+ 0x1c, 0x32, 0x7a, 0xa1, 0x31, 0xb9, 0x92, 0x8b, 0x4b, 0xad, 0x49, 0x6a, 0x18, 0x89, 0x1a, 0xa2,
+ 0xd4, 0x9a, 0x24, 0x9b, 0x9b, 0x7c, 0x98, 0xd5, 0xee, 0x02, 0xae, 0x27, 0x88, 0x33, 0x15, 0x26,
+ 0xfa, 0x36, 0xe5, 0x96, 0xe4, 0x48, 0x9e, 0x89, 0x52, 0x19, 0x9d, 0x67, 0x5e, 0x0d, 0x8e, 0xce,
+ 0x33, 0xbf, 0xc6, 0x86, 0x23, 0x80, 0x74, 0x41, 0x8c, 0x1e, 0x01, 0x2c, 0xa8, 0xc0, 0xd1, 0x23,
+ 0x80, 0x85, 0xf5, 0x34, 0x1c, 0xbe, 0x64, 0xaa, 0x61, 0xf4, 0xf0, 0x65, 0x51, 0xb9, 0x8d, 0x1e,
+ 0xbe, 0x2c, 0x2e, 0xa7, 0x59, 0x12, 0x87, 0x50, 0xd3, 0x2b, 0x67, 0x44, 0x32, 0x46, 0x4b, 0x17,
+ 0x89, 0xb4, 0xae, 0x2f, 0x42, 0xeb, 0x0c, 0xf5, 0x9a, 0x17, 0x91, 0x8c, 0x4c, 0xcf, 0x62, 0x98,
+ 0x5b, 0x2a, 0x23, 0x83, 0x95, 0x64, 0x35, 0x8b, 0xc8, 0x44, 0xa6, 0x19, 0xb6, 0x37, 0xce, 0xa0,
+ 0xd0, 0x37, 0x2e, 0x5d, 0xbe, 0xa2, 0x6f, 0xdc, 0x82, 0x42, 0x99, 0x96, 0x71, 0x16, 0x49, 0xea,
+ 0x18, 0xa0, 0x12, 0x6a, 0xc9, 0x63, 0x40, 0xa2, 0x18, 0x23, 0x75, 0x0c, 0x48, 0x55, 0x3e, 0x30,
+ 0x9f, 0xe8, 0xb1, 0xbf, 0xce, 0x27, 0x5d, 0x05, 0xa3, 0xf3, 0xc9, 0xd6, 0xa9, 0xf0, 0xbe, 0xe8,
+ 0xcf, 0xf4, 0xf5, 0x7d, 0xc9, 0x29, 0x60, 0xd1, 0xf7, 0x25, 0xb7, 0xb6, 0x44, 0x05, 0xeb, 0xda,
+ 0xbb, 0xfb, 0x64, 0xb0, 0x9e, 0xad, 0x3a, 0x49, 0x06, 0xeb, 0x79, 0x65, 0x1e, 0x4b, 0x62, 0xc4,
+ 0xe5, 0x5d, 0x99, 0x8c, 0xe1, 0x77, 0x73, 0x96, 0x28, 0x53, 0x44, 0xd0, 0x7a, 0xe7, 0x25, 0x54,
+ 0x7a, 0x2f, 0x39, 0xf5, 0x13, 0x7a, 0x2f, 0x8b, 0x0b, 0x37, 0xf4, 0x5e, 0xce, 0x2a, 0xc2, 0x58,
+ 0x12, 0x93, 0xb0, 0xc8, 0x2b, 0xd3, 0xd1, 0xbb, 0xf9, 0x6b, 0x9b, 0xed, 0xeb, 0xe6, 0xcb, 0x09,
+ 0xa3, 0xee, 0xdc, 0xa8, 0xb2, 0x2b, 0x9b, 0x70, 0x5d, 0xb0, 0xf0, 0xd9, 0x0e, 0xdf, 0x3b, 0x07,
+ 0xa5, 0x1e, 0x27, 0xc4, 0x49, 0x1c, 0x71, 0x25, 0x1d, 0xd6, 0x6b, 0x89, 0xa1, 0xd6, 0xd5, 0x7c,
+ 0x64, 0xc8, 0xea, 0xe9, 0x2a, 0xff, 0x43, 0x9d, 0x8f, 0xfe, 0x3b, 0x00, 0x00, 0xff, 0xff, 0x38,
+ 0x8d, 0x98, 0x44, 0x5f, 0x47, 0x00, 0x00,
}
diff --git a/api/gobgp.proto b/api/gobgp.proto
index c212df92..5ee871b6 100644
--- a/api/gobgp.proto
+++ b/api/gobgp.proto
@@ -74,6 +74,7 @@ service GobgpApi {
}
message GetNeighborRequest {
+ bool enableAdvertised = 1;
}
message GetNeighborResponse {
diff --git a/api/grpc_server.go b/api/grpc_server.go
index 6445c003..65ea21f9 100644
--- a/api/grpc_server.go
+++ b/api/grpc_server.go
@@ -188,7 +188,7 @@ func NewPeerFromConfigStruct(pconf *config.Neighbor) *Peer {
func (s *Server) GetNeighbor(ctx context.Context, arg *GetNeighborRequest) (*GetNeighborResponse, error) {
p := []*Peer{}
- for _, e := range s.bgpServer.GetNeighbor() {
+ for _, e := range s.bgpServer.GetNeighbor(arg.EnableAdvertised) {
p = append(p, NewPeerFromConfigStruct(e))
}
return &GetNeighborResponse{Peers: p}, nil