blob: e13d0ca8066fe4633c078a79063a100c31cd7d7d [file] [log] [blame]
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: test.proto
package google_cloud_conformance_storage_v1
import (
fmt "fmt"
math "math"
proto "github.com/golang/protobuf/proto"
timestamp "github.com/golang/protobuf/ptypes/timestamp"
)
// 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 SigningV4Test_UrlStyle int32
const (
SigningV4Test_PATH_STYLE SigningV4Test_UrlStyle = 0
SigningV4Test_VIRTUAL_HOSTED_STYLE SigningV4Test_UrlStyle = 1
SigningV4Test_BUCKET_BOUND_DOMAIN SigningV4Test_UrlStyle = 2
)
var SigningV4Test_UrlStyle_name = map[int32]string{
0: "PATH_STYLE",
1: "VIRTUAL_HOSTED_STYLE",
2: "BUCKET_BOUND_DOMAIN",
}
var SigningV4Test_UrlStyle_value = map[string]int32{
"PATH_STYLE": 0,
"VIRTUAL_HOSTED_STYLE": 1,
"BUCKET_BOUND_DOMAIN": 2,
}
func (x SigningV4Test_UrlStyle) String() string {
return proto.EnumName(SigningV4Test_UrlStyle_name, int32(x))
}
func (SigningV4Test_UrlStyle) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_c161fcfdc0c3ff1e, []int{1, 0}
}
type TestFile struct {
SigningV4Tests []*SigningV4Test `protobuf:"bytes,1,rep,name=signing_v4_tests,json=signingV4Tests,proto3" json:"signing_v4_tests,omitempty"`
PostPolicyV4Tests []*PostPolicyV4Test `protobuf:"bytes,2,rep,name=post_policy_v4_tests,json=postPolicyV4Tests,proto3" json:"post_policy_v4_tests,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TestFile) Reset() { *m = TestFile{} }
func (m *TestFile) String() string { return proto.CompactTextString(m) }
func (*TestFile) ProtoMessage() {}
func (*TestFile) Descriptor() ([]byte, []int) {
return fileDescriptor_c161fcfdc0c3ff1e, []int{0}
}
func (m *TestFile) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TestFile.Unmarshal(m, b)
}
func (m *TestFile) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TestFile.Marshal(b, m, deterministic)
}
func (m *TestFile) XXX_Merge(src proto.Message) {
xxx_messageInfo_TestFile.Merge(m, src)
}
func (m *TestFile) XXX_Size() int {
return xxx_messageInfo_TestFile.Size(m)
}
func (m *TestFile) XXX_DiscardUnknown() {
xxx_messageInfo_TestFile.DiscardUnknown(m)
}
var xxx_messageInfo_TestFile proto.InternalMessageInfo
func (m *TestFile) GetSigningV4Tests() []*SigningV4Test {
if m != nil {
return m.SigningV4Tests
}
return nil
}
func (m *TestFile) GetPostPolicyV4Tests() []*PostPolicyV4Test {
if m != nil {
return m.PostPolicyV4Tests
}
return nil
}
type SigningV4Test struct {
FileName string `protobuf:"bytes,1,opt,name=fileName,proto3" json:"fileName,omitempty"`
Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
Bucket string `protobuf:"bytes,3,opt,name=bucket,proto3" json:"bucket,omitempty"`
Object string `protobuf:"bytes,4,opt,name=object,proto3" json:"object,omitempty"`
Method string `protobuf:"bytes,5,opt,name=method,proto3" json:"method,omitempty"`
Expiration int64 `protobuf:"varint,6,opt,name=expiration,proto3" json:"expiration,omitempty"`
Timestamp *timestamp.Timestamp `protobuf:"bytes,7,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
ExpectedUrl string `protobuf:"bytes,8,opt,name=expectedUrl,proto3" json:"expectedUrl,omitempty"`
Headers map[string]string `protobuf:"bytes,9,rep,name=headers,proto3" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
QueryParameters map[string]string `protobuf:"bytes,10,rep,name=query_parameters,json=queryParameters,proto3" json:"query_parameters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
Scheme string `protobuf:"bytes,11,opt,name=scheme,proto3" json:"scheme,omitempty"`
UrlStyle SigningV4Test_UrlStyle `protobuf:"varint,12,opt,name=urlStyle,proto3,enum=google.cloud.conformance.storage.v1.SigningV4Test_UrlStyle" json:"urlStyle,omitempty"`
BucketBoundDomain string `protobuf:"bytes,13,opt,name=bucketBoundDomain,proto3" json:"bucketBoundDomain,omitempty"`
ExpectedCanonicalRequest string `protobuf:"bytes,14,opt,name=expectedCanonicalRequest,proto3" json:"expectedCanonicalRequest,omitempty"`
ExpectedStringToSign string `protobuf:"bytes,15,opt,name=expectedStringToSign,proto3" json:"expectedStringToSign,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SigningV4Test) Reset() { *m = SigningV4Test{} }
func (m *SigningV4Test) String() string { return proto.CompactTextString(m) }
func (*SigningV4Test) ProtoMessage() {}
func (*SigningV4Test) Descriptor() ([]byte, []int) {
return fileDescriptor_c161fcfdc0c3ff1e, []int{1}
}
func (m *SigningV4Test) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SigningV4Test.Unmarshal(m, b)
}
func (m *SigningV4Test) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SigningV4Test.Marshal(b, m, deterministic)
}
func (m *SigningV4Test) XXX_Merge(src proto.Message) {
xxx_messageInfo_SigningV4Test.Merge(m, src)
}
func (m *SigningV4Test) XXX_Size() int {
return xxx_messageInfo_SigningV4Test.Size(m)
}
func (m *SigningV4Test) XXX_DiscardUnknown() {
xxx_messageInfo_SigningV4Test.DiscardUnknown(m)
}
var xxx_messageInfo_SigningV4Test proto.InternalMessageInfo
func (m *SigningV4Test) GetFileName() string {
if m != nil {
return m.FileName
}
return ""
}
func (m *SigningV4Test) GetDescription() string {
if m != nil {
return m.Description
}
return ""
}
func (m *SigningV4Test) GetBucket() string {
if m != nil {
return m.Bucket
}
return ""
}
func (m *SigningV4Test) GetObject() string {
if m != nil {
return m.Object
}
return ""
}
func (m *SigningV4Test) GetMethod() string {
if m != nil {
return m.Method
}
return ""
}
func (m *SigningV4Test) GetExpiration() int64 {
if m != nil {
return m.Expiration
}
return 0
}
func (m *SigningV4Test) GetTimestamp() *timestamp.Timestamp {
if m != nil {
return m.Timestamp
}
return nil
}
func (m *SigningV4Test) GetExpectedUrl() string {
if m != nil {
return m.ExpectedUrl
}
return ""
}
func (m *SigningV4Test) GetHeaders() map[string]string {
if m != nil {
return m.Headers
}
return nil
}
func (m *SigningV4Test) GetQueryParameters() map[string]string {
if m != nil {
return m.QueryParameters
}
return nil
}
func (m *SigningV4Test) GetScheme() string {
if m != nil {
return m.Scheme
}
return ""
}
func (m *SigningV4Test) GetUrlStyle() SigningV4Test_UrlStyle {
if m != nil {
return m.UrlStyle
}
return SigningV4Test_PATH_STYLE
}
func (m *SigningV4Test) GetBucketBoundDomain() string {
if m != nil {
return m.BucketBoundDomain
}
return ""
}
func (m *SigningV4Test) GetExpectedCanonicalRequest() string {
if m != nil {
return m.ExpectedCanonicalRequest
}
return ""
}
func (m *SigningV4Test) GetExpectedStringToSign() string {
if m != nil {
return m.ExpectedStringToSign
}
return ""
}
type ConditionalMatches struct {
Expression []string `protobuf:"bytes,1,rep,name=expression,proto3" json:"expression,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ConditionalMatches) Reset() { *m = ConditionalMatches{} }
func (m *ConditionalMatches) String() string { return proto.CompactTextString(m) }
func (*ConditionalMatches) ProtoMessage() {}
func (*ConditionalMatches) Descriptor() ([]byte, []int) {
return fileDescriptor_c161fcfdc0c3ff1e, []int{2}
}
func (m *ConditionalMatches) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ConditionalMatches.Unmarshal(m, b)
}
func (m *ConditionalMatches) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ConditionalMatches.Marshal(b, m, deterministic)
}
func (m *ConditionalMatches) XXX_Merge(src proto.Message) {
xxx_messageInfo_ConditionalMatches.Merge(m, src)
}
func (m *ConditionalMatches) XXX_Size() int {
return xxx_messageInfo_ConditionalMatches.Size(m)
}
func (m *ConditionalMatches) XXX_DiscardUnknown() {
xxx_messageInfo_ConditionalMatches.DiscardUnknown(m)
}
var xxx_messageInfo_ConditionalMatches proto.InternalMessageInfo
func (m *ConditionalMatches) GetExpression() []string {
if m != nil {
return m.Expression
}
return nil
}
type PolicyConditions struct {
SuccessActionStatus string `protobuf:"bytes,1,opt,name=successActionStatus,proto3" json:"successActionStatus,omitempty"`
SuccessActionRedirect string `protobuf:"bytes,2,opt,name=successActionRedirect,proto3" json:"successActionRedirect,omitempty"`
Matches []*ConditionalMatches `protobuf:"bytes,3,rep,name=matches,proto3" json:"matches,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *PolicyConditions) Reset() { *m = PolicyConditions{} }
func (m *PolicyConditions) String() string { return proto.CompactTextString(m) }
func (*PolicyConditions) ProtoMessage() {}
func (*PolicyConditions) Descriptor() ([]byte, []int) {
return fileDescriptor_c161fcfdc0c3ff1e, []int{3}
}
func (m *PolicyConditions) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PolicyConditions.Unmarshal(m, b)
}
func (m *PolicyConditions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PolicyConditions.Marshal(b, m, deterministic)
}
func (m *PolicyConditions) XXX_Merge(src proto.Message) {
xxx_messageInfo_PolicyConditions.Merge(m, src)
}
func (m *PolicyConditions) XXX_Size() int {
return xxx_messageInfo_PolicyConditions.Size(m)
}
func (m *PolicyConditions) XXX_DiscardUnknown() {
xxx_messageInfo_PolicyConditions.DiscardUnknown(m)
}
var xxx_messageInfo_PolicyConditions proto.InternalMessageInfo
func (m *PolicyConditions) GetSuccessActionStatus() string {
if m != nil {
return m.SuccessActionStatus
}
return ""
}
func (m *PolicyConditions) GetSuccessActionRedirect() string {
if m != nil {
return m.SuccessActionRedirect
}
return ""
}
func (m *PolicyConditions) GetMatches() []*ConditionalMatches {
if m != nil {
return m.Matches
}
return nil
}
type PolicyInput struct {
Scheme string `protobuf:"bytes,1,opt,name=scheme,proto3" json:"scheme,omitempty"`
Bucket string `protobuf:"bytes,2,opt,name=bucket,proto3" json:"bucket,omitempty"`
Object string `protobuf:"bytes,3,opt,name=object,proto3" json:"object,omitempty"`
Expiration int64 `protobuf:"varint,4,opt,name=expiration,proto3" json:"expiration,omitempty"`
Timestamp *timestamp.Timestamp `protobuf:"bytes,5,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
Headers map[string]string `protobuf:"bytes,6,rep,name=headers,proto3" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
Conditions *PolicyConditions `protobuf:"bytes,7,opt,name=conditions,proto3" json:"conditions,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *PolicyInput) Reset() { *m = PolicyInput{} }
func (m *PolicyInput) String() string { return proto.CompactTextString(m) }
func (*PolicyInput) ProtoMessage() {}
func (*PolicyInput) Descriptor() ([]byte, []int) {
return fileDescriptor_c161fcfdc0c3ff1e, []int{4}
}
func (m *PolicyInput) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PolicyInput.Unmarshal(m, b)
}
func (m *PolicyInput) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PolicyInput.Marshal(b, m, deterministic)
}
func (m *PolicyInput) XXX_Merge(src proto.Message) {
xxx_messageInfo_PolicyInput.Merge(m, src)
}
func (m *PolicyInput) XXX_Size() int {
return xxx_messageInfo_PolicyInput.Size(m)
}
func (m *PolicyInput) XXX_DiscardUnknown() {
xxx_messageInfo_PolicyInput.DiscardUnknown(m)
}
var xxx_messageInfo_PolicyInput proto.InternalMessageInfo
func (m *PolicyInput) GetScheme() string {
if m != nil {
return m.Scheme
}
return ""
}
func (m *PolicyInput) GetBucket() string {
if m != nil {
return m.Bucket
}
return ""
}
func (m *PolicyInput) GetObject() string {
if m != nil {
return m.Object
}
return ""
}
func (m *PolicyInput) GetExpiration() int64 {
if m != nil {
return m.Expiration
}
return 0
}
func (m *PolicyInput) GetTimestamp() *timestamp.Timestamp {
if m != nil {
return m.Timestamp
}
return nil
}
func (m *PolicyInput) GetHeaders() map[string]string {
if m != nil {
return m.Headers
}
return nil
}
func (m *PolicyInput) GetConditions() *PolicyConditions {
if m != nil {
return m.Conditions
}
return nil
}
type PolicyOutput struct {
Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
Fields map[string]string `protobuf:"bytes,3,rep,name=fields,proto3" json:"fields,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
ExpectedDecodedPolicy string `protobuf:"bytes,4,opt,name=expectedDecodedPolicy,proto3" json:"expectedDecodedPolicy,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *PolicyOutput) Reset() { *m = PolicyOutput{} }
func (m *PolicyOutput) String() string { return proto.CompactTextString(m) }
func (*PolicyOutput) ProtoMessage() {}
func (*PolicyOutput) Descriptor() ([]byte, []int) {
return fileDescriptor_c161fcfdc0c3ff1e, []int{5}
}
func (m *PolicyOutput) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PolicyOutput.Unmarshal(m, b)
}
func (m *PolicyOutput) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PolicyOutput.Marshal(b, m, deterministic)
}
func (m *PolicyOutput) XXX_Merge(src proto.Message) {
xxx_messageInfo_PolicyOutput.Merge(m, src)
}
func (m *PolicyOutput) XXX_Size() int {
return xxx_messageInfo_PolicyOutput.Size(m)
}
func (m *PolicyOutput) XXX_DiscardUnknown() {
xxx_messageInfo_PolicyOutput.DiscardUnknown(m)
}
var xxx_messageInfo_PolicyOutput proto.InternalMessageInfo
func (m *PolicyOutput) GetUrl() string {
if m != nil {
return m.Url
}
return ""
}
func (m *PolicyOutput) GetKey() string {
if m != nil {
return m.Key
}
return ""
}
func (m *PolicyOutput) GetFields() map[string]string {
if m != nil {
return m.Fields
}
return nil
}
func (m *PolicyOutput) GetExpectedDecodedPolicy() string {
if m != nil {
return m.ExpectedDecodedPolicy
}
return ""
}
type PostPolicyV4Test struct {
Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"`
PolicyInput *PolicyInput `protobuf:"bytes,2,opt,name=policyInput,proto3" json:"policyInput,omitempty"`
PolicyOutput *PolicyOutput `protobuf:"bytes,3,opt,name=policyOutput,proto3" json:"policyOutput,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *PostPolicyV4Test) Reset() { *m = PostPolicyV4Test{} }
func (m *PostPolicyV4Test) String() string { return proto.CompactTextString(m) }
func (*PostPolicyV4Test) ProtoMessage() {}
func (*PostPolicyV4Test) Descriptor() ([]byte, []int) {
return fileDescriptor_c161fcfdc0c3ff1e, []int{6}
}
func (m *PostPolicyV4Test) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PostPolicyV4Test.Unmarshal(m, b)
}
func (m *PostPolicyV4Test) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PostPolicyV4Test.Marshal(b, m, deterministic)
}
func (m *PostPolicyV4Test) XXX_Merge(src proto.Message) {
xxx_messageInfo_PostPolicyV4Test.Merge(m, src)
}
func (m *PostPolicyV4Test) XXX_Size() int {
return xxx_messageInfo_PostPolicyV4Test.Size(m)
}
func (m *PostPolicyV4Test) XXX_DiscardUnknown() {
xxx_messageInfo_PostPolicyV4Test.DiscardUnknown(m)
}
var xxx_messageInfo_PostPolicyV4Test proto.InternalMessageInfo
func (m *PostPolicyV4Test) GetDescription() string {
if m != nil {
return m.Description
}
return ""
}
func (m *PostPolicyV4Test) GetPolicyInput() *PolicyInput {
if m != nil {
return m.PolicyInput
}
return nil
}
func (m *PostPolicyV4Test) GetPolicyOutput() *PolicyOutput {
if m != nil {
return m.PolicyOutput
}
return nil
}
func init() {
proto.RegisterEnum("google.cloud.conformance.storage.v1.SigningV4Test_UrlStyle", SigningV4Test_UrlStyle_name, SigningV4Test_UrlStyle_value)
proto.RegisterType((*TestFile)(nil), "google.cloud.conformance.storage.v1.TestFile")
proto.RegisterType((*SigningV4Test)(nil), "google.cloud.conformance.storage.v1.SigningV4Test")
proto.RegisterMapType((map[string]string)(nil), "google.cloud.conformance.storage.v1.SigningV4Test.HeadersEntry")
proto.RegisterMapType((map[string]string)(nil), "google.cloud.conformance.storage.v1.SigningV4Test.QueryParametersEntry")
proto.RegisterType((*ConditionalMatches)(nil), "google.cloud.conformance.storage.v1.ConditionalMatches")
proto.RegisterType((*PolicyConditions)(nil), "google.cloud.conformance.storage.v1.PolicyConditions")
proto.RegisterType((*PolicyInput)(nil), "google.cloud.conformance.storage.v1.PolicyInput")
proto.RegisterMapType((map[string]string)(nil), "google.cloud.conformance.storage.v1.PolicyInput.HeadersEntry")
proto.RegisterType((*PolicyOutput)(nil), "google.cloud.conformance.storage.v1.PolicyOutput")
proto.RegisterMapType((map[string]string)(nil), "google.cloud.conformance.storage.v1.PolicyOutput.FieldsEntry")
proto.RegisterType((*PostPolicyV4Test)(nil), "google.cloud.conformance.storage.v1.PostPolicyV4Test")
}
func init() { proto.RegisterFile("test.proto", fileDescriptor_c161fcfdc0c3ff1e) }
var fileDescriptor_c161fcfdc0c3ff1e = []byte{
// 917 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0xef, 0x6e, 0xda, 0x56,
0x14, 0x9f, 0xa1, 0x21, 0xe4, 0x38, 0x4d, 0xe9, 0x2d, 0xdb, 0x2c, 0x3e, 0x6c, 0x88, 0x7d, 0x18,
0x93, 0x26, 0xb7, 0x61, 0xa9, 0xd6, 0x65, 0x9a, 0xa6, 0x10, 0xd2, 0x26, 0x5a, 0x93, 0x50, 0x03,
0x89, 0x2a, 0x4d, 0x42, 0x8e, 0x7d, 0x00, 0xaf, 0xb6, 0xaf, 0xe3, 0x7b, 0x1d, 0x95, 0x67, 0xd9,
0x1b, 0xec, 0x21, 0xf6, 0x06, 0x93, 0xf6, 0x06, 0x7b, 0x8f, 0x7d, 0x9a, 0xee, 0xbd, 0x36, 0x98,
0x86, 0x4c, 0x90, 0x7e, 0xe3, 0x9e, 0x73, 0xcf, 0xef, 0xe7, 0xf3, 0xef, 0x77, 0x01, 0xe0, 0xc8,
0xb8, 0x19, 0xc5, 0x94, 0x53, 0xf2, 0xd5, 0x98, 0xd2, 0xb1, 0x8f, 0xa6, 0xe3, 0xd3, 0xc4, 0x35,
0x1d, 0x1a, 0x8e, 0x68, 0x1c, 0xd8, 0xa1, 0x83, 0x26, 0xe3, 0x34, 0xb6, 0xc7, 0x68, 0xde, 0xec,
0xd6, 0xbe, 0x54, 0x97, 0x9e, 0xca, 0x90, 0xab, 0x64, 0xf4, 0x94, 0x7b, 0x01, 0x32, 0x6e, 0x07,
0x91, 0x42, 0x69, 0xfc, 0xad, 0x41, 0xb9, 0x8f, 0x8c, 0xbf, 0xf4, 0x7c, 0x24, 0xbf, 0x42, 0x85,
0x79, 0xe3, 0xd0, 0x0b, 0xc7, 0xc3, 0x9b, 0xbd, 0xa1, 0xe0, 0x62, 0x86, 0x56, 0x2f, 0x36, 0xf5,
0x56, 0xcb, 0x5c, 0x81, 0xcd, 0xec, 0xa9, 0xe0, 0x8b, 0x3d, 0x81, 0x68, 0xed, 0xb0, 0xfc, 0x91,
0x91, 0x11, 0x54, 0x23, 0xca, 0xf8, 0x30, 0xa2, 0xbe, 0xe7, 0x4c, 0xe7, 0x0c, 0x05, 0xc9, 0xf0,
0x7c, 0x25, 0x86, 0x2e, 0x65, 0xbc, 0x2b, 0xe3, 0x53, 0x92, 0xc7, 0xd1, 0x07, 0x16, 0xd6, 0xf8,
0x73, 0x13, 0x1e, 0x2e, 0x7c, 0x09, 0xa9, 0x41, 0x79, 0xe4, 0xf9, 0x78, 0x66, 0x07, 0x68, 0x68,
0x75, 0xad, 0xb9, 0x65, 0xcd, 0xce, 0xa4, 0x0e, 0xba, 0x8b, 0xcc, 0x89, 0xbd, 0x88, 0x7b, 0x34,
0x34, 0x0a, 0xd2, 0x9d, 0x37, 0x91, 0xcf, 0xa0, 0x74, 0x95, 0x38, 0xef, 0x90, 0x1b, 0x45, 0xe9,
0x4c, 0x4f, 0xc2, 0x4e, 0xaf, 0x7e, 0x43, 0x87, 0x1b, 0x0f, 0x94, 0x5d, 0x9d, 0x84, 0x3d, 0x40,
0x3e, 0xa1, 0xae, 0xb1, 0xa1, 0xec, 0xea, 0x44, 0xbe, 0x00, 0xc0, 0xf7, 0x91, 0x17, 0xdb, 0x92,
0xa8, 0x54, 0xd7, 0x9a, 0x45, 0x2b, 0x67, 0x21, 0x2f, 0x60, 0x6b, 0xd6, 0x1d, 0x63, 0xb3, 0xae,
0x35, 0xf5, 0x56, 0x2d, 0x2b, 0x4a, 0xd6, 0x3f, 0xb3, 0x9f, 0xdd, 0xb0, 0xe6, 0x97, 0x45, 0x0e,
0xf8, 0x3e, 0x42, 0x87, 0xa3, 0x3b, 0x88, 0x7d, 0xa3, 0xac, 0x72, 0xc8, 0x99, 0xc8, 0x5b, 0xd8,
0x9c, 0xa0, 0xed, 0x62, 0xcc, 0x8c, 0x2d, 0x59, 0xee, 0x9f, 0xd7, 0x6f, 0xa8, 0x79, 0xac, 0x10,
0x8e, 0x42, 0x1e, 0x4f, 0xad, 0x0c, 0x8f, 0xc4, 0x50, 0xb9, 0x4e, 0x30, 0x9e, 0x0e, 0x23, 0x3b,
0xb6, 0x03, 0xe4, 0x82, 0x03, 0x24, 0xc7, 0xab, 0x7b, 0x70, 0xbc, 0x11, 0x50, 0xdd, 0x19, 0x92,
0xe2, 0x7a, 0x74, 0xbd, 0x68, 0x15, 0x25, 0x66, 0xce, 0x04, 0x03, 0x34, 0x74, 0x55, 0x62, 0x75,
0x22, 0x97, 0x50, 0x4e, 0x62, 0xbf, 0xc7, 0xa7, 0x3e, 0x1a, 0xdb, 0x75, 0xad, 0xb9, 0xd3, 0xfa,
0xf1, 0x1e, 0xdf, 0x30, 0x48, 0x21, 0xac, 0x19, 0x18, 0xf9, 0x16, 0x1e, 0xab, 0xae, 0xb7, 0x69,
0x12, 0xba, 0x1d, 0x1a, 0xd8, 0x5e, 0x68, 0x3c, 0x94, 0xdc, 0xb7, 0x1d, 0x64, 0x1f, 0x8c, 0xac,
0xf8, 0x87, 0x76, 0x48, 0x43, 0xcf, 0xb1, 0x7d, 0x0b, 0xaf, 0x13, 0x64, 0xdc, 0xd8, 0x91, 0x41,
0x77, 0xfa, 0x49, 0x0b, 0xaa, 0x99, 0xaf, 0xc7, 0x63, 0x2f, 0x1c, 0xf7, 0xa9, 0xf8, 0x3a, 0xe3,
0x91, 0x8c, 0x5b, 0xea, 0xab, 0xed, 0xc3, 0x76, 0xbe, 0x37, 0xa4, 0x02, 0xc5, 0x77, 0x38, 0x4d,
0x47, 0x5d, 0xfc, 0x24, 0x55, 0xd8, 0xb8, 0xb1, 0xfd, 0x04, 0xd3, 0xf9, 0x56, 0x87, 0xfd, 0xc2,
0x0b, 0xad, 0xd6, 0x86, 0xea, 0xb2, 0x9a, 0xaf, 0x83, 0xd1, 0x38, 0x85, 0x72, 0x56, 0x33, 0xb2,
0x03, 0xd0, 0x3d, 0xe8, 0x1f, 0x0f, 0x7b, 0xfd, 0xb7, 0xaf, 0x8f, 0x2a, 0x9f, 0x10, 0x03, 0xaa,
0x17, 0x27, 0x56, 0x7f, 0x70, 0xf0, 0x7a, 0x78, 0x7c, 0xde, 0xeb, 0x1f, 0x75, 0x52, 0x8f, 0x46,
0x3e, 0x87, 0x27, 0xed, 0xc1, 0xe1, 0x2f, 0x47, 0xfd, 0x61, 0xfb, 0x7c, 0x70, 0xd6, 0x19, 0x76,
0xce, 0x4f, 0x0f, 0x4e, 0xce, 0x2a, 0x85, 0xc6, 0x1e, 0x90, 0x43, 0x1a, 0xba, 0x9e, 0xd8, 0x0a,
0xdb, 0x3f, 0xb5, 0xb9, 0x33, 0x41, 0x96, 0xae, 0x4f, 0x8c, 0x8c, 0x89, 0xf5, 0x11, 0xb2, 0xb4,
0x65, 0xe5, 0x2c, 0x8d, 0xbf, 0x34, 0xa8, 0x28, 0x21, 0x98, 0x05, 0x33, 0xf2, 0x0c, 0x9e, 0xb0,
0xc4, 0x71, 0x90, 0xb1, 0x03, 0x47, 0x58, 0x7a, 0xdc, 0xe6, 0x09, 0x4b, 0xb3, 0x5a, 0xe6, 0x22,
0x7b, 0xf0, 0xe9, 0x82, 0xd9, 0x42, 0xd7, 0x8b, 0xc5, 0x92, 0xab, 0xac, 0x97, 0x3b, 0xc9, 0x1b,
0xd8, 0x0c, 0xd4, 0x77, 0x1a, 0x45, 0x39, 0xfb, 0xdf, 0xaf, 0x34, 0x77, 0xb7, 0xd3, 0xb4, 0x32,
0x9c, 0xc6, 0xef, 0x45, 0xd0, 0x55, 0x3e, 0x27, 0x61, 0x94, 0xf0, 0xdc, 0xcc, 0x6b, 0x0b, 0x33,
0x3f, 0x97, 0xa7, 0xc2, 0x1d, 0xf2, 0x54, 0x5c, 0x90, 0xa7, 0x45, 0x19, 0x7a, 0xf0, 0xff, 0x32,
0xb4, 0xb1, 0x8e, 0x0c, 0x5d, 0xce, 0x45, 0xa6, 0x24, 0x8b, 0xf0, 0xd3, 0x8a, 0x9a, 0x3e, 0x4b,
0xf2, 0x0e, 0x89, 0x19, 0x00, 0x38, 0xb3, 0x9e, 0xa6, 0xd2, 0xf8, 0x7c, 0x0d, 0xec, 0xf9, 0x40,
0x58, 0x39, 0xa0, 0x8f, 0x59, 0x9b, 0xc6, 0xbf, 0x1a, 0x6c, 0x2b, 0xf0, 0xf3, 0x84, 0x8b, 0xf6,
0x54, 0xa0, 0x98, 0xc4, 0x7e, 0x16, 0x9c, 0xc4, 0x7e, 0x06, 0x57, 0x98, 0xc3, 0x0d, 0xa0, 0x34,
0xf2, 0xd0, 0x77, 0xb3, 0x21, 0x59, 0xa7, 0x3e, 0x8a, 0xc6, 0x7c, 0x29, 0xe3, 0x55, 0x7d, 0x52,
0x30, 0x31, 0xb2, 0x99, 0x2c, 0x74, 0xd0, 0xa1, 0x2e, 0xba, 0x2a, 0x24, 0x7d, 0x97, 0x96, 0x3b,
0x6b, 0x3f, 0x80, 0x9e, 0x03, 0x5b, 0x2b, 0xf9, 0x7f, 0xe4, 0xaa, 0x2d, 0xbe, 0xbb, 0x1f, 0x3e,
0xa4, 0xda, 0xed, 0x87, 0xd4, 0x02, 0x3d, 0x9a, 0xf7, 0x5a, 0xc2, 0xea, 0xad, 0x67, 0xeb, 0xce,
0x88, 0x95, 0x07, 0x21, 0x03, 0xd8, 0x8e, 0x72, 0xf5, 0x91, 0xb3, 0xae, 0xb7, 0x76, 0xd7, 0x2e,
0xac, 0xb5, 0x00, 0xd3, 0xbe, 0x84, 0xaf, 0x1d, 0x1a, 0xac, 0x82, 0xd2, 0xd5, 0xfe, 0x28, 0x7c,
0xf3, 0x4a, 0xdd, 0x3b, 0x94, 0xf7, 0x7a, 0xa9, 0xef, 0x62, 0xd7, 0x94, 0x7f, 0x48, 0xc4, 0x96,
0x67, 0x81, 0x57, 0x25, 0xb9, 0x42, 0xdf, 0xfd, 0x17, 0x00, 0x00, 0xff, 0xff, 0x0e, 0xac, 0xde,
0xde, 0xca, 0x09, 0x00, 0x00,
}