github.com/letsencrypt/trillian@v1.1.2-0.20180615153820-ae375a99d36a/crypto/keyspb/keyspb.pb.go (about)

     1  // Code generated by protoc-gen-go. DO NOT EDIT.
     2  // source: crypto/keyspb/keyspb.proto
     3  
     4  package keyspb // import "github.com/google/trillian/crypto/keyspb"
     5  
     6  import proto "github.com/golang/protobuf/proto"
     7  import fmt "fmt"
     8  import math "math"
     9  
    10  // Reference imports to suppress errors if they are not otherwise used.
    11  var _ = proto.Marshal
    12  var _ = fmt.Errorf
    13  var _ = math.Inf
    14  
    15  // This is a compile-time assertion to ensure that this generated file
    16  // is compatible with the proto package it is being compiled against.
    17  // A compilation error at this line likely means your copy of the
    18  // proto package needs to be updated.
    19  const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
    20  
    21  // The supported elliptic curves.
    22  type Specification_ECDSA_Curve int32
    23  
    24  const (
    25  	Specification_ECDSA_DEFAULT_CURVE Specification_ECDSA_Curve = 0
    26  	Specification_ECDSA_P256          Specification_ECDSA_Curve = 1
    27  	Specification_ECDSA_P384          Specification_ECDSA_Curve = 2
    28  	Specification_ECDSA_P521          Specification_ECDSA_Curve = 3
    29  )
    30  
    31  var Specification_ECDSA_Curve_name = map[int32]string{
    32  	0: "DEFAULT_CURVE",
    33  	1: "P256",
    34  	2: "P384",
    35  	3: "P521",
    36  }
    37  var Specification_ECDSA_Curve_value = map[string]int32{
    38  	"DEFAULT_CURVE": 0,
    39  	"P256":          1,
    40  	"P384":          2,
    41  	"P521":          3,
    42  }
    43  
    44  func (x Specification_ECDSA_Curve) String() string {
    45  	return proto.EnumName(Specification_ECDSA_Curve_name, int32(x))
    46  }
    47  func (Specification_ECDSA_Curve) EnumDescriptor() ([]byte, []int) {
    48  	return fileDescriptor_keyspb_30dfedc26d40c907, []int{0, 0, 0}
    49  }
    50  
    51  // Specification for a private key.
    52  type Specification struct {
    53  	// The type of parameters provided determines the algorithm used for the key.
    54  	//
    55  	// Types that are valid to be assigned to Params:
    56  	//	*Specification_EcdsaParams
    57  	//	*Specification_RsaParams
    58  	Params               isSpecification_Params `protobuf_oneof:"params"`
    59  	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
    60  	XXX_unrecognized     []byte                 `json:"-"`
    61  	XXX_sizecache        int32                  `json:"-"`
    62  }
    63  
    64  func (m *Specification) Reset()         { *m = Specification{} }
    65  func (m *Specification) String() string { return proto.CompactTextString(m) }
    66  func (*Specification) ProtoMessage()    {}
    67  func (*Specification) Descriptor() ([]byte, []int) {
    68  	return fileDescriptor_keyspb_30dfedc26d40c907, []int{0}
    69  }
    70  func (m *Specification) XXX_Unmarshal(b []byte) error {
    71  	return xxx_messageInfo_Specification.Unmarshal(m, b)
    72  }
    73  func (m *Specification) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
    74  	return xxx_messageInfo_Specification.Marshal(b, m, deterministic)
    75  }
    76  func (dst *Specification) XXX_Merge(src proto.Message) {
    77  	xxx_messageInfo_Specification.Merge(dst, src)
    78  }
    79  func (m *Specification) XXX_Size() int {
    80  	return xxx_messageInfo_Specification.Size(m)
    81  }
    82  func (m *Specification) XXX_DiscardUnknown() {
    83  	xxx_messageInfo_Specification.DiscardUnknown(m)
    84  }
    85  
    86  var xxx_messageInfo_Specification proto.InternalMessageInfo
    87  
    88  type isSpecification_Params interface {
    89  	isSpecification_Params()
    90  }
    91  
    92  type Specification_EcdsaParams struct {
    93  	EcdsaParams *Specification_ECDSA `protobuf:"bytes,1,opt,name=ecdsa_params,json=ecdsaParams,oneof"`
    94  }
    95  type Specification_RsaParams struct {
    96  	RsaParams *Specification_RSA `protobuf:"bytes,2,opt,name=rsa_params,json=rsaParams,oneof"`
    97  }
    98  
    99  func (*Specification_EcdsaParams) isSpecification_Params() {}
   100  func (*Specification_RsaParams) isSpecification_Params()   {}
   101  
   102  func (m *Specification) GetParams() isSpecification_Params {
   103  	if m != nil {
   104  		return m.Params
   105  	}
   106  	return nil
   107  }
   108  
   109  func (m *Specification) GetEcdsaParams() *Specification_ECDSA {
   110  	if x, ok := m.GetParams().(*Specification_EcdsaParams); ok {
   111  		return x.EcdsaParams
   112  	}
   113  	return nil
   114  }
   115  
   116  func (m *Specification) GetRsaParams() *Specification_RSA {
   117  	if x, ok := m.GetParams().(*Specification_RsaParams); ok {
   118  		return x.RsaParams
   119  	}
   120  	return nil
   121  }
   122  
   123  // XXX_OneofFuncs is for the internal use of the proto package.
   124  func (*Specification) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
   125  	return _Specification_OneofMarshaler, _Specification_OneofUnmarshaler, _Specification_OneofSizer, []interface{}{
   126  		(*Specification_EcdsaParams)(nil),
   127  		(*Specification_RsaParams)(nil),
   128  	}
   129  }
   130  
   131  func _Specification_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
   132  	m := msg.(*Specification)
   133  	// params
   134  	switch x := m.Params.(type) {
   135  	case *Specification_EcdsaParams:
   136  		b.EncodeVarint(1<<3 | proto.WireBytes)
   137  		if err := b.EncodeMessage(x.EcdsaParams); err != nil {
   138  			return err
   139  		}
   140  	case *Specification_RsaParams:
   141  		b.EncodeVarint(2<<3 | proto.WireBytes)
   142  		if err := b.EncodeMessage(x.RsaParams); err != nil {
   143  			return err
   144  		}
   145  	case nil:
   146  	default:
   147  		return fmt.Errorf("Specification.Params has unexpected type %T", x)
   148  	}
   149  	return nil
   150  }
   151  
   152  func _Specification_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
   153  	m := msg.(*Specification)
   154  	switch tag {
   155  	case 1: // params.ecdsa_params
   156  		if wire != proto.WireBytes {
   157  			return true, proto.ErrInternalBadWireType
   158  		}
   159  		msg := new(Specification_ECDSA)
   160  		err := b.DecodeMessage(msg)
   161  		m.Params = &Specification_EcdsaParams{msg}
   162  		return true, err
   163  	case 2: // params.rsa_params
   164  		if wire != proto.WireBytes {
   165  			return true, proto.ErrInternalBadWireType
   166  		}
   167  		msg := new(Specification_RSA)
   168  		err := b.DecodeMessage(msg)
   169  		m.Params = &Specification_RsaParams{msg}
   170  		return true, err
   171  	default:
   172  		return false, nil
   173  	}
   174  }
   175  
   176  func _Specification_OneofSizer(msg proto.Message) (n int) {
   177  	m := msg.(*Specification)
   178  	// params
   179  	switch x := m.Params.(type) {
   180  	case *Specification_EcdsaParams:
   181  		s := proto.Size(x.EcdsaParams)
   182  		n += 1 // tag and wire
   183  		n += proto.SizeVarint(uint64(s))
   184  		n += s
   185  	case *Specification_RsaParams:
   186  		s := proto.Size(x.RsaParams)
   187  		n += 1 // tag and wire
   188  		n += proto.SizeVarint(uint64(s))
   189  		n += s
   190  	case nil:
   191  	default:
   192  		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
   193  	}
   194  	return n
   195  }
   196  
   197  // / ECDSA defines parameters for an ECDSA key.
   198  type Specification_ECDSA struct {
   199  	// The elliptic curve to use.
   200  	// Optional. If not set, the default curve will be used.
   201  	Curve                Specification_ECDSA_Curve `protobuf:"varint,1,opt,name=curve,enum=keyspb.Specification_ECDSA_Curve" json:"curve,omitempty"`
   202  	XXX_NoUnkeyedLiteral struct{}                  `json:"-"`
   203  	XXX_unrecognized     []byte                    `json:"-"`
   204  	XXX_sizecache        int32                     `json:"-"`
   205  }
   206  
   207  func (m *Specification_ECDSA) Reset()         { *m = Specification_ECDSA{} }
   208  func (m *Specification_ECDSA) String() string { return proto.CompactTextString(m) }
   209  func (*Specification_ECDSA) ProtoMessage()    {}
   210  func (*Specification_ECDSA) Descriptor() ([]byte, []int) {
   211  	return fileDescriptor_keyspb_30dfedc26d40c907, []int{0, 0}
   212  }
   213  func (m *Specification_ECDSA) XXX_Unmarshal(b []byte) error {
   214  	return xxx_messageInfo_Specification_ECDSA.Unmarshal(m, b)
   215  }
   216  func (m *Specification_ECDSA) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   217  	return xxx_messageInfo_Specification_ECDSA.Marshal(b, m, deterministic)
   218  }
   219  func (dst *Specification_ECDSA) XXX_Merge(src proto.Message) {
   220  	xxx_messageInfo_Specification_ECDSA.Merge(dst, src)
   221  }
   222  func (m *Specification_ECDSA) XXX_Size() int {
   223  	return xxx_messageInfo_Specification_ECDSA.Size(m)
   224  }
   225  func (m *Specification_ECDSA) XXX_DiscardUnknown() {
   226  	xxx_messageInfo_Specification_ECDSA.DiscardUnknown(m)
   227  }
   228  
   229  var xxx_messageInfo_Specification_ECDSA proto.InternalMessageInfo
   230  
   231  func (m *Specification_ECDSA) GetCurve() Specification_ECDSA_Curve {
   232  	if m != nil {
   233  		return m.Curve
   234  	}
   235  	return Specification_ECDSA_DEFAULT_CURVE
   236  }
   237  
   238  // RSA defines parameters for an RSA key.
   239  type Specification_RSA struct {
   240  	// Size of the keys in bits. Must be sufficiently large to allow two primes
   241  	// to be generated.
   242  	// Optional. If not set, the key size will be chosen by Trillian.
   243  	Bits                 int32    `protobuf:"varint,1,opt,name=bits" json:"bits,omitempty"`
   244  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   245  	XXX_unrecognized     []byte   `json:"-"`
   246  	XXX_sizecache        int32    `json:"-"`
   247  }
   248  
   249  func (m *Specification_RSA) Reset()         { *m = Specification_RSA{} }
   250  func (m *Specification_RSA) String() string { return proto.CompactTextString(m) }
   251  func (*Specification_RSA) ProtoMessage()    {}
   252  func (*Specification_RSA) Descriptor() ([]byte, []int) {
   253  	return fileDescriptor_keyspb_30dfedc26d40c907, []int{0, 1}
   254  }
   255  func (m *Specification_RSA) XXX_Unmarshal(b []byte) error {
   256  	return xxx_messageInfo_Specification_RSA.Unmarshal(m, b)
   257  }
   258  func (m *Specification_RSA) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   259  	return xxx_messageInfo_Specification_RSA.Marshal(b, m, deterministic)
   260  }
   261  func (dst *Specification_RSA) XXX_Merge(src proto.Message) {
   262  	xxx_messageInfo_Specification_RSA.Merge(dst, src)
   263  }
   264  func (m *Specification_RSA) XXX_Size() int {
   265  	return xxx_messageInfo_Specification_RSA.Size(m)
   266  }
   267  func (m *Specification_RSA) XXX_DiscardUnknown() {
   268  	xxx_messageInfo_Specification_RSA.DiscardUnknown(m)
   269  }
   270  
   271  var xxx_messageInfo_Specification_RSA proto.InternalMessageInfo
   272  
   273  func (m *Specification_RSA) GetBits() int32 {
   274  	if m != nil {
   275  		return m.Bits
   276  	}
   277  	return 0
   278  }
   279  
   280  // PEMKeyFile identifies a private key stored in a PEM-encoded file.
   281  type PEMKeyFile struct {
   282  	// File path of the private key.
   283  	Path string `protobuf:"bytes,1,opt,name=path" json:"path,omitempty"`
   284  	// Password for decrypting the private key.
   285  	// If empty, indicates that the private key is not encrypted.
   286  	Password             string   `protobuf:"bytes,2,opt,name=password" json:"password,omitempty"`
   287  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   288  	XXX_unrecognized     []byte   `json:"-"`
   289  	XXX_sizecache        int32    `json:"-"`
   290  }
   291  
   292  func (m *PEMKeyFile) Reset()         { *m = PEMKeyFile{} }
   293  func (m *PEMKeyFile) String() string { return proto.CompactTextString(m) }
   294  func (*PEMKeyFile) ProtoMessage()    {}
   295  func (*PEMKeyFile) Descriptor() ([]byte, []int) {
   296  	return fileDescriptor_keyspb_30dfedc26d40c907, []int{1}
   297  }
   298  func (m *PEMKeyFile) XXX_Unmarshal(b []byte) error {
   299  	return xxx_messageInfo_PEMKeyFile.Unmarshal(m, b)
   300  }
   301  func (m *PEMKeyFile) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   302  	return xxx_messageInfo_PEMKeyFile.Marshal(b, m, deterministic)
   303  }
   304  func (dst *PEMKeyFile) XXX_Merge(src proto.Message) {
   305  	xxx_messageInfo_PEMKeyFile.Merge(dst, src)
   306  }
   307  func (m *PEMKeyFile) XXX_Size() int {
   308  	return xxx_messageInfo_PEMKeyFile.Size(m)
   309  }
   310  func (m *PEMKeyFile) XXX_DiscardUnknown() {
   311  	xxx_messageInfo_PEMKeyFile.DiscardUnknown(m)
   312  }
   313  
   314  var xxx_messageInfo_PEMKeyFile proto.InternalMessageInfo
   315  
   316  func (m *PEMKeyFile) GetPath() string {
   317  	if m != nil {
   318  		return m.Path
   319  	}
   320  	return ""
   321  }
   322  
   323  func (m *PEMKeyFile) GetPassword() string {
   324  	if m != nil {
   325  		return m.Password
   326  	}
   327  	return ""
   328  }
   329  
   330  // PrivateKey is a private key, used for generating signatures.
   331  type PrivateKey struct {
   332  	// The key in DER-encoded form.
   333  	// The specific format (e.g. PKCS8) is not specified.
   334  	Der                  []byte   `protobuf:"bytes,1,opt,name=der,proto3" json:"der,omitempty"`
   335  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   336  	XXX_unrecognized     []byte   `json:"-"`
   337  	XXX_sizecache        int32    `json:"-"`
   338  }
   339  
   340  func (m *PrivateKey) Reset()         { *m = PrivateKey{} }
   341  func (m *PrivateKey) String() string { return proto.CompactTextString(m) }
   342  func (*PrivateKey) ProtoMessage()    {}
   343  func (*PrivateKey) Descriptor() ([]byte, []int) {
   344  	return fileDescriptor_keyspb_30dfedc26d40c907, []int{2}
   345  }
   346  func (m *PrivateKey) XXX_Unmarshal(b []byte) error {
   347  	return xxx_messageInfo_PrivateKey.Unmarshal(m, b)
   348  }
   349  func (m *PrivateKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   350  	return xxx_messageInfo_PrivateKey.Marshal(b, m, deterministic)
   351  }
   352  func (dst *PrivateKey) XXX_Merge(src proto.Message) {
   353  	xxx_messageInfo_PrivateKey.Merge(dst, src)
   354  }
   355  func (m *PrivateKey) XXX_Size() int {
   356  	return xxx_messageInfo_PrivateKey.Size(m)
   357  }
   358  func (m *PrivateKey) XXX_DiscardUnknown() {
   359  	xxx_messageInfo_PrivateKey.DiscardUnknown(m)
   360  }
   361  
   362  var xxx_messageInfo_PrivateKey proto.InternalMessageInfo
   363  
   364  func (m *PrivateKey) GetDer() []byte {
   365  	if m != nil {
   366  		return m.Der
   367  	}
   368  	return nil
   369  }
   370  
   371  // PublicKey is a public key, used for verifying signatures.
   372  type PublicKey struct {
   373  	// The key in DER-encoded PKIX form.
   374  	Der                  []byte   `protobuf:"bytes,1,opt,name=der,proto3" json:"der,omitempty"`
   375  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   376  	XXX_unrecognized     []byte   `json:"-"`
   377  	XXX_sizecache        int32    `json:"-"`
   378  }
   379  
   380  func (m *PublicKey) Reset()         { *m = PublicKey{} }
   381  func (m *PublicKey) String() string { return proto.CompactTextString(m) }
   382  func (*PublicKey) ProtoMessage()    {}
   383  func (*PublicKey) Descriptor() ([]byte, []int) {
   384  	return fileDescriptor_keyspb_30dfedc26d40c907, []int{3}
   385  }
   386  func (m *PublicKey) XXX_Unmarshal(b []byte) error {
   387  	return xxx_messageInfo_PublicKey.Unmarshal(m, b)
   388  }
   389  func (m *PublicKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   390  	return xxx_messageInfo_PublicKey.Marshal(b, m, deterministic)
   391  }
   392  func (dst *PublicKey) XXX_Merge(src proto.Message) {
   393  	xxx_messageInfo_PublicKey.Merge(dst, src)
   394  }
   395  func (m *PublicKey) XXX_Size() int {
   396  	return xxx_messageInfo_PublicKey.Size(m)
   397  }
   398  func (m *PublicKey) XXX_DiscardUnknown() {
   399  	xxx_messageInfo_PublicKey.DiscardUnknown(m)
   400  }
   401  
   402  var xxx_messageInfo_PublicKey proto.InternalMessageInfo
   403  
   404  func (m *PublicKey) GetDer() []byte {
   405  	if m != nil {
   406  		return m.Der
   407  	}
   408  	return nil
   409  }
   410  
   411  // PKCS11Config identifies a private key accessed using PKCS #11.
   412  type PKCS11Config struct {
   413  	// The label of the PKCS#11 token.
   414  	TokenLabel string `protobuf:"bytes,1,opt,name=token_label,json=tokenLabel" json:"token_label,omitempty"`
   415  	// The PIN for the specific token.
   416  	Pin string `protobuf:"bytes,2,opt,name=pin" json:"pin,omitempty"`
   417  	// The PEM public key assosciated with the private key to be used.
   418  	PublicKey            string   `protobuf:"bytes,3,opt,name=public_key,json=publicKey" json:"public_key,omitempty"`
   419  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   420  	XXX_unrecognized     []byte   `json:"-"`
   421  	XXX_sizecache        int32    `json:"-"`
   422  }
   423  
   424  func (m *PKCS11Config) Reset()         { *m = PKCS11Config{} }
   425  func (m *PKCS11Config) String() string { return proto.CompactTextString(m) }
   426  func (*PKCS11Config) ProtoMessage()    {}
   427  func (*PKCS11Config) Descriptor() ([]byte, []int) {
   428  	return fileDescriptor_keyspb_30dfedc26d40c907, []int{4}
   429  }
   430  func (m *PKCS11Config) XXX_Unmarshal(b []byte) error {
   431  	return xxx_messageInfo_PKCS11Config.Unmarshal(m, b)
   432  }
   433  func (m *PKCS11Config) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   434  	return xxx_messageInfo_PKCS11Config.Marshal(b, m, deterministic)
   435  }
   436  func (dst *PKCS11Config) XXX_Merge(src proto.Message) {
   437  	xxx_messageInfo_PKCS11Config.Merge(dst, src)
   438  }
   439  func (m *PKCS11Config) XXX_Size() int {
   440  	return xxx_messageInfo_PKCS11Config.Size(m)
   441  }
   442  func (m *PKCS11Config) XXX_DiscardUnknown() {
   443  	xxx_messageInfo_PKCS11Config.DiscardUnknown(m)
   444  }
   445  
   446  var xxx_messageInfo_PKCS11Config proto.InternalMessageInfo
   447  
   448  func (m *PKCS11Config) GetTokenLabel() string {
   449  	if m != nil {
   450  		return m.TokenLabel
   451  	}
   452  	return ""
   453  }
   454  
   455  func (m *PKCS11Config) GetPin() string {
   456  	if m != nil {
   457  		return m.Pin
   458  	}
   459  	return ""
   460  }
   461  
   462  func (m *PKCS11Config) GetPublicKey() string {
   463  	if m != nil {
   464  		return m.PublicKey
   465  	}
   466  	return ""
   467  }
   468  
   469  func init() {
   470  	proto.RegisterType((*Specification)(nil), "keyspb.Specification")
   471  	proto.RegisterType((*Specification_ECDSA)(nil), "keyspb.Specification.ECDSA")
   472  	proto.RegisterType((*Specification_RSA)(nil), "keyspb.Specification.RSA")
   473  	proto.RegisterType((*PEMKeyFile)(nil), "keyspb.PEMKeyFile")
   474  	proto.RegisterType((*PrivateKey)(nil), "keyspb.PrivateKey")
   475  	proto.RegisterType((*PublicKey)(nil), "keyspb.PublicKey")
   476  	proto.RegisterType((*PKCS11Config)(nil), "keyspb.PKCS11Config")
   477  	proto.RegisterEnum("keyspb.Specification_ECDSA_Curve", Specification_ECDSA_Curve_name, Specification_ECDSA_Curve_value)
   478  }
   479  
   480  func init() { proto.RegisterFile("crypto/keyspb/keyspb.proto", fileDescriptor_keyspb_30dfedc26d40c907) }
   481  
   482  var fileDescriptor_keyspb_30dfedc26d40c907 = []byte{
   483  	// 403 bytes of a gzipped FileDescriptorProto
   484  	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0x5f, 0x6f, 0xd3, 0x30,
   485  	0x14, 0xc5, 0xd7, 0x76, 0xad, 0x9a, 0xdb, 0x0e, 0x05, 0x3f, 0x6d, 0x41, 0xe3, 0x4f, 0x9e, 0x26,
   486  	0x1e, 0x12, 0x35, 0x63, 0x30, 0x21, 0x1e, 0xe8, 0xb2, 0x4c, 0x48, 0x1d, 0x52, 0xe4, 0x30, 0x1e,
   487  	0x78, 0x09, 0x4e, 0xea, 0x65, 0x56, 0xb3, 0xd8, 0x72, 0xdc, 0xa1, 0xf0, 0xa1, 0xf8, 0x8c, 0x28,
   488  	0x37, 0x19, 0x68, 0xd2, 0xb4, 0x27, 0x9f, 0x6b, 0x9f, 0x9f, 0xcf, 0xbd, 0xd2, 0x05, 0x27, 0xd7,
   489  	0x8d, 0x32, 0xd2, 0xdf, 0xf0, 0xa6, 0x56, 0x59, 0x7f, 0x78, 0x4a, 0x4b, 0x23, 0xc9, 0xa4, 0xab,
   490  	0xdc, 0x3f, 0x43, 0xd8, 0x4b, 0x14, 0xcf, 0xc5, 0xb5, 0xc8, 0x99, 0x11, 0xb2, 0x22, 0x9f, 0x61,
   491  	0xce, 0xf3, 0x75, 0xcd, 0x52, 0xc5, 0x34, 0xbb, 0xad, 0xf7, 0x07, 0xaf, 0x07, 0x47, 0xb3, 0xe0,
   492  	0x85, 0xd7, 0xe3, 0x0f, 0xcc, 0x5e, 0x14, 0x9e, 0x27, 0xcb, 0x2f, 0x3b, 0x74, 0x86, 0x48, 0x8c,
   493  	0x04, 0xf9, 0x08, 0xa0, 0xff, 0xf3, 0x43, 0xe4, 0x0f, 0x1e, 0xe7, 0x29, 0xd2, 0x96, 0xbe, 0x67,
   494  	0x9d, 0xdf, 0x30, 0xc6, 0x3f, 0xc9, 0x07, 0x18, 0xe7, 0x5b, 0x7d, 0xc7, 0x31, 0xff, 0x59, 0xf0,
   495  	0xe6, 0x89, 0x7c, 0x2f, 0x6c, 0x8d, 0xb4, 0xf3, 0xbb, 0xa7, 0x30, 0xc6, 0x9a, 0x3c, 0x87, 0xbd,
   496  	0xf3, 0xe8, 0x62, 0x79, 0x75, 0xf9, 0x2d, 0x0d, 0xaf, 0xe8, 0xf7, 0xc8, 0xde, 0x21, 0x53, 0xd8,
   497  	0x8d, 0x83, 0x93, 0xf7, 0xf6, 0x00, 0xd5, 0xf1, 0xe9, 0x3b, 0x7b, 0x88, 0xea, 0x24, 0x58, 0xd8,
   498  	0x23, 0xe7, 0x00, 0x46, 0x34, 0x59, 0x12, 0x02, 0xbb, 0x99, 0x30, 0xdd, 0xe0, 0x63, 0x8a, 0xfa,
   499  	0x6c, 0x0a, 0x93, 0x6e, 0x1c, 0xf7, 0x13, 0x40, 0x1c, 0x7d, 0x5d, 0xf1, 0xe6, 0x42, 0x94, 0xbc,
   500  	0xf5, 0x2a, 0x66, 0x6e, 0xd0, 0x6b, 0x51, 0xd4, 0xc4, 0x81, 0xa9, 0x62, 0x75, 0xfd, 0x4b, 0xea,
   501  	0x35, 0x0e, 0x6f, 0xd1, 0x7f, 0xb5, 0xfb, 0x12, 0x20, 0xd6, 0xe2, 0x8e, 0x19, 0xbe, 0xe2, 0x0d,
   502  	0xb1, 0x61, 0xb4, 0xe6, 0x1a, 0xe1, 0x39, 0x6d, 0xa5, 0x7b, 0x08, 0x56, 0xbc, 0xcd, 0x4a, 0x91,
   503  	0x3f, 0xfe, 0xfc, 0x13, 0xe6, 0xf1, 0x2a, 0x4c, 0x16, 0x8b, 0x50, 0x56, 0xd7, 0xa2, 0x20, 0xaf,
   504  	0x60, 0x66, 0xe4, 0x86, 0x57, 0x69, 0xc9, 0x32, 0x5e, 0xf6, 0x5d, 0x00, 0x5e, 0x5d, 0xb6, 0x37,
   505  	0xed, 0x17, 0x4a, 0x54, 0x7d, 0x1b, 0xad, 0x24, 0x87, 0x00, 0x0a, 0x13, 0xd2, 0x0d, 0x6f, 0xf6,
   506  	0x47, 0xf8, 0x60, 0xa9, 0xfb, 0xcc, 0xb3, 0xb7, 0x3f, 0x8e, 0x0a, 0x61, 0x6e, 0xb6, 0x99, 0x97,
   507  	0xcb, 0x5b, 0xbf, 0x90, 0xb2, 0x28, 0xb9, 0x6f, 0xb4, 0x28, 0x4b, 0xc1, 0x2a, 0xff, 0xc1, 0x42,
   508  	0x65, 0x13, 0x5c, 0xa5, 0xe3, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xf1, 0x64, 0xdf, 0x9a, 0x68,
   509  	0x02, 0x00, 0x00,
   510  }