multinode/payouts: paystub extended with disposed

added Disposed to paystub struct to count NetTotal value.

Change-Id: Iaae1f98a69b82166ba5594e8589c7d2a540bd07f
This commit is contained in:
Qweder93 2021-06-01 18:02:50 +03:00 committed by Nikolai Siedov
parent 4af0037a67
commit d8c11a79b9
9 changed files with 217 additions and 145 deletions

View File

@ -83,4 +83,5 @@ type Paystub struct {
Held int64 `json:"held"` Held int64 `json:"held"`
Paid int64 `json:"paid"` Paid int64 `json:"paid"`
Distributed int64 `json:"distributed"` Distributed int64 `json:"distributed"`
Disposed int64 `json:"disposed"`
} }

View File

@ -598,6 +598,7 @@ func (service *Service) PaystubSatellitePeriod(ctx context.Context, period strin
Held: response.Paystub.Held, Held: response.Paystub.Held,
Paid: response.Paystub.Paid, Paid: response.Paystub.Paid,
Distributed: response.Paystub.Distributed, Distributed: response.Paystub.Distributed,
Disposed: response.Paystub.Disposed,
}, nil }, nil
} }
@ -647,6 +648,7 @@ func (service *Service) PaystubPeriod(ctx context.Context, period string, nodeID
Held: response.Paystub.Held, Held: response.Paystub.Held,
Paid: response.Paystub.Paid, Paid: response.Paystub.Paid,
Distributed: response.Paystub.Distributed, Distributed: response.Paystub.Distributed,
Disposed: response.Paystub.Disposed,
}, nil }, nil
} }
@ -696,6 +698,7 @@ func (service *Service) PaystubSatellite(ctx context.Context, nodeID, satelliteI
Held: response.Paystub.Held, Held: response.Paystub.Held,
Paid: response.Paystub.Paid, Paid: response.Paystub.Paid,
Distributed: response.Paystub.Distributed, Distributed: response.Paystub.Distributed,
Disposed: response.Paystub.Disposed,
}, nil }, nil
} }
@ -744,5 +747,6 @@ func (service *Service) Paystub(ctx context.Context, nodeID storj.NodeID) (_ Pay
Held: response.Paystub.Held, Held: response.Paystub.Held,
Paid: response.Paystub.Paid, Paid: response.Paystub.Paid,
Distributed: response.Paystub.Distributed, Distributed: response.Paystub.Distributed,
Disposed: response.Paystub.Disposed,
}, nil }, nil
} }

View File

