VOL-2224 Event Filter Mechanism
This commit contains the inital changes required for the event
filtering so that when the protos get merged the rw and ro core
could be built without compilation errors
Note: This patchset and the patchset for voltha-protos needs to be merged
as close to as possible otherwise there will be compilation errors
Change-Id: Id092fa19a0b302a33176a82e41b92a36ea8ede29
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/iAdapter.go b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/iAdapter.go
index be98f17..38aac38 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/iAdapter.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/adapters/iAdapter.go
@@ -39,8 +39,8 @@
Update_flows_incrementally(device *voltha.Device, flows *openflow_13.FlowChanges, groups *openflow_13.FlowGroupChanges, flowMetadata *voltha.FlowMetadata) error
Update_pm_config(device *voltha.Device, pm_configs *voltha.PmConfigs) error
Receive_packet_out(deviceId string, egress_port_no int, msg *openflow_13.OfpPacketOut) error
- Suppress_alarm(filter *voltha.AlarmFilter) error
- Unsuppress_alarm(filter *voltha.AlarmFilter) error
+ Suppress_event(filter *voltha.EventFilter) error
+ Unsuppress_event(filter *voltha.EventFilter) error
Get_ofp_device_info(device *voltha.Device) (*ic.SwitchCapability, error)
Get_ofp_port_info(device *voltha.Device, port_no int64) (*ic.PortCapability, error)
Process_inter_adapter_message(msg *ic.InterAdapterMessage) error
diff --git a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/kafka/sarama_client.go b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/kafka/sarama_client.go
index a251c56..73025d9 100644
--- a/vendor/github.com/opencord/voltha-lib-go/v2/pkg/kafka/sarama_client.go
+++ b/vendor/github.com/opencord/voltha-lib-go/v2/pkg/kafka/sarama_client.go
@@ -16,10 +16,12 @@
package kafka
import (
+ "context"
"errors"
"fmt"
"github.com/Shopify/sarama"
scc "github.com/bsm/sarama-cluster"
+ "github.com/eapache/go-resiliency/breaker"
"github.com/golang/protobuf/proto"
"github.com/google/uuid"
"github.com/opencord/voltha-lib-go/v2/pkg/log"
@@ -482,6 +484,49 @@
}
}
+func (sc *SaramaClient) isLivenessError(err error) bool {
+ // Sarama producers and consumers encapsulate the error inside
+ // a ProducerError or ConsumerError struct.
+ if prodError, ok := err.(*sarama.ProducerError); ok {
+ err = prodError.Err
+ } else if consumerError, ok := err.(*sarama.ConsumerError); ok {
+ err = consumerError.Err
+ }
+
+ // Sarama-Cluster will compose the error into a ClusterError struct,
+ // which we can't do a compare by reference. To handle that, we the
+ // best we can do is compare the error strings.
+
+ switch err.Error() {
+ case context.DeadlineExceeded.Error():
+ log.Info("is-liveness-error-timeout")
+ return true
+ case sarama.ErrOutOfBrokers.Error(): // "Kafka: client has run out of available brokers"
+ log.Info("is-liveness-error-no-brokers")
+ return true
+ case sarama.ErrShuttingDown.Error(): // "Kafka: message received by producer in process of shutting down"
+ log.Info("is-liveness-error-shutting-down")
+ return true
+ case sarama.ErrControllerNotAvailable.Error(): // "Kafka: controller is not available"
+ log.Info("is-liveness-error-not-available")
+ return true
+ case breaker.ErrBreakerOpen.Error(): // "circuit breaker is open"
+ log.Info("is-liveness-error-circuit-breaker-open")
+ return true
+ }
+
+ if strings.HasSuffix(err.Error(), "connection refused") { // "dial tcp 10.244.1.176:9092: connect: connection refused"
+ log.Info("is-liveness-error-connection-refused")
+ return true
+ }
+
+ // Other errors shouldn't trigger a loss of liveness
+
+ log.Infow("is-liveness-error-ignored", log.Fields{"err": err})
+
+ return false
+}
+
// send formats and sends the request onto the kafka messaging bus.
func (sc *SaramaClient) Send(msg interface{}, topic *Topic, keys ...string) error {
@@ -521,7 +566,7 @@
sc.updateLiveness(true)
case notOk := <-sc.producer.Errors():
log.Debugw("error-sending", log.Fields{"status": notOk})
- if strings.Contains(notOk.Error(), "Failed to produce") {
+ if sc.isLivenessError(notOk) {
sc.updateLiveness(false)
}
return notOk
@@ -577,7 +622,7 @@
sc.updateLiveness(true)
case notOk := <-sc.producer.Errors():
log.Debugw("liveness-error-sending", log.Fields{"status": notOk})
- if strings.Contains(notOk.Error(), "Failed to produce") {
+ if sc.isLivenessError(notOk) {
sc.updateLiveness(false)
}
return notOk
@@ -896,7 +941,9 @@
select {
case err, ok := <-consumer.Errors():
if ok {
- sc.updateLiveness(false)
+ if sc.isLivenessError(err) {
+ sc.updateLiveness(false)
+ }
log.Warnw("group-consumers-error", log.Fields{"topic": topic.Name, "error": err})
} else {
log.Warnw("group-consumers-closed-err", log.Fields{"topic": topic.Name})
diff --git a/vendor/github.com/opencord/voltha-protos/v2/go/inter_container/inter_container.pb.go b/vendor/github.com/opencord/voltha-protos/v2/go/inter_container/inter_container.pb.go
index c3b77bb..e529427 100644
--- a/vendor/github.com/opencord/voltha-protos/v2/go/inter_container/inter_container.pb.go
+++ b/vendor/github.com/opencord/voltha-protos/v2/go/inter_container/inter_container.pb.go
@@ -127,17 +127,17 @@
// DeviceGroups from public import voltha_protos/voltha.proto
type DeviceGroups = voltha.DeviceGroups
-// AlarmFilterRuleKey from public import voltha_protos/voltha.proto
-type AlarmFilterRuleKey = voltha.AlarmFilterRuleKey
+// EventFilterRuleKey from public import voltha_protos/voltha.proto
+type EventFilterRuleKey = voltha.EventFilterRuleKey
-// AlarmFilterRule from public import voltha_protos/voltha.proto
-type AlarmFilterRule = voltha.AlarmFilterRule
+// EventFilterRule from public import voltha_protos/voltha.proto
+type EventFilterRule = voltha.EventFilterRule
-// AlarmFilter from public import voltha_protos/voltha.proto
-type AlarmFilter = voltha.AlarmFilter
+// EventFilter from public import voltha_protos/voltha.proto
+type EventFilter = voltha.EventFilter
-// AlarmFilters from public import voltha_protos/voltha.proto
-type AlarmFilters = voltha.AlarmFilters
+// EventFilters from public import voltha_protos/voltha.proto
+type EventFilters = voltha.EventFilters
// CoreInstance from public import voltha_protos/voltha.proto
type CoreInstance = voltha.CoreInstance
@@ -160,18 +160,18 @@
// FlowMetadata from public import voltha_protos/voltha.proto
type FlowMetadata = voltha.FlowMetadata
-// AlarmFilterRuleKey_AlarmFilterRuleKey from public import voltha_protos/voltha.proto
-type AlarmFilterRuleKey_AlarmFilterRuleKey = voltha.AlarmFilterRuleKey_AlarmFilterRuleKey
+// EventFilterRuleKey_EventFilterRuleType from public import voltha_protos/voltha.proto
+type EventFilterRuleKey_EventFilterRuleType = voltha.EventFilterRuleKey_EventFilterRuleType
-var AlarmFilterRuleKey_AlarmFilterRuleKey_name = voltha.AlarmFilterRuleKey_AlarmFilterRuleKey_name
-var AlarmFilterRuleKey_AlarmFilterRuleKey_value = voltha.AlarmFilterRuleKey_AlarmFilterRuleKey_value
+var EventFilterRuleKey_EventFilterRuleType_name = voltha.EventFilterRuleKey_EventFilterRuleType_name
+var EventFilterRuleKey_EventFilterRuleType_value = voltha.EventFilterRuleKey_EventFilterRuleType_value
-const AlarmFilterRuleKey_id = AlarmFilterRuleKey_AlarmFilterRuleKey(voltha.AlarmFilterRuleKey_id)
-const AlarmFilterRuleKey_type = AlarmFilterRuleKey_AlarmFilterRuleKey(voltha.AlarmFilterRuleKey_type)
-const AlarmFilterRuleKey_severity = AlarmFilterRuleKey_AlarmFilterRuleKey(voltha.AlarmFilterRuleKey_severity)
-const AlarmFilterRuleKey_resource_id = AlarmFilterRuleKey_AlarmFilterRuleKey(voltha.AlarmFilterRuleKey_resource_id)
-const AlarmFilterRuleKey_category = AlarmFilterRuleKey_AlarmFilterRuleKey(voltha.AlarmFilterRuleKey_category)
-const AlarmFilterRuleKey_device_id = AlarmFilterRuleKey_AlarmFilterRuleKey(voltha.AlarmFilterRuleKey_device_id)
+const EventFilterRuleKey_filter_all = EventFilterRuleKey_EventFilterRuleType(voltha.EventFilterRuleKey_filter_all)
+const EventFilterRuleKey_category = EventFilterRuleKey_EventFilterRuleType(voltha.EventFilterRuleKey_category)
+const EventFilterRuleKey_sub_category = EventFilterRuleKey_EventFilterRuleType(voltha.EventFilterRuleKey_sub_category)
+const EventFilterRuleKey_kpi_event_type = EventFilterRuleKey_EventFilterRuleType(voltha.EventFilterRuleKey_kpi_event_type)
+const EventFilterRuleKey_config_event_type = EventFilterRuleKey_EventFilterRuleType(voltha.EventFilterRuleKey_config_event_type)
+const EventFilterRuleKey_device_event_type = EventFilterRuleKey_EventFilterRuleType(voltha.EventFilterRuleKey_device_event_type)
// SelfTestResponse_SelfTestResult from public import voltha_protos/voltha.proto
type SelfTestResponse_SelfTestResult = voltha.SelfTestResponse_SelfTestResult
diff --git a/vendor/github.com/opencord/voltha-protos/v2/go/voltha/voltha.pb.go b/vendor/github.com/opencord/voltha-protos/v2/go/voltha/voltha.pb.go
index e5e4142..7a768b9 100644
--- a/vendor/github.com/opencord/voltha-protos/v2/go/voltha/voltha.pb.go
+++ b/vendor/github.com/opencord/voltha-protos/v2/go/voltha/voltha.pb.go
@@ -1270,40 +1270,40 @@
const OfpControllerRole_OFPCR_ROLE_MASTER = OfpControllerRole(openflow_13.OfpControllerRole_OFPCR_ROLE_MASTER)
const OfpControllerRole_OFPCR_ROLE_SLAVE = OfpControllerRole(openflow_13.OfpControllerRole_OFPCR_ROLE_SLAVE)
-type AlarmFilterRuleKey_AlarmFilterRuleKey int32
+type EventFilterRuleKey_EventFilterRuleType int32
const (
- AlarmFilterRuleKey_id AlarmFilterRuleKey_AlarmFilterRuleKey = 0
- AlarmFilterRuleKey_type AlarmFilterRuleKey_AlarmFilterRuleKey = 1
- AlarmFilterRuleKey_severity AlarmFilterRuleKey_AlarmFilterRuleKey = 2
- AlarmFilterRuleKey_resource_id AlarmFilterRuleKey_AlarmFilterRuleKey = 3
- AlarmFilterRuleKey_category AlarmFilterRuleKey_AlarmFilterRuleKey = 4
- AlarmFilterRuleKey_device_id AlarmFilterRuleKey_AlarmFilterRuleKey = 5
+ EventFilterRuleKey_filter_all EventFilterRuleKey_EventFilterRuleType = 0
+ EventFilterRuleKey_category EventFilterRuleKey_EventFilterRuleType = 1
+ EventFilterRuleKey_sub_category EventFilterRuleKey_EventFilterRuleType = 2
+ EventFilterRuleKey_kpi_event_type EventFilterRuleKey_EventFilterRuleType = 3
+ EventFilterRuleKey_config_event_type EventFilterRuleKey_EventFilterRuleType = 4
+ EventFilterRuleKey_device_event_type EventFilterRuleKey_EventFilterRuleType = 5
)
-var AlarmFilterRuleKey_AlarmFilterRuleKey_name = map[int32]string{
- 0: "id",
- 1: "type",
- 2: "severity",
- 3: "resource_id",
- 4: "category",
- 5: "device_id",
+var EventFilterRuleKey_EventFilterRuleType_name = map[int32]string{
+ 0: "filter_all",
+ 1: "category",
+ 2: "sub_category",
+ 3: "kpi_event_type",
+ 4: "config_event_type",
+ 5: "device_event_type",
}
-var AlarmFilterRuleKey_AlarmFilterRuleKey_value = map[string]int32{
- "id": 0,
- "type": 1,
- "severity": 2,
- "resource_id": 3,
- "category": 4,
- "device_id": 5,
+var EventFilterRuleKey_EventFilterRuleType_value = map[string]int32{
+ "filter_all": 0,
+ "category": 1,
+ "sub_category": 2,
+ "kpi_event_type": 3,
+ "config_event_type": 4,
+ "device_event_type": 5,
}
-func (x AlarmFilterRuleKey_AlarmFilterRuleKey) String() string {
- return proto.EnumName(AlarmFilterRuleKey_AlarmFilterRuleKey_name, int32(x))
+func (x EventFilterRuleKey_EventFilterRuleType) String() string {
+ return proto.EnumName(EventFilterRuleKey_EventFilterRuleType_name, int32(x))
}
-func (AlarmFilterRuleKey_AlarmFilterRuleKey) EnumDescriptor() ([]byte, []int) {
+func (EventFilterRuleKey_EventFilterRuleType) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_e084f1a60ce7016c, []int{2, 0}
}
@@ -1432,164 +1432,188 @@
return nil
}
-type AlarmFilterRuleKey struct {
+type EventFilterRuleKey struct {
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
-func (m *AlarmFilterRuleKey) Reset() { *m = AlarmFilterRuleKey{} }
-func (m *AlarmFilterRuleKey) String() string { return proto.CompactTextString(m) }
-func (*AlarmFilterRuleKey) ProtoMessage() {}
-func (*AlarmFilterRuleKey) Descriptor() ([]byte, []int) {
+func (m *EventFilterRuleKey) Reset() { *m = EventFilterRuleKey{} }
+func (m *EventFilterRuleKey) String() string { return proto.CompactTextString(m) }
+func (*EventFilterRuleKey) ProtoMessage() {}
+func (*EventFilterRuleKey) Descriptor() ([]byte, []int) {
return fileDescriptor_e084f1a60ce7016c, []int{2}
}
-func (m *AlarmFilterRuleKey) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_AlarmFilterRuleKey.Unmarshal(m, b)
+func (m *EventFilterRuleKey) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_EventFilterRuleKey.Unmarshal(m, b)
}
-func (m *AlarmFilterRuleKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_AlarmFilterRuleKey.Marshal(b, m, deterministic)
+func (m *EventFilterRuleKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_EventFilterRuleKey.Marshal(b, m, deterministic)
}
-func (m *AlarmFilterRuleKey) XXX_Merge(src proto.Message) {
- xxx_messageInfo_AlarmFilterRuleKey.Merge(m, src)
+func (m *EventFilterRuleKey) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_EventFilterRuleKey.Merge(m, src)
}
-func (m *AlarmFilterRuleKey) XXX_Size() int {
- return xxx_messageInfo_AlarmFilterRuleKey.Size(m)
+func (m *EventFilterRuleKey) XXX_Size() int {
+ return xxx_messageInfo_EventFilterRuleKey.Size(m)
}
-func (m *AlarmFilterRuleKey) XXX_DiscardUnknown() {
- xxx_messageInfo_AlarmFilterRuleKey.DiscardUnknown(m)
+func (m *EventFilterRuleKey) XXX_DiscardUnknown() {
+ xxx_messageInfo_EventFilterRuleKey.DiscardUnknown(m)
}
-var xxx_messageInfo_AlarmFilterRuleKey proto.InternalMessageInfo
+var xxx_messageInfo_EventFilterRuleKey proto.InternalMessageInfo
-type AlarmFilterRule struct {
- Key AlarmFilterRuleKey_AlarmFilterRuleKey `protobuf:"varint,1,opt,name=key,proto3,enum=voltha.AlarmFilterRuleKey_AlarmFilterRuleKey" json:"key,omitempty"`
- Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+type EventFilterRule struct {
+ Key EventFilterRuleKey_EventFilterRuleType `protobuf:"varint,1,opt,name=key,proto3,enum=voltha.EventFilterRuleKey_EventFilterRuleType" json:"key,omitempty"`
+ Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
}
-func (m *AlarmFilterRule) Reset() { *m = AlarmFilterRule{} }
-func (m *AlarmFilterRule) String() string { return proto.CompactTextString(m) }
-func (*AlarmFilterRule) ProtoMessage() {}
-func (*AlarmFilterRule) Descriptor() ([]byte, []int) {
+func (m *EventFilterRule) Reset() { *m = EventFilterRule{} }
+func (m *EventFilterRule) String() string { return proto.CompactTextString(m) }
+func (*EventFilterRule) ProtoMessage() {}
+func (*EventFilterRule) Descriptor() ([]byte, []int) {
return fileDescriptor_e084f1a60ce7016c, []int{3}
}
-func (m *AlarmFilterRule) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_AlarmFilterRule.Unmarshal(m, b)
+func (m *EventFilterRule) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_EventFilterRule.Unmarshal(m, b)
}
-func (m *AlarmFilterRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_AlarmFilterRule.Marshal(b, m, deterministic)
+func (m *EventFilterRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_EventFilterRule.Marshal(b, m, deterministic)
}
-func (m *AlarmFilterRule) XXX_Merge(src proto.Message) {
- xxx_messageInfo_AlarmFilterRule.Merge(m, src)
+func (m *EventFilterRule) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_EventFilterRule.Merge(m, src)
}
-func (m *AlarmFilterRule) XXX_Size() int {
- return xxx_messageInfo_AlarmFilterRule.Size(m)
+func (m *EventFilterRule) XXX_Size() int {
+ return xxx_messageInfo_EventFilterRule.Size(m)
}
-func (m *AlarmFilterRule) XXX_DiscardUnknown() {
- xxx_messageInfo_AlarmFilterRule.DiscardUnknown(m)
+func (m *EventFilterRule) XXX_DiscardUnknown() {
+ xxx_messageInfo_EventFilterRule.DiscardUnknown(m)
}
-var xxx_messageInfo_AlarmFilterRule proto.InternalMessageInfo
+var xxx_messageInfo_EventFilterRule proto.InternalMessageInfo
-func (m *AlarmFilterRule) GetKey() AlarmFilterRuleKey_AlarmFilterRuleKey {
+func (m *EventFilterRule) GetKey() EventFilterRuleKey_EventFilterRuleType {
if m != nil {
return m.Key
}
- return AlarmFilterRuleKey_id
+ return EventFilterRuleKey_filter_all
}
-func (m *AlarmFilterRule) GetValue() string {
+func (m *EventFilterRule) GetValue() string {
if m != nil {
return m.Value
}
return ""
}
-type AlarmFilter struct {
+type EventFilter struct {
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
- Rules []*AlarmFilterRule `protobuf:"bytes,2,rep,name=rules,proto3" json:"rules,omitempty"`
+ Enable bool `protobuf:"varint,2,opt,name=enable,proto3" json:"enable,omitempty"`
+ DeviceId string `protobuf:"bytes,3,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
+ EventType string `protobuf:"bytes,4,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"`
+ Rules []*EventFilterRule `protobuf:"bytes,5,rep,name=rules,proto3" json:"rules,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
-func (m *AlarmFilter) Reset() { *m = AlarmFilter{} }
-func (m *AlarmFilter) String() string { return proto.CompactTextString(m) }
-func (*AlarmFilter) ProtoMessage() {}
-func (*AlarmFilter) Descriptor() ([]byte, []int) {
+func (m *EventFilter) Reset() { *m = EventFilter{} }
+func (m *EventFilter) String() string { return proto.CompactTextString(m) }
+func (*EventFilter) ProtoMessage() {}
+func (*EventFilter) Descriptor() ([]byte, []int) {
return fileDescriptor_e084f1a60ce7016c, []int{4}
}
-func (m *AlarmFilter) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_AlarmFilter.Unmarshal(m, b)
+func (m *EventFilter) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_EventFilter.Unmarshal(m, b)
}
-func (m *AlarmFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_AlarmFilter.Marshal(b, m, deterministic)
+func (m *EventFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_EventFilter.Marshal(b, m, deterministic)
}
-func (m *AlarmFilter) XXX_Merge(src proto.Message) {
- xxx_messageInfo_AlarmFilter.Merge(m, src)
+func (m *EventFilter) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_EventFilter.Merge(m, src)
}
-func (m *AlarmFilter) XXX_Size() int {
- return xxx_messageInfo_AlarmFilter.Size(m)
+func (m *EventFilter) XXX_Size() int {
+ return xxx_messageInfo_EventFilter.Size(m)
}
-func (m *AlarmFilter) XXX_DiscardUnknown() {
- xxx_messageInfo_AlarmFilter.DiscardUnknown(m)
+func (m *EventFilter) XXX_DiscardUnknown() {
+ xxx_messageInfo_EventFilter.DiscardUnknown(m)
}
-var xxx_messageInfo_AlarmFilter proto.InternalMessageInfo
+var xxx_messageInfo_EventFilter proto.InternalMessageInfo
-func (m *AlarmFilter) GetId() string {
+func (m *EventFilter) GetId() string {
if m != nil {
return m.Id
}
return ""
}
-func (m *AlarmFilter) GetRules() []*AlarmFilterRule {
+func (m *EventFilter) GetEnable() bool {
+ if m != nil {
+ return m.Enable
+ }
+ return false
+}
+
+func (m *EventFilter) GetDeviceId() string {
+ if m != nil {
+ return m.DeviceId
+ }
+ return ""
+}
+
+func (m *EventFilter) GetEventType() string {
+ if m != nil {
+ return m.EventType
+ }
+ return ""
+}
+
+func (m *EventFilter) GetRules() []*EventFilterRule {
if m != nil {
return m.Rules
}
return nil
}
-type AlarmFilters struct {
- Filters []*AlarmFilter `protobuf:"bytes,1,rep,name=filters,proto3" json:"filters,omitempty"`
+type EventFilters struct {
+ Filters []*EventFilter `protobuf:"bytes,1,rep,name=filters,proto3" json:"filters,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
-func (m *AlarmFilters) Reset() { *m = AlarmFilters{} }
-func (m *AlarmFilters) String() string { return proto.CompactTextString(m) }
-func (*AlarmFilters) ProtoMessage() {}
-func (*AlarmFilters) Descriptor() ([]byte, []int) {
+func (m *EventFilters) Reset() { *m = EventFilters{} }
+func (m *EventFilters) String() string { return proto.CompactTextString(m) }
+func (*EventFilters) ProtoMessage() {}
+func (*EventFilters) Descriptor() ([]byte, []int) {
return fileDescriptor_e084f1a60ce7016c, []int{5}
}
-func (m *AlarmFilters) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_AlarmFilters.Unmarshal(m, b)
+func (m *EventFilters) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_EventFilters.Unmarshal(m, b)
}
-func (m *AlarmFilters) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_AlarmFilters.Marshal(b, m, deterministic)
+func (m *EventFilters) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_EventFilters.Marshal(b, m, deterministic)
}
-func (m *AlarmFilters) XXX_Merge(src proto.Message) {
- xxx_messageInfo_AlarmFilters.Merge(m, src)
+func (m *EventFilters) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_EventFilters.Merge(m, src)
}
-func (m *AlarmFilters) XXX_Size() int {
- return xxx_messageInfo_AlarmFilters.Size(m)
+func (m *EventFilters) XXX_Size() int {
+ return xxx_messageInfo_EventFilters.Size(m)
}
-func (m *AlarmFilters) XXX_DiscardUnknown() {
- xxx_messageInfo_AlarmFilters.DiscardUnknown(m)
+func (m *EventFilters) XXX_DiscardUnknown() {
+ xxx_messageInfo_EventFilters.DiscardUnknown(m)
}
-var xxx_messageInfo_AlarmFilters proto.InternalMessageInfo
+var xxx_messageInfo_EventFilters proto.InternalMessageInfo
-func (m *AlarmFilters) GetFilters() []*AlarmFilter {
+func (m *EventFilters) GetFilters() []*EventFilter {
if m != nil {
return m.Filters
}
@@ -1694,7 +1718,7 @@
Devices []*Device `protobuf:"bytes,4,rep,name=devices,proto3" json:"devices,omitempty"`
DeviceTypes []*DeviceType `protobuf:"bytes,5,rep,name=device_types,json=deviceTypes,proto3" json:"device_types,omitempty"`
DeviceGroups []*DeviceGroup `protobuf:"bytes,6,rep,name=device_groups,json=deviceGroups,proto3" json:"device_groups,omitempty"`
- AlarmFilters []*AlarmFilter `protobuf:"bytes,7,rep,name=alarm_filters,json=alarmFilters,proto3" json:"alarm_filters,omitempty"`
+ EventFilters []*EventFilter `protobuf:"bytes,7,rep,name=event_filters,json=eventFilters,proto3" json:"event_filters,omitempty"`
OmciMibDatabase []*omci.MibDeviceData `protobuf:"bytes,28,rep,name=omci_mib_database,json=omciMibDatabase,proto3" json:"omci_mib_database,omitempty"`
OmciAlarmDatabase []*omci.AlarmDeviceData `protobuf:"bytes,29,rep,name=omci_alarm_database,json=omciAlarmDatabase,proto3" json:"omci_alarm_database,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
@@ -1769,9 +1793,9 @@
return nil
}
-func (m *Voltha) GetAlarmFilters() []*AlarmFilter {
+func (m *Voltha) GetEventFilters() []*EventFilter {
if m != nil {
- return m.AlarmFilters
+ return m.EventFilters
}
return nil
}
@@ -1971,14 +1995,14 @@
}
func init() {
- proto.RegisterEnum("voltha.AlarmFilterRuleKey_AlarmFilterRuleKey", AlarmFilterRuleKey_AlarmFilterRuleKey_name, AlarmFilterRuleKey_AlarmFilterRuleKey_value)
+ proto.RegisterEnum("voltha.EventFilterRuleKey_EventFilterRuleType", EventFilterRuleKey_EventFilterRuleType_name, EventFilterRuleKey_EventFilterRuleType_value)
proto.RegisterEnum("voltha.SelfTestResponse_SelfTestResult", SelfTestResponse_SelfTestResult_name, SelfTestResponse_SelfTestResult_value)
proto.RegisterType((*DeviceGroup)(nil), "voltha.DeviceGroup")
proto.RegisterType((*DeviceGroups)(nil), "voltha.DeviceGroups")
- proto.RegisterType((*AlarmFilterRuleKey)(nil), "voltha.AlarmFilterRuleKey")
- proto.RegisterType((*AlarmFilterRule)(nil), "voltha.AlarmFilterRule")
- proto.RegisterType((*AlarmFilter)(nil), "voltha.AlarmFilter")
- proto.RegisterType((*AlarmFilters)(nil), "voltha.AlarmFilters")
+ proto.RegisterType((*EventFilterRuleKey)(nil), "voltha.EventFilterRuleKey")
+ proto.RegisterType((*EventFilterRule)(nil), "voltha.EventFilterRule")
+ proto.RegisterType((*EventFilter)(nil), "voltha.EventFilter")
+ proto.RegisterType((*EventFilters)(nil), "voltha.EventFilters")
proto.RegisterType((*CoreInstance)(nil), "voltha.CoreInstance")
proto.RegisterType((*CoreInstances)(nil), "voltha.CoreInstances")
proto.RegisterType((*Voltha)(nil), "voltha.Voltha")
@@ -1991,164 +2015,167 @@
func init() { proto.RegisterFile("voltha_protos/voltha.proto", fileDescriptor_e084f1a60ce7016c) }
var fileDescriptor_e084f1a60ce7016c = []byte{
- // 2497 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0xcb, 0x72, 0xdb, 0xc8,
- 0xd5, 0x16, 0x75, 0xd7, 0x21, 0x29, 0x92, 0x4d, 0x5d, 0x38, 0x94, 0x34, 0x96, 0x7b, 0x7c, 0xfb,
- 0xf5, 0x8f, 0x48, 0x5b, 0x1a, 0xbb, 0x12, 0x4f, 0xa6, 0x26, 0x16, 0x25, 0x2b, 0x8c, 0x65, 0x89,
- 0x01, 0x2d, 0x3b, 0xc9, 0x8c, 0x8b, 0x05, 0x12, 0x2d, 0x0a, 0x35, 0x20, 0xc0, 0xa0, 0x9b, 0x74,
- 0x54, 0xce, 0x54, 0x52, 0xce, 0xb5, 0xb2, 0xcc, 0xbc, 0x42, 0x56, 0xa9, 0xbc, 0x8a, 0x57, 0x79,
- 0x81, 0x54, 0x2a, 0x8b, 0x2c, 0xb3, 0x72, 0xb2, 0x4c, 0xf5, 0x05, 0x24, 0x40, 0x00, 0xba, 0x4c,
- 0xa6, 0x2a, 0x2b, 0x11, 0xdd, 0xa7, 0xbf, 0xef, 0xeb, 0xd3, 0xa7, 0xfb, 0x1c, 0x34, 0x04, 0xc5,
- 0xbe, 0x63, 0xb1, 0x53, 0xbd, 0xd1, 0x75, 0x1d, 0xe6, 0xd0, 0xb2, 0x7c, 0x2a, 0x89, 0x27, 0x34,
- 0x2d, 0x9f, 0x8a, 0xab, 0x6d, 0xc7, 0x69, 0x5b, 0xa4, 0xac, 0x77, 0xcd, 0xb2, 0x6e, 0xdb, 0x0e,
- 0xd3, 0x99, 0xe9, 0xd8, 0x54, 0x5a, 0x15, 0x57, 0x54, 0xaf, 0x78, 0x6a, 0xf6, 0x4e, 0xca, 0xa4,
- 0xd3, 0x65, 0x67, 0xaa, 0xb3, 0x10, 0x84, 0xef, 0x10, 0xa6, 0xc0, 0x8b, 0x23, 0xc4, 0x2d, 0xa7,
- 0xd3, 0x71, 0xec, 0xe8, 0xbe, 0x53, 0xa2, 0x5b, 0xec, 0x54, 0xf5, 0xe1, 0x60, 0x9f, 0xe5, 0xb4,
- 0xcd, 0x96, 0x6e, 0x35, 0x0c, 0xd2, 0x37, 0x5b, 0x24, 0x7a, 0x7c, 0xa0, 0x6f, 0x25, 0xd8, 0xa7,
- 0x1b, 0x7a, 0x97, 0x11, 0x57, 0x75, 0x5e, 0x0b, 0x76, 0x3a, 0x5d, 0x62, 0x9f, 0x58, 0xce, 0xab,
- 0xc6, 0xbd, 0xed, 0x18, 0x83, 0x4e, 0xcb, 0x6c, 0x74, 0xcc, 0x66, 0xc3, 0x68, 0x2a, 0x83, 0xeb,
- 0x11, 0x06, 0xba, 0xa5, 0xbb, 0x9d, 0xa1, 0xc9, 0x7a, 0xd0, 0xe4, 0x4c, 0xb7, 0xdb, 0x0d, 0xa7,
- 0xeb, 0x73, 0x29, 0xfe, 0x63, 0x02, 0x92, 0xbb, 0x42, 0xf4, 0xbe, 0xeb, 0xf4, 0xba, 0x68, 0x11,
- 0xc6, 0x4d, 0xa3, 0x90, 0x58, 0x4f, 0xdc, 0x99, 0xdb, 0x99, 0xfa, 0xc7, 0xbb, 0xb7, 0x6b, 0x09,
- 0x6d, 0xdc, 0x34, 0x50, 0x15, 0x32, 0xc1, 0xe9, 0xd3, 0xc2, 0xf8, 0xfa, 0xc4, 0x9d, 0xe4, 0xd6,
- 0x62, 0x49, 0xad, 0xe3, 0x81, 0xec, 0x96, 0x58, 0x3b, 0x73, 0x7f, 0x7b, 0xf7, 0x76, 0x6d, 0x92,
- 0x63, 0x69, 0xf3, 0x96, 0xbf, 0x87, 0xa2, 0x6d, 0x98, 0xf1, 0x20, 0x26, 0x04, 0xc4, 0xbc, 0x07,
- 0x11, 0x1e, 0xeb, 0x59, 0xe2, 0x6f, 0x43, 0xca, 0xa7, 0x92, 0xa2, 0xff, 0x83, 0x29, 0x93, 0x91,
- 0x0e, 0x2d, 0x24, 0x04, 0x44, 0x3e, 0x08, 0x21, 0x8c, 0x34, 0x69, 0x81, 0x7f, 0x0e, 0xe8, 0x11,
- 0xf7, 0xca, 0x63, 0xd3, 0x62, 0xc4, 0xd5, 0x7a, 0x16, 0x79, 0x42, 0xce, 0x70, 0x33, 0xaa, 0x15,
- 0x4d, 0x73, 0xd6, 0xec, 0x18, 0x9a, 0x85, 0x49, 0x76, 0xd6, 0x25, 0xd9, 0x04, 0x4a, 0xc1, 0x2c,
- 0x25, 0x7d, 0xe2, 0x9a, 0xec, 0x2c, 0x3b, 0x8e, 0x32, 0x90, 0x74, 0x09, 0x75, 0x7a, 0x6e, 0x8b,
- 0x34, 0x4c, 0x23, 0x3b, 0xc1, 0xbb, 0x5b, 0x3a, 0x23, 0x6d, 0xc7, 0x3d, 0xcb, 0x4e, 0xa2, 0x34,
- 0xcc, 0x49, 0xc1, 0xbc, 0x73, 0xea, 0xe1, 0xd4, 0x3f, 0xdf, 0xbd, 0x5d, 0x1b, 0xc3, 0xa7, 0x90,
- 0x19, 0xa1, 0x42, 0x9f, 0xc2, 0xc4, 0x17, 0xe4, 0x4c, 0xb8, 0x79, 0x7e, 0x6b, 0xd3, 0x13, 0x1f,
- 0x16, 0x14, 0xd1, 0xa4, 0xf1, 0x91, 0x68, 0x01, 0xa6, 0xfa, 0xba, 0xd5, 0x23, 0x85, 0x71, 0xbe,
- 0x52, 0x9a, 0x7c, 0xc0, 0x75, 0x48, 0xfa, 0x06, 0xc4, 0xad, 0xe5, 0x26, 0x4c, 0xb9, 0x3d, 0x6b,
- 0xb0, 0x82, 0xcb, 0x31, 0xf4, 0x9a, 0xb4, 0xc2, 0x9f, 0x40, 0xca, 0xd7, 0x43, 0xd1, 0x26, 0xcc,
- 0x9c, 0xc8, 0x9f, 0xa3, 0xce, 0xf7, 0x03, 0x78, 0x36, 0xd8, 0x85, 0x54, 0xc5, 0x71, 0x49, 0xd5,
- 0xa6, 0x4c, 0xb7, 0x5b, 0x04, 0xdd, 0x82, 0xa4, 0xa9, 0x7e, 0x37, 0x46, 0xd5, 0x81, 0xd7, 0x53,
- 0x35, 0xd0, 0x36, 0x4c, 0xcb, 0xcd, 0x28, 0xa6, 0x98, 0xdc, 0x5a, 0xf0, 0x58, 0xbe, 0x27, 0x5a,
- 0xeb, 0x4c, 0x67, 0x3d, 0xba, 0x33, 0xc5, 0x63, 0x65, 0x4c, 0x53, 0xa6, 0x0f, 0xa7, 0xfe, 0xcd,
- 0x71, 0xf0, 0x0e, 0xa4, 0xfd, 0x9c, 0x14, 0x6d, 0x04, 0xc3, 0x65, 0x80, 0xe5, 0xb7, 0x52, 0xf1,
- 0xe2, 0x61, 0xfc, 0x75, 0x12, 0xa6, 0x9f, 0x0b, 0x2b, 0x74, 0x0d, 0x66, 0xfa, 0xc4, 0xa5, 0xa6,
- 0x63, 0x07, 0xe5, 0x7a, 0xad, 0xe8, 0x01, 0xcc, 0xaa, 0xcd, 0xed, 0x39, 0x35, 0x33, 0xf0, 0x89,
- 0x6c, 0xf7, 0x07, 0xf5, 0xc0, 0x36, 0x6a, 0x57, 0x4d, 0xfc, 0xf7, 0xbb, 0x6a, 0xf2, 0xb2, 0xbb,
- 0x0a, 0x7d, 0x17, 0x52, 0x2a, 0x5e, 0x79, 0xb4, 0xd3, 0xc2, 0x94, 0x18, 0x89, 0x82, 0x23, 0x9f,
- 0x9d, 0x75, 0x03, 0xa3, 0x93, 0xc6, 0xa0, 0x99, 0xa2, 0x0a, 0xa4, 0x15, 0x42, 0x5b, 0x6c, 0xcc,
- 0xc2, 0x74, 0xec, 0x7e, 0xf4, 0x63, 0x28, 0x5a, 0xb5, 0x99, 0x2b, 0x90, 0x96, 0xe7, 0x96, 0x17,
- 0x57, 0x33, 0xb1, 0x71, 0x15, 0x00, 0xd1, 0xfd, 0x61, 0xf9, 0x03, 0xc8, 0x0d, 0x8f, 0x48, 0x9d,
- 0xe9, 0x4d, 0x9d, 0x92, 0xc2, 0xaa, 0x02, 0xe2, 0x3d, 0xa5, 0xa7, 0x66, 0x53, 0xca, 0xd9, 0xd5,
- 0x99, 0xbe, 0x93, 0xe5, 0x40, 0x49, 0xdf, 0x86, 0xd5, 0x32, 0xdc, 0x8a, 0x1b, 0xa9, 0xd1, 0xe8,
- 0x05, 0xe4, 0xfd, 0x87, 0xaa, 0x07, 0xba, 0xa6, 0x96, 0x48, 0x80, 0x0a, 0x6d, 0xe7, 0xc2, 0x0a,
- 0x59, 0xd2, 0x4c, 0x21, 0x78, 0x21, 0xf6, 0xe7, 0x04, 0x64, 0xeb, 0xc4, 0x3a, 0x79, 0x46, 0x28,
- 0xd3, 0x08, 0xed, 0x3a, 0x36, 0xe5, 0x47, 0xc3, 0xb4, 0x4b, 0x68, 0xcf, 0x62, 0xea, 0x74, 0xb8,
- 0xed, 0x79, 0x61, 0xd4, 0xd2, 0xdf, 0xd0, 0xb3, 0x98, 0xa6, 0x86, 0xe1, 0x1a, 0xcc, 0x07, 0x7b,
- 0x50, 0x12, 0x66, 0xea, 0xc7, 0x95, 0xca, 0x5e, 0xbd, 0x9e, 0x1d, 0xe3, 0x0f, 0x8f, 0x1f, 0x55,
- 0x0f, 0x8e, 0xb5, 0xbd, 0x6c, 0x02, 0xe5, 0x20, 0x7d, 0x78, 0xf4, 0xac, 0x51, 0x3f, 0xae, 0xd5,
- 0x8e, 0xb4, 0x67, 0x7b, 0xbb, 0xd9, 0x71, 0xde, 0x74, 0x7c, 0xf8, 0xe4, 0xf0, 0xe8, 0xc5, 0x61,
- 0x63, 0x4f, 0xd3, 0x8e, 0xb4, 0xec, 0x84, 0x77, 0x8e, 0x1d, 0x41, 0xee, 0xe8, 0xe4, 0x51, 0x9b,
- 0xd8, 0xac, 0xde, 0x6b, 0xd2, 0x96, 0x6b, 0x36, 0x89, 0x8b, 0xd6, 0x00, 0x9c, 0x13, 0x9d, 0x37,
- 0x0e, 0x76, 0xb3, 0x36, 0xa7, 0x5a, 0xaa, 0x06, 0x5a, 0x81, 0x39, 0x95, 0x82, 0x4c, 0x43, 0x9d,
- 0x55, 0xb3, 0xb2, 0xa1, 0x6a, 0xe0, 0x8f, 0x01, 0x9e, 0x92, 0x4e, 0x93, 0xb8, 0xf4, 0xd4, 0xec,
- 0x72, 0x24, 0x11, 0x43, 0x0d, 0x5b, 0xef, 0x10, 0x0f, 0x49, 0xb4, 0x1c, 0xea, 0x1d, 0x82, 0xe6,
- 0xc5, 0x61, 0x26, 0x21, 0xc6, 0x4d, 0x03, 0xef, 0x41, 0xea, 0xb1, 0xe5, 0xbc, 0x7a, 0x4a, 0x98,
- 0xce, 0x57, 0x06, 0xdd, 0x87, 0xe9, 0x0e, 0xf1, 0x9d, 0x4a, 0x6b, 0x25, 0x7f, 0x4a, 0x75, 0x4e,
- 0xba, 0x0d, 0xd1, 0xdd, 0x68, 0x39, 0xf6, 0x89, 0xd9, 0xd6, 0x94, 0xf1, 0xd6, 0x9b, 0xbb, 0x90,
- 0x96, 0xdb, 0xbc, 0x4e, 0x5c, 0xbe, 0x64, 0x48, 0x83, 0xf9, 0xe3, 0xae, 0xa1, 0x33, 0x72, 0xe0,
- 0xb4, 0x0f, 0x48, 0x9f, 0x58, 0x28, 0x53, 0x52, 0x25, 0xc3, 0x81, 0xd3, 0x6e, 0x9b, 0x76, 0xbb,
- 0xb8, 0x54, 0x92, 0x85, 0x48, 0xc9, 0x2b, 0x44, 0x4a, 0x7b, 0xbc, 0x10, 0xc1, 0xcb, 0x6f, 0xfe,
- 0xf2, 0xf7, 0xaf, 0xc6, 0x73, 0x38, 0x25, 0xea, 0x97, 0xfe, 0x3d, 0x5e, 0x32, 0xd0, 0x87, 0x89,
- 0x0d, 0x54, 0x83, 0xd4, 0x3e, 0x61, 0x1e, 0x20, 0x45, 0x85, 0x11, 0xc4, 0x8a, 0xd3, 0xe9, 0x3a,
- 0x36, 0xb1, 0x59, 0x31, 0x3b, 0xd2, 0x43, 0xf1, 0x82, 0x00, 0x9d, 0x47, 0x01, 0x50, 0xf4, 0x02,
- 0xd2, 0xfb, 0x84, 0xf9, 0xdc, 0x17, 0xa3, 0xa9, 0x38, 0xd8, 0xcd, 0x43, 0x5b, 0x5c, 0x14, 0x90,
- 0x0b, 0x08, 0x79, 0x90, 0x9d, 0x21, 0xce, 0x4b, 0xc8, 0xca, 0xe9, 0xfb, 0xb0, 0x23, 0x30, 0x62,
- 0x7d, 0xb0, 0x26, 0xb0, 0x97, 0x71, 0x04, 0x36, 0xf7, 0xc4, 0x2e, 0xcc, 0xed, 0x13, 0xa6, 0x0e,
- 0xd6, 0x38, 0xcd, 0x83, 0xb3, 0x4b, 0xda, 0xe1, 0x8c, 0xc0, 0x9c, 0x43, 0x33, 0x0a, 0x13, 0xf5,
- 0x20, 0x77, 0x60, 0x52, 0x16, 0x3c, 0xe4, 0xe3, 0xd0, 0x16, 0xa3, 0x4e, 0x7b, 0x8a, 0xef, 0xfd,
- 0xfe, 0x5f, 0x6f, 0xd7, 0x66, 0x54, 0x62, 0x10, 0xbf, 0x91, 0xfc, 0x2d, 0xc8, 0xf2, 0x28, 0xe7,
- 0x4d, 0xc0, 0x1c, 0x30, 0xd4, 0x21, 0xb3, 0x4f, 0x02, 0xac, 0x08, 0xbc, 0xf5, 0xaa, 0xee, 0x16,
- 0x23, 0xd3, 0x0a, 0x7e, 0x5f, 0xe0, 0x15, 0xd0, 0x52, 0x08, 0xaf, 0xfc, 0xda, 0x34, 0xbe, 0x44,
- 0x3a, 0xa4, 0xf8, 0x5c, 0x1e, 0x79, 0x49, 0x21, 0x6e, 0x1a, 0xd9, 0x91, 0x94, 0x42, 0xf1, 0x6d,
- 0xae, 0x1a, 0x86, 0xb9, 0x47, 0x10, 0x21, 0x94, 0xf5, 0x88, 0x06, 0x79, 0xe6, 0x35, 0x20, 0x4e,
- 0x71, 0x10, 0x4c, 0x19, 0x71, 0x44, 0x4b, 0x91, 0xc9, 0x87, 0xe2, 0xfb, 0x9c, 0x2e, 0x17, 0x4a,
- 0x59, 0x82, 0xf5, 0x3d, 0xb4, 0xec, 0x0b, 0x4f, 0x7f, 0x37, 0xfa, 0x0c, 0xb2, 0x32, 0xf6, 0x87,
- 0x58, 0x01, 0xaf, 0x45, 0xe7, 0x3a, 0x7c, 0x43, 0xe0, 0xbe, 0x8f, 0x56, 0x63, 0x70, 0xa5, 0xf3,
- 0x5c, 0x58, 0x0a, 0xcd, 0xac, 0xe6, 0xb8, 0x8c, 0x46, 0x2f, 0x8c, 0xb2, 0x13, 0x16, 0xf8, 0x81,
- 0x0a, 0x80, 0x2e, 0x7f, 0x12, 0x6c, 0x37, 0x10, 0x3e, 0x8f, 0xad, 0x2c, 0x2c, 0xd1, 0x2f, 0x13,
- 0xb0, 0x30, 0x3a, 0x23, 0x8e, 0x88, 0x16, 0x23, 0x68, 0xaa, 0x46, 0x31, 0x1f, 0xd1, 0x8c, 0x3f,
- 0xe5, 0xe4, 0xd3, 0x30, 0xc9, 0x21, 0x05, 0x77, 0x09, 0x7d, 0x78, 0x31, 0x77, 0xf9, 0x35, 0xff,
- 0xd3, 0xe0, 0x33, 0xff, 0x75, 0x02, 0x96, 0xf7, 0x6c, 0xbd, 0x69, 0x91, 0x4b, 0x0b, 0x89, 0xdb,
- 0xb2, 0x1f, 0x0b, 0x01, 0xf7, 0xf1, 0xf6, 0x55, 0x04, 0x94, 0x89, 0x20, 0x47, 0xbf, 0x4d, 0x40,
- 0x61, 0xd7, 0xa4, 0xdf, 0x88, 0x90, 0xef, 0x08, 0x21, 0x0f, 0xf0, 0x47, 0x57, 0x12, 0x62, 0x48,
- 0x76, 0xf4, 0xb3, 0x88, 0x58, 0xe0, 0x29, 0x22, 0x18, 0x0b, 0x28, 0x90, 0x17, 0x44, 0x3f, 0xde,
- 0x51, 0x91, 0xc0, 0x5b, 0xc3, 0x47, 0xc1, 0x45, 0x51, 0x21, 0x46, 0xf1, 0xa8, 0x58, 0x1d, 0xe4,
- 0x8d, 0xa0, 0x80, 0x67, 0x42, 0xde, 0x6a, 0x88, 0x58, 0xb4, 0xcb, 0x31, 0xb1, 0x2e, 0xd9, 0x14,
- 0x12, 0x6e, 0xe3, 0x4b, 0x48, 0xe0, 0xc7, 0xeb, 0xaf, 0x12, 0xb0, 0x16, 0xa1, 0xe2, 0x29, 0x4f,
- 0x76, 0x52, 0xc6, 0x4a, 0x40, 0x86, 0xe8, 0x78, 0xea, 0x18, 0x17, 0xa8, 0x28, 0x09, 0x15, 0x77,
- 0xf0, 0x07, 0xe7, 0xaa, 0x90, 0x29, 0x95, 0xcb, 0xf8, 0x45, 0x02, 0x96, 0x43, 0x6b, 0x21, 0xb8,
- 0x82, 0x8b, 0x91, 0x0f, 0x8b, 0xa1, 0x78, 0x97, 0xaf, 0xc0, 0xac, 0x97, 0xce, 0x43, 0xcb, 0x71,
- 0x13, 0x5d, 0x46, 0x05, 0xfa, 0x43, 0x02, 0x56, 0x22, 0xc3, 0x41, 0x15, 0x9d, 0x7e, 0x19, 0xcb,
- 0xa1, 0xa5, 0x91, 0x46, 0xf8, 0x90, 0xb3, 0xa7, 0x21, 0x29, 0xba, 0x64, 0x85, 0x1b, 0xd2, 0xb3,
- 0x81, 0xee, 0x5c, 0xb8, 0x36, 0x6a, 0x2c, 0xfa, 0x2a, 0x01, 0xd7, 0x63, 0x82, 0x44, 0x30, 0xca,
- 0x25, 0xba, 0x1e, 0x2d, 0xe7, 0x32, 0xe1, 0xb2, 0x2d, 0x24, 0x6d, 0xe2, 0x4b, 0x4b, 0xe2, 0xab,
- 0xf5, 0x12, 0x92, 0xdc, 0x53, 0x17, 0xe5, 0x85, 0x4c, 0xb0, 0xa8, 0xa7, 0xf8, 0x26, 0xf7, 0xc5,
- 0xdc, 0xe0, 0xc5, 0x43, 0x16, 0x3f, 0x28, 0xe3, 0x51, 0x7b, 0x09, 0xc0, 0x80, 0xf4, 0x10, 0xbe,
- 0x6a, 0xc4, 0x13, 0x24, 0x87, 0x4b, 0x42, 0x71, 0x89, 0x83, 0x8b, 0x42, 0xff, 0xbc, 0xdc, 0x2c,
- 0x39, 0x4c, 0x83, 0xa2, 0x63, 0xc8, 0x6a, 0xa4, 0xe5, 0xd8, 0x2d, 0xd3, 0x22, 0xde, 0x4c, 0xfc,
- 0x80, 0xb1, 0x2e, 0x5b, 0x15, 0x98, 0x4b, 0x38, 0x8c, 0xc9, 0x7d, 0xb3, 0x27, 0xea, 0x95, 0x88,
- 0xb4, 0x35, 0xf2, 0x7e, 0xe5, 0xc1, 0xa0, 0x85, 0x91, 0xe9, 0xcb, 0x3c, 0xf5, 0x7d, 0x48, 0x55,
- 0x5c, 0xa2, 0x33, 0x25, 0x0d, 0x8d, 0x8c, 0x0e, 0xa1, 0xa9, 0x0a, 0x0d, 0x8f, 0x3a, 0x93, 0x4b,
- 0x7a, 0x01, 0x29, 0x79, 0xf0, 0x47, 0xa8, 0x8a, 0x9b, 0xe4, 0x07, 0x02, 0x6f, 0x0d, 0xaf, 0x44,
- 0xa9, 0xf3, 0x8e, 0xf2, 0x1f, 0x41, 0x5a, 0x9d, 0xe4, 0x57, 0x40, 0x56, 0x79, 0x1a, 0xaf, 0x46,
- 0x22, 0x7b, 0x67, 0xf3, 0x0b, 0x48, 0x69, 0xa4, 0xe9, 0x38, 0xec, 0x1b, 0xd3, 0xec, 0x0a, 0x38,
- 0x0e, 0xbc, 0x4b, 0x2c, 0xc2, 0xbe, 0x86, 0x33, 0x36, 0xa2, 0x81, 0x0d, 0x01, 0x87, 0x7a, 0x90,
- 0xde, 0x75, 0x5e, 0xd9, 0x96, 0xa3, 0x1b, 0xd5, 0x8e, 0xde, 0x26, 0xc3, 0x5c, 0x26, 0x1e, 0xbd,
- 0xbe, 0xe2, 0xa2, 0x47, 0x78, 0xd4, 0x25, 0xae, 0xb8, 0xad, 0xe4, 0x2f, 0x68, 0xf8, 0x81, 0xe0,
- 0xb8, 0x8b, 0xff, 0x3f, 0x92, 0xc3, 0xe4, 0x10, 0x0d, 0x43, 0x61, 0xd0, 0xf2, 0x6b, 0xfe, 0xce,
- 0xf3, 0x25, 0x5f, 0xdc, 0x37, 0x09, 0x58, 0xda, 0x27, 0x2c, 0xc0, 0x21, 0xef, 0x3a, 0xe2, 0x05,
- 0x44, 0x35, 0xe3, 0x87, 0x42, 0xc0, 0x47, 0x68, 0xeb, 0x0a, 0x02, 0xca, 0x54, 0x32, 0xf5, 0x44,
- 0xc9, 0x16, 0xc0, 0xbb, 0x22, 0xbb, 0x3a, 0x87, 0xd0, 0x55, 0xa6, 0x8f, 0x4e, 0x64, 0x99, 0x1a,
- 0x40, 0xa2, 0x23, 0x2b, 0x1a, 0xc5, 0x46, 0xf1, 0x87, 0x82, 0xee, 0x16, 0xba, 0x71, 0x19, 0x3a,
- 0xf4, 0x53, 0xc8, 0x57, 0x78, 0x01, 0x6e, 0x5d, 0x72, 0x86, 0x91, 0x0b, 0xac, 0x66, 0xb8, 0x71,
- 0xa5, 0x19, 0xfe, 0x2e, 0x01, 0xf9, 0x47, 0x2d, 0x66, 0xf6, 0x75, 0x46, 0x04, 0x8b, 0x3c, 0xce,
- 0xaf, 0x48, 0x5d, 0x11, 0xd4, 0x9f, 0xe0, 0x6f, 0x5d, 0x65, 0x69, 0x65, 0x73, 0x4f, 0xf0, 0xf1,
- 0x40, 0xfb, 0x4d, 0x02, 0x72, 0x1a, 0xe9, 0x13, 0x97, 0xfd, 0x4f, 0x84, 0xb8, 0x82, 0x9a, 0x0b,
- 0xf9, 0x1c, 0x32, 0xc3, 0xf4, 0x10, 0xae, 0xdd, 0xd3, 0x9e, 0x22, 0x59, 0xb4, 0x97, 0x42, 0x45,
- 0xfb, 0x2a, 0x2a, 0x46, 0xd2, 0xcb, 0x62, 0xfd, 0x25, 0xe4, 0x7d, 0xe8, 0x9d, 0x8a, 0x78, 0xfb,
- 0x0f, 0x32, 0xe4, 0x06, 0x0c, 0x5e, 0x37, 0xbe, 0x2d, 0x90, 0xaf, 0xa3, 0x6b, 0xd1, 0xc8, 0x1d,
- 0x75, 0x8b, 0x40, 0x91, 0x0d, 0x8b, 0xd2, 0x73, 0xa3, 0x04, 0x61, 0xd0, 0xd8, 0xe3, 0x68, 0x43,
- 0x56, 0x99, 0xf8, 0x22, 0x32, 0xee, 0xac, 0x8e, 0xdf, 0x59, 0x97, 0x2b, 0x6e, 0x1f, 0x9e, 0x5b,
- 0xdc, 0xc6, 0x79, 0x6f, 0x50, 0xd4, 0x2e, 0x04, 0xf9, 0xae, 0x52, 0x3d, 0x3d, 0xbe, 0x44, 0xf5,
- 0x84, 0xd1, 0x7a, 0x2c, 0xbf, 0x57, 0x35, 0x39, 0xfe, 0x49, 0xcb, 0x7b, 0xc7, 0xb8, 0x12, 0x22,
- 0x1f, 0xbe, 0xbb, 0xa4, 0xb8, 0xcc, 0x59, 0xe7, 0x83, 0x77, 0x9d, 0xd1, 0xd9, 0x5a, 0xf6, 0x21,
- 0x4d, 0x5c, 0xae, 0x0c, 0x21, 0x46, 0x7c, 0x1c, 0xa2, 0xc0, 0xd7, 0x05, 0xdc, 0x0a, 0x7a, 0x2f,
- 0x0a, 0x4e, 0x56, 0x00, 0x14, 0xb2, 0xc3, 0x49, 0x28, 0x2f, 0xc6, 0xcd, 0x62, 0x21, 0xe2, 0xfa,
- 0x54, 0x5d, 0x58, 0x64, 0x46, 0x2e, 0x5c, 0xe5, 0x6d, 0x0b, 0x5a, 0x1c, 0x21, 0x56, 0x9e, 0x7b,
- 0x0c, 0xd9, 0x3a, 0x73, 0x89, 0xde, 0xa9, 0xe9, 0xad, 0x2f, 0x08, 0xa3, 0x47, 0x3d, 0x86, 0x96,
- 0x02, 0xcb, 0x25, 0x3b, 0x8e, 0x7a, 0x2c, 0x36, 0x3c, 0xc7, 0xee, 0x24, 0xd0, 0x9e, 0x28, 0xae,
- 0x88, 0xd9, 0x27, 0x0a, 0xa8, 0x6a, 0x9f, 0x73, 0xdd, 0x12, 0xc6, 0xaf, 0xda, 0x78, 0xec, 0x6e,
- 0x02, 0x3d, 0x81, 0xbc, 0x82, 0xa9, 0x9c, 0xea, 0x76, 0x9b, 0xec, 0xf5, 0x89, 0xcd, 0xe2, 0xdd,
- 0x50, 0x08, 0x20, 0xf9, 0x86, 0x08, 0xb0, 0x63, 0x98, 0x1f, 0x2c, 0x92, 0xfc, 0x76, 0x15, 0x7c,
- 0xb3, 0x08, 0xbb, 0x10, 0xe3, 0xe8, 0x90, 0x57, 0xde, 0x92, 0xeb, 0xd4, 0x80, 0x9c, 0xac, 0xd4,
- 0xfc, 0x5f, 0x52, 0xa2, 0xae, 0xa2, 0x8b, 0x51, 0x8d, 0x78, 0x5d, 0x50, 0x14, 0xf1, 0x60, 0x41,
- 0x02, 0x37, 0xdb, 0x7c, 0x0b, 0x4b, 0xdd, 0x7e, 0xf4, 0x48, 0xdd, 0x7e, 0xd0, 0x90, 0xee, 0x00,
- 0xa8, 0xd4, 0x6d, 0x40, 0x4e, 0x9e, 0x44, 0x5f, 0x4f, 0xf7, 0x4d, 0x41, 0x71, 0xad, 0x78, 0x0e,
- 0x05, 0x17, 0xff, 0x19, 0xe4, 0x64, 0xb9, 0x15, 0xa7, 0x3f, 0x2e, 0x8a, 0xd4, 0x14, 0x36, 0xce,
- 0x9b, 0x42, 0x43, 0x6e, 0x91, 0xc0, 0xd7, 0xa6, 0x0b, 0xb7, 0x88, 0xdf, 0xda, 0xbb, 0x7c, 0x44,
- 0xd1, 0xde, 0x47, 0x07, 0xa2, 0x98, 0x17, 0xa9, 0x8d, 0x46, 0x17, 0xf3, 0xb2, 0xcf, 0xab, 0x10,
- 0xd1, 0x4a, 0x7c, 0x62, 0xa3, 0xe8, 0x87, 0x30, 0xeb, 0x5d, 0xb4, 0x07, 0xc0, 0x0a, 0x71, 0x37,
- 0xf6, 0xf8, 0x96, 0x80, 0x5d, 0xc7, 0xef, 0x47, 0xc2, 0x52, 0x62, 0x9d, 0x34, 0x18, 0x47, 0x7b,
- 0x2e, 0xea, 0xaf, 0xc0, 0xf7, 0x8a, 0xd1, 0xd7, 0xe6, 0xd0, 0x07, 0x8d, 0xf0, 0x19, 0xc4, 0x37,
- 0x0f, 0xb7, 0x53, 0xaf, 0xc5, 0x66, 0x13, 0x7d, 0x0e, 0xc8, 0x0b, 0xbd, 0x18, 0xe4, 0xe8, 0xaf,
- 0x1a, 0x61, 0x7f, 0x04, 0xb1, 0x85, 0x97, 0x11, 0x85, 0x74, 0xdd, 0xec, 0xf4, 0x2c, 0x2f, 0x06,
- 0xd1, 0xea, 0xc0, 0x11, 0xfe, 0x66, 0x8d, 0xfc, 0xa4, 0x47, 0x28, 0x8b, 0xab, 0x29, 0x42, 0x17,
- 0x1e, 0x41, 0x1f, 0x29, 0xa4, 0x06, 0x47, 0xe2, 0x01, 0x59, 0x81, 0xb9, 0xc1, 0xd7, 0x08, 0xf4,
- 0x9e, 0x47, 0x18, 0xfa, 0x4e, 0x51, 0x8c, 0xef, 0xc2, 0x63, 0x3b, 0x16, 0xe4, 0x1d, 0xb7, 0x2d,
- 0x4e, 0x9b, 0x96, 0xe3, 0x1a, 0xca, 0x74, 0x27, 0x25, 0xaf, 0x9f, 0x6b, 0xe2, 0xe3, 0xf9, 0x8f,
- 0x4b, 0x6d, 0x93, 0x9d, 0xf6, 0x9a, 0x5c, 0x75, 0xd9, 0xb3, 0x54, 0xff, 0xc4, 0xb0, 0xe9, 0xfd,
- 0x4b, 0xc3, 0x56, 0xb9, 0xed, 0xa8, 0xb6, 0x3f, 0x8d, 0x2f, 0x1d, 0x79, 0x78, 0xcf, 0xfd, 0xb7,
- 0xd9, 0xb5, 0xf1, 0xda, 0x44, 0x6d, 0xb2, 0x36, 0x55, 0x9b, 0xae, 0xcd, 0xd4, 0x66, 0x9b, 0xd3,
- 0x62, 0xec, 0xf6, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0x42, 0x95, 0xa9, 0x38, 0x1e, 0x21, 0x00,
- 0x00,
+ // 2553 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0xcb, 0x6f, 0x1b, 0xc7,
+ 0x19, 0xd7, 0xea, 0xad, 0x4f, 0xa4, 0x44, 0x0e, 0xf5, 0x60, 0x28, 0x29, 0x96, 0x27, 0xf1, 0xa3,
+ 0x6a, 0x4c, 0xda, 0x52, 0x6c, 0xb4, 0x4e, 0x83, 0x44, 0xa2, 0x64, 0x95, 0xb5, 0x2c, 0xb1, 0x2b,
+ 0xcb, 0xee, 0x23, 0x06, 0xb1, 0xe4, 0x8e, 0xa8, 0x85, 0x97, 0xbb, 0xec, 0xce, 0x50, 0xae, 0xe0,
+ 0x06, 0x28, 0xd2, 0x47, 0x8a, 0xa2, 0xa7, 0xe6, 0xde, 0x53, 0x81, 0x02, 0x45, 0xff, 0x15, 0x9f,
+ 0xfa, 0x0f, 0x14, 0x45, 0x0f, 0x3d, 0xf6, 0x94, 0xf6, 0x58, 0xcc, 0x63, 0xc9, 0x7d, 0xea, 0x91,
+ 0x06, 0xe8, 0x49, 0xdc, 0x99, 0x6f, 0x7e, 0xbf, 0xef, 0x35, 0xf3, 0x7d, 0x3b, 0x2b, 0x28, 0x9d,
+ 0xba, 0x36, 0x3b, 0x31, 0x1a, 0x5d, 0xcf, 0x65, 0x2e, 0xad, 0xc8, 0xa7, 0xb2, 0x78, 0x42, 0xe3,
+ 0xf2, 0xa9, 0xb4, 0xdc, 0x76, 0xdd, 0xb6, 0x4d, 0x2a, 0x46, 0xd7, 0xaa, 0x18, 0x8e, 0xe3, 0x32,
+ 0x83, 0x59, 0xae, 0x43, 0xa5, 0x54, 0x69, 0x49, 0xcd, 0x8a, 0xa7, 0x66, 0xef, 0xb8, 0x42, 0x3a,
+ 0x5d, 0x76, 0xa6, 0x26, 0x8b, 0x61, 0xf8, 0x0e, 0x61, 0x0a, 0xbc, 0x14, 0x21, 0x6e, 0xb9, 0x9d,
+ 0x8e, 0xeb, 0x24, 0xcf, 0x9d, 0x10, 0xc3, 0x66, 0x27, 0x6a, 0x0e, 0x87, 0xe7, 0x6c, 0xb7, 0x6d,
+ 0xb5, 0x0c, 0xbb, 0x61, 0x92, 0x53, 0xab, 0x45, 0x92, 0xd7, 0x87, 0xe6, 0x96, 0xc2, 0x73, 0x86,
+ 0x69, 0x74, 0x19, 0xf1, 0xd4, 0xe4, 0xb5, 0xf0, 0xa4, 0xdb, 0x25, 0xce, 0xb1, 0xed, 0xbe, 0x6a,
+ 0xdc, 0xdb, 0x48, 0x11, 0xe8, 0xb4, 0xac, 0x46, 0xc7, 0x6a, 0x36, 0xcc, 0xa6, 0x12, 0xb8, 0x9e,
+ 0x20, 0x60, 0xd8, 0x86, 0xd7, 0x19, 0x88, 0xac, 0x86, 0x45, 0xce, 0x0c, 0xa7, 0xdd, 0x70, 0xbb,
+ 0x01, 0x97, 0xe2, 0x3f, 0x6a, 0x30, 0xbd, 0x2d, 0x94, 0xde, 0xf5, 0xdc, 0x5e, 0x17, 0xcd, 0xc3,
+ 0xb0, 0x65, 0x16, 0xb5, 0x55, 0xed, 0xf6, 0xd4, 0xd6, 0xd8, 0x3f, 0xbf, 0x7c, 0xb3, 0xa2, 0xe9,
+ 0xc3, 0x96, 0x89, 0x6a, 0x30, 0x1b, 0x36, 0x9f, 0x16, 0x87, 0x57, 0x47, 0x6e, 0x4f, 0xaf, 0xcf,
+ 0x97, 0x55, 0x1c, 0xf7, 0xe4, 0xb4, 0xc4, 0xda, 0x9a, 0xfa, 0xfb, 0x97, 0x6f, 0x56, 0x46, 0x39,
+ 0x96, 0x3e, 0x63, 0x07, 0x67, 0x28, 0xda, 0x80, 0x09, 0x1f, 0x62, 0x44, 0x40, 0xcc, 0xf8, 0x10,
+ 0xf1, 0xb5, 0xbe, 0x24, 0xfe, 0x36, 0x64, 0x02, 0x5a, 0x52, 0xf4, 0x0d, 0x18, 0xb3, 0x18, 0xe9,
+ 0xd0, 0xa2, 0x26, 0x20, 0x0a, 0x61, 0x08, 0x21, 0xa4, 0x4b, 0x09, 0xfc, 0x07, 0x0d, 0xd0, 0xce,
+ 0x29, 0x71, 0xd8, 0x23, 0xcb, 0x66, 0xc4, 0xd3, 0x7b, 0x36, 0x79, 0x4c, 0xce, 0xf0, 0xe7, 0x1a,
+ 0x14, 0x22, 0xc3, 0x4f, 0xcf, 0xba, 0x04, 0xcd, 0x00, 0x1c, 0x8b, 0x91, 0x86, 0x61, 0xdb, 0xb9,
+ 0x21, 0x94, 0x81, 0xc9, 0x96, 0xc1, 0x48, 0xdb, 0xf5, 0xce, 0x72, 0x1a, 0xca, 0x41, 0x86, 0xf6,
+ 0x9a, 0x8d, 0xfe, 0xc8, 0x30, 0x42, 0x30, 0xf3, 0xb2, 0x6b, 0x35, 0x08, 0x87, 0x6a, 0xb0, 0xb3,
+ 0x2e, 0xc9, 0x8d, 0xa0, 0x79, 0xc8, 0xb7, 0x5c, 0xe7, 0xd8, 0x6a, 0x07, 0x87, 0x47, 0xf9, 0xb0,
+ 0xb4, 0x27, 0x38, 0x3c, 0x86, 0x2d, 0x98, 0x8d, 0x28, 0x82, 0x3e, 0x86, 0x91, 0x97, 0xe4, 0x4c,
+ 0x84, 0x61, 0x66, 0xbd, 0xec, 0x1b, 0x17, 0xb7, 0xa2, 0x9c, 0x60, 0x81, 0xce, 0x97, 0xa2, 0x39,
+ 0x18, 0x3b, 0x35, 0xec, 0x1e, 0x29, 0x0e, 0xf3, 0x50, 0xea, 0xf2, 0x01, 0xff, 0x49, 0x83, 0xe9,
+ 0xc0, 0x92, 0xb4, 0x68, 0x2f, 0xc0, 0x38, 0x71, 0x8c, 0xa6, 0x2d, 0x57, 0x4f, 0xea, 0xea, 0x09,
+ 0x2d, 0xc1, 0x94, 0x32, 0xc0, 0x32, 0x8b, 0x23, 0x02, 0x78, 0x52, 0x0e, 0xd4, 0x4c, 0xb4, 0x02,
+ 0x30, 0x30, 0xab, 0x38, 0x2a, 0x66, 0xa7, 0xc4, 0x88, 0xf0, 0xeb, 0x1d, 0x18, 0xf3, 0x7a, 0x36,
+ 0xa1, 0xc5, 0x31, 0x11, 0xb1, 0xc5, 0x14, 0xa3, 0x74, 0x29, 0x85, 0x3f, 0x84, 0x4c, 0x60, 0x86,
+ 0xa2, 0x3b, 0x30, 0x21, 0xc3, 0x12, 0x0b, 0x79, 0x10, 0xc0, 0x97, 0xc1, 0x1e, 0x64, 0xaa, 0xae,
+ 0x47, 0x6a, 0x0e, 0x65, 0x86, 0xd3, 0x22, 0xe8, 0x26, 0x4c, 0x5b, 0xea, 0x77, 0x23, 0x6a, 0x31,
+ 0xf8, 0x33, 0x35, 0x13, 0x6d, 0xc0, 0xb8, 0x3c, 0x02, 0x84, 0xe5, 0xd3, 0xeb, 0x73, 0x3e, 0xcb,
+ 0x77, 0xc5, 0xe8, 0x21, 0x33, 0x58, 0x8f, 0x6e, 0x8d, 0xf1, 0x0c, 0x1d, 0xd2, 0x95, 0xe8, 0xc3,
+ 0xb1, 0xff, 0x70, 0x1c, 0xbc, 0x05, 0xd9, 0x20, 0x27, 0x45, 0x6b, 0xe1, 0x24, 0xed, 0x63, 0x05,
+ 0xa5, 0x54, 0x96, 0xfa, 0x18, 0x7f, 0x1b, 0x85, 0xf1, 0x67, 0x42, 0x0a, 0x5d, 0x83, 0x89, 0x53,
+ 0xe2, 0x51, 0xcb, 0x75, 0xc2, 0xea, 0xfa, 0xa3, 0xe8, 0x01, 0x4c, 0xaa, 0x23, 0xc5, 0xdf, 0x8c,
+ 0xb3, 0x3e, 0xc3, 0xa6, 0x1c, 0x0f, 0x6e, 0xa5, 0xbe, 0x6c, 0xd2, 0x5e, 0x1e, 0xf9, 0xdf, 0xf7,
+ 0xf2, 0xe8, 0x65, 0xf7, 0x32, 0xfa, 0x18, 0x32, 0x2a, 0x8b, 0x78, 0xa6, 0xf8, 0x09, 0x81, 0xc2,
+ 0x2b, 0x79, 0xce, 0x04, 0x57, 0x4f, 0x9b, 0xfd, 0x61, 0x8a, 0xaa, 0x90, 0x55, 0x08, 0x6d, 0x71,
+ 0x1c, 0x14, 0xc7, 0x53, 0x4f, 0x81, 0x20, 0x86, 0xa2, 0x55, 0x47, 0x48, 0x15, 0xb2, 0x32, 0x5f,
+ 0xfd, 0xbc, 0x9a, 0x48, 0xcd, 0xab, 0x10, 0x08, 0x09, 0xa6, 0xe5, 0xf7, 0x21, 0x3f, 0x38, 0x98,
+ 0x0d, 0x66, 0x34, 0x0d, 0x4a, 0x8a, 0xcb, 0x0a, 0x88, 0xcf, 0x94, 0x9f, 0x58, 0x4d, 0xa9, 0xce,
+ 0xb6, 0xc1, 0x8c, 0xad, 0x1c, 0x07, 0x9a, 0x0e, 0x6c, 0x23, 0x7d, 0x96, 0x4b, 0x71, 0x21, 0xb5,
+ 0x1a, 0x3d, 0x87, 0x42, 0xf0, 0x28, 0xf7, 0x41, 0x57, 0x54, 0x88, 0x04, 0xe8, 0x26, 0x9f, 0x3b,
+ 0x17, 0x56, 0xa8, 0x25, 0xc5, 0x14, 0x82, 0x9f, 0x62, 0x7f, 0xd1, 0x20, 0x77, 0x48, 0xec, 0xe3,
+ 0xa7, 0x84, 0x32, 0x9d, 0xd0, 0xae, 0xeb, 0x50, 0x82, 0x3e, 0x82, 0x71, 0x8f, 0xd0, 0x9e, 0xcd,
+ 0xd4, 0x99, 0x73, 0xcb, 0xf7, 0x42, 0x54, 0x32, 0x38, 0xd0, 0xb3, 0x99, 0xae, 0x96, 0xe1, 0x3a,
+ 0xcc, 0x84, 0x67, 0xd0, 0x34, 0x4c, 0x1c, 0x1e, 0x55, 0xab, 0x3b, 0x87, 0x87, 0xb9, 0x21, 0xfe,
+ 0xf0, 0x68, 0xb3, 0xb6, 0x77, 0xa4, 0xef, 0xe4, 0x34, 0x94, 0x87, 0xec, 0xfe, 0xc1, 0xd3, 0xc6,
+ 0xe1, 0x51, 0xbd, 0x7e, 0xa0, 0x3f, 0xdd, 0xd9, 0xce, 0x0d, 0xf3, 0xa1, 0xa3, 0xfd, 0xc7, 0xfb,
+ 0x07, 0xcf, 0xf7, 0x1b, 0x3b, 0xba, 0x7e, 0xa0, 0xe7, 0x46, 0x1e, 0x8e, 0xfd, 0x8b, 0x6f, 0x32,
+ 0x7c, 0x00, 0xf9, 0x83, 0xe3, 0xcd, 0x36, 0x71, 0xd8, 0x61, 0xaf, 0x49, 0x5b, 0x9e, 0xd5, 0x24,
+ 0x1e, 0x3f, 0x6b, 0xdc, 0x63, 0x83, 0x0f, 0xf6, 0x77, 0xb3, 0x3e, 0xa5, 0x46, 0x6a, 0x26, 0x3f,
+ 0xa7, 0x54, 0xe1, 0xb3, 0x4c, 0x75, 0x00, 0x4e, 0xca, 0x81, 0x9a, 0x89, 0x3f, 0x00, 0x78, 0x42,
+ 0x3a, 0x4d, 0xe2, 0xd1, 0x13, 0xab, 0xcb, 0x91, 0x44, 0x0e, 0x35, 0x1c, 0xa3, 0x43, 0x7c, 0x24,
+ 0x31, 0xb2, 0x6f, 0x74, 0x78, 0x35, 0x18, 0xee, 0x43, 0x0c, 0x5b, 0x26, 0xde, 0x81, 0xcc, 0x23,
+ 0xdb, 0x7d, 0xf5, 0x84, 0x30, 0x83, 0x47, 0x06, 0xdd, 0x87, 0xf1, 0x0e, 0x09, 0x9c, 0x4a, 0x2b,
+ 0xe5, 0x60, 0x21, 0x77, 0x8f, 0xbb, 0x0d, 0x31, 0xdd, 0x90, 0xe5, 0x40, 0x57, 0xc2, 0xeb, 0xbf,
+ 0xbb, 0x0b, 0x59, 0xb9, 0xcd, 0x0f, 0x89, 0xc7, 0x43, 0x86, 0x74, 0x98, 0x39, 0xea, 0x9a, 0x06,
+ 0x23, 0x7b, 0x6e, 0x7b, 0x8f, 0x9c, 0x12, 0x1b, 0xcd, 0x96, 0x55, 0xa3, 0xb2, 0xe7, 0xb6, 0xdb,
+ 0x96, 0xd3, 0x2e, 0x2d, 0x94, 0x65, 0xfb, 0x53, 0xf6, 0xdb, 0x9f, 0xf2, 0x0e, 0x6f, 0x7f, 0xf0,
+ 0xe2, 0x67, 0x7f, 0xfd, 0xc7, 0x17, 0xc3, 0x79, 0x9c, 0x11, 0x5d, 0xd3, 0xe9, 0x3d, 0xde, 0xa8,
+ 0xd0, 0x87, 0xda, 0x1a, 0xaa, 0x43, 0x66, 0x97, 0x30, 0x1f, 0x90, 0xa2, 0x62, 0x04, 0xb1, 0xea,
+ 0x76, 0xba, 0xae, 0x43, 0x1c, 0x56, 0xca, 0x45, 0x66, 0x28, 0x9e, 0x13, 0xa0, 0x33, 0x28, 0x04,
+ 0x8a, 0x9e, 0x43, 0x76, 0x97, 0xb0, 0x80, 0xfb, 0x52, 0x74, 0x2a, 0xf5, 0x77, 0xf3, 0x40, 0x16,
+ 0x97, 0x04, 0xe4, 0x1c, 0x42, 0x3e, 0x64, 0x67, 0x80, 0xf3, 0x02, 0x72, 0xd2, 0xfc, 0x00, 0x76,
+ 0x02, 0x46, 0xaa, 0x0f, 0x56, 0x04, 0xf6, 0x22, 0x4e, 0xc0, 0xe6, 0x9e, 0xd8, 0x86, 0xa9, 0x5d,
+ 0xc2, 0xd4, 0xc1, 0x9a, 0xa6, 0x73, 0xff, 0xec, 0x92, 0x72, 0x78, 0x56, 0x60, 0x4e, 0xa1, 0x09,
+ 0x85, 0x89, 0x7a, 0x90, 0xdf, 0xb3, 0x28, 0x0b, 0x1f, 0xf2, 0x69, 0x68, 0xf3, 0x49, 0xa7, 0x3d,
+ 0xc5, 0xf7, 0x7e, 0xfb, 0xef, 0x37, 0x2b, 0x13, 0xaa, 0x30, 0x88, 0xdf, 0x48, 0xfe, 0x16, 0x64,
+ 0x05, 0x94, 0xf7, 0x0d, 0xb0, 0xfa, 0x0c, 0x87, 0x30, 0xbb, 0x4b, 0x42, 0xac, 0x08, 0xfc, 0x78,
+ 0xd5, 0xb6, 0x4b, 0x89, 0x65, 0x05, 0xbf, 0x2d, 0xf0, 0x8a, 0x68, 0x21, 0x86, 0x57, 0x79, 0x6d,
+ 0x99, 0x9f, 0x22, 0x03, 0x32, 0xdc, 0x96, 0x4d, 0xbf, 0x28, 0xa4, 0x99, 0x91, 0x8b, 0x94, 0x14,
+ 0x8a, 0x6f, 0x71, 0xad, 0x61, 0x50, 0x7b, 0x04, 0x11, 0x42, 0x39, 0x9f, 0xa8, 0x5f, 0x67, 0x5e,
+ 0x03, 0xe2, 0x14, 0x7b, 0xe1, 0x92, 0x91, 0x46, 0xb4, 0x90, 0x58, 0x7c, 0x28, 0xbe, 0xcf, 0xe9,
+ 0xf2, 0xb1, 0x92, 0x25, 0x58, 0xdf, 0x42, 0x8b, 0x81, 0xf4, 0x0c, 0x4e, 0xa3, 0x1f, 0x43, 0x4e,
+ 0xe6, 0xfe, 0x00, 0x2b, 0xe4, 0xb5, 0xe4, 0x5a, 0x87, 0xdf, 0x15, 0xb8, 0x6f, 0xa3, 0xe5, 0x14,
+ 0x5c, 0xe9, 0x3c, 0x0f, 0x16, 0x62, 0x96, 0xd5, 0x5d, 0x8f, 0xd1, 0xe4, 0xc0, 0x28, 0x39, 0x21,
+ 0x81, 0x1f, 0xa8, 0x04, 0xe8, 0xf2, 0x27, 0xc1, 0xf6, 0x2e, 0xc2, 0xe7, 0xb1, 0x55, 0x84, 0x24,
+ 0xfa, 0x85, 0x06, 0x73, 0x51, 0x8b, 0x38, 0x22, 0x9a, 0x4f, 0xa0, 0xa9, 0x99, 0xa5, 0x42, 0xc2,
+ 0x30, 0xfe, 0x88, 0x93, 0x8f, 0xc3, 0x28, 0x87, 0x14, 0xdc, 0x65, 0xf4, 0xde, 0xc5, 0xdc, 0x95,
+ 0xd7, 0xfc, 0x4f, 0x83, 0x5b, 0xfe, 0x2b, 0x0d, 0x16, 0x77, 0x44, 0x33, 0x78, 0x69, 0x45, 0xd2,
+ 0xb6, 0xec, 0x07, 0x42, 0x81, 0xfb, 0x78, 0xe3, 0x2a, 0x0a, 0x54, 0x54, 0x27, 0xfa, 0xb9, 0x06,
+ 0xc5, 0x6d, 0x8b, 0x7e, 0x2d, 0x8a, 0x7c, 0x47, 0x28, 0xf2, 0x00, 0xbf, 0x7f, 0x25, 0x45, 0x4c,
+ 0xc9, 0x8e, 0x7e, 0x96, 0x90, 0x0b, 0xbc, 0x44, 0x84, 0x73, 0x01, 0x85, 0xea, 0x82, 0x98, 0xc7,
+ 0x5b, 0x2a, 0x13, 0xf8, 0x68, 0xfc, 0x28, 0xb8, 0x28, 0x2b, 0xc4, 0x2a, 0x9e, 0x15, 0xcb, 0xfd,
+ 0xba, 0x11, 0x56, 0xe0, 0xa9, 0x50, 0x6f, 0x39, 0x46, 0x2c, 0xc6, 0xe5, 0x9a, 0x54, 0x97, 0xdc,
+ 0x11, 0x2a, 0xdc, 0xc2, 0x97, 0x50, 0x81, 0x1f, 0xaf, 0xbf, 0xd4, 0x60, 0x25, 0x41, 0x8b, 0x27,
+ 0xbc, 0xd8, 0x49, 0x35, 0x96, 0x42, 0x6a, 0x88, 0x89, 0x27, 0xae, 0x79, 0x81, 0x16, 0x65, 0xa1,
+ 0xc5, 0x6d, 0xfc, 0xce, 0xb9, 0x5a, 0xc8, 0x92, 0xca, 0xd5, 0xf8, 0xb9, 0x06, 0x8b, 0xb1, 0x58,
+ 0x08, 0xae, 0x70, 0x30, 0x0a, 0x71, 0x65, 0x28, 0xde, 0xe6, 0x11, 0x98, 0xf4, 0xcb, 0x79, 0x2c,
+ 0x1c, 0x37, 0xd0, 0x65, 0xb4, 0x40, 0xbf, 0xd7, 0x60, 0x29, 0x31, 0x1d, 0x54, 0xd3, 0x19, 0x54,
+ 0x63, 0x31, 0x16, 0x1a, 0x29, 0x84, 0xf7, 0x39, 0x7b, 0x16, 0xa6, 0xc5, 0x94, 0xec, 0x70, 0x63,
+ 0xfa, 0xac, 0xa1, 0xdb, 0x17, 0xc6, 0x46, 0xad, 0x45, 0x5f, 0x68, 0x70, 0x3d, 0x25, 0x49, 0x04,
+ 0xa3, 0x0c, 0xd1, 0xf5, 0x64, 0x75, 0x2e, 0x93, 0x2e, 0x1b, 0x42, 0xa5, 0x3b, 0xf8, 0xd2, 0x2a,
+ 0xf1, 0x68, 0xbd, 0x80, 0x69, 0xee, 0xa9, 0x8b, 0xea, 0xc2, 0x6c, 0xb8, 0xa9, 0xa7, 0xf8, 0x06,
+ 0xf7, 0xc5, 0x54, 0xff, 0xc5, 0x43, 0x36, 0x3f, 0x68, 0xd6, 0xa7, 0xf6, 0x0b, 0x80, 0x09, 0xd9,
+ 0x01, 0x7c, 0xcd, 0x4c, 0x27, 0x98, 0x1e, 0x84, 0x84, 0xe2, 0x32, 0x07, 0x17, 0x8d, 0xfe, 0x79,
+ 0xb5, 0x59, 0x72, 0x58, 0x26, 0x45, 0x47, 0x90, 0xd3, 0x49, 0xcb, 0x75, 0x5a, 0x96, 0x4d, 0x7c,
+ 0x4b, 0x82, 0x80, 0xa9, 0x2e, 0x5b, 0x16, 0x98, 0x0b, 0x38, 0x8e, 0xc9, 0x7d, 0xb3, 0x23, 0xfa,
+ 0x95, 0x84, 0xb2, 0x15, 0x79, 0xbf, 0xf2, 0x61, 0xd0, 0x5c, 0xc4, 0x7c, 0x59, 0xa7, 0xbe, 0x07,
+ 0x99, 0xaa, 0x47, 0x0c, 0xa6, 0x54, 0x43, 0x91, 0xd5, 0x31, 0x34, 0xd5, 0xa1, 0xe1, 0xa8, 0x33,
+ 0xb9, 0x4a, 0xcf, 0x21, 0x23, 0x0f, 0xfe, 0x04, 0xad, 0xd2, 0x8c, 0x7c, 0x47, 0xe0, 0xad, 0xe0,
+ 0xa5, 0x24, 0xed, 0xfc, 0xa3, 0xfc, 0x87, 0x90, 0x55, 0x27, 0xf9, 0x15, 0x90, 0x55, 0x9d, 0xc6,
+ 0xcb, 0x89, 0xc8, 0xfe, 0xd9, 0xfc, 0x1c, 0x32, 0x3a, 0x69, 0xba, 0x2e, 0xfb, 0xda, 0x74, 0xf6,
+ 0x04, 0x1c, 0x07, 0xde, 0x26, 0x36, 0x61, 0x5f, 0xc1, 0x19, 0x6b, 0xc9, 0xc0, 0xa6, 0x80, 0x43,
+ 0x3d, 0xc8, 0x6e, 0xbb, 0xaf, 0x1c, 0xdb, 0x35, 0xcc, 0x5a, 0xc7, 0x68, 0x93, 0x41, 0x2d, 0x13,
+ 0x8f, 0xfe, 0x5c, 0x69, 0xde, 0x27, 0x3c, 0xe8, 0x12, 0x4f, 0xdc, 0x91, 0xf2, 0x17, 0x34, 0xfc,
+ 0x40, 0x70, 0xdc, 0xc5, 0xdf, 0x4c, 0xe4, 0xb0, 0x38, 0x44, 0xc3, 0x54, 0x18, 0xb4, 0xf2, 0x9a,
+ 0xbf, 0xf3, 0x7c, 0xca, 0x83, 0xfb, 0x99, 0x06, 0x0b, 0xbb, 0x84, 0x85, 0x38, 0xe4, 0x5d, 0x47,
+ 0xba, 0x02, 0x49, 0xc3, 0xf8, 0xa1, 0x50, 0xe0, 0x7d, 0xb4, 0x7e, 0x05, 0x05, 0x2a, 0x54, 0x32,
+ 0xf5, 0x44, 0xcb, 0x16, 0xc2, 0xbb, 0x22, 0xbb, 0x3a, 0x87, 0xd0, 0x55, 0xcc, 0x47, 0xc7, 0xb2,
+ 0x4d, 0x0d, 0x21, 0xd1, 0x48, 0x44, 0x93, 0xd8, 0x28, 0x7e, 0x4f, 0xd0, 0xdd, 0x44, 0xef, 0x5e,
+ 0x86, 0x0e, 0xfd, 0x14, 0x0a, 0x55, 0xde, 0x80, 0xdb, 0x97, 0xb4, 0x30, 0x31, 0xc0, 0xca, 0xc2,
+ 0xb5, 0x2b, 0x59, 0xf8, 0x1b, 0x0d, 0x0a, 0x9b, 0x2d, 0x66, 0x9d, 0x1a, 0x8c, 0x08, 0x16, 0x79,
+ 0x9c, 0x5f, 0x91, 0xba, 0x2a, 0xa8, 0x3f, 0xc4, 0xdf, 0xba, 0x4a, 0x68, 0xe5, 0x70, 0x4f, 0xf0,
+ 0xf1, 0x44, 0xfb, 0xb5, 0x06, 0x79, 0x9d, 0x9c, 0x12, 0x8f, 0xfd, 0x5f, 0x14, 0xf1, 0x04, 0x35,
+ 0x57, 0xe4, 0x13, 0x98, 0x1d, 0x94, 0x87, 0x78, 0xef, 0x9e, 0xf5, 0x35, 0x92, 0x4d, 0x7b, 0x39,
+ 0xd6, 0xb4, 0x2f, 0xa3, 0x52, 0x22, 0xbd, 0x6c, 0xd6, 0x5f, 0x40, 0x21, 0x80, 0xde, 0xa9, 0x8a,
+ 0xb7, 0xff, 0x30, 0x43, 0xbe, 0xcf, 0xe0, 0x4f, 0xe3, 0x5b, 0x02, 0xf9, 0x3a, 0xba, 0x96, 0x8c,
+ 0xdc, 0x51, 0xb7, 0x08, 0x14, 0x39, 0x30, 0x2f, 0x3d, 0x17, 0x25, 0x88, 0x83, 0xa6, 0x1e, 0x47,
+ 0x6b, 0xb2, 0xcb, 0xc4, 0x17, 0x91, 0x71, 0x67, 0x75, 0x82, 0xce, 0xba, 0x5c, 0x73, 0xfb, 0xf0,
+ 0xdc, 0xe6, 0x36, 0xcd, 0x7b, 0xfd, 0xa6, 0x76, 0x2e, 0xcc, 0x77, 0x95, 0xee, 0xe9, 0xd1, 0x25,
+ 0xba, 0x27, 0x8c, 0x56, 0x53, 0xf9, 0xfd, 0xae, 0xc9, 0x0d, 0x1a, 0x2d, 0xef, 0x1d, 0xd3, 0x5a,
+ 0x88, 0x42, 0xfc, 0xee, 0x92, 0xe2, 0x0a, 0x67, 0x9d, 0x09, 0xdf, 0x75, 0x26, 0x57, 0x6b, 0x39,
+ 0x87, 0x74, 0x71, 0xb9, 0x32, 0x80, 0x88, 0xf8, 0x38, 0x46, 0x81, 0xaf, 0x0b, 0xb8, 0x25, 0xf4,
+ 0x56, 0x12, 0x9c, 0xec, 0x00, 0x28, 0xe4, 0x06, 0x46, 0x28, 0x2f, 0xa6, 0x59, 0x31, 0x97, 0x70,
+ 0x7d, 0xaa, 0x2e, 0x2c, 0x66, 0x23, 0x17, 0xae, 0xf2, 0xb6, 0x05, 0xcd, 0x47, 0x88, 0x95, 0xe7,
+ 0x1e, 0x41, 0xee, 0x90, 0x79, 0xc4, 0xe8, 0xd4, 0x8d, 0xd6, 0x4b, 0xc2, 0xe8, 0x41, 0x8f, 0xa1,
+ 0x85, 0x50, 0xb8, 0xe4, 0xc4, 0x41, 0x8f, 0xa5, 0xa6, 0xe7, 0xd0, 0x6d, 0x0d, 0xed, 0x88, 0xe6,
+ 0x8a, 0x58, 0xa7, 0x44, 0x01, 0xd5, 0x9c, 0x73, 0xae, 0x5b, 0xe2, 0xf8, 0x35, 0x07, 0x0f, 0xdd,
+ 0xd5, 0xd0, 0x63, 0x28, 0x28, 0x98, 0xea, 0x89, 0xe1, 0xb4, 0x89, 0xb8, 0xd8, 0x4d, 0x77, 0x43,
+ 0x31, 0x84, 0x14, 0x58, 0x22, 0xc0, 0x8e, 0x60, 0xa6, 0x1f, 0x24, 0xf9, 0xc5, 0x2c, 0xfc, 0x66,
+ 0x11, 0x77, 0x21, 0xc6, 0xc9, 0x29, 0xaf, 0xbc, 0x25, 0xe3, 0xd4, 0x80, 0xbc, 0xec, 0xd4, 0x82,
+ 0x5f, 0x67, 0x92, 0xae, 0xa2, 0x4b, 0x49, 0x83, 0x78, 0x55, 0x50, 0x94, 0x70, 0x3f, 0x20, 0xa1,
+ 0x9b, 0x6d, 0xbe, 0x85, 0x9f, 0x09, 0xbd, 0x83, 0xe8, 0x89, 0x57, 0x15, 0xc1, 0x6f, 0x2e, 0x71,
+ 0xc5, 0x43, 0xa8, 0x52, 0x71, 0x13, 0xf2, 0xf2, 0x28, 0xfa, 0x6a, 0x8a, 0xdf, 0x10, 0x14, 0xd7,
+ 0x4a, 0xe7, 0x50, 0x70, 0xed, 0x4d, 0xc8, 0xcb, 0x7e, 0xeb, 0x42, 0x96, 0xb4, 0x7c, 0x52, 0xb6,
+ 0xac, 0x9d, 0x67, 0x4b, 0x43, 0x6e, 0x96, 0xd0, 0x77, 0xa7, 0x0b, 0x37, 0x4b, 0xc8, 0x63, 0x2b,
+ 0xd1, 0x8d, 0x11, 0x62, 0x41, 0x7b, 0xa2, 0xad, 0x17, 0x45, 0x8e, 0x26, 0xb7, 0xf5, 0x72, 0xce,
+ 0xef, 0x15, 0xd1, 0x52, 0x7a, 0x89, 0xa3, 0xe8, 0x07, 0x30, 0xe9, 0x5f, 0xb9, 0x87, 0xc0, 0x8a,
+ 0x69, 0x77, 0xf7, 0xf8, 0xa6, 0x80, 0x5d, 0xc5, 0x6f, 0x27, 0xc2, 0x52, 0x62, 0x1f, 0x37, 0x18,
+ 0x47, 0x7b, 0x26, 0x3a, 0xb1, 0xd0, 0x97, 0x8b, 0xe8, 0x0b, 0x74, 0xec, 0xd3, 0x46, 0xfc, 0x34,
+ 0xe2, 0xdb, 0x88, 0xcb, 0xa9, 0x17, 0x64, 0xab, 0x89, 0x3e, 0x01, 0xb4, 0x4b, 0x58, 0xe4, 0xe3,
+ 0x45, 0xe4, 0x5a, 0x2e, 0xe9, 0xfb, 0x46, 0xdc, 0x1f, 0x61, 0x6c, 0xf1, 0xa9, 0x04, 0x51, 0xc8,
+ 0x1e, 0x5a, 0x9d, 0x9e, 0x6d, 0x30, 0x22, 0xd6, 0xa3, 0xe5, 0xbe, 0x23, 0x82, 0xc3, 0x3a, 0xf9,
+ 0x49, 0x8f, 0x50, 0x96, 0xd6, 0x5d, 0xc4, 0xae, 0x3e, 0xc2, 0x3e, 0x52, 0x48, 0x0d, 0x8e, 0xc4,
+ 0x33, 0xb3, 0x0a, 0x53, 0xfd, 0xef, 0x12, 0xe8, 0x2d, 0x9f, 0x30, 0xf6, 0xc5, 0xa2, 0x94, 0x3e,
+ 0x85, 0x87, 0xb6, 0x6c, 0x28, 0xb8, 0x5e, 0x5b, 0x9c, 0x3b, 0x2d, 0xd7, 0x33, 0x95, 0xe8, 0x56,
+ 0x46, 0x5e, 0x44, 0xd7, 0xc5, 0xc7, 0xfb, 0x1f, 0x95, 0xdb, 0x16, 0x3b, 0xe9, 0x35, 0xb9, 0xd6,
+ 0x15, 0x5f, 0x52, 0xfd, 0x13, 0xc5, 0x1d, 0xff, 0x5f, 0x2a, 0xd6, 0x2b, 0x6d, 0x57, 0x8d, 0xfd,
+ 0x79, 0x78, 0xe1, 0xc0, 0xc7, 0x7b, 0x16, 0xbc, 0xd7, 0xae, 0x0f, 0xd7, 0x47, 0xea, 0xa3, 0xf5,
+ 0xb1, 0xfa, 0x78, 0x7d, 0xa2, 0x3e, 0xd9, 0x1c, 0x17, 0x6b, 0x37, 0xfe, 0x1b, 0x00, 0x00, 0xff,
+ 0xff, 0x85, 0xd9, 0x4c, 0xe3, 0x9e, 0x21, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
@@ -2274,11 +2301,13 @@
ReceiveChangeEvents(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (VolthaService_ReceiveChangeEventsClient, error)
// Get additional information on a device group
GetDeviceGroup(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*DeviceGroup, error)
- CreateAlarmFilter(ctx context.Context, in *AlarmFilter, opts ...grpc.CallOption) (*AlarmFilter, error)
- GetAlarmFilter(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*AlarmFilter, error)
- UpdateAlarmFilter(ctx context.Context, in *AlarmFilter, opts ...grpc.CallOption) (*AlarmFilter, error)
- DeleteAlarmFilter(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*empty.Empty, error)
- ListAlarmFilters(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*AlarmFilters, error)
+ CreateEventFilter(ctx context.Context, in *EventFilter, opts ...grpc.CallOption) (*EventFilter, error)
+ // Get all filters present for a device
+ GetEventFilter(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*EventFilters, error)
+ UpdateEventFilter(ctx context.Context, in *EventFilter, opts ...grpc.CallOption) (*EventFilter, error)
+ DeleteEventFilter(ctx context.Context, in *EventFilter, opts ...grpc.CallOption) (*empty.Empty, error)
+ // Get all the filters present
+ ListEventFilters(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*EventFilters, error)
GetImages(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*Images, error)
SelfTest(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*SelfTestResponse, error)
// OpenOMCI MIB information
@@ -2801,45 +2830,45 @@
return out, nil
}
-func (c *volthaServiceClient) CreateAlarmFilter(ctx context.Context, in *AlarmFilter, opts ...grpc.CallOption) (*AlarmFilter, error) {
- out := new(AlarmFilter)
- err := c.cc.Invoke(ctx, "/voltha.VolthaService/CreateAlarmFilter", in, out, opts...)
+func (c *volthaServiceClient) CreateEventFilter(ctx context.Context, in *EventFilter, opts ...grpc.CallOption) (*EventFilter, error) {
+ out := new(EventFilter)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/CreateEventFilter", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
-func (c *volthaServiceClient) GetAlarmFilter(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*AlarmFilter, error) {
- out := new(AlarmFilter)
- err := c.cc.Invoke(ctx, "/voltha.VolthaService/GetAlarmFilter", in, out, opts...)
+func (c *volthaServiceClient) GetEventFilter(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*EventFilters, error) {
+ out := new(EventFilters)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/GetEventFilter", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
-func (c *volthaServiceClient) UpdateAlarmFilter(ctx context.Context, in *AlarmFilter, opts ...grpc.CallOption) (*AlarmFilter, error) {
- out := new(AlarmFilter)
- err := c.cc.Invoke(ctx, "/voltha.VolthaService/UpdateAlarmFilter", in, out, opts...)
+func (c *volthaServiceClient) UpdateEventFilter(ctx context.Context, in *EventFilter, opts ...grpc.CallOption) (*EventFilter, error) {
+ out := new(EventFilter)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/UpdateEventFilter", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
-func (c *volthaServiceClient) DeleteAlarmFilter(ctx context.Context, in *common.ID, opts ...grpc.CallOption) (*empty.Empty, error) {
+func (c *volthaServiceClient) DeleteEventFilter(ctx context.Context, in *EventFilter, opts ...grpc.CallOption) (*empty.Empty, error) {
out := new(empty.Empty)
- err := c.cc.Invoke(ctx, "/voltha.VolthaService/DeleteAlarmFilter", in, out, opts...)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/DeleteEventFilter", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
-func (c *volthaServiceClient) ListAlarmFilters(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*AlarmFilters, error) {
- out := new(AlarmFilters)
- err := c.cc.Invoke(ctx, "/voltha.VolthaService/ListAlarmFilters", in, out, opts...)
+func (c *volthaServiceClient) ListEventFilters(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*EventFilters, error) {
+ out := new(EventFilters)
+ err := c.cc.Invoke(ctx, "/voltha.VolthaService/ListEventFilters", in, out, opts...)
if err != nil {
return nil, err
}
@@ -3013,11 +3042,13 @@
ReceiveChangeEvents(*empty.Empty, VolthaService_ReceiveChangeEventsServer) error
// Get additional information on a device group
GetDeviceGroup(context.Context, *common.ID) (*DeviceGroup, error)
- CreateAlarmFilter(context.Context, *AlarmFilter) (*AlarmFilter, error)
- GetAlarmFilter(context.Context, *common.ID) (*AlarmFilter, error)
- UpdateAlarmFilter(context.Context, *AlarmFilter) (*AlarmFilter, error)
- DeleteAlarmFilter(context.Context, *common.ID) (*empty.Empty, error)
- ListAlarmFilters(context.Context, *empty.Empty) (*AlarmFilters, error)
+ CreateEventFilter(context.Context, *EventFilter) (*EventFilter, error)
+ // Get all filters present for a device
+ GetEventFilter(context.Context, *common.ID) (*EventFilters, error)
+ UpdateEventFilter(context.Context, *EventFilter) (*EventFilter, error)
+ DeleteEventFilter(context.Context, *EventFilter) (*empty.Empty, error)
+ // Get all the filters present
+ ListEventFilters(context.Context, *empty.Empty) (*EventFilters, error)
GetImages(context.Context, *common.ID) (*Images, error)
SelfTest(context.Context, *common.ID) (*SelfTestResponse, error)
// OpenOMCI MIB information
@@ -3911,92 +3942,92 @@
return interceptor(ctx, in, info, handler)
}
-func _VolthaService_CreateAlarmFilter_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(AlarmFilter)
+func _VolthaService_CreateEventFilter_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(EventFilter)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
- return srv.(VolthaServiceServer).CreateAlarmFilter(ctx, in)
+ return srv.(VolthaServiceServer).CreateEventFilter(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/voltha.VolthaService/CreateAlarmFilter",
+ FullMethod: "/voltha.VolthaService/CreateEventFilter",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(VolthaServiceServer).CreateAlarmFilter(ctx, req.(*AlarmFilter))
+ return srv.(VolthaServiceServer).CreateEventFilter(ctx, req.(*EventFilter))
}
return interceptor(ctx, in, info, handler)
}
-func _VolthaService_GetAlarmFilter_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+func _VolthaService_GetEventFilter_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(common.ID)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
- return srv.(VolthaServiceServer).GetAlarmFilter(ctx, in)
+ return srv.(VolthaServiceServer).GetEventFilter(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/voltha.VolthaService/GetAlarmFilter",
+ FullMethod: "/voltha.VolthaService/GetEventFilter",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(VolthaServiceServer).GetAlarmFilter(ctx, req.(*common.ID))
+ return srv.(VolthaServiceServer).GetEventFilter(ctx, req.(*common.ID))
}
return interceptor(ctx, in, info, handler)
}
-func _VolthaService_UpdateAlarmFilter_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(AlarmFilter)
+func _VolthaService_UpdateEventFilter_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(EventFilter)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
- return srv.(VolthaServiceServer).UpdateAlarmFilter(ctx, in)
+ return srv.(VolthaServiceServer).UpdateEventFilter(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/voltha.VolthaService/UpdateAlarmFilter",
+ FullMethod: "/voltha.VolthaService/UpdateEventFilter",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(VolthaServiceServer).UpdateAlarmFilter(ctx, req.(*AlarmFilter))
+ return srv.(VolthaServiceServer).UpdateEventFilter(ctx, req.(*EventFilter))
}
return interceptor(ctx, in, info, handler)
}
-func _VolthaService_DeleteAlarmFilter_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(common.ID)
+func _VolthaService_DeleteEventFilter_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(EventFilter)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
- return srv.(VolthaServiceServer).DeleteAlarmFilter(ctx, in)
+ return srv.(VolthaServiceServer).DeleteEventFilter(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/voltha.VolthaService/DeleteAlarmFilter",
+ FullMethod: "/voltha.VolthaService/DeleteEventFilter",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(VolthaServiceServer).DeleteAlarmFilter(ctx, req.(*common.ID))
+ return srv.(VolthaServiceServer).DeleteEventFilter(ctx, req.(*EventFilter))
}
return interceptor(ctx, in, info, handler)
}
-func _VolthaService_ListAlarmFilters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+func _VolthaService_ListEventFilters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(empty.Empty)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
- return srv.(VolthaServiceServer).ListAlarmFilters(ctx, in)
+ return srv.(VolthaServiceServer).ListEventFilters(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/voltha.VolthaService/ListAlarmFilters",
+ FullMethod: "/voltha.VolthaService/ListEventFilters",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(VolthaServiceServer).ListAlarmFilters(ctx, req.(*empty.Empty))
+ return srv.(VolthaServiceServer).ListEventFilters(ctx, req.(*empty.Empty))
}
return interceptor(ctx, in, info, handler)
}
@@ -4294,24 +4325,24 @@
Handler: _VolthaService_GetDeviceGroup_Handler,
},
{
- MethodName: "CreateAlarmFilter",
- Handler: _VolthaService_CreateAlarmFilter_Handler,
+ MethodName: "CreateEventFilter",
+ Handler: _VolthaService_CreateEventFilter_Handler,
},
{
- MethodName: "GetAlarmFilter",
- Handler: _VolthaService_GetAlarmFilter_Handler,
+ MethodName: "GetEventFilter",
+ Handler: _VolthaService_GetEventFilter_Handler,
},
{
- MethodName: "UpdateAlarmFilter",
- Handler: _VolthaService_UpdateAlarmFilter_Handler,
+ MethodName: "UpdateEventFilter",
+ Handler: _VolthaService_UpdateEventFilter_Handler,
},
{
- MethodName: "DeleteAlarmFilter",
- Handler: _VolthaService_DeleteAlarmFilter_Handler,
+ MethodName: "DeleteEventFilter",
+ Handler: _VolthaService_DeleteEventFilter_Handler,
},
{
- MethodName: "ListAlarmFilters",
- Handler: _VolthaService_ListAlarmFilters_Handler,
+ MethodName: "ListEventFilters",
+ Handler: _VolthaService_ListEventFilters_Handler,
},
{
MethodName: "GetImages",