VOL-1460 Implemented a new approach to protos where go stubs are not committed to the repo.
There are new instructions for clients consuming these protos in Go.
Also removed vendor directory and dep, as it isn't really needed at this point.
Implemented a test to check if protos match up with go files. This is run with make test.
This works by generating them and checking this created any more untracked or unstaged changes.
It requires you to commit your changes locally to pass. This process to should be run by
jenkins to validate a commit. A consistent version of protoc must be used, which the Makefile checks for.
Change-Id: I8de28c515a9535e33909cbbd158fa046f96f3b1f
diff --git a/go/voltha/ponsim.pb.go b/go/voltha/ponsim.pb.go
index 2fac739..c063668 100644
--- a/go/voltha/ponsim.pb.go
+++ b/go/voltha/ponsim.pb.go
@@ -1,17 +1,18 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: voltha_protos/ponsim.proto
-package voltha // import "github.com/opencord/voltha-protos/go/voltha"
-
-import proto "github.com/golang/protobuf/proto"
-import fmt "fmt"
-import math "math"
-import empty "github.com/golang/protobuf/ptypes/empty"
-import openflow_13 "github.com/opencord/voltha-protos/go/openflow_13"
+package voltha
import (
- context "golang.org/x/net/context"
+ context "context"
+ fmt "fmt"
+ proto "github.com/golang/protobuf/proto"
+ empty "github.com/golang/protobuf/ptypes/empty"
+ openflow_13 "github.com/opencord/voltha-protos/go/openflow_13"
grpc "google.golang.org/grpc"
+ codes "google.golang.org/grpc/codes"
+ status "google.golang.org/grpc/status"
+ math "math"
)
// Reference imports to suppress errors if they are not otherwise used.
@@ -23,7 +24,7 @@
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
-const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
type PonSimOnuDeviceInfo struct {
UniPort int32 `protobuf:"varint,1,opt,name=uni_port,json=uniPort,proto3" json:"uni_port,omitempty"`
@@ -37,16 +38,17 @@
func (m *PonSimOnuDeviceInfo) String() string { return proto.CompactTextString(m) }
func (*PonSimOnuDeviceInfo) ProtoMessage() {}
func (*PonSimOnuDeviceInfo) Descriptor() ([]byte, []int) {
- return fileDescriptor_ponsim_bb56e7457209b09b, []int{0}
+ return fileDescriptor_352253851b8ea7c0, []int{0}
}
+
func (m *PonSimOnuDeviceInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PonSimOnuDeviceInfo.Unmarshal(m, b)
}
func (m *PonSimOnuDeviceInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PonSimOnuDeviceInfo.Marshal(b, m, deterministic)
}
-func (dst *PonSimOnuDeviceInfo) XXX_Merge(src proto.Message) {
- xxx_messageInfo_PonSimOnuDeviceInfo.Merge(dst, src)
+func (m *PonSimOnuDeviceInfo) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_PonSimOnuDeviceInfo.Merge(m, src)
}
func (m *PonSimOnuDeviceInfo) XXX_Size() int {
return xxx_messageInfo_PonSimOnuDeviceInfo.Size(m)
@@ -83,16 +85,17 @@
func (m *PonSimDeviceInfo) String() string { return proto.CompactTextString(m) }
func (*PonSimDeviceInfo) ProtoMessage() {}
func (*PonSimDeviceInfo) Descriptor() ([]byte, []int) {
- return fileDescriptor_ponsim_bb56e7457209b09b, []int{1}
+ return fileDescriptor_352253851b8ea7c0, []int{1}
}
+
func (m *PonSimDeviceInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PonSimDeviceInfo.Unmarshal(m, b)
}
func (m *PonSimDeviceInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PonSimDeviceInfo.Marshal(b, m, deterministic)
}
-func (dst *PonSimDeviceInfo) XXX_Merge(src proto.Message) {
- xxx_messageInfo_PonSimDeviceInfo.Merge(dst, src)
+func (m *PonSimDeviceInfo) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_PonSimDeviceInfo.Merge(m, src)
}
func (m *PonSimDeviceInfo) XXX_Size() int {
return xxx_messageInfo_PonSimDeviceInfo.Size(m)
@@ -129,16 +132,17 @@
func (m *FlowTable) String() string { return proto.CompactTextString(m) }
func (*FlowTable) ProtoMessage() {}
func (*FlowTable) Descriptor() ([]byte, []int) {
- return fileDescriptor_ponsim_bb56e7457209b09b, []int{2}
+ return fileDescriptor_352253851b8ea7c0, []int{2}
}
+
func (m *FlowTable) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FlowTable.Unmarshal(m, b)
}
func (m *FlowTable) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_FlowTable.Marshal(b, m, deterministic)
}
-func (dst *FlowTable) XXX_Merge(src proto.Message) {
- xxx_messageInfo_FlowTable.Merge(dst, src)
+func (m *FlowTable) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_FlowTable.Merge(m, src)
}
func (m *FlowTable) XXX_Size() int {
return xxx_messageInfo_FlowTable.Size(m)
@@ -176,16 +180,17 @@
func (m *PonSimFrame) String() string { return proto.CompactTextString(m) }
func (*PonSimFrame) ProtoMessage() {}
func (*PonSimFrame) Descriptor() ([]byte, []int) {
- return fileDescriptor_ponsim_bb56e7457209b09b, []int{3}
+ return fileDescriptor_352253851b8ea7c0, []int{3}
}
+
func (m *PonSimFrame) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PonSimFrame.Unmarshal(m, b)
}
func (m *PonSimFrame) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PonSimFrame.Marshal(b, m, deterministic)
}
-func (dst *PonSimFrame) XXX_Merge(src proto.Message) {
- xxx_messageInfo_PonSimFrame.Merge(dst, src)
+func (m *PonSimFrame) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_PonSimFrame.Merge(m, src)
}
func (m *PonSimFrame) XXX_Size() int {
return xxx_messageInfo_PonSimFrame.Size(m)
@@ -229,16 +234,17 @@
func (m *PonSimPacketCounter) String() string { return proto.CompactTextString(m) }
func (*PonSimPacketCounter) ProtoMessage() {}
func (*PonSimPacketCounter) Descriptor() ([]byte, []int) {
- return fileDescriptor_ponsim_bb56e7457209b09b, []int{4}
+ return fileDescriptor_352253851b8ea7c0, []int{4}
}
+
func (m *PonSimPacketCounter) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PonSimPacketCounter.Unmarshal(m, b)
}
func (m *PonSimPacketCounter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PonSimPacketCounter.Marshal(b, m, deterministic)
}
-func (dst *PonSimPacketCounter) XXX_Merge(src proto.Message) {
- xxx_messageInfo_PonSimPacketCounter.Merge(dst, src)
+func (m *PonSimPacketCounter) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_PonSimPacketCounter.Merge(m, src)
}
func (m *PonSimPacketCounter) XXX_Size() int {
return xxx_messageInfo_PonSimPacketCounter.Size(m)
@@ -275,16 +281,17 @@
func (m *PonSimPortMetrics) String() string { return proto.CompactTextString(m) }
func (*PonSimPortMetrics) ProtoMessage() {}
func (*PonSimPortMetrics) Descriptor() ([]byte, []int) {
- return fileDescriptor_ponsim_bb56e7457209b09b, []int{5}
+ return fileDescriptor_352253851b8ea7c0, []int{5}
}
+
func (m *PonSimPortMetrics) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PonSimPortMetrics.Unmarshal(m, b)
}
func (m *PonSimPortMetrics) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PonSimPortMetrics.Marshal(b, m, deterministic)
}
-func (dst *PonSimPortMetrics) XXX_Merge(src proto.Message) {
- xxx_messageInfo_PonSimPortMetrics.Merge(dst, src)
+func (m *PonSimPortMetrics) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_PonSimPortMetrics.Merge(m, src)
}
func (m *PonSimPortMetrics) XXX_Size() int {
return xxx_messageInfo_PonSimPortMetrics.Size(m)
@@ -321,16 +328,17 @@
func (m *PonSimMetrics) String() string { return proto.CompactTextString(m) }
func (*PonSimMetrics) ProtoMessage() {}
func (*PonSimMetrics) Descriptor() ([]byte, []int) {
- return fileDescriptor_ponsim_bb56e7457209b09b, []int{6}
+ return fileDescriptor_352253851b8ea7c0, []int{6}
}
+
func (m *PonSimMetrics) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PonSimMetrics.Unmarshal(m, b)
}
func (m *PonSimMetrics) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PonSimMetrics.Marshal(b, m, deterministic)
}
-func (dst *PonSimMetrics) XXX_Merge(src proto.Message) {
- xxx_messageInfo_PonSimMetrics.Merge(dst, src)
+func (m *PonSimMetrics) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_PonSimMetrics.Merge(m, src)
}
func (m *PonSimMetrics) XXX_Size() int {
return xxx_messageInfo_PonSimMetrics.Size(m)
@@ -366,16 +374,17 @@
func (m *PonSimMetricsRequest) String() string { return proto.CompactTextString(m) }
func (*PonSimMetricsRequest) ProtoMessage() {}
func (*PonSimMetricsRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_ponsim_bb56e7457209b09b, []int{7}
+ return fileDescriptor_352253851b8ea7c0, []int{7}
}
+
func (m *PonSimMetricsRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PonSimMetricsRequest.Unmarshal(m, b)
}
func (m *PonSimMetricsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PonSimMetricsRequest.Marshal(b, m, deterministic)
}
-func (dst *PonSimMetricsRequest) XXX_Merge(src proto.Message) {
- xxx_messageInfo_PonSimMetricsRequest.Merge(dst, src)
+func (m *PonSimMetricsRequest) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_PonSimMetricsRequest.Merge(m, src)
}
func (m *PonSimMetricsRequest) XXX_Size() int {
return xxx_messageInfo_PonSimMetricsRequest.Size(m)
@@ -404,6 +413,47 @@
proto.RegisterType((*PonSimMetricsRequest)(nil), "voltha.PonSimMetricsRequest")
}
+func init() { proto.RegisterFile("voltha_protos/ponsim.proto", fileDescriptor_352253851b8ea7c0) }
+
+var fileDescriptor_352253851b8ea7c0 = []byte{
+ // 555 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x94, 0x41, 0x6f, 0xd3, 0x4e,
+ 0x10, 0xc5, 0x93, 0xb4, 0x4d, 0x9b, 0x69, 0xf3, 0xff, 0xd3, 0x6d, 0xa9, 0xd2, 0xf4, 0x40, 0xb4,
+ 0x5c, 0x22, 0x50, 0x1d, 0xda, 0x88, 0x0b, 0x48, 0x80, 0x28, 0xb4, 0xe2, 0x40, 0x89, 0x36, 0xf4,
+ 0x82, 0x10, 0x96, 0x63, 0x4f, 0x52, 0x0b, 0x7b, 0xc7, 0xd8, 0xbb, 0xa9, 0xfa, 0x0d, 0xf9, 0x58,
+ 0xc8, 0xbb, 0x36, 0x89, 0xab, 0x84, 0xdb, 0xee, 0xf8, 0xe5, 0xf7, 0xe6, 0x8d, 0x27, 0x86, 0xee,
+ 0x9c, 0x22, 0x75, 0xeb, 0xb9, 0x49, 0x4a, 0x8a, 0xb2, 0x41, 0x42, 0x32, 0x0b, 0x63, 0xc7, 0xdc,
+ 0x58, 0xd3, 0x3e, 0xeb, 0x9e, 0xcc, 0x88, 0x66, 0x11, 0x0e, 0x4c, 0x75, 0xa2, 0xa7, 0x03, 0x8c,
+ 0x13, 0x75, 0x6f, 0x45, 0xdd, 0x27, 0x55, 0x00, 0x25, 0x28, 0xa7, 0x11, 0xdd, 0xb9, 0x67, 0x43,
+ 0x2b, 0xe0, 0x37, 0x70, 0x30, 0x22, 0x39, 0x0e, 0xe3, 0x2f, 0x52, 0x7f, 0xc0, 0x79, 0xe8, 0xe3,
+ 0x27, 0x39, 0x25, 0x76, 0x0c, 0x3b, 0x5a, 0x86, 0x6e, 0x42, 0xa9, 0xea, 0xd4, 0x7b, 0xf5, 0xfe,
+ 0x96, 0xd8, 0xd6, 0x32, 0x1c, 0x51, 0xaa, 0xd8, 0x53, 0x68, 0x67, 0x98, 0x86, 0x5e, 0xe4, 0x4a,
+ 0x1d, 0x4f, 0x30, 0xed, 0x34, 0x7a, 0xf5, 0x7e, 0x4b, 0xec, 0xd9, 0xe2, 0xb5, 0xa9, 0xf1, 0x1f,
+ 0xf0, 0xc8, 0x62, 0xab, 0x4c, 0xf9, 0x80, 0x29, 0x0b, 0xe6, 0x00, 0x36, 0x49, 0xea, 0xac, 0xd3,
+ 0xe8, 0x6d, 0xf4, 0x77, 0xcf, 0x4f, 0x1c, 0xdb, 0xb5, 0xb3, 0xa2, 0x33, 0x61, 0x84, 0x5c, 0x40,
+ 0xeb, 0x32, 0xa2, 0xbb, 0xaf, 0xde, 0x24, 0x42, 0xc6, 0x60, 0x73, 0x09, 0x6a, 0xce, 0xec, 0x0c,
+ 0xb6, 0xf2, 0xa0, 0x0b, 0xe4, 0x72, 0x74, 0x9a, 0x26, 0xae, 0x39, 0x67, 0xca, 0x53, 0x99, 0xb0,
+ 0x4a, 0x2e, 0x60, 0xd7, 0x1a, 0x5e, 0xa6, 0x5e, 0x8c, 0xec, 0x3f, 0x68, 0x84, 0x81, 0x61, 0xb6,
+ 0x44, 0x23, 0x0c, 0x58, 0x07, 0xb6, 0x13, 0xef, 0x3e, 0x22, 0x2f, 0x30, 0x89, 0xf7, 0x44, 0x79,
+ 0xcd, 0x83, 0x91, 0x56, 0x36, 0xd8, 0x86, 0x0d, 0x46, 0x5a, 0xe5, 0xc1, 0xf8, 0xdb, 0x72, 0xbc,
+ 0x23, 0xcf, 0xff, 0x89, 0xea, 0x82, 0xb4, 0x54, 0x98, 0xe6, 0x1d, 0x4b, 0x2f, 0xc6, 0x82, 0x6e,
+ 0xce, 0xec, 0x10, 0xb6, 0xe6, 0x5e, 0xa4, 0xd1, 0xd0, 0x37, 0x84, 0xbd, 0xf0, 0x19, 0xec, 0x17,
+ 0x00, 0x4a, 0xd5, 0x67, 0x54, 0x69, 0xe8, 0x67, 0xec, 0x04, 0x5a, 0xb9, 0x99, 0xbb, 0xc4, 0xd8,
+ 0xc9, 0x0b, 0xd7, 0x39, 0xe7, 0x65, 0xde, 0x67, 0x6e, 0xb6, 0x66, 0x9c, 0x95, 0x4e, 0x44, 0xa9,
+ 0xe5, 0xdf, 0xa1, 0x6d, 0x9f, 0x97, 0x26, 0x47, 0xd0, 0x0c, 0xcc, 0xd8, 0x0b, 0x87, 0xe2, 0xc6,
+ 0x86, 0xb0, 0x1d, 0x5b, 0x49, 0xc1, 0x3f, 0x7e, 0xc0, 0x5f, 0x34, 0x2a, 0x4a, 0x25, 0x7f, 0x06,
+ 0x87, 0x15, 0xba, 0xc0, 0x5f, 0x1a, 0x33, 0xb5, 0xea, 0xd5, 0x9d, 0xff, 0x6e, 0x40, 0xd3, 0x8a,
+ 0xd9, 0x2b, 0x68, 0x8d, 0x51, 0x06, 0xf6, 0x85, 0x1c, 0x54, 0x7d, 0x4c, 0xb1, 0x7b, 0xe4, 0xd8,
+ 0xf5, 0x77, 0xca, 0xf5, 0x77, 0x3e, 0xe6, 0xeb, 0xcf, 0x6b, 0xec, 0x1d, 0xb4, 0x05, 0xfa, 0x18,
+ 0xce, 0xd1, 0x28, 0x33, 0xb6, 0x46, 0xda, 0x5d, 0xc5, 0xe5, 0xb5, 0x17, 0x75, 0x76, 0x01, 0xed,
+ 0x2b, 0x54, 0x4b, 0x1b, 0xbc, 0x8e, 0xd0, 0xa9, 0x12, 0x16, 0xbf, 0xe0, 0x35, 0xf6, 0x06, 0xfe,
+ 0xbf, 0x49, 0x02, 0x4f, 0xe1, 0x62, 0x5f, 0xf7, 0x4b, 0xf9, 0xdf, 0xd2, 0x3f, 0x62, 0xbc, 0x86,
+ 0x9d, 0x2b, 0x54, 0xe3, 0x7c, 0x51, 0xd7, 0xfa, 0x3f, 0xae, 0xfa, 0x17, 0x33, 0xe6, 0xb5, 0xf7,
+ 0xa7, 0xdf, 0x9e, 0xcf, 0x42, 0x75, 0xab, 0x27, 0x8e, 0x4f, 0xb1, 0xf9, 0xf7, 0xfb, 0x94, 0x06,
+ 0x03, 0xab, 0x3e, 0x2d, 0x3e, 0x0a, 0x33, 0x2a, 0x0a, 0x93, 0xa6, 0xa9, 0x0c, 0xff, 0x04, 0x00,
+ 0x00, 0xff, 0xff, 0x62, 0xcb, 0x74, 0xbe, 0x77, 0x04, 0x00, 0x00,
+}
+
// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConn
@@ -508,6 +558,26 @@
GetStats(context.Context, *empty.Empty) (*PonSimMetrics, error)
}
+// UnimplementedPonSimServer can be embedded to have forward compatible implementations.
+type UnimplementedPonSimServer struct {
+}
+
+func (*UnimplementedPonSimServer) SendFrame(ctx context.Context, req *PonSimFrame) (*empty.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method SendFrame not implemented")
+}
+func (*UnimplementedPonSimServer) ReceiveFrames(req *empty.Empty, srv PonSim_ReceiveFramesServer) error {
+ return status.Errorf(codes.Unimplemented, "method ReceiveFrames not implemented")
+}
+func (*UnimplementedPonSimServer) GetDeviceInfo(ctx context.Context, req *empty.Empty) (*PonSimDeviceInfo, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method GetDeviceInfo not implemented")
+}
+func (*UnimplementedPonSimServer) UpdateFlowTable(ctx context.Context, req *FlowTable) (*empty.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method UpdateFlowTable not implemented")
+}
+func (*UnimplementedPonSimServer) GetStats(ctx context.Context, req *empty.Empty) (*PonSimMetrics, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method GetStats not implemented")
+}
+
func RegisterPonSimServer(s *grpc.Server, srv PonSimServer) {
s.RegisterService(&_PonSim_serviceDesc, srv)
}
@@ -635,44 +705,3 @@
},
Metadata: "voltha_protos/ponsim.proto",
}
-
-func init() { proto.RegisterFile("voltha_protos/ponsim.proto", fileDescriptor_ponsim_bb56e7457209b09b) }
-
-var fileDescriptor_ponsim_bb56e7457209b09b = []byte{
- // 555 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x94, 0x41, 0x6f, 0xd3, 0x4e,
- 0x10, 0xc5, 0x93, 0xb4, 0x4d, 0x9b, 0x69, 0xf3, 0xff, 0xd3, 0x6d, 0xa9, 0xd2, 0xf4, 0x40, 0xb4,
- 0x5c, 0x22, 0x50, 0x1d, 0xda, 0x88, 0x0b, 0x48, 0x80, 0x28, 0xb4, 0xe2, 0x40, 0x89, 0x36, 0xf4,
- 0x82, 0x10, 0x96, 0x63, 0x4f, 0x52, 0x0b, 0x7b, 0xc7, 0xd8, 0xbb, 0xa9, 0xfa, 0x0d, 0xf9, 0x58,
- 0xc8, 0xbb, 0x36, 0x89, 0xab, 0x84, 0xdb, 0xee, 0xf8, 0xe5, 0xf7, 0xe6, 0x8d, 0x27, 0x86, 0xee,
- 0x9c, 0x22, 0x75, 0xeb, 0xb9, 0x49, 0x4a, 0x8a, 0xb2, 0x41, 0x42, 0x32, 0x0b, 0x63, 0xc7, 0xdc,
- 0x58, 0xd3, 0x3e, 0xeb, 0x9e, 0xcc, 0x88, 0x66, 0x11, 0x0e, 0x4c, 0x75, 0xa2, 0xa7, 0x03, 0x8c,
- 0x13, 0x75, 0x6f, 0x45, 0xdd, 0x27, 0x55, 0x00, 0x25, 0x28, 0xa7, 0x11, 0xdd, 0xb9, 0x67, 0x43,
- 0x2b, 0xe0, 0x37, 0x70, 0x30, 0x22, 0x39, 0x0e, 0xe3, 0x2f, 0x52, 0x7f, 0xc0, 0x79, 0xe8, 0xe3,
- 0x27, 0x39, 0x25, 0x76, 0x0c, 0x3b, 0x5a, 0x86, 0x6e, 0x42, 0xa9, 0xea, 0xd4, 0x7b, 0xf5, 0xfe,
- 0x96, 0xd8, 0xd6, 0x32, 0x1c, 0x51, 0xaa, 0xd8, 0x53, 0x68, 0x67, 0x98, 0x86, 0x5e, 0xe4, 0x4a,
- 0x1d, 0x4f, 0x30, 0xed, 0x34, 0x7a, 0xf5, 0x7e, 0x4b, 0xec, 0xd9, 0xe2, 0xb5, 0xa9, 0xf1, 0x1f,
- 0xf0, 0xc8, 0x62, 0xab, 0x4c, 0xf9, 0x80, 0x29, 0x0b, 0xe6, 0x00, 0x36, 0x49, 0xea, 0xac, 0xd3,
- 0xe8, 0x6d, 0xf4, 0x77, 0xcf, 0x4f, 0x1c, 0xdb, 0xb5, 0xb3, 0xa2, 0x33, 0x61, 0x84, 0x5c, 0x40,
- 0xeb, 0x32, 0xa2, 0xbb, 0xaf, 0xde, 0x24, 0x42, 0xc6, 0x60, 0x73, 0x09, 0x6a, 0xce, 0xec, 0x0c,
- 0xb6, 0xf2, 0xa0, 0x0b, 0xe4, 0x72, 0x74, 0x9a, 0x26, 0xae, 0x39, 0x67, 0xca, 0x53, 0x99, 0xb0,
- 0x4a, 0x2e, 0x60, 0xd7, 0x1a, 0x5e, 0xa6, 0x5e, 0x8c, 0xec, 0x3f, 0x68, 0x84, 0x81, 0x61, 0xb6,
- 0x44, 0x23, 0x0c, 0x58, 0x07, 0xb6, 0x13, 0xef, 0x3e, 0x22, 0x2f, 0x30, 0x89, 0xf7, 0x44, 0x79,
- 0xcd, 0x83, 0x91, 0x56, 0x36, 0xd8, 0x86, 0x0d, 0x46, 0x5a, 0xe5, 0xc1, 0xf8, 0xdb, 0x72, 0xbc,
- 0x23, 0xcf, 0xff, 0x89, 0xea, 0x82, 0xb4, 0x54, 0x98, 0xe6, 0x1d, 0x4b, 0x2f, 0xc6, 0x82, 0x6e,
- 0xce, 0xec, 0x10, 0xb6, 0xe6, 0x5e, 0xa4, 0xd1, 0xd0, 0x37, 0x84, 0xbd, 0xf0, 0x19, 0xec, 0x17,
- 0x00, 0x4a, 0xd5, 0x67, 0x54, 0x69, 0xe8, 0x67, 0xec, 0x04, 0x5a, 0xb9, 0x99, 0xbb, 0xc4, 0xd8,
- 0xc9, 0x0b, 0xd7, 0x39, 0xe7, 0x65, 0xde, 0x67, 0x6e, 0xb6, 0x66, 0x9c, 0x95, 0x4e, 0x44, 0xa9,
- 0xe5, 0xdf, 0xa1, 0x6d, 0x9f, 0x97, 0x26, 0x47, 0xd0, 0x0c, 0xcc, 0xd8, 0x0b, 0x87, 0xe2, 0xc6,
- 0x86, 0xb0, 0x1d, 0x5b, 0x49, 0xc1, 0x3f, 0x7e, 0xc0, 0x5f, 0x34, 0x2a, 0x4a, 0x25, 0x7f, 0x06,
- 0x87, 0x15, 0xba, 0xc0, 0x5f, 0x1a, 0x33, 0xb5, 0xea, 0xd5, 0x9d, 0xff, 0x6e, 0x40, 0xd3, 0x8a,
- 0xd9, 0x2b, 0x68, 0x8d, 0x51, 0x06, 0xf6, 0x85, 0x1c, 0x54, 0x7d, 0x4c, 0xb1, 0x7b, 0xe4, 0xd8,
- 0xf5, 0x77, 0xca, 0xf5, 0x77, 0x3e, 0xe6, 0xeb, 0xcf, 0x6b, 0xec, 0x1d, 0xb4, 0x05, 0xfa, 0x18,
- 0xce, 0xd1, 0x28, 0x33, 0xb6, 0x46, 0xda, 0x5d, 0xc5, 0xe5, 0xb5, 0x17, 0x75, 0x76, 0x01, 0xed,
- 0x2b, 0x54, 0x4b, 0x1b, 0xbc, 0x8e, 0xd0, 0xa9, 0x12, 0x16, 0xbf, 0xe0, 0x35, 0xf6, 0x06, 0xfe,
- 0xbf, 0x49, 0x02, 0x4f, 0xe1, 0x62, 0x5f, 0xf7, 0x4b, 0xf9, 0xdf, 0xd2, 0x3f, 0x62, 0xbc, 0x86,
- 0x9d, 0x2b, 0x54, 0xe3, 0x7c, 0x51, 0xd7, 0xfa, 0x3f, 0xae, 0xfa, 0x17, 0x33, 0xe6, 0xb5, 0xf7,
- 0xa7, 0xdf, 0x9e, 0xcf, 0x42, 0x75, 0xab, 0x27, 0x8e, 0x4f, 0xb1, 0xf9, 0xf7, 0xfb, 0x94, 0x06,
- 0x03, 0xab, 0x3e, 0x2d, 0x3e, 0x0a, 0x33, 0x2a, 0x0a, 0x93, 0xa6, 0xa9, 0x0c, 0xff, 0x04, 0x00,
- 0x00, 0xff, 0xff, 0x62, 0xcb, 0x74, 0xbe, 0x77, 0x04, 0x00, 0x00,
-}