mirror of
https://github.com/aquasecurity/trivy.git
synced 2025-12-12 07:40:48 -08:00
* refactor(docker_conf): rename and remove unnecessary options * feat(rpc): define new API * fix(cli): change default timeout * fix(import): fix package names * refactor(vulnerability): remove old mock * refactor(utils): remove un-needed functions * feat(cache): implement cache communicating with a server * refactor(scan): separate scan function as local scanner * test(scanner): add tests for ScanImage * refactor(scan): remove unused options * test(vulnerability): generate mock * refactor(server): split a file * feat(server): implement new RPC server * feat(client): implement new RPC client * fix(cache): use new cache interface * fix(standalone): use new scanner * fix(client): use new scanner * fix(server): pass cache * test(integration): make sure an error is not nil before calling the method * fix(mod): update dependencies * test(integration): ensure the image load finishes * feat(docker): support DOCKER_HOST and DOCKER_CERT_PATH * chore(mod): update dependencies * refactor(rpc): remove old client * feat(server): support old API for backward compatibility * fix(server): check a schema version of JSON cache * fix(rpc): add a version to packages * feat(rpc): add PutImage * test: rename expectations * refactor(cache): rename LayerCache to ImageCache * refactor: rename ImageInfo to ImageReference * fix(applier): pass image_id to ApplyLayer * feat(cache): handle image cache * chore(mod): update dependencies * refactor(server): pass only config * feat(cli): add -removed-pkgs option * refactor(err): wrap errors
504 lines
16 KiB
Go
504 lines
16 KiB
Go
// Code generated by protoc-gen-go. DO NOT EDIT.
|
|
// source: rpc/common/service.proto
|
|
|
|
package common
|
|
|
|
import (
|
|
fmt "fmt"
|
|
proto "github.com/golang/protobuf/proto"
|
|
math "math"
|
|
)
|
|
|
|
// Reference imports to suppress errors if they are not otherwise used.
|
|
var _ = proto.Marshal
|
|
var _ = fmt.Errorf
|
|
var _ = math.Inf
|
|
|
|
// This is a compile-time assertion to ensure that this generated file
|
|
// is compatible with the proto package it is being compiled against.
|
|
// A compilation error at this line likely means your copy of the
|
|
// proto package needs to be updated.
|
|
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
|
|
|
|
type Severity int32
|
|
|
|
const (
|
|
Severity_UNKNOWN Severity = 0
|
|
Severity_LOW Severity = 1
|
|
Severity_MEDIUM Severity = 2
|
|
Severity_HIGH Severity = 3
|
|
Severity_CRITICAL Severity = 4
|
|
)
|
|
|
|
var Severity_name = map[int32]string{
|
|
0: "UNKNOWN",
|
|
1: "LOW",
|
|
2: "MEDIUM",
|
|
3: "HIGH",
|
|
4: "CRITICAL",
|
|
}
|
|
|
|
var Severity_value = map[string]int32{
|
|
"UNKNOWN": 0,
|
|
"LOW": 1,
|
|
"MEDIUM": 2,
|
|
"HIGH": 3,
|
|
"CRITICAL": 4,
|
|
}
|
|
|
|
func (x Severity) String() string {
|
|
return proto.EnumName(Severity_name, int32(x))
|
|
}
|
|
|
|
func (Severity) EnumDescriptor() ([]byte, []int) {
|
|
return fileDescriptor_6e749acacaaabfff, []int{0}
|
|
}
|
|
|
|
type OS struct {
|
|
Family string `protobuf:"bytes,1,opt,name=family,proto3" json:"family,omitempty"`
|
|
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
|
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
|
XXX_unrecognized []byte `json:"-"`
|
|
XXX_sizecache int32 `json:"-"`
|
|
}
|
|
|
|
func (m *OS) Reset() { *m = OS{} }
|
|
func (m *OS) String() string { return proto.CompactTextString(m) }
|
|
func (*OS) ProtoMessage() {}
|
|
func (*OS) Descriptor() ([]byte, []int) {
|
|
return fileDescriptor_6e749acacaaabfff, []int{0}
|
|
}
|
|
|
|
func (m *OS) XXX_Unmarshal(b []byte) error {
|
|
return xxx_messageInfo_OS.Unmarshal(m, b)
|
|
}
|
|
func (m *OS) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
|
return xxx_messageInfo_OS.Marshal(b, m, deterministic)
|
|
}
|
|
func (m *OS) XXX_Merge(src proto.Message) {
|
|
xxx_messageInfo_OS.Merge(m, src)
|
|
}
|
|
func (m *OS) XXX_Size() int {
|
|
return xxx_messageInfo_OS.Size(m)
|
|
}
|
|
func (m *OS) XXX_DiscardUnknown() {
|
|
xxx_messageInfo_OS.DiscardUnknown(m)
|
|
}
|
|
|
|
var xxx_messageInfo_OS proto.InternalMessageInfo
|
|
|
|
func (m *OS) GetFamily() string {
|
|
if m != nil {
|
|
return m.Family
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m *OS) GetName() string {
|
|
if m != nil {
|
|
return m.Name
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type PackageInfo struct {
|
|
FilePath string `protobuf:"bytes,1,opt,name=file_path,json=filePath,proto3" json:"file_path,omitempty"`
|
|
Packages []*Package `protobuf:"bytes,2,rep,name=packages,proto3" json:"packages,omitempty"`
|
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
|
XXX_unrecognized []byte `json:"-"`
|
|
XXX_sizecache int32 `json:"-"`
|
|
}
|
|
|
|
func (m *PackageInfo) Reset() { *m = PackageInfo{} }
|
|
func (m *PackageInfo) String() string { return proto.CompactTextString(m) }
|
|
func (*PackageInfo) ProtoMessage() {}
|
|
func (*PackageInfo) Descriptor() ([]byte, []int) {
|
|
return fileDescriptor_6e749acacaaabfff, []int{1}
|
|
}
|
|
|
|
func (m *PackageInfo) XXX_Unmarshal(b []byte) error {
|
|
return xxx_messageInfo_PackageInfo.Unmarshal(m, b)
|
|
}
|
|
func (m *PackageInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
|
return xxx_messageInfo_PackageInfo.Marshal(b, m, deterministic)
|
|
}
|
|
func (m *PackageInfo) XXX_Merge(src proto.Message) {
|
|
xxx_messageInfo_PackageInfo.Merge(m, src)
|
|
}
|
|
func (m *PackageInfo) XXX_Size() int {
|
|
return xxx_messageInfo_PackageInfo.Size(m)
|
|
}
|
|
func (m *PackageInfo) XXX_DiscardUnknown() {
|
|
xxx_messageInfo_PackageInfo.DiscardUnknown(m)
|
|
}
|
|
|
|
var xxx_messageInfo_PackageInfo proto.InternalMessageInfo
|
|
|
|
func (m *PackageInfo) GetFilePath() string {
|
|
if m != nil {
|
|
return m.FilePath
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m *PackageInfo) GetPackages() []*Package {
|
|
if m != nil {
|
|
return m.Packages
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type Application struct {
|
|
Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
|
|
FilePath string `protobuf:"bytes,2,opt,name=file_path,json=filePath,proto3" json:"file_path,omitempty"`
|
|
Libraries []*Library `protobuf:"bytes,3,rep,name=libraries,proto3" json:"libraries,omitempty"`
|
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
|
XXX_unrecognized []byte `json:"-"`
|
|
XXX_sizecache int32 `json:"-"`
|
|
}
|
|
|
|
func (m *Application) Reset() { *m = Application{} }
|
|
func (m *Application) String() string { return proto.CompactTextString(m) }
|
|
func (*Application) ProtoMessage() {}
|
|
func (*Application) Descriptor() ([]byte, []int) {
|
|
return fileDescriptor_6e749acacaaabfff, []int{2}
|
|
}
|
|
|
|
func (m *Application) XXX_Unmarshal(b []byte) error {
|
|
return xxx_messageInfo_Application.Unmarshal(m, b)
|
|
}
|
|
func (m *Application) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
|
return xxx_messageInfo_Application.Marshal(b, m, deterministic)
|
|
}
|
|
func (m *Application) XXX_Merge(src proto.Message) {
|
|
xxx_messageInfo_Application.Merge(m, src)
|
|
}
|
|
func (m *Application) XXX_Size() int {
|
|
return xxx_messageInfo_Application.Size(m)
|
|
}
|
|
func (m *Application) XXX_DiscardUnknown() {
|
|
xxx_messageInfo_Application.DiscardUnknown(m)
|
|
}
|
|
|
|
var xxx_messageInfo_Application proto.InternalMessageInfo
|
|
|
|
func (m *Application) GetType() string {
|
|
if m != nil {
|
|
return m.Type
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m *Application) GetFilePath() string {
|
|
if m != nil {
|
|
return m.FilePath
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m *Application) GetLibraries() []*Library {
|
|
if m != nil {
|
|
return m.Libraries
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type Package struct {
|
|
// binary package
|
|
// e.g. bind-utils
|
|
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
|
|
Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
|
|
Release string `protobuf:"bytes,3,opt,name=release,proto3" json:"release,omitempty"`
|
|
Epoch int32 `protobuf:"varint,4,opt,name=epoch,proto3" json:"epoch,omitempty"`
|
|
Arch string `protobuf:"bytes,5,opt,name=arch,proto3" json:"arch,omitempty"`
|
|
// src package containing some binary packages
|
|
// e.g. bind
|
|
SrcName string `protobuf:"bytes,6,opt,name=src_name,json=srcName,proto3" json:"src_name,omitempty"`
|
|
SrcVersion string `protobuf:"bytes,7,opt,name=src_version,json=srcVersion,proto3" json:"src_version,omitempty"`
|
|
SrcRelease string `protobuf:"bytes,8,opt,name=src_release,json=srcRelease,proto3" json:"src_release,omitempty"`
|
|
SrcEpoch int32 `protobuf:"varint,9,opt,name=src_epoch,json=srcEpoch,proto3" json:"src_epoch,omitempty"`
|
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
|
XXX_unrecognized []byte `json:"-"`
|
|
XXX_sizecache int32 `json:"-"`
|
|
}
|
|
|
|
func (m *Package) Reset() { *m = Package{} }
|
|
func (m *Package) String() string { return proto.CompactTextString(m) }
|
|
func (*Package) ProtoMessage() {}
|
|
func (*Package) Descriptor() ([]byte, []int) {
|
|
return fileDescriptor_6e749acacaaabfff, []int{3}
|
|
}
|
|
|
|
func (m *Package) XXX_Unmarshal(b []byte) error {
|
|
return xxx_messageInfo_Package.Unmarshal(m, b)
|
|
}
|
|
func (m *Package) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
|
return xxx_messageInfo_Package.Marshal(b, m, deterministic)
|
|
}
|
|
func (m *Package) XXX_Merge(src proto.Message) {
|
|
xxx_messageInfo_Package.Merge(m, src)
|
|
}
|
|
func (m *Package) XXX_Size() int {
|
|
return xxx_messageInfo_Package.Size(m)
|
|
}
|
|
func (m *Package) XXX_DiscardUnknown() {
|
|
xxx_messageInfo_Package.DiscardUnknown(m)
|
|
}
|
|
|
|
var xxx_messageInfo_Package proto.InternalMessageInfo
|
|
|
|
func (m *Package) GetName() string {
|
|
if m != nil {
|
|
return m.Name
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m *Package) GetVersion() string {
|
|
if m != nil {
|
|
return m.Version
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m *Package) GetRelease() string {
|
|
if m != nil {
|
|
return m.Release
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m *Package) GetEpoch() int32 {
|
|
if m != nil {
|
|
return m.Epoch
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (m *Package) GetArch() string {
|
|
if m != nil {
|
|
return m.Arch
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m *Package) GetSrcName() string {
|
|
if m != nil {
|
|
return m.SrcName
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m *Package) GetSrcVersion() string {
|
|
if m != nil {
|
|
return m.SrcVersion
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m *Package) GetSrcRelease() string {
|
|
if m != nil {
|
|
return m.SrcRelease
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m *Package) GetSrcEpoch() int32 {
|
|
if m != nil {
|
|
return m.SrcEpoch
|
|
}
|
|
return 0
|
|
}
|
|
|
|
type Library struct {
|
|
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
|
|
Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
|
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
|
XXX_unrecognized []byte `json:"-"`
|
|
XXX_sizecache int32 `json:"-"`
|
|
}
|
|
|
|
func (m *Library) Reset() { *m = Library{} }
|
|
func (m *Library) String() string { return proto.CompactTextString(m) }
|
|
func (*Library) ProtoMessage() {}
|
|
func (*Library) Descriptor() ([]byte, []int) {
|
|
return fileDescriptor_6e749acacaaabfff, []int{4}
|
|
}
|
|
|
|
func (m *Library) XXX_Unmarshal(b []byte) error {
|
|
return xxx_messageInfo_Library.Unmarshal(m, b)
|
|
}
|
|
func (m *Library) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
|
return xxx_messageInfo_Library.Marshal(b, m, deterministic)
|
|
}
|
|
func (m *Library) XXX_Merge(src proto.Message) {
|
|
xxx_messageInfo_Library.Merge(m, src)
|
|
}
|
|
func (m *Library) XXX_Size() int {
|
|
return xxx_messageInfo_Library.Size(m)
|
|
}
|
|
func (m *Library) XXX_DiscardUnknown() {
|
|
xxx_messageInfo_Library.DiscardUnknown(m)
|
|
}
|
|
|
|
var xxx_messageInfo_Library proto.InternalMessageInfo
|
|
|
|
func (m *Library) GetName() string {
|
|
if m != nil {
|
|
return m.Name
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m *Library) GetVersion() string {
|
|
if m != nil {
|
|
return m.Version
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type Vulnerability struct {
|
|
VulnerabilityId string `protobuf:"bytes,1,opt,name=vulnerability_id,json=vulnerabilityId,proto3" json:"vulnerability_id,omitempty"`
|
|
PkgName string `protobuf:"bytes,2,opt,name=pkg_name,json=pkgName,proto3" json:"pkg_name,omitempty"`
|
|
InstalledVersion string `protobuf:"bytes,3,opt,name=installed_version,json=installedVersion,proto3" json:"installed_version,omitempty"`
|
|
FixedVersion string `protobuf:"bytes,4,opt,name=fixed_version,json=fixedVersion,proto3" json:"fixed_version,omitempty"`
|
|
Title string `protobuf:"bytes,5,opt,name=title,proto3" json:"title,omitempty"`
|
|
Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"`
|
|
Severity Severity `protobuf:"varint,7,opt,name=severity,proto3,enum=trivy.common.Severity" json:"severity,omitempty"`
|
|
References []string `protobuf:"bytes,8,rep,name=references,proto3" json:"references,omitempty"`
|
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
|
XXX_unrecognized []byte `json:"-"`
|
|
XXX_sizecache int32 `json:"-"`
|
|
}
|
|
|
|
func (m *Vulnerability) Reset() { *m = Vulnerability{} }
|
|
func (m *Vulnerability) String() string { return proto.CompactTextString(m) }
|
|
func (*Vulnerability) ProtoMessage() {}
|
|
func (*Vulnerability) Descriptor() ([]byte, []int) {
|
|
return fileDescriptor_6e749acacaaabfff, []int{5}
|
|
}
|
|
|
|
func (m *Vulnerability) XXX_Unmarshal(b []byte) error {
|
|
return xxx_messageInfo_Vulnerability.Unmarshal(m, b)
|
|
}
|
|
func (m *Vulnerability) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
|
return xxx_messageInfo_Vulnerability.Marshal(b, m, deterministic)
|
|
}
|
|
func (m *Vulnerability) XXX_Merge(src proto.Message) {
|
|
xxx_messageInfo_Vulnerability.Merge(m, src)
|
|
}
|
|
func (m *Vulnerability) XXX_Size() int {
|
|
return xxx_messageInfo_Vulnerability.Size(m)
|
|
}
|
|
func (m *Vulnerability) XXX_DiscardUnknown() {
|
|
xxx_messageInfo_Vulnerability.DiscardUnknown(m)
|
|
}
|
|
|
|
var xxx_messageInfo_Vulnerability proto.InternalMessageInfo
|
|
|
|
func (m *Vulnerability) GetVulnerabilityId() string {
|
|
if m != nil {
|
|
return m.VulnerabilityId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m *Vulnerability) GetPkgName() string {
|
|
if m != nil {
|
|
return m.PkgName
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m *Vulnerability) GetInstalledVersion() string {
|
|
if m != nil {
|
|
return m.InstalledVersion
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m *Vulnerability) GetFixedVersion() string {
|
|
if m != nil {
|
|
return m.FixedVersion
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m *Vulnerability) GetTitle() string {
|
|
if m != nil {
|
|
return m.Title
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m *Vulnerability) GetDescription() string {
|
|
if m != nil {
|
|
return m.Description
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m *Vulnerability) GetSeverity() Severity {
|
|
if m != nil {
|
|
return m.Severity
|
|
}
|
|
return Severity_UNKNOWN
|
|
}
|
|
|
|
func (m *Vulnerability) GetReferences() []string {
|
|
if m != nil {
|
|
return m.References
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func init() {
|
|
proto.RegisterEnum("trivy.common.Severity", Severity_name, Severity_value)
|
|
proto.RegisterType((*OS)(nil), "trivy.common.OS")
|
|
proto.RegisterType((*PackageInfo)(nil), "trivy.common.PackageInfo")
|
|
proto.RegisterType((*Application)(nil), "trivy.common.Application")
|
|
proto.RegisterType((*Package)(nil), "trivy.common.Package")
|
|
proto.RegisterType((*Library)(nil), "trivy.common.Library")
|
|
proto.RegisterType((*Vulnerability)(nil), "trivy.common.Vulnerability")
|
|
}
|
|
|
|
func init() { proto.RegisterFile("rpc/common/service.proto", fileDescriptor_6e749acacaaabfff) }
|
|
|
|
var fileDescriptor_6e749acacaaabfff = []byte{
|
|
// 543 bytes of a gzipped FileDescriptorProto
|
|
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x53, 0xd1, 0x6e, 0xd3, 0x30,
|
|
0x14, 0x25, 0x49, 0xdb, 0xa4, 0x37, 0x1d, 0x04, 0x6b, 0x4c, 0x41, 0x93, 0xa0, 0x0a, 0x2f, 0x05,
|
|
0xa4, 0x0e, 0xba, 0x07, 0x9e, 0xc7, 0x36, 0xb1, 0x88, 0xae, 0x9d, 0x32, 0xb6, 0x49, 0x48, 0xa8,
|
|
0x72, 0x5d, 0xb7, 0xb5, 0x9a, 0x26, 0x91, 0x1d, 0x2a, 0xf2, 0x5d, 0x7c, 0x1b, 0xef, 0xc8, 0x8e,
|
|
0x93, 0xb6, 0x88, 0x97, 0xbd, 0xf9, 0xde, 0x73, 0x7c, 0xcf, 0x39, 0x37, 0x0e, 0xf8, 0x3c, 0x23,
|
|
0x27, 0x24, 0x5d, 0xaf, 0xd3, 0xe4, 0x44, 0x50, 0xbe, 0x61, 0x84, 0xf6, 0x33, 0x9e, 0xe6, 0x29,
|
|
0xea, 0xe4, 0x9c, 0x6d, 0x8a, 0x7e, 0x89, 0x05, 0x1f, 0xc0, 0x1c, 0xdf, 0xa2, 0x23, 0x68, 0xcd,
|
|
0xf1, 0x9a, 0xc5, 0x85, 0x6f, 0x74, 0x8d, 0x5e, 0x3b, 0xd2, 0x15, 0x42, 0xd0, 0x48, 0xf0, 0x9a,
|
|
0xfa, 0xa6, 0xea, 0xaa, 0x73, 0xf0, 0x03, 0xdc, 0x1b, 0x4c, 0x56, 0x78, 0x41, 0xc3, 0x64, 0x9e,
|
|
0xa2, 0x63, 0x68, 0xcf, 0x59, 0x4c, 0x27, 0x19, 0xce, 0x97, 0xfa, 0xb6, 0x23, 0x1b, 0x37, 0x38,
|
|
0x5f, 0xa2, 0x8f, 0xe0, 0x64, 0x25, 0x57, 0xf8, 0x66, 0xd7, 0xea, 0xb9, 0x83, 0x17, 0xfd, 0x5d,
|
|
0xf9, 0xbe, 0x9e, 0x14, 0xd5, 0xb4, 0x40, 0x80, 0x7b, 0x96, 0x65, 0x31, 0x23, 0x38, 0x67, 0x69,
|
|
0x22, 0x1d, 0xe4, 0x45, 0x46, 0xf5, 0x64, 0x75, 0xde, 0x97, 0x34, 0xff, 0x91, 0x3c, 0x85, 0x76,
|
|
0xcc, 0xa6, 0x1c, 0x73, 0x46, 0x85, 0x6f, 0xfd, 0x4f, 0x73, 0xa8, 0xe0, 0x22, 0xda, 0xf2, 0x82,
|
|
0x3f, 0x06, 0xd8, 0xda, 0x4a, 0x9d, 0xd9, 0xd8, 0x66, 0x46, 0x3e, 0xd8, 0x1b, 0xca, 0x05, 0x4b,
|
|
0x13, 0xad, 0x57, 0x95, 0x12, 0xe1, 0x34, 0xa6, 0x58, 0x50, 0xdf, 0x2a, 0x11, 0x5d, 0xa2, 0x43,
|
|
0x68, 0xd2, 0x2c, 0x25, 0x4b, 0xbf, 0xd1, 0x35, 0x7a, 0xcd, 0xa8, 0x2c, 0xe4, 0x74, 0xcc, 0xc9,
|
|
0xd2, 0x6f, 0x96, 0xd3, 0xe5, 0x19, 0xbd, 0x04, 0x47, 0x70, 0x32, 0x51, 0xaa, 0xad, 0x72, 0x88,
|
|
0xe0, 0x64, 0x24, 0x85, 0x5f, 0x83, 0x2b, 0xa1, 0x4a, 0xdc, 0x56, 0x28, 0x08, 0x4e, 0xee, 0xb5,
|
|
0xbe, 0x26, 0x54, 0x1e, 0x9c, 0x9a, 0x10, 0x69, 0x1b, 0xc7, 0xd0, 0x96, 0x84, 0xd2, 0x4a, 0x5b,
|
|
0x59, 0x91, 0x6a, 0x97, 0xb2, 0x0e, 0x3e, 0x81, 0xad, 0xb7, 0xf1, 0xb8, 0xd8, 0xc1, 0x6f, 0x13,
|
|
0x0e, 0xee, 0x7f, 0xc6, 0x09, 0xe5, 0x78, 0xca, 0x62, 0x96, 0x17, 0xe8, 0x2d, 0x78, 0x9b, 0xdd,
|
|
0xc6, 0x84, 0xcd, 0xf4, 0xac, 0x67, 0x7b, 0xfd, 0x70, 0x26, 0xf3, 0x66, 0xab, 0xc5, 0x64, 0xe7,
|
|
0x65, 0xd9, 0xd9, 0x6a, 0xa1, 0xf2, 0xbe, 0x87, 0xe7, 0x2c, 0x11, 0x39, 0x8e, 0x63, 0x3a, 0xab,
|
|
0x53, 0x97, 0x8b, 0xf5, 0x6a, 0xa0, 0xca, 0xfe, 0x06, 0x0e, 0xe6, 0xec, 0xd7, 0x0e, 0xb1, 0xa1,
|
|
0x88, 0x1d, 0xd5, 0xac, 0x48, 0x87, 0xd0, 0xcc, 0x59, 0x1e, 0x53, 0xbd, 0xf1, 0xb2, 0x40, 0x5d,
|
|
0x70, 0x67, 0x54, 0x10, 0xce, 0x32, 0xf9, 0xca, 0xf4, 0xd6, 0x77, 0x5b, 0x68, 0x00, 0x8e, 0xa0,
|
|
0x1b, 0xca, 0x59, 0x5e, 0xa8, 0xb5, 0x3f, 0x1d, 0x1c, 0xed, 0x3f, 0xa3, 0x5b, 0x8d, 0x46, 0x35,
|
|
0x0f, 0xbd, 0x02, 0xe0, 0x74, 0x4e, 0x39, 0x4d, 0x08, 0x15, 0xbe, 0xd3, 0xb5, 0xe4, 0xb7, 0xd8,
|
|
0x76, 0xde, 0x5d, 0x80, 0x53, 0xdd, 0x42, 0x2e, 0xd8, 0x77, 0xa3, 0xaf, 0xa3, 0xf1, 0xc3, 0xc8,
|
|
0x7b, 0x82, 0x6c, 0xb0, 0x86, 0xe3, 0x07, 0xcf, 0x40, 0x00, 0xad, 0xeb, 0xcb, 0x8b, 0xf0, 0xee,
|
|
0xda, 0x33, 0x91, 0x03, 0x8d, 0xab, 0xf0, 0xcb, 0x95, 0x67, 0xa1, 0x0e, 0x38, 0xe7, 0x51, 0xf8,
|
|
0x2d, 0x3c, 0x3f, 0x1b, 0x7a, 0x8d, 0xcf, 0xce, 0xf7, 0x56, 0x69, 0x61, 0xda, 0x52, 0x7f, 0xf4,
|
|
0xe9, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xb5, 0x19, 0x99, 0x46, 0xed, 0x03, 0x00, 0x00,
|
|
}
|