blob: 2ecc315560bd8ecfc57dd75f46b8fdc4df6302b6 [file] [log] [blame]
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: chromiumos/common.proto
package chromiumos
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
// The types of images that can be built.
// These correspond to support types in lib/constants.py such
// as IMAGE_TYPE_BASE, IMAGE_TYPE_RECOVERY, and so on.
type ImageType int32
const (
ImageType_IMAGE_TYPE_UNDEFINED ImageType = 0
ImageType_BASE ImageType = 1
ImageType_DEV ImageType = 2
ImageType_TEST ImageType = 3
ImageType_BASE_VM ImageType = 4
ImageType_TEST_VM ImageType = 5
ImageType_RECOVERY ImageType = 6
ImageType_FACTORY ImageType = 7
ImageType_FIRMWARE ImageType = 8
ImageType_CR50_FIRMWARE ImageType = 9
)
var ImageType_name = map[int32]string{
0: "IMAGE_TYPE_UNDEFINED",
1: "BASE",
2: "DEV",
3: "TEST",
4: "BASE_VM",
5: "TEST_VM",
6: "RECOVERY",
7: "FACTORY",
8: "FIRMWARE",
9: "CR50_FIRMWARE",
}
var ImageType_value = map[string]int32{
"IMAGE_TYPE_UNDEFINED": 0,
"BASE": 1,
"DEV": 2,
"TEST": 3,
"BASE_VM": 4,
"TEST_VM": 5,
"RECOVERY": 6,
"FACTORY": 7,
"FIRMWARE": 8,
"CR50_FIRMWARE": 9,
}
func (x ImageType) String() string {
return proto.EnumName(ImageType_name, int32(x))
}
func (ImageType) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_fa0b57c3d7d4c63b, []int{0}
}
// The various channels that we release through.
type Channel int32
const (
Channel_CHANNEL_UNSPECIFIED Channel = 0
Channel_CHANNEL_STABLE Channel = 1
Channel_CHANNEL_BETA Channel = 2
Channel_CHANNEL_DEV Channel = 3
Channel_CHANNEL_CANARY Channel = 4
)
var Channel_name = map[int32]string{
0: "CHANNEL_UNSPECIFIED",
1: "CHANNEL_STABLE",
2: "CHANNEL_BETA",
3: "CHANNEL_DEV",
4: "CHANNEL_CANARY",
}
var Channel_value = map[string]int32{
"CHANNEL_UNSPECIFIED": 0,
"CHANNEL_STABLE": 1,
"CHANNEL_BETA": 2,
"CHANNEL_DEV": 3,
"CHANNEL_CANARY": 4,
}
func (x Channel) String() string {
return proto.EnumName(Channel_name, int32(x))
}
func (Channel) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_fa0b57c3d7d4c63b, []int{1}
}
// Location enum; whether the resource is inside or outside of the chroot.
type Path_Location int32
const (
Path_NO_LOCATION Path_Location = 0
Path_INSIDE Path_Location = 1
Path_OUTSIDE Path_Location = 2
)
var Path_Location_name = map[int32]string{
0: "NO_LOCATION",
1: "INSIDE",
2: "OUTSIDE",
}
var Path_Location_value = map[string]int32{
"NO_LOCATION": 0,
"INSIDE": 1,
"OUTSIDE": 2,
}
func (x Path_Location) String() string {
return proto.EnumName(Path_Location_name, int32(x))
}
func (Path_Location) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_fa0b57c3d7d4c63b, []int{5, 0}
}
// BuildTarget encapsulates a number of related arguments. At the moment, the
// usage of specific arguments is on a per endpoint basis, but will converge
// to support a standard set as time goes on.
// BuildTarget is a more appropriate name going forward for what we currently
// call "board".
type BuildTarget struct {
// The name of the build target (a.k.a. board name).
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *BuildTarget) Reset() { *m = BuildTarget{} }
func (m *BuildTarget) String() string { return proto.CompactTextString(m) }
func (*BuildTarget) ProtoMessage() {}
func (*BuildTarget) Descriptor() ([]byte, []int) {
return fileDescriptor_fa0b57c3d7d4c63b, []int{0}
}
func (m *BuildTarget) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BuildTarget.Unmarshal(m, b)
}
func (m *BuildTarget) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_BuildTarget.Marshal(b, m, deterministic)
}
func (m *BuildTarget) XXX_Merge(src proto.Message) {
xxx_messageInfo_BuildTarget.Merge(m, src)
}
func (m *BuildTarget) XXX_Size() int {
return xxx_messageInfo_BuildTarget.Size(m)
}
func (m *BuildTarget) XXX_DiscardUnknown() {
xxx_messageInfo_BuildTarget.DiscardUnknown(m)
}
var xxx_messageInfo_BuildTarget proto.InternalMessageInfo
func (m *BuildTarget) GetName() string {
if m != nil {
return m.Name
}
return ""
}
// Chroot is used to define how to enter a chroot.
type Chroot struct {
// The directory containing the chroot.
Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
// The cache directory override.
CacheDir string `protobuf:"bytes,2,opt,name=cache_dir,json=cacheDir,proto3" json:"cache_dir,omitempty"`
// Environment configuration.
Env *Chroot_ChrootEnv `protobuf:"bytes,3,opt,name=env,proto3" json:"env,omitempty"`
// The directory where the chrome source should be mounted.
ChromeDir string `protobuf:"bytes,4,opt,name=chrome_dir,json=chromeDir,proto3" json:"chrome_dir,omitempty"`
// The goma config.
Goma *GomaConfig `protobuf:"bytes,5,opt,name=goma,proto3" json:"goma,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Chroot) Reset() { *m = Chroot{} }
func (m *Chroot) String() string { return proto.CompactTextString(m) }
func (*Chroot) ProtoMessage() {}
func (*Chroot) Descriptor() ([]byte, []int) {
return fileDescriptor_fa0b57c3d7d4c63b, []int{1}
}
func (m *Chroot) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Chroot.Unmarshal(m, b)
}
func (m *Chroot) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Chroot.Marshal(b, m, deterministic)
}
func (m *Chroot) XXX_Merge(src proto.Message) {
xxx_messageInfo_Chroot.Merge(m, src)
}
func (m *Chroot) XXX_Size() int {
return xxx_messageInfo_Chroot.Size(m)
}
func (m *Chroot) XXX_DiscardUnknown() {
xxx_messageInfo_Chroot.DiscardUnknown(m)
}
var xxx_messageInfo_Chroot proto.InternalMessageInfo
func (m *Chroot) GetPath() string {
if m != nil {
return m.Path
}
return ""
}
func (m *Chroot) GetCacheDir() string {
if m != nil {
return m.CacheDir
}
return ""
}
func (m *Chroot) GetEnv() *Chroot_ChrootEnv {
if m != nil {
return m.Env
}
return nil
}
func (m *Chroot) GetChromeDir() string {
if m != nil {
return m.ChromeDir
}
return ""
}
func (m *Chroot) GetGoma() *GomaConfig {
if m != nil {
return m.Goma
}
return nil
}
type Chroot_ChrootEnv struct {
// USE flags to set.
UseFlags []*UseFlag `protobuf:"bytes,1,rep,name=use_flags,json=useFlags,proto3" json:"use_flags,omitempty"`
// FEATURES flags to set.
Features []*Feature `protobuf:"bytes,2,rep,name=features,proto3" json:"features,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Chroot_ChrootEnv) Reset() { *m = Chroot_ChrootEnv{} }
func (m *Chroot_ChrootEnv) String() string { return proto.CompactTextString(m) }
func (*Chroot_ChrootEnv) ProtoMessage() {}
func (*Chroot_ChrootEnv) Descriptor() ([]byte, []int) {
return fileDescriptor_fa0b57c3d7d4c63b, []int{1, 0}
}
func (m *Chroot_ChrootEnv) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Chroot_ChrootEnv.Unmarshal(m, b)
}
func (m *Chroot_ChrootEnv) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Chroot_ChrootEnv.Marshal(b, m, deterministic)
}
func (m *Chroot_ChrootEnv) XXX_Merge(src proto.Message) {
xxx_messageInfo_Chroot_ChrootEnv.Merge(m, src)
}
func (m *Chroot_ChrootEnv) XXX_Size() int {
return xxx_messageInfo_Chroot_ChrootEnv.Size(m)
}
func (m *Chroot_ChrootEnv) XXX_DiscardUnknown() {
xxx_messageInfo_Chroot_ChrootEnv.DiscardUnknown(m)
}
var xxx_messageInfo_Chroot_ChrootEnv proto.InternalMessageInfo
func (m *Chroot_ChrootEnv) GetUseFlags() []*UseFlag {
if m != nil {
return m.UseFlags
}
return nil
}
func (m *Chroot_ChrootEnv) GetFeatures() []*Feature {
if m != nil {
return m.Features
}
return nil
}
// FEATURES environment variable component message.
type Feature struct {
Feature string `protobuf:"bytes,1,opt,name=feature,proto3" json:"feature,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Feature) Reset() { *m = Feature{} }
func (m *Feature) String() string { return proto.CompactTextString(m) }
func (*Feature) ProtoMessage() {}
func (*Feature) Descriptor() ([]byte, []int) {
return fileDescriptor_fa0b57c3d7d4c63b, []int{2}
}
func (m *Feature) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Feature.Unmarshal(m, b)
}
func (m *Feature) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Feature.Marshal(b, m, deterministic)
}
func (m *Feature) XXX_Merge(src proto.Message) {
xxx_messageInfo_Feature.Merge(m, src)
}
func (m *Feature) XXX_Size() int {
return xxx_messageInfo_Feature.Size(m)
}
func (m *Feature) XXX_DiscardUnknown() {
xxx_messageInfo_Feature.DiscardUnknown(m)
}
var xxx_messageInfo_Feature proto.InternalMessageInfo
func (m *Feature) GetFeature() string {
if m != nil {
return m.Feature
}
return ""
}
type GomaConfig struct {
// The goma install location.
// Required.
GomaDir string `protobuf:"bytes,1,opt,name=goma_dir,json=gomaDir,proto3" json:"goma_dir,omitempty"`
// The goma client credentials file.
GomaClientJson string `protobuf:"bytes,2,opt,name=goma_client_json,json=gomaClientJson,proto3" json:"goma_client_json,omitempty"`
// Path to the Goma client used for build package.
// If None, goma_dir will be used instead.
ChromeosGomaDir string `protobuf:"bytes,3,opt,name=chromeos_goma_dir,json=chromeosGomaDir,proto3" json:"chromeos_goma_dir,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *GomaConfig) Reset() { *m = GomaConfig{} }
func (m *GomaConfig) String() string { return proto.CompactTextString(m) }
func (*GomaConfig) ProtoMessage() {}
func (*GomaConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_fa0b57c3d7d4c63b, []int{3}
}
func (m *GomaConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GomaConfig.Unmarshal(m, b)
}
func (m *GomaConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_GomaConfig.Marshal(b, m, deterministic)
}
func (m *GomaConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_GomaConfig.Merge(m, src)
}
func (m *GomaConfig) XXX_Size() int {
return xxx_messageInfo_GomaConfig.Size(m)
}
func (m *GomaConfig) XXX_DiscardUnknown() {
xxx_messageInfo_GomaConfig.DiscardUnknown(m)
}
var xxx_messageInfo_GomaConfig proto.InternalMessageInfo
func (m *GomaConfig) GetGomaDir() string {
if m != nil {
return m.GomaDir
}
return ""
}
func (m *GomaConfig) GetGomaClientJson() string {
if m != nil {
return m.GomaClientJson
}
return ""
}
func (m *GomaConfig) GetChromeosGomaDir() string {
if m != nil {
return m.ChromeosGomaDir
}
return ""
}
// Message describing a package, The corresponding variable names are from
// https://devmanual.gentoo.org/ebuild-writing/variables/index.html
type PackageInfo struct {
// The package name (PN variable).
PackageName string `protobuf:"bytes,1,opt,name=package_name,json=packageName,proto3" json:"package_name,omitempty"`
// The package category (CATEGORY variable).
Category string `protobuf:"bytes,2,opt,name=category,proto3" json:"category,omitempty"`
// The package version and revision (PVR variable).
Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,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_fa0b57c3d7d4c63b, []int{4}
}
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) GetPackageName() string {
if m != nil {
return m.PackageName
}
return ""
}
func (m *PackageInfo) GetCategory() string {
if m != nil {
return m.Category
}
return ""
}
func (m *PackageInfo) GetVersion() string {
if m != nil {
return m.Version
}
return ""
}
// A message to clarify inside/outside chroot paths.
type Path struct {
// The path to the resource.
Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
// The path location.
Location Path_Location `protobuf:"varint,2,opt,name=location,proto3,enum=chromiumos.Path_Location" json:"location,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Path) Reset() { *m = Path{} }
func (m *Path) String() string { return proto.CompactTextString(m) }
func (*Path) ProtoMessage() {}
func (*Path) Descriptor() ([]byte, []int) {
return fileDescriptor_fa0b57c3d7d4c63b, []int{5}
}
func (m *Path) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Path.Unmarshal(m, b)
}
func (m *Path) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Path.Marshal(b, m, deterministic)
}
func (m *Path) XXX_Merge(src proto.Message) {
xxx_messageInfo_Path.Merge(m, src)
}
func (m *Path) XXX_Size() int {
return xxx_messageInfo_Path.Size(m)
}
func (m *Path) XXX_DiscardUnknown() {
xxx_messageInfo_Path.DiscardUnknown(m)
}
var xxx_messageInfo_Path proto.InternalMessageInfo
func (m *Path) GetPath() string {
if m != nil {
return m.Path
}
return ""
}
func (m *Path) GetLocation() Path_Location {
if m != nil {
return m.Location
}
return Path_NO_LOCATION
}
// A message used to indicate an output location for results. Specifically,
// this is used to automatically transfer files out of the chroot when needed.
// Note: No more than one ResultPath per message can be supported.
type ResultPath struct {
// Required.
// The result directory information.
Path *Path `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ResultPath) Reset() { *m = ResultPath{} }
func (m *ResultPath) String() string { return proto.CompactTextString(m) }
func (*ResultPath) ProtoMessage() {}
func (*ResultPath) Descriptor() ([]byte, []int) {
return fileDescriptor_fa0b57c3d7d4c63b, []int{6}
}
func (m *ResultPath) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ResultPath.Unmarshal(m, b)
}
func (m *ResultPath) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ResultPath.Marshal(b, m, deterministic)
}
func (m *ResultPath) XXX_Merge(src proto.Message) {
xxx_messageInfo_ResultPath.Merge(m, src)
}
func (m *ResultPath) XXX_Size() int {
return xxx_messageInfo_ResultPath.Size(m)
}
func (m *ResultPath) XXX_DiscardUnknown() {
xxx_messageInfo_ResultPath.DiscardUnknown(m)
}
var xxx_messageInfo_ResultPath proto.InternalMessageInfo
func (m *ResultPath) GetPath() *Path {
if m != nil {
return m.Path
}
return nil
}
// Message for USE flags.
type UseFlag struct {
// The use flag.
Flag string `protobuf:"bytes,1,opt,name=flag,proto3" json:"flag,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *UseFlag) Reset() { *m = UseFlag{} }
func (m *UseFlag) String() string { return proto.CompactTextString(m) }
func (*UseFlag) ProtoMessage() {}
func (*UseFlag) Descriptor() ([]byte, []int) {
return fileDescriptor_fa0b57c3d7d4c63b, []int{7}
}
func (m *UseFlag) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UseFlag.Unmarshal(m, b)
}
func (m *UseFlag) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_UseFlag.Marshal(b, m, deterministic)
}
func (m *UseFlag) XXX_Merge(src proto.Message) {
xxx_messageInfo_UseFlag.Merge(m, src)
}
func (m *UseFlag) XXX_Size() int {
return xxx_messageInfo_UseFlag.Size(m)
}
func (m *UseFlag) XXX_DiscardUnknown() {
xxx_messageInfo_UseFlag.DiscardUnknown(m)
}
var xxx_messageInfo_UseFlag proto.InternalMessageInfo
func (m *UseFlag) GetFlag() string {
if m != nil {
return m.Flag
}
return ""
}
// A wrapper around a serialized protocol buffer.
type ProtoBytes struct {
SerializedProto []byte `protobuf:"bytes,1,opt,name=serialized_proto,json=serializedProto,proto3" json:"serialized_proto,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ProtoBytes) Reset() { *m = ProtoBytes{} }
func (m *ProtoBytes) String() string { return proto.CompactTextString(m) }
func (*ProtoBytes) ProtoMessage() {}
func (*ProtoBytes) Descriptor() ([]byte, []int) {
return fileDescriptor_fa0b57c3d7d4c63b, []int{8}
}
func (m *ProtoBytes) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ProtoBytes.Unmarshal(m, b)
}
func (m *ProtoBytes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ProtoBytes.Marshal(b, m, deterministic)
}
func (m *ProtoBytes) XXX_Merge(src proto.Message) {
xxx_messageInfo_ProtoBytes.Merge(m, src)
}
func (m *ProtoBytes) XXX_Size() int {
return xxx_messageInfo_ProtoBytes.Size(m)
}
func (m *ProtoBytes) XXX_DiscardUnknown() {
xxx_messageInfo_ProtoBytes.DiscardUnknown(m)
}
var xxx_messageInfo_ProtoBytes proto.InternalMessageInfo
func (m *ProtoBytes) GetSerializedProto() []byte {
if m != nil {
return m.SerializedProto
}
return nil
}
func init() {
proto.RegisterEnum("chromiumos.ImageType", ImageType_name, ImageType_value)
proto.RegisterEnum("chromiumos.Channel", Channel_name, Channel_value)
proto.RegisterEnum("chromiumos.Path_Location", Path_Location_name, Path_Location_value)
proto.RegisterType((*BuildTarget)(nil), "chromiumos.BuildTarget")
proto.RegisterType((*Chroot)(nil), "chromiumos.Chroot")
proto.RegisterType((*Chroot_ChrootEnv)(nil), "chromiumos.Chroot.ChrootEnv")
proto.RegisterType((*Feature)(nil), "chromiumos.Feature")
proto.RegisterType((*GomaConfig)(nil), "chromiumos.GomaConfig")
proto.RegisterType((*PackageInfo)(nil), "chromiumos.PackageInfo")
proto.RegisterType((*Path)(nil), "chromiumos.Path")
proto.RegisterType((*ResultPath)(nil), "chromiumos.ResultPath")
proto.RegisterType((*UseFlag)(nil), "chromiumos.UseFlag")
proto.RegisterType((*ProtoBytes)(nil), "chromiumos.ProtoBytes")
}
func init() { proto.RegisterFile("chromiumos/common.proto", fileDescriptor_fa0b57c3d7d4c63b) }
var fileDescriptor_fa0b57c3d7d4c63b = []byte{
// 719 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x54, 0xcd, 0x6e, 0xda, 0x4c,
0x14, 0x0d, 0x3f, 0x01, 0x73, 0xcd, 0x97, 0x38, 0x93, 0x4f, 0x0d, 0x49, 0x1b, 0x29, 0x71, 0xbb,
0xa0, 0x2c, 0x20, 0xa2, 0x49, 0xbb, 0x36, 0xc6, 0xa4, 0xae, 0x88, 0x41, 0xc6, 0xa4, 0xa2, 0x1b,
0x6b, 0xea, 0x0c, 0xc6, 0xad, 0xed, 0x41, 0xb6, 0x89, 0x94, 0x4a, 0x5d, 0xf7, 0x15, 0xfa, 0x00,
0x7d, 0xd0, 0x6a, 0xc6, 0x36, 0x58, 0x6d, 0x57, 0xcc, 0x3d, 0xe7, 0xcc, 0x99, 0x73, 0xef, 0x8c,
0x81, 0x13, 0x67, 0x15, 0xd1, 0xc0, 0xdb, 0x04, 0x34, 0xee, 0x39, 0x34, 0x08, 0x68, 0xd8, 0x5d,
0x47, 0x34, 0xa1, 0x08, 0x76, 0x84, 0x7c, 0x09, 0xe2, 0x60, 0xe3, 0xf9, 0x0f, 0x16, 0x8e, 0x5c,
0x92, 0x20, 0x04, 0xd5, 0x10, 0x07, 0xa4, 0x55, 0xba, 0x28, 0xb5, 0x1b, 0x26, 0x5f, 0xcb, 0xbf,
0xca, 0x50, 0x53, 0x57, 0x11, 0xa5, 0x9c, 0x5e, 0xe3, 0x64, 0x95, 0xd3, 0x6c, 0x8d, 0x9e, 0x43,
0xc3, 0xc1, 0xce, 0x8a, 0xd8, 0x0f, 0x5e, 0xd4, 0x2a, 0x73, 0x42, 0xe0, 0xc0, 0xd0, 0x8b, 0x50,
0x17, 0x2a, 0x24, 0x7c, 0x6c, 0x55, 0x2e, 0x4a, 0x6d, 0xb1, 0xff, 0xa2, 0xbb, 0x3b, 0xb8, 0x9b,
0x3a, 0x66, 0x3f, 0x5a, 0xf8, 0x68, 0x32, 0x21, 0x3a, 0x87, 0x34, 0x5c, 0xea, 0x56, 0xe5, 0x6e,
0x8d, 0x14, 0x61, 0x76, 0x1d, 0xa8, 0xba, 0x34, 0xc0, 0xad, 0x7d, 0xee, 0xf7, 0xac, 0xe8, 0x77,
0x4b, 0x03, 0xac, 0xd2, 0x70, 0xe9, 0xb9, 0x26, 0xd7, 0x9c, 0x85, 0xd0, 0xd8, 0x9a, 0xa3, 0x2b,
0x68, 0x6c, 0x62, 0x62, 0x2f, 0x7d, 0xec, 0xc6, 0xad, 0xd2, 0x45, 0xa5, 0x2d, 0xf6, 0x8f, 0x8b,
0xbb, 0xe7, 0x31, 0x19, 0xf9, 0xd8, 0x35, 0x85, 0x4d, 0xba, 0x88, 0x51, 0x0f, 0x84, 0x25, 0xc1,
0xc9, 0x26, 0x22, 0x71, 0xab, 0xfc, 0xf7, 0x86, 0x51, 0xca, 0x99, 0x5b, 0x91, 0xfc, 0x12, 0xea,
0x19, 0x88, 0x5a, 0x50, 0xcf, 0xe0, 0x6c, 0x52, 0x79, 0x29, 0x7f, 0x07, 0xd8, 0x05, 0x45, 0xa7,
0x20, 0xb0, 0xa8, 0xbc, 0xd7, 0x4c, 0xc8, 0x6a, 0xd6, 0x69, 0x1b, 0x24, 0x4e, 0x39, 0xbe, 0x47,
0xc2, 0xc4, 0xfe, 0x12, 0xd3, 0x30, 0x1b, 0xee, 0x01, 0xc3, 0x55, 0x0e, 0x7f, 0x88, 0x69, 0x88,
0x3a, 0x70, 0x94, 0x0e, 0x88, 0xc6, 0xf6, 0xd6, 0xad, 0xc2, 0xa5, 0x87, 0x39, 0x71, 0x9b, 0xba,
0xca, 0x4b, 0x10, 0xa7, 0xd8, 0xf9, 0x8a, 0x5d, 0xa2, 0x87, 0x4b, 0x8a, 0x2e, 0xa1, 0xb9, 0x4e,
0x4b, 0xbb, 0x70, 0xeb, 0x62, 0x86, 0x19, 0x38, 0x20, 0xe8, 0x0c, 0x04, 0x07, 0x27, 0xc4, 0xa5,
0xd1, 0xd3, 0xee, 0x72, 0xd3, 0x9a, 0xb5, 0xf9, 0x48, 0xa2, 0xd8, 0xa3, 0x61, 0x76, 0x5e, 0x5e,
0xca, 0x3f, 0x4a, 0x50, 0x9d, 0xb2, 0xc7, 0xf1, 0xaf, 0x07, 0x73, 0x03, 0x82, 0x4f, 0x1d, 0x9c,
0x78, 0x59, 0x4b, 0x07, 0xfd, 0xd3, 0xe2, 0x64, 0xd9, 0xbe, 0xee, 0x38, 0x13, 0x98, 0x5b, 0xa9,
0x7c, 0x0d, 0x42, 0x8e, 0xa2, 0x43, 0x10, 0x8d, 0x89, 0x3d, 0x9e, 0xa8, 0x8a, 0xa5, 0x4f, 0x0c,
0x69, 0x0f, 0x01, 0xd4, 0x74, 0x63, 0xa6, 0x0f, 0x35, 0xa9, 0x84, 0x44, 0xa8, 0x4f, 0xe6, 0x16,
0x2f, 0xca, 0x72, 0x1f, 0xc0, 0x24, 0xf1, 0xc6, 0x4f, 0x78, 0x9c, 0x57, 0x85, 0x38, 0x62, 0x5f,
0xfa, 0xf3, 0xd8, 0x34, 0xa0, 0x7c, 0x0e, 0xf5, 0xec, 0x3d, 0xb0, 0xfc, 0xec, 0xcd, 0xe4, 0xf9,
0xd9, 0x5a, 0x7e, 0x07, 0x30, 0x65, 0xdf, 0xd1, 0xe0, 0x29, 0x21, 0x31, 0x7a, 0x0d, 0x52, 0x4c,
0x22, 0x0f, 0xfb, 0xde, 0x37, 0xf2, 0x60, 0xf3, 0x0f, 0x8c, 0xab, 0x9b, 0xe6, 0xe1, 0x0e, 0xe7,
0xfa, 0xce, 0xcf, 0x12, 0x34, 0xf4, 0x00, 0xbb, 0xc4, 0x7a, 0x5a, 0xb3, 0x47, 0xf2, 0xbf, 0x7e,
0xa7, 0xdc, 0x6a, 0xb6, 0xb5, 0x98, 0x6a, 0xf6, 0xdc, 0x18, 0x6a, 0x23, 0xdd, 0xd0, 0x86, 0xd2,
0x1e, 0x12, 0xa0, 0x3a, 0x50, 0x66, 0xac, 0x95, 0x3a, 0x54, 0x86, 0xda, 0xbd, 0x54, 0x66, 0x90,
0xa5, 0xcd, 0x2c, 0xa9, 0xc2, 0xba, 0x63, 0xa4, 0x7d, 0x7f, 0x27, 0x55, 0x59, 0xc1, 0x60, 0x56,
0xec, 0xa3, 0x26, 0x08, 0xa6, 0xa6, 0x4e, 0xee, 0x35, 0x73, 0x21, 0xd5, 0x18, 0x35, 0x52, 0x54,
0x6b, 0x62, 0x2e, 0xa4, 0x3a, 0xa3, 0x46, 0xba, 0x79, 0xf7, 0x51, 0x31, 0x35, 0x49, 0x40, 0x47,
0xf0, 0x9f, 0x6a, 0xde, 0x5c, 0xd9, 0x5b, 0xa8, 0xd1, 0x09, 0xa0, 0xae, 0xae, 0x70, 0x18, 0x12,
0x1f, 0x9d, 0xc0, 0xb1, 0xfa, 0x5e, 0x31, 0x0c, 0x6d, 0x6c, 0xcf, 0x8d, 0xd9, 0x54, 0x53, 0xf5,
0x91, 0xce, 0x63, 0x21, 0x38, 0xc8, 0x89, 0x99, 0xa5, 0x0c, 0xc6, 0x2c, 0xa0, 0x04, 0xcd, 0x1c,
0x1b, 0x68, 0x96, 0x22, 0x95, 0xd9, 0xd5, 0xe4, 0x08, 0x8b, 0x5e, 0x29, 0x6e, 0x53, 0x15, 0x43,
0x31, 0x17, 0x52, 0x75, 0xf0, 0xf6, 0xd3, 0xb5, 0x4b, 0xb7, 0xd3, 0xef, 0xd2, 0xc8, 0xed, 0x15,
0xfe, 0xac, 0xbc, 0x70, 0x19, 0xe1, 0x1e, 0x1f, 0x65, 0xcf, 0xa5, 0x05, 0xe6, 0x73, 0x8d, 0x83,
0x6f, 0x7e, 0x07, 0x00, 0x00, 0xff, 0xff, 0x91, 0x38, 0x60, 0x72, 0xdb, 0x04, 0x00, 0x00,
}