github.com/adnan-c/fabric_e2e_couchdb@v0.6.1-preview.0.20170228180935-21ce6b23cf91/protos/common/common.pb.go (about) 1 // Code generated by protoc-gen-go. 2 // source: common/common.proto 3 // DO NOT EDIT! 4 5 /* 6 Package common is a generated protocol buffer package. 7 8 It is generated from these files: 9 common/common.proto 10 common/configtx.proto 11 common/configuration.proto 12 common/ledger.proto 13 common/msp_principal.proto 14 common/policies.proto 15 16 It has these top-level messages: 17 LastConfig 18 Metadata 19 MetadataSignature 20 Header 21 ChannelHeader 22 SignatureHeader 23 Payload 24 Envelope 25 Block 26 BlockHeader 27 BlockData 28 BlockMetadata 29 ConfigEnvelope 30 ConfigGroupSchema 31 ConfigValueSchema 32 ConfigPolicySchema 33 Config 34 ConfigUpdateEnvelope 35 ConfigUpdate 36 ConfigGroup 37 ConfigValue 38 ConfigPolicy 39 ConfigSignature 40 HashingAlgorithm 41 BlockDataHashingStructure 42 OrdererAddresses 43 BlockchainInfo 44 MSPPrincipal 45 OrganizationUnit 46 MSPRole 47 Policy 48 SignaturePolicyEnvelope 49 SignaturePolicy 50 ImplicitMetaPolicy 51 */ 52 package common 53 54 import proto "github.com/golang/protobuf/proto" 55 import fmt "fmt" 56 import math "math" 57 import google_protobuf "github.com/golang/protobuf/ptypes/timestamp" 58 59 // Reference imports to suppress errors if they are not otherwise used. 60 var _ = proto.Marshal 61 var _ = fmt.Errorf 62 var _ = math.Inf 63 64 // This is a compile-time assertion to ensure that this generated file 65 // is compatible with the proto package it is being compiled against. 66 // A compilation error at this line likely means your copy of the 67 // proto package needs to be updated. 68 const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package 69 70 // These status codes are intended to resemble selected HTTP status codes 71 type Status int32 72 73 const ( 74 Status_UNKNOWN Status = 0 75 Status_SUCCESS Status = 200 76 Status_BAD_REQUEST Status = 400 77 Status_FORBIDDEN Status = 403 78 Status_NOT_FOUND Status = 404 79 Status_REQUEST_ENTITY_TOO_LARGE Status = 413 80 Status_INTERNAL_SERVER_ERROR Status = 500 81 Status_SERVICE_UNAVAILABLE Status = 503 82 ) 83 84 var Status_name = map[int32]string{ 85 0: "UNKNOWN", 86 200: "SUCCESS", 87 400: "BAD_REQUEST", 88 403: "FORBIDDEN", 89 404: "NOT_FOUND", 90 413: "REQUEST_ENTITY_TOO_LARGE", 91 500: "INTERNAL_SERVER_ERROR", 92 503: "SERVICE_UNAVAILABLE", 93 } 94 var Status_value = map[string]int32{ 95 "UNKNOWN": 0, 96 "SUCCESS": 200, 97 "BAD_REQUEST": 400, 98 "FORBIDDEN": 403, 99 "NOT_FOUND": 404, 100 "REQUEST_ENTITY_TOO_LARGE": 413, 101 "INTERNAL_SERVER_ERROR": 500, 102 "SERVICE_UNAVAILABLE": 503, 103 } 104 105 func (x Status) String() string { 106 return proto.EnumName(Status_name, int32(x)) 107 } 108 func (Status) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } 109 110 type HeaderType int32 111 112 const ( 113 HeaderType_MESSAGE HeaderType = 0 114 HeaderType_CONFIG HeaderType = 1 115 HeaderType_CONFIG_UPDATE HeaderType = 2 116 HeaderType_ENDORSER_TRANSACTION HeaderType = 3 117 HeaderType_ORDERER_TRANSACTION HeaderType = 4 118 HeaderType_DELIVER_SEEK_INFO HeaderType = 5 119 ) 120 121 var HeaderType_name = map[int32]string{ 122 0: "MESSAGE", 123 1: "CONFIG", 124 2: "CONFIG_UPDATE", 125 3: "ENDORSER_TRANSACTION", 126 4: "ORDERER_TRANSACTION", 127 5: "DELIVER_SEEK_INFO", 128 } 129 var HeaderType_value = map[string]int32{ 130 "MESSAGE": 0, 131 "CONFIG": 1, 132 "CONFIG_UPDATE": 2, 133 "ENDORSER_TRANSACTION": 3, 134 "ORDERER_TRANSACTION": 4, 135 "DELIVER_SEEK_INFO": 5, 136 } 137 138 func (x HeaderType) String() string { 139 return proto.EnumName(HeaderType_name, int32(x)) 140 } 141 func (HeaderType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{1} } 142 143 // This enum enlists indexes of the block metadata array 144 type BlockMetadataIndex int32 145 146 const ( 147 BlockMetadataIndex_SIGNATURES BlockMetadataIndex = 0 148 BlockMetadataIndex_LAST_CONFIG BlockMetadataIndex = 1 149 BlockMetadataIndex_TRANSACTIONS_FILTER BlockMetadataIndex = 2 150 BlockMetadataIndex_ORDERER BlockMetadataIndex = 3 151 ) 152 153 var BlockMetadataIndex_name = map[int32]string{ 154 0: "SIGNATURES", 155 1: "LAST_CONFIG", 156 2: "TRANSACTIONS_FILTER", 157 3: "ORDERER", 158 } 159 var BlockMetadataIndex_value = map[string]int32{ 160 "SIGNATURES": 0, 161 "LAST_CONFIG": 1, 162 "TRANSACTIONS_FILTER": 2, 163 "ORDERER": 3, 164 } 165 166 func (x BlockMetadataIndex) String() string { 167 return proto.EnumName(BlockMetadataIndex_name, int32(x)) 168 } 169 func (BlockMetadataIndex) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{2} } 170 171 // LastConfig is the encoded value for the Metadata message which is encoded in the LAST_CONFIGURATION block metadata index 172 type LastConfig struct { 173 Index uint64 `protobuf:"varint,1,opt,name=index" json:"index,omitempty"` 174 } 175 176 func (m *LastConfig) Reset() { *m = LastConfig{} } 177 func (m *LastConfig) String() string { return proto.CompactTextString(m) } 178 func (*LastConfig) ProtoMessage() {} 179 func (*LastConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } 180 181 // Metadata is a common structure to be used to encode block metadata 182 type Metadata struct { 183 Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` 184 Signatures []*MetadataSignature `protobuf:"bytes,2,rep,name=signatures" json:"signatures,omitempty"` 185 } 186 187 func (m *Metadata) Reset() { *m = Metadata{} } 188 func (m *Metadata) String() string { return proto.CompactTextString(m) } 189 func (*Metadata) ProtoMessage() {} 190 func (*Metadata) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} } 191 192 func (m *Metadata) GetSignatures() []*MetadataSignature { 193 if m != nil { 194 return m.Signatures 195 } 196 return nil 197 } 198 199 type MetadataSignature struct { 200 SignatureHeader []byte `protobuf:"bytes,1,opt,name=signature_header,json=signatureHeader,proto3" json:"signature_header,omitempty"` 201 Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` 202 } 203 204 func (m *MetadataSignature) Reset() { *m = MetadataSignature{} } 205 func (m *MetadataSignature) String() string { return proto.CompactTextString(m) } 206 func (*MetadataSignature) ProtoMessage() {} 207 func (*MetadataSignature) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} } 208 209 type Header struct { 210 ChannelHeader []byte `protobuf:"bytes,1,opt,name=channel_header,json=channelHeader,proto3" json:"channel_header,omitempty"` 211 SignatureHeader []byte `protobuf:"bytes,2,opt,name=signature_header,json=signatureHeader,proto3" json:"signature_header,omitempty"` 212 } 213 214 func (m *Header) Reset() { *m = Header{} } 215 func (m *Header) String() string { return proto.CompactTextString(m) } 216 func (*Header) ProtoMessage() {} 217 func (*Header) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} } 218 219 // Header is a generic replay prevention and identity message to include in a signed payload 220 type ChannelHeader struct { 221 Type int32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"` 222 // Version indicates message protocol version 223 Version int32 `protobuf:"varint,2,opt,name=version" json:"version,omitempty"` 224 // Timestamp is the local time when the message was created 225 // by the sender 226 Timestamp *google_protobuf.Timestamp `protobuf:"bytes,3,opt,name=timestamp" json:"timestamp,omitempty"` 227 // Identifier of the channel this message is bound for 228 ChannelId string `protobuf:"bytes,4,opt,name=channel_id,json=channelId" json:"channel_id,omitempty"` 229 // An unique identifier that is used end-to-end. 230 // - set by higher layers such as end user or SDK 231 // - passed to the endorser (which will check for uniqueness) 232 // - as the header is passed along unchanged, it will be 233 // be retrieved by the committer (uniqueness check here as well) 234 // - to be stored in the ledger 235 TxId string `protobuf:"bytes,5,opt,name=tx_id,json=txId" json:"tx_id,omitempty"` 236 // The epoch in which this header was generated, where epoch is defined based on block height 237 // Epoch in which the response has been generated. This field identifies a 238 // logical window of time. A proposal response is accepted by a peer only if 239 // two conditions hold: 240 // 1. the epoch specified in the message is the current epoch 241 // 2. this message has been only seen once during this epoch (i.e. it hasn't 242 // been replayed) 243 Epoch uint64 `protobuf:"varint,6,opt,name=epoch" json:"epoch,omitempty"` 244 // Extension that may be attached based on the header type 245 Extension []byte `protobuf:"bytes,7,opt,name=extension,proto3" json:"extension,omitempty"` 246 } 247 248 func (m *ChannelHeader) Reset() { *m = ChannelHeader{} } 249 func (m *ChannelHeader) String() string { return proto.CompactTextString(m) } 250 func (*ChannelHeader) ProtoMessage() {} 251 func (*ChannelHeader) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} } 252 253 func (m *ChannelHeader) GetTimestamp() *google_protobuf.Timestamp { 254 if m != nil { 255 return m.Timestamp 256 } 257 return nil 258 } 259 260 type SignatureHeader struct { 261 // Creator of the message, specified as a certificate chain 262 Creator []byte `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` 263 // Arbitrary number that may only be used once. Can be used to detect replay attacks. 264 Nonce []byte `protobuf:"bytes,2,opt,name=nonce,proto3" json:"nonce,omitempty"` 265 } 266 267 func (m *SignatureHeader) Reset() { *m = SignatureHeader{} } 268 func (m *SignatureHeader) String() string { return proto.CompactTextString(m) } 269 func (*SignatureHeader) ProtoMessage() {} 270 func (*SignatureHeader) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} } 271 272 // Payload is the message contents (and header to allow for signing) 273 type Payload struct { 274 // Header is included to provide identity and prevent replay 275 Header *Header `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"` 276 // Data, the encoding of which is defined by the type in the header 277 Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` 278 } 279 280 func (m *Payload) Reset() { *m = Payload{} } 281 func (m *Payload) String() string { return proto.CompactTextString(m) } 282 func (*Payload) ProtoMessage() {} 283 func (*Payload) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} } 284 285 func (m *Payload) GetHeader() *Header { 286 if m != nil { 287 return m.Header 288 } 289 return nil 290 } 291 292 // Envelope wraps a Payload with a signature so that the message may be authenticated 293 type Envelope struct { 294 // A marshaled Payload 295 Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"` 296 // A signature by the creator specified in the Payload header 297 Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` 298 } 299 300 func (m *Envelope) Reset() { *m = Envelope{} } 301 func (m *Envelope) String() string { return proto.CompactTextString(m) } 302 func (*Envelope) ProtoMessage() {} 303 func (*Envelope) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} } 304 305 // This is finalized block structure to be shared among the orderer and peer 306 // Note that the BlockHeader chains to the previous BlockHeader, and the BlockData hash is embedded 307 // in the BlockHeader. This makes it natural and obvious that the Data is included in the hash, but 308 // the Metadata is not. 309 type Block struct { 310 Header *BlockHeader `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"` 311 Data *BlockData `protobuf:"bytes,2,opt,name=data" json:"data,omitempty"` 312 Metadata *BlockMetadata `protobuf:"bytes,3,opt,name=metadata" json:"metadata,omitempty"` 313 } 314 315 func (m *Block) Reset() { *m = Block{} } 316 func (m *Block) String() string { return proto.CompactTextString(m) } 317 func (*Block) ProtoMessage() {} 318 func (*Block) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} } 319 320 func (m *Block) GetHeader() *BlockHeader { 321 if m != nil { 322 return m.Header 323 } 324 return nil 325 } 326 327 func (m *Block) GetData() *BlockData { 328 if m != nil { 329 return m.Data 330 } 331 return nil 332 } 333 334 func (m *Block) GetMetadata() *BlockMetadata { 335 if m != nil { 336 return m.Metadata 337 } 338 return nil 339 } 340 341 // BlockHeader is the element of the block which forms the block chain 342 // The block header is hashed using the configured chain hashing algorithm 343 // over the ASN.1 encoding of the BlockHeader 344 type BlockHeader struct { 345 Number uint64 `protobuf:"varint,1,opt,name=number" json:"number,omitempty"` 346 PreviousHash []byte `protobuf:"bytes,2,opt,name=previous_hash,json=previousHash,proto3" json:"previous_hash,omitempty"` 347 DataHash []byte `protobuf:"bytes,3,opt,name=data_hash,json=dataHash,proto3" json:"data_hash,omitempty"` 348 } 349 350 func (m *BlockHeader) Reset() { *m = BlockHeader{} } 351 func (m *BlockHeader) String() string { return proto.CompactTextString(m) } 352 func (*BlockHeader) ProtoMessage() {} 353 func (*BlockHeader) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} } 354 355 type BlockData struct { 356 Data [][]byte `protobuf:"bytes,1,rep,name=data,proto3" json:"data,omitempty"` 357 } 358 359 func (m *BlockData) Reset() { *m = BlockData{} } 360 func (m *BlockData) String() string { return proto.CompactTextString(m) } 361 func (*BlockData) ProtoMessage() {} 362 func (*BlockData) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} } 363 364 type BlockMetadata struct { 365 Metadata [][]byte `protobuf:"bytes,1,rep,name=metadata,proto3" json:"metadata,omitempty"` 366 } 367 368 func (m *BlockMetadata) Reset() { *m = BlockMetadata{} } 369 func (m *BlockMetadata) String() string { return proto.CompactTextString(m) } 370 func (*BlockMetadata) ProtoMessage() {} 371 func (*BlockMetadata) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} } 372 373 func init() { 374 proto.RegisterType((*LastConfig)(nil), "common.LastConfig") 375 proto.RegisterType((*Metadata)(nil), "common.Metadata") 376 proto.RegisterType((*MetadataSignature)(nil), "common.MetadataSignature") 377 proto.RegisterType((*Header)(nil), "common.Header") 378 proto.RegisterType((*ChannelHeader)(nil), "common.ChannelHeader") 379 proto.RegisterType((*SignatureHeader)(nil), "common.SignatureHeader") 380 proto.RegisterType((*Payload)(nil), "common.Payload") 381 proto.RegisterType((*Envelope)(nil), "common.Envelope") 382 proto.RegisterType((*Block)(nil), "common.Block") 383 proto.RegisterType((*BlockHeader)(nil), "common.BlockHeader") 384 proto.RegisterType((*BlockData)(nil), "common.BlockData") 385 proto.RegisterType((*BlockMetadata)(nil), "common.BlockMetadata") 386 proto.RegisterEnum("common.Status", Status_name, Status_value) 387 proto.RegisterEnum("common.HeaderType", HeaderType_name, HeaderType_value) 388 proto.RegisterEnum("common.BlockMetadataIndex", BlockMetadataIndex_name, BlockMetadataIndex_value) 389 } 390 391 func init() { proto.RegisterFile("common/common.proto", fileDescriptor0) } 392 393 var fileDescriptor0 = []byte{ 394 // 870 bytes of a gzipped FileDescriptorProto 395 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x84, 0x55, 0xdd, 0x6e, 0xe3, 0x44, 396 0x14, 0xae, 0xe3, 0xfc, 0x34, 0xc7, 0x4d, 0x3b, 0x9d, 0x6c, 0x59, 0x53, 0x58, 0x6d, 0x64, 0xb4, 397 0xa8, 0xb4, 0x22, 0x11, 0xe5, 0x06, 0x2e, 0x9d, 0x78, 0xd2, 0xb5, 0x36, 0x6b, 0x2f, 0x63, 0x67, 398 0x11, 0xbb, 0x48, 0xd6, 0x24, 0x99, 0x26, 0x16, 0x89, 0x1d, 0xd9, 0x4e, 0xd5, 0xde, 0xf2, 0x00, 399 0x08, 0x09, 0x6e, 0x79, 0x01, 0x9e, 0x84, 0xb7, 0xe0, 0x25, 0x90, 0xb8, 0x45, 0xf6, 0xd8, 0xde, 400 0x24, 0xac, 0xb4, 0x57, 0x99, 0xef, 0x9c, 0xcf, 0xe7, 0x7c, 0xf3, 0x9d, 0x13, 0x1b, 0xda, 0xd3, 401 0x70, 0xb5, 0x0a, 0x83, 0x9e, 0xf8, 0xe9, 0xae, 0xa3, 0x30, 0x09, 0x71, 0x5d, 0xa0, 0xf3, 0xa7, 402 0xf3, 0x30, 0x9c, 0x2f, 0x79, 0x2f, 0x8b, 0x4e, 0x36, 0xb7, 0xbd, 0xc4, 0x5f, 0xf1, 0x38, 0x61, 403 0xab, 0xb5, 0x20, 0x6a, 0x1a, 0xc0, 0x88, 0xc5, 0xc9, 0x20, 0x0c, 0x6e, 0xfd, 0x39, 0x7e, 0x04, 404 0x35, 0x3f, 0x98, 0xf1, 0x7b, 0x55, 0xea, 0x48, 0x17, 0x55, 0x2a, 0x80, 0xf6, 0x16, 0x0e, 0x5f, 405 0xf2, 0x84, 0xcd, 0x58, 0xc2, 0x52, 0xc6, 0x1d, 0x5b, 0x6e, 0x78, 0xc6, 0x38, 0xa2, 0x02, 0xe0, 406 0x6f, 0x01, 0x62, 0x7f, 0x1e, 0xb0, 0x64, 0x13, 0xf1, 0x58, 0xad, 0x74, 0xe4, 0x0b, 0xe5, 0xfa, 407 0xe3, 0x6e, 0xae, 0xa8, 0x78, 0xd6, 0x29, 0x18, 0x74, 0x8b, 0xac, 0xfd, 0x08, 0xa7, 0xff, 0x23, 408 0xe0, 0x2f, 0x00, 0x95, 0x14, 0x6f, 0xc1, 0xd9, 0x8c, 0x47, 0x79, 0xc3, 0x93, 0x32, 0xfe, 0x3c, 409 0x0b, 0xe3, 0x4f, 0xa1, 0x59, 0x86, 0xd4, 0x4a, 0xc6, 0x79, 0x17, 0xd0, 0xde, 0x40, 0x3d, 0xe7, 410 0x3d, 0x83, 0xe3, 0xe9, 0x82, 0x05, 0x01, 0x5f, 0xee, 0x16, 0x6c, 0xe5, 0xd1, 0x9c, 0xf6, 0xbe, 411 0xce, 0x95, 0xf7, 0x76, 0xd6, 0xfe, 0x96, 0xa0, 0x35, 0xd8, 0x79, 0x18, 0x43, 0x35, 0x79, 0x58, 412 0x0b, 0x6f, 0x6a, 0x34, 0x3b, 0x63, 0x15, 0x1a, 0x77, 0x3c, 0x8a, 0xfd, 0x30, 0xc8, 0xea, 0xd4, 413 0x68, 0x01, 0xf1, 0x37, 0xd0, 0x2c, 0xa7, 0xa1, 0xca, 0x1d, 0xe9, 0x42, 0xb9, 0x3e, 0xef, 0x8a, 414 0x79, 0x75, 0x8b, 0x79, 0x75, 0xdd, 0x82, 0x41, 0xdf, 0x91, 0xf1, 0x13, 0x80, 0xe2, 0x2e, 0xfe, 415 0x4c, 0xad, 0x76, 0xa4, 0x8b, 0x26, 0x6d, 0xe6, 0x11, 0x73, 0x86, 0xdb, 0x50, 0x4b, 0xee, 0xd3, 416 0x4c, 0x2d, 0xcb, 0x54, 0x93, 0x7b, 0x73, 0x96, 0x0e, 0x8e, 0xaf, 0xc3, 0xe9, 0x42, 0xad, 0x8b, 417 0xd1, 0x66, 0x20, 0x75, 0x8f, 0xdf, 0x27, 0x3c, 0xc8, 0xf4, 0x35, 0x84, 0x7b, 0x65, 0x40, 0xd3, 418 0xe1, 0xc4, 0xd9, 0xb3, 0x5b, 0x85, 0xc6, 0x34, 0xe2, 0x2c, 0x09, 0x0b, 0xff, 0x0a, 0x98, 0x36, 419 0x08, 0xc2, 0x60, 0x5a, 0x0c, 0x41, 0x00, 0x8d, 0x40, 0xe3, 0x15, 0x7b, 0x58, 0x86, 0x6c, 0x86, 420 0x3f, 0x87, 0xfa, 0x96, 0xf3, 0xca, 0xf5, 0x71, 0xb1, 0x20, 0xa2, 0x34, 0xcd, 0xb3, 0xa9, 0x8b, 421 0xe9, 0x36, 0xe4, 0x75, 0xb2, 0xb3, 0xd6, 0x87, 0x43, 0x12, 0xdc, 0xf1, 0x65, 0x28, 0x1c, 0x5d, 422 0x8b, 0x92, 0x85, 0x84, 0x1c, 0x7e, 0x60, 0x17, 0x7e, 0x91, 0xa0, 0xd6, 0x5f, 0x86, 0xd3, 0x9f, 423 0xf0, 0xd5, 0x9e, 0x92, 0x76, 0xa1, 0x24, 0x4b, 0xef, 0xc9, 0x79, 0xb6, 0x25, 0x47, 0xb9, 0x3e, 424 0xdd, 0xa1, 0x1a, 0x2c, 0x61, 0x42, 0x21, 0xfe, 0x0a, 0x0e, 0x57, 0xf9, 0x1e, 0xe7, 0xc3, 0x3c, 425 0xdb, 0xa1, 0x16, 0x4b, 0x4e, 0x4b, 0x9a, 0x36, 0x07, 0x65, 0xab, 0x21, 0xfe, 0x08, 0xea, 0xc1, 426 0x66, 0x35, 0xc9, 0x55, 0x55, 0x69, 0x8e, 0xf0, 0x67, 0xd0, 0x5a, 0x47, 0xfc, 0xce, 0x0f, 0x37, 427 0xb1, 0xb7, 0x60, 0xf1, 0x22, 0xbf, 0xd9, 0x51, 0x11, 0x7c, 0xce, 0xe2, 0x05, 0xfe, 0x04, 0x9a, 428 0x69, 0x4d, 0x41, 0x90, 0x33, 0xc2, 0x61, 0x1a, 0x48, 0x93, 0xda, 0x53, 0x68, 0x96, 0x72, 0x4b, 429 0x7b, 0xa5, 0x8e, 0x5c, 0xda, 0x7b, 0x05, 0xad, 0x1d, 0x91, 0xf8, 0x7c, 0xeb, 0x36, 0x82, 0x58, 430 0xe2, 0xcb, 0x3f, 0x25, 0xa8, 0x3b, 0x09, 0x4b, 0x36, 0x31, 0x56, 0xa0, 0x31, 0xb6, 0x5e, 0x58, 431 0xf6, 0xf7, 0x16, 0x3a, 0xc0, 0x47, 0xd0, 0x70, 0xc6, 0x83, 0x01, 0x71, 0x1c, 0xf4, 0x97, 0x84, 432 0x11, 0x28, 0x7d, 0xdd, 0xf0, 0x28, 0xf9, 0x6e, 0x4c, 0x1c, 0x17, 0xfd, 0x2a, 0xe3, 0x63, 0x68, 433 0x0e, 0x6d, 0xda, 0x37, 0x0d, 0x83, 0x58, 0xe8, 0xb7, 0x0c, 0x5b, 0xb6, 0xeb, 0x0d, 0xed, 0xb1, 434 0x65, 0xa0, 0xdf, 0x65, 0xfc, 0x04, 0xd4, 0x9c, 0xed, 0x11, 0xcb, 0x35, 0xdd, 0x1f, 0x3c, 0xd7, 435 0xb6, 0xbd, 0x91, 0x4e, 0x6f, 0x08, 0xfa, 0x43, 0xc6, 0xe7, 0x70, 0x66, 0x5a, 0x2e, 0xa1, 0x96, 436 0x3e, 0xf2, 0x1c, 0x42, 0x5f, 0x13, 0xea, 0x11, 0x4a, 0x6d, 0x8a, 0xfe, 0x91, 0xb1, 0x0a, 0xed, 437 0x34, 0x64, 0x0e, 0x88, 0x37, 0xb6, 0xf4, 0xd7, 0xba, 0x39, 0xd2, 0xfb, 0x23, 0x82, 0xfe, 0x95, 438 0x2f, 0x7f, 0x96, 0x00, 0x84, 0xbf, 0x6e, 0xfa, 0x6f, 0x54, 0xa0, 0xf1, 0x92, 0x38, 0x8e, 0x7e, 439 0x43, 0xd0, 0x01, 0x06, 0xa8, 0x0f, 0x6c, 0x6b, 0x68, 0xde, 0x20, 0x09, 0x9f, 0x42, 0x4b, 0x9c, 440 0xbd, 0xf1, 0x2b, 0x43, 0x77, 0x09, 0xaa, 0x60, 0x15, 0x1e, 0x11, 0xcb, 0xb0, 0xa9, 0x43, 0xa8, 441 0xe7, 0x52, 0xdd, 0x72, 0xf4, 0x81, 0x6b, 0xda, 0x16, 0x92, 0xf1, 0x63, 0x68, 0xdb, 0xd4, 0x20, 442 0x74, 0x2f, 0x51, 0xc5, 0x67, 0x70, 0x6a, 0x90, 0x91, 0x99, 0x6a, 0x73, 0x08, 0x79, 0xe1, 0x99, 443 0xd6, 0xd0, 0x46, 0xb5, 0xcb, 0xb7, 0x80, 0x77, 0xec, 0x35, 0xd3, 0xd7, 0x2a, 0x3e, 0x06, 0x70, 444 0xcc, 0x1b, 0x4b, 0x77, 0xc7, 0x94, 0x38, 0xe8, 0x00, 0x9f, 0x80, 0x32, 0xd2, 0x1d, 0xd7, 0x2b, 445 0x35, 0x3d, 0x86, 0xf6, 0x56, 0x79, 0xc7, 0x1b, 0x9a, 0x23, 0x97, 0x50, 0x54, 0x49, 0x6f, 0x91, 446 0xf7, 0x47, 0x72, 0xff, 0xcb, 0x37, 0x57, 0x73, 0x3f, 0x59, 0x6c, 0x26, 0xe9, 0xba, 0xf5, 0x16, 447 0x0f, 0x6b, 0x1e, 0x2d, 0xf9, 0x6c, 0xce, 0xa3, 0xde, 0x2d, 0x9b, 0x44, 0xfe, 0x54, 0xbc, 0xfb, 448 0xe3, 0xfc, 0xfb, 0x30, 0xa9, 0x67, 0xf0, 0xeb, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0xa2, 0xa7, 449 0x76, 0x1e, 0x37, 0x06, 0x00, 0x00, 450 }