Merge pull request #3742 from joostjager/expose-custom-tlv

invoices: expose custom tlv records from the payload
This commit is contained in:
Joost Jager 2019-12-10 07:53:59 +01:00 committed by GitHub
commit 699bb193e4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 815 additions and 614 deletions

@ -7,6 +7,7 @@ import (
"time" "time"
"github.com/davecgh/go-spew/spew" "github.com/davecgh/go-spew/spew"
"github.com/lightningnetwork/lnd/htlcswitch/hop"
"github.com/lightningnetwork/lnd/lntypes" "github.com/lightningnetwork/lnd/lntypes"
"github.com/lightningnetwork/lnd/lnwire" "github.com/lightningnetwork/lnd/lnwire"
) )
@ -209,13 +210,15 @@ func TestInvoiceCancelSingleHtlc(t *testing.T) {
// Accept an htlc on this invoice. // Accept an htlc on this invoice.
key := CircuitKey{ChanID: lnwire.NewShortChanIDFromInt(1), HtlcID: 4} key := CircuitKey{ChanID: lnwire.NewShortChanIDFromInt(1), HtlcID: 4}
htlc := HtlcAcceptDesc{
Amt: 500,
CustomRecords: make(hop.CustomRecordSet),
}
invoice, err := db.UpdateInvoice(paymentHash, invoice, err := db.UpdateInvoice(paymentHash,
func(invoice *Invoice) (*InvoiceUpdateDesc, error) { func(invoice *Invoice) (*InvoiceUpdateDesc, error) {
return &InvoiceUpdateDesc{ return &InvoiceUpdateDesc{
AddHtlcs: map[CircuitKey]*HtlcAcceptDesc{ AddHtlcs: map[CircuitKey]*HtlcAcceptDesc{
key: { key: &htlc,
Amt: 500,
},
}, },
}, nil }, nil
}) })
@ -432,10 +435,11 @@ func TestDuplicateSettleInvoice(t *testing.T) {
invoice.SettleDate = dbInvoice.SettleDate invoice.SettleDate = dbInvoice.SettleDate
invoice.Htlcs = map[CircuitKey]*InvoiceHTLC{ invoice.Htlcs = map[CircuitKey]*InvoiceHTLC{
{}: { {}: {
Amt: amt, Amt: amt,
AcceptTime: time.Unix(1, 0), AcceptTime: time.Unix(1, 0),
ResolveTime: time.Unix(1, 0), ResolveTime: time.Unix(1, 0),
State: HtlcStateSettled, State: HtlcStateSettled,
CustomRecords: make(hop.CustomRecordSet),
}, },
} }
@ -747,6 +751,8 @@ func getUpdateInvoice(amt lnwire.MilliSatoshi) InvoiceUpdateCallback {
return nil, ErrInvoiceAlreadySettled return nil, ErrInvoiceAlreadySettled
} }
noRecords := make(hop.CustomRecordSet)
update := &InvoiceUpdateDesc{ update := &InvoiceUpdateDesc{
State: &InvoiceStateUpdateDesc{ State: &InvoiceStateUpdateDesc{
Preimage: invoice.Terms.PaymentPreimage, Preimage: invoice.Terms.PaymentPreimage,
@ -754,7 +760,8 @@ func getUpdateInvoice(amt lnwire.MilliSatoshi) InvoiceUpdateCallback {
}, },
AddHtlcs: map[CircuitKey]*HtlcAcceptDesc{ AddHtlcs: map[CircuitKey]*HtlcAcceptDesc{
{}: { {}: {
Amt: amt, Amt: amt,
CustomRecords: noRecords,
}, },
}, },
} }
@ -762,3 +769,64 @@ func getUpdateInvoice(amt lnwire.MilliSatoshi) InvoiceUpdateCallback {
return update, nil return update, nil
} }
} }
// TestCustomRecords tests that custom records are properly recorded in the
// invoice database.
func TestCustomRecords(t *testing.T) {
t.Parallel()
db, cleanUp, err := makeTestDB()
defer cleanUp()
if err != nil {
t.Fatalf("unable to make test db: %v", err)
}
testInvoice := &Invoice{
Htlcs: map[CircuitKey]*InvoiceHTLC{},
}
testInvoice.Terms.Value = lnwire.NewMSatFromSatoshis(10000)
testInvoice.Terms.Features = emptyFeatures
var paymentHash lntypes.Hash
if _, err := db.AddInvoice(testInvoice, paymentHash); err != nil {
t.Fatalf("unable to find invoice: %v", err)
}
// Accept an htlc with custom records on this invoice.
key := CircuitKey{ChanID: lnwire.NewShortChanIDFromInt(1), HtlcID: 4}
records := hop.CustomRecordSet{
100000: []byte{},
100001: []byte{1, 2},
}
_, err = db.UpdateInvoice(paymentHash,
func(invoice *Invoice) (*InvoiceUpdateDesc, error) {
return &InvoiceUpdateDesc{
AddHtlcs: map[CircuitKey]*HtlcAcceptDesc{
key: {
Amt: 500,
CustomRecords: records,
},
},
}, nil
},
)
if err != nil {
t.Fatalf("unable to add invoice htlc: %v", err)
}
// Retrieve the invoice from that database and verify that the custom
// records are present.
dbInvoice, err := db.LookupInvoice(paymentHash)
if err != nil {
t.Fatalf("unable to lookup invoice: %v", err)
}
if len(dbInvoice.Htlcs) != 1 {
t.Fatalf("expected the htlc to be added")
}
if !reflect.DeepEqual(records, dbInvoice.Htlcs[key].CustomRecords) {
t.Fatalf("invalid custom records")
}
}

