proto: deprecate duplicate string fields in requests

With this PR we deprecate fields that have been specifically added to
to work around a bug in the gRPC/REST gateway that didn't allow bytes
fields to be encoded in REST requests.
That bug has now been fixed so the fields are no longer required.
To make it more clear how bytes fields have to be used in REST,
comments have been added to all those fields.
This commit is contained in:
Oliver Gugger 2019-11-01 09:45:02 +01:00
parent 863d795c94
commit 7e9c4f0f87
No known key found for this signature in database
GPG Key ID: 8E4256593F177720
3 changed files with 794 additions and 680 deletions

@ -254,11 +254,13 @@ func (Payment_PaymentStatus) EnumDescriptor() ([]byte, []int) {
type GenSeedRequest struct {
//*
//aezeed_passphrase is an optional user provided passphrase that will be used
//to encrypt the generated aezeed cipher seed.
//to encrypt the generated aezeed cipher seed. When using REST, this field
//must be encoded as base64.
AezeedPassphrase []byte `protobuf:"bytes,1,opt,name=aezeed_passphrase,json=aezeedPassphrase,proto3" json:"aezeed_passphrase,omitempty"`
//*
//seed_entropy is an optional 16-bytes generated via CSPRNG. If not
//specified, then a fresh set of randomness will be used to create the seed.
//When using REST, this field must be encoded as base64.
SeedEntropy []byte `protobuf:"bytes,2,opt,name=seed_entropy,json=seedEntropy,proto3" json:"seed_entropy,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -364,7 +366,8 @@ type InitWalletRequest struct {
//*
//wallet_password is the passphrase that should be used to encrypt the
//wallet. This MUST be at least 8 chars in length. After creation, this
//password is required to unlock the daemon.
//password is required to unlock the daemon. When using REST, this field
//must be encoded as base64.
WalletPassword []byte `protobuf:"bytes,1,opt,name=wallet_password,json=walletPassword,proto3" json:"wallet_password,omitempty"`
//*
//cipher_seed_mnemonic is a 24-word mnemonic that encodes a prior aezeed
@ -373,7 +376,8 @@ type InitWalletRequest struct {
CipherSeedMnemonic []string `protobuf:"bytes,2,rep,name=cipher_seed_mnemonic,json=cipherSeedMnemonic,proto3" json:"cipher_seed_mnemonic,omitempty"`
//*
//aezeed_passphrase is an optional user provided passphrase that will be used
//to encrypt the generated aezeed cipher seed.
//to encrypt the generated aezeed cipher seed. When using REST, this field
//must be encoded as base64.
AezeedPassphrase []byte `protobuf:"bytes,3,opt,name=aezeed_passphrase,json=aezeedPassphrase,proto3" json:"aezeed_passphrase,omitempty"`
//*
//recovery_window is an optional argument specifying the address lookahead
@ -490,7 +494,7 @@ type UnlockWalletRequest struct {
//*
//wallet_password should be the current valid passphrase for the daemon. This
//will be required to decrypt on-disk material that the daemon requires to
//function properly.
//function properly. When using REST, this field must be encoded as base64.
WalletPassword []byte `protobuf:"bytes,1,opt,name=wallet_password,json=walletPassword,proto3" json:"wallet_password,omitempty"`
//*
//recovery_window is an optional argument specifying the address lookahead
@ -592,11 +596,11 @@ var xxx_messageInfo_UnlockWalletResponse proto.InternalMessageInfo
type ChangePasswordRequest struct {
//*
//current_password should be the current valid passphrase used to unlock the
//daemon.
//daemon. When using REST, this field must be encoded as base64.
CurrentPassword []byte `protobuf:"bytes,1,opt,name=current_password,json=currentPassword,proto3" json:"current_password,omitempty"`
//*
//new_password should be the new passphrase that will be needed to unlock the
//daemon.
//daemon. When using REST, this field must be encoded as base64.
NewPassword []byte `protobuf:"bytes,2,opt,name=new_password,json=newPassword,proto3" json:"new_password,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -1022,18 +1026,26 @@ func (*FeeLimit) XXX_OneofWrappers() []interface{} {
}
type SendRequest struct {
/// The identity pubkey of the payment recipient
//*
//The identity pubkey of the payment recipient. When using REST, this field
//must be encoded as base64.
Dest []byte `protobuf:"bytes,1,opt,name=dest,proto3" json:"dest,omitempty"`
/// The hex-encoded identity pubkey of the payment recipient
DestString string `protobuf:"bytes,2,opt,name=dest_string,json=destString,proto3" json:"dest_string,omitempty"`
//*
//The hex-encoded identity pubkey of the payment recipient. Deprecated now
//that the REST gateway supports base64 encoding of bytes fields.
DestString string `protobuf:"bytes,2,opt,name=dest_string,json=destString,proto3" json:"dest_string,omitempty"` // Deprecated: Do not use.
/// Number of satoshis to send.
Amt int64 `protobuf:"varint,3,opt,name=amt,proto3" json:"amt,omitempty"`
/// The hash to use within the payment's HTLC
PaymentHash []byte `protobuf:"bytes,4,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"`
/// The hex-encoded hash to use within the payment's HTLC
PaymentHashString string `protobuf:"bytes,5,opt,name=payment_hash_string,json=paymentHashString,proto3" json:"payment_hash_string,omitempty"`
//*
//A bare-bones invoice for a payment within the Lightning Network. With the
//The hash to use within the payment's HTLC. When using REST, this field
//must be encoded as base64.
PaymentHash []byte `protobuf:"bytes,4,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"`
//*
//The hex-encoded hash to use within the payment's HTLC. Deprecated now
//that the REST gateway supports base64 encoding of bytes fields.
PaymentHashString string `protobuf:"bytes,5,opt,name=payment_hash_string,json=paymentHashString,proto3" json:"payment_hash_string,omitempty"` // Deprecated: Do not use.
//*
//A bare-bones invoice for a payment within the Lightning Network. With the
//details of the invoice, the sender has all the data necessary to send a
//payment to the recipient.
PaymentRequest string `protobuf:"bytes,6,opt,name=payment_request,json=paymentRequest,proto3" json:"payment_request,omitempty"`
@ -1059,7 +1071,8 @@ type SendRequest struct {
//*
//An optional field that can be used to pass an arbitrary set of TLV records
//to a peer which understands the new records. This can be used to pass
//application specific data during the payment attempt.
//application specific data during the payment attempt. When using REST, the
//values must be encoded as base64.
DestTlv map[uint64][]byte `protobuf:"bytes,11,rep,name=dest_tlv,json=destTlv,proto3" json:"dest_tlv,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -1098,6 +1111,7 @@ func (m *SendRequest) GetDest() []byte {
return nil
}
// Deprecated: Do not use.
func (m *SendRequest) GetDestString() string {
if m != nil {
return m.DestString
@ -1119,6 +1133,7 @@ func (m *SendRequest) GetPaymentHash() []byte {
return nil
}
// Deprecated: Do not use.
func (m *SendRequest) GetPaymentHashString() string {
if m != nil {
return m.PaymentHashString
@ -1232,10 +1247,14 @@ func (m *SendResponse) GetPaymentHash() []byte {
}
type SendToRouteRequest struct {
/// The payment hash to use for the HTLC.
//*
//The payment hash to use for the HTLC. When using REST, this field must be
//encoded as base64.
PaymentHash []byte `protobuf:"bytes,1,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"`
/// An optional hex-encoded payment hash to be used for the HTLC.
PaymentHashString string `protobuf:"bytes,2,opt,name=payment_hash_string,json=paymentHashString,proto3" json:"payment_hash_string,omitempty"`
//*
//An optional hex-encoded payment hash to be used for the HTLC. Deprecated now
//that the REST gateway supports base64 encoding of bytes fields.
PaymentHashString string `protobuf:"bytes,2,opt,name=payment_hash_string,json=paymentHashString,proto3" json:"payment_hash_string,omitempty"` // Deprecated: Do not use.
/// Route that should be used to attempt to complete the payment.
Route *Route `protobuf:"bytes,4,opt,name=route,proto3" json:"route,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
@ -1275,6 +1294,7 @@ func (m *SendToRouteRequest) GetPaymentHash() []byte {
return nil
}
// Deprecated: Do not use.
func (m *SendToRouteRequest) GetPaymentHashString() string {
if m != nil {
return m.PaymentHashString
@ -2169,7 +2189,9 @@ func (m *NewAddressResponse) GetAddress() string {
}
type SignMessageRequest struct {
/// The message to be signed
//*
//The message to be signed. When using REST, this field must be encoded as
//base64.
Msg []byte `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -2249,7 +2271,9 @@ func (m *SignMessageResponse) GetSignature() string {
}
type VerifyMessageRequest struct {
/// The message over which the signature is to be verified
//*
//The message over which the signature is to be verified. When using REST,
//this field must be encoded as base64.
Msg []byte `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"`
/// The signature to be verified over the given message
Signature string `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
@ -2350,7 +2374,7 @@ type ConnectPeerRequest struct {
/// Lightning address of the peer, in the format `<pubkey>@host`
Addr *LightningAddress `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"`
//* If set, the daemon will attempt to persistently connect to the target
// peer. Otherwise, the call will be synchronous.
// peer. Otherwise, the call will be synchronous.
Perm bool `protobuf:"varint,2,opt,name=perm,proto3" json:"perm,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -3959,10 +3983,14 @@ func (m *PendingUpdate) GetOutputIndex() uint32 {
}
type OpenChannelRequest struct {
/// The pubkey of the node to open a channel with
//*
//The pubkey of the node to open a channel with. When using REST, this field
//must be encoded as base64.
NodePubkey []byte `protobuf:"bytes,2,opt,name=node_pubkey,proto3" json:"node_pubkey,omitempty"`
/// The hex encoded pubkey of the node to open a channel with
NodePubkeyString string `protobuf:"bytes,3,opt,name=node_pubkey_string,proto3" json:"node_pubkey_string,omitempty"`
//*
//The hex encoded pubkey of the node to open a channel with. Deprecated now
//that the REST gateway supports base64 encoding of bytes fields.
NodePubkeyString string `protobuf:"bytes,3,opt,name=node_pubkey_string,proto3" json:"node_pubkey_string,omitempty"` // Deprecated: Do not use.
/// The number of satoshis the wallet should commit to the channel
LocalFundingAmount int64 `protobuf:"varint,4,opt,name=local_funding_amount,proto3" json:"local_funding_amount,omitempty"`
/// The number of satoshis to push to the remote side as part of the initial commitment state
@ -4018,6 +4046,7 @@ func (m *OpenChannelRequest) GetNodePubkey() []byte {
return nil
}
// Deprecated: Do not use.
func (m *OpenChannelRequest) GetNodePubkeyString() string {
if m != nil {
return m.NodePubkeyString
@ -5078,7 +5107,8 @@ type QueryRoutesRequest struct {
//send the payment.
FeeLimit *FeeLimit `protobuf:"bytes,5,opt,name=fee_limit,json=feeLimit,proto3" json:"fee_limit,omitempty"`
//*
//A list of nodes to ignore during path finding.
//A list of nodes to ignore during path finding. When using REST, these fields
//must be encoded as base64.
IgnoredNodes [][]byte `protobuf:"bytes,6,rep,name=ignored_nodes,json=ignoredNodes,proto3" json:"ignored_nodes,omitempty"`
//*
//Deprecated. A list of edges to ignore during path finding.
@ -5201,9 +5231,13 @@ func (m *QueryRoutesRequest) GetCltvLimit() uint32 {
}
type NodePair struct {
/// The sending node of the pair.
//*
//The sending node of the pair. When using REST, this field must be encoded as
//base64.
From []byte `protobuf:"bytes,1,opt,name=from,proto3" json:"from,omitempty"`
/// The receiving node of the pair.
//*
//The receiving node of the pair. When using REST, this field must be encoded
//as base64.
To []byte `protobuf:"bytes,2,opt,name=to,proto3" json:"to,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -5548,13 +5582,13 @@ func (m *MPPRecord) GetTotalAmtMsat() int64 {
//carry the initial payment amount after fees are accounted for.
type Route struct {
//*
//The cumulative (final) time lock across the entire route. This is the CLTV
//The cumulative (final) time lock across the entire route. This is the CLTV
//value that should be extended to the first hop in the route. All other hops
//will decrement the time-lock as advertised, leaving enough time for all
//hops to wait for or present the payment preimage to complete the payment.
TotalTimeLock uint32 `protobuf:"varint,1,opt,name=total_time_lock,proto3" json:"total_time_lock,omitempty"`
//*
//The sum of the fees paid at each hop within the final route. In the case
//The sum of the fees paid at each hop within the final route. In the case
//of a one-hop payment, this value will be zero as we don't need to pay a fee
//to ourselves.
TotalFees int64 `protobuf:"varint,2,opt,name=total_fees,proto3" json:"total_fees,omitempty"` // Deprecated: Do not use.
@ -6872,9 +6906,12 @@ type Invoice struct {
Receipt []byte `protobuf:"bytes,2,opt,name=receipt,proto3" json:"receipt,omitempty"` // Deprecated: Do not use.
//*
//The hex-encoded preimage (32 byte) which will allow settling an incoming
//HTLC payable to this preimage
//HTLC payable to this preimage. When using REST, this field must be encoded
//as base64.
RPreimage []byte `protobuf:"bytes,3,opt,name=r_preimage,proto3" json:"r_preimage,omitempty"`
/// The hash of the preimage
//*
//The hash of the preimage. When using REST, this field must be encoded as
//base64.
RHash []byte `protobuf:"bytes,4,opt,name=r_hash,proto3" json:"r_hash,omitempty"`
/// The value of this invoice in satoshis
Value int64 `protobuf:"varint,5,opt,name=value,proto3" json:"value,omitempty"`
@ -6885,14 +6922,15 @@ type Invoice struct {
/// When this invoice was settled
SettleDate int64 `protobuf:"varint,8,opt,name=settle_date,proto3" json:"settle_date,omitempty"`
//*
//A bare-bones invoice for a payment within the Lightning Network. With the
//A bare-bones invoice for a payment within the Lightning Network. With the
//details of the invoice, the sender has all the data necessary to send a
//payment to the recipient.
PaymentRequest string `protobuf:"bytes,9,opt,name=payment_request,proto3" json:"payment_request,omitempty"`
//*
//Hash (SHA-256) of a description of the payment. Used if the description of
//payment (memo) is too long to naturally fit within the description field
//of an encoded payment request.
//of an encoded payment request. When using REST, this field must be encoded
//as base64.
DescriptionHash []byte `protobuf:"bytes,10,opt,name=description_hash,proto3" json:"description_hash,omitempty"`
/// Payment request expiry time in seconds. Default is 3600 (1 hour).
Expiry int64 `protobuf:"varint,11,opt,name=expiry,proto3" json:"expiry,omitempty"`
@ -7235,7 +7273,7 @@ func (m *InvoiceHTLC) GetState() InvoiceHTLCState {
type AddInvoiceResponse struct {
RHash []byte `protobuf:"bytes,1,opt,name=r_hash,proto3" json:"r_hash,omitempty"`
//*
//A bare-bones invoice for a payment within the Lightning Network. With the
//A bare-bones invoice for a payment within the Lightning Network. With the
//details of the invoice, the sender has all the data necessary to send a
//payment to the recipient.
PaymentRequest string `protobuf:"bytes,2,opt,name=payment_request,proto3" json:"payment_request,omitempty"`
@ -7300,8 +7338,12 @@ type PaymentHash struct {
//*
//The hex-encoded payment hash of the invoice to be looked up. The passed
//payment hash must be exactly 32 bytes, otherwise an error is returned.
RHashStr string `protobuf:"bytes,1,opt,name=r_hash_str,proto3" json:"r_hash_str,omitempty"`
/// The payment hash of the invoice to be looked up.
//Deprecated now that the REST gateway supports base64 encoding of bytes
//fields.
RHashStr string `protobuf:"bytes,1,opt,name=r_hash_str,proto3" json:"r_hash_str,omitempty"` // Deprecated: Do not use.
//*
//The payment hash of the invoice to be looked up. When using REST, this field
//must be encoded as base64.
RHash []byte `protobuf:"bytes,2,opt,name=r_hash,proto3" json:"r_hash,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -7333,6 +7375,7 @@ func (m *PaymentHash) XXX_DiscardUnknown() {
var xxx_messageInfo_PaymentHash proto.InternalMessageInfo
// Deprecated: Do not use.
func (m *PaymentHash) GetRHashStr() string {
if m != nil {
return m.RHashStr
@ -8719,7 +8762,8 @@ type ChannelBackup struct {
//*
//Is an encrypted single-chan backup. this can be passed to
//RestoreChannelBackups, or the WalletUnlocker Init and Unlock methods in
//order to trigger the recovery protocol.
//order to trigger the recovery protocol. When using REST, this field must be
//encoded as base64.
ChanBackup []byte `protobuf:"bytes,2,opt,name=chan_backup,proto3" json:"chan_backup,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -8772,7 +8816,8 @@ type MultiChanBackup struct {
//*
//A single encrypted blob containing all the static channel backups of the
//channel listed above. This can be stored as a single file or blob, and
//safely be replaced with any prior/future versions.
//safely be replaced with any prior/future versions. When using REST, this
//field must be encoded as base64.
MultiChanBackup []byte `protobuf:"bytes,2,opt,name=multi_chan_backup,proto3" json:"multi_chan_backup,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -9401,550 +9446,550 @@ func init() {
func init() { proto.RegisterFile("rpc.proto", fileDescriptor_77a6da22d6a3feb1) }
var fileDescriptor_77a6da22d6a3feb1 = []byte{
// 8678 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x7d, 0x5d, 0x6c, 0x24, 0x49,
0xb6, 0x56, 0xd7, 0x9f, 0x5d, 0x75, 0xaa, 0x6c, 0x97, 0xc3, 0x6e, 0xbb, 0xba, 0xa6, 0xa7, 0xc7,
0x93, 0xdb, 0x77, 0xba, 0xb7, 0x77, 0xd6, 0xdd, 0xe3, 0xdd, 0x1d, 0xe6, 0x4e, 0x73, 0xb9, 0xf8,
0xaf, 0xdb, 0xbd, 0xe3, 0x76, 0x7b, 0xd3, 0xdd, 0xdb, 0xec, 0xee, 0xbd, 0xaa, 0x4d, 0x57, 0x85,
0xed, 0xdc, 0xae, 0xca, 0xac, 0xcd, 0xcc, 0xb2, 0xdb, 0x3b, 0x0c, 0x12, 0x08, 0x21, 0xc4, 0x0b,
0x1a, 0x78, 0x01, 0x04, 0xba, 0xd2, 0x5e, 0x24, 0xee, 0x85, 0x07, 0xe0, 0x01, 0x09, 0xd0, 0x95,
0x78, 0xe0, 0x01, 0x09, 0x09, 0xf1, 0xc0, 0x03, 0x12, 0x0f, 0xac, 0x10, 0x48, 0x68, 0x85, 0x78,
0x41, 0xe2, 0x1d, 0x9d, 0x13, 0x3f, 0x19, 0x91, 0x99, 0xd5, 0xee, 0xd9, 0x5d, 0xee, 0x93, 0x2b,
0xbe, 0x88, 0x8c, 0xdf, 0x73, 0x4e, 0x9c, 0x73, 0xe2, 0x44, 0x18, 0x1a, 0xd1, 0xb8, 0xbf, 0x3e,
0x8e, 0xc2, 0x24, 0x64, 0xb5, 0x61, 0x10, 0x8d, 0xfb, 0xdd, 0x9b, 0xa7, 0x61, 0x78, 0x3a, 0xe4,
0xf7, 0xbd, 0xb1, 0x7f, 0xdf, 0x0b, 0x82, 0x30, 0xf1, 0x12, 0x3f, 0x0c, 0x62, 0x51, 0xc8, 0xf9,
0x31, 0xcc, 0x3f, 0xe6, 0xc1, 0x11, 0xe7, 0x03, 0x97, 0xff, 0x74, 0xc2, 0xe3, 0x84, 0x7d, 0x03,
0x16, 0x3d, 0xfe, 0x33, 0xce, 0x07, 0xbd, 0xb1, 0x17, 0xc7, 0xe3, 0xb3, 0xc8, 0x8b, 0x79, 0xa7,
0xb4, 0x56, 0xba, 0xdb, 0x72, 0xdb, 0x22, 0xe3, 0x50, 0xe3, 0xec, 0x7d, 0x68, 0xc5, 0x58, 0x94,
0x07, 0x49, 0x14, 0x8e, 0x2f, 0x3b, 0x65, 0x2a, 0xd7, 0x44, 0x6c, 0x57, 0x40, 0xce, 0x10, 0x16,
0x74, 0x0b, 0xf1, 0x38, 0x0c, 0x62, 0xce, 0x1e, 0xc0, 0x72, 0xdf, 0x1f, 0x9f, 0xf1, 0xa8, 0x47,
0x1f, 0x8f, 0x02, 0x3e, 0x0a, 0x03, 0xbf, 0xdf, 0x29, 0xad, 0x55, 0xee, 0x36, 0x5c, 0x26, 0xf2,
0xf0, 0x8b, 0xa7, 0x32, 0x87, 0xdd, 0x81, 0x05, 0x1e, 0x08, 0x9c, 0x0f, 0xe8, 0x2b, 0xd9, 0xd4,
0x7c, 0x0a, 0xe3, 0x07, 0xce, 0x5f, 0x2f, 0xc3, 0xe2, 0x93, 0xc0, 0x4f, 0x5e, 0x7a, 0xc3, 0x21,
0x4f, 0xd4, 0x98, 0xee, 0xc0, 0xc2, 0x05, 0x01, 0x34, 0xa6, 0x8b, 0x30, 0x1a, 0xc8, 0x11, 0xcd,
0x0b, 0xf8, 0x50, 0xa2, 0x53, 0x7b, 0x56, 0x9e, 0xda, 0xb3, 0xc2, 0xe9, 0xaa, 0x4c, 0x99, 0xae,
0x3b, 0xb0, 0x10, 0xf1, 0x7e, 0x78, 0xce, 0xa3, 0xcb, 0xde, 0x85, 0x1f, 0x0c, 0xc2, 0x8b, 0x4e,
0x75, 0xad, 0x74, 0xb7, 0xe6, 0xce, 0x2b, 0xf8, 0x25, 0xa1, 0x6c, 0x0b, 0x16, 0xfa, 0x67, 0x5e,
0x10, 0xf0, 0x61, 0xef, 0xd8, 0xeb, 0xbf, 0x9a, 0x8c, 0xe3, 0x4e, 0x6d, 0xad, 0x74, 0xb7, 0xb9,
0x71, 0x63, 0x9d, 0x56, 0x75, 0x7d, 0xfb, 0xcc, 0x0b, 0xb6, 0x28, 0xe7, 0x28, 0xf0, 0xc6, 0xf1,
0x59, 0x98, 0xb8, 0xf3, 0xf2, 0x0b, 0x01, 0xc7, 0xce, 0x32, 0x30, 0x73, 0x26, 0xc4, 0xdc, 0x3b,
0xff, 0xa4, 0x04, 0x4b, 0x2f, 0x82, 0x61, 0xd8, 0x7f, 0xf5, 0x2b, 0x4e, 0x51, 0xc1, 0x18, 0xca,
0x6f, 0x3b, 0x86, 0xca, 0x57, 0x1d, 0xc3, 0x0a, 0x2c, 0xdb, 0x9d, 0x95, 0xa3, 0xe0, 0x70, 0x1d,
0xbf, 0x3e, 0xe5, 0xaa, 0x5b, 0x6a, 0x18, 0x5f, 0x87, 0x76, 0x7f, 0x12, 0x45, 0x3c, 0xc8, 0x8d,
0x63, 0x41, 0xe2, 0x7a, 0x20, 0xef, 0x43, 0x2b, 0xe0, 0x17, 0x69, 0x31, 0x49, 0xbb, 0x01, 0xbf,
0x50, 0x45, 0x9c, 0x0e, 0xac, 0x64, 0x9b, 0x91, 0x1d, 0xf8, 0x6f, 0x25, 0xa8, 0xbe, 0x48, 0x5e,
0x87, 0x6c, 0x1d, 0xaa, 0xc9, 0xe5, 0x58, 0x70, 0xc8, 0xfc, 0x06, 0x93, 0x43, 0xdb, 0x1c, 0x0c,
0x22, 0x1e, 0xc7, 0xcf, 0x2f, 0xc7, 0xdc, 0x6d, 0x79, 0x22, 0xd1, 0xc3, 0x72, 0xac, 0x03, 0xb3,
0x32, 0x4d, 0x0d, 0x36, 0x5c, 0x95, 0x64, 0xb7, 0x00, 0xbc, 0x51, 0x38, 0x09, 0x92, 0x5e, 0xec,
0x25, 0x34, 0x55, 0x15, 0xd7, 0x40, 0xd8, 0x4d, 0x68, 0x8c, 0x5f, 0xf5, 0xe2, 0x7e, 0xe4, 0x8f,
0x13, 0x22, 0x9b, 0x86, 0x9b, 0x02, 0xec, 0x1b, 0x50, 0x0f, 0x27, 0xc9, 0x38, 0xf4, 0x83, 0x44,
0x92, 0xca, 0x82, 0xec, 0xcb, 0xb3, 0x49, 0x72, 0x88, 0xb0, 0xab, 0x0b, 0xb0, 0xdb, 0x30, 0xd7,
0x0f, 0x83, 0x13, 0x3f, 0x1a, 0x09, 0x61, 0xd0, 0x99, 0xa1, 0xd6, 0x6c, 0xd0, 0xf9, 0x57, 0x65,
0x68, 0x3e, 0x8f, 0xbc, 0x20, 0xf6, 0xfa, 0x08, 0x60, 0xd7, 0x93, 0xd7, 0xbd, 0x33, 0x2f, 0x3e,
0xa3, 0xd1, 0x36, 0x5c, 0x95, 0x64, 0x2b, 0x30, 0x23, 0x3a, 0x4a, 0x63, 0xaa, 0xb8, 0x32, 0xc5,
0x3e, 0x84, 0xc5, 0x60, 0x32, 0xea, 0xd9, 0x6d, 0x55, 0x88, 0x5a, 0xf2, 0x19, 0x38, 0x01, 0xc7,
0xb8, 0xd6, 0xa2, 0x09, 0x31, 0x42, 0x03, 0x61, 0x0e, 0xb4, 0x64, 0x8a, 0xfb, 0xa7, 0x67, 0x62,
0x98, 0x35, 0xd7, 0xc2, 0xb0, 0x8e, 0xc4, 0x1f, 0xf1, 0x5e, 0x9c, 0x78, 0xa3, 0xb1, 0x1c, 0x96,
0x81, 0x50, 0x7e, 0x98, 0x78, 0xc3, 0xde, 0x09, 0xe7, 0x71, 0x67, 0x56, 0xe6, 0x6b, 0x84, 0x7d,
0x00, 0xf3, 0x03, 0x1e, 0x27, 0x3d, 0xb9, 0x28, 0x3c, 0xee, 0xd4, 0x89, 0xf5, 0x33, 0x28, 0xd6,
0x13, 0x79, 0x17, 0x3d, 0x9c, 0x00, 0xfe, 0xba, 0xd3, 0x10, 0x7d, 0x4d, 0x11, 0xa4, 0x9c, 0xc7,
0x3c, 0x31, 0x66, 0x2f, 0x96, 0x14, 0xea, 0xec, 0x03, 0x33, 0xe0, 0x1d, 0x9e, 0x78, 0xfe, 0x30,
0x66, 0x1f, 0x43, 0x2b, 0x31, 0x0a, 0x93, 0x28, 0x6c, 0x6a, 0x72, 0x32, 0x3e, 0x70, 0xad, 0x72,
0xce, 0x63, 0xa8, 0x3f, 0xe2, 0x7c, 0xdf, 0x1f, 0xf9, 0x09, 0x5b, 0x81, 0xda, 0x89, 0xff, 0x9a,
0x0b, 0x82, 0xaf, 0xec, 0x5d, 0x73, 0x45, 0x92, 0x75, 0x61, 0x76, 0xcc, 0xa3, 0x3e, 0x57, 0xcb,
0xb3, 0x77, 0xcd, 0x55, 0xc0, 0xd6, 0x2c, 0xd4, 0x86, 0xf8, 0xb1, 0xf3, 0xbf, 0x2b, 0xd0, 0x3c,
0xe2, 0x81, 0x66, 0x24, 0x06, 0x55, 0x1c, 0xb2, 0x64, 0x1e, 0xfa, 0xcd, 0xde, 0x83, 0x26, 0x4d,
0x43, 0x9c, 0x44, 0x7e, 0x70, 0x2a, 0xe9, 0x17, 0x10, 0x3a, 0x22, 0x84, 0xb5, 0xa1, 0xe2, 0x8d,
0x14, 0xed, 0xe2, 0x4f, 0x64, 0xb2, 0xb1, 0x77, 0x39, 0x42, 0x7e, 0xd4, 0xab, 0xda, 0x72, 0x9b,
0x12, 0xdb, 0xc3, 0x65, 0x5d, 0x87, 0x25, 0xb3, 0x88, 0xaa, 0xbd, 0x46, 0xb5, 0x2f, 0x1a, 0x25,
0x65, 0x23, 0x77, 0x60, 0x41, 0x95, 0x8f, 0x44, 0x67, 0x69, 0x9d, 0x1b, 0xee, 0xbc, 0x84, 0xd5,
0x10, 0xee, 0x42, 0xfb, 0xc4, 0x0f, 0xbc, 0x61, 0xaf, 0x3f, 0x4c, 0xce, 0x7b, 0x03, 0x3e, 0x4c,
0x3c, 0x5a, 0xf1, 0x9a, 0x3b, 0x4f, 0xf8, 0xf6, 0x30, 0x39, 0xdf, 0x41, 0x94, 0x7d, 0x08, 0x8d,
0x13, 0xce, 0x7b, 0x34, 0x13, 0x9d, 0xba, 0xc5, 0x3d, 0x6a, 0x76, 0xdd, 0xfa, 0x89, 0x9a, 0xe7,
0x0f, 0xa1, 0x1d, 0x4e, 0x92, 0xd3, 0xd0, 0x0f, 0x4e, 0x7b, 0x28, 0xaf, 0x7a, 0xfe, 0x80, 0x28,
0xa0, 0xba, 0x55, 0x7e, 0x50, 0x72, 0xe7, 0x55, 0x1e, 0x4a, 0x8e, 0x27, 0x03, 0xf6, 0x2e, 0x00,
0xb5, 0x2f, 0x2a, 0x87, 0xb5, 0xd2, 0xdd, 0x39, 0xb7, 0x81, 0x88, 0xa8, 0xec, 0x53, 0xa8, 0xd3,
0x9c, 0x26, 0xc3, 0xf3, 0x4e, 0x93, 0x16, 0xfd, 0x3d, 0xd9, 0xb2, 0xb1, 0x1a, 0xeb, 0x3b, 0x3c,
0x4e, 0x9e, 0x0f, 0xcf, 0x71, 0x4f, 0xbd, 0x74, 0x67, 0x07, 0x22, 0xd5, 0xfd, 0x14, 0x5a, 0x66,
0x06, 0x4e, 0xff, 0x2b, 0x7e, 0x49, 0x4b, 0x56, 0x75, 0xf1, 0x27, 0x5b, 0x86, 0xda, 0xb9, 0x37,
0x9c, 0x70, 0x29, 0xdc, 0x44, 0xe2, 0xd3, 0xf2, 0x27, 0x25, 0xe7, 0x5f, 0x96, 0xa0, 0x25, 0x5a,
0x90, 0x9b, 0xf2, 0x6d, 0x98, 0x53, 0xd3, 0xca, 0xa3, 0x28, 0x8c, 0x24, 0x8f, 0xdb, 0x20, 0xbb,
0x07, 0x6d, 0x05, 0x8c, 0x23, 0xee, 0x8f, 0xbc, 0x53, 0x55, 0x77, 0x0e, 0x67, 0x1b, 0x69, 0x8d,
0x51, 0x38, 0x49, 0xb8, 0x14, 0xff, 0x2d, 0x39, 0x3e, 0x17, 0x31, 0xd7, 0x2e, 0x82, 0x3c, 0x5e,
0x40, 0x2f, 0x16, 0xe6, 0x7c, 0x59, 0x02, 0x86, 0x5d, 0x7f, 0x1e, 0x8a, 0x2a, 0xe4, 0x72, 0x67,
0x49, 0xad, 0xf4, 0xd6, 0xa4, 0x56, 0x9e, 0x46, 0x6a, 0x0e, 0xd4, 0x44, 0xcf, 0xab, 0x05, 0x3d,
0x17, 0x59, 0xdf, 0xad, 0xd6, 0x2b, 0xed, 0xaa, 0xf3, 0x5f, 0x2a, 0xb0, 0xbc, 0x2d, 0xf6, 0xae,
0xcd, 0x7e, 0x9f, 0x8f, 0x35, 0x11, 0xbe, 0x07, 0xcd, 0x20, 0x1c, 0xf0, 0xde, 0x78, 0x72, 0xac,
0xd6, 0xa6, 0xe5, 0x02, 0x42, 0x87, 0x84, 0x10, 0x7d, 0x9c, 0x79, 0x7e, 0x20, 0x3a, 0x2d, 0xe6,
0xb2, 0x41, 0x08, 0x75, 0xf9, 0x03, 0x58, 0x18, 0xf3, 0x60, 0x60, 0xd2, 0x9a, 0xd0, 0x2e, 0xe6,
0x24, 0x2c, 0xc9, 0xec, 0x3d, 0x68, 0x9e, 0x4c, 0x44, 0x39, 0x64, 0xc1, 0x2a, 0xd1, 0x00, 0x48,
0x68, 0x73, 0x94, 0xb0, 0x1b, 0x50, 0x1f, 0x4f, 0xe2, 0x33, 0xca, 0xad, 0x51, 0xee, 0x2c, 0xa6,
0x31, 0xeb, 0x5d, 0x80, 0xc1, 0x24, 0x4e, 0x24, 0x89, 0xce, 0x50, 0x66, 0x03, 0x11, 0x41, 0xa2,
0xdf, 0x84, 0xa5, 0x91, 0xf7, 0xba, 0x47, 0xb4, 0xd3, 0xf3, 0x83, 0xde, 0xc9, 0x90, 0xc4, 0xef,
0x2c, 0x95, 0x6b, 0x8f, 0xbc, 0xd7, 0xdf, 0xc7, 0x9c, 0x27, 0xc1, 0x23, 0xc2, 0x91, 0x3f, 0xd5,
0xbe, 0x1f, 0xf1, 0x98, 0x47, 0xe7, 0x9c, 0x58, 0xaa, 0xaa, 0x37, 0x77, 0x57, 0xa0, 0xd8, 0xa3,
0x11, 0x8e, 0x3b, 0x19, 0xf6, 0x05, 0xff, 0xb8, 0xb3, 0x23, 0x3f, 0xd8, 0x4b, 0x86, 0x7d, 0x76,
0x13, 0x00, 0x19, 0x72, 0xcc, 0xa3, 0xde, 0xab, 0x0b, 0x62, 0x9a, 0x2a, 0x31, 0xe0, 0x21, 0x8f,
0x3e, 0xbb, 0x60, 0xef, 0x40, 0xa3, 0x1f, 0x13, 0x47, 0x7b, 0x97, 0x9d, 0x26, 0x71, 0x54, 0xbd,
0x1f, 0x23, 0x2f, 0x7b, 0x97, 0xec, 0x43, 0x60, 0xd8, 0x5b, 0x8f, 0x56, 0x81, 0x0f, 0xa8, 0xfa,
0xb8, 0xd3, 0xa2, 0x52, 0xd8, 0xd9, 0x4d, 0x99, 0x81, 0xed, 0xc4, 0xec, 0x6b, 0x30, 0xa7, 0x3a,
0x7b, 0x32, 0xf4, 0x4e, 0xe3, 0xce, 0x1c, 0x15, 0x6c, 0x49, 0xf0, 0x11, 0x62, 0xce, 0x4b, 0xa1,
0x6d, 0x18, 0x6b, 0x2b, 0x79, 0x06, 0xf7, 0x3d, 0x42, 0x68, 0x5d, 0xeb, 0xae, 0x4c, 0x15, 0x2d,
0x5a, 0xb9, 0x60, 0xd1, 0x9c, 0x9f, 0x97, 0xa0, 0x25, 0x6b, 0xa6, 0x2d, 0x9a, 0x3d, 0x00, 0xa6,
0x56, 0x31, 0x79, 0xed, 0x0f, 0x7a, 0xc7, 0x97, 0x09, 0x8f, 0x05, 0xd1, 0xec, 0x5d, 0x73, 0x0b,
0xf2, 0x50, 0x18, 0x59, 0x68, 0x9c, 0x44, 0x82, 0x9e, 0xf7, 0xae, 0xb9, 0xb9, 0x1c, 0x64, 0x2f,
0x54, 0x02, 0x26, 0x49, 0xcf, 0x0f, 0x06, 0xfc, 0x35, 0x91, 0xd2, 0x9c, 0x6b, 0x61, 0x5b, 0xf3,
0xd0, 0x32, 0xbf, 0x73, 0x7e, 0x02, 0x75, 0xa5, 0x42, 0xd0, 0xf6, 0x99, 0xe9, 0x97, 0x6b, 0x20,
0xac, 0x0b, 0x75, 0xbb, 0x17, 0x6e, 0xfd, 0xab, 0xb4, 0xed, 0xfc, 0x39, 0x68, 0xef, 0x23, 0x11,
0x05, 0x48, 0xb4, 0x52, 0x2f, 0x5a, 0x81, 0x19, 0x83, 0x79, 0x1a, 0xae, 0x4c, 0xe1, 0x0e, 0x75,
0x16, 0xc6, 0x89, 0x6c, 0x87, 0x7e, 0x3b, 0xff, 0xae, 0x04, 0x6c, 0x37, 0x4e, 0xfc, 0x91, 0x97,
0xf0, 0x47, 0x5c, 0x8b, 0x86, 0x67, 0xd0, 0xc2, 0xda, 0x9e, 0x87, 0x9b, 0x42, 0x4b, 0x11, 0xbb,
0xeb, 0x37, 0x24, 0x3b, 0xe7, 0x3f, 0x58, 0x37, 0x4b, 0x0b, 0xa1, 0x6b, 0x55, 0x80, 0xdc, 0x96,
0x78, 0xd1, 0x29, 0x4f, 0x48, 0x85, 0x91, 0x0a, 0x30, 0x08, 0x68, 0x3b, 0x0c, 0x4e, 0xba, 0xbf,
0x0b, 0x8b, 0xb9, 0x3a, 0x4c, 0xf9, 0xdc, 0x28, 0x90, 0xcf, 0x15, 0x53, 0x3e, 0xf7, 0x61, 0xc9,
0xea, 0x97, 0xa4, 0xb8, 0x0e, 0xcc, 0x22, 0x63, 0xa0, 0x86, 0x48, 0xbb, 0xbc, 0xab, 0x92, 0x6c,
0x03, 0x96, 0x4f, 0x38, 0x8f, 0xbc, 0x84, 0x92, 0xc4, 0x3a, 0xb8, 0x26, 0xb2, 0xe6, 0xc2, 0x3c,
0xe7, 0xbf, 0x97, 0x60, 0x01, 0x25, 0xe9, 0x53, 0x2f, 0xb8, 0x54, 0x73, 0xb5, 0x5f, 0x38, 0x57,
0x77, 0x8d, 0x4d, 0xc9, 0x28, 0xfd, 0x55, 0x27, 0xaa, 0x92, 0x9d, 0x28, 0xb6, 0x06, 0x2d, 0xab,
0xbb, 0x35, 0xa1, 0x92, 0xc5, 0x5e, 0x72, 0xc8, 0xa3, 0xad, 0xcb, 0x84, 0xff, 0xfa, 0x53, 0xf9,
0x01, 0xb4, 0xd3, 0x6e, 0xcb, 0x79, 0x64, 0x50, 0x45, 0xc2, 0x94, 0x15, 0xd0, 0x6f, 0xe7, 0xef,
0x97, 0x44, 0xc1, 0xed, 0xd0, 0xd7, 0xea, 0x1a, 0x16, 0x44, 0xad, 0x4f, 0x15, 0xc4, 0xdf, 0x53,
0xd5, 0xdd, 0x5f, 0x7f, 0xb0, 0x28, 0x13, 0x63, 0x1e, 0x0c, 0x7a, 0xde, 0x70, 0x48, 0x82, 0xb8,
0xee, 0xce, 0x62, 0x7a, 0x73, 0x38, 0x74, 0xee, 0xc0, 0xa2, 0xd1, 0xbb, 0x37, 0x8c, 0xe3, 0x00,
0xd8, 0xbe, 0x1f, 0x27, 0x2f, 0x82, 0x78, 0x6c, 0x68, 0x43, 0xef, 0x40, 0x03, 0xa5, 0x2d, 0xf6,
0x4c, 0x70, 0x6e, 0xcd, 0x45, 0xf1, 0x8b, 0xfd, 0x8a, 0x29, 0xd3, 0x7b, 0x2d, 0x33, 0xcb, 0x32,
0xd3, 0x7b, 0x4d, 0x99, 0xce, 0x27, 0xb0, 0x64, 0xd5, 0x27, 0x9b, 0x7e, 0x1f, 0x6a, 0x93, 0xe4,
0x75, 0xa8, 0x74, 0xd5, 0xa6, 0xa4, 0x10, 0xb4, 0x8a, 0x5c, 0x91, 0xe3, 0x3c, 0x84, 0xc5, 0x03,
0x7e, 0x21, 0x19, 0x59, 0x75, 0xe4, 0x83, 0x2b, 0x2d, 0x26, 0xca, 0x77, 0xd6, 0x81, 0x99, 0x1f,
0xa7, 0x0c, 0xa0, 0xec, 0xa7, 0x92, 0x65, 0x3f, 0x39, 0x1f, 0x00, 0x3b, 0xf2, 0x4f, 0x83, 0xa7,
0x3c, 0x8e, 0xbd, 0x53, 0xcd, 0xfa, 0x6d, 0xa8, 0x8c, 0xe2, 0x53, 0x29, 0xaa, 0xf0, 0xa7, 0xf3,
0x2d, 0x58, 0xb2, 0xca, 0xc9, 0x8a, 0x6f, 0x42, 0x23, 0xf6, 0x4f, 0x03, 0x2f, 0x99, 0x44, 0x5c,
0x56, 0x9d, 0x02, 0xce, 0x23, 0x58, 0xfe, 0x3e, 0x8f, 0xfc, 0x93, 0xcb, 0xab, 0xaa, 0xb7, 0xeb,
0x29, 0x67, 0xeb, 0xd9, 0x85, 0xeb, 0x99, 0x7a, 0x64, 0xf3, 0x82, 0x7c, 0xe5, 0x4a, 0xd6, 0x5d,
0x91, 0x30, 0x64, 0x5f, 0xd9, 0x94, 0x7d, 0xce, 0x0b, 0x60, 0xdb, 0x61, 0x10, 0xf0, 0x7e, 0x72,
0xc8, 0x79, 0x94, 0xba, 0x6e, 0x52, 0x5a, 0x6d, 0x6e, 0xac, 0xca, 0x99, 0xcd, 0x0a, 0x54, 0x49,
0xc4, 0x0c, 0xaa, 0x63, 0x1e, 0x8d, 0xa8, 0xe2, 0xba, 0x4b, 0xbf, 0x9d, 0xeb, 0xb0, 0x64, 0x55,
0x2b, 0x8d, 0xdd, 0x8f, 0xe0, 0xfa, 0x8e, 0x1f, 0xf7, 0xf3, 0x0d, 0x76, 0x60, 0x76, 0x3c, 0x39,
0xee, 0xa5, 0x9c, 0xa8, 0x92, 0x68, 0xff, 0x64, 0x3f, 0x91, 0x95, 0xfd, 0xb5, 0x12, 0x54, 0xf7,
0x9e, 0xef, 0x6f, 0xe3, 0x5e, 0xe1, 0x07, 0xfd, 0x70, 0x84, 0x1a, 0x98, 0x18, 0xb4, 0x4e, 0x4f,
0xe5, 0xb0, 0x9b, 0xd0, 0x20, 0xc5, 0x0d, 0x4d, 0x3e, 0xa9, 0x07, 0xa5, 0x00, 0x9a, 0x9b, 0xfc,
0xf5, 0xd8, 0x8f, 0xc8, 0x9e, 0x54, 0x56, 0x62, 0x95, 0xb6, 0x99, 0x7c, 0x86, 0xf3, 0xf3, 0x59,
0x98, 0x95, 0x9b, 0xaf, 0xd8, 0xc8, 0x13, 0xff, 0x9c, 0xa7, 0x1b, 0x39, 0xa6, 0x50, 0x29, 0x8e,
0xf8, 0x28, 0x4c, 0xb4, 0xfe, 0x26, 0x96, 0xc1, 0x06, 0xc9, 0x9c, 0x96, 0x4a, 0x84, 0x30, 0xc0,
0x2b, 0xa2, 0x94, 0x05, 0xb2, 0x9b, 0x30, 0xab, 0x94, 0x81, 0xaa, 0xb6, 0x16, 0x14, 0x84, 0xb3,
0xd1, 0xf7, 0xc6, 0x5e, 0xdf, 0x4f, 0x2e, 0xa5, 0x58, 0xd0, 0x69, 0xac, 0x7f, 0x18, 0xf6, 0xbd,
0x61, 0xef, 0xd8, 0x1b, 0x7a, 0x41, 0x9f, 0x2b, 0x73, 0xdd, 0x02, 0xd1, 0x74, 0x95, 0xdd, 0x52,
0xc5, 0x84, 0x79, 0x9b, 0x41, 0x71, 0x0f, 0xef, 0x87, 0xa3, 0x91, 0x9f, 0xa0, 0xc5, 0x4b, 0xaa,
0x59, 0xc5, 0x35, 0x10, 0xe1, 0x1c, 0xa0, 0xd4, 0x85, 0x98, 0xc1, 0x86, 0x72, 0x0e, 0x18, 0x20,
0xd6, 0x92, 0xd1, 0xd0, 0x2a, 0xae, 0x81, 0xe0, 0x5a, 0x4c, 0x82, 0x98, 0x27, 0xc9, 0x90, 0x0f,
0x74, 0x87, 0x9a, 0x54, 0x2c, 0x9f, 0xc1, 0x1e, 0xc0, 0x92, 0x30, 0xc2, 0x63, 0x2f, 0x09, 0xe3,
0x33, 0x3f, 0xee, 0xc5, 0x68, 0xae, 0xb6, 0xa8, 0x7c, 0x51, 0x16, 0xfb, 0x04, 0x56, 0x33, 0x70,
0xc4, 0xfb, 0xdc, 0x3f, 0xe7, 0x03, 0x52, 0xe1, 0x2a, 0xee, 0xb4, 0x6c, 0xb6, 0x06, 0xcd, 0x60,
0x32, 0xea, 0x4d, 0xc6, 0x03, 0x0f, 0x95, 0x98, 0x79, 0x52, 0x2e, 0x4d, 0x88, 0x7d, 0x04, 0x4a,
0x4f, 0x93, 0xda, 0xe3, 0x82, 0x25, 0xe1, 0x90, 0x7a, 0x5d, 0xbb, 0x04, 0x12, 0x66, 0xaa, 0x92,
0xb6, 0xa5, 0x91, 0xa7, 0x00, 0xe2, 0x93, 0xc8, 0x3f, 0xf7, 0x12, 0xde, 0x59, 0x14, 0x42, 0x5d,
0x26, 0xf1, 0x3b, 0x3f, 0xf0, 0x13, 0xdf, 0x4b, 0xc2, 0xa8, 0xc3, 0x28, 0x2f, 0x05, 0x70, 0x12,
0x89, 0x3e, 0xe2, 0xc4, 0x4b, 0x26, 0xb1, 0xd4, 0x50, 0x97, 0x84, 0xb5, 0x92, 0xcb, 0x60, 0x1f,
0xc3, 0x8a, 0xa0, 0x08, 0xca, 0x92, 0xba, 0x37, 0xa9, 0x0a, 0xcb, 0x34, 0x23, 0x53, 0x72, 0x71,
0x2a, 0x25, 0x89, 0xe4, 0x3e, 0xbc, 0x2e, 0xa6, 0x72, 0x4a, 0x36, 0xf6, 0x0f, 0x7b, 0xe0, 0xf7,
0x7b, 0xb2, 0x04, 0xb2, 0xc8, 0x0a, 0x8d, 0x22, 0x9f, 0x81, 0x24, 0x3e, 0xf4, 0x4f, 0x78, 0xe2,
0x8f, 0x78, 0x67, 0x55, 0x90, 0xb8, 0x4a, 0x23, 0x03, 0x4e, 0xc6, 0x94, 0xd3, 0x11, 0x0c, 0x2f,
0x52, 0xce, 0x1f, 0x94, 0xc4, 0xe6, 0x23, 0x19, 0x35, 0x36, 0xcc, 0x2a, 0xc1, 0xa2, 0xbd, 0x30,
0x18, 0x5e, 0x4a, 0xae, 0x05, 0x01, 0x3d, 0x0b, 0x86, 0x97, 0xa8, 0xd8, 0xfb, 0x81, 0x59, 0x44,
0xc8, 0xb9, 0x96, 0x02, 0xa9, 0xd0, 0x7b, 0xd0, 0x1c, 0x4f, 0x8e, 0x87, 0x7e, 0x5f, 0x14, 0xa9,
0x88, 0x5a, 0x04, 0x44, 0x05, 0xd0, 0xa6, 0x14, 0x2b, 0x25, 0x4a, 0x54, 0xa9, 0x44, 0x53, 0x62,
0x58, 0xc4, 0xd9, 0x82, 0x65, 0xbb, 0x83, 0x52, 0xa0, 0xdf, 0x83, 0xba, 0xe4, 0xff, 0x58, 0x1a,
0xf6, 0xf3, 0x86, 0xdf, 0x13, 0xcd, 0x20, 0x9d, 0xef, 0xfc, 0xeb, 0x2a, 0x2c, 0x49, 0x74, 0x7b,
0x18, 0xc6, 0xfc, 0x68, 0x32, 0x1a, 0x79, 0x51, 0x81, 0x60, 0x29, 0x5d, 0x21, 0x58, 0xca, 0x79,
0xc1, 0x72, 0xcb, 0xb2, 0x2f, 0x85, 0x64, 0x32, 0x10, 0x76, 0x17, 0x16, 0xfa, 0xc3, 0x30, 0x16,
0xea, 0xbe, 0xe9, 0x7a, 0xcb, 0xc2, 0x79, 0x61, 0x58, 0x2b, 0x12, 0x86, 0xa6, 0x20, 0x9b, 0xc9,
0x08, 0x32, 0x07, 0x5a, 0x58, 0x29, 0x57, 0xb2, 0x79, 0x56, 0x1a, 0x5b, 0x06, 0x86, 0xfd, 0xc9,
0x8a, 0x0d, 0x21, 0xa3, 0x16, 0x8a, 0x84, 0x86, 0x3f, 0xe2, 0x24, 0xfb, 0x8d, 0xd2, 0x0d, 0x29,
0x34, 0xf2, 0x59, 0xec, 0x11, 0x80, 0x68, 0x8b, 0x14, 0x10, 0x20, 0x05, 0xe4, 0x03, 0x7b, 0x55,
0xcc, 0xf9, 0x5f, 0xc7, 0xc4, 0x24, 0xe2, 0xa4, 0x94, 0x18, 0x5f, 0x3a, 0x7f, 0xa3, 0x04, 0x4d,
0x23, 0x8f, 0x5d, 0x87, 0xc5, 0xed, 0x67, 0xcf, 0x0e, 0x77, 0xdd, 0xcd, 0xe7, 0x4f, 0xbe, 0xbf,
0xdb, 0xdb, 0xde, 0x7f, 0x76, 0xb4, 0xdb, 0xbe, 0x86, 0xf0, 0xfe, 0xb3, 0xed, 0xcd, 0xfd, 0xde,
0xa3, 0x67, 0xee, 0xb6, 0x82, 0x4b, 0x6c, 0x05, 0x98, 0xbb, 0xfb, 0xf4, 0xd9, 0xf3, 0x5d, 0x0b,
0x2f, 0xb3, 0x36, 0xb4, 0xb6, 0xdc, 0xdd, 0xcd, 0xed, 0x3d, 0x89, 0x54, 0xd8, 0x32, 0xb4, 0x1f,
0xbd, 0x38, 0xd8, 0x79, 0x72, 0xf0, 0xb8, 0xb7, 0xbd, 0x79, 0xb0, 0xbd, 0xbb, 0xbf, 0xbb, 0xd3,
0xae, 0xb2, 0x39, 0x68, 0x6c, 0x6e, 0x6d, 0x1e, 0xec, 0x3c, 0x3b, 0xd8, 0xdd, 0x69, 0xd7, 0x9c,
0xff, 0x5a, 0x82, 0xeb, 0xd4, 0xeb, 0x41, 0x96, 0x49, 0xd6, 0xa0, 0xd9, 0x0f, 0xc3, 0x31, 0x2a,
0xfe, 0xe9, 0xd6, 0x66, 0x42, 0xc8, 0x00, 0x42, 0x28, 0x9c, 0x84, 0x51, 0x9f, 0x4b, 0x1e, 0x01,
0x82, 0x1e, 0x21, 0x82, 0x0c, 0x20, 0x97, 0x57, 0x94, 0x10, 0x2c, 0xd2, 0x14, 0x98, 0x28, 0xb2,
0x02, 0x33, 0xc7, 0x11, 0xf7, 0xfa, 0x67, 0x92, 0x3b, 0x64, 0x8a, 0x7d, 0x3d, 0xb5, 0x4c, 0xfb,
0x38, 0xfb, 0x43, 0x3e, 0x20, 0x8a, 0xa9, 0xbb, 0x0b, 0x12, 0xdf, 0x96, 0x30, 0x4a, 0x41, 0xef,
0xd8, 0x0b, 0x06, 0x61, 0xc0, 0x07, 0x52, 0xed, 0x4d, 0x01, 0xe7, 0x10, 0x56, 0xb2, 0xe3, 0x93,
0x3c, 0xf6, 0xb1, 0xc1, 0x63, 0x42, 0x0b, 0xed, 0x4e, 0x5f, 0x4d, 0x83, 0xdf, 0x7e, 0x51, 0x86,
0x2a, 0x2a, 0x25, 0xd3, 0x15, 0x18, 0x53, 0xcf, 0xac, 0xe4, 0xfc, 0xf4, 0x64, 0xec, 0x8a, 0x2d,
0x4a, 0x3a, 0x5a, 0x52, 0x24, 0xcd, 0x8f, 0x78, 0xff, 0x5c, 0xba, 0x5a, 0x0c, 0x04, 0x19, 0x04,
0x8d, 0x00, 0xfa, 0x5a, 0x32, 0x88, 0x4a, 0xab, 0x3c, 0xfa, 0x72, 0x36, 0xcd, 0xa3, 0xef, 0x3a,
0x30, 0xeb, 0x07, 0xc7, 0xe1, 0x24, 0x18, 0x10, 0x43, 0xd4, 0x5d, 0x95, 0xa4, 0x93, 0x01, 0x62,
0x54, 0x94, 0x9f, 0x82, 0xfc, 0x53, 0x80, 0x6d, 0x40, 0x23, 0xbe, 0x0c, 0xfa, 0x26, 0xcd, 0x2f,
0xcb, 0x59, 0xc2, 0x39, 0x58, 0x3f, 0xba, 0x0c, 0xfa, 0x44, 0xe1, 0x69, 0x31, 0xe7, 0x77, 0xa1,
0xae, 0x60, 0x24, 0xcb, 0x17, 0x07, 0x9f, 0x1d, 0x3c, 0x7b, 0x79, 0xd0, 0x3b, 0xfa, 0xc1, 0xc1,
0x76, 0xfb, 0x1a, 0x5b, 0x80, 0xe6, 0xe6, 0x36, 0x51, 0x3a, 0x01, 0x25, 0x2c, 0x72, 0xb8, 0x79,
0x74, 0xa4, 0x91, 0xb2, 0xc3, 0xd0, 0x90, 0x8f, 0x49, 0xf3, 0xd3, 0x9e, 0xef, 0x8f, 0x61, 0xd1,
0xc0, 0x52, 0x2b, 0x62, 0x8c, 0x40, 0xc6, 0x8a, 0x20, 0x95, 0x51, 0xe4, 0x38, 0x6d, 0x98, 0x7f,
0xcc, 0x93, 0x27, 0xc1, 0x49, 0xa8, 0x6a, 0xfa, 0x9f, 0x55, 0x58, 0xd0, 0x90, 0xac, 0xe8, 0x2e,
0x2c, 0xf8, 0x03, 0x1e, 0x24, 0x7e, 0x72, 0xd9, 0xb3, 0xfc, 0x05, 0x59, 0x18, 0x55, 0x6d, 0x6f,
0xe8, 0x7b, 0xea, 0x00, 0x46, 0x24, 0xd0, 0x7e, 0x46, 0x1d, 0xc0, 0xf4, 0xdb, 0x10, 0x5d, 0x09,
0x37, 0x45, 0x61, 0x1e, 0x4a, 0x20, 0xc4, 0xe5, 0x36, 0xa3, 0x3f, 0x11, 0x2a, 0x67, 0x51, 0x16,
0x2e, 0x95, 0xa8, 0x09, 0x87, 0x5c, 0x13, 0x7a, 0x82, 0x06, 0x72, 0x27, 0x1c, 0x33, 0x42, 0x3e,
0x66, 0x4f, 0x38, 0x8c, 0x53, 0x92, 0x7a, 0xee, 0x94, 0x04, 0xe5, 0xe7, 0x65, 0xd0, 0xe7, 0x83,
0x5e, 0x12, 0xf6, 0x48, 0xce, 0x13, 0x49, 0xd4, 0xdd, 0x2c, 0x8c, 0xfb, 0x46, 0xc2, 0xe3, 0x24,
0xe0, 0xc2, 0x2d, 0x5d, 0xdf, 0x2a, 0x77, 0x4a, 0xae, 0x82, 0xd0, 0x3e, 0x98, 0x44, 0x7e, 0xdc,
0x69, 0xd1, 0xf9, 0x07, 0xfd, 0x66, 0xdf, 0x86, 0xeb, 0xc7, 0x3c, 0x4e, 0x7a, 0x67, 0xdc, 0x1b,
0xf0, 0x88, 0xc8, 0x4b, 0x1c, 0xb4, 0x08, 0x95, 0xab, 0x38, 0x13, 0x09, 0xf7, 0x9c, 0x47, 0xb1,
0x1f, 0x06, 0xa4, 0x6c, 0x35, 0x5c, 0x95, 0xc4, 0xfa, 0x70, 0xf0, 0x7a, 0xa3, 0xd6, 0x33, 0xb8,
0x40, 0x03, 0x2f, 0xce, 0x64, 0xb7, 0x61, 0x86, 0x06, 0x10, 0x77, 0xda, 0x44, 0x33, 0xad, 0x94,
0xe7, 0xfd, 0xc0, 0x95, 0x79, 0xb8, 0xca, 0xfd, 0x70, 0x18, 0x46, 0xa4, 0x71, 0x35, 0x5c, 0x91,
0xb0, 0x67, 0xe7, 0x34, 0xf2, 0xc6, 0x67, 0x52, 0xeb, 0xca, 0xc2, 0xdf, 0xad, 0xd6, 0x9b, 0xed,
0x96, 0xf3, 0x67, 0xa0, 0x46, 0xd5, 0x52, 0x75, 0x34, 0x99, 0x25, 0x59, 0x1d, 0xa1, 0x1d, 0x98,
0x0d, 0x78, 0x72, 0x11, 0x46, 0xaf, 0xd4, 0x69, 0x9e, 0x4c, 0x3a, 0x3f, 0x23, 0x0b, 0x4d, 0x9f,
0x6e, 0xbd, 0x20, 0xd5, 0x12, 0xed, 0x6c, 0xb1, 0x54, 0xf1, 0x99, 0x27, 0x8d, 0xc6, 0x3a, 0x01,
0x47, 0x67, 0x1e, 0xca, 0x5a, 0x6b, 0xf5, 0x85, 0x1d, 0xde, 0x24, 0x6c, 0x4f, 0x2c, 0xfe, 0x6d,
0x98, 0x57, 0xe7, 0x66, 0x71, 0x6f, 0xc8, 0x4f, 0x12, 0xe5, 0x45, 0x0b, 0x26, 0x23, 0x32, 0xd6,
0xf7, 0xf9, 0x49, 0xe2, 0x1c, 0xc0, 0xa2, 0x94, 0x7f, 0xcf, 0xc6, 0x5c, 0x35, 0xfd, 0xdb, 0x45,
0xba, 0x44, 0x73, 0x63, 0xc9, 0x16, 0x98, 0xe2, 0xa4, 0xd0, 0x2e, 0xe9, 0xb8, 0xc0, 0x4c, 0x79,
0x2a, 0x2b, 0x94, 0x9b, 0xb9, 0xf2, 0x13, 0xca, 0xe1, 0x58, 0x18, 0xce, 0x4f, 0x3c, 0xe9, 0xf7,
0xd5, 0x69, 0x67, 0xdd, 0x55, 0x49, 0xe7, 0x8f, 0x4a, 0xb0, 0x44, 0xb5, 0x29, 0x6d, 0x48, 0xee,
0x59, 0x9f, 0x7c, 0x85, 0x6e, 0x2a, 0x2f, 0xad, 0xf0, 0x4d, 0x2e, 0x43, 0xcd, 0xdc, 0xc5, 0x44,
0xe2, 0xab, 0xfb, 0x64, 0xaa, 0x59, 0x9f, 0x8c, 0xf3, 0x77, 0x4a, 0xb0, 0x28, 0x36, 0x12, 0xd2,
0xb6, 0xe5, 0xf0, 0xff, 0x2c, 0xcc, 0x09, 0x8d, 0x40, 0x4a, 0x05, 0xd9, 0xd1, 0x54, 0xb4, 0x12,
0x2a, 0x0a, 0xef, 0x5d, 0x73, 0xed, 0xc2, 0xec, 0x21, 0x69, 0x65, 0x41, 0x8f, 0xd0, 0x82, 0x73,
0x71, 0x7b, 0xae, 0xf7, 0xae, 0xb9, 0x46, 0xf1, 0xad, 0x3a, 0x2a, 0xcb, 0x88, 0x3b, 0x8f, 0x61,
0xce, 0x6a, 0xc8, 0xf2, 0x07, 0xb5, 0x84, 0x3f, 0x28, 0xe7, 0x78, 0x2d, 0x17, 0x38, 0x5e, 0xff,
0x79, 0x05, 0x18, 0x12, 0x4b, 0x66, 0x35, 0xd6, 0xec, 0xd3, 0x0b, 0x75, 0x44, 0x9e, 0x42, 0x6c,
0x1d, 0x98, 0x91, 0x54, 0x27, 0x2a, 0x62, 0xcb, 0x2c, 0xc8, 0x41, 0x31, 0x2b, 0x35, 0x0e, 0x7d,
0x5a, 0x41, 0x76, 0xbe, 0x98, 0xf6, 0xc2, 0x3c, 0xdc, 0x15, 0xe9, 0xe8, 0x02, 0x2d, 0x12, 0x69,
0x1b, 0xab, 0x74, 0x76, 0x7d, 0x67, 0xae, 0x5c, 0xdf, 0xd9, 0x9c, 0xcf, 0xcd, 0xb0, 0xce, 0xea,
0xb6, 0x75, 0x76, 0x1b, 0xe6, 0xd4, 0x09, 0x45, 0x6f, 0x84, 0xad, 0x4b, 0x53, 0xd8, 0x02, 0xd9,
0x3d, 0x68, 0x2b, 0x03, 0x49, 0x9b, 0x80, 0xe2, 0x9c, 0x2f, 0x87, 0xa3, 0xfc, 0x4f, 0xbd, 0x70,
0x4d, 0xea, 0x6c, 0x0a, 0x90, 0x3d, 0x85, 0x14, 0xd2, 0x9b, 0x04, 0xf2, 0x68, 0x9c, 0x0f, 0xc8,
0x08, 0x46, 0x7b, 0x2a, 0x9b, 0xe1, 0xfc, 0xad, 0x12, 0xb4, 0x71, 0xcd, 0x2c, 0xb2, 0xfc, 0x14,
0x88, 0x2b, 0xde, 0x92, 0x2a, 0xad, 0xb2, 0xec, 0x13, 0x68, 0x50, 0x3a, 0x1c, 0xf3, 0x40, 0xd2,
0x64, 0xc7, 0xa6, 0xc9, 0x54, 0x9e, 0xec, 0x5d, 0x73, 0xd3, 0xc2, 0x06, 0x45, 0xfe, 0xc7, 0x12,
0x34, 0x65, 0x2b, 0xbf, 0xb2, 0x97, 0xa7, 0x6b, 0xc4, 0x32, 0x08, 0x4a, 0x4a, 0x43, 0x17, 0xee,
0xc2, 0xc2, 0xc8, 0x4b, 0x26, 0x11, 0xee, 0xe7, 0x96, 0x87, 0x27, 0x0b, 0xe3, 0xe6, 0x4c, 0xa2,
0x33, 0xee, 0x25, 0xfe, 0xb0, 0xa7, 0x72, 0x65, 0xd4, 0x40, 0x51, 0x16, 0x4a, 0x90, 0x38, 0xf1,
0x4e, 0xb9, 0xdc, 0x77, 0x45, 0xc2, 0xe9, 0xc0, 0xca, 0x61, 0x7a, 0x6a, 0x63, 0xe8, 0xd7, 0xce,
0x3f, 0x9d, 0x83, 0xd5, 0x5c, 0x96, 0x8e, 0x71, 0x92, 0x6e, 0x8b, 0xa1, 0x3f, 0x3a, 0x0e, 0xb5,
0x71, 0x52, 0x32, 0x3d, 0x1a, 0x56, 0x16, 0x3b, 0x85, 0xeb, 0x4a, 0xc1, 0xc0, 0x39, 0x4d, 0x37,
0xc3, 0x32, 0xed, 0x72, 0x1f, 0xd9, 0x4b, 0x98, 0x6d, 0x50, 0xe1, 0x26, 0x13, 0x17, 0xd7, 0xc7,
0xce, 0xa0, 0xa3, 0x35, 0x19, 0x29, 0xac, 0x0d, 0x6d, 0x07, 0xdb, 0xfa, 0xf0, 0x8a, 0xb6, 0x2c,
0x75, 0xdc, 0x9d, 0x5a, 0x1b, 0xbb, 0x84, 0x5b, 0x2a, 0x8f, 0xa4, 0x71, 0xbe, 0xbd, 0xea, 0x5b,
0x8d, 0x8d, 0x0c, 0x0d, 0xbb, 0xd1, 0x2b, 0x2a, 0x66, 0x3f, 0x81, 0x95, 0x0b, 0xcf, 0x4f, 0x54,
0xb7, 0x0c, 0xdd, 0xa2, 0x46, 0x4d, 0x6e, 0x5c, 0xd1, 0xe4, 0x4b, 0xf1, 0xb1, 0xb5, 0x45, 0x4d,
0xa9, 0xb1, 0xfb, 0x27, 0x65, 0x98, 0xb7, 0xeb, 0x41, 0x32, 0x95, 0xbc, 0xaf, 0x64, 0xa0, 0xd2,
0x46, 0x33, 0x70, 0xde, 0xc6, 0x2f, 0x17, 0xd9, 0xf8, 0xa6, 0x55, 0x5d, 0xb9, 0xca, 0x3d, 0x58,
0x7d, 0x3b, 0xf7, 0x60, 0xad, 0xd0, 0x3d, 0x38, 0xdd, 0x8b, 0x34, 0xf3, 0xab, 0x7a, 0x91, 0x66,
0xdf, 0xe8, 0x45, 0xea, 0xfe, 0xdf, 0x12, 0xb0, 0x3c, 0xf5, 0xb2, 0xc7, 0xc2, 0xad, 0x11, 0xf0,
0xa1, 0x14, 0x62, 0xdf, 0x7c, 0x3b, 0x0e, 0x50, 0xab, 0xa5, 0xbe, 0x46, 0x56, 0x34, 0x03, 0x8d,
0x4c, 0xf5, 0x6a, 0xce, 0x2d, 0xca, 0xca, 0xb8, 0x48, 0xab, 0x57, 0xbb, 0x48, 0x6b, 0x57, 0xbb,
0x48, 0x67, 0xb2, 0x2e, 0xd2, 0xee, 0x5f, 0x2d, 0xc1, 0x52, 0x01, 0x99, 0xfd, 0xe6, 0x06, 0x8e,
0x84, 0x61, 0x49, 0x9f, 0xb2, 0x24, 0x0c, 0x13, 0xec, 0xfe, 0x45, 0x98, 0xb3, 0x58, 0xeb, 0x37,
0xd7, 0x7e, 0x56, 0x43, 0x14, 0x94, 0x6d, 0x61, 0xdd, 0xff, 0x55, 0x06, 0x96, 0x67, 0xef, 0x3f,
0xd5, 0x3e, 0xe4, 0xe7, 0xa9, 0x52, 0x30, 0x4f, 0xff, 0x5f, 0x77, 0x9e, 0x0f, 0x61, 0x51, 0x46,
0x4f, 0x1a, 0x8e, 0x2c, 0x41, 0x31, 0xf9, 0x0c, 0xd4, 0x91, 0x6d, 0xff, 0x74, 0xdd, 0x8a, 0x16,
0x33, 0xb6, 0xdf, 0x8c, 0x9b, 0xda, 0xe9, 0x42, 0x47, 0xce, 0xd0, 0xee, 0x39, 0x0f, 0x92, 0xa3,
0xc9, 0xb1, 0x08, 0x1f, 0xf4, 0xc3, 0xc0, 0xf9, 0x17, 0x15, 0xad, 0xe6, 0x53, 0xa6, 0x54, 0x28,
0xbe, 0x0d, 0x2d, 0x73, 0xfb, 0x90, 0xcb, 0x91, 0xf1, 0x65, 0xa2, 0x2a, 0x61, 0x96, 0x62, 0x3b,
0x30, 0x4f, 0x42, 0x72, 0xa0, 0xbf, 0x2b, 0xd3, 0x77, 0x6f, 0xf0, 0xcf, 0xec, 0x5d, 0x73, 0x33,
0xdf, 0xb0, 0xdf, 0x81, 0x79, 0xdb, 0xf8, 0x93, 0x5a, 0x49, 0x91, 0x35, 0x80, 0x9f, 0xdb, 0x85,
0xd9, 0x26, 0xb4, 0xb3, 0xd6, 0xa3, 0x8c, 0xe4, 0x99, 0x52, 0x41, 0xae, 0x38, 0xfb, 0x44, 0x1e,
0x56, 0xd6, 0xc8, 0x6f, 0x72, 0xdb, 0xfe, 0xcc, 0x98, 0xa6, 0x75, 0xf1, 0xc7, 0x38, 0xbe, 0xfc,
0x3d, 0x80, 0x14, 0x63, 0x6d, 0x68, 0x3d, 0x3b, 0xdc, 0x3d, 0xe8, 0x6d, 0xef, 0x6d, 0x1e, 0x1c,
0xec, 0xee, 0xb7, 0xaf, 0x31, 0x06, 0xf3, 0xe4, 0xe6, 0xdb, 0xd1, 0x58, 0x09, 0x31, 0xe9, 0x58,
0x51, 0x58, 0x99, 0x2d, 0x43, 0xfb, 0xc9, 0x41, 0x06, 0xad, 0x6c, 0x35, 0x34, 0x7f, 0x38, 0x2b,
0xb0, 0x2c, 0xa2, 0x63, 0xb7, 0x04, 0x79, 0x28, 0xed, 0xe4, 0x1f, 0x94, 0xe0, 0x7a, 0x26, 0x23,
0x0d, 0xf5, 0x12, 0x0a, 0x88, 0xad, 0x95, 0xd8, 0x20, 0x1d, 0x3e, 0x28, 0x5d, 0x33, 0x23, 0x41,
0xf2, 0x19, 0x48, 0xf3, 0x86, 0x6e, 0x9a, 0xe1, 0xa4, 0xa2, 0x2c, 0x67, 0x55, 0x47, 0xd5, 0x64,
0x3a, 0x7e, 0x22, 0xa2, 0x6e, 0xcd, 0x8c, 0xf4, 0xf0, 0xd7, 0xee, 0xb2, 0x4a, 0xa2, 0x59, 0x61,
0x29, 0x3b, 0x76, 0x7f, 0x0b, 0xf3, 0x9c, 0x7f, 0x5c, 0x01, 0xf6, 0xbd, 0x09, 0x8f, 0x2e, 0x29,
0x9e, 0x4b, 0x7b, 0x4d, 0x57, 0xb3, 0x3e, 0xc1, 0x99, 0xf1, 0xe4, 0xf8, 0x33, 0x7e, 0xa9, 0xa2,
0x1b, 0xcb, 0x69, 0x74, 0x63, 0x51, 0x84, 0x61, 0xf5, 0xea, 0x08, 0xc3, 0xda, 0x55, 0x11, 0x86,
0x5f, 0x83, 0x39, 0xff, 0x34, 0x08, 0x91, 0xe7, 0x51, 0x4f, 0x88, 0x3b, 0x33, 0x6b, 0x15, 0xb4,
0xad, 0x25, 0x78, 0x80, 0x18, 0x7b, 0x98, 0x16, 0xe2, 0x83, 0x53, 0x8a, 0x66, 0x35, 0xa5, 0xc0,
0xee, 0xe0, 0x94, 0xef, 0x87, 0x7d, 0x2f, 0x09, 0x23, 0x72, 0xec, 0xa8, 0x8f, 0x11, 0x8f, 0xd9,
0x6d, 0x98, 0x8f, 0xc3, 0x09, 0x6a, 0x4e, 0x6a, 0xac, 0xc2, 0x93, 0xd4, 0x12, 0xe8, 0xa1, 0x18,
0xf1, 0x3a, 0x2c, 0x4d, 0x62, 0xde, 0x1b, 0xf9, 0x71, 0x8c, 0xbb, 0x63, 0x3f, 0x0c, 0x92, 0x28,
0x1c, 0x4a, 0x7f, 0xd2, 0xe2, 0x24, 0xe6, 0x4f, 0x45, 0xce, 0xb6, 0xc8, 0x60, 0xdf, 0x4e, 0xbb,
0x34, 0xf6, 0xfc, 0x28, 0xee, 0x00, 0x75, 0x49, 0x8d, 0x14, 0xfb, 0x7d, 0xe8, 0xf9, 0x91, 0xee,
0x0b, 0x26, 0xe2, 0x4c, 0x84, 0x64, 0x33, 0x13, 0x21, 0x29, 0x03, 0xec, 0xd6, 0xa1, 0xae, 0x3e,
0x47, 0x23, 0xf7, 0x24, 0x0a, 0x47, 0xca, 0xc8, 0xc5, 0xdf, 0x6c, 0x1e, 0xca, 0x49, 0x28, 0x0d,
0xd4, 0x72, 0x12, 0x3a, 0xbf, 0x0f, 0x4d, 0x63, 0x06, 0xd8, 0xfb, 0xc2, 0xde, 0x46, 0x85, 0x4a,
0x5a, 0xc7, 0xe2, 0x98, 0xa4, 0x21, 0xd1, 0x27, 0x03, 0xf6, 0x0d, 0x58, 0x1c, 0xf8, 0x11, 0xa7,
0xc0, 0xda, 0x5e, 0xc4, 0xcf, 0x79, 0x14, 0x2b, 0x5f, 0x42, 0x5b, 0x67, 0xb8, 0x02, 0x77, 0x7a,
0xb0, 0x64, 0x91, 0x8e, 0xe6, 0xac, 0x19, 0x8a, 0x0a, 0x54, 0xee, 0x4c, 0x3b, 0x62, 0x50, 0xe6,
0xe1, 0x9e, 0x24, 0xdd, 0x20, 0xbd, 0x71, 0x14, 0x1e, 0x53, 0x23, 0x25, 0xd7, 0xc2, 0x9c, 0x5f,
0x94, 0xa1, 0xb2, 0x17, 0x8e, 0xcd, 0xc3, 0x9d, 0x52, 0xfe, 0x70, 0x47, 0x2a, 0x8f, 0x3d, 0xad,
0x1b, 0xca, 0x1d, 0xde, 0x02, 0xd9, 0x3d, 0x98, 0xf7, 0x46, 0x49, 0x2f, 0x09, 0x51, 0x59, 0xbe,
0xf0, 0x22, 0x11, 0x42, 0x58, 0x21, 0xb2, 0xc8, 0xe4, 0xb0, 0x65, 0xa8, 0x68, 0x9d, 0x87, 0x0a,
0x60, 0x12, 0x2d, 0x35, 0x3a, 0x40, 0xbf, 0x94, 0x3e, 0x4b, 0x99, 0x42, 0xae, 0xb7, 0xbf, 0x17,
0x66, 0xb2, 0xd8, 0xb9, 0x8a, 0xb2, 0x50, 0x91, 0x45, 0x46, 0x18, 0xa5, 0x7a, 0xa1, 0x4e, 0x9b,
0xde, 0xf8, 0xba, 0xed, 0x8d, 0x5f, 0x83, 0x66, 0x32, 0x3c, 0xef, 0x8d, 0xbd, 0xcb, 0x61, 0xe8,
0x0d, 0x24, 0x01, 0x9a, 0x10, 0x7b, 0x00, 0x30, 0x1a, 0x8f, 0x7b, 0xb8, 0x59, 0x46, 0x03, 0x32,
0xbf, 0x9b, 0x1b, 0x6d, 0x39, 0xfb, 0x4f, 0x0f, 0x0f, 0x5d, 0xc2, 0x5d, 0xa3, 0x8c, 0xf3, 0x12,
0x1a, 0x3a, 0xc3, 0x8c, 0x3b, 0xa5, 0x10, 0x8a, 0xa6, 0x1d, 0x77, 0x4a, 0x11, 0x13, 0x1f, 0xc0,
0xbc, 0x90, 0x90, 0x38, 0x2e, 0x1a, 0x80, 0x38, 0xf6, 0xce, 0xa0, 0xce, 0x2f, 0x4b, 0x50, 0xa3,
0x05, 0x47, 0x95, 0x41, 0xe4, 0xe9, 0xc3, 0x28, 0x5a, 0xc4, 0x39, 0x37, 0x0b, 0x33, 0xc7, 0x8a,
0x4b, 0x2f, 0xeb, 0xd9, 0x37, 0x63, 0xd3, 0xd7, 0xa0, 0xa1, 0x5b, 0x32, 0x56, 0x30, 0x05, 0xd9,
0x2d, 0xa8, 0x9e, 0x85, 0x63, 0x65, 0x55, 0x81, 0x3a, 0xaf, 0x0e, 0xc7, 0x2e, 0xe1, 0x69, 0x7f,
0xb0, 0x3e, 0x31, 0x04, 0xa1, 0xb9, 0x66, 0xe1, 0x82, 0xb1, 0xce, 0x14, 0x8e, 0xf5, 0x05, 0x2c,
0x20, 0x5b, 0x1a, 0xce, 0xf9, 0xe9, 0xf2, 0xf3, 0xeb, 0xb8, 0x1d, 0xf7, 0x87, 0x93, 0x01, 0x37,
0x6d, 0x5b, 0x72, 0xbe, 0x4a, 0x5c, 0x69, 0x75, 0xce, 0x3f, 0x2b, 0x09, 0x76, 0xc7, 0x7a, 0xd9,
0x5d, 0xa8, 0xa2, 0x14, 0xcc, 0xb8, 0x32, 0x74, 0x58, 0x0b, 0x96, 0x73, 0xa9, 0x04, 0xae, 0x22,
0xb9, 0x47, 0xcd, 0xda, 0x85, 0x73, 0x34, 0x35, 0x0c, 0xf5, 0xc8, 0x32, 0xf6, 0x54, 0x06, 0x65,
0xeb, 0xc6, 0xd9, 0x52, 0xd5, 0x92, 0xac, 0x6a, 0xf7, 0x1f, 0x9c, 0x72, 0xe3, 0x4c, 0xe9, 0x8f,
0x4b, 0x30, 0x67, 0xf5, 0x09, 0x89, 0x76, 0xe8, 0xc5, 0x89, 0x0c, 0x2b, 0x90, 0x2b, 0x6f, 0x42,
0x26, 0xc1, 0x97, 0x6d, 0x82, 0xd7, 0x67, 0x14, 0x15, 0xf3, 0x8c, 0xe2, 0x01, 0x34, 0xd2, 0x8b,
0x09, 0x76, 0xa7, 0xb0, 0x45, 0x15, 0xe0, 0x93, 0x16, 0x4a, 0xbd, 0xe0, 0x35, 0xc3, 0x0b, 0xee,
0x3c, 0x84, 0xa6, 0x51, 0xde, 0xf4, 0x62, 0x97, 0x2c, 0x2f, 0xb6, 0x8e, 0x7e, 0x2b, 0xa7, 0xd1,
0x6f, 0xce, 0x97, 0x65, 0x98, 0x43, 0xf2, 0xf6, 0x83, 0xd3, 0xc3, 0x70, 0xe8, 0xf7, 0x2f, 0x89,
0xac, 0x14, 0x25, 0xcb, 0x5d, 0x50, 0x91, 0xb9, 0x0d, 0x23, 0xf7, 0xeb, 0x90, 0x5f, 0x21, 0xaa,
0x74, 0x1a, 0x65, 0x19, 0x4a, 0x82, 0x63, 0x2f, 0x96, 0xe2, 0x41, 0x6a, 0xe1, 0x16, 0x88, 0x12,
0x07, 0x01, 0x8a, 0x65, 0x1c, 0xf9, 0xc3, 0xa1, 0x2f, 0xca, 0x0a, 0x1b, 0xad, 0x28, 0x0b, 0xdb,
0x1c, 0xf8, 0xb1, 0x77, 0x9c, 0x9e, 0x3f, 0xea, 0x34, 0x39, 0xf8, 0xbc, 0xd7, 0x86, 0x83, 0x4f,
0x04, 0x3f, 0xdb, 0x60, 0x76, 0x21, 0x67, 0x73, 0x0b, 0xe9, 0xfc, 0xdb, 0x32, 0x34, 0x0d, 0xb2,
0x40, 0x76, 0x2e, 0xdc, 0x6e, 0x0c, 0x54, 0x1e, 0xcc, 0x07, 0x96, 0xd5, 0x6f, 0x20, 0xec, 0xb6,
0xdd, 0x2a, 0x39, 0xfa, 0x89, 0xe1, 0x2d, 0x12, 0xba, 0x09, 0x0d, 0x24, 0xfd, 0x8f, 0xc8, 0xc5,
0x20, 0x6f, 0x05, 0x69, 0x40, 0xe5, 0x6e, 0x50, 0x6e, 0x2d, 0xcd, 0x25, 0xe0, 0x8d, 0x47, 0xf5,
0x9f, 0x40, 0x4b, 0x56, 0x43, 0x6b, 0x4c, 0x83, 0x4e, 0x99, 0xcf, 0x5a, 0x7f, 0xd7, 0x2a, 0xa9,
0xbe, 0xdc, 0x50, 0x5f, 0xd6, 0xaf, 0xfa, 0x52, 0x95, 0x74, 0x1e, 0xeb, 0x28, 0x88, 0xc7, 0x91,
0x37, 0x3e, 0x53, 0x02, 0xe5, 0x01, 0x2c, 0x29, 0xb9, 0x31, 0x09, 0xbc, 0x20, 0x08, 0x27, 0x41,
0x9f, 0xab, 0x40, 0xb9, 0xa2, 0x2c, 0x67, 0xa0, 0xc3, 0xaa, 0xa9, 0x22, 0x76, 0x0f, 0x6a, 0x42,
0x8f, 0x12, 0xbb, 0x72, 0xb1, 0x08, 0x11, 0x45, 0xd8, 0x5d, 0xa8, 0x09, 0x75, 0xaa, 0x3c, 0x95,
0xe9, 0x45, 0x01, 0x67, 0x1d, 0x16, 0x28, 0x8e, 0xdb, 0x90, 0x7d, 0xef, 0x14, 0xed, 0xd6, 0x33,
0x7d, 0x11, 0xed, 0xbd, 0x0c, 0xec, 0x40, 0xf0, 0x95, 0x79, 0x96, 0xf9, 0xcb, 0x0a, 0x34, 0x0d,
0x18, 0xe5, 0x13, 0x1d, 0x40, 0xf5, 0x06, 0xbe, 0x37, 0xe2, 0x09, 0x8f, 0x24, 0x2f, 0x65, 0x50,
0x2c, 0xe7, 0x9d, 0x9f, 0xf6, 0xc2, 0x49, 0xd2, 0x1b, 0xf0, 0xd3, 0x88, 0x73, 0xa9, 0x46, 0x64,
0x50, 0x2c, 0x87, 0xd4, 0x6c, 0x94, 0x13, 0x47, 0x46, 0x19, 0x54, 0x9d, 0x4c, 0x8a, 0x79, 0xaa,
0xa6, 0x27, 0x93, 0x62, 0x56, 0xb2, 0x92, 0xb5, 0x56, 0x20, 0x59, 0x3f, 0x86, 0x15, 0x21, 0x43,
0xa5, 0xf4, 0xe8, 0x65, 0x88, 0x6b, 0x4a, 0x2e, 0xbb, 0x07, 0x6d, 0xec, 0xb3, 0x62, 0x8d, 0xd8,
0xff, 0x99, 0xe0, 0xb1, 0x92, 0x9b, 0xc3, 0xb1, 0x2c, 0xb9, 0xcb, 0xcd, 0xb2, 0x22, 0x3c, 0x24,
0x87, 0x53, 0x59, 0xef, 0xb5, 0x5d, 0xb6, 0x21, 0xcb, 0x66, 0x70, 0xf6, 0x09, 0xac, 0x8e, 0xf8,
0xc0, 0xf7, 0xec, 0x2a, 0x7a, 0xe9, 0x26, 0x3f, 0x2d, 0x1b, 0x5b, 0xc1, 0x59, 0xf8, 0x59, 0x38,
0x3a, 0xf6, 0xc5, 0xc6, 0x26, 0x1c, 0xfb, 0x55, 0x37, 0x87, 0x3b, 0x73, 0xd0, 0x3c, 0x4a, 0xc2,
0xb1, 0x5a, 0xfa, 0x79, 0x68, 0x89, 0xa4, 0x0c, 0x8d, 0x7c, 0x07, 0x6e, 0x10, 0xbd, 0x3e, 0x0f,
0xc7, 0xe1, 0x30, 0x3c, 0xbd, 0xb4, 0xcc, 0xf3, 0xff, 0x50, 0x82, 0x25, 0x2b, 0x37, 0xb5, 0xcf,
0xc9, 0x97, 0xa8, 0xe2, 0xd9, 0x04, 0x89, 0x2f, 0x1a, 0xdb, 0x82, 0x28, 0x28, 0x8e, 0x6d, 0x5e,
0xc8, 0x10, 0xb7, 0xcd, 0xf4, 0x92, 0x86, 0xfa, 0x50, 0xd0, 0x7b, 0x27, 0x4f, 0xef, 0xf2, 0x7b,
0x75, 0x7d, 0x43, 0x55, 0xf1, 0x3b, 0x32, 0x98, 0x67, 0x20, 0x07, 0x5d, 0xb1, 0x03, 0x30, 0x4c,
0x77, 0x8e, 0xea, 0x41, 0x5f, 0x83, 0xb1, 0xf3, 0xf3, 0x12, 0x40, 0xda, 0x3b, 0x0a, 0x01, 0xd1,
0x5b, 0x9b, 0xb8, 0x08, 0x6c, 0x6c, 0x63, 0xef, 0x43, 0x4b, 0x9f, 0xe2, 0xa7, 0xbb, 0x65, 0x53,
0x61, 0xa8, 0x5d, 0xdc, 0x81, 0x85, 0xd3, 0x61, 0x78, 0x4c, 0x5a, 0x0c, 0xc5, 0xda, 0xc6, 0x32,
0x40, 0x74, 0x5e, 0xc0, 0x8f, 0x24, 0x9a, 0x6e, 0xad, 0x55, 0x73, 0x6b, 0x2d, 0xde, 0x28, 0xbf,
0x2c, 0xeb, 0xa3, 0xd4, 0x74, 0x26, 0xde, 0xc8, 0xe5, 0x6c, 0x23, 0x27, 0xd6, 0xa7, 0x9c, 0x5e,
0x92, 0xe9, 0x71, 0x78, 0xa5, 0x77, 0xf7, 0x21, 0xcc, 0x47, 0x42, 0x66, 0x2a, 0x81, 0x5a, 0x7d,
0x83, 0x40, 0x9d, 0x8b, 0xac, 0x9d, 0xf9, 0xeb, 0xd0, 0xf6, 0x06, 0xe7, 0x3c, 0x4a, 0x7c, 0xf2,
0x76, 0x91, 0x1a, 0x25, 0x06, 0xb8, 0x60, 0xe0, 0xa4, 0xad, 0xdc, 0x81, 0x05, 0x19, 0xae, 0xab,
0x4b, 0xca, 0x6b, 0x75, 0x29, 0x8c, 0x05, 0x9d, 0x7f, 0xa4, 0x4e, 0x6e, 0xed, 0xd5, 0x7d, 0xf3,
0xac, 0x98, 0x23, 0x2c, 0x67, 0x46, 0xf8, 0x35, 0x79, 0x92, 0x3a, 0x50, 0x6e, 0xb5, 0x8a, 0x11,
0x16, 0x36, 0x90, 0x27, 0xdf, 0xf6, 0xb4, 0x56, 0xdf, 0x66, 0x5a, 0x9d, 0xff, 0x5c, 0x82, 0xd9,
0xbd, 0x70, 0xbc, 0x87, 0x53, 0x8c, 0x3a, 0x0e, 0xb2, 0x89, 0x8e, 0x95, 0x57, 0xc9, 0x2b, 0xc2,
0xe7, 0x0a, 0xb5, 0x92, 0xb9, 0xac, 0x56, 0xf2, 0xe7, 0xe1, 0x1d, 0x72, 0xec, 0x46, 0xe1, 0x38,
0x8c, 0x90, 0x5d, 0xbd, 0xa1, 0x50, 0x41, 0xc2, 0x20, 0x39, 0x53, 0xe2, 0xf4, 0x4d, 0x45, 0xc8,
0xdb, 0x82, 0x46, 0xb0, 0x30, 0xac, 0xa4, 0x16, 0x25, 0xa4, 0x6c, 0x3e, 0xc3, 0xf9, 0x6d, 0x68,
0x90, 0x85, 0x41, 0x43, 0xfb, 0x10, 0x1a, 0x67, 0xe1, 0xb8, 0x77, 0xe6, 0x07, 0x89, 0x62, 0xff,
0xf9, 0x54, 0xf5, 0xdf, 0xa3, 0x49, 0xd1, 0x05, 0x9c, 0x7f, 0x33, 0x03, 0xb3, 0x4f, 0x82, 0xf3,
0xd0, 0xef, 0xd3, 0x69, 0xf1, 0x88, 0x8f, 0x42, 0x75, 0x7b, 0x00, 0x7f, 0xe3, 0x74, 0x50, 0xa8,
0xec, 0x58, 0x10, 0x6f, 0x4b, 0x44, 0x85, 0x48, 0x88, 0xee, 0xbd, 0xa6, 0x37, 0xff, 0x04, 0x83,
0x19, 0x08, 0x1a, 0x8a, 0x91, 0x79, 0x73, 0x4f, 0xa6, 0xd2, 0xdb, 0x19, 0x35, 0xe3, 0x76, 0x06,
0xb6, 0x25, 0x83, 0xfa, 0x44, 0xd4, 0x97, 0x68, 0x4b, 0x42, 0x64, 0xdc, 0x46, 0x5c, 0x38, 0xe6,
0xb5, 0xe2, 0x85, 0xc6, 0xad, 0x09, 0xa2, 0x72, 0x26, 0x3e, 0x10, 0x65, 0xc4, 0x66, 0x60, 0x42,
0xa8, 0x9e, 0x66, 0x2f, 0x8c, 0x8a, 0x0b, 0xbb, 0x59, 0x18, 0x65, 0xf9, 0x80, 0x6b, 0x91, 0x2b,
0xc6, 0x01, 0xe2, 0x76, 0x63, 0x16, 0x37, 0x4c, 0x62, 0x11, 0xd5, 0xac, 0x4c, 0x62, 0x24, 0x18,
0x6f, 0x38, 0x3c, 0xf6, 0xfa, 0xaf, 0x84, 0x29, 0xd9, 0x12, 0xe7, 0x39, 0x16, 0x48, 0xa1, 0x79,
0xe9, 0xaa, 0x52, 0xfc, 0x4c, 0xd5, 0x35, 0x21, 0xb6, 0x01, 0x4d, 0x72, 0x17, 0xc8, 0x75, 0x9d,
0xa7, 0x75, 0x6d, 0x9b, 0xfe, 0x04, 0x5a, 0x59, 0xb3, 0x90, 0x79, 0x92, 0xbd, 0x90, 0x8b, 0x33,
0xf6, 0x06, 0x03, 0x19, 0x00, 0xd0, 0x16, 0x37, 0xfc, 0x34, 0x40, 0x0e, 0x09, 0x31, 0x61, 0xa2,
0xc0, 0x22, 0x15, 0xb0, 0x30, 0x76, 0x0b, 0xea, 0x68, 0xf5, 0x8d, 0x3d, 0x7f, 0x40, 0x21, 0x33,
0xc2, 0xf8, 0xd4, 0x18, 0xd6, 0xa1, 0x7e, 0xd3, 0xb6, 0xb9, 0x44, 0xb3, 0x62, 0x61, 0x38, 0x37,
0x3a, 0x3d, 0x4a, 0x03, 0x93, 0x6d, 0x90, 0x7d, 0x44, 0xc7, 0xb0, 0x09, 0xa7, 0xe8, 0xe3, 0xf9,
0x8d, 0x77, 0xe4, 0x98, 0x25, 0xd1, 0xaa, 0xbf, 0x47, 0x58, 0xc4, 0x15, 0x25, 0x51, 0x69, 0x13,
0x9e, 0xf0, 0x15, 0x4b, 0x69, 0x93, 0x45, 0xc9, 0x13, 0x2e, 0x0a, 0x38, 0x9b, 0xd0, 0x32, 0x2b,
0x60, 0x75, 0xa8, 0x3e, 0x3b, 0xdc, 0x3d, 0x68, 0x5f, 0x63, 0x4d, 0x98, 0x3d, 0xda, 0x7d, 0xfe,
0x7c, 0x7f, 0x77, 0xa7, 0x5d, 0x62, 0x2d, 0xa8, 0xeb, 0x88, 0xcb, 0x32, 0xa6, 0x36, 0xb7, 0xb7,
0x77, 0x0f, 0x9f, 0xef, 0xee, 0xb4, 0x2b, 0xce, 0x1f, 0x95, 0xa1, 0x69, 0xd4, 0x7c, 0x85, 0x8b,
0xe6, 0x16, 0x00, 0x59, 0x12, 0x69, 0xec, 0x45, 0xd5, 0x35, 0x10, 0x94, 0x8c, 0xda, 0xc6, 0xae,
0x88, 0x8b, 0x8e, 0x2a, 0x4d, 0xf3, 0x45, 0x37, 0x0a, 0xcd, 0x03, 0x87, 0x9a, 0x6b, 0x83, 0x48,
0x4b, 0x12, 0xa0, 0x00, 0x40, 0xc1, 0x61, 0x26, 0x84, 0x6b, 0x13, 0xf1, 0x38, 0x1c, 0x9e, 0x73,
0x51, 0x44, 0xe8, 0x63, 0x16, 0x86, 0x6d, 0x49, 0x11, 0x63, 0x04, 0xe7, 0xd6, 0x5c, 0x1b, 0x64,
0xdf, 0x54, 0x6b, 0x53, 0xa7, 0xb5, 0x59, 0xcd, 0x4f, 0xb4, 0xb9, 0x2e, 0x4e, 0x02, 0x6c, 0x73,
0x30, 0x90, 0xb9, 0xe6, 0xb5, 0xc9, 0xc8, 0xbc, 0xa3, 0xab, 0x84, 0x44, 0x01, 0xa3, 0x96, 0x8b,
0x19, 0xf5, 0x8d, 0xe4, 0xec, 0xec, 0x42, 0xf3, 0xd0, 0xb8, 0xf5, 0x4b, 0x32, 0x4b, 0xdd, 0xf7,
0x95, 0xb2, 0xce, 0x40, 0x8c, 0xee, 0x94, 0xcd, 0xee, 0x38, 0xff, 0xb0, 0x24, 0x2e, 0x52, 0xe9,
0xee, 0x8b, 0xb6, 0x1d, 0x68, 0x69, 0x77, 0x72, 0x1a, 0x7b, 0x6e, 0x61, 0x58, 0x86, 0xba, 0xd2,
0x0b, 0x4f, 0x4e, 0x62, 0xae, 0xa2, 0x44, 0x2d, 0x4c, 0x29, 0x8e, 0xa8, 0x8a, 0xfa, 0xa2, 0x85,
0x58, 0x46, 0x8b, 0xe6, 0x70, 0x24, 0x12, 0xe9, 0x91, 0x54, 0xf1, 0xb1, 0x3a, 0xad, 0x43, 0xe4,
0xb3, 0xb3, 0x7c, 0x0f, 0xea, 0xba, 0x5e, 0x7b, 0x57, 0x50, 0x25, 0x75, 0x3e, 0xee, 0x3e, 0x64,
0x54, 0x5a, 0x9d, 0x16, 0xb4, 0x9a, 0xcf, 0x60, 0xeb, 0xc0, 0x4e, 0xfc, 0x28, 0x5b, 0x5c, 0x10,
0x6f, 0x41, 0x8e, 0xf3, 0x12, 0x96, 0x14, 0xcf, 0x19, 0x1a, 0xad, 0xbd, 0x88, 0xa5, 0xab, 0x64,
0x52, 0x39, 0x2f, 0x93, 0x9c, 0x5f, 0x54, 0x60, 0x56, 0xae, 0x74, 0xee, 0xe6, 0xb8, 0x58, 0x67,
0x0b, 0x63, 0x1d, 0xeb, 0x8e, 0x20, 0x09, 0x30, 0xb9, 0x13, 0xe5, 0xf6, 0x9a, 0x4a, 0xd1, 0x5e,
0xc3, 0xa0, 0x3a, 0xf6, 0x92, 0x33, 0x72, 0xbd, 0x34, 0x5c, 0xfa, 0xad, 0x1c, 0xa6, 0x35, 0xdb,
0x61, 0x5a, 0x74, 0x4f, 0x5e, 0xa8, 0x53, 0xf9, 0x7b, 0xf2, 0x37, 0xa1, 0x21, 0xee, 0x56, 0xa7,
0x3e, 0xd1, 0x14, 0x40, 0xea, 0x15, 0x09, 0x92, 0x10, 0xf2, 0xba, 0x4e, 0x8a, 0x7c, 0x85, 0xdd,
0xed, 0xdb, 0x30, 0x23, 0xee, 0x8b, 0xc8, 0x28, 0xe0, 0x9b, 0xea, 0xbc, 0x50, 0x94, 0x53, 0x7f,
0x45, 0x38, 0x91, 0x2b, 0xcb, 0x9a, 0x37, 0x4e, 0x9b, 0xf6, 0x8d, 0x53, 0xd3, 0x95, 0xdb, 0xb2,
0x5d, 0xb9, 0xce, 0x23, 0x98, 0xb3, 0xaa, 0x43, 0xe9, 0x2a, 0xa3, 0x88, 0xdb, 0xd7, 0xd8, 0x1c,
0x34, 0x9e, 0x1c, 0xf4, 0x1e, 0xed, 0x3f, 0x79, 0xbc, 0xf7, 0xbc, 0x5d, 0xc2, 0xe4, 0xd1, 0x8b,
0xed, 0xed, 0xdd, 0xdd, 0x1d, 0x92, 0xb6, 0x00, 0x33, 0x8f, 0x36, 0x9f, 0xec, 0x93, 0xac, 0xdd,
0x11, 0xb4, 0x2d, 0xeb, 0xd2, 0x67, 0x34, 0xdf, 0x04, 0xa6, 0xec, 0x7e, 0x8a, 0x26, 0x1a, 0x0f,
0x79, 0xa2, 0x02, 0xdc, 0x17, 0x65, 0xce, 0x13, 0x9d, 0xa1, 0xee, 0x68, 0xa4, 0xb5, 0xa4, 0x2c,
0x22, 0x27, 0x29, 0xcb, 0x22, 0xb2, 0xa8, 0xab, 0xf3, 0x9d, 0x2e, 0x74, 0x76, 0x38, 0xd6, 0xb6,
0x39, 0x1c, 0x66, 0xba, 0x83, 0x86, 0x5b, 0x41, 0x9e, 0xb4, 0xea, 0xbe, 0x07, 0xd7, 0x37, 0x45,
0x2c, 0xfb, 0x6f, 0x2a, 0xd4, 0xd1, 0xe9, 0xc0, 0x4a, 0xb6, 0x4a, 0xd9, 0xd8, 0x23, 0x58, 0xdc,
0xe1, 0xc7, 0x93, 0xd3, 0x7d, 0x7e, 0x9e, 0x36, 0xc4, 0xa0, 0x1a, 0x9f, 0x85, 0x17, 0x72, 0x7e,
0xe8, 0x37, 0x7b, 0x17, 0x60, 0x88, 0x65, 0x7a, 0xf1, 0x98, 0xf7, 0xd5, 0x3d, 0x45, 0x42, 0x8e,
0xc6, 0xbc, 0xef, 0x7c, 0x0c, 0xcc, 0xac, 0x47, 0xce, 0x17, 0xea, 0x5a, 0x93, 0xe3, 0x5e, 0x7c,
0x19, 0x27, 0x7c, 0xa4, 0x2e, 0x60, 0x9a, 0x90, 0x73, 0x07, 0x5a, 0x87, 0xde, 0xa5, 0xcb, 0x7f,
0x2a, 0x5f, 0x50, 0x58, 0x85, 0xd9, 0xb1, 0x77, 0x89, 0x24, 0xa8, 0x9d, 0xc1, 0x94, 0xed, 0xfc,
0x9f, 0x32, 0xcc, 0x88, 0x92, 0x58, 0xeb, 0x80, 0xc7, 0x89, 0x1f, 0x10, 0xa7, 0xa9, 0x5a, 0x0d,
0x28, 0xc7, 0xdb, 0xe5, 0x02, 0xde, 0x96, 0x1e, 0x0a, 0x75, 0xdf, 0x4b, 0x32, 0xb0, 0x85, 0x21,
0xa7, 0xa5, 0x31, 0xcb, 0xc2, 0x65, 0x98, 0x02, 0x99, 0x43, 0x8e, 0x54, 0xa3, 0x13, 0xfd, 0x53,
0x62, 0x4b, 0xb2, 0xb1, 0x09, 0x15, 0xea, 0x8d, 0xb3, 0x82, 0xdb, 0x73, 0x7a, 0x63, 0x4e, 0x3f,
0xac, 0xbf, 0x85, 0x7e, 0x28, 0xdc, 0x16, 0x6f, 0xd2, 0x0f, 0xe1, 0x2d, 0xf4, 0x43, 0x87, 0x41,
0x9b, 0x2e, 0x93, 0xa3, 0x05, 0xa2, 0x68, 0xf7, 0xef, 0x96, 0xa0, 0x2d, 0xa9, 0x48, 0xe7, 0xa9,
0xe3, 0xb2, 0x37, 0xdd, 0x3a, 0xba, 0x0d, 0x73, 0x64, 0xff, 0x68, 0x11, 0x20, 0x8f, 0x9e, 0x2c,
0x10, 0xc7, 0xa1, 0x22, 0x5e, 0x46, 0xfe, 0x50, 0x2e, 0x8a, 0x09, 0x29, 0x29, 0x12, 0x79, 0x32,
0xf6, 0xb6, 0xe4, 0xea, 0xb4, 0xf3, 0x27, 0x25, 0x58, 0x34, 0x3a, 0x2c, 0xa9, 0xf0, 0x21, 0xb4,
0xf4, 0x9b, 0x0d, 0x5c, 0x6f, 0x6e, 0xab, 0x36, 0xdb, 0xa4, 0x9f, 0x59, 0x85, 0x69, 0x31, 0xbd,
0x4b, 0xea, 0x60, 0x3c, 0x19, 0xc9, 0x5d, 0xc5, 0x84, 0x90, 0x90, 0x2e, 0x38, 0x7f, 0xa5, 0x8b,
0x88, 0x7d, 0xcd, 0xc2, 0xc8, 0x6f, 0x8c, 0x76, 0x9b, 0x2e, 0x54, 0x95, 0x7e, 0x63, 0x13, 0x74,
0xfe, 0x72, 0x19, 0x96, 0x84, 0x21, 0x2e, 0x1d, 0x20, 0xfa, 0xda, 0xec, 0x8c, 0xf0, 0x49, 0x08,
0x8e, 0xdc, 0xbb, 0xe6, 0xca, 0x34, 0xfb, 0xce, 0x5b, 0x3a, 0x0f, 0x74, 0x40, 0xf0, 0x94, 0xb5,
0xa8, 0x14, 0xad, 0xc5, 0x1b, 0x66, 0xba, 0xc8, 0x85, 0x5f, 0x2b, 0x76, 0xe1, 0xbf, 0x95, 0xcb,
0x7c, 0x6b, 0x16, 0x6a, 0x71, 0x3f, 0x1c, 0x73, 0x67, 0x05, 0x96, 0xed, 0x29, 0x90, 0x82, 0xea,
0xe7, 0x25, 0xe8, 0x3c, 0x12, 0x07, 0x83, 0x7e, 0x70, 0xba, 0xe7, 0xc7, 0x49, 0x18, 0xe9, 0x37,
0x08, 0x6e, 0x01, 0xc4, 0x89, 0x17, 0x49, 0x85, 0x56, 0xa8, 0x06, 0x06, 0x82, 0x23, 0xe1, 0xc1,
0x40, 0xe4, 0x8a, 0x15, 0xd4, 0xe9, 0x9c, 0xea, 0x25, 0x9d, 0x09, 0x96, 0x02, 0xf3, 0x81, 0x08,
0xa3, 0xc7, 0x2e, 0xf3, 0x73, 0x92, 0xfe, 0xc2, 0x42, 0xcf, 0xa0, 0xce, 0x1f, 0x94, 0x61, 0x21,
0xed, 0x24, 0x85, 0x7b, 0xd8, 0x32, 0x44, 0x6a, 0x2d, 0xa9, 0x0c, 0x91, 0x8e, 0xff, 0x9e, 0x8f,
0x6a, 0x8c, 0xe1, 0x4f, 0x30, 0x50, 0x76, 0x1b, 0x9a, 0x2a, 0x15, 0x4e, 0x12, 0xe3, 0x32, 0xb0,
0x09, 0x8b, 0xe0, 0x58, 0x54, 0xa4, 0xa4, 0x52, 0x28, 0x53, 0x74, 0x31, 0x69, 0x94, 0xd0, 0x97,
0x62, 0xe6, 0x55, 0x92, 0xb5, 0x85, 0x26, 0x22, 0xde, 0x65, 0x21, 0x2d, 0xc4, 0xdc, 0xa1, 0xeb,
0xfa, 0x11, 0x15, 0xcd, 0x99, 0xa2, 0xc6, 0x34, 0xb2, 0xb9, 0xea, 0x9a, 0x90, 0xb2, 0xe8, 0xc2,
0x89, 0x71, 0xda, 0x59, 0x75, 0x2d, 0xcc, 0xf9, 0x9b, 0x25, 0xb8, 0x51, 0xb0, 0x8c, 0x92, 0x53,
0x77, 0x60, 0xf1, 0x44, 0x67, 0xaa, 0xa9, 0x16, 0xec, 0xba, 0xa2, 0xa2, 0x1f, 0xec, 0xe9, 0x75,
0xf3, 0x1f, 0x68, 0xe5, 0x54, 0x2c, 0x9e, 0x15, 0xc4, 0x9e, 0xcf, 0x70, 0x0e, 0xa1, 0xbb, 0xfb,
0x1a, 0x19, 0x7f, 0xdb, 0x7c, 0x4a, 0x4e, 0x51, 0xd6, 0x46, 0x4e, 0xb0, 0x5d, 0xed, 0x46, 0x3a,
0x81, 0x39, 0xab, 0x2e, 0xf6, 0xad, 0xb7, 0xad, 0xc4, 0xe4, 0xd1, 0x35, 0xb9, 0xea, 0xe2, 0x2d,
0x3c, 0x15, 0x4a, 0x6f, 0x40, 0xce, 0x39, 0x2c, 0x3c, 0x9d, 0x0c, 0x13, 0x3f, 0x7d, 0x17, 0x8f,
0x7d, 0x47, 0x7e, 0x44, 0x55, 0xa8, 0xa9, 0x2b, 0x6c, 0xca, 0x2c, 0x87, 0x33, 0x36, 0xc2, 0x9a,
0x7a, 0xf9, 0x16, 0xf3, 0x19, 0xce, 0x0d, 0x58, 0x4d, 0x9b, 0x14, 0x73, 0xa7, 0x36, 0x87, 0x3f,
0x2c, 0x89, 0x98, 0x30, 0xfb, 0x99, 0x3e, 0xf6, 0x18, 0x96, 0x62, 0x3f, 0x38, 0x1d, 0x72, 0xb3,
0x9e, 0x58, 0xce, 0xc4, 0x75, 0xbb, 0x7b, 0xf2, 0x29, 0x3f, 0xb7, 0xe8, 0x0b, 0x24, 0x90, 0xe2,
0x8e, 0xa6, 0x04, 0x92, 0x99, 0x92, 0xa2, 0x01, 0x7c, 0x17, 0xe6, 0xed, 0xc6, 0xd8, 0x27, 0x32,
0x0a, 0x3e, 0xed, 0x99, 0x79, 0xee, 0x63, 0x53, 0x86, 0x55, 0xd2, 0xf9, 0xb2, 0x04, 0x1d, 0x97,
0x23, 0x19, 0x73, 0xa3, 0x51, 0x49, 0x3d, 0x0f, 0x73, 0xd5, 0x4e, 0x1f, 0xb0, 0x8e, 0xae, 0x57,
0x63, 0x5d, 0x9f, 0xba, 0x28, 0x7b, 0xd7, 0x0a, 0x46, 0xb5, 0x55, 0x87, 0x19, 0x39, 0xbe, 0x55,
0xb8, 0x2e, 0xbb, 0xa4, 0xba, 0x93, 0x1e, 0x18, 0x58, 0x8d, 0x5a, 0x07, 0x06, 0x5d, 0xe8, 0x88,
0xa7, 0x26, 0xcc, 0x71, 0xc8, 0x0f, 0x77, 0x80, 0x3d, 0xf5, 0xfa, 0x5e, 0x14, 0x86, 0xc1, 0x21,
0x8f, 0x64, 0x7c, 0x0f, 0x29, 0x40, 0xe4, 0x4f, 0x57, 0xba, 0x9a, 0x48, 0xa9, 0xd7, 0x11, 0xc2,
0x40, 0xbd, 0x42, 0x21, 0x52, 0x8e, 0x0b, 0x4b, 0x5b, 0xde, 0x2b, 0xae, 0x6a, 0x4a, 0x67, 0xa9,
0x39, 0xd6, 0x95, 0xaa, 0xb9, 0x57, 0x97, 0x5b, 0xf2, 0xcd, 0xba, 0x66, 0x69, 0x67, 0x03, 0x96,
0xed, 0x3a, 0xa5, 0x28, 0xe9, 0x42, 0x7d, 0x24, 0x31, 0xd9, 0x3b, 0x9d, 0xbe, 0xf7, 0x05, 0x34,
0x8d, 0xe7, 0x43, 0xd8, 0x2a, 0x2c, 0xbd, 0x7c, 0xf2, 0xfc, 0x60, 0xf7, 0xe8, 0xa8, 0x77, 0xf8,
0x62, 0xeb, 0xb3, 0xdd, 0x1f, 0xf4, 0xf6, 0x36, 0x8f, 0xf6, 0xda, 0xd7, 0xd8, 0x0a, 0xb0, 0x83,
0xdd, 0xa3, 0xe7, 0xbb, 0x3b, 0x16, 0x5e, 0x62, 0xb7, 0xa0, 0xfb, 0xe2, 0xe0, 0xc5, 0xd1, 0xee,
0x4e, 0xaf, 0xe8, 0xbb, 0x32, 0x7b, 0x17, 0x6e, 0xc8, 0xfc, 0x82, 0xcf, 0x2b, 0xf7, 0x1e, 0x42,
0x3b, 0xeb, 0xff, 0xb0, 0x3c, 0x46, 0x6f, 0x72, 0x2d, 0x6d, 0x7c, 0x59, 0x81, 0x79, 0x11, 0xa5,
0x27, 0x1e, 0xba, 0xe4, 0x11, 0x7b, 0x0a, 0xb3, 0xf2, 0xc5, 0x54, 0xa6, 0x48, 0xcb, 0x7e, 0xa3,
0xb5, 0xbb, 0x92, 0x85, 0xe5, 0xb2, 0x2e, 0xfd, 0x95, 0xff, 0xf4, 0x3f, 0xfe, 0x76, 0x79, 0x8e,
0x35, 0xef, 0x9f, 0x7f, 0x74, 0xff, 0x94, 0x07, 0x31, 0xd6, 0xf1, 0x7b, 0x00, 0xe9, 0x3b, 0xa0,
0xac, 0xa3, 0x7d, 0x00, 0x99, 0x47, 0x52, 0xbb, 0x37, 0x0a, 0x72, 0x64, 0xbd, 0x37, 0xa8, 0xde,
0x25, 0x67, 0x1e, 0xeb, 0xf5, 0x03, 0x3f, 0x11, 0x6f, 0x82, 0x7e, 0x5a, 0xba, 0xc7, 0x06, 0xd0,
0x32, 0x5f, 0xe8, 0x64, 0xea, 0xfc, 0xa7, 0xe0, 0x8d, 0xd1, 0xee, 0x3b, 0x85, 0x79, 0x8a, 0x96,
0xa9, 0x8d, 0xeb, 0x4e, 0x1b, 0xdb, 0x98, 0x50, 0x89, 0xb4, 0x95, 0xa1, 0xe0, 0xf0, 0xf4, 0x21,
0x4e, 0x76, 0xd3, 0x60, 0xba, 0xdc, 0x33, 0xa0, 0xdd, 0x77, 0xa7, 0xe4, 0xca, 0xb6, 0xde, 0xa5,
0xb6, 0x56, 0x1d, 0x86, 0x6d, 0xf5, 0xa9, 0x8c, 0x7a, 0x06, 0xf4, 0xd3, 0xd2, 0xbd, 0x8d, 0x7f,
0x7f, 0x07, 0x1a, 0xfa, 0x6c, 0x98, 0xfd, 0x04, 0xe6, 0xac, 0x30, 0x4a, 0xa6, 0x86, 0x51, 0x14,
0x75, 0xd9, 0xbd, 0x59, 0x9c, 0x29, 0x1b, 0xbe, 0x45, 0x0d, 0x77, 0xd8, 0x0a, 0x36, 0x2c, 0xe3,
0x10, 0xef, 0x53, 0x40, 0xb0, 0xb8, 0x4f, 0xf8, 0xca, 0x90, 0x64, 0xa2, 0xb1, 0x9b, 0x59, 0xe1,
0x62, 0xb5, 0xf6, 0xee, 0x94, 0x5c, 0xd9, 0xdc, 0x4d, 0x6a, 0x6e, 0x85, 0x2d, 0x9b, 0xcd, 0xe9,
0xf3, 0x5a, 0x4e, 0x97, 0x68, 0xcd, 0x37, 0x2a, 0xd9, 0xbb, 0x9a, 0xb0, 0x8a, 0xde, 0xae, 0xd4,
0x24, 0x92, 0x7f, 0xc0, 0xd2, 0xe9, 0x50, 0x53, 0x8c, 0xd1, 0xf2, 0x99, 0x4f, 0x54, 0xb2, 0x63,
0x68, 0x1a, 0x2f, 0x59, 0xb1, 0x1b, 0x53, 0x5f, 0xdd, 0xea, 0x76, 0x8b, 0xb2, 0x8a, 0x86, 0x62,
0xd6, 0x7f, 0x1f, 0x15, 0x9d, 0x1f, 0x41, 0x43, 0xbf, 0x8d, 0xc4, 0x56, 0x8d, 0xb7, 0xaa, 0xcc,
0xb7, 0x9c, 0xba, 0x9d, 0x7c, 0x46, 0x11, 0xf1, 0x99, 0xb5, 0x23, 0xf1, 0xbd, 0x84, 0xa6, 0xf1,
0xfe, 0x91, 0x1e, 0x40, 0xfe, 0x8d, 0x25, 0x3d, 0x80, 0x82, 0xe7, 0x92, 0x9c, 0x45, 0x6a, 0xa2,
0xc9, 0x1a, 0x44, 0xdf, 0xc9, 0xeb, 0x30, 0x66, 0xfb, 0x70, 0x5d, 0x4a, 0xec, 0x63, 0xfe, 0x55,
0x96, 0xa1, 0xe0, 0x59, 0xd0, 0x07, 0x25, 0xf6, 0x10, 0xea, 0xea, 0x99, 0x2b, 0xb6, 0x52, 0xfc,
0x5c, 0x57, 0x77, 0x35, 0x87, 0x4b, 0xf1, 0xfa, 0x03, 0x80, 0xf4, 0xb1, 0x25, 0x2d, 0x24, 0x72,
0x8f, 0x37, 0x69, 0x0a, 0xc8, 0xbf, 0xcc, 0xe4, 0xac, 0xd0, 0x00, 0xdb, 0x8c, 0x84, 0x44, 0xc0,
0x2f, 0xd4, 0x7d, 0xf9, 0x1f, 0x43, 0xd3, 0x78, 0x6f, 0x49, 0x4f, 0x5f, 0xfe, 0xad, 0x26, 0x3d,
0x7d, 0x05, 0xcf, 0x33, 0x39, 0x5d, 0xaa, 0x7d, 0xd9, 0x59, 0xc0, 0xda, 0x63, 0xff, 0x34, 0x18,
0x89, 0x02, 0xb8, 0x40, 0x67, 0x30, 0x67, 0x3d, 0xaa, 0xa4, 0x39, 0xb4, 0xe8, 0xc9, 0x26, 0xcd,
0xa1, 0x85, 0xef, 0x30, 0x29, 0x3a, 0x73, 0x16, 0xb1, 0x9d, 0x73, 0x2a, 0x62, 0xb4, 0xf4, 0x43,
0x68, 0x1a, 0x0f, 0x24, 0xe9, 0xb1, 0xe4, 0xdf, 0x62, 0xd2, 0x63, 0x29, 0x7a, 0x4f, 0x69, 0x99,
0xda, 0x98, 0x77, 0x88, 0x14, 0xe8, 0xe6, 0x37, 0xd6, 0xfd, 0x13, 0x98, 0xb7, 0x9f, 0x4c, 0xd2,
0xbc, 0x5f, 0xf8, 0xf8, 0x92, 0xe6, 0xfd, 0x29, 0xef, 0x2c, 0x49, 0x92, 0xbe, 0xb7, 0xa4, 0x1b,
0xb9, 0xff, 0xb9, 0x8c, 0x2e, 0xfb, 0x82, 0x7d, 0x0f, 0x05, 0x9c, 0xbc, 0x8a, 0xcf, 0x56, 0x0d,
0xaa, 0x35, 0x2f, 0xec, 0x6b, 0x7e, 0xc9, 0xdd, 0xda, 0xb7, 0x89, 0x59, 0xdc, 0x5d, 0xa7, 0x5d,
0x8b, 0xae, 0xe4, 0x1b, 0xbb, 0x96, 0x79, 0x6b, 0xdf, 0xd8, 0xb5, 0xac, 0x9b, 0xfb, 0xd9, 0x5d,
0x2b, 0xf1, 0xb1, 0x8e, 0x00, 0x16, 0x32, 0x57, 0x3d, 0x34, 0x57, 0x14, 0xdf, 0xc6, 0xeb, 0xde,
0x7a, 0xf3, 0x0d, 0x11, 0x5b, 0x82, 0x28, 0x21, 0x78, 0x5f, 0xdd, 0x7d, 0xfc, 0x7d, 0x68, 0x99,
0xcf, 0xb8, 0x30, 0x93, 0x95, 0xb3, 0x2d, 0xbd, 0x53, 0x98, 0x67, 0x2f, 0x2e, 0x6b, 0x99, 0xcd,
0xb0, 0xef, 0xc3, 0x8a, 0x66, 0x75, 0xf3, 0xf6, 0x40, 0xcc, 0xde, 0x2b, 0xb8, 0x53, 0x60, 0xea,
0x71, 0xdd, 0x1b, 0x53, 0x2f, 0x1d, 0x3c, 0x28, 0x21, 0xd1, 0xd8, 0x6f, 0x63, 0xa4, 0x1b, 0x46,
0xd1, 0x93, 0x20, 0xe9, 0x86, 0x51, 0xf8, 0xa0, 0x86, 0x22, 0x1a, 0xb6, 0x64, 0xcd, 0x91, 0x38,
0x88, 0x67, 0x3f, 0x84, 0x05, 0xe3, 0x7e, 0xd6, 0xd1, 0x65, 0xd0, 0xd7, 0x0c, 0x90, 0xbf, 0x3a,
0xdc, 0x2d, 0xb2, 0x52, 0x9c, 0x55, 0xaa, 0x7f, 0xd1, 0xb1, 0x26, 0x07, 0x89, 0x7f, 0x1b, 0x9a,
0xe6, 0xdd, 0xaf, 0x37, 0xd4, 0xbb, 0x6a, 0x64, 0x99, 0x37, 0x5f, 0x1f, 0x94, 0xd8, 0xa1, 0x08,
0xc8, 0xd2, 0xef, 0x74, 0x86, 0x51, 0x76, 0xfb, 0xb4, 0xdf, 0xef, 0xd4, 0x0b, 0x59, 0xf4, 0x72,
0xeb, 0xdd, 0xd2, 0x83, 0x12, 0xfb, 0x7b, 0x25, 0x68, 0x59, 0x77, 0xb3, 0xac, 0xf0, 0x96, 0x4c,
0xcf, 0x3a, 0x66, 0x9e, 0xd9, 0x35, 0xc7, 0xa5, 0x61, 0xef, 0xdf, 0xfb, 0xae, 0x35, 0xad, 0x9f,
0x5b, 0x0e, 0xb5, 0xf5, 0xec, 0x63, 0x9d, 0x5f, 0x64, 0x0b, 0x98, 0x17, 0xb6, 0xbf, 0x78, 0x50,
0x62, 0x7f, 0x5c, 0x82, 0x79, 0xdb, 0x0d, 0xac, 0x87, 0x5b, 0xe8, 0x70, 0xd6, 0x8b, 0x3f, 0xc5,
0x77, 0xfc, 0x43, 0xea, 0xe5, 0xf3, 0x7b, 0xae, 0xd5, 0x4b, 0xf9, 0x0e, 0xcb, 0xaf, 0xd7, 0x5b,
0xf6, 0xa9, 0x78, 0x5d, 0x5a, 0x1d, 0xd6, 0xb0, 0xfc, 0x1b, 0xc7, 0x9a, 0x60, 0xcc, 0x57, 0x89,
0x69, 0x11, 0x7e, 0x2c, 0x1e, 0xa9, 0x54, 0xe7, 0x09, 0x48, 0x77, 0x6f, 0xfb, 0xbd, 0x73, 0x9b,
0xc6, 0x74, 0xcb, 0xb9, 0x61, 0x8d, 0x29, 0xbb, 0xc3, 0x6f, 0x8a, 0xde, 0xc9, 0x07, 0x85, 0xd3,
0x2d, 0x2a, 0xf7, 0xc8, 0xf0, 0xf4, 0x4e, 0x8e, 0x44, 0x27, 0x65, 0x71, 0x8b, 0x39, 0xde, 0xb2,
0x1a, 0xe7, 0x1e, 0xf5, 0xf5, 0xb6, 0xf3, 0xde, 0xd4, 0xbe, 0xde, 0x27, 0x67, 0x2e, 0xf6, 0xf8,
0x10, 0x20, 0x3d, 0x58, 0x65, 0x99, 0x83, 0x3d, 0x2d, 0x32, 0xf2, 0x67, 0xaf, 0x36, 0x07, 0xaa,
0xf3, 0x3f, 0xac, 0xf1, 0x47, 0x42, 0x00, 0x3e, 0x51, 0x47, 0x82, 0xa6, 0x9a, 0x63, 0x9f, 0x80,
0x5a, 0x6a, 0x4e, 0xb6, 0x7e, 0x4b, 0xfc, 0xe9, 0xf3, 0xc5, 0x17, 0x30, 0xb7, 0x1f, 0x86, 0xaf,
0x26, 0x63, 0x1d, 0x79, 0x62, 0x9f, 0xb3, 0xec, 0x79, 0xf1, 0x59, 0x37, 0x33, 0x0a, 0x67, 0x8d,
0xaa, 0xea, 0xb2, 0x8e, 0x51, 0xd5, 0xfd, 0xcf, 0xd3, 0x83, 0xdb, 0x2f, 0x98, 0x07, 0x8b, 0x5a,
0xaa, 0xea, 0x8e, 0x77, 0xed, 0x6a, 0x2c, 0x59, 0x9a, 0x6d, 0xc2, 0xd2, 0xc7, 0x55, 0x6f, 0xef,
0xc7, 0xaa, 0x4e, 0x92, 0x29, 0xad, 0x1d, 0xde, 0xa7, 0x9b, 0x27, 0x74, 0x58, 0xb1, 0x94, 0x76,
0x5c, 0x9f, 0x72, 0x74, 0xe7, 0x2c, 0xd0, 0xde, 0x69, 0xc6, 0xde, 0x65, 0xc4, 0x7f, 0x7a, 0xff,
0x73, 0x79, 0x0c, 0xf2, 0x85, 0xda, 0x69, 0xd4, 0x39, 0x91, 0xb5, 0xd3, 0x64, 0x0e, 0x96, 0xac,
0x9d, 0x26, 0x77, 0xb0, 0x64, 0x4d, 0xb5, 0x3a, 0xa7, 0x62, 0x43, 0x58, 0xcc, 0x9d, 0x45, 0xe9,
0x4d, 0x66, 0xda, 0x09, 0x56, 0x77, 0x6d, 0x7a, 0x01, 0xbb, 0xb5, 0x7b, 0x76, 0x6b, 0x47, 0x30,
0xb7, 0xc3, 0xc5, 0x64, 0x89, 0x50, 0xdb, 0xcc, 0x05, 0x3f, 0x33, 0x90, 0x37, 0xbb, 0x25, 0x50,
0x9e, 0xad, 0x4a, 0x50, 0x8c, 0x2b, 0xfb, 0x11, 0x34, 0x1f, 0xf3, 0x44, 0xc5, 0xd6, 0x6a, 0x65,
0x36, 0x13, 0x6c, 0xdb, 0x2d, 0x08, 0xcd, 0xb5, 0x69, 0x86, 0x6a, 0xbb, 0xcf, 0x07, 0xa7, 0x5c,
0x08, 0xa7, 0x9e, 0x3f, 0xf8, 0x82, 0xfd, 0x05, 0xaa, 0x5c, 0x5f, 0x2e, 0x58, 0x31, 0x02, 0x25,
0xcd, 0xca, 0x17, 0x32, 0x78, 0x51, 0xcd, 0x41, 0x38, 0xe0, 0x86, 0x52, 0x15, 0x40, 0xd3, 0xb8,
0x13, 0xa4, 0x19, 0x28, 0x7f, 0xc5, 0x4c, 0x33, 0x50, 0xc1, 0x15, 0x22, 0xe7, 0x2e, 0xb5, 0xe3,
0xb0, 0xb5, 0xb4, 0x1d, 0x71, 0x6d, 0x28, 0x6d, 0xe9, 0xfe, 0xe7, 0xde, 0x28, 0xf9, 0x82, 0xbd,
0xa4, 0x77, 0x91, 0xcc, 0xd8, 0xe1, 0x54, 0x3b, 0xcf, 0x86, 0x19, 0xeb, 0xc9, 0x32, 0xb2, 0x6c,
0x8d, 0x5d, 0x34, 0x45, 0xba, 0xd7, 0x77, 0x00, 0x8e, 0x92, 0x70, 0xbc, 0xe3, 0xf1, 0x51, 0x18,
0xa4, 0xb2, 0x36, 0x8d, 0x5c, 0x4d, 0xe5, 0x97, 0x11, 0xbe, 0xca, 0x5e, 0x1a, 0xe6, 0x8c, 0x15,
0x7e, 0xad, 0x88, 0x6b, 0x6a, 0x70, 0xab, 0x9e, 0x90, 0x82, 0x00, 0xd7, 0x07, 0x25, 0xb6, 0x09,
0x90, 0x1e, 0x46, 0x6a, 0xe3, 0x24, 0x77, 0xce, 0xa9, 0xc5, 0x5e, 0xc1, 0xc9, 0xe5, 0x21, 0x34,
0xd2, 0xd3, 0xad, 0xd5, 0xf4, 0xe6, 0x9d, 0x75, 0x16, 0xa6, 0x77, 0xf0, 0xdc, 0x99, 0x93, 0xd3,
0xa6, 0xa9, 0x02, 0x56, 0xc7, 0xa9, 0xa2, 0x83, 0x24, 0x1f, 0x96, 0x44, 0x07, 0xb5, 0x82, 0x43,
0x11, 0x97, 0x6a, 0x24, 0x05, 0xe7, 0x3e, 0x9a, 0x9b, 0x0b, 0x0f, 0x44, 0x2c, 0x1f, 0x0b, 0x52,
0xab, 0x88, 0xf6, 0x44, 0xd1, 0x3c, 0x82, 0xc5, 0x9c, 0x8f, 0x5d, 0xb3, 0xf4, 0xb4, 0x43, 0x14,
0xcd, 0xd2, 0x53, 0xdd, 0xf3, 0xce, 0x75, 0x6a, 0x72, 0xc1, 0x01, 0xb2, 0xa9, 0x2e, 0xfc, 0xa4,
0x7f, 0x86, 0xcd, 0xfd, 0x61, 0x09, 0x96, 0x0a, 0x5c, 0xe8, 0xec, 0x7d, 0x65, 0x9e, 0x4f, 0x75,
0xaf, 0x77, 0x0b, 0x3d, 0xac, 0xce, 0x11, 0xb5, 0xf3, 0x94, 0x7d, 0x66, 0x6d, 0x6c, 0xc2, 0xb9,
0x29, 0x39, 0xf3, 0x8d, 0x4a, 0x45, 0xa1, 0x46, 0xf1, 0x53, 0x58, 0x15, 0x1d, 0xd9, 0x1c, 0x0e,
0x33, 0xde, 0xdf, 0x5b, 0xb9, 0x7f, 0x30, 0x63, 0x79, 0xb5, 0xbb, 0xd3, 0xff, 0x01, 0xcd, 0x14,
0x05, 0x58, 0x74, 0x95, 0x4d, 0xa0, 0x9d, 0xf5, 0xa8, 0xb2, 0xe9, 0x75, 0x75, 0xdf, 0xb3, 0x0c,
0xcd, 0x02, 0x2f, 0xec, 0x6f, 0x51, 0x63, 0xef, 0x39, 0xdd, 0xa2, 0x79, 0x11, 0xb6, 0x27, 0xae,
0xc7, 0x5f, 0xd2, 0xee, 0xdf, 0xcc, 0x38, 0x55, 0x03, 0xd3, 0xfc, 0xd5, 0xda, 0xd4, 0x2d, 0xf6,
0x1e, 0x7f, 0x40, 0xcd, 0xaf, 0x39, 0xef, 0x14, 0x35, 0x1f, 0x89, 0x4f, 0x84, 0xd1, 0xbb, 0x9a,
0xe5, 0x6b, 0xd5, 0x83, 0xb5, 0xa2, 0xf5, 0x9e, 0x6a, 0xbd, 0x64, 0xe6, 0xfa, 0x1a, 0xe9, 0x76,
0x2d, 0xd3, 0xdd, 0xab, 0xd9, 0xa7, 0xc0, 0xaf, 0xac, 0xd9, 0xa7, 0xc8, 0x3f, 0x6c, 0xeb, 0x35,
0xca, 0x33, 0xfc, 0x69, 0xe9, 0xde, 0xd6, 0x9d, 0x1f, 0xfe, 0xd6, 0xa9, 0x9f, 0x9c, 0x4d, 0x8e,
0xd7, 0xfb, 0xe1, 0xe8, 0xfe, 0x50, 0xb9, 0xf5, 0xe4, 0x2d, 0x84, 0xfb, 0xc3, 0x60, 0x70, 0x9f,
0xaa, 0x3d, 0x9e, 0xa1, 0xff, 0x88, 0xf5, 0xad, 0xff, 0x17, 0x00, 0x00, 0xff, 0xff, 0x95, 0x82,
0x58, 0xe9, 0x43, 0x6b, 0x00, 0x00,
// 8685 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0xbd, 0x5d, 0x6c, 0x24, 0x59,
0x96, 0x17, 0x5e, 0xf9, 0x65, 0x67, 0x9e, 0x4c, 0xdb, 0xe9, 0x6b, 0x97, 0x9d, 0x95, 0x5d, 0x5d,
0xed, 0x8e, 0xa9, 0xed, 0xaa, 0xa9, 0xe9, 0x71, 0x55, 0x7b, 0x66, 0xfa, 0x5f, 0xdb, 0xf5, 0x5f,
0x16, 0x7f, 0x55, 0xb9, 0xa6, 0x5d, 0x2e, 0x4f, 0xb8, 0x6a, 0x8a, 0x99, 0xd9, 0x55, 0x4e, 0x38,
0xf3, 0xda, 0x8e, 0xa9, 0xcc, 0x88, 0x9c, 0x88, 0x48, 0xbb, 0x3c, 0x4d, 0x23, 0x81, 0x10, 0x42,
0xbc, 0xa0, 0x01, 0x21, 0x01, 0x02, 0xad, 0x34, 0x8b, 0xc4, 0x2e, 0x3c, 0xc0, 0x0b, 0x12, 0xa0,
0x95, 0x78, 0xe0, 0x01, 0x09, 0x09, 0xf1, 0xc0, 0x03, 0x12, 0x0f, 0x8c, 0x10, 0x48, 0x68, 0xc5,
0x1b, 0xd2, 0xbe, 0xa3, 0x73, 0xee, 0x47, 0xdc, 0x1b, 0x11, 0x59, 0xae, 0x9e, 0x19, 0x78, 0x72,
0xde, 0xdf, 0xbd, 0x71, 0x3f, 0xcf, 0x39, 0xf7, 0x9c, 0x73, 0xcf, 0xbd, 0x86, 0x46, 0x34, 0xee,
0xaf, 0x8f, 0xa3, 0x30, 0x09, 0x59, 0x6d, 0x18, 0x44, 0xe3, 0x7e, 0xf7, 0xe6, 0x69, 0x18, 0x9e,
0x0e, 0xf9, 0x7d, 0x6f, 0xec, 0xdf, 0xf7, 0x82, 0x20, 0x4c, 0xbc, 0xc4, 0x0f, 0x83, 0x58, 0x14,
0x72, 0x7e, 0x0c, 0xf3, 0x4f, 0x78, 0x70, 0xc4, 0xf9, 0xc0, 0xe5, 0x3f, 0x9d, 0xf0, 0x38, 0x61,
0xdf, 0x80, 0x45, 0x8f, 0xff, 0x8c, 0xf3, 0x41, 0x6f, 0xec, 0xc5, 0xf1, 0xf8, 0x2c, 0xf2, 0x62,
0xde, 0x29, 0xad, 0x95, 0xee, 0xb6, 0xdc, 0xb6, 0xc8, 0x38, 0xd4, 0x38, 0xfb, 0x10, 0x5a, 0x31,
0x16, 0xe5, 0x41, 0x12, 0x85, 0xe3, 0xcb, 0x4e, 0x99, 0xca, 0x35, 0x11, 0xdb, 0x15, 0x90, 0x33,
0x84, 0x05, 0xdd, 0x42, 0x3c, 0x0e, 0x83, 0x98, 0xb3, 0x07, 0xb0, 0xdc, 0xf7, 0xc7, 0x67, 0x3c,
0xea, 0xd1, 0xc7, 0xa3, 0x80, 0x8f, 0xc2, 0xc0, 0xef, 0x77, 0x4a, 0x6b, 0x95, 0xbb, 0x0d, 0x97,
0x89, 0x3c, 0xfc, 0xe2, 0x99, 0xcc, 0x61, 0x77, 0x60, 0x81, 0x07, 0x02, 0xe7, 0x03, 0xfa, 0x4a,
0x36, 0x35, 0x9f, 0xc2, 0xf8, 0x81, 0xf3, 0xd7, 0xcb, 0xb0, 0xf8, 0x34, 0xf0, 0x93, 0x57, 0xde,
0x70, 0xc8, 0x13, 0x35, 0xa6, 0x3b, 0xb0, 0x70, 0x41, 0x00, 0x8d, 0xe9, 0x22, 0x8c, 0x06, 0x72,
0x44, 0xf3, 0x02, 0x3e, 0x94, 0xe8, 0xd4, 0x9e, 0x95, 0xa7, 0xf6, 0xac, 0x70, 0xba, 0x2a, 0x53,
0xa6, 0xeb, 0x0e, 0x2c, 0x44, 0xbc, 0x1f, 0x9e, 0xf3, 0xe8, 0xb2, 0x77, 0xe1, 0x07, 0x83, 0xf0,
0xa2, 0x53, 0x5d, 0x2b, 0xdd, 0xad, 0xb9, 0xf3, 0x0a, 0x7e, 0x45, 0x28, 0xdb, 0x82, 0x85, 0xfe,
0x99, 0x17, 0x04, 0x7c, 0xd8, 0x3b, 0xf6, 0xfa, 0xaf, 0x27, 0xe3, 0xb8, 0x53, 0x5b, 0x2b, 0xdd,
0x6d, 0x6e, 0xdc, 0x58, 0xa7, 0x55, 0x5d, 0xdf, 0x3e, 0xf3, 0x82, 0x2d, 0xca, 0x39, 0x0a, 0xbc,
0x71, 0x7c, 0x16, 0x26, 0xee, 0xbc, 0xfc, 0x42, 0xc0, 0xb1, 0xb3, 0x0c, 0xcc, 0x9c, 0x09, 0x31,
0xf7, 0xce, 0x3f, 0x2d, 0xc1, 0xd2, 0xcb, 0x60, 0x18, 0xf6, 0x5f, 0xff, 0x8a, 0x53, 0x54, 0x30,
0x86, 0xf2, 0xbb, 0x8e, 0xa1, 0xf2, 0x55, 0xc7, 0xb0, 0x02, 0xcb, 0x76, 0x67, 0xe5, 0x28, 0x38,
0x5c, 0xc7, 0xaf, 0x4f, 0xb9, 0xea, 0x96, 0x1a, 0xc6, 0xd7, 0xa1, 0xdd, 0x9f, 0x44, 0x11, 0x0f,
0x72, 0xe3, 0x58, 0x90, 0xb8, 0x1e, 0xc8, 0x87, 0xd0, 0x0a, 0xf8, 0x45, 0x5a, 0x4c, 0xd2, 0x6e,
0xc0, 0x2f, 0x54, 0x11, 0xa7, 0x03, 0x2b, 0xd9, 0x66, 0x64, 0x07, 0xfe, 0x5b, 0x09, 0xaa, 0x2f,
0x93, 0x37, 0x21, 0x5b, 0x87, 0x6a, 0x72, 0x39, 0x16, 0x1c, 0x32, 0xbf, 0xc1, 0xe4, 0xd0, 0x36,
0x07, 0x83, 0x88, 0xc7, 0xf1, 0x8b, 0xcb, 0x31, 0x77, 0x5b, 0x9e, 0x48, 0xf4, 0xb0, 0x1c, 0xeb,
0xc0, 0xac, 0x4c, 0x53, 0x83, 0x0d, 0x57, 0x25, 0xd9, 0x2d, 0x00, 0x6f, 0x14, 0x4e, 0x82, 0xa4,
0x17, 0x7b, 0x09, 0x4d, 0x55, 0xc5, 0x35, 0x10, 0x76, 0x13, 0x1a, 0xe3, 0xd7, 0xbd, 0xb8, 0x1f,
0xf9, 0xe3, 0x84, 0xc8, 0xa6, 0xe1, 0xa6, 0x00, 0xfb, 0x06, 0xd4, 0xc3, 0x49, 0x32, 0x0e, 0xfd,
0x20, 0x91, 0xa4, 0xb2, 0x20, 0xfb, 0xf2, 0x7c, 0x92, 0x1c, 0x22, 0xec, 0xea, 0x02, 0xec, 0x36,
0xcc, 0xf5, 0xc3, 0xe0, 0xc4, 0x8f, 0x46, 0x42, 0x18, 0x74, 0x66, 0xa8, 0x35, 0x1b, 0x74, 0xfe,
0x55, 0x19, 0x9a, 0x2f, 0x22, 0x2f, 0x88, 0xbd, 0x3e, 0x02, 0xd8, 0xf5, 0xe4, 0x4d, 0xef, 0xcc,
0x8b, 0xcf, 0x68, 0xb4, 0x0d, 0x57, 0x25, 0xd9, 0x0a, 0xcc, 0x88, 0x8e, 0xd2, 0x98, 0x2a, 0xae,
0x4c, 0xb1, 0x8f, 0x61, 0x31, 0x98, 0x8c, 0x7a, 0x76, 0x5b, 0x15, 0xa2, 0x96, 0x7c, 0x06, 0x4e,
0xc0, 0x31, 0xae, 0xb5, 0x68, 0x42, 0x8c, 0xd0, 0x40, 0x98, 0x03, 0x2d, 0x99, 0xe2, 0xfe, 0xe9,
0x99, 0x18, 0x66, 0xcd, 0xb5, 0x30, 0xac, 0x23, 0xf1, 0x47, 0xbc, 0x17, 0x27, 0xde, 0x68, 0x2c,
0x87, 0x65, 0x20, 0x94, 0x1f, 0x26, 0xde, 0xb0, 0x77, 0xc2, 0x79, 0xdc, 0x99, 0x95, 0xf9, 0x1a,
0x61, 0x1f, 0xc1, 0xfc, 0x80, 0xc7, 0x49, 0x4f, 0x2e, 0x0a, 0x8f, 0x3b, 0x75, 0x62, 0xfd, 0x0c,
0x8a, 0xf5, 0x44, 0xde, 0x45, 0x0f, 0x27, 0x80, 0xbf, 0xe9, 0x34, 0x44, 0x5f, 0x53, 0x04, 0x29,
0xe7, 0x09, 0x4f, 0x8c, 0xd9, 0x8b, 0x25, 0x85, 0x3a, 0xfb, 0xc0, 0x0c, 0x78, 0x87, 0x27, 0x9e,
0x3f, 0x8c, 0xd9, 0xa7, 0xd0, 0x4a, 0x8c, 0xc2, 0x24, 0x0a, 0x9b, 0x9a, 0x9c, 0x8c, 0x0f, 0x5c,
0xab, 0x9c, 0xf3, 0x04, 0xea, 0x8f, 0x39, 0xdf, 0xf7, 0x47, 0x7e, 0xc2, 0x56, 0xa0, 0x76, 0xe2,
0xbf, 0xe1, 0x82, 0xe0, 0x2b, 0x7b, 0xd7, 0x5c, 0x91, 0x64, 0x5d, 0x98, 0x1d, 0xf3, 0xa8, 0xcf,
0xd5, 0xf2, 0xec, 0x5d, 0x73, 0x15, 0xb0, 0x35, 0x0b, 0xb5, 0x21, 0x7e, 0xec, 0xfc, 0x59, 0x05,
0x9a, 0x47, 0x3c, 0xd0, 0x8c, 0xc4, 0xa0, 0x8a, 0x43, 0x96, 0xcc, 0x43, 0xbf, 0xd9, 0xd7, 0xa0,
0x49, 0xd3, 0x10, 0x27, 0x91, 0x1f, 0x9c, 0x0a, 0xfa, 0xdd, 0x2a, 0x77, 0x4a, 0x2e, 0x20, 0x7c,
0x44, 0x28, 0x6b, 0x43, 0xc5, 0x1b, 0x29, 0xfa, 0xc5, 0x9f, 0xc8, 0x68, 0x63, 0xef, 0x72, 0x84,
0x3c, 0xa9, 0x57, 0xb6, 0xe5, 0x36, 0x25, 0xb6, 0x87, 0x4b, 0xbb, 0x01, 0x4b, 0x66, 0x11, 0xd5,
0x42, 0x4d, 0xb7, 0xb0, 0x68, 0x94, 0x96, 0x0d, 0xdd, 0x81, 0x05, 0xf5, 0x4d, 0x24, 0x3a, 0x4d,
0xeb, 0xdd, 0x70, 0xe7, 0x25, 0xac, 0x86, 0x72, 0x17, 0xda, 0x27, 0x7e, 0xe0, 0x0d, 0x7b, 0xfd,
0x61, 0x72, 0xde, 0x1b, 0xf0, 0x61, 0xe2, 0xd1, 0xca, 0xd7, 0xdc, 0x79, 0xc2, 0xb7, 0x87, 0xc9,
0xf9, 0x0e, 0xa2, 0xec, 0x63, 0x68, 0x9c, 0x70, 0xde, 0xa3, 0x19, 0xe9, 0xd4, 0x2d, 0x2e, 0x52,
0xb3, 0xec, 0xd6, 0x4f, 0xd4, 0x7c, 0x7f, 0x0c, 0xed, 0x70, 0x92, 0x9c, 0x86, 0x7e, 0x70, 0xda,
0x43, 0xb9, 0xd5, 0xf3, 0x07, 0x44, 0x09, 0xd5, 0xad, 0xf2, 0x83, 0x92, 0x3b, 0xaf, 0xf2, 0x50,
0x82, 0x3c, 0x1d, 0xb0, 0xf7, 0x01, 0xa8, 0x7d, 0x51, 0x39, 0xac, 0x95, 0xee, 0xce, 0xb9, 0x0d,
0x44, 0x44, 0x65, 0x9f, 0x41, 0x9d, 0xe6, 0x36, 0x19, 0x9e, 0x77, 0x9a, 0xb4, 0xf8, 0x1f, 0xc8,
0x96, 0x8d, 0x55, 0x59, 0xdf, 0xe1, 0x71, 0xf2, 0x62, 0x78, 0x8e, 0x7b, 0xeb, 0xa5, 0x3b, 0x3b,
0x10, 0xa9, 0xee, 0x67, 0xd0, 0x32, 0x33, 0x70, 0x09, 0x5e, 0xf3, 0x4b, 0x5a, 0xba, 0xaa, 0x8b,
0x3f, 0xd9, 0x32, 0xd4, 0xce, 0xbd, 0xe1, 0x84, 0x4b, 0x21, 0x27, 0x12, 0x9f, 0x95, 0x1f, 0x96,
0x9c, 0x7f, 0x59, 0x82, 0x96, 0x68, 0x41, 0x6e, 0xce, 0xb7, 0x61, 0x4e, 0x4d, 0x2b, 0x8f, 0xa2,
0x30, 0x92, 0xbc, 0x6e, 0x83, 0xec, 0x1e, 0xb4, 0x15, 0x30, 0x8e, 0xb8, 0x3f, 0xf2, 0x4e, 0x55,
0xdd, 0x39, 0x9c, 0x6d, 0xa4, 0x35, 0x46, 0xe1, 0x24, 0xe1, 0x72, 0x1b, 0x68, 0xc9, 0xf1, 0xb9,
0x88, 0xb9, 0x76, 0x11, 0xe4, 0xf5, 0x02, 0x9a, 0xb1, 0x30, 0xe7, 0xef, 0x94, 0x80, 0x61, 0xd7,
0x5f, 0x84, 0xa2, 0x0a, 0xb9, 0xdc, 0x59, 0x72, 0x2b, 0xbd, 0x33, 0xb9, 0x95, 0xdf, 0x46, 0x6e,
0x0e, 0xd4, 0x44, 0xef, 0xab, 0x05, 0xbd, 0x17, 0x59, 0xdf, 0xad, 0xd6, 0x2b, 0xed, 0xaa, 0xf3,
0x5f, 0x2a, 0xb0, 0xbc, 0x2d, 0xf6, 0xb1, 0xcd, 0x7e, 0x9f, 0x8f, 0x35, 0x21, 0x7e, 0x00, 0xcd,
0x20, 0x1c, 0xf0, 0xde, 0x78, 0x72, 0xac, 0xd6, 0xa7, 0xe5, 0x02, 0x42, 0x87, 0x84, 0x10, 0x8d,
0x9c, 0x79, 0x7e, 0x20, 0x3a, 0x2e, 0xe6, 0xb3, 0x41, 0x08, 0x75, 0xfb, 0x23, 0x58, 0x18, 0xf3,
0x60, 0x60, 0xd2, 0x9b, 0xd0, 0x34, 0xe6, 0x24, 0x2c, 0x49, 0xed, 0x03, 0x68, 0x9e, 0x4c, 0x44,
0x39, 0x64, 0xc5, 0x2a, 0xd1, 0x01, 0x48, 0x68, 0x73, 0x94, 0xb0, 0x1b, 0x50, 0x1f, 0x4f, 0xe2,
0x33, 0xca, 0xad, 0x51, 0xee, 0x2c, 0xa6, 0x31, 0xeb, 0x7d, 0x80, 0xc1, 0x24, 0x4e, 0x24, 0x99,
0xce, 0x50, 0x66, 0x03, 0x11, 0x41, 0xa6, 0xdf, 0x84, 0xa5, 0x91, 0xf7, 0xa6, 0x47, 0xf4, 0xd3,
0xf3, 0x83, 0xde, 0xc9, 0x90, 0x44, 0xf1, 0x2c, 0x95, 0x6b, 0x8f, 0xbc, 0x37, 0xdf, 0xc7, 0x9c,
0xa7, 0xc1, 0x63, 0xc2, 0x91, 0x47, 0x95, 0x0e, 0x10, 0xf1, 0x98, 0x47, 0xe7, 0x9c, 0xd8, 0xaa,
0xaa, 0x37, 0x7a, 0x57, 0xa0, 0xd8, 0xa3, 0x11, 0x8e, 0x3b, 0x19, 0xf6, 0x05, 0x0f, 0xb9, 0xb3,
0x23, 0x3f, 0xd8, 0x4b, 0x86, 0x7d, 0x76, 0x13, 0x00, 0x99, 0x72, 0xcc, 0xa3, 0xde, 0xeb, 0x0b,
0x62, 0x9c, 0x2a, 0x31, 0xe1, 0x21, 0x8f, 0x3e, 0xbf, 0x60, 0xef, 0x41, 0xa3, 0x1f, 0x13, 0x57,
0x7b, 0x97, 0x9d, 0x26, 0x71, 0x55, 0xbd, 0x1f, 0x23, 0x3f, 0x7b, 0x97, 0xec, 0x63, 0x60, 0xd8,
0x5b, 0x8f, 0x56, 0x81, 0x0f, 0xa8, 0xfa, 0xb8, 0xd3, 0xa2, 0x52, 0xd8, 0xd9, 0x4d, 0x99, 0x81,
0xed, 0xc4, 0xec, 0x6b, 0x30, 0xa7, 0x3a, 0x7b, 0x32, 0xf4, 0x4e, 0xe3, 0xce, 0x1c, 0x15, 0x6c,
0x49, 0xf0, 0x31, 0x62, 0xce, 0x2b, 0xa1, 0x79, 0x18, 0x6b, 0x2b, 0xf9, 0x06, 0xf7, 0x40, 0x42,
0x68, 0x5d, 0xeb, 0xae, 0x4c, 0x15, 0x2d, 0x5a, 0xb9, 0x60, 0xd1, 0x9c, 0x5f, 0x94, 0xa0, 0x25,
0x6b, 0xa6, 0xed, 0x9a, 0x3d, 0x00, 0xa6, 0x56, 0x31, 0x79, 0xe3, 0x0f, 0x7a, 0xc7, 0x97, 0x09,
0x8f, 0x05, 0xd1, 0xec, 0x5d, 0x73, 0x0b, 0xf2, 0x50, 0x20, 0x59, 0x68, 0x9c, 0x44, 0x82, 0xa6,
0xf7, 0xae, 0xb9, 0xb9, 0x1c, 0x64, 0x31, 0x54, 0x08, 0x26, 0x49, 0xcf, 0x0f, 0x06, 0xfc, 0x0d,
0x91, 0xd2, 0x9c, 0x6b, 0x61, 0x5b, 0xf3, 0xd0, 0x32, 0xbf, 0x73, 0x7e, 0x02, 0x75, 0xa5, 0x4e,
0xd0, 0x56, 0x9a, 0xe9, 0x97, 0x6b, 0x20, 0xac, 0x0b, 0x75, 0xbb, 0x17, 0x6e, 0xfd, 0xab, 0xb4,
0xed, 0xfc, 0x39, 0x68, 0xef, 0x23, 0x11, 0x05, 0x48, 0xb4, 0x52, 0x47, 0x5a, 0x81, 0x19, 0x83,
0x79, 0x1a, 0xae, 0x4c, 0xe1, 0x6e, 0x75, 0x16, 0xc6, 0x89, 0x6c, 0x87, 0x7e, 0x3b, 0xff, 0xae,
0x04, 0x6c, 0x37, 0x4e, 0xfc, 0x91, 0x97, 0xf0, 0xc7, 0x5c, 0x8b, 0x87, 0xe7, 0xd0, 0xc2, 0xda,
0x5e, 0x84, 0x9b, 0x42, 0x63, 0x11, 0x3b, 0xed, 0x37, 0x24, 0x3b, 0xe7, 0x3f, 0x58, 0x37, 0x4b,
0x0b, 0xc1, 0x6b, 0x55, 0x80, 0xdc, 0x96, 0x78, 0xd1, 0x29, 0x4f, 0x48, 0x9d, 0x91, 0xca, 0x30,
0x08, 0x68, 0x3b, 0x0c, 0x4e, 0xba, 0xbf, 0x0b, 0x8b, 0xb9, 0x3a, 0x4c, 0x19, 0xdd, 0x28, 0x90,
0xd1, 0x15, 0x53, 0x46, 0xf7, 0x61, 0xc9, 0xea, 0x97, 0xa4, 0xb8, 0x0e, 0xcc, 0x22, 0x63, 0xa0,
0xb6, 0x48, 0x3b, 0xbe, 0xab, 0x92, 0x6c, 0x03, 0x96, 0x4f, 0x38, 0x8f, 0xbc, 0x84, 0x92, 0xc4,
0x3a, 0xb8, 0x26, 0xb2, 0xe6, 0xc2, 0x3c, 0xe7, 0xbf, 0x97, 0x60, 0x01, 0xa5, 0xe9, 0x33, 0x2f,
0xb8, 0x54, 0x73, 0xb5, 0x5f, 0x38, 0x57, 0x77, 0x8d, 0x8d, 0xc9, 0x28, 0xfd, 0x55, 0x27, 0xaa,
0x92, 0x9d, 0x28, 0xb6, 0x06, 0x2d, 0xab, 0xbb, 0x35, 0xa1, 0x9e, 0xc5, 0x5e, 0x72, 0xc8, 0xa3,
0xad, 0xcb, 0x84, 0xff, 0xfa, 0x53, 0xf9, 0x11, 0xb4, 0xd3, 0x6e, 0xcb, 0x79, 0x64, 0x50, 0x45,
0xc2, 0x94, 0x15, 0xd0, 0x6f, 0xe7, 0x1f, 0x94, 0x44, 0xc1, 0xed, 0xd0, 0xd7, 0xaa, 0x1b, 0x16,
0x44, 0x0d, 0x50, 0x15, 0xc4, 0xdf, 0x53, 0x55, 0xdf, 0x5f, 0x7f, 0xb0, 0x28, 0x13, 0x63, 0x1e,
0x0c, 0x7a, 0xde, 0x70, 0x48, 0x82, 0xb8, 0xee, 0xce, 0x62, 0x7a, 0x73, 0x38, 0x74, 0xee, 0xc0,
0xa2, 0xd1, 0xbb, 0xb7, 0x8c, 0xe3, 0x00, 0xd8, 0xbe, 0x1f, 0x27, 0x2f, 0x83, 0x78, 0x6c, 0x68,
0x44, 0xef, 0x41, 0x03, 0xa5, 0x2d, 0xf6, 0x4c, 0x70, 0x6e, 0xcd, 0x45, 0xf1, 0x8b, 0xfd, 0x8a,
0x29, 0xd3, 0x7b, 0x23, 0x33, 0xcb, 0x32, 0xd3, 0x7b, 0x43, 0x99, 0xce, 0x43, 0x58, 0xb2, 0xea,
0x93, 0x4d, 0x7f, 0x08, 0xb5, 0x49, 0xf2, 0x26, 0x54, 0x7a, 0x6b, 0x53, 0x52, 0x08, 0x5a, 0x48,
0xae, 0xc8, 0x71, 0x1e, 0xc1, 0xe2, 0x01, 0xbf, 0x90, 0x8c, 0xac, 0x3a, 0xf2, 0xd1, 0x95, 0xd6,
0x13, 0xe5, 0x3b, 0xeb, 0xc0, 0xcc, 0x8f, 0x53, 0x06, 0x50, 0xb6, 0x54, 0xc9, 0xb2, 0xa5, 0x9c,
0x8f, 0x80, 0x1d, 0xf9, 0xa7, 0xc1, 0x33, 0x1e, 0xc7, 0xde, 0xa9, 0x66, 0xfd, 0x36, 0x54, 0x46,
0xf1, 0xa9, 0x14, 0x55, 0xf8, 0xd3, 0xf9, 0x16, 0x2c, 0x59, 0xe5, 0x64, 0xc5, 0x37, 0xa1, 0x11,
0xfb, 0xa7, 0x81, 0x97, 0x4c, 0x22, 0x2e, 0xab, 0x4e, 0x01, 0xe7, 0x31, 0x2c, 0x7f, 0x9f, 0x47,
0xfe, 0xc9, 0xe5, 0x55, 0xd5, 0xdb, 0xf5, 0x94, 0xb3, 0xf5, 0xec, 0xc2, 0xf5, 0x4c, 0x3d, 0xb2,
0x79, 0x41, 0xbe, 0x72, 0x25, 0xeb, 0xae, 0x48, 0x18, 0xb2, 0xaf, 0x6c, 0xca, 0x3e, 0xe7, 0x25,
0xb0, 0xed, 0x30, 0x08, 0x78, 0x3f, 0x39, 0xe4, 0x3c, 0x4a, 0xdd, 0x38, 0x29, 0xad, 0x36, 0x37,
0x56, 0xe5, 0xcc, 0x66, 0x05, 0xaa, 0x24, 0x62, 0x06, 0xd5, 0x31, 0x8f, 0x46, 0x54, 0x71, 0xdd,
0xa5, 0xdf, 0xce, 0x75, 0x58, 0xb2, 0xaa, 0x95, 0x86, 0xef, 0x27, 0x70, 0x7d, 0xc7, 0x8f, 0xfb,
0xf9, 0x06, 0x3b, 0x30, 0x3b, 0x9e, 0x1c, 0xf7, 0x52, 0x4e, 0x54, 0x49, 0xb4, 0x85, 0xb2, 0x9f,
0xc8, 0xca, 0xfe, 0x5a, 0x09, 0xaa, 0x7b, 0x2f, 0xf6, 0xb7, 0x71, 0xaf, 0xf0, 0x83, 0x7e, 0x38,
0x42, 0x2d, 0x4c, 0x0c, 0x5a, 0xa7, 0xa7, 0x72, 0xd8, 0x4d, 0x68, 0x90, 0xf2, 0x86, 0xe6, 0x9f,
0xd4, 0x83, 0x52, 0x00, 0x4d, 0x4f, 0xfe, 0x66, 0xec, 0x47, 0x64, 0x5b, 0x2a, 0x8b, 0xb1, 0x4a,
0xdb, 0x4c, 0x3e, 0xc3, 0xf9, 0xc5, 0x2c, 0xcc, 0xca, 0xcd, 0x57, 0x6c, 0xe4, 0x89, 0x7f, 0xce,
0xd3, 0x8d, 0x1c, 0x53, 0xa8, 0x18, 0x47, 0x7c, 0x14, 0x26, 0x5a, 0x7f, 0x13, 0xcb, 0x60, 0x83,
0x64, 0x5a, 0x4b, 0x25, 0x42, 0x18, 0xe3, 0x15, 0x51, 0xca, 0x02, 0xd9, 0x4d, 0x98, 0x55, 0xca,
0x40, 0x55, 0x5b, 0x0c, 0x0a, 0xc2, 0xd9, 0xe8, 0x7b, 0x63, 0xaf, 0xef, 0x27, 0x97, 0x52, 0x2c,
0xe8, 0x34, 0xd6, 0x3f, 0x0c, 0xfb, 0xde, 0xb0, 0x77, 0xec, 0x0d, 0xbd, 0xa0, 0xcf, 0x95, 0xe9,
0x6e, 0x81, 0x68, 0xc6, 0xca, 0x6e, 0xa9, 0x62, 0xc2, 0xd4, 0xcd, 0xa0, 0xb8, 0x87, 0xf7, 0xc3,
0xd1, 0xc8, 0x4f, 0xd0, 0xfa, 0x25, 0xd5, 0xac, 0xe2, 0x1a, 0x88, 0x70, 0x14, 0x50, 0xea, 0x42,
0xcc, 0x60, 0x43, 0x39, 0x0a, 0x0c, 0x10, 0x6b, 0xc9, 0x68, 0x68, 0x15, 0xd7, 0x40, 0x70, 0x2d,
0x26, 0x41, 0xcc, 0x93, 0x64, 0xc8, 0x07, 0xba, 0x43, 0x4d, 0x2a, 0x96, 0xcf, 0x60, 0x0f, 0x60,
0x49, 0x18, 0xe4, 0xb1, 0x97, 0x84, 0xf1, 0x99, 0x1f, 0xf7, 0x62, 0x34, 0x5d, 0x5b, 0x54, 0xbe,
0x28, 0x8b, 0x3d, 0x84, 0xd5, 0x0c, 0x1c, 0xf1, 0x3e, 0xf7, 0xcf, 0xf9, 0x80, 0x54, 0xb8, 0x8a,
0x3b, 0x2d, 0x9b, 0xad, 0x41, 0x33, 0x98, 0x8c, 0x7a, 0x93, 0xf1, 0xc0, 0x43, 0x25, 0x66, 0x9e,
0x94, 0x4b, 0x13, 0x62, 0x9f, 0x80, 0xd2, 0xd3, 0xa4, 0xf6, 0xb8, 0x60, 0x49, 0x38, 0xa4, 0x5e,
0xd7, 0x2e, 0x81, 0x84, 0x99, 0xaa, 0xa4, 0x6d, 0x69, 0xe8, 0x29, 0x80, 0xf8, 0x24, 0xf2, 0xcf,
0xbd, 0x84, 0x77, 0x16, 0x85, 0x50, 0x97, 0x49, 0xfc, 0xce, 0x0f, 0xfc, 0xc4, 0xf7, 0x92, 0x30,
0xea, 0x30, 0xca, 0x4b, 0x01, 0x9c, 0x44, 0xa2, 0x8f, 0x38, 0xf1, 0x92, 0x49, 0x2c, 0x35, 0xd4,
0x25, 0x22, 0xae, 0x7c, 0x06, 0xfb, 0x14, 0x56, 0x04, 0x45, 0x50, 0x96, 0xd4, 0xbd, 0x49, 0x55,
0x58, 0xa6, 0x19, 0x99, 0x92, 0x8b, 0x53, 0x29, 0x49, 0x24, 0xf7, 0xe1, 0x75, 0x31, 0x95, 0x53,
0xb2, 0xb1, 0x7f, 0xd8, 0x03, 0xbf, 0xdf, 0x93, 0x25, 0x90, 0x45, 0x56, 0x68, 0x14, 0xf9, 0x0c,
0x24, 0xf1, 0xa1, 0x7f, 0xc2, 0x13, 0x7f, 0xc4, 0x3b, 0xab, 0x82, 0xc4, 0x55, 0x1a, 0x19, 0x70,
0x32, 0xa6, 0x9c, 0x8e, 0x60, 0x78, 0x91, 0x72, 0xfe, 0xa0, 0x24, 0x36, 0x1f, 0xc9, 0xa8, 0xb1,
0x61, 0x56, 0x09, 0x16, 0xed, 0x85, 0xc1, 0xf0, 0x52, 0x72, 0x2d, 0x08, 0xe8, 0x79, 0x30, 0xbc,
0x44, 0xc5, 0xde, 0x0f, 0xcc, 0x22, 0x42, 0xce, 0xb5, 0x14, 0x48, 0x85, 0x3e, 0x80, 0xe6, 0x78,
0x72, 0x3c, 0xf4, 0xfb, 0xa2, 0x48, 0x45, 0xd4, 0x22, 0x20, 0x2a, 0x80, 0x76, 0xa5, 0x58, 0x29,
0x51, 0xa2, 0x4a, 0x25, 0x9a, 0x12, 0xc3, 0x22, 0xce, 0x16, 0x2c, 0xdb, 0x1d, 0x94, 0x02, 0xfd,
0x1e, 0xd4, 0x25, 0xff, 0xc7, 0xd2, 0xb8, 0x9f, 0x37, 0x7c, 0xa0, 0x68, 0x06, 0xe9, 0x7c, 0xe7,
0x5f, 0x57, 0x61, 0x49, 0xa2, 0xdb, 0xc3, 0x30, 0xe6, 0x47, 0x93, 0xd1, 0xc8, 0x8b, 0x0a, 0x04,
0x4b, 0xe9, 0x0a, 0xc1, 0x52, 0xce, 0x0b, 0x96, 0x5b, 0x96, 0x7d, 0x29, 0x24, 0x93, 0x81, 0xb0,
0xbb, 0xb0, 0xd0, 0x1f, 0x86, 0xb1, 0x50, 0xf7, 0x4d, 0x37, 0x5c, 0x16, 0xce, 0x0b, 0xc3, 0x5a,
0x91, 0x30, 0x34, 0x05, 0xd9, 0x4c, 0x46, 0x90, 0x39, 0xd0, 0xc2, 0x4a, 0xb9, 0x92, 0xcd, 0xb3,
0xd2, 0xd8, 0x32, 0x30, 0xec, 0x4f, 0x56, 0x6c, 0x08, 0x19, 0xb5, 0x50, 0x24, 0x34, 0xfc, 0x11,
0x27, 0xd9, 0x6f, 0x94, 0x6e, 0x48, 0xa1, 0x91, 0xcf, 0x62, 0x8f, 0x01, 0x44, 0x5b, 0xa4, 0x80,
0x00, 0x29, 0x20, 0x1f, 0xd9, 0xab, 0x62, 0xce, 0xff, 0x3a, 0x26, 0x26, 0x11, 0x27, 0xa5, 0xc4,
0xf8, 0xd2, 0xf9, 0x1b, 0x25, 0x68, 0x1a, 0x79, 0xec, 0x3a, 0x2c, 0x6e, 0x3f, 0x7f, 0x7e, 0xb8,
0xeb, 0x6e, 0xbe, 0x78, 0xfa, 0xfd, 0xdd, 0xde, 0xf6, 0xfe, 0xf3, 0xa3, 0xdd, 0xf6, 0x35, 0x84,
0xf7, 0x9f, 0x6f, 0x6f, 0xee, 0xf7, 0x1e, 0x3f, 0x77, 0xb7, 0x15, 0x5c, 0x62, 0x2b, 0xc0, 0xdc,
0xdd, 0x67, 0xcf, 0x5f, 0xec, 0x5a, 0x78, 0x99, 0xb5, 0xa1, 0xb5, 0xe5, 0xee, 0x6e, 0x6e, 0xef,
0x49, 0xa4, 0xc2, 0x96, 0xa1, 0xfd, 0xf8, 0xe5, 0xc1, 0xce, 0xd3, 0x83, 0x27, 0xbd, 0xed, 0xcd,
0x83, 0xed, 0xdd, 0xfd, 0xdd, 0x9d, 0x76, 0x95, 0xcd, 0x41, 0x63, 0x73, 0x6b, 0xf3, 0x60, 0xe7,
0xf9, 0xc1, 0xee, 0x4e, 0xbb, 0xe6, 0xfc, 0xd7, 0x12, 0x5c, 0xa7, 0x5e, 0x0f, 0xb2, 0x4c, 0xb2,
0x06, 0xcd, 0x7e, 0x18, 0x8e, 0x51, 0xf1, 0x4f, 0xb7, 0x36, 0x13, 0x42, 0x06, 0x10, 0x42, 0xe1,
0x24, 0x8c, 0xfa, 0x5c, 0xf2, 0x08, 0x10, 0xf4, 0x18, 0x11, 0x64, 0x00, 0xb9, 0xbc, 0xa2, 0x84,
0x60, 0x91, 0xa6, 0xc0, 0x44, 0x91, 0x15, 0x98, 0x39, 0x8e, 0xb8, 0xd7, 0x3f, 0x93, 0xdc, 0x21,
0x53, 0xec, 0xeb, 0xa9, 0x65, 0xda, 0xc7, 0xd9, 0x1f, 0xf2, 0x01, 0x51, 0x4c, 0xdd, 0x5d, 0x90,
0xf8, 0xb6, 0x84, 0x51, 0x0a, 0x7a, 0xc7, 0x5e, 0x30, 0x08, 0x03, 0x3e, 0x90, 0x6a, 0x6f, 0x0a,
0x38, 0x87, 0xb0, 0x92, 0x1d, 0x9f, 0xe4, 0xb1, 0x4f, 0x0d, 0x1e, 0x13, 0x5a, 0x68, 0x77, 0xfa,
0x6a, 0x1a, 0xfc, 0xf6, 0xcb, 0x32, 0x54, 0x51, 0x29, 0x99, 0xae, 0xc0, 0x98, 0x7a, 0x66, 0x25,
0xe7, 0xb3, 0x27, 0x63, 0x57, 0x6c, 0x51, 0xd2, 0xd1, 0x92, 0x22, 0x69, 0x7e, 0xc4, 0xfb, 0xe7,
0xd2, 0xd5, 0x62, 0x20, 0xc8, 0x20, 0x68, 0x04, 0xd0, 0xd7, 0x92, 0x41, 0x54, 0x5a, 0xe5, 0xd1,
0x97, 0xb3, 0x69, 0x1e, 0x7d, 0xd7, 0x81, 0x59, 0x3f, 0x38, 0x0e, 0x27, 0xc1, 0x80, 0x18, 0xa2,
0xee, 0xaa, 0x24, 0x9d, 0x12, 0x10, 0xa3, 0xa2, 0xfc, 0x14, 0xe4, 0x9f, 0x02, 0x6c, 0x03, 0x1a,
0xf1, 0x65, 0xd0, 0x37, 0x69, 0x7e, 0x59, 0xce, 0x12, 0xce, 0xc1, 0xfa, 0xd1, 0x65, 0xd0, 0x27,
0x0a, 0x4f, 0x8b, 0x39, 0xbf, 0x0b, 0x75, 0x05, 0x23, 0x59, 0xbe, 0x3c, 0xf8, 0xfc, 0xe0, 0xf9,
0xab, 0x83, 0xde, 0xd1, 0x0f, 0x0e, 0xb6, 0xdb, 0xd7, 0xd8, 0x02, 0x34, 0x37, 0xb7, 0x89, 0xd2,
0x09, 0x28, 0x61, 0x91, 0xc3, 0xcd, 0xa3, 0x23, 0x8d, 0x94, 0x1d, 0x86, 0x86, 0x7c, 0x4c, 0x9a,
0x9f, 0xf6, 0x82, 0x7f, 0x0a, 0x8b, 0x06, 0x96, 0x5a, 0x11, 0x63, 0x04, 0x32, 0x56, 0x04, 0xa9,
0x8c, 0x22, 0xc7, 0x69, 0xc3, 0xfc, 0x13, 0x9e, 0x3c, 0x0d, 0x4e, 0x42, 0x55, 0xd3, 0xff, 0xac,
0xc2, 0x82, 0x86, 0x64, 0x45, 0x77, 0x61, 0xc1, 0x1f, 0xf0, 0x20, 0xf1, 0x93, 0xcb, 0x9e, 0xe5,
0x2f, 0xc8, 0xc2, 0xa8, 0x6a, 0x7b, 0x43, 0xdf, 0x53, 0x87, 0x31, 0x22, 0x81, 0xf6, 0x33, 0xea,
0x00, 0xa6, 0xdf, 0x86, 0xe8, 0x4a, 0xb8, 0x29, 0x0a, 0xf3, 0x50, 0x02, 0x21, 0x2e, 0xb7, 0x19,
0xfd, 0x89, 0x50, 0x39, 0x8b, 0xb2, 0x70, 0xa9, 0x44, 0x4d, 0x38, 0xe4, 0x9a, 0xd0, 0x13, 0x34,
0x90, 0x3b, 0xed, 0x98, 0x11, 0xf2, 0x31, 0x7b, 0xda, 0x61, 0x9c, 0x98, 0xd4, 0x73, 0x27, 0x26,
0x28, 0x3f, 0x2f, 0x83, 0x3e, 0x1f, 0xf4, 0x92, 0xb0, 0x47, 0x72, 0x9e, 0x48, 0xa2, 0xee, 0x66,
0x61, 0xdc, 0x37, 0x12, 0x1e, 0x27, 0x01, 0x17, 0xae, 0xe9, 0x3a, 0x79, 0x41, 0x15, 0x84, 0xf6,
0xc1, 0x24, 0xf2, 0xe3, 0x4e, 0x8b, 0xce, 0x42, 0xe8, 0x37, 0xfb, 0x36, 0x5c, 0x3f, 0xe6, 0x71,
0xd2, 0x3b, 0xe3, 0xde, 0x80, 0x47, 0x44, 0x5e, 0xe2, 0xd0, 0x45, 0xa8, 0x5c, 0xc5, 0x99, 0x48,
0xb8, 0xe7, 0x3c, 0x8a, 0xfd, 0x30, 0x20, 0x65, 0xab, 0xe1, 0xaa, 0x24, 0xd6, 0x87, 0x83, 0xd7,
0x1b, 0xb5, 0x9e, 0xc1, 0x05, 0x1a, 0x78, 0x71, 0x26, 0xbb, 0x0d, 0x33, 0x34, 0x80, 0xb8, 0xd3,
0x26, 0x9a, 0x69, 0xa5, 0x3c, 0xef, 0x07, 0xae, 0xcc, 0xc3, 0x55, 0xee, 0x87, 0xc3, 0x30, 0x22,
0x8d, 0xab, 0xe1, 0x8a, 0x84, 0x3d, 0x3b, 0xa7, 0x91, 0x37, 0x3e, 0x93, 0x5a, 0x57, 0x16, 0xfe,
0x6e, 0xb5, 0xde, 0x6c, 0xb7, 0x9c, 0xff, 0x0f, 0x6a, 0x54, 0x2d, 0x55, 0x47, 0x93, 0x59, 0x92,
0xd5, 0x11, 0xda, 0x81, 0xd9, 0x80, 0x27, 0x17, 0x61, 0xf4, 0x5a, 0x9d, 0xec, 0xc9, 0xa4, 0xf3,
0x33, 0xb2, 0xd0, 0xf4, 0x49, 0xd7, 0x4b, 0x52, 0x2d, 0xd1, 0xce, 0x16, 0x4b, 0x15, 0x9f, 0x79,
0xd2, 0x68, 0xac, 0x13, 0x70, 0x74, 0xe6, 0xa1, 0xac, 0xb5, 0x56, 0x5f, 0xd8, 0xe1, 0x4d, 0xc2,
0xf6, 0xc4, 0xe2, 0xdf, 0x86, 0x79, 0x75, 0x86, 0x16, 0xf7, 0x86, 0xfc, 0x24, 0x51, 0x5e, 0xb4,
0x60, 0x32, 0x22, 0x63, 0x7d, 0x9f, 0x9f, 0x24, 0xce, 0x01, 0x2c, 0x4a, 0xf9, 0xf7, 0x7c, 0xcc,
0x55, 0xd3, 0xbf, 0x5d, 0xa4, 0x4b, 0x34, 0x37, 0x96, 0x6c, 0x81, 0x29, 0x4e, 0x0d, 0xed, 0x92,
0x8e, 0x0b, 0xcc, 0x94, 0xa7, 0xb2, 0x42, 0xb9, 0x99, 0x2b, 0x3f, 0xa1, 0x1c, 0x8e, 0x85, 0xe1,
0xfc, 0xc4, 0x93, 0x7e, 0x5f, 0x9d, 0x7c, 0xd6, 0x5d, 0x95, 0x74, 0xfe, 0xa8, 0x04, 0x4b, 0x54,
0x9b, 0xd2, 0x86, 0xe4, 0x9e, 0xf5, 0xf0, 0x2b, 0x74, 0x53, 0x79, 0x69, 0x85, 0x6f, 0x72, 0x19,
0x6a, 0xe6, 0x2e, 0x26, 0x12, 0x5f, 0xdd, 0x27, 0x53, 0xcd, 0xfa, 0x64, 0x9c, 0xbf, 0x5b, 0x82,
0x45, 0xb1, 0x91, 0x90, 0xb6, 0x2d, 0x87, 0xff, 0xff, 0xc3, 0x9c, 0xd0, 0x08, 0xa4, 0x54, 0x90,
0x1d, 0x4d, 0x45, 0x2b, 0xa1, 0xa2, 0xf0, 0xde, 0x35, 0xd7, 0x2e, 0xcc, 0x1e, 0x91, 0x56, 0x16,
0xf4, 0x08, 0x2d, 0x38, 0x23, 0xb7, 0xe7, 0x7a, 0xef, 0x9a, 0x6b, 0x14, 0xdf, 0xaa, 0xa3, 0xb2,
0x8c, 0xb8, 0xf3, 0x04, 0xe6, 0xac, 0x86, 0x2c, 0x7f, 0x50, 0x4b, 0xf8, 0x83, 0x72, 0x8e, 0xd7,
0x72, 0x81, 0xe3, 0xf5, 0x5f, 0x54, 0x80, 0x21, 0xb1, 0x64, 0x56, 0x63, 0xcd, 0x3e, 0xbd, 0x50,
0xc7, 0xe5, 0x29, 0xc4, 0x36, 0x80, 0x19, 0x49, 0x75, 0xaa, 0x52, 0xd1, 0xa7, 0x2a, 0x05, 0xb9,
0x28, 0x6a, 0xa5, 0xd6, 0xa1, 0x4f, 0x2c, 0xc8, 0xd6, 0x17, 0x53, 0x5f, 0x98, 0x87, 0x3b, 0x23,
0x1d, 0x5f, 0xa0, 0x55, 0x22, 0xed, 0x63, 0x95, 0xce, 0xae, 0xf1, 0xcc, 0x95, 0x6b, 0x3c, 0x9b,
0xf3, 0xbb, 0x19, 0x16, 0x5a, 0xdd, 0xb6, 0xd0, 0x6e, 0xc3, 0x9c, 0x3a, 0xa5, 0xe8, 0x8d, 0xb0,
0x75, 0x69, 0x0e, 0x5b, 0x20, 0xbb, 0x07, 0x6d, 0x65, 0x24, 0x69, 0x33, 0x50, 0x9c, 0xf7, 0xe5,
0x70, 0xdc, 0x03, 0x52, 0x4f, 0x5c, 0x93, 0x3a, 0x9b, 0x02, 0x64, 0x53, 0x21, 0x95, 0xf4, 0x26,
0x81, 0x3c, 0x2a, 0xe7, 0x03, 0x32, 0x84, 0xd1, 0xa6, 0xca, 0x66, 0x38, 0x7f, 0xab, 0x04, 0x6d,
0x5c, 0x37, 0x8b, 0x34, 0x3f, 0x03, 0xe2, 0x8c, 0x77, 0xa4, 0x4c, 0xab, 0x2c, 0x7b, 0x08, 0x0d,
0x4a, 0x87, 0x63, 0x1e, 0x48, 0xba, 0xec, 0xd8, 0x74, 0x99, 0xca, 0x94, 0xbd, 0x6b, 0x6e, 0x5a,
0xd8, 0xa0, 0xca, 0xff, 0x58, 0x82, 0xa6, 0x6c, 0xe5, 0x57, 0xf6, 0xf4, 0x74, 0x8d, 0xd8, 0x06,
0xa1, 0x80, 0xa5, 0xa1, 0x0c, 0x77, 0x61, 0x61, 0xe4, 0x25, 0x93, 0x08, 0xf7, 0x74, 0xcb, 0xcb,
0x93, 0x85, 0x71, 0x83, 0x26, 0xf1, 0x19, 0xf7, 0x12, 0x7f, 0xd8, 0x53, 0xb9, 0x32, 0x8a, 0xa0,
0x28, 0x0b, 0xa5, 0x48, 0x9c, 0x78, 0xa7, 0x5c, 0xee, 0xbd, 0x22, 0xe1, 0x74, 0x60, 0xe5, 0x30,
0x3d, 0xb9, 0x31, 0x74, 0x6c, 0xe7, 0x9f, 0xcd, 0xc1, 0x6a, 0x2e, 0x4b, 0xc7, 0x3c, 0x49, 0xd7,
0xc5, 0xd0, 0x1f, 0x1d, 0x87, 0xda, 0x40, 0x29, 0x99, 0x5e, 0x0d, 0x2b, 0x8b, 0x9d, 0xc2, 0x75,
0xa5, 0x64, 0xe0, 0x9c, 0xa6, 0x1b, 0x62, 0x99, 0x76, 0xba, 0x4f, 0xec, 0x25, 0xcc, 0x36, 0xa8,
0x70, 0x93, 0x91, 0x8b, 0xeb, 0x63, 0x67, 0xd0, 0xd1, 0xda, 0x8c, 0x14, 0xd8, 0x86, 0xc6, 0x83,
0x6d, 0x7d, 0x7c, 0x45, 0x5b, 0x96, 0x4a, 0xee, 0x4e, 0xad, 0x8d, 0x5d, 0xc2, 0x2d, 0x95, 0x47,
0x12, 0x39, 0xdf, 0x5e, 0xf5, 0x9d, 0xc6, 0x46, 0xc6, 0x86, 0xdd, 0xe8, 0x15, 0x15, 0xb3, 0x9f,
0xc0, 0xca, 0x85, 0xe7, 0x27, 0xaa, 0x5b, 0x86, 0x7e, 0x51, 0xa3, 0x26, 0x37, 0xae, 0x68, 0xf2,
0x95, 0xf8, 0xd8, 0xda, 0xa6, 0xa6, 0xd4, 0xd8, 0xfd, 0x93, 0x32, 0xcc, 0xdb, 0xf5, 0x20, 0x99,
0x4a, 0xde, 0x57, 0x32, 0x50, 0x69, 0xa4, 0x19, 0x38, 0x6f, 0xe7, 0x97, 0x8b, 0xec, 0x7c, 0xd3,
0xb2, 0xae, 0x5c, 0xe5, 0x22, 0xac, 0xbe, 0x9b, 0x8b, 0xb0, 0x56, 0xe8, 0x22, 0x9c, 0xee, 0x49,
0x9a, 0xf9, 0x55, 0x3d, 0x49, 0xb3, 0x6f, 0xf5, 0x24, 0x75, 0xff, 0xac, 0x04, 0x2c, 0x4f, 0xbd,
0xec, 0x89, 0x70, 0x6d, 0x04, 0x7c, 0x28, 0x85, 0xd8, 0x37, 0xdf, 0x8d, 0x03, 0xd4, 0x6a, 0xa9,
0xaf, 0x91, 0x15, 0xcd, 0xc0, 0x23, 0x53, 0xc5, 0x9a, 0x73, 0x8b, 0xb2, 0x32, 0x6e, 0xd2, 0xea,
0xd5, 0x6e, 0xd2, 0xda, 0xd5, 0x6e, 0xd2, 0x99, 0xac, 0x9b, 0xb4, 0xfb, 0x57, 0x4b, 0xb0, 0x54,
0x40, 0x66, 0xbf, 0xb9, 0x81, 0x23, 0x61, 0x58, 0xd2, 0xa7, 0x2c, 0x09, 0xc3, 0x04, 0xbb, 0x7f,
0x11, 0xe6, 0x2c, 0xd6, 0xfa, 0xcd, 0xb5, 0x9f, 0xd5, 0x12, 0x05, 0x65, 0x5b, 0x58, 0xf7, 0x7f,
0x95, 0x81, 0xe5, 0xd9, 0xfb, 0xff, 0x69, 0x1f, 0xf2, 0xf3, 0x54, 0x29, 0x98, 0xa7, 0xff, 0xab,
0x3b, 0xcf, 0xc7, 0xb0, 0x28, 0xa3, 0x29, 0x0d, 0x67, 0x96, 0xa0, 0x98, 0x7c, 0x06, 0xea, 0xc9,
0xb6, 0x8f, 0xba, 0x6e, 0x45, 0x8f, 0x19, 0xdb, 0x6f, 0xc6, 0x55, 0xed, 0x74, 0xa1, 0x23, 0x67,
0x68, 0xf7, 0x9c, 0x07, 0xc9, 0xd1, 0xe4, 0x58, 0x84, 0x13, 0xfa, 0x61, 0x40, 0x6a, 0xa0, 0x99,
0x29, 0x15, 0x8a, 0x6f, 0x43, 0xcb, 0xdc, 0x3e, 0xe4, 0x72, 0x64, 0xfc, 0x99, 0xa8, 0x4a, 0x98,
0xa5, 0xd8, 0x0e, 0xcc, 0x93, 0x90, 0x1c, 0xe8, 0xef, 0xca, 0xf4, 0xdd, 0x5b, 0x7c, 0x34, 0x7b,
0xd7, 0xdc, 0xcc, 0x37, 0xec, 0x77, 0x60, 0xde, 0x36, 0x00, 0xa5, 0x56, 0x52, 0x64, 0x11, 0xe0,
0xe7, 0x76, 0x61, 0xb6, 0x09, 0xed, 0xac, 0x05, 0x29, 0xa3, 0x79, 0xa6, 0x54, 0x90, 0x2b, 0xce,
0x1e, 0xca, 0x03, 0xcb, 0x1a, 0xf9, 0x4e, 0x6e, 0xdb, 0x9f, 0x19, 0xd3, 0xb4, 0x2e, 0xfe, 0x18,
0x47, 0x98, 0xbf, 0x07, 0x90, 0x62, 0xac, 0x0d, 0xad, 0xe7, 0x87, 0xbb, 0x07, 0xbd, 0xed, 0xbd,
0xcd, 0x83, 0x83, 0xdd, 0xfd, 0xf6, 0x35, 0xc6, 0x60, 0x9e, 0x5c, 0x7d, 0x3b, 0x1a, 0x2b, 0x21,
0x26, 0x9d, 0x2b, 0x0a, 0x2b, 0xb3, 0x65, 0x68, 0x3f, 0x3d, 0xc8, 0xa0, 0x95, 0xad, 0x86, 0xe6,
0x0f, 0x67, 0x05, 0x96, 0x45, 0xb4, 0xec, 0x96, 0x20, 0x0f, 0xa5, 0x9d, 0xfc, 0xc3, 0x12, 0x5c,
0xcf, 0x64, 0xa4, 0x21, 0x5f, 0x42, 0x01, 0xb1, 0xb5, 0x12, 0x1b, 0xa4, 0x03, 0x08, 0xa5, 0x6b,
0x66, 0x24, 0x48, 0x3e, 0x03, 0x69, 0xde, 0xd0, 0x4d, 0x33, 0x9c, 0x54, 0x94, 0xe5, 0xac, 0xea,
0xc8, 0x9a, 0x4c, 0xc7, 0x4f, 0x44, 0x14, 0xae, 0x99, 0x91, 0x1e, 0x00, 0xdb, 0x5d, 0x56, 0x49,
0x34, 0x2b, 0x2c, 0x65, 0xc7, 0xee, 0x6f, 0x61, 0x9e, 0xf3, 0x4f, 0x2a, 0xc0, 0xbe, 0x37, 0xe1,
0xd1, 0x25, 0xc5, 0x74, 0x69, 0xcf, 0xe9, 0x6a, 0xd6, 0x2f, 0x38, 0x33, 0x9e, 0x1c, 0x7f, 0xce,
0x2f, 0x55, 0xa4, 0x63, 0x39, 0x8d, 0x74, 0x2c, 0x8a, 0x34, 0xac, 0x5e, 0x1d, 0x69, 0x58, 0xbb,
0x2a, 0xd2, 0xf0, 0x6b, 0x30, 0xe7, 0x9f, 0x06, 0x21, 0xf2, 0x3c, 0xea, 0x09, 0x71, 0x67, 0x66,
0xad, 0x82, 0xf6, 0xb5, 0x04, 0x0f, 0x10, 0x63, 0x8f, 0xd2, 0x42, 0x7c, 0x70, 0x4a, 0xd1, 0xad,
0xa6, 0x14, 0xd8, 0x1d, 0x9c, 0xf2, 0xfd, 0xb0, 0xef, 0x25, 0x61, 0x44, 0xc6, 0x98, 0xfa, 0x18,
0xf1, 0x98, 0xdd, 0x86, 0xf9, 0x38, 0x9c, 0xa0, 0xe6, 0xa4, 0xc6, 0x2a, 0xbc, 0x49, 0x2d, 0x81,
0x1e, 0x8a, 0x11, 0xaf, 0xc3, 0xd2, 0x24, 0xe6, 0xbd, 0x91, 0x1f, 0xc7, 0xb8, 0x3b, 0xf6, 0xc3,
0x20, 0x89, 0xc2, 0xa1, 0xf4, 0x29, 0x2d, 0x4e, 0x62, 0xfe, 0x4c, 0xe4, 0x6c, 0x8b, 0x0c, 0xf6,
0xed, 0xb4, 0x4b, 0x63, 0xcf, 0x8f, 0xe2, 0x0e, 0x50, 0x97, 0xd4, 0x48, 0xb1, 0xdf, 0x87, 0x9e,
0x1f, 0xe9, 0xbe, 0x60, 0x22, 0xce, 0x44, 0x4a, 0x36, 0x33, 0x91, 0x92, 0x32, 0xc8, 0x6e, 0x1d,
0xea, 0xea, 0x73, 0x34, 0x74, 0x4f, 0xa2, 0x70, 0xa4, 0x0c, 0x5d, 0xfc, 0xcd, 0xe6, 0xa1, 0x9c,
0x84, 0xd2, 0x48, 0x2d, 0x27, 0xa1, 0xf3, 0xfb, 0xd0, 0x34, 0x66, 0x80, 0x7d, 0x28, 0x6c, 0x6e,
0x54, 0xa8, 0xa4, 0x85, 0x2c, 0x8e, 0x4a, 0x1a, 0x12, 0x7d, 0x3a, 0x60, 0xdf, 0x80, 0xc5, 0x81,
0x1f, 0x71, 0x0a, 0xb4, 0xed, 0x45, 0xfc, 0x9c, 0x47, 0xb1, 0xf2, 0x27, 0xb4, 0x75, 0x86, 0x2b,
0x70, 0xa7, 0x07, 0x4b, 0x16, 0xe9, 0x68, 0xce, 0x9a, 0xa1, 0xc8, 0x40, 0xe5, 0xd2, 0xb4, 0xa3,
0x06, 0x65, 0x1e, 0xee, 0x49, 0xd2, 0x15, 0xd2, 0x1b, 0x47, 0xe1, 0x31, 0x35, 0x52, 0x72, 0x2d,
0xcc, 0xf9, 0x65, 0x19, 0x2a, 0x7b, 0xe1, 0xd8, 0x3c, 0xe0, 0x29, 0xe5, 0x0f, 0x78, 0xa4, 0xf2,
0xd8, 0xd3, 0xba, 0xa1, 0xdc, 0xe1, 0x2d, 0x90, 0xdd, 0x83, 0x79, 0x6f, 0x94, 0xf4, 0x92, 0x10,
0x95, 0xe5, 0x0b, 0x2f, 0x12, 0x61, 0x84, 0x15, 0x22, 0x8b, 0x4c, 0x0e, 0x5b, 0x86, 0x8a, 0xd6,
0x79, 0xa8, 0x00, 0x26, 0xd1, 0x52, 0xa3, 0x43, 0xf4, 0x4b, 0xe9, 0xb7, 0x94, 0x29, 0xe4, 0x7a,
0xfb, 0x7b, 0x61, 0x26, 0x8b, 0x9d, 0xab, 0x28, 0x0b, 0x15, 0x59, 0x64, 0x84, 0x51, 0xaa, 0x17,
0xea, 0xb4, 0xe9, 0x91, 0xaf, 0xdb, 0x1e, 0xf9, 0x35, 0x68, 0x26, 0xc3, 0xf3, 0xde, 0xd8, 0xbb,
0x1c, 0x86, 0xde, 0x40, 0x12, 0xa0, 0x09, 0xb1, 0x07, 0x00, 0xa3, 0xf1, 0xb8, 0x87, 0x9b, 0x65,
0x34, 0x20, 0xf3, 0xbb, 0xb9, 0xd1, 0x96, 0xb3, 0xff, 0xec, 0xf0, 0xd0, 0x25, 0xdc, 0x35, 0xca,
0x38, 0xaf, 0xa0, 0xa1, 0x33, 0xcc, 0xf8, 0x53, 0x0a, 0xa3, 0x68, 0xda, 0xf1, 0xa7, 0x14, 0x35,
0xf1, 0x11, 0xcc, 0x0b, 0x09, 0x89, 0xe3, 0xa2, 0x01, 0x88, 0xa3, 0xef, 0x0c, 0xea, 0xfc, 0x69,
0x09, 0x6a, 0xb4, 0xe0, 0xa8, 0x32, 0x88, 0x3c, 0x7d, 0x20, 0x45, 0x8b, 0x38, 0xe7, 0x66, 0x61,
0xe6, 0x58, 0x71, 0xea, 0x65, 0x3d, 0xfb, 0x66, 0xac, 0xfa, 0x1a, 0x34, 0x74, 0x4b, 0xc6, 0x0a,
0xa6, 0x20, 0xbb, 0x05, 0xd5, 0xb3, 0x70, 0xac, 0xac, 0x2a, 0x50, 0x67, 0xd6, 0xe1, 0xd8, 0x25,
0x3c, 0xed, 0x0f, 0xd6, 0x27, 0x86, 0x20, 0x34, 0xd7, 0x2c, 0x5c, 0x30, 0xd6, 0x99, 0xc2, 0xb1,
0xbe, 0x84, 0x05, 0x64, 0x4b, 0xc3, 0x41, 0x3f, 0x5d, 0x7e, 0x7e, 0x1d, 0xb7, 0xe3, 0xfe, 0x70,
0x32, 0xe0, 0xa6, 0x6d, 0x4b, 0x0e, 0x58, 0x89, 0x2b, 0xad, 0xce, 0xf9, 0xe7, 0x25, 0xc1, 0xee,
0x58, 0x2f, 0xbb, 0x0b, 0x55, 0x94, 0x82, 0x19, 0x57, 0x86, 0x0e, 0x6d, 0xc1, 0x72, 0x2e, 0x95,
0xc0, 0x55, 0x24, 0x17, 0xa9, 0x59, 0xbb, 0x70, 0x90, 0xa6, 0x86, 0xa1, 0x1e, 0x59, 0xc6, 0x9e,
0xca, 0xa0, 0x6c, 0xdd, 0x38, 0x5f, 0xaa, 0x5a, 0x92, 0x55, 0xed, 0xfe, 0x83, 0x53, 0x6e, 0x9c,
0x2b, 0xfd, 0x71, 0x09, 0xe6, 0xac, 0x3e, 0x21, 0xd1, 0x0e, 0xbd, 0x38, 0x91, 0xa1, 0x05, 0x72,
0xe5, 0x4d, 0xc8, 0x24, 0xf8, 0xb2, 0x4d, 0xf0, 0xfa, 0x9c, 0xa2, 0x62, 0x9e, 0x53, 0x3c, 0x80,
0x46, 0x7a, 0x51, 0xc1, 0xee, 0x14, 0xb6, 0xa8, 0x82, 0x7c, 0xd2, 0x42, 0xa9, 0x27, 0xbc, 0x66,
0x78, 0xc2, 0x9d, 0x47, 0xd0, 0x34, 0xca, 0x9b, 0x9e, 0xec, 0x92, 0xe5, 0xc9, 0xd6, 0x11, 0x70,
0xe5, 0x34, 0x02, 0xce, 0xf9, 0x79, 0x19, 0xe6, 0x90, 0xbc, 0xfd, 0xe0, 0xf4, 0x30, 0x1c, 0xfa,
0xfd, 0x4b, 0x22, 0x2b, 0x45, 0xc9, 0x72, 0x17, 0x54, 0x64, 0x6e, 0xc3, 0xc8, 0xfd, 0x3a, 0xec,
0x57, 0x88, 0x2a, 0x9d, 0x46, 0x59, 0x86, 0x92, 0xe0, 0xd8, 0x8b, 0xa5, 0x78, 0x90, 0x5a, 0xb8,
0x05, 0xa2, 0xc4, 0x41, 0x80, 0xe2, 0x19, 0x47, 0xfe, 0x70, 0xe8, 0x8b, 0xb2, 0xc2, 0x46, 0x2b,
0xca, 0xc2, 0x36, 0x07, 0x7e, 0xec, 0x1d, 0xa7, 0x67, 0x90, 0x3a, 0x4d, 0x0e, 0x3e, 0xef, 0x8d,
0xe1, 0xe0, 0x13, 0x01, 0xd0, 0x36, 0x98, 0x5d, 0xc8, 0xd9, 0xdc, 0x42, 0x3a, 0xff, 0xb6, 0x0c,
0x4d, 0x83, 0x2c, 0x90, 0x9d, 0x0b, 0xb7, 0x1b, 0x03, 0x95, 0x87, 0xf3, 0x81, 0x65, 0xf5, 0x1b,
0x08, 0xbb, 0x6d, 0xb7, 0x4a, 0xce, 0x7e, 0x62, 0x78, 0x8b, 0x84, 0x6e, 0x42, 0x03, 0x49, 0xff,
0x13, 0x72, 0x31, 0xc8, 0x5b, 0x42, 0x1a, 0x50, 0xb9, 0x1b, 0x94, 0x5b, 0x4b, 0x73, 0x09, 0x78,
0xeb, 0x71, 0xfd, 0x43, 0x68, 0xc9, 0x6a, 0x68, 0x8d, 0x69, 0xd0, 0x29, 0xf3, 0x59, 0xeb, 0xef,
0x5a, 0x25, 0xd5, 0x97, 0x1b, 0xea, 0xcb, 0xfa, 0x55, 0x5f, 0xaa, 0x92, 0xce, 0x13, 0x1d, 0x09,
0xf1, 0x24, 0xf2, 0xc6, 0x67, 0x4a, 0xa0, 0x3c, 0x80, 0x25, 0x25, 0x37, 0x26, 0x81, 0x17, 0x04,
0xe1, 0x24, 0xe8, 0x73, 0x15, 0x2c, 0x57, 0x94, 0xe5, 0x0c, 0x74, 0x68, 0x35, 0x55, 0xc4, 0xee,
0x41, 0x4d, 0xe8, 0x51, 0x62, 0x57, 0x2e, 0x16, 0x21, 0xa2, 0x08, 0xbb, 0x0b, 0x35, 0xa1, 0x4e,
0x95, 0xa7, 0x32, 0xbd, 0x28, 0xe0, 0xac, 0xc3, 0x02, 0xc5, 0x72, 0x1b, 0xb2, 0xef, 0xbd, 0xa2,
0xdd, 0x7a, 0xa6, 0x2f, 0x22, 0xbe, 0x97, 0x81, 0x1d, 0x08, 0xbe, 0x32, 0xcf, 0x33, 0xff, 0xb4,
0x02, 0x4d, 0x03, 0x46, 0xf9, 0x44, 0x87, 0x50, 0xbd, 0x81, 0xef, 0x8d, 0x78, 0xc2, 0x23, 0xc9,
0x4b, 0x19, 0x14, 0xcb, 0x79, 0xe7, 0xa7, 0xbd, 0x70, 0x92, 0xf4, 0x06, 0xfc, 0x34, 0xe2, 0x5c,
0xaa, 0x11, 0x19, 0x14, 0xcb, 0x21, 0x35, 0x1b, 0xe5, 0xc4, 0xb1, 0x51, 0x06, 0x55, 0xa7, 0x93,
0x62, 0x9e, 0xaa, 0xe9, 0xe9, 0xa4, 0x98, 0x95, 0xac, 0x64, 0xad, 0x15, 0x48, 0xd6, 0x4f, 0x61,
0x45, 0xc8, 0x50, 0x29, 0x3d, 0x7a, 0x19, 0xe2, 0x9a, 0x92, 0xcb, 0xee, 0x41, 0x1b, 0xfb, 0xac,
0x58, 0x23, 0xf6, 0x7f, 0x26, 0x78, 0xac, 0xe4, 0xe6, 0x70, 0x2c, 0x4b, 0xee, 0x72, 0xb3, 0xac,
0x08, 0x11, 0xc9, 0xe1, 0x54, 0xd6, 0x7b, 0x63, 0x97, 0x6d, 0xc8, 0xb2, 0x19, 0x9c, 0x3d, 0x84,
0xd5, 0x11, 0x1f, 0xf8, 0x9e, 0x5d, 0x45, 0x2f, 0xdd, 0xe4, 0xa7, 0x65, 0x63, 0x2b, 0x38, 0x0b,
0x3f, 0x0b, 0x47, 0xc7, 0xbe, 0xd8, 0xd8, 0x84, 0x63, 0xbf, 0xea, 0xe6, 0x70, 0x67, 0x0e, 0x9a,
0x47, 0x49, 0x38, 0x56, 0x4b, 0x3f, 0x0f, 0x2d, 0x91, 0x94, 0xe1, 0x91, 0xef, 0xc1, 0x0d, 0xa2,
0xd7, 0x17, 0xe1, 0x38, 0x1c, 0x86, 0xa7, 0x97, 0x96, 0x79, 0xfe, 0x1f, 0x4a, 0xb0, 0x64, 0xe5,
0xa6, 0xf6, 0x39, 0xf9, 0x12, 0x55, 0x4c, 0x9b, 0x20, 0xf1, 0x45, 0x63, 0x5b, 0x10, 0x05, 0xc5,
0xd1, 0xcd, 0x4b, 0x19, 0xe6, 0xb6, 0x99, 0x5e, 0xd4, 0x50, 0x1f, 0x0a, 0x7a, 0xef, 0xe4, 0xe9,
0x5d, 0x7e, 0xaf, 0xae, 0x70, 0xa8, 0x2a, 0x7e, 0x47, 0x06, 0xf4, 0x0c, 0xe4, 0xa0, 0x2b, 0x76,
0x10, 0x86, 0xe9, 0xce, 0x51, 0x3d, 0xe8, 0x6b, 0x30, 0x76, 0x7e, 0x51, 0x02, 0x48, 0x7b, 0x47,
0x61, 0x20, 0x7a, 0x6b, 0x13, 0x17, 0x83, 0x8d, 0x6d, 0xec, 0x43, 0x68, 0xe9, 0x93, 0xfc, 0x74,
0xb7, 0x6c, 0x2a, 0x0c, 0xb5, 0x8b, 0x3b, 0xb0, 0x70, 0x3a, 0x0c, 0x8f, 0x49, 0x8b, 0xa1, 0x78,
0xdb, 0x58, 0x06, 0x89, 0xce, 0x0b, 0xf8, 0xb1, 0x44, 0xd3, 0xad, 0xb5, 0x6a, 0x6e, 0xad, 0xc5,
0x1b, 0xe5, 0xcf, 0xcb, 0xfa, 0x38, 0x35, 0x9d, 0x89, 0xb7, 0x72, 0x39, 0xdb, 0xc8, 0x89, 0xf5,
0x29, 0x27, 0x98, 0x64, 0x7a, 0x1c, 0x5e, 0xe9, 0xdd, 0x7d, 0x04, 0xf3, 0x91, 0x90, 0x99, 0x4a,
0xa0, 0x56, 0xdf, 0x22, 0x50, 0xe7, 0x22, 0x6b, 0x67, 0xfe, 0x3a, 0xb4, 0xbd, 0xc1, 0x39, 0x8f,
0x12, 0x9f, 0xbc, 0x5d, 0xa4, 0x46, 0x89, 0x01, 0x2e, 0x18, 0x38, 0x69, 0x2b, 0x77, 0x60, 0x41,
0x86, 0xec, 0xea, 0x92, 0xf2, 0x7a, 0x5d, 0x0a, 0x63, 0x41, 0xe7, 0x1f, 0xab, 0xd3, 0x5b, 0x7b,
0x75, 0xdf, 0x3e, 0x2b, 0xe6, 0x08, 0xcb, 0x99, 0x11, 0x7e, 0x4d, 0x9e, 0xa6, 0x0e, 0x94, 0x5b,
0xad, 0x62, 0x84, 0x86, 0x0d, 0xe4, 0xe9, 0xb7, 0x3d, 0xad, 0xd5, 0x77, 0x99, 0x56, 0xe7, 0x3f,
0x97, 0x60, 0x76, 0x2f, 0x1c, 0xef, 0xe1, 0x14, 0xa3, 0x8e, 0x83, 0x6c, 0xa2, 0xe3, 0xe5, 0x55,
0xf2, 0x8a, 0x10, 0xba, 0x42, 0xad, 0x64, 0x2e, 0xab, 0x95, 0xfc, 0x79, 0x78, 0x8f, 0x1c, 0xbb,
0x51, 0x38, 0x0e, 0x23, 0x64, 0x57, 0x6f, 0x28, 0x54, 0x90, 0x30, 0x48, 0xce, 0x94, 0x38, 0x7d,
0x5b, 0x11, 0xf2, 0xb6, 0xa0, 0x11, 0x2c, 0x0c, 0x2b, 0xa9, 0x45, 0x09, 0x29, 0x9b, 0xcf, 0x70,
0x7e, 0x1b, 0x1a, 0x64, 0x61, 0xd0, 0xd0, 0x3e, 0x86, 0xc6, 0x59, 0x38, 0xee, 0x9d, 0xf9, 0x41,
0xa2, 0xd8, 0x7f, 0x3e, 0x55, 0xfd, 0xf7, 0x68, 0x52, 0x74, 0x01, 0xe7, 0xdf, 0xcc, 0xc0, 0xec,
0xd3, 0xe0, 0x3c, 0xf4, 0xfb, 0x74, 0x62, 0x3c, 0xe2, 0xa3, 0x50, 0xdd, 0x20, 0xc0, 0xdf, 0x38,
0x1d, 0x14, 0x2e, 0x3b, 0x16, 0xc4, 0xdb, 0x12, 0x91, 0x21, 0x12, 0xa2, 0x7b, 0xb0, 0xe9, 0x0d,
0x40, 0xc1, 0x60, 0x06, 0x82, 0x86, 0x62, 0x64, 0xde, 0xe0, 0x93, 0xa9, 0xf4, 0x86, 0x46, 0xcd,
0xb8, 0xa1, 0x81, 0x6d, 0xc9, 0xc0, 0x3e, 0x11, 0xf9, 0x25, 0xda, 0x92, 0x10, 0x19, 0xb7, 0x11,
0x17, 0x8e, 0x79, 0xad, 0x78, 0xa1, 0x71, 0x6b, 0x82, 0xa8, 0x9c, 0x89, 0x0f, 0x44, 0x19, 0xb1,
0x19, 0x98, 0x10, 0xaa, 0xa7, 0xd9, 0x8b, 0xa3, 0xe2, 0x02, 0x6f, 0x16, 0x46, 0x59, 0x3e, 0xe0,
0x5a, 0xe4, 0x8a, 0x71, 0x80, 0xb8, 0xe5, 0x98, 0xc5, 0x0d, 0x93, 0x58, 0x44, 0x36, 0x2b, 0x93,
0x18, 0x09, 0xc6, 0x1b, 0x0e, 0x8f, 0xbd, 0xfe, 0x6b, 0x61, 0x4a, 0xb6, 0xc4, 0x79, 0x8e, 0x05,
0x52, 0x78, 0x5e, 0xba, 0xaa, 0x14, 0x43, 0x53, 0x75, 0x4d, 0x88, 0x6d, 0x40, 0x93, 0xdc, 0x05,
0x72, 0x5d, 0xe7, 0x69, 0x5d, 0xdb, 0xa6, 0x3f, 0x81, 0x56, 0xd6, 0x2c, 0x64, 0x9e, 0x64, 0x2f,
0xe4, 0x62, 0x8d, 0xbd, 0xc1, 0x40, 0x06, 0x01, 0xb4, 0xc5, 0x2d, 0x3f, 0x0d, 0x90, 0x43, 0x42,
0x4c, 0x98, 0x28, 0xb0, 0x48, 0x05, 0x2c, 0x8c, 0xdd, 0x82, 0x3a, 0x5a, 0x7d, 0x63, 0xcf, 0x1f,
0x50, 0xd8, 0x8c, 0x30, 0x3e, 0x35, 0x86, 0x75, 0xa8, 0xdf, 0xb4, 0x6d, 0x2e, 0xd1, 0xac, 0x58,
0x18, 0xce, 0x8d, 0x4e, 0x8f, 0xd2, 0xe0, 0x64, 0x1b, 0x64, 0x9f, 0xd0, 0x31, 0x6c, 0xc2, 0x29,
0x02, 0x79, 0x7e, 0xe3, 0x3d, 0x39, 0x66, 0x49, 0xb4, 0xea, 0xef, 0x11, 0x16, 0x71, 0x45, 0x49,
0x54, 0xda, 0x84, 0x27, 0x7c, 0xc5, 0x52, 0xda, 0x64, 0x51, 0xf2, 0x84, 0x8b, 0x02, 0xce, 0x26,
0xb4, 0xcc, 0x0a, 0x58, 0x1d, 0xaa, 0xcf, 0x0f, 0x77, 0x0f, 0xda, 0xd7, 0x58, 0x13, 0x66, 0x8f,
0x76, 0x5f, 0xbc, 0xd8, 0xdf, 0xdd, 0x69, 0x97, 0x58, 0x0b, 0xea, 0x3a, 0xea, 0xb2, 0x8c, 0xa9,
0xcd, 0xed, 0xed, 0xdd, 0xc3, 0x17, 0xbb, 0x3b, 0xed, 0x8a, 0xf3, 0x47, 0x65, 0x68, 0x1a, 0x35,
0x5f, 0xe1, 0xa2, 0xb9, 0x05, 0x40, 0x96, 0x44, 0x1a, 0x7f, 0x51, 0x75, 0x0d, 0x04, 0x25, 0xa3,
0xb6, 0xb1, 0x2b, 0xe2, 0xb2, 0xa3, 0x4a, 0xd3, 0x7c, 0xd1, 0xad, 0x42, 0xf3, 0xc0, 0xa1, 0xe6,
0xda, 0x20, 0xd2, 0x92, 0x04, 0x28, 0x08, 0x50, 0x70, 0x98, 0x09, 0xe1, 0xda, 0x44, 0x3c, 0x0e,
0x87, 0xe7, 0x5c, 0x14, 0x11, 0xfa, 0x98, 0x85, 0x61, 0x5b, 0x52, 0xc4, 0x18, 0x01, 0xba, 0x35,
0xd7, 0x06, 0xd9, 0x37, 0xd5, 0xda, 0xd4, 0x69, 0x6d, 0x56, 0xf3, 0x13, 0x6d, 0xae, 0x8b, 0x93,
0x00, 0xdb, 0x1c, 0x0c, 0x64, 0xae, 0x79, 0x75, 0x32, 0x32, 0xef, 0xea, 0x2a, 0x21, 0x51, 0xc0,
0xa8, 0xe5, 0x62, 0x46, 0x7d, 0x2b, 0x39, 0x3b, 0x4f, 0xa1, 0x79, 0x68, 0xdc, 0xfe, 0x75, 0x50,
0x66, 0xa9, 0x7b, 0xbf, 0x42, 0xd6, 0x09, 0xdf, 0x4a, 0x8a, 0x1a, 0x5d, 0x2a, 0x9b, 0x5d, 0x72,
0xfe, 0x51, 0x49, 0x5c, 0xa8, 0xd2, 0x43, 0x10, 0xed, 0x3b, 0xd0, 0xd2, 0x2e, 0xe5, 0x34, 0x06,
0xdd, 0xc2, 0xb0, 0x0c, 0x75, 0xa7, 0x17, 0x9e, 0x9c, 0xc4, 0x5c, 0x45, 0x8b, 0x5a, 0x98, 0x52,
0x1e, 0x51, 0x1d, 0xf5, 0x45, 0x0b, 0xb1, 0x8c, 0x1a, 0xcd, 0xe1, 0x48, 0x28, 0xd2, 0x2b, 0xa9,
0xe2, 0x64, 0x75, 0x5a, 0x87, 0xca, 0x67, 0x67, 0xfa, 0x1e, 0xd4, 0x75, 0xbd, 0xf6, 0xce, 0xa0,
0x4a, 0xea, 0x7c, 0xdc, 0x81, 0xc8, 0xb0, 0xb4, 0x3a, 0x2d, 0xe8, 0x35, 0x9f, 0xc1, 0xd6, 0x81,
0x9d, 0xf8, 0x51, 0xb6, 0xb8, 0x20, 0xe0, 0x82, 0x1c, 0xe7, 0x15, 0x2c, 0x29, 0xbe, 0x33, 0xb4,
0x5a, 0x7b, 0x21, 0x4b, 0x57, 0xc9, 0xa5, 0x72, 0x5e, 0x2e, 0x39, 0xbf, 0xac, 0xc0, 0xac, 0x5c,
0xed, 0xdc, 0x2d, 0x72, 0xb1, 0xaf, 0x59, 0x18, 0xeb, 0x58, 0x77, 0x05, 0x89, 0x10, 0xe4, 0x6e,
0x94, 0xdb, 0x6f, 0x2a, 0x45, 0xfb, 0x0d, 0x83, 0xea, 0xd8, 0x4b, 0xce, 0xc8, 0xfd, 0xd2, 0x70,
0xe9, 0xb7, 0x72, 0x9a, 0xd6, 0x6c, 0xa7, 0x69, 0xd1, 0x9d, 0x79, 0xa1, 0x52, 0xe5, 0xef, 0xcc,
0xdf, 0x84, 0x86, 0xb8, 0x63, 0x9d, 0xfa, 0x45, 0x53, 0x00, 0x65, 0x88, 0x48, 0x90, 0x94, 0x90,
0xd7, 0x76, 0x52, 0xe4, 0x2b, 0xec, 0x70, 0xdf, 0x86, 0x19, 0x71, 0x6f, 0x44, 0x46, 0x03, 0xdf,
0x54, 0x67, 0x86, 0xa2, 0x9c, 0xfa, 0x2b, 0x42, 0x8a, 0x5c, 0x59, 0xd6, 0xbc, 0x79, 0xda, 0xb4,
0x6f, 0x9e, 0x9a, 0xee, 0xdc, 0x96, 0xed, 0xce, 0x75, 0x1e, 0xc3, 0x9c, 0x55, 0x1d, 0x4a, 0x58,
0x19, 0x4d, 0xdc, 0xbe, 0xc6, 0xe6, 0xa0, 0xf1, 0xf4, 0xa0, 0xf7, 0x78, 0xff, 0xe9, 0x93, 0xbd,
0x17, 0xed, 0x12, 0x26, 0x8f, 0x5e, 0x6e, 0x6f, 0xef, 0xee, 0xee, 0x90, 0xc4, 0x05, 0x98, 0x79,
0xbc, 0xf9, 0x74, 0x9f, 0xe4, 0xed, 0x8e, 0xa0, 0x6d, 0x59, 0x97, 0x3e, 0xa7, 0xf9, 0x26, 0x30,
0x65, 0xfb, 0x53, 0x44, 0xd1, 0x78, 0xc8, 0x13, 0x15, 0xe8, 0xbe, 0x28, 0x73, 0x9e, 0xea, 0x0c,
0x75, 0x57, 0x23, 0xad, 0x25, 0x65, 0x11, 0x39, 0x49, 0x59, 0x16, 0x91, 0x45, 0x5d, 0x9d, 0xef,
0x74, 0xa1, 0xb3, 0xc3, 0xb1, 0xb6, 0xcd, 0xe1, 0x30, 0xd3, 0x1d, 0x34, 0xde, 0x0a, 0xf2, 0xa4,
0x65, 0xf7, 0x3d, 0xb8, 0xbe, 0x29, 0x62, 0xda, 0x7f, 0x53, 0x21, 0x8f, 0x4e, 0x07, 0x56, 0xb2,
0x55, 0xca, 0xc6, 0x1e, 0xc3, 0xe2, 0x0e, 0x3f, 0x9e, 0x9c, 0xee, 0xf3, 0xf3, 0xb4, 0x21, 0x06,
0xd5, 0xf8, 0x2c, 0xbc, 0x90, 0xf3, 0x43, 0xbf, 0xd9, 0xfb, 0x00, 0x43, 0x2c, 0xd3, 0x8b, 0xc7,
0xbc, 0xaf, 0xee, 0x2b, 0x12, 0x72, 0x34, 0xe6, 0x7d, 0xe7, 0x53, 0x60, 0x66, 0x3d, 0x72, 0xbe,
0x50, 0xdf, 0x9a, 0x1c, 0xf7, 0xe2, 0xcb, 0x38, 0xe1, 0x23, 0x75, 0x11, 0xd3, 0x84, 0x9c, 0x3b,
0xd0, 0x3a, 0xf4, 0x2e, 0x5d, 0xfe, 0x53, 0xf9, 0x92, 0xc2, 0x2a, 0xcc, 0x8e, 0xbd, 0x4b, 0x24,
0x41, 0xed, 0x10, 0xa6, 0x6c, 0xe7, 0x7f, 0x97, 0x61, 0x46, 0x94, 0xc4, 0x5a, 0x07, 0x3c, 0x4e,
0xfc, 0x80, 0x38, 0x4d, 0xd5, 0x6a, 0x40, 0x39, 0xde, 0x2e, 0x17, 0xf0, 0xb6, 0xf4, 0x52, 0xa8,
0x7b, 0x5f, 0x92, 0x81, 0x2d, 0x0c, 0x39, 0x2d, 0x8d, 0x5d, 0x16, 0x6e, 0xc3, 0x14, 0xc8, 0x1c,
0x74, 0xa4, 0x5a, 0x9d, 0xe8, 0x9f, 0x12, 0x5b, 0x92, 0x8d, 0x4d, 0xa8, 0x50, 0x77, 0x9c, 0x15,
0xdc, 0x9e, 0xd3, 0x1d, 0x73, 0x3a, 0x62, 0xfd, 0x1d, 0x74, 0x44, 0xe1, 0xba, 0x78, 0x9b, 0x8e,
0x08, 0xef, 0xa0, 0x23, 0x3a, 0x0c, 0xda, 0x74, 0xa9, 0x1c, 0xad, 0x10, 0x45, 0xbb, 0x7f, 0xaf,
0x04, 0x6d, 0x49, 0x45, 0x3a, 0x4f, 0x1d, 0x99, 0xbd, 0xed, 0xf6, 0xd1, 0x6d, 0x98, 0x23, 0x1b,
0x48, 0x8b, 0x00, 0x79, 0xfc, 0x64, 0x81, 0x38, 0x0e, 0x15, 0xf5, 0x32, 0xf2, 0x87, 0x72, 0x51,
0x4c, 0x48, 0x49, 0x91, 0xc8, 0x93, 0x31, 0xb8, 0x25, 0x57, 0xa7, 0x9d, 0x3f, 0x29, 0xc1, 0xa2,
0xd1, 0x61, 0x49, 0x85, 0x8f, 0xa0, 0xa5, 0xdf, 0x6e, 0xe0, 0x7a, 0x73, 0x5b, 0xb5, 0xd9, 0x26,
0xfd, 0xcc, 0x2a, 0x4c, 0x8b, 0xe9, 0x5d, 0x52, 0x07, 0xe3, 0xc9, 0x48, 0xee, 0x2a, 0x26, 0x84,
0x84, 0x74, 0xc1, 0xf9, 0x6b, 0x5d, 0x44, 0xec, 0x6b, 0x16, 0x46, 0xbe, 0x63, 0xb4, 0xdd, 0x74,
0xa1, 0xaa, 0xf4, 0x1d, 0x9b, 0xa0, 0xf3, 0x97, 0xcb, 0xb0, 0x24, 0x8c, 0x71, 0xe9, 0x04, 0xd1,
0xd7, 0x67, 0x67, 0x84, 0x5f, 0x42, 0x70, 0xe4, 0xde, 0x35, 0x57, 0xa6, 0xd9, 0x77, 0xde, 0xd1,
0x81, 0xa0, 0x03, 0x83, 0xa7, 0xac, 0x45, 0xa5, 0x68, 0x2d, 0xde, 0x32, 0xd3, 0x45, 0x6e, 0xfc,
0x5a, 0xb1, 0x1b, 0xff, 0x9d, 0xdc, 0xe6, 0x5b, 0xb3, 0x50, 0x8b, 0xfb, 0xe1, 0x98, 0x3b, 0x2b,
0xb0, 0x6c, 0x4f, 0x81, 0x14, 0x54, 0xbf, 0x28, 0x41, 0xe7, 0xb1, 0x38, 0x1c, 0xf4, 0x83, 0xd3,
0x3d, 0x3f, 0x4e, 0xc2, 0x48, 0xbf, 0x45, 0x70, 0x0b, 0x20, 0x4e, 0xbc, 0x48, 0x2a, 0xb5, 0x42,
0x35, 0x30, 0x10, 0x1c, 0x09, 0x0f, 0x06, 0x22, 0x57, 0xac, 0xa0, 0x4e, 0xe7, 0x54, 0x2f, 0xe9,
0x50, 0xb0, 0x14, 0x98, 0x8f, 0x44, 0x38, 0x3d, 0x76, 0x99, 0x9f, 0x93, 0xf4, 0x17, 0x56, 0x7a,
0x06, 0x75, 0xfe, 0xa0, 0x0c, 0x0b, 0x69, 0x27, 0x29, 0xe4, 0xc3, 0x96, 0x21, 0x52, 0x6b, 0x49,
0x65, 0x88, 0x74, 0xfe, 0xf7, 0x7c, 0x54, 0x63, 0x0c, 0x9f, 0x82, 0x81, 0xb2, 0xdb, 0xd0, 0x54,
0xa9, 0x70, 0x92, 0x18, 0x97, 0x82, 0x4d, 0x58, 0x04, 0xc8, 0xa2, 0x22, 0x25, 0x95, 0x42, 0x99,
0xa2, 0x0b, 0x4a, 0xa3, 0x84, 0xbe, 0x14, 0x33, 0xaf, 0x92, 0xac, 0x2d, 0x34, 0x11, 0xf1, 0x3e,
0x0b, 0x69, 0x21, 0xe6, 0x0e, 0x5d, 0xd7, 0x8f, 0xa9, 0x68, 0xce, 0x14, 0x35, 0xa6, 0xd1, 0xcd,
0x55, 0xd7, 0x84, 0x94, 0x55, 0x17, 0x4e, 0x8c, 0x13, 0xcf, 0xaa, 0x6b, 0x61, 0xce, 0xdf, 0x2c,
0xc1, 0x8d, 0x82, 0x65, 0x94, 0x9c, 0xba, 0x03, 0x8b, 0x27, 0x3a, 0x53, 0x4d, 0xb5, 0x60, 0xd7,
0x15, 0x15, 0x01, 0x61, 0x4f, 0xaf, 0x9b, 0xff, 0x40, 0x2b, 0xa7, 0x62, 0xf1, 0xac, 0x60, 0xf6,
0x7c, 0x86, 0x73, 0x08, 0xdd, 0xdd, 0x37, 0xc8, 0xf8, 0xdb, 0xe6, 0xf3, 0x72, 0x8a, 0xb2, 0x36,
0x72, 0x82, 0xed, 0x6a, 0x57, 0xd2, 0x09, 0xcc, 0x59, 0x75, 0xb1, 0x6f, 0xbd, 0x6b, 0x25, 0x26,
0x8f, 0xae, 0xc9, 0x55, 0x17, 0xef, 0xe3, 0xa9, 0x90, 0x7a, 0x03, 0x72, 0xce, 0x61, 0xe1, 0xd9,
0x64, 0x98, 0xf8, 0xe9, 0x5b, 0x79, 0xec, 0x3b, 0xf2, 0x23, 0xaa, 0x42, 0x4d, 0x5d, 0x61, 0x53,
0x66, 0x39, 0x9c, 0xb1, 0x11, 0xd6, 0xd4, 0xcb, 0xb7, 0x98, 0xcf, 0x70, 0x6e, 0xc0, 0x6a, 0xda,
0xa4, 0x98, 0x3b, 0xb5, 0x39, 0xfc, 0x61, 0x49, 0xc4, 0x85, 0xd9, 0x4f, 0xf7, 0xb1, 0x27, 0xb0,
0x14, 0xfb, 0xc1, 0xe9, 0x90, 0x9b, 0xf5, 0xc4, 0x72, 0x26, 0xae, 0xdb, 0xdd, 0x93, 0xcf, 0xfb,
0xb9, 0x45, 0x5f, 0x20, 0x81, 0x14, 0x77, 0x34, 0x25, 0x90, 0xcc, 0x94, 0x14, 0x0d, 0xe0, 0xbb,
0x30, 0x6f, 0x37, 0xc6, 0x1e, 0xca, 0x48, 0xf8, 0xb4, 0x67, 0xe6, 0xd9, 0x8f, 0x4d, 0x19, 0x56,
0x49, 0xe7, 0xe7, 0x25, 0xe8, 0xb8, 0x1c, 0xc9, 0x98, 0x1b, 0x8d, 0x4a, 0xea, 0x79, 0x94, 0xab,
0x76, 0xfa, 0x80, 0x75, 0x84, 0xbd, 0x1a, 0xeb, 0xfa, 0xd4, 0x45, 0xd9, 0xbb, 0x56, 0x30, 0xaa,
0xad, 0x3a, 0xcc, 0xc8, 0xf1, 0xad, 0xc2, 0x75, 0xd9, 0x25, 0xd5, 0x9d, 0xf4, 0xd0, 0xc0, 0x6a,
0xd4, 0x3a, 0x34, 0xe8, 0x42, 0x47, 0x3c, 0x39, 0x61, 0x8e, 0x43, 0x7e, 0xb8, 0x03, 0xec, 0x99,
0xd7, 0xf7, 0xa2, 0x30, 0x0c, 0x0e, 0x79, 0x24, 0x63, 0x7c, 0x48, 0x01, 0x22, 0x9f, 0xba, 0xd2,
0xd5, 0x44, 0x4a, 0xbd, 0x92, 0x10, 0x06, 0xea, 0x35, 0x0a, 0x91, 0x72, 0x5c, 0x58, 0xda, 0xf2,
0x5e, 0x73, 0x55, 0x53, 0x3a, 0x4b, 0xcd, 0xb1, 0xae, 0x54, 0xcd, 0xbd, 0xba, 0xe4, 0x92, 0x6f,
0xd6, 0x35, 0x4b, 0x3b, 0x1b, 0xb0, 0x6c, 0xd7, 0x29, 0x45, 0x49, 0x17, 0xea, 0x23, 0x89, 0xc9,
0xde, 0xe9, 0xf4, 0xbd, 0x2f, 0xa1, 0x69, 0x3c, 0x23, 0xc2, 0x56, 0x61, 0xe9, 0xd5, 0xd3, 0x17,
0x07, 0xbb, 0x47, 0x47, 0xbd, 0xc3, 0x97, 0x5b, 0x9f, 0xef, 0xfe, 0xa0, 0xb7, 0xb7, 0x79, 0xb4,
0xd7, 0xbe, 0xc6, 0x56, 0x80, 0x1d, 0xec, 0x1e, 0xbd, 0xd8, 0xdd, 0xb1, 0xf0, 0x12, 0xbb, 0x05,
0xdd, 0x97, 0x07, 0x2f, 0x8f, 0x76, 0x77, 0x7a, 0x45, 0xdf, 0x95, 0xd9, 0xfb, 0x70, 0x43, 0xe6,
0x17, 0x7c, 0x5e, 0xb9, 0xf7, 0x08, 0xda, 0x59, 0x1f, 0x88, 0xe5, 0x35, 0x7a, 0x9b, 0x7b, 0x69,
0xe3, 0xe7, 0x15, 0x98, 0x17, 0x91, 0x7a, 0xe2, 0xf1, 0x4b, 0x1e, 0xb1, 0x67, 0x30, 0x2b, 0x5f,
0x51, 0x65, 0x8a, 0xb4, 0xec, 0x77, 0x5b, 0xbb, 0x2b, 0x59, 0x58, 0x2e, 0xeb, 0xd2, 0x5f, 0xf9,
0x4f, 0xff, 0xe3, 0x6f, 0x97, 0xe7, 0x58, 0xf3, 0xfe, 0xf9, 0x27, 0xf7, 0x4f, 0x79, 0x10, 0x63,
0x1d, 0xbf, 0x07, 0x90, 0xbe, 0x0d, 0xca, 0x3a, 0xda, 0x07, 0x90, 0x79, 0x38, 0xb5, 0x7b, 0xa3,
0x20, 0x47, 0xd6, 0x7b, 0x83, 0xea, 0x5d, 0x72, 0xe6, 0xb1, 0x5e, 0x3f, 0xf0, 0x13, 0xf1, 0x4e,
0xe8, 0x67, 0xa5, 0x7b, 0x6c, 0x00, 0x2d, 0xf3, 0xd5, 0x4e, 0xa6, 0xce, 0x80, 0x0a, 0xde, 0x1d,
0xed, 0xbe, 0x57, 0x98, 0xa7, 0x68, 0x99, 0xda, 0xb8, 0xee, 0xb4, 0xb1, 0x8d, 0x09, 0x95, 0x48,
0x5b, 0x19, 0x0a, 0x0e, 0x4f, 0x1f, 0xe7, 0x64, 0x37, 0x0d, 0xa6, 0xcb, 0x3d, 0x0d, 0xda, 0x7d,
0x7f, 0x4a, 0xae, 0x6c, 0xeb, 0x7d, 0x6a, 0x6b, 0xd5, 0x61, 0xd8, 0x56, 0x9f, 0xca, 0xa8, 0xa7,
0x41, 0x3f, 0x2b, 0xdd, 0xdb, 0xf8, 0xf7, 0x77, 0xa0, 0xa1, 0xcf, 0x87, 0xd9, 0x4f, 0x60, 0xce,
0x0a, 0xa5, 0x64, 0x6a, 0x18, 0x45, 0x91, 0x97, 0xdd, 0x9b, 0xc5, 0x99, 0xb2, 0xe1, 0x5b, 0xd4,
0x70, 0x87, 0xad, 0x60, 0xc3, 0x32, 0x16, 0xf1, 0x3e, 0x05, 0x05, 0x8b, 0x7b, 0x85, 0xaf, 0x0d,
0x49, 0x26, 0x1a, 0xbb, 0x99, 0x15, 0x2e, 0x56, 0x6b, 0xef, 0x4f, 0xc9, 0x95, 0xcd, 0xdd, 0xa4,
0xe6, 0x56, 0xd8, 0xb2, 0xd9, 0x9c, 0x3e, 0xb3, 0xe5, 0x74, 0x99, 0xd6, 0x7c, 0xb7, 0x92, 0xbd,
0xaf, 0x09, 0xab, 0xe8, 0x3d, 0x4b, 0x4d, 0x22, 0xf9, 0x47, 0x2d, 0x9d, 0x0e, 0x35, 0xc5, 0x18,
0x2d, 0x9f, 0xf9, 0x6c, 0x25, 0x3b, 0x86, 0xa6, 0xf1, 0xa2, 0x15, 0xbb, 0x31, 0xf5, 0xf5, 0xad,
0x6e, 0xb7, 0x28, 0xab, 0x68, 0x28, 0x66, 0xfd, 0xf7, 0x51, 0xd1, 0xf9, 0x11, 0x34, 0xf4, 0x1b,
0x49, 0x6c, 0xd5, 0x78, 0xb3, 0xca, 0x7c, 0xd3, 0xa9, 0xdb, 0xc9, 0x67, 0x14, 0x11, 0x9f, 0x59,
0x3b, 0x12, 0xdf, 0x2b, 0x68, 0x1a, 0xef, 0x20, 0xe9, 0x01, 0xe4, 0xdf, 0x5a, 0xd2, 0x03, 0x28,
0x78, 0x36, 0xc9, 0x59, 0xa4, 0x26, 0x9a, 0xac, 0x41, 0xf4, 0x9d, 0xbc, 0x09, 0x63, 0xb6, 0x0f,
0xd7, 0xa5, 0xc4, 0x3e, 0xe6, 0x5f, 0x65, 0x19, 0x0a, 0x9e, 0x0a, 0x7d, 0x50, 0x62, 0x8f, 0xa0,
0xae, 0x9e, 0xbb, 0x62, 0x2b, 0xc5, 0xcf, 0x76, 0x75, 0x57, 0x73, 0xb8, 0x14, 0xaf, 0x3f, 0x00,
0x48, 0x1f, 0x5d, 0xd2, 0x42, 0x22, 0xf7, 0x88, 0x93, 0xa6, 0x80, 0xfc, 0x0b, 0x4d, 0xce, 0x0a,
0x0d, 0xb0, 0xcd, 0x48, 0x48, 0x04, 0xfc, 0x42, 0xdd, 0x9b, 0xff, 0x31, 0x34, 0x8d, 0x77, 0x97,
0xf4, 0xf4, 0xe5, 0xdf, 0x6c, 0xd2, 0xd3, 0x57, 0xf0, 0x4c, 0x93, 0xd3, 0xa5, 0xda, 0x97, 0x9d,
0x05, 0xac, 0x3d, 0xf6, 0x4f, 0x83, 0x91, 0x28, 0x80, 0x0b, 0x74, 0x06, 0x73, 0xd6, 0xe3, 0x4a,
0x9a, 0x43, 0x8b, 0x9e, 0x6e, 0xd2, 0x1c, 0x5a, 0xf8, 0x1e, 0x93, 0xa2, 0x33, 0x67, 0x11, 0xdb,
0x39, 0xa7, 0x22, 0x46, 0x4b, 0x3f, 0x84, 0xa6, 0xf1, 0x50, 0x92, 0x1e, 0x4b, 0xfe, 0x4d, 0x26,
0x3d, 0x96, 0xa2, 0x77, 0x95, 0x96, 0xa9, 0x8d, 0x79, 0x87, 0x48, 0x81, 0x6e, 0x80, 0x63, 0xdd,
0x3f, 0x81, 0x79, 0xfb, 0xe9, 0x24, 0xcd, 0xfb, 0x85, 0x8f, 0x30, 0x69, 0xde, 0x9f, 0xf2, 0xde,
0x92, 0x24, 0xe9, 0x7b, 0x4b, 0xba, 0x91, 0xfb, 0x5f, 0xc8, 0x08, 0xb3, 0x2f, 0xd9, 0xf7, 0x50,
0xc0, 0xc9, 0x2b, 0xf9, 0x6c, 0xd5, 0xa0, 0x5a, 0xf3, 0xe2, 0xbe, 0xe6, 0x97, 0xdc, 0xed, 0x7d,
0x9b, 0x98, 0xc5, 0x1d, 0x76, 0xda, 0xb5, 0xe8, 0x6a, 0xbe, 0xb1, 0x6b, 0x99, 0xb7, 0xf7, 0x8d,
0x5d, 0xcb, 0xba, 0xc1, 0x9f, 0xdd, 0xb5, 0x12, 0x1f, 0xeb, 0x08, 0x60, 0x21, 0x73, 0xdd, 0x43,
0x73, 0x45, 0xf1, 0x8d, 0xbc, 0xee, 0xad, 0xb7, 0xdf, 0x12, 0xb1, 0x25, 0x88, 0x12, 0x82, 0xf7,
0xd5, 0xfd, 0xc7, 0xdf, 0x87, 0x96, 0xf9, 0x9c, 0x0b, 0x33, 0x59, 0x39, 0xdb, 0xd2, 0x7b, 0x85,
0x79, 0xf6, 0xe2, 0xb2, 0x96, 0xd9, 0x0c, 0xfb, 0x3e, 0xac, 0x68, 0x56, 0x37, 0x6f, 0x10, 0xc4,
0xec, 0x83, 0x82, 0x7b, 0x05, 0xa6, 0x1e, 0xd7, 0xbd, 0x31, 0xf5, 0xe2, 0xc1, 0x83, 0x12, 0x12,
0x8d, 0xfd, 0x46, 0x46, 0xba, 0x61, 0x14, 0x3d, 0x0d, 0x92, 0x6e, 0x18, 0x85, 0x0f, 0x6b, 0x28,
0xa2, 0x61, 0x4b, 0xd6, 0x1c, 0x89, 0xc3, 0x78, 0xf6, 0x43, 0x58, 0x30, 0xee, 0x68, 0x1d, 0x5d,
0x06, 0x7d, 0xcd, 0x00, 0xf9, 0x2b, 0xc4, 0xdd, 0x22, 0x2b, 0xc5, 0x59, 0xa5, 0xfa, 0x17, 0x1d,
0x6b, 0x72, 0x90, 0xf8, 0xb7, 0xa1, 0x69, 0xde, 0xff, 0x7a, 0x4b, 0xbd, 0xab, 0x46, 0x96, 0x79,
0xfb, 0xf5, 0x41, 0x89, 0x1d, 0x8a, 0xa0, 0x2c, 0xfd, 0x5e, 0x67, 0x18, 0x65, 0xb7, 0x4f, 0xfb,
0x1d, 0x4f, 0xbd, 0x90, 0x45, 0x2f, 0xb8, 0xde, 0x2d, 0x3d, 0x28, 0xb1, 0xbf, 0x5f, 0x82, 0x96,
0x75, 0x3f, 0xcb, 0x0a, 0x71, 0xc9, 0xf4, 0xac, 0x63, 0xe6, 0x99, 0x5d, 0x73, 0x5c, 0x1a, 0xf6,
0xfe, 0xbd, 0xef, 0x5a, 0xd3, 0xfa, 0x85, 0xe5, 0x50, 0x5b, 0xcf, 0x3e, 0xda, 0xf9, 0x65, 0xb6,
0x80, 0x79, 0x71, 0xfb, 0xcb, 0x07, 0x25, 0xf6, 0xc7, 0x25, 0x98, 0xb7, 0xdd, 0xc0, 0x7a, 0xb8,
0x85, 0x0e, 0x67, 0xbd, 0xf8, 0x53, 0x7c, 0xc7, 0x3f, 0xa4, 0x5e, 0xbe, 0xb8, 0xe7, 0x5a, 0xbd,
0x94, 0xef, 0xb1, 0xfc, 0x7a, 0xbd, 0x65, 0x9f, 0x89, 0x17, 0xa7, 0xd5, 0x61, 0x0d, 0xcb, 0xbf,
0x77, 0xac, 0x09, 0xc6, 0x7c, 0xa1, 0x98, 0x16, 0xe1, 0xc7, 0xe2, 0xb1, 0x4a, 0x75, 0x9e, 0x80,
0x74, 0xf7, 0xae, 0xdf, 0x3b, 0xb7, 0x69, 0x4c, 0xb7, 0x9c, 0x1b, 0xd6, 0x98, 0xb2, 0x3b, 0xfc,
0xa6, 0xe8, 0x9d, 0x7c, 0x5c, 0x38, 0xdd, 0xa2, 0x72, 0x0f, 0x0e, 0x4f, 0xef, 0xe4, 0x48, 0x74,
0x52, 0x16, 0xb7, 0x98, 0xe3, 0x1d, 0xab, 0x71, 0xee, 0x51, 0x5f, 0x6f, 0x3b, 0x1f, 0x4c, 0xed,
0xeb, 0x7d, 0x72, 0xe6, 0x62, 0x8f, 0x0f, 0x01, 0xd2, 0xc3, 0x55, 0x96, 0x39, 0xd8, 0xd3, 0x22,
0x23, 0x7f, 0xfe, 0x6a, 0x73, 0xa0, 0x3a, 0xff, 0xc3, 0x1a, 0x7f, 0x24, 0x04, 0xe0, 0x53, 0x75,
0x24, 0x68, 0xaa, 0x39, 0xf6, 0x09, 0xa8, 0xa5, 0xe6, 0x64, 0xeb, 0xb7, 0xc4, 0x9f, 0x3e, 0x5f,
0x7c, 0x09, 0x73, 0xfb, 0x61, 0xf8, 0x7a, 0x32, 0xd6, 0xd1, 0x27, 0xf6, 0x39, 0xcb, 0x9e, 0x17,
0x9f, 0x75, 0x33, 0xa3, 0x70, 0xd6, 0xa8, 0xaa, 0x2e, 0xeb, 0x18, 0x55, 0xdd, 0xff, 0x22, 0x3d,
0xb8, 0xfd, 0x92, 0x79, 0xb0, 0xa8, 0xa5, 0xaa, 0xee, 0x78, 0xd7, 0xae, 0xc6, 0x92, 0xa5, 0xd9,
0x26, 0x2c, 0x7d, 0x5c, 0xf5, 0xf6, 0x7e, 0xac, 0xea, 0x24, 0x99, 0xd2, 0xda, 0xe1, 0x7d, 0xba,
0x7d, 0x42, 0x87, 0x15, 0x4b, 0x69, 0xc7, 0xf5, 0x29, 0x47, 0x77, 0xce, 0x02, 0xed, 0x9d, 0x66,
0xec, 0x5d, 0x46, 0xfc, 0xa7, 0xf7, 0xbf, 0x90, 0xc7, 0x20, 0x5f, 0xaa, 0x9d, 0x46, 0x9d, 0x13,
0x59, 0x3b, 0x4d, 0xe6, 0x60, 0xc9, 0xda, 0x69, 0x72, 0x07, 0x4b, 0xd6, 0x54, 0xab, 0x73, 0x2a,
0x36, 0x84, 0xc5, 0xdc, 0x59, 0x94, 0xde, 0x64, 0xa6, 0x9d, 0x60, 0x75, 0xd7, 0xa6, 0x17, 0xb0,
0x5b, 0xbb, 0x67, 0xb7, 0x76, 0x04, 0x73, 0x3b, 0x5c, 0x4c, 0x96, 0x08, 0xb7, 0xcd, 0x5c, 0xf2,
0x33, 0x83, 0x79, 0xb3, 0x5b, 0x02, 0xe5, 0xd9, 0xaa, 0x04, 0xc5, 0xb9, 0xb2, 0x1f, 0x41, 0xf3,
0x09, 0x4f, 0x54, 0x7c, 0xad, 0x56, 0x66, 0x33, 0x01, 0xb7, 0xdd, 0x82, 0xf0, 0x5c, 0x9b, 0x66,
0xa8, 0xb6, 0xfb, 0x7c, 0x70, 0xca, 0x85, 0x70, 0xea, 0xf9, 0x83, 0x2f, 0xd9, 0x5f, 0xa0, 0xca,
0xf5, 0x05, 0x83, 0x15, 0x23, 0x58, 0xd2, 0xac, 0x7c, 0x21, 0x83, 0x17, 0xd5, 0x1c, 0x84, 0x03,
0x6e, 0x28, 0x55, 0x01, 0x34, 0x8d, 0x7b, 0x41, 0x9a, 0x81, 0xf2, 0xd7, 0xcc, 0x34, 0x03, 0x15,
0x5c, 0x23, 0x72, 0xee, 0x52, 0x3b, 0x0e, 0x5b, 0x4b, 0xdb, 0x11, 0x57, 0x87, 0xd2, 0x96, 0xee,
0x7f, 0xe1, 0x8d, 0x92, 0x2f, 0xd9, 0x2b, 0x7a, 0x1f, 0xc9, 0x8c, 0x1f, 0x4e, 0xb5, 0xf3, 0x6c,
0xa8, 0xb1, 0x9e, 0x2c, 0x23, 0xcb, 0xd6, 0xd8, 0x45, 0x53, 0xa4, 0x7b, 0x7d, 0x07, 0xe0, 0x28,
0x09, 0xc7, 0x3b, 0x1e, 0x1f, 0x85, 0x41, 0x2a, 0x6b, 0xd3, 0xe8, 0xd5, 0x54, 0x7e, 0x19, 0x21,
0xac, 0xec, 0x95, 0x61, 0xce, 0x58, 0x21, 0xd8, 0x8a, 0xb8, 0xa6, 0x06, 0xb8, 0xea, 0x09, 0x29,
0x08, 0x72, 0x7d, 0x50, 0x62, 0x9b, 0x00, 0xe9, 0x61, 0xa4, 0x36, 0x4e, 0x72, 0xe7, 0x9c, 0x5a,
0xec, 0x15, 0x9c, 0x5c, 0x1e, 0x42, 0x23, 0x3d, 0xdd, 0x5a, 0x4d, 0x6f, 0xdf, 0x59, 0x67, 0x61,
0x7a, 0x07, 0xcf, 0x9d, 0x39, 0x39, 0x6d, 0x9a, 0x2a, 0x60, 0x75, 0x9c, 0x2a, 0x3a, 0x48, 0xf2,
0x61, 0x49, 0x74, 0x50, 0x2b, 0x38, 0x14, 0x75, 0xa9, 0x46, 0x52, 0x70, 0xee, 0xa3, 0xb9, 0xb9,
0xf0, 0x40, 0xc4, 0xf2, 0xb1, 0x20, 0xb5, 0x8a, 0x88, 0x4f, 0x14, 0xcd, 0x23, 0x58, 0xcc, 0xf9,
0xd8, 0x35, 0x4b, 0x4f, 0x3b, 0x44, 0xd1, 0x2c, 0x3d, 0xd5, 0x3d, 0xef, 0x5c, 0xa7, 0x26, 0x17,
0x1c, 0x20, 0x9b, 0xea, 0xc2, 0x4f, 0xfa, 0x67, 0xd8, 0xdc, 0x1f, 0x96, 0x60, 0xa9, 0xc0, 0x85,
0xce, 0x3e, 0x54, 0xe6, 0xf9, 0x54, 0xf7, 0x7a, 0xb7, 0xd0, 0xc3, 0xea, 0x1c, 0x51, 0x3b, 0xcf,
0xd8, 0xe7, 0xd6, 0xc6, 0x26, 0x9c, 0x9b, 0x92, 0x33, 0xdf, 0xaa, 0x54, 0x14, 0x6a, 0x14, 0x3f,
0x85, 0x55, 0xd1, 0x91, 0xcd, 0xe1, 0x30, 0xe3, 0xfd, 0xbd, 0x95, 0xfb, 0xa7, 0x33, 0x96, 0x57,
0xbb, 0x3b, 0xfd, 0x9f, 0xd2, 0x4c, 0x51, 0x80, 0x45, 0x57, 0xd9, 0x04, 0xda, 0x59, 0x8f, 0x2a,
0x9b, 0x5e, 0x57, 0xf7, 0x03, 0xcb, 0xd0, 0x2c, 0xf0, 0xc2, 0xfe, 0x16, 0x35, 0xf6, 0x81, 0xd3,
0x2d, 0x9a, 0x17, 0x61, 0x7b, 0xe2, 0x7a, 0xfc, 0x25, 0xed, 0xfe, 0xcd, 0x8c, 0x53, 0x35, 0x30,
0xcd, 0x5f, 0xad, 0x4d, 0xdd, 0x62, 0xef, 0xf1, 0x47, 0xd4, 0xfc, 0x9a, 0xf3, 0x5e, 0x51, 0xf3,
0x91, 0xf8, 0x44, 0x18, 0xbd, 0xab, 0x59, 0xbe, 0x56, 0x3d, 0x58, 0x2b, 0x5a, 0xef, 0xa9, 0xd6,
0x4b, 0x66, 0xae, 0xaf, 0x91, 0x6e, 0xd7, 0x32, 0xdd, 0xbd, 0x9a, 0x7d, 0x0a, 0xfc, 0xca, 0x9a,
0x7d, 0x8a, 0xfc, 0xc3, 0xb6, 0x5e, 0xa3, 0x3c, 0xc3, 0x9f, 0x95, 0xee, 0x6d, 0xdd, 0xf9, 0xe1,
0x6f, 0x9d, 0xfa, 0xc9, 0xd9, 0xe4, 0x78, 0xbd, 0x1f, 0x8e, 0xee, 0x0f, 0x95, 0x5b, 0x4f, 0xde,
0x44, 0xb8, 0x3f, 0x0c, 0x06, 0xf7, 0xa9, 0xda, 0xe3, 0x19, 0xfa, 0x2f, 0x59, 0xdf, 0xfa, 0x3f,
0x01, 0x00, 0x00, 0xff, 0xff, 0xdf, 0x46, 0xb5, 0x44, 0x57, 0x6b, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
@ -10350,9 +10395,9 @@ type LightningClient interface {
//notifying the client of newly added/settled invoices. The caller can
//optionally specify the add_index and/or the settle_index. If the add_index
//is specified, then we'll first start by sending add invoice events for all
//invoices with an add_index greater than the specified value. If the
//invoices with an add_index greater than the specified value. If the
//settle_index is specified, the next, we'll send out all settle events for
//invoices with a settle_index greater than the specified value. One or both
//invoices with a settle_index greater than the specified value. One or both
//of these fields can be set. If no fields are set, then we'll only send out
//the latest add/settle events.
SubscribeInvoices(ctx context.Context, in *InvoiceSubscription, opts ...grpc.CallOption) (Lightning_SubscribeInvoicesClient, error)
@ -10371,7 +10416,7 @@ type LightningClient interface {
//DescribeGraph returns a description of the latest graph state from the
//point of view of the node. The graph information is partitioned into two
//components: all the nodes/vertexes, and all the edges that connect the
//vertexes themselves. As this is a directed graph, the edges also contain
//vertexes themselves. As this is a directed graph, the edges also contain
//the node directional specific routing policy which includes: the time lock
//delta, fee information, etc.
DescribeGraph(ctx context.Context, in *ChannelGraphRequest, opts ...grpc.CallOption) (*ChannelGraph, error)
@ -10430,7 +10475,7 @@ type LightningClient interface {
//
//A list of forwarding events are returned. The size of each forwarding event
//is 40 bytes, and the max message size able to be returned in gRPC is 4 MiB.
//As a result each message can only contain 50k entries. Each response has
//As a result each message can only contain 50k entries. Each response has
//the index offset of the last entry. The index offset can be provided to the
//request to allow the caller to skip a series of records.
ForwardingHistory(ctx context.Context, in *ForwardingHistoryRequest, opts ...grpc.CallOption) (*ForwardingHistoryResponse, error)
@ -11353,9 +11398,9 @@ type LightningServer interface {
//notifying the client of newly added/settled invoices. The caller can
//optionally specify the add_index and/or the settle_index. If the add_index
//is specified, then we'll first start by sending add invoice events for all
//invoices with an add_index greater than the specified value. If the
//invoices with an add_index greater than the specified value. If the
//settle_index is specified, the next, we'll send out all settle events for
//invoices with a settle_index greater than the specified value. One or both
//invoices with a settle_index greater than the specified value. One or both
//of these fields can be set. If no fields are set, then we'll only send out
//the latest add/settle events.
SubscribeInvoices(*InvoiceSubscription, Lightning_SubscribeInvoicesServer) error
@ -11374,7 +11419,7 @@ type LightningServer interface {
//DescribeGraph returns a description of the latest graph state from the
//point of view of the node. The graph information is partitioned into two
//components: all the nodes/vertexes, and all the edges that connect the
//vertexes themselves. As this is a directed graph, the edges also contain
//vertexes themselves. As this is a directed graph, the edges also contain
//the node directional specific routing policy which includes: the time lock
//delta, fee information, etc.
DescribeGraph(context.Context, *ChannelGraphRequest) (*ChannelGraph, error)
@ -11433,7 +11478,7 @@ type LightningServer interface {
//
//A list of forwarding events are returned. The size of each forwarding event
//is 40 bytes, and the max message size able to be returned in gRPC is 4 MiB.
//As a result each message can only contain 50k entries. Each response has
//As a result each message can only contain 50k entries. Each response has
//the index offset of the last entry. The index offset can be provided to the
//request to allow the caller to skip a series of records.
ForwardingHistory(context.Context, *ForwardingHistoryRequest) (*ForwardingHistoryResponse, error)

@ -94,13 +94,15 @@ service WalletUnlocker {
message GenSeedRequest {
/**
aezeed_passphrase is an optional user provided passphrase that will be used
to encrypt the generated aezeed cipher seed.
to encrypt the generated aezeed cipher seed. When using REST, this field
must be encoded as base64.
*/
bytes aezeed_passphrase = 1;
/**
seed_entropy is an optional 16-bytes generated via CSPRNG. If not
specified, then a fresh set of randomness will be used to create the seed.
When using REST, this field must be encoded as base64.
*/
bytes seed_entropy = 2;
}
@ -125,7 +127,8 @@ message InitWalletRequest {
/**
wallet_password is the passphrase that should be used to encrypt the
wallet. This MUST be at least 8 chars in length. After creation, this
password is required to unlock the daemon.
password is required to unlock the daemon. When using REST, this field
must be encoded as base64.
*/
bytes wallet_password = 1;
@ -138,7 +141,8 @@ message InitWalletRequest {
/**
aezeed_passphrase is an optional user provided passphrase that will be used
to encrypt the generated aezeed cipher seed.
to encrypt the generated aezeed cipher seed. When using REST, this field
must be encoded as base64.
*/
bytes aezeed_passphrase = 3;
@ -168,7 +172,7 @@ message UnlockWalletRequest {
/**
wallet_password should be the current valid passphrase for the daemon. This
will be required to decrypt on-disk material that the daemon requires to
function properly.
function properly. When using REST, this field must be encoded as base64.
*/
bytes wallet_password = 1;
@ -196,13 +200,13 @@ message UnlockWalletResponse {}
message ChangePasswordRequest {
/**
current_password should be the current valid passphrase used to unlock the
daemon.
daemon. When using REST, this field must be encoded as base64.
*/
bytes current_password = 1;
/**
new_password should be the new passphrase that will be needed to unlock the
daemon.
daemon. When using REST, this field must be encoded as base64.
*/
bytes new_password = 2;
}
@ -550,9 +554,9 @@ service Lightning {
notifying the client of newly added/settled invoices. The caller can
optionally specify the add_index and/or the settle_index. If the add_index
is specified, then we'll first start by sending add invoice events for all
invoices with an add_index greater than the specified value. If the
invoices with an add_index greater than the specified value. If the
settle_index is specified, the next, we'll send out all settle events for
invoices with a settle_index greater than the specified value. One or both
invoices with a settle_index greater than the specified value. One or both
of these fields can be set. If no fields are set, then we'll only send out
the latest add/settle events.
*/
@ -595,7 +599,7 @@ service Lightning {
DescribeGraph returns a description of the latest graph state from the
point of view of the node. The graph information is partitioned into two
components: all the nodes/vertexes, and all the edges that connect the
vertexes themselves. As this is a directed graph, the edges also contain
vertexes themselves. As this is a directed graph, the edges also contain
the node directional specific routing policy which includes: the time lock
delta, fee information, etc.
*/
@ -703,7 +707,7 @@ service Lightning {
A list of forwarding events are returned. The size of each forwarding event
is 40 bytes, and the max message size able to be returned in gRPC is 4 MiB.
As a result each message can only contain 50k entries. Each response has
As a result each message can only contain 50k entries. Each response has
the index offset of the last entry. The index offset can be provided to the
request to allow the caller to skip a series of records.
*/
@ -857,23 +861,35 @@ message FeeLimit {
}
message SendRequest {
/// The identity pubkey of the payment recipient
/**
The identity pubkey of the payment recipient. When using REST, this field
must be encoded as base64.
*/
bytes dest = 1;
/// The hex-encoded identity pubkey of the payment recipient
string dest_string = 2;
/**
The hex-encoded identity pubkey of the payment recipient. Deprecated now
that the REST gateway supports base64 encoding of bytes fields.
*/
string dest_string = 2 [deprecated = true];
/// Number of satoshis to send.
int64 amt = 3;
/// The hash to use within the payment's HTLC
/**
The hash to use within the payment's HTLC. When using REST, this field
must be encoded as base64.
*/
bytes payment_hash = 4;
/// The hex-encoded hash to use within the payment's HTLC
string payment_hash_string = 5;
/**
The hex-encoded hash to use within the payment's HTLC. Deprecated now
that the REST gateway supports base64 encoding of bytes fields.
*/
string payment_hash_string = 5 [deprecated = true];
/**
A bare-bones invoice for a payment within the Lightning Network. With the
A bare-bones invoice for a payment within the Lightning Network. With the
details of the invoice, the sender has all the data necessary to send a
payment to the recipient.
*/
@ -909,7 +925,8 @@ message SendRequest {
/**
An optional field that can be used to pass an arbitrary set of TLV records
to a peer which understands the new records. This can be used to pass
application specific data during the payment attempt.
application specific data during the payment attempt. When using REST, the
values must be encoded as base64.
*/
map<uint64, bytes> dest_tlv = 11;
}
@ -922,11 +939,17 @@ message SendResponse {
}
message SendToRouteRequest {
/// The payment hash to use for the HTLC.
/**
The payment hash to use for the HTLC. When using REST, this field must be
encoded as base64.
*/
bytes payment_hash = 1;
/// An optional hex-encoded payment hash to be used for the HTLC.
string payment_hash_string = 2;
/**
An optional hex-encoded payment hash to be used for the HTLC. Deprecated now
that the REST gateway supports base64 encoding of bytes fields.
*/
string payment_hash_string = 2 [deprecated = true];
reserved 3;
@ -988,10 +1011,16 @@ message ChannelAcceptResponse {
message ChannelPoint {
oneof funding_txid {
/// Txid of the funding transaction
/**
Txid of the funding transaction. When using REST, this field must be
encoded as base64.
*/
bytes funding_txid_bytes = 1 [json_name = "funding_txid_bytes"];
/// Hex-encoded string representing the funding transaction
/**
Hex-encoded string representing the byte-reversed hash of the funding
transaction.
*/
string funding_txid_str = 2 [json_name = "funding_txid_str"];
}
@ -1109,7 +1138,10 @@ message NewAddressResponse {
}
message SignMessageRequest {
/// The message to be signed
/**
The message to be signed. When using REST, this field must be encoded as
base64.
*/
bytes msg = 1 [ json_name = "msg" ];
}
message SignMessageResponse {
@ -1118,7 +1150,10 @@ message SignMessageResponse {
}
message VerifyMessageRequest {
/// The message over which the signature is to be verified
/**
The message over which the signature is to be verified. When using REST,
this field must be encoded as base64.
*/
bytes msg = 1 [ json_name = "msg" ];
/// The signature to be verified over the given message
@ -1137,7 +1172,7 @@ message ConnectPeerRequest {
LightningAddress addr = 1;
/** If set, the daemon will attempt to persistently connect to the target
* peer. Otherwise, the call will be synchronous. */
* peer. Otherwise, the call will be synchronous. */
bool perm = 2;
}
message ConnectPeerResponse {
@ -1506,11 +1541,17 @@ message PendingUpdate {
}
message OpenChannelRequest {
/// The pubkey of the node to open a channel with
/**
The pubkey of the node to open a channel with. When using REST, this field
must be encoded as base64.
*/
bytes node_pubkey = 2 [json_name = "node_pubkey"];
/// The hex encoded pubkey of the node to open a channel with
string node_pubkey_string = 3 [json_name = "node_pubkey_string"];
/**
The hex encoded pubkey of the node to open a channel with. Deprecated now
that the REST gateway supports base64 encoding of bytes fields.
*/
string node_pubkey_string = 3 [json_name = "node_pubkey_string", deprecated = true];
/// The number of satoshis the wallet should commit to the channel
int64 local_funding_amount = 4 [json_name = "local_funding_amount"];
@ -1742,7 +1783,8 @@ message QueryRoutesRequest {
FeeLimit fee_limit = 5;
/**
A list of nodes to ignore during path finding.
A list of nodes to ignore during path finding. When using REST, these fields
must be encoded as base64.
*/
repeated bytes ignored_nodes = 6;
@ -1777,10 +1819,16 @@ message QueryRoutesRequest {
}
message NodePair {
/// The sending node of the pair.
/**
The sending node of the pair. When using REST, this field must be encoded as
base64.
*/
bytes from = 1;
/// The receiving node of the pair.
/**
The receiving node of the pair. When using REST, this field must be encoded
as base64.
*/
bytes to = 2;
}
@ -1874,7 +1922,7 @@ carry the initial payment amount after fees are accounted for.
message Route {
/**
The cumulative (final) time lock across the entire route. This is the CLTV
The cumulative (final) time lock across the entire route. This is the CLTV
value that should be extended to the first hop in the route. All other hops
will decrement the time-lock as advertised, leaving enough time for all
hops to wait for or present the payment preimage to complete the payment.
@ -1882,7 +1930,7 @@ message Route {
uint32 total_time_lock = 1 [json_name = "total_time_lock"];
/**
The sum of the fees paid at each hop within the final route. In the case
The sum of the fees paid at each hop within the final route. In the case
of a one-hop payment, this value will be zero as we don't need to pay a fee
to ourselves.
*/
@ -2138,11 +2186,15 @@ message Invoice {
/**
The hex-encoded preimage (32 byte) which will allow settling an incoming
HTLC payable to this preimage
HTLC payable to this preimage. When using REST, this field must be encoded
as base64.
*/
bytes r_preimage = 3 [json_name = "r_preimage"];
/// The hash of the preimage
/**
The hash of the preimage. When using REST, this field must be encoded as
base64.
*/
bytes r_hash = 4 [json_name = "r_hash"];
/// The value of this invoice in satoshis
@ -2158,7 +2210,7 @@ message Invoice {
int64 settle_date = 8 [json_name = "settle_date"];
/**
A bare-bones invoice for a payment within the Lightning Network. With the
A bare-bones invoice for a payment within the Lightning Network. With the
details of the invoice, the sender has all the data necessary to send a
payment to the recipient.
*/
@ -2167,7 +2219,8 @@ message Invoice {
/**
Hash (SHA-256) of a description of the payment. Used if the description of
payment (memo) is too long to naturally fit within the description field
of an encoded payment request.
of an encoded payment request. When using REST, this field must be encoded
as base64.
*/
bytes description_hash = 10 [json_name = "description_hash"];
@ -2281,7 +2334,7 @@ message AddInvoiceResponse {
bytes r_hash = 1 [json_name = "r_hash"];
/**
A bare-bones invoice for a payment within the Lightning Network. With the
A bare-bones invoice for a payment within the Lightning Network. With the
details of the invoice, the sender has all the data necessary to send a
payment to the recipient.
*/
@ -2299,10 +2352,15 @@ message PaymentHash {
/**
The hex-encoded payment hash of the invoice to be looked up. The passed
payment hash must be exactly 32 bytes, otherwise an error is returned.
Deprecated now that the REST gateway supports base64 encoding of bytes
fields.
*/
string r_hash_str = 1 [json_name = "r_hash_str"];
string r_hash_str = 1 [json_name = "r_hash_str", deprecated = true];
/// The payment hash of the invoice to be looked up.
/**
The payment hash of the invoice to be looked up. When using REST, this field
must be encoded as base64.
*/
bytes r_hash = 2 [json_name = "r_hash"];
}
@ -2582,7 +2640,8 @@ message ChannelBackup {
/**
Is an encrypted single-chan backup. this can be passed to
RestoreChannelBackups, or the WalletUnlocker Init and Unlock methods in
order to trigger the recovery protocol.
order to trigger the recovery protocol. When using REST, this field must be
encoded as base64.
*/
bytes chan_backup = 2 [ json_name = "chan_backup" ];
}
@ -2596,7 +2655,8 @@ message MultiChanBackup {
/**
A single encrypted blob containing all the static channel backups of the
channel listed above. This can be stored as a single file or blob, and
safely be replaced with any prior/future versions.
safely be replaced with any prior/future versions. When using REST, this
field must be encoded as base64.
*/
bytes multi_chan_backup = 2 [ json_name = "multi_chan_backup" ];
}
@ -2625,8 +2685,15 @@ message ChannelBackups {
message RestoreChanBackupRequest {
oneof backup {
/**
The channels to restore as a list of channel/backup pairs.
*/
ChannelBackups chan_backups = 1 [ json_name = "chan_backups" ];
/**
The channels to restore in the packed multi backup format. When using
REST, this field must be encoded as base64.
*/
bytes multi_chan_backup = 2 [ json_name = "multi_chan_backup" ];
}
}

@ -163,7 +163,7 @@
"parameters": [
{
"name": "channel_point.funding_txid_str",
"description": "/ Hex-encoded string representing the funding transaction",
"description": "*\nHex-encoded string representing the byte-reversed hash of the funding\ntransaction.",
"in": "path",
"required": true,
"type": "string"
@ -178,7 +178,7 @@
},
{
"name": "channel_point.funding_txid_bytes",
"description": "/ Txid of the funding transaction.",
"description": "*\nTxid of the funding transaction. When using REST, this field must be\nencoded as base64.",
"in": "query",
"required": false,
"type": "string",
@ -276,7 +276,7 @@
"parameters": [
{
"name": "chan_point.funding_txid_str",
"description": "/ Hex-encoded string representing the funding transaction",
"description": "*\nHex-encoded string representing the byte-reversed hash of the funding\ntransaction.",
"in": "path",
"required": true,
"type": "string"
@ -291,7 +291,7 @@
},
{
"name": "chan_point.funding_txid_bytes",
"description": "/ Txid of the funding transaction.",
"description": "*\nTxid of the funding transaction. When using REST, this field must be\nencoded as base64.",
"in": "query",
"required": false,
"type": "string",
@ -450,7 +450,7 @@
"parameters": [
{
"name": "channel_point.funding_txid_str",
"description": "/ Hex-encoded string representing the funding transaction",
"description": "*\nHex-encoded string representing the byte-reversed hash of the funding\ntransaction.",
"in": "path",
"required": true,
"type": "string"
@ -465,7 +465,7 @@
},
{
"name": "channel_point.funding_txid_bytes",
"description": "/ Txid of the funding transaction.",
"description": "*\nTxid of the funding transaction. When using REST, this field must be\nencoded as base64.",
"in": "query",
"required": false,
"type": "string",
@ -561,7 +561,7 @@
"parameters": [
{
"name": "aezeed_passphrase",
"description": "*\naezeed_passphrase is an optional user provided passphrase that will be used\nto encrypt the generated aezeed cipher seed.",
"description": "*\naezeed_passphrase is an optional user provided passphrase that will be used\nto encrypt the generated aezeed cipher seed. When using REST, this field\nmust be encoded as base64.",
"in": "query",
"required": false,
"type": "string",
@ -569,7 +569,7 @@
},
{
"name": "seed_entropy",
"description": "*\nseed_entropy is an optional 16-bytes generated via CSPRNG. If not\nspecified, then a fresh set of randomness will be used to create the seed.",
"description": "*\nseed_entropy is an optional 16-bytes generated via CSPRNG. If not\nspecified, then a fresh set of randomness will be used to create the seed.\nWhen using REST, this field must be encoded as base64.",
"in": "query",
"required": false,
"type": "string",
@ -600,7 +600,7 @@
},
"/v1/graph": {
"get": {
"summary": "* lncli: `describegraph`\nDescribeGraph returns a description of the latest graph state from the\npoint of view of the node. The graph information is partitioned into two\ncomponents: all the nodes/vertexes, and all the edges that connect the\nvertexes themselves. As this is a directed graph, the edges also contain\nthe node directional specific routing policy which includes: the time lock\ndelta, fee information, etc.",
"summary": "* lncli: `describegraph`\nDescribeGraph returns a description of the latest graph state from the\npoint of view of the node. The graph information is partitioned into two\ncomponents: all the nodes/vertexes, and all the edges that connect the\nvertexes themselves. As this is a directed graph, the edges also contain\nthe node directional specific routing policy which includes: the time lock\ndelta, fee information, etc.",
"operationId": "DescribeGraph",
"responses": {
"200": {
@ -757,7 +757,7 @@
},
{
"name": "ignored_nodes",
"description": "*\nA list of nodes to ignore during path finding.",
"description": "*\nA list of nodes to ignore during path finding. When using REST, these fields\nmust be encoded as base64.",
"in": "query",
"required": false,
"type": "array",
@ -839,14 +839,14 @@
"parameters": [
{
"name": "r_hash_str",
"description": "*\nThe hex-encoded payment hash of the invoice to be looked up. The passed\npayment hash must be exactly 32 bytes, otherwise an error is returned.",
"description": "*\nThe hex-encoded payment hash of the invoice to be looked up. The passed\npayment hash must be exactly 32 bytes, otherwise an error is returned.\nDeprecated now that the REST gateway supports base64 encoding of bytes\nfields.",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "r_hash",
"description": "/ The payment hash of the invoice to be looked up.",
"description": "*\nThe payment hash of the invoice to be looked up. When using REST, this field\nmust be encoded as base64.",
"in": "query",
"required": false,
"type": "string",
@ -936,7 +936,7 @@
},
"/v1/invoices/subscribe": {
"get": {
"summary": "*\nSubscribeInvoices returns a uni-directional stream (server -\u003e client) for\nnotifying the client of newly added/settled invoices. The caller can\noptionally specify the add_index and/or the settle_index. If the add_index\nis specified, then we'll first start by sending add invoice events for all\ninvoices with an add_index greater than the specified value. If the\nsettle_index is specified, the next, we'll send out all settle events for\ninvoices with a settle_index greater than the specified value. One or both\nof these fields can be set. If no fields are set, then we'll only send out\nthe latest add/settle events.",
"summary": "*\nSubscribeInvoices returns a uni-directional stream (server -\u003e client) for\nnotifying the client of newly added/settled invoices. The caller can\noptionally specify the add_index and/or the settle_index. If the add_index\nis specified, then we'll first start by sending add invoice events for all\ninvoices with an add_index greater than the specified value. If the\nsettle_index is specified, the next, we'll send out all settle events for\ninvoices with a settle_index greater than the specified value. One or both\nof these fields can be set. If no fields are set, then we'll only send out\nthe latest add/settle events.",
"operationId": "SubscribeInvoices",
"responses": {
"200": {
@ -1195,7 +1195,7 @@
"/v1/switch": {
"post": {
"summary": "* lncli: `fwdinghistory`\nForwardingHistory allows the caller to query the htlcswitch for a record of\nall HTLCs forwarded within the target time range, and integer offset\nwithin that time range. If no time-range is specified, then the first chunk\nof the past 24 hrs of forwarding history are returned.",
"description": "A list of forwarding events are returned. The size of each forwarding event\nis 40 bytes, and the max message size able to be returned in gRPC is 4 MiB.\nAs a result each message can only contain 50k entries. Each response has\nthe index offset of the last entry. The index offset can be provided to the\nrequest to allow the caller to skip a series of records.",
"description": "A list of forwarding events are returned. The size of each forwarding event\nis 40 bytes, and the max message size able to be returned in gRPC is 4 MiB.\nAs a result each message can only contain 50k entries. Each response has\nthe index offset of the last entry. The index offset can be provided to the\nrequest to allow the caller to skip a series of records.",
"operationId": "ForwardingHistory",
"responses": {
"200": {
@ -1572,7 +1572,7 @@
},
"payment_request": {
"type": "string",
"description": "*\nA bare-bones invoice for a payment within the Lightning Network. With the\ndetails of the invoice, the sender has all the data necessary to send a\npayment to the recipient."
"description": "*\nA bare-bones invoice for a payment within the Lightning Network. With the\ndetails of the invoice, the sender has all the data necessary to send a\npayment to the recipient."
},
"add_index": {
"type": "string",
@ -1646,12 +1646,12 @@
"current_password": {
"type": "string",
"format": "byte",
"description": "*\ncurrent_password should be the current valid passphrase used to unlock the\ndaemon."
"description": "*\ncurrent_password should be the current valid passphrase used to unlock the\ndaemon. When using REST, this field must be encoded as base64."
},
"new_password": {
"type": "string",
"format": "byte",
"description": "*\nnew_password should be the new passphrase that will be needed to unlock the\ndaemon."
"description": "*\nnew_password should be the new passphrase that will be needed to unlock the\ndaemon. When using REST, this field must be encoded as base64."
}
}
},
@ -1862,7 +1862,7 @@
"chan_backup": {
"type": "string",
"format": "byte",
"description": "*\nIs an encrypted single-chan backup. this can be passed to\nRestoreChannelBackups, or the WalletUnlocker Init and Unlock methods in\norder to trigger the recovery protocol."
"description": "*\nIs an encrypted single-chan backup. this can be passed to\nRestoreChannelBackups, or the WalletUnlocker Init and Unlock methods in\norder to trigger the recovery protocol. When using REST, this field must be\nencoded as base64."
}
}
},
@ -2094,11 +2094,11 @@
"funding_txid_bytes": {
"type": "string",
"format": "byte",
"title": "/ Txid of the funding transaction"
"description": "*\nTxid of the funding transaction. When using REST, this field must be\nencoded as base64."
},
"funding_txid_str": {
"type": "string",
"title": "/ Hex-encoded string representing the funding transaction"
"description": "*\nHex-encoded string representing the byte-reversed hash of the funding\ntransaction."
},
"output_index": {
"type": "integer",
@ -2160,7 +2160,7 @@
"perm": {
"type": "boolean",
"format": "boolean",
"description": "* If set, the daemon will attempt to persistently connect to the target\npeer. Otherwise, the call will be synchronous."
"description": "* If set, the daemon will attempt to persistently connect to the target\npeer. Otherwise, the call will be synchronous."
}
}
},
@ -2572,7 +2572,7 @@
"wallet_password": {
"type": "string",
"format": "byte",
"description": "*\nwallet_password is the passphrase that should be used to encrypt the\nwallet. This MUST be at least 8 chars in length. After creation, this\npassword is required to unlock the daemon."
"description": "*\nwallet_password is the passphrase that should be used to encrypt the\nwallet. This MUST be at least 8 chars in length. After creation, this\npassword is required to unlock the daemon. When using REST, this field\nmust be encoded as base64."
},
"cipher_seed_mnemonic": {
"type": "array",
@ -2584,7 +2584,7 @@
"aezeed_passphrase": {
"type": "string",
"format": "byte",
"description": "*\naezeed_passphrase is an optional user provided passphrase that will be used\nto encrypt the generated aezeed cipher seed."
"description": "*\naezeed_passphrase is an optional user provided passphrase that will be used\nto encrypt the generated aezeed cipher seed. When using REST, this field\nmust be encoded as base64."
},
"recovery_window": {
"type": "integer",
@ -2615,12 +2615,12 @@
"r_preimage": {
"type": "string",
"format": "byte",
"title": "*\nThe hex-encoded preimage (32 byte) which will allow settling an incoming\nHTLC payable to this preimage"
"description": "*\nThe hex-encoded preimage (32 byte) which will allow settling an incoming\nHTLC payable to this preimage. When using REST, this field must be encoded\nas base64."
},
"r_hash": {
"type": "string",
"format": "byte",
"title": "/ The hash of the preimage"
"description": "*\nThe hash of the preimage. When using REST, this field must be encoded as\nbase64."
},
"value": {
"type": "string",
@ -2644,12 +2644,12 @@
},
"payment_request": {
"type": "string",
"description": "*\nA bare-bones invoice for a payment within the Lightning Network. With the\ndetails of the invoice, the sender has all the data necessary to send a\npayment to the recipient."
"description": "*\nA bare-bones invoice for a payment within the Lightning Network. With the\ndetails of the invoice, the sender has all the data necessary to send a\npayment to the recipient."
},
"description_hash": {
"type": "string",
"format": "byte",
"description": "*\nHash (SHA-256) of a description of the payment. Used if the description of\npayment (memo) is too long to naturally fit within the description field\nof an encoded payment request."
"description": "*\nHash (SHA-256) of a description of the payment. Used if the description of\npayment (memo) is too long to naturally fit within the description field\nof an encoded payment request. When using REST, this field must be encoded\nas base64."
},
"expiry": {
"type": "string",
@ -2918,7 +2918,7 @@
"multi_chan_backup": {
"type": "string",
"format": "byte",
"description": "*\nA single encrypted blob containing all the static channel backups of the\nchannel listed above. This can be stored as a single file or blob, and\nsafely be replaced with any prior/future versions."
"description": "*\nA single encrypted blob containing all the static channel backups of the\nchannel listed above. This can be stored as a single file or blob, and\nsafely be replaced with any prior/future versions. When using REST, this\nfield must be encoded as base64."
}
}
},
@ -3024,12 +3024,12 @@
"from": {
"type": "string",
"format": "byte",
"description": "/ The sending node of the pair."
"description": "*\nThe sending node of the pair. When using REST, this field must be encoded as\nbase64."
},
"to": {
"type": "string",
"format": "byte",
"description": "/ The receiving node of the pair."
"description": "*\nThe receiving node of the pair. When using REST, this field must be encoded\nas base64."
}
}
},
@ -3063,11 +3063,11 @@
"node_pubkey": {
"type": "string",
"format": "byte",
"title": "/ The pubkey of the node to open a channel with"
"description": "*\nThe pubkey of the node to open a channel with. When using REST, this field\nmust be encoded as base64."
},
"node_pubkey_string": {
"type": "string",
"title": "/ The hex encoded pubkey of the node to open a channel with"
"description": "*\nThe hex encoded pubkey of the node to open a channel with. Deprecated now\nthat the REST gateway supports base64 encoding of bytes fields."
},
"local_funding_amount": {
"type": "string",
@ -3444,11 +3444,13 @@
"type": "object",
"properties": {
"chan_backups": {
"$ref": "#/definitions/lnrpcChannelBackups"
"$ref": "#/definitions/lnrpcChannelBackups",
"description": "*\nThe channels to restore as a list of channel/backup pairs."
},
"multi_chan_backup": {
"type": "string",
"format": "byte"
"format": "byte",
"description": "*\nThe channels to restore in the packed multi backup format. When using\nREST, this field must be encoded as base64."
}
}
},
@ -3458,12 +3460,12 @@
"total_time_lock": {
"type": "integer",
"format": "int64",
"description": "*\nThe cumulative (final) time lock across the entire route. This is the CLTV\nvalue that should be extended to the first hop in the route. All other hops\nwill decrement the time-lock as advertised, leaving enough time for all\nhops to wait for or present the payment preimage to complete the payment."
"description": "*\nThe cumulative (final) time lock across the entire route. This is the CLTV\nvalue that should be extended to the first hop in the route. All other hops\nwill decrement the time-lock as advertised, leaving enough time for all\nhops to wait for or present the payment preimage to complete the payment."
},
"total_fees": {
"type": "string",
"format": "int64",
"description": "*\nThe sum of the fees paid at each hop within the final route. In the case\nof a one-hop payment, this value will be zero as we don't need to pay a fee\nto ourselves."
"description": "*\nThe sum of the fees paid at each hop within the final route. In the case\nof a one-hop payment, this value will be zero as we don't need to pay a fee\nto ourselves."
},
"total_amt": {
"type": "string",
@ -3588,11 +3590,11 @@
"dest": {
"type": "string",
"format": "byte",
"title": "/ The identity pubkey of the payment recipient"
"description": "*\nThe identity pubkey of the payment recipient. When using REST, this field\nmust be encoded as base64."
},
"dest_string": {
"type": "string",
"title": "/ The hex-encoded identity pubkey of the payment recipient"
"description": "*\nThe hex-encoded identity pubkey of the payment recipient. Deprecated now\nthat the REST gateway supports base64 encoding of bytes fields."
},
"amt": {
"type": "string",
@ -3602,15 +3604,15 @@
"payment_hash": {
"type": "string",
"format": "byte",
"title": "/ The hash to use within the payment's HTLC"
"description": "*\nThe hash to use within the payment's HTLC. When using REST, this field\nmust be encoded as base64."
},
"payment_hash_string": {
"type": "string",
"title": "/ The hex-encoded hash to use within the payment's HTLC"
"description": "*\nThe hex-encoded hash to use within the payment's HTLC. Deprecated now\nthat the REST gateway supports base64 encoding of bytes fields."
},
"payment_request": {
"type": "string",
"description": "*\nA bare-bones invoice for a payment within the Lightning Network. With the\ndetails of the invoice, the sender has all the data necessary to send a\npayment to the recipient."
"description": "*\nA bare-bones invoice for a payment within the Lightning Network. With the\ndetails of the invoice, the sender has all the data necessary to send a\npayment to the recipient."
},
"final_cltv_delta": {
"type": "integer",
@ -3637,7 +3639,7 @@
"type": "string",
"format": "byte"
},
"description": "* \nAn optional field that can be used to pass an arbitrary set of TLV records\nto a peer which understands the new records. This can be used to pass\napplication specific data during the payment attempt."
"description": "* \nAn optional field that can be used to pass an arbitrary set of TLV records\nto a peer which understands the new records. This can be used to pass\napplication specific data during the payment attempt. When using REST, the\nvalues must be encoded as base64."
}
}
},
@ -3666,11 +3668,11 @@
"payment_hash": {
"type": "string",
"format": "byte",
"description": "/ The payment hash to use for the HTLC."
"description": "*\nThe payment hash to use for the HTLC. When using REST, this field must be\nencoded as base64."
},
"payment_hash_string": {
"type": "string",
"description": "/ An optional hex-encoded payment hash to be used for the HTLC."
"description": "*\nAn optional hex-encoded payment hash to be used for the HTLC. Deprecated now\nthat the REST gateway supports base64 encoding of bytes fields."
},
"route": {
"$ref": "#/definitions/lnrpcRoute",
@ -3684,7 +3686,7 @@
"msg": {
"type": "string",
"format": "byte",
"title": "/ The message to be signed"
"description": "*\nThe message to be signed. When using REST, this field must be encoded as\nbase64."
}
}
},
@ -3767,7 +3769,7 @@
"wallet_password": {
"type": "string",
"format": "byte",
"description": "*\nwallet_password should be the current valid passphrase for the daemon. This\nwill be required to decrypt on-disk material that the daemon requires to\nfunction properly."
"description": "*\nwallet_password should be the current valid passphrase for the daemon. This\nwill be required to decrypt on-disk material that the daemon requires to\nfunction properly. When using REST, this field must be encoded as base64."
},
"recovery_window": {
"type": "integer",
@ -3823,7 +3825,7 @@
"msg": {
"type": "string",
"format": "byte",
"title": "/ The message over which the signature is to be verified"
"description": "*\nThe message over which the signature is to be verified. When using REST,\nthis field must be encoded as base64."
},
"signature": {
"type": "string",