@ -1892,17 +1892,18 @@ func (m *PayoutInfo) GetPaid() int64 {
} }
type Paystub struct { type Paystub struct {
UsageAtRest float64 `protobuf:"fixed64,5,opt,name=usage_at_rest,json=usageAtRest,proto3" json:"usage_at_rest,omitempty"` UsageAtRest float64 `protobuf:"fixed64,1,opt,name=usage_at_rest,json=usageAtRest,proto3" json:"usage_at_rest,omitempty"`
UsageGet int64 `protobuf:"varint,6,opt,name=usage_get,json=usageGet,proto3" json:"usage_get,omitempty"` UsageGet int64 `protobuf:"varint,2,opt,name=usage_get,json=usageGet,proto3" json:"usage_get,omitempty"`
UsageGetRepair int64 `protobuf:"varint,8,opt,name=usage_get_repair,json=usageGetRepair,proto3" json:"usage_get_repair,omitempty"` UsageGetRepair int64 `protobuf:"varint,3,opt,name=usage_get_repair,json=usageGetRepair,proto3" json:"usage_get_repair,omitempty"`
UsageGetAudit int64 `protobuf:"varint,10,opt,name=usage_get_audit,json=usageGetAudit,proto3" json:"usage_get_audit,omitempty"` UsageGetAudit int64 `protobuf:"varint,4,opt,name=usage_get_audit,json=usageGetAudit,proto3" json:"usage_get_audit,omitempty"`
CompAtRest int64 `protobuf:"varint,11,opt,name=comp_at_rest,json=compAtRest,proto3" json:"comp_at_rest,omitempty"` CompAtRest int64 `protobuf:"varint,5,opt,name=comp_at_rest,json=compAtRest,proto3" json:"comp_at_rest,omitempty"`
CompGet int64 `protobuf:"varint,12,opt,name=comp_get,json=compGet,proto3" json:"comp_get,omitempty"` CompGet int64 `protobuf:"varint,6,opt,name=comp_get,json=compGet,proto3" json:"comp_get,omitempty"`
CompGetRepair int64 `protobuf:"varint,14,opt,name=comp_get_repair,json=compGetRepair,proto3" json:"comp_get_repair,omitempty"` CompGetRepair int64 `protobuf:"varint,7,opt,name=comp_get_repair,json=compGetRepair,proto3" json:"comp_get_repair,omitempty"`
CompGetAudit int64 `protobuf:"varint,16,opt,name=comp_get_audit,json=compGetAudit,proto3" json:"comp_get_audit,omitempty"` CompGetAudit int64 `protobuf:"varint,8,opt,name=comp_get_audit,json=compGetAudit,proto3" json:"comp_get_audit,omitempty"`
Held int64 `protobuf:"varint,18,opt,name=held,proto3" json:"held,omitempty"` Held int64 `protobuf:"varint,9,opt,name=held,proto3" json:"held,omitempty"`
Paid int64 `protobuf:"varint,21,opt,name=paid,proto3" json:"paid,omitempty"` Paid int64 `protobuf:"varint,10,opt,name=paid,proto3" json:"paid,omitempty"`
Distributed int64 `protobuf:"varint,22,opt,name=distributed,proto3" json:"distributed,omitempty"` Distributed int64 `protobuf:"varint,11,opt,name=distributed,proto3" json:"distributed,omitempty"`
Disposed int64 `protobuf:"varint,12,opt,name=disposed,proto3" json:"disposed,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:"-"`
@ -2009,6 +2010,13 @@ func (m *Paystub) GetDistributed() int64 {
return 0 return 0
} }
func (m *Paystub) GetDisposed() int64 {
if m != nil {
return m.Disposed
}
return 0
}
type HeldAmountHistoryRequest struct { type HeldAmountHistoryRequest struct {
Header *RequestHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` Header *RequestHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
@ -2231,111 +2239,112 @@ func init() {
func init() { proto.RegisterFile("multinode.proto", fileDescriptor_9a45fd79b06f3a1b) } func init() { proto.RegisterFile("multinode.proto", fileDescriptor_9a45fd79b06f3a1b) }
var fileDescriptor_9a45fd79b06f3a1b = []byte{ var fileDescriptor_9a45fd79b06f3a1b = []byte{
// 1683 bytes of a gzipped FileDescriptorProto // 1698 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0xcf, 0x73, 0xd3, 0xc6, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0x5f, 0x73, 0xd3, 0x48,
0x17, 0xff, 0x3a, 0x4e, 0xec, 0xf8, 0xd9, 0xb1, 0x9d, 0xfd, 0xe6, 0x87, 0x22, 0xf2, 0xab, 0x4a, 0x12, 0x3f, 0xe3, 0xc4, 0x8e, 0xdb, 0x4e, 0x9c, 0xcc, 0xe5, 0x8f, 0x22, 0xf2, 0xef, 0x94, 0x14,
0x06, 0x42, 0x01, 0xa7, 0x0d, 0x1d, 0x66, 0x3a, 0x43, 0xa7, 0x24, 0x10, 0x48, 0xda, 0x14, 0x82, 0x84, 0x03, 0x9c, 0xbb, 0x70, 0x45, 0xd5, 0x55, 0x71, 0x75, 0x24, 0x10, 0x48, 0xee, 0x72, 0x10,
0x02, 0x1d, 0x06, 0x66, 0x30, 0x9b, 0x68, 0xe3, 0xa8, 0xc8, 0x92, 0x2a, 0xad, 0x42, 0x73, 0xe1, 0x14, 0xb8, 0xa2, 0xa0, 0x0a, 0x33, 0x89, 0x26, 0x8e, 0x16, 0x59, 0xd2, 0x6a, 0x46, 0x61, 0xf3,
0xc8, 0xb9, 0xe7, 0x4e, 0xff, 0x97, 0xde, 0x3a, 0xfc, 0x0d, 0x3d, 0xd0, 0x73, 0x8f, 0x3d, 0xf5, 0xc2, 0x23, 0x6f, 0x5b, 0xb5, 0xcf, 0x5b, 0xfb, 0x5d, 0xf6, 0x6d, 0x8b, 0xcf, 0xb0, 0x0f, 0xec,
0xda, 0xd9, 0x1f, 0x92, 0x25, 0x59, 0x36, 0x60, 0x4f, 0x4b, 0x6f, 0xda, 0xf7, 0x3e, 0xfb, 0x79, 0xf3, 0x7e, 0x82, 0x7d, 0xdd, 0x9a, 0x3f, 0x92, 0x25, 0x59, 0x36, 0x60, 0xd7, 0x2e, 0xfb, 0x36,
0x6f, 0xdf, 0xbe, 0x5d, 0xbd, 0x7d, 0x50, 0x6b, 0x07, 0x16, 0x35, 0x6d, 0xc7, 0x20, 0x0d, 0xd7, 0xd3, 0xdd, 0xf3, 0xeb, 0x9e, 0x9e, 0x9e, 0x99, 0xee, 0x86, 0x7a, 0x3b, 0x74, 0x98, 0xed, 0x7a,
0x73, 0xa8, 0x83, 0x4a, 0x91, 0x40, 0x85, 0x96, 0xd3, 0x72, 0x84, 0x58, 0x5d, 0x6a, 0x39, 0x4e, 0x16, 0x69, 0xf8, 0x81, 0xc7, 0x3c, 0x54, 0x89, 0x09, 0x3a, 0xb4, 0xbc, 0x96, 0x27, 0xc9, 0xfa,
0xcb, 0x22, 0xeb, 0x7c, 0x74, 0x18, 0x1c, 0xaf, 0x53, 0xb3, 0x4d, 0x7c, 0x8a, 0xdb, 0xae, 0x00, 0x72, 0xcb, 0xf3, 0x5a, 0x0e, 0xd9, 0x10, 0xb3, 0xa3, 0xf0, 0x64, 0x83, 0xd9, 0x6d, 0x42, 0x19,
0x68, 0x6b, 0x30, 0xa1, 0x93, 0xef, 0x03, 0xe2, 0xd3, 0x1d, 0x82, 0x0d, 0xe2, 0xa1, 0x59, 0x28, 0x6e, 0xfb, 0x52, 0xc0, 0x58, 0x87, 0x71, 0x93, 0x7c, 0x19, 0x12, 0xca, 0x76, 0x09, 0xb6, 0x48,
0x62, 0xd7, 0x6c, 0x3e, 0x27, 0x67, 0x4a, 0x6e, 0x39, 0xb7, 0x56, 0xd1, 0x0b, 0xd8, 0x35, 0xbf, 0x80, 0xe6, 0xa0, 0x8c, 0x7d, 0xbb, 0xf9, 0x8a, 0x9c, 0x6b, 0x85, 0x95, 0xc2, 0x7a, 0xcd, 0x2c,
0x26, 0x67, 0xda, 0x2d, 0xa8, 0xdf, 0x32, 0xfd, 0xe7, 0x07, 0x2e, 0x3e, 0x22, 0x72, 0x0a, 0xfa, 0x61, 0xdf, 0xfe, 0x2f, 0x39, 0x37, 0xee, 0xc2, 0xe4, 0x5d, 0x9b, 0xbe, 0x3a, 0xf4, 0xf1, 0x31,
0x04, 0x0a, 0x27, 0x7c, 0x1a, 0xc7, 0x96, 0x37, 0x94, 0x46, 0xc7, 0xaf, 0x04, 0xad, 0x2e, 0x71, 0x51, 0x4b, 0xd0, 0xdf, 0xa0, 0x74, 0x2a, 0x96, 0x09, 0xd9, 0xea, 0xa6, 0xd6, 0xe8, 0xd8, 0x95,
0xda, 0x2f, 0x39, 0x98, 0x8c, 0xd1, 0xf8, 0xae, 0x63, 0xfb, 0x04, 0xcd, 0x43, 0x09, 0x5b, 0x96, 0x82, 0x35, 0x95, 0x9c, 0xf1, 0x7d, 0x01, 0xa6, 0x12, 0x30, 0xd4, 0xf7, 0x5c, 0x4a, 0xd0, 0x02,
0x73, 0x84, 0x29, 0x31, 0x38, 0x55, 0x5e, 0xef, 0x08, 0xd0, 0x12, 0x94, 0x03, 0x9f, 0x18, 0x4d, 0x54, 0xb0, 0xe3, 0x78, 0xc7, 0x98, 0x11, 0x4b, 0x40, 0x15, 0xcd, 0x0e, 0x01, 0x2d, 0x43, 0x35,
0xd7, 0x24, 0x47, 0xc4, 0x57, 0x46, 0xb8, 0x1e, 0x98, 0x68, 0x9f, 0x4b, 0xd0, 0x02, 0xf0, 0x51, 0xa4, 0xc4, 0x6a, 0xfa, 0x36, 0x39, 0x26, 0x54, 0xbb, 0x20, 0xf8, 0xc0, 0x49, 0x07, 0x82, 0x82,
0x93, 0x7a, 0xd8, 0x3f, 0x51, 0xf2, 0x62, 0x3e, 0x93, 0x3c, 0x60, 0x02, 0x84, 0x60, 0xf4, 0xd8, 0x16, 0x41, 0xcc, 0x9a, 0x2c, 0xc0, 0xf4, 0x54, 0x2b, 0xca, 0xf5, 0x9c, 0xf2, 0x98, 0x13, 0x10,
0x23, 0x44, 0x19, 0xe5, 0x0a, 0xfe, 0xcd, 0x2d, 0x9e, 0x62, 0xd3, 0xc2, 0x87, 0x16, 0x51, 0xc6, 0x82, 0x91, 0x93, 0x80, 0x10, 0x6d, 0x44, 0x30, 0xc4, 0x58, 0x68, 0x3c, 0xc3, 0xb6, 0x83, 0x8f,
0xa4, 0xc5, 0x50, 0x80, 0x54, 0x18, 0x77, 0x4e, 0x89, 0xc7, 0x28, 0x94, 0x02, 0x57, 0x46, 0x63, 0x1c, 0xa2, 0x8d, 0x2a, 0x8d, 0x11, 0x01, 0xe9, 0x30, 0xe6, 0x9d, 0x91, 0x80, 0x43, 0x68, 0x25,
0x6d, 0x1f, 0xe6, 0xb7, 0xb0, 0x6d, 0xbc, 0x30, 0x0d, 0x7a, 0xf2, 0x8d, 0x63, 0xd3, 0x93, 0x83, 0xc1, 0x8c, 0xe7, 0xc6, 0x01, 0x2c, 0x6c, 0x63, 0xd7, 0x7a, 0x6d, 0x5b, 0xec, 0xf4, 0x7f, 0x9e,
0xa0, 0xdd, 0xc6, 0xde, 0xd9, 0xe0, 0x31, 0xb9, 0x0a, 0x0b, 0x3d, 0x18, 0x65, 0x78, 0x10, 0x8c, 0xcb, 0x4e, 0x0f, 0xc3, 0x76, 0x1b, 0x07, 0xe7, 0x83, 0xfb, 0xe4, 0x06, 0x2c, 0xf6, 0x40, 0x54,
0x72, 0x57, 0x44, 0x64, 0xf8, 0xb7, 0xb6, 0x05, 0xd5, 0x6f, 0x89, 0xe7, 0x9b, 0x8e, 0x3d, 0xb8, 0xee, 0x41, 0x30, 0x22, 0x4c, 0x91, 0x9e, 0x11, 0x63, 0x63, 0x1b, 0x26, 0xfe, 0x4f, 0x02, 0x6a,
0xe1, 0x4b, 0x50, 0x8b, 0x38, 0xa4, 0x29, 0x05, 0x8a, 0xa7, 0x42, 0xc4, 0x59, 0x4a, 0x7a, 0x38, 0x7b, 0xee, 0xe0, 0x8a, 0xaf, 0x42, 0x3d, 0xc6, 0x50, 0xaa, 0x34, 0x28, 0x9f, 0x49, 0x92, 0x40,
0xd4, 0x6e, 0x03, 0xda, 0xc3, 0x3e, 0xbd, 0xe9, 0xd8, 0x14, 0x1f, 0xd1, 0xc1, 0x8d, 0x3e, 0x85, 0xa9, 0x98, 0xd1, 0xd4, 0xb8, 0x07, 0x68, 0x1f, 0x53, 0x76, 0xc7, 0x73, 0x19, 0x3e, 0x66, 0x83,
0xff, 0x27, 0x78, 0xa4, 0xe1, 0x3b, 0x50, 0xb1, 0xb0, 0x4f, 0x9b, 0x47, 0x42, 0x2e, 0xe9, 0xd4, 0x2b, 0x7d, 0x01, 0x7f, 0x4e, 0xe1, 0x28, 0xc5, 0xf7, 0xa1, 0xe6, 0x60, 0xca, 0x9a, 0xc7, 0x92,
0x86, 0x48, 0xe0, 0x46, 0x98, 0xc0, 0x8d, 0x07, 0x61, 0x02, 0x6f, 0x8d, 0xbf, 0x7e, 0xb3, 0xf4, 0xae, 0xe0, 0xf4, 0x86, 0x0c, 0xe0, 0x46, 0x14, 0xc0, 0x8d, 0xc7, 0x51, 0x00, 0x6f, 0x8f, 0xbd,
0xbf, 0x1f, 0x7f, 0x5f, 0xca, 0xe9, 0x65, 0xab, 0x43, 0xa8, 0xfd, 0x00, 0x93, 0x3a, 0x71, 0x03, 0x7b, 0xbf, 0xfc, 0xa7, 0x6f, 0x7e, 0x5a, 0x2e, 0x98, 0x55, 0xa7, 0x03, 0x68, 0x7c, 0x05, 0x53,
0x8a, 0xe9, 0x30, 0xb1, 0x41, 0x9f, 0x42, 0xc5, 0xc7, 0x94, 0x58, 0x96, 0x49, 0x49, 0xd3, 0x34, 0x26, 0xf1, 0x43, 0x86, 0xd9, 0x30, 0xbe, 0x41, 0x7f, 0x87, 0x1a, 0xc5, 0x8c, 0x38, 0x8e, 0xcd,
0x78, 0xd6, 0x55, 0xb6, 0xaa, 0xcc, 0xe6, 0x6f, 0x6f, 0x96, 0x0a, 0x77, 0x1d, 0x83, 0xec, 0xde, 0x48, 0xd3, 0xb6, 0x44, 0xd4, 0xd5, 0xb6, 0x27, 0xb8, 0xce, 0x1f, 0xdf, 0x2f, 0x97, 0x1e, 0x78,
0xd2, 0xcb, 0x11, 0x66, 0xd7, 0xd0, 0xfe, 0xca, 0x01, 0x8a, 0x9b, 0x96, 0x2b, 0xbb, 0x0e, 0x05, 0x16, 0xd9, 0xbb, 0x6b, 0x56, 0x63, 0x99, 0x3d, 0xcb, 0xf8, 0xa5, 0x00, 0x28, 0xa9, 0x5a, 0xed,
0xc7, 0xb6, 0x4c, 0x9b, 0x48, 0xdb, 0xab, 0x09, 0xdb, 0x69, 0x78, 0xe3, 0x1e, 0xc7, 0xea, 0x72, 0xec, 0x16, 0x94, 0x3c, 0xd7, 0xb1, 0x5d, 0xa2, 0x74, 0xaf, 0xa5, 0x74, 0x67, 0xc5, 0x1b, 0x0f,
0x0e, 0xfa, 0x1c, 0xc6, 0x70, 0x60, 0x98, 0x94, 0x3b, 0x50, 0xde, 0x58, 0xe9, 0x3f, 0x79, 0x93, 0x85, 0xac, 0xa9, 0xd6, 0xa0, 0x7f, 0xc2, 0x28, 0x0e, 0x2d, 0x9b, 0x09, 0x03, 0xaa, 0x9b, 0xab,
0x41, 0x75, 0x31, 0x43, 0x5d, 0x84, 0x82, 0x20, 0x43, 0x53, 0x30, 0xe6, 0x1f, 0x39, 0x9e, 0xf0, 0xfd, 0x17, 0x6f, 0x71, 0x51, 0x53, 0xae, 0xd0, 0x97, 0xa0, 0x24, 0xc1, 0xd0, 0x34, 0x8c, 0xd2,
0x20, 0xa7, 0x8b, 0x81, 0xba, 0x03, 0x63, 0x1c, 0x9f, 0xad, 0x46, 0x17, 0xa1, 0xee, 0x07, 0xbe, 0x63, 0x2f, 0x90, 0x16, 0x14, 0x4c, 0x39, 0xd1, 0x77, 0x61, 0x54, 0xc8, 0xe7, 0xb3, 0xd1, 0x15,
0x4b, 0x6c, 0xb6, 0xfd, 0x4d, 0x01, 0x18, 0xe1, 0x80, 0x5a, 0x47, 0x7e, 0xc0, 0xc4, 0xda, 0x1e, 0x98, 0xa4, 0x21, 0xf5, 0x89, 0xcb, 0x8f, 0xbf, 0x29, 0x05, 0x2e, 0x08, 0x81, 0x7a, 0x87, 0x7e,
0x28, 0x0f, 0xbc, 0xc0, 0xa7, 0xc4, 0x38, 0x08, 0xe3, 0xe1, 0x0f, 0x9e, 0x21, 0xbf, 0xe6, 0x60, 0xc8, 0xc9, 0xc6, 0x3e, 0x68, 0x8f, 0x83, 0x90, 0x32, 0x62, 0x1d, 0x46, 0xfe, 0xa0, 0x83, 0x47,
0x2e, 0x83, 0x4e, 0x86, 0xf3, 0x09, 0x20, 0x2a, 0x94, 0xcd, 0x28, 0xf8, 0xbe, 0x92, 0x5b, 0xce, 0xc8, 0x0f, 0x05, 0x98, 0xcf, 0x81, 0x53, 0xee, 0x7c, 0x0e, 0x88, 0x49, 0x66, 0x33, 0x76, 0x3e,
0xaf, 0x95, 0x37, 0x2e, 0xc7, 0xb8, 0x7b, 0x32, 0x34, 0xd8, 0xde, 0x3d, 0xd4, 0xf7, 0xf4, 0x49, 0xd5, 0x0a, 0x2b, 0xc5, 0xf5, 0xea, 0xe6, 0xb5, 0x04, 0x76, 0x4f, 0x84, 0x06, 0x3f, 0xbb, 0x27,
0x9a, 0x86, 0xa8, 0x7b, 0x50, 0x94, 0x5a, 0x74, 0x01, 0x8a, 0x8c, 0x87, 0xed, 0x7d, 0x2e, 0x73, 0xe6, 0xbe, 0x39, 0xc5, 0xb2, 0x22, 0xfa, 0x3e, 0x94, 0x15, 0x17, 0x5d, 0x86, 0x32, 0xc7, 0xe1,
0xef, 0x0b, 0x4c, 0xbd, 0x6b, 0xb0, 0x23, 0x83, 0x0d, 0xc3, 0x23, 0xbe, 0xb8, 0x9a, 0x4a, 0x7a, 0x67, 0x5f, 0xc8, 0x3d, 0xfb, 0x12, 0x67, 0xef, 0x59, 0xfc, 0xca, 0x60, 0xcb, 0x0a, 0x08, 0x95,
0x38, 0xd4, 0x6e, 0x42, 0xed, 0x9e, 0x4b, 0x3c, 0x4c, 0x1d, 0x6f, 0xf0, 0x68, 0x98, 0x50, 0xef, 0x4f, 0x53, 0xc5, 0x8c, 0xa6, 0xc6, 0x1d, 0xa8, 0x3f, 0xf4, 0x49, 0x80, 0x99, 0x17, 0x0c, 0xee,
0x90, 0xc8, 0x18, 0x4c, 0xc1, 0x18, 0x69, 0x63, 0xd3, 0x92, 0x67, 0x54, 0x0c, 0xd0, 0x0c, 0x14, 0x0d, 0x1b, 0x26, 0x3b, 0x20, 0xca, 0x07, 0xd3, 0x30, 0x4a, 0xda, 0xd8, 0x76, 0xd4, 0x1d, 0x95,
0x5e, 0x60, 0xcb, 0x22, 0x54, 0xfa, 0x21, 0x47, 0xe8, 0x02, 0xd4, 0xc4, 0x57, 0xf3, 0x98, 0x60, 0x13, 0x34, 0x0b, 0xa5, 0xd7, 0xd8, 0x71, 0x08, 0x53, 0x76, 0xa8, 0x19, 0xba, 0x0c, 0x75, 0x39,
0x1a, 0x78, 0xc4, 0x57, 0xf2, 0xcb, 0xf9, 0xb5, 0x92, 0x5e, 0x15, 0xe2, 0xdb, 0x52, 0xaa, 0xbd, 0x6a, 0x9e, 0x10, 0xcc, 0xc2, 0x80, 0x50, 0xad, 0xb8, 0x52, 0x5c, 0xaf, 0x98, 0x13, 0x92, 0x7c,
0xca, 0xc1, 0xd2, 0xb6, 0x4f, 0xcd, 0x36, 0xbb, 0x76, 0xf7, 0xf1, 0x99, 0x13, 0xd0, 0x28, 0x36, 0x4f, 0x51, 0x8d, 0xb7, 0x05, 0x58, 0xde, 0xa1, 0xcc, 0x6e, 0xf3, 0x67, 0xf7, 0x00, 0x9f, 0x7b,
0xff, 0xea, 0x49, 0xba, 0x0f, 0xcb, 0xbd, 0xfd, 0x90, 0x31, 0xb8, 0x02, 0x88, 0x84, 0x98, 0x26, 0x21, 0x8b, 0x7d, 0xf3, 0xbb, 0xde, 0xa4, 0x47, 0xb0, 0xd2, 0xdb, 0x0e, 0xe5, 0x83, 0xeb, 0x80,
0xc1, 0x9e, 0x6d, 0xda, 0x2d, 0x5f, 0x5e, 0x91, 0x93, 0x91, 0x66, 0x5b, 0x2a, 0xb4, 0xaf, 0x60, 0x48, 0x24, 0xd3, 0x24, 0x38, 0x70, 0x6d, 0xb7, 0x45, 0xd5, 0x13, 0x39, 0x15, 0x73, 0x76, 0x14,
0x26, 0x45, 0x39, 0xf8, 0x96, 0xec, 0xc0, 0x6c, 0x17, 0xd7, 0x60, 0x5e, 0x6d, 0x41, 0x75, 0xe8, 0xc3, 0xf8, 0x0f, 0xcc, 0x66, 0x20, 0x07, 0x3f, 0x92, 0x5d, 0x98, 0xeb, 0xc2, 0x1a, 0xcc, 0xaa,
0xdf, 0xc7, 0x2e, 0xd4, 0xd2, 0x3f, 0x8c, 0x6b, 0x50, 0x76, 0xb9, 0x5f, 0x4d, 0xd3, 0x3e, 0x76, 0x6d, 0x98, 0x18, 0xfa, 0xfb, 0xd8, 0x83, 0x7a, 0xf6, 0xc3, 0xb8, 0x09, 0x55, 0x5f, 0xd8, 0xd5,
0x24, 0xd3, 0x74, 0x8c, 0x49, 0x78, 0xbd, 0x6b, 0x1f, 0x3b, 0x3a, 0xb8, 0xd1, 0xb7, 0xf6, 0x0c, 0xb4, 0xdd, 0x13, 0x4f, 0x21, 0xcd, 0x24, 0x90, 0xa4, 0xd5, 0x7b, 0xee, 0x89, 0x67, 0x82, 0x1f,
0xa6, 0x24, 0xd5, 0x3e, 0xf1, 0x4c, 0xc7, 0x18, 0x7c, 0xd3, 0x67, 0xa0, 0xe0, 0x72, 0x8a, 0x30, 0x8f, 0x8d, 0x97, 0x30, 0xad, 0xa0, 0x0e, 0x48, 0x60, 0x7b, 0xd6, 0xe0, 0x87, 0x3e, 0x0b, 0x25,
0x17, 0xc5, 0x48, 0xbb, 0x07, 0xd3, 0x29, 0x0b, 0x43, 0xba, 0xfc, 0x12, 0x66, 0x25, 0xe1, 0x87, 0x5f, 0x40, 0x44, 0xb1, 0x28, 0x67, 0xc6, 0x43, 0x98, 0xc9, 0x68, 0x18, 0xd2, 0xe4, 0x37, 0x30,
0x49, 0x55, 0x1d, 0x94, 0x6e, 0xfb, 0x43, 0xae, 0xe9, 0xe7, 0x1c, 0x2c, 0xa4, 0x49, 0x87, 0xdd, 0xa7, 0x00, 0x3f, 0x4f, 0xa8, 0x9a, 0xa0, 0x75, 0xeb, 0x1f, 0x72, 0x4f, 0xdf, 0x15, 0x60, 0x31,
0x90, 0xf7, 0x5f, 0x5a, 0x6c, 0x0f, 0xf3, 0x89, 0x3d, 0x7c, 0x04, 0x8b, 0xbd, 0xbc, 0x1b, 0x72, 0x0b, 0x3a, 0xec, 0x81, 0x7c, 0xfa, 0xd6, 0x12, 0x67, 0x58, 0x4c, 0x9d, 0xe1, 0x53, 0x58, 0xea,
0xe1, 0x9b, 0x30, 0xc1, 0x8e, 0x06, 0x19, 0x7c, 0x9d, 0xda, 0x79, 0xa8, 0x86, 0x14, 0x9d, 0xcb, 0x65, 0xdd, 0x90, 0x1b, 0xdf, 0x82, 0x71, 0x7e, 0x35, 0xc8, 0xe0, 0xfb, 0x34, 0x2e, 0xc1, 0x44,
0x92, 0x3a, 0x14, 0x5b, 0xf2, 0x14, 0x8a, 0x01, 0xbf, 0x0f, 0x38, 0x6e, 0xf8, 0xb4, 0xd1, 0x9e, 0x04, 0xd1, 0x79, 0x2c, 0x99, 0xc7, 0xb0, 0xa3, 0x6e, 0xa1, 0x9c, 0x88, 0xf7, 0x40, 0xc8, 0x0d,
0xc1, 0x6c, 0x17, 0x97, 0x34, 0xbe, 0x0d, 0x75, 0xc2, 0x55, 0x9d, 0x9f, 0x95, 0xfc, 0x57, 0xa9, 0x1f, 0x36, 0xc6, 0x4b, 0x98, 0xeb, 0xc2, 0x52, 0xca, 0x77, 0x60, 0x92, 0x08, 0x56, 0xe7, 0xb3,
0x31, 0xda, 0xf4, 0xec, 0x1a, 0x49, 0x0a, 0xb4, 0xc7, 0x50, 0x4b, 0x61, 0xb2, 0x97, 0x35, 0x48, 0x52, 0x7f, 0x95, 0x9e, 0x80, 0xcd, 0xae, 0xae, 0x93, 0x34, 0xc1, 0x78, 0x06, 0xf5, 0x8c, 0x4c,
0x06, 0xef, 0xc0, 0xd4, 0x43, 0xdb, 0x30, 0x7d, 0xea, 0x99, 0x87, 0x01, 0x1d, 0x26, 0xf6, 0x57, 0xfe, 0xb6, 0x06, 0x89, 0xe0, 0x5d, 0x98, 0x7e, 0xe2, 0x5a, 0x36, 0x65, 0x81, 0x7d, 0x14, 0xb2,
0x60, 0x3a, 0xc5, 0xd4, 0x77, 0x0b, 0x5e, 0xc2, 0xec, 0x3e, 0x3e, 0xf3, 0x69, 0x70, 0xf8, 0x61, 0x61, 0x7c, 0x7f, 0x1d, 0x66, 0x32, 0x48, 0x7d, 0x8f, 0xe0, 0x0d, 0xcc, 0x1d, 0xe0, 0x73, 0xca,
0x8e, 0xee, 0x0e, 0x28, 0xdd, 0xf6, 0xa5, 0xc7, 0x97, 0xa1, 0xe8, 0x0a, 0x9d, 0xf4, 0x00, 0x25, 0xc2, 0xa3, 0xcf, 0x73, 0x75, 0x77, 0x41, 0xeb, 0xd6, 0xaf, 0x2c, 0xbe, 0x06, 0x65, 0x5f, 0xf2,
0xb3, 0x97, 0x69, 0xf4, 0x10, 0xc2, 0xae, 0xf1, 0x50, 0x36, 0x70, 0xf0, 0xbe, 0x84, 0x5a, 0xc4, 0x94, 0x05, 0x28, 0x1d, 0xbd, 0x9c, 0x63, 0x46, 0x22, 0xfc, 0x19, 0x8f, 0x68, 0x03, 0x3b, 0xef,
0x31, 0x90, 0x13, 0xcf, 0x60, 0x4a, 0xca, 0xfe, 0xa9, 0xcb, 0x7b, 0x1b, 0xa6, 0x53, 0x16, 0x06, 0xdf, 0x50, 0x8f, 0x31, 0x06, 0x32, 0xe2, 0x25, 0x4c, 0x2b, 0xda, 0x6f, 0xf5, 0x78, 0xef, 0xc0,
0x72, 0x94, 0x5d, 0x6f, 0xe9, 0xc0, 0xff, 0x87, 0xae, 0xb7, 0xbb, 0xb0, 0xd8, 0xcb, 0xbb, 0x81, 0x4c, 0x46, 0xc3, 0x40, 0x86, 0xf2, 0xe7, 0x2d, 0xeb, 0xf8, 0x3f, 0xd0, 0xf3, 0xf6, 0x00, 0x96,
0x96, 0xfb, 0x19, 0x40, 0xe7, 0xba, 0x63, 0x6f, 0xb9, 0x13, 0x62, 0x45, 0x6f, 0x39, 0xf6, 0xcd, 0x7a, 0x59, 0x37, 0xd0, 0x76, 0xff, 0x01, 0xd0, 0x79, 0xee, 0x78, 0x2d, 0x77, 0x4a, 0x9c, 0xb8,
0x64, 0x2e, 0x96, 0x4e, 0xe7, 0x75, 0xfe, 0xad, 0xfd, 0x39, 0x02, 0x45, 0x49, 0x85, 0x34, 0x98, 0x96, 0xe3, 0x63, 0x4e, 0xf3, 0xb1, 0x32, 0xba, 0x68, 0x8a, 0xb1, 0xf1, 0x75, 0x11, 0xca, 0x0a,
0x08, 0x7c, 0xdc, 0x22, 0x4d, 0x4c, 0x9b, 0x1e, 0xf1, 0x29, 0x7f, 0xb0, 0xe6, 0xf4, 0x32, 0x17, 0x0a, 0x19, 0x30, 0x1e, 0x52, 0xdc, 0x22, 0x4d, 0xcc, 0x9a, 0x01, 0xa1, 0x4c, 0xe5, 0xe9, 0x55,
0x6e, 0xb2, 0xe2, 0x83, 0xa2, 0x73, 0x50, 0x12, 0x98, 0x16, 0xa1, 0xe1, 0x9b, 0x95, 0x0b, 0xee, 0x41, 0xdc, 0xe2, 0xc9, 0x07, 0x43, 0x17, 0xa1, 0x22, 0x65, 0x5a, 0x2a, 0xff, 0x2b, 0x9a, 0x63,
0x10, 0x8a, 0xd6, 0xa0, 0x1e, 0x29, 0x9b, 0x1e, 0x71, 0xb1, 0xe9, 0x29, 0xe3, 0x1c, 0x53, 0x0d, 0x82, 0x70, 0x9f, 0x30, 0xb4, 0x0e, 0x93, 0x31, 0xb3, 0x19, 0x10, 0x1f, 0xdb, 0x81, 0x2a, 0x93,
0x31, 0x3a, 0x97, 0xa2, 0xf3, 0x50, 0xeb, 0x20, 0xc5, 0xc3, 0x03, 0x38, 0x70, 0x22, 0x04, 0x8a, 0x27, 0x22, 0x19, 0x53, 0x50, 0xd1, 0x25, 0xa8, 0x77, 0x24, 0x65, 0xe1, 0x21, 0xcb, 0xe6, 0xf1,
0x27, 0xc3, 0x32, 0x54, 0x8e, 0x9c, 0xb6, 0x1b, 0x79, 0x54, 0x16, 0x8f, 0x72, 0x26, 0x93, 0x0e, 0x48, 0x50, 0x96, 0x0c, 0x2b, 0x50, 0x3b, 0xf6, 0xda, 0x7e, 0x6c, 0x91, 0x2c, 0xa1, 0x81, 0xd3,
0xcd, 0xc1, 0x38, 0x47, 0x30, 0x7f, 0x2a, 0x5c, 0x5b, 0x64, 0x63, 0xe6, 0xce, 0x79, 0xa8, 0x85, 0x94, 0x41, 0xf3, 0x30, 0x26, 0x24, 0xb8, 0x3d, 0xb2, 0x86, 0x2e, 0xf3, 0x39, 0x37, 0xe7, 0x12,
0xaa, 0xd0, 0x9b, 0xaa, 0x30, 0x22, 0x11, 0xd2, 0x99, 0x55, 0xa8, 0x46, 0x38, 0xe1, 0x4b, 0x9d, 0xd4, 0x23, 0x56, 0x64, 0x4d, 0x59, 0x2a, 0x51, 0x12, 0xca, 0x98, 0x35, 0x98, 0x88, 0xe5, 0xa4,
0xc3, 0x2a, 0x12, 0x26, 0x5c, 0x09, 0x23, 0x8a, 0x32, 0x22, 0x3a, 0xdd, 0x89, 0x28, 0x5a, 0x86, 0x2d, 0x63, 0x42, 0xac, 0xa6, 0xc4, 0xa4, 0x29, 0x91, 0x47, 0x2b, 0x39, 0x1e, 0x85, 0x8e, 0x47,
0x72, 0xec, 0x6e, 0x52, 0x66, 0xb8, 0x2a, 0x2e, 0x62, 0xcf, 0x98, 0x1d, 0x62, 0x19, 0x9b, 0x6d, 0xd1, 0x0a, 0x54, 0x13, 0x6f, 0x93, 0x56, 0x15, 0xac, 0x24, 0x89, 0x97, 0xfd, 0x96, 0x4d, 0x7d,
0x27, 0xb0, 0xe9, 0x8e, 0xe9, 0x53, 0x67, 0x98, 0xba, 0xec, 0xf5, 0x08, 0xcc, 0x65, 0xd0, 0xc9, 0x8f, 0xd7, 0xda, 0x35, 0xe9, 0xc2, 0x68, 0xce, 0x4b, 0x9c, 0x5d, 0xe2, 0x58, 0x5b, 0x6d, 0x2f,
0x1c, 0xda, 0x87, 0xe2, 0x89, 0x10, 0xc9, 0xff, 0xc1, 0xb5, 0x18, 0x61, 0xcf, 0x69, 0x19, 0x9a, 0x74, 0xd9, 0xae, 0x4d, 0x99, 0x37, 0x4c, 0xce, 0xf6, 0xee, 0x02, 0xcc, 0xe7, 0xc0, 0xa9, 0xf8,
0x90, 0x46, 0xbd, 0x0e, 0xd0, 0xd1, 0xc6, 0xb2, 0x3b, 0x17, 0xcf, 0x6e, 0x26, 0xc7, 0x1c, 0x21, 0x3a, 0x80, 0xf2, 0xa9, 0x24, 0xa9, 0xbf, 0xe2, 0x66, 0x02, 0xb0, 0xe7, 0xb2, 0x1c, 0x4e, 0x04,
0xb3, 0x4d, 0x8e, 0xd4, 0x9f, 0x72, 0x30, 0xd9, 0x45, 0xde, 0x75, 0xac, 0x72, 0x6f, 0x3f, 0x56, 0xa3, 0xdf, 0x02, 0xe8, 0x70, 0x13, 0x91, 0x5f, 0x48, 0x46, 0x3e, 0xa7, 0x63, 0x21, 0xa1, 0x02,
0x3a, 0x54, 0xd8, 0x16, 0x34, 0x05, 0x2f, 0x7b, 0x13, 0xb1, 0xd5, 0xad, 0xbf, 0xe7, 0xea, 0xf4, 0x48, 0xcd, 0xf4, 0x6f, 0x0b, 0x30, 0xd5, 0x05, 0xde, 0x75, 0xe5, 0x0a, 0x1f, 0xbe, 0x72, 0x26,
0xf2, 0x49, 0xf4, 0xed, 0x6f, 0xdc, 0x87, 0xe2, 0x01, 0x75, 0x3c, 0xdc, 0x22, 0xe8, 0x36, 0x94, 0xd4, 0xf8, 0xf1, 0x34, 0x25, 0x2e, 0xaf, 0x97, 0xf8, 0xee, 0x36, 0x3e, 0x71, 0x77, 0x66, 0xf5,
0xa2, 0xfe, 0x11, 0x3a, 0x17, 0x63, 0x4d, 0x37, 0xa7, 0xd4, 0xf9, 0x6c, 0xa5, 0x30, 0xb5, 0x61, 0x34, 0x1e, 0xd3, 0xcd, 0x47, 0x50, 0x3e, 0x64, 0x5e, 0x80, 0x5b, 0x04, 0xdd, 0x83, 0x4a, 0xdc,
0x43, 0x29, 0x6a, 0xba, 0x20, 0x0c, 0x95, 0x78, 0xe3, 0x05, 0x5d, 0x88, 0x4d, 0xed, 0xd7, 0xec, 0x5b, 0x42, 0x17, 0x13, 0xa8, 0xd9, 0xc6, 0x95, 0xbe, 0x90, 0xcf, 0x94, 0xaa, 0x36, 0x5d, 0xa8,
0x51, 0xd7, 0xde, 0x0e, 0x94, 0xf6, 0x5e, 0xe5, 0x61, 0x94, 0x85, 0x0b, 0xdd, 0x80, 0xa2, 0x6c, 0xc4, 0x0d, 0x19, 0x84, 0xa1, 0x96, 0x6c, 0xca, 0xa0, 0xcb, 0x89, 0xa5, 0xfd, 0x1a, 0x41, 0xfa,
0xba, 0xa0, 0xb9, 0xd8, 0xec, 0x64, 0x33, 0x47, 0x55, 0xb3, 0x54, 0x32, 0x75, 0xf6, 0xa0, 0x1c, 0xfa, 0x87, 0x05, 0x95, 0xbe, 0xb7, 0x45, 0x18, 0xe1, 0xee, 0x42, 0xb7, 0xa1, 0xac, 0x1a, 0x32,
0xeb, 0xa0, 0xa0, 0x85, 0x18, 0xb4, 0xbb, 0x43, 0xa3, 0x2e, 0xf6, 0x52, 0x4b, 0xb6, 0x5d, 0x80, 0x68, 0x3e, 0xb1, 0x3a, 0xdd, 0xe8, 0xd1, 0xf5, 0x3c, 0x96, 0x0a, 0x9d, 0x7d, 0xa8, 0x26, 0xba,
0x4e, 0x23, 0x01, 0xcd, 0xf7, 0xe8, 0x2f, 0x08, 0xae, 0x85, 0xbe, 0xdd, 0x07, 0xf4, 0x14, 0x26, 0x2b, 0x68, 0x31, 0x21, 0xda, 0xdd, 0xbd, 0xd1, 0x97, 0x7a, 0xb1, 0x15, 0xda, 0x1e, 0x40, 0xa7,
0xbb, 0x5e, 0xdd, 0x68, 0xa5, 0xff, 0x9b, 0x5c, 0x10, 0xaf, 0xbe, 0xcb, 0xc3, 0x1d, 0xdd, 0x84, 0xc9, 0x80, 0x16, 0x7a, 0xf4, 0x1e, 0x24, 0xd6, 0x62, 0xdf, 0xce, 0x04, 0x7a, 0x01, 0x53, 0x5d,
0xf1, 0xf0, 0x29, 0x8c, 0xe2, 0x01, 0x4a, 0x3d, 0xb2, 0xd5, 0x73, 0x99, 0x3a, 0xb9, 0x11, 0x7f, 0x15, 0x39, 0x5a, 0xed, 0x5f, 0xaf, 0x4b, 0xe0, 0xb5, 0x8f, 0x29, 0xea, 0xd1, 0x1d, 0x18, 0x8b,
0x94, 0xf8, 0xc5, 0xea, 0x04, 0xd4, 0x67, 0x7b, 0x11, 0x6e, 0x79, 0x7c, 0x2f, 0x52, 0x9b, 0xac, 0xca, 0x64, 0x94, 0x74, 0x50, 0xa6, 0x00, 0xd7, 0x2f, 0xe6, 0xf2, 0xd4, 0x41, 0xfc, 0x5c, 0x11,
0x66, 0xa9, 0xa4, 0x4b, 0x3a, 0x4c, 0x24, 0xde, 0x33, 0x68, 0xa9, 0x1b, 0x9c, 0xf8, 0xb7, 0xa9, 0x8f, 0xae, 0x17, 0x32, 0xca, 0xcf, 0x22, 0x3a, 0xf2, 0xe4, 0x59, 0x64, 0x0e, 0x59, 0xcf, 0x63,
0xcb, 0xbd, 0x01, 0x51, 0x87, 0xa3, 0x9e, 0xae, 0xaf, 0x91, 0xd6, 0x3d, 0x2b, 0x5d, 0x34, 0xa9, 0x29, 0x93, 0x4c, 0x18, 0x4f, 0xd5, 0x3a, 0x68, 0xb9, 0x5b, 0x38, 0xf5, 0xef, 0xe9, 0x2b, 0xbd,
0x2b, 0x7d, 0x31, 0x92, 0xbc, 0x0d, 0x33, 0xd9, 0xc5, 0x3b, 0x5a, 0xeb, 0x33, 0x3d, 0xb9, 0x84, 0x05, 0xe2, 0xee, 0xc7, 0x64, 0x36, 0xf7, 0x46, 0x46, 0xf7, 0xaa, 0x6c, 0x42, 0xa5, 0xaf, 0xf6,
0x8b, 0xef, 0x80, 0x94, 0xe6, 0xbe, 0x80, 0x82, 0x28, 0x5c, 0x91, 0xd2, 0x55, 0xef, 0x86, 0x74, 0x95, 0x51, 0xe0, 0x6d, 0x98, 0xcd, 0x4f, 0xec, 0xd1, 0x7a, 0x9f, 0xe5, 0xe9, 0x2d, 0x5c, 0xf9,
0x73, 0x19, 0x1a, 0x39, 0xfd, 0x51, 0x77, 0xdd, 0xfb, 0x51, 0x9f, 0xba, 0x59, 0x12, 0x6a, 0xfd, 0x08, 0x49, 0xa5, 0xee, 0x5f, 0x50, 0x92, 0x49, 0x2d, 0xd2, 0xba, 0x72, 0xe1, 0x08, 0x6e, 0x3e,
0x20, 0x92, 0xd9, 0x07, 0xa5, 0x57, 0x8b, 0x01, 0x7d, 0x1c, 0x9f, 0xdf, 0xbf, 0x1f, 0xa2, 0x5e, 0x87, 0xa3, 0x96, 0x3f, 0xed, 0xce, 0x89, 0xff, 0xd2, 0x27, 0xa7, 0x56, 0x80, 0x46, 0x3f, 0x11,
0x7a, 0x27, 0x6c, 0x6c, 0x39, 0x49, 0x4c, 0x72, 0x39, 0x99, 0x0d, 0x8a, 0xe4, 0x72, 0x7a, 0xf4, 0x85, 0x4c, 0x41, 0xeb, 0xd5, 0x7e, 0x40, 0x7f, 0x4d, 0xae, 0xef, 0xdf, 0x2b, 0xd1, 0xaf, 0x7e,
0x1d, 0x74, 0x98, 0x48, 0x94, 0xde, 0x89, 0x3c, 0xcc, 0x2a, 0xef, 0x13, 0x79, 0x98, 0x5d, 0xb5, 0x94, 0x6c, 0x62, 0x3b, 0x69, 0x99, 0xf4, 0x76, 0x72, 0x9b, 0x17, 0xe9, 0xed, 0xf4, 0xe8, 0x49,
0x3f, 0x81, 0x7a, 0xba, 0x10, 0x4a, 0xe4, 0x61, 0x8f, 0xe2, 0x3d, 0x91, 0x87, 0x3d, 0x0b, 0xec, 0x98, 0x30, 0x9e, 0x4a, 0xcb, 0x53, 0x71, 0x98, 0x97, 0xfa, 0xa7, 0xe2, 0x30, 0x3f, 0xa3, 0x7f,
0x1b, 0x9d, 0xf2, 0x66, 0x2e, 0xa3, 0x7a, 0xca, 0x38, 0x7a, 0xe9, 0xea, 0x58, 0x87, 0x89, 0x44, 0x0e, 0x93, 0xd9, 0x24, 0x29, 0x15, 0x87, 0x3d, 0x12, 0xfb, 0x54, 0x1c, 0xf6, 0x4c, 0xbe, 0x6f,
0x35, 0x9a, 0x58, 0x72, 0x56, 0x25, 0x9c, 0x58, 0x72, 0x76, 0x21, 0xdb, 0x86, 0x99, 0xec, 0xda, 0x77, 0x52, 0x9f, 0xf9, 0x9c, 0xcc, 0x2a, 0xe7, 0xea, 0x65, 0x33, 0x67, 0x13, 0xc6, 0x53, 0x99,
0x2f, 0x71, 0x3a, 0xfa, 0x16, 0xaf, 0x89, 0xd3, 0xf1, 0x96, 0x42, 0xf2, 0x69, 0xd6, 0x3f, 0x77, 0x6a, 0x6a, 0xcb, 0x79, 0x59, 0x72, 0x6a, 0xcb, 0xf9, 0x49, 0x6e, 0x1b, 0x66, 0xf3, 0xf3, 0xc2,
0xa5, 0xff, 0xaf, 0xb2, 0xfb, 0xc2, 0xec, 0xf9, 0x3f, 0xdd, 0x5a, 0x7d, 0xac, 0x31, 0xc1, 0x77, 0xd4, 0xed, 0xe8, 0x9b, 0xd8, 0xa6, 0x6e, 0xc7, 0x07, 0x92, 0xcc, 0x17, 0x79, 0x7f, 0xee, 0x6a,
0x0d, 0xd3, 0x59, 0xe7, 0x1f, 0xeb, 0xae, 0x67, 0x9e, 0x62, 0x4a, 0xd6, 0xa3, 0xd9, 0xee, 0xe1, 0xff, 0xaf, 0xb2, 0xfb, 0xc1, 0xec, 0xf9, 0x9f, 0x6e, 0xaf, 0x3d, 0x33, 0x38, 0xe1, 0x8b, 0x86,
0x61, 0x81, 0x37, 0xd7, 0xaf, 0xfe, 0x1d, 0x00, 0x00, 0xff, 0xff, 0xc9, 0xb9, 0xc8, 0x97, 0x55, 0xed, 0x6d, 0x88, 0xc1, 0x86, 0x1f, 0xd8, 0x67, 0x98, 0x91, 0x8d, 0x78, 0xb5, 0x7f, 0x74, 0x54,
0x1a, 0x00, 0x00, 0x12, 0x8d, 0xf7, 0x1b, 0xbf, 0x06, 0x00, 0x00, 0xff, 0xff, 0xa3, 0xcb, 0x70, 0x14, 0x71, 0x1a,
0x00, 0x00,
} }

View File

@ -244,17 +244,18 @@ message PayoutInfo {
} }
message Paystub { message Paystub {
double usage_at_rest = 5; double usage_at_rest = 1;
int64 usage_get = 6; int64 usage_get = 2;
int64 usage_get_repair = 8; int64 usage_get_repair = 3;
int64 usage_get_audit = 10; int64 usage_get_audit = 4;
int64 comp_at_rest = 11; int64 comp_at_rest = 5;
int64 comp_get = 12; int64 comp_get = 6;
int64 comp_get_repair = 14; int64 comp_get_repair = 7;
int64 comp_get_audit = 16; int64 comp_get_audit = 8;
int64 held = 18; int64 held = 9;
int64 paid = 21; int64 paid = 10;
int64 distributed = 22; int64 distributed = 11;
int64 disposed = 12;
} }
message HeldAmountHistoryRequest { message HeldAmountHistoryRequest {

View File

@ -1,5 +1,5 @@
// Code generated by protoc-gen-go-drpc. DO NOT EDIT. // Code generated by protoc-gen-go-drpc. DO NOT EDIT.
// protoc-gen-go-drpc version: v0.0.22 // protoc-gen-go-drpc version: v0.0.20
// source: multinode.proto // source: multinode.proto
package multinodepb package multinodepb

View File

@ -732,6 +732,37 @@
} }
] ]
}, },
{
"name": "OperatorRequest",
"fields": [
{
"id": 1,
"name": "header",
"type": "RequestHeader"
}
]
},
{
"name": "OperatorResponse",
"fields": [
{
"id": 1,
"name": "email",
"type": "string"
},
{
"id": 2,
"name": "wallet",
"type": "string"
},
{
"id": 3,
"name": "wallet_features",
"type": "string",
"is_repeated": true
}
]
},
{ {
"name": "EstimatedPayoutSatelliteRequest", "name": "EstimatedPayoutSatelliteRequest",
"fields": [ "fields": [
@ -1132,59 +1163,64 @@
"name": "Paystub", "name": "Paystub",
"fields": [ "fields": [
{ {
"id": 5, "id": 1,
"name": "usage_at_rest", "name": "usage_at_rest",
"type": "double" "type": "double"
}, },
{ {
"id": 6, "id": 2,
"name": "usage_get", "name": "usage_get",
"type": "int64" "type": "int64"
}, },
{ {
"id": 8, "id": 3,
"name": "usage_get_repair", "name": "usage_get_repair",
"type": "int64" "type": "int64"
}, },
{ {
"id": 10, "id": 4,
"name": "usage_get_audit", "name": "usage_get_audit",
"type": "int64" "type": "int64"
}, },
{ {
"id": 11, "id": 5,
"name": "comp_at_rest", "name": "comp_at_rest",
"type": "int64" "type": "int64"
}, },
{ {
"id": 12, "id": 6,
"name": "comp_get", "name": "comp_get",
"type": "int64" "type": "int64"
}, },
{ {
"id": 14, "id": 7,
"name": "comp_get_repair", "name": "comp_get_repair",
"type": "int64" "type": "int64"
}, },
{ {
"id": 16, "id": 8,
"name": "comp_get_audit", "name": "comp_get_audit",
"type": "int64" "type": "int64"
}, },
{ {
"id": 18, "id": 9,
"name": "held", "name": "held",
"type": "int64" "type": "int64"
}, },
{ {
"id": 21, "id": 10,
"name": "paid", "name": "paid",
"type": "int64" "type": "int64"
}, },
{ {
"id": 22, "id": 11,
"name": "distributed", "name": "distributed",
"type": "int64" "type": "int64"
},
{
"id": 12,
"name": "disposed",
"type": "int64"
} }
] ]
}, },
@ -1296,6 +1332,11 @@
"name": "TrustedSatellites", "name": "TrustedSatellites",
"in_type": "TrustedSatellitesRequest", "in_type": "TrustedSatellitesRequest",
"out_type": "TrustedSatellitesResponse" "out_type": "TrustedSatellitesResponse"
},
{
"name": "Operator",
"in_type": "OperatorRequest",
"out_type": "OperatorResponse"
} }
] ]
}, },

View File

@ -252,6 +252,7 @@ func (payout *PayoutEndpoint) PaystubSatellite(ctx context.Context, req *multino
Held: paystub.Held, Held: paystub.Held,
Paid: paystub.Paid, Paid: paystub.Paid,
Distributed: paystub.Distributed, Distributed: paystub.Distributed,
Disposed: paystub.Disposed,
}}, nil }}, nil
} }
@ -280,6 +281,7 @@ func (payout *PayoutEndpoint) Paystub(ctx context.Context, req *multinodepb.Pays
Held: paystub.Held, Held: paystub.Held,
Paid: paystub.Paid, Paid: paystub.Paid,
Distributed: paystub.Distributed, Distributed: paystub.Distributed,
Disposed: paystub.Disposed,
}}, nil }}, nil
} }
@ -308,6 +310,7 @@ func (payout *PayoutEndpoint) PaystubPeriod(ctx context.Context, req *multinodep
Held: paystub.Held, Held: paystub.Held,
Paid: paystub.Paid, Paid: paystub.Paid,
Distributed: paystub.Distributed, Distributed: paystub.Distributed,
Disposed: paystub.Disposed,
}}, nil }}, nil
} }
@ -336,6 +339,7 @@ func (payout *PayoutEndpoint) PaystubPeriodSatellite(ctx context.Context, req *m
Held: paystub.Held, Held: paystub.Held,
Paid: paystub.Paid, Paid: paystub.Paid,
Distributed: paystub.Distributed, Distributed: paystub.Distributed,
Disposed: paystub.Disposed,
}}, nil }}, nil
} }

View File

@ -519,6 +519,7 @@ func TestSummedPaystubs(t *testing.T) {
Period: "2020-01", Period: "2020-01",
Distributed: 150, Distributed: 150,
Paid: 250, Paid: 250,
Disposed: 100,
}) })
require.NoError(t, err) require.NoError(t, err)
@ -527,6 +528,7 @@ func TestSummedPaystubs(t *testing.T) {
Period: "2020-02", Period: "2020-02",
Distributed: 250, Distributed: 250,
Paid: 350, Paid: 350,
Disposed: 200,
}) })
require.NoError(t, err) require.NoError(t, err)
@ -535,6 +537,7 @@ func TestSummedPaystubs(t *testing.T) {
Period: "2020-01", Period: "2020-01",
Distributed: 100, Distributed: 100,
Paid: 300, Paid: 300,
Disposed: 300,
}) })
require.NoError(t, err) require.NoError(t, err)
@ -543,6 +546,7 @@ func TestSummedPaystubs(t *testing.T) {
Period: "2020-02", Period: "2020-02",
Distributed: 400, Distributed: 400,
Paid: 500, Paid: 500,
Disposed: 400,
}) })
require.NoError(t, err) require.NoError(t, err)
@ -551,6 +555,7 @@ func TestSummedPaystubs(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
require.EqualValues(t, paystub.Distributed, 500) require.EqualValues(t, paystub.Distributed, 500)
require.EqualValues(t, paystub.Paid, 800) require.EqualValues(t, paystub.Paid, 800)
require.EqualValues(t, paystub.Disposed, 700)
}) })
t.Run("satellites period", func(t *testing.T) { t.Run("satellites period", func(t *testing.T) {
@ -558,6 +563,7 @@ func TestSummedPaystubs(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
require.EqualValues(t, paystub.Distributed, 900) require.EqualValues(t, paystub.Distributed, 900)
require.EqualValues(t, paystub.Paid, 1400) require.EqualValues(t, paystub.Paid, 1400)
require.EqualValues(t, paystub.Disposed, 1000)
}) })
t.Run("all satellites period", func(t *testing.T) { t.Run("all satellites period", func(t *testing.T) {
@ -565,6 +571,7 @@ func TestSummedPaystubs(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
require.EqualValues(t, paystub.Distributed, 250) require.EqualValues(t, paystub.Distributed, 250)
require.EqualValues(t, paystub.Paid, 550) require.EqualValues(t, paystub.Paid, 550)
require.EqualValues(t, paystub.Disposed, 400)
}) })
t.Run("satellites period", func(t *testing.T) { t.Run("satellites period", func(t *testing.T) {
@ -572,6 +579,7 @@ func TestSummedPaystubs(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
require.EqualValues(t, paystub.Distributed, 250) require.EqualValues(t, paystub.Distributed, 250)
require.EqualValues(t, paystub.Paid, 350) require.EqualValues(t, paystub.Paid, 350)
require.EqualValues(t, paystub.Disposed, 200)
}) })
}) })
} }

View File

@ -593,7 +593,7 @@ func (db *payoutDB) GetSatellitePaystubs(ctx context.Context, satelliteID storj.
rowPayment := db.QueryRowContext(ctx, rowPayment := db.QueryRowContext(ctx,
`SELECT COALESCE(SUM(usage_at_rest),0), COALESCE(SUM(usage_get),0), COALESCE(SUM(usage_get_repair),0), COALESCE(SUM(usage_get_audit),0), `SELECT COALESCE(SUM(usage_at_rest),0), COALESCE(SUM(usage_get),0), COALESCE(SUM(usage_get_repair),0), COALESCE(SUM(usage_get_audit),0),
COALESCE(SUM(comp_at_rest),0), COALESCE(SUM(comp_get),0), COALESCE(SUM(comp_get_repair),0), COALESCE(SUM(comp_get_audit),0), COALESCE(SUM(comp_at_rest),0), COALESCE(SUM(comp_get),0), COALESCE(SUM(comp_get_repair),0), COALESCE(SUM(comp_get_audit),0),
COALESCE(SUM(held),0), COALESCE(SUM(paid),0), COALESCE(SUM(distributed),0) from paystubs WHERE satellite_id = $1`, satelliteID) COALESCE(SUM(held),0), COALESCE(SUM(paid),0), COALESCE(SUM(distributed),0), COALESCE(SUM(disposed),0) from paystubs WHERE satellite_id = $1`, satelliteID)
var paystub payouts.PayStub var paystub payouts.PayStub
@ -609,6 +609,7 @@ func (db *payoutDB) GetSatellitePaystubs(ctx context.Context, satelliteID storj.
&paystub.Held, &paystub.Held,
&paystub.Paid, &paystub.Paid,
&paystub.Distributed, &paystub.Distributed,
&paystub.Disposed,
) )
if err != nil { if err != nil {
return &payouts.PayStub{}, ErrPayout.Wrap(err) return &payouts.PayStub{}, ErrPayout.Wrap(err)
@ -624,7 +625,7 @@ func (db *payoutDB) GetPaystubs(ctx context.Context) (_ *payouts.PayStub, err er
rowPayment := db.QueryRowContext(ctx, rowPayment := db.QueryRowContext(ctx,
`SELECT COALESCE(SUM(usage_at_rest),0), COALESCE(SUM(usage_get),0), COALESCE(SUM(usage_get_repair),0), COALESCE(SUM(usage_get_audit),0), `SELECT COALESCE(SUM(usage_at_rest),0), COALESCE(SUM(usage_get),0), COALESCE(SUM(usage_get_repair),0), COALESCE(SUM(usage_get_audit),0),
COALESCE(SUM(comp_at_rest),0), COALESCE(SUM(comp_get),0), COALESCE(SUM(comp_get_repair),0), COALESCE(SUM(comp_get_audit),0), COALESCE(SUM(comp_at_rest),0), COALESCE(SUM(comp_get),0), COALESCE(SUM(comp_get_repair),0), COALESCE(SUM(comp_get_audit),0),
COALESCE(SUM(held),0), COALESCE(SUM(paid),0), COALESCE(SUM(distributed),0) from paystubs`) COALESCE(SUM(held),0), COALESCE(SUM(paid),0), COALESCE(SUM(distributed),0), COALESCE(SUM(disposed),0) from paystubs`)
var paystub payouts.PayStub var paystub payouts.PayStub
@ -640,6 +641,7 @@ func (db *payoutDB) GetPaystubs(ctx context.Context) (_ *payouts.PayStub, err er
&paystub.Held, &paystub.Held,
&paystub.Paid, &paystub.Paid,
&paystub.Distributed, &paystub.Distributed,
&paystub.Disposed,
) )
if err != nil { if err != nil {
return &payouts.PayStub{}, ErrPayout.Wrap(err) return &payouts.PayStub{}, ErrPayout.Wrap(err)
@ -655,7 +657,7 @@ func (db *payoutDB) GetPeriodPaystubs(ctx context.Context, period string) (_ *pa
rowPayment := db.QueryRowContext(ctx, rowPayment := db.QueryRowContext(ctx,
`SELECT COALESCE(SUM(usage_at_rest),0), COALESCE(SUM(usage_get),0), COALESCE(SUM(usage_get_repair),0), COALESCE(SUM(usage_get_audit),0), `SELECT COALESCE(SUM(usage_at_rest),0), COALESCE(SUM(usage_get),0), COALESCE(SUM(usage_get_repair),0), COALESCE(SUM(usage_get_audit),0),
COALESCE(SUM(comp_at_rest),0), COALESCE(SUM(comp_get),0), COALESCE(SUM(comp_get_repair),0), COALESCE(SUM(comp_get_audit),0), COALESCE(SUM(comp_at_rest),0), COALESCE(SUM(comp_get),0), COALESCE(SUM(comp_get_repair),0), COALESCE(SUM(comp_get_audit),0),
COALESCE(SUM(held),0), COALESCE(SUM(paid),0), COALESCE(SUM(distributed),0) from paystubs WHERE period = $1`, period) COALESCE(SUM(held),0), COALESCE(SUM(paid),0), COALESCE(SUM(distributed),0), COALESCE(SUM(disposed),0) from paystubs WHERE period = $1`, period)
var paystub payouts.PayStub var paystub payouts.PayStub
@ -671,6 +673,7 @@ func (db *payoutDB) GetPeriodPaystubs(ctx context.Context, period string) (_ *pa
&paystub.Held, &paystub.Held,
&paystub.Paid, &paystub.Paid,
&paystub.Distributed, &paystub.Distributed,
&paystub.Disposed,
) )
if err != nil { if err != nil {
return &payouts.PayStub{}, ErrPayout.Wrap(err) return &payouts.PayStub{}, ErrPayout.Wrap(err)
@ -686,7 +689,7 @@ func (db *payoutDB) GetSatellitePeriodPaystubs(ctx context.Context, period strin
rowPayment := db.QueryRowContext(ctx, rowPayment := db.QueryRowContext(ctx,
`SELECT COALESCE(SUM(usage_at_rest),0), COALESCE(SUM(usage_get),0), COALESCE(SUM(usage_get_repair),0), COALESCE(SUM(usage_get_audit),0), `SELECT COALESCE(SUM(usage_at_rest),0), COALESCE(SUM(usage_get),0), COALESCE(SUM(usage_get_repair),0), COALESCE(SUM(usage_get_audit),0),
COALESCE(SUM(comp_at_rest),0), COALESCE(SUM(comp_get),0), COALESCE(SUM(comp_get_repair),0), COALESCE(SUM(comp_get_audit),0), COALESCE(SUM(comp_at_rest),0), COALESCE(SUM(comp_get),0), COALESCE(SUM(comp_get_repair),0), COALESCE(SUM(comp_get_audit),0),
COALESCE(SUM(held),0), COALESCE(SUM(paid),0), COALESCE(SUM(distributed),0) from paystubs WHERE period = $1 AND satellite_id = $2`, period, satelliteID) COALESCE(SUM(held),0), COALESCE(SUM(paid),0), COALESCE(SUM(distributed),0), COALESCE(SUM(disposed),0) from paystubs WHERE period = $1 AND satellite_id = $2`, period, satelliteID)
var paystub payouts.PayStub var paystub payouts.PayStub
@ -702,6 +705,7 @@ func (db *payoutDB) GetSatellitePeriodPaystubs(ctx context.Context, period strin
&paystub.Held, &paystub.Held,
&paystub.Paid, &paystub.Paid,
&paystub.Distributed, &paystub.Distributed,
&paystub.Disposed,
) )
if err != nil { if err != nil {
return &payouts.PayStub{}, ErrPayout.Wrap(err) return &payouts.PayStub{}, ErrPayout.Wrap(err)