@ -9,6 +9,7 @@ import (
"time" "time"
"github.com/coreos/bbolt" "github.com/coreos/bbolt"
"github.com/lightningnetwork/lnd/htlcswitch/hop"
"github.com/lightningnetwork/lnd/lntypes" "github.com/lightningnetwork/lnd/lntypes"
"github.com/lightningnetwork/lnd/lnwire" "github.com/lightningnetwork/lnd/lnwire"
"github.com/lightningnetwork/lnd/tlv" "github.com/lightningnetwork/lnd/tlv"
@ -308,6 +309,10 @@ type InvoiceHTLC struct {
// canceled htlc isn't just removed from the invoice htlcs map, because // canceled htlc isn't just removed from the invoice htlcs map, because
// we need AcceptHeight to properly cancel the htlc back. // we need AcceptHeight to properly cancel the htlc back.
State HtlcState State HtlcState
// CustomRecords contains the custom key/value pairs that accompanied
// the htlc.
CustomRecords hop.CustomRecordSet
} }
// HtlcAcceptDesc describes the details of a newly accepted htlc. // HtlcAcceptDesc describes the details of a newly accepted htlc.
@ -320,6 +325,10 @@ type HtlcAcceptDesc struct {
// Expiry is the expiry height of this htlc. // Expiry is the expiry height of this htlc.
Expiry uint32 Expiry uint32
// CustomRecords contains the custom key/value pairs that accompanied
// the htlc.
CustomRecords hop.CustomRecordSet
} }
// InvoiceUpdateDesc describes the changes that should be applied to the // InvoiceUpdateDesc describes the changes that should be applied to the
@ -1013,7 +1022,8 @@ func serializeHtlcs(w io.Writer, htlcs map[CircuitKey]*InvoiceHTLC) error {
resolveTime := uint64(htlc.ResolveTime.UnixNano()) resolveTime := uint64(htlc.ResolveTime.UnixNano())
state := uint8(htlc.State) state := uint8(htlc.State)
tlvStream, err := tlv.NewStream( var records []tlv.Record
records = append(records,
tlv.MakePrimitiveRecord(chanIDType, &chanID), tlv.MakePrimitiveRecord(chanIDType, &chanID),
tlv.MakePrimitiveRecord(htlcIDType, &key.HtlcID), tlv.MakePrimitiveRecord(htlcIDType, &key.HtlcID),
tlv.MakePrimitiveRecord(amtType, &amt), tlv.MakePrimitiveRecord(amtType, &amt),
@ -1025,6 +1035,16 @@ func serializeHtlcs(w io.Writer, htlcs map[CircuitKey]*InvoiceHTLC) error {
tlv.MakePrimitiveRecord(expiryHeightType, &htlc.Expiry), tlv.MakePrimitiveRecord(expiryHeightType, &htlc.Expiry),
tlv.MakePrimitiveRecord(htlcStateType, &state), tlv.MakePrimitiveRecord(htlcStateType, &state),
) )
// Convert the custom records to tlv.Record types that are ready
// for serialization.
customRecords := tlv.MapToRecords(htlc.CustomRecords)
// Append the custom records. Their ids are in the experimental
// range and sorted, so there is no need to sort again.
records = append(records, customRecords...)
tlvStream, err := tlv.NewStream(records...)
if err != nil { if err != nil {
return err return err
} }
@ -1191,7 +1211,8 @@ func deserializeHtlcs(r io.Reader) (map[CircuitKey]*InvoiceHTLC, error) {
return nil, err return nil, err
} }
if err := tlvStream.Decode(htlcReader); err != nil { parsedTypes, err := tlvStream.DecodeWithParsedTypes(htlcReader)
if err != nil {
return nil, err return nil, err
} }
@ -1201,6 +1222,10 @@ func deserializeHtlcs(r io.Reader) (map[CircuitKey]*InvoiceHTLC, error) {
htlc.State = HtlcState(state) htlc.State = HtlcState(state)
htlc.Amt = lnwire.MilliSatoshi(amt) htlc.Amt = lnwire.MilliSatoshi(amt)
// Reconstruct the custom records fields from the parsed types
// map return from the tlv parser.
htlc.CustomRecords = hop.NewCustomRecords(parsedTypes)
htlcs[key] = &htlc htlcs[key] = &htlc
} }
@ -1290,12 +1315,20 @@ func (d *DB) updateInvoice(hash lntypes.Hash, invoices, settleIndex *bbolt.Bucke
if _, exists := invoice.Htlcs[key]; exists { if _, exists := invoice.Htlcs[key]; exists {
return nil, fmt.Errorf("duplicate add of htlc %v", key) return nil, fmt.Errorf("duplicate add of htlc %v", key)
} }
// Force caller to supply htlc without custom records in a
// consistent way.
if htlcUpdate.CustomRecords == nil {
return nil, errors.New("nil custom records map")
}
htlc := &InvoiceHTLC{ htlc := &InvoiceHTLC{
Amt: htlcUpdate.Amt, Amt: htlcUpdate.Amt,
Expiry: htlcUpdate.Expiry, Expiry: htlcUpdate.Expiry,
AcceptHeight: uint32(htlcUpdate.AcceptHeight), AcceptHeight: uint32(htlcUpdate.AcceptHeight),
AcceptTime: now, AcceptTime: now,
State: HtlcStateAccepted, State: HtlcStateAccepted,
CustomRecords: htlcUpdate.CustomRecords,
} }
invoice.Htlcs[key] = htlc invoice.Htlcs[key] = htlc

@ -79,6 +79,9 @@ func (e ErrInvalidPayload) Error() string {
hopType, e.Violation, e.Type) hopType, e.Violation, e.Type)
} }
// CustomRecordSet stores a set of custom key/value pairs.
type CustomRecordSet map[uint64][]byte
// Payload encapsulates all information delivered to a hop in an onion payload. // Payload encapsulates all information delivered to a hop in an onion payload.
// A Hop can represent either a TLV or legacy payload. The primary forwarding // A Hop can represent either a TLV or legacy payload. The primary forwarding
// instruction can be accessed via ForwardingInfo, and additional records can be // instruction can be accessed via ForwardingInfo, and additional records can be
@ -91,6 +94,10 @@ type Payload struct {
// MPP holds the info provided in an option_mpp record when parsed from // MPP holds the info provided in an option_mpp record when parsed from
// a TLV onion payload. // a TLV onion payload.
MPP *record.MPP MPP *record.MPP
// customRecords are user-defined records in the custom type range that
// were included in the payload.
customRecords CustomRecordSet
} }
// NewLegacyPayload builds a Payload from the amount, cltv, and next hop // NewLegacyPayload builds a Payload from the amount, cltv, and next hop
@ -105,6 +112,7 @@ func NewLegacyPayload(f *sphinx.HopData) *Payload {
AmountToForward: lnwire.MilliSatoshi(f.ForwardAmount), AmountToForward: lnwire.MilliSatoshi(f.ForwardAmount),
OutgoingCTLV: f.OutgoingCltv, OutgoingCTLV: f.OutgoingCltv,
}, },
customRecords: make(CustomRecordSet),
} }
} }
@ -157,6 +165,9 @@ func NewPayloadFromReader(r io.Reader) (*Payload, error) {
mpp = nil mpp = nil
} }
// Filter out the custom records.
customRecords := NewCustomRecords(parsedTypes)
return &Payload{ return &Payload{
FwdInfo: ForwardingInfo{ FwdInfo: ForwardingInfo{
Network: BitcoinNetwork, Network: BitcoinNetwork,
@ -164,7 +175,8 @@ func NewPayloadFromReader(r io.Reader) (*Payload, error) {
AmountToForward: lnwire.MilliSatoshi(amt), AmountToForward: lnwire.MilliSatoshi(amt),
OutgoingCTLV: cltv, OutgoingCTLV: cltv,
}, },
MPP: mpp, MPP: mpp,
customRecords: customRecords,
}, nil }, nil
} }
@ -174,11 +186,24 @@ func (h *Payload) ForwardingInfo() ForwardingInfo {
return h.FwdInfo return h.FwdInfo
} }
// NewCustomRecords filters the types parsed from the tlv stream for custom
// records.
func NewCustomRecords(parsedTypes tlv.TypeMap) CustomRecordSet {
customRecords := make(CustomRecordSet)
for t, parseResult := range parsedTypes {
if parseResult == nil || t < CustomTypeStart {
continue
}
customRecords[uint64(t)] = parseResult
}
return customRecords
}
// ValidateParsedPayloadTypes checks the types parsed from a hop payload to // ValidateParsedPayloadTypes checks the types parsed from a hop payload to
// ensure that the proper fields are either included or omitted. The finalHop // ensure that the proper fields are either included or omitted. The finalHop
// boolean should be true if the payload was parsed for an exit hop. The // boolean should be true if the payload was parsed for an exit hop. The
// requirements for this method are described in BOLT 04. // requirements for this method are described in BOLT 04.
func ValidateParsedPayloadTypes(parsedTypes tlv.TypeSet, func ValidateParsedPayloadTypes(parsedTypes tlv.TypeMap,
nextHop lnwire.ShortChannelID) error { nextHop lnwire.ShortChannelID) error {
isFinalHop := nextHop == Exit isFinalHop := nextHop == Exit
@ -234,22 +259,28 @@ func (h *Payload) MultiPath() *record.MPP {
return h.MPP return h.MPP
} }
// CustomRecords returns the custom tlv type records that were parsed from the
// payload.
func (h *Payload) CustomRecords() CustomRecordSet {
return h.customRecords
}
// getMinRequiredViolation checks for unrecognized required (even) fields in the // getMinRequiredViolation checks for unrecognized required (even) fields in the
// standard range and returns the lowest required type. Always returning the // standard range and returns the lowest required type. Always returning the
// lowest required type allows a failure message to be deterministic. // lowest required type allows a failure message to be deterministic.
func getMinRequiredViolation(set tlv.TypeSet) *tlv.Type { func getMinRequiredViolation(set tlv.TypeMap) *tlv.Type {
var ( var (
requiredViolation bool requiredViolation bool
minRequiredViolationType tlv.Type minRequiredViolationType tlv.Type
) )
for t, known := range set { for t, parseResult := range set {
// If a type is even but not known to us, we cannot process the // If a type is even but not known to us, we cannot process the
// payload. We are required to understand a field that we don't // payload. We are required to understand a field that we don't
// support. // support.
// //
// We always accept custom fields, because a higher level // We always accept custom fields, because a higher level
// application may understand them. // application may understand them.
if known || t%2 != 0 || t >= CustomTypeStart { if parseResult == nil || t%2 != 0 || t >= CustomTypeStart {
continue continue
} }

@ -11,10 +11,11 @@ import (
) )
type decodePayloadTest struct { type decodePayloadTest struct {
name string name string
payload []byte payload []byte
expErr error expErr error
shouldHaveMPP bool expCustomRecords map[uint64][]byte
shouldHaveMPP bool
} }
var decodePayloadTests = []decodePayloadTest{ var decodePayloadTests = []decodePayloadTest{
@ -133,7 +134,10 @@ var decodePayloadTests = []decodePayloadTest{
{ {
name: "required type in custom range", name: "required type in custom range",
payload: []byte{0x02, 0x00, 0x04, 0x00, payload: []byte{0x02, 0x00, 0x04, 0x00,
0xfe, 0x00, 0x01, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x01, 0x00, 0x00, 0x02, 0x10, 0x11,
},
expCustomRecords: map[uint64][]byte{
65536: {0x10, 0x11},
}, },
}, },
{ {
@ -237,4 +241,14 @@ func testDecodeHopPayloadValidation(t *testing.T, test decodePayloadTest) {
} else if p.MPP != nil { } else if p.MPP != nil {
t.Fatalf("unexpected MPP payload") t.Fatalf("unexpected MPP payload")
} }
// Convert expected nil map to empty map, because we always expect an
// initiated map from the payload.
expCustomRecords := make(hop.CustomRecordSet)
if test.expCustomRecords != nil {
expCustomRecords = test.expCustomRecords
}
if !reflect.DeepEqual(expCustomRecords, p.CustomRecords()) {
t.Fatalf("invalid custom records")
}
} }

@ -1,6 +1,9 @@
package invoices package invoices
import "github.com/lightningnetwork/lnd/record" import (
"github.com/lightningnetwork/lnd/htlcswitch/hop"
"github.com/lightningnetwork/lnd/record"
)
// Payload abstracts access to any additional fields provided in the final hop's // Payload abstracts access to any additional fields provided in the final hop's
// TLV onion payload. // TLV onion payload.
@ -8,4 +11,8 @@ type Payload interface {
// MultiPath returns the record corresponding the option_mpp parsed from // MultiPath returns the record corresponding the option_mpp parsed from
// the onion payload. // the onion payload.
MultiPath() *record.MPP MultiPath() *record.MPP
// CustomRecords returns the custom tlv type records that were parsed
// from the payload.
CustomRecords() hop.CustomRecordSet
} }

@ -443,6 +443,7 @@ func (i *InvoiceRegistry) NotifyExitHopHtlc(rHash lntypes.Hash,
expiry: expiry, expiry: expiry,
currentHeight: currentHeight, currentHeight: currentHeight,
finalCltvRejectDelta: i.finalCltvRejectDelta, finalCltvRejectDelta: i.finalCltvRejectDelta,
customRecords: payload.CustomRecords(),
} }
// We'll attempt to settle an invoice matching this rHash on disk (if // We'll attempt to settle an invoice matching this rHash on disk (if

@ -7,6 +7,7 @@ import (
"time" "time"
"github.com/lightningnetwork/lnd/channeldb" "github.com/lightningnetwork/lnd/channeldb"
"github.com/lightningnetwork/lnd/htlcswitch/hop"
"github.com/lightningnetwork/lnd/lntypes" "github.com/lightningnetwork/lnd/lntypes"
"github.com/lightningnetwork/lnd/lnwire" "github.com/lightningnetwork/lnd/lnwire"
"github.com/lightningnetwork/lnd/record" "github.com/lightningnetwork/lnd/record"
@ -669,3 +670,7 @@ type mockPayload struct {
func (p *mockPayload) MultiPath() *record.MPP { func (p *mockPayload) MultiPath() *record.MPP {
return p.mpp return p.mpp
} }
func (p *mockPayload) CustomRecords() hop.CustomRecordSet {
return make(hop.CustomRecordSet)
}

@ -3,6 +3,8 @@ package invoices
import ( import (
"errors" "errors"
"github.com/lightningnetwork/lnd/htlcswitch/hop"
"github.com/lightningnetwork/lnd/channeldb" "github.com/lightningnetwork/lnd/channeldb"
"github.com/lightningnetwork/lnd/lnwire" "github.com/lightningnetwork/lnd/lnwire"
) )
@ -74,6 +76,7 @@ type invoiceUpdateCtx struct {
expiry uint32 expiry uint32
currentHeight int32 currentHeight int32
finalCltvRejectDelta int32 finalCltvRejectDelta int32
customRecords hop.CustomRecordSet
} }
// updateInvoice is a callback for DB.UpdateInvoice that contains the invoice // updateInvoice is a callback for DB.UpdateInvoice that contains the invoice
@ -125,9 +128,10 @@ func updateInvoice(ctx *invoiceUpdateCtx, inv *channeldb.Invoice) (
// Record HTLC in the invoice database. // Record HTLC in the invoice database.
newHtlcs := map[channeldb.CircuitKey]*channeldb.HtlcAcceptDesc{ newHtlcs := map[channeldb.CircuitKey]*channeldb.HtlcAcceptDesc{
ctx.circuitKey: { ctx.circuitKey: {
Amt: ctx.amtPaid, Amt: ctx.amtPaid,
Expiry: ctx.expiry, Expiry: ctx.expiry,
AcceptHeight: ctx.currentHeight, AcceptHeight: ctx.currentHeight,
CustomRecords: ctx.customRecords,
}, },
} }

@ -75,13 +75,14 @@ func CreateRPCInvoice(invoice *channeldb.Invoice,
} }
rpcHtlc := lnrpc.InvoiceHTLC{ rpcHtlc := lnrpc.InvoiceHTLC{
ChanId: key.ChanID.ToUint64(), ChanId: key.ChanID.ToUint64(),
HtlcIndex: key.HtlcID, HtlcIndex: key.HtlcID,
AcceptHeight: int32(htlc.AcceptHeight), AcceptHeight: int32(htlc.AcceptHeight),
AcceptTime: htlc.AcceptTime.Unix(), AcceptTime: htlc.AcceptTime.Unix(),
ExpiryHeight: int32(htlc.Expiry), ExpiryHeight: int32(htlc.Expiry),
AmtMsat: uint64(htlc.Amt), AmtMsat: uint64(htlc.Amt),
State: state, State: state,
CustomRecords: htlc.CustomRecords,
} }
// Only report resolved times if htlc is resolved. // Only report resolved times if htlc is resolved.

@ -7308,10 +7308,12 @@ type InvoiceHTLC struct {
/// Block height at which this htlc expires. /// Block height at which this htlc expires.
ExpiryHeight int32 `protobuf:"varint,7,opt,name=expiry_height,proto3" json:"expiry_height,omitempty"` ExpiryHeight int32 `protobuf:"varint,7,opt,name=expiry_height,proto3" json:"expiry_height,omitempty"`
/// Current state the htlc is in. /// Current state the htlc is in.
State InvoiceHTLCState `protobuf:"varint,8,opt,name=state,proto3,enum=lnrpc.InvoiceHTLCState" json:"state,omitempty"` State InvoiceHTLCState `protobuf:"varint,8,opt,name=state,proto3,enum=lnrpc.InvoiceHTLCState" json:"state,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` /// Custom tlv records.
XXX_unrecognized []byte `json:"-"` CustomRecords map[uint64][]byte `protobuf:"bytes,9,rep,name=custom_records,proto3" json:"custom_records,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
XXX_sizecache int32 `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
} }
func (m *InvoiceHTLC) Reset() { *m = InvoiceHTLC{} } func (m *InvoiceHTLC) Reset() { *m = InvoiceHTLC{} }
@ -7395,6 +7397,13 @@ func (m *InvoiceHTLC) GetState() InvoiceHTLCState {
return InvoiceHTLCState_ACCEPTED return InvoiceHTLCState_ACCEPTED
} }
func (m *InvoiceHTLC) GetCustomRecords() map[uint64][]byte {
if m != nil {
return m.CustomRecords
}
return nil
}
type AddInvoiceResponse struct { type AddInvoiceResponse struct {
RHash []byte `protobuf:"bytes,1,opt,name=r_hash,proto3" json:"r_hash,omitempty"` RHash []byte `protobuf:"bytes,1,opt,name=r_hash,proto3" json:"r_hash,omitempty"`
//* //*
@ -9637,6 +9646,7 @@ func init() {
proto.RegisterType((*RouteHint)(nil), "lnrpc.RouteHint") proto.RegisterType((*RouteHint)(nil), "lnrpc.RouteHint")
proto.RegisterType((*Invoice)(nil), "lnrpc.Invoice") proto.RegisterType((*Invoice)(nil), "lnrpc.Invoice")
proto.RegisterType((*InvoiceHTLC)(nil), "lnrpc.InvoiceHTLC") proto.RegisterType((*InvoiceHTLC)(nil), "lnrpc.InvoiceHTLC")
proto.RegisterMapType((map[uint64][]byte)(nil), "lnrpc.InvoiceHTLC.CustomRecordsEntry")
proto.RegisterType((*AddInvoiceResponse)(nil), "lnrpc.AddInvoiceResponse") proto.RegisterType((*AddInvoiceResponse)(nil), "lnrpc.AddInvoiceResponse")
proto.RegisterType((*PaymentHash)(nil), "lnrpc.PaymentHash") proto.RegisterType((*PaymentHash)(nil), "lnrpc.PaymentHash")
proto.RegisterType((*ListInvoiceRequest)(nil), "lnrpc.ListInvoiceRequest") proto.RegisterType((*ListInvoiceRequest)(nil), "lnrpc.ListInvoiceRequest")
@ -9680,565 +9690,566 @@ func init() {
func init() { proto.RegisterFile("rpc.proto", fileDescriptor_77a6da22d6a3feb1) } func init() { proto.RegisterFile("rpc.proto", fileDescriptor_77a6da22d6a3feb1) }
var fileDescriptor_77a6da22d6a3feb1 = []byte{ var fileDescriptor_77a6da22d6a3feb1 = []byte{
// 8925 bytes of a gzipped FileDescriptorProto // 8943 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x7d, 0x5f, 0x6c, 0x24, 0x49, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x7d, 0x5f, 0x6c, 0x24, 0x49,
0x9a, 0x97, 0xb3, 0xfe, 0xd8, 0x55, 0x5f, 0x95, 0xcb, 0xe5, 0xb0, 0xdb, 0xae, 0xae, 0xe9, 0xee, 0x9a, 0x97, 0xb3, 0xfe, 0xd8, 0x55, 0x5f, 0x95, 0xcb, 0xe5, 0xb0, 0xdb, 0xae, 0xae, 0xe9, 0xee,
0xf1, 0xe4, 0xf6, 0x75, 0xf7, 0xf4, 0xce, 0xba, 0x7b, 0x7c, 0xbb, 0xc3, 0xdc, 0x34, 0xc7, 0x9d, 0xf1, 0xe4, 0xf6, 0x76, 0xf7, 0xf4, 0xce, 0xba, 0x7b, 0xbc, 0xbb, 0xc3, 0xdc, 0x0c, 0xc7, 0x9d,
0xdb, 0x76, 0xb7, 0x7b, 0xc6, 0xed, 0xf6, 0xa6, 0xbb, 0xb7, 0xd9, 0xdd, 0x3b, 0xe5, 0xa6, 0xab, 0xdb, 0x76, 0xb7, 0x7b, 0xc6, 0xed, 0xf6, 0xa6, 0xbb, 0xb7, 0xd9, 0xdd, 0x3b, 0xe5, 0xa6, 0xab,
0xc2, 0x76, 0x6e, 0x67, 0x65, 0xd6, 0x66, 0x66, 0xd9, 0xed, 0x1d, 0x06, 0x09, 0x84, 0x10, 0xe2, 0xc2, 0x76, 0x6e, 0x67, 0x65, 0xd6, 0x66, 0x66, 0xd9, 0xed, 0x1d, 0x06, 0x09, 0x84, 0x10, 0xe2,
0xe5, 0xb4, 0x20, 0x24, 0x40, 0xa0, 0x93, 0xf6, 0x90, 0xb8, 0x13, 0x0f, 0x20, 0x24, 0x24, 0x40, 0xe5, 0xb4, 0x20, 0x24, 0x40, 0xa0, 0x93, 0xf6, 0x90, 0xe0, 0xc4, 0x03, 0x08, 0x09, 0x89, 0x43,
0xc7, 0x13, 0x0f, 0x27, 0x21, 0x21, 0x1e, 0x78, 0x40, 0xe2, 0x01, 0x84, 0x40, 0x82, 0x13, 0xe2, 0xc7, 0x13, 0x0f, 0x27, 0x21, 0x21, 0x1e, 0x78, 0x40, 0xe2, 0x01, 0x84, 0x40, 0x82, 0x13, 0xe2,
0x0d, 0xde, 0x51, 0x7c, 0xf1, 0x27, 0x23, 0x32, 0xb3, 0xda, 0x9e, 0xdd, 0x85, 0x27, 0x57, 0xfc, 0x0d, 0xde, 0x51, 0x7c, 0xf1, 0x27, 0x23, 0x32, 0xb3, 0xda, 0x9e, 0xdd, 0xbd, 0x7d, 0x72, 0xc5,
0x22, 0x32, 0xfe, 0x7e, 0xdf, 0x17, 0x5f, 0x7c, 0xdf, 0x17, 0x61, 0x68, 0xc6, 0xe3, 0xc1, 0xfa, 0x2f, 0x22, 0xe3, 0xef, 0xf7, 0x7d, 0xf1, 0xc5, 0xf7, 0x7d, 0x11, 0x86, 0x66, 0x3c, 0x1e, 0xac,
0x38, 0x8e, 0xd2, 0x88, 0xd4, 0x83, 0x30, 0x1e, 0x0f, 0xfa, 0x37, 0x4e, 0xa2, 0xe8, 0x24, 0xa0, 0x8f, 0xe3, 0x28, 0x8d, 0x48, 0x3d, 0x08, 0xe3, 0xf1, 0xa0, 0x7f, 0xe3, 0x24, 0x8a, 0x4e, 0x02,
0x0f, 0xbc, 0xb1, 0xff, 0xc0, 0x0b, 0xc3, 0x28, 0xf5, 0x52, 0x3f, 0x0a, 0x13, 0x5e, 0xc8, 0xfe, 0xfa, 0xc0, 0x1b, 0xfb, 0x0f, 0xbc, 0x30, 0x8c, 0x52, 0x2f, 0xf5, 0xa3, 0x30, 0xe1, 0x85, 0xec,
0x11, 0x74, 0x9e, 0xd2, 0xf0, 0x90, 0xd2, 0xa1, 0x43, 0x7f, 0x32, 0xa1, 0x49, 0x4a, 0xbe, 0x09, 0x1f, 0x41, 0xe7, 0x09, 0x0d, 0x0f, 0x29, 0x1d, 0x3a, 0xf4, 0x27, 0x13, 0x9a, 0xa4, 0xe4, 0x1b,
0x8b, 0x1e, 0xfd, 0x29, 0xa5, 0x43, 0x77, 0xec, 0x25, 0xc9, 0xf8, 0x34, 0xf6, 0x12, 0xda, 0xb3, 0xb0, 0xe8, 0xd1, 0x9f, 0x52, 0x3a, 0x74, 0xc7, 0x5e, 0x92, 0x8c, 0x4f, 0x63, 0x2f, 0xa1, 0x3d,
0xd6, 0xac, 0x7b, 0x6d, 0xa7, 0xcb, 0x33, 0x0e, 0x14, 0x4e, 0x3e, 0x80, 0x76, 0xc2, 0x8a, 0xd2, 0x6b, 0xcd, 0xba, 0xd7, 0x76, 0xba, 0x3c, 0xe3, 0x40, 0xe1, 0xe4, 0x3d, 0x68, 0x27, 0xac, 0x28,
0x30, 0x8d, 0xa3, 0xf1, 0x45, 0xaf, 0x82, 0xe5, 0x5a, 0x0c, 0xdb, 0xe1, 0x90, 0x1d, 0xc0, 0x82, 0x0d, 0xd3, 0x38, 0x1a, 0x5f, 0xf4, 0x2a, 0x58, 0xae, 0xc5, 0xb0, 0x1d, 0x0e, 0xd9, 0x01, 0x2c,
0x6a, 0x21, 0x19, 0x47, 0x61, 0x42, 0xc9, 0x43, 0x58, 0x1e, 0xf8, 0xe3, 0x53, 0x1a, 0xbb, 0xf8, 0xa8, 0x16, 0x92, 0x71, 0x14, 0x26, 0x94, 0x3c, 0x84, 0xe5, 0x81, 0x3f, 0x3e, 0xa5, 0xb1, 0x8b,
0xf1, 0x28, 0xa4, 0xa3, 0x28, 0xf4, 0x07, 0x3d, 0x6b, 0xad, 0x7a, 0xaf, 0xe9, 0x10, 0x9e, 0xc7, 0x1f, 0x8f, 0x42, 0x3a, 0x8a, 0x42, 0x7f, 0xd0, 0xb3, 0xd6, 0xaa, 0xf7, 0x9a, 0x0e, 0xe1, 0x79,
0xbe, 0x78, 0x2e, 0x72, 0xc8, 0x5d, 0x58, 0xa0, 0x21, 0xc7, 0xe9, 0x10, 0xbf, 0x12, 0x4d, 0x75, 0xec, 0x8b, 0x67, 0x22, 0x87, 0xdc, 0x85, 0x05, 0x1a, 0x72, 0x9c, 0x0e, 0xf1, 0x2b, 0xd1, 0x54,
0x32, 0x98, 0x7d, 0x60, 0xff, 0xb5, 0x0a, 0x2c, 0x3e, 0x0b, 0xfd, 0xf4, 0xb5, 0x17, 0x04, 0x34, 0x27, 0x83, 0xd9, 0x07, 0xf6, 0xdf, 0xa8, 0xc0, 0xe2, 0xd3, 0xd0, 0x4f, 0x5f, 0x79, 0x41, 0x40,
0x95, 0x63, 0xba, 0x0b, 0x0b, 0xe7, 0x08, 0xe0, 0x98, 0xce, 0xa3, 0x78, 0x28, 0x46, 0xd4, 0xe1, 0x53, 0x39, 0xa6, 0xbb, 0xb0, 0x70, 0x8e, 0x00, 0x8e, 0xe9, 0x3c, 0x8a, 0x87, 0x62, 0x44, 0x1d,
0xf0, 0x81, 0x40, 0xa7, 0xf6, 0xac, 0x32, 0xb5, 0x67, 0xa5, 0xd3, 0x55, 0x9d, 0x32, 0x5d, 0x77, 0x0e, 0x1f, 0x08, 0x74, 0x6a, 0xcf, 0x2a, 0x53, 0x7b, 0x56, 0x3a, 0x5d, 0xd5, 0x29, 0xd3, 0x75,
0x61, 0x21, 0xa6, 0x83, 0xe8, 0x8c, 0xc6, 0x17, 0xee, 0xb9, 0x1f, 0x0e, 0xa3, 0xf3, 0x5e, 0x6d, 0x17, 0x16, 0x62, 0x3a, 0x88, 0xce, 0x68, 0x7c, 0xe1, 0x9e, 0xfb, 0xe1, 0x30, 0x3a, 0xef, 0xd5,
0xcd, 0xba, 0x57, 0x77, 0x3a, 0x12, 0x7e, 0x8d, 0x28, 0x79, 0x0c, 0x0b, 0x83, 0x53, 0x2f, 0x0c, 0xd6, 0xac, 0x7b, 0x75, 0xa7, 0x23, 0xe1, 0x57, 0x88, 0x92, 0x47, 0xb0, 0x30, 0x38, 0xf5, 0xc2,
0x69, 0xe0, 0x1e, 0x79, 0x83, 0x37, 0x93, 0x71, 0xd2, 0xab, 0xaf, 0x59, 0xf7, 0x5a, 0x1b, 0xd7, 0x90, 0x06, 0xee, 0x91, 0x37, 0x78, 0x3d, 0x19, 0x27, 0xbd, 0xfa, 0x9a, 0x75, 0xaf, 0xb5, 0x71,
0xd7, 0x71, 0x55, 0xd7, 0xb7, 0x4e, 0xbd, 0xf0, 0x31, 0xe6, 0x1c, 0x86, 0xde, 0x38, 0x39, 0x8d, 0x7d, 0x1d, 0x57, 0x75, 0x7d, 0xeb, 0xd4, 0x0b, 0x1f, 0x61, 0xce, 0x61, 0xe8, 0x8d, 0x93, 0xd3,
0x52, 0xa7, 0x23, 0xbe, 0xe0, 0x70, 0x62, 0x2f, 0x03, 0xd1, 0x67, 0x82, 0xcf, 0xbd, 0xfd, 0x8f, 0x28, 0x75, 0x3a, 0xe2, 0x0b, 0x0e, 0x27, 0xf6, 0x32, 0x10, 0x7d, 0x26, 0xf8, 0xdc, 0xdb, 0xff,
0x2c, 0x58, 0x7a, 0x15, 0x06, 0xd1, 0xe0, 0xcd, 0x2f, 0x38, 0x45, 0x25, 0x63, 0xa8, 0x5c, 0x75, 0xd4, 0x82, 0xa5, 0x97, 0x61, 0x10, 0x0d, 0x5e, 0xff, 0x82, 0x53, 0x54, 0x32, 0x86, 0xca, 0x55,
0x0c, 0xd5, 0xaf, 0x3b, 0x86, 0x15, 0x58, 0x36, 0x3b, 0x2b, 0x46, 0x41, 0xe1, 0x1a, 0xfb, 0xfa, 0xc7, 0x50, 0xfd, 0xaa, 0x63, 0x58, 0x81, 0x65, 0xb3, 0xb3, 0x62, 0x14, 0x14, 0xae, 0xb1, 0xaf,
0x84, 0xca, 0x6e, 0xc9, 0x61, 0x7c, 0x08, 0xdd, 0xc1, 0x24, 0x8e, 0x69, 0x58, 0x18, 0xc7, 0x82, 0x4f, 0xa8, 0xec, 0x96, 0x1c, 0xc6, 0xfb, 0xd0, 0x1d, 0x4c, 0xe2, 0x98, 0x86, 0x85, 0x71, 0x2c,
0xc0, 0xd5, 0x40, 0x3e, 0x80, 0x76, 0x48, 0xcf, 0xb3, 0x62, 0x82, 0x76, 0x43, 0x7a, 0x2e, 0x8b, 0x08, 0x5c, 0x0d, 0xe4, 0x3d, 0x68, 0x87, 0xf4, 0x3c, 0x2b, 0x26, 0x68, 0x37, 0xa4, 0xe7, 0xb2,
0xd8, 0x3d, 0x58, 0xc9, 0x37, 0x23, 0x3a, 0xf0, 0x5f, 0x2c, 0xa8, 0xbd, 0x4a, 0xdf, 0x46, 0x64, 0x88, 0xdd, 0x83, 0x95, 0x7c, 0x33, 0xa2, 0x03, 0xff, 0xcd, 0x82, 0xda, 0xcb, 0xf4, 0x4d, 0x44,
0x1d, 0x6a, 0xe9, 0xc5, 0x98, 0x73, 0x48, 0x67, 0x83, 0x88, 0xa1, 0x6d, 0x0e, 0x87, 0x31, 0x4d, 0xd6, 0xa1, 0x96, 0x5e, 0x8c, 0x39, 0x87, 0x74, 0x36, 0x88, 0x18, 0xda, 0xe6, 0x70, 0x18, 0xd3,
0x92, 0x97, 0x17, 0x63, 0xea, 0xb4, 0x3d, 0x9e, 0x70, 0x59, 0x39, 0xd2, 0x83, 0x39, 0x91, 0xc6, 0x24, 0x79, 0x71, 0x31, 0xa6, 0x4e, 0xdb, 0xe3, 0x09, 0x97, 0x95, 0x23, 0x3d, 0x98, 0x13, 0x69,
0x06, 0x9b, 0x8e, 0x4c, 0x92, 0x5b, 0x00, 0xde, 0x28, 0x9a, 0x84, 0xa9, 0x9b, 0x78, 0x29, 0x4e, 0x6c, 0xb0, 0xe9, 0xc8, 0x24, 0xb9, 0x05, 0xe0, 0x8d, 0xa2, 0x49, 0x98, 0xba, 0x89, 0x97, 0xe2,
0x55, 0xd5, 0xd1, 0x10, 0x72, 0x03, 0x9a, 0xe3, 0x37, 0x6e, 0x32, 0x88, 0xfd, 0x71, 0x8a, 0x64, 0x54, 0x55, 0x1d, 0x0d, 0x21, 0x37, 0xa0, 0x39, 0x7e, 0xed, 0x26, 0x83, 0xd8, 0x1f, 0xa7, 0x48,
0xd3, 0x74, 0x32, 0x80, 0x7c, 0x13, 0x1a, 0xd1, 0x24, 0x1d, 0x47, 0x7e, 0x98, 0x0a, 0x52, 0x59, 0x36, 0x4d, 0x27, 0x03, 0xc8, 0x37, 0xa0, 0x11, 0x4d, 0xd2, 0x71, 0xe4, 0x87, 0xa9, 0x20, 0x95,
0x10, 0x7d, 0x79, 0x31, 0x49, 0x0f, 0x18, 0xec, 0xa8, 0x02, 0xe4, 0x36, 0xcc, 0x0f, 0xa2, 0xf0, 0x05, 0xd1, 0x97, 0xe7, 0x93, 0xf4, 0x80, 0xc1, 0x8e, 0x2a, 0x40, 0x6e, 0xc3, 0xfc, 0x20, 0x0a,
0xd8, 0x8f, 0x47, 0x5c, 0x18, 0xf4, 0x66, 0xb1, 0x35, 0x13, 0xb4, 0xff, 0x45, 0x05, 0x5a, 0x2f, 0x8f, 0xfd, 0x78, 0xc4, 0x85, 0x41, 0x6f, 0x16, 0x5b, 0x33, 0x41, 0xfb, 0x8f, 0x2a, 0xd0, 0x7a,
0x63, 0x2f, 0x4c, 0xbc, 0x01, 0x03, 0x58, 0xd7, 0xd3, 0xb7, 0xee, 0xa9, 0x97, 0x9c, 0xe2, 0x68, 0x11, 0x7b, 0x61, 0xe2, 0x0d, 0x18, 0xc0, 0xba, 0x9e, 0xbe, 0x71, 0x4f, 0xbd, 0xe4, 0x14, 0x47,
0x9b, 0x8e, 0x4c, 0x92, 0x15, 0x98, 0xe5, 0x1d, 0xc5, 0x31, 0x55, 0x1d, 0x91, 0x22, 0x1f, 0xc1, 0xdb, 0x74, 0x64, 0x92, 0xac, 0xc0, 0x2c, 0xef, 0x28, 0x8e, 0xa9, 0xea, 0x88, 0x14, 0xf9, 0x00,
0x62, 0x38, 0x19, 0xb9, 0x66, 0x5b, 0x55, 0xa4, 0x96, 0x62, 0x06, 0x9b, 0x80, 0x23, 0xb6, 0xd6, 0x16, 0xc3, 0xc9, 0xc8, 0x35, 0xdb, 0xaa, 0x22, 0xb5, 0x14, 0x33, 0xd8, 0x04, 0x1c, 0xb1, 0xb5,
0xbc, 0x09, 0x3e, 0x42, 0x0d, 0x21, 0x36, 0xb4, 0x45, 0x8a, 0xfa, 0x27, 0xa7, 0x7c, 0x98, 0x75, 0xe6, 0x4d, 0xf0, 0x11, 0x6a, 0x08, 0xb1, 0xa1, 0x2d, 0x52, 0xd4, 0x3f, 0x39, 0xe5, 0xc3, 0xac,
0xc7, 0xc0, 0x58, 0x1d, 0xa9, 0x3f, 0xa2, 0x6e, 0x92, 0x7a, 0xa3, 0xb1, 0x18, 0x96, 0x86, 0x60, 0x3b, 0x06, 0xc6, 0xea, 0x48, 0xfd, 0x11, 0x75, 0x93, 0xd4, 0x1b, 0x8d, 0xc5, 0xb0, 0x34, 0x04,
0x7e, 0x94, 0x7a, 0x81, 0x7b, 0x4c, 0x69, 0xd2, 0x9b, 0x13, 0xf9, 0x0a, 0x21, 0x77, 0xa0, 0x33, 0xf3, 0xa3, 0xd4, 0x0b, 0xdc, 0x63, 0x4a, 0x93, 0xde, 0x9c, 0xc8, 0x57, 0x08, 0xb9, 0x03, 0x9d,
0xa4, 0x49, 0xea, 0x8a, 0x45, 0xa1, 0x49, 0xaf, 0x81, 0xac, 0x9f, 0x43, 0x59, 0x3d, 0xb1, 0x77, 0x21, 0x4d, 0x52, 0x57, 0x2c, 0x0a, 0x4d, 0x7a, 0x0d, 0x64, 0xfd, 0x1c, 0xca, 0xea, 0x89, 0xbd,
0xee, 0xb2, 0x09, 0xa0, 0x6f, 0x7b, 0x4d, 0xde, 0xd7, 0x0c, 0x61, 0x94, 0xf3, 0x94, 0xa6, 0xda, 0x73, 0x97, 0x4d, 0x00, 0x7d, 0xd3, 0x6b, 0xf2, 0xbe, 0x66, 0x08, 0xa3, 0x9c, 0x27, 0x34, 0xd5,
0xec, 0x25, 0x82, 0x42, 0xed, 0x3d, 0x20, 0x1a, 0xbc, 0x4d, 0x53, 0xcf, 0x0f, 0x12, 0xf2, 0x09, 0x66, 0x2f, 0x11, 0x14, 0x6a, 0xef, 0x01, 0xd1, 0xe0, 0x6d, 0x9a, 0x7a, 0x7e, 0x90, 0x90, 0x8f,
0xb4, 0x53, 0xad, 0x30, 0x8a, 0xc2, 0x96, 0x22, 0x27, 0xed, 0x03, 0xc7, 0x28, 0x67, 0x9f, 0x42, 0xa0, 0x9d, 0x6a, 0x85, 0x51, 0x14, 0xb6, 0x14, 0x39, 0x69, 0x1f, 0x38, 0x46, 0x39, 0xfb, 0x14,
0xe3, 0x09, 0xa5, 0x7b, 0xfe, 0xc8, 0x4f, 0xc9, 0x0a, 0xd4, 0x8f, 0xfd, 0xb7, 0x94, 0x13, 0x7c, 0x1a, 0x8f, 0x29, 0xdd, 0xf3, 0x47, 0x7e, 0x4a, 0x56, 0xa0, 0x7e, 0xec, 0xbf, 0xa1, 0x9c, 0xe0,
0x75, 0x77, 0xc6, 0xe1, 0x49, 0xf2, 0x3e, 0x00, 0xfe, 0x70, 0x47, 0x8a, 0xb0, 0x76, 0x67, 0x9c, 0xab, 0xbb, 0x33, 0x0e, 0x4f, 0x92, 0x77, 0x01, 0xf0, 0x87, 0x3b, 0x52, 0x84, 0xb5, 0x3b, 0xe3,
0x26, 0x62, 0xcf, 0x19, 0x65, 0xf5, 0x61, 0x6e, 0x4c, 0xe3, 0x01, 0x95, 0xeb, 0xb7, 0x3b, 0xe3, 0x34, 0x11, 0x7b, 0xc6, 0x28, 0xab, 0x0f, 0x73, 0x63, 0x1a, 0x0f, 0xa8, 0x5c, 0xbf, 0xdd, 0x19,
0x48, 0xe0, 0xf1, 0x1c, 0xd4, 0x03, 0x56, 0xbb, 0xfd, 0x7b, 0x75, 0x68, 0x1d, 0xd2, 0x50, 0x71, 0x47, 0x02, 0x8f, 0xe6, 0xa0, 0x1e, 0xb0, 0xda, 0xed, 0xdf, 0xab, 0x43, 0xeb, 0x90, 0x86, 0x8a,
0x1a, 0x81, 0x1a, 0x9b, 0x13, 0xc1, 0x5d, 0xf8, 0x9b, 0x7c, 0x03, 0x5a, 0x38, 0x4f, 0x49, 0x1a, 0xd3, 0x08, 0xd4, 0xd8, 0x9c, 0x08, 0xee, 0xc2, 0xdf, 0xe4, 0x6b, 0xd0, 0xc2, 0x79, 0x4a, 0xd2,
0xfb, 0xe1, 0x09, 0x27, 0xf0, 0xc7, 0x95, 0x9e, 0xe5, 0x00, 0x83, 0x0f, 0x11, 0x25, 0x5d, 0xa8, 0xd8, 0x0f, 0x4f, 0x38, 0x81, 0x3f, 0xaa, 0xf4, 0x2c, 0x07, 0x18, 0x7c, 0x88, 0x28, 0xe9, 0x42,
0x7a, 0x23, 0x49, 0xe0, 0xec, 0x27, 0xb9, 0x0e, 0x0d, 0x6f, 0x94, 0xf2, 0xee, 0xb5, 0x11, 0x9e, 0xd5, 0x1b, 0x49, 0x02, 0x67, 0x3f, 0xc9, 0x75, 0x68, 0x78, 0xa3, 0x94, 0x77, 0xaf, 0x8d, 0xf0,
0xf3, 0x46, 0x29, 0x76, 0xed, 0x03, 0x68, 0x8f, 0xbd, 0x8b, 0x11, 0xe3, 0x67, 0x45, 0x15, 0x6d, 0x9c, 0x37, 0x4a, 0xb1, 0x6b, 0xef, 0x41, 0x7b, 0xec, 0x5d, 0x8c, 0x18, 0x3f, 0x2b, 0xaa, 0x68,
0xa7, 0x25, 0xb0, 0x5d, 0x46, 0x16, 0x1b, 0xb0, 0xa4, 0x17, 0x91, 0x8d, 0xd7, 0x55, 0xe3, 0x8b, 0x3b, 0x2d, 0x81, 0xed, 0x32, 0xb2, 0xd8, 0x80, 0x25, 0xbd, 0x88, 0x6c, 0xbc, 0xae, 0x1a, 0x5f,
0x5a, 0x69, 0xd1, 0x87, 0xbb, 0xb0, 0x20, 0xbf, 0x89, 0xf9, 0x78, 0x90, 0x56, 0x9a, 0x4e, 0x47, 0xd4, 0x4a, 0x8b, 0x3e, 0xdc, 0x85, 0x05, 0xf9, 0x4d, 0xcc, 0xc7, 0x83, 0xb4, 0xd2, 0x74, 0x3a,
0xc0, 0x72, 0x94, 0xf7, 0xa0, 0x7b, 0xec, 0x87, 0x5e, 0xe0, 0x0e, 0x82, 0xf4, 0xcc, 0x1d, 0xd2, 0x02, 0x96, 0xa3, 0xbc, 0x07, 0xdd, 0x63, 0x3f, 0xf4, 0x02, 0x77, 0x10, 0xa4, 0x67, 0xee, 0x90,
0x20, 0xf5, 0x90, 0x6a, 0xea, 0x4e, 0x07, 0xf1, 0xad, 0x20, 0x3d, 0xdb, 0x66, 0x28, 0xf9, 0x08, 0x06, 0xa9, 0x87, 0x54, 0x53, 0x77, 0x3a, 0x88, 0x6f, 0x05, 0xe9, 0xd9, 0x36, 0x43, 0xc9, 0x07,
0x9a, 0xc7, 0x94, 0xba, 0x38, 0x59, 0xbd, 0x86, 0xc1, 0x81, 0x72, 0x85, 0x9c, 0xc6, 0xb1, 0x5c, 0xd0, 0x3c, 0xa6, 0xd4, 0xc5, 0xc9, 0xea, 0x35, 0x0c, 0x0e, 0x94, 0x2b, 0xe4, 0x34, 0x8e, 0xe5,
0xab, 0x8f, 0xa0, 0x1b, 0x4d, 0xd2, 0x93, 0xc8, 0x0f, 0x4f, 0x5c, 0x26, 0xf3, 0x5c, 0x7f, 0x88, 0x5a, 0x7d, 0x00, 0xdd, 0x68, 0x92, 0x9e, 0x44, 0x7e, 0x78, 0xe2, 0x32, 0x99, 0xe7, 0xfa, 0x43,
0x54, 0x54, 0x7b, 0x5c, 0x79, 0x68, 0x39, 0x1d, 0x99, 0xc7, 0xa4, 0xcf, 0xb3, 0x21, 0xb9, 0x03, 0xa4, 0xa2, 0xda, 0xa3, 0xca, 0x43, 0xcb, 0xe9, 0xc8, 0x3c, 0x26, 0x7d, 0x9e, 0x0e, 0xc9, 0x1d,
0x0b, 0x81, 0x97, 0xa4, 0xee, 0x69, 0x34, 0x76, 0xc7, 0x93, 0xa3, 0x37, 0xf4, 0xa2, 0x37, 0x8f, 0x58, 0x08, 0xbc, 0x24, 0x75, 0x4f, 0xa3, 0xb1, 0x3b, 0x9e, 0x1c, 0xbd, 0xa6, 0x17, 0xbd, 0x79,
0x13, 0x31, 0xcf, 0xe0, 0xdd, 0x68, 0x7c, 0x80, 0x20, 0xb9, 0x09, 0x80, 0xfd, 0xe4, 0x9d, 0x80, 0x9c, 0x88, 0x79, 0x06, 0xef, 0x46, 0xe3, 0x03, 0x04, 0xc9, 0x4d, 0x00, 0xec, 0x27, 0xef, 0x04,
0x35, 0xeb, 0xde, 0xbc, 0xd3, 0x64, 0x08, 0x6f, 0xf4, 0xfb, 0xb0, 0x84, 0xcb, 0x33, 0x98, 0x24, 0xac, 0x59, 0xf7, 0xe6, 0x9d, 0x26, 0x43, 0x78, 0xa3, 0xdf, 0x87, 0x25, 0x5c, 0x9e, 0xc1, 0x24,
0x69, 0x34, 0x72, 0x99, 0xbc, 0x8e, 0x87, 0x49, 0xaf, 0x85, 0xb4, 0xf6, 0xa1, 0xe8, 0xac, 0xb6, 0x49, 0xa3, 0x91, 0xcb, 0xe4, 0x75, 0x3c, 0x4c, 0x7a, 0x2d, 0xa4, 0xb5, 0xf7, 0x45, 0x67, 0xb5,
0xc6, 0xeb, 0xdb, 0x34, 0x49, 0xb7, 0xb0, 0xb0, 0xc3, 0xcb, 0xb2, 0x4d, 0xfd, 0xc2, 0x59, 0x1c, 0x35, 0x5e, 0xdf, 0xa6, 0x49, 0xba, 0x85, 0x85, 0x1d, 0x5e, 0x96, 0x6d, 0xea, 0x17, 0xce, 0xe2,
0xe6, 0x71, 0xf2, 0x11, 0x10, 0x2f, 0x08, 0xa2, 0x73, 0x37, 0xa1, 0xc1, 0xb1, 0x2b, 0x26, 0xb1, 0x30, 0x8f, 0x93, 0x0f, 0x80, 0x78, 0x41, 0x10, 0x9d, 0xbb, 0x09, 0x0d, 0x8e, 0x5d, 0x31, 0x89,
0xd7, 0x59, 0xb3, 0xee, 0x35, 0x9c, 0x2e, 0xe6, 0x1c, 0xd2, 0xe0, 0xf8, 0x80, 0xe3, 0xfd, 0x6d, 0xbd, 0xce, 0x9a, 0x75, 0xaf, 0xe1, 0x74, 0x31, 0xe7, 0x90, 0x06, 0xc7, 0x07, 0x1c, 0xef, 0x6f,
0x58, 0x29, 0xaf, 0x9a, 0x11, 0x07, 0x1b, 0x1d, 0x23, 0xaa, 0x9a, 0xc3, 0x7e, 0x92, 0x65, 0xa8, 0xc3, 0x4a, 0x79, 0xd5, 0x8c, 0x38, 0xd8, 0xe8, 0x18, 0x51, 0xd5, 0x1c, 0xf6, 0x93, 0x2c, 0x43,
0x9f, 0x79, 0xc1, 0x84, 0x0a, 0xf9, 0xcc, 0x13, 0x9f, 0x55, 0x3e, 0xb5, 0xec, 0x7f, 0x6e, 0x41, 0xfd, 0xcc, 0x0b, 0x26, 0x54, 0xc8, 0x67, 0x9e, 0xf8, 0xa4, 0xf2, 0xb1, 0x65, 0xff, 0x2b, 0x0b,
0x9b, 0xf7, 0x56, 0xe8, 0x15, 0xb7, 0x61, 0x5e, 0xae, 0x2a, 0x8d, 0xe3, 0x28, 0x16, 0x62, 0xca, 0xda, 0xbc, 0xb7, 0x42, 0xaf, 0xb8, 0x0d, 0xf3, 0x72, 0x55, 0x69, 0x1c, 0x47, 0xb1, 0x10, 0x53,
0x04, 0xc9, 0x7d, 0xe8, 0x4a, 0x60, 0x1c, 0x53, 0x7f, 0xe4, 0x9d, 0xc8, 0xba, 0x0b, 0x38, 0xd9, 0x26, 0x48, 0xee, 0x43, 0x57, 0x02, 0xe3, 0x98, 0xfa, 0x23, 0xef, 0x44, 0xd6, 0x5d, 0xc0, 0xc9,
0xc8, 0x6a, 0x8c, 0xa3, 0x49, 0x4a, 0xc5, 0x0e, 0xd6, 0x16, 0x73, 0xe5, 0x30, 0xcc, 0x31, 0x8b, 0x46, 0x56, 0x63, 0x1c, 0x4d, 0x52, 0x2a, 0x76, 0xb0, 0xb6, 0x98, 0x2b, 0x87, 0x61, 0x8e, 0x59,
0x30, 0x31, 0x55, 0x42, 0xb2, 0x06, 0x66, 0xff, 0x2d, 0x0b, 0x08, 0xeb, 0xfa, 0xcb, 0x88, 0x57, 0x84, 0x89, 0xa9, 0x12, 0x92, 0x35, 0x30, 0xfb, 0xef, 0x58, 0x40, 0x58, 0xd7, 0x5f, 0x44, 0xbc,
0x21, 0xa8, 0x2d, 0x4f, 0xed, 0xd6, 0x95, 0xa9, 0xbd, 0xf2, 0x2e, 0x6a, 0xb7, 0xa1, 0xce, 0x7b, 0x0a, 0x41, 0x6d, 0x79, 0x6a, 0xb7, 0xae, 0x4c, 0xed, 0x95, 0xb7, 0x51, 0xbb, 0x0d, 0x75, 0xde,
0x5f, 0x2b, 0xe9, 0x3d, 0xcf, 0xfa, 0xbc, 0xd6, 0xa8, 0x76, 0x6b, 0xf6, 0x7f, 0xac, 0xc2, 0xf2, 0xfb, 0x5a, 0x49, 0xef, 0x79, 0xd6, 0x67, 0xb5, 0x46, 0xb5, 0x5b, 0xb3, 0xff, 0x73, 0x15, 0x96,
0x16, 0xdf, 0x82, 0x37, 0x07, 0x03, 0x3a, 0x56, 0x7c, 0xf0, 0x3e, 0xb4, 0xc2, 0x68, 0x48, 0x25, 0xb7, 0xf8, 0x16, 0xbc, 0x39, 0x18, 0xd0, 0xb1, 0xe2, 0x83, 0x77, 0xa1, 0x15, 0x46, 0x43, 0x2a,
0xf5, 0xf1, 0x8e, 0x01, 0x83, 0x34, 0xd2, 0x3b, 0xf5, 0xfc, 0x90, 0x77, 0x9c, 0xcf, 0x67, 0x13, 0xa9, 0x8f, 0x77, 0x0c, 0x18, 0xa4, 0x91, 0xde, 0xa9, 0xe7, 0x87, 0xbc, 0xe3, 0x7c, 0x3e, 0x9b,
0x11, 0xec, 0xf6, 0x1d, 0x58, 0x18, 0xd3, 0x70, 0xa8, 0x93, 0x3b, 0x57, 0x92, 0xe6, 0x05, 0x2c, 0x88, 0x60, 0xb7, 0xef, 0xc0, 0xc2, 0x98, 0x86, 0x43, 0x9d, 0xdc, 0xb9, 0x92, 0x34, 0x2f, 0x60,
0x28, 0xfd, 0x7d, 0x68, 0x1d, 0x4f, 0x78, 0x39, 0x26, 0x24, 0x6a, 0x48, 0x07, 0x20, 0xa0, 0x4d, 0x41, 0xe9, 0xef, 0x42, 0xeb, 0x78, 0xc2, 0xcb, 0x31, 0x21, 0x51, 0x43, 0x3a, 0x00, 0x01, 0x6d,
0x2e, 0x2b, 0xc6, 0x93, 0xe4, 0x14, 0x73, 0xeb, 0x98, 0x3b, 0xc7, 0xd2, 0x2c, 0xeb, 0x26, 0xc0, 0x72, 0x59, 0x31, 0x9e, 0x24, 0xa7, 0x98, 0x5b, 0xc7, 0xdc, 0x39, 0x96, 0x66, 0x59, 0x37, 0x01,
0x70, 0x92, 0xa4, 0x82, 0xfa, 0x67, 0x31, 0xb3, 0xc9, 0x10, 0x4e, 0xfd, 0xdf, 0x82, 0xa5, 0x91, 0x86, 0x93, 0x24, 0x15, 0xd4, 0x3f, 0x8b, 0x99, 0x4d, 0x86, 0x70, 0xea, 0xff, 0x26, 0x2c, 0x8d,
0xf7, 0xd6, 0x45, 0xfa, 0x71, 0xfd, 0xd0, 0x3d, 0x0e, 0x70, 0x17, 0x99, 0xc3, 0x72, 0xdd, 0x91, 0xbc, 0x37, 0x2e, 0xd2, 0x8f, 0xeb, 0x87, 0xee, 0x71, 0x80, 0xbb, 0xc8, 0x1c, 0x96, 0xeb, 0x8e,
0xf7, 0xf6, 0x7b, 0x2c, 0xe7, 0x59, 0xf8, 0x04, 0x71, 0x26, 0x22, 0xa4, 0xfa, 0x12, 0xd3, 0x84, 0xbc, 0x37, 0xdf, 0x63, 0x39, 0x4f, 0xc3, 0xc7, 0x88, 0x33, 0x11, 0x21, 0xd5, 0x97, 0x98, 0x26,
0xc6, 0x67, 0x14, 0xb9, 0xba, 0xa6, 0x74, 0x14, 0x87, 0xa3, 0xac, 0x47, 0x23, 0x36, 0xee, 0x34, 0x34, 0x3e, 0xa3, 0xc8, 0xd5, 0x35, 0xa5, 0xa3, 0x38, 0x1c, 0x65, 0x3d, 0x1a, 0xb1, 0x71, 0xa7,
0x18, 0x70, 0x16, 0x76, 0xe6, 0x46, 0x7e, 0xb8, 0x9b, 0x06, 0x03, 0x72, 0x03, 0x80, 0xc9, 0x84, 0xc1, 0x80, 0xb3, 0xb0, 0x33, 0x37, 0xf2, 0xc3, 0xdd, 0x34, 0x18, 0x90, 0x1b, 0x00, 0x4c, 0x26,
0x31, 0x8d, 0xdd, 0x37, 0xe7, 0xc8, 0x8f, 0x35, 0x94, 0x01, 0x07, 0x34, 0xfe, 0xe2, 0x9c, 0xbc, 0x8c, 0x69, 0xec, 0xbe, 0x3e, 0x47, 0x7e, 0xac, 0xa1, 0x0c, 0x38, 0xa0, 0xf1, 0xe7, 0xe7, 0xe4,
0x07, 0xcd, 0x41, 0x82, 0x42, 0xc5, 0xbb, 0xe8, 0xb5, 0x90, 0x59, 0x1b, 0x83, 0x84, 0x89, 0x13, 0x1d, 0x68, 0x0e, 0x12, 0x14, 0x2a, 0xde, 0x45, 0xaf, 0x85, 0xcc, 0xda, 0x18, 0x24, 0x4c, 0x9c,
0xef, 0x82, 0x31, 0x14, 0xeb, 0xad, 0x87, 0xab, 0x40, 0x87, 0x58, 0x7d, 0x82, 0xd2, 0x71, 0x1e, 0x78, 0x17, 0x8c, 0xa1, 0x58, 0x6f, 0x3d, 0x5c, 0x05, 0x3a, 0xc4, 0xea, 0x13, 0x94, 0x8e, 0xf3,
0x3b, 0xbb, 0x29, 0x32, 0x58, 0x3b, 0x09, 0xf9, 0x06, 0xcc, 0xcb, 0xce, 0x1e, 0x07, 0xde, 0x49, 0xd8, 0xd9, 0x4d, 0x91, 0xc1, 0xda, 0x49, 0xc8, 0xd7, 0x60, 0x5e, 0x76, 0xf6, 0x38, 0xf0, 0x4e,
0x82, 0xe2, 0x61, 0xde, 0x69, 0x0b, 0xf0, 0x09, 0xc3, 0xec, 0xd7, 0x5c, 0x69, 0xd2, 0xd6, 0x56, 0x12, 0x14, 0x0f, 0xf3, 0x4e, 0x5b, 0x80, 0x8f, 0x19, 0x66, 0xbf, 0xe2, 0x4a, 0x93, 0xb6, 0xb6,
0xf0, 0x0d, 0xdb, 0xbe, 0x11, 0xc1, 0x75, 0x6d, 0x38, 0x22, 0x55, 0xb6, 0x68, 0x95, 0x92, 0x45, 0x82, 0x6f, 0xd8, 0xf6, 0x8d, 0x08, 0xae, 0x6b, 0xc3, 0x11, 0xa9, 0xb2, 0x45, 0xab, 0x94, 0x2c,
0xb3, 0x7f, 0x6e, 0x41, 0x5b, 0xd4, 0x8c, 0x9a, 0x06, 0x79, 0x08, 0x44, 0xae, 0x62, 0xfa, 0xd6, 0x9a, 0xfd, 0x73, 0x0b, 0xda, 0xa2, 0x66, 0xd4, 0x34, 0xc8, 0x43, 0x20, 0x72, 0x15, 0xd3, 0x37,
0x1f, 0xba, 0x47, 0x17, 0x29, 0x4d, 0x38, 0xd1, 0xec, 0xce, 0x38, 0x25, 0x79, 0x4c, 0x1e, 0x1a, 0xfe, 0xd0, 0x3d, 0xba, 0x48, 0x69, 0xc2, 0x89, 0x66, 0x77, 0xc6, 0x29, 0xc9, 0x63, 0xf2, 0xd0,
0x68, 0x92, 0xc6, 0x9c, 0xa6, 0x77, 0x67, 0x9c, 0x42, 0x0e, 0x63, 0x31, 0xa6, 0xcb, 0x4c, 0x52, 0x40, 0x93, 0x34, 0xe6, 0x34, 0xbd, 0x3b, 0xe3, 0x14, 0x72, 0x18, 0x8b, 0x31, 0x5d, 0x66, 0x92,
0xd7, 0x0f, 0x87, 0xf4, 0x2d, 0x92, 0xd2, 0xbc, 0x63, 0x60, 0x8f, 0x3b, 0xd0, 0xd6, 0xbf, 0xb3, 0xba, 0x7e, 0x38, 0xa4, 0x6f, 0x90, 0x94, 0xe6, 0x1d, 0x03, 0x7b, 0xd4, 0x81, 0xb6, 0xfe, 0x9d,
0x7f, 0x0c, 0x0d, 0xa9, 0x09, 0xa1, 0x16, 0x90, 0xeb, 0x97, 0xa3, 0x21, 0xa4, 0x0f, 0x0d, 0xb3, 0xfd, 0x63, 0x68, 0x48, 0x4d, 0x08, 0xb5, 0x80, 0x5c, 0xbf, 0x1c, 0x0d, 0x21, 0x7d, 0x68, 0x98,
0x17, 0x4e, 0xe3, 0xeb, 0xb4, 0x6d, 0xff, 0x39, 0xe8, 0xee, 0x31, 0x22, 0x0a, 0x19, 0xd1, 0x0a, 0xbd, 0x70, 0x1a, 0x5f, 0xa5, 0x6d, 0xfb, 0x2f, 0x40, 0x77, 0x8f, 0x11, 0x51, 0xc8, 0x88, 0x56,
0xf5, 0x6e, 0x05, 0x66, 0x35, 0xe6, 0x69, 0x3a, 0x22, 0xc5, 0xf6, 0xd1, 0xd3, 0x28, 0x49, 0x45, 0xa8, 0x77, 0x2b, 0x30, 0xab, 0x31, 0x4f, 0xd3, 0x11, 0x29, 0xb6, 0x8f, 0x9e, 0x46, 0x49, 0x2a,
0x3b, 0xf8, 0xdb, 0xfe, 0x13, 0x0b, 0xc8, 0x4e, 0x92, 0xfa, 0x23, 0x2f, 0xa5, 0x4f, 0xa8, 0x12, 0xda, 0xc1, 0xdf, 0xf6, 0x9f, 0x58, 0x40, 0x76, 0x92, 0xd4, 0x1f, 0x79, 0x29, 0x7d, 0x4c, 0x95,
0x0f, 0x2f, 0xa0, 0xcd, 0x6a, 0x7b, 0x19, 0x6d, 0x72, 0x65, 0x8b, 0x2b, 0x09, 0xdf, 0x14, 0xec, 0x78, 0x78, 0x0e, 0x6d, 0x56, 0xdb, 0x8b, 0x68, 0x93, 0x2b, 0x5b, 0x5c, 0x49, 0xf8, 0x86, 0x60,
0x5c, 0xfc, 0x60, 0x5d, 0x2f, 0xcd, 0x45, 0xb7, 0x51, 0x01, 0xe3, 0xb6, 0xd4, 0x8b, 0x4f, 0x68, 0xe7, 0xe2, 0x07, 0xeb, 0x7a, 0x69, 0x2e, 0xba, 0x8d, 0x0a, 0x18, 0xb7, 0xa5, 0x5e, 0x7c, 0x42,
0x8a, 0x9a, 0x98, 0xd0, 0xe3, 0x81, 0x43, 0x5b, 0x51, 0x78, 0xdc, 0xff, 0x2d, 0x58, 0x2c, 0xd4, 0x53, 0xd4, 0xc4, 0x84, 0x1e, 0x0f, 0x1c, 0xda, 0x8a, 0xc2, 0xe3, 0xfe, 0x6f, 0xc1, 0x62, 0xa1,
0xa1, 0xcb, 0xe8, 0x66, 0x89, 0x8c, 0xae, 0xea, 0x32, 0x7a, 0x00, 0x4b, 0x46, 0xbf, 0x04, 0xc5, 0x0e, 0x5d, 0x46, 0x37, 0x4b, 0x64, 0x74, 0x55, 0x97, 0xd1, 0x03, 0x58, 0x32, 0xfa, 0x25, 0x28,
0xf5, 0x60, 0x8e, 0x31, 0x06, 0xdb, 0xf0, 0x2d, 0xbe, 0xe1, 0x8b, 0x24, 0xd9, 0x80, 0xe5, 0x63, 0xae, 0x07, 0x73, 0x8c, 0x31, 0xd8, 0x86, 0x6f, 0xf1, 0x0d, 0x5f, 0x24, 0xc9, 0x06, 0x2c, 0x1f,
0x4a, 0x63, 0x2f, 0xc5, 0x24, 0xb2, 0x0e, 0x5b, 0x13, 0x51, 0x73, 0x69, 0x9e, 0xfd, 0x5f, 0x2d, 0x53, 0x1a, 0x7b, 0x29, 0x26, 0x91, 0x75, 0xd8, 0x9a, 0x88, 0x9a, 0x4b, 0xf3, 0xec, 0xff, 0x6e,
0x58, 0x60, 0xd2, 0xf4, 0xb9, 0x17, 0x5e, 0xc8, 0xb9, 0xda, 0x2b, 0x9d, 0xab, 0x7b, 0xda, 0x26, 0xc1, 0x02, 0x93, 0xa6, 0xcf, 0xbc, 0xf0, 0x42, 0xce, 0xd5, 0x5e, 0xe9, 0x5c, 0xdd, 0xd3, 0x36,
0xa7, 0x95, 0xfe, 0xba, 0x13, 0x55, 0xcd, 0x4f, 0x14, 0x59, 0x83, 0xb6, 0xd1, 0xdd, 0x3a, 0xd7, 0x39, 0xad, 0xf4, 0x57, 0x9d, 0xa8, 0x6a, 0x7e, 0xa2, 0xc8, 0x1a, 0xb4, 0x8d, 0xee, 0xd6, 0xb9,
0x2c, 0x13, 0x2f, 0x3d, 0xa0, 0xf1, 0xe3, 0x8b, 0x94, 0xfe, 0xf2, 0x53, 0x79, 0x07, 0xba, 0x59, 0x66, 0x99, 0x78, 0xe9, 0x01, 0x8d, 0x1f, 0x5d, 0xa4, 0xf4, 0x97, 0x9f, 0xca, 0x3b, 0xd0, 0xcd,
0xb7, 0xc5, 0x3c, 0x12, 0xa8, 0x31, 0xc2, 0x14, 0x15, 0xe0, 0x6f, 0xfb, 0xef, 0x59, 0xbc, 0xe0, 0xba, 0x2d, 0xe6, 0x91, 0x40, 0x8d, 0x11, 0xa6, 0xa8, 0x00, 0x7f, 0xdb, 0xff, 0xc0, 0xe2, 0x05,
0x56, 0xe4, 0x2b, 0xad, 0x93, 0x15, 0x64, 0xca, 0xab, 0x2c, 0xc8, 0x7e, 0x4f, 0xd5, 0xda, 0x7f, 0xb7, 0x22, 0x5f, 0x69, 0x9d, 0xac, 0x20, 0x53, 0x5e, 0x65, 0x41, 0xf6, 0x7b, 0xaa, 0xd6, 0xfe,
0xf9, 0xc1, 0x32, 0x99, 0x98, 0xd0, 0x70, 0xe8, 0x7a, 0x41, 0x80, 0x82, 0xb8, 0xe1, 0xcc, 0xb1, 0xcb, 0x0f, 0x96, 0xc9, 0xc4, 0x84, 0x86, 0x43, 0xd7, 0x0b, 0x02, 0x14, 0xc4, 0x0d, 0x67, 0x8e,
0xf4, 0x66, 0x10, 0xd8, 0x77, 0x61, 0x51, 0xeb, 0xdd, 0x3b, 0xc6, 0xb1, 0x0f, 0x64, 0xcf, 0x4f, 0xa5, 0x37, 0x83, 0xc0, 0xbe, 0x0b, 0x8b, 0x5a, 0xef, 0xde, 0x32, 0x8e, 0x7d, 0x20, 0x7b, 0x7e,
0xd2, 0x57, 0x61, 0x32, 0xd6, 0x14, 0xb2, 0xf7, 0xa0, 0xc9, 0xa4, 0x2d, 0xeb, 0x19, 0xe7, 0xdc, 0x92, 0xbe, 0x0c, 0x93, 0xb1, 0xa6, 0x90, 0xbd, 0x03, 0x4d, 0x26, 0x6d, 0x59, 0xcf, 0x38, 0xe7,
0xba, 0xc3, 0xc4, 0x2f, 0xeb, 0x57, 0x82, 0x99, 0xde, 0x5b, 0x91, 0x59, 0x11, 0x99, 0xde, 0x5b, 0xd6, 0x1d, 0x26, 0x7e, 0x59, 0xbf, 0x12, 0xcc, 0xf4, 0xde, 0x88, 0xcc, 0x8a, 0xc8, 0xf4, 0xde,
0xcc, 0xb4, 0x3f, 0x85, 0x25, 0xa3, 0x3e, 0xd1, 0xf4, 0x07, 0x50, 0x9f, 0xa4, 0x6f, 0x23, 0xa9, 0x60, 0xa6, 0xfd, 0x31, 0x2c, 0x19, 0xf5, 0x89, 0xa6, 0xdf, 0x83, 0xfa, 0x24, 0x7d, 0x13, 0x49,
0x72, 0xb7, 0x04, 0x85, 0xb0, 0xc3, 0x9d, 0xc3, 0x73, 0xec, 0x47, 0xb0, 0xb8, 0x4f, 0xcf, 0x05, 0x95, 0xbb, 0x25, 0x28, 0x84, 0x1d, 0xee, 0x1c, 0x9e, 0x63, 0x7f, 0x0a, 0x8b, 0xfb, 0xf4, 0x5c,
0x23, 0xcb, 0x8e, 0xdc, 0xb9, 0xf4, 0xe0, 0x87, 0xf9, 0xf6, 0x3a, 0x10, 0xfd, 0xe3, 0x8c, 0x01, 0x30, 0xb2, 0xec, 0xc8, 0x9d, 0x4b, 0x0f, 0x7e, 0x98, 0x6f, 0xaf, 0x03, 0xd1, 0x3f, 0xce, 0x18,
0xe4, 0x31, 0xd0, 0x32, 0x8e, 0x81, 0xf6, 0x1d, 0x20, 0x87, 0xfe, 0x49, 0xf8, 0x9c, 0x26, 0x89, 0x40, 0x1e, 0x03, 0x2d, 0xe3, 0x18, 0x68, 0xdf, 0x01, 0x72, 0xe8, 0x9f, 0x84, 0xcf, 0x68, 0x92,
0x77, 0xa2, 0x58, 0xbf, 0x0b, 0xd5, 0x51, 0x72, 0x22, 0x44, 0x15, 0xfb, 0x69, 0xff, 0x3a, 0x2c, 0x78, 0x27, 0x8a, 0xf5, 0xbb, 0x50, 0x1d, 0x25, 0x27, 0x42, 0x54, 0xb1, 0x9f, 0xf6, 0xb7, 0x60,
0x19, 0xe5, 0x44, 0xc5, 0x37, 0xa0, 0x99, 0xf8, 0x27, 0xa1, 0x97, 0x4e, 0x62, 0x2a, 0xaa, 0xce, 0xc9, 0x28, 0x27, 0x2a, 0xbe, 0x01, 0xcd, 0xc4, 0x3f, 0x09, 0xbd, 0x74, 0x12, 0x53, 0x51, 0x75,
0x00, 0xfb, 0x09, 0x2c, 0x7f, 0x8f, 0xc6, 0xfe, 0xf1, 0xc5, 0x65, 0xd5, 0x9b, 0xf5, 0x54, 0xf2, 0x06, 0xd8, 0x8f, 0x61, 0xf9, 0x7b, 0x34, 0xf6, 0x8f, 0x2f, 0x2e, 0xab, 0xde, 0xac, 0xa7, 0x92,
0xf5, 0xec, 0xc0, 0xb5, 0x5c, 0x3d, 0xa2, 0x79, 0x4e, 0xbe, 0x62, 0x25, 0x1b, 0x0e, 0x4f, 0x68, 0xaf, 0x67, 0x07, 0xae, 0xe5, 0xea, 0x11, 0xcd, 0x73, 0xf2, 0x15, 0x2b, 0xd9, 0x70, 0x78, 0x42,
0xb2, 0xaf, 0xa2, 0xcb, 0x3e, 0xfb, 0x15, 0x90, 0xad, 0x28, 0x0c, 0xe9, 0x20, 0x3d, 0xa0, 0x34, 0x93, 0x7d, 0x15, 0x5d, 0xf6, 0xd9, 0x2f, 0x81, 0x6c, 0x45, 0x61, 0x48, 0x07, 0xe9, 0x01, 0xa5,
0xce, 0x2c, 0x50, 0x19, 0xad, 0xb6, 0x36, 0x56, 0xc5, 0xcc, 0xe6, 0x05, 0xaa, 0x20, 0x62, 0x02, 0x71, 0x66, 0x81, 0xca, 0x68, 0xb5, 0xb5, 0xb1, 0x2a, 0x66, 0x36, 0x2f, 0x50, 0x05, 0x11, 0x13,
0xb5, 0x31, 0x8d, 0x47, 0x58, 0x71, 0xc3, 0xc1, 0xdf, 0xf6, 0x35, 0x58, 0x32, 0xaa, 0x15, 0x67, 0xa8, 0x8d, 0x69, 0x3c, 0xc2, 0x8a, 0x1b, 0x0e, 0xfe, 0xb6, 0xaf, 0xc1, 0x92, 0x51, 0xad, 0x38,
0xf6, 0x8f, 0xe1, 0xda, 0xb6, 0x9f, 0x0c, 0x8a, 0x0d, 0xf6, 0x60, 0x6e, 0x3c, 0x39, 0x72, 0x33, 0xb3, 0x7f, 0x08, 0xd7, 0xb6, 0xfd, 0x64, 0x50, 0x6c, 0xb0, 0x07, 0x73, 0xe3, 0xc9, 0x91, 0x9b,
0x4e, 0x94, 0x49, 0x76, 0x8c, 0xcb, 0x7f, 0x22, 0x2a, 0xfb, 0xab, 0x16, 0xd4, 0x76, 0x5f, 0xee, 0x71, 0xa2, 0x4c, 0xb2, 0x63, 0x5c, 0xfe, 0x13, 0x51, 0xd9, 0x5f, 0xb7, 0xa0, 0xb6, 0xfb, 0x62,
0x6d, 0xb1, 0xbd, 0xc2, 0x0f, 0x07, 0xd1, 0x88, 0x69, 0x61, 0x7c, 0xd0, 0x2a, 0x3d, 0x95, 0xc3, 0x6f, 0x8b, 0xed, 0x15, 0x7e, 0x38, 0x88, 0x46, 0x4c, 0x0b, 0xe3, 0x83, 0x56, 0xe9, 0xa9, 0x1c,
0x6e, 0x40, 0x13, 0x95, 0x37, 0x76, 0x72, 0x15, 0x7a, 0x50, 0x06, 0xb0, 0x53, 0x33, 0x7d, 0x3b, 0x76, 0x03, 0x9a, 0xa8, 0xbc, 0xb1, 0x93, 0xab, 0xd0, 0x83, 0x32, 0x80, 0x9d, 0x9a, 0xe9, 0x9b,
0xf6, 0x63, 0x3c, 0x16, 0xcb, 0xc3, 0x6e, 0x0d, 0xb7, 0x99, 0x62, 0x86, 0xfd, 0xf3, 0x39, 0x98, 0xb1, 0x1f, 0xe3, 0xb1, 0x58, 0x1e, 0x76, 0x6b, 0xb8, 0xcd, 0x14, 0x33, 0xec, 0x9f, 0xcf, 0xc1,
0x13, 0x9b, 0x2f, 0xdf, 0xc8, 0x53, 0xff, 0x8c, 0x66, 0x1b, 0x39, 0x4b, 0x31, 0xc5, 0x38, 0xa6, 0x9c, 0xd8, 0x7c, 0xf9, 0x46, 0x9e, 0xfa, 0x67, 0x34, 0xdb, 0xc8, 0x59, 0x8a, 0x29, 0xc6, 0x31,
0xa3, 0x28, 0x55, 0xfa, 0x1b, 0x5f, 0x06, 0x13, 0x44, 0xab, 0x80, 0x50, 0x22, 0xb8, 0x1d, 0xa1, 0x1d, 0x45, 0xa9, 0xd2, 0xdf, 0xf8, 0x32, 0x98, 0x20, 0x5a, 0x05, 0x84, 0x12, 0xc1, 0xed, 0x08,
0xca, 0x4b, 0x19, 0x20, 0xb9, 0x01, 0x73, 0x52, 0x19, 0xa8, 0xa9, 0x03, 0x8b, 0x84, 0xd8, 0x6c, 0x55, 0x5e, 0xca, 0x00, 0xc9, 0x0d, 0x98, 0x93, 0xca, 0x40, 0x4d, 0x1d, 0x58, 0x24, 0xc4, 0x66,
0x0c, 0xbc, 0xb1, 0x37, 0xf0, 0xd3, 0x0b, 0x21, 0x16, 0x54, 0x9a, 0xd5, 0x1f, 0x44, 0x03, 0x2f, 0x63, 0xe0, 0x8d, 0xbd, 0x81, 0x9f, 0x5e, 0x08, 0xb1, 0xa0, 0xd2, 0xac, 0xfe, 0x20, 0x1a, 0x78,
0x70, 0x8f, 0xbc, 0xc0, 0x0b, 0x07, 0x54, 0x5a, 0x1d, 0x0c, 0x90, 0x9d, 0xc0, 0x45, 0xb7, 0x64, 0x81, 0x7b, 0xe4, 0x05, 0x5e, 0x38, 0xa0, 0xd2, 0xea, 0x60, 0x80, 0xec, 0x04, 0x2e, 0xba, 0x25,
0x31, 0x7e, 0x4a, 0xcf, 0xa1, 0x6c, 0x0f, 0x1f, 0x44, 0xa3, 0x91, 0x9f, 0xb2, 0x83, 0x3b, 0xaa, 0x8b, 0xf1, 0x53, 0x7a, 0x0e, 0x65, 0x7b, 0xf8, 0x20, 0x1a, 0x8d, 0xfc, 0x94, 0x1d, 0xdc, 0x51,
0x66, 0x55, 0x47, 0x43, 0xb8, 0x8d, 0x03, 0x53, 0xe7, 0x7c, 0x06, 0x9b, 0xd2, 0xc6, 0xa1, 0x81, 0x35, 0xab, 0x3a, 0x1a, 0xc2, 0x6d, 0x1c, 0x98, 0x3a, 0xe7, 0x33, 0xd8, 0x94, 0x36, 0x0e, 0x0d,
0xac, 0x96, 0x9c, 0x86, 0x56, 0x75, 0x34, 0x84, 0xad, 0xc5, 0x24, 0x4c, 0x68, 0x9a, 0x06, 0x74, 0x64, 0xb5, 0xe4, 0x34, 0xb4, 0xaa, 0xa3, 0x21, 0x6c, 0x2d, 0x26, 0x61, 0x42, 0xd3, 0x34, 0xa0,
0xa8, 0x3a, 0xd4, 0xc2, 0x62, 0xc5, 0x0c, 0xf2, 0x10, 0x96, 0xb8, 0x2d, 0x21, 0xf1, 0xd2, 0x28, 0x43, 0xd5, 0xa1, 0x16, 0x16, 0x2b, 0x66, 0x90, 0x87, 0xb0, 0xc4, 0x6d, 0x09, 0x89, 0x97, 0x46,
0x39, 0xf5, 0x13, 0x37, 0x61, 0xc7, 0x20, 0x7e, 0xa6, 0x2d, 0xcb, 0x22, 0x9f, 0xc2, 0x6a, 0x0e, 0xc9, 0xa9, 0x9f, 0xb8, 0x09, 0x3b, 0x06, 0xf1, 0x33, 0x6d, 0x59, 0x16, 0xf9, 0x18, 0x56, 0x73,
0x8e, 0xe9, 0x80, 0xfa, 0x67, 0x74, 0x88, 0x2a, 0x5c, 0xd5, 0x99, 0x96, 0x4d, 0xd6, 0xa0, 0x15, 0x70, 0x4c, 0x07, 0xd4, 0x3f, 0xa3, 0x43, 0x54, 0xe1, 0xaa, 0xce, 0xb4, 0x6c, 0xb2, 0x06, 0xad,
0x4e, 0x46, 0xee, 0x64, 0x3c, 0xf4, 0x98, 0x12, 0xd3, 0x41, 0xe5, 0x52, 0x87, 0xc8, 0xc7, 0x20, 0x70, 0x32, 0x72, 0x27, 0xe3, 0xa1, 0xc7, 0x94, 0x98, 0x0e, 0x2a, 0x97, 0x3a, 0x44, 0x3e, 0x04,
0xf5, 0x34, 0xa1, 0x3d, 0x2e, 0x18, 0x12, 0x8e, 0x51, 0xaf, 0x63, 0x96, 0x60, 0x84, 0x99, 0xa9, 0xa9, 0xa7, 0x09, 0xed, 0x71, 0xc1, 0x90, 0x70, 0x8c, 0x7a, 0x1d, 0xb3, 0x04, 0x23, 0xcc, 0x4c,
0xa4, 0x5d, 0x71, 0x7e, 0x94, 0x00, 0xf2, 0x49, 0xec, 0x9f, 0x79, 0x29, 0xed, 0x2d, 0x72, 0xa1, 0x25, 0xed, 0x8a, 0xf3, 0xa3, 0x04, 0x90, 0x4f, 0x62, 0xff, 0xcc, 0x4b, 0x69, 0x6f, 0x91, 0x0b,
0x2e, 0x92, 0xec, 0x3b, 0x3f, 0xf4, 0x53, 0xdf, 0x4b, 0xa3, 0xb8, 0x47, 0x30, 0x2f, 0x03, 0xd8, 0x75, 0x91, 0x64, 0xdf, 0xf9, 0xa1, 0x9f, 0xfa, 0x5e, 0x1a, 0xc5, 0x3d, 0x82, 0x79, 0x19, 0xc0,
0x24, 0x22, 0x7d, 0x24, 0xa9, 0x97, 0x4e, 0x12, 0xa1, 0xa1, 0x2e, 0x21, 0x71, 0x15, 0x33, 0xc8, 0x26, 0x11, 0xe9, 0x23, 0x49, 0xbd, 0x74, 0x92, 0x08, 0x0d, 0x75, 0x09, 0x89, 0xab, 0x98, 0x41,
0x27, 0xb0, 0xc2, 0x29, 0x02, 0xb3, 0x84, 0xee, 0x8d, 0xaa, 0xc2, 0x32, 0xce, 0xc8, 0x94, 0x5c, 0x3e, 0x82, 0x15, 0x4e, 0x11, 0x98, 0x25, 0x74, 0x6f, 0x54, 0x15, 0x96, 0x71, 0x46, 0xa6, 0xe4,
0x36, 0x95, 0x82, 0x44, 0x0a, 0x1f, 0x5e, 0xe3, 0x53, 0x39, 0x25, 0x9b, 0xf5, 0x8f, 0xf5, 0xc0, 0xb2, 0xa9, 0x14, 0x24, 0x52, 0xf8, 0xf0, 0x1a, 0x9f, 0xca, 0x29, 0xd9, 0xac, 0x7f, 0xac, 0x07,
0x1f, 0xb8, 0xa2, 0x04, 0x63, 0x91, 0x15, 0x1c, 0x45, 0x31, 0x83, 0x91, 0x78, 0xe0, 0x1f, 0xd3, 0xfe, 0xc0, 0x15, 0x25, 0x18, 0x8b, 0xac, 0xe0, 0x28, 0x8a, 0x19, 0x8c, 0xc4, 0x03, 0xff, 0x98,
0xd4, 0x1f, 0xd1, 0xde, 0x2a, 0x27, 0x71, 0x99, 0x66, 0x0c, 0x38, 0x19, 0x63, 0x4e, 0x8f, 0x33, 0xa6, 0xfe, 0x88, 0xf6, 0x56, 0x39, 0x89, 0xcb, 0x34, 0x63, 0xc0, 0xc9, 0x18, 0x73, 0x7a, 0x9c,
0x3c, 0x4f, 0xd9, 0xbf, 0x6f, 0xf1, 0xcd, 0x47, 0x30, 0x6a, 0xa2, 0x1d, 0xab, 0x38, 0x8b, 0xba, 0xe1, 0x79, 0xca, 0xfe, 0x7d, 0x8b, 0x6f, 0x3e, 0x82, 0x51, 0x13, 0xed, 0x58, 0xc5, 0x59, 0xd4,
0x51, 0x18, 0x5c, 0x08, 0xae, 0x05, 0x0e, 0xbd, 0x08, 0x83, 0x0b, 0xa6, 0xd8, 0xfb, 0xa1, 0x5e, 0x8d, 0xc2, 0xe0, 0x42, 0x70, 0x2d, 0x70, 0xe8, 0x79, 0x18, 0x5c, 0x30, 0xc5, 0xde, 0x0f, 0xf5,
0x84, 0xcb, 0xb9, 0xb6, 0x04, 0xb1, 0xd0, 0xfb, 0xd0, 0x1a, 0x4f, 0x8e, 0x02, 0x7f, 0xc0, 0x8b, 0x22, 0x5c, 0xce, 0xb5, 0x25, 0x88, 0x85, 0xde, 0x85, 0xd6, 0x78, 0x72, 0x14, 0xf8, 0x03, 0x5e,
0x54, 0x79, 0x2d, 0x1c, 0xc2, 0x02, 0xec, 0x5c, 0xc9, 0x57, 0x8a, 0x97, 0xa8, 0x61, 0x89, 0x96, 0xa4, 0xca, 0x6b, 0xe1, 0x10, 0x16, 0x60, 0xe7, 0x4a, 0xbe, 0x52, 0xbc, 0x44, 0x0d, 0x4b, 0xb4,
0xc0, 0x58, 0x11, 0xfb, 0x31, 0x2c, 0x9b, 0x1d, 0x14, 0x02, 0xfd, 0x3e, 0x34, 0x04, 0xff, 0x4b, 0x04, 0xc6, 0x8a, 0xd8, 0x8f, 0x60, 0xd9, 0xec, 0xa0, 0x10, 0xe8, 0xf7, 0xa1, 0x21, 0xf8, 0x5f,
0x43, 0x41, 0x47, 0x33, 0xdf, 0xb2, 0x63, 0x90, 0xca, 0xb7, 0xff, 0x65, 0x0d, 0x96, 0x04, 0xba, 0x1a, 0x0a, 0x3a, 0x9a, 0xf9, 0x96, 0x1d, 0x83, 0x54, 0xbe, 0xfd, 0xaf, 0x6b, 0xb0, 0x24, 0xd0,
0x15, 0x44, 0x09, 0x3d, 0x9c, 0x8c, 0x46, 0x5e, 0x5c, 0x22, 0x58, 0xac, 0x4b, 0x04, 0x4b, 0xa5, 0xad, 0x20, 0x4a, 0xe8, 0xe1, 0x64, 0x34, 0xf2, 0xe2, 0x12, 0xc1, 0x62, 0x5d, 0x22, 0x58, 0x2a,
0x28, 0x58, 0x6e, 0x19, 0xe7, 0x4b, 0x2e, 0x99, 0x34, 0x84, 0xdc, 0x83, 0x85, 0x41, 0x10, 0x25, 0x45, 0xc1, 0x72, 0xcb, 0x38, 0x5f, 0x72, 0xc9, 0xa4, 0x21, 0xe4, 0x1e, 0x2c, 0x0c, 0x82, 0x28,
0x5c, 0xdd, 0xd7, 0x2d, 0x88, 0x79, 0xb8, 0x28, 0x0c, 0xeb, 0x65, 0xc2, 0x50, 0x17, 0x64, 0xb3, 0xe1, 0xea, 0xbe, 0x6e, 0x41, 0xcc, 0xc3, 0x45, 0x61, 0x58, 0x2f, 0x13, 0x86, 0xba, 0x20, 0x9b,
0x39, 0x41, 0x66, 0x43, 0x9b, 0x55, 0x4a, 0xa5, 0x6c, 0x9e, 0x13, 0x87, 0x2d, 0x0d, 0x63, 0xfd, 0xcd, 0x09, 0x32, 0x1b, 0xda, 0xac, 0x52, 0x2a, 0x65, 0xf3, 0x9c, 0x38, 0x6c, 0x69, 0x18, 0xeb,
0xc9, 0x8b, 0x0d, 0x2e, 0xa3, 0x16, 0xca, 0x84, 0x86, 0x3f, 0xa2, 0x28, 0xfb, 0xb5, 0xd2, 0x4d, 0x4f, 0x5e, 0x6c, 0x70, 0x19, 0xb5, 0x50, 0x26, 0x34, 0xfc, 0x11, 0x45, 0xd9, 0xaf, 0x95, 0x6e,
0x21, 0x34, 0x8a, 0x59, 0xe4, 0x09, 0x00, 0x6f, 0x0b, 0x15, 0x10, 0x40, 0x05, 0xe4, 0x8e, 0xb9, 0x0a, 0xa1, 0x51, 0xcc, 0x22, 0x8f, 0x01, 0x78, 0x5b, 0xa8, 0x80, 0x00, 0x2a, 0x20, 0x77, 0xcc,
0x2a, 0xfa, 0xfc, 0xaf, 0xb3, 0xc4, 0x24, 0xa6, 0xa8, 0x94, 0x68, 0x5f, 0xda, 0x7f, 0xdd, 0x82, 0x55, 0xd1, 0xe7, 0x7f, 0x9d, 0x25, 0x26, 0x31, 0x45, 0xa5, 0x44, 0xfb, 0xd2, 0xfe, 0x9b, 0x16,
0x96, 0x96, 0x47, 0xae, 0xc1, 0xe2, 0xd6, 0x8b, 0x17, 0x07, 0x3b, 0xce, 0xe6, 0xcb, 0x67, 0xdf, 0xb4, 0xb4, 0x3c, 0x72, 0x0d, 0x16, 0xb7, 0x9e, 0x3f, 0x3f, 0xd8, 0x71, 0x36, 0x5f, 0x3c, 0xfd,
0xdb, 0x71, 0xb7, 0xf6, 0x5e, 0x1c, 0xee, 0x74, 0x67, 0x18, 0xbc, 0xf7, 0x62, 0x6b, 0x73, 0xcf, 0xde, 0x8e, 0xbb, 0xb5, 0xf7, 0xfc, 0x70, 0xa7, 0x3b, 0xc3, 0xe0, 0xbd, 0xe7, 0x5b, 0x9b, 0x7b,
0x7d, 0xf2, 0xc2, 0xd9, 0x92, 0xb0, 0x45, 0x56, 0x80, 0x38, 0x3b, 0xcf, 0x5f, 0xbc, 0xdc, 0x31, 0xee, 0xe3, 0xe7, 0xce, 0x96, 0x84, 0x2d, 0xb2, 0x02, 0xc4, 0xd9, 0x79, 0xf6, 0xfc, 0xc5, 0x8e,
0xf0, 0x0a, 0xe9, 0x42, 0xfb, 0xb1, 0xb3, 0xb3, 0xb9, 0xb5, 0x2b, 0x90, 0x2a, 0x59, 0x86, 0xee, 0x81, 0x57, 0x48, 0x17, 0xda, 0x8f, 0x9c, 0x9d, 0xcd, 0xad, 0x5d, 0x81, 0x54, 0xc9, 0x32, 0x74,
0x93, 0x57, 0xfb, 0xdb, 0xcf, 0xf6, 0x9f, 0xba, 0x5b, 0x9b, 0xfb, 0x5b, 0x3b, 0x7b, 0x3b, 0xdb, 0x1f, 0xbf, 0xdc, 0xdf, 0x7e, 0xba, 0xff, 0xc4, 0xdd, 0xda, 0xdc, 0xdf, 0xda, 0xd9, 0xdb, 0xd9,
0xdd, 0x1a, 0x99, 0x87, 0xe6, 0xe6, 0xe3, 0xcd, 0xfd, 0xed, 0x17, 0xfb, 0x3b, 0xdb, 0xdd, 0xba, 0xee, 0xd6, 0xc8, 0x3c, 0x34, 0x37, 0x1f, 0x6d, 0xee, 0x6f, 0x3f, 0xdf, 0xdf, 0xd9, 0xee, 0xd6,
0xfd, 0x9f, 0x2c, 0xb8, 0x86, 0xbd, 0x1e, 0xe6, 0x99, 0x64, 0x0d, 0x5a, 0x83, 0x28, 0x1a, 0x33, 0xed, 0xff, 0x62, 0xc1, 0x35, 0xec, 0xf5, 0x30, 0xcf, 0x24, 0x6b, 0xd0, 0x1a, 0x44, 0xd1, 0x98,
0xc5, 0x3f, 0xdb, 0xda, 0x74, 0x88, 0x31, 0x00, 0x17, 0x0a, 0xc7, 0x51, 0x3c, 0xa0, 0x82, 0x47, 0x29, 0xfe, 0xd9, 0xd6, 0xa6, 0x43, 0x8c, 0x01, 0xb8, 0x50, 0x38, 0x8e, 0xe2, 0x01, 0x15, 0x3c,
0x00, 0xa1, 0x27, 0x0c, 0x61, 0x0c, 0x20, 0x96, 0x97, 0x97, 0xe0, 0x2c, 0xd2, 0xe2, 0x18, 0x2f, 0x02, 0x08, 0x3d, 0x66, 0x08, 0x63, 0x00, 0xb1, 0xbc, 0xbc, 0x04, 0x67, 0x91, 0x16, 0xc7, 0x78,
0xb2, 0x02, 0xb3, 0x47, 0x31, 0xf5, 0x06, 0xa7, 0x82, 0x3b, 0x44, 0x8a, 0x7c, 0x98, 0x9d, 0x4c, 0x91, 0x15, 0x98, 0x3d, 0x8a, 0xa9, 0x37, 0x38, 0x15, 0xdc, 0x21, 0x52, 0xe4, 0xfd, 0xec, 0x64,
0x07, 0x6c, 0xf6, 0x03, 0x3a, 0x44, 0x8a, 0x69, 0x38, 0x0b, 0x02, 0xdf, 0x12, 0x30, 0x93, 0x82, 0x3a, 0x60, 0xb3, 0x1f, 0xd0, 0x21, 0x52, 0x4c, 0xc3, 0x59, 0x10, 0xf8, 0x96, 0x80, 0x99, 0x14,
0xde, 0x91, 0x17, 0x0e, 0xa3, 0x90, 0x0e, 0x85, 0xda, 0x9b, 0x01, 0xf6, 0x01, 0xac, 0xe4, 0xc7, 0xf4, 0x8e, 0xbc, 0x70, 0x18, 0x85, 0x74, 0x28, 0xd4, 0xde, 0x0c, 0xb0, 0x0f, 0x60, 0x25, 0x3f,
0x27, 0x78, 0xec, 0x13, 0x8d, 0xc7, 0xb8, 0x16, 0xda, 0x9f, 0xbe, 0x9a, 0x1a, 0xbf, 0xfd, 0xe7, 0x3e, 0xc1, 0x63, 0x1f, 0x69, 0x3c, 0xc6, 0xb5, 0xd0, 0xfe, 0xf4, 0xd5, 0xd4, 0xf8, 0xed, 0xbf,
0x0a, 0xd4, 0x98, 0x52, 0x32, 0x5d, 0x81, 0xd1, 0xf5, 0xcc, 0x6a, 0xc1, 0xdd, 0x80, 0x87, 0x5d, 0x56, 0xa0, 0xc6, 0x94, 0x92, 0xe9, 0x0a, 0x8c, 0xae, 0x67, 0x56, 0x0b, 0xee, 0x06, 0x3c, 0xec,
0xbe, 0x45, 0x09, 0x43, 0x4b, 0x86, 0x64, 0xf9, 0x31, 0x1d, 0x9c, 0x09, 0x53, 0x8b, 0x86, 0x30, 0xf2, 0x2d, 0x4a, 0x18, 0x5a, 0x32, 0x24, 0xcb, 0x8f, 0xe9, 0xe0, 0x4c, 0x98, 0x5a, 0x34, 0x84,
0x06, 0x61, 0x87, 0x00, 0xfc, 0x5a, 0x30, 0x88, 0x4c, 0xcb, 0x3c, 0xfc, 0x72, 0x2e, 0xcb, 0xc3, 0x31, 0x08, 0x3b, 0x04, 0xe0, 0xd7, 0x82, 0x41, 0x64, 0x5a, 0xe6, 0xe1, 0x97, 0x73, 0x59, 0x1e,
0xef, 0x7a, 0x30, 0xe7, 0x87, 0x47, 0xd1, 0x24, 0x1c, 0x22, 0x43, 0x34, 0x1c, 0x99, 0x44, 0x07, 0x7e, 0xd7, 0x83, 0x39, 0x3f, 0x3c, 0x8a, 0x26, 0xe1, 0x10, 0x19, 0xa2, 0xe1, 0xc8, 0x24, 0x3a,
0x07, 0x32, 0x2a, 0x93, 0x9f, 0x9c, 0xfc, 0x33, 0x80, 0x6c, 0x40, 0x33, 0xb9, 0x08, 0x07, 0x3a, 0x38, 0x90, 0x51, 0x99, 0xfc, 0xe4, 0xe4, 0x9f, 0x01, 0x64, 0x03, 0x9a, 0xc9, 0x45, 0x38, 0xd0,
0xcd, 0x2f, 0x8b, 0x59, 0x62, 0x73, 0xb0, 0x7e, 0x78, 0x11, 0x0e, 0x90, 0xc2, 0xb3, 0x62, 0xf6, 0x69, 0x7e, 0x59, 0xcc, 0x12, 0x9b, 0x83, 0xf5, 0xc3, 0x8b, 0x70, 0x80, 0x14, 0x9e, 0x15, 0xb3,
0x6f, 0x41, 0x43, 0xc2, 0x8c, 0x2c, 0x5f, 0xed, 0x7f, 0xb1, 0xff, 0xe2, 0xf5, 0xbe, 0x7b, 0xf8, 0x7f, 0x0b, 0x1a, 0x12, 0x66, 0x64, 0xf9, 0x72, 0xff, 0xf3, 0xfd, 0xe7, 0xaf, 0xf6, 0xdd, 0xc3,
0xfd, 0xfd, 0xad, 0xee, 0x0c, 0x59, 0x80, 0xd6, 0xe6, 0x16, 0x52, 0x3a, 0x02, 0x16, 0x2b, 0x72, 0xef, 0xef, 0x6f, 0x75, 0x67, 0xc8, 0x02, 0xb4, 0x36, 0xb7, 0x90, 0xd2, 0x11, 0xb0, 0x58, 0x91,
0xb0, 0x79, 0x78, 0xa8, 0x90, 0x8a, 0x4d, 0xd8, 0x41, 0x3e, 0x41, 0xcd, 0x4f, 0x19, 0xf0, 0x3f, 0x83, 0xcd, 0xc3, 0x43, 0x85, 0x54, 0x6c, 0xc2, 0x0e, 0xf2, 0x09, 0x6a, 0x7e, 0xca, 0x80, 0xff,
0x81, 0x45, 0x0d, 0xcb, 0x4e, 0x11, 0x63, 0x06, 0xe4, 0x4e, 0x11, 0xa8, 0x32, 0xf2, 0x1c, 0xbb, 0x11, 0x2c, 0x6a, 0x58, 0x76, 0x8a, 0x18, 0x33, 0x20, 0x77, 0x8a, 0x40, 0x95, 0x91, 0xe7, 0xd8,
0x0b, 0x9d, 0xa7, 0x34, 0x7d, 0x16, 0x1e, 0x47, 0xb2, 0xa6, 0xff, 0x5e, 0x83, 0x05, 0x05, 0x89, 0x5d, 0xe8, 0x3c, 0xa1, 0xe9, 0xd3, 0xf0, 0x38, 0x92, 0x35, 0xfd, 0xcf, 0x1a, 0x2c, 0x28, 0x48,
0x8a, 0xee, 0xc1, 0x82, 0x3f, 0xa4, 0x61, 0xea, 0xa7, 0x17, 0xae, 0x61, 0x2f, 0xc8, 0xc3, 0x4c, 0x54, 0x74, 0x0f, 0x16, 0xfc, 0x21, 0x0d, 0x53, 0x3f, 0xbd, 0x70, 0x0d, 0x7b, 0x41, 0x1e, 0x66,
0xd5, 0xf6, 0x02, 0xdf, 0x93, 0x7e, 0x24, 0x9e, 0x60, 0xe7, 0x67, 0xa6, 0x03, 0xe8, 0x76, 0x1b, 0xaa, 0xb6, 0x17, 0xf8, 0x9e, 0xf4, 0x23, 0xf1, 0x04, 0x3b, 0x3f, 0x33, 0x1d, 0x40, 0xb7, 0xdb,
0xa4, 0x2b, 0x6e, 0xa6, 0x28, 0xcd, 0x63, 0x12, 0x88, 0xe1, 0x62, 0x9b, 0x51, 0x9f, 0x70, 0x95, 0x20, 0x5d, 0x71, 0x33, 0x45, 0x69, 0x1e, 0x93, 0x40, 0x0c, 0x17, 0xdb, 0x8c, 0xfa, 0x84, 0xab,
0xb3, 0x2c, 0x8b, 0x2d, 0x15, 0xaf, 0x89, 0x0d, 0xb9, 0xce, 0xf5, 0x04, 0x05, 0x14, 0x1c, 0x35, 0x9c, 0x65, 0x59, 0x6c, 0xa9, 0x78, 0x4d, 0x6c, 0xc8, 0x75, 0xae, 0x27, 0x28, 0xa0, 0xe0, 0xa8,
0xb3, 0x5c, 0x3e, 0xe6, 0x1d, 0x35, 0x9a, 0xb3, 0xa7, 0x51, 0x70, 0xf6, 0x30, 0xf9, 0x79, 0x11, 0x99, 0xe5, 0xf2, 0x31, 0xef, 0xa8, 0xd1, 0x9c, 0x3d, 0x8d, 0x82, 0xb3, 0x87, 0xc9, 0xcf, 0x8b,
0x0e, 0xe8, 0xd0, 0x4d, 0x23, 0x17, 0xe5, 0x3c, 0x92, 0x44, 0xc3, 0xc9, 0xc3, 0x6c, 0xdf, 0x48, 0x70, 0x40, 0x87, 0x6e, 0x1a, 0xb9, 0x28, 0xe7, 0x91, 0x24, 0x1a, 0x4e, 0x1e, 0x66, 0xfb, 0x46,
0x69, 0x92, 0x86, 0x94, 0x5b, 0xbc, 0x1b, 0x68, 0x05, 0x95, 0x10, 0x3b, 0x1f, 0x4c, 0x62, 0x3f, 0x4a, 0x93, 0x34, 0xa4, 0xdc, 0xe2, 0xdd, 0x40, 0x2b, 0xa8, 0x84, 0xd8, 0xf9, 0x60, 0x12, 0xfb,
0xe9, 0xb5, 0xd1, 0x8d, 0x83, 0xbf, 0xc9, 0xb7, 0xe1, 0xda, 0x11, 0x4d, 0x52, 0xf7, 0x94, 0x7a, 0x49, 0xaf, 0x8d, 0x6e, 0x1c, 0xfc, 0x4d, 0xbe, 0x0d, 0xd7, 0x8e, 0x68, 0x92, 0xba, 0xa7, 0xd4,
0x43, 0x1a, 0x23, 0x79, 0x71, 0x7f, 0x11, 0x57, 0xb9, 0xca, 0x33, 0x19, 0xe1, 0x9e, 0xd1, 0x38, 0x1b, 0xd2, 0x18, 0xc9, 0x8b, 0xfb, 0x8b, 0xb8, 0xca, 0x55, 0x9e, 0xc9, 0x08, 0xf7, 0x8c, 0xc6,
0xf1, 0xa3, 0x10, 0x95, 0xad, 0xa6, 0x23, 0x93, 0xac, 0x3e, 0x36, 0x78, 0xb5, 0x51, 0xab, 0x19, 0x89, 0x1f, 0x85, 0xa8, 0x6c, 0x35, 0x1d, 0x99, 0x64, 0xf5, 0xb1, 0xc1, 0xab, 0x8d, 0x5a, 0xcd,
0x5c, 0xc0, 0x81, 0x97, 0x67, 0x92, 0xdb, 0x30, 0x8b, 0x03, 0x48, 0x7a, 0x5d, 0xa4, 0x99, 0x76, 0xe0, 0x02, 0x0e, 0xbc, 0x3c, 0x93, 0xdc, 0x86, 0x59, 0x1c, 0x40, 0xd2, 0xeb, 0x22, 0xcd, 0xb4,
0xc6, 0xf3, 0x7e, 0xe8, 0x88, 0x3c, 0xb6, 0xca, 0x83, 0x28, 0x88, 0x62, 0xd4, 0xb8, 0x9a, 0x0e, 0x33, 0x9e, 0xf7, 0x43, 0x47, 0xe4, 0xb1, 0x55, 0x1e, 0x44, 0x41, 0x14, 0xa3, 0xc6, 0xd5, 0x74,
0x4f, 0x98, 0xb3, 0x73, 0x12, 0x7b, 0xe3, 0x53, 0xa1, 0x75, 0xe5, 0xe1, 0xcf, 0x6b, 0x8d, 0x56, 0x78, 0xc2, 0x9c, 0x9d, 0x93, 0xd8, 0x1b, 0x9f, 0x0a, 0xad, 0x2b, 0x0f, 0x7f, 0x56, 0x6b, 0xb4,
0xb7, 0x6d, 0xff, 0x19, 0xa8, 0x63, 0xb5, 0x58, 0x1d, 0x4e, 0xa6, 0x25, 0xaa, 0x43, 0xb4, 0x07, 0xba, 0x6d, 0xfb, 0xcf, 0x41, 0x1d, 0xab, 0xc5, 0xea, 0x70, 0x32, 0x2d, 0x51, 0x1d, 0xa2, 0x3d,
0x73, 0x21, 0x4d, 0xcf, 0xa3, 0xf8, 0x8d, 0x74, 0x4a, 0x8a, 0xa4, 0xfd, 0x53, 0x3c, 0xa1, 0x29, 0x98, 0x0b, 0x69, 0x7a, 0x1e, 0xc5, 0xaf, 0xa5, 0x53, 0x52, 0x24, 0xed, 0x9f, 0xe2, 0x09, 0x4d,
0x27, 0xdd, 0x2b, 0x54, 0x2d, 0xd9, 0x39, 0x9b, 0x2f, 0x55, 0x72, 0xea, 0x89, 0x43, 0x63, 0x03, 0x39, 0xe9, 0x5e, 0xa2, 0x6a, 0xc9, 0xce, 0xd9, 0x7c, 0xa9, 0x92, 0x53, 0x4f, 0x1c, 0x1a, 0x1b,
0x81, 0xc3, 0x53, 0x8f, 0xc9, 0x5a, 0x63, 0xf5, 0xf9, 0x39, 0xbc, 0x85, 0xd8, 0x2e, 0x5f, 0xfc, 0x08, 0x1c, 0x9e, 0x7a, 0x4c, 0xd6, 0x1a, 0xab, 0xcf, 0xcf, 0xe1, 0x2d, 0xc4, 0x76, 0xf9, 0xe2,
0xdb, 0xd0, 0x91, 0xee, 0xbf, 0xc4, 0x0d, 0xe8, 0x71, 0x2a, 0xad, 0x68, 0xe1, 0x64, 0x84, 0x87, 0xdf, 0x86, 0x8e, 0x74, 0xff, 0x25, 0x6e, 0x40, 0x8f, 0x53, 0x69, 0x45, 0x0b, 0x27, 0x23, 0x3c,
0xf5, 0x3d, 0x7a, 0x9c, 0xda, 0xfb, 0xb0, 0x28, 0xe4, 0xdf, 0x8b, 0x31, 0x95, 0x4d, 0xff, 0x46, 0xac, 0xef, 0xd1, 0xe3, 0xd4, 0xde, 0x87, 0x45, 0x21, 0xff, 0x9e, 0x8f, 0xa9, 0x6c, 0xfa, 0x37,
0x99, 0x2e, 0xd1, 0xda, 0x58, 0x32, 0x05, 0x26, 0x77, 0x78, 0x9a, 0x25, 0x6d, 0x07, 0x88, 0x2e, 0xca, 0x74, 0x89, 0xd6, 0xc6, 0x92, 0x29, 0x30, 0xb9, 0xc3, 0xd3, 0x2c, 0x69, 0x3b, 0x40, 0x74,
0x4f, 0x45, 0x85, 0x62, 0x33, 0x97, 0x76, 0x42, 0x31, 0x1c, 0x03, 0x63, 0xf3, 0x93, 0x4c, 0x06, 0x79, 0x2a, 0x2a, 0x14, 0x9b, 0xb9, 0xb4, 0x13, 0x8a, 0xe1, 0x18, 0x18, 0x9b, 0x9f, 0x64, 0x32,
0x03, 0xe9, 0xb4, 0x6d, 0x38, 0x32, 0x69, 0xff, 0xa1, 0x05, 0x4b, 0x58, 0x9b, 0xd4, 0x86, 0xc4, 0x18, 0x48, 0xa7, 0x6d, 0xc3, 0x91, 0x49, 0xfb, 0x9f, 0x58, 0xb0, 0x84, 0xb5, 0x49, 0x6d, 0x48,
0x9e, 0xf5, 0xe9, 0xd7, 0xe8, 0xa6, 0xb4, 0xd2, 0x72, 0xdb, 0xe4, 0x32, 0xd4, 0xf5, 0x5d, 0x8c, 0xec, 0x59, 0x1f, 0x7f, 0x85, 0x6e, 0x4a, 0x2b, 0x2d, 0xb7, 0x4d, 0x2e, 0x43, 0x5d, 0xdf, 0xc5,
0x27, 0xbe, 0xbe, 0x4d, 0xa6, 0x96, 0xb7, 0xc9, 0xd8, 0x7f, 0xdb, 0x82, 0x45, 0xbe, 0x91, 0xa0, 0x78, 0xe2, 0xab, 0xdb, 0x64, 0x6a, 0x79, 0x9b, 0x8c, 0xfd, 0x77, 0x2d, 0x58, 0xe4, 0x1b, 0x09,
0xb6, 0x2d, 0x86, 0xff, 0x67, 0x61, 0x9e, 0x6b, 0x04, 0x42, 0x2a, 0x88, 0x8e, 0x66, 0xa2, 0x15, 0x6a, 0xdb, 0x62, 0xf8, 0x7f, 0x1e, 0xe6, 0xb9, 0x46, 0x20, 0xa4, 0x82, 0xe8, 0x68, 0x26, 0x5a,
0x51, 0x5e, 0x78, 0x77, 0xc6, 0x31, 0x0b, 0x93, 0x47, 0xa8, 0x95, 0x85, 0x2e, 0xa2, 0x25, 0xee, 0x11, 0xe5, 0x85, 0x77, 0x67, 0x1c, 0xb3, 0x30, 0xf9, 0x14, 0xb5, 0xb2, 0xd0, 0x45, 0xb4, 0xc4,
0x7d, 0x73, 0xae, 0x77, 0x67, 0x1c, 0xad, 0xf8, 0xe3, 0x06, 0x53, 0x96, 0x19, 0x6e, 0x3f, 0x85, 0xbd, 0x6f, 0xce, 0xf5, 0xee, 0x8c, 0xa3, 0x15, 0x7f, 0xd4, 0x60, 0xca, 0x32, 0xc3, 0xed, 0x27,
0x79, 0xa3, 0x21, 0xc3, 0x1e, 0xd4, 0xe6, 0xf6, 0xa0, 0x82, 0xe1, 0xb5, 0x52, 0x62, 0x78, 0xfd, 0x30, 0x6f, 0x34, 0x64, 0xd8, 0x83, 0xda, 0xdc, 0x1e, 0x54, 0x30, 0xbc, 0x56, 0x4a, 0x0c, 0xaf,
0x67, 0x55, 0x20, 0x8c, 0x58, 0x72, 0xab, 0xb1, 0x66, 0x7a, 0x2f, 0xa4, 0xa7, 0x3f, 0x83, 0xc8, 0xff, 0xb2, 0x0a, 0x84, 0x11, 0x4b, 0x6e, 0x35, 0xd6, 0x4c, 0xef, 0x85, 0xf4, 0xf4, 0x67, 0x10,
0x06, 0x10, 0x2d, 0x29, 0xbd, 0x2a, 0x55, 0xe5, 0x55, 0x29, 0xc9, 0x65, 0xa2, 0x56, 0x68, 0x1d, 0xd9, 0x00, 0xa2, 0x25, 0xa5, 0x57, 0xa5, 0xaa, 0xbc, 0x2a, 0x25, 0xb9, 0x4c, 0xd4, 0x0a, 0xad,
0xca, 0x63, 0x81, 0x67, 0x7d, 0x3e, 0xf5, 0xa5, 0x79, 0x6c, 0x67, 0x44, 0xf7, 0x05, 0x3b, 0x95, 0x43, 0x79, 0x2c, 0xf0, 0xac, 0xcf, 0xa7, 0xbe, 0x34, 0x8f, 0xed, 0x8c, 0xe8, 0xbe, 0x60, 0xa7,
0x88, 0xf3, 0xb1, 0x4c, 0xe7, 0xd7, 0x78, 0xf6, 0xd2, 0x35, 0x9e, 0x2b, 0xd8, 0xdd, 0xb4, 0x13, 0x12, 0x71, 0x3e, 0x96, 0xe9, 0xfc, 0x1a, 0xcf, 0x5e, 0xba, 0xc6, 0x73, 0x05, 0xbb, 0x9b, 0x76,
0x5a, 0xc3, 0x3c, 0xa1, 0xdd, 0x86, 0x79, 0xe9, 0xa5, 0xe0, 0x8e, 0x56, 0x71, 0x1c, 0x36, 0x40, 0x42, 0x6b, 0x98, 0x27, 0xb4, 0xdb, 0x30, 0x2f, 0xbd, 0x14, 0xdc, 0xd1, 0x2a, 0x8e, 0xc3, 0x06,
0x72, 0x1f, 0xba, 0xf2, 0x90, 0xa4, 0x8e, 0x81, 0xdc, 0x8d, 0x58, 0xc0, 0xd9, 0x1e, 0x90, 0x59, 0x48, 0xee, 0x43, 0x57, 0x1e, 0x92, 0xd4, 0x31, 0x90, 0xbb, 0x11, 0x0b, 0x38, 0xdb, 0x03, 0x32,
0xe2, 0x5a, 0xd8, 0xd9, 0x0c, 0xc0, 0x33, 0x15, 0xa3, 0x12, 0x77, 0x12, 0x0a, 0x2f, 0x3f, 0x1d, 0x4b, 0x5c, 0x0b, 0x3b, 0x9b, 0x01, 0x78, 0xa6, 0x62, 0x54, 0xe2, 0x4e, 0x42, 0xe1, 0xe5, 0xa7,
0xe2, 0x41, 0x98, 0x9d, 0xa9, 0xf2, 0x19, 0xf6, 0xdf, 0xb0, 0xa0, 0xcb, 0xd6, 0xcd, 0x20, 0xcd, 0x43, 0x3c, 0x08, 0xb3, 0x33, 0x55, 0x3e, 0xc3, 0xfe, 0x5b, 0x16, 0x74, 0xd9, 0xba, 0x19, 0xa4,
0xcf, 0x00, 0x39, 0xe3, 0x8a, 0x94, 0x69, 0x94, 0x25, 0x9f, 0x42, 0x13, 0xd3, 0xd1, 0x98, 0x86, 0xf9, 0x09, 0x20, 0x67, 0x5c, 0x91, 0x32, 0x8d, 0xb2, 0xe4, 0x63, 0x68, 0x62, 0x3a, 0x1a, 0xd3,
0x82, 0x2e, 0x7b, 0x26, 0x5d, 0x66, 0x32, 0x65, 0x77, 0xc6, 0xc9, 0x0a, 0x6b, 0x54, 0xf9, 0xef, 0x50, 0xd0, 0x65, 0xcf, 0xa4, 0xcb, 0x4c, 0xa6, 0xec, 0xce, 0x38, 0x59, 0x61, 0x8d, 0x2a, 0xff,
0x2c, 0x68, 0x89, 0x56, 0x7e, 0x61, 0x4b, 0x4f, 0x5f, 0x0b, 0xcb, 0xe0, 0x0a, 0x58, 0x16, 0x85, 0x83, 0x05, 0x2d, 0xd1, 0xca, 0x2f, 0x6c, 0xe9, 0xe9, 0x6b, 0x61, 0x19, 0x5c, 0x01, 0xcb, 0xa2,
0x71, 0x0f, 0x16, 0x46, 0x5e, 0x3a, 0x89, 0xd9, 0x9e, 0x6e, 0x58, 0x79, 0xf2, 0x30, 0xdb, 0xa0, 0x30, 0xee, 0xc1, 0xc2, 0xc8, 0x4b, 0x27, 0x31, 0xdb, 0xd3, 0x0d, 0x2b, 0x4f, 0x1e, 0x66, 0x1b,
0x51, 0x7c, 0x26, 0x6e, 0xea, 0x07, 0xae, 0xcc, 0x15, 0x01, 0x10, 0x65, 0x59, 0x4c, 0x8a, 0x24, 0x34, 0x8a, 0xcf, 0xc4, 0x4d, 0xfd, 0xc0, 0x95, 0xb9, 0x22, 0x00, 0xa2, 0x2c, 0x8b, 0x49, 0x91,
0xa9, 0x77, 0x42, 0xc5, 0xde, 0xcb, 0x13, 0x76, 0x0f, 0x56, 0x0e, 0x32, 0xcf, 0x8d, 0xa6, 0x63, 0x24, 0xf5, 0x4e, 0xa8, 0xd8, 0x7b, 0x79, 0xc2, 0xee, 0xc1, 0xca, 0x41, 0xe6, 0xb9, 0xd1, 0x74,
0xdb, 0xff, 0x78, 0x1e, 0x56, 0x0b, 0x59, 0x2a, 0x5c, 0x4b, 0x98, 0x2e, 0x02, 0x7f, 0x74, 0x14, 0x6c, 0xfb, 0x9f, 0xcd, 0xc3, 0x6a, 0x21, 0x4b, 0x85, 0x6b, 0x09, 0xd3, 0x45, 0xe0, 0x8f, 0x8e,
0xa9, 0x03, 0x8a, 0xa5, 0x5b, 0x35, 0x8c, 0x2c, 0x72, 0x02, 0xd7, 0xa4, 0x92, 0xc1, 0xe6, 0x34, 0x22, 0x75, 0x40, 0xb1, 0x74, 0xab, 0x86, 0x91, 0x45, 0x4e, 0xe0, 0x9a, 0x54, 0x32, 0xd8, 0x9c,
0xdb, 0x10, 0x2b, 0xb8, 0xd3, 0x7d, 0x6c, 0x2e, 0x61, 0xbe, 0x41, 0x89, 0xeb, 0x8c, 0x5c, 0x5e, 0x66, 0x1b, 0x62, 0x05, 0x77, 0xba, 0x0f, 0xcd, 0x25, 0xcc, 0x37, 0x28, 0x71, 0x9d, 0x91, 0xcb,
0x1f, 0x39, 0x85, 0x9e, 0xd2, 0x66, 0x84, 0xc0, 0xd6, 0x34, 0x1e, 0xd6, 0xd6, 0x47, 0x97, 0xb4, 0xeb, 0x23, 0xa7, 0xd0, 0x53, 0xda, 0x8c, 0x10, 0xd8, 0x9a, 0xc6, 0xc3, 0xda, 0xfa, 0xe0, 0x92,
0x65, 0xa8, 0xe4, 0xce, 0xd4, 0xda, 0xc8, 0x05, 0xdc, 0x92, 0x79, 0x28, 0x91, 0x8b, 0xed, 0xd5, 0xb6, 0x0c, 0x95, 0xdc, 0x99, 0x5a, 0x1b, 0xb9, 0x80, 0x5b, 0x32, 0x0f, 0x25, 0x72, 0xb1, 0xbd,
0xae, 0x34, 0x36, 0x3c, 0x6c, 0x98, 0x8d, 0x5e, 0x52, 0x31, 0xf9, 0x31, 0xac, 0x9c, 0x7b, 0x7e, 0xda, 0x95, 0xc6, 0x86, 0x87, 0x0d, 0xb3, 0xd1, 0x4b, 0x2a, 0x26, 0x3f, 0x86, 0x95, 0x73, 0xcf,
0x2a, 0xbb, 0xa5, 0xe9, 0x17, 0x75, 0x6c, 0x72, 0xe3, 0x92, 0x26, 0x5f, 0xf3, 0x8f, 0x8d, 0x6d, 0x4f, 0x65, 0xb7, 0x34, 0xfd, 0xa2, 0x8e, 0x4d, 0x6e, 0x5c, 0xd2, 0xe4, 0x2b, 0xfe, 0xb1, 0xb1,
0x6a, 0x4a, 0x8d, 0xfd, 0x3f, 0xae, 0x40, 0xc7, 0xac, 0x87, 0x91, 0xa9, 0xe0, 0x7d, 0x29, 0x03, 0x4d, 0x4d, 0xa9, 0xb1, 0xff, 0xc7, 0x15, 0xe8, 0x98, 0xf5, 0x30, 0x32, 0x15, 0xbc, 0x2f, 0x65,
0xa5, 0x46, 0x9a, 0x83, 0x8b, 0xe7, 0xfc, 0x4a, 0xd9, 0x39, 0x5f, 0x3f, 0x59, 0x57, 0x2f, 0x33, 0xa0, 0xd4, 0x48, 0x73, 0x70, 0xf1, 0x9c, 0x5f, 0x29, 0x3b, 0xe7, 0xeb, 0x27, 0xeb, 0xea, 0x65,
0x11, 0xd6, 0xae, 0x66, 0x22, 0xac, 0x97, 0x9a, 0x08, 0xa7, 0x5b, 0x92, 0x66, 0x7f, 0x51, 0x4b, 0x26, 0xc2, 0xda, 0xd5, 0x4c, 0x84, 0xf5, 0x52, 0x13, 0xe1, 0x74, 0x4b, 0xd2, 0xec, 0x2f, 0x6a,
0xd2, 0xdc, 0x3b, 0x2d, 0x49, 0xfd, 0xff, 0x63, 0x01, 0x29, 0x52, 0x2f, 0x79, 0xca, 0x4d, 0x1b, 0x49, 0x9a, 0x7b, 0xab, 0x25, 0xa9, 0xff, 0xff, 0x2c, 0x20, 0x45, 0xea, 0x25, 0x4f, 0xb8, 0x69,
0x21, 0x0d, 0x84, 0x10, 0xfb, 0xd6, 0xd5, 0x38, 0x40, 0xae, 0x96, 0xfc, 0x9a, 0xb1, 0xa2, 0x1e, 0x23, 0xa4, 0x81, 0x10, 0x62, 0xdf, 0xbc, 0x1a, 0x07, 0xc8, 0xd5, 0x92, 0x5f, 0x33, 0x56, 0xd4,
0x33, 0xa5, 0xab, 0x58, 0xf3, 0x4e, 0x59, 0x56, 0xce, 0x4c, 0x5a, 0xbb, 0xdc, 0x4c, 0x5a, 0xbf, 0x63, 0xa6, 0x74, 0x15, 0x6b, 0xde, 0x29, 0xcb, 0xca, 0x99, 0x49, 0x6b, 0x97, 0x9b, 0x49, 0xeb,
0xdc, 0x4c, 0x3a, 0x9b, 0x37, 0x93, 0xf6, 0xff, 0x8a, 0x05, 0x4b, 0x25, 0x64, 0xf6, 0xab, 0x1b, 0x97, 0x9b, 0x49, 0x67, 0xf3, 0x66, 0xd2, 0xfe, 0x5f, 0xb3, 0x60, 0xa9, 0x84, 0xcc, 0x7e, 0x75,
0x38, 0x23, 0x0c, 0x43, 0xfa, 0x54, 0x04, 0x61, 0xe8, 0x60, 0xff, 0x2f, 0xc0, 0xbc, 0xc1, 0x5a, 0x03, 0x67, 0x84, 0x61, 0x48, 0x9f, 0x8a, 0x20, 0x0c, 0x1d, 0xec, 0xff, 0x25, 0x98, 0x37, 0x58,
0xbf, 0xba, 0xf6, 0xf3, 0x5a, 0x22, 0xa7, 0x6c, 0x03, 0xeb, 0xff, 0xcf, 0x0a, 0x90, 0x22, 0x7b, 0xeb, 0x57, 0xd7, 0x7e, 0x5e, 0x4b, 0xe4, 0x94, 0x6d, 0x60, 0xfd, 0xff, 0x5d, 0x01, 0x52, 0x64,
0xff, 0x7f, 0xed, 0x43, 0x71, 0x9e, 0xaa, 0x25, 0xf3, 0xf4, 0xff, 0x74, 0xe7, 0xf9, 0x08, 0x16, 0xef, 0x5f, 0x6b, 0x1f, 0x8a, 0xf3, 0x54, 0x2d, 0x99, 0xa7, 0x3f, 0xd3, 0x9d, 0xe7, 0x03, 0x58,
0x45, 0x20, 0xa8, 0x66, 0xcc, 0xe2, 0x14, 0x53, 0xcc, 0x60, 0x7a, 0xb2, 0x69, 0xa3, 0x6e, 0x18, 0x14, 0x81, 0xa0, 0x9a, 0x31, 0x8b, 0x53, 0x4c, 0x31, 0x83, 0xe9, 0xc9, 0xa6, 0x8d, 0xba, 0x61,
0x81, 0x6f, 0xda, 0xf6, 0x9b, 0x33, 0x55, 0xdb, 0x7d, 0xe8, 0x89, 0x19, 0xda, 0x39, 0xa3, 0x61, 0x04, 0xbe, 0x69, 0xdb, 0x6f, 0xce, 0x54, 0x6d, 0xf7, 0xa1, 0x27, 0x66, 0x68, 0xe7, 0x8c, 0x86,
0x7a, 0x38, 0x39, 0xe2, 0x91, 0x90, 0x7e, 0x14, 0xa2, 0x1a, 0xa8, 0x67, 0x0a, 0x85, 0xe2, 0xdb, 0xe9, 0xe1, 0xe4, 0x88, 0x47, 0x42, 0xfa, 0x51, 0x88, 0x6a, 0xa0, 0x9e, 0x29, 0x14, 0x8a, 0x6f,
0xd0, 0xd6, 0xb7, 0x0f, 0xb1, 0x1c, 0x39, 0x7b, 0x26, 0x53, 0x25, 0xf4, 0x52, 0x64, 0x1b, 0x3a, 0x43, 0x5b, 0xdf, 0x3e, 0xc4, 0x72, 0xe4, 0xec, 0x99, 0x4c, 0x95, 0xd0, 0x4b, 0x91, 0x6d, 0xe8,
0x28, 0x24, 0x87, 0xea, 0xbb, 0x0a, 0x7e, 0xf7, 0x0e, 0x1b, 0xcd, 0xee, 0x8c, 0x93, 0xfb, 0x86, 0xa0, 0x90, 0x1c, 0xaa, 0xef, 0x2a, 0xf8, 0xdd, 0x5b, 0x6c, 0x34, 0xbb, 0x33, 0x4e, 0xee, 0x1b,
0xfc, 0x26, 0x74, 0xcc, 0x03, 0xa0, 0xd0, 0x4a, 0xca, 0x4e, 0x04, 0xec, 0x73, 0xb3, 0x30, 0xd9, 0xf2, 0x9b, 0xd0, 0x31, 0x0f, 0x80, 0x42, 0x2b, 0x29, 0x3b, 0x11, 0xb0, 0xcf, 0xcd, 0xc2, 0x64,
0x84, 0x6e, 0xfe, 0x04, 0x29, 0xa2, 0x79, 0xa6, 0x54, 0x50, 0x28, 0x4e, 0x3e, 0x15, 0x0e, 0xcb, 0x13, 0xba, 0xf9, 0x13, 0xa4, 0x88, 0xe6, 0x99, 0x52, 0x41, 0xa1, 0x38, 0xf9, 0x58, 0x38, 0x2c,
0x3a, 0xda, 0x4e, 0x6e, 0x9b, 0x9f, 0x69, 0xd3, 0xb4, 0xce, 0xff, 0x68, 0x2e, 0xcc, 0xdf, 0x01, 0xeb, 0x68, 0x3b, 0xb9, 0x6d, 0x7e, 0xa6, 0x4d, 0xd3, 0x3a, 0xff, 0xa3, 0xb9, 0x30, 0x7f, 0x07,
0xc8, 0x30, 0xd2, 0x85, 0xf6, 0x8b, 0x83, 0x9d, 0x7d, 0x77, 0x6b, 0x77, 0x73, 0x7f, 0x7f, 0x67, 0x20, 0xc3, 0x48, 0x17, 0xda, 0xcf, 0x0f, 0x76, 0xf6, 0xdd, 0xad, 0xdd, 0xcd, 0xfd, 0xfd, 0x9d,
0xaf, 0x3b, 0x43, 0x08, 0x74, 0xd0, 0xd4, 0xb7, 0xad, 0x30, 0x8b, 0x61, 0xc2, 0xb8, 0x22, 0xb1, 0xbd, 0xee, 0x0c, 0x21, 0xd0, 0x41, 0x53, 0xdf, 0xb6, 0xc2, 0x2c, 0x86, 0x09, 0xe3, 0x8a, 0xc4,
0x0a, 0x59, 0x86, 0xee, 0xb3, 0xfd, 0x1c, 0x5a, 0x7d, 0xdc, 0x54, 0xfc, 0x61, 0xaf, 0xc0, 0x32, 0x2a, 0x64, 0x19, 0xba, 0x4f, 0xf7, 0x73, 0x68, 0xf5, 0x51, 0x53, 0xf1, 0x87, 0xbd, 0x02, 0xcb,
0x0f, 0xf4, 0x7d, 0xcc, 0xc9, 0x43, 0x6a, 0x27, 0x7f, 0xdf, 0x82, 0x6b, 0xb9, 0x8c, 0x2c, 0xe4, 0x3c, 0xd0, 0xf7, 0x11, 0x27, 0x0f, 0xa9, 0x9d, 0xfc, 0x43, 0x0b, 0xae, 0xe5, 0x32, 0xb2, 0x90,
0x8b, 0x2b, 0x20, 0xa6, 0x56, 0x62, 0x82, 0xe8, 0x80, 0x90, 0xba, 0x66, 0x4e, 0x82, 0x14, 0x33, 0x2f, 0xae, 0x80, 0x98, 0x5a, 0x89, 0x09, 0xa2, 0x03, 0x42, 0xea, 0x9a, 0x39, 0x09, 0x52, 0xcc,
0x18, 0xcd, 0x6b, 0xba, 0x69, 0x8e, 0x93, 0xca, 0xb2, 0xec, 0x55, 0x15, 0x59, 0x93, 0xeb, 0xf8, 0x60, 0x34, 0xaf, 0xe9, 0xa6, 0x39, 0x4e, 0x2a, 0xcb, 0xb2, 0x57, 0x55, 0x64, 0x4d, 0xae, 0xe3,
0x31, 0x0f, 0x20, 0xd6, 0x33, 0x32, 0x07, 0xb0, 0xd9, 0x65, 0x99, 0x64, 0xc7, 0x0a, 0x43, 0xd9, 0xc7, 0x3c, 0x80, 0x58, 0xcf, 0xc8, 0x1c, 0xc0, 0x66, 0x97, 0x65, 0x92, 0x1d, 0x2b, 0x0c, 0x65,
0x31, 0xfb, 0x5b, 0x9a, 0x67, 0xff, 0xaf, 0x1a, 0x90, 0xef, 0x4e, 0x68, 0x7c, 0x81, 0x31, 0x5d, 0xc7, 0xec, 0x6f, 0x69, 0x9e, 0xfd, 0x7f, 0x6a, 0x40, 0xbe, 0x3b, 0xa1, 0xf1, 0x05, 0xc6, 0x74,
0xca, 0x72, 0xba, 0x9a, 0xb7, 0x0b, 0xce, 0x8e, 0x27, 0x47, 0x5f, 0xd0, 0x0b, 0x19, 0x83, 0x59, 0x29, 0xcb, 0xe9, 0x6a, 0xde, 0x2e, 0x38, 0x3b, 0x9e, 0x1c, 0x7d, 0x4e, 0x2f, 0x64, 0x0c, 0x66,
0xb9, 0x52, 0x0c, 0x66, 0x59, 0x0c, 0x64, 0xed, 0xf2, 0x18, 0xc8, 0xfa, 0x65, 0x31, 0x90, 0xdf, 0xe5, 0x4a, 0x31, 0x98, 0x65, 0x31, 0x90, 0xb5, 0xcb, 0x63, 0x20, 0xeb, 0x97, 0xc5, 0x40, 0x7e,
0x80, 0x79, 0xff, 0x24, 0x8c, 0x98, 0x38, 0x60, 0x2a, 0x44, 0xd2, 0x9b, 0x5d, 0xab, 0xb2, 0xa3, 0x0d, 0xe6, 0xfd, 0x93, 0x30, 0x62, 0xe2, 0x80, 0xa9, 0x10, 0x49, 0x6f, 0x76, 0xad, 0xca, 0x8e,
0xb7, 0x00, 0xf7, 0x19, 0x46, 0x1e, 0x65, 0x85, 0xe8, 0xf0, 0x04, 0x63, 0x76, 0x75, 0x01, 0xb1, 0xde, 0x02, 0xdc, 0x67, 0x18, 0xf9, 0x34, 0x2b, 0x44, 0x87, 0x27, 0x18, 0xb3, 0xab, 0x0b, 0x88,
0x33, 0x3c, 0xa1, 0x7b, 0xd1, 0xc0, 0x4b, 0xa3, 0x18, 0xcf, 0x69, 0xf2, 0x63, 0x86, 0x27, 0xe4, 0x9d, 0xe1, 0x09, 0xdd, 0x8b, 0x06, 0x5e, 0x1a, 0xc5, 0x78, 0x4e, 0x93, 0x1f, 0x33, 0x3c, 0x21,
0x36, 0x74, 0x92, 0x68, 0xc2, 0x94, 0x2a, 0x39, 0x0d, 0xdc, 0xd0, 0xd4, 0xe6, 0xe8, 0x01, 0x9f, 0xb7, 0xa1, 0x93, 0x44, 0x13, 0xa6, 0x54, 0xc9, 0x69, 0xe0, 0x86, 0xa6, 0x36, 0x47, 0x0f, 0xf8,
0x8c, 0x75, 0x58, 0x9a, 0x24, 0xd4, 0x1d, 0xf9, 0x49, 0xc2, 0x36, 0xce, 0x41, 0x14, 0xa6, 0x71, 0x64, 0xac, 0xc3, 0xd2, 0x24, 0xa1, 0xee, 0xc8, 0x4f, 0x12, 0xb6, 0x71, 0x0e, 0xa2, 0x30, 0x8d,
0x14, 0x08, 0x73, 0xd3, 0xe2, 0x24, 0xa1, 0xcf, 0x79, 0xce, 0x16, 0xcf, 0x20, 0xdf, 0xce, 0xba, 0xa3, 0x40, 0x98, 0x9b, 0x16, 0x27, 0x09, 0x7d, 0xc6, 0x73, 0xb6, 0x78, 0x06, 0xf9, 0x76, 0xd6,
0x34, 0xf6, 0xfc, 0x38, 0xe9, 0x01, 0x76, 0x49, 0x8e, 0x94, 0xf5, 0xfb, 0xc0, 0xf3, 0x63, 0xd5, 0xa5, 0xb1, 0xe7, 0xc7, 0x49, 0x0f, 0xb0, 0x4b, 0x72, 0xa4, 0xac, 0xdf, 0x07, 0x9e, 0x1f, 0xab,
0x17, 0x96, 0x48, 0x72, 0xb1, 0x99, 0xad, 0x7c, 0x6c, 0xe6, 0x8f, 0xca, 0x63, 0x33, 0xe7, 0xb1, 0xbe, 0xb0, 0x44, 0x92, 0x8b, 0xcd, 0x6c, 0xe5, 0x63, 0x33, 0x7f, 0x54, 0x1e, 0x9b, 0x39, 0x8f,
0xea, 0x87, 0xa2, 0xea, 0xe2, 0x12, 0x5f, 0x3d, 0x44, 0xf3, 0x57, 0x13, 0x74, 0x29, 0xe2, 0x04, 0x55, 0x3f, 0x14, 0x55, 0x17, 0x97, 0xf8, 0xea, 0x21, 0x9a, 0xbf, 0x9a, 0xa0, 0x4b, 0x11, 0x27,
0xd7, 0xa1, 0x21, 0x87, 0xc9, 0xce, 0xea, 0xc7, 0x71, 0x34, 0x92, 0x67, 0x75, 0xf6, 0x9b, 0x74, 0xb8, 0x0e, 0x0d, 0x39, 0x4c, 0x76, 0x56, 0x3f, 0x8e, 0xa3, 0x91, 0x3c, 0xab, 0xb3, 0xdf, 0xa4,
0xa0, 0x92, 0x46, 0xe2, 0xe3, 0x4a, 0x1a, 0xd9, 0xbf, 0x0b, 0x2d, 0x6d, 0xa5, 0xc8, 0x07, 0xdc, 0x03, 0x95, 0x34, 0x12, 0x1f, 0x57, 0xd2, 0xc8, 0xfe, 0x5d, 0x68, 0x69, 0x2b, 0x45, 0xde, 0xe3,
0x6c, 0xc0, 0x74, 0x42, 0x71, 0xc8, 0xe7, 0xde, 0x9e, 0xa6, 0x40, 0x9f, 0x0d, 0xc9, 0x37, 0x61, 0x66, 0x03, 0xa6, 0x13, 0x8a, 0x43, 0x3e, 0xf7, 0xf6, 0x34, 0x05, 0xfa, 0x74, 0x48, 0xbe, 0x01,
0x71, 0xe8, 0xc7, 0x14, 0xc3, 0x9c, 0xdd, 0x98, 0x9e, 0xd1, 0x38, 0x91, 0x26, 0x91, 0xae, 0xca, 0x8b, 0x43, 0x3f, 0xa6, 0x18, 0xe6, 0xec, 0xc6, 0xf4, 0x8c, 0xc6, 0x89, 0x34, 0x89, 0x74, 0x55,
0x70, 0x38, 0x6e, 0xbb, 0xb0, 0x64, 0x4c, 0x8d, 0x12, 0x0e, 0xb3, 0x18, 0xdc, 0x28, 0xad, 0xb2, 0x86, 0xc3, 0x71, 0xdb, 0x85, 0x25, 0x63, 0x6a, 0x94, 0x70, 0x98, 0xc5, 0xe0, 0x46, 0x69, 0x95,
0x66, 0xe0, 0xa3, 0xc8, 0x63, 0xdb, 0xaa, 0xb0, 0xe6, 0xb8, 0xe3, 0x38, 0x3a, 0xc2, 0x46, 0x2c, 0x35, 0x03, 0x1f, 0x45, 0x1e, 0xdb, 0x56, 0x85, 0x35, 0xc7, 0x1d, 0xc7, 0xd1, 0x11, 0x36, 0x62,
0xc7, 0xc0, 0xec, 0xff, 0x51, 0x85, 0xea, 0x6e, 0x34, 0xd6, 0x7d, 0x54, 0x56, 0xd1, 0x47, 0x25, 0x39, 0x06, 0x66, 0xff, 0xaf, 0x2a, 0x54, 0x77, 0xa3, 0xb1, 0xee, 0xa3, 0xb2, 0x8a, 0x3e, 0x2a,
0xf4, 0x5f, 0x57, 0xa9, 0xb7, 0x42, 0x49, 0x31, 0x40, 0x72, 0x1f, 0x3a, 0x8c, 0xd3, 0xd2, 0x88, 0xa1, 0xff, 0xba, 0x4a, 0xbd, 0x15, 0x4a, 0x8a, 0x01, 0x92, 0xfb, 0xd0, 0x61, 0x9c, 0x96, 0x46,
0xe9, 0xfb, 0xe7, 0x5e, 0xcc, 0x23, 0x21, 0xab, 0x48, 0xbe, 0xb9, 0x1c, 0xb2, 0x0c, 0x55, 0xa5, 0x4c, 0xdf, 0x3f, 0xf7, 0x62, 0x1e, 0x09, 0x59, 0x45, 0xf2, 0xcd, 0xe5, 0x90, 0x65, 0xa8, 0x2a,
0xb6, 0x61, 0x01, 0x96, 0x64, 0x87, 0x4d, 0x8c, 0x03, 0xb8, 0x10, 0xa6, 0x57, 0x91, 0x62, 0x82, 0xb5, 0x0d, 0x0b, 0xb0, 0x24, 0x3b, 0x6c, 0x62, 0x1c, 0xc0, 0x85, 0x30, 0xbd, 0x8a, 0x14, 0x13,
0xcb, 0xfc, 0x9e, 0xb3, 0x33, 0xdf, 0x7c, 0xcb, 0xb2, 0x98, 0x2e, 0xce, 0x18, 0x76, 0x94, 0xa9, 0x5c, 0xe6, 0xf7, 0x9c, 0x9d, 0xf9, 0xe6, 0x5b, 0x96, 0xc5, 0x74, 0x71, 0xc6, 0xb0, 0xa3, 0x4c,
0xb6, 0x2a, 0xad, 0x3b, 0x15, 0x1a, 0xa6, 0x53, 0x61, 0x0d, 0x5a, 0x69, 0x70, 0xe6, 0x8e, 0xbd, 0xb5, 0x55, 0x69, 0xdd, 0xa9, 0xd0, 0x30, 0x9d, 0x0a, 0x6b, 0xd0, 0x4a, 0x83, 0x33, 0x77, 0xec,
0x8b, 0x20, 0xf2, 0x86, 0x82, 0x51, 0x74, 0x88, 0x3c, 0x04, 0x18, 0x8d, 0xc7, 0x82, 0x8a, 0xd1, 0x5d, 0x04, 0x91, 0x37, 0x14, 0x8c, 0xa2, 0x43, 0xe4, 0x21, 0xc0, 0x68, 0x3c, 0x16, 0x54, 0x8c,
0x82, 0xd0, 0xda, 0xe8, 0x8a, 0xd9, 0x7f, 0x7e, 0x70, 0xc0, 0xa9, 0xcf, 0xd1, 0xca, 0x90, 0x1d, 0x16, 0x84, 0xd6, 0x46, 0x57, 0xcc, 0xfe, 0xb3, 0x83, 0x03, 0x4e, 0x7d, 0x8e, 0x56, 0x86, 0xec,
0xe8, 0x94, 0x86, 0x25, 0xdf, 0x94, 0xde, 0xea, 0x68, 0xbc, 0x5e, 0x42, 0xe7, 0xb9, 0x8f, 0xfa, 0x40, 0xa7, 0x34, 0x2c, 0xf9, 0xa6, 0xf4, 0x56, 0x47, 0xe3, 0xf5, 0x12, 0x3a, 0xcf, 0x7d, 0xd4,
0xbf, 0x0d, 0xe4, 0x97, 0x8c, 0x2a, 0x7e, 0x0d, 0x4d, 0xd5, 0x43, 0x3d, 0x96, 0x17, 0x43, 0x52, 0xff, 0x6d, 0x20, 0xbf, 0x64, 0x54, 0xf1, 0x2b, 0x68, 0xaa, 0x1e, 0xea, 0xb1, 0xbc, 0x18, 0x92,
0x5a, 0x66, 0x2c, 0x2f, 0x46, 0xa0, 0xdc, 0x81, 0x0e, 0xdf, 0x6d, 0x94, 0xfc, 0xe4, 0x61, 0x04, 0xd2, 0x32, 0x63, 0x79, 0x31, 0x02, 0xe5, 0x0e, 0x74, 0xf8, 0x6e, 0xa3, 0xe4, 0x27, 0x0f, 0x23,
0x39, 0xd4, 0xfe, 0x53, 0x0b, 0xea, 0x48, 0x79, 0x4c, 0xfd, 0xe2, 0x79, 0xca, 0xb9, 0x87, 0x5d, 0xc8, 0xa1, 0xf6, 0x9f, 0x5a, 0x50, 0x47, 0xca, 0x63, 0xea, 0x17, 0xcf, 0x53, 0xce, 0x3d, 0xec,
0x9b, 0x77, 0xf2, 0x30, 0xb1, 0x8d, 0xeb, 0x0a, 0x15, 0x45, 0x06, 0xfa, 0x95, 0x85, 0x35, 0x68, 0xda, 0xbc, 0x93, 0x87, 0x89, 0x6d, 0x5c, 0x57, 0xa8, 0x28, 0x32, 0xd0, 0xaf, 0x2c, 0xac, 0x41,
0xaa, 0x96, 0x34, 0x52, 0xca, 0x40, 0x72, 0x0b, 0x6a, 0xa7, 0xd1, 0x58, 0x9e, 0x50, 0x21, 0x9b, 0x53, 0xb5, 0xa4, 0x91, 0x52, 0x06, 0x92, 0x5b, 0x50, 0x3b, 0x8d, 0xc6, 0xf2, 0x84, 0x0a, 0xd9,
0x51, 0x07, 0xf1, 0xac, 0x3f, 0xac, 0x3e, 0x3e, 0x04, 0x7e, 0x0a, 0xc8, 0xc3, 0x25, 0x63, 0x9d, 0x8c, 0x3a, 0x88, 0x67, 0xfd, 0x61, 0xf5, 0xf1, 0x21, 0xf0, 0x53, 0x40, 0x1e, 0x2e, 0x19, 0xeb,
0x2d, 0x1d, 0xeb, 0x2b, 0x58, 0x60, 0xf2, 0x41, 0x73, 0x76, 0x4c, 0xdf, 0x8b, 0x3e, 0x64, 0xaa, 0x6c, 0xe9, 0x58, 0x5f, 0xc2, 0x02, 0x93, 0x0f, 0x9a, 0xb3, 0x63, 0xfa, 0x5e, 0xf4, 0x3e, 0x53,
0xcd, 0x20, 0x98, 0x0c, 0xa9, 0x6e, 0x27, 0x40, 0x63, 0xb6, 0xc0, 0xa5, 0x86, 0x6c, 0xff, 0x13, 0x6d, 0x06, 0xc1, 0x64, 0x48, 0x75, 0x3b, 0x01, 0x1a, 0xb3, 0x05, 0x2e, 0x35, 0x64, 0xfb, 0x9f,
0x8b, 0xcb, 0x1d, 0x56, 0x2f, 0xb9, 0x07, 0x35, 0xb6, 0x6d, 0xe4, 0xcc, 0x42, 0x2a, 0x4c, 0x88, 0x5b, 0x5c, 0xee, 0xb0, 0x7a, 0xc9, 0x3d, 0xa8, 0xb1, 0x6d, 0x23, 0x67, 0x16, 0x52, 0x61, 0x42,
0x95, 0x73, 0xb0, 0x04, 0x5b, 0x45, 0x34, 0x37, 0xeb, 0xb5, 0x73, 0x63, 0x73, 0x76, 0xc8, 0x56, 0xac, 0x9c, 0x83, 0x25, 0xd8, 0x2a, 0xa2, 0xb9, 0x59, 0xaf, 0x9d, 0x1b, 0x9b, 0xb3, 0x43, 0xb6,
0x23, 0xcb, 0x9d, 0x4d, 0x73, 0x28, 0x59, 0xd7, 0x7c, 0x75, 0x35, 0x63, 0x2b, 0x92, 0x9a, 0xd4, 0x1a, 0x59, 0xee, 0x6c, 0x9a, 0x43, 0xc9, 0xba, 0xe6, 0xab, 0xab, 0x19, 0x5b, 0x91, 0xd4, 0xa4,
0xf0, 0x84, 0x6a, 0x3e, 0xba, 0x3f, 0xb2, 0x60, 0xde, 0xe8, 0x13, 0xe3, 0x1e, 0x0c, 0xe6, 0xe7, 0x86, 0x27, 0x54, 0xf3, 0xd1, 0xfd, 0xa1, 0x05, 0xf3, 0x46, 0x9f, 0x18, 0xf7, 0x60, 0x30, 0x3f,
0x56, 0x26, 0xb1, 0xf2, 0x3a, 0xa4, 0x73, 0x5e, 0xc5, 0xe4, 0x3c, 0xe5, 0xf3, 0xa9, 0xea, 0x3e, 0xb7, 0x32, 0x89, 0x95, 0xd7, 0x21, 0x9d, 0xf3, 0x2a, 0x26, 0xe7, 0x29, 0x9f, 0x4f, 0x55, 0xf7,
0x9f, 0x87, 0xd0, 0xcc, 0xee, 0xab, 0x98, 0x9d, 0x62, 0x2d, 0xca, 0x80, 0xa9, 0xac, 0x50, 0xe6, 0xf9, 0x3c, 0x84, 0x66, 0x76, 0x5f, 0xc5, 0xec, 0x14, 0x6b, 0x51, 0x06, 0x4c, 0x65, 0x85, 0x32,
0x55, 0xa8, 0x6b, 0x5e, 0x05, 0xfb, 0x11, 0xb4, 0xb4, 0xf2, 0xba, 0x57, 0xc0, 0x32, 0xbc, 0x02, 0xaf, 0x42, 0x5d, 0xf3, 0x2a, 0xd8, 0x9f, 0x42, 0x4b, 0x2b, 0xaf, 0x7b, 0x05, 0x2c, 0xc3, 0x2b,
0x2a, 0x9a, 0xb0, 0x92, 0x45, 0x13, 0xda, 0x3f, 0xab, 0xc0, 0x3c, 0x23, 0x6f, 0x3f, 0x3c, 0x39, 0xa0, 0xa2, 0x09, 0x2b, 0x59, 0x34, 0xa1, 0xfd, 0xb3, 0x0a, 0xcc, 0x33, 0xf2, 0xf6, 0xc3, 0x93,
0x88, 0x02, 0x7f, 0x70, 0x81, 0x64, 0x25, 0x29, 0x59, 0xa8, 0x0d, 0x92, 0xcc, 0x4d, 0x98, 0x89, 0x83, 0x28, 0xf0, 0x07, 0x17, 0x48, 0x56, 0x92, 0x92, 0x85, 0xda, 0x20, 0xc9, 0xdc, 0x84, 0x99,
0x21, 0x15, 0x42, 0xcd, 0x65, 0xa6, 0x4a, 0x33, 0xa1, 0xca, 0x44, 0xd2, 0x91, 0x97, 0x50, 0xed, 0x18, 0x52, 0x21, 0xd4, 0x5c, 0x66, 0xaa, 0x34, 0x13, 0xaa, 0x4c, 0x24, 0x1d, 0x79, 0x09, 0xd5,
0x02, 0x8b, 0x63, 0x82, 0x4c, 0xf4, 0x31, 0x00, 0x63, 0x43, 0x47, 0x7e, 0x10, 0xf8, 0xbc, 0x2c, 0x2e, 0xb0, 0x38, 0x26, 0xc8, 0x44, 0x1f, 0x03, 0x30, 0x36, 0x74, 0xe4, 0x07, 0x81, 0xcf, 0xcb,
0x3f, 0xef, 0x96, 0x65, 0xb1, 0x36, 0x87, 0x7e, 0xe2, 0x1d, 0x65, 0xfe, 0x5c, 0x95, 0x46, 0x63, 0xf2, 0xf3, 0x6e, 0x59, 0x16, 0x6b, 0x73, 0xe8, 0x27, 0xde, 0x51, 0xe6, 0xcf, 0x55, 0x69, 0x34,
0xa9, 0xf7, 0x56, 0x33, 0x96, 0xf2, 0x60, 0x72, 0x13, 0xcc, 0x2f, 0xe4, 0x5c, 0x61, 0x21, 0xed, 0x96, 0x7a, 0x6f, 0x34, 0x63, 0x29, 0x0f, 0x26, 0x37, 0xc1, 0xfc, 0x42, 0xce, 0x15, 0x16, 0xd2,
0x7f, 0x5d, 0x81, 0x96, 0x46, 0x16, 0x8c, 0x9d, 0x4b, 0xf7, 0x3d, 0x0d, 0x15, 0x81, 0x0e, 0xa1, 0xfe, 0xb7, 0x15, 0x68, 0x69, 0x64, 0xc1, 0xd8, 0xb9, 0x74, 0xdf, 0xd3, 0x50, 0x11, 0xe8, 0x10,
0x61, 0x41, 0xd1, 0x10, 0x72, 0xdb, 0x6c, 0x15, 0x1d, 0x27, 0xc8, 0xf0, 0x06, 0x09, 0xdd, 0x80, 0x1a, 0x16, 0x14, 0x0d, 0x21, 0xb7, 0xcd, 0x56, 0xd1, 0x71, 0x82, 0x0c, 0x6f, 0x90, 0xd0, 0x0d,
0x26, 0x23, 0xfd, 0x8f, 0xd1, 0x5c, 0x23, 0x2e, 0x8b, 0x29, 0x40, 0xe6, 0x6e, 0x60, 0x6e, 0x3d, 0x68, 0x32, 0xd2, 0xff, 0x10, 0xcd, 0x35, 0xe2, 0xb2, 0x98, 0x02, 0x64, 0xee, 0x06, 0xe6, 0xd6,
0xcb, 0x45, 0xe0, 0x9d, 0xa1, 0x0f, 0x9f, 0x42, 0x5b, 0x54, 0x83, 0x6b, 0x8c, 0x83, 0xce, 0x98, 0xb3, 0x5c, 0x04, 0xde, 0x1a, 0xfa, 0xf0, 0x31, 0xb4, 0x45, 0x35, 0xb8, 0xc6, 0x38, 0xe8, 0x8c,
0xcf, 0x58, 0x7f, 0xc7, 0x28, 0x29, 0xbf, 0xdc, 0x90, 0x5f, 0x36, 0x2e, 0xfb, 0x52, 0x96, 0xb4, 0xf9, 0x8c, 0xf5, 0x77, 0x8c, 0x92, 0xf2, 0xcb, 0x0d, 0xf9, 0x65, 0xe3, 0xb2, 0x2f, 0x65, 0x49,
0x9f, 0xaa, 0xa8, 0x92, 0xa7, 0xb1, 0x37, 0x3e, 0x95, 0x02, 0xe5, 0x21, 0x2c, 0x49, 0xb9, 0x31, 0xfb, 0x89, 0x8a, 0x2a, 0x79, 0x12, 0x7b, 0xe3, 0x53, 0x29, 0x50, 0x1e, 0xc2, 0x92, 0x94, 0x1b,
0x09, 0xbd, 0x30, 0x8c, 0x26, 0xe1, 0x80, 0xca, 0xc0, 0xc3, 0xb2, 0x2c, 0x7b, 0xa8, 0xc2, 0xd4, 0x93, 0xd0, 0x0b, 0xc3, 0x68, 0x12, 0x0e, 0xa8, 0x0c, 0x3c, 0x2c, 0xcb, 0xb2, 0x87, 0x2a, 0x4c,
0xb1, 0x22, 0x72, 0x1f, 0xea, 0x5c, 0xf1, 0xe4, 0xea, 0x41, 0xb9, 0x08, 0xe1, 0x45, 0xc8, 0x3d, 0x1d, 0x2b, 0x22, 0xf7, 0xa1, 0xce, 0x15, 0x4f, 0xae, 0x1e, 0x94, 0x8b, 0x10, 0x5e, 0x84, 0xdc,
0xa8, 0x73, 0xfd, 0xb3, 0x32, 0x95, 0xe9, 0x79, 0x01, 0x7b, 0x1d, 0x16, 0x30, 0x2e, 0x5e, 0x93, 0x83, 0x3a, 0xd7, 0x3f, 0x2b, 0x53, 0x99, 0x9e, 0x17, 0xb0, 0xd7, 0x61, 0x01, 0xe3, 0xe2, 0x35,
0x7d, 0xef, 0x95, 0xa9, 0x0d, 0xb3, 0x03, 0x1e, 0x3d, 0xbf, 0x0c, 0x64, 0x9f, 0xf3, 0x95, 0xee, 0xd9, 0xf7, 0x4e, 0x99, 0xda, 0x30, 0x3b, 0xe0, 0xd1, 0xf3, 0xcb, 0x40, 0xf6, 0x39, 0x5f, 0xe9,
0x1b, 0xfe, 0xd3, 0x2a, 0xb4, 0x34, 0x98, 0xc9, 0x27, 0x74, 0xe8, 0xb9, 0x43, 0xdf, 0x1b, 0xd1, 0xbe, 0xe1, 0x3f, 0xad, 0x42, 0x4b, 0x83, 0x99, 0x7c, 0x42, 0x87, 0x9e, 0x3b, 0xf4, 0xbd, 0x11,
0x94, 0xc6, 0x82, 0x97, 0x72, 0x28, 0x2b, 0xe7, 0x9d, 0x9d, 0xb8, 0xd1, 0x24, 0x75, 0x87, 0xf4, 0x4d, 0x69, 0x2c, 0x78, 0x29, 0x87, 0xb2, 0x72, 0xde, 0xd9, 0x89, 0x1b, 0x4d, 0x52, 0x77, 0x48,
0x24, 0xa6, 0x54, 0xe8, 0x33, 0x39, 0x94, 0x95, 0x63, 0xd4, 0xac, 0x95, 0xe3, 0x2e, 0xb8, 0x1c, 0x4f, 0x62, 0x4a, 0x85, 0x3e, 0x93, 0x43, 0x59, 0x39, 0x46, 0xcd, 0x5a, 0x39, 0xee, 0x82, 0xcb,
0x2a, 0x3d, 0xbd, 0x7c, 0x9e, 0x6a, 0x99, 0xa7, 0x97, 0xcf, 0x4a, 0x5e, 0xb2, 0xd6, 0x4b, 0x24, 0xa1, 0xd2, 0xd3, 0xcb, 0xe7, 0xa9, 0x96, 0x79, 0x7a, 0xf9, 0xac, 0xe4, 0x25, 0x6b, 0xbd, 0x44,
0xeb, 0x27, 0xb0, 0xc2, 0x65, 0xa8, 0x90, 0x1e, 0x6e, 0x8e, 0xb8, 0xa6, 0xe4, 0x92, 0xfb, 0xd0, 0xb2, 0x7e, 0x04, 0x2b, 0x5c, 0x86, 0x0a, 0xe9, 0xe1, 0xe6, 0x88, 0x6b, 0x4a, 0x2e, 0xb9, 0x0f,
0x65, 0x7d, 0x96, 0xac, 0x91, 0xf8, 0x3f, 0xe5, 0x3c, 0x66, 0x39, 0x05, 0x9c, 0x95, 0x45, 0xd7, 0x5d, 0xd6, 0x67, 0xc9, 0x1a, 0x89, 0xff, 0x53, 0xce, 0x63, 0x96, 0x53, 0xc0, 0x59, 0x59, 0x74,
0x83, 0x5e, 0x96, 0x87, 0xdb, 0x14, 0x70, 0x2c, 0xeb, 0xbd, 0x35, 0xcb, 0x36, 0x45, 0xd9, 0x1c, 0x3d, 0xe8, 0x65, 0x79, 0xb8, 0x4d, 0x01, 0xc7, 0xb2, 0xde, 0x1b, 0xb3, 0x6c, 0x53, 0x94, 0xcd,
0x4e, 0x3e, 0x85, 0xd5, 0x11, 0x1d, 0xfa, 0x9e, 0x59, 0x85, 0x9b, 0x6d, 0xf2, 0xd3, 0xb2, 0x59, 0xe1, 0xe4, 0x63, 0x58, 0x1d, 0xd1, 0xa1, 0xef, 0x99, 0x55, 0xb8, 0xd9, 0x26, 0x3f, 0x2d, 0x9b,
0x2b, 0x6c, 0x16, 0x7e, 0x1a, 0x8d, 0x8e, 0x7c, 0xbe, 0xb1, 0x71, 0x27, 0x49, 0xcd, 0x29, 0xe0, 0xb5, 0xc2, 0x66, 0xe1, 0xa7, 0xd1, 0xe8, 0xc8, 0xe7, 0x1b, 0x1b, 0x77, 0x92, 0xd4, 0x9c, 0x02,
0xf6, 0x3c, 0xb4, 0x0e, 0xd3, 0x68, 0x2c, 0x97, 0xbe, 0x03, 0x6d, 0x9e, 0x14, 0xa1, 0xa6, 0xef, 0x6e, 0xcf, 0x43, 0xeb, 0x30, 0x8d, 0xc6, 0x72, 0xe9, 0x3b, 0xd0, 0xe6, 0x49, 0x11, 0x6a, 0xfa,
0xc1, 0x75, 0xa4, 0xd7, 0x97, 0xd1, 0x38, 0x0a, 0xa2, 0x93, 0x0b, 0xc3, 0xd4, 0xf1, 0x6f, 0x2d, 0x0e, 0x5c, 0x47, 0x7a, 0x7d, 0x11, 0x8d, 0xa3, 0x20, 0x3a, 0xb9, 0x30, 0x4c, 0x1d, 0xff, 0xde,
0x58, 0x32, 0x72, 0x33, 0x5b, 0x07, 0xda, 0x65, 0x65, 0x7c, 0x20, 0x27, 0xf1, 0x45, 0x6d, 0x5b, 0x82, 0x25, 0x23, 0x37, 0xb3, 0x75, 0xa0, 0x5d, 0x56, 0xc6, 0x07, 0x72, 0x12, 0x5f, 0xd4, 0xb6,
0xe0, 0x05, 0xb9, 0x1b, 0xec, 0x95, 0x08, 0x19, 0xdc, 0xcc, 0x2e, 0xbd, 0xc8, 0x0f, 0x39, 0xbd, 0x05, 0x5e, 0x90, 0xbb, 0xc1, 0x5e, 0x8a, 0x90, 0xc1, 0xcd, 0xec, 0xd2, 0x8b, 0xfc, 0x90, 0xd3,
0xf7, 0x8a, 0xf4, 0x2e, 0xbe, 0x97, 0xd7, 0x61, 0x64, 0x15, 0xbf, 0x29, 0x82, 0xa3, 0x86, 0x62, 0x7b, 0xaf, 0x48, 0xef, 0xe2, 0x7b, 0x79, 0x1d, 0x46, 0x56, 0xf1, 0x9b, 0x22, 0x38, 0x6a, 0x28,
0xd0, 0x55, 0x33, 0xa0, 0x45, 0x37, 0x8d, 0xc9, 0x1e, 0x0c, 0x14, 0x98, 0xd8, 0x3f, 0xb7, 0x00, 0x06, 0x5d, 0x35, 0x03, 0x5a, 0x74, 0xd3, 0x98, 0xec, 0xc1, 0x40, 0x81, 0x89, 0xfd, 0x73, 0x0b,
0xb2, 0xde, 0x61, 0x48, 0x8d, 0xda, 0xda, 0xf8, 0xfd, 0x70, 0x6d, 0x1b, 0xfb, 0x00, 0xda, 0x2a, 0x20, 0xeb, 0x1d, 0x86, 0xd4, 0xa8, 0xad, 0x8d, 0xdf, 0x0f, 0xd7, 0xb6, 0xb1, 0xf7, 0xa0, 0xad,
0x2a, 0x22, 0xdb, 0x2d, 0x5b, 0x12, 0x63, 0xda, 0xc5, 0x5d, 0x58, 0x38, 0x09, 0xa2, 0x23, 0xd4, 0xa2, 0x22, 0xb2, 0xdd, 0xb2, 0x25, 0x31, 0xa6, 0x5d, 0xdc, 0x85, 0x85, 0x93, 0x20, 0x3a, 0x42,
0x62, 0x30, 0x76, 0x39, 0x11, 0x01, 0xb7, 0x1d, 0x0e, 0x3f, 0x11, 0x68, 0xb6, 0xb5, 0xd6, 0xf4, 0x2d, 0x06, 0x63, 0x97, 0x13, 0x11, 0x70, 0xdb, 0xe1, 0xf0, 0x63, 0x81, 0x66, 0x5b, 0x6b, 0x4d,
0xad, 0xb5, 0x7c, 0xa3, 0xfc, 0x59, 0x45, 0xb9, 0xa6, 0xb3, 0x99, 0x78, 0x27, 0x97, 0x93, 0x8d, 0xdf, 0x5a, 0xcb, 0x37, 0xca, 0x9f, 0x55, 0x94, 0x6b, 0x3a, 0x9b, 0x89, 0xb7, 0x72, 0x39, 0xd9,
0x82, 0x58, 0x9f, 0xe2, 0x0d, 0xc6, 0x33, 0xd0, 0xc1, 0xa5, 0x96, 0xf2, 0x47, 0xd0, 0x89, 0xb9, 0x28, 0x88, 0xf5, 0x29, 0xde, 0x60, 0x3c, 0x03, 0x1d, 0x5c, 0x6a, 0x29, 0xff, 0x14, 0x3a, 0x31,
0xcc, 0x94, 0x02, 0xb5, 0xf6, 0x0e, 0x81, 0x3a, 0x1f, 0x1b, 0x3b, 0xf3, 0x87, 0xd0, 0xf5, 0x86, 0x97, 0x99, 0x52, 0xa0, 0xd6, 0xde, 0x22, 0x50, 0xe7, 0x63, 0x63, 0x67, 0x7e, 0x1f, 0xba, 0xde,
0x67, 0x34, 0x4e, 0x7d, 0xb4, 0x1c, 0xa2, 0x1a, 0xc5, 0x07, 0xb8, 0xa0, 0xe1, 0xa8, 0xad, 0xdc, 0xf0, 0x8c, 0xc6, 0xa9, 0x8f, 0x96, 0x43, 0x54, 0xa3, 0xf8, 0x00, 0x17, 0x34, 0x1c, 0xb5, 0x95,
0x85, 0x05, 0x11, 0xfe, 0xac, 0x4a, 0x8a, 0x9b, 0x92, 0x19, 0xcc, 0x0a, 0xda, 0xff, 0x50, 0x7a, 0xbb, 0xb0, 0x20, 0xc2, 0x9f, 0x55, 0x49, 0x71, 0x53, 0x32, 0x83, 0x59, 0x41, 0xfb, 0x1f, 0x4b,
0xc2, 0xcd, 0xd5, 0x7d, 0xf7, 0xac, 0xe8, 0x23, 0xac, 0xe4, 0x46, 0xf8, 0x0d, 0xe1, 0x99, 0x1e, 0x4f, 0xb8, 0xb9, 0xba, 0x6f, 0x9f, 0x15, 0x7d, 0x84, 0x95, 0xdc, 0x08, 0xbf, 0x26, 0x3c, 0xd3,
0x4a, 0x13, 0x65, 0x55, 0x0b, 0xb3, 0x1b, 0x8a, 0x48, 0x02, 0x73, 0x5a, 0x6b, 0x57, 0x99, 0x56, 0x43, 0x69, 0xa2, 0xac, 0x6a, 0x61, 0x76, 0x43, 0x11, 0x49, 0x60, 0x4e, 0x6b, 0xed, 0x2a, 0xd3,
0xfb, 0x3f, 0x58, 0x30, 0xb7, 0x1b, 0x8d, 0x77, 0xd9, 0x14, 0x33, 0x1d, 0x87, 0xb1, 0x89, 0xba, 0x6a, 0xff, 0x27, 0x0b, 0xe6, 0x76, 0xa3, 0xf1, 0x2e, 0x9b, 0x62, 0xa6, 0xe3, 0x30, 0x36, 0x51,
0x7b, 0x20, 0x93, 0x97, 0x84, 0x23, 0x96, 0x6a, 0x25, 0xf3, 0x79, 0xad, 0xe4, 0xb7, 0xe1, 0x3d, 0x77, 0x0f, 0x64, 0xf2, 0x92, 0x70, 0xc4, 0x52, 0xad, 0x64, 0x3e, 0xaf, 0x95, 0xfc, 0x36, 0xbc,
0x34, 0x92, 0xc7, 0xd1, 0x38, 0x8a, 0x19, 0xbb, 0x7a, 0x01, 0x57, 0x41, 0xa2, 0x30, 0x3d, 0x95, 0x83, 0x46, 0xf2, 0x38, 0x1a, 0x47, 0x31, 0x63, 0x57, 0x2f, 0xe0, 0x2a, 0x48, 0x14, 0xa6, 0xa7,
0xe2, 0xf4, 0x5d, 0x45, 0xd0, 0x72, 0x15, 0xa4, 0x67, 0x2e, 0x3f, 0xe1, 0x09, 0x2d, 0x8a, 0x4b, 0x52, 0x9c, 0xbe, 0xad, 0x08, 0x5a, 0xae, 0x82, 0xf4, 0xcc, 0xe5, 0x27, 0x3c, 0xa1, 0x45, 0x71,
0xd9, 0x62, 0x86, 0xfd, 0x1b, 0xd0, 0xc4, 0x13, 0x06, 0x0e, 0xed, 0x23, 0x68, 0x9e, 0x46, 0x63, 0x29, 0x5b, 0xcc, 0xb0, 0x7f, 0x03, 0x9a, 0x78, 0xc2, 0xc0, 0xa1, 0x7d, 0x00, 0xcd, 0xd3, 0x68,
0xf7, 0xd4, 0x0f, 0x53, 0xc9, 0xfe, 0x9d, 0x4c, 0xf5, 0xdf, 0xc5, 0x49, 0x51, 0x05, 0xec, 0x3f, 0xec, 0x9e, 0xfa, 0x61, 0x2a, 0xd9, 0xbf, 0x93, 0xa9, 0xfe, 0xbb, 0x38, 0x29, 0xaa, 0x80, 0xfd,
0x99, 0x85, 0xb9, 0x67, 0xe1, 0x59, 0xe4, 0x0f, 0xd0, 0xfb, 0x3e, 0xa2, 0xa3, 0x48, 0xde, 0xc6, 0x27, 0xb3, 0x30, 0xf7, 0x34, 0x3c, 0x8b, 0xfc, 0x01, 0x7a, 0xdf, 0x47, 0x74, 0x14, 0xc9, 0xdb,
0x60, 0xbf, 0xf1, 0xc2, 0x73, 0x76, 0x5f, 0x92, 0xb3, 0x90, 0x86, 0xb0, 0x33, 0x69, 0xac, 0xdf, 0x18, 0xec, 0x37, 0x5e, 0x78, 0xce, 0xee, 0x4b, 0x72, 0x16, 0xd2, 0x10, 0x76, 0x26, 0x8d, 0xf5,
0x77, 0x14, 0xa9, 0xec, 0xa0, 0x55, 0xd7, 0xee, 0xb3, 0xb0, 0xda, 0xf8, 0x3d, 0x3c, 0x9c, 0x3b, 0xfb, 0x8e, 0x22, 0x95, 0x1d, 0xb4, 0xea, 0xda, 0x7d, 0x16, 0x56, 0x1b, 0xbf, 0x87, 0x87, 0x73,
0x1e, 0x45, 0xab, 0x21, 0x6c, 0xf2, 0x45, 0x98, 0x24, 0x8f, 0xa3, 0xe3, 0x31, 0x3d, 0x02, 0xc2, 0xc7, 0xa3, 0x68, 0x35, 0x84, 0x4d, 0xbe, 0x08, 0x93, 0xe4, 0x71, 0x74, 0x3c, 0xa6, 0x47, 0x40,
0x73, 0x76, 0x4c, 0xb9, 0x9b, 0x43, 0xa9, 0x5e, 0xec, 0x9c, 0xad, 0x83, 0x4c, 0x3d, 0xe3, 0x1f, 0x78, 0xce, 0x8e, 0x29, 0x77, 0x73, 0x28, 0xd5, 0x8b, 0x9d, 0xb3, 0x75, 0x90, 0xa9, 0x67, 0xfc,
0xf0, 0x32, 0x7c, 0x3b, 0xd0, 0x21, 0xa6, 0xa0, 0xe6, 0x6f, 0x01, 0xf3, 0x9b, 0xdc, 0x79, 0x98, 0x03, 0x5e, 0x86, 0x6f, 0x07, 0x3a, 0xc4, 0x14, 0xd4, 0xfc, 0x2d, 0x60, 0x7e, 0x93, 0x3b, 0x0f,
0x49, 0xf3, 0x21, 0x55, 0x42, 0x97, 0x8f, 0x13, 0xf8, 0x9d, 0xd1, 0x3c, 0xae, 0x9d, 0xce, 0x79, 0x33, 0x69, 0x3e, 0xa4, 0x4a, 0xe8, 0xf2, 0x71, 0x02, 0xbf, 0x33, 0x9a, 0xc7, 0xb5, 0xd3, 0x39,
0x9c, 0xb8, 0x3c, 0x9d, 0x33, 0x92, 0xf1, 0x82, 0xe0, 0xc8, 0x1b, 0xbc, 0xe1, 0x87, 0xc9, 0x36, 0x8f, 0x13, 0x97, 0xa7, 0x73, 0x46, 0x32, 0x5e, 0x10, 0x1c, 0x79, 0x83, 0xd7, 0xfc, 0x30, 0xd9,
0xf7, 0x8e, 0x19, 0x20, 0x06, 0x3b, 0x66, 0xeb, 0x8a, 0x11, 0x49, 0x35, 0x47, 0x87, 0xc8, 0x06, 0xe6, 0xde, 0x31, 0x03, 0xc4, 0x60, 0xc7, 0x6c, 0x5d, 0x31, 0x22, 0xa9, 0xe6, 0xe8, 0x10, 0xd9,
0xb4, 0xd0, 0x72, 0x21, 0x56, 0xb6, 0x83, 0x2b, 0xdb, 0xd5, 0x4d, 0x1b, 0xb8, 0xb6, 0x7a, 0x21, 0x80, 0x16, 0x5a, 0x2e, 0xc4, 0xca, 0x76, 0x70, 0x65, 0xbb, 0xba, 0x69, 0x03, 0xd7, 0x56, 0x2f,
0x3d, 0x2e, 0x60, 0xa1, 0x10, 0xb9, 0xed, 0x0d, 0x87, 0x22, 0xa4, 0xa2, 0xcb, 0xef, 0x4c, 0x2a, 0xa4, 0xc7, 0x05, 0x2c, 0x14, 0x22, 0xb7, 0xbd, 0xe1, 0x50, 0x84, 0x54, 0x74, 0xf9, 0x9d, 0x49,
0x00, 0x6d, 0x23, 0x7c, 0xc2, 0x78, 0x81, 0x45, 0x2c, 0x60, 0x60, 0xe4, 0x16, 0xb7, 0x1c, 0x8e, 0x05, 0xa0, 0x6d, 0x84, 0x4f, 0x18, 0x2f, 0xb0, 0x88, 0x05, 0x0c, 0x8c, 0xdc, 0xe2, 0x96, 0xc3,
0x3d, 0x7f, 0x88, 0x41, 0x48, 0xfc, 0xf8, 0xa9, 0x30, 0x56, 0x87, 0xfc, 0x8d, 0x1b, 0xe7, 0x12, 0xb1, 0xe7, 0x0f, 0x31, 0x08, 0x89, 0x1f, 0x3f, 0x15, 0xc6, 0xea, 0x90, 0xbf, 0x71, 0xe3, 0x5c,
0xce, 0x8a, 0x81, 0xb1, 0xb9, 0x51, 0xe9, 0x51, 0x16, 0xea, 0x6d, 0x82, 0xe4, 0x63, 0x74, 0x6a, 0xc2, 0x59, 0x31, 0x30, 0x36, 0x37, 0x2a, 0x3d, 0xca, 0x42, 0xbd, 0x4d, 0x90, 0x7c, 0x88, 0x4e,
0xa7, 0x14, 0xe3, 0xb9, 0x3b, 0x1b, 0xef, 0x89, 0x31, 0x0b, 0xb2, 0x95, 0x7f, 0x0f, 0x59, 0x11, 0xed, 0x94, 0x62, 0x3c, 0x77, 0x67, 0xe3, 0x1d, 0x31, 0x66, 0x41, 0xb6, 0xf2, 0xef, 0x21, 0x2b,
0x87, 0x97, 0x64, 0x6a, 0x1b, 0xf7, 0x2b, 0xac, 0x18, 0x6a, 0x9b, 0x28, 0x8a, 0x7e, 0x05, 0x5e, 0xe2, 0xf0, 0x92, 0x4c, 0x6d, 0xe3, 0x7e, 0x85, 0x15, 0x43, 0x6d, 0x13, 0x45, 0xd1, 0xaf, 0xc0,
0xc0, 0xde, 0x84, 0xb6, 0x5e, 0x01, 0x69, 0x40, 0xed, 0xc5, 0xc1, 0xce, 0x7e, 0x77, 0x86, 0xb4, 0x0b, 0xd8, 0x9b, 0xd0, 0xd6, 0x2b, 0x20, 0x0d, 0xa8, 0x3d, 0x3f, 0xd8, 0xd9, 0xef, 0xce, 0x90,
0x60, 0xee, 0x70, 0xe7, 0xe5, 0xcb, 0xbd, 0x9d, 0xed, 0xae, 0x45, 0xda, 0xd0, 0x50, 0x31, 0xac, 0x16, 0xcc, 0x1d, 0xee, 0xbc, 0x78, 0xb1, 0xb7, 0xb3, 0xdd, 0xb5, 0x48, 0x1b, 0x1a, 0x2a, 0x86,
0x15, 0x96, 0xda, 0xdc, 0xda, 0xda, 0x39, 0x78, 0xb9, 0xb3, 0xdd, 0xad, 0x7e, 0x5e, 0x6b, 0x54, 0xb5, 0xc2, 0x52, 0x9b, 0x5b, 0x5b, 0x3b, 0x07, 0x2f, 0x76, 0xb6, 0xbb, 0xd5, 0xcf, 0x6a, 0x8d,
0xba, 0x55, 0xfb, 0x0f, 0x2b, 0xd0, 0xd2, 0xea, 0xbf, 0xc4, 0x66, 0x74, 0x0b, 0x00, 0x4f, 0x14, 0x4a, 0xb7, 0x6a, 0xff, 0x51, 0x15, 0x5a, 0x5a, 0xfd, 0x97, 0xd8, 0x8c, 0x6e, 0x01, 0xe0, 0x89,
0x59, 0x4c, 0x4b, 0xcd, 0xd1, 0x10, 0x26, 0x21, 0xd5, 0x59, 0xbb, 0xca, 0x2f, 0x90, 0xca, 0x34, 0x22, 0x8b, 0x69, 0xa9, 0x39, 0x1a, 0xc2, 0x24, 0xa4, 0x3a, 0x6b, 0x57, 0xf9, 0x05, 0x52, 0x99,
0xce, 0x1a, 0xde, 0xd4, 0xd4, 0x9d, 0x38, 0x75, 0xc7, 0x04, 0x19, 0x45, 0x09, 0x00, 0x03, 0x2b, 0xc6, 0x59, 0xc3, 0x9b, 0x9a, 0xba, 0x13, 0xa7, 0xee, 0x98, 0x20, 0xa3, 0x28, 0x01, 0x60, 0x60,
0x39, 0x1f, 0xea, 0x10, 0x5b, 0xa1, 0x98, 0x26, 0x51, 0x70, 0x46, 0x79, 0x11, 0xae, 0x97, 0x19, 0x25, 0xe7, 0x43, 0x1d, 0x62, 0x2b, 0x14, 0xd3, 0x24, 0x0a, 0xce, 0x28, 0x2f, 0xc2, 0xf5, 0x32,
0x18, 0x6b, 0x4b, 0x88, 0x1a, 0x2d, 0xe8, 0xb9, 0xee, 0x98, 0x20, 0xf9, 0x96, 0x5c, 0xa1, 0x06, 0x03, 0x63, 0x6d, 0x09, 0x51, 0xa3, 0x05, 0x3d, 0xd7, 0x1d, 0x13, 0x24, 0xdf, 0x94, 0x2b, 0xd4,
0xae, 0xd0, 0x6a, 0x71, 0xba, 0xf5, 0xd5, 0xb1, 0x53, 0x20, 0x9b, 0xc3, 0xa1, 0xc8, 0xd5, 0xaf, 0xc0, 0x15, 0x5a, 0x2d, 0x4e, 0xb7, 0xb1, 0x3a, 0xcf, 0x0a, 0x46, 0x9f, 0x26, 0x2e, 0xd3, 0xd7,
0xa3, 0xc6, 0xfa, 0xfd, 0x67, 0x29, 0x4a, 0x4a, 0xd8, 0xb5, 0x52, 0xce, 0xae, 0xef, 0x24, 0x6a, 0x8b, 0xdf, 0xfd, 0x7a, 0x8c, 0x3f, 0x29, 0x90, 0xcd, 0xe1, 0x50, 0x34, 0xab, 0xdf, 0x8f, 0x8d,
0xfb, 0x19, 0xb4, 0x0e, 0xb4, 0x1b, 0xd5, 0x36, 0x93, 0x6c, 0xf2, 0x2e, 0x35, 0x97, 0x79, 0xdc, 0xf5, 0x0b, 0xd9, 0x52, 0xb6, 0x95, 0xc8, 0x8f, 0x4a, 0xb9, 0xfc, 0x78, 0x2b, 0x97, 0xd9, 0x4f,
0xc6, 0x92, 0xa1, 0x5a, 0x97, 0x2a, 0x7a, 0x97, 0xec, 0x7f, 0x60, 0xf1, 0x4b, 0x6a, 0x6a, 0x08, 0xa1, 0x75, 0xa0, 0x5d, 0xf1, 0xb6, 0x99, 0xa8, 0x95, 0x97, 0xbb, 0xb9, 0x10, 0xe6, 0x46, 0x9f,
0xbc, 0x7d, 0x1b, 0xda, 0xca, 0x4c, 0x9f, 0xc5, 0xf5, 0x1b, 0x18, 0x2b, 0x83, 0xdd, 0x71, 0xa3, 0x0c, 0xd5, 0xba, 0x54, 0xd1, 0xbb, 0x64, 0xff, 0x23, 0x8b, 0xdf, 0x9a, 0x53, 0x43, 0xe0, 0xed,
0xe3, 0xe3, 0x84, 0xca, 0x08, 0x5c, 0x03, 0x93, 0x4a, 0x24, 0x53, 0x4b, 0x7d, 0xde, 0x42, 0x22, 0xdb, 0xd0, 0x56, 0x7e, 0x83, 0xec, 0xa2, 0x81, 0x81, 0xb1, 0x32, 0xd8, 0x1d, 0x37, 0x3a, 0x3e,
0x22, 0x71, 0x0b, 0x38, 0x23, 0x14, 0x61, 0x26, 0x95, 0xb1, 0xc7, 0x2a, 0xad, 0xae, 0x1f, 0xe4, 0x4e, 0xa8, 0x0c, 0x09, 0x36, 0x30, 0xa9, 0xd5, 0x32, 0x3d, 0xd9, 0xe7, 0x2d, 0x24, 0x22, 0x34,
0x67, 0xfa, 0x3e, 0x34, 0x54, 0xbd, 0xe6, 0x0e, 0x21, 0x4b, 0xaa, 0x7c, 0xb6, 0x13, 0xe1, 0x01, 0xb8, 0x80, 0x33, 0xca, 0x15, 0x76, 0x5b, 0x19, 0x0c, 0xad, 0xd2, 0xea, 0x3e, 0x44, 0x7e, 0xa6,
0xd3, 0xe8, 0x34, 0xa7, 0xd7, 0x62, 0x06, 0x59, 0x07, 0x72, 0xec, 0xc7, 0xf9, 0xe2, 0x9c, 0x80, 0xef, 0x43, 0x43, 0xd5, 0x6b, 0x6e, 0x59, 0xb2, 0xa4, 0xca, 0x67, 0x5b, 0x23, 0x9e, 0x78, 0x8d,
0x4b, 0x72, 0xec, 0xd7, 0xb0, 0x24, 0xb9, 0x4f, 0xd3, 0x6e, 0xcd, 0x85, 0xb4, 0x2e, 0x93, 0x4e, 0x4e, 0x73, 0x06, 0x2a, 0x66, 0x90, 0x75, 0x20, 0xc7, 0x7e, 0x9c, 0x2f, 0xce, 0x39, 0xaa, 0x24,
0x95, 0xa2, 0x74, 0xb2, 0xff, 0x55, 0x0d, 0xe6, 0xc4, 0x6a, 0x17, 0x6e, 0xe6, 0xf3, 0xfd, 0xcd, 0xc7, 0x7e, 0x05, 0x4b, 0x52, 0x1c, 0x68, 0xea, 0xb6, 0xb9, 0x90, 0xd6, 0x65, 0xe2, 0xb2, 0x52,
0xc0, 0x48, 0xcf, 0xb8, 0x7f, 0x89, 0x84, 0x20, 0xf6, 0xac, 0x7b, 0xf9, 0x5d, 0x27, 0xb3, 0xb5, 0x14, 0x97, 0xf6, 0xbf, 0xa9, 0xc1, 0x9c, 0x58, 0xed, 0xc2, 0x53, 0x01, 0x7c, 0xc3, 0x35, 0x30,
0xe5, 0x76, 0x9e, 0x15, 0xa8, 0x8d, 0xbd, 0xf4, 0x14, 0x4d, 0x31, 0x9c, 0x96, 0x30, 0x2d, 0xad, 0xd2, 0x33, 0x2e, 0x84, 0x22, 0x21, 0x88, 0x4d, 0xf4, 0x5e, 0x7e, 0x1b, 0xcc, 0x8c, 0x7f, 0xb9,
0xb9, 0x75, 0xd3, 0x9a, 0x5b, 0xf6, 0x1e, 0x01, 0x57, 0xb1, 0x8a, 0xef, 0x11, 0xdc, 0x80, 0x26, 0xad, 0x70, 0x05, 0x6a, 0x63, 0x2f, 0x3d, 0x45, 0xdb, 0x10, 0xa7, 0x25, 0x4c, 0x4b, 0xf3, 0x72,
0xdf, 0x25, 0x33, 0x83, 0x6d, 0x06, 0xe4, 0x76, 0xd5, 0x46, 0x61, 0x57, 0xbd, 0xfa, 0x7e, 0xf7, 0xdd, 0x34, 0x2f, 0x97, 0x3d, 0x90, 0xc0, 0x75, 0xbe, 0xe2, 0x03, 0x09, 0x37, 0xa0, 0xc9, 0xb7,
0x6d, 0x98, 0xe5, 0x77, 0x72, 0x44, 0xa4, 0xf5, 0x0d, 0xe9, 0x8f, 0xe5, 0xe5, 0xe4, 0x5f, 0x1e, 0xed, 0xcc, 0x82, 0x9c, 0x01, 0xb9, 0x6d, 0xbe, 0x51, 0xd8, 0xe6, 0xaf, 0xbe, 0x01, 0x7f, 0x1b,
0xae, 0xe5, 0x88, 0xb2, 0xfa, 0xad, 0xde, 0x96, 0x79, 0xab, 0x57, 0xb7, 0x33, 0xb7, 0x73, 0x76, 0x66, 0xf9, 0x25, 0x21, 0x11, 0xfa, 0x7d, 0x43, 0x3a, 0x88, 0x79, 0x39, 0xf9, 0x97, 0xc7, 0x8f,
0xe6, 0xfb, 0xd0, 0x55, 0xd3, 0x87, 0x86, 0xa1, 0x30, 0x11, 0x81, 0xb8, 0x05, 0x3c, 0x13, 0xe7, 0x39, 0xa2, 0xac, 0x7e, 0xcd, 0xb8, 0x65, 0x5e, 0x33, 0xd6, 0x0d, 0xdf, 0xed, 0x9c, 0xe1, 0xfb,
0x1d, 0x43, 0x9c, 0x33, 0xc1, 0xb2, 0x99, 0xa6, 0x74, 0x34, 0x4e, 0xa5, 0x38, 0x7f, 0x02, 0xf3, 0x3e, 0x74, 0xd5, 0xf4, 0xa1, 0xa5, 0x2a, 0x4c, 0x44, 0x64, 0x70, 0x01, 0xcf, 0xf6, 0x97, 0x8e,
0x46, 0x27, 0x99, 0x14, 0x17, 0xf1, 0xdf, 0xdd, 0x19, 0x32, 0x0f, 0xcd, 0x67, 0xfb, 0xee, 0x93, 0xb1, 0xbf, 0x30, 0x89, 0xb5, 0x99, 0xa6, 0x74, 0x34, 0x4e, 0xe5, 0xfe, 0xf2, 0x18, 0xe6, 0x8d,
0xbd, 0x67, 0x4f, 0x77, 0x5f, 0x76, 0x2d, 0x96, 0x3c, 0x7c, 0xb5, 0xb5, 0xb5, 0xb3, 0xb3, 0x8d, 0x4e, 0xb2, 0x6d, 0x45, 0x04, 0xa4, 0x77, 0x67, 0xc8, 0x3c, 0x34, 0x9f, 0xee, 0xbb, 0x8f, 0xf7,
0x52, 0x1d, 0x60, 0xf6, 0xc9, 0xe6, 0x33, 0x26, 0xe1, 0xab, 0xf6, 0xff, 0xb6, 0xa0, 0xa5, 0x55, 0x9e, 0x3e, 0xd9, 0x7d, 0xd1, 0xb5, 0x58, 0xf2, 0xf0, 0xe5, 0xd6, 0xd6, 0xce, 0xce, 0x36, 0x6e,
0x4f, 0xbe, 0xa3, 0x66, 0x86, 0x5f, 0xfc, 0xbc, 0x59, 0xec, 0xc2, 0xba, 0x94, 0x73, 0xda, 0xd4, 0x33, 0x00, 0xb3, 0x8f, 0x37, 0x9f, 0xb2, 0x2d, 0xa7, 0x6a, 0xff, 0x5f, 0x0b, 0x5a, 0x5a, 0xf5,
0xa8, 0x27, 0x18, 0x2a, 0x53, 0x9f, 0x60, 0x60, 0xcb, 0xe3, 0xf1, 0x1a, 0xd4, 0x3c, 0x70, 0xad, 0xe4, 0x3b, 0x6a, 0x66, 0xf8, 0x4d, 0xd4, 0x9b, 0xc5, 0x2e, 0xac, 0x4b, 0xc1, 0xab, 0x4d, 0x8d,
0x3f, 0x0f, 0xf3, 0x90, 0x9c, 0x4c, 0x38, 0xb3, 0x92, 0xdc, 0xd2, 0x95, 0x87, 0xed, 0x4f, 0x00, 0x7a, 0x13, 0xa2, 0x32, 0xf5, 0x4d, 0x08, 0xb6, 0x3c, 0x1e, 0xaf, 0x41, 0xcd, 0x03, 0x3f, 0x86,
0xb2, 0xde, 0x98, 0xc3, 0x9e, 0x31, 0x87, 0x6d, 0x69, 0xc3, 0xae, 0xd8, 0xdb, 0x5c, 0x60, 0x88, 0xe4, 0x61, 0x1e, 0x23, 0x94, 0xed, 0x16, 0xac, 0x24, 0x37, 0xbd, 0xe5, 0x61, 0xfb, 0x23, 0x80,
0x29, 0x54, 0x0e, 0xc5, 0x6f, 0x01, 0x91, 0x86, 0x15, 0x0c, 0x7d, 0x1b, 0x07, 0x34, 0x95, 0x37, 0xac, 0x37, 0xe6, 0xb0, 0x67, 0xcc, 0x61, 0x5b, 0xda, 0xb0, 0x2b, 0xf6, 0x36, 0x17, 0x18, 0x62,
0x32, 0x16, 0x45, 0xce, 0x33, 0x95, 0x21, 0x2f, 0x15, 0x65, 0xb5, 0x64, 0x72, 0x47, 0x50, 0x5c, 0x0a, 0x95, 0x87, 0xf3, 0x9b, 0x40, 0xa4, 0xa5, 0x07, 0x63, 0xf1, 0xc6, 0x01, 0x4d, 0xe5, 0x15,
0x5e, 0xee, 0x88, 0xa2, 0x8e, 0xca, 0xb7, 0xfb, 0xd0, 0xdb, 0xa6, 0xac, 0xb6, 0xcd, 0x20, 0xc8, 0x91, 0x45, 0x91, 0xf3, 0x54, 0x65, 0xc8, 0x5b, 0x4e, 0x59, 0x2d, 0x99, 0xdc, 0x11, 0x14, 0x97,
0x75, 0x87, 0x9d, 0x8c, 0x4b, 0xf2, 0xc4, 0xb1, 0xf9, 0xbb, 0x70, 0x6d, 0x93, 0x5f, 0xbe, 0xf8, 0x97, 0x3b, 0xa2, 0xa8, 0xa3, 0xf2, 0xed, 0x3e, 0xf4, 0xb6, 0x29, 0xab, 0x6d, 0x33, 0x08, 0x72,
0x55, 0xc5, 0xe6, 0xda, 0x3d, 0x58, 0xc9, 0x57, 0x29, 0x1a, 0x7b, 0x02, 0x8b, 0xdb, 0xf4, 0x68, 0xdd, 0x61, 0x47, 0xf5, 0x92, 0x3c, 0x71, 0x8e, 0xff, 0x2e, 0x5c, 0xdb, 0xe4, 0xb7, 0x41, 0x7e,
0x72, 0xb2, 0x47, 0xcf, 0xb2, 0x86, 0x08, 0xd4, 0x92, 0xd3, 0xe8, 0x5c, 0xcc, 0x0f, 0xfe, 0x26, 0x55, 0xc1, 0xc2, 0x76, 0x0f, 0x56, 0xf2, 0x55, 0x8a, 0xc6, 0x1e, 0xc3, 0xe2, 0x36, 0x3d, 0x9a,
0x37, 0x01, 0x02, 0x56, 0xc6, 0x4d, 0xc6, 0x74, 0x20, 0x2f, 0xd6, 0x22, 0x72, 0x38, 0xa6, 0x03, 0x9c, 0xec, 0xd1, 0xb3, 0xac, 0x21, 0x02, 0xb5, 0xe4, 0x34, 0x3a, 0x17, 0xf3, 0x83, 0xbf, 0xc9,
0xfb, 0x13, 0x20, 0x7a, 0x3d, 0x62, 0xbe, 0x98, 0x2a, 0x3b, 0x39, 0x72, 0x93, 0x8b, 0x24, 0xa5, 0x4d, 0x80, 0x80, 0x95, 0x71, 0x93, 0x31, 0x1d, 0xc8, 0x9b, 0xbe, 0x88, 0x1c, 0x8e, 0xe9, 0xc0,
0x23, 0x79, 0x63, 0x58, 0x87, 0xec, 0xbb, 0xd0, 0x3e, 0xf0, 0x2e, 0x1c, 0xfa, 0x13, 0xf1, 0xe4, 0xfe, 0x08, 0x88, 0x5e, 0x8f, 0x98, 0x2f, 0xa6, 0x5b, 0x4f, 0x8e, 0xdc, 0xe4, 0x22, 0x49, 0xe9,
0xc7, 0x2a, 0xcc, 0x8d, 0xbd, 0x0b, 0xc6, 0xcf, 0xca, 0xda, 0x8e, 0xd9, 0xf6, 0x3f, 0xad, 0xc2, 0x48, 0x5e, 0x61, 0xd6, 0x21, 0xfb, 0x2e, 0xb4, 0x0f, 0xbc, 0x0b, 0x87, 0xfe, 0x44, 0xbc, 0x41,
0x2c, 0x2f, 0xc9, 0x6a, 0x1d, 0xd2, 0x24, 0xf5, 0x43, 0xe4, 0x31, 0x59, 0xab, 0x06, 0x15, 0x04, 0xb2, 0x0a, 0x73, 0x63, 0xef, 0x82, 0xf1, 0xb3, 0x32, 0xff, 0x63, 0xb6, 0xfd, 0x2f, 0xaa, 0x30,
0x66, 0xa5, 0x44, 0x60, 0x0a, 0x13, 0x90, 0xbc, 0xa0, 0x28, 0x48, 0xd6, 0xc0, 0x98, 0xd8, 0xca, 0xcb, 0x4b, 0xb2, 0x5a, 0x87, 0x34, 0x49, 0xfd, 0x10, 0x79, 0x4c, 0xd6, 0xaa, 0x41, 0x05, 0x81,
0x82, 0xec, 0x39, 0xa5, 0x66, 0x40, 0xce, 0x9d, 0x95, 0x29, 0xcc, 0xbc, 0x7f, 0x72, 0x2f, 0x10, 0x59, 0x29, 0x11, 0x98, 0xc2, 0x26, 0x25, 0x6f, 0x4c, 0x0a, 0x92, 0x35, 0x30, 0x26, 0xb6, 0xb2,
0x32, 0x51, 0x87, 0x4a, 0xd5, 0xf2, 0x39, 0x2e, 0x3a, 0x0b, 0x6a, 0x79, 0x41, 0xfd, 0x6e, 0x5c, 0xa8, 0x7f, 0x4e, 0xa9, 0x19, 0x90, 0xf3, 0xaf, 0x65, 0x1a, 0x3c, 0xef, 0x9f, 0xdc, 0x0b, 0x84,
0x41, 0xfd, 0xe6, 0x76, 0xa1, 0x77, 0xa9, 0xdf, 0x70, 0x15, 0xf5, 0xfb, 0x2a, 0x6e, 0xa4, 0x3e, 0x4c, 0xd4, 0xa1, 0xd2, 0x73, 0xc2, 0x1c, 0x17, 0x9d, 0x85, 0x73, 0x42, 0xe1, 0x3c, 0xd0, 0xb8,
0x34, 0x70, 0x4f, 0xd7, 0x44, 0xa4, 0x4c, 0xdb, 0x04, 0xba, 0xf8, 0x7a, 0x02, 0x3b, 0x22, 0x4a, 0xc2, 0x79, 0x80, 0x1b, 0xaa, 0xde, 0x76, 0x1e, 0x80, 0xab, 0x9c, 0x07, 0xae, 0xe2, 0xd7, 0xea,
0xda, 0xff, 0x3b, 0x16, 0x74, 0x05, 0x15, 0xaa, 0x3c, 0xe9, 0x58, 0x7d, 0xd7, 0x35, 0xbb, 0xdb, 0x43, 0x03, 0xf7, 0x74, 0x4d, 0x44, 0xca, 0xb4, 0x4d, 0xa0, 0x8b, 0xcf, 0x39, 0xb0, 0x33, 0xab,
0x30, 0x8f, 0x07, 0x54, 0x25, 0x8f, 0x85, 0x93, 0xd2, 0x00, 0xd9, 0x3c, 0xc8, 0xf0, 0xae, 0x91, 0xa4, 0xfd, 0xbf, 0x67, 0x41, 0x57, 0x50, 0xa1, 0xca, 0x93, 0x9e, 0xde, 0xb7, 0xdd, 0xfb, 0xbb,
0x1f, 0x88, 0x45, 0xd5, 0x21, 0x29, 0xd2, 0x63, 0x4f, 0x04, 0x9b, 0x5b, 0x8e, 0x4a, 0xdb, 0x7f, 0x0d, 0xf3, 0x78, 0x62, 0x56, 0xf2, 0x58, 0x78, 0x4d, 0x0d, 0x90, 0xcd, 0x83, 0x8c, 0x37, 0x1b,
0x6c, 0xc1, 0xa2, 0xd6, 0x61, 0x41, 0xc5, 0x8f, 0xa0, 0xad, 0x1e, 0x29, 0xa1, 0x4a, 0xe3, 0x58, 0xf9, 0x81, 0x58, 0x54, 0x1d, 0x92, 0x22, 0x3d, 0xf6, 0x44, 0xf4, 0xbb, 0xe5, 0xa8, 0xb4, 0xfd,
0x35, 0xd9, 0x2e, 0xfb, 0xcc, 0x28, 0x8c, 0xc4, 0xe0, 0x5d, 0x60, 0x07, 0x93, 0xc9, 0x48, 0x6c, 0xc7, 0x16, 0x2c, 0x6a, 0x1d, 0x16, 0x54, 0xfc, 0x29, 0xb4, 0xd5, 0xab, 0x29, 0x54, 0x69, 0x1c,
0xf5, 0x3a, 0xc4, 0x26, 0xf9, 0x9c, 0xd2, 0x37, 0xaa, 0x08, 0x57, 0x36, 0x0c, 0x0c, 0x0d, 0xfb, 0xab, 0x26, 0xdb, 0x65, 0x9f, 0x19, 0x85, 0x91, 0x18, 0xbc, 0x0b, 0xec, 0x60, 0x32, 0x19, 0x89,
0xec, 0x60, 0xad, 0x0a, 0xd5, 0x84, 0x61, 0x5f, 0x07, 0xed, 0xbf, 0x54, 0x81, 0x25, 0x6e, 0x29, 0xad, 0x5e, 0x87, 0xd8, 0x24, 0x9f, 0x53, 0xfa, 0x5a, 0x15, 0xe1, 0xca, 0x86, 0x81, 0xa1, 0xa7,
0x11, 0x16, 0x2a, 0x75, 0x4f, 0x7c, 0x96, 0x1b, 0x8d, 0x38, 0x47, 0xef, 0xce, 0x38, 0x22, 0x4d, 0x81, 0x9d, 0xf4, 0x55, 0xa1, 0x9a, 0xf0, 0x34, 0xe8, 0xa0, 0xfd, 0x57, 0x2a, 0xb0, 0xc4, 0x4d,
0xbe, 0x73, 0x45, 0xeb, 0x8e, 0x8a, 0x80, 0x9f, 0xb2, 0x16, 0xd5, 0xb2, 0xb5, 0x78, 0xc7, 0x4c, 0x37, 0xc2, 0x64, 0xa6, 0x2e, 0xae, 0xcf, 0x72, 0x2b, 0x16, 0xe7, 0xe8, 0xdd, 0x19, 0x47, 0xa4,
0x97, 0xf9, 0x58, 0xea, 0xe5, 0x3e, 0x96, 0x2b, 0xf9, 0x34, 0x1e, 0xcf, 0x41, 0x3d, 0x19, 0x44, 0xc9, 0x77, 0xae, 0x68, 0x6e, 0x52, 0x21, 0xf9, 0x53, 0xd6, 0xa2, 0x5a, 0xb6, 0x16, 0x6f, 0x99,
0x63, 0x6a, 0xaf, 0xc0, 0xb2, 0x39, 0x05, 0x42, 0xd0, 0xfd, 0xdc, 0x82, 0xde, 0x13, 0xee, 0x42, 0xe9, 0x32, 0xa7, 0x4f, 0xbd, 0xdc, 0xe9, 0x73, 0x25, 0x27, 0xcb, 0xa3, 0x39, 0xa8, 0x27, 0x83,
0xf6, 0xc3, 0x93, 0x5d, 0x3f, 0x49, 0xa3, 0x58, 0x3d, 0xba, 0x71, 0x0b, 0x20, 0x49, 0xbd, 0x58, 0x68, 0x4c, 0xed, 0x15, 0x58, 0x36, 0xa7, 0x40, 0x08, 0xba, 0x9f, 0x5b, 0xd0, 0x7b, 0xcc, 0x7d,
0x9c, 0x34, 0xb8, 0xbe, 0xa6, 0x21, 0x6c, 0x24, 0x34, 0x1c, 0xf2, 0x5c, 0xbe, 0x82, 0x2a, 0x5d, 0xda, 0x7e, 0x78, 0xb2, 0xeb, 0x27, 0x69, 0x14, 0xab, 0x57, 0x40, 0x6e, 0x01, 0x24, 0xa9, 0x17,
0xd0, 0x87, 0x85, 0xb5, 0xc7, 0xd0, 0x2a, 0xef, 0xf0, 0x7b, 0x23, 0xac, 0xcb, 0xf4, 0x0c, 0x77, 0x8b, 0xa3, 0x0f, 0xd7, 0xd7, 0x34, 0x84, 0x8d, 0x84, 0x86, 0x43, 0x9e, 0xcb, 0x57, 0x50, 0xa5,
0x0f, 0x6e, 0x42, 0xc9, 0xa1, 0xf6, 0xef, 0x57, 0x60, 0x21, 0xeb, 0x24, 0xc6, 0x36, 0x99, 0x32, 0x0b, 0xfa, 0xb0, 0x30, 0x3f, 0x19, 0x5a, 0xe5, 0x1d, 0x7e, 0x91, 0x85, 0x75, 0x99, 0x9e, 0xe1,
0x48, 0xa8, 0x92, 0x99, 0x0c, 0x12, 0x9e, 0x19, 0xd7, 0x67, 0xba, 0xa5, 0x66, 0xf0, 0xd1, 0x50, 0xee, 0xc1, 0x6d, 0x3a, 0x39, 0xd4, 0xfe, 0xfd, 0x0a, 0x2c, 0x64, 0x9d, 0xc4, 0x60, 0x2b, 0x53,
0x72, 0x1b, 0x5a, 0x32, 0x15, 0x4d, 0x52, 0xed, 0xf6, 0xbb, 0x0e, 0xf3, 0x48, 0x70, 0xa6, 0xdd, 0x06, 0x09, 0x55, 0x32, 0x93, 0x41, 0xc2, 0x55, 0xe4, 0xfa, 0x4c, 0xb7, 0xd4, 0x2c, 0x50, 0x1a,
0x0a, 0x4d, 0x5d, 0xa4, 0xf0, 0x26, 0xde, 0x28, 0xc5, 0x2f, 0xf9, 0xcc, 0xcb, 0x24, 0xe9, 0x72, 0x4a, 0x6e, 0x43, 0x4b, 0xa6, 0xa2, 0x49, 0xaa, 0x5d, 0xc7, 0xd7, 0x61, 0x1e, 0x9a, 0xce, 0xb4,
0xb5, 0x90, 0x3f, 0x44, 0x84, 0x2a, 0xa1, 0xae, 0x2e, 0x35, 0xd4, 0xab, 0x41, 0x8a, 0x33, 0x79, 0x5b, 0xa1, 0xa9, 0x8b, 0x14, 0x5e, 0x0d, 0x1c, 0xa5, 0xf8, 0x25, 0x9f, 0x79, 0x99, 0x64, 0x27,
0x8d, 0x59, 0x18, 0x7f, 0xcd, 0xd1, 0x21, 0x79, 0xe0, 0x8e, 0x26, 0x9a, 0x3b, 0xba, 0xe6, 0x18, 0x26, 0xa6, 0x16, 0xf2, 0x97, 0x91, 0x50, 0x25, 0xd4, 0xd5, 0xa5, 0x86, 0x7a, 0xc6, 0x48, 0x71,
0x98, 0xfd, 0x7b, 0x16, 0x5c, 0x2f, 0x59, 0x46, 0xc1, 0xa9, 0xdb, 0xb0, 0x78, 0xac, 0x32, 0xe5, 0x26, 0xaf, 0x31, 0xbb, 0x57, 0x50, 0x73, 0x74, 0x48, 0x5a, 0x00, 0xa2, 0x89, 0xe6, 0x1f, 0xaf,
0x54, 0x73, 0x76, 0x5d, 0x91, 0xf1, 0x3c, 0xe6, 0xf4, 0x3a, 0xc5, 0x0f, 0xd4, 0x89, 0x81, 0x2f, 0x39, 0x06, 0x66, 0xff, 0x9e, 0x05, 0xd7, 0x4b, 0x96, 0x51, 0x70, 0xea, 0x36, 0x2c, 0x1e, 0xab,
0x9e, 0x71, 0x6b, 0xa3, 0x98, 0x61, 0x1f, 0x40, 0x7f, 0xe7, 0x2d, 0x63, 0xfc, 0x2d, 0xfd, 0x09, 0x4c, 0x39, 0xd5, 0x9c, 0x5d, 0x57, 0x64, 0x80, 0x91, 0x39, 0xbd, 0x4e, 0xf1, 0x03, 0x75, 0x62,
0x48, 0x49, 0x59, 0x1b, 0x05, 0xc1, 0x76, 0xb9, 0x9d, 0xef, 0x18, 0xe6, 0x8d, 0xba, 0xc8, 0xaf, 0xe0, 0x8b, 0x67, 0x5c, 0x23, 0x29, 0x66, 0xd8, 0x07, 0xd0, 0xdf, 0x79, 0xc3, 0x18, 0x7f, 0x4b,
0x5f, 0xb5, 0x12, 0x9d, 0x47, 0xd7, 0xc4, 0xaa, 0xf3, 0x37, 0x2c, 0xe5, 0xdd, 0x11, 0x0d, 0xb2, 0x7f, 0x93, 0x52, 0x52, 0xd6, 0x46, 0x41, 0xb0, 0x5d, 0x6e, 0x78, 0x3c, 0x86, 0x79, 0xa3, 0x2e,
0xcf, 0x60, 0xe1, 0xf9, 0x24, 0x48, 0xfd, 0xec, 0x3d, 0x4b, 0xf2, 0x1d, 0xf1, 0x11, 0x56, 0x21, 0xf2, 0xad, 0xab, 0x56, 0xa2, 0xf3, 0xe8, 0x9a, 0x58, 0x75, 0xfe, 0xa8, 0xa6, 0xbc, 0xcc, 0xa2,
0xa7, 0xae, 0xb4, 0x29, 0xbd, 0x1c, 0x9b, 0xb1, 0x11, 0xab, 0xc9, 0x2d, 0xb6, 0x58, 0xcc, 0xb0, 0x41, 0xf6, 0x19, 0x2c, 0x3c, 0x9b, 0x04, 0xa9, 0x9f, 0x3d, 0xb0, 0x49, 0xbe, 0x23, 0x3e, 0xc2,
0xaf, 0xc3, 0x6a, 0xd6, 0x24, 0x9f, 0x3b, 0xb9, 0x39, 0xfc, 0x81, 0xc5, 0x03, 0x20, 0xcd, 0xe7, 0x2a, 0xe4, 0xd4, 0x95, 0x36, 0xa5, 0x97, 0x63, 0x33, 0x36, 0x62, 0x35, 0xb9, 0xc5, 0x16, 0x8b,
0x35, 0xc9, 0x53, 0x58, 0x4a, 0xfc, 0xf0, 0x24, 0xa0, 0x7a, 0x3d, 0x89, 0x98, 0x89, 0x6b, 0x66, 0x19, 0xf6, 0x75, 0x58, 0xcd, 0x9a, 0xe4, 0x73, 0x27, 0x37, 0x87, 0x3f, 0xb0, 0x78, 0x44, 0xa6,
0xf7, 0xc4, 0x13, 0x9c, 0x4e, 0xd9, 0x17, 0x8c, 0x40, 0xca, 0x3b, 0x9a, 0x11, 0x48, 0x6e, 0x4a, 0xf9, 0xde, 0x27, 0x79, 0x02, 0x4b, 0x89, 0x1f, 0x9e, 0x04, 0x54, 0xaf, 0x27, 0x11, 0x33, 0x71,
0xca, 0x06, 0xf0, 0x39, 0x74, 0xcc, 0xc6, 0xc8, 0xa7, 0xe2, 0xca, 0x47, 0xd6, 0x33, 0xdd, 0x31, 0xcd, 0xec, 0x9e, 0x78, 0x13, 0xd4, 0x29, 0xfb, 0x82, 0x11, 0x48, 0x79, 0x47, 0x33, 0x02, 0xc9,
0x67, 0x52, 0x86, 0x51, 0xd2, 0xfe, 0x99, 0x05, 0x3d, 0x87, 0x32, 0x32, 0xa6, 0x5a, 0xa3, 0x82, 0x4d, 0x49, 0xd9, 0x00, 0x3e, 0x83, 0x8e, 0xd9, 0x18, 0xf9, 0x58, 0xdc, 0x41, 0xc9, 0x7a, 0xa6,
0x7a, 0x1e, 0x15, 0xaa, 0x9d, 0x3e, 0x60, 0x75, 0x95, 0x44, 0x8e, 0x75, 0x7d, 0xea, 0xa2, 0xec, 0x7b, 0x0a, 0x4d, 0xca, 0x30, 0x4a, 0xda, 0x3f, 0xb3, 0xa0, 0xe7, 0x50, 0x46, 0xc6, 0x54, 0x6b,
0xce, 0x94, 0x8c, 0xea, 0x71, 0x03, 0x66, 0xc5, 0xf8, 0x56, 0xe1, 0x9a, 0xe8, 0x92, 0xec, 0x4e, 0x54, 0x50, 0xcf, 0xa7, 0x85, 0x6a, 0xa7, 0x0f, 0x58, 0xdd, 0x6d, 0x91, 0x63, 0x5d, 0x9f, 0xba,
0xe6, 0xd1, 0x31, 0x1a, 0x35, 0x3c, 0x3a, 0x7d, 0xe8, 0xf1, 0xb7, 0x55, 0xf4, 0x71, 0x88, 0x0f, 0x28, 0xbb, 0x33, 0x25, 0xa3, 0x7a, 0xd4, 0x80, 0x59, 0x31, 0xbe, 0x55, 0xb8, 0x26, 0xba, 0x24,
0xb7, 0x81, 0x3c, 0xf7, 0x06, 0x5e, 0x1c, 0x45, 0xe1, 0x01, 0x8d, 0x45, 0xc4, 0x1a, 0x2a, 0x50, 0xbb, 0x93, 0xb9, 0x98, 0x8c, 0x46, 0x0d, 0x17, 0x53, 0x1f, 0x7a, 0xfc, 0xb1, 0x17, 0x7d, 0x1c,
0xe8, 0xf0, 0x90, 0xba, 0x1e, 0x4f, 0xc9, 0xe7, 0x40, 0xa2, 0x50, 0x3e, 0xbb, 0xc2, 0x53, 0xb6, 0xe2, 0xc3, 0x6d, 0x20, 0xcf, 0xbc, 0x81, 0x17, 0x47, 0x51, 0x78, 0x40, 0x63, 0x11, 0x42, 0x87,
0x03, 0x4b, 0x8f, 0xbd, 0x37, 0x54, 0xd6, 0x94, 0xcd, 0x52, 0x6b, 0xac, 0x2a, 0x95, 0x73, 0x2f, 0x0a, 0x14, 0x7a, 0x60, 0xa4, 0xae, 0xc7, 0x53, 0xf2, 0x7d, 0x92, 0x28, 0x94, 0xef, 0xc0, 0xf0,
0x6f, 0x73, 0x15, 0x9b, 0x75, 0xf4, 0xd2, 0xf6, 0x06, 0x2c, 0x9b, 0x75, 0x0a, 0x51, 0xd2, 0x87, 0x94, 0xed, 0xc0, 0xd2, 0x23, 0xef, 0x35, 0x95, 0x35, 0x65, 0xb3, 0xd4, 0x1a, 0xab, 0x4a, 0xe5,
0xc6, 0x48, 0x60, 0xa2, 0x77, 0x2a, 0x7d, 0xff, 0x2b, 0x68, 0x69, 0xef, 0xe5, 0x90, 0x55, 0x58, 0xdc, 0xcb, 0xeb, 0x65, 0xc5, 0x66, 0x1d, 0xbd, 0xb4, 0xbd, 0x01, 0xcb, 0x66, 0x9d, 0x42, 0x94,
0x7a, 0xfd, 0xec, 0xe5, 0xfe, 0xce, 0xe1, 0xa1, 0x7b, 0xf0, 0xea, 0xf1, 0x17, 0x3b, 0xdf, 0x77, 0xf4, 0xa1, 0x31, 0x12, 0x98, 0xe8, 0x9d, 0x4a, 0xdf, 0xff, 0x12, 0x5a, 0xda, 0x03, 0x3e, 0x64,
0x77, 0x37, 0x0f, 0x77, 0xbb, 0x33, 0x64, 0x05, 0xc8, 0xfe, 0xce, 0xe1, 0xcb, 0x9d, 0x6d, 0x03, 0x15, 0x96, 0x5e, 0x3d, 0x7d, 0xb1, 0xbf, 0x73, 0x78, 0xe8, 0x1e, 0xbc, 0x7c, 0xf4, 0xf9, 0xce,
0xb7, 0xc8, 0x2d, 0xe8, 0xbf, 0xda, 0x7f, 0x75, 0xb8, 0xb3, 0xed, 0x96, 0x7d, 0x57, 0x21, 0x37, 0xf7, 0xdd, 0xdd, 0xcd, 0xc3, 0xdd, 0xee, 0x0c, 0x59, 0x01, 0xb2, 0xbf, 0x73, 0xf8, 0x62, 0x67,
0xe1, 0xba, 0xc8, 0x2f, 0xf9, 0xbc, 0x7a, 0xff, 0x11, 0x74, 0xf3, 0x86, 0x29, 0xc3, 0xa0, 0xf7, 0xdb, 0xc0, 0x2d, 0x72, 0x0b, 0xfa, 0x2f, 0xf7, 0x5f, 0x1e, 0xee, 0x6c, 0xbb, 0x65, 0xdf, 0x55,
0x2e, 0xcb, 0xdf, 0xc6, 0xcf, 0xaa, 0xd0, 0xe1, 0x21, 0xa9, 0xfc, 0x81, 0x5a, 0x1a, 0x93, 0xe7, 0xc8, 0x4d, 0xb8, 0x2e, 0xf2, 0x4b, 0x3e, 0xaf, 0xde, 0xff, 0x14, 0xba, 0x79, 0x4b, 0x99, 0x61,
0x30, 0x27, 0x5e, 0x3a, 0x26, 0x92, 0xb4, 0xcc, 0xb7, 0x95, 0xfb, 0x2b, 0x79, 0x58, 0x2c, 0xeb, 0x61, 0x7c, 0x9b, 0x29, 0x72, 0xe3, 0x67, 0x55, 0xe8, 0xf0, 0x18, 0x59, 0xfe, 0x62, 0x2e, 0x8d,
0xd2, 0x5f, 0xfe, 0xf7, 0xff, 0xed, 0x6f, 0x56, 0xe6, 0x49, 0xeb, 0xc1, 0xd9, 0xc7, 0x0f, 0x4e, 0xc9, 0x33, 0x98, 0x13, 0x4f, 0x2f, 0x13, 0x49, 0x5a, 0xe6, 0x63, 0xcf, 0xfd, 0x95, 0x3c, 0x2c,
0x68, 0x98, 0xb0, 0x3a, 0x7e, 0x07, 0x20, 0x7b, 0xbf, 0x97, 0xf4, 0x94, 0x61, 0x26, 0xf7, 0xb8, 0x96, 0x75, 0xe9, 0xaf, 0xfe, 0xc7, 0xff, 0xf1, 0xb7, 0x2b, 0xf3, 0xa4, 0xf5, 0xe0, 0xec, 0xc3,
0x71, 0xff, 0x7a, 0x49, 0x8e, 0xa8, 0xf7, 0x3a, 0xd6, 0xbb, 0x64, 0x77, 0x58, 0xbd, 0x7e, 0xe8, 0x07, 0x27, 0x34, 0x4c, 0x58, 0x1d, 0xbf, 0x03, 0x90, 0x3d, 0x28, 0x4c, 0x7a, 0xca, 0x30, 0x93,
0xa7, 0xfc, 0x2d, 0xdf, 0xcf, 0xac, 0xfb, 0x64, 0x08, 0x6d, 0xfd, 0x65, 0x5d, 0x22, 0x1d, 0x74, 0x7b, 0x6d, 0xb9, 0x7f, 0xbd, 0x24, 0x47, 0xd4, 0x7b, 0x1d, 0xeb, 0x5d, 0xb2, 0x3b, 0xac, 0x5e,
0x25, 0x6f, 0x03, 0xf7, 0xdf, 0x2b, 0xcd, 0x93, 0xb4, 0x8c, 0x6d, 0x5c, 0xb3, 0xbb, 0xac, 0x8d, 0x3f, 0xf4, 0x53, 0xfe, 0xb8, 0xf0, 0x27, 0xd6, 0x7d, 0x32, 0x84, 0xb6, 0xfe, 0xd4, 0x2f, 0x91,
0x09, 0x96, 0xc8, 0x5a, 0x09, 0x38, 0x87, 0x67, 0x0f, 0xe8, 0x92, 0x1b, 0x1a, 0xd3, 0x15, 0x9e, 0x1e, 0xc3, 0x92, 0xc7, 0x8a, 0xfb, 0xef, 0x94, 0xe6, 0x49, 0x5a, 0xc6, 0x36, 0xae, 0xd9, 0x5d,
0xef, 0xed, 0xdf, 0x9c, 0x92, 0x2b, 0xda, 0xba, 0x89, 0x6d, 0xad, 0xda, 0x84, 0xb5, 0x35, 0xc0, 0xd6, 0xc6, 0x04, 0x4b, 0x64, 0xad, 0x04, 0x9c, 0xc3, 0xb3, 0x17, 0x7d, 0xc9, 0x0d, 0x8d, 0xe9,
0x32, 0xf2, 0xf9, 0xde, 0xcf, 0xac, 0xfb, 0x1b, 0xff, 0xe6, 0x2e, 0x34, 0x95, 0xf3, 0x9e, 0xfc, 0x0a, 0xef, 0x09, 0xf7, 0x6f, 0x4e, 0xc9, 0x15, 0x6d, 0xdd, 0xc4, 0xb6, 0x56, 0x6d, 0xc2, 0xda,
0x18, 0xe6, 0x8d, 0x98, 0x61, 0x22, 0x87, 0x51, 0x16, 0x62, 0xdc, 0xbf, 0x51, 0x9e, 0x29, 0x1a, 0x1a, 0x60, 0x19, 0xf9, 0x9e, 0xf0, 0x27, 0xd6, 0xfd, 0x8d, 0x7f, 0x77, 0x17, 0x9a, 0x2a, 0x9a,
0xbe, 0x85, 0x0d, 0xf7, 0xc8, 0x0a, 0x6b, 0x58, 0x04, 0xdd, 0x3e, 0xc0, 0xe8, 0x77, 0x7e, 0x81, 0x80, 0xfc, 0x18, 0xe6, 0x8d, 0x20, 0x66, 0x22, 0x87, 0x51, 0x16, 0xf3, 0xdc, 0xbf, 0x51, 0x9e,
0xf6, 0x8d, 0x26, 0xc9, 0x78, 0x63, 0x37, 0xf2, 0xc2, 0xc5, 0x68, 0xed, 0xe6, 0x94, 0x5c, 0xd1, 0x29, 0x1a, 0xbe, 0x85, 0x0d, 0xf7, 0xc8, 0x0a, 0x6b, 0x58, 0x44, 0x01, 0x3f, 0xc0, 0x70, 0x7c,
0xdc, 0x0d, 0x6c, 0x6e, 0x85, 0x2c, 0xeb, 0xcd, 0x29, 0x87, 0x3a, 0xc5, 0x5b, 0xe3, 0xfa, 0xdb, 0x7e, 0xa3, 0xf7, 0xb5, 0x26, 0xc9, 0x78, 0x63, 0x37, 0xf2, 0xc2, 0xc5, 0x68, 0xed, 0xe6, 0x94,
0xb2, 0xe4, 0xa6, 0x22, 0xac, 0xb2, 0x37, 0x67, 0x15, 0x89, 0x14, 0x1f, 0x9e, 0xb5, 0x7b, 0xd8, 0x5c, 0xd1, 0xdc, 0x0d, 0x6c, 0x6e, 0x85, 0x2c, 0xeb, 0xcd, 0x29, 0x0f, 0x3f, 0xc5, 0x6b, 0xec,
0x14, 0x21, 0xb8, 0x7c, 0xfa, 0xd3, 0xb2, 0xe4, 0x08, 0x5a, 0xda, 0xd3, 0x6d, 0xe4, 0xfa, 0xd4, 0xfa, 0x63, 0xb7, 0xe4, 0xa6, 0x22, 0xac, 0xb2, 0x47, 0x70, 0x15, 0x89, 0x14, 0x5f, 0xc2, 0xb5,
0x67, 0xe6, 0xfa, 0xfd, 0xb2, 0xac, 0xb2, 0xa1, 0xe8, 0xf5, 0x3f, 0x60, 0x8a, 0xce, 0x0f, 0xa1, 0x7b, 0xd8, 0x14, 0x21, 0xb8, 0x7c, 0xfa, 0x5b, 0xb7, 0xe4, 0x08, 0x5a, 0xda, 0x5b, 0x72, 0xe4,
0xa9, 0x1e, 0x03, 0x23, 0xab, 0xda, 0xe3, 0x6c, 0xfa, 0xe3, 0x65, 0xfd, 0x5e, 0x31, 0xa3, 0x8c, 0xfa, 0xd4, 0x77, 0xef, 0xfa, 0xfd, 0xb2, 0xac, 0xb2, 0xa1, 0xe8, 0xf5, 0x3f, 0x60, 0x8a, 0xce,
0xf8, 0xf4, 0xda, 0x19, 0xf1, 0xbd, 0x86, 0x96, 0xf6, 0xe0, 0x97, 0x1a, 0x40, 0xf1, 0x51, 0x31, 0x0f, 0xa1, 0xa9, 0x5e, 0x27, 0x23, 0xab, 0xda, 0x6b, 0x71, 0xfa, 0x6b, 0x6a, 0xfd, 0x5e, 0x31,
0x35, 0x80, 0x92, 0xf7, 0xc1, 0xec, 0x45, 0x6c, 0xa2, 0x45, 0x9a, 0x48, 0xdf, 0xe9, 0xdb, 0x28, 0xa3, 0x8c, 0xf8, 0xf4, 0xda, 0x19, 0xf1, 0xbd, 0x82, 0x96, 0xf6, 0x02, 0x99, 0x1a, 0x40, 0xf1,
0x21, 0x7b, 0x70, 0x4d, 0x48, 0xec, 0x23, 0xfa, 0x75, 0x96, 0xa1, 0xe4, 0x39, 0xdf, 0x87, 0x16, 0x95, 0x33, 0x35, 0x80, 0x92, 0x07, 0xcb, 0xec, 0x45, 0x6c, 0xa2, 0x45, 0x9a, 0x48, 0xdf, 0xe9,
0x79, 0x04, 0x0d, 0xf9, 0xae, 0x1b, 0x59, 0x29, 0x7f, 0x9f, 0xae, 0xbf, 0x5a, 0xc0, 0x85, 0x78, 0x9b, 0x28, 0x21, 0x7b, 0x70, 0x4d, 0x48, 0xec, 0x23, 0xfa, 0x55, 0x96, 0xa1, 0xe4, 0x7d, 0xe1,
0xfd, 0x3e, 0x40, 0xf6, 0xba, 0x98, 0x12, 0x12, 0x85, 0xd7, 0xca, 0x14, 0x05, 0x14, 0x9f, 0x22, 0x87, 0x16, 0xf9, 0x14, 0x1a, 0xf2, 0xa1, 0x39, 0xb2, 0x52, 0xfe, 0x60, 0x5e, 0x7f, 0xb5, 0x80,
0xb3, 0x57, 0x70, 0x80, 0x5d, 0x82, 0x42, 0x22, 0xa4, 0xe7, 0xf2, 0x81, 0x88, 0x1f, 0x41, 0x4b, 0x0b, 0xf1, 0xfa, 0x7d, 0x80, 0xec, 0xb9, 0x33, 0x25, 0x24, 0x0a, 0xcf, 0xa7, 0x29, 0x0a, 0x28,
0x7b, 0x60, 0x4c, 0x4d, 0x5f, 0xf1, 0x71, 0x32, 0x35, 0x7d, 0x25, 0xef, 0x91, 0xd9, 0x7d, 0xac, 0xbe, 0x8d, 0x66, 0xaf, 0xe0, 0x00, 0xbb, 0x04, 0x85, 0x44, 0x48, 0xcf, 0xe5, 0x8b, 0x15, 0x3f,
0x7d, 0xd9, 0x5e, 0x60, 0xb5, 0x27, 0xfe, 0x49, 0x38, 0xe2, 0x05, 0xd8, 0x02, 0x9d, 0xc2, 0xbc, 0x82, 0x96, 0xf6, 0xe2, 0x99, 0x9a, 0xbe, 0xe2, 0x6b, 0x69, 0x6a, 0xfa, 0x4a, 0x1e, 0x48, 0xb3,
0xf1, 0x8a, 0x98, 0xe2, 0xd0, 0xb2, 0x37, 0xca, 0x14, 0x87, 0x96, 0x3e, 0x3c, 0x26, 0xe9, 0xcc, 0xfb, 0x58, 0xfb, 0xb2, 0xbd, 0xc0, 0x6a, 0x4f, 0xfc, 0x93, 0x70, 0xc4, 0x0b, 0xb0, 0x05, 0x3a,
0x5e, 0x64, 0xed, 0x9c, 0x61, 0x11, 0xad, 0xa5, 0x1f, 0x40, 0x4b, 0x7b, 0x11, 0x4c, 0x8d, 0xa5, 0x85, 0x79, 0xe3, 0x59, 0x33, 0xc5, 0xa1, 0x65, 0x8f, 0xa6, 0x29, 0x0e, 0x2d, 0x7d, 0x09, 0x4d,
0xf8, 0xf8, 0x98, 0x1a, 0x4b, 0xd9, 0x03, 0x62, 0xcb, 0xd8, 0x46, 0xc7, 0x46, 0x52, 0xc0, 0xa7, 0xd2, 0x99, 0xbd, 0xc8, 0xda, 0x39, 0xc3, 0x22, 0x5a, 0x4b, 0x3f, 0x80, 0x96, 0xf6, 0x44, 0x99,
0x0e, 0x58, 0xdd, 0x3f, 0x86, 0x8e, 0xf9, 0x46, 0x98, 0xe2, 0xfd, 0xd2, 0xd7, 0xc6, 0x14, 0xef, 0x1a, 0x4b, 0xf1, 0x35, 0x34, 0x35, 0x96, 0xb2, 0x17, 0xcd, 0x96, 0xb1, 0x8d, 0x8e, 0x8d, 0xa4,
0x4f, 0x79, 0x58, 0x4c, 0x90, 0xf4, 0xfd, 0x25, 0xd5, 0xc8, 0x83, 0x2f, 0x45, 0xf8, 0xdf, 0x57, 0x80, 0x6f, 0x2f, 0xb0, 0xba, 0x7f, 0x0c, 0x1d, 0xf3, 0xd1, 0x32, 0xc5, 0xfb, 0xa5, 0xcf, 0x9f,
0xe4, 0xbb, 0x4c, 0xc0, 0x89, 0xb7, 0x27, 0xc8, 0xaa, 0x46, 0xb5, 0xfa, 0x0b, 0x15, 0x8a, 0x5f, 0x29, 0xde, 0x9f, 0xf2, 0xd2, 0x99, 0x20, 0xe9, 0xfb, 0x4b, 0xaa, 0x91, 0x07, 0x5f, 0x88, 0x78,
0x0a, 0xcf, 0x54, 0x98, 0xc4, 0xcc, 0x1f, 0x6b, 0xc0, 0x5d, 0x0b, 0xdf, 0xa0, 0xd0, 0x76, 0x2d, 0xc4, 0x2f, 0xc9, 0x77, 0x99, 0x80, 0x13, 0x8f, 0x61, 0x90, 0x55, 0x8d, 0x6a, 0xf5, 0x27, 0x33,
0xfd, 0x99, 0x0a, 0x6d, 0xd7, 0x32, 0x9e, 0xaa, 0xc8, 0xef, 0x5a, 0xa9, 0xcf, 0xea, 0x08, 0x61, 0x14, 0xbf, 0x14, 0xde, 0xcd, 0x30, 0x89, 0x99, 0xbf, 0x1e, 0x81, 0xbb, 0x16, 0x3e, 0x8a, 0xa1,
0x21, 0x77, 0xaf, 0x49, 0x71, 0x45, 0xf9, 0xd5, 0xd3, 0xfe, 0xad, 0x77, 0x5f, 0x87, 0x32, 0x25, 0xed, 0x5a, 0xfa, 0xbb, 0x19, 0xda, 0xae, 0x65, 0xbc, 0x9d, 0x91, 0xdf, 0xb5, 0x52, 0x9f, 0xd5,
0x88, 0x14, 0x82, 0x0f, 0xe4, 0x45, 0xdf, 0xdf, 0x85, 0xb6, 0xfe, 0x6e, 0x11, 0xd1, 0x59, 0x39, 0x11, 0xc2, 0x42, 0xee, 0xa2, 0x95, 0xe2, 0x8a, 0xf2, 0xbb, 0xb0, 0xfd, 0x5b, 0x6f, 0xbf, 0x9f,
0xdf, 0xd2, 0x7b, 0xa5, 0x79, 0xe6, 0xe2, 0x92, 0xb6, 0xde, 0x0c, 0xf9, 0x1e, 0xac, 0x28, 0x56, 0x65, 0x4a, 0x10, 0x29, 0x04, 0x1f, 0xc8, 0x9b, 0xc7, 0xbf, 0x0b, 0x6d, 0xfd, 0x21, 0x25, 0xa2,
0xd7, 0xaf, 0xca, 0x24, 0xe4, 0xfd, 0x92, 0x0b, 0x34, 0xba, 0x1e, 0xd7, 0xbf, 0x3e, 0xf5, 0x86, 0xb3, 0x72, 0xbe, 0xa5, 0x77, 0x4a, 0xf3, 0xcc, 0xc5, 0x25, 0x6d, 0xbd, 0x19, 0xf2, 0x3d, 0x58,
0xcd, 0x43, 0x8b, 0x11, 0x8d, 0xf9, 0x18, 0x4c, 0xb6, 0x61, 0x94, 0xbd, 0x81, 0x93, 0x6d, 0x18, 0x51, 0xac, 0xae, 0xdf, 0xdd, 0x49, 0xc8, 0xbb, 0x25, 0x37, 0x7a, 0x74, 0x3d, 0xae, 0x7f, 0x7d,
0xa5, 0x2f, 0xc8, 0x48, 0xa2, 0x21, 0x4b, 0xc6, 0x1c, 0xf1, 0x48, 0x09, 0xf2, 0x03, 0x58, 0xd0, 0xea, 0x95, 0x9f, 0x87, 0x16, 0x23, 0x1a, 0xf3, 0x75, 0x9a, 0x6c, 0xc3, 0x28, 0x7b, 0x94, 0x27,
0x2e, 0x23, 0x1e, 0x5e, 0x84, 0x03, 0xc5, 0x00, 0xc5, 0xbb, 0xf2, 0xfd, 0xb2, 0x53, 0x8a, 0xbd, 0xdb, 0x30, 0x4a, 0x9f, 0xb4, 0x91, 0x44, 0x43, 0x96, 0x8c, 0x39, 0xe2, 0xa1, 0x1b, 0xe4, 0x07,
0x8a, 0xf5, 0x2f, 0xda, 0xc6, 0xe4, 0x30, 0xe2, 0xdf, 0x82, 0x96, 0x7e, 0xd1, 0xf1, 0x1d, 0xf5, 0xb0, 0xa0, 0xdd, 0x8e, 0x3c, 0xbc, 0x08, 0x07, 0x8a, 0x01, 0x8a, 0x97, 0xf7, 0xfb, 0x65, 0xa7,
0xae, 0x6a, 0x59, 0xfa, 0x35, 0xef, 0x87, 0x16, 0x39, 0xe0, 0x11, 0x73, 0xea, 0x61, 0xda, 0x28, 0x14, 0x7b, 0x15, 0xeb, 0x5f, 0xb4, 0x8d, 0xc9, 0x61, 0xc4, 0xbf, 0x05, 0x2d, 0xfd, 0xe6, 0xe5,
0xce, 0x6f, 0x9f, 0xe6, 0x83, 0xb5, 0x6a, 0x21, 0xcb, 0x9e, 0x2a, 0xbe, 0x67, 0x3d, 0xb4, 0xc8, 0x5b, 0xea, 0x5d, 0xd5, 0xb2, 0xf4, 0x7b, 0xe7, 0x0f, 0x2d, 0x72, 0xc0, 0x43, 0xf8, 0xd4, 0x4b,
0xdf, 0xb5, 0xa0, 0x6d, 0x5c, 0x44, 0x34, 0xe2, 0x8f, 0x72, 0x3d, 0xeb, 0xe9, 0x79, 0x7a, 0xd7, 0xb9, 0x51, 0x9c, 0xdf, 0x3e, 0xcd, 0x17, 0x74, 0xd5, 0x42, 0x96, 0xbd, 0x9d, 0x7c, 0xcf, 0x7a,
0x6c, 0x07, 0x87, 0xbd, 0x77, 0xff, 0x73, 0x63, 0x5a, 0xbf, 0x34, 0x0c, 0x6a, 0xeb, 0xf9, 0xd7, 0x68, 0x91, 0xbf, 0x6f, 0x41, 0xdb, 0xb8, 0x19, 0x69, 0x04, 0x44, 0xe5, 0x7a, 0xd6, 0xd3, 0xf3,
0x69, 0xbf, 0xca, 0x17, 0xd0, 0x5f, 0x28, 0xf8, 0xea, 0xa1, 0x45, 0xfe, 0xc8, 0x82, 0x8e, 0x69, 0xf4, 0xae, 0xd9, 0x0e, 0x0e, 0x7b, 0xef, 0xfe, 0x67, 0xc6, 0xb4, 0x7e, 0x61, 0x18, 0xd4, 0xd6,
0x46, 0x56, 0xc3, 0x2d, 0x35, 0x58, 0xab, 0xc5, 0x9f, 0x62, 0x7b, 0xfe, 0x01, 0xf6, 0xf2, 0xe5, 0xf3, 0xcf, 0xe5, 0x7e, 0x99, 0x2f, 0xa0, 0x3f, 0x99, 0xf0, 0xe5, 0x43, 0x8b, 0xfc, 0xa1, 0x05,
0x7d, 0xc7, 0xe8, 0xa5, 0x78, 0x78, 0xe8, 0x97, 0xeb, 0x2d, 0xf9, 0x8c, 0x3f, 0xfa, 0x2e, 0x3d, 0x1d, 0xd3, 0x8c, 0xac, 0x86, 0x5b, 0x6a, 0xb0, 0x56, 0x8b, 0x3f, 0xc5, 0xf6, 0xfc, 0x03, 0xec,
0x68, 0xa4, 0xf8, 0x48, 0xb8, 0x22, 0x18, 0xfd, 0x29, 0x6e, 0x5c, 0x84, 0x1f, 0xf1, 0x57, 0x59, 0xe5, 0x8b, 0xfb, 0x8e, 0xd1, 0x4b, 0xf1, 0x12, 0xd2, 0x2f, 0xd7, 0x5b, 0xf2, 0x09, 0x7f, 0x85,
0xa5, 0x1b, 0x86, 0xd1, 0xdd, 0x55, 0xbf, 0xb7, 0x6f, 0xe3, 0x98, 0x6e, 0xd9, 0xd7, 0x8d, 0x31, 0x5e, 0x7a, 0xd0, 0x48, 0xf1, 0xd5, 0x72, 0x45, 0x30, 0xfa, 0xdb, 0xe0, 0xb8, 0x08, 0x3f, 0xe2,
0xe5, 0x77, 0xf8, 0x4d, 0xde, 0x3b, 0xf1, 0x8a, 0x76, 0xb6, 0x45, 0x15, 0x5e, 0xd6, 0x9e, 0xde, 0xcf, 0xc4, 0x4a, 0x37, 0x0c, 0xa3, 0xbb, 0xab, 0x7e, 0x6f, 0xdf, 0xc6, 0x31, 0xdd, 0xb2, 0xaf,
0xc9, 0x11, 0xef, 0xa4, 0x28, 0x6e, 0x30, 0xc7, 0x15, 0xab, 0xb1, 0xef, 0x63, 0x5f, 0x6f, 0xdb, 0x1b, 0x63, 0xca, 0xef, 0xf0, 0x9b, 0xbc, 0x77, 0xe2, 0x59, 0xef, 0x6c, 0x8b, 0x2a, 0x3c, 0xf5,
0xef, 0x4f, 0xed, 0xeb, 0x03, 0x34, 0x06, 0xb3, 0x1e, 0x1f, 0x00, 0x64, 0x1e, 0x6f, 0x92, 0xf3, 0x3d, 0xbd, 0x93, 0x23, 0xde, 0x49, 0x51, 0xdc, 0x60, 0x8e, 0x2b, 0x56, 0x63, 0xdf, 0xc7, 0xbe,
0xb6, 0x2a, 0x91, 0x51, 0x74, 0x8a, 0x9b, 0x1c, 0x28, 0x9d, 0xb2, 0xac, 0xc6, 0x1f, 0x72, 0x01, 0xde, 0xb6, 0xdf, 0x9d, 0xda, 0xd7, 0x07, 0x68, 0x0c, 0x66, 0x3d, 0x3e, 0x00, 0xc8, 0x3c, 0xde,
0xf8, 0x4c, 0xfa, 0x69, 0x75, 0x35, 0xc7, 0x74, 0x4b, 0x1b, 0x6a, 0x4e, 0xbe, 0x7e, 0x43, 0xfc, 0x24, 0xe7, 0x6d, 0x55, 0x22, 0xa3, 0xe8, 0x14, 0x37, 0x39, 0x50, 0x3a, 0x65, 0x59, 0x8d, 0x3f,
0x29, 0xa7, 0xef, 0x2b, 0x98, 0xdf, 0x8b, 0xa2, 0x37, 0x93, 0xb1, 0x0a, 0x0d, 0x32, 0xfd, 0x34, 0xe4, 0x02, 0xf0, 0xa9, 0xf4, 0xd3, 0xea, 0x6a, 0x8e, 0xe9, 0x96, 0x36, 0xd4, 0x9c, 0x7c, 0xfd,
0xbb, 0x5e, 0x72, 0xda, 0xcf, 0x8d, 0xc2, 0x5e, 0xc3, 0xaa, 0xfa, 0xa4, 0xa7, 0x55, 0xf5, 0xe0, 0x86, 0xf8, 0x53, 0x4e, 0xdf, 0x97, 0x30, 0xbf, 0x17, 0x45, 0xaf, 0x27, 0x63, 0x15, 0xab, 0x64,
0xcb, 0xcc, 0x9b, 0xfe, 0x15, 0xf1, 0x60, 0x51, 0x49, 0x55, 0xd5, 0xf1, 0xbe, 0x59, 0x8d, 0x21, 0xfa, 0x69, 0x76, 0xbd, 0xe4, 0xb4, 0x9f, 0x1b, 0x85, 0xbd, 0x86, 0x55, 0xf5, 0x49, 0x4f, 0xab,
0x4b, 0xf3, 0x4d, 0x18, 0xfa, 0xb8, 0xec, 0xed, 0x83, 0x44, 0xd6, 0x89, 0x32, 0xa5, 0xbd, 0x4d, 0xea, 0xc1, 0x17, 0x99, 0x37, 0xfd, 0x4b, 0xe2, 0xc1, 0xa2, 0x92, 0xaa, 0xaa, 0xe3, 0x7d, 0xb3,
0x07, 0x78, 0x47, 0x09, 0x9d, 0x1d, 0x4b, 0x59, 0xc7, 0x95, 0x97, 0xa4, 0x3f, 0x6f, 0x80, 0xe6, 0x1a, 0x43, 0x96, 0xe6, 0x9b, 0x30, 0xf4, 0x71, 0xd9, 0xdb, 0x07, 0x89, 0xac, 0x13, 0x65, 0x4a,
0x4e, 0x33, 0xf6, 0x2e, 0x62, 0xfa, 0x93, 0x07, 0x5f, 0x0a, 0x37, 0xca, 0x57, 0x72, 0xa7, 0x91, 0x7b, 0x9b, 0x0e, 0xf0, 0xd2, 0x14, 0x3a, 0x3b, 0x96, 0xb2, 0x8e, 0x2b, 0x2f, 0x49, 0x7f, 0xde,
0x7e, 0x26, 0x63, 0xa7, 0xc9, 0x39, 0xa6, 0x8c, 0x9d, 0xa6, 0xe0, 0x98, 0x32, 0xa6, 0x5a, 0xfa, 0x00, 0xcd, 0x9d, 0x66, 0xec, 0x5d, 0xc4, 0xf4, 0x27, 0x0f, 0xbe, 0x10, 0x6e, 0x94, 0x2f, 0xe5,
0xb9, 0x48, 0x00, 0x8b, 0x05, 0x5f, 0x96, 0xda, 0x64, 0xa6, 0x79, 0xc0, 0xfa, 0x6b, 0xd3, 0x0b, 0x4e, 0x23, 0xfd, 0x4c, 0xc6, 0x4e, 0x93, 0x73, 0x4c, 0x19, 0x3b, 0x4d, 0xc1, 0x31, 0x65, 0x4c,
0x98, 0xad, 0xdd, 0x37, 0x5b, 0x3b, 0x84, 0xf9, 0x6d, 0xca, 0x27, 0x8b, 0xc7, 0x42, 0xe7, 0x6e, 0xb5, 0xf4, 0x73, 0x91, 0x00, 0x16, 0x0b, 0xbe, 0x2c, 0xb5, 0xc9, 0x4c, 0xf3, 0x80, 0xf5, 0xd7,
0xb3, 0xea, 0x91, 0xd6, 0xf9, 0x2d, 0x01, 0xf3, 0x4c, 0x55, 0x02, 0x83, 0x90, 0xc9, 0x0f, 0xa1, 0xa6, 0x17, 0x30, 0x5b, 0xbb, 0x6f, 0xb6, 0x76, 0x08, 0xf3, 0xdb, 0x94, 0x4f, 0x16, 0x0f, 0xce,
0xf5, 0x94, 0xa6, 0x32, 0xf8, 0x59, 0x29, 0xb3, 0xb9, 0x68, 0xe8, 0x7e, 0x49, 0xec, 0xb4, 0x49, 0xce, 0x5d, 0xaf, 0xd5, 0x43, 0xbf, 0xf3, 0x5b, 0x02, 0xe6, 0x99, 0xaa, 0x04, 0x46, 0x45, 0x93,
0x33, 0x58, 0xdb, 0x03, 0x3a, 0x3c, 0xa1, 0x5c, 0x38, 0xb9, 0xfe, 0xf0, 0x2b, 0xf2, 0xe7, 0xb1, 0x1f, 0x42, 0xeb, 0x09, 0x4d, 0x65, 0x34, 0xb6, 0x52, 0x66, 0x73, 0xe1, 0xd9, 0xfd, 0x92, 0x60,
0x72, 0x75, 0xfb, 0x63, 0x45, 0x8b, 0x64, 0xd5, 0x2b, 0x5f, 0xc8, 0xe1, 0x65, 0x35, 0x87, 0xd1, 0x6e, 0x93, 0x66, 0xb0, 0xb6, 0x07, 0x74, 0x78, 0x42, 0xb9, 0x70, 0x72, 0xfd, 0xe1, 0x97, 0xe4,
0x90, 0x6a, 0x4a, 0x55, 0x08, 0x2d, 0xed, 0xf6, 0x98, 0x62, 0xa0, 0xe2, 0x65, 0x3b, 0xc5, 0x40, 0x2f, 0x62, 0xe5, 0xea, 0x3a, 0xca, 0x8a, 0x16, 0x5a, 0xab, 0x57, 0xbe, 0x90, 0xc3, 0xcb, 0x6a,
0x25, 0x97, 0xcd, 0xec, 0x7b, 0xd8, 0x8e, 0x4d, 0xd6, 0xb2, 0x76, 0xf8, 0x05, 0xb3, 0xac, 0xa5, 0x0e, 0xa3, 0x21, 0xd5, 0x94, 0xaa, 0x10, 0x5a, 0xda, 0x75, 0x36, 0xc5, 0x40, 0xc5, 0xdb, 0x7f,
0x07, 0x5f, 0x7a, 0xa3, 0xf4, 0x2b, 0xf2, 0x1a, 0x1f, 0x02, 0xd3, 0x83, 0xbb, 0x33, 0xed, 0x3c, 0x8a, 0x81, 0x4a, 0x6e, 0xbf, 0xd9, 0xf7, 0xb0, 0x1d, 0x9b, 0xac, 0x65, 0xed, 0xf0, 0x1b, 0x6f,
0x1f, 0x07, 0xae, 0x26, 0x4b, 0xcb, 0x32, 0x35, 0x76, 0xde, 0x14, 0xea, 0x5e, 0xdf, 0x01, 0x38, 0x59, 0x4b, 0x0f, 0xbe, 0xf0, 0x46, 0xe9, 0x97, 0xe4, 0x15, 0xbe, 0x4c, 0xa6, 0x47, 0x9b, 0x67,
0x4c, 0xa3, 0xf1, 0xb6, 0x47, 0x47, 0x51, 0x98, 0xc9, 0xda, 0x2c, 0xb4, 0x38, 0x93, 0x5f, 0x5a, 0xda, 0x79, 0x3e, 0x30, 0x5d, 0x4d, 0x96, 0x96, 0x65, 0x6a, 0xec, 0xbc, 0x29, 0xd4, 0xbd, 0xbe,
0x7c, 0x31, 0x79, 0xad, 0x1d, 0x67, 0x8c, 0xf8, 0x78, 0x49, 0x5c, 0x53, 0xa3, 0x8f, 0xd5, 0x84, 0x03, 0x70, 0x98, 0x46, 0xe3, 0x6d, 0x8f, 0x8e, 0xa2, 0x30, 0x93, 0xb5, 0x59, 0xac, 0x73, 0x26,
0x94, 0x44, 0x20, 0x3f, 0xb4, 0xc8, 0x26, 0x40, 0xe6, 0xcc, 0x54, 0x87, 0x93, 0x82, 0x9f, 0x54, 0xbf, 0xb4, 0x80, 0x67, 0xf2, 0x4a, 0x3b, 0xce, 0x18, 0x01, 0xfb, 0x92, 0xb8, 0xa6, 0x86, 0x43,
0x89, 0xbd, 0x12, 0xcf, 0xe7, 0x01, 0x34, 0x33, 0xef, 0xd6, 0x6a, 0x76, 0x97, 0xd4, 0xf0, 0x85, 0xab, 0x09, 0x29, 0x09, 0x89, 0x7e, 0x68, 0x91, 0x4d, 0x80, 0xcc, 0x99, 0xa9, 0x0e, 0x27, 0x05,
0xa9, 0x1d, 0xbc, 0xe0, 0x73, 0xb2, 0xbb, 0x38, 0x55, 0x40, 0x1a, 0x6c, 0xaa, 0xd0, 0x91, 0xe4, 0x3f, 0xa9, 0x12, 0x7b, 0x25, 0x9e, 0xcf, 0x03, 0x68, 0x66, 0xde, 0xad, 0xd5, 0xec, 0x72, 0xab,
0xc3, 0x12, 0xef, 0xa0, 0x52, 0x70, 0x30, 0x24, 0x56, 0x8e, 0xa4, 0xc4, 0xef, 0xa3, 0xb8, 0xb9, 0xe1, 0x0b, 0x53, 0x3b, 0x78, 0xc1, 0xe7, 0x64, 0x77, 0x71, 0xaa, 0x80, 0x34, 0xd8, 0x54, 0xa1,
0xd4, 0x21, 0x62, 0xd8, 0x58, 0x18, 0xb5, 0xf2, 0x70, 0x5c, 0x26, 0x9a, 0x47, 0xb0, 0x58, 0xb0, 0x23, 0xc9, 0x87, 0x25, 0xde, 0x41, 0xa5, 0xe0, 0x60, 0x8c, 0xae, 0x1c, 0x49, 0x89, 0xdf, 0x47,
0xb1, 0x2b, 0x96, 0x9e, 0xe6, 0x44, 0x51, 0x2c, 0x3d, 0xd5, 0x3c, 0x6f, 0x5f, 0xc3, 0x26, 0x17, 0x71, 0x73, 0xa9, 0x43, 0xc4, 0xb0, 0xb1, 0x30, 0x6a, 0xe5, 0xf1, 0xc1, 0x4c, 0x34, 0x8f, 0x60,
0x6c, 0xc0, 0x33, 0xd5, 0xb9, 0x9f, 0x0e, 0x4e, 0x59, 0x73, 0x7f, 0x60, 0xc1, 0x52, 0x89, 0x09, 0xb1, 0x60, 0x63, 0x57, 0x2c, 0x3d, 0xcd, 0x89, 0xa2, 0x58, 0x7a, 0xaa, 0x79, 0xde, 0xbe, 0x86,
0x9d, 0x7c, 0x20, 0x8f, 0xe7, 0x53, 0xcd, 0xeb, 0xfd, 0x52, 0x0b, 0xab, 0x7d, 0x88, 0xed, 0x3c, 0x4d, 0x2e, 0xd8, 0x80, 0x67, 0xaa, 0x73, 0x3f, 0x1d, 0x9c, 0xb2, 0xe6, 0xfe, 0xc0, 0x82, 0xa5,
0x27, 0x5f, 0x18, 0x1b, 0x1b, 0x37, 0x6e, 0x0a, 0xce, 0x7c, 0xa7, 0x52, 0x51, 0xaa, 0x51, 0xfc, 0x12, 0x13, 0x3a, 0x79, 0x4f, 0x1e, 0xcf, 0xa7, 0x9a, 0xd7, 0xfb, 0xa5, 0x16, 0x56, 0xfb, 0x10,
0x04, 0x56, 0x79, 0x47, 0x36, 0x83, 0x20, 0x67, 0xfd, 0xbd, 0x55, 0xf8, 0xc7, 0x50, 0x86, 0x55, 0xdb, 0x79, 0x46, 0x3e, 0x37, 0x36, 0x36, 0x6e, 0xdc, 0x14, 0x9c, 0xf9, 0x56, 0xa5, 0xa2, 0x54,
0xbb, 0x3f, 0xfd, 0x1f, 0x47, 0x4d, 0x51, 0x80, 0x79, 0x57, 0xc9, 0x04, 0xba, 0x79, 0x8b, 0x2a, 0xa3, 0xf8, 0x09, 0xac, 0xf2, 0x8e, 0x6c, 0x06, 0x41, 0xce, 0xfa, 0x7b, 0xab, 0xf0, 0x9f, 0xaa,
0x99, 0x5e, 0x57, 0xff, 0x7d, 0xe3, 0xa0, 0x59, 0x62, 0x85, 0xfd, 0x35, 0x6c, 0xec, 0x7d, 0xbb, 0x0c, 0xab, 0x76, 0x7f, 0xfa, 0x7f, 0xb2, 0x9a, 0xa2, 0x00, 0xf3, 0xae, 0x92, 0x09, 0x74, 0xf3,
0x5f, 0x36, 0x2f, 0xfc, 0xec, 0xc9, 0xd6, 0xe3, 0x2f, 0x2a, 0xf3, 0x6f, 0x6e, 0x9c, 0xb2, 0x81, 0x16, 0x55, 0x32, 0xbd, 0xae, 0xfe, 0xbb, 0xc6, 0x41, 0xb3, 0xc4, 0x0a, 0xfb, 0x75, 0x6c, 0xec,
0x69, 0xf6, 0x6a, 0x75, 0xd4, 0x2d, 0xb7, 0x1e, 0xdf, 0xc1, 0xe6, 0xd7, 0xec, 0xf7, 0xca, 0x9a, 0x5d, 0xbb, 0x5f, 0x36, 0x2f, 0xfc, 0xec, 0xc9, 0xd6, 0xe3, 0x2f, 0x2b, 0xf3, 0x6f, 0x6e, 0x9c,
0x8f, 0xf9, 0x27, 0xfc, 0xd0, 0xbb, 0x9a, 0xe7, 0x6b, 0xd9, 0x83, 0xb5, 0xb2, 0xf5, 0x9e, 0x7a, 0xb2, 0x81, 0x69, 0xf6, 0x6a, 0x75, 0xd4, 0x2d, 0xb7, 0x1e, 0xdf, 0xc1, 0xe6, 0xd7, 0xec, 0x77,
0x7a, 0xc9, 0xcd, 0xf5, 0x0c, 0xea, 0x76, 0x6d, 0xdd, 0xdc, 0xab, 0xd8, 0xa7, 0xc4, 0xae, 0xac, 0xca, 0x9a, 0x8f, 0xf9, 0x27, 0xfc, 0xd0, 0xbb, 0x9a, 0xe7, 0x6b, 0xd9, 0x83, 0xb5, 0xb2, 0xf5,
0xd8, 0xa7, 0xcc, 0x3e, 0x6c, 0xea, 0x35, 0xd2, 0x32, 0xfc, 0x99, 0x75, 0xff, 0xf1, 0xdd, 0x1f, 0x9e, 0x7a, 0x7a, 0xc9, 0xcd, 0xf5, 0x0c, 0xea, 0x76, 0x6d, 0xdd, 0xdc, 0xab, 0xd8, 0xa7, 0xc4,
0xfc, 0xda, 0x89, 0x9f, 0x9e, 0x4e, 0x8e, 0xd6, 0x07, 0xd1, 0xe8, 0x41, 0x20, 0xcd, 0x7a, 0xe2, 0xae, 0xac, 0xd8, 0xa7, 0xcc, 0x3e, 0x6c, 0xea, 0x35, 0xd2, 0x32, 0xfc, 0x89, 0x75, 0xff, 0xd1,
0x9a, 0xc8, 0x83, 0x20, 0x1c, 0x3e, 0xc0, 0x6a, 0x8f, 0x66, 0xf1, 0x3f, 0xd9, 0xfd, 0xfa, 0xff, 0xdd, 0x1f, 0x7c, 0xfd, 0xc4, 0x4f, 0x4f, 0x27, 0x47, 0xeb, 0x83, 0x68, 0xf4, 0x20, 0x90, 0x66,
0x0d, 0x00, 0x00, 0xff, 0xff, 0x54, 0x27, 0x55, 0x71, 0xfb, 0x6e, 0x00, 0x00, 0x3d, 0x71, 0x6f, 0xe5, 0x41, 0x10, 0x0e, 0x1f, 0x60, 0xb5, 0x47, 0xb3, 0xf8, 0xaf, 0xf5, 0xbe,
0xf5, 0xff, 0x03, 0x00, 0x00, 0xff, 0xff, 0x8a, 0x32, 0xb9, 0xa2, 0x8c, 0x6f, 0x00, 0x00,
} }
// Reference imports to suppress errors if they are not otherwise used. // Reference imports to suppress errors if they are not otherwise used.

@ -2396,6 +2396,9 @@ message InvoiceHTLC {
/// Current state the htlc is in. /// Current state the htlc is in.
InvoiceHTLCState state = 8 [json_name = "state"]; InvoiceHTLCState state = 8 [json_name = "state"];
/// Custom tlv records.
map<uint64, bytes> custom_records = 9 [json_name = "custom_records"];
} }
message AddInvoiceResponse { message AddInvoiceResponse {

@ -2819,6 +2819,14 @@
"state": { "state": {
"$ref": "#/definitions/lnrpcInvoiceHTLCState", "$ref": "#/definitions/lnrpcInvoiceHTLCState",
"description": "/ Current state the htlc is in." "description": "/ Current state the htlc is in."
},
"custom_records": {
"type": "object",
"additionalProperties": {
"type": "string",
"format": "byte"
},
"description": "/ Custom tlv records."
} }
}, },
"title": "/ Details of an HTLC that paid to an invoice" "title": "/ Details of an HTLC that paid to an invoice"

@ -12,9 +12,10 @@ import (
// Type is an 64-bit identifier for a TLV Record. // Type is an 64-bit identifier for a TLV Record.
type Type uint64 type Type uint64
// TypeSet is an unordered set of Types. The map item boolean values indicate // TypeMap is a map of parsed Types. The map values are byte slices. If the byte
// whether the type that we parsed was known. // slice is nil, the type was successfully parsed. Otherwise the value is byte
type TypeSet map[Type]bool // slice containing the encoded data.
type TypeMap map[Type][]byte
// Encoder is a signature for methods that can encode TLV values. An error // Encoder is a signature for methods that can encode TLV values. An error
// should be returned if the Encoder cannot support the underlying type of val. // should be returned if the Encoder cannot support the underlying type of val.

@ -1,6 +1,7 @@
package tlv package tlv
import ( import (
"bytes"
"errors" "errors"
"io" "io"
"io/ioutil" "io/ioutil"
@ -139,16 +140,16 @@ func (s *Stream) Decode(r io.Reader) error {
} }
// DecodeWithParsedTypes is identical to Decode, but if successful, returns a // DecodeWithParsedTypes is identical to Decode, but if successful, returns a
// TypeSet containing the types of all records that were decoded or ignored from // TypeMap containing the types of all records that were decoded or ignored from
// the stream. // the stream.
func (s *Stream) DecodeWithParsedTypes(r io.Reader) (TypeSet, error) { func (s *Stream) DecodeWithParsedTypes(r io.Reader) (TypeMap, error) {
return s.decode(r, make(TypeSet)) return s.decode(r, make(TypeMap))
} }
// decode is a helper function that performs the basis of stream decoding. If // decode is a helper function that performs the basis of stream decoding. If
// the caller needs the set of parsed types, it must provide an initialized // the caller needs the set of parsed types, it must provide an initialized
// parsedTypes, otherwise the returned TypeSet will be nil. // parsedTypes, otherwise the returned TypeMap will be nil.
func (s *Stream) decode(r io.Reader, parsedTypes TypeSet) (TypeSet, error) { func (s *Stream) decode(r io.Reader, parsedTypes TypeMap) (TypeMap, error) {
var ( var (
typ Type typ Type
min Type min Type
@ -230,10 +231,25 @@ func (s *Stream) decode(r io.Reader, parsedTypes TypeSet) (TypeSet, error) {
return nil, err return nil, err
} }
// Record the successfully decoded type if the caller
// provided an initialized TypeMap.
if parsedTypes != nil {
parsedTypes[typ] = nil
}
// Otherwise, the record type is unknown and is odd, discard the // Otherwise, the record type is unknown and is odd, discard the
// number of bytes specified by length. // number of bytes specified by length.
default: default:
_, err := io.CopyN(ioutil.Discard, r, int64(length)) // If the caller provided an initialized TypeMap, record
// the encoded bytes.
var b *bytes.Buffer
writer := ioutil.Discard
if parsedTypes != nil {
b = bytes.NewBuffer(make([]byte, 0, length))
writer = b
}
_, err := io.CopyN(writer, r, int64(length))
switch { switch {
// We'll convert any EOFs to ErrUnexpectedEOF, since this // We'll convert any EOFs to ErrUnexpectedEOF, since this
@ -245,12 +261,10 @@ func (s *Stream) decode(r io.Reader, parsedTypes TypeSet) (TypeSet, error) {
case err != nil: case err != nil:
return nil, err return nil, err
} }
}
// Record the successfully decoded or ignored type if the if parsedTypes != nil {
// caller provided an initialized TypeSet. parsedTypes[typ] = b.Bytes()
if parsedTypes != nil { }
parsedTypes[typ] = ok
} }
// Update our record index so that we can begin our next search // Update our record index so that we can begin our next search

@ -12,7 +12,7 @@ type parsedTypeTest struct {
name string name string
encode []tlv.Type encode []tlv.Type
decode []tlv.Type decode []tlv.Type
expParsedTypes tlv.TypeSet expParsedTypes tlv.TypeMap
} }
// TestParsedTypes asserts that a Stream will properly return the set of types // TestParsedTypes asserts that a Stream will properly return the set of types
@ -29,17 +29,17 @@ func TestParsedTypes(t *testing.T) {
name: "known and unknown", name: "known and unknown",
encode: []tlv.Type{knownType, unknownType}, encode: []tlv.Type{knownType, unknownType},
decode: []tlv.Type{knownType}, decode: []tlv.Type{knownType},
expParsedTypes: tlv.TypeSet{ expParsedTypes: tlv.TypeMap{
unknownType: false, unknownType: []byte{0, 0, 0, 0, 0, 0, 0, 0},
knownType: true, knownType: nil,
}, },
}, },
{ {
name: "known and missing known", name: "known and missing known",
encode: []tlv.Type{knownType}, encode: []tlv.Type{knownType},
decode: []tlv.Type{knownType, secondKnownType}, decode: []tlv.Type{knownType, secondKnownType},
expParsedTypes: tlv.TypeSet{ expParsedTypes: tlv.TypeMap{
knownType: true, knownType: nil,
}, },
}, },
} }