Commit 961263a5 authored by pengjun's avatar pengjun

#627 update collateralize exec local

parent 4bf2e915
...@@ -59,76 +59,42 @@ func (Coll *Collateralize) GetDriverName() string { ...@@ -59,76 +59,42 @@ func (Coll *Collateralize) GetDriverName() string {
return pty.CollateralizeX return pty.CollateralizeX
} }
func (Coll *Collateralize) saveCollateralizeBorrow(collateralizelog *pty.ReceiptCollateralize) (kvs []*types.KeyValue) { func (Coll *Collateralize) addCollateralizeStatus(collateralizelog *pty.ReceiptCollateralize) (kvs []*types.KeyValue) {
key := calcCollateralizeBorrowKey(collateralizelog.CollateralizeId, collateralizelog.AccountAddr) key := calcCollateralizeStatusKey(collateralizelog.Status, collateralizelog.Index)
record := &pty.CollateralizeBorrowRecord{CollateralizeId:collateralizelog.CollateralizeId,} record := &pty.CollateralizeRecord{
CollateralizeId:collateralizelog.CollateralizeId,
Index: collateralizelog.Index,
}
kv := &types.KeyValue{Key: key, Value: types.Encode(record)} kv := &types.KeyValue{Key: key, Value: types.Encode(record)}
kvs = append(kvs, kv) kvs = append(kvs, kv)
return kvs return kvs
} }
func (Coll *Collateralize) deleteCollateralizeBorrow(collateralizelog *pty.ReceiptCollateralize) (kvs []*types.KeyValue) { func (Coll *Collateralize) deleteCollateralizeStatus(collateralizelog *pty.ReceiptCollateralize) (kvs []*types.KeyValue) {
key := calcCollateralizeBorrowKey(collateralizelog.CollateralizeId, collateralizelog.AccountAddr) key := calcCollateralizeStatusKey(collateralizelog.Status, collateralizelog.Index)
kv := &types.KeyValue{Key: key, Value: nil} kv := &types.KeyValue{Key: key, Value: nil}
kvs = append(kvs, kv) kvs = append(kvs, kv)
return kvs return kvs
} }
func (Coll *Collateralize) saveCollateralizeRepay(collateralizelog *pty.ReceiptCollateralize) (kvs []*types.KeyValue) { func (Coll *Collateralize) addCollateralizeAddr(collateralizelog *pty.ReceiptCollateralize) (kvs []*types.KeyValue) {
key := calcCollateralizeRepayKey(collateralizelog.CollateralizeId) key := calcCollateralizeAddrKey(collateralizelog.AccountAddr, collateralizelog.Index)
record := &pty.CollateralizeRepayRecord{} record := &pty.CollateralizeRecord{
CollateralizeId:collateralizelog.CollateralizeId,
Index: collateralizelog.Index,
}
kv := &types.KeyValue{Key: key, Value: types.Encode(record)} kv := &types.KeyValue{Key: key, Value: types.Encode(record)}
kvs = append(kvs, kv)
return kvs
}
func (Coll *Collateralize) deleteCollateralizeRepay(collateralizelog *pty.ReceiptCollateralize) (kvs []*types.KeyValue) {
key := calcCollateralizeRepayKey(collateralizelog.CollateralizeId)
kv := &types.KeyValue{Key: key, Value: nil}
kvs = append(kvs, kv) kvs = append(kvs, kv)
return kvs return kvs
} }
func (Coll *Collateralize) saveCollateralize(collateralizelog *pty.ReceiptCollateralize) (kvs []*types.KeyValue) { func (Coll *Collateralize) deleteCollateralizeAddr(collateralizelog *pty.ReceiptCollateralize) (kvs []*types.KeyValue) {
if collateralizelog.PreStatus > 0 { key := calcCollateralizeAddrKey(collateralizelog.AccountAddr, collateralizelog.Index)
kv := delCollateralize(collateralizelog.CollateralizeId, collateralizelog.PreStatus)
kvs = append(kvs, kv)
}
kvs = append(kvs, addCollateralize(collateralizelog.CollateralizeId, collateralizelog.Status))
return kvs
}
func (Coll *Collateralize) deleteCollateralize(collateralizelog *pty.ReceiptCollateralize) (kvs []*types.KeyValue) { kv := &types.KeyValue{Key: key, Value: nil}
if collateralizelog.PreStatus > 0 { kvs = append(kvs, kv)
kv := addCollateralize(collateralizelog.CollateralizeId, collateralizelog.PreStatus)
kvs = append(kvs, kv)
}
kvs = append(kvs, delCollateralize(collateralizelog.CollateralizeId, collateralizelog.Status))
return kvs return kvs
} }
func addCollateralize(collateralizeID string, status int32) *types.KeyValue {
kv := &types.KeyValue{}
kv.Key = calcCollateralizeKey(collateralizeID)
kv.Value = []byte(collateralizeID)
return kv
}
func delCollateralize(collateralizeID string, status int32) *types.KeyValue {
kv := &types.KeyValue{}
kv.Key = calcCollateralizeKey(collateralizeID)
kv.Value = nil
return kv
}
// GetPayloadValue CollateralizeAction
func (Coll *Collateralize) GetPayloadValue() types.Message {
return &pty.CollateralizeAction{}
}
// CheckReceiptExecOk return true to check if receipt ty is ok
func (Coll *Collateralize) CheckReceiptExecOk() bool {
return true
}
...@@ -13,25 +13,32 @@ import ( ...@@ -13,25 +13,32 @@ import (
func (c *Collateralize) execDelLocal(tx *types.Transaction, receiptData *types.ReceiptData) (*types.LocalDBSet, error) { func (c *Collateralize) execDelLocal(tx *types.Transaction, receiptData *types.ReceiptData) (*types.LocalDBSet, error) {
set := &types.LocalDBSet{} set := &types.LocalDBSet{}
for _, item := range receiptData.Logs { for _, item := range receiptData.Logs {
var collateralizelog pty.ReceiptCollateralize
err := types.Decode(item.Log, &collateralizelog)
if err != nil {
return nil, err
}
switch item.Ty { switch item.Ty {
case pty.TyLogCollateralizeCreate, pty.TyLogCollateralizeBorrow, pty.TyLogCollateralizeAppend, case pty.TyLogCollateralizeCreate:
pty.TyLogCollateralizeRepay, pty.TyLogCollateralizeFeed, pty.TyLogCollateralizeClose: kv := c.deleteCollateralizeStatus(&collateralizelog)
var collateralizelog pty.ReceiptCollateralize
err := types.Decode(item.Log, &collateralizelog)
if err != nil {
return nil, err
}
kv := c.deleteCollateralize(&collateralizelog)
set.KV = append(set.KV, kv...) set.KV = append(set.KV, kv...)
break
if item.Ty == pty.TyLogCollateralizeBorrow { case pty.TyLogCollateralizeBorrow:
kv := c.deleteCollateralizeBorrow(&collateralizelog) kv := c.deleteCollateralizeAddr(&collateralizelog)
set.KV = append(set.KV, kv...) set.KV = append(set.KV, kv...)
} else if item.Ty == pty.TyLogCollateralizeAppend { break
kv := c.deleteCollateralizeRepay(&collateralizelog) case pty.TyLogCollateralizeAppend: // append没有状态变化
set.KV = append(set.KV, kv...) break
//TODO case pty.TyLogCollateralizeRepay:
} kv := c.addCollateralizeAddr(&collateralizelog)
set.KV = append(set.KV, kv...)
break
/*case pty.TyLogCollateralizeFeed:*/ // TODO
case pty.TyLogCollateralizeClose:
kv := c.addCollateralizeStatus(&collateralizelog)
set.KV = append(set.KV, kv...)
break
} }
} }
return set, nil return set, nil
......
...@@ -13,26 +13,32 @@ import ( ...@@ -13,26 +13,32 @@ import (
func (c *Collateralize) execLocal(tx *types.Transaction, receipt *types.ReceiptData) (*types.LocalDBSet, error) { func (c *Collateralize) execLocal(tx *types.Transaction, receipt *types.ReceiptData) (*types.LocalDBSet, error) {
set := &types.LocalDBSet{} set := &types.LocalDBSet{}
for _, item := range receipt.Logs { for _, item := range receipt.Logs {
var collateralizelog pty.ReceiptCollateralize
err := types.Decode(item.Log, &collateralizelog)
if err != nil {
return nil, err
}
switch item.Ty { switch item.Ty {
case pty.TyLogCollateralizeCreate, pty.TyLogCollateralizeBorrow, pty.TyLogCollateralizeRepay, pty.TyLogCollateralizeAppend, case pty.TyLogCollateralizeCreate:
pty.TyLogCollateralizeFeed, pty.TyLogCollateralizeClose: kv := c.addCollateralizeStatus(&collateralizelog)
var Collateralizelog pty.ReceiptCollateralize
err := types.Decode(item.Log, &Collateralizelog)
if err != nil {
return nil, err
}
kv := c.saveCollateralize(&Collateralizelog)
set.KV = append(set.KV, kv...) set.KV = append(set.KV, kv...)
break
if item.Ty == pty.TyLogCollateralizeBorrow { case pty.TyLogCollateralizeBorrow:
kv := c.saveCollateralizeBorrow(&Collateralizelog) kv := c.addCollateralizeAddr(&collateralizelog)
set.KV = append(set.KV, kv...) set.KV = append(set.KV, kv...)
} else if item.Ty == pty.TyLogCollateralizeRepay { break
kv := c.saveCollateralizeRepay(&Collateralizelog) case pty.TyLogCollateralizeAppend://append没有状态变化
set.KV = append(set.KV, kv...) break
} else { case pty.TyLogCollateralizeRepay:
//TODO kv := c.deleteCollateralizeAddr(&collateralizelog)
} set.KV = append(set.KV, kv...)
break
/*case pty.TyLogCollateralizeFeed:*/ // TODO
case pty.TyLogCollateralizeClose:
kv := c.deleteCollateralizeStatus(&collateralizelog)
set.KV = append(set.KV, kv...)
break
} }
} }
return set, nil return set, nil
......
...@@ -7,27 +7,27 @@ package executor ...@@ -7,27 +7,27 @@ package executor
import "fmt" import "fmt"
func calcCollateralizeKey(CollateralizeID string) []byte { func calcCollateralizeKey(CollateralizeID string) []byte {
key := fmt.Sprintf("LODB-Collateralize-create:%s", CollateralizeID) key := fmt.Sprintf("LODB-Collateralize-ID:%s", CollateralizeID)
return []byte(key) return []byte(key)
} }
func calcCollateralizeBorrowPrefix(CollateralizeID string, addr string) []byte { func calcCollateralizeStatusPrefix(status int32) []byte {
key := fmt.Sprintf("LODB-Collateralize-borrow:%s:%s", CollateralizeID, addr) key := fmt.Sprintf("LODB-Collateralize-status-index:%d", status)
return []byte(key) return []byte(key)
} }
func calcCollateralizeBorrowKey(CollateralizeID string, addr string) []byte { func calcCollateralizeStatusKey(status int32, index int64) []byte {
key := fmt.Sprintf("LODB-Collateralize-buy:%s:%s:%18d", CollateralizeID, addr) key := fmt.Sprintf("LODB-Collateralize-status:%d:%018d", status, index)
return []byte(key) return []byte(key)
} }
func calcCollateralizeRepayPrefix(CollateralizeID string, addr string) []byte { func calcCollateralizeAddrPrefix(addr string) []byte {
key := fmt.Sprintf("LODB-Collateralize-repay:%s:%s", CollateralizeID, addr) key := fmt.Sprintf("LODB-Collateralize-addr:%s", addr)
return []byte(key) return []byte(key)
} }
func calcCollateralizeRepayKey(CollateralizeID string) []byte { func calcCollateralizeAddrKey(addr string, index int64) []byte {
key := fmt.Sprintf("LODB-Collateralize-repay:%s:%10d", CollateralizeID) key := fmt.Sprintf("LODB-Collateralize-addr:%s:%018d", addr, index)
return []byte(key) return []byte(key)
} }
......
...@@ -84,8 +84,9 @@ message ReceiptCollateralize { ...@@ -84,8 +84,9 @@ message ReceiptCollateralize {
string collateralizeId = 1; string collateralizeId = 1;
string createAddr = 3; string createAddr = 3;
string accountAddr = 4; string accountAddr = 4;
int32 status = 9; int32 status = 5;
int32 preStatus = 10; int32 preStatus = 6;
int64 index = 7;
} }
message ReqCollateralizeInfo { message ReqCollateralizeInfo {
...@@ -125,26 +126,11 @@ message ReplyCollateralizeBadDebt { ...@@ -125,26 +126,11 @@ message ReplyCollateralizeBadDebt {
} }
// used for execlocal // used for execlocal
message CollateralizeBorrowRecord { message CollateralizeRecord {
string collateralizeId = 1; string collateralizeId = 1;
int64 value = 2;
int64 index = 3; int64 index = 3;
int64 time = 4;
string txHash = 5;
} }
message CollateralizeBorrowRecords { message CollateralizeRecords {
repeated CollateralizeBorrowRecord records = 1; repeated CollateralizeRecord records = 1;
}
message CollateralizeRepayRecord {
string collateralizeId = 1;
int64 value = 2;
int64 index = 3;
int64 time = 4;
string txHash = 5;
}
message CollateralizeRepayRecords {
repeated CollateralizeRepayRecord records = 1;
} }
...@@ -763,8 +763,9 @@ type ReceiptCollateralize struct { ...@@ -763,8 +763,9 @@ type ReceiptCollateralize struct {
CollateralizeId string `protobuf:"bytes,1,opt,name=collateralizeId,proto3" json:"collateralizeId,omitempty"` CollateralizeId string `protobuf:"bytes,1,opt,name=collateralizeId,proto3" json:"collateralizeId,omitempty"`
CreateAddr string `protobuf:"bytes,3,opt,name=createAddr,proto3" json:"createAddr,omitempty"` CreateAddr string `protobuf:"bytes,3,opt,name=createAddr,proto3" json:"createAddr,omitempty"`
AccountAddr string `protobuf:"bytes,4,opt,name=accountAddr,proto3" json:"accountAddr,omitempty"` AccountAddr string `protobuf:"bytes,4,opt,name=accountAddr,proto3" json:"accountAddr,omitempty"`
Status int32 `protobuf:"varint,9,opt,name=status,proto3" json:"status,omitempty"` Status int32 `protobuf:"varint,5,opt,name=status,proto3" json:"status,omitempty"`
PreStatus int32 `protobuf:"varint,10,opt,name=preStatus,proto3" json:"preStatus,omitempty"` PreStatus int32 `protobuf:"varint,6,opt,name=preStatus,proto3" json:"preStatus,omitempty"`
Index int64 `protobuf:"varint,7,opt,name=index,proto3" json:"index,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
...@@ -830,6 +831,13 @@ func (m *ReceiptCollateralize) GetPreStatus() int32 { ...@@ -830,6 +831,13 @@ func (m *ReceiptCollateralize) GetPreStatus() int32 {
return 0 return 0
} }
func (m *ReceiptCollateralize) GetIndex() int64 {
if m != nil {
return m.Index
}
return 0
}
type ReqCollateralizeInfo struct { type ReqCollateralizeInfo struct {
CollateralizeId string `protobuf:"bytes,1,opt,name=collateralizeId,proto3" json:"collateralizeId,omitempty"` CollateralizeId string `protobuf:"bytes,1,opt,name=collateralizeId,proto3" json:"collateralizeId,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
...@@ -1161,220 +1169,86 @@ func (m *ReplyCollateralizeBadDebt) GetRecords() []*BorrowRecord { ...@@ -1161,220 +1169,86 @@ func (m *ReplyCollateralizeBadDebt) GetRecords() []*BorrowRecord {
} }
// used for execlocal // used for execlocal
type CollateralizeBorrowRecord struct { type CollateralizeRecord struct {
CollateralizeId string `protobuf:"bytes,1,opt,name=collateralizeId,proto3" json:"collateralizeId,omitempty"` CollateralizeId string `protobuf:"bytes,1,opt,name=collateralizeId,proto3" json:"collateralizeId,omitempty"`
Value int64 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"`
Index int64 `protobuf:"varint,3,opt,name=index,proto3" json:"index,omitempty"` Index int64 `protobuf:"varint,3,opt,name=index,proto3" json:"index,omitempty"`
Time int64 `protobuf:"varint,4,opt,name=time,proto3" json:"time,omitempty"`
TxHash string `protobuf:"bytes,5,opt,name=txHash,proto3" json:"txHash,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
} }
func (m *CollateralizeBorrowRecord) Reset() { *m = CollateralizeBorrowRecord{} } func (m *CollateralizeRecord) Reset() { *m = CollateralizeRecord{} }
func (m *CollateralizeBorrowRecord) String() string { return proto.CompactTextString(m) } func (m *CollateralizeRecord) String() string { return proto.CompactTextString(m) }
func (*CollateralizeBorrowRecord) ProtoMessage() {} func (*CollateralizeRecord) ProtoMessage() {}
func (*CollateralizeBorrowRecord) Descriptor() ([]byte, []int) { func (*CollateralizeRecord) Descriptor() ([]byte, []int) {
return fileDescriptor_a988fb4a61381972, []int{17} return fileDescriptor_a988fb4a61381972, []int{17}
} }
func (m *CollateralizeBorrowRecord) XXX_Unmarshal(b []byte) error { func (m *CollateralizeRecord) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CollateralizeBorrowRecord.Unmarshal(m, b) return xxx_messageInfo_CollateralizeRecord.Unmarshal(m, b)
} }
func (m *CollateralizeBorrowRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *CollateralizeRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CollateralizeBorrowRecord.Marshal(b, m, deterministic) return xxx_messageInfo_CollateralizeRecord.Marshal(b, m, deterministic)
} }
func (m *CollateralizeBorrowRecord) XXX_Merge(src proto.Message) { func (m *CollateralizeRecord) XXX_Merge(src proto.Message) {
xxx_messageInfo_CollateralizeBorrowRecord.Merge(m, src) xxx_messageInfo_CollateralizeRecord.Merge(m, src)
} }
func (m *CollateralizeBorrowRecord) XXX_Size() int { func (m *CollateralizeRecord) XXX_Size() int {
return xxx_messageInfo_CollateralizeBorrowRecord.Size(m) return xxx_messageInfo_CollateralizeRecord.Size(m)
} }
func (m *CollateralizeBorrowRecord) XXX_DiscardUnknown() { func (m *CollateralizeRecord) XXX_DiscardUnknown() {
xxx_messageInfo_CollateralizeBorrowRecord.DiscardUnknown(m) xxx_messageInfo_CollateralizeRecord.DiscardUnknown(m)
} }
var xxx_messageInfo_CollateralizeBorrowRecord proto.InternalMessageInfo var xxx_messageInfo_CollateralizeRecord proto.InternalMessageInfo
func (m *CollateralizeBorrowRecord) GetCollateralizeId() string { func (m *CollateralizeRecord) GetCollateralizeId() string {
if m != nil { if m != nil {
return m.CollateralizeId return m.CollateralizeId
} }
return "" return ""
} }
func (m *CollateralizeBorrowRecord) GetValue() int64 { func (m *CollateralizeRecord) GetIndex() int64 {
if m != nil {
return m.Value
}
return 0
}
func (m *CollateralizeBorrowRecord) GetIndex() int64 {
if m != nil { if m != nil {
return m.Index return m.Index
} }
return 0 return 0
} }
func (m *CollateralizeBorrowRecord) GetTime() int64 { type CollateralizeRecords struct {
if m != nil { Records []*CollateralizeRecord `protobuf:"bytes,1,rep,name=records,proto3" json:"records,omitempty"`
return m.Time XXX_NoUnkeyedLiteral struct{} `json:"-"`
} XXX_unrecognized []byte `json:"-"`
return 0 XXX_sizecache int32 `json:"-"`
}
func (m *CollateralizeBorrowRecord) GetTxHash() string {
if m != nil {
return m.TxHash
}
return ""
}
type CollateralizeBorrowRecords struct {
Records []*CollateralizeBorrowRecord `protobuf:"bytes,1,rep,name=records,proto3" json:"records,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
} }
func (m *CollateralizeBorrowRecords) Reset() { *m = CollateralizeBorrowRecords{} } func (m *CollateralizeRecords) Reset() { *m = CollateralizeRecords{} }
func (m *CollateralizeBorrowRecords) String() string { return proto.CompactTextString(m) } func (m *CollateralizeRecords) String() string { return proto.CompactTextString(m) }
func (*CollateralizeBorrowRecords) ProtoMessage() {} func (*CollateralizeRecords) ProtoMessage() {}
func (*CollateralizeBorrowRecords) Descriptor() ([]byte, []int) { func (*CollateralizeRecords) Descriptor() ([]byte, []int) {
return fileDescriptor_a988fb4a61381972, []int{18} return fileDescriptor_a988fb4a61381972, []int{18}
} }
func (m *CollateralizeBorrowRecords) XXX_Unmarshal(b []byte) error { func (m *CollateralizeRecords) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CollateralizeBorrowRecords.Unmarshal(m, b) return xxx_messageInfo_CollateralizeRecords.Unmarshal(m, b)
}
func (m *CollateralizeBorrowRecords) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CollateralizeBorrowRecords.Marshal(b, m, deterministic)
}
func (m *CollateralizeBorrowRecords) XXX_Merge(src proto.Message) {
xxx_messageInfo_CollateralizeBorrowRecords.Merge(m, src)
}
func (m *CollateralizeBorrowRecords) XXX_Size() int {
return xxx_messageInfo_CollateralizeBorrowRecords.Size(m)
}
func (m *CollateralizeBorrowRecords) XXX_DiscardUnknown() {
xxx_messageInfo_CollateralizeBorrowRecords.DiscardUnknown(m)
}
var xxx_messageInfo_CollateralizeBorrowRecords proto.InternalMessageInfo
func (m *CollateralizeBorrowRecords) GetRecords() []*CollateralizeBorrowRecord {
if m != nil {
return m.Records
}
return nil
}
type CollateralizeRepayRecord struct {
CollateralizeId string `protobuf:"bytes,1,opt,name=collateralizeId,proto3" json:"collateralizeId,omitempty"`
Value int64 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"`
Index int64 `protobuf:"varint,3,opt,name=index,proto3" json:"index,omitempty"`
Time int64 `protobuf:"varint,4,opt,name=time,proto3" json:"time,omitempty"`
TxHash string `protobuf:"bytes,5,opt,name=txHash,proto3" json:"txHash,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CollateralizeRepayRecord) Reset() { *m = CollateralizeRepayRecord{} }
func (m *CollateralizeRepayRecord) String() string { return proto.CompactTextString(m) }
func (*CollateralizeRepayRecord) ProtoMessage() {}
func (*CollateralizeRepayRecord) Descriptor() ([]byte, []int) {
return fileDescriptor_a988fb4a61381972, []int{19}
}
func (m *CollateralizeRepayRecord) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CollateralizeRepayRecord.Unmarshal(m, b)
}
func (m *CollateralizeRepayRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CollateralizeRepayRecord.Marshal(b, m, deterministic)
}
func (m *CollateralizeRepayRecord) XXX_Merge(src proto.Message) {
xxx_messageInfo_CollateralizeRepayRecord.Merge(m, src)
}
func (m *CollateralizeRepayRecord) XXX_Size() int {
return xxx_messageInfo_CollateralizeRepayRecord.Size(m)
}
func (m *CollateralizeRepayRecord) XXX_DiscardUnknown() {
xxx_messageInfo_CollateralizeRepayRecord.DiscardUnknown(m)
}
var xxx_messageInfo_CollateralizeRepayRecord proto.InternalMessageInfo
func (m *CollateralizeRepayRecord) GetCollateralizeId() string {
if m != nil {
return m.CollateralizeId
}
return ""
}
func (m *CollateralizeRepayRecord) GetValue() int64 {
if m != nil {
return m.Value
}
return 0
}
func (m *CollateralizeRepayRecord) GetIndex() int64 {
if m != nil {
return m.Index
}
return 0
}
func (m *CollateralizeRepayRecord) GetTime() int64 {
if m != nil {
return m.Time
}
return 0
}
func (m *CollateralizeRepayRecord) GetTxHash() string {
if m != nil {
return m.TxHash
}
return ""
}
type CollateralizeRepayRecords struct {
Records []*CollateralizeRepayRecord `protobuf:"bytes,1,rep,name=records,proto3" json:"records,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CollateralizeRepayRecords) Reset() { *m = CollateralizeRepayRecords{} }
func (m *CollateralizeRepayRecords) String() string { return proto.CompactTextString(m) }
func (*CollateralizeRepayRecords) ProtoMessage() {}
func (*CollateralizeRepayRecords) Descriptor() ([]byte, []int) {
return fileDescriptor_a988fb4a61381972, []int{20}
}
func (m *CollateralizeRepayRecords) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CollateralizeRepayRecords.Unmarshal(m, b)
} }
func (m *CollateralizeRepayRecords) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *CollateralizeRecords) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CollateralizeRepayRecords.Marshal(b, m, deterministic) return xxx_messageInfo_CollateralizeRecords.Marshal(b, m, deterministic)
} }
func (m *CollateralizeRepayRecords) XXX_Merge(src proto.Message) { func (m *CollateralizeRecords) XXX_Merge(src proto.Message) {
xxx_messageInfo_CollateralizeRepayRecords.Merge(m, src) xxx_messageInfo_CollateralizeRecords.Merge(m, src)
} }
func (m *CollateralizeRepayRecords) XXX_Size() int { func (m *CollateralizeRecords) XXX_Size() int {
return xxx_messageInfo_CollateralizeRepayRecords.Size(m) return xxx_messageInfo_CollateralizeRecords.Size(m)
} }
func (m *CollateralizeRepayRecords) XXX_DiscardUnknown() { func (m *CollateralizeRecords) XXX_DiscardUnknown() {
xxx_messageInfo_CollateralizeRepayRecords.DiscardUnknown(m) xxx_messageInfo_CollateralizeRecords.DiscardUnknown(m)
} }
var xxx_messageInfo_CollateralizeRepayRecords proto.InternalMessageInfo var xxx_messageInfo_CollateralizeRecords proto.InternalMessageInfo
func (m *CollateralizeRepayRecords) GetRecords() []*CollateralizeRepayRecord { func (m *CollateralizeRecords) GetRecords() []*CollateralizeRecord {
if m != nil { if m != nil {
return m.Records return m.Records
} }
...@@ -1399,74 +1273,69 @@ func init() { ...@@ -1399,74 +1273,69 @@ func init() {
proto.RegisterType((*ReqCollateralizeBorrowHistory)(nil), "types.ReqCollateralizeBorrowHistory") proto.RegisterType((*ReqCollateralizeBorrowHistory)(nil), "types.ReqCollateralizeBorrowHistory")
proto.RegisterType((*ReplyCollateralizeCurrentInfo)(nil), "types.ReplyCollateralizeCurrentInfo") proto.RegisterType((*ReplyCollateralizeCurrentInfo)(nil), "types.ReplyCollateralizeCurrentInfo")
proto.RegisterType((*ReplyCollateralizeBadDebt)(nil), "types.ReplyCollateralizeBadDebt") proto.RegisterType((*ReplyCollateralizeBadDebt)(nil), "types.ReplyCollateralizeBadDebt")
proto.RegisterType((*CollateralizeBorrowRecord)(nil), "types.CollateralizeBorrowRecord") proto.RegisterType((*CollateralizeRecord)(nil), "types.CollateralizeRecord")
proto.RegisterType((*CollateralizeBorrowRecords)(nil), "types.CollateralizeBorrowRecords") proto.RegisterType((*CollateralizeRecords)(nil), "types.CollateralizeRecords")
proto.RegisterType((*CollateralizeRepayRecord)(nil), "types.CollateralizeRepayRecord")
proto.RegisterType((*CollateralizeRepayRecords)(nil), "types.CollateralizeRepayRecords")
} }
func init() { proto.RegisterFile("collateralize.proto", fileDescriptor_a988fb4a61381972) } func init() { proto.RegisterFile("collateralize.proto", fileDescriptor_a988fb4a61381972) }
var fileDescriptor_a988fb4a61381972 = []byte{ var fileDescriptor_a988fb4a61381972 = []byte{
// 959 bytes of a gzipped FileDescriptorProto // 906 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x57, 0x4f, 0x8f, 0xdb, 0x44, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x57, 0xcd, 0x6e, 0xfb, 0x44,
0x14, 0xaf, 0x9d, 0x38, 0x69, 0x5e, 0x76, 0xa1, 0xcc, 0x56, 0xe0, 0x5d, 0x95, 0x62, 0x8d, 0x38, 0x10, 0xff, 0xdb, 0x8e, 0x93, 0x66, 0xd2, 0x40, 0xd9, 0x56, 0xe0, 0x46, 0xa5, 0x8a, 0x2c, 0x0e,
0x44, 0x48, 0x44, 0x62, 0xcb, 0xa5, 0x1c, 0x10, 0xd9, 0xa0, 0x6a, 0xcb, 0xa9, 0x32, 0x4b, 0x85, 0x11, 0x12, 0x91, 0x48, 0x7b, 0xe1, 0x82, 0x48, 0x83, 0xaa, 0x16, 0x71, 0xa8, 0x4c, 0xe1, 0xc0,
0xb8, 0x8d, 0xed, 0x29, 0xb5, 0x64, 0x6c, 0x77, 0x3c, 0x29, 0x6b, 0xce, 0x5c, 0xf8, 0x0e, 0x70, 0x6d, 0x6d, 0x6f, 0xc1, 0x92, 0xb1, 0xdd, 0xf5, 0xa6, 0x60, 0xce, 0x5c, 0x78, 0x12, 0x2e, 0xdc,
0xe6, 0xc2, 0x1d, 0xbe, 0x0b, 0x77, 0x3e, 0x07, 0x9a, 0x37, 0x93, 0xb5, 0x3d, 0x8e, 0xa5, 0x84, 0x79, 0x0b, 0x5e, 0x80, 0x3b, 0xcf, 0x81, 0x76, 0x76, 0x13, 0x7f, 0x46, 0x4a, 0xe8, 0xf1, 0x7f,
0xbd, 0x20, 0xf5, 0xb2, 0xca, 0xbc, 0xf7, 0x7b, 0xf3, 0xfe, 0xfd, 0xfc, 0xe6, 0x2d, 0x9c, 0xc4, 0xa9, 0xb2, 0xf3, 0x3d, 0xbf, 0xf9, 0x79, 0x76, 0x0b, 0xa7, 0x41, 0x1a, 0xc7, 0x54, 0x30, 0x4e,
0x45, 0x96, 0x31, 0xc9, 0x05, 0xcb, 0xd2, 0x9f, 0xf8, 0xb2, 0x14, 0x85, 0x2c, 0x88, 0x27, 0xeb, 0xe3, 0xe8, 0x57, 0x36, 0xcf, 0x78, 0x2a, 0x52, 0x62, 0x8b, 0x22, 0x63, 0xb9, 0xfb, 0x7b, 0x0f,
0x92, 0x57, 0xf4, 0x97, 0x31, 0x1c, 0xaf, 0xdb, 0x6a, 0xb2, 0x80, 0xb7, 0x3b, 0xf8, 0xa7, 0x89, 0xc6, 0xab, 0xaa, 0x9a, 0xcc, 0xe0, 0xdd, 0x9a, 0xfd, 0x7d, 0xe8, 0x18, 0x53, 0x63, 0x36, 0xf4,
0xef, 0x04, 0xce, 0x62, 0x16, 0xda, 0x62, 0x42, 0xe1, 0x48, 0x16, 0x92, 0x65, 0x17, 0x2c, 0x63, 0x9a, 0x62, 0xe2, 0xc2, 0xb1, 0x48, 0x05, 0x8d, 0x6f, 0x68, 0x4c, 0x93, 0x80, 0x39, 0xe6, 0xd4,
0x79, 0xcc, 0x7d, 0x37, 0x70, 0x16, 0xa3, 0xb0, 0x23, 0x23, 0x01, 0xcc, 0x13, 0x1e, 0xc9, 0x35, 0x98, 0x59, 0x5e, 0x4d, 0x46, 0xa6, 0x30, 0x0a, 0x99, 0x2f, 0x56, 0x2c, 0x8a, 0xa3, 0xe4, 0x07,
0x4f, 0xb3, 0x34, 0xff, 0xde, 0x1f, 0x21, 0xa4, 0x2d, 0x22, 0x1f, 0xc1, 0xbd, 0x2c, 0x7d, 0xb5, 0xc7, 0x42, 0x93, 0xaa, 0x88, 0x7c, 0x0c, 0x27, 0x71, 0xf4, 0xbc, 0x8e, 0x42, 0x2a, 0xa2, 0x34,
0x49, 0x13, 0x26, 0xd3, 0x22, 0x0f, 0xd5, 0x5f, 0x7f, 0x1c, 0x38, 0x0b, 0x37, 0xec, 0xc9, 0x95, 0xf1, 0xe4, 0x5f, 0xa7, 0x37, 0x35, 0x66, 0xa6, 0xd7, 0x92, 0xcb, 0x8c, 0xb9, 0xa0, 0x7e, 0x14,
0xc7, 0x4a, 0xb2, 0x28, 0xcd, 0x52, 0x59, 0x3f, 0xe1, 0xdc, 0xf7, 0xb4, 0xc7, 0xb6, 0x8c, 0x2c, 0x47, 0xa2, 0xb8, 0x65, 0xcc, 0xb1, 0x55, 0xc6, 0xaa, 0x8c, 0xcc, 0x81, 0x54, 0xfc, 0x1e, 0x58,
0x81, 0xb4, 0xec, 0x9e, 0xf1, 0x9c, 0x65, 0xb2, 0xf6, 0x27, 0x88, 0xdc, 0xa1, 0x21, 0x0f, 0x01, 0x42, 0x63, 0x51, 0x38, 0x7d, 0xb4, 0xec, 0xd0, 0x90, 0x4b, 0x80, 0x80, 0x33, 0x2a, 0xd8, 0x32,
0x62, 0xc1, 0x99, 0xe4, 0xab, 0x24, 0x11, 0xfe, 0x14, 0x53, 0x6d, 0x49, 0x88, 0x0f, 0xd3, 0xc8, 0x0c, 0xb9, 0x33, 0xc0, 0x56, 0x2b, 0x12, 0xe2, 0xc0, 0xc0, 0xd7, 0x0d, 0x1e, 0x61, 0x90, 0xcd,
0x24, 0x78, 0x17, 0x2f, 0xd9, 0x1e, 0xc9, 0x63, 0x38, 0x8e, 0x0a, 0x21, 0x8a, 0x1f, 0x43, 0x1e, 0x91, 0x7c, 0x06, 0x63, 0x3f, 0xe5, 0x3c, 0xfd, 0xd9, 0x63, 0x41, 0xca, 0xc3, 0xdc, 0x19, 0x4e,
0x17, 0x22, 0xa9, 0xfc, 0x59, 0x30, 0x5a, 0xcc, 0xcf, 0x4f, 0x96, 0x58, 0xda, 0xe5, 0x45, 0x4b, 0xad, 0xd9, 0x68, 0x71, 0x3a, 0x47, 0x68, 0xe7, 0x37, 0x15, 0x9d, 0x57, 0xb7, 0x24, 0x57, 0x00,
0x17, 0x76, 0x91, 0xe4, 0x11, 0x40, 0xc4, 0x92, 0xad, 0x1d, 0x0c, 0xdb, 0xb5, 0x60, 0xe4, 0x5d, 0x3e, 0x0d, 0x37, 0x7e, 0xb0, 0xdb, 0xaf, 0x62, 0x46, 0xde, 0x87, 0x7e, 0x2e, 0xa8, 0x58, 0xe7,
0x98, 0x54, 0x92, 0xc9, 0x4d, 0xe5, 0xcf, 0x03, 0x67, 0xe1, 0x85, 0xe6, 0x44, 0xce, 0xe0, 0xae, 0xce, 0x68, 0x6a, 0xcc, 0x6c, 0x4f, 0x9f, 0xc8, 0x04, 0x8e, 0xe4, 0x68, 0x1e, 0x8b, 0x8c, 0x39,
0x6a, 0xcd, 0x55, 0x5d, 0x72, 0xff, 0x08, 0x35, 0x37, 0x67, 0xac, 0x2e, 0x93, 0xbc, 0x92, 0x21, 0xc7, 0xa8, 0xd9, 0x9e, 0x11, 0x5d, 0x2a, 0x58, 0x2e, 0x3c, 0x96, 0xd1, 0xe2, 0x81, 0x47, 0x01,
0x2f, 0x59, 0xfd, 0x4c, 0xa4, 0x31, 0xf7, 0x8f, 0x4d, 0x75, 0x2d, 0x39, 0xfd, 0xd9, 0x85, 0xa3, 0x73, 0xc6, 0x1a, 0xdd, 0x86, 0xdc, 0xfd, 0xcd, 0x84, 0xe3, 0x6a, 0x72, 0x39, 0x3c, 0x1a, 0x04,
0xb6, 0x73, 0xd5, 0x3c, 0x16, 0xc7, 0xc5, 0x26, 0x97, 0x58, 0x1b, 0x4d, 0x83, 0xb6, 0x88, 0x3c, 0xe9, 0x3a, 0x11, 0x88, 0x8d, 0xa2, 0x41, 0x55, 0x44, 0x2e, 0x60, 0x98, 0x0b, 0xca, 0xc5, 0x63,
0x80, 0x59, 0x25, 0x99, 0x90, 0x57, 0xe9, 0x0f, 0xdb, 0xfe, 0x37, 0x82, 0x2e, 0x95, 0x9e, 0xb3, 0xf4, 0xd3, 0x66, 0xfe, 0xa5, 0xa0, 0x4e, 0xa5, 0xef, 0x68, 0xbc, 0x66, 0x9a, 0x00, 0x4d, 0x71,
0x6c, 0xc3, 0x0d, 0x01, 0x6c, 0x71, 0x17, 0xa9, 0xa3, 0xd4, 0x1c, 0xb0, 0xc5, 0xca, 0xa3, 0x62, 0xdd, 0x52, 0x55, 0xa9, 0x38, 0xd0, 0x14, 0xcb, 0x8c, 0x92, 0x3d, 0x2a, 0x9a, 0x9a, 0x7f, 0x29,
0x8f, 0xbe, 0x4d, 0xf7, 0xbf, 0x11, 0x58, 0x64, 0xd2, 0x17, 0x4d, 0x7a, 0x64, 0xd2, 0x37, 0x35, 0x68, 0x90, 0x49, 0x05, 0xea, 0xb7, 0xc8, 0xa4, 0x22, 0x95, 0x70, 0x0e, 0xaa, 0x70, 0xba, 0x7f,
0xe5, 0x9c, 0xb6, 0xcb, 0x49, 0xff, 0x70, 0xe0, 0xde, 0xaa, 0xaa, 0xb8, 0x44, 0x98, 0x29, 0xc5, 0x1a, 0x70, 0xb2, 0xcc, 0x73, 0x26, 0xd0, 0x4c, 0x43, 0x71, 0x09, 0xc0, 0xf1, 0x17, 0x76, 0xaa,
0x43, 0x00, 0x81, 0xbf, 0x30, 0x53, 0x5d, 0x89, 0x96, 0x44, 0xf5, 0x20, 0x92, 0xa6, 0xbe, 0x2e, 0x90, 0xa8, 0x48, 0xe4, 0x0c, 0x7c, 0xa1, 0xf1, 0x35, 0x31, 0xe1, 0xf6, 0xac, 0x74, 0x81, 0xd2,
0x3a, 0xbc, 0x39, 0x6b, 0x5d, 0xac, 0x75, 0xa3, 0xad, 0x2e, 0xbe, 0xd1, 0x71, 0xf9, 0xb2, 0x9d, 0x59, 0x1b, 0x5d, 0xb0, 0xd5, 0x31, 0xf1, 0x63, 0xb5, 0xe3, 0xed, 0x99, 0x7c, 0x04, 0xe3, 0x8c,
0xf1, 0xcd, 0x99, 0x7c, 0x08, 0xc7, 0xa5, 0x30, 0x01, 0xa0, 0x5b, 0x0f, 0xdd, 0x76, 0x85, 0xf4, 0xeb, 0x02, 0x30, 0xad, 0x8d, 0x69, 0xeb, 0x42, 0xf7, 0x5f, 0x13, 0x4e, 0x6b, 0x5f, 0xf0, 0x32,
0x1f, 0x17, 0x4e, 0x3a, 0x5f, 0xf0, 0x2a, 0x56, 0x39, 0x92, 0x4f, 0x61, 0xa2, 0x59, 0x8c, 0xd1, 0x90, 0x3d, 0x92, 0x6b, 0xe8, 0x2b, 0x16, 0x63, 0xb5, 0xa3, 0xc5, 0x44, 0xd3, 0xab, 0x66, 0xbb,
0xce, 0xcf, 0xcf, 0x0c, 0xbd, 0x3a, 0xd8, 0x35, 0x22, 0x2e, 0xef, 0x84, 0x06, 0xab, 0xac, 0x34, 0x42, 0x8b, 0xbb, 0x37, 0x9e, 0xb6, 0x95, 0x5e, 0x8a, 0xa9, 0xd8, 0xc5, 0x0e, 0x2f, 0x45, 0x12,
0x53, 0x31, 0x8b, 0x01, 0x2b, 0x4d, 0x12, 0x65, 0xa5, 0xb1, 0xe4, 0x13, 0xf0, 0x84, 0xe2, 0x11, 0xe9, 0xa5, 0x6c, 0xc9, 0xa7, 0x60, 0x73, 0xc9, 0x23, 0x6c, 0x6f, 0xb4, 0x38, 0xef, 0x72, 0x42,
0xa6, 0x37, 0x3f, 0x3f, 0xdd, 0x65, 0x84, 0x44, 0xbb, 0xbc, 0x13, 0x6a, 0xa4, 0x72, 0xc4, 0xca, 0xa2, 0xdd, 0xbd, 0xf1, 0x94, 0xa5, 0x4c, 0x44, 0xb3, 0x8c, 0x25, 0x21, 0xb6, 0xbd, 0x23, 0xd1,
0x92, 0xe7, 0x09, 0xa6, 0x3d, 0xe0, 0x68, 0x85, 0x08, 0xe5, 0x48, 0x63, 0xc9, 0x12, 0xc6, 0x2f, 0x12, 0x2d, 0x64, 0x22, 0x65, 0x4b, 0xe6, 0xd0, 0x7b, 0x62, 0x2c, 0x44, 0x24, 0x46, 0x0b, 0xa7,
0x38, 0x4f, 0xb0, 0x12, 0xf3, 0x73, 0x7f, 0x97, 0xcd, 0x13, 0xce, 0x95, 0x05, 0xe2, 0x54, 0x60, 0xcb, 0xe7, 0x96, 0x31, 0xe9, 0x81, 0x76, 0xb2, 0xb0, 0x20, 0x4e, 0x73, 0x45, 0x82, 0x1d, 0x85,
0x71, 0x56, 0x54, 0x9a, 0x04, 0x03, 0x81, 0xad, 0x15, 0x40, 0x05, 0x86, 0x48, 0xf2, 0x16, 0xb8, 0xad, 0xa4, 0x81, 0x2c, 0x0c, 0x2d, 0xc9, 0x3b, 0x60, 0x8a, 0xc2, 0x01, 0xa4, 0x84, 0x29, 0x8a,
0xb2, 0xf6, 0x01, 0x29, 0xe1, 0xca, 0xfa, 0x62, 0x0a, 0xde, 0x6b, 0xc5, 0x2d, 0xfa, 0xb7, 0x63, 0x9b, 0x01, 0xd8, 0x2f, 0x92, 0x5b, 0xee, 0x3f, 0x46, 0x03, 0x68, 0x05, 0x5e, 0x73, 0xc5, 0x19,
0x15, 0x5a, 0x17, 0xcf, 0x1e, 0x71, 0xce, 0x7e, 0x23, 0xce, 0xdd, 0x73, 0xc4, 0x8d, 0xf6, 0x1e, 0xfb, 0xad, 0x38, 0x73, 0xcf, 0x15, 0x67, 0xed, 0xbd, 0xe2, 0x7a, 0x3b, 0x57, 0x5c, 0x73, 0x51,
0x71, 0xe3, 0xc1, 0x11, 0x67, 0x0f, 0x6a, 0xaf, 0x3f, 0xa8, 0xe9, 0x37, 0x56, 0x72, 0xba, 0xc7, 0xdb, 0xed, 0x45, 0xed, 0x7e, 0xdb, 0x68, 0x4e, 0xcd, 0xf8, 0x80, 0xdb, 0xe0, 0x4c, 0xe3, 0xa4,
0x07, 0xbc, 0x06, 0xf7, 0x4d, 0x9d, 0xcc, 0x18, 0x30, 0x45, 0xbb, 0x02, 0xd2, 0x67, 0xc1, 0xad, 0xd7, 0x80, 0x06, 0xed, 0x11, 0x48, 0x9b, 0x05, 0xaf, 0x8e, 0x1a, 0x35, 0x29, 0xaf, 0xd8, 0xb1,
0x6f, 0x4d, 0x6d, 0xca, 0x6b, 0x76, 0xec, 0x7f, 0xed, 0x8e, 0xc9, 0xe4, 0xee, 0x9c, 0x4c, 0x74, 0x7f, 0xd8, 0x8e, 0xcd, 0x64, 0x76, 0x6e, 0x26, 0x77, 0x09, 0xef, 0xb5, 0xe8, 0x25, 0xab, 0xca,
0x05, 0xef, 0xf4, 0xe8, 0xa5, 0xa2, 0x2a, 0xf1, 0x93, 0x75, 0x82, 0x91, 0x8a, 0xaa, 0xdc, 0x0e, 0xf0, 0x93, 0x35, 0xa6, 0x96, 0xac, 0x2a, 0xdb, 0x2c, 0x94, 0x97, 0x34, 0x5e, 0xe3, 0x26, 0x94,
0x94, 0xd7, 0x45, 0xb6, 0xc1, 0x49, 0xa8, 0xc4, 0xe6, 0x44, 0x3f, 0xb7, 0x6a, 0x80, 0x84, 0xdb, 0x62, 0x7d, 0x72, 0x3f, 0x6f, 0x60, 0x80, 0x84, 0xdb, 0xbf, 0x58, 0xf7, 0x6f, 0x03, 0xce, 0x3c,
0x3f, 0x58, 0xfa, 0x97, 0x03, 0xf7, 0x43, 0x1e, 0xf3, 0xb4, 0x94, 0xff, 0xf5, 0xa9, 0xee, 0x3e, 0x16, 0xb0, 0x28, 0x13, 0xff, 0xf7, 0xaa, 0xae, 0x5f, 0x72, 0x56, 0xeb, 0x92, 0x6b, 0x6c, 0xfa,
0x72, 0xa3, 0xde, 0x23, 0x67, 0x4d, 0xfa, 0x71, 0x7f, 0xd2, 0x37, 0xd3, 0x72, 0xd6, 0x79, 0x7c, 0x5e, 0x7b, 0xd3, 0x97, 0xdb, 0xd2, 0xae, 0x5d, 0x3e, 0x17, 0x30, 0xcc, 0x38, 0xfb, 0x46, 0xa9,
0x1e, 0xc0, 0xac, 0x14, 0xfc, 0x6b, 0xad, 0xd2, 0x5f, 0x4d, 0x23, 0xa0, 0x5f, 0xa8, 0xc8, 0x5f, 0xfa, 0xa8, 0x2a, 0x05, 0x12, 0xa8, 0x28, 0x09, 0xd9, 0x2f, 0xb8, 0x62, 0x2d, 0x4f, 0x1d, 0xdc,
0x75, 0xa2, 0x7e, 0x9a, 0xbf, 0x28, 0x0e, 0x48, 0xfe, 0x3b, 0x38, 0xb3, 0x6f, 0xd0, 0xd4, 0x3c, 0x2f, 0x64, 0x3f, 0xcf, 0xb5, 0x5e, 0xee, 0x93, 0xa7, 0xf4, 0x00, 0x48, 0xbe, 0x87, 0x49, 0x33,
0xec, 0x1e, 0x42, 0x60, 0xcc, 0x54, 0x6a, 0x2e, 0xaa, 0xf1, 0x37, 0x5d, 0xc3, 0x7b, 0xbd, 0xbb, 0x82, 0x22, 0xec, 0x61, 0x71, 0x08, 0x81, 0x1e, 0x95, 0x0d, 0x9b, 0xa8, 0xc6, 0xdf, 0xee, 0x0a,
0x59, 0xf2, 0x25, 0x8f, 0xe4, 0x01, 0x01, 0xfe, 0xee, 0xc0, 0xfb, 0xbb, 0x23, 0xbc, 0x4c, 0x2b, 0x3e, 0x68, 0xc5, 0xa6, 0xe1, 0x97, 0xcc, 0x17, 0x07, 0x14, 0xf8, 0x87, 0x01, 0x1f, 0x76, 0x57,
0x59, 0x88, 0xfa, 0x76, 0x41, 0x2a, 0xae, 0x61, 0x17, 0xb0, 0x29, 0x5e, 0xa8, 0x0f, 0xf8, 0x0c, 0x78, 0x17, 0xe5, 0x22, 0xe5, 0xc5, 0xeb, 0x8a, 0x94, 0xc0, 0xe2, 0x6c, 0x70, 0x54, 0xb6, 0xa7,
0xa6, 0x82, 0xe3, 0xa8, 0xc7, 0xef, 0xd9, 0x0b, 0x1b, 0x81, 0xb2, 0x49, 0xf3, 0x84, 0x5f, 0x9b, 0x0e, 0x78, 0x39, 0x46, 0x9c, 0xe1, 0x05, 0xa0, 0xe7, 0x54, 0x0a, 0xca, 0x61, 0xf4, 0xab, 0xc3,
0xb5, 0x47, 0x1f, 0xe8, 0x9f, 0xae, 0x8a, 0xb4, 0xcc, 0xea, 0x2e, 0x1b, 0x37, 0x42, 0xf0, 0x5c, 0xf8, 0xcb, 0x94, 0x95, 0x66, 0x71, 0x51, 0xe7, 0xe8, 0x9a, 0x73, 0x96, 0x08, 0x84, 0xb3, 0x1c,
0x62, 0x39, 0x9b, 0x26, 0x3b, 0x9d, 0x26, 0xbf, 0xe1, 0x9b, 0x1e, 0xfd, 0x0a, 0x4e, 0xfb, 0x85, 0xbd, 0x51, 0x1b, 0xfd, 0x5b, 0xfe, 0xfe, 0x73, 0xbf, 0x82, 0xf3, 0x36, 0x70, 0x1b, 0xaa, 0x7c,
0xdb, 0x52, 0xe5, 0x63, 0x98, 0x0a, 0xb3, 0xc8, 0x39, 0xc3, 0x8b, 0xdc, 0x16, 0x43, 0x7f, 0x73, 0x02, 0x03, 0xae, 0x9f, 0x77, 0xc6, 0xee, 0xe7, 0xdd, 0xc6, 0xa6, 0xb5, 0x7e, 0xf5, 0xb3, 0xe3,
0xe0, 0x74, 0x07, 0x59, 0xcc, 0x9e, 0x71, 0xcb, 0xc9, 0xd8, 0x74, 0x7e, 0xd4, 0xea, 0xbc, 0xe2, 0xa0, 0x45, 0xa9, 0x86, 0x6b, 0x55, 0x87, 0xfb, 0x35, 0x9c, 0x75, 0x84, 0xcd, 0xc9, 0x75, 0xb3,
0x95, 0x54, 0x0b, 0x84, 0x7e, 0x22, 0xf0, 0xb7, 0xea, 0xb5, 0xbc, 0xbe, 0x64, 0xd5, 0x4b, 0xb3, 0xba, 0x49, 0xf7, 0x95, 0x5d, 0x2b, 0xd2, 0xef, 0xe3, 0xbf, 0x0e, 0x57, 0xff, 0x05, 0x00, 0x00,
0x56, 0x98, 0x13, 0xfd, 0x16, 0xce, 0x06, 0xc3, 0xab, 0xc8, 0x67, 0x76, 0xb2, 0xc1, 0xf0, 0x82, 0xff, 0xff, 0xbb, 0x53, 0x0d, 0x10, 0x51, 0x0c, 0x00, 0x00,
0x60, 0x67, 0xfe, 0xab, 0x03, 0x7e, 0xff, 0x31, 0xf8, 0xdf, 0x24, 0xfe, 0xdc, 0xea, 0x4b, 0x2b,
0xba, 0x8a, 0x3c, 0xb6, 0xf3, 0xfe, 0x60, 0x70, 0xc7, 0xb1, 0xd2, 0x8e, 0x26, 0xf8, 0x0f, 0xd7,
0xa3, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x62, 0xe5, 0xa0, 0xb5, 0x87, 0x0d, 0x00, 0x00,
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment