Cleanup TransactionDetails RPC messages.
Remove the addresses field from TransactionDetails.Output. It is assumed that the caller is able to deserialize the transaction and encode the output scripts to addresses, so this is unnecessary server overhead and conflicts with the current API philosophy of not duplicating data already included in another field. Since there is no additional data included for outputs not controlled by the wallet, remove the `mine` specifier from the Output message and replace it with an output index. Only include messages for controlled outputs, rather than creating messages for both controlled and uncontrolled outputs. Rename the repeated field from `outputs` to `credits` to be consistent with the `debits` field. Bump major API version as this is a breaking change. Closes #408.
This commit is contained in:
parent
5e3613775d
commit
fb06a6bd04
5 changed files with 178 additions and 220 deletions
|
@ -56,19 +56,14 @@ message TransactionDetails {
|
|||
int64 previous_amount = 3;
|
||||
}
|
||||
message Output {
|
||||
bool mine = 3;
|
||||
|
||||
// These fields only relevant if mine==true.
|
||||
uint32 account = 4;
|
||||
bool internal = 5;
|
||||
|
||||
// These fields only relevant if mine==false.
|
||||
repeated string addresses = 6; // None if non-standard.
|
||||
uint32 index = 1;
|
||||
uint32 account = 2;
|
||||
bool internal = 3;
|
||||
}
|
||||
bytes hash = 1;
|
||||
bytes transaction = 2;
|
||||
repeated Input debits = 3;
|
||||
repeated Output outputs = 4;
|
||||
repeated Output credits = 4;
|
||||
int64 fee = 5;
|
||||
int64 timestamp = 6; // May be earlier than a block timestamp, but never later.
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# RPC API Specification
|
||||
|
||||
Version: 1.0.0
|
||||
Version: 2.0.0
|
||||
|
||||
**Note:** This document assumes the reader is familiar with gRPC concepts.
|
||||
Refer to the [gRPC Concepts documentation](http://www.grpc.io/docs/guides/concepts.html)
|
||||
|
@ -958,23 +958,17 @@ transaction was seen.
|
|||
|
||||
- `int64 previous_amount`: The previous output value.
|
||||
|
||||
- `repeated Output outputs`: Properties for every transaction output. Every
|
||||
transaction output has a corresponding properties message in this repeated
|
||||
field.
|
||||
- `repeated Output credits`: Properties for every output controlled by the wallet.
|
||||
|
||||
**Nested message:** `Output`
|
||||
|
||||
- `bool mine`: Whether the output is controlled by the wallet.
|
||||
- `uint32 index`: The transaction output index of the output being reported.
|
||||
|
||||
- `uint32 account`: The account number of the controlled output. This field
|
||||
is only relevant if `mine` is true.
|
||||
- `uint32 account`: The account number of the controlled output.
|
||||
|
||||
- `bool internal`: Whether the output pays to an address derived from the
|
||||
account's internal key series. This often means the output is a change
|
||||
output. This field is only relevant if `mine` is true.
|
||||
|
||||
- `repeated string addresses`: The payment address string(s) this output pays
|
||||
to. This is only relevant if `mine` is false.
|
||||
output.
|
||||
|
||||
- `int64 fee`: The transaction fee, if calculable. The fee is only calculable
|
||||
when every previous output spent by this transaction is also recorded by
|
||||
|
@ -984,5 +978,5 @@ transaction was seen.
|
|||
seen.
|
||||
|
||||
**Stability**: Unstable: Since the caller is expected to decode the serialized
|
||||
transaction, and would have access to every output script, The output
|
||||
transaction, and would have access to every output script, the output
|
||||
properties could be changed to only include outputs controlled by the wallet.
|
||||
|
|
|
@ -43,8 +43,8 @@ import (
|
|||
|
||||
// Public API version constants
|
||||
const (
|
||||
semverString = "1.0.0"
|
||||
semverMajor = 1
|
||||
semverString = "2.0.0"
|
||||
semverMajor = 2
|
||||
semverMinor = 0
|
||||
semverPatch = 0
|
||||
)
|
||||
|
@ -568,20 +568,10 @@ func marshalTransactionOutputs(v []wallet.TransactionSummaryOutput) []*pb.Transa
|
|||
outputs := make([]*pb.TransactionDetails_Output, len(v))
|
||||
for i := range v {
|
||||
output := &v[i]
|
||||
|
||||
var addresses []string
|
||||
if len(output.Addresses) != 0 {
|
||||
addresses = make([]string, 0, len(output.Addresses))
|
||||
for _, a := range output.Addresses {
|
||||
addresses = append(addresses, a.EncodeAddress())
|
||||
}
|
||||
}
|
||||
|
||||
outputs[i] = &pb.TransactionDetails_Output{
|
||||
Mine: output.Mine,
|
||||
Account: output.Account,
|
||||
Internal: output.Internal,
|
||||
Addresses: addresses,
|
||||
Index: output.Index,
|
||||
Account: output.Account,
|
||||
Internal: output.Internal,
|
||||
}
|
||||
}
|
||||
return outputs
|
||||
|
@ -595,7 +585,7 @@ func marshalTransactionDetails(v []wallet.TransactionSummary) []*pb.TransactionD
|
|||
Hash: tx.Hash[:],
|
||||
Transaction: tx.Transaction,
|
||||
Debits: marshalTransactionInputs(tx.MyInputs),
|
||||
Outputs: marshalTransactionOutputs(tx.Outputs),
|
||||
Credits: marshalTransactionOutputs(tx.MyOutputs),
|
||||
Fee: int64(tx.Fee),
|
||||
Timestamp: tx.Timestamp,
|
||||
}
|
||||
|
|
|
@ -149,7 +149,7 @@ type TransactionDetails struct {
|
|||
Hash []byte `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
|
||||
Transaction []byte `protobuf:"bytes,2,opt,name=transaction,proto3" json:"transaction,omitempty"`
|
||||
Debits []*TransactionDetails_Input `protobuf:"bytes,3,rep,name=debits" json:"debits,omitempty"`
|
||||
Outputs []*TransactionDetails_Output `protobuf:"bytes,4,rep,name=outputs" json:"outputs,omitempty"`
|
||||
Credits []*TransactionDetails_Output `protobuf:"bytes,4,rep,name=credits" json:"credits,omitempty"`
|
||||
Fee int64 `protobuf:"varint,5,opt,name=fee" json:"fee,omitempty"`
|
||||
Timestamp int64 `protobuf:"varint,6,opt,name=timestamp" json:"timestamp,omitempty"`
|
||||
}
|
||||
|
@ -166,9 +166,9 @@ func (m *TransactionDetails) GetDebits() []*TransactionDetails_Input {
|
|||
return nil
|
||||
}
|
||||
|
||||
func (m *TransactionDetails) GetOutputs() []*TransactionDetails_Output {
|
||||
func (m *TransactionDetails) GetCredits() []*TransactionDetails_Output {
|
||||
if m != nil {
|
||||
return m.Outputs
|
||||
return m.Credits
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
@ -185,12 +185,9 @@ func (*TransactionDetails_Input) ProtoMessage() {}
|
|||
func (*TransactionDetails_Input) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2, 0} }
|
||||
|
||||
type TransactionDetails_Output struct {
|
||||
Mine bool `protobuf:"varint,3,opt,name=mine" json:"mine,omitempty"`
|
||||
// These fields only relevant if mine==true.
|
||||
Account uint32 `protobuf:"varint,4,opt,name=account" json:"account,omitempty"`
|
||||
Internal bool `protobuf:"varint,5,opt,name=internal" json:"internal,omitempty"`
|
||||
// These fields only relevant if mine==false.
|
||||
Addresses []string `protobuf:"bytes,6,rep,name=addresses" json:"addresses,omitempty"`
|
||||
Index uint32 `protobuf:"varint,1,opt,name=index" json:"index,omitempty"`
|
||||
Account uint32 `protobuf:"varint,2,opt,name=account" json:"account,omitempty"`
|
||||
Internal bool `protobuf:"varint,3,opt,name=internal" json:"internal,omitempty"`
|
||||
}
|
||||
|
||||
func (m *TransactionDetails_Output) Reset() { *m = TransactionDetails_Output{} }
|
||||
|
@ -1786,156 +1783,155 @@ var _WalletLoaderService_serviceDesc = grpc.ServiceDesc{
|
|||
}
|
||||
|
||||
var fileDescriptor0 = []byte{
|
||||
// 2413 bytes of a gzipped FileDescriptorProto
|
||||
// 2391 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x59, 0x5b, 0x73, 0xdc, 0x48,
|
||||
0x15, 0x66, 0x2c, 0xdf, 0x72, 0xe6, 0xde, 0xbe, 0x4d, 0x94, 0x38, 0xc9, 0x2a, 0xbb, 0xd9, 0xec,
|
||||
0x2e, 0x98, 0x60, 0x02, 0x2c, 0xc5, 0x56, 0xd8, 0xc4, 0x64, 0xd9, 0x21, 0xc1, 0x99, 0x92, 0x93,
|
||||
0x4d, 0xaa, 0xa0, 0x98, 0x92, 0x35, 0xed, 0x58, 0x78, 0x46, 0x9a, 0x48, 0x9a, 0x38, 0xe1, 0x89,
|
||||
0xa2, 0x8a, 0x47, 0x5e, 0x80, 0x07, 0x0a, 0x6a, 0x5f, 0xf8, 0x05, 0x54, 0xf1, 0xc2, 0x2b, 0xbf,
|
||||
0x81, 0x47, 0xf8, 0x15, 0xfc, 0x02, 0xfa, 0x72, 0x7a, 0xd4, 0x2d, 0x69, 0xc6, 0xf6, 0x16, 0x6f,
|
||||
0xa3, 0xaf, 0x4f, 0x9f, 0x3e, 0xe7, 0xf4, 0xb9, 0xf6, 0xc0, 0x25, 0x6f, 0x1c, 0xec, 0x8c, 0xe3,
|
||||
0xa2, 0x8a, 0x47, 0x5e, 0x80, 0x07, 0x0a, 0x6a, 0x5f, 0xf8, 0x05, 0x54, 0xf1, 0xc2, 0x23, 0xfc,
|
||||
0x06, 0x1e, 0xf9, 0x17, 0xfc, 0x02, 0xfa, 0x72, 0x7a, 0xd4, 0x2d, 0x69, 0xc6, 0xf6, 0x16, 0x6f,
|
||||
0xa3, 0xaf, 0xcf, 0x39, 0x7d, 0xfa, 0xf4, 0xb9, 0xf6, 0xc0, 0x25, 0x6f, 0x1c, 0xec, 0x8c, 0xe3,
|
||||
0x28, 0x8d, 0xc8, 0xa5, 0x53, 0x6f, 0x38, 0xa4, 0x69, 0x3c, 0xf6, 0x9d, 0x16, 0x34, 0xbe, 0xa0,
|
||||
0x71, 0x12, 0x44, 0xa1, 0x4b, 0x5f, 0x4d, 0x68, 0x92, 0x3a, 0xff, 0xac, 0x40, 0x73, 0x0a, 0x25,
|
||||
0x71, 0x12, 0x44, 0xa1, 0x4b, 0x5f, 0x4d, 0x68, 0x92, 0x3a, 0xff, 0xaa, 0x40, 0x73, 0x0a, 0x25,
|
||||
0xe3, 0x28, 0x4c, 0x28, 0x79, 0x0f, 0x1a, 0xaf, 0x25, 0xd4, 0x4f, 0xd2, 0x38, 0x08, 0x5f, 0x76,
|
||||
0x2a, 0x37, 0x2a, 0xb7, 0x2f, 0xb9, 0x75, 0x44, 0x0f, 0x04, 0x48, 0xd6, 0x61, 0x69, 0xe4, 0xfd,
|
||||
0x32, 0x8a, 0x3b, 0x0b, 0x6c, 0xb5, 0xee, 0xca, 0x0f, 0x81, 0x06, 0x21, 0x43, 0x2d, 0x44, 0xf9,
|
||||
0x07, 0x47, 0xc7, 0x5e, 0xea, 0x1f, 0x77, 0x16, 0x25, 0x2a, 0x3e, 0xc8, 0x35, 0x80, 0x71, 0x4c,
|
||||
0x63, 0x3a, 0xa4, 0x5e, 0x42, 0x3b, 0x4b, 0xe2, 0x10, 0x0d, 0xe1, 0x82, 0x1c, 0x4e, 0x82, 0xe1,
|
||||
0xa0, 0x3f, 0xa2, 0xa9, 0x37, 0xf0, 0x52, 0xaf, 0xb3, 0x2c, 0x05, 0x11, 0xe8, 0x4f, 0x11, 0x74,
|
||||
0xfe, 0x63, 0x01, 0x79, 0x1a, 0x7b, 0x61, 0xe2, 0xf9, 0x29, 0x13, 0xef, 0x47, 0x0c, 0x0f, 0x86,
|
||||
0x09, 0x21, 0xb0, 0x78, 0xec, 0x25, 0xc7, 0x42, 0xf8, 0x9a, 0x2b, 0x7e, 0x93, 0x1b, 0x50, 0x4d,
|
||||
0x33, 0x4a, 0x21, 0x79, 0xcd, 0xd5, 0x21, 0xf2, 0x03, 0x58, 0x1e, 0xd0, 0xc3, 0x20, 0x4d, 0x98,
|
||||
0x02, 0xd6, 0xed, 0xea, 0xee, 0xcd, 0x9d, 0xa9, 0xf9, 0x76, 0x8a, 0x87, 0xec, 0x74, 0xc3, 0xf1,
|
||||
0x24, 0x75, 0x71, 0x0b, 0xb9, 0x07, 0x2b, 0xd1, 0x24, 0x65, 0x48, 0xc2, 0x14, 0xe5, 0xbb, 0xdf,
|
||||
0x9d, 0xbf, 0xfb, 0x89, 0x20, 0x76, 0xd5, 0x26, 0xd2, 0x02, 0xeb, 0x88, 0x4a, 0x4b, 0x58, 0x2e,
|
||||
0xff, 0x49, 0xae, 0xc2, 0xa5, 0x34, 0x18, 0xb1, 0x9b, 0xf2, 0x46, 0x63, 0xa1, 0xbd, 0xe5, 0x66,
|
||||
0x80, 0xfd, 0x0a, 0x96, 0x84, 0x00, 0xdc, 0xbe, 0x41, 0x38, 0xa0, 0x6f, 0x84, 0xb2, 0xcc, 0xbe,
|
||||
0x63, 0x3a, 0xa4, 0x5e, 0x42, 0x3b, 0x4b, 0x62, 0x13, 0x0d, 0xe1, 0x8a, 0x1c, 0x4e, 0x82, 0xe1,
|
||||
0xa0, 0x3f, 0xa2, 0xa9, 0x37, 0xf0, 0x52, 0xaf, 0xb3, 0x2c, 0x15, 0x11, 0xe8, 0x4f, 0x11, 0x74,
|
||||
0xfe, 0x69, 0x01, 0x79, 0x1a, 0x7b, 0x61, 0xe2, 0xf9, 0x29, 0x53, 0xef, 0x47, 0x0c, 0x0f, 0x86,
|
||||
0x09, 0x21, 0xb0, 0x78, 0xec, 0x25, 0xc7, 0x42, 0xf9, 0x9a, 0x2b, 0x7e, 0x93, 0x1b, 0x50, 0x4d,
|
||||
0x33, 0x4a, 0xa1, 0x79, 0xcd, 0xd5, 0x21, 0xf2, 0x03, 0x58, 0x1e, 0xd0, 0xc3, 0x20, 0x4d, 0xd8,
|
||||
0x01, 0xac, 0xdb, 0xd5, 0xdd, 0x9b, 0x3b, 0x53, 0xf3, 0xed, 0x14, 0x37, 0xd9, 0xe9, 0x86, 0xe3,
|
||||
0x49, 0xea, 0x22, 0x0b, 0xb9, 0x07, 0x2b, 0x7e, 0x4c, 0x07, 0x9c, 0x7b, 0x51, 0x70, 0xbf, 0x3b,
|
||||
0x9f, 0xfb, 0xc9, 0x24, 0xe5, 0xec, 0x8a, 0x89, 0xb4, 0xc0, 0x3a, 0xa2, 0xd2, 0x12, 0x96, 0xcb,
|
||||
0x7f, 0x92, 0xab, 0x70, 0x29, 0x0d, 0x46, 0xec, 0xa6, 0xbc, 0xd1, 0x58, 0x9c, 0xde, 0x72, 0x33,
|
||||
0xc0, 0x7e, 0x05, 0x4b, 0x42, 0x01, 0x6e, 0xdf, 0x20, 0x1c, 0xd0, 0x37, 0xe2, 0xb0, 0xcc, 0xbe,
|
||||
0xe2, 0x83, 0x7c, 0x00, 0x2d, 0x66, 0xcd, 0xd7, 0x41, 0x34, 0x49, 0xfa, 0x9e, 0xef, 0x47, 0x93,
|
||||
0x30, 0xc5, 0xcb, 0x6a, 0x2a, 0xfc, 0xbe, 0x84, 0xc9, 0xfb, 0xd0, 0xcc, 0x48, 0x47, 0x82, 0xd2,
|
||||
0x12, 0xa7, 0x35, 0xa6, 0x94, 0x02, 0xb5, 0xc7, 0xb0, 0x2c, 0xa5, 0xe6, 0xf6, 0x65, 0x97, 0x4b,
|
||||
0x05, 0xdd, 0xaa, 0x2b, 0x7e, 0x93, 0x0e, 0xac, 0xa8, 0x83, 0xe4, 0x4d, 0xab, 0x4f, 0x62, 0xc3,
|
||||
0x6a, 0x10, 0xa6, 0x34, 0x0e, 0xbd, 0xa1, 0xd0, 0x6f, 0xd5, 0x9d, 0x7e, 0x73, 0x25, 0xbd, 0xc1,
|
||||
0x20, 0xa6, 0x49, 0x42, 0x13, 0xa6, 0xa4, 0xc5, 0xae, 0x38, 0x03, 0x9c, 0xbf, 0x54, 0xa0, 0xf6,
|
||||
0x60, 0x18, 0xf9, 0x27, 0xf3, 0x2e, 0x76, 0x13, 0x96, 0x8f, 0x69, 0xf0, 0xf2, 0x58, 0x2a, 0xb8,
|
||||
0xe4, 0xe2, 0x97, 0x69, 0x3f, 0x2b, 0x67, 0x3f, 0x72, 0x1f, 0x6a, 0xda, 0xdd, 0xab, 0x4b, 0xdb,
|
||||
0x9e, 0x7b, 0x69, 0xae, 0xb1, 0xc5, 0x79, 0x02, 0x0d, 0xb4, 0xe1, 0x03, 0x6f, 0xe8, 0x85, 0xbe,
|
||||
0x61, 0x83, 0x8a, 0x69, 0x83, 0x9b, 0x50, 0x4f, 0xa3, 0xd4, 0x1b, 0xf6, 0x0f, 0x25, 0xa9, 0x90,
|
||||
0xd5, 0x62, 0x0c, 0x39, 0x88, 0xdb, 0x9d, 0x3a, 0x54, 0x7b, 0x2c, 0xbc, 0x54, 0x80, 0x36, 0xa0,
|
||||
0x26, 0x3f, 0x65, 0x70, 0xf2, 0x10, 0xde, 0xa7, 0xe9, 0x69, 0x14, 0x9f, 0x28, 0x8a, 0x8f, 0xa1,
|
||||
0x39, 0x45, 0xb2, 0x08, 0xe6, 0xf2, 0xbd, 0xa6, 0xfd, 0x50, 0xae, 0xa0, 0x24, 0x75, 0x89, 0x22,
|
||||
0xb9, 0xf3, 0x7d, 0x58, 0x47, 0xd9, 0xf7, 0x27, 0xa3, 0x43, 0x1a, 0x23, 0x47, 0xf2, 0x0e, 0xd4,
|
||||
0x50, 0xe4, 0x7e, 0xe8, 0x8d, 0x28, 0x86, 0x7f, 0x15, 0xb1, 0x7d, 0x06, 0x39, 0xf7, 0x60, 0x23,
|
||||
0xb7, 0x55, 0x3f, 0x1a, 0xf7, 0x8a, 0x95, 0xec, 0x68, 0x8d, 0xdc, 0x69, 0x43, 0x13, 0xf7, 0x27,
|
||||
0x4a, 0x8f, 0x7f, 0x58, 0xd0, 0xca, 0x30, 0x64, 0xf7, 0x43, 0x58, 0xc5, 0x8d, 0x09, 0x63, 0x94,
|
||||
0x0f, 0xc8, 0x3c, 0xb9, 0x02, 0xdc, 0xe9, 0x26, 0xf2, 0x75, 0x20, 0xfe, 0x24, 0x8e, 0x29, 0x93,
|
||||
0xe7, 0x90, 0x3b, 0x51, 0x5f, 0xb8, 0x8e, 0x0c, 0xfc, 0x16, 0xae, 0x08, 0xef, 0xfa, 0x9c, 0xbb,
|
||||
0xd1, 0x1d, 0x58, 0xcf, 0x51, 0x4b, 0xa7, 0xb2, 0x84, 0x53, 0x11, 0x83, 0x5e, 0xac, 0xd8, 0xbf,
|
||||
0x59, 0x80, 0x15, 0x15, 0x44, 0xe7, 0xd3, 0xbd, 0x60, 0xde, 0x85, 0x82, 0x79, 0x8b, 0x9e, 0x62,
|
||||
0x15, 0x3d, 0x85, 0xab, 0x46, 0xdf, 0xc8, 0x10, 0xea, 0x9f, 0xd0, 0xb7, 0x7d, 0x3d, 0xee, 0x5a,
|
||||
0x6a, 0xe5, 0x11, 0x7d, 0xbb, 0x27, 0x84, 0x63, 0xd4, 0x2a, 0xe0, 0x34, 0xea, 0x25, 0x49, 0xad,
|
||||
0x56, 0x0c, 0xea, 0xd1, 0x38, 0x8a, 0x53, 0x3a, 0xd0, 0xa8, 0x97, 0x91, 0x1a, 0x57, 0x14, 0xb5,
|
||||
0xf3, 0x02, 0xd6, 0x5d, 0xca, 0x75, 0x51, 0xf6, 0x47, 0x47, 0x3a, 0xa7, 0x41, 0x2e, 0xc3, 0x6a,
|
||||
0x48, 0x4f, 0x75, 0x63, 0xac, 0xb0, 0x6f, 0xe1, 0x67, 0x5b, 0xb0, 0x91, 0xe3, 0x8c, 0x71, 0xf0,
|
||||
0x1c, 0xc8, 0x3e, 0xd3, 0x31, 0x77, 0x20, 0xaf, 0x28, 0x5e, 0x92, 0x8c, 0x8f, 0x63, 0x5e, 0x51,
|
||||
0x64, 0x82, 0xd0, 0x90, 0x73, 0x98, 0xde, 0xf9, 0x04, 0xd6, 0x0c, 0xc6, 0x17, 0xf3, 0xeb, 0x3f,
|
||||
0x57, 0x50, 0x2e, 0x99, 0xbe, 0x94, 0x5c, 0xb3, 0x73, 0xc2, 0x77, 0x61, 0xf1, 0x84, 0x65, 0x6b,
|
||||
0x21, 0x49, 0x63, 0xd7, 0xd1, 0x9c, 0xbb, 0xc8, 0x66, 0xe7, 0x11, 0xa3, 0x74, 0x05, 0xbd, 0xb3,
|
||||
0x0b, 0x8b, 0xfc, 0x8b, 0x65, 0xfe, 0xd6, 0x83, 0x6e, 0xef, 0xce, 0x9d, 0xbb, 0x77, 0xfb, 0x0f,
|
||||
0x5f, 0x3c, 0x7d, 0xe8, 0xee, 0xdf, 0x7f, 0xdc, 0xfa, 0x9a, 0x8e, 0x76, 0xf7, 0x11, 0xad, 0x38,
|
||||
0xdf, 0x44, 0xd5, 0x14, 0x53, 0x54, 0x8d, 0x0b, 0x27, 0x21, 0x8c, 0x74, 0xf5, 0xe9, 0xfc, 0xa1,
|
||||
0x02, 0x5b, 0x5d, 0x71, 0xd9, 0xbd, 0x38, 0x78, 0xed, 0xa5, 0x94, 0xdd, 0xf8, 0x79, 0x4d, 0xad,
|
||||
0xa9, 0xbc, 0x60, 0xaa, 0x7c, 0x8b, 0xd7, 0x1a, 0xc1, 0x4e, 0xb8, 0xd6, 0x69, 0x70, 0x24, 0xdc,
|
||||
0x9b, 0xd5, 0xf5, 0xf1, 0xf4, 0x94, 0xe7, 0xc1, 0x11, 0xcf, 0xe9, 0x4c, 0x0a, 0xdf, 0x0b, 0x85,
|
||||
0x4f, 0xaf, 0xba, 0xf8, 0xe5, 0xd8, 0xd0, 0x29, 0x0a, 0x85, 0x6e, 0x11, 0x42, 0x03, 0xc3, 0xe3,
|
||||
0x82, 0x3e, 0xf8, 0x1d, 0xd8, 0x8c, 0xd9, 0x8e, 0x20, 0x66, 0x0e, 0xef, 0x47, 0xe1, 0x51, 0x10,
|
||||
0x8f, 0x3c, 0x59, 0x14, 0x64, 0x41, 0xd9, 0x50, 0xab, 0x7b, 0xfa, 0x22, 0x3b, 0xaf, 0x39, 0x3d,
|
||||
0x0f, 0xcd, 0xc9, 0x6a, 0xb1, 0x08, 0x53, 0x71, 0x8e, 0xe5, 0xca, 0x0f, 0x5e, 0x88, 0x92, 0x31,
|
||||
0x0d, 0x07, 0xde, 0xe1, 0x50, 0xe5, 0xfd, 0x0c, 0xe0, 0xe5, 0x37, 0x18, 0x31, 0x9e, 0x93, 0x98,
|
||||
0xf6, 0x63, 0x7a, 0xea, 0xc5, 0x03, 0x55, 0x7e, 0x15, 0xec, 0x0a, 0xd4, 0xf9, 0xd3, 0x02, 0x6c,
|
||||
0xfe, 0x98, 0xa6, 0x5a, 0x59, 0x9a, 0xfa, 0xd8, 0x0e, 0xac, 0xb1, 0xaa, 0x16, 0xa7, 0xac, 0x5a,
|
||||
0xe8, 0xa9, 0x4e, 0xde, 0x4c, 0x5b, 0x2d, 0x65, 0xb9, 0x6e, 0x17, 0x36, 0xf2, 0xf4, 0x59, 0x05,
|
||||
0x6d, 0xbb, 0x6b, 0xe6, 0x0e, 0x59, 0x4e, 0x3f, 0x84, 0x36, 0x13, 0x39, 0x77, 0x82, 0x25, 0x4e,
|
||||
0x68, 0xca, 0x85, 0x8c, 0x3f, 0x93, 0xc7, 0xa4, 0x95, 0xdc, 0x17, 0x85, 0x39, 0xdb, 0x3a, 0xb5,
|
||||
0xe4, 0x7d, 0x0f, 0xae, 0xb0, 0x1e, 0x22, 0x18, 0x4d, 0x46, 0xcc, 0x04, 0x3e, 0x4f, 0xc1, 0x46,
|
||||
0x6d, 0x5e, 0x12, 0xfb, 0x2e, 0x23, 0x89, 0x2b, 0x28, 0x74, 0x33, 0x38, 0x7f, 0x67, 0xce, 0x5a,
|
||||
0x30, 0x0d, 0xde, 0xc9, 0x67, 0x40, 0x78, 0x7f, 0x32, 0x30, 0x59, 0xca, 0x82, 0xb2, 0xa5, 0xc5,
|
||||
0x9c, 0xde, 0x67, 0xb8, 0x6d, 0xb1, 0x45, 0xe7, 0x47, 0x7a, 0xb0, 0x3e, 0x09, 0x4b, 0x38, 0x2d,
|
||||
0x9c, 0xa7, 0x71, 0x58, 0xc3, 0xad, 0x86, 0xd4, 0xac, 0x01, 0xdf, 0xda, 0x3b, 0xf6, 0xc2, 0x97,
|
||||
0xb4, 0x37, 0x8d, 0x1d, 0x75, 0xa3, 0x1f, 0x83, 0xc5, 0x02, 0x44, 0xdc, 0x60, 0x63, 0xf7, 0x96,
|
||||
0xc6, 0x7c, 0xc6, 0x86, 0x1d, 0x1e, 0x09, 0x7c, 0x0b, 0x77, 0xfa, 0x88, 0xf5, 0xcd, 0x5a, 0x80,
|
||||
0xca, 0x8a, 0x57, 0x67, 0x68, 0xb6, 0x8d, 0x93, 0xf1, 0xc4, 0xab, 0x91, 0xc9, 0xbb, 0xac, 0x33,
|
||||
0x34, 0x23, 0x73, 0xae, 0x81, 0xc5, 0x38, 0x93, 0x2a, 0xac, 0xf4, 0xdc, 0xee, 0x17, 0xf7, 0x9f,
|
||||
0x3e, 0x64, 0x19, 0x06, 0x60, 0xb9, 0xf7, 0xec, 0xc1, 0xe3, 0xee, 0x1e, 0xcb, 0x2b, 0x2c, 0x20,
|
||||
0x8b, 0x12, 0x61, 0x40, 0xfe, 0x9a, 0x39, 0xec, 0x67, 0x93, 0x50, 0x57, 0xfa, 0xec, 0xa4, 0xc8,
|
||||
0xcb, 0x9f, 0x17, 0xbf, 0xa4, 0xa9, 0xea, 0x45, 0x55, 0xa3, 0x24, 0x40, 0xd9, 0x89, 0xce, 0x89,
|
||||
0x58, 0x6b, 0x4e, 0xc4, 0x92, 0x4f, 0xc0, 0x0e, 0x42, 0x7f, 0x38, 0x19, 0xd0, 0xfe, 0x34, 0xe4,
|
||||
0xfc, 0x28, 0x08, 0x0f, 0x3d, 0xde, 0x7d, 0xca, 0x4c, 0xd3, 0x41, 0x8a, 0x2e, 0x12, 0xec, 0xa9,
|
||||
0x75, 0x1e, 0x34, 0x6a, 0xb7, 0x2f, 0x54, 0xee, 0x27, 0x7e, 0x1c, 0x8c, 0x53, 0xec, 0x69, 0xd7,
|
||||
0x70, 0x51, 0x9a, 0xe3, 0x40, 0x2c, 0x39, 0x7f, 0xb5, 0x60, 0xab, 0x60, 0x02, 0x74, 0xcc, 0x9f,
|
||||
0x43, 0x2b, 0x61, 0xd3, 0x8e, 0xcf, 0xeb, 0xac, 0x1a, 0x1d, 0xa4, 0x5b, 0x7e, 0x4b, 0xbb, 0xef,
|
||||
0x19, 0xbb, 0x77, 0x7a, 0xd8, 0x9b, 0xe3, 0x1c, 0xd1, 0x54, 0xac, 0x9e, 0xe0, 0x3c, 0xc1, 0xca,
|
||||
0x9d, 0x6c, 0x23, 0x0c, 0x33, 0x56, 0x05, 0x86, 0x56, 0xbc, 0x0d, 0x2d, 0x54, 0x64, 0x7c, 0xa2,
|
||||
0x74, 0x91, 0x4e, 0xd0, 0x90, 0x78, 0xef, 0x44, 0xaa, 0x61, 0xff, 0xbb, 0x02, 0x0d, 0xf3, 0x40,
|
||||
0x3e, 0x60, 0x68, 0x61, 0xa0, 0xe7, 0x9b, 0xa6, 0x86, 0x8b, 0x6c, 0xc0, 0x44, 0x91, 0xfa, 0xf5,
|
||||
0xe5, 0xa0, 0x22, 0x6b, 0x42, 0x55, 0x62, 0x5d, 0x31, 0xae, 0xb0, 0x7c, 0x6f, 0x8c, 0x1e, 0xf8,
|
||||
0x45, 0xae, 0xc0, 0xa5, 0x4c, 0xb6, 0x45, 0xc1, 0x7e, 0x75, 0x8c, 0x52, 0x71, 0xbe, 0x3c, 0x5b,
|
||||
0xf0, 0x5e, 0x97, 0xf7, 0xf5, 0x38, 0x3b, 0x55, 0x11, 0x7b, 0x1a, 0xc8, 0x66, 0xea, 0x28, 0x8e,
|
||||
0x46, 0xd3, 0x5b, 0x16, 0x6d, 0xcc, 0xaa, 0x5b, 0xe3, 0xa0, 0xba, 0x59, 0xe7, 0x8f, 0x15, 0xd8,
|
||||
0x3c, 0x08, 0x5e, 0x86, 0x25, 0x7e, 0x7a, 0x56, 0xa5, 0x63, 0x8e, 0x98, 0xd0, 0x38, 0xf0, 0x86,
|
||||
0xc1, 0xaf, 0xcc, 0xbc, 0x80, 0x41, 0xb7, 0x91, 0xad, 0x6a, 0xdc, 0xb9, 0x58, 0x41, 0x38, 0x35,
|
||||
0x08, 0x95, 0x03, 0x67, 0xdd, 0xad, 0x09, 0xb0, 0x2b, 0x31, 0xe7, 0x15, 0x6c, 0x15, 0xa4, 0x42,
|
||||
0xd7, 0xc9, 0xcd, 0xb2, 0x95, 0xe2, 0x2c, 0x7b, 0x17, 0x36, 0x27, 0x61, 0xc2, 0xb6, 0x33, 0xb1,
|
||||
0xcc, 0xa3, 0x16, 0xc4, 0x51, 0xeb, 0x6a, 0xb5, 0xab, 0x1f, 0xf9, 0x13, 0xb8, 0xdc, 0x9b, 0x1c,
|
||||
0x0e, 0x83, 0xe4, 0xb8, 0xc4, 0x16, 0xdf, 0x00, 0x82, 0x0c, 0x8b, 0x67, 0xb7, 0xe5, 0x8a, 0xb6,
|
||||
0xcb, 0xb9, 0x0a, 0x76, 0x19, 0x2f, 0xcc, 0x0d, 0xef, 0xc0, 0x75, 0x0d, 0xde, 0x8f, 0xd2, 0xe0,
|
||||
0x28, 0xf0, 0x3d, 0xbd, 0xa8, 0x39, 0x5f, 0x2e, 0xc0, 0x8d, 0xd9, 0x34, 0x68, 0x89, 0x4f, 0xa1,
|
||||
0xe9, 0xa5, 0xa9, 0xe7, 0x1f, 0x33, 0xb1, 0x44, 0xad, 0x39, 0x33, 0xb5, 0x37, 0x14, 0xbd, 0x40,
|
||||
0x13, 0x5e, 0x7f, 0x07, 0xd4, 0xe4, 0xc0, 0x4d, 0xc4, 0x82, 0x40, 0xc1, 0x48, 0x38, 0xab, 0x00,
|
||||
0x58, 0x5f, 0xb5, 0x00, 0xf0, 0x7c, 0x54, 0xc2, 0x51, 0xc4, 0x12, 0x95, 0x13, 0x69, 0xcd, 0xed,
|
||||
0x14, 0x37, 0x7e, 0x2e, 0xd6, 0x9d, 0xdf, 0x55, 0x60, 0xfb, 0x80, 0xb5, 0x11, 0x69, 0xc8, 0xfa,
|
||||
0xb5, 0x32, 0x0b, 0xce, 0xc9, 0xb2, 0xac, 0x98, 0x87, 0x51, 0x3f, 0xe4, 0x9b, 0xde, 0xf6, 0x99,
|
||||
0x2b, 0x70, 0x36, 0xc2, 0x65, 0x57, 0xdd, 0x66, 0x18, 0x09, 0x66, 0x6f, 0x9f, 0x49, 0x98, 0xf7,
|
||||
0x6c, 0x19, 0xad, 0xa4, 0x94, 0x73, 0x7f, 0x5d, 0x51, 0x0a, 0x29, 0x9c, 0xdf, 0x2f, 0xc0, 0xb5,
|
||||
0x59, 0xf2, 0xe0, 0x6d, 0xfd, 0x7f, 0x93, 0xc6, 0x23, 0x58, 0x11, 0x6d, 0x14, 0x95, 0x2f, 0x4e,
|
||||
0x66, 0xde, 0x9c, 0x2f, 0x89, 0x58, 0x66, 0x1b, 0x5d, 0xc5, 0xc1, 0x7e, 0x06, 0x2b, 0x88, 0x5d,
|
||||
0x44, 0xca, 0xeb, 0x50, 0xd5, 0xa2, 0x0b, 0x85, 0x84, 0x2c, 0x8c, 0x9d, 0x6d, 0xb8, 0xa2, 0x86,
|
||||
0xe5, 0x32, 0x1f, 0xff, 0x6f, 0x05, 0xae, 0x96, 0xaf, 0x5f, 0x68, 0xf6, 0x38, 0xcf, 0x5c, 0x59,
|
||||
0x3e, 0x32, 0x5a, 0x17, 0x1a, 0x19, 0x17, 0x2f, 0x34, 0x32, 0x2e, 0xcd, 0x18, 0x19, 0x7f, 0x5b,
|
||||
0x81, 0xb5, 0xbd, 0x98, 0xb2, 0xf6, 0xfd, 0xb9, 0xb8, 0x2e, 0xe5, 0xae, 0x1f, 0x41, 0x7b, 0xcc,
|
||||
0x33, 0x86, 0xdf, 0x2f, 0xe4, 0xdc, 0x96, 0x5c, 0xd0, 0xfa, 0x17, 0x96, 0x8d, 0xd4, 0x24, 0x51,
|
||||
0x68, 0x75, 0xda, 0xb8, 0xa2, 0x91, 0x13, 0x58, 0x4c, 0x28, 0x1d, 0x60, 0x7d, 0x13, 0xbf, 0x9d,
|
||||
0x4d, 0x58, 0x37, 0xc5, 0xc0, 0xdc, 0xf4, 0x29, 0xb4, 0x9f, 0x30, 0x57, 0xf8, 0xea, 0xc2, 0x39,
|
||||
0xeb, 0x40, 0x74, 0x0e, 0xc8, 0x97, 0xa1, 0x7b, 0xc3, 0x28, 0x31, 0xb5, 0x76, 0x36, 0x98, 0x31,
|
||||
0x74, 0x14, 0x89, 0x19, 0x2c, 0x91, 0x87, 0x6f, 0x82, 0x24, 0x7b, 0x29, 0xd9, 0x81, 0x75, 0x13,
|
||||
0x46, 0x3f, 0x61, 0x05, 0x94, 0x0a, 0x44, 0xc8, 0xc4, 0x06, 0x26, 0xf9, 0xe5, 0x7c, 0x59, 0x81,
|
||||
0xce, 0x01, 0xef, 0xe6, 0xf7, 0x38, 0x59, 0x98, 0x4c, 0x12, 0x77, 0xec, 0x2b, 0x9d, 0x58, 0xea,
|
||||
0xc3, 0x47, 0xa2, 0xbe, 0x39, 0x05, 0x36, 0x10, 0xc6, 0x71, 0x91, 0xbf, 0xe0, 0x4d, 0x12, 0x7e,
|
||||
0xe5, 0x53, 0xd7, 0x9a, 0x7e, 0xf3, 0x35, 0x6e, 0x11, 0x46, 0xae, 0xac, 0x3b, 0xfd, 0xe6, 0x75,
|
||||
0xca, 0xa7, 0x31, 0xfa, 0x35, 0xc5, 0x02, 0xae, 0x43, 0xce, 0x15, 0xb8, 0x5c, 0x22, 0x9e, 0x54,
|
||||
0x6a, 0xd7, 0x9d, 0xbe, 0x59, 0x1f, 0xd0, 0xf8, 0x75, 0xe0, 0xf3, 0x74, 0xbf, 0x82, 0x08, 0xb9,
|
||||
0xac, 0x05, 0xbb, 0xf9, 0xb2, 0x6d, 0xdb, 0x65, 0x4b, 0xc8, 0xf3, 0x5f, 0x55, 0xa8, 0x4b, 0x0b,
|
||||
0x2a, 0x9e, 0xdf, 0x83, 0x45, 0xfe, 0xcc, 0x46, 0x36, 0xb5, 0x5d, 0xda, 0x33, 0x9c, 0xbd, 0x55,
|
||||
0xc0, 0xa7, 0xb5, 0x67, 0x05, 0x9f, 0xd3, 0x0c, 0x61, 0xcc, 0x37, 0x3a, 0x43, 0x98, 0xfc, 0x63,
|
||||
0x9d, 0x0b, 0x75, 0xe3, 0x29, 0x8d, 0x5c, 0x2f, 0xbe, 0x70, 0x19, 0xef, 0x73, 0xf6, 0x8d, 0xd9,
|
||||
0x04, 0xc8, 0x73, 0x0f, 0x56, 0xd5, 0xdb, 0x18, 0xb1, 0x4b, 0x1f, 0xcc, 0x24, 0xa7, 0x2b, 0x73,
|
||||
0x1e, 0xd3, 0xb8, 0x6a, 0xea, 0xa9, 0x49, 0x57, 0xcd, 0x9c, 0xaf, 0x0d, 0xd5, 0xf2, 0xa3, 0xf0,
|
||||
0x0b, 0x68, 0xe6, 0x26, 0x32, 0xf2, 0x8e, 0x46, 0x5e, 0x3e, 0xc8, 0xda, 0xce, 0x3c, 0x12, 0xe4,
|
||||
0x3c, 0x81, 0xce, 0xac, 0xb6, 0x80, 0x7c, 0x58, 0x5e, 0x85, 0xcb, 0x72, 0xaf, 0xfd, 0xd1, 0xb9,
|
||||
0x68, 0xe5, 0xa1, 0x77, 0x2a, 0x24, 0x62, 0x4d, 0x62, 0x69, 0x4d, 0x21, 0xb7, 0xcf, 0x51, 0x76,
|
||||
0xe4, 0x91, 0x1f, 0x9c, 0xbb, 0x40, 0xb1, 0x03, 0x83, 0xec, 0x89, 0xd6, 0x38, 0xee, 0x56, 0x89,
|
||||
0x0b, 0x94, 0x1d, 0xf6, 0xfe, 0x99, 0x74, 0xd3, 0xa3, 0x7e, 0x06, 0xad, 0xfc, 0x14, 0x47, 0x9c,
|
||||
0xb3, 0x87, 0x4e, 0xfb, 0xe6, 0x5c, 0x9a, 0xcc, 0xc9, 0x8d, 0x77, 0x3c, 0xc3, 0xc9, 0xcb, 0xde,
|
||||
0x0e, 0x0d, 0x27, 0x2f, 0x7d, 0x02, 0x24, 0x8f, 0xa1, 0xaa, 0xbd, 0xd4, 0x91, 0xed, 0xfc, 0xdb,
|
||||
0x99, 0xc9, 0xef, 0xda, 0xac, 0xe5, 0x1c, 0x37, 0xcc, 0x76, 0xdb, 0x73, 0x5f, 0xe2, 0x8a, 0xdc,
|
||||
0x72, 0x6f, 0x6a, 0xcc, 0x98, 0xf9, 0x37, 0x2a, 0xc3, 0x98, 0x33, 0x5e, 0xd5, 0x0c, 0x63, 0xce,
|
||||
0x7a, 0xe4, 0xe2, 0x61, 0x95, 0x9b, 0x08, 0x8d, 0xb0, 0x2a, 0x1f, 0xb7, 0x8d, 0xb0, 0x9a, 0x35,
|
||||
0x8e, 0x32, 0xce, 0xb9, 0x71, 0xc3, 0xe0, 0x5c, 0x3e, 0x20, 0x19, 0x9c, 0x67, 0x4d, 0x2b, 0x1e,
|
||||
0x90, 0xe2, 0x24, 0x40, 0xf4, 0xff, 0xc7, 0x66, 0x0e, 0x1d, 0xf6, 0x7b, 0x67, 0x50, 0x61, 0x56,
|
||||
0xff, 0x9b, 0xa5, 0xca, 0xe5, 0xe3, 0xc8, 0x63, 0x3d, 0x9c, 0xca, 0xed, 0x4f, 0xa0, 0xa6, 0x97,
|
||||
0x4b, 0xa2, 0xdf, 0x5d, 0x49, 0x79, 0xb5, 0xaf, 0xcf, 0x5c, 0x47, 0x5d, 0x18, 0x43, 0xbd, 0x67,
|
||||
0x30, 0x18, 0x96, 0xf4, 0x34, 0x06, 0xc3, 0xb2, 0x66, 0x83, 0x74, 0x01, 0xb2, 0x56, 0x81, 0x5c,
|
||||
0xd5, 0xc8, 0x0b, 0x3d, 0x88, 0xbd, 0x3d, 0x63, 0x35, 0x73, 0x63, 0xad, 0x93, 0x30, 0xdc, 0xb8,
|
||||
0xd8, 0x77, 0x18, 0x6e, 0x5c, 0xd2, 0x80, 0x90, 0x5f, 0x40, 0xbb, 0x50, 0x99, 0x89, 0xee, 0xa3,
|
||||
0xb3, 0xda, 0x0a, 0xfb, 0xdd, 0xf9, 0x44, 0x92, 0xff, 0xe1, 0xb2, 0xf8, 0x8b, 0xfa, 0xdb, 0xff,
|
||||
0x0b, 0x00, 0x00, 0xff, 0xff, 0xb2, 0x2a, 0xb8, 0xd3, 0xaf, 0x1e, 0x00, 0x00,
|
||||
0x12, 0xbb, 0x35, 0xa6, 0x94, 0x02, 0xb5, 0x9f, 0xc2, 0xb2, 0xd4, 0x7a, 0xc6, 0x9e, 0x1d, 0x58,
|
||||
0x31, 0xb7, 0x52, 0x9f, 0xc4, 0x86, 0xd5, 0x20, 0x4c, 0x69, 0x1c, 0x7a, 0x43, 0x21, 0x7b, 0xd5,
|
||||
0x9d, 0x7e, 0x3b, 0x7f, 0xa9, 0x40, 0xed, 0xc1, 0x30, 0xf2, 0x4f, 0xe6, 0x5d, 0xde, 0x26, 0x2c,
|
||||
0x1f, 0xd3, 0xe0, 0xe5, 0xb1, 0x94, 0xbc, 0xe4, 0xe2, 0x97, 0x69, 0x23, 0x2b, 0x67, 0x23, 0x72,
|
||||
0x1f, 0x6a, 0xda, 0xfd, 0xaa, 0x8b, 0xd9, 0x9e, 0x7b, 0x31, 0xae, 0xc1, 0xe2, 0x3c, 0x81, 0x06,
|
||||
0xda, 0xe9, 0x81, 0x37, 0xf4, 0x42, 0x9f, 0xea, 0xa7, 0xac, 0x98, 0xa7, 0xbc, 0x09, 0xf5, 0x34,
|
||||
0x4a, 0xbd, 0x61, 0xff, 0x50, 0x92, 0x0a, 0x5d, 0x2d, 0x26, 0x90, 0x83, 0xc8, 0xee, 0xd4, 0xa1,
|
||||
0xda, 0x63, 0x21, 0xa4, 0x82, 0xb0, 0x01, 0x35, 0xf9, 0x29, 0x03, 0x90, 0x87, 0xe9, 0x3e, 0x4d,
|
||||
0x4f, 0xa3, 0xf8, 0x44, 0x51, 0x7c, 0x0c, 0xcd, 0x29, 0x92, 0x45, 0x29, 0xd7, 0xef, 0x35, 0xed,
|
||||
0x87, 0x72, 0x05, 0x35, 0xa9, 0x4b, 0x14, 0xc9, 0x9d, 0xef, 0xc3, 0x3a, 0xea, 0xbe, 0x3f, 0x19,
|
||||
0x1d, 0xd2, 0x18, 0x25, 0x92, 0x77, 0xa0, 0x86, 0x2a, 0xf7, 0x43, 0x6f, 0x44, 0x31, 0xc4, 0xab,
|
||||
0x88, 0xed, 0x33, 0xc8, 0xb9, 0x07, 0x1b, 0x39, 0x56, 0x7d, 0x6b, 0xe4, 0x15, 0x2b, 0xd9, 0xd6,
|
||||
0x1a, 0xb9, 0xd3, 0x86, 0x26, 0xf2, 0x27, 0xea, 0x1c, 0xff, 0xb0, 0xa0, 0x95, 0x61, 0x28, 0xee,
|
||||
0x87, 0xb0, 0x8a, 0x8c, 0x09, 0x13, 0x94, 0x0f, 0xba, 0x3c, 0xb9, 0x02, 0xdc, 0x29, 0x13, 0xf9,
|
||||
0x3a, 0x10, 0x7f, 0x12, 0xc7, 0x94, 0xe9, 0x73, 0xc8, 0x9d, 0xa8, 0x2f, 0x5c, 0x47, 0x06, 0x77,
|
||||
0x0b, 0x57, 0x84, 0x77, 0x7d, 0xce, 0xdd, 0xe8, 0x0e, 0xac, 0xe7, 0xa8, 0xa5, 0x53, 0x59, 0xc2,
|
||||
0xa9, 0x88, 0x41, 0x2f, 0x56, 0xec, 0xdf, 0x2c, 0xc0, 0x8a, 0x0a, 0x94, 0xf3, 0x9d, 0xbd, 0x60,
|
||||
0xde, 0x85, 0x82, 0x79, 0x8b, 0x9e, 0x62, 0x15, 0x3d, 0x85, 0x1f, 0x8d, 0xbe, 0x91, 0x41, 0xd2,
|
||||
0x3f, 0xa1, 0x6f, 0xfb, 0xd2, 0xe7, 0x64, 0x16, 0x6d, 0xa9, 0x95, 0x47, 0xf4, 0xed, 0x9e, 0x50,
|
||||
0x8e, 0x51, 0xab, 0x90, 0xd2, 0xa8, 0x97, 0x24, 0xb5, 0x5a, 0x31, 0xa8, 0x47, 0xe3, 0x28, 0x4e,
|
||||
0xe9, 0x40, 0xa3, 0x5e, 0x46, 0x6a, 0x5c, 0x51, 0xd4, 0xce, 0x0b, 0x58, 0x77, 0x29, 0x3f, 0x8b,
|
||||
0xb2, 0x3f, 0x3a, 0xd2, 0x39, 0x0d, 0x72, 0x19, 0x56, 0x43, 0x7a, 0xaa, 0x1b, 0x63, 0x85, 0x7d,
|
||||
0x0b, 0x3f, 0xdb, 0x82, 0x8d, 0x9c, 0x64, 0x8c, 0x83, 0xe7, 0x40, 0xf6, 0xd9, 0x19, 0x73, 0x1b,
|
||||
0xf2, 0xaa, 0xe1, 0x25, 0xc9, 0xf8, 0x38, 0xe6, 0x55, 0x43, 0x26, 0x08, 0x0d, 0x39, 0x87, 0xe9,
|
||||
0x9d, 0x4f, 0x60, 0xcd, 0x10, 0x7c, 0x31, 0xbf, 0xfe, 0x73, 0x05, 0xf5, 0x1a, 0x0c, 0x62, 0x9a,
|
||||
0x28, 0xdf, 0x9e, 0x93, 0x13, 0xbe, 0x0b, 0x8b, 0x27, 0x2c, 0x3b, 0x0a, 0x4d, 0x1a, 0xbb, 0x8e,
|
||||
0xe6, 0xdc, 0x45, 0x31, 0x3b, 0x8f, 0x18, 0xa5, 0x2b, 0xe8, 0x9d, 0x5d, 0x58, 0xe4, 0x5f, 0x2c,
|
||||
0xd3, 0xb6, 0x1e, 0x74, 0x7b, 0x77, 0xee, 0xdc, 0xbd, 0xdb, 0x7f, 0xf8, 0xe2, 0xe9, 0x43, 0x77,
|
||||
0xff, 0xfe, 0xe3, 0xd6, 0xd7, 0x74, 0xb4, 0xbb, 0x8f, 0x68, 0xc5, 0xf9, 0x26, 0x1e, 0x4d, 0x09,
|
||||
0xc5, 0xa3, 0x71, 0xe5, 0x24, 0x84, 0x91, 0xae, 0x3e, 0x9d, 0x3f, 0x54, 0x60, 0xab, 0x2b, 0x2e,
|
||||
0xbb, 0x17, 0x07, 0xaf, 0xbd, 0x94, 0xb2, 0x1b, 0x3f, 0xaf, 0xa9, 0x67, 0x27, 0xfb, 0x5b, 0xbc,
|
||||
0x9e, 0x08, 0x71, 0xc2, 0xb5, 0x4e, 0x83, 0x23, 0xe1, 0xde, 0xac, 0x76, 0x8f, 0xa7, 0xbb, 0x3c,
|
||||
0x0f, 0x8e, 0x78, 0x4e, 0x67, 0x5a, 0xf8, 0x5e, 0x28, 0x7c, 0x7a, 0xd5, 0xc5, 0x2f, 0xc7, 0x86,
|
||||
0x4e, 0x51, 0x29, 0x74, 0x8b, 0x10, 0x1a, 0x18, 0x1e, 0x17, 0xf4, 0xc1, 0xef, 0xc0, 0x66, 0xcc,
|
||||
0x38, 0x02, 0x56, 0x6d, 0x99, 0xb3, 0x87, 0x47, 0x41, 0x3c, 0xf2, 0x64, 0x51, 0x90, 0x05, 0x65,
|
||||
0x43, 0xad, 0xee, 0xe9, 0x8b, 0x6c, 0xbf, 0xe6, 0x74, 0x3f, 0x34, 0x27, 0xab, 0x7d, 0x22, 0x4c,
|
||||
0xc5, 0x3e, 0x96, 0x2b, 0x3f, 0x78, 0x21, 0x4a, 0xc6, 0x34, 0x1c, 0x78, 0x87, 0x43, 0x95, 0xf7,
|
||||
0x33, 0x80, 0x97, 0xd8, 0x60, 0xc4, 0x64, 0x4e, 0x62, 0xda, 0x8f, 0xe9, 0xa9, 0x17, 0x0f, 0x54,
|
||||
0x89, 0x55, 0xb0, 0x2b, 0x50, 0xe7, 0x4f, 0x0b, 0xb0, 0xf9, 0x63, 0x9a, 0x6a, 0x65, 0x69, 0xea,
|
||||
0x63, 0x3b, 0xb0, 0xc6, 0xaa, 0x5a, 0x9c, 0xb2, 0x6a, 0xa1, 0xa7, 0x3a, 0x79, 0x33, 0x6d, 0xb5,
|
||||
0x94, 0xe5, 0xba, 0x5d, 0xd8, 0xc8, 0xd3, 0x67, 0x15, 0xb4, 0xed, 0xae, 0x99, 0x1c, 0xb2, 0x9c,
|
||||
0x7e, 0x08, 0x6d, 0xa6, 0x72, 0x6e, 0x07, 0x4b, 0xec, 0xd0, 0x94, 0x0b, 0x99, 0x7c, 0xa6, 0x8f,
|
||||
0x49, 0x2b, 0xa5, 0x2f, 0x0a, 0x73, 0xb6, 0x75, 0x6a, 0x29, 0xfb, 0x1e, 0x5c, 0x61, 0x0d, 0x61,
|
||||
0x30, 0x9a, 0x8c, 0x98, 0x09, 0x7c, 0x9e, 0x82, 0x8d, 0xda, 0xbc, 0x24, 0xf8, 0x2e, 0x23, 0x89,
|
||||
0x2b, 0x28, 0x74, 0x33, 0x38, 0x7f, 0x67, 0xce, 0x5a, 0x30, 0x0d, 0xde, 0xc9, 0x67, 0x40, 0x18,
|
||||
0x23, 0xbb, 0x5a, 0x43, 0xa4, 0x2c, 0x28, 0x5b, 0x5a, 0xcc, 0xe9, 0x7d, 0x86, 0xdb, 0x16, 0x2c,
|
||||
0xba, 0x3c, 0xd2, 0x83, 0xf5, 0x49, 0x58, 0x22, 0x69, 0xe1, 0x3c, 0x8d, 0xc3, 0x1a, 0xb2, 0x1a,
|
||||
0x5a, 0xb3, 0x26, 0x7b, 0x6b, 0xef, 0xd8, 0x0b, 0x5f, 0xd2, 0xde, 0x34, 0x76, 0xd4, 0x8d, 0x7e,
|
||||
0x0c, 0x16, 0x0b, 0x10, 0x71, 0x83, 0x8d, 0xdd, 0x5b, 0x9a, 0xf0, 0x19, 0x0c, 0x3b, 0x3c, 0x12,
|
||||
0x38, 0x0b, 0x77, 0xfa, 0x88, 0xf5, 0xc6, 0x5a, 0x80, 0xca, 0x8a, 0x57, 0x67, 0x68, 0xc6, 0xc6,
|
||||
0xc9, 0x78, 0xe2, 0xd5, 0xc8, 0xe4, 0x5d, 0xd6, 0x19, 0x9a, 0x91, 0x39, 0xd7, 0xc0, 0x62, 0x92,
|
||||
0x49, 0x15, 0x56, 0x7a, 0x6e, 0xf7, 0x8b, 0xfb, 0x4f, 0x1f, 0xb2, 0x0c, 0x03, 0xb0, 0xdc, 0x7b,
|
||||
0xf6, 0xe0, 0x71, 0x77, 0x8f, 0xe5, 0x15, 0x16, 0x90, 0x45, 0x8d, 0x30, 0x20, 0x7f, 0xcd, 0x1c,
|
||||
0xf6, 0xb3, 0x49, 0xa8, 0x1f, 0xfa, 0xec, 0xa4, 0xc8, 0xcb, 0x9f, 0x17, 0xbf, 0xa4, 0xa9, 0xea,
|
||||
0x37, 0x55, 0xa3, 0x24, 0x40, 0xd9, 0x6d, 0xce, 0x89, 0x58, 0x6b, 0x4e, 0xc4, 0x92, 0x4f, 0xc0,
|
||||
0x0e, 0x42, 0x7f, 0x38, 0x19, 0xd0, 0xfe, 0x34, 0xe4, 0xfc, 0x28, 0x08, 0x0f, 0x99, 0xd6, 0x09,
|
||||
0x66, 0x9a, 0x0e, 0x52, 0x74, 0x91, 0x60, 0x4f, 0xad, 0xf3, 0xa0, 0x51, 0xdc, 0xbe, 0x38, 0x72,
|
||||
0x3f, 0xf1, 0xe3, 0x60, 0x2c, 0x0b, 0xe9, 0xaa, 0xbb, 0x86, 0x8b, 0xd2, 0x1c, 0x07, 0x62, 0xc9,
|
||||
0xf9, 0xab, 0x05, 0x5b, 0x05, 0x13, 0xa0, 0x63, 0xfe, 0x1c, 0x5a, 0x09, 0x9b, 0x68, 0x7c, 0x5e,
|
||||
0x67, 0x23, 0xd1, 0x3b, 0x2b, 0xb7, 0xfc, 0x96, 0x76, 0xdf, 0x33, 0xb8, 0x77, 0x7a, 0xd8, 0x7f,
|
||||
0xe3, 0xac, 0xd0, 0x54, 0xa2, 0xe4, 0x77, 0xc2, 0xcb, 0x9d, 0x6c, 0x23, 0x0c, 0x33, 0x56, 0x05,
|
||||
0x86, 0x56, 0xbc, 0x0d, 0x2d, 0x3c, 0xc8, 0xf8, 0x44, 0x9d, 0x45, 0x3a, 0x41, 0x43, 0xe2, 0xbd,
|
||||
0x13, 0x79, 0x0c, 0xfb, 0x3f, 0x15, 0x68, 0x98, 0x1b, 0xf2, 0x21, 0x42, 0x0b, 0x03, 0x3d, 0xdf,
|
||||
0x34, 0x35, 0x5c, 0x64, 0x03, 0xa6, 0x8a, 0x3c, 0x5f, 0x5f, 0x0e, 0x06, 0xb2, 0x26, 0x54, 0x25,
|
||||
0xd6, 0x15, 0xe3, 0x01, 0xcb, 0xf7, 0xc6, 0x78, 0x81, 0x5f, 0xe4, 0x0a, 0x5c, 0xca, 0x74, 0x5b,
|
||||
0x14, 0xe2, 0x57, 0xc7, 0xa8, 0x15, 0x97, 0xcb, 0xb3, 0x05, 0xef, 0x75, 0x79, 0x5f, 0x8f, 0xf3,
|
||||
0x51, 0x15, 0xb1, 0xa7, 0x81, 0x6c, 0xa6, 0x8e, 0xe2, 0x68, 0x34, 0xbd, 0x65, 0xd1, 0xc6, 0xac,
|
||||
0xba, 0x35, 0x0e, 0xaa, 0x9b, 0x75, 0xfe, 0x58, 0x81, 0xcd, 0x83, 0xe0, 0x65, 0x58, 0xe2, 0xa7,
|
||||
0x67, 0x55, 0x3a, 0xe6, 0x88, 0x09, 0x8d, 0x03, 0x6f, 0x18, 0xfc, 0xca, 0xcc, 0x0b, 0x18, 0x74,
|
||||
0x1b, 0xd9, 0xaa, 0x26, 0x9d, 0xab, 0x15, 0x84, 0x53, 0x83, 0x50, 0x39, 0x54, 0xd6, 0xdd, 0x9a,
|
||||
0x00, 0xbb, 0x12, 0x73, 0x5e, 0xc1, 0x56, 0x41, 0x2b, 0x74, 0x9d, 0xdc, 0xbc, 0x5a, 0x29, 0xce,
|
||||
0xab, 0x77, 0x61, 0x73, 0x12, 0x26, 0x8c, 0x9d, 0xa9, 0x65, 0x6e, 0xb5, 0x20, 0xb6, 0x5a, 0x57,
|
||||
0xab, 0x5d, 0x7d, 0xcb, 0x9f, 0xc0, 0xe5, 0xde, 0xe4, 0x70, 0x18, 0x24, 0xc7, 0x25, 0xb6, 0xf8,
|
||||
0x06, 0x10, 0x14, 0x58, 0xdc, 0xbb, 0x2d, 0x57, 0x34, 0x2e, 0xe7, 0x2a, 0xd8, 0x65, 0xb2, 0x30,
|
||||
0x37, 0xbc, 0x03, 0xd7, 0x35, 0x78, 0x3f, 0x4a, 0x83, 0xa3, 0xc0, 0xf7, 0xf4, 0xa2, 0xe6, 0x7c,
|
||||
0xb9, 0x00, 0x37, 0x66, 0xd3, 0xa0, 0x25, 0x3e, 0x85, 0xa6, 0x97, 0xa6, 0x9e, 0x7f, 0xcc, 0xd4,
|
||||
0x12, 0xb5, 0xe6, 0xcc, 0xd4, 0xde, 0x50, 0xf4, 0x02, 0x4d, 0x78, 0xfd, 0x1d, 0x50, 0x53, 0x02,
|
||||
0x37, 0x11, 0x0b, 0x02, 0x05, 0x23, 0xe1, 0xac, 0x02, 0x60, 0x7d, 0xd5, 0x02, 0xc0, 0xf3, 0x51,
|
||||
0x89, 0x44, 0x11, 0x4b, 0x54, 0x4e, 0xa4, 0x35, 0xb7, 0x53, 0x64, 0xfc, 0x5c, 0xac, 0x3b, 0xbf,
|
||||
0xab, 0xc0, 0xf6, 0x01, 0x6b, 0x23, 0xd2, 0x90, 0xf5, 0x6b, 0x65, 0x16, 0x9c, 0x93, 0x65, 0x59,
|
||||
0x31, 0x0f, 0xa3, 0x7e, 0xc8, 0x99, 0xde, 0xf6, 0x99, 0x2b, 0x70, 0x31, 0xc2, 0x65, 0x57, 0xdd,
|
||||
0x66, 0x18, 0x09, 0x61, 0x6f, 0x9f, 0x49, 0x98, 0xf7, 0x6c, 0x19, 0xad, 0xa4, 0x94, 0x73, 0x7a,
|
||||
0x5d, 0x51, 0x0a, 0x2d, 0x9c, 0xdf, 0x2f, 0xc0, 0xb5, 0x59, 0xfa, 0xe0, 0x6d, 0xfd, 0x7f, 0x93,
|
||||
0xc6, 0x23, 0x58, 0x11, 0x6d, 0x14, 0x95, 0xaf, 0x4a, 0x66, 0xde, 0x9c, 0xaf, 0x89, 0x58, 0x66,
|
||||
0x8c, 0xae, 0x92, 0x60, 0x3f, 0x83, 0x15, 0xc4, 0x2e, 0xa2, 0xe5, 0x75, 0xa8, 0x6a, 0xd1, 0x85,
|
||||
0x4a, 0x42, 0x16, 0xc6, 0xce, 0x36, 0x5c, 0x51, 0xc3, 0x72, 0x99, 0x8f, 0xff, 0xb7, 0x02, 0x57,
|
||||
0xcb, 0xd7, 0x2f, 0x34, 0x7b, 0x9c, 0x67, 0xae, 0x2c, 0x1f, 0x19, 0xad, 0x0b, 0x8d, 0x8c, 0x8b,
|
||||
0x17, 0x1a, 0x19, 0x97, 0x66, 0x8c, 0x8c, 0xbf, 0xad, 0xc0, 0xda, 0x5e, 0x4c, 0x59, 0xfb, 0xfe,
|
||||
0x5c, 0x5c, 0x97, 0x72, 0xd7, 0x8f, 0xa0, 0x3d, 0xe6, 0x19, 0xc3, 0xef, 0x17, 0x72, 0x6e, 0x4b,
|
||||
0x2e, 0x68, 0xfd, 0x0b, 0xcb, 0x46, 0x6a, 0x92, 0x28, 0xb4, 0x3a, 0x6d, 0x5c, 0xd1, 0xc8, 0x09,
|
||||
0x2c, 0x26, 0x94, 0x0e, 0xb0, 0xbe, 0x89, 0xdf, 0xce, 0x26, 0xac, 0x9b, 0x6a, 0x60, 0x6e, 0xfa,
|
||||
0x14, 0xda, 0x4f, 0x98, 0x2b, 0x7c, 0x75, 0xe5, 0x9c, 0x75, 0x20, 0xba, 0x04, 0x94, 0xcb, 0xd0,
|
||||
0xbd, 0x61, 0x94, 0x98, 0xa7, 0x76, 0x36, 0x98, 0x31, 0x74, 0x14, 0x89, 0x19, 0x2c, 0x91, 0x87,
|
||||
0x6f, 0x82, 0x24, 0x7b, 0x29, 0xd9, 0x81, 0x75, 0x13, 0x46, 0x3f, 0x61, 0x05, 0x94, 0x0a, 0x44,
|
||||
0xe8, 0xc4, 0x06, 0x26, 0xf9, 0xe5, 0x7c, 0x59, 0x81, 0xce, 0x01, 0xef, 0xe6, 0xf7, 0x38, 0x59,
|
||||
0x98, 0x4c, 0x12, 0x77, 0xec, 0xab, 0x33, 0xb1, 0xd4, 0x87, 0x8f, 0x44, 0x7d, 0x73, 0x0a, 0x6c,
|
||||
0x20, 0x8c, 0xe3, 0x22, 0x7f, 0xa3, 0x9b, 0x24, 0xfc, 0xca, 0xa7, 0xae, 0x35, 0xfd, 0xe6, 0x6b,
|
||||
0xdc, 0x22, 0x8c, 0x5c, 0x59, 0x77, 0xfa, 0xcd, 0xeb, 0x94, 0x4f, 0x63, 0xf4, 0x6b, 0x8a, 0x05,
|
||||
0x5c, 0x87, 0x9c, 0x2b, 0x70, 0xb9, 0x44, 0x3d, 0x79, 0xa8, 0x5d, 0x77, 0xfa, 0x2e, 0x7d, 0x40,
|
||||
0xe3, 0xd7, 0x81, 0xcf, 0xd3, 0xfd, 0x0a, 0x22, 0xe4, 0xb2, 0x16, 0xec, 0xe6, 0xeb, 0xb5, 0x6d,
|
||||
0x97, 0x2d, 0xa1, 0xcc, 0x7f, 0x57, 0xa1, 0x2e, 0x2d, 0xa8, 0x64, 0x7e, 0x0f, 0x16, 0xf9, 0x33,
|
||||
0x1b, 0xd9, 0xd4, 0xb8, 0xb4, 0x67, 0x38, 0x7b, 0xab, 0x80, 0x4f, 0x6b, 0xcf, 0x0a, 0x3e, 0xa7,
|
||||
0x19, 0xca, 0x98, 0x6f, 0x74, 0x86, 0x32, 0xf9, 0xc7, 0x3a, 0x17, 0xea, 0xc6, 0x53, 0x1a, 0xb9,
|
||||
0x5e, 0x7c, 0xe1, 0x32, 0xde, 0xe7, 0xec, 0x1b, 0xb3, 0x09, 0x50, 0xe6, 0x1e, 0xac, 0xaa, 0xb7,
|
||||
0x31, 0x62, 0x97, 0x3e, 0x98, 0x49, 0x49, 0x57, 0xe6, 0x3c, 0xa6, 0xf1, 0xa3, 0xa9, 0xa7, 0x26,
|
||||
0xfd, 0x68, 0xe6, 0x7c, 0x6d, 0x1c, 0x2d, 0x3f, 0x0a, 0xbf, 0x80, 0x66, 0x6e, 0x22, 0x23, 0xef,
|
||||
0x68, 0xe4, 0xe5, 0x83, 0xac, 0xed, 0xcc, 0x23, 0x41, 0xc9, 0x13, 0xe8, 0xcc, 0x6a, 0x0b, 0xc8,
|
||||
0x87, 0xe5, 0x55, 0xb8, 0x2c, 0xf7, 0xda, 0x1f, 0x9d, 0x8b, 0x56, 0x6e, 0x7a, 0xa7, 0x42, 0x22,
|
||||
0xd6, 0x24, 0x96, 0xd6, 0x14, 0x72, 0xfb, 0x1c, 0x65, 0x47, 0x6e, 0xf9, 0xc1, 0xb9, 0x0b, 0x14,
|
||||
0xdb, 0x30, 0xc8, 0x9e, 0x68, 0x8d, 0xed, 0x6e, 0x95, 0xb8, 0x40, 0xd9, 0x66, 0xef, 0x9f, 0x49,
|
||||
0x37, 0xdd, 0xea, 0x67, 0xd0, 0xca, 0x4f, 0x71, 0xc4, 0x39, 0x7b, 0xe8, 0xb4, 0x6f, 0xce, 0xa5,
|
||||
0xc9, 0x9c, 0xdc, 0x78, 0xc7, 0x33, 0x9c, 0xbc, 0xec, 0xed, 0xd0, 0x70, 0xf2, 0xd2, 0x27, 0x40,
|
||||
0xf2, 0x18, 0xaa, 0xda, 0x4b, 0x1d, 0xd9, 0xce, 0xbf, 0x9d, 0x99, 0xf2, 0xae, 0xcd, 0x5a, 0xce,
|
||||
0x49, 0xc3, 0x6c, 0xb7, 0x3d, 0xf7, 0x25, 0xae, 0x28, 0x2d, 0xf7, 0xa6, 0xc6, 0x8c, 0x99, 0x7f,
|
||||
0xa3, 0x32, 0x8c, 0x39, 0xe3, 0x55, 0xcd, 0x30, 0xe6, 0xac, 0x47, 0x2e, 0x1e, 0x56, 0xb9, 0x89,
|
||||
0xd0, 0x08, 0xab, 0xf2, 0x71, 0xdb, 0x08, 0xab, 0x59, 0xe3, 0x28, 0x93, 0x9c, 0x1b, 0x37, 0x0c,
|
||||
0xc9, 0xe5, 0x03, 0x92, 0x21, 0x79, 0xd6, 0xb4, 0xe2, 0x01, 0x29, 0x4e, 0x02, 0x44, 0xff, 0x0f,
|
||||
0x6c, 0xe6, 0xd0, 0x61, 0xbf, 0x77, 0x06, 0x15, 0x66, 0xf5, 0xbf, 0x59, 0xaa, 0x5c, 0x3e, 0x8e,
|
||||
0x3c, 0xd6, 0xc3, 0xa9, 0xdc, 0xfe, 0x04, 0x6a, 0x7a, 0xb9, 0x24, 0xfa, 0xdd, 0x95, 0x94, 0x57,
|
||||
0xfb, 0xfa, 0xcc, 0x75, 0x3c, 0x0b, 0x13, 0xa8, 0xf7, 0x0c, 0x86, 0xc0, 0x92, 0x9e, 0xc6, 0x10,
|
||||
0x58, 0xd6, 0x6c, 0x90, 0x2e, 0x40, 0xd6, 0x2a, 0x90, 0xab, 0x1a, 0x79, 0xa1, 0x07, 0xb1, 0xb7,
|
||||
0x67, 0xac, 0x66, 0x6e, 0xac, 0x75, 0x12, 0x86, 0x1b, 0x17, 0xfb, 0x0e, 0xc3, 0x8d, 0x4b, 0x1a,
|
||||
0x10, 0xf2, 0x0b, 0x68, 0x17, 0x2a, 0x33, 0xd1, 0x7d, 0x74, 0x56, 0x5b, 0x61, 0xbf, 0x3b, 0x9f,
|
||||
0x48, 0xca, 0x3f, 0x5c, 0x16, 0x7f, 0x43, 0x7f, 0xfb, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x22,
|
||||
0xfc, 0x70, 0xb3, 0x93, 0x1e, 0x00, 0x00,
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright (c) 2015 The btcsuite developers
|
||||
// Copyright (c) 2015-2016 The btcsuite developers
|
||||
// Use of this source code is governed by an ISC
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
|
@ -119,23 +119,16 @@ func makeTxSummary(w *Wallet, details *wtxmgr.TxDetails) TransactionSummary {
|
|||
}
|
||||
outputs := make([]TransactionSummaryOutput, 0, len(details.MsgTx.TxOut))
|
||||
var credIndex int
|
||||
for i, txOut := range details.MsgTx.TxOut {
|
||||
for i := range details.MsgTx.TxOut {
|
||||
mine := len(details.Credits) > credIndex && details.Credits[credIndex].Index == uint32(i)
|
||||
output := TransactionSummaryOutput{
|
||||
Index: uint32(i),
|
||||
Amount: btcutil.Amount(txOut.Value),
|
||||
Mine: mine,
|
||||
if !mine {
|
||||
continue
|
||||
}
|
||||
if mine {
|
||||
acct, internal := lookupOutputChain(w, details, details.Credits[credIndex])
|
||||
output.Account = acct
|
||||
output.Internal = internal
|
||||
credIndex++
|
||||
} else {
|
||||
_, addresses, _, err := txscript.ExtractPkScriptAddrs(txOut.PkScript, w.chainParams)
|
||||
if err == nil {
|
||||
output.Addresses = addresses
|
||||
}
|
||||
acct, internal := lookupOutputChain(w, details, details.Credits[credIndex])
|
||||
output := TransactionSummaryOutput{
|
||||
Index: uint32(i),
|
||||
Account: acct,
|
||||
Internal: internal,
|
||||
}
|
||||
outputs = append(outputs, output)
|
||||
}
|
||||
|
@ -143,7 +136,7 @@ func makeTxSummary(w *Wallet, details *wtxmgr.TxDetails) TransactionSummary {
|
|||
Hash: &details.Hash,
|
||||
Transaction: serializedTx,
|
||||
MyInputs: inputs,
|
||||
Outputs: outputs,
|
||||
MyOutputs: outputs,
|
||||
Fee: fee,
|
||||
Timestamp: details.Received.Unix(),
|
||||
}
|
||||
|
@ -185,7 +178,7 @@ func relevantAccounts(w *Wallet, m map[uint32]btcutil.Amount, txs []TransactionS
|
|||
for _, d := range tx.MyInputs {
|
||||
m[d.PreviousAccount] = 0
|
||||
}
|
||||
for _, c := range tx.Outputs {
|
||||
for _, c := range tx.MyOutputs {
|
||||
m[c.Account] = 0
|
||||
}
|
||||
}
|
||||
|
@ -356,7 +349,7 @@ type TransactionSummary struct {
|
|||
Hash *wire.ShaHash
|
||||
Transaction []byte
|
||||
MyInputs []TransactionSummaryInput
|
||||
Outputs []TransactionSummaryOutput
|
||||
MyOutputs []TransactionSummaryOutput
|
||||
Fee btcutil.Amount
|
||||
Timestamp int64
|
||||
}
|
||||
|
@ -371,23 +364,13 @@ type TransactionSummaryInput struct {
|
|||
PreviousAmount btcutil.Amount
|
||||
}
|
||||
|
||||
// TransactionSummaryOutput describes a transaction output of a relevant
|
||||
// transaction. When the transaction is authored by this wallet, all
|
||||
// transaction outputs are considered relevant. The Mine field describes
|
||||
// whether outputs to these authored transactions pay back to the wallet
|
||||
// (e.g. change) or create an uncontrolled output. For convenience, the
|
||||
// addresses (if any) of an uncontrolled output are included.
|
||||
// TransactionSummaryOutput describes wallet properties of a transaction output
|
||||
// controlled by the wallet. The Index field marks the transaction output index
|
||||
// of the transaction (not included here).
|
||||
type TransactionSummaryOutput struct {
|
||||
Index uint32
|
||||
Amount btcutil.Amount
|
||||
Mine bool
|
||||
|
||||
// Only relevant if mine==true.
|
||||
Index uint32
|
||||
Account uint32
|
||||
Internal bool
|
||||
|
||||
// Only relevant if mine==false.
|
||||
Addresses []btcutil.Address
|
||||
}
|
||||
|
||||
// AccountBalance associates a total (zero confirmation) balance with an
|
||||
|
|
Loading…
Add table
Reference in a new issue