diff --git a/bchain/coins/blockchain.go b/bchain/coins/blockchain.go index bf28ff8d..7de87693 100644 --- a/bchain/coins/blockchain.go +++ b/bchain/coins/blockchain.go @@ -16,6 +16,7 @@ import ( "blockbook/bchain/coins/monacoin" "blockbook/bchain/coins/myriad" "blockbook/bchain/coins/namecoin" + "blockbook/bchain/coins/pivx" "blockbook/bchain/coins/vertcoin" "blockbook/bchain/coins/zec" "blockbook/common" @@ -61,6 +62,7 @@ func init() { BlockChainFactories["Liquid"] = liquid.NewLiquidRPC BlockChainFactories["Groestlcoin"] = grs.NewGroestlcoinRPC BlockChainFactories["Groestlcoin Testnet"] = grs.NewGroestlcoinRPC + BlockChainFactories["PIVX"] = pivx.NewPivXRPC } // GetCoinNameFromConfig gets coin name and coin shortcut from config file diff --git a/bchain/coins/pivx/pivxparser.go b/bchain/coins/pivx/pivxparser.go new file mode 100644 index 00000000..2cf12055 --- /dev/null +++ b/bchain/coins/pivx/pivxparser.go @@ -0,0 +1,256 @@ +package pivx + +import ( + "blockbook/bchain" + "blockbook/bchain/coins/btc" + "blockbook/bchain/coins/utils" + "bytes" + "io" + + "encoding/hex" + "encoding/json" + + "math/big" + "github.com/martinboehm/btcd/blockchain" + + "github.com/martinboehm/btcd/wire" + "github.com/martinboehm/btcutil/chaincfg" + "github.com/juju/errors" +) + +const ( + MainnetMagic wire.BitcoinNet = 0x90c4fde9 +) + +var ( + MainNetParams chaincfg.Params +) + +func init() { + MainNetParams = chaincfg.MainNetParams + MainNetParams.Net = MainnetMagic + MainNetParams.PubKeyHashAddrID = []byte{30} + MainNetParams.ScriptHashAddrID = []byte{13} + MainNetParams.PrivateKeyID = []byte{212} +} + +// PivXParser handle +type PivXParser struct { + *btc.BitcoinParser + baseparser *bchain.BaseParser + BitcoinOutputScriptToAddressesFunc btc.OutputScriptToAddressesFunc +} + +// NewPivXParser returns new PivXParser instance +func NewPivXParser(params *chaincfg.Params, c *btc.Configuration) *PivXParser { + p := &PivXParser{ + BitcoinParser: btc.NewBitcoinParser(params, c), + baseparser: &bchain.BaseParser{}, + } + p.BitcoinOutputScriptToAddressesFunc = p.OutputScriptToAddressesFunc + p.OutputScriptToAddressesFunc = p.outputScriptToAddresses + return p +} + +// GetChainParams contains network parameters for the main PivX network +func GetChainParams(chain string) *chaincfg.Params { + if !chaincfg.IsRegistered(&MainNetParams) { + err := chaincfg.Register(&MainNetParams) + if err != nil { + panic(err) + } + } + return &MainNetParams +} + +// ParseBlock parses raw block to our Block struct +func (p *PivXParser) ParseBlock(b []byte) (*bchain.Block, error) { + r := bytes.NewReader(b) + w := wire.MsgBlock{} + h := wire.BlockHeader{} + err := h.Deserialize(r) + if err != nil { + return nil, errors.Annotatef(err, "Deserialize") + } + + if (h.Version > 3) { + // Skip past AccumulatorCheckpoint which was added in pivx block version 4 + _, err = r.Seek(32, io.SeekCurrent) + } + + err = utils.DecodeTransactions(r, 0, wire.WitnessEncoding, &w) + if err != nil { + return nil, errors.Annotatef(err, "DecodeTransactions") + } + + txs := make([]bchain.Tx, len(w.Transactions)) + for ti, t := range w.Transactions { + txs[ti] = p.TxFromMsgTx(t, false) + } + + return &bchain.Block{ + BlockHeader: bchain.BlockHeader{ + Size: len(b), + Time: h.Timestamp.Unix(), + }, + Txs: txs, + }, nil +} + +// PackTx packs transaction to byte array using protobuf +func (p *PivXParser) PackTx(tx *bchain.Tx, height uint32, blockTime int64) ([]byte, error) { + return p.baseparser.PackTx(tx, height, blockTime) +} + +// UnpackTx unpacks transaction from protobuf byte array +func (p *PivXParser) UnpackTx(buf []byte) (*bchain.Tx, uint32, error) { + return p.baseparser.UnpackTx(buf) +} + +// ParseTx parses byte array containing transaction and returns Tx struct +func (p *PivXParser) ParseTx(b []byte) (*bchain.Tx, error) { + t := wire.MsgTx{} + r := bytes.NewReader(b) + if err := t.Deserialize(r); err != nil { + return nil, err + } + tx := p.TxFromMsgTx(&t, true) + tx.Hex = hex.EncodeToString(b) + return &tx, nil +} + +// Parses tx and adds handling for OP_ZEROCOINSPEND inputs +func (p *PivXParser) TxFromMsgTx(t *wire.MsgTx, parseAddresses bool) bchain.Tx { + vin := make([]bchain.Vin, len(t.TxIn)) + for i, in := range t.TxIn { + + // extra check to not confuse Tx with single OP_ZEROCOINSPEND input as a coinbase Tx + if (!isZeroCoinSpendScript(in.SignatureScript) && blockchain.IsCoinBaseTx(t)) { + vin[i] = bchain.Vin{ + Coinbase: hex.EncodeToString(in.SignatureScript), + Sequence: in.Sequence, + } + break + } + + s := bchain.ScriptSig{ + Hex: hex.EncodeToString(in.SignatureScript), + // missing: Asm, + } + + txid := in.PreviousOutPoint.Hash.String() + + vin[i] = bchain.Vin{ + Txid: txid, + Vout: in.PreviousOutPoint.Index, + Sequence: in.Sequence, + ScriptSig: s, + } + } + vout := make([]bchain.Vout, len(t.TxOut)) + for i, out := range t.TxOut { + addrs := []string{} + if parseAddresses { + addrs, _, _ = p.OutputScriptToAddressesFunc(out.PkScript) + } + s := bchain.ScriptPubKey{ + Hex: hex.EncodeToString(out.PkScript), + Addresses: addrs, + // missing: Asm, + // missing: Type, + } + var vs big.Int + vs.SetInt64(out.Value) + vout[i] = bchain.Vout{ + ValueSat: vs, + N: uint32(i), + ScriptPubKey: s, + } + } + tx := bchain.Tx{ + Txid: t.TxHash().String(), + Version: t.Version, + LockTime: t.LockTime, + Vin: vin, + Vout: vout, + // skip: BlockHash, + // skip: Confirmations, + // skip: Time, + // skip: Blocktime, + } + return tx +} + +// ParseTxFromJson parses JSON message containing transaction and returns Tx struct +func (p *PivXParser) ParseTxFromJson(msg json.RawMessage) (*bchain.Tx, error) { + var tx bchain.Tx + err := json.Unmarshal(msg, &tx) + if err != nil { + return nil, err + } + + for i := range tx.Vout { + vout := &tx.Vout[i] + // convert vout.JsonValue to big.Int and clear it, it is only temporary value used for unmarshal + vout.ValueSat, err = p.AmountToBigInt(vout.JsonValue) + if err != nil { + return nil, err + } + vout.JsonValue = "" + + if(vout.ScriptPubKey.Addresses == nil) { + vout.ScriptPubKey.Addresses = []string{} + } + } + + return &tx, nil +} + + +// outputScriptToAddresses converts ScriptPubKey to bitcoin addresses +func (p *PivXParser) outputScriptToAddresses(script []byte) ([]string, bool, error) { + if (isZeroCoinSpendScript(script) || isZeroCoinMintScript(script)) { + hexScript := hex.EncodeToString(script) + anonAddr := "Anonymous " + hexScript + return []string{anonAddr}, false, nil + } + + rv, s, _ := p.BitcoinOutputScriptToAddressesFunc(script) + return rv, s, nil +} + +func (p *PivXParser) GetAddrDescForUnknownInput(tx *bchain.Tx, input int) bchain.AddressDescriptor { + if len(tx.Vin) > input { + scriptHex := tx.Vin[input].ScriptSig.Hex + + if(scriptHex != "") { + script, _ := hex.DecodeString(scriptHex) + return script + } + } + + s := make([]byte, 10) + return s +} + +// Checks if script is OP_ZEROCOINMINT +func isZeroCoinMintScript(signatureScript []byte) bool { + OP_ZEROCOINMINT := byte(0xc1) + + if (len(signatureScript) > 1 && signatureScript[0] == OP_ZEROCOINMINT) { + return true + } + + return false +} + +// Checks if script is OP_ZEROCOINSPEND +func isZeroCoinSpendScript(signatureScript []byte) bool { + OP_ZEROCOINSPEND := byte(0xc2) + + if (len(signatureScript) >= 100 && signatureScript[0] == OP_ZEROCOINSPEND) { + return true + } + + return false +} diff --git a/bchain/coins/pivx/pivxparser_test.go b/bchain/coins/pivx/pivxparser_test.go new file mode 100644 index 00000000..896e8819 --- /dev/null +++ b/bchain/coins/pivx/pivxparser_test.go @@ -0,0 +1,468 @@ +// +build unittest + +package pivx + +import ( + "blockbook/bchain" + "blockbook/bchain/coins/btc" + "encoding/hex" + "math/big" + "os" + "reflect" + "testing" + "path/filepath" + "fmt" + "bytes" + "io/ioutil" + + "github.com/martinboehm/btcutil/chaincfg" +) + +func TestMain(m *testing.M) { + c := m.Run() + chaincfg.ResetParams() + os.Exit(c) +} + +func Test_GetAddrDescFromAddress_Mainnet(t *testing.T) { + type args struct { + address string + } + tests := []struct { + name string + args args + want string + wantErr bool + }{ + { + name: "P2PKH1", + args: args{address: "DRM8TaiY38qcHbgdytp8oETreobBLHtpeE"}, + want: "76a914dda91c0396050d660f9c0e38f78064486bbfcb2c88ac", + wantErr: false, + }, + } + parser := NewPivXParser(GetChainParams("main"), &btc.Configuration{}) + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + got, err := parser.GetAddrDescFromAddress(tt.args.address) + if (err != nil) != tt.wantErr { + t.Errorf("GetAddrDescFromAddress() error = %v, wantErr %v", err, tt.wantErr) + return + } + h := hex.EncodeToString(got) + if !reflect.DeepEqual(h, tt.want) { + t.Errorf("GetAddrDescFromAddress() = %v, want %v", h, tt.want) + } + }) + } +} + +func Test_GetAddressesFromAddrDesc(t *testing.T) { + type args struct { + script string + } + tests := []struct { + name string + args args + want []string + want2 bool + wantErr bool + }{ + { + name: "P2PKH1", + args: args{script: "76a914dda91c0396050d660f9c0e38f78064486bbfcb2c88ac"}, + want: []string{"DRM8TaiY38qcHbgdytp8oETreobBLHtpeE"}, + want2: true, + wantErr: false, + }, + { + name: "pubkey", + args: args{script: "210251c5555ff3c684aebfca92f5329e2f660da54856299da067060a1bcf5e8fae73ac"}, + want: []string{"DKL3QzCbJqrHpRKAHvEqsomsDhkQPvVzZg"}, + want2: false, + wantErr: false, + }, + { + name: "zerocoinspend", + args: args{script: "c202384fe80300002228f5c8dcb44644b8073a6c25b8ae1edcfde3089ea0b6f654293dc833f10f12a9717e5346a5475a75c080ccc11b099aee5227ccdfb29d32a83e4d9e8edc90132f48dac02f18a1baea6bd2abceb3324b24f25b9b6be5508b25458fb94af8a200876e267fb6496f48cadf0a8122d762717c3e1f6619cf7408d2bbbbcd6da4c3176d378e30c436d7870ad5956e8bcdde63f5334e5b3b56bfafd823ef9dc0dfd5b0710108b0a5168bd1129e95045952c5a714eb9e1342ced93ff89430d3c9243d4fd0564c98d86392b218019ebbcc9042c659eb49007ee6be4a62ca56e70ee0fa8f9eec0d6bf985a52ca0aa6da17521761dd71569d5274316adf3964ea6b1a98efa3707e92b41567edf919beac7cbf300fd0002804b5cf2c39464a465cdb3cf373ceaf5500cc06125173fd874fd9d922ea89c2d7007f44610c80ec66966af89932118e0f5bc5eea4e674cafdf88ce10a928f1e2c9ad318b2a5b0151bd78017862b2fda2d1e21f61c675649d8b0078498cb9809426a1660e0787d6adae6e360045bd865ab15cf49911631f34481695d3d1d4ab79bc5c77eddad60b331a3f5d60226e9d426f0929d1d0d54d0bc985869d3edaf3eec9ed942a79c6e09cf27482f8034633d06430f9f822c5c4139338af5ee5247fbf88872446cb633af06b71f3b601c8c64a1796b690148b4caa78a90602895f98c2e3bc8dffdc338d24c9623260a60a28b758d5a3965b3c7a22c3ba8607a2bd6db3be6602cfaaec57ad0e59792956dd77cdbf782ac9cd57234587154487a6859b6dd51f319a1427eabfed483abde08805d9065b4f05d7ef430d7ba95cd036ebb1452267cab662fe25ee4319b0ab106cbe3602291b918e11e0da9f7d8765a63696e4360012d5e1cf26bd99466677c8e5003a433e43031162f0b6ac13c3d127e9966019f19968a67aa555ef0488cb7eac214f1794b9cfbc2d956d0dc5833bd3d3a5b727eb9376a4b39f2bb87c31acb5574797ff0ee6ca843f95303b0118142ebeb6a3c46a0e3a00d92fb0bf4d99b78c1f2536564e28967bc4094d8221790e42a47b5bac6b5dfebc71c6e3afe459d7ec3174251e4465e9b2e1427159edfa2e9ab9771ffd0002eed970d3b11056d8a3a27326b401f3a5c4dee991a3995346bdf0ebc9cba82fd890c86953f6b3045c6602e5554eeac02ba3b8333627aa5e1a7041dcee385d45b193e5980d5ce006e8399ac7a95f02e840c2606c1fe3e32b80126a3ffac49d4fcba6780a07694c206780551f5c8add1510b952cb5c5d93c81b508cb58b9ccf96df1e340ace3efee1e9374a10d6b1712e6acd3bf9b5885eda1abcf59a4e08877189587961788bc88c1f1ef9e4038ac60343a5fe5d940624754e83a3b29cf78bcdab71cfaa45e20865561337625d1d290cf251648575c108f797c3a83f1e61d4fcc250b688b00be36ea209f85fdcf816b9e280b39b7df141dd8af6b7f828836f4709a8fbaf481dae117e491ac87bbbb88f247506c58f6c41c49d571f535644a37245e234b5f9ef2d20824cfe603d2433b108792dbf718b9b29823bfa007b3adf6a75a3a94536d356b1deaae5d99693070656dc76be36310e55916f80179166660e6b8bc6291e465d83cd5da0c7d075ac197c92dc4eaaed74d10c2b0c33ad232917e04dacc8ff8849d970bef91048d63dbb44786bf22e1e2ac5895f0da9b3a16edcb0e67adcb27b43baac08f719f9f3e2efc22f46cf20eeabef0c8335a56556b38b18b5753c60edfe1180bab243ce61fa3063f598177928b5b880f1da5e503a50d04ca2fe4673edc39d8cc7a624e5589224f0dea47c7a71d3733d44a4a6185f33ce0bfd00022035c0e9e488a791c1d999703d54be5d1edde23c06660fe1b521dc8300ab7c3d8b7ebf9d75c4f677524315980dd423279e2a2f12b9fd4a8e45edc9a984b4f99397782729f9b36a9ed8785df4b75d3456fbf127c5ba7eb604a87d81b4a9a2148b5520b01af46627b385a8f2f2da53560186c66a86198b0a9c1a3c79b83526b7024de93616122db278d7d9982d05d215244ee5ee33fc6309ba153e043960653b3ef7cc0d470835d064eb106bcce984746d9d5f9b5ca89867f6ac333d16eecdb49136582318aab19b34196fe3d687fabce7815fdf7acaf4b27a9d493b06d3bb0f1ca6ed677ee014185fc299c42bb879be37337f39768d5323556a57c3c05ab111ae08a7b5dbfd1830b2ab2d2462527d864d3a6dd1034fabfd6c0cef20121dd521c53fa4e2ba33862324fee8b116ea83a7aaa2fd68f3d7d955ef1cd111473dcfafb535f6d26bdbe53fb62c401e3cae8c90cc50138435afba3083919e41096cc2f870220f03d8c1bcfbc463aa2069e633b334bc89b8f0e98fb18bb5a71c45534428ed25fe2647c229347c5a213c8c78e7db44b80465b929f0eaabbb328579bf5fa433e993810f761b2a26dcc7af781d73939787d346231c342e61eb45329064b8667a1c314cde899575c9a6a88920e3054744feecbf08ac651657f0ac9022d28946062a80ecd69d9503e59307be14316de92a519835157800c2a3c844abe7864be701466dda4c2d96ca711ccc4622fa541edca55cc3de28f476d5d2c10c89f1849e7ed3c836b9daedee0bba6d3d991f03f3815ac16787b736192bcc8ba2e9ae57846c0e2a1f09ea1807460866d88f74c2b1db9a9aaa007c76ae19b01f733e7ef96f0c6e11250c61ee0b4edbf2e3b22f3182775725fe18769a0dc240a531cf78b8de2b8f1499132d5733d6a3bed8fde40246eadc0fc9f746dff33492229deadc6635ced18ef5d37cfc0b35194a7966406856eae562cac3ca9ad76f43835bbc98636c36a89b605cb771b78f95eab172c428c11e554936d609fd010156d24b38e9ede1df44d6dbc1c7c94ba060321e07fcee445adde8a5b0cb493cd1a342c714f5291329005f5b212380e3d2962e47057c7bd002c8757cdd7e5a73206a22b6da4b8d094dc3a752174499deed98dcb0be75f3fc777a4c47c82bbdf0171c84062796f288318438379b26c4a64ec11e953d34fda80d042d5458c8dd9fdb49f367e8deb7fa027df47dfa281bedaf5052be13c7358b83d43b666614211fe22ea48573a480f3e73b9bcad41958d94dc17d5106066d6d2e9bbd035ce53a2ff94ee4709acad5d33a35abfac6081315a9ca9e466374bfe4332b4cc4cd85dff3787809d885aa43aa38a7de5ed74cd9b240451611b3eed9649a19fc840fe5c099bf00fd00011e3c123a51673507bcf4c198d474fb8c085d511c4af370ecb15002b394d4209852b08b72d311b301dd1488131e5e5343bf488e5dfa6848c2a03796a77aa7cf2516942bbb8205c19f7f19ebd6fc9d61729363cdc7548e2d5d3b626a3d83f0886755c0995b19476da34a7b7f162efeb4107780ebcbb244a69eeb62b8c9cc10b04d0551166f1f15079a9ae8f29df771976136fe2685866224d6514780c14226bb56652f821e7153db39c55fa76a45b6bdf99af9f0426290ccf375a1af33d80e98ffd2a5d62c8ec639c25bf4264e62e0401d2b9128b35e2e2eb1bf1cb578f3af6ee3d572acb9fde866cea6bc17d95f7e11150ebe3fcfeea42469c33b3275bd7c602ffd00013bb3f35666fc74df92514b111f50a73273a847381573c11ac963b7ebb949cbc690132a940419af7b40a3fa42a7326540bf4d65c770def96616ef26711f63a7a275d99c7c1e086f5086749539fd1455ba1b21dfa8a8aa3f2350bf3acfd1d177cfbf6d130e04b37e5f54936c800063a3f54b68e58857218e307ebf75177ea8e57ed4ff4f91d1baffe5f8917e0f1c50b43ebdbe7b6624eebb43584ffbbf994e0befbfe6d6d615e6765717aadbd386cc885de5a77e2e41a66afcaa895e67d9d15df23c162e3b9b7f03e598bcf76d9713ade4845f9ad78b21b26d77318a54b981fa06517ef09d3947088de9dfcc416637e07edf466aeb4a3cbfc48c97cb94129d9056fd0001fea89e47922312c9c25ace1474974b1aaafe5266dcb958d6ea28bb62049ec0f67e8187eccf976f478b71ce0020f7b239073eae58adb660d762d4e20b8e77e75db2fcf3ad9bd12dab974fbde61b1cdad592c8553cf0a5e7d790157d423895abef8f9c2f70511e16802ffe02f39dcdd8b22d726d33e2b9a7a6aba5b846fe0827a505215b18dca6180657cc3f8c82923fdc7ed9a3c2b65a51ef40a816597470e0f5cbe026127e9b0571daded399a648efef4ba481d793575c64ded2122ecd1d2e75ad50b4965b27adf86786220d6eead7cd453958eaed01a2d47d66a775ca14c61505f5e41f3f7707a0b563ab987378036869a28101c94fca791ecb8b7df23ca61ca4c9cd49e43afddb43aa4809ff7b9fea42d0f2040b87c1f5b967c20da51bf0f85c6f1f8ebc9bde9e55afb41f85f77d017b4a2a10bb3320e8b33ff28df33d43816555f7d7095802f225de6df290454e68972085b40af312bce41998498719d3f40e746e2293906dcbb73c8e4b56c81c1470577e80c7df58339a30d65f6286719eba17d2ef25214ce6835914ee6d51370f86ff54cc2a737145bdb18d5fd647bdcddfa28fc106fda0016a9d3fe873b6a232c42543f8f491d813f21ed8960d74e847141df16d2e0fdacdd7e2aa9947d923c320e3166a41b508814fb8a616c22a4ad8f1ff605956670eb20fa97f554b82152f0a4ccf2982b13248545e815403c9349faec3f4ebc688a983841597eece75a30081da81744046ca10e4b39b3aab804c220d92e1be90cf5f0de4ef02ddfaa39298f9048304a2a7318ff01d71a8822bbaf7d8e31368073e471e75c3a324d1189a4efc0a9a6d37421edc77d50f77236a96a1032b5cb52fe8a256d714a57b8f4117105041d037fc9480e278ea4d7c480c848d2c8f3140fd51410272772b71b1fb8c2d9c527341d5bb848b189bf1d8c5af29fceeda48765add979b09bf02041ee0be2ca8015b2c045e3658f7dbb149367ab197bcbd753217513275f092bc56ec8f2f9f4e1fb704a413f08dd4b288845fe69ed204eff90872f0f2282d5d24072242f0ffbbff8a9c93ce607b9b2186a2d555134c07ba747ea087238fe605c3de5019d060f1eb55d20b340dadf8f759eac6ab7576ff53f17a7a44e6ee353fa625d37fb3818a3f7ba2afc530c17608ff47af644b8f34d6601a1d8f1682fd2401b2d93d3192f34783085dd953352718f6fdc2628b0bd10f921376ee3e419b7f30e7ba1525d4d5b8624b445359d180681010b60abeadeccc7c43916fdb8f140025b1a3134e6bc5d9abb8360558ae581804a31d3ee0f96f1cb89cec27c17c772d041ef02e6b59a61b53c211b1ee4e9ce516cc052de191833b853ab0cb90e0c6934790ec0e1350fa3e037fc246ce8995ede9c9f0aa468b5a1eda71eeb0a7a9a44dc1671d88719b9512d2b59af8e68105e1a10fdb4b41d28dd1c60f12cef2d5cdfac8ce1727f65f43011a536ff803d386117aac5a2cb21d0af1e26b0208de5e769a46cc26a15b67e53e5f73e78cbed1c6984f7d6f45024f139917c6a2fd4c593f8df69f62729677cefc49d4c086d2d64d4e78b1d3861aa6915e5d80ecedb8be3779ad4ac1901846973b88a34f10db8aded44fde8ffc716bfc0c7ab32adb7c8af7bcf215679621a3edbe2d8939f165ff3125a61440e4255cea25d1725c512e0bd3f235c560c74b016ead88f36c26fd2401920a99652f9d37210c815f8a976839d61d2d8e63e632534be5783d6ffa704bc527415df751821a714f77e1bfee2b0aeef13ae16dfdd0b90c08d528b918ff461e996f1d58e42815690d97ddfa91c4ea249f017413f78770dbf0033bf2f1cc000ca3e31cc5e98e78c4d535c28102d2f0ea65ea8e12e01a307d6734d4517226149d625516a78a083b88190229a2f277ef5b42db74e93535fc07b0338f1c8a87925db3d92ab8a4b08c4c595d75fe2b8a6d73ffc63a605d7336b82f7fd4fe38c583a9d1bd1948b682ae39a86c8330cdde60d21e45c737a9b84f5af35ba291b8a0e2b19ca73c03580ebfd2b0bc81989dc6b316c101a19f401463e49c9635815336dbd3f77b5eb57e9c2795dac191813954ae5d7fba44940f1b50cf8da82dcaa194cea481a447aafd2401810d68e1f0c708da414cabc0befc4beddcf7d6a98e738088b1eba1e631ea128af363086cb776afb2e0d26be6555cac682e4f56f7db041d4b05afb09b0f39a3d967d7a677ba2521dfa9a7f79f3d9c69342d5264faedd3d65586dfbf13163d13b9a17d64c716e78c58d1ba034ea61d16e60efdc21522cf3b2514a29644974f3313366126999c01f3efb61f574970cc84d5e099a294a2f10a639f457931a02f45e6a0336e827da0871560611e56dffbd2e544adb593ab075e153951f5e131bdd401173ab862cc9c3be5078bb72492c42b63aab49920e40620ecaa6c1852225c8b6825841966143f34f700291fffad12f6cebc6cd22c0dddf08d143c701f6d98080c08f8f71a3183a9b8c71efc95bf2365ba3c6a4e960632252c347f5cd03d98776e54c96cb6fda001e426345b922ee1c9a6a7befb7764cf6da83a9422693f6f48e9d8f028f56394e98fa82c0bb21d3a691a49e1efdf1cf13b04a3ae141204f0e2f6c13f0de8922d20122f92ad7c9f2d59a8b19dc0fa86cac0680b44a37476e6bcf8876772f9da916f3050c2169210367a6586e55a439472dc6c056307000bba0f32f1535a28cc056a9c2f9e04f9f6fda9201530e55f2ac00959c893738e9a375220d072d1fe31b85ed904990a2c3fe87a032def61b3f9bb97884c6e7d1c45071ba72f6bd38f987965a3fb6b9cd168864e6d02d56bc08a459ff784aa3a73ba6b787558041bff57eea7e834ba069781e964be2973f20669c52543b142dc87b9e05a6107ac2594db04a80dc4f79fca21f91caa1a278fe39bdb9a7230380d96a92e6ed3cbd09b27f65be82bb5006020edf676db53b4086a249a44072c17f11a7e61b1ec6840943192753c5d3e66e7332a787e3d507660e536dce29d4f32586686e682145eecb3a991225e95e28f9c83879b42e38d4be043cf713484d2b3c7ec9bdf4675621a910b08d7de7efbc51de9c90d67cb5cb4be0732b5c7f1a7a59ab1e246afded4033eb0e6a580614ebf9176247d7199821e51e53d64b5643ce30c0e6c530b5c84bd79680bbb49969efa9e47aae229e13b3110f7685f875e858fe06be50a338df26f0925839fe4e773c246477cc0003dd8685d179fe276230690c35042f80e3dd08450be1f244524372036709b9c956f5a4309753828390bf270c2f59b26bd0bccb61c3f26d9ac9c40444606f9402217a020ee26a48fdd3dcad68729f8b379cc78c3ca5819282e12d690f995ffade91eb9ec3edc41d47574c9f614b8c8047081803df761d880ffd7325b73bd4526880c43613831dc5d3002e8f5b5ad51b667bbf6dfbff34a49e9d62ff198d5f5deea4345f813f408ce19ce07f68654cf8f19932e10064bec9017d6a2cf5ba0d139293d4ba9b71b74d63b6a6763feaecebb4fd65a8e7da10f98137942ed9ebb4963f3907f055950204d50e0fd7363e9814721cd53f3896feca24f5d544ac857e51610a627fb3993c9200d5390612b315d88b24a0eda3acab52028e2f224bd8aeae0f9b985c15da13c5220e0fcb3e8f296090250ffce1a35775a208b305187ca439495a3f21cc38b2c1871203974b08ac4a3be4980739bd9328a67ba15b5b7f216cae3f7e400d498c10d58f52092f5fa30da2bb1f5f192273d966427965437a28529440447bd96a49340c5bcd620bd103e4fe6084eb129c3ebb0c1afe65c099b47c43470d3011bf3e01b6bf6f6c620ca9ea458c131ec536f2f2cbbedaa4787045494e1a283ad4d279ab3eecbee73b020458cd770741aa7cd2c4583a2b484d835700af59ed1401a4bb783cae17a15d43420b9ebee9d6384d21acdbb3fbcefdcb24d1a1ba3c40221597654285d20b72c5c5f206cc3a66f93a0682e95c735ac08cf45a253f306a0d2ea5c35f922ffdcdd3724bc20258f23a294f005df3dc354cc1d3ea7c04b04b0d327f73748982176e45dbb1478209046f36c74dcc4cb7f59ca9b31071d29d790075626b1f2958a82adfcbf7e264b20ce4d42f09479c938378d0987668a704072144f5f8d10d6add28f27c4990305c720e9d84ac067b6c55edb53c9505abab579c11ec4d7125da7c05067cc0b8d7b1d3b2008eebacdb86009be95bd835aa34c7766183906a0c9494a5035b6c5ffc1cd3f3720a8527a09ec0232482d5d54e920c8e5cb270a99b3556d9c2bed9aeb9e7ef77a7820996ce009bd3e61496e7d977fb1fa7f770547415a19af106002ed6e73263a73d22065d7a01777b3f7475d4c197c87e4c54defdf4d9b19bfeee666bb706717d2af9e202486a3adf85ae19cc84e95d7523e056c48d17dc1c7cd52eadca5b16754cf6624205513c1bcf79af11aecb582f959350752dc30b34b6e4aa43fdc975db9474678262007940cd34b485d77b36094f4724a4640b55245edd609dfde35ab05c0ceede02920490d837e6c3ab275a63a2fa1b688985bb5dccfbd8058236d4f7e543d45b898792080304a1ebf6ab0b772a56183468b1ca1800d12af1384822711d626da86771d69202a4e6750bce678bd2d5d32acbb4115d2d62400b478246313559d24e811e068b220901b9cebd3bdeb1917c82581bdc09394ae5ec6b3cbe604a7c55cd88191018ea5206677217c27cea379fd02a893a53b65fa9707583209d6ce7d92acf71191f06f8c20c5aa1a752e45a20ce6ff9514a93eb8e2a3d1c20a2e6da8ead4e08fdb49a820362031d609cf79dd225908cae397fd528a3a1c790219198831da8c0e52cffe410a7320192a2ebafa0829d5160197b2bb1892e56e0712659f03f7c93fcd066727229f4a20b1e057358eac36e054912938c80d92876bf26709e2beef22004596abfa7e931d20efe65db4d0cb0cd83f87ce3de0046b40391436429c75372ffe43e510b33c5a6b206459a7884a1bc3ed6d6ab7e766f2d4abcdfca01f3e93a46e72b36334358077072008e98ce2698e5cf02509ae8a42ecdfd79fd6177c7f94af10adbb991c656d7e5820dc3729cc6773c069abb0f66470512e477cdb7d1bda133cc5fdc2bf251dc620cc2093035c85397af4a528d3bbb93071f48ecc418e8a6b7255cd755c7a2ce77fcb6e207a910d8ff9b0c94f15a6bd41ed879935fa9e5dd45cb0fcca1fd9d3ba02db489a20cfeaf4f8c94ead77ddd5fb022c1f226ef78daeb18d2098141f3bbba103854c412043bf1ebf028e4dcb2c49e180048933ee69e9937c6be45478d1b59deac75728502057763ff89840016abafae0890402f55ec14d72e0659fafcc8df4229669ccfac7205870fa711c94881cf88f10735e8e1fa62f949383e8c13ced1dddbd0ae940cbe9202732db201cc7d170cbe4fea81e5e3c0eb656dce6dac2af43f62517d78d7266352036f92f3315c6259a0eb9b8cf13b71a9f5e08487832c4eee7f28daea302684f022067451ffec357ed9dc203eadd41cb87883426183378b7dff4e0c86cf7d7d79a92203b7aa0f29a3d4633cde3839cda8467836d7d4ef7b7de19b74641a14af09ed0f1208a6a23ad4aeb120e5bd6a68ee0d84bc411e1a0c770ea76f6a427c55a92cadde42071e96930a3933a5f6657dcd7ce9dc56ff6c4fb00ba2b9802b8f0742b93612f7f2041b4413cd3478ed8aaf837f1f860f023c2ceba1fdee135bc6e472ed71b848d8c20f9365774077030d564aaefd9ae880b984d1c76659df81b11bd62b1c78e91fdaa20b74e8eb3b891d3004f1003b9b764be60c5bc6114ef1954091429ee48cfc71d06200ee9313878d9957d60146a71b04290db8e67ddf53451bede60776d92083ecd3120442a24a57b909d440fd8f18ef2c6f07ef428f12efee70f7806c240c098a63e022033480172831beb16e419688753b804662dba87328cad4f082da5ff616795714220314263c8af922af005215fdd11fad0814c17686d2ce3ca081063a8e1eade6da220b7b075ca67ebf96ffbde4738ecb2fc894347ce9bf8797d4a5f63b86ff6f0496e20edcbc228047fa8a7fce8bb344a0e9be16ed0ce27773678324e13e8aca26b02f020de15b6a5fba896b3cc37e2d8f310e32c8436f1e4391dd8a8510ad2e017f7d3f5208ad7c2dbe66cfa78694a91a4c7556790b4921b7dc937bcae2bdcde009de663d020dceaa91228ff54c694169b863a0bf5026930daf1602fee3cb05f19bd5ad4542f20142848e71350ac73b4967a83e7f2b9a2208e75925b5336d61ffe42ff3b2faeb820ac526cfd567af3391c352371b962228c8308a42d2cf0277061f2719f6087dd10200c24f6264353eec32a3b6c43e9be810f42aa2367255e78ddacf0358e741fbb102001d2fa095ccd0bdc88b965d28fbcd7415db9401213f6a0904100888a881a4f7120ed1da95fcd5f935a5cdc33e2342b67ad680ba936f4d3001cd9dfef031a7d6e0e20bcd858d8e0035d3494e5536d590613fef761efb5fb54576b6de4a8f9bda76681202fd843be1bf623f605bdbc853d07541ab05a369db17b728f34e348c828848c7620271c6a68ccfb3cce86cc8b45872959a10048a373a8d7876754f39ab62d9f7edb20aa3d579f878bf9f319e81104f1474974bbdecc1fa2c7664360836ef865495832205abdb9ec5dda9eba3ec8ad4ac142ba38f85653a9ce6be9c400504455c62ad8b420878ffdd3029ee2462e0b05780f57ea745b41a6a7a80f956c249014ec96ad58c220f8be3f7f3acc1a10967f23bcfbd53637e1f761347a514051cf71b6e8c5d125cb208fb516a923bfc188aafd435120ab0f2c466ef7a862015d25f68f1ccdec135d0720aed1bfd9ee3e03da21ffeec3992cc4607a05b11a43a49d3e34c5f9e2c674933620c81782ae7c77bd97e50bf2c1113251b472c20364ea5c05734fb8c931bd963926202b96a9556a015d81c002753c87a812104524a2658c2a449fc5545b31a7f3179020f8dd89e5b4eb611030f4502cf0605c15343abf0eebbab8ba3fcb0b8ab5fb254d20a6e60c472882279a6e3ab845f121881e022289a147bbdfd9b095c43e89b61db320e2b18654e28c65691548f5dc646efe2336a96e43b2b8693925d0a7b93d5d22f82067f2d45fe9c588be9ee0558e2e8b9c155bccc24a0d4a158ae4464508289ad999203b74568c2c4b7aa6a78a0dbc3a3e132d1282077ba77412cab157e83ad1559e0a204b349f5d9f926091404e3d7149d98865d9ac79489836acbaa1489d52c506d0b750fd0001a687e617d1b18cd4e94a5937f1bb532eb1aeba8242891ab98befe3c36e22e843d15a26b0eb1051df6ecf5ea7363e1df3f263648c6693797560269d2e7d0a33eaf50e7ab14f548fdf9553159326ae442b42cf5c5339341287a7d156f80b9c81bd69af340a1d4ba903b7269f542fea24ec921944908db58937823bb7a8d5c37431d442a7df972cc5d7b2b068ddec416a41830922a4080a74a5408e1b9bf00114b91c7e41d204a7917dec0ae1759415a47f79a089d7780d677576cbf524a58055c5d58748505fd1c7ebd909c32bc053751f3d46803167e87ef110cb5dfc482b86c5ca0aa5a2a400398fc192469b5c8a9009acc6fb30ca290eabbba720bb4edb4a9b206fa0fd0b25ef594747ca0c7428da86fcd587ec9e12b9b422ba5aa53c1074471f2036e1e28e0b81a00f2d1ec6aee2043131cc40f1ead26c2e3a1d8ca6d1367bed14fd0001ca8e35fd10a6426b283dd6f9b8ea17fa6c2acea64c19b6b6e6944625a1b55ff49a3a68c314f526d96fe0736a268bf740e47f8e3b737ca1574e2fa4f9f291a539da5a4380aa046511576a2ce94593ff0fe8a2c2019daa49bf507c7ec5c7da7891ebd3328495717463205ce3da032b0aae4c8e753a0a89562d0075bc2e1756eb28c6b47885e0581383b6aa4eebc0baeef16a04560c09e3340f52f2c955af9c91d5fff81f977aad9a5aa23f3fe17f79241ea31f713eff268ba3a8a70da53c1782355968976218814e4fbb4a5c4daf1786b0d0f126f0507f0b1f7c776691bf190a3b53e01982f78c17b8a35f68ac1fc20ab30bde05768964856e9851387f9377039dfd0001f361afb479f6e842e7256bd62c18c0265fd39170ce82a466c2f5687bea0e6862f2ee9934bf53aba75917462c9382b566869e01d4fa17f36c85dca452c755ea56fc0c29a1d097d716353afb2f2a67fd18ae365aff687c61ad30398011f0a40bdcb64570591cb831e8f625873aad27b34254a57759efa69b2b97cc0298f1093889030fb8eae89e6abd9532d93b356eb64f2adeaeecb5df9fa77125a7722be35e2fe489dfb7827537cf0d5522b9fa1820798f1f692750dc49b15f2f232b0e9b33971c02ece0ab630abc2a5eb39fbc6238f6cfe924cc02cd98be21ab4569e2cd0a0ee34bf6b91bad47714621f8ea4b93f40dd59ad1ef1d7c9ed5730366b15bec0484fd0001a655fce93873aa7f42b68fec87234021b1cb94742fa7ad06ba54388ddeea4f50ba8aebe52ff0e0178162a97cf96f3231e8c6ef0b48315eb4eb66b3362c62e7c91ab439645be117c153fa637afe900e12b12c02acdf99064c31d31ac4eb804ae113f12cac634fe93223509ee7a06f6a1ae71bab884f41aabb826cb3518faa22735bca7e7243cfffd1f21a9850ba88d94834f2664d570a082ab487d876192fbceb5f7aa5ce71b1f6e538cf6f04bf5796c3fa27dc4a03d03db2c589324714683189b68fa783cd0183889f0c7ed3e007487e9e8b92fba48f0c53e32eff2ae35c13328d7c796a516a068b6b8f4042f754fdceb6774dd04120c4f085e91c8f69af2daafd0001ca4df47e35326f7fce35ca8e6e9d519bb72921d4a14c2ffccacd7b4533d9edef1e940105afb6bd8534c93ce0522274382e4b486e35351464aa26e0d7b22d15f8b8123d070e1dd0d004c423ff298dbb049d425d604db5c0d18700fcbbf92fea8658fe04f8c4616ac72b8dae8984d7b69f6385bc70f44b7f93b28b6f010e2aceee60a04d4339aa6c3048ccaf8ed2850580526ddb784d8bb45051ab5ac72dd6cdd74986ab6711530a9ebdb9b5b6fd72dacf1499707fc6a5b5d9576a9743d16b9c7e0520057d5572a12cc7b20c520620f5447cf08138fcbbbabb5f32b99f29ae4893094da51b70f413d94ef4a8ff62f7b6663207e7b64ac666eae16e36841bcef09320f810956be8c599a0f1fa848ee8b9b8bc69013ff3eb5331247be70868bc62dc152027e0692b2c33fa8d5af172dcfbffd1641048d08ec04c7441ae090d769b352546fd000158c2d184c848f5bf9ba09b98ad9231a36151482940e21df83757a22c320fb96844f3eff321d4013803e0740b5ab96835e01dcc44a6859aa5c1bc082c26136a04b7847dac32c32e3463ff79908b97072f772056e20dd8224ed76c8b22f8dc346e02969a8db8bcf1a6dc4b0f0fe13f5e73a4c639639903df6f787aa8aadcad0f174a331be6fc31bf57b0350db3ea20bd2712ea1a423bf78aca4f576725c70073addc3ee56d877fc87e49955c9f3f9464098c8e093688dfde5d82b19da0a3ad9028e94ddede491cfb5f6ad71f9ba8c690385241d4cfa1f3c794de20b43d90d05f70e75a590f32950c6c58d16205c6942f7291646a2912db66cec7dbe1ffda9a5aa120cfec6b50a4d0fbf3c1223abbfbb89e803ba3e87aeafee62644dd9ae04d32bd102031b94c908321fe8eeba6b63abba917f8296f8e6363859d62ea6101772ec7542bfd000143a25f39122bc2ead5a4073aeb14fd23d3829d7a67bce0639c2b38f654e4bb883979a68ec0c5797fa149623bae4c06593aac99d1717925424d8a0a96f919beca3b930ded09024a3fa2daa2412f1fff41545820b99a41b142e870e0077f4aa16547333f0a9900b56d8c4311ff8868a2b90e7febfcf398fbe1747ae3fb866271d41d8eefd128ea6abb21c2c5738ae342c3bede37ee29bb9ef0d667631b48476c0ff5fe0bd336000f34c5c0c1ed0e42b81676293ba34481654d769f5d425bad13a41c7c3aaa386b49deb93fa83c2b9aaa0f391466efc87ae566e4d8172a49e1d2b33b8b0b9cb13416dbd669c69af63ce205a678b0dead0a870fb5d46ac4459ee882204365ac01efa220b04664f6cdc3ac6e3b2edfb562040d6000a20c4a9b48466864204dc22a8795977aae9aa962b9a901cc91a009c03328ee50f63a91b62b7e574b20208b91e6507b7eb89ce06cfaaac01b7555f481d1f3bfb63ca18ce7b3c62f28081efd0001d43f1c8e7394655dc27f068b41a266bebc9fd42289a4e2870852dc1db8cea80784f0a1ac8fd976e5a55e773682170dffeddb5d0514c1500f2b51976bee8ff0848bd8fa8d7d7a96f1f378498810ce8b59c3deeb0d740d41a013d55e97d1b7cb84f239b692cad6b4310c3afb7ddb651efe5ad937e968e7593951ba3d0c826060cf52e0f485b08300fcd951cdc8509897270ec7acbd0302fad9ce422856f87c73575e873ba44e4aee2053f73f0005ad238ff77d027a1a7e90835e5dff600d0049c08edd5119b79fff6eabd0543d2e556bda29e8fa3ac75399dbe522763fa280db1e4e470ed9bc7ac2cd8bb482ea6a8016b6e2df8de14b01fbe703cc1dd30956c495fd00018bb5b36278890a8d0fb92ac2d50c96558e22e3d08a428b0d8147ac30c574b7349e906a366f99b46dfcdb531812ca39f3895ee79f544835df37d391624b90f8439a3309a2fdbb055709d98a123cdc1f3f4db7b78f88a1d90b5ca672e9596df720f4ba699b07069821939d1488a510ebff155ec650a5922f6162b5df1391fecaf72c426721a96c6c6824c8cd860d5dc8c4d398187c54a08f50247c4cbabfcef4f954aaae440198034fc9673735926caa350d72ef32655c4a90907a7ce384852a531bd86a23aa3fc9188b3580a9c8ed8b1145be49bef1803286fb93762504f2bd9a3f29b37bae6fdfb3023cb05d9bccd2176e5440c35b95e410fa8d9b23967c109b20f15d92c7a723e9b727b0d69d44aba678a21eeb1203c3e00a7e99b94b575daa0c205769c237ee4ce5af24cf73281e16d041c7443c6bfb9061b1068731e3c29f306a203b64851b6906fc8eba9da2cb74beee0d0cc60dcec5dbd041d0d6c72944498e2e20528d14f87b3fa9bd16a8ef7e91cd3f1eb3321ac28237a18f785a9f5ea82aa271200d5f6ef8f14356f1f6716a779a432cd7b479c92abd0449c5fd0aed6dadb3b30afd00016ef333f8b546d81aa73b4d1a05a732b9b639f81e963dd2444e16e7ff5164fb7bd7a0b091505e069d4ca151aaf338d7ce3598b1aeedcbe6b4f681bafb425298c3585cb64236aca41f03b37ac179136a8033efc4f35a64d33e3bcad7860fcf473fdc6827e6f0fe0bfd3a89ec46466abc639fe12dde5327ded795cbd8b95122ee3402838d3882d080f8bc34ba11eac7acf41094d6ab57d966f8cdb1a33c8a35646dcb70894aa20cc0c3ec2abefa3d88bd5d0c4b41be77e67aca9e5cd54daa7dcf21e5bf52bbf1bdf7c3d5d9532fe5a0d08fffcdebdaa9bce5bde773afef8872c5b68db73dac3ebf34f15cbecec7ee34421c529dd0f6bdb6eec3b84dba6eee50b4a7fd00012974b63c73e269d7e59b5c6dee2fca79047179d61fd94d52e9e48045fff0ff9960eabdaa9b862acf54b2acefe8d39c58ce89966149eb8e3685089602df1361c07560339ff97eb271bdb0348a9c14f38a59b5d9e7ea11ee57da0354a404b6e2735b90387886c62b5c725ba53ff6d121aedf4e705d76999116407750959f7a9e28b28716d766aabe7e995e98fcdbeb140064870f9008a724556ed650d0e873bb4825b9346c00d4bba3f34aead63bcea1369dd819696a43486166b6a72976622b6f5584b91c979b66a89560eb0d07fffc08a35bdc4e3b6bb324382f86aa98ff583ac6930ddfc94288532ebdf691177004cec59b06a675ada0c25aeb666bc927cd84fd0001a7f2d70da64170ffda3d6a6c9521bf27c7c9d02d65de034cae0d7770fae453ddcfdea640a9bc7a4373c9da605c87eb7d8ad7131d6961d437f28c583b6c623d9f787fb7811989eb0397b1673e127ff2b6c2ac0f890ec600490744839cc385f8566088100712d9daead9545335295951617027d1847ec01b1547b17c44d2a1040667ac1d1be0bbb607ccbf9fba327b0c2f1c01c6797e2b4b534e794602f880cf695921f1a80f20f898c6dd6e1b62863a585dfc0e0ffc87e06280196b1858d10339944def0671c3d635bfbd631ceecbf483909829f3e04790647f9dae9c211097339e2b522c230f9b864e622471f5cf75d3cdb52ab80fcb04d8fa175c2723faeb8820decc7d8b16575215d1de5275fe990e5ae6d7ec47ae3267364faffe6de401a74220e91af0d0967de3336e4073069eadc657ebc56be2bf2cd2be2e37e87d0e635f682088d515ffe2c67832a6e9a615c1b16d3bcf612795e3c78d1e83fea2fa2eda374820f01e9b8a6b3fd67b610b9c625fca4d52007b1a4a9d4985488c84bf42a1cdb23420677ca02ef419ace61931dc3548f9445446290bd0e4f82ca5e96269a367d1897b20f6be50cc1461e0c6e5dc996bf527a82d23016e763442d741e6a1f126bf25942f20bb54ca990aa006c35d9e8b0add99c09ef95f74933128006f75f295938f098330fd00013764585b0bec6afc184fa6df6189753ef4d10a4d2a216aa50df077d8f7b4f8a1027b79a01cb2e68be9cde59c1d46ec6feb498b3a71b14986c4d9ffce5091876ac9d39b2c63a36359e220d7ffc5a4a0e8a04aef343f60eef31043a942e7f892c5dc152eeea6f22a9c59b6a21871fa8d6bc378c6c7d063aa53b9d13dd2c70dea96533e566534f2f156e9ec37dfd7f1122ebc4514f4d576bc3a0b9f72fbb685b4847090b96fda03fcb9901b9d24f1d91676b9682242eb634a0eed4b5fc2e98ecbc046bf1294cea1c13425be8cd48ef55700aef0843c99ecc5910890e65a40143fc0c52a31ba3a89f5796d607fd4c6dc592e22cc5e93192a936686707fdbaf0429ab20ff89d0f299307041cfc42c566e3da810f3f0f84c741217e899a5459bf6ddad1afd0001be741507c20310671681902f1f66d4251b47150ab8e7deed2d7df69db163b0181058b958d24271059fd29c2315250ec33d6340686734df274dd8caf8aac2cf28d1d395a49c484ba80a3d936dd81fbc4534f05dd3d5ac17690ee5b63941dda6b10d4101c87411afe468c04f43903bac5e3186781ef3dc8a9bde596ae2edd0b35a55dd04d02a7f48fabf5480c142122ee1a29f82bc0447e46ea70badc8dc1c169df50c0c24c2c578c9753b096ae0633ffbba5aba614b5853e42865ed18bee1f228b2a6db9c78303ee368f82d71eee0c0d77ee39c0dd99a6e958681af78cba904b90da03fb72d2f80e60fbef27d2fadd4a1894a4769c2704afc9c18c5374f21f080202c555dce0965572b82cebfb3c7d258c0acdd99b3958fd4f2d03e4c9e4c675c4d200508f57efc9ecbe332248b0d9fd7eea86acf68a5fe4078c52239acf0fba87346fd00017e12cebb21a6202fcb32ecd17a403ac5db6778a1f057f03fadd7747a25f2ee0a5da0fbee74396bec77d581fed976972bb910148f2afca54b97b163159732e46ff07908c97b2cd1fee5e7b3d3a2b7934106a4557f3b8147f3ed78f1d888d279cbdb035f28a8902cbd1922ee02000d226e86497592d801fcd40ec6ab1a169a5fbd0492262124e3f41209bc0ce3b9fa92c6033ad735a323df276ac583ec501c89af0c757f5953d7988a3c402f3a94b8ea25ca2d6cceefec0aa501d3311063913beafbb86bcc1ad2a68961a229cb17392600c6286ef0bb522bb689bfe77d50f14fda162c449fc80518b03939637c5a0c41d2dc21c111f88723400610028aa62350a7fd000148786792a75ef64a1268913ffdd300911c0f4b39d420d458234246b9e3919fccff5b2671df6b0a76c7bcd354f2758832e66c4f8a4f2fe9f52d738045cf06cf56dc68723cf5f55918fb80cf286dfbc4f064ebda5fcb7c8ab2d16e6bd71f28a4a29da026cbb218e6ef7ea76597cb79c878b88caa4ec0d637a182103620a0ef3c1188b0b34a97cdf61ffc46213b75be3283e66b6782c6bcee7e15cc83d22e8a40adba5527ee3a5a9c2242a5e7f82fd5397d7274f02e2d97ce96be82ba85694e4250b88ed410d506b16bd56b7fdf0d1a597d83cc2822f7faee3ca65ba4bdf0a1def515351adb491b7cbbeb48e1c78dfeaa1e13418b22f470547131912b799d6a378b20f908c82f16ea82ad2bdf548e10de39e1e09fc275ae9fbf476ff36dbfa8927270fd0001c42f2f8f9ad16ee8955782bdc6b09ea17afb32930038a52bc654e1b6f3242419393334aff0008a0ce235e50c06caf165f3c7de392049ef298c602ffe62be068de8b0c917393b5cc665607288ddda1cd3183a963ec44c8141542fd571bb557add8e7da81fbca77891f8ba6e1e43ac537a673a51e636fe4a6fcdac29e6204af7eeb48e3c1cbe5ef1b9a4ae6f649d2632b6e94898573e54cfc28d70ee5eb3d18ff483cbcf1c729f157f896a3775b141719970edf54fa4b18885c6dfe0b62c5b0bf05f4d183b6be34a7922f556e1fd03c7ef638db02fad4c60dad47650124d50c5e90efd5c9c65297612d5085560c7acbc83ebd6d05aab8f891e134eb5db2605608bfd000111642d8116c35784064c512f158d953e95d2e7c097f63e7c6da2fa8753a3c0232d85bb09ff4ab6626714ad9f20b7c34b8ff0f6393289238b2d90b16cbe05d7f7bfa9ad4515d8fd99a124b9936e93b101642a658343baf903b384781d63d743cc8721579c87b8f90b0a861c763ab4313c462e53067c424d093a627db1390783a4d6df01a85e84084a00f372e274f803f6978939f3f06158780c33f596d230990911c04e97af07c956e4f51801faff6f9dfb6c8f7abd16f08e016cddff306fc43fff737b6b40715869edb51013bdb24120d91cc7d0a99c3f177e499f2874917f445c87d480e188703246fe64dae343287ccd69c98c777423ecf82529f08d4c928efd00010a3c1c5a140480e608ccc1e8c79f4e0a624e3a2ea79868505b7c73023ee753f4f0bfd06373eaa2a30193f9aaf61804492e3a0bab77e12ceab87dc8e9a99d12074847dda8c92fc704ebc919f94d21e3bdcd23cb905878ee34fb95122667ab96d26a17b96e55eed06324064b60c6574a8af7f7fc149e2e9d71a38f8f998143cf7115ac418b7e28821e09f0b47fb1e313a280b4c07c6f9fcbec5c01203a532269137476a2871776a34321c54ee022c1bbc064e50afea87e73c4328d343a8a9f4e3a706e6aae714ea36dfa3cb3465b10245bb20c2a132615d231b3fe4da12afc44e8d8bfbf283ca73ef5e7e26a87b5c9dd2abfe91eb84d922ba1a2bf6a0ee2ea569afd00017a899d2febda3d75671964171367092d0eaf1b65d4b8a39eab62c8f3891fbd5de7cdaf706aadb99aed924d21e8bd3b2abbf3000aa6aac7cd7f5ce18359f5d8c4a6229b5f93411b22753fc753e708b3886edc5aeb71fa4b32c1b2631cfd26c0912c1fba36fd45fb9bc6c851d0a1b1d6626eb572db66d51a5a91b556f419c90a2ad58b71ecef054301c8c123e03de93ff8f280e802ca29bd3b5a6fa8b990eddecc0fabd71c3b683ef0083b43f9fe8c4a06dbb5340a8928d977ac729fce780806a0ecb84a16e0d17e59879c4d1d2f935ca947b0bd467b4d91767620394e4fbfe5376d9a3b4c601b6b9c122cb8a30ae642763c251d75f12cb377df4595ee993b2a8720dfe7d0722ebe9e3d4540e1a3bee257d90e83e13fb6fac49d32287fc93ee8dc7ffd000123500cf302259899b47f0702a2f52efc1294fa81d307c144440268b6732cc28715be22d150f6302141ae646d98b93f6034de28af910b94e4b136416cba12847554f5cb2d47a31d4835d3f07ebfa2d94ed710a367c818394eb04e803571a8f91e9c73dd29b7045a7f70480a57aa513f8bf667fdd216c8735c0c4647f847cb21f5a12952c23626cfe81aba94311193547584ace27f5760093e1f822d89d1a32dc486ebdf08fb280e87e8381659182dff48403d5f75605d9525ba3eca2bf5542edbaf66fab3979bafcae2d749acf065d29d1bf9e96e29e40388a1da1537a978a7dd47a4c8a44a9b9416015a23ab2abc895ff9a1cd7255a1b90422a544cce7ec689dfd0001e0c30337549c24af89de0971fe2fe6e2dab86ff992ebc79cead8eeb4de25fba47426531499dd49ec980b009c9c5f3a21e21ed49301731360b6eed3445a96c915ef0b23f3e9290083adb69cbb6f026835d7817568d453583facd664b800bb5ecf2912ffcd1d83dd67a1474f83d5f3d9c60248d798ee22c2316f699c6b8b68e886c1f0006d413d78783ca146ec356293f01d48d8c14fa2d411cdc237a8d37bd4cc913f1470c4de2231766f0592da2bfb0da8388e5147e3afd46ae9a39bf0dc042feaa697d631df24c3ba54ad231f486001e5d09cc06bb4e6a11191c0c4bca1b5410dfdaa85efe27fda8c1a67af50f696a9361ca60a7aad16119497066f64adaa80fd0001ffab70ddb0591ee64d92be44e65f01c8a405bd2b57d5f10738e43f5a1fbe9065b2beffcda8896102f13240875a1006281f0fbba79ce4f2e243ebbfb9f973177e09de0215e2d23d31061479367d83a7fcb4a970a0d6d660b24ae2167361167f88f93c81a48e9f9fbb8535ddacfd66f1d25eff079968107bb43d336c5b2f758c446fe05d2cc3876cbdf79ea0059041a29d31dd8c961546e453a6f8d92d20485391587d4ca1cfa69e94a491f8d9ad38c8063f39dd27fe89d6b44822becd57d37d825785da30b0c11e15bc44724ef8cd8b26ed5ae1010566d5a3d1242ed38bfa2cbe357e68bd59ddf21630a7d167da7e99f12519d04ede69e7686783ab2565a61399202714923a3aa83f036043d9ffd5bc4407db3458473cccee4870916d0f9639c85cfd0001a95bec721b247e84d5c2f836c33bed244dd7f73a5b91d2816f14d80e4678cff79c2053c89d50fae9b6a76d5127d2f43fc26f3bae21d34fe009d8c925bf762a10f16d37317702d113cd68b59bb2d2c3128c868c4d85939f1948981400b0cec49de82749c7f8b56fc60610d6663e779d6b4c28bccafa57f7cbe258c7d1b2dbd5c0e8901b3ccb4e8ce31bf5fd1474912e961d665a07a11ea57cb44ccdf2efe1f49d2a372cdb61236c4e7e67e8c5505b0de69fedf00ba3de16d4f4ccf71dcdfd31394c38d2f3f700a7ca196c61c40a98c94c476092ea05e7b27990d4e8a640362b9a7fc15b8a1a903517675b221ec028bea3e4028de65d05a96a92a96fb7e7cef083203d924d1a42f993fa47b19d304e561bf75130e7861225364212fdd7b374c7cb53fd00011293fc9f97b27c312f6339d186df32788a57eec1fe30e13673a9101f9aa4a027a2654bad71de73065ce703ef501f4b177ce940559fd75903ac6ac5b477f022d00ed7a2e638cfcd06556699e24564f983a89057131e5bef5d30c55eb4204470348790bcc3b2bd9909825586c67ea49f6b595731a0f2855ba32d394b44c53e7182124e7bb8a25df7b09406e9b341e537e14851a23deef49caf3a246c63363b61efaca126c384273d631729d63acb2392e1e6ccec7da38e715642d9c4672c99df285ad1bb65216159b7d8d9a0f0ab30f7ee95d1924ae365321357596996a47e8259b52f3f8f6255dfd9b5037920d1d23e8bdce6096130d28d11eebcfc6bb7036990203c359af1064ea2d9c7ce76b3a103c381d8b45710690d246ecc3a7889ed43f35afd0001fb69de86c76493d67c655b3fd10190e9be97a002e3afad7a613c0bf73be252ed558d99b16e3e4223aa31e87a3c0dd985cb367fbfb6733205142107ba028e84ce5adb6787a4dc5e39a569345698ab6ba4257ae773e828aa8988903fef7a187dffa478856ad35e3170f5f3617a4d94d003337bc98afc50a317ffd78f17311cc7e39b42585c67f6b7ad70ea379468c9537512f3b90f10ff2d42d757912a2179d9154b162460f6ee20abe2880d14ef3f1df216823d6fcfa38c2c8893c5cd31db91ccaa2a93d4909b7a6db21230a986f2e08a6f37631edc93ecc82d86f52089e67a2f5265571865554485aa1f2d8e306f668ce972964dab328b72e233e4571e84df9cfd000192c963896ccac0ea89232f292b467f82e0a3b4563ea84444859b5c41fbac8f73e2772d3de214dc91259625c0b241ca600036f53736cfc8b870a87d7ec6951c8cdae9cfc3e7edc4cfd5dc064846d84d04725d13068b99e61e9047471b50e321510af23bc5ad1b6593f9257ba8b27b64dabad059737c9407b2bc2830168649cd15a6d62307146c705a39fc59a24eb25fa18c8a98e3f0f0d22593b367f3fabc64064baf4f383ba0ef3d2032c7a412c5a4d74c940b1fd98efd3e4141a387d923240aec8874251660e2be602155e602e61eb1e14dfec18f2bf92f38573c5e9b4fedf4e801d3edb0ebda156a31edeaa3289dd6dd380e68627240bc06f39066f8ae95abfd0001c3374909c5e2a43e001db4ca5c46e5309236ab5a7e4573c28e5c7c0149592ea5fca3c0e9516909063d404f7801d7d9e4758057d551836b96000e506d4a0574dfaa6df6362aac53ef00221a4612e2cf49a91c1c0a097159dc8635ec3020aae9b76081eff374644c4ad7a8e7ea236c1a256386fa04f19b583315a08edaad2068fc6238314d971c2f0c72f8c44e52600713f07f4235703700d4c956c945f9bc1d0ea51b2a43ebc842b8432ab8b2fda22c43500400add03352971b9be3549cb1957aab51a27dfd95922c042b83102841bf11d8071aa48fee769669c3b77465f32176687f4dce4e6550c2156c083835a8e65cd3a87177df4f68093b0468dda4aca89720ffdfe77a83ca0d93cf551d0037da04e6cc88a615843529fa2cf285e2d2453d18fd00013f7b1ba5d450d52361a9af3c24beb66ef0310cd2c3ce8094831424b433880015c7cd453d0a347f8306d9adb7752e1951519c30595dd0cd3de35e7232c928ed50924ad56be46d6671ccb10378d495269b39c877d2bfe8f136538acbb8b97e27b87fbeecd48d49996948d3b7c61cedbea9c7f88beda192ad8314f5ccc7a4edd98bee1571e13218ee06a9020dc49874dc90dfd30e10bf0ff65a93f1a54a8c055e402dc859651ec03bf2661adf67e616e613054338c9e30a084fd5b30974c560a4e1b7ecccec07149eeda9ec0a648037a7c75316e21041aa8602b41d377d38c840a27229559bbcc6cdee7cee2099cecacc839064131852c04f23c12ba79cfa44319a2094acab4b7debf548702915d13ec3b6574dbe085e74c373dc00c2912576823548200d9edb9dd62e260f824e487a9a1045af448d640ed7daec3065674dfc353d990720605ed0dc9af0a82792977c42191955c91035926ebd41101093b6ae53fddb5568201852b299cb7bdc4918f2a43bb1517d96392336c95136a306ec8d9d8355478c7dfd0001844469dd60ff2e7af11e0141885b797f78c9b3487ed5b00cab18b643623b3d718441beaafd35db8864260d21b56078f42a2e2252bd733f60e1dedff75506270f88caf4578937b861ba7124b2a13c31540e63c64d1aa1e1fcb0fbdd89ddfaee5f46c445ad367796e10f6ea3081891da67700b2781ed37c2d6b007b4ba6133d381376b79cef0b406c827f78426c26021a32c5867ba5841c8c02c83fea6802ab9430429d0de9ad43ec2b31bfd1cb6fac562c3091c91d0aab4731bf02f267b0f2ab1fdceac671fc1ea50dc74c11efeb6c73cf2c6fb15dd643f53aaa5c02d38f9877d486c4acc0cd64a73fc47eb3ff5a7ab69cb1c4c56eafe87a45280b2b1fa1a54a32031e10bfd556356ee57b80a7495343c11c0f848895217bcc66374db06e0d9c551fd000173cd1d76d395109e90520e88424d2632fb30a20b99fe66ed018ced219d2d2b04f9414e8d2becd31d22d04b38080e33c5f4740763869a8a4f36d5337efe400693d73eea2f7ad3c16db995623874dd1827137e50873cea1477b0ca7fb6d20dd3c657b9a6539c49102d251c8ff864ceb178d8649ae898ccaa6f102485670de4fbba02fb43fce8fda52b52f787a5bb6827317462b1d4f91068da35bda7a54e2b71861c0f18f13e428bcd7f3ba9692aa1aad3e3fdaff6daba10f2375a4224cfcbff1513668f7f243acdbad3b2e42c79ea777bf13b16b08e963a5d884ea1ce866f4506fb4b3e9335ce1c1ba4e8e6ebfb695ecf687c6c6ebd4347bb075b9c551355d28c200401ec64a5b40750518aa27fdf99d13748548f418127ae264a00a4cc729ada4bfd0001f8e40abe5fdf9c01a306891076592e4dfe48779cab717da1884289bc4e83bb8e43518fdc05791ee54e5beb76770537230f2a8ac088bf7e74f7e5aa5653eaa40014ea9bea78e6ade2036f37c82c74cbb6f9329a5985aea8bf3d29a5e7a1bb499ef9acdd45939f2ebb79b22c7664bfcfcff8f07f5f2c6cfb0cbd298214ca55dcf31707b2c9cd91c21dcafbd305692409766773d2078ce288e90d6afd10d94a8bd46a2574fdd6d36fcabbdbc8ef1f450e44f9df9106b20da791396b2fc3545e3d1d1c0f7c937eb3c747a1c85d51fdd8d4a4abfc975a0b0f99dab0c1a19229f756ab91abc7473d11c6bf45bf65617322407c4b026cffce47c83ccb166acd8398bc9efd0001e2a88a3eaf5a1fda574f722a00b618c46264db25a63a5d328b369b0840884147422eaa83d419c9369a1cd636b3b48520035caa8690a866768ff6ddc3f40759e21b1f6beccc88b26f0389c3a369054668697599d6c83a1197748eab8689be7d3e4c8e825ab3ba9f4895658aaff0c839a0b8fb0433287906e5288e08926e577fc5f8f7e981d814e2cd8ba3bb26a68060b40e2e91876f9a714b9c673fbf838424cad2bce9be762d6e53fb1b56bc7bbf014408dbd4b6c9d2ade1728a727408689287508c7aa59b1c1c4118dcd5307cab6fc7a743e9d8c6878c9d362263d7e743eedf7efae34fcb75ac890f00271bb5f8d3dc2d389865a84447c3b9ba5381c6bcbd83fd00019214fa7106e5240b71919c096b6fe53767da7d908b70359c5475926882ec9db0258784ad6ef61c708dc150094b71c150a1379132800daeea3a298d67b1690a83d99df2915b3e45e9830e37ed9ca6733b63e607e3151c2bf4827f495108cc705ab1e86e5660b77f0d09045ed8a52d6bc4d8ba81f400c18d817168897f10cd4e2cd7eae87c0277e02ddfbd729ccea15229a4385476ca1b3101c395df4c37860e45f8153d5f82f6765e3bca3f8fc712745202ad3f562df5109f16a2fdaa3f5dc0fe159d2253e577d5b832c6e6e7db335ba1e926cc1ab63af03e0f6173bc70b29859fc64ba1d12ba0b909da418d30c2b6488e7c10936725ea7668a0182bc217f508620ed88514c4caadd3fe2e91b4aabd6713f501a830556f9d3d71af166cd1c88c149203cd0a5764a043220ab3c9948d97669f111fbc2c412bf9546504814d43f3cd2722019f8fe458af202a05249309c8c3b71f624fb1b4acecc87392c98b2fbae144573fd00010acb5cd63ab414d905e2284bc169f625c027be14624862b461bbdb220b314cd334c2d83ef59ba6590d5e2bc83084e7621e11b258ccb8f162d2ff4fffd8b02e12e8f1a8ea7564cb697b9ebeb47bf71e47aac86998f16cf94bf4df8b7dd9ee4bdaf425d3528dd6a1ade67e3b9923b6010aa3175a1b785cffbecef0ad4ff7a76c3cde5c51a29883a95e5d0e36cbfc3eb035a160b848531e648e9392ee5d57d00763a8f413a36289c7888e807334d2101da7aeb430075e442c2be25005d1e338801abc23c34af639869aa745c0940d8bf2ce0463a21e5748c3c44a028b7c6ddd5f25dcd3313fbb3f73ae2fcd2e35660750dddff669118248636f77909236b515149d20460532dd4945380037555ec2ab9a8066a493c0faa480730baa8d218a3830f06ffd00019b2aa5050ace16afeb2b7aa10c45d9324606675b77dedf0d29e20635d0186f9fb7ad0af89c640d0ee2470f54bec8d2968728879d892ff5390e60e071cf852b6c93bec0202099d04315e026ca79d626af504c2ea0f024fb30ae87b44e3916f5047eaa8016c8e85d2e37ff292ca4122efa94edd572521703e58af6b85881053a19f56c1b58ab252c6172aa780954096057b00d0086e7aa1702a16d32d67d05f21ff65f824a2ae27a655bf53107a3aa4b8995d10aa76e02a54a73d73f3276489691b6a6f5d641a87c904a445a6b460593ba54ef810abc29788e6973e72bcf62b75815a748273da8f89fe3f9225450d15d24ce964d8a7337c8bb362858f6a4c0d8abfd00010e90eea322b9325f8f0df687e6136d3f3db84cfc0599ca0bc8c9ad3ae2a2629c28b956f8b323c3c0a2f508dcaa3ee31e03a20541069addc0da07b68c0821e08042a9eb86e9a33d30bf5341d12bdc55d4d75d208389266f3ed292cd4bef8b5bcbd0f604f2b9ee6810bce4f604d61fda3b9bac08f87ad48b0c33af7331f837f40cce178ae1ae8f07f6f63047c2a598b28ed9672fa53e530c79883494c73aba52767b9524c82e1d637732bb9064dc1095bf24fafb8c7920566686529539acfaba525b2f1cf9850b29550e3b3c4caf1692e0f11686c919f993b7f10ce7a31521a2e9be97a025c09f2ef2b849cbcdc506b5a2b01608904f5ddfa9e1444970855ad1acfd000168ffbfa84bfe5c4f4b49e1cffe3de7a4329c4710c97de9c72ee9c6412009acfeba45d99317755f4bab02ae8700eba5c6267534139e878422516d47543dc0fe5c8f4b11c6758fd6ce54e51dce503581068e217b4d62e89f115faa0357fa7301b9dd509b1b9d4a8156b6527926c6442eedd8bb50ecf1d63820ddfa72975e7980504e147ca250b61287b400be32fbe3d69a501edc04424f36bc9d37ad10cc394ce8812ac354295b16017bcb6b955efaf86ace0d356f989161c3d957469024fdd6f29d9debe3af295bdc1aa4a40b7e9d19f212c9cdfb272ec8ad9c99aac7a6453c89a087ca127b07eacf62b71d897e2a9b3d7829f9e163c06be5916d18731b41efa5206b559f18768e61d3ec3eea4447343d5d77885bdb810138612d79a4348ec2ae73fd0001237d9e54fd1ab934695d09c877ecf20238aed56c00fa0575de6868d2ddd2a25d5e406f66d5af980834cda2a813a8dd332be7a025d21f862bff45cf738f6faaa2f50ec19ec208ac3f2d097478d21e263db8b365f05429386a812dfca499dd993c29f62c2a1f92e6d77beda1b8a07f04cebfd268a4dba8a2622be5ec2f55c329e9f8c3590f9e12e8b3db79f255f6f37bbbb736d66347cbc3b19940b75dd1c73cc794e6b3231b101e9bb0865eb56dfc15857d1f13dd5c76cd1bcb83f56a5a9905a54541e995e0fbf0dcb8214a79fa72b0f4facc11f94b65a535603c6c33f5ff71537cd071b4c0416e8cdb5dd853a87030efd84fa5cae856b8091c3d85655ec40b9586ed7cfc35212a7ac5458224073857be715a222e147ccd35538e5e03d114dc7ce2bceae5415b756c8704c232a66583a091ccdef84d0a48880f7caa52ab15b06e60f4daf0a28f13bb04046af73894cb4b3524b3dbeb018620af2117f48c0440bc219eaa556c26271eb1559c5f64735dc1ddc1e2fa34d0168e3b0fd2372cdb2d6f22e3ef0a815cf518345fe373dda4d3b2885fff7bfbef16dcdde66851d50e29d8c52e30ba02ac540213f94eb6e5052212bd48275973fb77bc9f3157cb1fd5027cc8e60a2e12e64228a861f1803977380b309cf94ee72960784b0605f41e46a08bfd5ce2ea389620a0f4a50d6a4474989a1b8dc36e6dd16153aa06bca2d229b9e822c029e2b7973ca82885e9dbf299c91afcfd53dffd3dac0d6eacffd1611d59d78873c59ed951f21bd1cb41ad421e229d02fad33bbd3f7b3e1dc81c6045798abcad79a17e3c0cb175fb04a6a1b768eba3e4732175516d40b4eb149fc3a1602a3cab3d19a4b79c45e5d26ccd96ada10b16671d060600a72566215bc4ed79aabb88695a7dd4f374539410acbbe506c250aebee60b33b34ad987013fcdff1cdcbab4912ef8937bbf1f6e5faa91fb6c1a8f55906be6b894b008f84d39f2d469fa5203abc38b787959ed22a59937b8316019ec261456c113bd6886751df401979cd690449608bf8844e2fec4c6d8a0bbf8773e1c572fdf84c8627a20ce71697256b4dc3f138f6a5eb98f6bdc07b7ddf77c0b832ac52c6fc919ce5a294057d5abb90eb87459260aa4a804cad4a262970b7d061e7c46412ffaf649e645df9ff092c271ca1308e7951f103f905b244bd757b8be7f1839d949e23ef3a37199aa32a0d4cb0a5926167ec7ac5a6bfee834ac03c084378c8da3cd91676e3fade2360d620037dcc572882704539144b16c22658b31e92d33a8247e8417dc5a8ab37cac81d679e33ebf6a4fb53c14148025b901b72b90da31a410cd56042f38f5b84e6ea9992f91c268bb093e4c4e334a210bf1a71936489047c13740b4953e3c772b859f89e0c54585c00bb51fa6e1a78100022102a4bcf5e9ec8582f5fddd3589899e51ea3c7503a1ecf47a5f426b9f2e6290a1d9473045022100e1999ec1e8e9119da1c68415d9b75ca1506dfe1a37aeeb56eaeff123dcc6232202202dedc6802eee94793455ee6731ca8ff7bf574d19a8dc3d8b7fec7d880cca185c00"}, + want: []string{"Anonymous c202384fe80300002228f5c8dcb44644b8073a6c25b8ae1edcfde3089ea0b6f654293dc833f10f12a9717e5346a5475a75c080ccc11b099aee5227ccdfb29d32a83e4d9e8edc90132f48dac02f18a1baea6bd2abceb3324b24f25b9b6be5508b25458fb94af8a200876e267fb6496f48cadf0a8122d762717c3e1f6619cf7408d2bbbbcd6da4c3176d378e30c436d7870ad5956e8bcdde63f5334e5b3b56bfafd823ef9dc0dfd5b0710108b0a5168bd1129e95045952c5a714eb9e1342ced93ff89430d3c9243d4fd0564c98d86392b218019ebbcc9042c659eb49007ee6be4a62ca56e70ee0fa8f9eec0d6bf985a52ca0aa6da17521761dd71569d5274316adf3964ea6b1a98efa3707e92b41567edf919beac7cbf300fd0002804b5cf2c39464a465cdb3cf373ceaf5500cc06125173fd874fd9d922ea89c2d7007f44610c80ec66966af89932118e0f5bc5eea4e674cafdf88ce10a928f1e2c9ad318b2a5b0151bd78017862b2fda2d1e21f61c675649d8b0078498cb9809426a1660e0787d6adae6e360045bd865ab15cf49911631f34481695d3d1d4ab79bc5c77eddad60b331a3f5d60226e9d426f0929d1d0d54d0bc985869d3edaf3eec9ed942a79c6e09cf27482f8034633d06430f9f822c5c4139338af5ee5247fbf88872446cb633af06b71f3b601c8c64a1796b690148b4caa78a90602895f98c2e3bc8dffdc338d24c9623260a60a28b758d5a3965b3c7a22c3ba8607a2bd6db3be6602cfaaec57ad0e59792956dd77cdbf782ac9cd57234587154487a6859b6dd51f319a1427eabfed483abde08805d9065b4f05d7ef430d7ba95cd036ebb1452267cab662fe25ee4319b0ab106cbe3602291b918e11e0da9f7d8765a63696e4360012d5e1cf26bd99466677c8e5003a433e43031162f0b6ac13c3d127e9966019f19968a67aa555ef0488cb7eac214f1794b9cfbc2d956d0dc5833bd3d3a5b727eb9376a4b39f2bb87c31acb5574797ff0ee6ca843f95303b0118142ebeb6a3c46a0e3a00d92fb0bf4d99b78c1f2536564e28967bc4094d8221790e42a47b5bac6b5dfebc71c6e3afe459d7ec3174251e4465e9b2e1427159edfa2e9ab9771ffd0002eed970d3b11056d8a3a27326b401f3a5c4dee991a3995346bdf0ebc9cba82fd890c86953f6b3045c6602e5554eeac02ba3b8333627aa5e1a7041dcee385d45b193e5980d5ce006e8399ac7a95f02e840c2606c1fe3e32b80126a3ffac49d4fcba6780a07694c206780551f5c8add1510b952cb5c5d93c81b508cb58b9ccf96df1e340ace3efee1e9374a10d6b1712e6acd3bf9b5885eda1abcf59a4e08877189587961788bc88c1f1ef9e4038ac60343a5fe5d940624754e83a3b29cf78bcdab71cfaa45e20865561337625d1d290cf251648575c108f797c3a83f1e61d4fcc250b688b00be36ea209f85fdcf816b9e280b39b7df141dd8af6b7f828836f4709a8fbaf481dae117e491ac87bbbb88f247506c58f6c41c49d571f535644a37245e234b5f9ef2d20824cfe603d2433b108792dbf718b9b29823bfa007b3adf6a75a3a94536d356b1deaae5d99693070656dc76be36310e55916f80179166660e6b8bc6291e465d83cd5da0c7d075ac197c92dc4eaaed74d10c2b0c33ad232917e04dacc8ff8849d970bef91048d63dbb44786bf22e1e2ac5895f0da9b3a16edcb0e67adcb27b43baac08f719f9f3e2efc22f46cf20eeabef0c8335a56556b38b18b5753c60edfe1180bab243ce61fa3063f598177928b5b880f1da5e503a50d04ca2fe4673edc39d8cc7a624e5589224f0dea47c7a71d3733d44a4a6185f33ce0bfd00022035c0e9e488a791c1d999703d54be5d1edde23c06660fe1b521dc8300ab7c3d8b7ebf9d75c4f677524315980dd423279e2a2f12b9fd4a8e45edc9a984b4f99397782729f9b36a9ed8785df4b75d3456fbf127c5ba7eb604a87d81b4a9a2148b5520b01af46627b385a8f2f2da53560186c66a86198b0a9c1a3c79b83526b7024de93616122db278d7d9982d05d215244ee5ee33fc6309ba153e043960653b3ef7cc0d470835d064eb106bcce984746d9d5f9b5ca89867f6ac333d16eecdb49136582318aab19b34196fe3d687fabce7815fdf7acaf4b27a9d493b06d3bb0f1ca6ed677ee014185fc299c42bb879be37337f39768d5323556a57c3c05ab111ae08a7b5dbfd1830b2ab2d2462527d864d3a6dd1034fabfd6c0cef20121dd521c53fa4e2ba33862324fee8b116ea83a7aaa2fd68f3d7d955ef1cd111473dcfafb535f6d26bdbe53fb62c401e3cae8c90cc50138435afba3083919e41096cc2f870220f03d8c1bcfbc463aa2069e633b334bc89b8f0e98fb18bb5a71c45534428ed25fe2647c229347c5a213c8c78e7db44b80465b929f0eaabbb328579bf5fa433e993810f761b2a26dcc7af781d73939787d346231c342e61eb45329064b8667a1c314cde899575c9a6a88920e3054744feecbf08ac651657f0ac9022d28946062a80ecd69d9503e59307be14316de92a519835157800c2a3c844abe7864be701466dda4c2d96ca711ccc4622fa541edca55cc3de28f476d5d2c10c89f1849e7ed3c836b9daedee0bba6d3d991f03f3815ac16787b736192bcc8ba2e9ae57846c0e2a1f09ea1807460866d88f74c2b1db9a9aaa007c76ae19b01f733e7ef96f0c6e11250c61ee0b4edbf2e3b22f3182775725fe18769a0dc240a531cf78b8de2b8f1499132d5733d6a3bed8fde40246eadc0fc9f746dff33492229deadc6635ced18ef5d37cfc0b35194a7966406856eae562cac3ca9ad76f43835bbc98636c36a89b605cb771b78f95eab172c428c11e554936d609fd010156d24b38e9ede1df44d6dbc1c7c94ba060321e07fcee445adde8a5b0cb493cd1a342c714f5291329005f5b212380e3d2962e47057c7bd002c8757cdd7e5a73206a22b6da4b8d094dc3a752174499deed98dcb0be75f3fc777a4c47c82bbdf0171c84062796f288318438379b26c4a64ec11e953d34fda80d042d5458c8dd9fdb49f367e8deb7fa027df47dfa281bedaf5052be13c7358b83d43b666614211fe22ea48573a480f3e73b9bcad41958d94dc17d5106066d6d2e9bbd035ce53a2ff94ee4709acad5d33a35abfac6081315a9ca9e466374bfe4332b4cc4cd85dff3787809d885aa43aa38a7de5ed74cd9b240451611b3eed9649a19fc840fe5c099bf00fd00011e3c123a51673507bcf4c198d474fb8c085d511c4af370ecb15002b394d4209852b08b72d311b301dd1488131e5e5343bf488e5dfa6848c2a03796a77aa7cf2516942bbb8205c19f7f19ebd6fc9d61729363cdc7548e2d5d3b626a3d83f0886755c0995b19476da34a7b7f162efeb4107780ebcbb244a69eeb62b8c9cc10b04d0551166f1f15079a9ae8f29df771976136fe2685866224d6514780c14226bb56652f821e7153db39c55fa76a45b6bdf99af9f0426290ccf375a1af33d80e98ffd2a5d62c8ec639c25bf4264e62e0401d2b9128b35e2e2eb1bf1cb578f3af6ee3d572acb9fde866cea6bc17d95f7e11150ebe3fcfeea42469c33b3275bd7c602ffd00013bb3f35666fc74df92514b111f50a73273a847381573c11ac963b7ebb949cbc690132a940419af7b40a3fa42a7326540bf4d65c770def96616ef26711f63a7a275d99c7c1e086f5086749539fd1455ba1b21dfa8a8aa3f2350bf3acfd1d177cfbf6d130e04b37e5f54936c800063a3f54b68e58857218e307ebf75177ea8e57ed4ff4f91d1baffe5f8917e0f1c50b43ebdbe7b6624eebb43584ffbbf994e0befbfe6d6d615e6765717aadbd386cc885de5a77e2e41a66afcaa895e67d9d15df23c162e3b9b7f03e598bcf76d9713ade4845f9ad78b21b26d77318a54b981fa06517ef09d3947088de9dfcc416637e07edf466aeb4a3cbfc48c97cb94129d9056fd0001fea89e47922312c9c25ace1474974b1aaafe5266dcb958d6ea28bb62049ec0f67e8187eccf976f478b71ce0020f7b239073eae58adb660d762d4e20b8e77e75db2fcf3ad9bd12dab974fbde61b1cdad592c8553cf0a5e7d790157d423895abef8f9c2f70511e16802ffe02f39dcdd8b22d726d33e2b9a7a6aba5b846fe0827a505215b18dca6180657cc3f8c82923fdc7ed9a3c2b65a51ef40a816597470e0f5cbe026127e9b0571daded399a648efef4ba481d793575c64ded2122ecd1d2e75ad50b4965b27adf86786220d6eead7cd453958eaed01a2d47d66a775ca14c61505f5e41f3f7707a0b563ab987378036869a28101c94fca791ecb8b7df23ca61ca4c9cd49e43afddb43aa4809ff7b9fea42d0f2040b87c1f5b967c20da51bf0f85c6f1f8ebc9bde9e55afb41f85f77d017b4a2a10bb3320e8b33ff28df33d43816555f7d7095802f225de6df290454e68972085b40af312bce41998498719d3f40e746e2293906dcbb73c8e4b56c81c1470577e80c7df58339a30d65f6286719eba17d2ef25214ce6835914ee6d51370f86ff54cc2a737145bdb18d5fd647bdcddfa28fc106fda0016a9d3fe873b6a232c42543f8f491d813f21ed8960d74e847141df16d2e0fdacdd7e2aa9947d923c320e3166a41b508814fb8a616c22a4ad8f1ff605956670eb20fa97f554b82152f0a4ccf2982b13248545e815403c9349faec3f4ebc688a983841597eece75a30081da81744046ca10e4b39b3aab804c220d92e1be90cf5f0de4ef02ddfaa39298f9048304a2a7318ff01d71a8822bbaf7d8e31368073e471e75c3a324d1189a4efc0a9a6d37421edc77d50f77236a96a1032b5cb52fe8a256d714a57b8f4117105041d037fc9480e278ea4d7c480c848d2c8f3140fd51410272772b71b1fb8c2d9c527341d5bb848b189bf1d8c5af29fceeda48765add979b09bf02041ee0be2ca8015b2c045e3658f7dbb149367ab197bcbd753217513275f092bc56ec8f2f9f4e1fb704a413f08dd4b288845fe69ed204eff90872f0f2282d5d24072242f0ffbbff8a9c93ce607b9b2186a2d555134c07ba747ea087238fe605c3de5019d060f1eb55d20b340dadf8f759eac6ab7576ff53f17a7a44e6ee353fa625d37fb3818a3f7ba2afc530c17608ff47af644b8f34d6601a1d8f1682fd2401b2d93d3192f34783085dd953352718f6fdc2628b0bd10f921376ee3e419b7f30e7ba1525d4d5b8624b445359d180681010b60abeadeccc7c43916fdb8f140025b1a3134e6bc5d9abb8360558ae581804a31d3ee0f96f1cb89cec27c17c772d041ef02e6b59a61b53c211b1ee4e9ce516cc052de191833b853ab0cb90e0c6934790ec0e1350fa3e037fc246ce8995ede9c9f0aa468b5a1eda71eeb0a7a9a44dc1671d88719b9512d2b59af8e68105e1a10fdb4b41d28dd1c60f12cef2d5cdfac8ce1727f65f43011a536ff803d386117aac5a2cb21d0af1e26b0208de5e769a46cc26a15b67e53e5f73e78cbed1c6984f7d6f45024f139917c6a2fd4c593f8df69f62729677cefc49d4c086d2d64d4e78b1d3861aa6915e5d80ecedb8be3779ad4ac1901846973b88a34f10db8aded44fde8ffc716bfc0c7ab32adb7c8af7bcf215679621a3edbe2d8939f165ff3125a61440e4255cea25d1725c512e0bd3f235c560c74b016ead88f36c26fd2401920a99652f9d37210c815f8a976839d61d2d8e63e632534be5783d6ffa704bc527415df751821a714f77e1bfee2b0aeef13ae16dfdd0b90c08d528b918ff461e996f1d58e42815690d97ddfa91c4ea249f017413f78770dbf0033bf2f1cc000ca3e31cc5e98e78c4d535c28102d2f0ea65ea8e12e01a307d6734d4517226149d625516a78a083b88190229a2f277ef5b42db74e93535fc07b0338f1c8a87925db3d92ab8a4b08c4c595d75fe2b8a6d73ffc63a605d7336b82f7fd4fe38c583a9d1bd1948b682ae39a86c8330cdde60d21e45c737a9b84f5af35ba291b8a0e2b19ca73c03580ebfd2b0bc81989dc6b316c101a19f401463e49c9635815336dbd3f77b5eb57e9c2795dac191813954ae5d7fba44940f1b50cf8da82dcaa194cea481a447aafd2401810d68e1f0c708da414cabc0befc4beddcf7d6a98e738088b1eba1e631ea128af363086cb776afb2e0d26be6555cac682e4f56f7db041d4b05afb09b0f39a3d967d7a677ba2521dfa9a7f79f3d9c69342d5264faedd3d65586dfbf13163d13b9a17d64c716e78c58d1ba034ea61d16e60efdc21522cf3b2514a29644974f3313366126999c01f3efb61f574970cc84d5e099a294a2f10a639f457931a02f45e6a0336e827da0871560611e56dffbd2e544adb593ab075e153951f5e131bdd401173ab862cc9c3be5078bb72492c42b63aab49920e40620ecaa6c1852225c8b6825841966143f34f700291fffad12f6cebc6cd22c0dddf08d143c701f6d98080c08f8f71a3183a9b8c71efc95bf2365ba3c6a4e960632252c347f5cd03d98776e54c96cb6fda001e426345b922ee1c9a6a7befb7764cf6da83a9422693f6f48e9d8f028f56394e98fa82c0bb21d3a691a49e1efdf1cf13b04a3ae141204f0e2f6c13f0de8922d20122f92ad7c9f2d59a8b19dc0fa86cac0680b44a37476e6bcf8876772f9da916f3050c2169210367a6586e55a439472dc6c056307000bba0f32f1535a28cc056a9c2f9e04f9f6fda9201530e55f2ac00959c893738e9a375220d072d1fe31b85ed904990a2c3fe87a032def61b3f9bb97884c6e7d1c45071ba72f6bd38f987965a3fb6b9cd168864e6d02d56bc08a459ff784aa3a73ba6b787558041bff57eea7e834ba069781e964be2973f20669c52543b142dc87b9e05a6107ac2594db04a80dc4f79fca21f91caa1a278fe39bdb9a7230380d96a92e6ed3cbd09b27f65be82bb5006020edf676db53b4086a249a44072c17f11a7e61b1ec6840943192753c5d3e66e7332a787e3d507660e536dce29d4f32586686e682145eecb3a991225e95e28f9c83879b42e38d4be043cf713484d2b3c7ec9bdf4675621a910b08d7de7efbc51de9c90d67cb5cb4be0732b5c7f1a7a59ab1e246afded4033eb0e6a580614ebf9176247d7199821e51e53d64b5643ce30c0e6c530b5c84bd79680bbb49969efa9e47aae229e13b3110f7685f875e858fe06be50a338df26f0925839fe4e773c246477cc0003dd8685d179fe276230690c35042f80e3dd08450be1f244524372036709b9c956f5a4309753828390bf270c2f59b26bd0bccb61c3f26d9ac9c40444606f9402217a020ee26a48fdd3dcad68729f8b379cc78c3ca5819282e12d690f995ffade91eb9ec3edc41d47574c9f614b8c8047081803df761d880ffd7325b73bd4526880c43613831dc5d3002e8f5b5ad51b667bbf6dfbff34a49e9d62ff198d5f5deea4345f813f408ce19ce07f68654cf8f19932e10064bec9017d6a2cf5ba0d139293d4ba9b71b74d63b6a6763feaecebb4fd65a8e7da10f98137942ed9ebb4963f3907f055950204d50e0fd7363e9814721cd53f3896feca24f5d544ac857e51610a627fb3993c9200d5390612b315d88b24a0eda3acab52028e2f224bd8aeae0f9b985c15da13c5220e0fcb3e8f296090250ffce1a35775a208b305187ca439495a3f21cc38b2c1871203974b08ac4a3be4980739bd9328a67ba15b5b7f216cae3f7e400d498c10d58f52092f5fa30da2bb1f5f192273d966427965437a28529440447bd96a49340c5bcd620bd103e4fe6084eb129c3ebb0c1afe65c099b47c43470d3011bf3e01b6bf6f6c620ca9ea458c131ec536f2f2cbbedaa4787045494e1a283ad4d279ab3eecbee73b020458cd770741aa7cd2c4583a2b484d835700af59ed1401a4bb783cae17a15d43420b9ebee9d6384d21acdbb3fbcefdcb24d1a1ba3c40221597654285d20b72c5c5f206cc3a66f93a0682e95c735ac08cf45a253f306a0d2ea5c35f922ffdcdd3724bc20258f23a294f005df3dc354cc1d3ea7c04b04b0d327f73748982176e45dbb1478209046f36c74dcc4cb7f59ca9b31071d29d790075626b1f2958a82adfcbf7e264b20ce4d42f09479c938378d0987668a704072144f5f8d10d6add28f27c4990305c720e9d84ac067b6c55edb53c9505abab579c11ec4d7125da7c05067cc0b8d7b1d3b2008eebacdb86009be95bd835aa34c7766183906a0c9494a5035b6c5ffc1cd3f3720a8527a09ec0232482d5d54e920c8e5cb270a99b3556d9c2bed9aeb9e7ef77a7820996ce009bd3e61496e7d977fb1fa7f770547415a19af106002ed6e73263a73d22065d7a01777b3f7475d4c197c87e4c54defdf4d9b19bfeee666bb706717d2af9e202486a3adf85ae19cc84e95d7523e056c48d17dc1c7cd52eadca5b16754cf6624205513c1bcf79af11aecb582f959350752dc30b34b6e4aa43fdc975db9474678262007940cd34b485d77b36094f4724a4640b55245edd609dfde35ab05c0ceede02920490d837e6c3ab275a63a2fa1b688985bb5dccfbd8058236d4f7e543d45b898792080304a1ebf6ab0b772a56183468b1ca1800d12af1384822711d626da86771d69202a4e6750bce678bd2d5d32acbb4115d2d62400b478246313559d24e811e068b220901b9cebd3bdeb1917c82581bdc09394ae5ec6b3cbe604a7c55cd88191018ea5206677217c27cea379fd02a893a53b65fa9707583209d6ce7d92acf71191f06f8c20c5aa1a752e45a20ce6ff9514a93eb8e2a3d1c20a2e6da8ead4e08fdb49a820362031d609cf79dd225908cae397fd528a3a1c790219198831da8c0e52cffe410a7320192a2ebafa0829d5160197b2bb1892e56e0712659f03f7c93fcd066727229f4a20b1e057358eac36e054912938c80d92876bf26709e2beef22004596abfa7e931d20efe65db4d0cb0cd83f87ce3de0046b40391436429c75372ffe43e510b33c5a6b206459a7884a1bc3ed6d6ab7e766f2d4abcdfca01f3e93a46e72b36334358077072008e98ce2698e5cf02509ae8a42ecdfd79fd6177c7f94af10adbb991c656d7e5820dc3729cc6773c069abb0f66470512e477cdb7d1bda133cc5fdc2bf251dc620cc2093035c85397af4a528d3bbb93071f48ecc418e8a6b7255cd755c7a2ce77fcb6e207a910d8ff9b0c94f15a6bd41ed879935fa9e5dd45cb0fcca1fd9d3ba02db489a20cfeaf4f8c94ead77ddd5fb022c1f226ef78daeb18d2098141f3bbba103854c412043bf1ebf028e4dcb2c49e180048933ee69e9937c6be45478d1b59deac75728502057763ff89840016abafae0890402f55ec14d72e0659fafcc8df4229669ccfac7205870fa711c94881cf88f10735e8e1fa62f949383e8c13ced1dddbd0ae940cbe9202732db201cc7d170cbe4fea81e5e3c0eb656dce6dac2af43f62517d78d7266352036f92f3315c6259a0eb9b8cf13b71a9f5e08487832c4eee7f28daea302684f022067451ffec357ed9dc203eadd41cb87883426183378b7dff4e0c86cf7d7d79a92203b7aa0f29a3d4633cde3839cda8467836d7d4ef7b7de19b74641a14af09ed0f1208a6a23ad4aeb120e5bd6a68ee0d84bc411e1a0c770ea76f6a427c55a92cadde42071e96930a3933a5f6657dcd7ce9dc56ff6c4fb00ba2b9802b8f0742b93612f7f2041b4413cd3478ed8aaf837f1f860f023c2ceba1fdee135bc6e472ed71b848d8c20f9365774077030d564aaefd9ae880b984d1c76659df81b11bd62b1c78e91fdaa20b74e8eb3b891d3004f1003b9b764be60c5bc6114ef1954091429ee48cfc71d06200ee9313878d9957d60146a71b04290db8e67ddf53451bede60776d92083ecd3120442a24a57b909d440fd8f18ef2c6f07ef428f12efee70f7806c240c098a63e022033480172831beb16e419688753b804662dba87328cad4f082da5ff616795714220314263c8af922af005215fdd11fad0814c17686d2ce3ca081063a8e1eade6da220b7b075ca67ebf96ffbde4738ecb2fc894347ce9bf8797d4a5f63b86ff6f0496e20edcbc228047fa8a7fce8bb344a0e9be16ed0ce27773678324e13e8aca26b02f020de15b6a5fba896b3cc37e2d8f310e32c8436f1e4391dd8a8510ad2e017f7d3f5208ad7c2dbe66cfa78694a91a4c7556790b4921b7dc937bcae2bdcde009de663d020dceaa91228ff54c694169b863a0bf5026930daf1602fee3cb05f19bd5ad4542f20142848e71350ac73b4967a83e7f2b9a2208e75925b5336d61ffe42ff3b2faeb820ac526cfd567af3391c352371b962228c8308a42d2cf0277061f2719f6087dd10200c24f6264353eec32a3b6c43e9be810f42aa2367255e78ddacf0358e741fbb102001d2fa095ccd0bdc88b965d28fbcd7415db9401213f6a0904100888a881a4f7120ed1da95fcd5f935a5cdc33e2342b67ad680ba936f4d3001cd9dfef031a7d6e0e20bcd858d8e0035d3494e5536d590613fef761efb5fb54576b6de4a8f9bda76681202fd843be1bf623f605bdbc853d07541ab05a369db17b728f34e348c828848c7620271c6a68ccfb3cce86cc8b45872959a10048a373a8d7876754f39ab62d9f7edb20aa3d579f878bf9f319e81104f1474974bbdecc1fa2c7664360836ef865495832205abdb9ec5dda9eba3ec8ad4ac142ba38f85653a9ce6be9c400504455c62ad8b420878ffdd3029ee2462e0b05780f57ea745b41a6a7a80f956c249014ec96ad58c220f8be3f7f3acc1a10967f23bcfbd53637e1f761347a514051cf71b6e8c5d125cb208fb516a923bfc188aafd435120ab0f2c466ef7a862015d25f68f1ccdec135d0720aed1bfd9ee3e03da21ffeec3992cc4607a05b11a43a49d3e34c5f9e2c674933620c81782ae7c77bd97e50bf2c1113251b472c20364ea5c05734fb8c931bd963926202b96a9556a015d81c002753c87a812104524a2658c2a449fc5545b31a7f3179020f8dd89e5b4eb611030f4502cf0605c15343abf0eebbab8ba3fcb0b8ab5fb254d20a6e60c472882279a6e3ab845f121881e022289a147bbdfd9b095c43e89b61db320e2b18654e28c65691548f5dc646efe2336a96e43b2b8693925d0a7b93d5d22f82067f2d45fe9c588be9ee0558e2e8b9c155bccc24a0d4a158ae4464508289ad999203b74568c2c4b7aa6a78a0dbc3a3e132d1282077ba77412cab157e83ad1559e0a204b349f5d9f926091404e3d7149d98865d9ac79489836acbaa1489d52c506d0b750fd0001a687e617d1b18cd4e94a5937f1bb532eb1aeba8242891ab98befe3c36e22e843d15a26b0eb1051df6ecf5ea7363e1df3f263648c6693797560269d2e7d0a33eaf50e7ab14f548fdf9553159326ae442b42cf5c5339341287a7d156f80b9c81bd69af340a1d4ba903b7269f542fea24ec921944908db58937823bb7a8d5c37431d442a7df972cc5d7b2b068ddec416a41830922a4080a74a5408e1b9bf00114b91c7e41d204a7917dec0ae1759415a47f79a089d7780d677576cbf524a58055c5d58748505fd1c7ebd909c32bc053751f3d46803167e87ef110cb5dfc482b86c5ca0aa5a2a400398fc192469b5c8a9009acc6fb30ca290eabbba720bb4edb4a9b206fa0fd0b25ef594747ca0c7428da86fcd587ec9e12b9b422ba5aa53c1074471f2036e1e28e0b81a00f2d1ec6aee2043131cc40f1ead26c2e3a1d8ca6d1367bed14fd0001ca8e35fd10a6426b283dd6f9b8ea17fa6c2acea64c19b6b6e6944625a1b55ff49a3a68c314f526d96fe0736a268bf740e47f8e3b737ca1574e2fa4f9f291a539da5a4380aa046511576a2ce94593ff0fe8a2c2019daa49bf507c7ec5c7da7891ebd3328495717463205ce3da032b0aae4c8e753a0a89562d0075bc2e1756eb28c6b47885e0581383b6aa4eebc0baeef16a04560c09e3340f52f2c955af9c91d5fff81f977aad9a5aa23f3fe17f79241ea31f713eff268ba3a8a70da53c1782355968976218814e4fbb4a5c4daf1786b0d0f126f0507f0b1f7c776691bf190a3b53e01982f78c17b8a35f68ac1fc20ab30bde05768964856e9851387f9377039dfd0001f361afb479f6e842e7256bd62c18c0265fd39170ce82a466c2f5687bea0e6862f2ee9934bf53aba75917462c9382b566869e01d4fa17f36c85dca452c755ea56fc0c29a1d097d716353afb2f2a67fd18ae365aff687c61ad30398011f0a40bdcb64570591cb831e8f625873aad27b34254a57759efa69b2b97cc0298f1093889030fb8eae89e6abd9532d93b356eb64f2adeaeecb5df9fa77125a7722be35e2fe489dfb7827537cf0d5522b9fa1820798f1f692750dc49b15f2f232b0e9b33971c02ece0ab630abc2a5eb39fbc6238f6cfe924cc02cd98be21ab4569e2cd0a0ee34bf6b91bad47714621f8ea4b93f40dd59ad1ef1d7c9ed5730366b15bec0484fd0001a655fce93873aa7f42b68fec87234021b1cb94742fa7ad06ba54388ddeea4f50ba8aebe52ff0e0178162a97cf96f3231e8c6ef0b48315eb4eb66b3362c62e7c91ab439645be117c153fa637afe900e12b12c02acdf99064c31d31ac4eb804ae113f12cac634fe93223509ee7a06f6a1ae71bab884f41aabb826cb3518faa22735bca7e7243cfffd1f21a9850ba88d94834f2664d570a082ab487d876192fbceb5f7aa5ce71b1f6e538cf6f04bf5796c3fa27dc4a03d03db2c589324714683189b68fa783cd0183889f0c7ed3e007487e9e8b92fba48f0c53e32eff2ae35c13328d7c796a516a068b6b8f4042f754fdceb6774dd04120c4f085e91c8f69af2daafd0001ca4df47e35326f7fce35ca8e6e9d519bb72921d4a14c2ffccacd7b4533d9edef1e940105afb6bd8534c93ce0522274382e4b486e35351464aa26e0d7b22d15f8b8123d070e1dd0d004c423ff298dbb049d425d604db5c0d18700fcbbf92fea8658fe04f8c4616ac72b8dae8984d7b69f6385bc70f44b7f93b28b6f010e2aceee60a04d4339aa6c3048ccaf8ed2850580526ddb784d8bb45051ab5ac72dd6cdd74986ab6711530a9ebdb9b5b6fd72dacf1499707fc6a5b5d9576a9743d16b9c7e0520057d5572a12cc7b20c520620f5447cf08138fcbbbabb5f32b99f29ae4893094da51b70f413d94ef4a8ff62f7b6663207e7b64ac666eae16e36841bcef09320f810956be8c599a0f1fa848ee8b9b8bc69013ff3eb5331247be70868bc62dc152027e0692b2c33fa8d5af172dcfbffd1641048d08ec04c7441ae090d769b352546fd000158c2d184c848f5bf9ba09b98ad9231a36151482940e21df83757a22c320fb96844f3eff321d4013803e0740b5ab96835e01dcc44a6859aa5c1bc082c26136a04b7847dac32c32e3463ff79908b97072f772056e20dd8224ed76c8b22f8dc346e02969a8db8bcf1a6dc4b0f0fe13f5e73a4c639639903df6f787aa8aadcad0f174a331be6fc31bf57b0350db3ea20bd2712ea1a423bf78aca4f576725c70073addc3ee56d877fc87e49955c9f3f9464098c8e093688dfde5d82b19da0a3ad9028e94ddede491cfb5f6ad71f9ba8c690385241d4cfa1f3c794de20b43d90d05f70e75a590f32950c6c58d16205c6942f7291646a2912db66cec7dbe1ffda9a5aa120cfec6b50a4d0fbf3c1223abbfbb89e803ba3e87aeafee62644dd9ae04d32bd102031b94c908321fe8eeba6b63abba917f8296f8e6363859d62ea6101772ec7542bfd000143a25f39122bc2ead5a4073aeb14fd23d3829d7a67bce0639c2b38f654e4bb883979a68ec0c5797fa149623bae4c06593aac99d1717925424d8a0a96f919beca3b930ded09024a3fa2daa2412f1fff41545820b99a41b142e870e0077f4aa16547333f0a9900b56d8c4311ff8868a2b90e7febfcf398fbe1747ae3fb866271d41d8eefd128ea6abb21c2c5738ae342c3bede37ee29bb9ef0d667631b48476c0ff5fe0bd336000f34c5c0c1ed0e42b81676293ba34481654d769f5d425bad13a41c7c3aaa386b49deb93fa83c2b9aaa0f391466efc87ae566e4d8172a49e1d2b33b8b0b9cb13416dbd669c69af63ce205a678b0dead0a870fb5d46ac4459ee882204365ac01efa220b04664f6cdc3ac6e3b2edfb562040d6000a20c4a9b48466864204dc22a8795977aae9aa962b9a901cc91a009c03328ee50f63a91b62b7e574b20208b91e6507b7eb89ce06cfaaac01b7555f481d1f3bfb63ca18ce7b3c62f28081efd0001d43f1c8e7394655dc27f068b41a266bebc9fd42289a4e2870852dc1db8cea80784f0a1ac8fd976e5a55e773682170dffeddb5d0514c1500f2b51976bee8ff0848bd8fa8d7d7a96f1f378498810ce8b59c3deeb0d740d41a013d55e97d1b7cb84f239b692cad6b4310c3afb7ddb651efe5ad937e968e7593951ba3d0c826060cf52e0f485b08300fcd951cdc8509897270ec7acbd0302fad9ce422856f87c73575e873ba44e4aee2053f73f0005ad238ff77d027a1a7e90835e5dff600d0049c08edd5119b79fff6eabd0543d2e556bda29e8fa3ac75399dbe522763fa280db1e4e470ed9bc7ac2cd8bb482ea6a8016b6e2df8de14b01fbe703cc1dd30956c495fd00018bb5b36278890a8d0fb92ac2d50c96558e22e3d08a428b0d8147ac30c574b7349e906a366f99b46dfcdb531812ca39f3895ee79f544835df37d391624b90f8439a3309a2fdbb055709d98a123cdc1f3f4db7b78f88a1d90b5ca672e9596df720f4ba699b07069821939d1488a510ebff155ec650a5922f6162b5df1391fecaf72c426721a96c6c6824c8cd860d5dc8c4d398187c54a08f50247c4cbabfcef4f954aaae440198034fc9673735926caa350d72ef32655c4a90907a7ce384852a531bd86a23aa3fc9188b3580a9c8ed8b1145be49bef1803286fb93762504f2bd9a3f29b37bae6fdfb3023cb05d9bccd2176e5440c35b95e410fa8d9b23967c109b20f15d92c7a723e9b727b0d69d44aba678a21eeb1203c3e00a7e99b94b575daa0c205769c237ee4ce5af24cf73281e16d041c7443c6bfb9061b1068731e3c29f306a203b64851b6906fc8eba9da2cb74beee0d0cc60dcec5dbd041d0d6c72944498e2e20528d14f87b3fa9bd16a8ef7e91cd3f1eb3321ac28237a18f785a9f5ea82aa271200d5f6ef8f14356f1f6716a779a432cd7b479c92abd0449c5fd0aed6dadb3b30afd00016ef333f8b546d81aa73b4d1a05a732b9b639f81e963dd2444e16e7ff5164fb7bd7a0b091505e069d4ca151aaf338d7ce3598b1aeedcbe6b4f681bafb425298c3585cb64236aca41f03b37ac179136a8033efc4f35a64d33e3bcad7860fcf473fdc6827e6f0fe0bfd3a89ec46466abc639fe12dde5327ded795cbd8b95122ee3402838d3882d080f8bc34ba11eac7acf41094d6ab57d966f8cdb1a33c8a35646dcb70894aa20cc0c3ec2abefa3d88bd5d0c4b41be77e67aca9e5cd54daa7dcf21e5bf52bbf1bdf7c3d5d9532fe5a0d08fffcdebdaa9bce5bde773afef8872c5b68db73dac3ebf34f15cbecec7ee34421c529dd0f6bdb6eec3b84dba6eee50b4a7fd00012974b63c73e269d7e59b5c6dee2fca79047179d61fd94d52e9e48045fff0ff9960eabdaa9b862acf54b2acefe8d39c58ce89966149eb8e3685089602df1361c07560339ff97eb271bdb0348a9c14f38a59b5d9e7ea11ee57da0354a404b6e2735b90387886c62b5c725ba53ff6d121aedf4e705d76999116407750959f7a9e28b28716d766aabe7e995e98fcdbeb140064870f9008a724556ed650d0e873bb4825b9346c00d4bba3f34aead63bcea1369dd819696a43486166b6a72976622b6f5584b91c979b66a89560eb0d07fffc08a35bdc4e3b6bb324382f86aa98ff583ac6930ddfc94288532ebdf691177004cec59b06a675ada0c25aeb666bc927cd84fd0001a7f2d70da64170ffda3d6a6c9521bf27c7c9d02d65de034cae0d7770fae453ddcfdea640a9bc7a4373c9da605c87eb7d8ad7131d6961d437f28c583b6c623d9f787fb7811989eb0397b1673e127ff2b6c2ac0f890ec600490744839cc385f8566088100712d9daead9545335295951617027d1847ec01b1547b17c44d2a1040667ac1d1be0bbb607ccbf9fba327b0c2f1c01c6797e2b4b534e794602f880cf695921f1a80f20f898c6dd6e1b62863a585dfc0e0ffc87e06280196b1858d10339944def0671c3d635bfbd631ceecbf483909829f3e04790647f9dae9c211097339e2b522c230f9b864e622471f5cf75d3cdb52ab80fcb04d8fa175c2723faeb8820decc7d8b16575215d1de5275fe990e5ae6d7ec47ae3267364faffe6de401a74220e91af0d0967de3336e4073069eadc657ebc56be2bf2cd2be2e37e87d0e635f682088d515ffe2c67832a6e9a615c1b16d3bcf612795e3c78d1e83fea2fa2eda374820f01e9b8a6b3fd67b610b9c625fca4d52007b1a4a9d4985488c84bf42a1cdb23420677ca02ef419ace61931dc3548f9445446290bd0e4f82ca5e96269a367d1897b20f6be50cc1461e0c6e5dc996bf527a82d23016e763442d741e6a1f126bf25942f20bb54ca990aa006c35d9e8b0add99c09ef95f74933128006f75f295938f098330fd00013764585b0bec6afc184fa6df6189753ef4d10a4d2a216aa50df077d8f7b4f8a1027b79a01cb2e68be9cde59c1d46ec6feb498b3a71b14986c4d9ffce5091876ac9d39b2c63a36359e220d7ffc5a4a0e8a04aef343f60eef31043a942e7f892c5dc152eeea6f22a9c59b6a21871fa8d6bc378c6c7d063aa53b9d13dd2c70dea96533e566534f2f156e9ec37dfd7f1122ebc4514f4d576bc3a0b9f72fbb685b4847090b96fda03fcb9901b9d24f1d91676b9682242eb634a0eed4b5fc2e98ecbc046bf1294cea1c13425be8cd48ef55700aef0843c99ecc5910890e65a40143fc0c52a31ba3a89f5796d607fd4c6dc592e22cc5e93192a936686707fdbaf0429ab20ff89d0f299307041cfc42c566e3da810f3f0f84c741217e899a5459bf6ddad1afd0001be741507c20310671681902f1f66d4251b47150ab8e7deed2d7df69db163b0181058b958d24271059fd29c2315250ec33d6340686734df274dd8caf8aac2cf28d1d395a49c484ba80a3d936dd81fbc4534f05dd3d5ac17690ee5b63941dda6b10d4101c87411afe468c04f43903bac5e3186781ef3dc8a9bde596ae2edd0b35a55dd04d02a7f48fabf5480c142122ee1a29f82bc0447e46ea70badc8dc1c169df50c0c24c2c578c9753b096ae0633ffbba5aba614b5853e42865ed18bee1f228b2a6db9c78303ee368f82d71eee0c0d77ee39c0dd99a6e958681af78cba904b90da03fb72d2f80e60fbef27d2fadd4a1894a4769c2704afc9c18c5374f21f080202c555dce0965572b82cebfb3c7d258c0acdd99b3958fd4f2d03e4c9e4c675c4d200508f57efc9ecbe332248b0d9fd7eea86acf68a5fe4078c52239acf0fba87346fd00017e12cebb21a6202fcb32ecd17a403ac5db6778a1f057f03fadd7747a25f2ee0a5da0fbee74396bec77d581fed976972bb910148f2afca54b97b163159732e46ff07908c97b2cd1fee5e7b3d3a2b7934106a4557f3b8147f3ed78f1d888d279cbdb035f28a8902cbd1922ee02000d226e86497592d801fcd40ec6ab1a169a5fbd0492262124e3f41209bc0ce3b9fa92c6033ad735a323df276ac583ec501c89af0c757f5953d7988a3c402f3a94b8ea25ca2d6cceefec0aa501d3311063913beafbb86bcc1ad2a68961a229cb17392600c6286ef0bb522bb689bfe77d50f14fda162c449fc80518b03939637c5a0c41d2dc21c111f88723400610028aa62350a7fd000148786792a75ef64a1268913ffdd300911c0f4b39d420d458234246b9e3919fccff5b2671df6b0a76c7bcd354f2758832e66c4f8a4f2fe9f52d738045cf06cf56dc68723cf5f55918fb80cf286dfbc4f064ebda5fcb7c8ab2d16e6bd71f28a4a29da026cbb218e6ef7ea76597cb79c878b88caa4ec0d637a182103620a0ef3c1188b0b34a97cdf61ffc46213b75be3283e66b6782c6bcee7e15cc83d22e8a40adba5527ee3a5a9c2242a5e7f82fd5397d7274f02e2d97ce96be82ba85694e4250b88ed410d506b16bd56b7fdf0d1a597d83cc2822f7faee3ca65ba4bdf0a1def515351adb491b7cbbeb48e1c78dfeaa1e13418b22f470547131912b799d6a378b20f908c82f16ea82ad2bdf548e10de39e1e09fc275ae9fbf476ff36dbfa8927270fd0001c42f2f8f9ad16ee8955782bdc6b09ea17afb32930038a52bc654e1b6f3242419393334aff0008a0ce235e50c06caf165f3c7de392049ef298c602ffe62be068de8b0c917393b5cc665607288ddda1cd3183a963ec44c8141542fd571bb557add8e7da81fbca77891f8ba6e1e43ac537a673a51e636fe4a6fcdac29e6204af7eeb48e3c1cbe5ef1b9a4ae6f649d2632b6e94898573e54cfc28d70ee5eb3d18ff483cbcf1c729f157f896a3775b141719970edf54fa4b18885c6dfe0b62c5b0bf05f4d183b6be34a7922f556e1fd03c7ef638db02fad4c60dad47650124d50c5e90efd5c9c65297612d5085560c7acbc83ebd6d05aab8f891e134eb5db2605608bfd000111642d8116c35784064c512f158d953e95d2e7c097f63e7c6da2fa8753a3c0232d85bb09ff4ab6626714ad9f20b7c34b8ff0f6393289238b2d90b16cbe05d7f7bfa9ad4515d8fd99a124b9936e93b101642a658343baf903b384781d63d743cc8721579c87b8f90b0a861c763ab4313c462e53067c424d093a627db1390783a4d6df01a85e84084a00f372e274f803f6978939f3f06158780c33f596d230990911c04e97af07c956e4f51801faff6f9dfb6c8f7abd16f08e016cddff306fc43fff737b6b40715869edb51013bdb24120d91cc7d0a99c3f177e499f2874917f445c87d480e188703246fe64dae343287ccd69c98c777423ecf82529f08d4c928efd00010a3c1c5a140480e608ccc1e8c79f4e0a624e3a2ea79868505b7c73023ee753f4f0bfd06373eaa2a30193f9aaf61804492e3a0bab77e12ceab87dc8e9a99d12074847dda8c92fc704ebc919f94d21e3bdcd23cb905878ee34fb95122667ab96d26a17b96e55eed06324064b60c6574a8af7f7fc149e2e9d71a38f8f998143cf7115ac418b7e28821e09f0b47fb1e313a280b4c07c6f9fcbec5c01203a532269137476a2871776a34321c54ee022c1bbc064e50afea87e73c4328d343a8a9f4e3a706e6aae714ea36dfa3cb3465b10245bb20c2a132615d231b3fe4da12afc44e8d8bfbf283ca73ef5e7e26a87b5c9dd2abfe91eb84d922ba1a2bf6a0ee2ea569afd00017a899d2febda3d75671964171367092d0eaf1b65d4b8a39eab62c8f3891fbd5de7cdaf706aadb99aed924d21e8bd3b2abbf3000aa6aac7cd7f5ce18359f5d8c4a6229b5f93411b22753fc753e708b3886edc5aeb71fa4b32c1b2631cfd26c0912c1fba36fd45fb9bc6c851d0a1b1d6626eb572db66d51a5a91b556f419c90a2ad58b71ecef054301c8c123e03de93ff8f280e802ca29bd3b5a6fa8b990eddecc0fabd71c3b683ef0083b43f9fe8c4a06dbb5340a8928d977ac729fce780806a0ecb84a16e0d17e59879c4d1d2f935ca947b0bd467b4d91767620394e4fbfe5376d9a3b4c601b6b9c122cb8a30ae642763c251d75f12cb377df4595ee993b2a8720dfe7d0722ebe9e3d4540e1a3bee257d90e83e13fb6fac49d32287fc93ee8dc7ffd000123500cf302259899b47f0702a2f52efc1294fa81d307c144440268b6732cc28715be22d150f6302141ae646d98b93f6034de28af910b94e4b136416cba12847554f5cb2d47a31d4835d3f07ebfa2d94ed710a367c818394eb04e803571a8f91e9c73dd29b7045a7f70480a57aa513f8bf667fdd216c8735c0c4647f847cb21f5a12952c23626cfe81aba94311193547584ace27f5760093e1f822d89d1a32dc486ebdf08fb280e87e8381659182dff48403d5f75605d9525ba3eca2bf5542edbaf66fab3979bafcae2d749acf065d29d1bf9e96e29e40388a1da1537a978a7dd47a4c8a44a9b9416015a23ab2abc895ff9a1cd7255a1b90422a544cce7ec689dfd0001e0c30337549c24af89de0971fe2fe6e2dab86ff992ebc79cead8eeb4de25fba47426531499dd49ec980b009c9c5f3a21e21ed49301731360b6eed3445a96c915ef0b23f3e9290083adb69cbb6f026835d7817568d453583facd664b800bb5ecf2912ffcd1d83dd67a1474f83d5f3d9c60248d798ee22c2316f699c6b8b68e886c1f0006d413d78783ca146ec356293f01d48d8c14fa2d411cdc237a8d37bd4cc913f1470c4de2231766f0592da2bfb0da8388e5147e3afd46ae9a39bf0dc042feaa697d631df24c3ba54ad231f486001e5d09cc06bb4e6a11191c0c4bca1b5410dfdaa85efe27fda8c1a67af50f696a9361ca60a7aad16119497066f64adaa80fd0001ffab70ddb0591ee64d92be44e65f01c8a405bd2b57d5f10738e43f5a1fbe9065b2beffcda8896102f13240875a1006281f0fbba79ce4f2e243ebbfb9f973177e09de0215e2d23d31061479367d83a7fcb4a970a0d6d660b24ae2167361167f88f93c81a48e9f9fbb8535ddacfd66f1d25eff079968107bb43d336c5b2f758c446fe05d2cc3876cbdf79ea0059041a29d31dd8c961546e453a6f8d92d20485391587d4ca1cfa69e94a491f8d9ad38c8063f39dd27fe89d6b44822becd57d37d825785da30b0c11e15bc44724ef8cd8b26ed5ae1010566d5a3d1242ed38bfa2cbe357e68bd59ddf21630a7d167da7e99f12519d04ede69e7686783ab2565a61399202714923a3aa83f036043d9ffd5bc4407db3458473cccee4870916d0f9639c85cfd0001a95bec721b247e84d5c2f836c33bed244dd7f73a5b91d2816f14d80e4678cff79c2053c89d50fae9b6a76d5127d2f43fc26f3bae21d34fe009d8c925bf762a10f16d37317702d113cd68b59bb2d2c3128c868c4d85939f1948981400b0cec49de82749c7f8b56fc60610d6663e779d6b4c28bccafa57f7cbe258c7d1b2dbd5c0e8901b3ccb4e8ce31bf5fd1474912e961d665a07a11ea57cb44ccdf2efe1f49d2a372cdb61236c4e7e67e8c5505b0de69fedf00ba3de16d4f4ccf71dcdfd31394c38d2f3f700a7ca196c61c40a98c94c476092ea05e7b27990d4e8a640362b9a7fc15b8a1a903517675b221ec028bea3e4028de65d05a96a92a96fb7e7cef083203d924d1a42f993fa47b19d304e561bf75130e7861225364212fdd7b374c7cb53fd00011293fc9f97b27c312f6339d186df32788a57eec1fe30e13673a9101f9aa4a027a2654bad71de73065ce703ef501f4b177ce940559fd75903ac6ac5b477f022d00ed7a2e638cfcd06556699e24564f983a89057131e5bef5d30c55eb4204470348790bcc3b2bd9909825586c67ea49f6b595731a0f2855ba32d394b44c53e7182124e7bb8a25df7b09406e9b341e537e14851a23deef49caf3a246c63363b61efaca126c384273d631729d63acb2392e1e6ccec7da38e715642d9c4672c99df285ad1bb65216159b7d8d9a0f0ab30f7ee95d1924ae365321357596996a47e8259b52f3f8f6255dfd9b5037920d1d23e8bdce6096130d28d11eebcfc6bb7036990203c359af1064ea2d9c7ce76b3a103c381d8b45710690d246ecc3a7889ed43f35afd0001fb69de86c76493d67c655b3fd10190e9be97a002e3afad7a613c0bf73be252ed558d99b16e3e4223aa31e87a3c0dd985cb367fbfb6733205142107ba028e84ce5adb6787a4dc5e39a569345698ab6ba4257ae773e828aa8988903fef7a187dffa478856ad35e3170f5f3617a4d94d003337bc98afc50a317ffd78f17311cc7e39b42585c67f6b7ad70ea379468c9537512f3b90f10ff2d42d757912a2179d9154b162460f6ee20abe2880d14ef3f1df216823d6fcfa38c2c8893c5cd31db91ccaa2a93d4909b7a6db21230a986f2e08a6f37631edc93ecc82d86f52089e67a2f5265571865554485aa1f2d8e306f668ce972964dab328b72e233e4571e84df9cfd000192c963896ccac0ea89232f292b467f82e0a3b4563ea84444859b5c41fbac8f73e2772d3de214dc91259625c0b241ca600036f53736cfc8b870a87d7ec6951c8cdae9cfc3e7edc4cfd5dc064846d84d04725d13068b99e61e9047471b50e321510af23bc5ad1b6593f9257ba8b27b64dabad059737c9407b2bc2830168649cd15a6d62307146c705a39fc59a24eb25fa18c8a98e3f0f0d22593b367f3fabc64064baf4f383ba0ef3d2032c7a412c5a4d74c940b1fd98efd3e4141a387d923240aec8874251660e2be602155e602e61eb1e14dfec18f2bf92f38573c5e9b4fedf4e801d3edb0ebda156a31edeaa3289dd6dd380e68627240bc06f39066f8ae95abfd0001c3374909c5e2a43e001db4ca5c46e5309236ab5a7e4573c28e5c7c0149592ea5fca3c0e9516909063d404f7801d7d9e4758057d551836b96000e506d4a0574dfaa6df6362aac53ef00221a4612e2cf49a91c1c0a097159dc8635ec3020aae9b76081eff374644c4ad7a8e7ea236c1a256386fa04f19b583315a08edaad2068fc6238314d971c2f0c72f8c44e52600713f07f4235703700d4c956c945f9bc1d0ea51b2a43ebc842b8432ab8b2fda22c43500400add03352971b9be3549cb1957aab51a27dfd95922c042b83102841bf11d8071aa48fee769669c3b77465f32176687f4dce4e6550c2156c083835a8e65cd3a87177df4f68093b0468dda4aca89720ffdfe77a83ca0d93cf551d0037da04e6cc88a615843529fa2cf285e2d2453d18fd00013f7b1ba5d450d52361a9af3c24beb66ef0310cd2c3ce8094831424b433880015c7cd453d0a347f8306d9adb7752e1951519c30595dd0cd3de35e7232c928ed50924ad56be46d6671ccb10378d495269b39c877d2bfe8f136538acbb8b97e27b87fbeecd48d49996948d3b7c61cedbea9c7f88beda192ad8314f5ccc7a4edd98bee1571e13218ee06a9020dc49874dc90dfd30e10bf0ff65a93f1a54a8c055e402dc859651ec03bf2661adf67e616e613054338c9e30a084fd5b30974c560a4e1b7ecccec07149eeda9ec0a648037a7c75316e21041aa8602b41d377d38c840a27229559bbcc6cdee7cee2099cecacc839064131852c04f23c12ba79cfa44319a2094acab4b7debf548702915d13ec3b6574dbe085e74c373dc00c2912576823548200d9edb9dd62e260f824e487a9a1045af448d640ed7daec3065674dfc353d990720605ed0dc9af0a82792977c42191955c91035926ebd41101093b6ae53fddb5568201852b299cb7bdc4918f2a43bb1517d96392336c95136a306ec8d9d8355478c7dfd0001844469dd60ff2e7af11e0141885b797f78c9b3487ed5b00cab18b643623b3d718441beaafd35db8864260d21b56078f42a2e2252bd733f60e1dedff75506270f88caf4578937b861ba7124b2a13c31540e63c64d1aa1e1fcb0fbdd89ddfaee5f46c445ad367796e10f6ea3081891da67700b2781ed37c2d6b007b4ba6133d381376b79cef0b406c827f78426c26021a32c5867ba5841c8c02c83fea6802ab9430429d0de9ad43ec2b31bfd1cb6fac562c3091c91d0aab4731bf02f267b0f2ab1fdceac671fc1ea50dc74c11efeb6c73cf2c6fb15dd643f53aaa5c02d38f9877d486c4acc0cd64a73fc47eb3ff5a7ab69cb1c4c56eafe87a45280b2b1fa1a54a32031e10bfd556356ee57b80a7495343c11c0f848895217bcc66374db06e0d9c551fd000173cd1d76d395109e90520e88424d2632fb30a20b99fe66ed018ced219d2d2b04f9414e8d2becd31d22d04b38080e33c5f4740763869a8a4f36d5337efe400693d73eea2f7ad3c16db995623874dd1827137e50873cea1477b0ca7fb6d20dd3c657b9a6539c49102d251c8ff864ceb178d8649ae898ccaa6f102485670de4fbba02fb43fce8fda52b52f787a5bb6827317462b1d4f91068da35bda7a54e2b71861c0f18f13e428bcd7f3ba9692aa1aad3e3fdaff6daba10f2375a4224cfcbff1513668f7f243acdbad3b2e42c79ea777bf13b16b08e963a5d884ea1ce866f4506fb4b3e9335ce1c1ba4e8e6ebfb695ecf687c6c6ebd4347bb075b9c551355d28c200401ec64a5b40750518aa27fdf99d13748548f418127ae264a00a4cc729ada4bfd0001f8e40abe5fdf9c01a306891076592e4dfe48779cab717da1884289bc4e83bb8e43518fdc05791ee54e5beb76770537230f2a8ac088bf7e74f7e5aa5653eaa40014ea9bea78e6ade2036f37c82c74cbb6f9329a5985aea8bf3d29a5e7a1bb499ef9acdd45939f2ebb79b22c7664bfcfcff8f07f5f2c6cfb0cbd298214ca55dcf31707b2c9cd91c21dcafbd305692409766773d2078ce288e90d6afd10d94a8bd46a2574fdd6d36fcabbdbc8ef1f450e44f9df9106b20da791396b2fc3545e3d1d1c0f7c937eb3c747a1c85d51fdd8d4a4abfc975a0b0f99dab0c1a19229f756ab91abc7473d11c6bf45bf65617322407c4b026cffce47c83ccb166acd8398bc9efd0001e2a88a3eaf5a1fda574f722a00b618c46264db25a63a5d328b369b0840884147422eaa83d419c9369a1cd636b3b48520035caa8690a866768ff6ddc3f40759e21b1f6beccc88b26f0389c3a369054668697599d6c83a1197748eab8689be7d3e4c8e825ab3ba9f4895658aaff0c839a0b8fb0433287906e5288e08926e577fc5f8f7e981d814e2cd8ba3bb26a68060b40e2e91876f9a714b9c673fbf838424cad2bce9be762d6e53fb1b56bc7bbf014408dbd4b6c9d2ade1728a727408689287508c7aa59b1c1c4118dcd5307cab6fc7a743e9d8c6878c9d362263d7e743eedf7efae34fcb75ac890f00271bb5f8d3dc2d389865a84447c3b9ba5381c6bcbd83fd00019214fa7106e5240b71919c096b6fe53767da7d908b70359c5475926882ec9db0258784ad6ef61c708dc150094b71c150a1379132800daeea3a298d67b1690a83d99df2915b3e45e9830e37ed9ca6733b63e607e3151c2bf4827f495108cc705ab1e86e5660b77f0d09045ed8a52d6bc4d8ba81f400c18d817168897f10cd4e2cd7eae87c0277e02ddfbd729ccea15229a4385476ca1b3101c395df4c37860e45f8153d5f82f6765e3bca3f8fc712745202ad3f562df5109f16a2fdaa3f5dc0fe159d2253e577d5b832c6e6e7db335ba1e926cc1ab63af03e0f6173bc70b29859fc64ba1d12ba0b909da418d30c2b6488e7c10936725ea7668a0182bc217f508620ed88514c4caadd3fe2e91b4aabd6713f501a830556f9d3d71af166cd1c88c149203cd0a5764a043220ab3c9948d97669f111fbc2c412bf9546504814d43f3cd2722019f8fe458af202a05249309c8c3b71f624fb1b4acecc87392c98b2fbae144573fd00010acb5cd63ab414d905e2284bc169f625c027be14624862b461bbdb220b314cd334c2d83ef59ba6590d5e2bc83084e7621e11b258ccb8f162d2ff4fffd8b02e12e8f1a8ea7564cb697b9ebeb47bf71e47aac86998f16cf94bf4df8b7dd9ee4bdaf425d3528dd6a1ade67e3b9923b6010aa3175a1b785cffbecef0ad4ff7a76c3cde5c51a29883a95e5d0e36cbfc3eb035a160b848531e648e9392ee5d57d00763a8f413a36289c7888e807334d2101da7aeb430075e442c2be25005d1e338801abc23c34af639869aa745c0940d8bf2ce0463a21e5748c3c44a028b7c6ddd5f25dcd3313fbb3f73ae2fcd2e35660750dddff669118248636f77909236b515149d20460532dd4945380037555ec2ab9a8066a493c0faa480730baa8d218a3830f06ffd00019b2aa5050ace16afeb2b7aa10c45d9324606675b77dedf0d29e20635d0186f9fb7ad0af89c640d0ee2470f54bec8d2968728879d892ff5390e60e071cf852b6c93bec0202099d04315e026ca79d626af504c2ea0f024fb30ae87b44e3916f5047eaa8016c8e85d2e37ff292ca4122efa94edd572521703e58af6b85881053a19f56c1b58ab252c6172aa780954096057b00d0086e7aa1702a16d32d67d05f21ff65f824a2ae27a655bf53107a3aa4b8995d10aa76e02a54a73d73f3276489691b6a6f5d641a87c904a445a6b460593ba54ef810abc29788e6973e72bcf62b75815a748273da8f89fe3f9225450d15d24ce964d8a7337c8bb362858f6a4c0d8abfd00010e90eea322b9325f8f0df687e6136d3f3db84cfc0599ca0bc8c9ad3ae2a2629c28b956f8b323c3c0a2f508dcaa3ee31e03a20541069addc0da07b68c0821e08042a9eb86e9a33d30bf5341d12bdc55d4d75d208389266f3ed292cd4bef8b5bcbd0f604f2b9ee6810bce4f604d61fda3b9bac08f87ad48b0c33af7331f837f40cce178ae1ae8f07f6f63047c2a598b28ed9672fa53e530c79883494c73aba52767b9524c82e1d637732bb9064dc1095bf24fafb8c7920566686529539acfaba525b2f1cf9850b29550e3b3c4caf1692e0f11686c919f993b7f10ce7a31521a2e9be97a025c09f2ef2b849cbcdc506b5a2b01608904f5ddfa9e1444970855ad1acfd000168ffbfa84bfe5c4f4b49e1cffe3de7a4329c4710c97de9c72ee9c6412009acfeba45d99317755f4bab02ae8700eba5c6267534139e878422516d47543dc0fe5c8f4b11c6758fd6ce54e51dce503581068e217b4d62e89f115faa0357fa7301b9dd509b1b9d4a8156b6527926c6442eedd8bb50ecf1d63820ddfa72975e7980504e147ca250b61287b400be32fbe3d69a501edc04424f36bc9d37ad10cc394ce8812ac354295b16017bcb6b955efaf86ace0d356f989161c3d957469024fdd6f29d9debe3af295bdc1aa4a40b7e9d19f212c9cdfb272ec8ad9c99aac7a6453c89a087ca127b07eacf62b71d897e2a9b3d7829f9e163c06be5916d18731b41efa5206b559f18768e61d3ec3eea4447343d5d77885bdb810138612d79a4348ec2ae73fd0001237d9e54fd1ab934695d09c877ecf20238aed56c00fa0575de6868d2ddd2a25d5e406f66d5af980834cda2a813a8dd332be7a025d21f862bff45cf738f6faaa2f50ec19ec208ac3f2d097478d21e263db8b365f05429386a812dfca499dd993c29f62c2a1f92e6d77beda1b8a07f04cebfd268a4dba8a2622be5ec2f55c329e9f8c3590f9e12e8b3db79f255f6f37bbbb736d66347cbc3b19940b75dd1c73cc794e6b3231b101e9bb0865eb56dfc15857d1f13dd5c76cd1bcb83f56a5a9905a54541e995e0fbf0dcb8214a79fa72b0f4facc11f94b65a535603c6c33f5ff71537cd071b4c0416e8cdb5dd853a87030efd84fa5cae856b8091c3d85655ec40b9586ed7cfc35212a7ac5458224073857be715a222e147ccd35538e5e03d114dc7ce2bceae5415b756c8704c232a66583a091ccdef84d0a48880f7caa52ab15b06e60f4daf0a28f13bb04046af73894cb4b3524b3dbeb018620af2117f48c0440bc219eaa556c26271eb1559c5f64735dc1ddc1e2fa34d0168e3b0fd2372cdb2d6f22e3ef0a815cf518345fe373dda4d3b2885fff7bfbef16dcdde66851d50e29d8c52e30ba02ac540213f94eb6e5052212bd48275973fb77bc9f3157cb1fd5027cc8e60a2e12e64228a861f1803977380b309cf94ee72960784b0605f41e46a08bfd5ce2ea389620a0f4a50d6a4474989a1b8dc36e6dd16153aa06bca2d229b9e822c029e2b7973ca82885e9dbf299c91afcfd53dffd3dac0d6eacffd1611d59d78873c59ed951f21bd1cb41ad421e229d02fad33bbd3f7b3e1dc81c6045798abcad79a17e3c0cb175fb04a6a1b768eba3e4732175516d40b4eb149fc3a1602a3cab3d19a4b79c45e5d26ccd96ada10b16671d060600a72566215bc4ed79aabb88695a7dd4f374539410acbbe506c250aebee60b33b34ad987013fcdff1cdcbab4912ef8937bbf1f6e5faa91fb6c1a8f55906be6b894b008f84d39f2d469fa5203abc38b787959ed22a59937b8316019ec261456c113bd6886751df401979cd690449608bf8844e2fec4c6d8a0bbf8773e1c572fdf84c8627a20ce71697256b4dc3f138f6a5eb98f6bdc07b7ddf77c0b832ac52c6fc919ce5a294057d5abb90eb87459260aa4a804cad4a262970b7d061e7c46412ffaf649e645df9ff092c271ca1308e7951f103f905b244bd757b8be7f1839d949e23ef3a37199aa32a0d4cb0a5926167ec7ac5a6bfee834ac03c084378c8da3cd91676e3fade2360d620037dcc572882704539144b16c22658b31e92d33a8247e8417dc5a8ab37cac81d679e33ebf6a4fb53c14148025b901b72b90da31a410cd56042f38f5b84e6ea9992f91c268bb093e4c4e334a210bf1a71936489047c13740b4953e3c772b859f89e0c54585c00bb51fa6e1a78100022102a4bcf5e9ec8582f5fddd3589899e51ea3c7503a1ecf47a5f426b9f2e6290a1d9473045022100e1999ec1e8e9119da1c68415d9b75ca1506dfe1a37aeeb56eaeff123dcc6232202202dedc6802eee94793455ee6731ca8ff7bf574d19a8dc3d8b7fec7d880cca185c00"}, + want2: false, + wantErr: false, + }, + { + name: "zerocoinmint", + args: args{script: "c10281004c81c92ce491443c7c4fb4794c83c459353002cec18382098392ecd43d62519f9db08151e0176c864794723c22851580de24f24183dbb44a7cc91ceb1a34524680c42a10b0f1a1f846f740d1bf16940636b1bd7cdfe28834d8b4b312a13442f01ed4b9ed20aae6ed0a4c39aa9697ab6eb4aea90013aee86cc10862490390ba53b7d100"}, + want: []string{"Anonymous c10281004c81c92ce491443c7c4fb4794c83c459353002cec18382098392ecd43d62519f9db08151e0176c864794723c22851580de24f24183dbb44a7cc91ceb1a34524680c42a10b0f1a1f846f740d1bf16940636b1bd7cdfe28834d8b4b312a13442f01ed4b9ed20aae6ed0a4c39aa9697ab6eb4aea90013aee86cc10862490390ba53b7d100"}, + want2: false, + wantErr: false, + }, + } + + parser := NewPivXParser(GetChainParams("main"), &btc.Configuration{}) + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + b, _ := hex.DecodeString(tt.args.script) + got, got2, err := parser.GetAddressesFromAddrDesc(b) + if (err != nil) != tt.wantErr { + t.Errorf("GetAddressesFromAddrDesc() error = %v, wantErr %v", err, tt.wantErr) + return + } + if !reflect.DeepEqual(got, tt.want) { + t.Errorf("GetAddressesFromAddrDesc() = %v, want %v", got, tt.want) + } + if !reflect.DeepEqual(got2, tt.want2) { + t.Errorf("GetAddressesFromAddrDesc() = %v, want %v", got2, tt.want2) + } + }) + } +} + +var ( + // regular transaction + testTx1 bchain.Tx + testTxPacked1 = "0a2052b116d26f7c8b633c284f8998a431e106d837c0c5888f9ea5273d36c4556bec12f501010000000188557c816acd0a61579b701278c7dde85ea25d57877f9dbc65d3b2df2feacc42320000006b483045022100f5d0e98d064d5256852e420a4a3779527fb182c5edbfecf6143fc70eeba8eeef02202f0b2445185fbf846cca07c56c317733a9a4e46f960615f541da7aa27c33cfa201210251c5555ff3c684aebfca92f5329e2f660da54856299da067060a1bcf5e8fae73ffffffff03000000000000000000f06832fa0100000023210251c5555ff3c684aebfca92f5329e2f660da54856299da067060a1bcf5e8fae73aca038370e000000001976a914b4aa56c103b398f875bb8d15c3bb4136aa62725f88ac000000001883a8aacd0520002880ea303299010a00122042ccea2fdfb2d365bc9d7f87575da25ee8ddc77812709b57610acd6a817c55881832226b483045022100f5d0e98d064d5256852e420a4a3779527fb182c5edbfecf6143fc70eeba8eeef02202f0b2445185fbf846cca07c56c317733a9a4e46f960615f541da7aa27c33cfa201210251c5555ff3c684aebfca92f5329e2f660da54856299da067060a1bcf5e8fae7328ffffffff0f3a0210003a520a0501fa3268f010011a23210251c5555ff3c684aebfca92f5329e2f660da54856299da067060a1bcf5e8fae73ac2222444b4c33517a43624a71724870524b4148764571736f6d7344686b515076567a5a673a470a040e3738a010021a1976a914b4aa56c103b398f875bb8d15c3bb4136aa62725f88ac2222444d634e45393855667571454b32674746664b4234597057415771627748524154484000" + + // transaction with OP_ZEROCOINMINT + testTx2 bchain.Tx + testTxPacked2 = "0a20599d5d797a4575eb25e1c291c0e7630bd6fdc0e6ec5fa9b14147f929a4e41bf212ae020100000001b56a0fe242a8de7dcbb58ae1009e44e7f2ec25a65eeb8b815cf53393309741ca0100000049483045022100cc208a59341dca98207ec8a4a42c014d435192694a77c69d40e51467800c0a0802205ac1782d4ecefa260b33340d92c2ab2396b43c1073a67b4180aa8ef2aede8af801ffffffff0200e876481700000087c10281004c816f5ce1eeda911203319a256e8560c8dbfd47b569ff32c27559bda78854e63e49718ce43036e5120dce357b5630afd745d399f91e675a921adbb45224a6661656217fcfe32396fb25609b724646759116326964f2f1f7ddb7c340dc24be2b75a0a9dc05ca2fdf805c03c7a04d972456beb82a51de73d8842b39a553919dfa5d8e003e98dab7210000001976a914dda91c0396050d660f9c0e38f78064486bbfcb2c88ac00000000189dab96cf05200028b8dc3432770a001220ca4197309333f55c818beb5ea625ecf2e7449e00e18ab5cb7ddea842e20f6ab518012249483045022100cc208a59341dca98207ec8a4a42c014d435192694a77c69d40e51467800c0a0802205ac1782d4ecefa260b33340d92c2ab2396b43c1073a67b4180aa8ef2aede8af80128ffffffff0f3a93010a05174876e80010001a8701c10281004c816f5ce1eeda911203319a256e8560c8dbfd47b569ff32c27559bda78854e63e49718ce43036e5120dce357b5630afd745d399f91e675a921adbb45224a6661656217fcfe32396fb25609b724646759116326964f2f1f7ddb7c340dc24be2b75a0a9dc05ca2fdf805c03c7a04d972456beb82a51de73d8842b39a553919dfa5d8e003a480a0521b7da983e10011a1976a914dda91c0396050d660f9c0e38f78064486bbfcb2c88ac222244524d38546169593338716348626764797470386f455472656f62424c48747065454000" + + // transaction with OP_ZEROCOINSPEND + testTx3 bchain.Tx + testTxPacked3 = "0a20b65181decb00e684fef238776a0a129db4e1ffdfc454f6ef323e5f7a8deae6a812e1ab0101000000010000000000000000000000000000000000000000000000000000000000000000fffffffffd8a55c2028655e8030000dc8ce67bfe1851477371a9ac40b6ae0cb8571f6e2d5285855288f6079f1ce7239ee8c85f465b1820058b79554f41af297e9caf95ce0084b7c35dea0b95e15a2fb9f8e62c5427c1c36120cbc1fc11ff344909079335209c6b84b45a9211cac960f64e9432ba5eb6e4ecb2068223dfe3d85b345da17bf374f9140c9577c148bcc431c9ec3c7d13bd2363dba821381ed9fa0614416261e88330b3e74c40e6561310eab3f26f092e72f3cab761f373d02680dfb52937bd9515be242f6573754f8f665523cce3bd606c8ad190954f8181577fd0efe7cc64b711d03774958df4a5211e44870302056557777951d7ff8c002161a6a59e979f05469cb31770bd484be6525625359979220eb7e9912e835065fb00fd000216aefbae3525166510814d1636b76b0d48ea3cd54a3a17b136a84340989d75f74ff952966830e4c0d59daa006d5a7190978270ee9475a0778afaf002cdce7efdbfad630f72838b5c4a3b538ba61b94bbd9e353437a50725af5f16fbcbf36bb34e7da54e5c24dfc90b545f95c973877bfadc2703ee10585a1fc1c97d7377bf41c9cbcd5a313849a3c826e7c1301083694e6dc05f46899a901ab4a8d7f6b3600df280157fbef6eca4c28fc610957a42a9acf7c4d7f9846ab6b9b04fa6abb5fefc168d45f10078b97d4d6a39638588a1c19e1bfc472657861a902c2d52cd32fb0463746f649ae88bc0602dbf35816fbccf91dc249be809160cbc7f8b6702d6cc5b81fdebd283231f40758afc899f6fecedc51dc4e5d09cb8961092220541f75ddad45680ea92b4ee78c29f58c197a68420bbb25b450c72d02d7249f7facf9927378620eb36fbf9b4ccbcb55627eb9cf905b4a4c65fcb77a537f642f10901b6e94afa37e4afb0d6d91194454a9c2dd8ef8fe4316f8594c7822a7d58cab09657cf501da5be5a44f947bb957b71e4291a7fc60cd5cef9f0676f7c89123c7ff1ae2e6dc001b6f19785534e207fed2bade8597541b13714284f67d6986bc616ef1b0adbe415242fee85acbf482a6a48b3f142ef7ddb5dd1c97a4b0c53c6ac7aceb8c042d9c9ada1bc986b8c276d07fbf8512a3dae6a357fc02b167eb85000040e8693e45fd000200e23abd27b258f9827ed58545a507bd465e255e1156610da314bf7df68b6b55129df84c7b19e362751ebb9beba10790c9c26c5ddc7f087258d81b006c0d2e92be0178bf5edf6e78e89f73cd97746afbb2551dbc97eafe32ae62e7f9ebcd14ad69faf74d2011d16f2c50775f4f499c87c3c50d9d5d486394c2a7f462675d2a4885493332e0610a78fc0c8b08eda42e4bfe93b8c7f80a911a7992a1deb7cca2e40933e1559815688d4e5ae5e58d706bc513e5108449a8393928b5b77ae73cb03fe212c6375b6c5e61fce9db16360a147e7f7fcd49e05a99711d4d5799be77f7e39d9d1397388d6680d4931b48798ce013256a586781ba80168bae63bed4d150b64a73f7d0ab0c9ebb42f5d4db40eeee303783249af4bbf334c660f8c084ed9a2e5fff8be230940a4a08b59418676ef005192365e4e67757288791ce4992b903a31537596cf6dad0be2af2418a6b9cc2c33e99d874168f6a29df189a869b16eb5d24400ab30e4eca9274114d646aaaa8bad45832b6c0ded2bfa698939a8af9d0af380d2afc58966afe0f45483ecad0f114b904cc2fafcf470dd4fb8f193795e8afc3243b4c946d5eac82babac6feaf4ff10bf53acdf8347fb9fb7a5ac4efcf160f0a7ef3576f439404a3078ea092f46f408a955c965344023d847fad7374cf145cadbc8348eeb2c5aa999ebeeb8a5548bb14e0092b184caee354020c19d66cb213fd0002729bdb186c4c494e17fd6effe29cbe7fbc539caca738d54f9ffc6e52a35a27da134192e2f7f4ee2a86af281b78670e662677e97a1ef008f10f42349fa83bf7841d88b1a457d38164a383ae9c6b974137d58216f22d135d30b9d6e7a74952a7e905f385141f4df088415d704cc3b03b2cd600cb5507f8ea1b53fc0e73031a3946c0d6269f020c9c26a3be3bfdcd37f8d3b9fd42538ebd72029fa0bd8eb57a4fe6769e1b43b5d5d7be311e12e52ee9dad67aa988dedc80ad616d7540381993d9de91a7fac6d08e4414254b9d1d72940fec032833a6b1a5605f4b62c47a86d70dbec5ec913d0a613d438cad385fedf24566bf79edd17238e55421520b95772224623f145100e663b2ba20161784f688afcf07a900ade1d48060d21be9ba9297697891c2584cb99a44868efbdf65178592ecfbadc92f4883662d6b21b7f266eb21815c7401b8e7da061e3258dd685f8cf65f2c2e407c913f85d053b05f6f92ed1299186632ddcf175ccbbc933044bdac5e10916917dea1146f77a8ba4b4fc8ce260b5deed395ecae9b81baa6b385fecca5d2982041c131ce02a1dec517ad2d459434aa3a514e7a4c6c1362401b1ab62b4c89bd7705d5072e0be5250c60c2fdd946bc73050d3b8bcfaa73165eee3660063f279e824d1e15f87307a40bc9e1ccc0f7d7087ba84fe9275742455241b61d3687d23eb9d7a9cc18072ed8be1492db46a454464090750eb0a393499a73d23f4c552ec6ae425a77f97d4285a7f287066b2198bfaa99073da6f4009755e59838e48cd5fe692962b87da3ea7e14b34b352fb2a4673eaaaa594a094610bd0cc566acafc21891b7b0c2470bbb338f579231e01c064f275c5ac9c2748cc50e7f2e36f2768d2a59c22d14b6b9a431f7772e716731c55ccbf086187fb15bd07a5af3040d468d4088ba9e6383f1df6dead9384758f2da81ee96370d9055ce5a0db56bbdccb57ab490f42a01e083b61c5157b3c00e2011dda865c7294cdfd2be5c03a1a36a4deda9cf03b500fd0101b3c97046a717a2f38fe2265185f4411cc68cce6cf9885a7a8fe6292eb9e3eca69fb6249774a8c82b888d22d5fcdd549846c3ebcf054c6bf07aa4d6b1c0d4d9bd8e16501f65373ceda249e9c760848fc86ea92fae7142d211c8bb4a287c91eb08cef7678ef1f445f76f81d464eb1d29ce5c6d6286d73d49cd0ef03b65376eb146a3ff69a487ec90b53c11cce613a586f22cd56fd34df6f7ad64fa3c68a6ae5c9dad99d4a3d2b0974ea1f627be4f0153c7b5fe472d0c562556c4d8d1c7c592bea45bb7886b74f8639f9487b2f6aebf4848b5718f2ce65b8f5a4efcf140e2857bc9c503f0058f9b6af16e75f2d530fbba8979f81569e6cc0bc04a54e30de4e03a9300fd00019b881d73a78b86771d41c0c2a9ebdb3899727f33d2d4d81dd27b6a00b4c7db265999b8442800750abde7cd97be0c691ed06b5d40da115546d90d4803e82c61d43eb5e2bc684adcf180be47660870921fdedb2ce43f33564541fc0debe175c6c49bdfb51378902dc709594b9b7d34d0af70b67c3c608aeb5185e78c1c39cc3080b71a36115f623a07a4e1a3e1f3e17b6f9f695f1a1acd9dd1319d0a0d67b337e64f720e5168c09196244bc71b083f302e042be19b6aa1f8ad61755f4883c3a1ae615252b884ca3cca5e18a023ad6725f08f9e0ffd60e7a73ccd29afc910d60dc99c06f5953c3e398ef615fca45f6a83f8a0be653d31a7e1a1666cc7334d9cad51fd00016f7efa38c8f9f478a6ea1217d8be9b7f0b01c5d1fa483c26e403eb3a4875aeebbd0e7eb8aab8472a5bd80e8be38df13526042952f813b71f8aeb4a2281bfe5e5d9ba70f7e4c9f477706da922899f505dd172e260ce5f008b59c0590d498ac50810e9a38d35f1a2ea4e9ce8f77e46d0b5604dbf94629cfb8b65453a0295eeca9d992365309b7956481a8c5080510a09183bd3358fb26933e15c83fe2ca6d186e631d72889a09464f5dafdc8a93dd100329071e52beb522bef1af0fbae0516ad3b02011e19a2b2924791b3f22679b78039c8356c0e6676e2451487f056d0cff064f55a992afba08f59af7606a809394772ff85c4c40673dd54eb30020c6a5cde3cfd0001ecbc47845e4a1f3c05c4e9d0a47e5e8996326f48d7ee1bd0e432c5f33fecf8a94feaf03f2da65525bbcb119c7928456c28f31c183a21af1acfcd9615669cf47a077f861f694bfc1831f1a71ab66540906c62b85274f63abcc53a37e3fccdc8563ca2153818b6b796473848d765d1c81d4e6f78ef8fce804184e04664c5c6af7c3abe4d92aac3f6ea99b84a3e53a7bf7679c26dc96804ac9e1443b054e3c55fe89315106a14646d06b84122861ac0ac27fe64fbee3c9807b0264a90eb9602187f4df2cc0c62b025ba70bbb30a7e43d533f32546d2e6f97537bc2d623a7f545676a37cb511614037d77fe21a35ce4a2275e7ea1d85b7bc19e477c61033f5effe7fa5d8ff48e2873845157b7a29718e6692704a9d864301fa254798555172c6277cce4ed5aebdff9c27a1bb37071677c16da15d6c1547c5b708e1988eba68befff1f1743342ad7cb89ec8731b567198953d965ef6e395d38b410a326ef3e262937c763179f22a076d17f848dc4e36be38d838d5788f121d771f23209a0d50fb3d016c5cbc47cec31069f7d22bd78691662d8b609932b9533bf828e213e5ed4e61f2b80f05acbc00fda0017bdc59c8a6a23d261cdf1dd10e91523503c3375a803755c29b6a84bac626708b7db937ed39f4053b5c6376b3988fc9388cc64dc07466c67704a32b703d5dd86d8fb8597cc2ff7ca190044c66638028855f29fdf2a0943c64125e3ad2487de6928bc34088957eb32d843613e6b588a91cbfd8c37c24ba655739cefdb203bc3061ff93498160c7e949823b0947c68b6c51dcdf038c538f50413266680ee23817ed9cb840e0094f6fd2277012aa2c6f82b086242e6332a4e00bb9c12c153dfea9340e681e63d72551f8830b2bb2587e5937685252928894bf90bfa174f62bf7ccd43415a094bb4142fcfe639c62f6eda0e4d7ee033f49f51eaa6a35b0f7f400992d8367a275e9d018a547430083c41a35ef543bb92e159efad39c5b84d127bc68dd581c308afd5f81654ffcdb3317dd6e21d5251916214e873c83b6ac197dbac6c1b93d79b9dd5da090be204b9765fdcf662c9296295610e42a0570a1503dd67c44e17936946f3a6ce61f82b13cf00a0b47d06f2cd28651b6af32ffc58304593d5ce81159ccc952ed980f93182fb468ebccadae4dab4565d64a5bcb3aec7a09d681fd24016a4905a3a143e4d61b16898fddbb0f9d7602ce865716b62ae4f9a37e2f6ab89de930e066db6f4a8667ccc4e79e7ac760642c33e5f24266540c9b4fbadda4c0aa1b6a74d02bdf2324ebf9598d8ba918438de1e3343be0b057925bdd52304581ef621fd085dc55cf8b45d605cb0b60047bfa935c2968d554753a615e75f24086b4e40508ecdeb411ed26c007a1110f3e73f504d7fdefb275cbb59cf9cd68bf4784b8845467fac90275f3bbcc2c14a87fbbd7d111441d6ba0833b9045db43975317aee170242b291f8b07254d395472bd4b67db7576bcf2460bf0c182f745a6cbbec3f680b7c6e0a85308bc3af8af3302355757a77a2fe3f98350e4ea1b3074e37a638c630d529141843583ba4b802e089e0a7ecaeeeb42079e072e64fa5251782cbc67ba9d46e4c7f502d44a06e5212d09f4dc5bef1f1dfc376d4a042f608b860971c44caeb3735cd57e19401314af06a73180918af7693ec5204b3f858806e6919af05a1a8c6daea2ee3f08fd2401c082f09f7042a7a0b6b484287050a15f5d8c1011c200d42eb51aff5a484fe1de9feaa264ed3022b6f5b1b54a4a316d3d7e2635210ad83e2d3c497bed46f417ed22804682529b034925dc785a2d74361d1db395d1681d71bc1b0635908ec3e92f850577f35912fe5c173402e6e2ed8003c64a57bb65a2013014a3ce14ccc725f733a50457a696396cac0a551cdda03a2ec81597031feaddd801a9bceaeb5f862a4cdb3eda06dc317a96b29c27d78dd977cc6f25d62bb967814fd1d7e87c675042522c904fadf1cff80289374de8f98df511de975011d877058aa7ea9cdf186ccfa5cfa5258e581ee7ee73e16dcfaa82f079a16c95e6ca4f49c037b2423c12006b549a0b80c5dc9b93685fd2a4bda99e5aea74eafe9d28149e94adc538198d459c7a9a45a1fd24011c69aaa26aa94954fb7dfae2d63eac286b4979e7d513eac8144a7bccc34fb298b7c556a82e7450bf590f1ae658c474ac7c12b3fccaec877b6bdd11fd9655a27b7b69b922b1629a24a8d7f81a6827dd22cbab62d121f5cf96d59be904022360c5bf04d2435c52541ea4d7f932e19fc471a0afb38f2e84668d974c57c963346d790a670a699ff53b5557def1ce9650a8624bb2065f9ce99d6b5361a1b39629040fc897a5d0a07816618840f86601508e90198de64d7091a8bda406009948fa9ebbf2f56adc66e057ab23152504438062867c4237ce2b99c020add16bf66a0c06a072c4fabd9b9fd1146b73366535d934328188798ccc18ad37d30e06a39b8e14468d32820d912359323b7d474dbf507e894a448a4e921f70d1fb4d4ac03b178ae157814004fda0015c202cbc492bde212955236761fcad7de9ec8932946b5352f6c35a242d39b354a1f96a706bcb84174a5b11a7e51cf0adeec9c1e5c88a3f8f32ca81977db668650734398e6feb45cbe0ed5c5d8f77cfa67b78f8c7c856629e6731321126d12ebe70603fe28d4281f5c9165e60749bc8688d7ff3cd509d958dcd1ac7b068a3548af0a3e20b984bf4406a6c6d55c674bc83240757e3a0515bbb626b6b6b863fa7029c5043d67ebcd531601d39b8b6b7e507a176216a264fb80f574d7a6a587d5ebba7c355007630fc49127368f6b672bd12fba956db75f189bd438f5034badc04d396b04a021608a7888434eefffd082efb0c3196698d1b015b42eb6f5a2123c085d37841c0cd6c7a1d77c55d61d76426758cdadcad3d7b1037b5d94c29962d4fe218c9f98c89ecdd9a50a48bc534bc167d536e11906bf594876aea01683269255701b705ac454b250abd45d10f4f8b881c6f4a360014b450132d750099100e15c70ef65ab0eeea340604f3c7b3eb3c51292036a6cc2843989ea418631fb595ca9d7e23a88a3a7d0a8dd5ec1212fc786dcf7107214d5c4d3f2cffffe2b1fbef09816033fdb616b9318b80b32f045ec1bec678dd1500480154ccdd87365d602f0126b57015784abee6fdb9b7f22ba135cb882dfa738baa17233fa53c68d35e4102f185c07a1310b710ff2d63db7238d36487ab504e64e239d0641137cd75cb282e831621f101663efb2f9de2520049c0d08a7c965477fef9d575ba31e101faaea20f96e40046132cd3aa981e8f360cb6a9bac68844d07c7d1741e56b104f634fa1a0c31d64ca4526de4f1754effc40aa04b9dfdb6f53ef77540d66fc9d0a4058fb46518433a1467a71873a03600b47c81e0d452cc44728e3a625235c84f7f62d753faf91fdfa1aea056925168616516e5c4357a7e82c94127fe8a4626c868bb7bcc13a0422e15e31c82935a4e1b9cac496bb456d1318e2e3e704627f1dbe646f5f1590283833193cb03f28e00f5020fbd43c5fdc39fd35498cf4fb7471417e814974331500d8e4ec8af34af39b457d20843d897d0e015456600325ef702c1bdfa7bbb3f2e7a74dcd8fd77beb3df4022320108d0f48a7a9b2a32e1587eb01094e20cb7c002d3de08f481a1d7cdc6b3f9c7c20185bc7ee65a12aa6003a58b83aa90d90baef64c7d324c662ea5138fbb4bd063720f8f9111e20def54a90755537e44fd506737cf1fcc4d0b320bef16eedbd750f8b2002e3af2f477e9d2912e50e4f03e43742c19e6e94c1ccf84ab04f0eff342bfc1020a544d7e745fa08a740418aa6da398bf10870a860427dcdbb857b6b41cec8e1342059eabb84637e61530039918cca60b860ef24c0df9e586b7ee9ce89336d5f1f7a210f0385ce2ad9f83a8534ab0325a42495a9cc4cd4774c9e8910bbf4e7192c2e98001fc3aae0957bc822f2aca9be874e1493a0dbad2ceaf959996060a2bc1781c23520cd178b0cfdcaa92929b9daef0c4dc752225792454327bc351b63765208972820203954fb6c5f5fa020f757c1bac415fec7e1bad3b7c19a93ba5ba53dc12f5ffc6720e7572f4709fdb74cdf2dbbf50a7bec9c10ee302cc2c5dd878bd109d1c87bfe3e20883ea4bb25deffe4bed0029e066230311cd71a4beafa608d43d615652cf9c146204c98a01cfce1f0ab321105b2f2659d375f691e2f6cd9eb821adc512718acdd6120d5f64f7950ad04508b36baeadb52228ed3a1139512125834c1f449b2a9613d67204550d2bb9a9333d567b6c2ab154f1fb4bde51d4b5c50307989ed07100095485720109b0b89090c8a2fb0c51f3f9ca1eab0e36b4d9200396e7958523e57b705d11b209195a60cb9f034fced26b3336b0c49872fa13d56cc410f59463e4f312c93423d20f52bbd6ff9d724752b5ecdb148a47e86c1378111d76e77a2f4434816e325c62920510cf87382f2a4c1417203c4e17511170ac616fca2caa49b521dd721a8183f1120ee7ab5b0de3332ec1fb81c2d5baaf0509eda6de26147b081866c2a9aaa3435882011ce790ec01637ff533a68dfd8fa22733bd7e4fefe18a5796e9bfaf996adf54b20509ea869f679c1ae8b074619487fedad28874cf9c93d01003e9dd0df2f45b66b20380577ba031eb78adb2c71bedc8154056b157ae0d01203c19d7df420a424f71521d04f8ed62e7175b7e70d7f92dafff586e5a60be02901f9f67e97374bcecfe7830020c6be51acd068843922b23415a1c7b39f4846da7584a496483a36612dc295968c204e43611bdc897913427fae390deb145024077c5808238d960f93c62a62f70e6520e2f6ace6ca1e8b6b73dc2fc3c43f3d1e740f1c663e3e0ff9415b2d282e1d377420bf6b145630d553e8c6e40d84626f01964e3d6befc33ac284263ee2c35d76003721a9d895ebe788be0a6988027ae6b33a26bee33016d8f4b64255f320d34deba4900020c8bbe181b5482c9352b9d607eed48dde4a2759d765bc2da53cbc1c03d68da30a20818a0a41e03fcaf75f38766bfa81738f0c8ec2fabed7142e998e7b55e014300120b61bcde758db04bc126bc67a1c87b9fb4f8eb2c3958b9e4106306508e2b22c5220cec0548ab3977bd4bbc802483f0c2ce3b1d6dae43bc0f8c79167e4a76ee6f7522007f74fab71a89f6b94bdc8b5128de93ef2be214d04fbb8ac8c2832e1f2ea6371213c26fe406e69b2060b60c6d0eb7759fe85f19cb2288344239f2a398f04b2b8900020689efa2cc2baa15ce24852b1f71d08200fb1f2ab8e10be0c4db8c8263a85032220b1f2737db4e6e55370ce004319e7c5e137f3567bc4d5603e4ed1f5c636db6a6b206dc3dc994eb2ed126f1a76892117b18b24028dce73ab6d35924ec69df9bc361121fb6e92175d959528d8326cafddb4ee94fb9ffc2d9c8a413898f14cec99d4299a0020349eb2d5c10d69df3bfc41f99d6cafff21ce69323637565e1cefa60173ad0d78201818225053a5e2d51745c5002281935d4dca8ad82ff76c5ca2dee6be84fb767021e8d31f169295ce6052584692ed9e4da87e637ca0b52455f216d5036c55d45c85002100c51c6bcf08c0a3926b2be93b47d0ed8955386d369ab8d6849957efb23904a20020b4b64e35cfcbde2461db3ce57292361aa30d136b0e7bbc766f4aa3ab4a72b66821e802f9eb8168e002b64b2b7ccdaba46e73e5c422dda18311788b19eec7af5782002062e41e97d6c8f4c6ac4c0f978f6f8488c92a51eb5793ad109abee4d6c009256920009f7f1755459578897b027bc2b282466aa1d3b9b0983fe4cdf51c9090548d5120760bc9a32ab7facf7f3c1d1aea1b6cab28bb65276e269472cb24ded949256c0121ea8ed0306eb39aeefdd4f57e98d25cef9ee6288a915cc96207ddff402bc2fe81002138caf88bb834204209e39e6c9430ceda0294f1253f8be81917370a34eb28149200203aa2e1582961cbf9b22333ed51aa4512dddeb3cef2e4fdc3644dfa5145366618203a0ac51cf2e1a98ea343e9ca5fbead275516bc20e9bc421e967be939026677682164c2810712d79c82e75116a7e173af1208478e8ab6763c7ee58551b4f323f78200209943e959b9228e61e5def9b2ea18de1688565a2c49dd98f1c0a7d43e81a6800820c4ab26007fa076e1ecd22f104a860f10b22b1ce2ad1229eaa2cf204815f7246e204090f4ac3d42b2793d83aa79103e0d0488ae1297109a6f47bcb29d8c8b6d383d2058ceed8e9f61bca997b4fef220feba451f5401ff7186d1348aab81d7951b5e1d2014994a638981db8c53c2a364c744009050975bfc23fe7bcfc5c8c36b3df0bc2120e26863332f579b931156f0559025f7f96a4d72a9fd108fbfd5c29a71b13df72520e84680238c100c359efc6bfbb7e97d3ddd4d1d24ef3fe8a5208a714580e9aa552108c2aed76de2cc32cfd4d0fa02eea4be069e74da620ba09461e63b5127cf9d8e0020626acd1bbc9c821f30e5ad5b682272cc4b87a9e05323357a367e170ebdae283c20ff8a87793a1dd9996598d50333ace7856916b2add797fb4cd7cb7fdf24245a642165e43a1aa272317475fddbb370cb547766ee44842ab25d83cef370304213eb8b002121565e2ca6c09a263cfcd17fed20fb6aa06e1e798276a5f0ca8cc16dfc5c309600203e8034276a6f2379f8374e8fbc709a692b2dfdf271c0726c4f890282a40eec2920fa335f7d0543267026ecca4424d15cd07755568dc93c6557f850031098fa55572036cea7284ab1abcbe3c7a83ea779392fec2fd8c1524f95c5bb481c67e300600521444c7d18c458aa1e62e5efc656b27d6396c2fc9299befe67e3eef807711f948c0020829cf5a6319d4467027f9057dfa46e1de952a01233e068f7fd18cdadf9a3534820b622a3b592686cde240a056840080c5116582bf166f4655ace84b34145a78b0520fddc9480245d4ac36034ada99a182ada449373ea0fe16557c3c6d9d55b21942720e59aec0bc8b52c1ea0179ef1bece2bf3275164c8b14ef9528a1335dbe13def6620af95305f745778a84f8405956a82816f366957d31e74af5509ff0b7f7dee737221424e7838cbff036afc7e59ba67c6add560e242a1772ff069a31e5e320c08428e0020f4855f5217b4a20c250b75c69d494ec450321911f9d7841e489d43b3739eca792010f35a5fc740eccaa7fa007f33b028089dbb8bf539f560df19627d5bdba6fe3f213c35de64e6b2d64bdb6ba246a5c9b6a91047e35240db65c383a1be9210b7838c0050fd000184213201216f3c4d446f38e3733348efdc4a4dfd79febf41f03567e0ec2b5a8acb93639951dc506d8649ca6d1926a25b4f19549d2b3700cff07c100c47c456ae23df2e60e27f8822c427e2de12038e00293de92621bc4a27d104803e48d076e3ffcf8c31f549fe9f95c6b9233be396cbd3c557efdfca11fdd91397e52f35d6b3a2130fd46ae505dc66bc987d8e93689d41be09a1df024af243b843e18f298de218ab87e557c782bd20648dc4fd4a5e654f1e9fa59626663adb179f51fec2f5534f2f4929ceaccd34d6928ca3d42fcc5efa32490428abc3296147147eabffda85ec2be06be4512448aabe1829d0219902fe1e9cd2bef29a8f89ed8eb1966b89bffd00015e46cc825850532b9bd9d584441772b3963c554af1424ffa9ccc7d7de55dbef9456a3fbf7b4be985d185eb898e166ba646daa12cca359ea77bb7a59e45e8a6cf2708c16b5ccacb708839eef2ee4b5b6597ba3c5899c9f5214bdace3a521fe36cd39b77952d1bcc81f9e5edfae34f1cce40369b7ee492701351d34e231af8a3768cc158a796e900d0cac462f5204da5cde3abcf561ad60f91fc8951e4fb37166ce37261649f840aa51e6ff9be749d72f1f5b5ae3349f14d572860dcf36aa4655788b8cf5108dff7a4e231d2e2a3bec0a159a1e16c9bb38c4052439f2b6b1a62addf739772a1d51057c89751f7518a3b1cd7b37c4ff7d621a54bca5b3936b137c3fd0001b4a09bfe02e11668f8f6204cb9ffa9817ec412c820b6b394ce2cc3a12546ebc5052ec1c74876f3de8fa22e19158198cd04c1336a792ea47e63c2bf4e85dbe7460501606c97409a906dae4e7ad84517a7955793365ca4f49b5f6829efe61f52069fa19cb30ce0a74d415898e7e134ed8c4106cc9d6be32577e9a024b9dfd8129cb5efb1ef282802fe0066aa41e587ac9ee20d6416010e1b0772a44b6d6d1eb4ddb32b80b288952b26323bbec16614c227e4599cf721484443f56571c7b048e58fe48b1786c44e4979e105196eb9b5803795b8aa3d3e3a8f85e10abeb0f7b43b9a62dbd0905af620309ef74f281f39b241c4b4c109ca7e0ec55b13eef8ee0544c820b833fcfd65b4a897458cb9aa376c6bdccf1032e099598452130bd38d28096322fd0001b6c9b1d3d60a49cdf61f9031694f9f790a4e0118ae39cce789df472c13bba207d101410af89ba4b2a88cff5eb09e53593bfdc69a4e2706633a45c77a6d8f4baff22c7e5e6b32278dbfe97100271b1fd1e64463fa6a757c4cf4b19954d1d363494664750fcde0f0b6e35f9e0f08f4fb1e438669f78b10e800943840b15541a31c3090437364159681974adba314bcac37e6cb3ec97c3d8e0cd52241a4c162787c199a256599b97e488b8a75a46d2c3d8af1951ddac43b0d338e739deed1ba26a8616f04d124244f365573b602697aab0b427a8f26f1a22de77c563cda13fc03a030817a837c497732c6108eac62102641176f62d5b8e73d0e27e17586d6e2c2c3fd0001ca7e381637425fa77d95f92b8b491ea1398f53d763a6ce32a2b2ff972ab74bd377723dde5302c487fcf7eac93b089457761ca341f143b7c5aeb51b33cf103f2f4ce4c282bc5bb8c7290c2a9dcc82fce3dcd9669f660872f602de46e869fccdd99c85c06d1d7bc9af4e93502e4ffc385b9641df8f21a25a14b8e4cf99cca023da529f8689d86418c37dbe3d4116e08069f3d08b9c952f4e2164dada9e62908d57cc68b264df8fcbfe449c21cae576adb8169a97294a6bbd369a58654cd182c8403080b3a5a916c107d7271311a291841f3e35e065d48f6023ec4118a3a88d417507ae86b6c74e6ced02c768e0f879844e22862c357a9fe22574e30c179e2243e62192455f24a5c214eba9746d2a8f6a47625b53e5e62bcecade179907fccb08e4b200218a8694fa7fa94c9c174c8e1525bb14dd946981e66b1c02178cde818615e3b6910021fca3cbe539842d405545a71cdacd7a795b6f6fd1c1095497ee8ee215d5cb8eca002039f76b8f7067cd9cf8bde783c8ea6edee7638113ec6729093749c2cc0c15d13c2091ecd1eb4b171326a6a26d764e72e09160ff2112e577149bc7c24e6c0907324421cdebc7f780b73aef4358c6f7e5c9a78ee95dce81c4c1bbbf570cde3c43ff5ca00021c6955241d2f09d2e90e33601fc139d0603919a1011ea7ee89f0e5d53727c45a3002037be468901ac92d7c3481ad63d364a93e2daa023bbcfaf4f6fa40cc54974de19209178cde568ebc660a7698cdd7f83d5932364eb8ac144e62cdc045a00ccda5201fd0001a3347a2cd4b1f5337653554be5fea273a5bf0292c0fd60908c6e699802079912372435166baf2f71b35ec0e00a714e9f7c10096d0f39a65f66f220057f369ce7c8221dddd00e90604f9de897ebf9f06afd41814b57350ca2d7ff7e08f60c94dc1aa087b7975936832a7050ae4a14b47b1986e70d61223cdc37dfeabc5e4212a869d953450202c9c12db23f8819faad59252173ac11c54020fd7324b4d39673befd2b585437affe9398e7967772d408c6db860ec512f94d02b0cbe9c9d414bb4be4b08c3a420a549efaedaa6f0aed7c74044785b611b2d65abfa33374748adb690a54c8719131e9dda9d46afc9dd09c8abc498d6de657920642d3d47a55f17fd3fd000189cc7f3247c6ede0becf1ec89f5d92142d25a713e037454409ccd146dc18c58319550275149342c690f00b1e060db34bf6ea34473c661ff9f32a40214a4715bbcea59a9ad6ff976e43b325135ca16377be53be39255f9e45ab4b3652d629a30500f9e37671d56952b215628ef42c1e49046476e9a760041003742751b158aa85c4e95f70e267d2631491c60cf09a174816890a2dcc2f8a38f296389c3ea66a6d577301297c242a6b9ca7465d8282f2e72e7673f9e1f1c8f470949c970854134de397c08c06d5d21fc487b2b9529c901c052e838a087f15b802d081e869cbb311efed66ba31c17c73cce1e0fc32d58d35e54bc5524776ee3f45d7b8f81fdad4d621b95f023b2202f5d7c814aa89c27b5e0bf5cd64b444c711c2e1c4b805af4fd58300208214f56ae87b268fd16d6df77efaa715fccd1fb1e6298c1c4f7a4f18d39c2f75fd00013fddc975fb72a66d5a7f3ba6df9c1ff55c7abb5a8f08317c6b346875e850223d87d72d71d9b17c11bdbe6eca34b521fe98dc8d31bef6fcfacec74e5c4a6c5f00ac769363df4720e17c3b687a42f29e8edbc20184dc9274d8546368e3fd2408bb68dd224b73a1487c10f4e29b0d8b9823f7c73db26ed16baa4c5d75b162cb5a97caff3cc8957072902538e0e698fad2e90b471777c5e8d90e5cd313933c2f3b30e49b6cf7ae7dcc09ab2e5e464601f093973d99c0815c3ea587d1803b4ca1d9bcc2ac20cb818f95d9239fbbe62c3356ba41f7dc9d2232f6221447fc4858bbf11ee382bfc639d9101943d958a59ff9b81007508c0879c4bf16885bcd6eb2383898fd00018ef6741f57def1a55a42b565ebe0451f0208762da626acaf0cbaac6d9bcec14e22c15660c2a0c5a23b27c445ad968a7e6b2daab11463040eb50799858b7a5063965f947234beb0d42fe1c2dc7bdce7fcda3de1bae384b62e798995eba4836dbee41a8a4de269c026018a22687ad77985d049bda1d39b79528b320ad3d22d893c547b4dc4acb57fac4e0603468beafdf54408ddb7d4c5db0cf14162d0d735b3fad10888f0048035481e5713b846761838504a36c1f956b072b46f11c7c6fc86c766c36fc7dfd5068855335b96162d8b299e3cd21060fed730310d7748c3d16f228b0eea1f37f5eee5453e3a19ebe1e60e4f2834d3338bf1887969de57ef02a1bbfd0001b50e09d8212707f0035a46513208bdba63a5d1fd7a7ea88e181d7a3de81b8afb4ea4b0428eff67c04b27372d73896fd9df443aa9b2a42cdb8665271bb1c54833454504dbc80645bc02366dc998d334b2723bbf5ee1e139265c107db84774b4884f26b57818d39d05b47d5bdab25778965a0627a96ec303c743ba57c0d32d0337a6d3dbe982284109eb0a7976221816cf3fa7f2e3cf739f30be83f253564af7f411358d9c5340fa5578120c48b617c088d9a3d0811a575bb1e96b746e25312ff6d87b9705c04a10123c7606b4c5d6658244121310ce3f1d062250b57ee51e35e0d7b787d38206fd9d26c70ef94f337cc7108ae8ffddf5fa314e6c4e5e1538fbb0fd000192fa78c12fea8a45902ac86e2878e8327b5f4c2ad9bec7d6167bc5590df49cbddda4d4d652f6f087f2ddc7a2813aa5b33048adc5f900eb4acd983bc86ea7b89f630b647a9ef42ab1bb6484ebc20989603144912ffd80158aff7e7d40a1a76489afb21f5f711ecc3ba613868a7aac4f28f2cd5440dfd064c4874d4e398a4718e10de8f7055e452271f01b27544af7035aed32259796962035d7bc37ef843cdccfacf969a1659e354ec27efda8756b09c0bf855f4fbf7598273154b3f517303b6169bdbe4ede890a90d3b34c917311027afeaca7dcd27158b04886dfd81803594292cdb3dbb77ad3a8df97df63095fd28c275b956cc61faddf770608b898d74ca9fd000138b1c34ee04d01368d9cd8ec4d70b97633951ada508c031470cb4cfb15a62426276c7442e7679f926e93325e287ab9ed87446c144be02e559dd076c9c5e1d6a6a7de45438076b1bd7b9ff5a821070877c1d9626925c1f47838e56bb6982b54fb9e131741bab5ea38aabbe4003538c454980dc3be9a436283edc32a3de0321f114ad32cf34e860ca36f18d476980910e564af57da498cd16d08af8b4d4696a9962adeb298d7af4c8c4ad9cb911d80a2115e833f0856833232f92f94cc9c3a6a14270f4c30ada671bacc9aa35bcd3c945dacbb01f4556ebac4e52adf8790dd49fa799584d227ab95afd2da9e67e5642a90e54fc8b693a07384577d04cc40861cc9fd00012c7977632367de82810aecc22a1a802a1aeb6ac54a4a79d8e61606a6eb72effe1abd74a0a18ef83709355e77cef5666f16d94c0d710f5ae3973bb26d07c0a436aebca4d156d42952cc8cedca94162225b5b4780cf47a6426757758957dcf2f638ead2312e67e140ee8c380949c0885c68b396517ba122d90a0ed184564bbe67bf1d0115c77857fbb29945ea00d8e809c295295494dc8cca091d900837b60b31a79bacfae59fe638ee8a2208942e27f605c452be3a4a43cf21e8e0f78e7cc20ffd2c546a0bbcc404b415e4eae2c7b9c2f9121bc741a6f8c5c28c9df3e0169cd86809f5e235ce17fb625f913f94b75b360f9097b625a5305040c55a4057dc4a68efd0001d594cafd37d880576656265ebb737602d6f3b9d0feb3147d8c1f6e1514ca64e3ee046bea5e6892d8db9c094198fb3f697ae6fc880075bbd461e9aab7425ac3a7fad84071b170739e7815d0c76d2ae7fefb718ec132b32a842c58cde33605488043aad9c5df6e58401994a38dc50779e348cd18582ca74aaadcce6df39b221d4235a88000eb2e3efed6744abd0b68836d56ff5d9ec973be549d52a195195725caf3b8cb683da9b96868d35727bf4b74dcbee838d9c39a33d15609fde1c2b345974a93c030952f52da7ac20b8c26b340fd9c08f56b97ccce21004af28ebe4946a91682f9738085cdd9a53e160346cfcf396cfb59465d114c600d9571634aa3c880fd00016c714ccc93e995491adb6718e9ef69fb2cc36044d9e6b73130606b9c845dfdc56e9518a120237f58fb6f2546bec6f47ea6a11f3d898baa47682fe3f537542fe9f6d3679398064a48a3ef8abc92e89eea84c6d8ca956b3c40e9b82b2a496bb1230f8789fc7b0befc061468049d416aca3fb41d4272304a728322684f9ca6125b91dea97bbbba8c83045b5ce8b3110d429d65998b3aed570ecfedd176e98a91eb3410cd501ba52d176bd2c8d05e94acc8f352b3cbe12adefb82d34e174765ef1197f8a93fd4e03c98967ddd0332733e5aa0ce87f63aff78a2b44d10ac63c1549d9a9c6808b743e6f785173924d736bc0890f2e68c1df72b0fb1632bd4679e87690fd0001e736a64f64d58af8d43f0980d29ba57dccea56ff13040270c926a2703401b83859a94d6cbf4cd62109053c9e6ddd1cc61ac649ebb1243037adec455891642de8f43b57afe96cb63736e3e7d735bbeec8d1dc2c698f37f0bcd85bd84cc6b7e25eab500c03f1c62ec730c24208e2df2830d32842277d9e5c9416a91217cbdad60d6a77a7127b09e7463354266a1130d1f04de9041f0f83d41246766027700fa9a02d10d2b0fcb0bd534d22ed38278ce177bbc1c429c09030f105a67db70011d3eb24754bbb31f8a6a98bde215f635409e4cb8c3d769efdd7f1561976bd29876c8a11a130cbb8e3fdf15fd9ad0329852dffd794f499345c3fee09eee21997a5c8a021b993d7cea74a8935b42df2d55606a8841b1a4a8fc0321701d5de9bce1dd1bee100fd00016e510cf2b787c67956990655ca7ba97aaea25163317e7ebfbcf2681b29b0b821aedb8f9b2e309d37f660ac7169dc8234a7e7e4d01e79164eb75f28d284c52ea3d7edff718aa96db6b0b6781366ab985d202823130ca53c2a8e5186fc18862348952e967b1a3e3636517c3e3c48d8fe5e4ef1d5e230ab584964c888c61393ee3d6e34c50446b86e68ebfd048ac86065f9a9c4bbfc2474027b612dcafbbb0416f12d3d856a96557529d1144a852ade77f50f600ecf3c0e00296576eb49a0b211baaa815cea78e1b7a56a1c698ff58488378722f58fdb1ab8bb0063654a8de8344041fddd04be1b4b2b1944ce9d1ebda667caf9ca00e5c2de892a9063a449edd8c1fd00017140014f19e2474e1cc4b40a5a8033f3ddfd960ef33c7e35432deabd85a5b2c18a27b85477c9e6fbb2d8a5e6c686078009b1f7868768fbb5f569ae3429fd64e49cb3a62f32fada09059982a03a20494bd2fd2caa75a01b3ecdbc32acbbd648905d56cd2aefc714af1c24bd6e8f06b1ddbb85e9882ddf8f0e67c654402bfe2e0d9ba404bb3da2d58305184949ce513b3784c3234b39d25e0c6df741683750cb46d7856e67a0d45f4839b5305f9965808d41cbcfb2ad3ad18cdba6744eab0148dd0c1d5e687b6e76bdb9408766b57297be6fdbcf9d7e3e6918c194ef32bb776b5ab85f3a6a164baf866d93ecc3acaefbac43a9fa267bc623cc136ad712b00d788efd00016d3db1d97d5d429249f5cd6dc35f61d0b1b44f1e433cd5e01d28afa6cd6718fc1432b77e8eb6418b0a4b6fcc6707cd3d5c6661cf57b3b73b78feae7c89e25eff2ec1d465be91a18b2f3bc4311919f410cfafe8ae8a06b4b947f9b6fd8ac17453c2f558dfd67f71829be66250d40c3aad6e3ff52d1c0c455e7a4f646445405cf1ad45ba65392bb622a770ab0f5a57e73d32d98ee49d73ac7dde7dad9b9c8e1da9d1e6aef0f9cd120bc1d2cbc5ad819190b758be385f2b0dd736184382af8aa419ac7d734881ab4728ea927b6655b7d3faa4a1e14caf6d38cc706a940bff9c9021e4b6c3ce516d0257deda35d2ac4e0423f01ac849b19b919b773a58f34a06c6b1fd0001464885fd950d292d5aaa6155164216521d2113d795d9aff389771e8f39ff3d96afb5e2359fc52aa6d6cbc3921a7a21e6f3fab62e748337e2cd212456e2b2f52dcb352a75902ac6fdcce93dcf027138be788aad5e09490bbce637751cfd5bda9ec540d7daa92eed7b27ff1bf66585fbe3b39db3de9dd386ecd7671f2395522c1c9006908afd04fe68d88194cbbc3216377cfc27c4fce55c8e558ebc4943cbb477a1172aa8b344c08d6fb853e64ff0f986b7f3e7cc3b2c3d8b2abbc43e08eff15787bfd6a9a8f98b207d8e2530c0c37a37ffcec2fecbd726b4b845ff48a44c1ec7031e4e663ec0042663ff81b9a7fe7d599695737511a685148fce0c3eb01513bb20ffe083f86d11f3c552efeba225a93eb8ea756f45c2e49a4dd08467b79a14000220fd4b0ae4d4c5a165ab75af08922366e89721ba7ee52751e0b3e64017787b9445fd0001d0a8ddbc130bbf7bcd20bdbc8728e812a45cdbe602dcea5826f753b94e1220cf698c1212464a17ed846b29db82b1cf5373241d4117b07a8b7d279d4e8511d22c47be22291e9ab56454becf533b771e5e602542d07828952d5ef900e2548739d57cbb6254c667bc50a0f97c11b7f3dc1624111f9d32cb0d85ac4106b41cd6d82db7aea1135334220163c190744b6daefa456f69c331facf9083af360db6f2a2c80c423357c8fd1bc28fcfd42db69d733efa9ecdff9df079bde1b73a63ee74e5af5c75b67a4824a72466e17b501f6057a68efc19627d115f19fbcb48c0e0889857f0d9191db5875ad6d336adfbf7f09989b2aecfe868c2efc2cc64af46d07c44b9fd000151620fcd4091a3d3e78e8a1f1b5ac9ae8bdd3760320ed9bea2e1b237110d7747e9894704336b958fc92eb200f06507cb56a12f202a8b098bcec5b7b6941dccc18d2bd968538185dbfdbb6ea61eaee22aa8ad24d73df0adfcfafaec181fda3626479710bc19835a5aa7a3b9afd8166b89f5aee8d52589059eda61f19f6319335dfac7765a9a9e22cce0fb3236eeba6ce250ea0b7cfc4a021ca3c88859f556dc1137349a7ad5a628bc47267ad91ff86174a2fe74e3ab298ae8917d6a57a916f00b16bc0f3584b12b0d63141a20b1ed54c6551c6dfa5647783dd9acc68ed75044faf6745161c1ee4abcd9969ff9e01f14791de7d0c8e44e77a5b249e2da833ad3bbfd000119884821e74482b639ec1f8484eb6199a01d6e0a3606e25527d7a9fdbdabaad9f378a9aab04a153b1003d520d03f25a9e41c82504ad6de9fa6cda30a3ee1128c35f49d469a79b3c190ab0fab92d9977478c7ddabb6a66f291b58756e040892f44ebf6c8d0ba3cdf5d9335c8b05b0d34a8f4e832c54979274f5d4554af2d05aec3d51a3cbe03282c9c104f664fc39863c3a23396e762a5a8b5ba18b3c84f0f49f8b7cb6f627905a4fec65e5ab41e868561dba5cc8bcaa8c201d613eb678342aaba5e5d44f7ad7a58810129aaea2e6bb9850ef022e54a50b18e5fbbb76b93f050c31d279e66cd51a29c42591b18db05e88283e52070e6eeffd8fa447bce2f22eb921b2e3f53f38bb201511b9e1d5bbf22bf9e23be137543e34d81a0b194f373dbaa600fd00010ef2d9c59966c760260612842d16526b4352a5f05de655fd0bf50546be1d893d90f4b8264488467880be2c4d7f3c577e6b68335f1e0764fdb16d6fc44fc5bc2c1660798e6b31bdcafbd33a9edb44e48dc37306abe9ea761cd2077e977a6d5b92aff3cdc33f644f47d90fa9a4b172faf29e264c9d55d27cc4e7b7e5e891adb566d172207406ac400348c386e74716a518cfde36169e4cbd8d3093c8d85b99e54474fb7c7ebec5a3beb18b664b953f4d9037041c45738e87c53d55eb92fe862a78627a8f4f3f8f3ef01102b8df05c9c1d81da85e36bff90943e0dd93efc00edbec664fe16f03c8e79d3e105803c50a606f9812d3717921477e224efc9c38604e932116d048938c5e50af925d722ada7f78de5fb1020ef09d45e001364d0ac87ea4b800fd00015a2d2be1965546e9ffe759719faf9960648c9183812a7db83a24b0ea52bc26e3774ac36fcef82756ad386332d49551a147e87ca68fedb289b965a4088b3de6506378af1f858c1c995313e189684bbd3e484499dd7a26097ee6e89ff1d0b6d4c6c03917c53a95d9fd1b6f9a8e59e1687506a5499adea9c1bbf2f63b14207daebf64c8bd5742bec97f6364560cb3d687f8a1ce12a197e87df8b23eff607c97849672fcd5803b43bc8b6dc2090d7b99299248007a3207621c0b40e6fcecc3f68b2888f5abc842a44e6f019391449a7356f9e2637c77612b342fe61e76b307ffb780f529c6c84a6e6ad8d7553021070499e85542cd288a543bb0d318b7abca62c48721047951dd48307113449db6a3f997999f421c62b4524e5baebffef1ed21a6a1a800fd0001c4594030b3c64f25c491e6a5ab25b959438c11265e0fb2e5b2c58e3d59c86d642aff89f4e5137f08ee4871df4098a5748795d596baeadd2db0b006e02822ae2c5f6a93c5281b82a7d60f8c390a264d293f1769d55a5b1f78f0f65f7694477ca79ec16677993d5b6606298171df85a7a8c9bc74a2438618d2aeb384de706b797758dd418b2b5d59dff089f7d4f7f21a8390a3a707c08ea4a238682670a0d80297ba68febea9c4c5afccc241d9f95aa77366880ccf891174b33d95f462839d2820451611e8453d981a703595e8fc73df0a4963c1baab591b7f3dbbbf62b50dc7bbfeb05ec2ecdb1a63d06ec20c4311451b4129a08b94049263e180411ce7b8b7b120a96a6184af4c9ac706b2fb01d6389d94cc4e3930925a5b2bdac9e96dbfa42a78fd0001cb6e8b1c0da834c4fc0d797fc3521eda3ddacade8a4ecfeb518a2e2e8a234d2f6901a7eb4d117404328c70a5c24f36236e88eb1dd19a7e9cf4ec7582f472da053e283dc193d70bc71867d2a348521a860fccebe0b45958f1b5919cb833d79802640b7665b7ec45135b24108eac8a882121b6e6734dcd327b506a434cea9298e6067c36457858e3c18d88a320ce33cc3861f5329bc1f9a8f4af57caf2c134051b12dbb58e309d7bfe9028c3b9b4179759095fa531cf20bdf18134c517ceddfb38b4d94849c3d7eae9b46c353bc43d2f8345e345f818e328875c1bdcd754b706258779c7c30592d0a4c4b5cb557eaad484d1cef2bd4d98d12e70b8fda33f3a5e8320486c47e0fc0d0e679b413041e800ed28ca862ceec23c1a937954131b960fdb3320a3e4a1a7ded3a425d38b144b090d9fb0aeb9ba631622041a702626583d41142520f6fded7e7b2408e70ac4ab0b4d23bc2571cfb9048b0bc738dfd0d6507549a451fd0001656bbe84db36e12bf3c78c07ba3f561d2c2687aaeeef2e2da17cb00f060e025a993c12551c12bd4d75c4c116d18951515f42c5628b0858d85b8afe5deb0aa14a2e33d147eb62b9a52bd4769b6a97382d6c39e5f70e727ee0c9a4684fcf9a03e7232394b4ecc6a2d32e27fe2b436b1081bcb4f3c8bc844e9cb1cf9b828bfc155a2467d506be2f89c9a36bfe2d19125fb21666ed4625cf881ffba75e67d209fde2742d5a46634019cf1f96c1e649a9dd58edbc374b9d6220bccf20055104e8ae8917537fd07f69e12e0b8200af3d924997ee33a7d1e9eb3ebba741f0edd1b59f05e1f279d0c4f7106276968fac8055088bd5f57840438a2776bb21693d9587d188fd00011ae402863053cdeb79711a4c4e7472a1559d86f89bc4daaa6865eced1126197f3c43d78ba16fb2d6508632ab4712b13c3f45d674064a51867bcba96a71b7683fa69ad337fd0c50e7927b913f025fcc47adddf1376a053280cd0fc45bbf29767b4555bbc4054a824c11dc93c3648b3e1c2ca42a5dc5f536eca084370ef65c5a6229bcac295c3fa578fc22eab793205cdc8d37fe3cbf7dc6e1a7c53ff3c7e4d226f0a0d4667bad282c625695d4a1ad88931ca894d4931b19b09c56d2f72e72f62600c97348ed8814f0841baea716d1e0d90f26f8c3932a1e66dd1e8c8e039d3e891ab7be0a887c16ea9fbf3dd7f2c7200587ef56cd0e75e8e828aedcef6198e6d6fd0001a265b258bad27b42d12a12e43a25bf566f2b77f6f0924e8e0c32f294768fd6d9f92e5a15dcc94a2067c71a1f9740700ee0e7f626d35fad2c441b176a077fe681515cb0c8613b0b43c708895c9ca5a41745ca87cc5e8d02e272a484be75cd9afc7478b98bd4c030c3dd4885c5214efbe70cf9a1f8a2616e2eadc150f979e1ca8c389b6fa288889464886bbdaee7539c6bba71ad0927e455d45db2c7371a5b15ccd8c7e7e91592e9bd057d85a18a9a9d1165a84329a6c7beab031f2819cf36a26aeaa4cbef4e7871c472b9b363a1a5d597005cb98e6828a7b6b7ae81cbd036f8d8afbc6289efacedbe51c10f27462c81525b18d119ab4527d9c6db52cde19cfdddfd000143a024d1136d92c3d0de09ce4a3837fff20ce4c4307fca87b1a09acdba6a1df122cc69dca4ec3ca89118ade730ec8959d0dd84db0eff5ab2ff71793af68a2d6bf3a301edce9cf1088046b3177c18d90f6318e2bea3a071469873d1a320d5036a6ea1375ce17113721f01852e1c436745536bba80365d2ee1060a73098f99983d18511059ecac21b84131d845bddfc589a1a4c195ee1d89ba9845c09d681a87c3fe2322cdf571b4a31756d2de38276b97ecef325f4ada73b747d78899c3f84aeec26fc9732ef5843f8b2d7af0fee0f04e01f85731eb9fde3f0a69c4c0aad09f51db5cd03db3627cce5d2a1dfe9910817efc2e53ebf9f79afaf09521a3f14980cd20d6c0a0d48152ef8efbf7a58b809f5c28186addc9690ba0857cbf2c96e395e92afd0001781c2002615bfb1b7d35b2e208a1df0bd8f95f2d639422c213683828227885660bb231058546848fd01763a1ae99e0a7a1040a0f398d8171b45ffc4a58a4439a5addbad802fe79c71a4a27fea8ed229c51d6cb26c3e21127aeccd2f0e31ff1c7d38987c95b917d4c86439a7a0d54b3985ccc3072727c654bea4d473676a45f13ac693de273581cd6f864fba7ff00f3e61cabfb689689c49849419ca1cf489cf9db2138f65c1445b74a0e0cc83e8368e6e79149e699b6e64c77c70ac5156bfa98794cd0c561732fc7e3623673e1f0ebc09de026d9745c4986d498762be6799cf99143fca5d69d04283b504c8d8e325c8811853d467b72e204417c7e35064ce7bcfd0001e42f7a528e3e1de18bdde6e2d9888886aea8ab8eb149299c32c68f6c93a19889efc05e641037687a091933cc83bfbdfac77d48a2828bac6b0625260d4b9da29b0d215d403c6d3aaaf33addeeac4d46875cbc4e3edc1a865d6fe0b6a588631188897cfd131672a8c5d098c0ff8ec5b17bcaecac1d78f83b5296408c994c1e81f93021da25ca403ab6694fb3e82ed260e88067e3edcd8cd0e70ce4c79b49962096eeb1eeb2b17be69033a338ebfadaaa1293f7fe17fb7ddce051d9eb82c84d639bab4a415353ae82dfed2996a26d184189ff1f25d3196c67f34ae50a39bdc2f711ed6468b364d1f0ea8eb29f486dc6c2f6dc59a24acf4772bd542557e9ef4b5b93fd00015ea90490404b84482136f214f4497c09a0ca87dcebecc03ac3152ae1c3e87b945f721137c7a309e1036d0e5d94c6cce38c36b1645a62c7160ca45abcfb5c165eb696154ae38684002a150ab45f1b8f1bb69b28757e2503967a1432090b6c90ce7e3671860e40e95200f8a1ac1ad927b49bdc0a66472eac7123c383ba28578b149f121ad8b1ead1e1908858a640ebebd2e1b8a4f787e5f41d573168493115448edb0de580a8c281b783afe2b62ac6ea243d021187367df9fd28f97e2ca7c8856d89c64a4c3c5e2147aea8120b4bc8b2d0b8ec5b7edeed35d24a800760e82ab19cb7363c7b2fcde6200b8e63e2b698489e9dc0bc4c8f1ba9ff68b59a7277038eb920fe94cb66b60142227c026662ddbc3dc29b373c5c805c365b245c2f69152f1e2b2007e3634d06ba18b973add33bf3e23a7175729a9442fc4213adcb0e5a52e2cc272096af7547b4220ef6335cf5fe47c75896ef2d27e58acb6d7b444b3645ad1a9370fd0001f3642f6dab0eedbdf04e554106719fde491a9bfe00e8228f250e0035f5a95782bef5680a15e6148467d4c7db9e22d9a4bc766ba884940645845b25ace95d405744929adc2c63e41e4c807e33a0d514919c09e855c9d77690be00720d83dcf2b2276e157d39b7acb3ae262e65a8a09ff49478fcd67765dd03b545d7e83bf194ee6b0c5f83c41f7c470e0a1c3f1014a7afc2b7149c01b3f1181eeee4ce8a9be47f0f7f897a05683629d6164fb882e1b67765e7560e7f5c6be76ad9902a755c6af0c455156b93f14e618f533feb9d351bb956da352b7a9d63cc5082d6f9768d80f1bb703c84be2bd75b848f06925f47e226c424c0ae8ad4293b0e9c330cdb16bbddfd000158cc2778c31d0436228349fd19e0428de5916401bbed1f3668014cc51cc6b42381c32e5a7d5ec4d194037b0544284c52e151b652e2733b17065b2a98fc1f5ff30a8acf5dc7522b64eb94a8a71526e2aff0acba058b541fa412bb5344eaae4945ace66b4f9251e842e4b52feae5ad89ae1ce3617debbb551c09c87c6e6e69b7942f1178db84dd758fcb3f63d658e3f48c1a47b725cd2e003a59b8e318950a45fd908c6c4d53d706dfcc2041c046324e3925c9ca032f62cc825f0c11c9fff3fed99f616837244c7d71b3a8d79a8d5bba3284280b59ca1d0ed044801b7d4d6148f014c8c04e8859d9c3d074a7ad77b86ea0ae39fde03fb33eda53fe5c1728cf2daafd0001991691f21883d17fbf12b24e86f0f639967240dcf120c01713ad612ce32a7b8a9c911248414d8a2b836e82c827270f60f154d5de0efb7aec5b3db3f8b9cedbcda84aedea5fd0988ed0069871fda9db5ec2a1ba0f04592048f0040599023ac01e758886daa3fdd9190bb1c8ea29898cdc711e8e8e6c4497ae95ee2e5a6730bd8388d8fa812b21c9b97af84a7cc9f790139b0005dc86efe16436e63982fe8d8ca6bc5bea86b2297a0726dab7704fdcc8a3f6c273eb0f8aa008ad1e6c4a985d7cefe05d3b24cfd195d2fae5392a48be5bd50386244fa9002f95ce18efe97be356a3c5b3990172f812987d0fa10d7fdf9afcd20e165697e3e8f1fa564d1f03010f8f20d53cbea6789dd88800af410af54c3c346483fa085c6e02c088092372ce828e2afd0001f903226d53becf91fe3ee0e556a7ddd652e179dc3c2de5d7af38f380c9916791a37e149ec620429b47e5e0c016b898ee1dc45db857c93a718daeab3167c3c336b22692da51bbf7ef1bc42cba25af0b1fa89df2adcf41535803ad6e80ff1e1f57c80514f1d091040aec55e87c4810ea31ba22e4f93a101d71e324cfb2d84e381f1a59a601ea97907013e119a24a468b27558b68de170690e71bc3c2d7361ca7f77d116b642516d9cb128a70d6bfba83b2c22420059e8c22c9f794f2e144a3a065c942d3276253013efaa88a80e3d7f3c32dc249347a6df656df62d4f9482cc8470bd1bebda925d47c5cd9a54ce81d7bda23c2d0434a98a1f73911c6172facb08a21cb1b1935a2667416f5cb810c787fac55fe8e14146721452870f27b1d5a14fcce0021600ca51450ca3b29e9ff6b388f4df5286db585d027f68fbbd1d4a95fd756318700fd0001b941fa0b95cbce10d49d29c80ac6c45bb624fbcef94b9bcc75d3593a5e11ed85488b6332f9d059e0123d5df6486dd2f57a9239d137d46f3b9c0120d391d1f06cd48c13a0b847020d0832b15162461811662eadcaa2757e2b6b2240d478e7411c7e807e09ef824ecfb3681b49aa72a3319dd310d8efd930ffa7751a222e73f198032f2dfa00e978c9542dc476ca44b161fe470a5f63759de5086a18fc92aa375c608841c6ea41ebc6fb86dea22a8987f7d9abac948d5e67a173eee3b9b90c323c4f2624f53fcaaadd79427a36f560ce6cbd99872d8119acd2173935b0331217e33ceb4a0ef314e45c1a90ad06a46948a38a00feac8f58d8780e6d15ff6e013dbe214cc25d39b2def7e68e2d5c7afd69c5d629265f750b683dd660040dd3220a2ad600209901a1f845f602ecd4f341e7b68c6787561b4f18d7819c8b319dba6836a42517216578b022ea0911e03a47f0814046cea045fa63bb506730b0b491614417df91f900fd0001ab0bc038363d54f8e9e8ebed6a498b0f989c8ee56c81720bd66f71d0d97477d0db56d4481cc0e57c2316f4bd3a6843f86e5b28152436ba23f377dac267c7bb6501666efefb705be623d0491dd42a1a5397f45b6be6ceb1e0499842914f56296a34f304320f5b623ae7e16379d89394b7057d1b92de4c913265ba231d81dbf9e4b586704803baf1cf0fd474a721bd65206df02888dd77df03c831f8433f3b2c7cf7e1211c7c85a975d129f33734fcf77c09aaf68b681da7c506e8c89ac5394589d185117b722b757e307ccf31e9ddc1b9131633bd684ad458fdef09d346566eb4df920801ec4ac019081feda518cafe1ff9f9197b1473ddb18d3349652db870e0fd00014168b6756041ac27a58e4160cdc78c2cca30e144cfac7c58d40b5521c76ae171399e4e22bd3eb5a59d0a44666cbd8d38c4983f8e2bac6fa5ee84c86adbf9679bf8631dec545667463df5fbfdd5ff2d0f6f9021a4a03510e291253bd133520d5366e3c272bf8ec41a14b15aea97c420ff263bb52dacb3c3962359312e5a4690483434ba5f592057dc449727f03768f3756c24c85814e1204d2d90cad6e656d39e7dd7b9c4bfcd103dac62415b0d64901b01278602553c149f6d64342f16757b5ca1033494395404fe1ac7ae33d796be12b0d4f986de23186ecdbdc8477a742fdc973b34b312f5984b74faa42f5f62dd4938f76f5d7ec141249902825d81ab2d88fd000193a2f7ea915b7e506459b8484c43d305deca93a84b3c313a6cea7286d485395158806c3d7f3155f3ddadbfc913cbd7673193a951b356ae208319ecf406172cfbbad940f9fb6accde0c73ea5a19037d5d8644b4de22db968851a303717f473c491465712da34aba4e5dbc31361163ae1492bb3435779569598639943640b6e14233d8888aefa72580e22091b6848592d5b2273cd2df009d614da03d0c0803b4320800094dcbaaa337fd210820e07a8deabbd595d2b59b3bee5c7a27e585a1cef44e532de83f08f3df43d68f5934ca69776b8ee8ddc42969970d64145c093d4e989cf32ba71f750cd03b5c818c33462d05c6477ec1f0ec81c48e4b119d05d31cd5fd00010b1cbcbad09df7edcebe79a913033895c66686f078402893059e4a986fb76d28e89324f5b04ead2c2aa0a05786faa1e8f66fbaf66b7ca94bf52123e6afe4dab54bc33e5860e8766031dd256edf40b294f55062e613cafac04f77e284f5097e88cd7aaf46fd28f4fc24ef1ec1aa0bebbb3da5b504e4dca8dfc13ed99e4371dea6f3bc0f78cdf6ff47548e5a426c92095da045e5ccf45f446116e2c9567ed01d62c1fd3a78c62aa359118f77705174db6a4faacaa0b6d49b4da38e42b20e9cd2ed7979a0f6da28964e0b3fb755046f0a5477dda7465e00d13c8751c36255b7f922dbfe108a14e359257ad607dd7e1c9ccf330779135714b01746a25ddd11e565c821713c8702e50956f6f6ed9c283cfdd08938c8ccf08ada04309e47fe9ddf5cf5dc00fd0001f5e2772a310c56c1343104f8f618a6408dbdd5e421e31856f271fb33329d5055c4c73e06870feb8f7b298cb9b403dd6c4e87dd2137ac84df583c58ffd627b0c52996bea39da5959ccce7968455d3b4ac512c3d552cf63f2da74d6de8e8f037eca47a715d0d9398502b287e5f1034e536a84839bac21ae9958da81fe54c67165fc650f19679c9a628b74fb40c65257dc5b50f690263f9c1eaf41c3365c0e23f91aa7ade32a352c8b88b40b2d7acabbd085185f7737be6f5a7c342e2c908e8a4f997ec949e4bfd6ca7b3da894fd4581c81141cbfc01afc3eb86bc91c304c18c1dccde49d8b61e41d922fcb02162e444dd4931a076bb072ee3a6d5cebbe8683e992fd0001197c654987867c3fa8c71ce3718a70756063be0179e55bf302daafbbdfdd5669ec38e140e3204b260b1d54373f84657101147e672120d735c179fe2dc5fdf7dbb8aadee63b867e31d9d1242e45bd23ed510dc7a6d44ea7806159895a2293c0898bfa6d0018d9864f584a59003a8d4e3a38eae3ec7c9e35d1e5985acd544547ccc1e31024f05bfd5dc07ccbf535b2e0a0a703548e355eb9d1acd8a59684ba0fb674075011c7be7cc899c30ea6c1df0dc34c9366f47743aa12991192cc836db7fd5a3b0306d6905a82e13b729038c70fd3bea01def02b93cd2e71439a9fdd5fb93da6a72436ce9f5b431b7e18c76d8173964d5a02e24195e761d888a6a2532d785fd000177fcd4e94194a3c34efea9f8f04faccbdeae9f0eb8662b0195db08e2b41a08fed52ab7060465ecebdb2eeed7a768c4f65ed7b5193151a56c752cdf97cd4c6be8daf95c16c6703ec95b6cb541506c715983be6384031685d48190e611ddbded6fa377affb759a1f289523e56761857afb3c33b68f743c59a6bf2098a2f5bf3c1c8a3d41224dd12ef247874ff5ab6257cc3e29a65a1c16f3ecc26108142d1899a340be3db55556258a348f51ef61e8e73fa9db743f08df3d31919f2d9484603f0281422c2cfbd66959dc138c2176d6e242a5a04d5b1cbd8c39ed051486869f8b0f3ecdaf42498be6016dc9d49ae52220612a32f50259fb9a8be0cab88deafd56b12024a02c37de6161be5eee8cf63c3b0d16d0bdca07ad59fa0532678b864c13bc20c87f061046d5218e768801c69818dadd24e62aa4625d5a2af09b08f9eba8efb5e29fc2977184990fcd81a0a3f896691051da425d7b99292d8ad7a3bbae5ed9503c5b761907097dd6457a5444b9c85ccc829d5901d46cd917ead52a3316f96588a7b508501be9f69c73d97e0db9d615f20e50712f377663f6c47f42d005db72b225048abeb8d6e3a60afbe21cd13d4539b7d39806952d745a7c49a552175135d840a3f9b9e9ef6ba3c46e9f4bd42f9bbde0d5d5abda8cf06538d3492aa856d8708285c0aa99567adaf6e0d4b28feec0a55e49879ac8ee966e4520e5eeae3e6b4473cb710b4213973850ea6ff0331b04ccffab2c2c3f55ff28b8bdf644e4c19982916d01e28d745302b079066c61fc0e8e1c90931f122893f7f5eb86e9111f98cf36e719129668dcc4718c52d0c4c6a1a941b939e5e744d61aa9fb1aed6eca5fe062cd109b15abfc5851ff77c026e9ba7023b298d40acb1ae9884671ff1776aedabd859f2a481eb18b963afae2e2ec41e3f3671e9dfaeab234d6aaf97249f4702e706437d8e36f517b3b227bae68b79064a3fbe999bc2d75912d970826908dc17b815ec0f030e20b24f17c527557e36695abd05f67c60475a0c74aff42b5e7fd13efc3b1c3bf5ae6e3251731ffaad110c4210c9d6d78d69d6f68cc31ca99fe783a12fca506af01e28234f01e1b30dcdccdfbe696bd5703ddbf0554c8c4863edb0f252e2a9daa54d4900d8fd6aef61b8a8f1e165eea79a3f20663b08722762f2c548e0cd10cf0d2d8e8b9239b638d02c49749d55b721a6c81d2554b51b49191518150664b7e4dbde3ae02b36ab3ec9250290c8cee6b7371e0d3c7ad64d267cf463c4c82cc5a325aa72461345c4f45c8753de23bc148527b0e982511bed9e4bcd4cc37e1e3b5089373fcbfbef9a111c96cc79e9f37d619c0d68598541f2a37ea0fd614ca310c915c0d412d2eeee8f7d71e4a250bcc60d68ab3f296a5f75d75d627e5913aedf3646f733701218878049c420ce0089ded11b087f16111e397d0f2e354f1df0a858aaf07eeb8e80002210305cf1786fa950ae9b553390d6d62e2b285ebaeb978822439e0922403f9cc7dbc473045022100b807fa7bc196a7b2d7a3000e5e1870e2ff488bfd6e2850aeaefb3c606f28379e022009c3cec446550e5cb04483404a677c4b8406d85c62cb4d714e5ca3a50aa02f2600e80300000100e87648170000001976a914dbe6d470fa9fe4d037043533eff4f80aeef0c8d288ac0000000018b6dcbedb05200028a2ac4f32bbab010a001220000000000000000000000000000000000000000000000000000000000000000018ffffffff0f228aab01c2028655e8030000dc8ce67bfe1851477371a9ac40b6ae0cb8571f6e2d5285855288f6079f1ce7239ee8c85f465b1820058b79554f41af297e9caf95ce0084b7c35dea0b95e15a2fb9f8e62c5427c1c36120cbc1fc11ff344909079335209c6b84b45a9211cac960f64e9432ba5eb6e4ecb2068223dfe3d85b345da17bf374f9140c9577c148bcc431c9ec3c7d13bd2363dba821381ed9fa0614416261e88330b3e74c40e6561310eab3f26f092e72f3cab761f373d02680dfb52937bd9515be242f6573754f8f665523cce3bd606c8ad190954f8181577fd0efe7cc64b711d03774958df4a5211e44870302056557777951d7ff8c002161a6a59e979f05469cb31770bd484be6525625359979220eb7e9912e835065fb00fd000216aefbae3525166510814d1636b76b0d48ea3cd54a3a17b136a84340989d75f74ff952966830e4c0d59daa006d5a7190978270ee9475a0778afaf002cdce7efdbfad630f72838b5c4a3b538ba61b94bbd9e353437a50725af5f16fbcbf36bb34e7da54e5c24dfc90b545f95c973877bfadc2703ee10585a1fc1c97d7377bf41c9cbcd5a313849a3c826e7c1301083694e6dc05f46899a901ab4a8d7f6b3600df280157fbef6eca4c28fc610957a42a9acf7c4d7f9846ab6b9b04fa6abb5fefc168d45f10078b97d4d6a39638588a1c19e1bfc472657861a902c2d52cd32fb0463746f649ae88bc0602dbf35816fbccf91dc249be809160cbc7f8b6702d6cc5b81fdebd283231f40758afc899f6fecedc51dc4e5d09cb8961092220541f75ddad45680ea92b4ee78c29f58c197a68420bbb25b450c72d02d7249f7facf9927378620eb36fbf9b4ccbcb55627eb9cf905b4a4c65fcb77a537f642f10901b6e94afa37e4afb0d6d91194454a9c2dd8ef8fe4316f8594c7822a7d58cab09657cf501da5be5a44f947bb957b71e4291a7fc60cd5cef9f0676f7c89123c7ff1ae2e6dc001b6f19785534e207fed2bade8597541b13714284f67d6986bc616ef1b0adbe415242fee85acbf482a6a48b3f142ef7ddb5dd1c97a4b0c53c6ac7aceb8c042d9c9ada1bc986b8c276d07fbf8512a3dae6a357fc02b167eb85000040e8693e45fd000200e23abd27b258f9827ed58545a507bd465e255e1156610da314bf7df68b6b55129df84c7b19e362751ebb9beba10790c9c26c5ddc7f087258d81b006c0d2e92be0178bf5edf6e78e89f73cd97746afbb2551dbc97eafe32ae62e7f9ebcd14ad69faf74d2011d16f2c50775f4f499c87c3c50d9d5d486394c2a7f462675d2a4885493332e0610a78fc0c8b08eda42e4bfe93b8c7f80a911a7992a1deb7cca2e40933e1559815688d4e5ae5e58d706bc513e5108449a8393928b5b77ae73cb03fe212c6375b6c5e61fce9db16360a147e7f7fcd49e05a99711d4d5799be77f7e39d9d1397388d6680d4931b48798ce013256a586781ba80168bae63bed4d150b64a73f7d0ab0c9ebb42f5d4db40eeee303783249af4bbf334c660f8c084ed9a2e5fff8be230940a4a08b59418676ef005192365e4e67757288791ce4992b903a31537596cf6dad0be2af2418a6b9cc2c33e99d874168f6a29df189a869b16eb5d24400ab30e4eca9274114d646aaaa8bad45832b6c0ded2bfa698939a8af9d0af380d2afc58966afe0f45483ecad0f114b904cc2fafcf470dd4fb8f193795e8afc3243b4c946d5eac82babac6feaf4ff10bf53acdf8347fb9fb7a5ac4efcf160f0a7ef3576f439404a3078ea092f46f408a955c965344023d847fad7374cf145cadbc8348eeb2c5aa999ebeeb8a5548bb14e0092b184caee354020c19d66cb213fd0002729bdb186c4c494e17fd6effe29cbe7fbc539caca738d54f9ffc6e52a35a27da134192e2f7f4ee2a86af281b78670e662677e97a1ef008f10f42349fa83bf7841d88b1a457d38164a383ae9c6b974137d58216f22d135d30b9d6e7a74952a7e905f385141f4df088415d704cc3b03b2cd600cb5507f8ea1b53fc0e73031a3946c0d6269f020c9c26a3be3bfdcd37f8d3b9fd42538ebd72029fa0bd8eb57a4fe6769e1b43b5d5d7be311e12e52ee9dad67aa988dedc80ad616d7540381993d9de91a7fac6d08e4414254b9d1d72940fec032833a6b1a5605f4b62c47a86d70dbec5ec913d0a613d438cad385fedf24566bf79edd17238e55421520b95772224623f145100e663b2ba20161784f688afcf07a900ade1d48060d21be9ba9297697891c2584cb99a44868efbdf65178592ecfbadc92f4883662d6b21b7f266eb21815c7401b8e7da061e3258dd685f8cf65f2c2e407c913f85d053b05f6f92ed1299186632ddcf175ccbbc933044bdac5e10916917dea1146f77a8ba4b4fc8ce260b5deed395ecae9b81baa6b385fecca5d2982041c131ce02a1dec517ad2d459434aa3a514e7a4c6c1362401b1ab62b4c89bd7705d5072e0be5250c60c2fdd946bc73050d3b8bcfaa73165eee3660063f279e824d1e15f87307a40bc9e1ccc0f7d7087ba84fe9275742455241b61d3687d23eb9d7a9cc18072ed8be1492db46a454464090750eb0a393499a73d23f4c552ec6ae425a77f97d4285a7f287066b2198bfaa99073da6f4009755e59838e48cd5fe692962b87da3ea7e14b34b352fb2a4673eaaaa594a094610bd0cc566acafc21891b7b0c2470bbb338f579231e01c064f275c5ac9c2748cc50e7f2e36f2768d2a59c22d14b6b9a431f7772e716731c55ccbf086187fb15bd07a5af3040d468d4088ba9e6383f1df6dead9384758f2da81ee96370d9055ce5a0db56bbdccb57ab490f42a01e083b61c5157b3c00e2011dda865c7294cdfd2be5c03a1a36a4deda9cf03b500fd0101b3c97046a717a2f38fe2265185f4411cc68cce6cf9885a7a8fe6292eb9e3eca69fb6249774a8c82b888d22d5fcdd549846c3ebcf054c6bf07aa4d6b1c0d4d9bd8e16501f65373ceda249e9c760848fc86ea92fae7142d211c8bb4a287c91eb08cef7678ef1f445f76f81d464eb1d29ce5c6d6286d73d49cd0ef03b65376eb146a3ff69a487ec90b53c11cce613a586f22cd56fd34df6f7ad64fa3c68a6ae5c9dad99d4a3d2b0974ea1f627be4f0153c7b5fe472d0c562556c4d8d1c7c592bea45bb7886b74f8639f9487b2f6aebf4848b5718f2ce65b8f5a4efcf140e2857bc9c503f0058f9b6af16e75f2d530fbba8979f81569e6cc0bc04a54e30de4e03a9300fd00019b881d73a78b86771d41c0c2a9ebdb3899727f33d2d4d81dd27b6a00b4c7db265999b8442800750abde7cd97be0c691ed06b5d40da115546d90d4803e82c61d43eb5e2bc684adcf180be47660870921fdedb2ce43f33564541fc0debe175c6c49bdfb51378902dc709594b9b7d34d0af70b67c3c608aeb5185e78c1c39cc3080b71a36115f623a07a4e1a3e1f3e17b6f9f695f1a1acd9dd1319d0a0d67b337e64f720e5168c09196244bc71b083f302e042be19b6aa1f8ad61755f4883c3a1ae615252b884ca3cca5e18a023ad6725f08f9e0ffd60e7a73ccd29afc910d60dc99c06f5953c3e398ef615fca45f6a83f8a0be653d31a7e1a1666cc7334d9cad51fd00016f7efa38c8f9f478a6ea1217d8be9b7f0b01c5d1fa483c26e403eb3a4875aeebbd0e7eb8aab8472a5bd80e8be38df13526042952f813b71f8aeb4a2281bfe5e5d9ba70f7e4c9f477706da922899f505dd172e260ce5f008b59c0590d498ac50810e9a38d35f1a2ea4e9ce8f77e46d0b5604dbf94629cfb8b65453a0295eeca9d992365309b7956481a8c5080510a09183bd3358fb26933e15c83fe2ca6d186e631d72889a09464f5dafdc8a93dd100329071e52beb522bef1af0fbae0516ad3b02011e19a2b2924791b3f22679b78039c8356c0e6676e2451487f056d0cff064f55a992afba08f59af7606a809394772ff85c4c40673dd54eb30020c6a5cde3cfd0001ecbc47845e4a1f3c05c4e9d0a47e5e8996326f48d7ee1bd0e432c5f33fecf8a94feaf03f2da65525bbcb119c7928456c28f31c183a21af1acfcd9615669cf47a077f861f694bfc1831f1a71ab66540906c62b85274f63abcc53a37e3fccdc8563ca2153818b6b796473848d765d1c81d4e6f78ef8fce804184e04664c5c6af7c3abe4d92aac3f6ea99b84a3e53a7bf7679c26dc96804ac9e1443b054e3c55fe89315106a14646d06b84122861ac0ac27fe64fbee3c9807b0264a90eb9602187f4df2cc0c62b025ba70bbb30a7e43d533f32546d2e6f97537bc2d623a7f545676a37cb511614037d77fe21a35ce4a2275e7ea1d85b7bc19e477c61033f5effe7fa5d8ff48e2873845157b7a29718e6692704a9d864301fa254798555172c6277cce4ed5aebdff9c27a1bb37071677c16da15d6c1547c5b708e1988eba68befff1f1743342ad7cb89ec8731b567198953d965ef6e395d38b410a326ef3e262937c763179f22a076d17f848dc4e36be38d838d5788f121d771f23209a0d50fb3d016c5cbc47cec31069f7d22bd78691662d8b609932b9533bf828e213e5ed4e61f2b80f05acbc00fda0017bdc59c8a6a23d261cdf1dd10e91523503c3375a803755c29b6a84bac626708b7db937ed39f4053b5c6376b3988fc9388cc64dc07466c67704a32b703d5dd86d8fb8597cc2ff7ca190044c66638028855f29fdf2a0943c64125e3ad2487de6928bc34088957eb32d843613e6b588a91cbfd8c37c24ba655739cefdb203bc3061ff93498160c7e949823b0947c68b6c51dcdf038c538f50413266680ee23817ed9cb840e0094f6fd2277012aa2c6f82b086242e6332a4e00bb9c12c153dfea9340e681e63d72551f8830b2bb2587e5937685252928894bf90bfa174f62bf7ccd43415a094bb4142fcfe639c62f6eda0e4d7ee033f49f51eaa6a35b0f7f400992d8367a275e9d018a547430083c41a35ef543bb92e159efad39c5b84d127bc68dd581c308afd5f81654ffcdb3317dd6e21d5251916214e873c83b6ac197dbac6c1b93d79b9dd5da090be204b9765fdcf662c9296295610e42a0570a1503dd67c44e17936946f3a6ce61f82b13cf00a0b47d06f2cd28651b6af32ffc58304593d5ce81159ccc952ed980f93182fb468ebccadae4dab4565d64a5bcb3aec7a09d681fd24016a4905a3a143e4d61b16898fddbb0f9d7602ce865716b62ae4f9a37e2f6ab89de930e066db6f4a8667ccc4e79e7ac760642c33e5f24266540c9b4fbadda4c0aa1b6a74d02bdf2324ebf9598d8ba918438de1e3343be0b057925bdd52304581ef621fd085dc55cf8b45d605cb0b60047bfa935c2968d554753a615e75f24086b4e40508ecdeb411ed26c007a1110f3e73f504d7fdefb275cbb59cf9cd68bf4784b8845467fac90275f3bbcc2c14a87fbbd7d111441d6ba0833b9045db43975317aee170242b291f8b07254d395472bd4b67db7576bcf2460bf0c182f745a6cbbec3f680b7c6e0a85308bc3af8af3302355757a77a2fe3f98350e4ea1b3074e37a638c630d529141843583ba4b802e089e0a7ecaeeeb42079e072e64fa5251782cbc67ba9d46e4c7f502d44a06e5212d09f4dc5bef1f1dfc376d4a042f608b860971c44caeb3735cd57e19401314af06a73180918af7693ec5204b3f858806e6919af05a1a8c6daea2ee3f08fd2401c082f09f7042a7a0b6b484287050a15f5d8c1011c200d42eb51aff5a484fe1de9feaa264ed3022b6f5b1b54a4a316d3d7e2635210ad83e2d3c497bed46f417ed22804682529b034925dc785a2d74361d1db395d1681d71bc1b0635908ec3e92f850577f35912fe5c173402e6e2ed8003c64a57bb65a2013014a3ce14ccc725f733a50457a696396cac0a551cdda03a2ec81597031feaddd801a9bceaeb5f862a4cdb3eda06dc317a96b29c27d78dd977cc6f25d62bb967814fd1d7e87c675042522c904fadf1cff80289374de8f98df511de975011d877058aa7ea9cdf186ccfa5cfa5258e581ee7ee73e16dcfaa82f079a16c95e6ca4f49c037b2423c12006b549a0b80c5dc9b93685fd2a4bda99e5aea74eafe9d28149e94adc538198d459c7a9a45a1fd24011c69aaa26aa94954fb7dfae2d63eac286b4979e7d513eac8144a7bccc34fb298b7c556a82e7450bf590f1ae658c474ac7c12b3fccaec877b6bdd11fd9655a27b7b69b922b1629a24a8d7f81a6827dd22cbab62d121f5cf96d59be904022360c5bf04d2435c52541ea4d7f932e19fc471a0afb38f2e84668d974c57c963346d790a670a699ff53b5557def1ce9650a8624bb2065f9ce99d6b5361a1b39629040fc897a5d0a07816618840f86601508e90198de64d7091a8bda406009948fa9ebbf2f56adc66e057ab23152504438062867c4237ce2b99c020add16bf66a0c06a072c4fabd9b9fd1146b73366535d934328188798ccc18ad37d30e06a39b8e14468d32820d912359323b7d474dbf507e894a448a4e921f70d1fb4d4ac03b178ae157814004fda0015c202cbc492bde212955236761fcad7de9ec8932946b5352f6c35a242d39b354a1f96a706bcb84174a5b11a7e51cf0adeec9c1e5c88a3f8f32ca81977db668650734398e6feb45cbe0ed5c5d8f77cfa67b78f8c7c856629e6731321126d12ebe70603fe28d4281f5c9165e60749bc8688d7ff3cd509d958dcd1ac7b068a3548af0a3e20b984bf4406a6c6d55c674bc83240757e3a0515bbb626b6b6b863fa7029c5043d67ebcd531601d39b8b6b7e507a176216a264fb80f574d7a6a587d5ebba7c355007630fc49127368f6b672bd12fba956db75f189bd438f5034badc04d396b04a021608a7888434eefffd082efb0c3196698d1b015b42eb6f5a2123c085d37841c0cd6c7a1d77c55d61d76426758cdadcad3d7b1037b5d94c29962d4fe218c9f98c89ecdd9a50a48bc534bc167d536e11906bf594876aea01683269255701b705ac454b250abd45d10f4f8b881c6f4a360014b450132d750099100e15c70ef65ab0eeea340604f3c7b3eb3c51292036a6cc2843989ea418631fb595ca9d7e23a88a3a7d0a8dd5ec1212fc786dcf7107214d5c4d3f2cffffe2b1fbef09816033fdb616b9318b80b32f045ec1bec678dd1500480154ccdd87365d602f0126b57015784abee6fdb9b7f22ba135cb882dfa738baa17233fa53c68d35e4102f185c07a1310b710ff2d63db7238d36487ab504e64e239d0641137cd75cb282e831621f101663efb2f9de2520049c0d08a7c965477fef9d575ba31e101faaea20f96e40046132cd3aa981e8f360cb6a9bac68844d07c7d1741e56b104f634fa1a0c31d64ca4526de4f1754effc40aa04b9dfdb6f53ef77540d66fc9d0a4058fb46518433a1467a71873a03600b47c81e0d452cc44728e3a625235c84f7f62d753faf91fdfa1aea056925168616516e5c4357a7e82c94127fe8a4626c868bb7bcc13a0422e15e31c82935a4e1b9cac496bb456d1318e2e3e704627f1dbe646f5f1590283833193cb03f28e00f5020fbd43c5fdc39fd35498cf4fb7471417e814974331500d8e4ec8af34af39b457d20843d897d0e015456600325ef702c1bdfa7bbb3f2e7a74dcd8fd77beb3df4022320108d0f48a7a9b2a32e1587eb01094e20cb7c002d3de08f481a1d7cdc6b3f9c7c20185bc7ee65a12aa6003a58b83aa90d90baef64c7d324c662ea5138fbb4bd063720f8f9111e20def54a90755537e44fd506737cf1fcc4d0b320bef16eedbd750f8b2002e3af2f477e9d2912e50e4f03e43742c19e6e94c1ccf84ab04f0eff342bfc1020a544d7e745fa08a740418aa6da398bf10870a860427dcdbb857b6b41cec8e1342059eabb84637e61530039918cca60b860ef24c0df9e586b7ee9ce89336d5f1f7a210f0385ce2ad9f83a8534ab0325a42495a9cc4cd4774c9e8910bbf4e7192c2e98001fc3aae0957bc822f2aca9be874e1493a0dbad2ceaf959996060a2bc1781c23520cd178b0cfdcaa92929b9daef0c4dc752225792454327bc351b63765208972820203954fb6c5f5fa020f757c1bac415fec7e1bad3b7c19a93ba5ba53dc12f5ffc6720e7572f4709fdb74cdf2dbbf50a7bec9c10ee302cc2c5dd878bd109d1c87bfe3e20883ea4bb25deffe4bed0029e066230311cd71a4beafa608d43d615652cf9c146204c98a01cfce1f0ab321105b2f2659d375f691e2f6cd9eb821adc512718acdd6120d5f64f7950ad04508b36baeadb52228ed3a1139512125834c1f449b2a9613d67204550d2bb9a9333d567b6c2ab154f1fb4bde51d4b5c50307989ed07100095485720109b0b89090c8a2fb0c51f3f9ca1eab0e36b4d9200396e7958523e57b705d11b209195a60cb9f034fced26b3336b0c49872fa13d56cc410f59463e4f312c93423d20f52bbd6ff9d724752b5ecdb148a47e86c1378111d76e77a2f4434816e325c62920510cf87382f2a4c1417203c4e17511170ac616fca2caa49b521dd721a8183f1120ee7ab5b0de3332ec1fb81c2d5baaf0509eda6de26147b081866c2a9aaa3435882011ce790ec01637ff533a68dfd8fa22733bd7e4fefe18a5796e9bfaf996adf54b20509ea869f679c1ae8b074619487fedad28874cf9c93d01003e9dd0df2f45b66b20380577ba031eb78adb2c71bedc8154056b157ae0d01203c19d7df420a424f71521d04f8ed62e7175b7e70d7f92dafff586e5a60be02901f9f67e97374bcecfe7830020c6be51acd068843922b23415a1c7b39f4846da7584a496483a36612dc295968c204e43611bdc897913427fae390deb145024077c5808238d960f93c62a62f70e6520e2f6ace6ca1e8b6b73dc2fc3c43f3d1e740f1c663e3e0ff9415b2d282e1d377420bf6b145630d553e8c6e40d84626f01964e3d6befc33ac284263ee2c35d76003721a9d895ebe788be0a6988027ae6b33a26bee33016d8f4b64255f320d34deba4900020c8bbe181b5482c9352b9d607eed48dde4a2759d765bc2da53cbc1c03d68da30a20818a0a41e03fcaf75f38766bfa81738f0c8ec2fabed7142e998e7b55e014300120b61bcde758db04bc126bc67a1c87b9fb4f8eb2c3958b9e4106306508e2b22c5220cec0548ab3977bd4bbc802483f0c2ce3b1d6dae43bc0f8c79167e4a76ee6f7522007f74fab71a89f6b94bdc8b5128de93ef2be214d04fbb8ac8c2832e1f2ea6371213c26fe406e69b2060b60c6d0eb7759fe85f19cb2288344239f2a398f04b2b8900020689efa2cc2baa15ce24852b1f71d08200fb1f2ab8e10be0c4db8c8263a85032220b1f2737db4e6e55370ce004319e7c5e137f3567bc4d5603e4ed1f5c636db6a6b206dc3dc994eb2ed126f1a76892117b18b24028dce73ab6d35924ec69df9bc361121fb6e92175d959528d8326cafddb4ee94fb9ffc2d9c8a413898f14cec99d4299a0020349eb2d5c10d69df3bfc41f99d6cafff21ce69323637565e1cefa60173ad0d78201818225053a5e2d51745c5002281935d4dca8ad82ff76c5ca2dee6be84fb767021e8d31f169295ce6052584692ed9e4da87e637ca0b52455f216d5036c55d45c85002100c51c6bcf08c0a3926b2be93b47d0ed8955386d369ab8d6849957efb23904a20020b4b64e35cfcbde2461db3ce57292361aa30d136b0e7bbc766f4aa3ab4a72b66821e802f9eb8168e002b64b2b7ccdaba46e73e5c422dda18311788b19eec7af5782002062e41e97d6c8f4c6ac4c0f978f6f8488c92a51eb5793ad109abee4d6c009256920009f7f1755459578897b027bc2b282466aa1d3b9b0983fe4cdf51c9090548d5120760bc9a32ab7facf7f3c1d1aea1b6cab28bb65276e269472cb24ded949256c0121ea8ed0306eb39aeefdd4f57e98d25cef9ee6288a915cc96207ddff402bc2fe81002138caf88bb834204209e39e6c9430ceda0294f1253f8be81917370a34eb28149200203aa2e1582961cbf9b22333ed51aa4512dddeb3cef2e4fdc3644dfa5145366618203a0ac51cf2e1a98ea343e9ca5fbead275516bc20e9bc421e967be939026677682164c2810712d79c82e75116a7e173af1208478e8ab6763c7ee58551b4f323f78200209943e959b9228e61e5def9b2ea18de1688565a2c49dd98f1c0a7d43e81a6800820c4ab26007fa076e1ecd22f104a860f10b22b1ce2ad1229eaa2cf204815f7246e204090f4ac3d42b2793d83aa79103e0d0488ae1297109a6f47bcb29d8c8b6d383d2058ceed8e9f61bca997b4fef220feba451f5401ff7186d1348aab81d7951b5e1d2014994a638981db8c53c2a364c744009050975bfc23fe7bcfc5c8c36b3df0bc2120e26863332f579b931156f0559025f7f96a4d72a9fd108fbfd5c29a71b13df72520e84680238c100c359efc6bfbb7e97d3ddd4d1d24ef3fe8a5208a714580e9aa552108c2aed76de2cc32cfd4d0fa02eea4be069e74da620ba09461e63b5127cf9d8e0020626acd1bbc9c821f30e5ad5b682272cc4b87a9e05323357a367e170ebdae283c20ff8a87793a1dd9996598d50333ace7856916b2add797fb4cd7cb7fdf24245a642165e43a1aa272317475fddbb370cb547766ee44842ab25d83cef370304213eb8b002121565e2ca6c09a263cfcd17fed20fb6aa06e1e798276a5f0ca8cc16dfc5c309600203e8034276a6f2379f8374e8fbc709a692b2dfdf271c0726c4f890282a40eec2920fa335f7d0543267026ecca4424d15cd07755568dc93c6557f850031098fa55572036cea7284ab1abcbe3c7a83ea779392fec2fd8c1524f95c5bb481c67e300600521444c7d18c458aa1e62e5efc656b27d6396c2fc9299befe67e3eef807711f948c0020829cf5a6319d4467027f9057dfa46e1de952a01233e068f7fd18cdadf9a3534820b622a3b592686cde240a056840080c5116582bf166f4655ace84b34145a78b0520fddc9480245d4ac36034ada99a182ada449373ea0fe16557c3c6d9d55b21942720e59aec0bc8b52c1ea0179ef1bece2bf3275164c8b14ef9528a1335dbe13def6620af95305f745778a84f8405956a82816f366957d31e74af5509ff0b7f7dee737221424e7838cbff036afc7e59ba67c6add560e242a1772ff069a31e5e320c08428e0020f4855f5217b4a20c250b75c69d494ec450321911f9d7841e489d43b3739eca792010f35a5fc740eccaa7fa007f33b028089dbb8bf539f560df19627d5bdba6fe3f213c35de64e6b2d64bdb6ba246a5c9b6a91047e35240db65c383a1be9210b7838c0050fd000184213201216f3c4d446f38e3733348efdc4a4dfd79febf41f03567e0ec2b5a8acb93639951dc506d8649ca6d1926a25b4f19549d2b3700cff07c100c47c456ae23df2e60e27f8822c427e2de12038e00293de92621bc4a27d104803e48d076e3ffcf8c31f549fe9f95c6b9233be396cbd3c557efdfca11fdd91397e52f35d6b3a2130fd46ae505dc66bc987d8e93689d41be09a1df024af243b843e18f298de218ab87e557c782bd20648dc4fd4a5e654f1e9fa59626663adb179f51fec2f5534f2f4929ceaccd34d6928ca3d42fcc5efa32490428abc3296147147eabffda85ec2be06be4512448aabe1829d0219902fe1e9cd2bef29a8f89ed8eb1966b89bffd00015e46cc825850532b9bd9d584441772b3963c554af1424ffa9ccc7d7de55dbef9456a3fbf7b4be985d185eb898e166ba646daa12cca359ea77bb7a59e45e8a6cf2708c16b5ccacb708839eef2ee4b5b6597ba3c5899c9f5214bdace3a521fe36cd39b77952d1bcc81f9e5edfae34f1cce40369b7ee492701351d34e231af8a3768cc158a796e900d0cac462f5204da5cde3abcf561ad60f91fc8951e4fb37166ce37261649f840aa51e6ff9be749d72f1f5b5ae3349f14d572860dcf36aa4655788b8cf5108dff7a4e231d2e2a3bec0a159a1e16c9bb38c4052439f2b6b1a62addf739772a1d51057c89751f7518a3b1cd7b37c4ff7d621a54bca5b3936b137c3fd0001b4a09bfe02e11668f8f6204cb9ffa9817ec412c820b6b394ce2cc3a12546ebc5052ec1c74876f3de8fa22e19158198cd04c1336a792ea47e63c2bf4e85dbe7460501606c97409a906dae4e7ad84517a7955793365ca4f49b5f6829efe61f52069fa19cb30ce0a74d415898e7e134ed8c4106cc9d6be32577e9a024b9dfd8129cb5efb1ef282802fe0066aa41e587ac9ee20d6416010e1b0772a44b6d6d1eb4ddb32b80b288952b26323bbec16614c227e4599cf721484443f56571c7b048e58fe48b1786c44e4979e105196eb9b5803795b8aa3d3e3a8f85e10abeb0f7b43b9a62dbd0905af620309ef74f281f39b241c4b4c109ca7e0ec55b13eef8ee0544c820b833fcfd65b4a897458cb9aa376c6bdccf1032e099598452130bd38d28096322fd0001b6c9b1d3d60a49cdf61f9031694f9f790a4e0118ae39cce789df472c13bba207d101410af89ba4b2a88cff5eb09e53593bfdc69a4e2706633a45c77a6d8f4baff22c7e5e6b32278dbfe97100271b1fd1e64463fa6a757c4cf4b19954d1d363494664750fcde0f0b6e35f9e0f08f4fb1e438669f78b10e800943840b15541a31c3090437364159681974adba314bcac37e6cb3ec97c3d8e0cd52241a4c162787c199a256599b97e488b8a75a46d2c3d8af1951ddac43b0d338e739deed1ba26a8616f04d124244f365573b602697aab0b427a8f26f1a22de77c563cda13fc03a030817a837c497732c6108eac62102641176f62d5b8e73d0e27e17586d6e2c2c3fd0001ca7e381637425fa77d95f92b8b491ea1398f53d763a6ce32a2b2ff972ab74bd377723dde5302c487fcf7eac93b089457761ca341f143b7c5aeb51b33cf103f2f4ce4c282bc5bb8c7290c2a9dcc82fce3dcd9669f660872f602de46e869fccdd99c85c06d1d7bc9af4e93502e4ffc385b9641df8f21a25a14b8e4cf99cca023da529f8689d86418c37dbe3d4116e08069f3d08b9c952f4e2164dada9e62908d57cc68b264df8fcbfe449c21cae576adb8169a97294a6bbd369a58654cd182c8403080b3a5a916c107d7271311a291841f3e35e065d48f6023ec4118a3a88d417507ae86b6c74e6ced02c768e0f879844e22862c357a9fe22574e30c179e2243e62192455f24a5c214eba9746d2a8f6a47625b53e5e62bcecade179907fccb08e4b200218a8694fa7fa94c9c174c8e1525bb14dd946981e66b1c02178cde818615e3b6910021fca3cbe539842d405545a71cdacd7a795b6f6fd1c1095497ee8ee215d5cb8eca002039f76b8f7067cd9cf8bde783c8ea6edee7638113ec6729093749c2cc0c15d13c2091ecd1eb4b171326a6a26d764e72e09160ff2112e577149bc7c24e6c0907324421cdebc7f780b73aef4358c6f7e5c9a78ee95dce81c4c1bbbf570cde3c43ff5ca00021c6955241d2f09d2e90e33601fc139d0603919a1011ea7ee89f0e5d53727c45a3002037be468901ac92d7c3481ad63d364a93e2daa023bbcfaf4f6fa40cc54974de19209178cde568ebc660a7698cdd7f83d5932364eb8ac144e62cdc045a00ccda5201fd0001a3347a2cd4b1f5337653554be5fea273a5bf0292c0fd60908c6e699802079912372435166baf2f71b35ec0e00a714e9f7c10096d0f39a65f66f220057f369ce7c8221dddd00e90604f9de897ebf9f06afd41814b57350ca2d7ff7e08f60c94dc1aa087b7975936832a7050ae4a14b47b1986e70d61223cdc37dfeabc5e4212a869d953450202c9c12db23f8819faad59252173ac11c54020fd7324b4d39673befd2b585437affe9398e7967772d408c6db860ec512f94d02b0cbe9c9d414bb4be4b08c3a420a549efaedaa6f0aed7c74044785b611b2d65abfa33374748adb690a54c8719131e9dda9d46afc9dd09c8abc498d6de657920642d3d47a55f17fd3fd000189cc7f3247c6ede0becf1ec89f5d92142d25a713e037454409ccd146dc18c58319550275149342c690f00b1e060db34bf6ea34473c661ff9f32a40214a4715bbcea59a9ad6ff976e43b325135ca16377be53be39255f9e45ab4b3652d629a30500f9e37671d56952b215628ef42c1e49046476e9a760041003742751b158aa85c4e95f70e267d2631491c60cf09a174816890a2dcc2f8a38f296389c3ea66a6d577301297c242a6b9ca7465d8282f2e72e7673f9e1f1c8f470949c970854134de397c08c06d5d21fc487b2b9529c901c052e838a087f15b802d081e869cbb311efed66ba31c17c73cce1e0fc32d58d35e54bc5524776ee3f45d7b8f81fdad4d621b95f023b2202f5d7c814aa89c27b5e0bf5cd64b444c711c2e1c4b805af4fd58300208214f56ae87b268fd16d6df77efaa715fccd1fb1e6298c1c4f7a4f18d39c2f75fd00013fddc975fb72a66d5a7f3ba6df9c1ff55c7abb5a8f08317c6b346875e850223d87d72d71d9b17c11bdbe6eca34b521fe98dc8d31bef6fcfacec74e5c4a6c5f00ac769363df4720e17c3b687a42f29e8edbc20184dc9274d8546368e3fd2408bb68dd224b73a1487c10f4e29b0d8b9823f7c73db26ed16baa4c5d75b162cb5a97caff3cc8957072902538e0e698fad2e90b471777c5e8d90e5cd313933c2f3b30e49b6cf7ae7dcc09ab2e5e464601f093973d99c0815c3ea587d1803b4ca1d9bcc2ac20cb818f95d9239fbbe62c3356ba41f7dc9d2232f6221447fc4858bbf11ee382bfc639d9101943d958a59ff9b81007508c0879c4bf16885bcd6eb2383898fd00018ef6741f57def1a55a42b565ebe0451f0208762da626acaf0cbaac6d9bcec14e22c15660c2a0c5a23b27c445ad968a7e6b2daab11463040eb50799858b7a5063965f947234beb0d42fe1c2dc7bdce7fcda3de1bae384b62e798995eba4836dbee41a8a4de269c026018a22687ad77985d049bda1d39b79528b320ad3d22d893c547b4dc4acb57fac4e0603468beafdf54408ddb7d4c5db0cf14162d0d735b3fad10888f0048035481e5713b846761838504a36c1f956b072b46f11c7c6fc86c766c36fc7dfd5068855335b96162d8b299e3cd21060fed730310d7748c3d16f228b0eea1f37f5eee5453e3a19ebe1e60e4f2834d3338bf1887969de57ef02a1bbfd0001b50e09d8212707f0035a46513208bdba63a5d1fd7a7ea88e181d7a3de81b8afb4ea4b0428eff67c04b27372d73896fd9df443aa9b2a42cdb8665271bb1c54833454504dbc80645bc02366dc998d334b2723bbf5ee1e139265c107db84774b4884f26b57818d39d05b47d5bdab25778965a0627a96ec303c743ba57c0d32d0337a6d3dbe982284109eb0a7976221816cf3fa7f2e3cf739f30be83f253564af7f411358d9c5340fa5578120c48b617c088d9a3d0811a575bb1e96b746e25312ff6d87b9705c04a10123c7606b4c5d6658244121310ce3f1d062250b57ee51e35e0d7b787d38206fd9d26c70ef94f337cc7108ae8ffddf5fa314e6c4e5e1538fbb0fd000192fa78c12fea8a45902ac86e2878e8327b5f4c2ad9bec7d6167bc5590df49cbddda4d4d652f6f087f2ddc7a2813aa5b33048adc5f900eb4acd983bc86ea7b89f630b647a9ef42ab1bb6484ebc20989603144912ffd80158aff7e7d40a1a76489afb21f5f711ecc3ba613868a7aac4f28f2cd5440dfd064c4874d4e398a4718e10de8f7055e452271f01b27544af7035aed32259796962035d7bc37ef843cdccfacf969a1659e354ec27efda8756b09c0bf855f4fbf7598273154b3f517303b6169bdbe4ede890a90d3b34c917311027afeaca7dcd27158b04886dfd81803594292cdb3dbb77ad3a8df97df63095fd28c275b956cc61faddf770608b898d74ca9fd000138b1c34ee04d01368d9cd8ec4d70b97633951ada508c031470cb4cfb15a62426276c7442e7679f926e93325e287ab9ed87446c144be02e559dd076c9c5e1d6a6a7de45438076b1bd7b9ff5a821070877c1d9626925c1f47838e56bb6982b54fb9e131741bab5ea38aabbe4003538c454980dc3be9a436283edc32a3de0321f114ad32cf34e860ca36f18d476980910e564af57da498cd16d08af8b4d4696a9962adeb298d7af4c8c4ad9cb911d80a2115e833f0856833232f92f94cc9c3a6a14270f4c30ada671bacc9aa35bcd3c945dacbb01f4556ebac4e52adf8790dd49fa799584d227ab95afd2da9e67e5642a90e54fc8b693a07384577d04cc40861cc9fd00012c7977632367de82810aecc22a1a802a1aeb6ac54a4a79d8e61606a6eb72effe1abd74a0a18ef83709355e77cef5666f16d94c0d710f5ae3973bb26d07c0a436aebca4d156d42952cc8cedca94162225b5b4780cf47a6426757758957dcf2f638ead2312e67e140ee8c380949c0885c68b396517ba122d90a0ed184564bbe67bf1d0115c77857fbb29945ea00d8e809c295295494dc8cca091d900837b60b31a79bacfae59fe638ee8a2208942e27f605c452be3a4a43cf21e8e0f78e7cc20ffd2c546a0bbcc404b415e4eae2c7b9c2f9121bc741a6f8c5c28c9df3e0169cd86809f5e235ce17fb625f913f94b75b360f9097b625a5305040c55a4057dc4a68efd0001d594cafd37d880576656265ebb737602d6f3b9d0feb3147d8c1f6e1514ca64e3ee046bea5e6892d8db9c094198fb3f697ae6fc880075bbd461e9aab7425ac3a7fad84071b170739e7815d0c76d2ae7fefb718ec132b32a842c58cde33605488043aad9c5df6e58401994a38dc50779e348cd18582ca74aaadcce6df39b221d4235a88000eb2e3efed6744abd0b68836d56ff5d9ec973be549d52a195195725caf3b8cb683da9b96868d35727bf4b74dcbee838d9c39a33d15609fde1c2b345974a93c030952f52da7ac20b8c26b340fd9c08f56b97ccce21004af28ebe4946a91682f9738085cdd9a53e160346cfcf396cfb59465d114c600d9571634aa3c880fd00016c714ccc93e995491adb6718e9ef69fb2cc36044d9e6b73130606b9c845dfdc56e9518a120237f58fb6f2546bec6f47ea6a11f3d898baa47682fe3f537542fe9f6d3679398064a48a3ef8abc92e89eea84c6d8ca956b3c40e9b82b2a496bb1230f8789fc7b0befc061468049d416aca3fb41d4272304a728322684f9ca6125b91dea97bbbba8c83045b5ce8b3110d429d65998b3aed570ecfedd176e98a91eb3410cd501ba52d176bd2c8d05e94acc8f352b3cbe12adefb82d34e174765ef1197f8a93fd4e03c98967ddd0332733e5aa0ce87f63aff78a2b44d10ac63c1549d9a9c6808b743e6f785173924d736bc0890f2e68c1df72b0fb1632bd4679e87690fd0001e736a64f64d58af8d43f0980d29ba57dccea56ff13040270c926a2703401b83859a94d6cbf4cd62109053c9e6ddd1cc61ac649ebb1243037adec455891642de8f43b57afe96cb63736e3e7d735bbeec8d1dc2c698f37f0bcd85bd84cc6b7e25eab500c03f1c62ec730c24208e2df2830d32842277d9e5c9416a91217cbdad60d6a77a7127b09e7463354266a1130d1f04de9041f0f83d41246766027700fa9a02d10d2b0fcb0bd534d22ed38278ce177bbc1c429c09030f105a67db70011d3eb24754bbb31f8a6a98bde215f635409e4cb8c3d769efdd7f1561976bd29876c8a11a130cbb8e3fdf15fd9ad0329852dffd794f499345c3fee09eee21997a5c8a021b993d7cea74a8935b42df2d55606a8841b1a4a8fc0321701d5de9bce1dd1bee100fd00016e510cf2b787c67956990655ca7ba97aaea25163317e7ebfbcf2681b29b0b821aedb8f9b2e309d37f660ac7169dc8234a7e7e4d01e79164eb75f28d284c52ea3d7edff718aa96db6b0b6781366ab985d202823130ca53c2a8e5186fc18862348952e967b1a3e3636517c3e3c48d8fe5e4ef1d5e230ab584964c888c61393ee3d6e34c50446b86e68ebfd048ac86065f9a9c4bbfc2474027b612dcafbbb0416f12d3d856a96557529d1144a852ade77f50f600ecf3c0e00296576eb49a0b211baaa815cea78e1b7a56a1c698ff58488378722f58fdb1ab8bb0063654a8de8344041fddd04be1b4b2b1944ce9d1ebda667caf9ca00e5c2de892a9063a449edd8c1fd00017140014f19e2474e1cc4b40a5a8033f3ddfd960ef33c7e35432deabd85a5b2c18a27b85477c9e6fbb2d8a5e6c686078009b1f7868768fbb5f569ae3429fd64e49cb3a62f32fada09059982a03a20494bd2fd2caa75a01b3ecdbc32acbbd648905d56cd2aefc714af1c24bd6e8f06b1ddbb85e9882ddf8f0e67c654402bfe2e0d9ba404bb3da2d58305184949ce513b3784c3234b39d25e0c6df741683750cb46d7856e67a0d45f4839b5305f9965808d41cbcfb2ad3ad18cdba6744eab0148dd0c1d5e687b6e76bdb9408766b57297be6fdbcf9d7e3e6918c194ef32bb776b5ab85f3a6a164baf866d93ecc3acaefbac43a9fa267bc623cc136ad712b00d788efd00016d3db1d97d5d429249f5cd6dc35f61d0b1b44f1e433cd5e01d28afa6cd6718fc1432b77e8eb6418b0a4b6fcc6707cd3d5c6661cf57b3b73b78feae7c89e25eff2ec1d465be91a18b2f3bc4311919f410cfafe8ae8a06b4b947f9b6fd8ac17453c2f558dfd67f71829be66250d40c3aad6e3ff52d1c0c455e7a4f646445405cf1ad45ba65392bb622a770ab0f5a57e73d32d98ee49d73ac7dde7dad9b9c8e1da9d1e6aef0f9cd120bc1d2cbc5ad819190b758be385f2b0dd736184382af8aa419ac7d734881ab4728ea927b6655b7d3faa4a1e14caf6d38cc706a940bff9c9021e4b6c3ce516d0257deda35d2ac4e0423f01ac849b19b919b773a58f34a06c6b1fd0001464885fd950d292d5aaa6155164216521d2113d795d9aff389771e8f39ff3d96afb5e2359fc52aa6d6cbc3921a7a21e6f3fab62e748337e2cd212456e2b2f52dcb352a75902ac6fdcce93dcf027138be788aad5e09490bbce637751cfd5bda9ec540d7daa92eed7b27ff1bf66585fbe3b39db3de9dd386ecd7671f2395522c1c9006908afd04fe68d88194cbbc3216377cfc27c4fce55c8e558ebc4943cbb477a1172aa8b344c08d6fb853e64ff0f986b7f3e7cc3b2c3d8b2abbc43e08eff15787bfd6a9a8f98b207d8e2530c0c37a37ffcec2fecbd726b4b845ff48a44c1ec7031e4e663ec0042663ff81b9a7fe7d599695737511a685148fce0c3eb01513bb20ffe083f86d11f3c552efeba225a93eb8ea756f45c2e49a4dd08467b79a14000220fd4b0ae4d4c5a165ab75af08922366e89721ba7ee52751e0b3e64017787b9445fd0001d0a8ddbc130bbf7bcd20bdbc8728e812a45cdbe602dcea5826f753b94e1220cf698c1212464a17ed846b29db82b1cf5373241d4117b07a8b7d279d4e8511d22c47be22291e9ab56454becf533b771e5e602542d07828952d5ef900e2548739d57cbb6254c667bc50a0f97c11b7f3dc1624111f9d32cb0d85ac4106b41cd6d82db7aea1135334220163c190744b6daefa456f69c331facf9083af360db6f2a2c80c423357c8fd1bc28fcfd42db69d733efa9ecdff9df079bde1b73a63ee74e5af5c75b67a4824a72466e17b501f6057a68efc19627d115f19fbcb48c0e0889857f0d9191db5875ad6d336adfbf7f09989b2aecfe868c2efc2cc64af46d07c44b9fd000151620fcd4091a3d3e78e8a1f1b5ac9ae8bdd3760320ed9bea2e1b237110d7747e9894704336b958fc92eb200f06507cb56a12f202a8b098bcec5b7b6941dccc18d2bd968538185dbfdbb6ea61eaee22aa8ad24d73df0adfcfafaec181fda3626479710bc19835a5aa7a3b9afd8166b89f5aee8d52589059eda61f19f6319335dfac7765a9a9e22cce0fb3236eeba6ce250ea0b7cfc4a021ca3c88859f556dc1137349a7ad5a628bc47267ad91ff86174a2fe74e3ab298ae8917d6a57a916f00b16bc0f3584b12b0d63141a20b1ed54c6551c6dfa5647783dd9acc68ed75044faf6745161c1ee4abcd9969ff9e01f14791de7d0c8e44e77a5b249e2da833ad3bbfd000119884821e74482b639ec1f8484eb6199a01d6e0a3606e25527d7a9fdbdabaad9f378a9aab04a153b1003d520d03f25a9e41c82504ad6de9fa6cda30a3ee1128c35f49d469a79b3c190ab0fab92d9977478c7ddabb6a66f291b58756e040892f44ebf6c8d0ba3cdf5d9335c8b05b0d34a8f4e832c54979274f5d4554af2d05aec3d51a3cbe03282c9c104f664fc39863c3a23396e762a5a8b5ba18b3c84f0f49f8b7cb6f627905a4fec65e5ab41e868561dba5cc8bcaa8c201d613eb678342aaba5e5d44f7ad7a58810129aaea2e6bb9850ef022e54a50b18e5fbbb76b93f050c31d279e66cd51a29c42591b18db05e88283e52070e6eeffd8fa447bce2f22eb921b2e3f53f38bb201511b9e1d5bbf22bf9e23be137543e34d81a0b194f373dbaa600fd00010ef2d9c59966c760260612842d16526b4352a5f05de655fd0bf50546be1d893d90f4b8264488467880be2c4d7f3c577e6b68335f1e0764fdb16d6fc44fc5bc2c1660798e6b31bdcafbd33a9edb44e48dc37306abe9ea761cd2077e977a6d5b92aff3cdc33f644f47d90fa9a4b172faf29e264c9d55d27cc4e7b7e5e891adb566d172207406ac400348c386e74716a518cfde36169e4cbd8d3093c8d85b99e54474fb7c7ebec5a3beb18b664b953f4d9037041c45738e87c53d55eb92fe862a78627a8f4f3f8f3ef01102b8df05c9c1d81da85e36bff90943e0dd93efc00edbec664fe16f03c8e79d3e105803c50a606f9812d3717921477e224efc9c38604e932116d048938c5e50af925d722ada7f78de5fb1020ef09d45e001364d0ac87ea4b800fd00015a2d2be1965546e9ffe759719faf9960648c9183812a7db83a24b0ea52bc26e3774ac36fcef82756ad386332d49551a147e87ca68fedb289b965a4088b3de6506378af1f858c1c995313e189684bbd3e484499dd7a26097ee6e89ff1d0b6d4c6c03917c53a95d9fd1b6f9a8e59e1687506a5499adea9c1bbf2f63b14207daebf64c8bd5742bec97f6364560cb3d687f8a1ce12a197e87df8b23eff607c97849672fcd5803b43bc8b6dc2090d7b99299248007a3207621c0b40e6fcecc3f68b2888f5abc842a44e6f019391449a7356f9e2637c77612b342fe61e76b307ffb780f529c6c84a6e6ad8d7553021070499e85542cd288a543bb0d318b7abca62c48721047951dd48307113449db6a3f997999f421c62b4524e5baebffef1ed21a6a1a800fd0001c4594030b3c64f25c491e6a5ab25b959438c11265e0fb2e5b2c58e3d59c86d642aff89f4e5137f08ee4871df4098a5748795d596baeadd2db0b006e02822ae2c5f6a93c5281b82a7d60f8c390a264d293f1769d55a5b1f78f0f65f7694477ca79ec16677993d5b6606298171df85a7a8c9bc74a2438618d2aeb384de706b797758dd418b2b5d59dff089f7d4f7f21a8390a3a707c08ea4a238682670a0d80297ba68febea9c4c5afccc241d9f95aa77366880ccf891174b33d95f462839d2820451611e8453d981a703595e8fc73df0a4963c1baab591b7f3dbbbf62b50dc7bbfeb05ec2ecdb1a63d06ec20c4311451b4129a08b94049263e180411ce7b8b7b120a96a6184af4c9ac706b2fb01d6389d94cc4e3930925a5b2bdac9e96dbfa42a78fd0001cb6e8b1c0da834c4fc0d797fc3521eda3ddacade8a4ecfeb518a2e2e8a234d2f6901a7eb4d117404328c70a5c24f36236e88eb1dd19a7e9cf4ec7582f472da053e283dc193d70bc71867d2a348521a860fccebe0b45958f1b5919cb833d79802640b7665b7ec45135b24108eac8a882121b6e6734dcd327b506a434cea9298e6067c36457858e3c18d88a320ce33cc3861f5329bc1f9a8f4af57caf2c134051b12dbb58e309d7bfe9028c3b9b4179759095fa531cf20bdf18134c517ceddfb38b4d94849c3d7eae9b46c353bc43d2f8345e345f818e328875c1bdcd754b706258779c7c30592d0a4c4b5cb557eaad484d1cef2bd4d98d12e70b8fda33f3a5e8320486c47e0fc0d0e679b413041e800ed28ca862ceec23c1a937954131b960fdb3320a3e4a1a7ded3a425d38b144b090d9fb0aeb9ba631622041a702626583d41142520f6fded7e7b2408e70ac4ab0b4d23bc2571cfb9048b0bc738dfd0d6507549a451fd0001656bbe84db36e12bf3c78c07ba3f561d2c2687aaeeef2e2da17cb00f060e025a993c12551c12bd4d75c4c116d18951515f42c5628b0858d85b8afe5deb0aa14a2e33d147eb62b9a52bd4769b6a97382d6c39e5f70e727ee0c9a4684fcf9a03e7232394b4ecc6a2d32e27fe2b436b1081bcb4f3c8bc844e9cb1cf9b828bfc155a2467d506be2f89c9a36bfe2d19125fb21666ed4625cf881ffba75e67d209fde2742d5a46634019cf1f96c1e649a9dd58edbc374b9d6220bccf20055104e8ae8917537fd07f69e12e0b8200af3d924997ee33a7d1e9eb3ebba741f0edd1b59f05e1f279d0c4f7106276968fac8055088bd5f57840438a2776bb21693d9587d188fd00011ae402863053cdeb79711a4c4e7472a1559d86f89bc4daaa6865eced1126197f3c43d78ba16fb2d6508632ab4712b13c3f45d674064a51867bcba96a71b7683fa69ad337fd0c50e7927b913f025fcc47adddf1376a053280cd0fc45bbf29767b4555bbc4054a824c11dc93c3648b3e1c2ca42a5dc5f536eca084370ef65c5a6229bcac295c3fa578fc22eab793205cdc8d37fe3cbf7dc6e1a7c53ff3c7e4d226f0a0d4667bad282c625695d4a1ad88931ca894d4931b19b09c56d2f72e72f62600c97348ed8814f0841baea716d1e0d90f26f8c3932a1e66dd1e8c8e039d3e891ab7be0a887c16ea9fbf3dd7f2c7200587ef56cd0e75e8e828aedcef6198e6d6fd0001a265b258bad27b42d12a12e43a25bf566f2b77f6f0924e8e0c32f294768fd6d9f92e5a15dcc94a2067c71a1f9740700ee0e7f626d35fad2c441b176a077fe681515cb0c8613b0b43c708895c9ca5a41745ca87cc5e8d02e272a484be75cd9afc7478b98bd4c030c3dd4885c5214efbe70cf9a1f8a2616e2eadc150f979e1ca8c389b6fa288889464886bbdaee7539c6bba71ad0927e455d45db2c7371a5b15ccd8c7e7e91592e9bd057d85a18a9a9d1165a84329a6c7beab031f2819cf36a26aeaa4cbef4e7871c472b9b363a1a5d597005cb98e6828a7b6b7ae81cbd036f8d8afbc6289efacedbe51c10f27462c81525b18d119ab4527d9c6db52cde19cfdddfd000143a024d1136d92c3d0de09ce4a3837fff20ce4c4307fca87b1a09acdba6a1df122cc69dca4ec3ca89118ade730ec8959d0dd84db0eff5ab2ff71793af68a2d6bf3a301edce9cf1088046b3177c18d90f6318e2bea3a071469873d1a320d5036a6ea1375ce17113721f01852e1c436745536bba80365d2ee1060a73098f99983d18511059ecac21b84131d845bddfc589a1a4c195ee1d89ba9845c09d681a87c3fe2322cdf571b4a31756d2de38276b97ecef325f4ada73b747d78899c3f84aeec26fc9732ef5843f8b2d7af0fee0f04e01f85731eb9fde3f0a69c4c0aad09f51db5cd03db3627cce5d2a1dfe9910817efc2e53ebf9f79afaf09521a3f14980cd20d6c0a0d48152ef8efbf7a58b809f5c28186addc9690ba0857cbf2c96e395e92afd0001781c2002615bfb1b7d35b2e208a1df0bd8f95f2d639422c213683828227885660bb231058546848fd01763a1ae99e0a7a1040a0f398d8171b45ffc4a58a4439a5addbad802fe79c71a4a27fea8ed229c51d6cb26c3e21127aeccd2f0e31ff1c7d38987c95b917d4c86439a7a0d54b3985ccc3072727c654bea4d473676a45f13ac693de273581cd6f864fba7ff00f3e61cabfb689689c49849419ca1cf489cf9db2138f65c1445b74a0e0cc83e8368e6e79149e699b6e64c77c70ac5156bfa98794cd0c561732fc7e3623673e1f0ebc09de026d9745c4986d498762be6799cf99143fca5d69d04283b504c8d8e325c8811853d467b72e204417c7e35064ce7bcfd0001e42f7a528e3e1de18bdde6e2d9888886aea8ab8eb149299c32c68f6c93a19889efc05e641037687a091933cc83bfbdfac77d48a2828bac6b0625260d4b9da29b0d215d403c6d3aaaf33addeeac4d46875cbc4e3edc1a865d6fe0b6a588631188897cfd131672a8c5d098c0ff8ec5b17bcaecac1d78f83b5296408c994c1e81f93021da25ca403ab6694fb3e82ed260e88067e3edcd8cd0e70ce4c79b49962096eeb1eeb2b17be69033a338ebfadaaa1293f7fe17fb7ddce051d9eb82c84d639bab4a415353ae82dfed2996a26d184189ff1f25d3196c67f34ae50a39bdc2f711ed6468b364d1f0ea8eb29f486dc6c2f6dc59a24acf4772bd542557e9ef4b5b93fd00015ea90490404b84482136f214f4497c09a0ca87dcebecc03ac3152ae1c3e87b945f721137c7a309e1036d0e5d94c6cce38c36b1645a62c7160ca45abcfb5c165eb696154ae38684002a150ab45f1b8f1bb69b28757e2503967a1432090b6c90ce7e3671860e40e95200f8a1ac1ad927b49bdc0a66472eac7123c383ba28578b149f121ad8b1ead1e1908858a640ebebd2e1b8a4f787e5f41d573168493115448edb0de580a8c281b783afe2b62ac6ea243d021187367df9fd28f97e2ca7c8856d89c64a4c3c5e2147aea8120b4bc8b2d0b8ec5b7edeed35d24a800760e82ab19cb7363c7b2fcde6200b8e63e2b698489e9dc0bc4c8f1ba9ff68b59a7277038eb920fe94cb66b60142227c026662ddbc3dc29b373c5c805c365b245c2f69152f1e2b2007e3634d06ba18b973add33bf3e23a7175729a9442fc4213adcb0e5a52e2cc272096af7547b4220ef6335cf5fe47c75896ef2d27e58acb6d7b444b3645ad1a9370fd0001f3642f6dab0eedbdf04e554106719fde491a9bfe00e8228f250e0035f5a95782bef5680a15e6148467d4c7db9e22d9a4bc766ba884940645845b25ace95d405744929adc2c63e41e4c807e33a0d514919c09e855c9d77690be00720d83dcf2b2276e157d39b7acb3ae262e65a8a09ff49478fcd67765dd03b545d7e83bf194ee6b0c5f83c41f7c470e0a1c3f1014a7afc2b7149c01b3f1181eeee4ce8a9be47f0f7f897a05683629d6164fb882e1b67765e7560e7f5c6be76ad9902a755c6af0c455156b93f14e618f533feb9d351bb956da352b7a9d63cc5082d6f9768d80f1bb703c84be2bd75b848f06925f47e226c424c0ae8ad4293b0e9c330cdb16bbddfd000158cc2778c31d0436228349fd19e0428de5916401bbed1f3668014cc51cc6b42381c32e5a7d5ec4d194037b0544284c52e151b652e2733b17065b2a98fc1f5ff30a8acf5dc7522b64eb94a8a71526e2aff0acba058b541fa412bb5344eaae4945ace66b4f9251e842e4b52feae5ad89ae1ce3617debbb551c09c87c6e6e69b7942f1178db84dd758fcb3f63d658e3f48c1a47b725cd2e003a59b8e318950a45fd908c6c4d53d706dfcc2041c046324e3925c9ca032f62cc825f0c11c9fff3fed99f616837244c7d71b3a8d79a8d5bba3284280b59ca1d0ed044801b7d4d6148f014c8c04e8859d9c3d074a7ad77b86ea0ae39fde03fb33eda53fe5c1728cf2daafd0001991691f21883d17fbf12b24e86f0f639967240dcf120c01713ad612ce32a7b8a9c911248414d8a2b836e82c827270f60f154d5de0efb7aec5b3db3f8b9cedbcda84aedea5fd0988ed0069871fda9db5ec2a1ba0f04592048f0040599023ac01e758886daa3fdd9190bb1c8ea29898cdc711e8e8e6c4497ae95ee2e5a6730bd8388d8fa812b21c9b97af84a7cc9f790139b0005dc86efe16436e63982fe8d8ca6bc5bea86b2297a0726dab7704fdcc8a3f6c273eb0f8aa008ad1e6c4a985d7cefe05d3b24cfd195d2fae5392a48be5bd50386244fa9002f95ce18efe97be356a3c5b3990172f812987d0fa10d7fdf9afcd20e165697e3e8f1fa564d1f03010f8f20d53cbea6789dd88800af410af54c3c346483fa085c6e02c088092372ce828e2afd0001f903226d53becf91fe3ee0e556a7ddd652e179dc3c2de5d7af38f380c9916791a37e149ec620429b47e5e0c016b898ee1dc45db857c93a718daeab3167c3c336b22692da51bbf7ef1bc42cba25af0b1fa89df2adcf41535803ad6e80ff1e1f57c80514f1d091040aec55e87c4810ea31ba22e4f93a101d71e324cfb2d84e381f1a59a601ea97907013e119a24a468b27558b68de170690e71bc3c2d7361ca7f77d116b642516d9cb128a70d6bfba83b2c22420059e8c22c9f794f2e144a3a065c942d3276253013efaa88a80e3d7f3c32dc249347a6df656df62d4f9482cc8470bd1bebda925d47c5cd9a54ce81d7bda23c2d0434a98a1f73911c6172facb08a21cb1b1935a2667416f5cb810c787fac55fe8e14146721452870f27b1d5a14fcce0021600ca51450ca3b29e9ff6b388f4df5286db585d027f68fbbd1d4a95fd756318700fd0001b941fa0b95cbce10d49d29c80ac6c45bb624fbcef94b9bcc75d3593a5e11ed85488b6332f9d059e0123d5df6486dd2f57a9239d137d46f3b9c0120d391d1f06cd48c13a0b847020d0832b15162461811662eadcaa2757e2b6b2240d478e7411c7e807e09ef824ecfb3681b49aa72a3319dd310d8efd930ffa7751a222e73f198032f2dfa00e978c9542dc476ca44b161fe470a5f63759de5086a18fc92aa375c608841c6ea41ebc6fb86dea22a8987f7d9abac948d5e67a173eee3b9b90c323c4f2624f53fcaaadd79427a36f560ce6cbd99872d8119acd2173935b0331217e33ceb4a0ef314e45c1a90ad06a46948a38a00feac8f58d8780e6d15ff6e013dbe214cc25d39b2def7e68e2d5c7afd69c5d629265f750b683dd660040dd3220a2ad600209901a1f845f602ecd4f341e7b68c6787561b4f18d7819c8b319dba6836a42517216578b022ea0911e03a47f0814046cea045fa63bb506730b0b491614417df91f900fd0001ab0bc038363d54f8e9e8ebed6a498b0f989c8ee56c81720bd66f71d0d97477d0db56d4481cc0e57c2316f4bd3a6843f86e5b28152436ba23f377dac267c7bb6501666efefb705be623d0491dd42a1a5397f45b6be6ceb1e0499842914f56296a34f304320f5b623ae7e16379d89394b7057d1b92de4c913265ba231d81dbf9e4b586704803baf1cf0fd474a721bd65206df02888dd77df03c831f8433f3b2c7cf7e1211c7c85a975d129f33734fcf77c09aaf68b681da7c506e8c89ac5394589d185117b722b757e307ccf31e9ddc1b9131633bd684ad458fdef09d346566eb4df920801ec4ac019081feda518cafe1ff9f9197b1473ddb18d3349652db870e0fd00014168b6756041ac27a58e4160cdc78c2cca30e144cfac7c58d40b5521c76ae171399e4e22bd3eb5a59d0a44666cbd8d38c4983f8e2bac6fa5ee84c86adbf9679bf8631dec545667463df5fbfdd5ff2d0f6f9021a4a03510e291253bd133520d5366e3c272bf8ec41a14b15aea97c420ff263bb52dacb3c3962359312e5a4690483434ba5f592057dc449727f03768f3756c24c85814e1204d2d90cad6e656d39e7dd7b9c4bfcd103dac62415b0d64901b01278602553c149f6d64342f16757b5ca1033494395404fe1ac7ae33d796be12b0d4f986de23186ecdbdc8477a742fdc973b34b312f5984b74faa42f5f62dd4938f76f5d7ec141249902825d81ab2d88fd000193a2f7ea915b7e506459b8484c43d305deca93a84b3c313a6cea7286d485395158806c3d7f3155f3ddadbfc913cbd7673193a951b356ae208319ecf406172cfbbad940f9fb6accde0c73ea5a19037d5d8644b4de22db968851a303717f473c491465712da34aba4e5dbc31361163ae1492bb3435779569598639943640b6e14233d8888aefa72580e22091b6848592d5b2273cd2df009d614da03d0c0803b4320800094dcbaaa337fd210820e07a8deabbd595d2b59b3bee5c7a27e585a1cef44e532de83f08f3df43d68f5934ca69776b8ee8ddc42969970d64145c093d4e989cf32ba71f750cd03b5c818c33462d05c6477ec1f0ec81c48e4b119d05d31cd5fd00010b1cbcbad09df7edcebe79a913033895c66686f078402893059e4a986fb76d28e89324f5b04ead2c2aa0a05786faa1e8f66fbaf66b7ca94bf52123e6afe4dab54bc33e5860e8766031dd256edf40b294f55062e613cafac04f77e284f5097e88cd7aaf46fd28f4fc24ef1ec1aa0bebbb3da5b504e4dca8dfc13ed99e4371dea6f3bc0f78cdf6ff47548e5a426c92095da045e5ccf45f446116e2c9567ed01d62c1fd3a78c62aa359118f77705174db6a4faacaa0b6d49b4da38e42b20e9cd2ed7979a0f6da28964e0b3fb755046f0a5477dda7465e00d13c8751c36255b7f922dbfe108a14e359257ad607dd7e1c9ccf330779135714b01746a25ddd11e565c821713c8702e50956f6f6ed9c283cfdd08938c8ccf08ada04309e47fe9ddf5cf5dc00fd0001f5e2772a310c56c1343104f8f618a6408dbdd5e421e31856f271fb33329d5055c4c73e06870feb8f7b298cb9b403dd6c4e87dd2137ac84df583c58ffd627b0c52996bea39da5959ccce7968455d3b4ac512c3d552cf63f2da74d6de8e8f037eca47a715d0d9398502b287e5f1034e536a84839bac21ae9958da81fe54c67165fc650f19679c9a628b74fb40c65257dc5b50f690263f9c1eaf41c3365c0e23f91aa7ade32a352c8b88b40b2d7acabbd085185f7737be6f5a7c342e2c908e8a4f997ec949e4bfd6ca7b3da894fd4581c81141cbfc01afc3eb86bc91c304c18c1dccde49d8b61e41d922fcb02162e444dd4931a076bb072ee3a6d5cebbe8683e992fd0001197c654987867c3fa8c71ce3718a70756063be0179e55bf302daafbbdfdd5669ec38e140e3204b260b1d54373f84657101147e672120d735c179fe2dc5fdf7dbb8aadee63b867e31d9d1242e45bd23ed510dc7a6d44ea7806159895a2293c0898bfa6d0018d9864f584a59003a8d4e3a38eae3ec7c9e35d1e5985acd544547ccc1e31024f05bfd5dc07ccbf535b2e0a0a703548e355eb9d1acd8a59684ba0fb674075011c7be7cc899c30ea6c1df0dc34c9366f47743aa12991192cc836db7fd5a3b0306d6905a82e13b729038c70fd3bea01def02b93cd2e71439a9fdd5fb93da6a72436ce9f5b431b7e18c76d8173964d5a02e24195e761d888a6a2532d785fd000177fcd4e94194a3c34efea9f8f04faccbdeae9f0eb8662b0195db08e2b41a08fed52ab7060465ecebdb2eeed7a768c4f65ed7b5193151a56c752cdf97cd4c6be8daf95c16c6703ec95b6cb541506c715983be6384031685d48190e611ddbded6fa377affb759a1f289523e56761857afb3c33b68f743c59a6bf2098a2f5bf3c1c8a3d41224dd12ef247874ff5ab6257cc3e29a65a1c16f3ecc26108142d1899a340be3db55556258a348f51ef61e8e73fa9db743f08df3d31919f2d9484603f0281422c2cfbd66959dc138c2176d6e242a5a04d5b1cbd8c39ed051486869f8b0f3ecdaf42498be6016dc9d49ae52220612a32f50259fb9a8be0cab88deafd56b12024a02c37de6161be5eee8cf63c3b0d16d0bdca07ad59fa0532678b864c13bc20c87f061046d5218e768801c69818dadd24e62aa4625d5a2af09b08f9eba8efb5e29fc2977184990fcd81a0a3f896691051da425d7b99292d8ad7a3bbae5ed9503c5b761907097dd6457a5444b9c85ccc829d5901d46cd917ead52a3316f96588a7b508501be9f69c73d97e0db9d615f20e50712f377663f6c47f42d005db72b225048abeb8d6e3a60afbe21cd13d4539b7d39806952d745a7c49a552175135d840a3f9b9e9ef6ba3c46e9f4bd42f9bbde0d5d5abda8cf06538d3492aa856d8708285c0aa99567adaf6e0d4b28feec0a55e49879ac8ee966e4520e5eeae3e6b4473cb710b4213973850ea6ff0331b04ccffab2c2c3f55ff28b8bdf644e4c19982916d01e28d745302b079066c61fc0e8e1c90931f122893f7f5eb86e9111f98cf36e719129668dcc4718c52d0c4c6a1a941b939e5e744d61aa9fb1aed6eca5fe062cd109b15abfc5851ff77c026e9ba7023b298d40acb1ae9884671ff1776aedabd859f2a481eb18b963afae2e2ec41e3f3671e9dfaeab234d6aaf97249f4702e706437d8e36f517b3b227bae68b79064a3fbe999bc2d75912d970826908dc17b815ec0f030e20b24f17c527557e36695abd05f67c60475a0c74aff42b5e7fd13efc3b1c3bf5ae6e3251731ffaad110c4210c9d6d78d69d6f68cc31ca99fe783a12fca506af01e28234f01e1b30dcdccdfbe696bd5703ddbf0554c8c4863edb0f252e2a9daa54d4900d8fd6aef61b8a8f1e165eea79a3f20663b08722762f2c548e0cd10cf0d2d8e8b9239b638d02c49749d55b721a6c81d2554b51b49191518150664b7e4dbde3ae02b36ab3ec9250290c8cee6b7371e0d3c7ad64d267cf463c4c82cc5a325aa72461345c4f45c8753de23bc148527b0e982511bed9e4bcd4cc37e1e3b5089373fcbfbef9a111c96cc79e9f37d619c0d68598541f2a37ea0fd614ca310c915c0d412d2eeee8f7d71e4a250bcc60d68ab3f296a5f75d75d627e5913aedf3646f733701218878049c420ce0089ded11b087f16111e397d0f2e354f1df0a858aaf07eeb8e80002210305cf1786fa950ae9b553390d6d62e2b285ebaeb978822439e0922403f9cc7dbc473045022100b807fa7bc196a7b2d7a3000e5e1870e2ff488bfd6e2850aeaefb3c606f28379e022009c3cec446550e5cb04483404a677c4b8406d85c62cb4d714e5ca3a50aa02f260028e8073a480a05174876e80010001a1976a914dbe6d470fa9fe4d037043533eff4f80aeef0c8d288ac222244524271336345713233515955416d48736f634336664452764a453753723548455a4000" +) + +func init() { + testTx1 = bchain.Tx{ + Hex: "010000000188557c816acd0a61579b701278c7dde85ea25d57877f9dbc65d3b2df2feacc42320000006b483045022100f5d0e98d064d5256852e420a4a3779527fb182c5edbfecf6143fc70eeba8eeef02202f0b2445185fbf846cca07c56c317733a9a4e46f960615f541da7aa27c33cfa201210251c5555ff3c684aebfca92f5329e2f660da54856299da067060a1bcf5e8fae73ffffffff03000000000000000000f06832fa0100000023210251c5555ff3c684aebfca92f5329e2f660da54856299da067060a1bcf5e8fae73aca038370e000000001976a914b4aa56c103b398f875bb8d15c3bb4136aa62725f88ac00000000", + Txid: "52b116d26f7c8b633c284f8998a431e106d837c0c5888f9ea5273d36c4556bec", + LockTime: 0, + Vin: []bchain.Vin{ + { + ScriptSig: bchain.ScriptSig{ + Hex: "483045022100f5d0e98d064d5256852e420a4a3779527fb182c5edbfecf6143fc70eeba8eeef02202f0b2445185fbf846cca07c56c317733a9a4e46f960615f541da7aa27c33cfa201210251c5555ff3c684aebfca92f5329e2f660da54856299da067060a1bcf5e8fae73", + }, + Txid: "42ccea2fdfb2d365bc9d7f87575da25ee8ddc77812709b57610acd6a817c5588", + Vout: 50, + Sequence: 4294967295, + }, + }, + Vout: []bchain.Vout{ + { + ValueSat: *big.NewInt(0), + N: 0, + ScriptPubKey: bchain.ScriptPubKey{ + Hex: "", + }, + }, + { + ValueSat: *big.NewInt(8492574960), + N: 1, + ScriptPubKey: bchain.ScriptPubKey{ + Hex: "210251c5555ff3c684aebfca92f5329e2f660da54856299da067060a1bcf5e8fae73ac", + Addresses: []string{ + "DKL3QzCbJqrHpRKAHvEqsomsDhkQPvVzZg", + }, + }, + }, + { + ValueSat: *big.NewInt(238500000), + N: 2, + ScriptPubKey: bchain.ScriptPubKey{ + Hex: "76a914b4aa56c103b398f875bb8d15c3bb4136aa62725f88ac", + Addresses: []string{ + "DMcNE98UfuqEK2gGFfKB4YpWAWqbwHRATH", + }, + }, + }, + }, + Blocktime: 1504351235, + Time: 1504351235, + } + + testTx2 = bchain.Tx{ + Hex: "0100000001b56a0fe242a8de7dcbb58ae1009e44e7f2ec25a65eeb8b815cf53393309741ca0100000049483045022100cc208a59341dca98207ec8a4a42c014d435192694a77c69d40e51467800c0a0802205ac1782d4ecefa260b33340d92c2ab2396b43c1073a67b4180aa8ef2aede8af801ffffffff0200e876481700000087c10281004c816f5ce1eeda911203319a256e8560c8dbfd47b569ff32c27559bda78854e63e49718ce43036e5120dce357b5630afd745d399f91e675a921adbb45224a6661656217fcfe32396fb25609b724646759116326964f2f1f7ddb7c340dc24be2b75a0a9dc05ca2fdf805c03c7a04d972456beb82a51de73d8842b39a553919dfa5d8e003e98dab7210000001976a914dda91c0396050d660f9c0e38f78064486bbfcb2c88ac00000000", + Txid: "599d5d797a4575eb25e1c291c0e7630bd6fdc0e6ec5fa9b14147f929a4e41bf2", + LockTime: 0, + Vin: []bchain.Vin{ + { + ScriptSig: bchain.ScriptSig{ + Hex: "483045022100cc208a59341dca98207ec8a4a42c014d435192694a77c69d40e51467800c0a0802205ac1782d4ecefa260b33340d92c2ab2396b43c1073a67b4180aa8ef2aede8af801", + }, + Txid: "ca4197309333f55c818beb5ea625ecf2e7449e00e18ab5cb7ddea842e20f6ab5", + Vout: 1, + Sequence: 4294967295, + }, + }, + Vout: []bchain.Vout{ + { + ValueSat: *big.NewInt(100000000000), + N: 0, + ScriptPubKey: bchain.ScriptPubKey{ + Hex: "c10281004c816f5ce1eeda911203319a256e8560c8dbfd47b569ff32c27559bda78854e63e49718ce43036e5120dce357b5630afd745d399f91e675a921adbb45224a6661656217fcfe32396fb25609b724646759116326964f2f1f7ddb7c340dc24be2b75a0a9dc05ca2fdf805c03c7a04d972456beb82a51de73d8842b39a553919dfa5d8e00", + }, + }, + { + ValueSat: *big.NewInt(144818477118), + N: 1, + ScriptPubKey: bchain.ScriptPubKey{ + Hex: "76a914dda91c0396050d660f9c0e38f78064486bbfcb2c88ac", + Addresses: []string{ + "DRM8TaiY38qcHbgdytp8oETreobBLHtpeE", + }, + }, + }, + }, + Blocktime: 1508218269, + Time: 1508218269, + } + + testTx3 = bchain.Tx{ + Hex: "01000000010000000000000000000000000000000000000000000000000000000000000000fffffffffd8a55c2028655e8030000dc8ce67bfe1851477371a9ac40b6ae0cb8571f6e2d5285855288f6079f1ce7239ee8c85f465b1820058b79554f41af297e9caf95ce0084b7c35dea0b95e15a2fb9f8e62c5427c1c36120cbc1fc11ff344909079335209c6b84b45a9211cac960f64e9432ba5eb6e4ecb2068223dfe3d85b345da17bf374f9140c9577c148bcc431c9ec3c7d13bd2363dba821381ed9fa0614416261e88330b3e74c40e6561310eab3f26f092e72f3cab761f373d02680dfb52937bd9515be242f6573754f8f665523cce3bd606c8ad190954f8181577fd0efe7cc64b711d03774958df4a5211e44870302056557777951d7ff8c002161a6a59e979f05469cb31770bd484be6525625359979220eb7e9912e835065fb00fd000216aefbae3525166510814d1636b76b0d48ea3cd54a3a17b136a84340989d75f74ff952966830e4c0d59daa006d5a7190978270ee9475a0778afaf002cdce7efdbfad630f72838b5c4a3b538ba61b94bbd9e353437a50725af5f16fbcbf36bb34e7da54e5c24dfc90b545f95c973877bfadc2703ee10585a1fc1c97d7377bf41c9cbcd5a313849a3c826e7c1301083694e6dc05f46899a901ab4a8d7f6b3600df280157fbef6eca4c28fc610957a42a9acf7c4d7f9846ab6b9b04fa6abb5fefc168d45f10078b97d4d6a39638588a1c19e1bfc472657861a902c2d52cd32fb0463746f649ae88bc0602dbf35816fbccf91dc249be809160cbc7f8b6702d6cc5b81fdebd283231f40758afc899f6fecedc51dc4e5d09cb8961092220541f75ddad45680ea92b4ee78c29f58c197a68420bbb25b450c72d02d7249f7facf9927378620eb36fbf9b4ccbcb55627eb9cf905b4a4c65fcb77a537f642f10901b6e94afa37e4afb0d6d91194454a9c2dd8ef8fe4316f8594c7822a7d58cab09657cf501da5be5a44f947bb957b71e4291a7fc60cd5cef9f0676f7c89123c7ff1ae2e6dc001b6f19785534e207fed2bade8597541b13714284f67d6986bc616ef1b0adbe415242fee85acbf482a6a48b3f142ef7ddb5dd1c97a4b0c53c6ac7aceb8c042d9c9ada1bc986b8c276d07fbf8512a3dae6a357fc02b167eb85000040e8693e45fd000200e23abd27b258f9827ed58545a507bd465e255e1156610da314bf7df68b6b55129df84c7b19e362751ebb9beba10790c9c26c5ddc7f087258d81b006c0d2e92be0178bf5edf6e78e89f73cd97746afbb2551dbc97eafe32ae62e7f9ebcd14ad69faf74d2011d16f2c50775f4f499c87c3c50d9d5d486394c2a7f462675d2a4885493332e0610a78fc0c8b08eda42e4bfe93b8c7f80a911a7992a1deb7cca2e40933e1559815688d4e5ae5e58d706bc513e5108449a8393928b5b77ae73cb03fe212c6375b6c5e61fce9db16360a147e7f7fcd49e05a99711d4d5799be77f7e39d9d1397388d6680d4931b48798ce013256a586781ba80168bae63bed4d150b64a73f7d0ab0c9ebb42f5d4db40eeee303783249af4bbf334c660f8c084ed9a2e5fff8be230940a4a08b59418676ef005192365e4e67757288791ce4992b903a31537596cf6dad0be2af2418a6b9cc2c33e99d874168f6a29df189a869b16eb5d24400ab30e4eca9274114d646aaaa8bad45832b6c0ded2bfa698939a8af9d0af380d2afc58966afe0f45483ecad0f114b904cc2fafcf470dd4fb8f193795e8afc3243b4c946d5eac82babac6feaf4ff10bf53acdf8347fb9fb7a5ac4efcf160f0a7ef3576f439404a3078ea092f46f408a955c965344023d847fad7374cf145cadbc8348eeb2c5aa999ebeeb8a5548bb14e0092b184caee354020c19d66cb213fd0002729bdb186c4c494e17fd6effe29cbe7fbc539caca738d54f9ffc6e52a35a27da134192e2f7f4ee2a86af281b78670e662677e97a1ef008f10f42349fa83bf7841d88b1a457d38164a383ae9c6b974137d58216f22d135d30b9d6e7a74952a7e905f385141f4df088415d704cc3b03b2cd600cb5507f8ea1b53fc0e73031a3946c0d6269f020c9c26a3be3bfdcd37f8d3b9fd42538ebd72029fa0bd8eb57a4fe6769e1b43b5d5d7be311e12e52ee9dad67aa988dedc80ad616d7540381993d9de91a7fac6d08e4414254b9d1d72940fec032833a6b1a5605f4b62c47a86d70dbec5ec913d0a613d438cad385fedf24566bf79edd17238e55421520b95772224623f145100e663b2ba20161784f688afcf07a900ade1d48060d21be9ba9297697891c2584cb99a44868efbdf65178592ecfbadc92f4883662d6b21b7f266eb21815c7401b8e7da061e3258dd685f8cf65f2c2e407c913f85d053b05f6f92ed1299186632ddcf175ccbbc933044bdac5e10916917dea1146f77a8ba4b4fc8ce260b5deed395ecae9b81baa6b385fecca5d2982041c131ce02a1dec517ad2d459434aa3a514e7a4c6c1362401b1ab62b4c89bd7705d5072e0be5250c60c2fdd946bc73050d3b8bcfaa73165eee3660063f279e824d1e15f87307a40bc9e1ccc0f7d7087ba84fe9275742455241b61d3687d23eb9d7a9cc18072ed8be1492db46a454464090750eb0a393499a73d23f4c552ec6ae425a77f97d4285a7f287066b2198bfaa99073da6f4009755e59838e48cd5fe692962b87da3ea7e14b34b352fb2a4673eaaaa594a094610bd0cc566acafc21891b7b0c2470bbb338f579231e01c064f275c5ac9c2748cc50e7f2e36f2768d2a59c22d14b6b9a431f7772e716731c55ccbf086187fb15bd07a5af3040d468d4088ba9e6383f1df6dead9384758f2da81ee96370d9055ce5a0db56bbdccb57ab490f42a01e083b61c5157b3c00e2011dda865c7294cdfd2be5c03a1a36a4deda9cf03b500fd0101b3c97046a717a2f38fe2265185f4411cc68cce6cf9885a7a8fe6292eb9e3eca69fb6249774a8c82b888d22d5fcdd549846c3ebcf054c6bf07aa4d6b1c0d4d9bd8e16501f65373ceda249e9c760848fc86ea92fae7142d211c8bb4a287c91eb08cef7678ef1f445f76f81d464eb1d29ce5c6d6286d73d49cd0ef03b65376eb146a3ff69a487ec90b53c11cce613a586f22cd56fd34df6f7ad64fa3c68a6ae5c9dad99d4a3d2b0974ea1f627be4f0153c7b5fe472d0c562556c4d8d1c7c592bea45bb7886b74f8639f9487b2f6aebf4848b5718f2ce65b8f5a4efcf140e2857bc9c503f0058f9b6af16e75f2d530fbba8979f81569e6cc0bc04a54e30de4e03a9300fd00019b881d73a78b86771d41c0c2a9ebdb3899727f33d2d4d81dd27b6a00b4c7db265999b8442800750abde7cd97be0c691ed06b5d40da115546d90d4803e82c61d43eb5e2bc684adcf180be47660870921fdedb2ce43f33564541fc0debe175c6c49bdfb51378902dc709594b9b7d34d0af70b67c3c608aeb5185e78c1c39cc3080b71a36115f623a07a4e1a3e1f3e17b6f9f695f1a1acd9dd1319d0a0d67b337e64f720e5168c09196244bc71b083f302e042be19b6aa1f8ad61755f4883c3a1ae615252b884ca3cca5e18a023ad6725f08f9e0ffd60e7a73ccd29afc910d60dc99c06f5953c3e398ef615fca45f6a83f8a0be653d31a7e1a1666cc7334d9cad51fd00016f7efa38c8f9f478a6ea1217d8be9b7f0b01c5d1fa483c26e403eb3a4875aeebbd0e7eb8aab8472a5bd80e8be38df13526042952f813b71f8aeb4a2281bfe5e5d9ba70f7e4c9f477706da922899f505dd172e260ce5f008b59c0590d498ac50810e9a38d35f1a2ea4e9ce8f77e46d0b5604dbf94629cfb8b65453a0295eeca9d992365309b7956481a8c5080510a09183bd3358fb26933e15c83fe2ca6d186e631d72889a09464f5dafdc8a93dd100329071e52beb522bef1af0fbae0516ad3b02011e19a2b2924791b3f22679b78039c8356c0e6676e2451487f056d0cff064f55a992afba08f59af7606a809394772ff85c4c40673dd54eb30020c6a5cde3cfd0001ecbc47845e4a1f3c05c4e9d0a47e5e8996326f48d7ee1bd0e432c5f33fecf8a94feaf03f2da65525bbcb119c7928456c28f31c183a21af1acfcd9615669cf47a077f861f694bfc1831f1a71ab66540906c62b85274f63abcc53a37e3fccdc8563ca2153818b6b796473848d765d1c81d4e6f78ef8fce804184e04664c5c6af7c3abe4d92aac3f6ea99b84a3e53a7bf7679c26dc96804ac9e1443b054e3c55fe89315106a14646d06b84122861ac0ac27fe64fbee3c9807b0264a90eb9602187f4df2cc0c62b025ba70bbb30a7e43d533f32546d2e6f97537bc2d623a7f545676a37cb511614037d77fe21a35ce4a2275e7ea1d85b7bc19e477c61033f5effe7fa5d8ff48e2873845157b7a29718e6692704a9d864301fa254798555172c6277cce4ed5aebdff9c27a1bb37071677c16da15d6c1547c5b708e1988eba68befff1f1743342ad7cb89ec8731b567198953d965ef6e395d38b410a326ef3e262937c763179f22a076d17f848dc4e36be38d838d5788f121d771f23209a0d50fb3d016c5cbc47cec31069f7d22bd78691662d8b609932b9533bf828e213e5ed4e61f2b80f05acbc00fda0017bdc59c8a6a23d261cdf1dd10e91523503c3375a803755c29b6a84bac626708b7db937ed39f4053b5c6376b3988fc9388cc64dc07466c67704a32b703d5dd86d8fb8597cc2ff7ca190044c66638028855f29fdf2a0943c64125e3ad2487de6928bc34088957eb32d843613e6b588a91cbfd8c37c24ba655739cefdb203bc3061ff93498160c7e949823b0947c68b6c51dcdf038c538f50413266680ee23817ed9cb840e0094f6fd2277012aa2c6f82b086242e6332a4e00bb9c12c153dfea9340e681e63d72551f8830b2bb2587e5937685252928894bf90bfa174f62bf7ccd43415a094bb4142fcfe639c62f6eda0e4d7ee033f49f51eaa6a35b0f7f400992d8367a275e9d018a547430083c41a35ef543bb92e159efad39c5b84d127bc68dd581c308afd5f81654ffcdb3317dd6e21d5251916214e873c83b6ac197dbac6c1b93d79b9dd5da090be204b9765fdcf662c9296295610e42a0570a1503dd67c44e17936946f3a6ce61f82b13cf00a0b47d06f2cd28651b6af32ffc58304593d5ce81159ccc952ed980f93182fb468ebccadae4dab4565d64a5bcb3aec7a09d681fd24016a4905a3a143e4d61b16898fddbb0f9d7602ce865716b62ae4f9a37e2f6ab89de930e066db6f4a8667ccc4e79e7ac760642c33e5f24266540c9b4fbadda4c0aa1b6a74d02bdf2324ebf9598d8ba918438de1e3343be0b057925bdd52304581ef621fd085dc55cf8b45d605cb0b60047bfa935c2968d554753a615e75f24086b4e40508ecdeb411ed26c007a1110f3e73f504d7fdefb275cbb59cf9cd68bf4784b8845467fac90275f3bbcc2c14a87fbbd7d111441d6ba0833b9045db43975317aee170242b291f8b07254d395472bd4b67db7576bcf2460bf0c182f745a6cbbec3f680b7c6e0a85308bc3af8af3302355757a77a2fe3f98350e4ea1b3074e37a638c630d529141843583ba4b802e089e0a7ecaeeeb42079e072e64fa5251782cbc67ba9d46e4c7f502d44a06e5212d09f4dc5bef1f1dfc376d4a042f608b860971c44caeb3735cd57e19401314af06a73180918af7693ec5204b3f858806e6919af05a1a8c6daea2ee3f08fd2401c082f09f7042a7a0b6b484287050a15f5d8c1011c200d42eb51aff5a484fe1de9feaa264ed3022b6f5b1b54a4a316d3d7e2635210ad83e2d3c497bed46f417ed22804682529b034925dc785a2d74361d1db395d1681d71bc1b0635908ec3e92f850577f35912fe5c173402e6e2ed8003c64a57bb65a2013014a3ce14ccc725f733a50457a696396cac0a551cdda03a2ec81597031feaddd801a9bceaeb5f862a4cdb3eda06dc317a96b29c27d78dd977cc6f25d62bb967814fd1d7e87c675042522c904fadf1cff80289374de8f98df511de975011d877058aa7ea9cdf186ccfa5cfa5258e581ee7ee73e16dcfaa82f079a16c95e6ca4f49c037b2423c12006b549a0b80c5dc9b93685fd2a4bda99e5aea74eafe9d28149e94adc538198d459c7a9a45a1fd24011c69aaa26aa94954fb7dfae2d63eac286b4979e7d513eac8144a7bccc34fb298b7c556a82e7450bf590f1ae658c474ac7c12b3fccaec877b6bdd11fd9655a27b7b69b922b1629a24a8d7f81a6827dd22cbab62d121f5cf96d59be904022360c5bf04d2435c52541ea4d7f932e19fc471a0afb38f2e84668d974c57c963346d790a670a699ff53b5557def1ce9650a8624bb2065f9ce99d6b5361a1b39629040fc897a5d0a07816618840f86601508e90198de64d7091a8bda406009948fa9ebbf2f56adc66e057ab23152504438062867c4237ce2b99c020add16bf66a0c06a072c4fabd9b9fd1146b73366535d934328188798ccc18ad37d30e06a39b8e14468d32820d912359323b7d474dbf507e894a448a4e921f70d1fb4d4ac03b178ae157814004fda0015c202cbc492bde212955236761fcad7de9ec8932946b5352f6c35a242d39b354a1f96a706bcb84174a5b11a7e51cf0adeec9c1e5c88a3f8f32ca81977db668650734398e6feb45cbe0ed5c5d8f77cfa67b78f8c7c856629e6731321126d12ebe70603fe28d4281f5c9165e60749bc8688d7ff3cd509d958dcd1ac7b068a3548af0a3e20b984bf4406a6c6d55c674bc83240757e3a0515bbb626b6b6b863fa7029c5043d67ebcd531601d39b8b6b7e507a176216a264fb80f574d7a6a587d5ebba7c355007630fc49127368f6b672bd12fba956db75f189bd438f5034badc04d396b04a021608a7888434eefffd082efb0c3196698d1b015b42eb6f5a2123c085d37841c0cd6c7a1d77c55d61d76426758cdadcad3d7b1037b5d94c29962d4fe218c9f98c89ecdd9a50a48bc534bc167d536e11906bf594876aea01683269255701b705ac454b250abd45d10f4f8b881c6f4a360014b450132d750099100e15c70ef65ab0eeea340604f3c7b3eb3c51292036a6cc2843989ea418631fb595ca9d7e23a88a3a7d0a8dd5ec1212fc786dcf7107214d5c4d3f2cffffe2b1fbef09816033fdb616b9318b80b32f045ec1bec678dd1500480154ccdd87365d602f0126b57015784abee6fdb9b7f22ba135cb882dfa738baa17233fa53c68d35e4102f185c07a1310b710ff2d63db7238d36487ab504e64e239d0641137cd75cb282e831621f101663efb2f9de2520049c0d08a7c965477fef9d575ba31e101faaea20f96e40046132cd3aa981e8f360cb6a9bac68844d07c7d1741e56b104f634fa1a0c31d64ca4526de4f1754effc40aa04b9dfdb6f53ef77540d66fc9d0a4058fb46518433a1467a71873a03600b47c81e0d452cc44728e3a625235c84f7f62d753faf91fdfa1aea056925168616516e5c4357a7e82c94127fe8a4626c868bb7bcc13a0422e15e31c82935a4e1b9cac496bb456d1318e2e3e704627f1dbe646f5f1590283833193cb03f28e00f5020fbd43c5fdc39fd35498cf4fb7471417e814974331500d8e4ec8af34af39b457d20843d897d0e015456600325ef702c1bdfa7bbb3f2e7a74dcd8fd77beb3df4022320108d0f48a7a9b2a32e1587eb01094e20cb7c002d3de08f481a1d7cdc6b3f9c7c20185bc7ee65a12aa6003a58b83aa90d90baef64c7d324c662ea5138fbb4bd063720f8f9111e20def54a90755537e44fd506737cf1fcc4d0b320bef16eedbd750f8b2002e3af2f477e9d2912e50e4f03e43742c19e6e94c1ccf84ab04f0eff342bfc1020a544d7e745fa08a740418aa6da398bf10870a860427dcdbb857b6b41cec8e1342059eabb84637e61530039918cca60b860ef24c0df9e586b7ee9ce89336d5f1f7a210f0385ce2ad9f83a8534ab0325a42495a9cc4cd4774c9e8910bbf4e7192c2e98001fc3aae0957bc822f2aca9be874e1493a0dbad2ceaf959996060a2bc1781c23520cd178b0cfdcaa92929b9daef0c4dc752225792454327bc351b63765208972820203954fb6c5f5fa020f757c1bac415fec7e1bad3b7c19a93ba5ba53dc12f5ffc6720e7572f4709fdb74cdf2dbbf50a7bec9c10ee302cc2c5dd878bd109d1c87bfe3e20883ea4bb25deffe4bed0029e066230311cd71a4beafa608d43d615652cf9c146204c98a01cfce1f0ab321105b2f2659d375f691e2f6cd9eb821adc512718acdd6120d5f64f7950ad04508b36baeadb52228ed3a1139512125834c1f449b2a9613d67204550d2bb9a9333d567b6c2ab154f1fb4bde51d4b5c50307989ed07100095485720109b0b89090c8a2fb0c51f3f9ca1eab0e36b4d9200396e7958523e57b705d11b209195a60cb9f034fced26b3336b0c49872fa13d56cc410f59463e4f312c93423d20f52bbd6ff9d724752b5ecdb148a47e86c1378111d76e77a2f4434816e325c62920510cf87382f2a4c1417203c4e17511170ac616fca2caa49b521dd721a8183f1120ee7ab5b0de3332ec1fb81c2d5baaf0509eda6de26147b081866c2a9aaa3435882011ce790ec01637ff533a68dfd8fa22733bd7e4fefe18a5796e9bfaf996adf54b20509ea869f679c1ae8b074619487fedad28874cf9c93d01003e9dd0df2f45b66b20380577ba031eb78adb2c71bedc8154056b157ae0d01203c19d7df420a424f71521d04f8ed62e7175b7e70d7f92dafff586e5a60be02901f9f67e97374bcecfe7830020c6be51acd068843922b23415a1c7b39f4846da7584a496483a36612dc295968c204e43611bdc897913427fae390deb145024077c5808238d960f93c62a62f70e6520e2f6ace6ca1e8b6b73dc2fc3c43f3d1e740f1c663e3e0ff9415b2d282e1d377420bf6b145630d553e8c6e40d84626f01964e3d6befc33ac284263ee2c35d76003721a9d895ebe788be0a6988027ae6b33a26bee33016d8f4b64255f320d34deba4900020c8bbe181b5482c9352b9d607eed48dde4a2759d765bc2da53cbc1c03d68da30a20818a0a41e03fcaf75f38766bfa81738f0c8ec2fabed7142e998e7b55e014300120b61bcde758db04bc126bc67a1c87b9fb4f8eb2c3958b9e4106306508e2b22c5220cec0548ab3977bd4bbc802483f0c2ce3b1d6dae43bc0f8c79167e4a76ee6f7522007f74fab71a89f6b94bdc8b5128de93ef2be214d04fbb8ac8c2832e1f2ea6371213c26fe406e69b2060b60c6d0eb7759fe85f19cb2288344239f2a398f04b2b8900020689efa2cc2baa15ce24852b1f71d08200fb1f2ab8e10be0c4db8c8263a85032220b1f2737db4e6e55370ce004319e7c5e137f3567bc4d5603e4ed1f5c636db6a6b206dc3dc994eb2ed126f1a76892117b18b24028dce73ab6d35924ec69df9bc361121fb6e92175d959528d8326cafddb4ee94fb9ffc2d9c8a413898f14cec99d4299a0020349eb2d5c10d69df3bfc41f99d6cafff21ce69323637565e1cefa60173ad0d78201818225053a5e2d51745c5002281935d4dca8ad82ff76c5ca2dee6be84fb767021e8d31f169295ce6052584692ed9e4da87e637ca0b52455f216d5036c55d45c85002100c51c6bcf08c0a3926b2be93b47d0ed8955386d369ab8d6849957efb23904a20020b4b64e35cfcbde2461db3ce57292361aa30d136b0e7bbc766f4aa3ab4a72b66821e802f9eb8168e002b64b2b7ccdaba46e73e5c422dda18311788b19eec7af5782002062e41e97d6c8f4c6ac4c0f978f6f8488c92a51eb5793ad109abee4d6c009256920009f7f1755459578897b027bc2b282466aa1d3b9b0983fe4cdf51c9090548d5120760bc9a32ab7facf7f3c1d1aea1b6cab28bb65276e269472cb24ded949256c0121ea8ed0306eb39aeefdd4f57e98d25cef9ee6288a915cc96207ddff402bc2fe81002138caf88bb834204209e39e6c9430ceda0294f1253f8be81917370a34eb28149200203aa2e1582961cbf9b22333ed51aa4512dddeb3cef2e4fdc3644dfa5145366618203a0ac51cf2e1a98ea343e9ca5fbead275516bc20e9bc421e967be939026677682164c2810712d79c82e75116a7e173af1208478e8ab6763c7ee58551b4f323f78200209943e959b9228e61e5def9b2ea18de1688565a2c49dd98f1c0a7d43e81a6800820c4ab26007fa076e1ecd22f104a860f10b22b1ce2ad1229eaa2cf204815f7246e204090f4ac3d42b2793d83aa79103e0d0488ae1297109a6f47bcb29d8c8b6d383d2058ceed8e9f61bca997b4fef220feba451f5401ff7186d1348aab81d7951b5e1d2014994a638981db8c53c2a364c744009050975bfc23fe7bcfc5c8c36b3df0bc2120e26863332f579b931156f0559025f7f96a4d72a9fd108fbfd5c29a71b13df72520e84680238c100c359efc6bfbb7e97d3ddd4d1d24ef3fe8a5208a714580e9aa552108c2aed76de2cc32cfd4d0fa02eea4be069e74da620ba09461e63b5127cf9d8e0020626acd1bbc9c821f30e5ad5b682272cc4b87a9e05323357a367e170ebdae283c20ff8a87793a1dd9996598d50333ace7856916b2add797fb4cd7cb7fdf24245a642165e43a1aa272317475fddbb370cb547766ee44842ab25d83cef370304213eb8b002121565e2ca6c09a263cfcd17fed20fb6aa06e1e798276a5f0ca8cc16dfc5c309600203e8034276a6f2379f8374e8fbc709a692b2dfdf271c0726c4f890282a40eec2920fa335f7d0543267026ecca4424d15cd07755568dc93c6557f850031098fa55572036cea7284ab1abcbe3c7a83ea779392fec2fd8c1524f95c5bb481c67e300600521444c7d18c458aa1e62e5efc656b27d6396c2fc9299befe67e3eef807711f948c0020829cf5a6319d4467027f9057dfa46e1de952a01233e068f7fd18cdadf9a3534820b622a3b592686cde240a056840080c5116582bf166f4655ace84b34145a78b0520fddc9480245d4ac36034ada99a182ada449373ea0fe16557c3c6d9d55b21942720e59aec0bc8b52c1ea0179ef1bece2bf3275164c8b14ef9528a1335dbe13def6620af95305f745778a84f8405956a82816f366957d31e74af5509ff0b7f7dee737221424e7838cbff036afc7e59ba67c6add560e242a1772ff069a31e5e320c08428e0020f4855f5217b4a20c250b75c69d494ec450321911f9d7841e489d43b3739eca792010f35a5fc740eccaa7fa007f33b028089dbb8bf539f560df19627d5bdba6fe3f213c35de64e6b2d64bdb6ba246a5c9b6a91047e35240db65c383a1be9210b7838c0050fd000184213201216f3c4d446f38e3733348efdc4a4dfd79febf41f03567e0ec2b5a8acb93639951dc506d8649ca6d1926a25b4f19549d2b3700cff07c100c47c456ae23df2e60e27f8822c427e2de12038e00293de92621bc4a27d104803e48d076e3ffcf8c31f549fe9f95c6b9233be396cbd3c557efdfca11fdd91397e52f35d6b3a2130fd46ae505dc66bc987d8e93689d41be09a1df024af243b843e18f298de218ab87e557c782bd20648dc4fd4a5e654f1e9fa59626663adb179f51fec2f5534f2f4929ceaccd34d6928ca3d42fcc5efa32490428abc3296147147eabffda85ec2be06be4512448aabe1829d0219902fe1e9cd2bef29a8f89ed8eb1966b89bffd00015e46cc825850532b9bd9d584441772b3963c554af1424ffa9ccc7d7de55dbef9456a3fbf7b4be985d185eb898e166ba646daa12cca359ea77bb7a59e45e8a6cf2708c16b5ccacb708839eef2ee4b5b6597ba3c5899c9f5214bdace3a521fe36cd39b77952d1bcc81f9e5edfae34f1cce40369b7ee492701351d34e231af8a3768cc158a796e900d0cac462f5204da5cde3abcf561ad60f91fc8951e4fb37166ce37261649f840aa51e6ff9be749d72f1f5b5ae3349f14d572860dcf36aa4655788b8cf5108dff7a4e231d2e2a3bec0a159a1e16c9bb38c4052439f2b6b1a62addf739772a1d51057c89751f7518a3b1cd7b37c4ff7d621a54bca5b3936b137c3fd0001b4a09bfe02e11668f8f6204cb9ffa9817ec412c820b6b394ce2cc3a12546ebc5052ec1c74876f3de8fa22e19158198cd04c1336a792ea47e63c2bf4e85dbe7460501606c97409a906dae4e7ad84517a7955793365ca4f49b5f6829efe61f52069fa19cb30ce0a74d415898e7e134ed8c4106cc9d6be32577e9a024b9dfd8129cb5efb1ef282802fe0066aa41e587ac9ee20d6416010e1b0772a44b6d6d1eb4ddb32b80b288952b26323bbec16614c227e4599cf721484443f56571c7b048e58fe48b1786c44e4979e105196eb9b5803795b8aa3d3e3a8f85e10abeb0f7b43b9a62dbd0905af620309ef74f281f39b241c4b4c109ca7e0ec55b13eef8ee0544c820b833fcfd65b4a897458cb9aa376c6bdccf1032e099598452130bd38d28096322fd0001b6c9b1d3d60a49cdf61f9031694f9f790a4e0118ae39cce789df472c13bba207d101410af89ba4b2a88cff5eb09e53593bfdc69a4e2706633a45c77a6d8f4baff22c7e5e6b32278dbfe97100271b1fd1e64463fa6a757c4cf4b19954d1d363494664750fcde0f0b6e35f9e0f08f4fb1e438669f78b10e800943840b15541a31c3090437364159681974adba314bcac37e6cb3ec97c3d8e0cd52241a4c162787c199a256599b97e488b8a75a46d2c3d8af1951ddac43b0d338e739deed1ba26a8616f04d124244f365573b602697aab0b427a8f26f1a22de77c563cda13fc03a030817a837c497732c6108eac62102641176f62d5b8e73d0e27e17586d6e2c2c3fd0001ca7e381637425fa77d95f92b8b491ea1398f53d763a6ce32a2b2ff972ab74bd377723dde5302c487fcf7eac93b089457761ca341f143b7c5aeb51b33cf103f2f4ce4c282bc5bb8c7290c2a9dcc82fce3dcd9669f660872f602de46e869fccdd99c85c06d1d7bc9af4e93502e4ffc385b9641df8f21a25a14b8e4cf99cca023da529f8689d86418c37dbe3d4116e08069f3d08b9c952f4e2164dada9e62908d57cc68b264df8fcbfe449c21cae576adb8169a97294a6bbd369a58654cd182c8403080b3a5a916c107d7271311a291841f3e35e065d48f6023ec4118a3a88d417507ae86b6c74e6ced02c768e0f879844e22862c357a9fe22574e30c179e2243e62192455f24a5c214eba9746d2a8f6a47625b53e5e62bcecade179907fccb08e4b200218a8694fa7fa94c9c174c8e1525bb14dd946981e66b1c02178cde818615e3b6910021fca3cbe539842d405545a71cdacd7a795b6f6fd1c1095497ee8ee215d5cb8eca002039f76b8f7067cd9cf8bde783c8ea6edee7638113ec6729093749c2cc0c15d13c2091ecd1eb4b171326a6a26d764e72e09160ff2112e577149bc7c24e6c0907324421cdebc7f780b73aef4358c6f7e5c9a78ee95dce81c4c1bbbf570cde3c43ff5ca00021c6955241d2f09d2e90e33601fc139d0603919a1011ea7ee89f0e5d53727c45a3002037be468901ac92d7c3481ad63d364a93e2daa023bbcfaf4f6fa40cc54974de19209178cde568ebc660a7698cdd7f83d5932364eb8ac144e62cdc045a00ccda5201fd0001a3347a2cd4b1f5337653554be5fea273a5bf0292c0fd60908c6e699802079912372435166baf2f71b35ec0e00a714e9f7c10096d0f39a65f66f220057f369ce7c8221dddd00e90604f9de897ebf9f06afd41814b57350ca2d7ff7e08f60c94dc1aa087b7975936832a7050ae4a14b47b1986e70d61223cdc37dfeabc5e4212a869d953450202c9c12db23f8819faad59252173ac11c54020fd7324b4d39673befd2b585437affe9398e7967772d408c6db860ec512f94d02b0cbe9c9d414bb4be4b08c3a420a549efaedaa6f0aed7c74044785b611b2d65abfa33374748adb690a54c8719131e9dda9d46afc9dd09c8abc498d6de657920642d3d47a55f17fd3fd000189cc7f3247c6ede0becf1ec89f5d92142d25a713e037454409ccd146dc18c58319550275149342c690f00b1e060db34bf6ea34473c661ff9f32a40214a4715bbcea59a9ad6ff976e43b325135ca16377be53be39255f9e45ab4b3652d629a30500f9e37671d56952b215628ef42c1e49046476e9a760041003742751b158aa85c4e95f70e267d2631491c60cf09a174816890a2dcc2f8a38f296389c3ea66a6d577301297c242a6b9ca7465d8282f2e72e7673f9e1f1c8f470949c970854134de397c08c06d5d21fc487b2b9529c901c052e838a087f15b802d081e869cbb311efed66ba31c17c73cce1e0fc32d58d35e54bc5524776ee3f45d7b8f81fdad4d621b95f023b2202f5d7c814aa89c27b5e0bf5cd64b444c711c2e1c4b805af4fd58300208214f56ae87b268fd16d6df77efaa715fccd1fb1e6298c1c4f7a4f18d39c2f75fd00013fddc975fb72a66d5a7f3ba6df9c1ff55c7abb5a8f08317c6b346875e850223d87d72d71d9b17c11bdbe6eca34b521fe98dc8d31bef6fcfacec74e5c4a6c5f00ac769363df4720e17c3b687a42f29e8edbc20184dc9274d8546368e3fd2408bb68dd224b73a1487c10f4e29b0d8b9823f7c73db26ed16baa4c5d75b162cb5a97caff3cc8957072902538e0e698fad2e90b471777c5e8d90e5cd313933c2f3b30e49b6cf7ae7dcc09ab2e5e464601f093973d99c0815c3ea587d1803b4ca1d9bcc2ac20cb818f95d9239fbbe62c3356ba41f7dc9d2232f6221447fc4858bbf11ee382bfc639d9101943d958a59ff9b81007508c0879c4bf16885bcd6eb2383898fd00018ef6741f57def1a55a42b565ebe0451f0208762da626acaf0cbaac6d9bcec14e22c15660c2a0c5a23b27c445ad968a7e6b2daab11463040eb50799858b7a5063965f947234beb0d42fe1c2dc7bdce7fcda3de1bae384b62e798995eba4836dbee41a8a4de269c026018a22687ad77985d049bda1d39b79528b320ad3d22d893c547b4dc4acb57fac4e0603468beafdf54408ddb7d4c5db0cf14162d0d735b3fad10888f0048035481e5713b846761838504a36c1f956b072b46f11c7c6fc86c766c36fc7dfd5068855335b96162d8b299e3cd21060fed730310d7748c3d16f228b0eea1f37f5eee5453e3a19ebe1e60e4f2834d3338bf1887969de57ef02a1bbfd0001b50e09d8212707f0035a46513208bdba63a5d1fd7a7ea88e181d7a3de81b8afb4ea4b0428eff67c04b27372d73896fd9df443aa9b2a42cdb8665271bb1c54833454504dbc80645bc02366dc998d334b2723bbf5ee1e139265c107db84774b4884f26b57818d39d05b47d5bdab25778965a0627a96ec303c743ba57c0d32d0337a6d3dbe982284109eb0a7976221816cf3fa7f2e3cf739f30be83f253564af7f411358d9c5340fa5578120c48b617c088d9a3d0811a575bb1e96b746e25312ff6d87b9705c04a10123c7606b4c5d6658244121310ce3f1d062250b57ee51e35e0d7b787d38206fd9d26c70ef94f337cc7108ae8ffddf5fa314e6c4e5e1538fbb0fd000192fa78c12fea8a45902ac86e2878e8327b5f4c2ad9bec7d6167bc5590df49cbddda4d4d652f6f087f2ddc7a2813aa5b33048adc5f900eb4acd983bc86ea7b89f630b647a9ef42ab1bb6484ebc20989603144912ffd80158aff7e7d40a1a76489afb21f5f711ecc3ba613868a7aac4f28f2cd5440dfd064c4874d4e398a4718e10de8f7055e452271f01b27544af7035aed32259796962035d7bc37ef843cdccfacf969a1659e354ec27efda8756b09c0bf855f4fbf7598273154b3f517303b6169bdbe4ede890a90d3b34c917311027afeaca7dcd27158b04886dfd81803594292cdb3dbb77ad3a8df97df63095fd28c275b956cc61faddf770608b898d74ca9fd000138b1c34ee04d01368d9cd8ec4d70b97633951ada508c031470cb4cfb15a62426276c7442e7679f926e93325e287ab9ed87446c144be02e559dd076c9c5e1d6a6a7de45438076b1bd7b9ff5a821070877c1d9626925c1f47838e56bb6982b54fb9e131741bab5ea38aabbe4003538c454980dc3be9a436283edc32a3de0321f114ad32cf34e860ca36f18d476980910e564af57da498cd16d08af8b4d4696a9962adeb298d7af4c8c4ad9cb911d80a2115e833f0856833232f92f94cc9c3a6a14270f4c30ada671bacc9aa35bcd3c945dacbb01f4556ebac4e52adf8790dd49fa799584d227ab95afd2da9e67e5642a90e54fc8b693a07384577d04cc40861cc9fd00012c7977632367de82810aecc22a1a802a1aeb6ac54a4a79d8e61606a6eb72effe1abd74a0a18ef83709355e77cef5666f16d94c0d710f5ae3973bb26d07c0a436aebca4d156d42952cc8cedca94162225b5b4780cf47a6426757758957dcf2f638ead2312e67e140ee8c380949c0885c68b396517ba122d90a0ed184564bbe67bf1d0115c77857fbb29945ea00d8e809c295295494dc8cca091d900837b60b31a79bacfae59fe638ee8a2208942e27f605c452be3a4a43cf21e8e0f78e7cc20ffd2c546a0bbcc404b415e4eae2c7b9c2f9121bc741a6f8c5c28c9df3e0169cd86809f5e235ce17fb625f913f94b75b360f9097b625a5305040c55a4057dc4a68efd0001d594cafd37d880576656265ebb737602d6f3b9d0feb3147d8c1f6e1514ca64e3ee046bea5e6892d8db9c094198fb3f697ae6fc880075bbd461e9aab7425ac3a7fad84071b170739e7815d0c76d2ae7fefb718ec132b32a842c58cde33605488043aad9c5df6e58401994a38dc50779e348cd18582ca74aaadcce6df39b221d4235a88000eb2e3efed6744abd0b68836d56ff5d9ec973be549d52a195195725caf3b8cb683da9b96868d35727bf4b74dcbee838d9c39a33d15609fde1c2b345974a93c030952f52da7ac20b8c26b340fd9c08f56b97ccce21004af28ebe4946a91682f9738085cdd9a53e160346cfcf396cfb59465d114c600d9571634aa3c880fd00016c714ccc93e995491adb6718e9ef69fb2cc36044d9e6b73130606b9c845dfdc56e9518a120237f58fb6f2546bec6f47ea6a11f3d898baa47682fe3f537542fe9f6d3679398064a48a3ef8abc92e89eea84c6d8ca956b3c40e9b82b2a496bb1230f8789fc7b0befc061468049d416aca3fb41d4272304a728322684f9ca6125b91dea97bbbba8c83045b5ce8b3110d429d65998b3aed570ecfedd176e98a91eb3410cd501ba52d176bd2c8d05e94acc8f352b3cbe12adefb82d34e174765ef1197f8a93fd4e03c98967ddd0332733e5aa0ce87f63aff78a2b44d10ac63c1549d9a9c6808b743e6f785173924d736bc0890f2e68c1df72b0fb1632bd4679e87690fd0001e736a64f64d58af8d43f0980d29ba57dccea56ff13040270c926a2703401b83859a94d6cbf4cd62109053c9e6ddd1cc61ac649ebb1243037adec455891642de8f43b57afe96cb63736e3e7d735bbeec8d1dc2c698f37f0bcd85bd84cc6b7e25eab500c03f1c62ec730c24208e2df2830d32842277d9e5c9416a91217cbdad60d6a77a7127b09e7463354266a1130d1f04de9041f0f83d41246766027700fa9a02d10d2b0fcb0bd534d22ed38278ce177bbc1c429c09030f105a67db70011d3eb24754bbb31f8a6a98bde215f635409e4cb8c3d769efdd7f1561976bd29876c8a11a130cbb8e3fdf15fd9ad0329852dffd794f499345c3fee09eee21997a5c8a021b993d7cea74a8935b42df2d55606a8841b1a4a8fc0321701d5de9bce1dd1bee100fd00016e510cf2b787c67956990655ca7ba97aaea25163317e7ebfbcf2681b29b0b821aedb8f9b2e309d37f660ac7169dc8234a7e7e4d01e79164eb75f28d284c52ea3d7edff718aa96db6b0b6781366ab985d202823130ca53c2a8e5186fc18862348952e967b1a3e3636517c3e3c48d8fe5e4ef1d5e230ab584964c888c61393ee3d6e34c50446b86e68ebfd048ac86065f9a9c4bbfc2474027b612dcafbbb0416f12d3d856a96557529d1144a852ade77f50f600ecf3c0e00296576eb49a0b211baaa815cea78e1b7a56a1c698ff58488378722f58fdb1ab8bb0063654a8de8344041fddd04be1b4b2b1944ce9d1ebda667caf9ca00e5c2de892a9063a449edd8c1fd00017140014f19e2474e1cc4b40a5a8033f3ddfd960ef33c7e35432deabd85a5b2c18a27b85477c9e6fbb2d8a5e6c686078009b1f7868768fbb5f569ae3429fd64e49cb3a62f32fada09059982a03a20494bd2fd2caa75a01b3ecdbc32acbbd648905d56cd2aefc714af1c24bd6e8f06b1ddbb85e9882ddf8f0e67c654402bfe2e0d9ba404bb3da2d58305184949ce513b3784c3234b39d25e0c6df741683750cb46d7856e67a0d45f4839b5305f9965808d41cbcfb2ad3ad18cdba6744eab0148dd0c1d5e687b6e76bdb9408766b57297be6fdbcf9d7e3e6918c194ef32bb776b5ab85f3a6a164baf866d93ecc3acaefbac43a9fa267bc623cc136ad712b00d788efd00016d3db1d97d5d429249f5cd6dc35f61d0b1b44f1e433cd5e01d28afa6cd6718fc1432b77e8eb6418b0a4b6fcc6707cd3d5c6661cf57b3b73b78feae7c89e25eff2ec1d465be91a18b2f3bc4311919f410cfafe8ae8a06b4b947f9b6fd8ac17453c2f558dfd67f71829be66250d40c3aad6e3ff52d1c0c455e7a4f646445405cf1ad45ba65392bb622a770ab0f5a57e73d32d98ee49d73ac7dde7dad9b9c8e1da9d1e6aef0f9cd120bc1d2cbc5ad819190b758be385f2b0dd736184382af8aa419ac7d734881ab4728ea927b6655b7d3faa4a1e14caf6d38cc706a940bff9c9021e4b6c3ce516d0257deda35d2ac4e0423f01ac849b19b919b773a58f34a06c6b1fd0001464885fd950d292d5aaa6155164216521d2113d795d9aff389771e8f39ff3d96afb5e2359fc52aa6d6cbc3921a7a21e6f3fab62e748337e2cd212456e2b2f52dcb352a75902ac6fdcce93dcf027138be788aad5e09490bbce637751cfd5bda9ec540d7daa92eed7b27ff1bf66585fbe3b39db3de9dd386ecd7671f2395522c1c9006908afd04fe68d88194cbbc3216377cfc27c4fce55c8e558ebc4943cbb477a1172aa8b344c08d6fb853e64ff0f986b7f3e7cc3b2c3d8b2abbc43e08eff15787bfd6a9a8f98b207d8e2530c0c37a37ffcec2fecbd726b4b845ff48a44c1ec7031e4e663ec0042663ff81b9a7fe7d599695737511a685148fce0c3eb01513bb20ffe083f86d11f3c552efeba225a93eb8ea756f45c2e49a4dd08467b79a14000220fd4b0ae4d4c5a165ab75af08922366e89721ba7ee52751e0b3e64017787b9445fd0001d0a8ddbc130bbf7bcd20bdbc8728e812a45cdbe602dcea5826f753b94e1220cf698c1212464a17ed846b29db82b1cf5373241d4117b07a8b7d279d4e8511d22c47be22291e9ab56454becf533b771e5e602542d07828952d5ef900e2548739d57cbb6254c667bc50a0f97c11b7f3dc1624111f9d32cb0d85ac4106b41cd6d82db7aea1135334220163c190744b6daefa456f69c331facf9083af360db6f2a2c80c423357c8fd1bc28fcfd42db69d733efa9ecdff9df079bde1b73a63ee74e5af5c75b67a4824a72466e17b501f6057a68efc19627d115f19fbcb48c0e0889857f0d9191db5875ad6d336adfbf7f09989b2aecfe868c2efc2cc64af46d07c44b9fd000151620fcd4091a3d3e78e8a1f1b5ac9ae8bdd3760320ed9bea2e1b237110d7747e9894704336b958fc92eb200f06507cb56a12f202a8b098bcec5b7b6941dccc18d2bd968538185dbfdbb6ea61eaee22aa8ad24d73df0adfcfafaec181fda3626479710bc19835a5aa7a3b9afd8166b89f5aee8d52589059eda61f19f6319335dfac7765a9a9e22cce0fb3236eeba6ce250ea0b7cfc4a021ca3c88859f556dc1137349a7ad5a628bc47267ad91ff86174a2fe74e3ab298ae8917d6a57a916f00b16bc0f3584b12b0d63141a20b1ed54c6551c6dfa5647783dd9acc68ed75044faf6745161c1ee4abcd9969ff9e01f14791de7d0c8e44e77a5b249e2da833ad3bbfd000119884821e74482b639ec1f8484eb6199a01d6e0a3606e25527d7a9fdbdabaad9f378a9aab04a153b1003d520d03f25a9e41c82504ad6de9fa6cda30a3ee1128c35f49d469a79b3c190ab0fab92d9977478c7ddabb6a66f291b58756e040892f44ebf6c8d0ba3cdf5d9335c8b05b0d34a8f4e832c54979274f5d4554af2d05aec3d51a3cbe03282c9c104f664fc39863c3a23396e762a5a8b5ba18b3c84f0f49f8b7cb6f627905a4fec65e5ab41e868561dba5cc8bcaa8c201d613eb678342aaba5e5d44f7ad7a58810129aaea2e6bb9850ef022e54a50b18e5fbbb76b93f050c31d279e66cd51a29c42591b18db05e88283e52070e6eeffd8fa447bce2f22eb921b2e3f53f38bb201511b9e1d5bbf22bf9e23be137543e34d81a0b194f373dbaa600fd00010ef2d9c59966c760260612842d16526b4352a5f05de655fd0bf50546be1d893d90f4b8264488467880be2c4d7f3c577e6b68335f1e0764fdb16d6fc44fc5bc2c1660798e6b31bdcafbd33a9edb44e48dc37306abe9ea761cd2077e977a6d5b92aff3cdc33f644f47d90fa9a4b172faf29e264c9d55d27cc4e7b7e5e891adb566d172207406ac400348c386e74716a518cfde36169e4cbd8d3093c8d85b99e54474fb7c7ebec5a3beb18b664b953f4d9037041c45738e87c53d55eb92fe862a78627a8f4f3f8f3ef01102b8df05c9c1d81da85e36bff90943e0dd93efc00edbec664fe16f03c8e79d3e105803c50a606f9812d3717921477e224efc9c38604e932116d048938c5e50af925d722ada7f78de5fb1020ef09d45e001364d0ac87ea4b800fd00015a2d2be1965546e9ffe759719faf9960648c9183812a7db83a24b0ea52bc26e3774ac36fcef82756ad386332d49551a147e87ca68fedb289b965a4088b3de6506378af1f858c1c995313e189684bbd3e484499dd7a26097ee6e89ff1d0b6d4c6c03917c53a95d9fd1b6f9a8e59e1687506a5499adea9c1bbf2f63b14207daebf64c8bd5742bec97f6364560cb3d687f8a1ce12a197e87df8b23eff607c97849672fcd5803b43bc8b6dc2090d7b99299248007a3207621c0b40e6fcecc3f68b2888f5abc842a44e6f019391449a7356f9e2637c77612b342fe61e76b307ffb780f529c6c84a6e6ad8d7553021070499e85542cd288a543bb0d318b7abca62c48721047951dd48307113449db6a3f997999f421c62b4524e5baebffef1ed21a6a1a800fd0001c4594030b3c64f25c491e6a5ab25b959438c11265e0fb2e5b2c58e3d59c86d642aff89f4e5137f08ee4871df4098a5748795d596baeadd2db0b006e02822ae2c5f6a93c5281b82a7d60f8c390a264d293f1769d55a5b1f78f0f65f7694477ca79ec16677993d5b6606298171df85a7a8c9bc74a2438618d2aeb384de706b797758dd418b2b5d59dff089f7d4f7f21a8390a3a707c08ea4a238682670a0d80297ba68febea9c4c5afccc241d9f95aa77366880ccf891174b33d95f462839d2820451611e8453d981a703595e8fc73df0a4963c1baab591b7f3dbbbf62b50dc7bbfeb05ec2ecdb1a63d06ec20c4311451b4129a08b94049263e180411ce7b8b7b120a96a6184af4c9ac706b2fb01d6389d94cc4e3930925a5b2bdac9e96dbfa42a78fd0001cb6e8b1c0da834c4fc0d797fc3521eda3ddacade8a4ecfeb518a2e2e8a234d2f6901a7eb4d117404328c70a5c24f36236e88eb1dd19a7e9cf4ec7582f472da053e283dc193d70bc71867d2a348521a860fccebe0b45958f1b5919cb833d79802640b7665b7ec45135b24108eac8a882121b6e6734dcd327b506a434cea9298e6067c36457858e3c18d88a320ce33cc3861f5329bc1f9a8f4af57caf2c134051b12dbb58e309d7bfe9028c3b9b4179759095fa531cf20bdf18134c517ceddfb38b4d94849c3d7eae9b46c353bc43d2f8345e345f818e328875c1bdcd754b706258779c7c30592d0a4c4b5cb557eaad484d1cef2bd4d98d12e70b8fda33f3a5e8320486c47e0fc0d0e679b413041e800ed28ca862ceec23c1a937954131b960fdb3320a3e4a1a7ded3a425d38b144b090d9fb0aeb9ba631622041a702626583d41142520f6fded7e7b2408e70ac4ab0b4d23bc2571cfb9048b0bc738dfd0d6507549a451fd0001656bbe84db36e12bf3c78c07ba3f561d2c2687aaeeef2e2da17cb00f060e025a993c12551c12bd4d75c4c116d18951515f42c5628b0858d85b8afe5deb0aa14a2e33d147eb62b9a52bd4769b6a97382d6c39e5f70e727ee0c9a4684fcf9a03e7232394b4ecc6a2d32e27fe2b436b1081bcb4f3c8bc844e9cb1cf9b828bfc155a2467d506be2f89c9a36bfe2d19125fb21666ed4625cf881ffba75e67d209fde2742d5a46634019cf1f96c1e649a9dd58edbc374b9d6220bccf20055104e8ae8917537fd07f69e12e0b8200af3d924997ee33a7d1e9eb3ebba741f0edd1b59f05e1f279d0c4f7106276968fac8055088bd5f57840438a2776bb21693d9587d188fd00011ae402863053cdeb79711a4c4e7472a1559d86f89bc4daaa6865eced1126197f3c43d78ba16fb2d6508632ab4712b13c3f45d674064a51867bcba96a71b7683fa69ad337fd0c50e7927b913f025fcc47adddf1376a053280cd0fc45bbf29767b4555bbc4054a824c11dc93c3648b3e1c2ca42a5dc5f536eca084370ef65c5a6229bcac295c3fa578fc22eab793205cdc8d37fe3cbf7dc6e1a7c53ff3c7e4d226f0a0d4667bad282c625695d4a1ad88931ca894d4931b19b09c56d2f72e72f62600c97348ed8814f0841baea716d1e0d90f26f8c3932a1e66dd1e8c8e039d3e891ab7be0a887c16ea9fbf3dd7f2c7200587ef56cd0e75e8e828aedcef6198e6d6fd0001a265b258bad27b42d12a12e43a25bf566f2b77f6f0924e8e0c32f294768fd6d9f92e5a15dcc94a2067c71a1f9740700ee0e7f626d35fad2c441b176a077fe681515cb0c8613b0b43c708895c9ca5a41745ca87cc5e8d02e272a484be75cd9afc7478b98bd4c030c3dd4885c5214efbe70cf9a1f8a2616e2eadc150f979e1ca8c389b6fa288889464886bbdaee7539c6bba71ad0927e455d45db2c7371a5b15ccd8c7e7e91592e9bd057d85a18a9a9d1165a84329a6c7beab031f2819cf36a26aeaa4cbef4e7871c472b9b363a1a5d597005cb98e6828a7b6b7ae81cbd036f8d8afbc6289efacedbe51c10f27462c81525b18d119ab4527d9c6db52cde19cfdddfd000143a024d1136d92c3d0de09ce4a3837fff20ce4c4307fca87b1a09acdba6a1df122cc69dca4ec3ca89118ade730ec8959d0dd84db0eff5ab2ff71793af68a2d6bf3a301edce9cf1088046b3177c18d90f6318e2bea3a071469873d1a320d5036a6ea1375ce17113721f01852e1c436745536bba80365d2ee1060a73098f99983d18511059ecac21b84131d845bddfc589a1a4c195ee1d89ba9845c09d681a87c3fe2322cdf571b4a31756d2de38276b97ecef325f4ada73b747d78899c3f84aeec26fc9732ef5843f8b2d7af0fee0f04e01f85731eb9fde3f0a69c4c0aad09f51db5cd03db3627cce5d2a1dfe9910817efc2e53ebf9f79afaf09521a3f14980cd20d6c0a0d48152ef8efbf7a58b809f5c28186addc9690ba0857cbf2c96e395e92afd0001781c2002615bfb1b7d35b2e208a1df0bd8f95f2d639422c213683828227885660bb231058546848fd01763a1ae99e0a7a1040a0f398d8171b45ffc4a58a4439a5addbad802fe79c71a4a27fea8ed229c51d6cb26c3e21127aeccd2f0e31ff1c7d38987c95b917d4c86439a7a0d54b3985ccc3072727c654bea4d473676a45f13ac693de273581cd6f864fba7ff00f3e61cabfb689689c49849419ca1cf489cf9db2138f65c1445b74a0e0cc83e8368e6e79149e699b6e64c77c70ac5156bfa98794cd0c561732fc7e3623673e1f0ebc09de026d9745c4986d498762be6799cf99143fca5d69d04283b504c8d8e325c8811853d467b72e204417c7e35064ce7bcfd0001e42f7a528e3e1de18bdde6e2d9888886aea8ab8eb149299c32c68f6c93a19889efc05e641037687a091933cc83bfbdfac77d48a2828bac6b0625260d4b9da29b0d215d403c6d3aaaf33addeeac4d46875cbc4e3edc1a865d6fe0b6a588631188897cfd131672a8c5d098c0ff8ec5b17bcaecac1d78f83b5296408c994c1e81f93021da25ca403ab6694fb3e82ed260e88067e3edcd8cd0e70ce4c79b49962096eeb1eeb2b17be69033a338ebfadaaa1293f7fe17fb7ddce051d9eb82c84d639bab4a415353ae82dfed2996a26d184189ff1f25d3196c67f34ae50a39bdc2f711ed6468b364d1f0ea8eb29f486dc6c2f6dc59a24acf4772bd542557e9ef4b5b93fd00015ea90490404b84482136f214f4497c09a0ca87dcebecc03ac3152ae1c3e87b945f721137c7a309e1036d0e5d94c6cce38c36b1645a62c7160ca45abcfb5c165eb696154ae38684002a150ab45f1b8f1bb69b28757e2503967a1432090b6c90ce7e3671860e40e95200f8a1ac1ad927b49bdc0a66472eac7123c383ba28578b149f121ad8b1ead1e1908858a640ebebd2e1b8a4f787e5f41d573168493115448edb0de580a8c281b783afe2b62ac6ea243d021187367df9fd28f97e2ca7c8856d89c64a4c3c5e2147aea8120b4bc8b2d0b8ec5b7edeed35d24a800760e82ab19cb7363c7b2fcde6200b8e63e2b698489e9dc0bc4c8f1ba9ff68b59a7277038eb920fe94cb66b60142227c026662ddbc3dc29b373c5c805c365b245c2f69152f1e2b2007e3634d06ba18b973add33bf3e23a7175729a9442fc4213adcb0e5a52e2cc272096af7547b4220ef6335cf5fe47c75896ef2d27e58acb6d7b444b3645ad1a9370fd0001f3642f6dab0eedbdf04e554106719fde491a9bfe00e8228f250e0035f5a95782bef5680a15e6148467d4c7db9e22d9a4bc766ba884940645845b25ace95d405744929adc2c63e41e4c807e33a0d514919c09e855c9d77690be00720d83dcf2b2276e157d39b7acb3ae262e65a8a09ff49478fcd67765dd03b545d7e83bf194ee6b0c5f83c41f7c470e0a1c3f1014a7afc2b7149c01b3f1181eeee4ce8a9be47f0f7f897a05683629d6164fb882e1b67765e7560e7f5c6be76ad9902a755c6af0c455156b93f14e618f533feb9d351bb956da352b7a9d63cc5082d6f9768d80f1bb703c84be2bd75b848f06925f47e226c424c0ae8ad4293b0e9c330cdb16bbddfd000158cc2778c31d0436228349fd19e0428de5916401bbed1f3668014cc51cc6b42381c32e5a7d5ec4d194037b0544284c52e151b652e2733b17065b2a98fc1f5ff30a8acf5dc7522b64eb94a8a71526e2aff0acba058b541fa412bb5344eaae4945ace66b4f9251e842e4b52feae5ad89ae1ce3617debbb551c09c87c6e6e69b7942f1178db84dd758fcb3f63d658e3f48c1a47b725cd2e003a59b8e318950a45fd908c6c4d53d706dfcc2041c046324e3925c9ca032f62cc825f0c11c9fff3fed99f616837244c7d71b3a8d79a8d5bba3284280b59ca1d0ed044801b7d4d6148f014c8c04e8859d9c3d074a7ad77b86ea0ae39fde03fb33eda53fe5c1728cf2daafd0001991691f21883d17fbf12b24e86f0f639967240dcf120c01713ad612ce32a7b8a9c911248414d8a2b836e82c827270f60f154d5de0efb7aec5b3db3f8b9cedbcda84aedea5fd0988ed0069871fda9db5ec2a1ba0f04592048f0040599023ac01e758886daa3fdd9190bb1c8ea29898cdc711e8e8e6c4497ae95ee2e5a6730bd8388d8fa812b21c9b97af84a7cc9f790139b0005dc86efe16436e63982fe8d8ca6bc5bea86b2297a0726dab7704fdcc8a3f6c273eb0f8aa008ad1e6c4a985d7cefe05d3b24cfd195d2fae5392a48be5bd50386244fa9002f95ce18efe97be356a3c5b3990172f812987d0fa10d7fdf9afcd20e165697e3e8f1fa564d1f03010f8f20d53cbea6789dd88800af410af54c3c346483fa085c6e02c088092372ce828e2afd0001f903226d53becf91fe3ee0e556a7ddd652e179dc3c2de5d7af38f380c9916791a37e149ec620429b47e5e0c016b898ee1dc45db857c93a718daeab3167c3c336b22692da51bbf7ef1bc42cba25af0b1fa89df2adcf41535803ad6e80ff1e1f57c80514f1d091040aec55e87c4810ea31ba22e4f93a101d71e324cfb2d84e381f1a59a601ea97907013e119a24a468b27558b68de170690e71bc3c2d7361ca7f77d116b642516d9cb128a70d6bfba83b2c22420059e8c22c9f794f2e144a3a065c942d3276253013efaa88a80e3d7f3c32dc249347a6df656df62d4f9482cc8470bd1bebda925d47c5cd9a54ce81d7bda23c2d0434a98a1f73911c6172facb08a21cb1b1935a2667416f5cb810c787fac55fe8e14146721452870f27b1d5a14fcce0021600ca51450ca3b29e9ff6b388f4df5286db585d027f68fbbd1d4a95fd756318700fd0001b941fa0b95cbce10d49d29c80ac6c45bb624fbcef94b9bcc75d3593a5e11ed85488b6332f9d059e0123d5df6486dd2f57a9239d137d46f3b9c0120d391d1f06cd48c13a0b847020d0832b15162461811662eadcaa2757e2b6b2240d478e7411c7e807e09ef824ecfb3681b49aa72a3319dd310d8efd930ffa7751a222e73f198032f2dfa00e978c9542dc476ca44b161fe470a5f63759de5086a18fc92aa375c608841c6ea41ebc6fb86dea22a8987f7d9abac948d5e67a173eee3b9b90c323c4f2624f53fcaaadd79427a36f560ce6cbd99872d8119acd2173935b0331217e33ceb4a0ef314e45c1a90ad06a46948a38a00feac8f58d8780e6d15ff6e013dbe214cc25d39b2def7e68e2d5c7afd69c5d629265f750b683dd660040dd3220a2ad600209901a1f845f602ecd4f341e7b68c6787561b4f18d7819c8b319dba6836a42517216578b022ea0911e03a47f0814046cea045fa63bb506730b0b491614417df91f900fd0001ab0bc038363d54f8e9e8ebed6a498b0f989c8ee56c81720bd66f71d0d97477d0db56d4481cc0e57c2316f4bd3a6843f86e5b28152436ba23f377dac267c7bb6501666efefb705be623d0491dd42a1a5397f45b6be6ceb1e0499842914f56296a34f304320f5b623ae7e16379d89394b7057d1b92de4c913265ba231d81dbf9e4b586704803baf1cf0fd474a721bd65206df02888dd77df03c831f8433f3b2c7cf7e1211c7c85a975d129f33734fcf77c09aaf68b681da7c506e8c89ac5394589d185117b722b757e307ccf31e9ddc1b9131633bd684ad458fdef09d346566eb4df920801ec4ac019081feda518cafe1ff9f9197b1473ddb18d3349652db870e0fd00014168b6756041ac27a58e4160cdc78c2cca30e144cfac7c58d40b5521c76ae171399e4e22bd3eb5a59d0a44666cbd8d38c4983f8e2bac6fa5ee84c86adbf9679bf8631dec545667463df5fbfdd5ff2d0f6f9021a4a03510e291253bd133520d5366e3c272bf8ec41a14b15aea97c420ff263bb52dacb3c3962359312e5a4690483434ba5f592057dc449727f03768f3756c24c85814e1204d2d90cad6e656d39e7dd7b9c4bfcd103dac62415b0d64901b01278602553c149f6d64342f16757b5ca1033494395404fe1ac7ae33d796be12b0d4f986de23186ecdbdc8477a742fdc973b34b312f5984b74faa42f5f62dd4938f76f5d7ec141249902825d81ab2d88fd000193a2f7ea915b7e506459b8484c43d305deca93a84b3c313a6cea7286d485395158806c3d7f3155f3ddadbfc913cbd7673193a951b356ae208319ecf406172cfbbad940f9fb6accde0c73ea5a19037d5d8644b4de22db968851a303717f473c491465712da34aba4e5dbc31361163ae1492bb3435779569598639943640b6e14233d8888aefa72580e22091b6848592d5b2273cd2df009d614da03d0c0803b4320800094dcbaaa337fd210820e07a8deabbd595d2b59b3bee5c7a27e585a1cef44e532de83f08f3df43d68f5934ca69776b8ee8ddc42969970d64145c093d4e989cf32ba71f750cd03b5c818c33462d05c6477ec1f0ec81c48e4b119d05d31cd5fd00010b1cbcbad09df7edcebe79a913033895c66686f078402893059e4a986fb76d28e89324f5b04ead2c2aa0a05786faa1e8f66fbaf66b7ca94bf52123e6afe4dab54bc33e5860e8766031dd256edf40b294f55062e613cafac04f77e284f5097e88cd7aaf46fd28f4fc24ef1ec1aa0bebbb3da5b504e4dca8dfc13ed99e4371dea6f3bc0f78cdf6ff47548e5a426c92095da045e5ccf45f446116e2c9567ed01d62c1fd3a78c62aa359118f77705174db6a4faacaa0b6d49b4da38e42b20e9cd2ed7979a0f6da28964e0b3fb755046f0a5477dda7465e00d13c8751c36255b7f922dbfe108a14e359257ad607dd7e1c9ccf330779135714b01746a25ddd11e565c821713c8702e50956f6f6ed9c283cfdd08938c8ccf08ada04309e47fe9ddf5cf5dc00fd0001f5e2772a310c56c1343104f8f618a6408dbdd5e421e31856f271fb33329d5055c4c73e06870feb8f7b298cb9b403dd6c4e87dd2137ac84df583c58ffd627b0c52996bea39da5959ccce7968455d3b4ac512c3d552cf63f2da74d6de8e8f037eca47a715d0d9398502b287e5f1034e536a84839bac21ae9958da81fe54c67165fc650f19679c9a628b74fb40c65257dc5b50f690263f9c1eaf41c3365c0e23f91aa7ade32a352c8b88b40b2d7acabbd085185f7737be6f5a7c342e2c908e8a4f997ec949e4bfd6ca7b3da894fd4581c81141cbfc01afc3eb86bc91c304c18c1dccde49d8b61e41d922fcb02162e444dd4931a076bb072ee3a6d5cebbe8683e992fd0001197c654987867c3fa8c71ce3718a70756063be0179e55bf302daafbbdfdd5669ec38e140e3204b260b1d54373f84657101147e672120d735c179fe2dc5fdf7dbb8aadee63b867e31d9d1242e45bd23ed510dc7a6d44ea7806159895a2293c0898bfa6d0018d9864f584a59003a8d4e3a38eae3ec7c9e35d1e5985acd544547ccc1e31024f05bfd5dc07ccbf535b2e0a0a703548e355eb9d1acd8a59684ba0fb674075011c7be7cc899c30ea6c1df0dc34c9366f47743aa12991192cc836db7fd5a3b0306d6905a82e13b729038c70fd3bea01def02b93cd2e71439a9fdd5fb93da6a72436ce9f5b431b7e18c76d8173964d5a02e24195e761d888a6a2532d785fd000177fcd4e94194a3c34efea9f8f04faccbdeae9f0eb8662b0195db08e2b41a08fed52ab7060465ecebdb2eeed7a768c4f65ed7b5193151a56c752cdf97cd4c6be8daf95c16c6703ec95b6cb541506c715983be6384031685d48190e611ddbded6fa377affb759a1f289523e56761857afb3c33b68f743c59a6bf2098a2f5bf3c1c8a3d41224dd12ef247874ff5ab6257cc3e29a65a1c16f3ecc26108142d1899a340be3db55556258a348f51ef61e8e73fa9db743f08df3d31919f2d9484603f0281422c2cfbd66959dc138c2176d6e242a5a04d5b1cbd8c39ed051486869f8b0f3ecdaf42498be6016dc9d49ae52220612a32f50259fb9a8be0cab88deafd56b12024a02c37de6161be5eee8cf63c3b0d16d0bdca07ad59fa0532678b864c13bc20c87f061046d5218e768801c69818dadd24e62aa4625d5a2af09b08f9eba8efb5e29fc2977184990fcd81a0a3f896691051da425d7b99292d8ad7a3bbae5ed9503c5b761907097dd6457a5444b9c85ccc829d5901d46cd917ead52a3316f96588a7b508501be9f69c73d97e0db9d615f20e50712f377663f6c47f42d005db72b225048abeb8d6e3a60afbe21cd13d4539b7d39806952d745a7c49a552175135d840a3f9b9e9ef6ba3c46e9f4bd42f9bbde0d5d5abda8cf06538d3492aa856d8708285c0aa99567adaf6e0d4b28feec0a55e49879ac8ee966e4520e5eeae3e6b4473cb710b4213973850ea6ff0331b04ccffab2c2c3f55ff28b8bdf644e4c19982916d01e28d745302b079066c61fc0e8e1c90931f122893f7f5eb86e9111f98cf36e719129668dcc4718c52d0c4c6a1a941b939e5e744d61aa9fb1aed6eca5fe062cd109b15abfc5851ff77c026e9ba7023b298d40acb1ae9884671ff1776aedabd859f2a481eb18b963afae2e2ec41e3f3671e9dfaeab234d6aaf97249f4702e706437d8e36f517b3b227bae68b79064a3fbe999bc2d75912d970826908dc17b815ec0f030e20b24f17c527557e36695abd05f67c60475a0c74aff42b5e7fd13efc3b1c3bf5ae6e3251731ffaad110c4210c9d6d78d69d6f68cc31ca99fe783a12fca506af01e28234f01e1b30dcdccdfbe696bd5703ddbf0554c8c4863edb0f252e2a9daa54d4900d8fd6aef61b8a8f1e165eea79a3f20663b08722762f2c548e0cd10cf0d2d8e8b9239b638d02c49749d55b721a6c81d2554b51b49191518150664b7e4dbde3ae02b36ab3ec9250290c8cee6b7371e0d3c7ad64d267cf463c4c82cc5a325aa72461345c4f45c8753de23bc148527b0e982511bed9e4bcd4cc37e1e3b5089373fcbfbef9a111c96cc79e9f37d619c0d68598541f2a37ea0fd614ca310c915c0d412d2eeee8f7d71e4a250bcc60d68ab3f296a5f75d75d627e5913aedf3646f733701218878049c420ce0089ded11b087f16111e397d0f2e354f1df0a858aaf07eeb8e80002210305cf1786fa950ae9b553390d6d62e2b285ebaeb978822439e0922403f9cc7dbc473045022100b807fa7bc196a7b2d7a3000e5e1870e2ff488bfd6e2850aeaefb3c606f28379e022009c3cec446550e5cb04483404a677c4b8406d85c62cb4d714e5ca3a50aa02f2600e80300000100e87648170000001976a914dbe6d470fa9fe4d037043533eff4f80aeef0c8d288ac00000000", + Txid: "b65181decb00e684fef238776a0a129db4e1ffdfc454f6ef323e5f7a8deae6a8", + LockTime: 0, + Vin: []bchain.Vin{ + { + ScriptSig: bchain.ScriptSig{ + Hex: "c2028655e8030000dc8ce67bfe1851477371a9ac40b6ae0cb8571f6e2d5285855288f6079f1ce7239ee8c85f465b1820058b79554f41af297e9caf95ce0084b7c35dea0b95e15a2fb9f8e62c5427c1c36120cbc1fc11ff344909079335209c6b84b45a9211cac960f64e9432ba5eb6e4ecb2068223dfe3d85b345da17bf374f9140c9577c148bcc431c9ec3c7d13bd2363dba821381ed9fa0614416261e88330b3e74c40e6561310eab3f26f092e72f3cab761f373d02680dfb52937bd9515be242f6573754f8f665523cce3bd606c8ad190954f8181577fd0efe7cc64b711d03774958df4a5211e44870302056557777951d7ff8c002161a6a59e979f05469cb31770bd484be6525625359979220eb7e9912e835065fb00fd000216aefbae3525166510814d1636b76b0d48ea3cd54a3a17b136a84340989d75f74ff952966830e4c0d59daa006d5a7190978270ee9475a0778afaf002cdce7efdbfad630f72838b5c4a3b538ba61b94bbd9e353437a50725af5f16fbcbf36bb34e7da54e5c24dfc90b545f95c973877bfadc2703ee10585a1fc1c97d7377bf41c9cbcd5a313849a3c826e7c1301083694e6dc05f46899a901ab4a8d7f6b3600df280157fbef6eca4c28fc610957a42a9acf7c4d7f9846ab6b9b04fa6abb5fefc168d45f10078b97d4d6a39638588a1c19e1bfc472657861a902c2d52cd32fb0463746f649ae88bc0602dbf35816fbccf91dc249be809160cbc7f8b6702d6cc5b81fdebd283231f40758afc899f6fecedc51dc4e5d09cb8961092220541f75ddad45680ea92b4ee78c29f58c197a68420bbb25b450c72d02d7249f7facf9927378620eb36fbf9b4ccbcb55627eb9cf905b4a4c65fcb77a537f642f10901b6e94afa37e4afb0d6d91194454a9c2dd8ef8fe4316f8594c7822a7d58cab09657cf501da5be5a44f947bb957b71e4291a7fc60cd5cef9f0676f7c89123c7ff1ae2e6dc001b6f19785534e207fed2bade8597541b13714284f67d6986bc616ef1b0adbe415242fee85acbf482a6a48b3f142ef7ddb5dd1c97a4b0c53c6ac7aceb8c042d9c9ada1bc986b8c276d07fbf8512a3dae6a357fc02b167eb85000040e8693e45fd000200e23abd27b258f9827ed58545a507bd465e255e1156610da314bf7df68b6b55129df84c7b19e362751ebb9beba10790c9c26c5ddc7f087258d81b006c0d2e92be0178bf5edf6e78e89f73cd97746afbb2551dbc97eafe32ae62e7f9ebcd14ad69faf74d2011d16f2c50775f4f499c87c3c50d9d5d486394c2a7f462675d2a4885493332e0610a78fc0c8b08eda42e4bfe93b8c7f80a911a7992a1deb7cca2e40933e1559815688d4e5ae5e58d706bc513e5108449a8393928b5b77ae73cb03fe212c6375b6c5e61fce9db16360a147e7f7fcd49e05a99711d4d5799be77f7e39d9d1397388d6680d4931b48798ce013256a586781ba80168bae63bed4d150b64a73f7d0ab0c9ebb42f5d4db40eeee303783249af4bbf334c660f8c084ed9a2e5fff8be230940a4a08b59418676ef005192365e4e67757288791ce4992b903a31537596cf6dad0be2af2418a6b9cc2c33e99d874168f6a29df189a869b16eb5d24400ab30e4eca9274114d646aaaa8bad45832b6c0ded2bfa698939a8af9d0af380d2afc58966afe0f45483ecad0f114b904cc2fafcf470dd4fb8f193795e8afc3243b4c946d5eac82babac6feaf4ff10bf53acdf8347fb9fb7a5ac4efcf160f0a7ef3576f439404a3078ea092f46f408a955c965344023d847fad7374cf145cadbc8348eeb2c5aa999ebeeb8a5548bb14e0092b184caee354020c19d66cb213fd0002729bdb186c4c494e17fd6effe29cbe7fbc539caca738d54f9ffc6e52a35a27da134192e2f7f4ee2a86af281b78670e662677e97a1ef008f10f42349fa83bf7841d88b1a457d38164a383ae9c6b974137d58216f22d135d30b9d6e7a74952a7e905f385141f4df088415d704cc3b03b2cd600cb5507f8ea1b53fc0e73031a3946c0d6269f020c9c26a3be3bfdcd37f8d3b9fd42538ebd72029fa0bd8eb57a4fe6769e1b43b5d5d7be311e12e52ee9dad67aa988dedc80ad616d7540381993d9de91a7fac6d08e4414254b9d1d72940fec032833a6b1a5605f4b62c47a86d70dbec5ec913d0a613d438cad385fedf24566bf79edd17238e55421520b95772224623f145100e663b2ba20161784f688afcf07a900ade1d48060d21be9ba9297697891c2584cb99a44868efbdf65178592ecfbadc92f4883662d6b21b7f266eb21815c7401b8e7da061e3258dd685f8cf65f2c2e407c913f85d053b05f6f92ed1299186632ddcf175ccbbc933044bdac5e10916917dea1146f77a8ba4b4fc8ce260b5deed395ecae9b81baa6b385fecca5d2982041c131ce02a1dec517ad2d459434aa3a514e7a4c6c1362401b1ab62b4c89bd7705d5072e0be5250c60c2fdd946bc73050d3b8bcfaa73165eee3660063f279e824d1e15f87307a40bc9e1ccc0f7d7087ba84fe9275742455241b61d3687d23eb9d7a9cc18072ed8be1492db46a454464090750eb0a393499a73d23f4c552ec6ae425a77f97d4285a7f287066b2198bfaa99073da6f4009755e59838e48cd5fe692962b87da3ea7e14b34b352fb2a4673eaaaa594a094610bd0cc566acafc21891b7b0c2470bbb338f579231e01c064f275c5ac9c2748cc50e7f2e36f2768d2a59c22d14b6b9a431f7772e716731c55ccbf086187fb15bd07a5af3040d468d4088ba9e6383f1df6dead9384758f2da81ee96370d9055ce5a0db56bbdccb57ab490f42a01e083b61c5157b3c00e2011dda865c7294cdfd2be5c03a1a36a4deda9cf03b500fd0101b3c97046a717a2f38fe2265185f4411cc68cce6cf9885a7a8fe6292eb9e3eca69fb6249774a8c82b888d22d5fcdd549846c3ebcf054c6bf07aa4d6b1c0d4d9bd8e16501f65373ceda249e9c760848fc86ea92fae7142d211c8bb4a287c91eb08cef7678ef1f445f76f81d464eb1d29ce5c6d6286d73d49cd0ef03b65376eb146a3ff69a487ec90b53c11cce613a586f22cd56fd34df6f7ad64fa3c68a6ae5c9dad99d4a3d2b0974ea1f627be4f0153c7b5fe472d0c562556c4d8d1c7c592bea45bb7886b74f8639f9487b2f6aebf4848b5718f2ce65b8f5a4efcf140e2857bc9c503f0058f9b6af16e75f2d530fbba8979f81569e6cc0bc04a54e30de4e03a9300fd00019b881d73a78b86771d41c0c2a9ebdb3899727f33d2d4d81dd27b6a00b4c7db265999b8442800750abde7cd97be0c691ed06b5d40da115546d90d4803e82c61d43eb5e2bc684adcf180be47660870921fdedb2ce43f33564541fc0debe175c6c49bdfb51378902dc709594b9b7d34d0af70b67c3c608aeb5185e78c1c39cc3080b71a36115f623a07a4e1a3e1f3e17b6f9f695f1a1acd9dd1319d0a0d67b337e64f720e5168c09196244bc71b083f302e042be19b6aa1f8ad61755f4883c3a1ae615252b884ca3cca5e18a023ad6725f08f9e0ffd60e7a73ccd29afc910d60dc99c06f5953c3e398ef615fca45f6a83f8a0be653d31a7e1a1666cc7334d9cad51fd00016f7efa38c8f9f478a6ea1217d8be9b7f0b01c5d1fa483c26e403eb3a4875aeebbd0e7eb8aab8472a5bd80e8be38df13526042952f813b71f8aeb4a2281bfe5e5d9ba70f7e4c9f477706da922899f505dd172e260ce5f008b59c0590d498ac50810e9a38d35f1a2ea4e9ce8f77e46d0b5604dbf94629cfb8b65453a0295eeca9d992365309b7956481a8c5080510a09183bd3358fb26933e15c83fe2ca6d186e631d72889a09464f5dafdc8a93dd100329071e52beb522bef1af0fbae0516ad3b02011e19a2b2924791b3f22679b78039c8356c0e6676e2451487f056d0cff064f55a992afba08f59af7606a809394772ff85c4c40673dd54eb30020c6a5cde3cfd0001ecbc47845e4a1f3c05c4e9d0a47e5e8996326f48d7ee1bd0e432c5f33fecf8a94feaf03f2da65525bbcb119c7928456c28f31c183a21af1acfcd9615669cf47a077f861f694bfc1831f1a71ab66540906c62b85274f63abcc53a37e3fccdc8563ca2153818b6b796473848d765d1c81d4e6f78ef8fce804184e04664c5c6af7c3abe4d92aac3f6ea99b84a3e53a7bf7679c26dc96804ac9e1443b054e3c55fe89315106a14646d06b84122861ac0ac27fe64fbee3c9807b0264a90eb9602187f4df2cc0c62b025ba70bbb30a7e43d533f32546d2e6f97537bc2d623a7f545676a37cb511614037d77fe21a35ce4a2275e7ea1d85b7bc19e477c61033f5effe7fa5d8ff48e2873845157b7a29718e6692704a9d864301fa254798555172c6277cce4ed5aebdff9c27a1bb37071677c16da15d6c1547c5b708e1988eba68befff1f1743342ad7cb89ec8731b567198953d965ef6e395d38b410a326ef3e262937c763179f22a076d17f848dc4e36be38d838d5788f121d771f23209a0d50fb3d016c5cbc47cec31069f7d22bd78691662d8b609932b9533bf828e213e5ed4e61f2b80f05acbc00fda0017bdc59c8a6a23d261cdf1dd10e91523503c3375a803755c29b6a84bac626708b7db937ed39f4053b5c6376b3988fc9388cc64dc07466c67704a32b703d5dd86d8fb8597cc2ff7ca190044c66638028855f29fdf2a0943c64125e3ad2487de6928bc34088957eb32d843613e6b588a91cbfd8c37c24ba655739cefdb203bc3061ff93498160c7e949823b0947c68b6c51dcdf038c538f50413266680ee23817ed9cb840e0094f6fd2277012aa2c6f82b086242e6332a4e00bb9c12c153dfea9340e681e63d72551f8830b2bb2587e5937685252928894bf90bfa174f62bf7ccd43415a094bb4142fcfe639c62f6eda0e4d7ee033f49f51eaa6a35b0f7f400992d8367a275e9d018a547430083c41a35ef543bb92e159efad39c5b84d127bc68dd581c308afd5f81654ffcdb3317dd6e21d5251916214e873c83b6ac197dbac6c1b93d79b9dd5da090be204b9765fdcf662c9296295610e42a0570a1503dd67c44e17936946f3a6ce61f82b13cf00a0b47d06f2cd28651b6af32ffc58304593d5ce81159ccc952ed980f93182fb468ebccadae4dab4565d64a5bcb3aec7a09d681fd24016a4905a3a143e4d61b16898fddbb0f9d7602ce865716b62ae4f9a37e2f6ab89de930e066db6f4a8667ccc4e79e7ac760642c33e5f24266540c9b4fbadda4c0aa1b6a74d02bdf2324ebf9598d8ba918438de1e3343be0b057925bdd52304581ef621fd085dc55cf8b45d605cb0b60047bfa935c2968d554753a615e75f24086b4e40508ecdeb411ed26c007a1110f3e73f504d7fdefb275cbb59cf9cd68bf4784b8845467fac90275f3bbcc2c14a87fbbd7d111441d6ba0833b9045db43975317aee170242b291f8b07254d395472bd4b67db7576bcf2460bf0c182f745a6cbbec3f680b7c6e0a85308bc3af8af3302355757a77a2fe3f98350e4ea1b3074e37a638c630d529141843583ba4b802e089e0a7ecaeeeb42079e072e64fa5251782cbc67ba9d46e4c7f502d44a06e5212d09f4dc5bef1f1dfc376d4a042f608b860971c44caeb3735cd57e19401314af06a73180918af7693ec5204b3f858806e6919af05a1a8c6daea2ee3f08fd2401c082f09f7042a7a0b6b484287050a15f5d8c1011c200d42eb51aff5a484fe1de9feaa264ed3022b6f5b1b54a4a316d3d7e2635210ad83e2d3c497bed46f417ed22804682529b034925dc785a2d74361d1db395d1681d71bc1b0635908ec3e92f850577f35912fe5c173402e6e2ed8003c64a57bb65a2013014a3ce14ccc725f733a50457a696396cac0a551cdda03a2ec81597031feaddd801a9bceaeb5f862a4cdb3eda06dc317a96b29c27d78dd977cc6f25d62bb967814fd1d7e87c675042522c904fadf1cff80289374de8f98df511de975011d877058aa7ea9cdf186ccfa5cfa5258e581ee7ee73e16dcfaa82f079a16c95e6ca4f49c037b2423c12006b549a0b80c5dc9b93685fd2a4bda99e5aea74eafe9d28149e94adc538198d459c7a9a45a1fd24011c69aaa26aa94954fb7dfae2d63eac286b4979e7d513eac8144a7bccc34fb298b7c556a82e7450bf590f1ae658c474ac7c12b3fccaec877b6bdd11fd9655a27b7b69b922b1629a24a8d7f81a6827dd22cbab62d121f5cf96d59be904022360c5bf04d2435c52541ea4d7f932e19fc471a0afb38f2e84668d974c57c963346d790a670a699ff53b5557def1ce9650a8624bb2065f9ce99d6b5361a1b39629040fc897a5d0a07816618840f86601508e90198de64d7091a8bda406009948fa9ebbf2f56adc66e057ab23152504438062867c4237ce2b99c020add16bf66a0c06a072c4fabd9b9fd1146b73366535d934328188798ccc18ad37d30e06a39b8e14468d32820d912359323b7d474dbf507e894a448a4e921f70d1fb4d4ac03b178ae157814004fda0015c202cbc492bde212955236761fcad7de9ec8932946b5352f6c35a242d39b354a1f96a706bcb84174a5b11a7e51cf0adeec9c1e5c88a3f8f32ca81977db668650734398e6feb45cbe0ed5c5d8f77cfa67b78f8c7c856629e6731321126d12ebe70603fe28d4281f5c9165e60749bc8688d7ff3cd509d958dcd1ac7b068a3548af0a3e20b984bf4406a6c6d55c674bc83240757e3a0515bbb626b6b6b863fa7029c5043d67ebcd531601d39b8b6b7e507a176216a264fb80f574d7a6a587d5ebba7c355007630fc49127368f6b672bd12fba956db75f189bd438f5034badc04d396b04a021608a7888434eefffd082efb0c3196698d1b015b42eb6f5a2123c085d37841c0cd6c7a1d77c55d61d76426758cdadcad3d7b1037b5d94c29962d4fe218c9f98c89ecdd9a50a48bc534bc167d536e11906bf594876aea01683269255701b705ac454b250abd45d10f4f8b881c6f4a360014b450132d750099100e15c70ef65ab0eeea340604f3c7b3eb3c51292036a6cc2843989ea418631fb595ca9d7e23a88a3a7d0a8dd5ec1212fc786dcf7107214d5c4d3f2cffffe2b1fbef09816033fdb616b9318b80b32f045ec1bec678dd1500480154ccdd87365d602f0126b57015784abee6fdb9b7f22ba135cb882dfa738baa17233fa53c68d35e4102f185c07a1310b710ff2d63db7238d36487ab504e64e239d0641137cd75cb282e831621f101663efb2f9de2520049c0d08a7c965477fef9d575ba31e101faaea20f96e40046132cd3aa981e8f360cb6a9bac68844d07c7d1741e56b104f634fa1a0c31d64ca4526de4f1754effc40aa04b9dfdb6f53ef77540d66fc9d0a4058fb46518433a1467a71873a03600b47c81e0d452cc44728e3a625235c84f7f62d753faf91fdfa1aea056925168616516e5c4357a7e82c94127fe8a4626c868bb7bcc13a0422e15e31c82935a4e1b9cac496bb456d1318e2e3e704627f1dbe646f5f1590283833193cb03f28e00f5020fbd43c5fdc39fd35498cf4fb7471417e814974331500d8e4ec8af34af39b457d20843d897d0e015456600325ef702c1bdfa7bbb3f2e7a74dcd8fd77beb3df4022320108d0f48a7a9b2a32e1587eb01094e20cb7c002d3de08f481a1d7cdc6b3f9c7c20185bc7ee65a12aa6003a58b83aa90d90baef64c7d324c662ea5138fbb4bd063720f8f9111e20def54a90755537e44fd506737cf1fcc4d0b320bef16eedbd750f8b2002e3af2f477e9d2912e50e4f03e43742c19e6e94c1ccf84ab04f0eff342bfc1020a544d7e745fa08a740418aa6da398bf10870a860427dcdbb857b6b41cec8e1342059eabb84637e61530039918cca60b860ef24c0df9e586b7ee9ce89336d5f1f7a210f0385ce2ad9f83a8534ab0325a42495a9cc4cd4774c9e8910bbf4e7192c2e98001fc3aae0957bc822f2aca9be874e1493a0dbad2ceaf959996060a2bc1781c23520cd178b0cfdcaa92929b9daef0c4dc752225792454327bc351b63765208972820203954fb6c5f5fa020f757c1bac415fec7e1bad3b7c19a93ba5ba53dc12f5ffc6720e7572f4709fdb74cdf2dbbf50a7bec9c10ee302cc2c5dd878bd109d1c87bfe3e20883ea4bb25deffe4bed0029e066230311cd71a4beafa608d43d615652cf9c146204c98a01cfce1f0ab321105b2f2659d375f691e2f6cd9eb821adc512718acdd6120d5f64f7950ad04508b36baeadb52228ed3a1139512125834c1f449b2a9613d67204550d2bb9a9333d567b6c2ab154f1fb4bde51d4b5c50307989ed07100095485720109b0b89090c8a2fb0c51f3f9ca1eab0e36b4d9200396e7958523e57b705d11b209195a60cb9f034fced26b3336b0c49872fa13d56cc410f59463e4f312c93423d20f52bbd6ff9d724752b5ecdb148a47e86c1378111d76e77a2f4434816e325c62920510cf87382f2a4c1417203c4e17511170ac616fca2caa49b521dd721a8183f1120ee7ab5b0de3332ec1fb81c2d5baaf0509eda6de26147b081866c2a9aaa3435882011ce790ec01637ff533a68dfd8fa22733bd7e4fefe18a5796e9bfaf996adf54b20509ea869f679c1ae8b074619487fedad28874cf9c93d01003e9dd0df2f45b66b20380577ba031eb78adb2c71bedc8154056b157ae0d01203c19d7df420a424f71521d04f8ed62e7175b7e70d7f92dafff586e5a60be02901f9f67e97374bcecfe7830020c6be51acd068843922b23415a1c7b39f4846da7584a496483a36612dc295968c204e43611bdc897913427fae390deb145024077c5808238d960f93c62a62f70e6520e2f6ace6ca1e8b6b73dc2fc3c43f3d1e740f1c663e3e0ff9415b2d282e1d377420bf6b145630d553e8c6e40d84626f01964e3d6befc33ac284263ee2c35d76003721a9d895ebe788be0a6988027ae6b33a26bee33016d8f4b64255f320d34deba4900020c8bbe181b5482c9352b9d607eed48dde4a2759d765bc2da53cbc1c03d68da30a20818a0a41e03fcaf75f38766bfa81738f0c8ec2fabed7142e998e7b55e014300120b61bcde758db04bc126bc67a1c87b9fb4f8eb2c3958b9e4106306508e2b22c5220cec0548ab3977bd4bbc802483f0c2ce3b1d6dae43bc0f8c79167e4a76ee6f7522007f74fab71a89f6b94bdc8b5128de93ef2be214d04fbb8ac8c2832e1f2ea6371213c26fe406e69b2060b60c6d0eb7759fe85f19cb2288344239f2a398f04b2b8900020689efa2cc2baa15ce24852b1f71d08200fb1f2ab8e10be0c4db8c8263a85032220b1f2737db4e6e55370ce004319e7c5e137f3567bc4d5603e4ed1f5c636db6a6b206dc3dc994eb2ed126f1a76892117b18b24028dce73ab6d35924ec69df9bc361121fb6e92175d959528d8326cafddb4ee94fb9ffc2d9c8a413898f14cec99d4299a0020349eb2d5c10d69df3bfc41f99d6cafff21ce69323637565e1cefa60173ad0d78201818225053a5e2d51745c5002281935d4dca8ad82ff76c5ca2dee6be84fb767021e8d31f169295ce6052584692ed9e4da87e637ca0b52455f216d5036c55d45c85002100c51c6bcf08c0a3926b2be93b47d0ed8955386d369ab8d6849957efb23904a20020b4b64e35cfcbde2461db3ce57292361aa30d136b0e7bbc766f4aa3ab4a72b66821e802f9eb8168e002b64b2b7ccdaba46e73e5c422dda18311788b19eec7af5782002062e41e97d6c8f4c6ac4c0f978f6f8488c92a51eb5793ad109abee4d6c009256920009f7f1755459578897b027bc2b282466aa1d3b9b0983fe4cdf51c9090548d5120760bc9a32ab7facf7f3c1d1aea1b6cab28bb65276e269472cb24ded949256c0121ea8ed0306eb39aeefdd4f57e98d25cef9ee6288a915cc96207ddff402bc2fe81002138caf88bb834204209e39e6c9430ceda0294f1253f8be81917370a34eb28149200203aa2e1582961cbf9b22333ed51aa4512dddeb3cef2e4fdc3644dfa5145366618203a0ac51cf2e1a98ea343e9ca5fbead275516bc20e9bc421e967be939026677682164c2810712d79c82e75116a7e173af1208478e8ab6763c7ee58551b4f323f78200209943e959b9228e61e5def9b2ea18de1688565a2c49dd98f1c0a7d43e81a6800820c4ab26007fa076e1ecd22f104a860f10b22b1ce2ad1229eaa2cf204815f7246e204090f4ac3d42b2793d83aa79103e0d0488ae1297109a6f47bcb29d8c8b6d383d2058ceed8e9f61bca997b4fef220feba451f5401ff7186d1348aab81d7951b5e1d2014994a638981db8c53c2a364c744009050975bfc23fe7bcfc5c8c36b3df0bc2120e26863332f579b931156f0559025f7f96a4d72a9fd108fbfd5c29a71b13df72520e84680238c100c359efc6bfbb7e97d3ddd4d1d24ef3fe8a5208a714580e9aa552108c2aed76de2cc32cfd4d0fa02eea4be069e74da620ba09461e63b5127cf9d8e0020626acd1bbc9c821f30e5ad5b682272cc4b87a9e05323357a367e170ebdae283c20ff8a87793a1dd9996598d50333ace7856916b2add797fb4cd7cb7fdf24245a642165e43a1aa272317475fddbb370cb547766ee44842ab25d83cef370304213eb8b002121565e2ca6c09a263cfcd17fed20fb6aa06e1e798276a5f0ca8cc16dfc5c309600203e8034276a6f2379f8374e8fbc709a692b2dfdf271c0726c4f890282a40eec2920fa335f7d0543267026ecca4424d15cd07755568dc93c6557f850031098fa55572036cea7284ab1abcbe3c7a83ea779392fec2fd8c1524f95c5bb481c67e300600521444c7d18c458aa1e62e5efc656b27d6396c2fc9299befe67e3eef807711f948c0020829cf5a6319d4467027f9057dfa46e1de952a01233e068f7fd18cdadf9a3534820b622a3b592686cde240a056840080c5116582bf166f4655ace84b34145a78b0520fddc9480245d4ac36034ada99a182ada449373ea0fe16557c3c6d9d55b21942720e59aec0bc8b52c1ea0179ef1bece2bf3275164c8b14ef9528a1335dbe13def6620af95305f745778a84f8405956a82816f366957d31e74af5509ff0b7f7dee737221424e7838cbff036afc7e59ba67c6add560e242a1772ff069a31e5e320c08428e0020f4855f5217b4a20c250b75c69d494ec450321911f9d7841e489d43b3739eca792010f35a5fc740eccaa7fa007f33b028089dbb8bf539f560df19627d5bdba6fe3f213c35de64e6b2d64bdb6ba246a5c9b6a91047e35240db65c383a1be9210b7838c0050fd000184213201216f3c4d446f38e3733348efdc4a4dfd79febf41f03567e0ec2b5a8acb93639951dc506d8649ca6d1926a25b4f19549d2b3700cff07c100c47c456ae23df2e60e27f8822c427e2de12038e00293de92621bc4a27d104803e48d076e3ffcf8c31f549fe9f95c6b9233be396cbd3c557efdfca11fdd91397e52f35d6b3a2130fd46ae505dc66bc987d8e93689d41be09a1df024af243b843e18f298de218ab87e557c782bd20648dc4fd4a5e654f1e9fa59626663adb179f51fec2f5534f2f4929ceaccd34d6928ca3d42fcc5efa32490428abc3296147147eabffda85ec2be06be4512448aabe1829d0219902fe1e9cd2bef29a8f89ed8eb1966b89bffd00015e46cc825850532b9bd9d584441772b3963c554af1424ffa9ccc7d7de55dbef9456a3fbf7b4be985d185eb898e166ba646daa12cca359ea77bb7a59e45e8a6cf2708c16b5ccacb708839eef2ee4b5b6597ba3c5899c9f5214bdace3a521fe36cd39b77952d1bcc81f9e5edfae34f1cce40369b7ee492701351d34e231af8a3768cc158a796e900d0cac462f5204da5cde3abcf561ad60f91fc8951e4fb37166ce37261649f840aa51e6ff9be749d72f1f5b5ae3349f14d572860dcf36aa4655788b8cf5108dff7a4e231d2e2a3bec0a159a1e16c9bb38c4052439f2b6b1a62addf739772a1d51057c89751f7518a3b1cd7b37c4ff7d621a54bca5b3936b137c3fd0001b4a09bfe02e11668f8f6204cb9ffa9817ec412c820b6b394ce2cc3a12546ebc5052ec1c74876f3de8fa22e19158198cd04c1336a792ea47e63c2bf4e85dbe7460501606c97409a906dae4e7ad84517a7955793365ca4f49b5f6829efe61f52069fa19cb30ce0a74d415898e7e134ed8c4106cc9d6be32577e9a024b9dfd8129cb5efb1ef282802fe0066aa41e587ac9ee20d6416010e1b0772a44b6d6d1eb4ddb32b80b288952b26323bbec16614c227e4599cf721484443f56571c7b048e58fe48b1786c44e4979e105196eb9b5803795b8aa3d3e3a8f85e10abeb0f7b43b9a62dbd0905af620309ef74f281f39b241c4b4c109ca7e0ec55b13eef8ee0544c820b833fcfd65b4a897458cb9aa376c6bdccf1032e099598452130bd38d28096322fd0001b6c9b1d3d60a49cdf61f9031694f9f790a4e0118ae39cce789df472c13bba207d101410af89ba4b2a88cff5eb09e53593bfdc69a4e2706633a45c77a6d8f4baff22c7e5e6b32278dbfe97100271b1fd1e64463fa6a757c4cf4b19954d1d363494664750fcde0f0b6e35f9e0f08f4fb1e438669f78b10e800943840b15541a31c3090437364159681974adba314bcac37e6cb3ec97c3d8e0cd52241a4c162787c199a256599b97e488b8a75a46d2c3d8af1951ddac43b0d338e739deed1ba26a8616f04d124244f365573b602697aab0b427a8f26f1a22de77c563cda13fc03a030817a837c497732c6108eac62102641176f62d5b8e73d0e27e17586d6e2c2c3fd0001ca7e381637425fa77d95f92b8b491ea1398f53d763a6ce32a2b2ff972ab74bd377723dde5302c487fcf7eac93b089457761ca341f143b7c5aeb51b33cf103f2f4ce4c282bc5bb8c7290c2a9dcc82fce3dcd9669f660872f602de46e869fccdd99c85c06d1d7bc9af4e93502e4ffc385b9641df8f21a25a14b8e4cf99cca023da529f8689d86418c37dbe3d4116e08069f3d08b9c952f4e2164dada9e62908d57cc68b264df8fcbfe449c21cae576adb8169a97294a6bbd369a58654cd182c8403080b3a5a916c107d7271311a291841f3e35e065d48f6023ec4118a3a88d417507ae86b6c74e6ced02c768e0f879844e22862c357a9fe22574e30c179e2243e62192455f24a5c214eba9746d2a8f6a47625b53e5e62bcecade179907fccb08e4b200218a8694fa7fa94c9c174c8e1525bb14dd946981e66b1c02178cde818615e3b6910021fca3cbe539842d405545a71cdacd7a795b6f6fd1c1095497ee8ee215d5cb8eca002039f76b8f7067cd9cf8bde783c8ea6edee7638113ec6729093749c2cc0c15d13c2091ecd1eb4b171326a6a26d764e72e09160ff2112e577149bc7c24e6c0907324421cdebc7f780b73aef4358c6f7e5c9a78ee95dce81c4c1bbbf570cde3c43ff5ca00021c6955241d2f09d2e90e33601fc139d0603919a1011ea7ee89f0e5d53727c45a3002037be468901ac92d7c3481ad63d364a93e2daa023bbcfaf4f6fa40cc54974de19209178cde568ebc660a7698cdd7f83d5932364eb8ac144e62cdc045a00ccda5201fd0001a3347a2cd4b1f5337653554be5fea273a5bf0292c0fd60908c6e699802079912372435166baf2f71b35ec0e00a714e9f7c10096d0f39a65f66f220057f369ce7c8221dddd00e90604f9de897ebf9f06afd41814b57350ca2d7ff7e08f60c94dc1aa087b7975936832a7050ae4a14b47b1986e70d61223cdc37dfeabc5e4212a869d953450202c9c12db23f8819faad59252173ac11c54020fd7324b4d39673befd2b585437affe9398e7967772d408c6db860ec512f94d02b0cbe9c9d414bb4be4b08c3a420a549efaedaa6f0aed7c74044785b611b2d65abfa33374748adb690a54c8719131e9dda9d46afc9dd09c8abc498d6de657920642d3d47a55f17fd3fd000189cc7f3247c6ede0becf1ec89f5d92142d25a713e037454409ccd146dc18c58319550275149342c690f00b1e060db34bf6ea34473c661ff9f32a40214a4715bbcea59a9ad6ff976e43b325135ca16377be53be39255f9e45ab4b3652d629a30500f9e37671d56952b215628ef42c1e49046476e9a760041003742751b158aa85c4e95f70e267d2631491c60cf09a174816890a2dcc2f8a38f296389c3ea66a6d577301297c242a6b9ca7465d8282f2e72e7673f9e1f1c8f470949c970854134de397c08c06d5d21fc487b2b9529c901c052e838a087f15b802d081e869cbb311efed66ba31c17c73cce1e0fc32d58d35e54bc5524776ee3f45d7b8f81fdad4d621b95f023b2202f5d7c814aa89c27b5e0bf5cd64b444c711c2e1c4b805af4fd58300208214f56ae87b268fd16d6df77efaa715fccd1fb1e6298c1c4f7a4f18d39c2f75fd00013fddc975fb72a66d5a7f3ba6df9c1ff55c7abb5a8f08317c6b346875e850223d87d72d71d9b17c11bdbe6eca34b521fe98dc8d31bef6fcfacec74e5c4a6c5f00ac769363df4720e17c3b687a42f29e8edbc20184dc9274d8546368e3fd2408bb68dd224b73a1487c10f4e29b0d8b9823f7c73db26ed16baa4c5d75b162cb5a97caff3cc8957072902538e0e698fad2e90b471777c5e8d90e5cd313933c2f3b30e49b6cf7ae7dcc09ab2e5e464601f093973d99c0815c3ea587d1803b4ca1d9bcc2ac20cb818f95d9239fbbe62c3356ba41f7dc9d2232f6221447fc4858bbf11ee382bfc639d9101943d958a59ff9b81007508c0879c4bf16885bcd6eb2383898fd00018ef6741f57def1a55a42b565ebe0451f0208762da626acaf0cbaac6d9bcec14e22c15660c2a0c5a23b27c445ad968a7e6b2daab11463040eb50799858b7a5063965f947234beb0d42fe1c2dc7bdce7fcda3de1bae384b62e798995eba4836dbee41a8a4de269c026018a22687ad77985d049bda1d39b79528b320ad3d22d893c547b4dc4acb57fac4e0603468beafdf54408ddb7d4c5db0cf14162d0d735b3fad10888f0048035481e5713b846761838504a36c1f956b072b46f11c7c6fc86c766c36fc7dfd5068855335b96162d8b299e3cd21060fed730310d7748c3d16f228b0eea1f37f5eee5453e3a19ebe1e60e4f2834d3338bf1887969de57ef02a1bbfd0001b50e09d8212707f0035a46513208bdba63a5d1fd7a7ea88e181d7a3de81b8afb4ea4b0428eff67c04b27372d73896fd9df443aa9b2a42cdb8665271bb1c54833454504dbc80645bc02366dc998d334b2723bbf5ee1e139265c107db84774b4884f26b57818d39d05b47d5bdab25778965a0627a96ec303c743ba57c0d32d0337a6d3dbe982284109eb0a7976221816cf3fa7f2e3cf739f30be83f253564af7f411358d9c5340fa5578120c48b617c088d9a3d0811a575bb1e96b746e25312ff6d87b9705c04a10123c7606b4c5d6658244121310ce3f1d062250b57ee51e35e0d7b787d38206fd9d26c70ef94f337cc7108ae8ffddf5fa314e6c4e5e1538fbb0fd000192fa78c12fea8a45902ac86e2878e8327b5f4c2ad9bec7d6167bc5590df49cbddda4d4d652f6f087f2ddc7a2813aa5b33048adc5f900eb4acd983bc86ea7b89f630b647a9ef42ab1bb6484ebc20989603144912ffd80158aff7e7d40a1a76489afb21f5f711ecc3ba613868a7aac4f28f2cd5440dfd064c4874d4e398a4718e10de8f7055e452271f01b27544af7035aed32259796962035d7bc37ef843cdccfacf969a1659e354ec27efda8756b09c0bf855f4fbf7598273154b3f517303b6169bdbe4ede890a90d3b34c917311027afeaca7dcd27158b04886dfd81803594292cdb3dbb77ad3a8df97df63095fd28c275b956cc61faddf770608b898d74ca9fd000138b1c34ee04d01368d9cd8ec4d70b97633951ada508c031470cb4cfb15a62426276c7442e7679f926e93325e287ab9ed87446c144be02e559dd076c9c5e1d6a6a7de45438076b1bd7b9ff5a821070877c1d9626925c1f47838e56bb6982b54fb9e131741bab5ea38aabbe4003538c454980dc3be9a436283edc32a3de0321f114ad32cf34e860ca36f18d476980910e564af57da498cd16d08af8b4d4696a9962adeb298d7af4c8c4ad9cb911d80a2115e833f0856833232f92f94cc9c3a6a14270f4c30ada671bacc9aa35bcd3c945dacbb01f4556ebac4e52adf8790dd49fa799584d227ab95afd2da9e67e5642a90e54fc8b693a07384577d04cc40861cc9fd00012c7977632367de82810aecc22a1a802a1aeb6ac54a4a79d8e61606a6eb72effe1abd74a0a18ef83709355e77cef5666f16d94c0d710f5ae3973bb26d07c0a436aebca4d156d42952cc8cedca94162225b5b4780cf47a6426757758957dcf2f638ead2312e67e140ee8c380949c0885c68b396517ba122d90a0ed184564bbe67bf1d0115c77857fbb29945ea00d8e809c295295494dc8cca091d900837b60b31a79bacfae59fe638ee8a2208942e27f605c452be3a4a43cf21e8e0f78e7cc20ffd2c546a0bbcc404b415e4eae2c7b9c2f9121bc741a6f8c5c28c9df3e0169cd86809f5e235ce17fb625f913f94b75b360f9097b625a5305040c55a4057dc4a68efd0001d594cafd37d880576656265ebb737602d6f3b9d0feb3147d8c1f6e1514ca64e3ee046bea5e6892d8db9c094198fb3f697ae6fc880075bbd461e9aab7425ac3a7fad84071b170739e7815d0c76d2ae7fefb718ec132b32a842c58cde33605488043aad9c5df6e58401994a38dc50779e348cd18582ca74aaadcce6df39b221d4235a88000eb2e3efed6744abd0b68836d56ff5d9ec973be549d52a195195725caf3b8cb683da9b96868d35727bf4b74dcbee838d9c39a33d15609fde1c2b345974a93c030952f52da7ac20b8c26b340fd9c08f56b97ccce21004af28ebe4946a91682f9738085cdd9a53e160346cfcf396cfb59465d114c600d9571634aa3c880fd00016c714ccc93e995491adb6718e9ef69fb2cc36044d9e6b73130606b9c845dfdc56e9518a120237f58fb6f2546bec6f47ea6a11f3d898baa47682fe3f537542fe9f6d3679398064a48a3ef8abc92e89eea84c6d8ca956b3c40e9b82b2a496bb1230f8789fc7b0befc061468049d416aca3fb41d4272304a728322684f9ca6125b91dea97bbbba8c83045b5ce8b3110d429d65998b3aed570ecfedd176e98a91eb3410cd501ba52d176bd2c8d05e94acc8f352b3cbe12adefb82d34e174765ef1197f8a93fd4e03c98967ddd0332733e5aa0ce87f63aff78a2b44d10ac63c1549d9a9c6808b743e6f785173924d736bc0890f2e68c1df72b0fb1632bd4679e87690fd0001e736a64f64d58af8d43f0980d29ba57dccea56ff13040270c926a2703401b83859a94d6cbf4cd62109053c9e6ddd1cc61ac649ebb1243037adec455891642de8f43b57afe96cb63736e3e7d735bbeec8d1dc2c698f37f0bcd85bd84cc6b7e25eab500c03f1c62ec730c24208e2df2830d32842277d9e5c9416a91217cbdad60d6a77a7127b09e7463354266a1130d1f04de9041f0f83d41246766027700fa9a02d10d2b0fcb0bd534d22ed38278ce177bbc1c429c09030f105a67db70011d3eb24754bbb31f8a6a98bde215f635409e4cb8c3d769efdd7f1561976bd29876c8a11a130cbb8e3fdf15fd9ad0329852dffd794f499345c3fee09eee21997a5c8a021b993d7cea74a8935b42df2d55606a8841b1a4a8fc0321701d5de9bce1dd1bee100fd00016e510cf2b787c67956990655ca7ba97aaea25163317e7ebfbcf2681b29b0b821aedb8f9b2e309d37f660ac7169dc8234a7e7e4d01e79164eb75f28d284c52ea3d7edff718aa96db6b0b6781366ab985d202823130ca53c2a8e5186fc18862348952e967b1a3e3636517c3e3c48d8fe5e4ef1d5e230ab584964c888c61393ee3d6e34c50446b86e68ebfd048ac86065f9a9c4bbfc2474027b612dcafbbb0416f12d3d856a96557529d1144a852ade77f50f600ecf3c0e00296576eb49a0b211baaa815cea78e1b7a56a1c698ff58488378722f58fdb1ab8bb0063654a8de8344041fddd04be1b4b2b1944ce9d1ebda667caf9ca00e5c2de892a9063a449edd8c1fd00017140014f19e2474e1cc4b40a5a8033f3ddfd960ef33c7e35432deabd85a5b2c18a27b85477c9e6fbb2d8a5e6c686078009b1f7868768fbb5f569ae3429fd64e49cb3a62f32fada09059982a03a20494bd2fd2caa75a01b3ecdbc32acbbd648905d56cd2aefc714af1c24bd6e8f06b1ddbb85e9882ddf8f0e67c654402bfe2e0d9ba404bb3da2d58305184949ce513b3784c3234b39d25e0c6df741683750cb46d7856e67a0d45f4839b5305f9965808d41cbcfb2ad3ad18cdba6744eab0148dd0c1d5e687b6e76bdb9408766b57297be6fdbcf9d7e3e6918c194ef32bb776b5ab85f3a6a164baf866d93ecc3acaefbac43a9fa267bc623cc136ad712b00d788efd00016d3db1d97d5d429249f5cd6dc35f61d0b1b44f1e433cd5e01d28afa6cd6718fc1432b77e8eb6418b0a4b6fcc6707cd3d5c6661cf57b3b73b78feae7c89e25eff2ec1d465be91a18b2f3bc4311919f410cfafe8ae8a06b4b947f9b6fd8ac17453c2f558dfd67f71829be66250d40c3aad6e3ff52d1c0c455e7a4f646445405cf1ad45ba65392bb622a770ab0f5a57e73d32d98ee49d73ac7dde7dad9b9c8e1da9d1e6aef0f9cd120bc1d2cbc5ad819190b758be385f2b0dd736184382af8aa419ac7d734881ab4728ea927b6655b7d3faa4a1e14caf6d38cc706a940bff9c9021e4b6c3ce516d0257deda35d2ac4e0423f01ac849b19b919b773a58f34a06c6b1fd0001464885fd950d292d5aaa6155164216521d2113d795d9aff389771e8f39ff3d96afb5e2359fc52aa6d6cbc3921a7a21e6f3fab62e748337e2cd212456e2b2f52dcb352a75902ac6fdcce93dcf027138be788aad5e09490bbce637751cfd5bda9ec540d7daa92eed7b27ff1bf66585fbe3b39db3de9dd386ecd7671f2395522c1c9006908afd04fe68d88194cbbc3216377cfc27c4fce55c8e558ebc4943cbb477a1172aa8b344c08d6fb853e64ff0f986b7f3e7cc3b2c3d8b2abbc43e08eff15787bfd6a9a8f98b207d8e2530c0c37a37ffcec2fecbd726b4b845ff48a44c1ec7031e4e663ec0042663ff81b9a7fe7d599695737511a685148fce0c3eb01513bb20ffe083f86d11f3c552efeba225a93eb8ea756f45c2e49a4dd08467b79a14000220fd4b0ae4d4c5a165ab75af08922366e89721ba7ee52751e0b3e64017787b9445fd0001d0a8ddbc130bbf7bcd20bdbc8728e812a45cdbe602dcea5826f753b94e1220cf698c1212464a17ed846b29db82b1cf5373241d4117b07a8b7d279d4e8511d22c47be22291e9ab56454becf533b771e5e602542d07828952d5ef900e2548739d57cbb6254c667bc50a0f97c11b7f3dc1624111f9d32cb0d85ac4106b41cd6d82db7aea1135334220163c190744b6daefa456f69c331facf9083af360db6f2a2c80c423357c8fd1bc28fcfd42db69d733efa9ecdff9df079bde1b73a63ee74e5af5c75b67a4824a72466e17b501f6057a68efc19627d115f19fbcb48c0e0889857f0d9191db5875ad6d336adfbf7f09989b2aecfe868c2efc2cc64af46d07c44b9fd000151620fcd4091a3d3e78e8a1f1b5ac9ae8bdd3760320ed9bea2e1b237110d7747e9894704336b958fc92eb200f06507cb56a12f202a8b098bcec5b7b6941dccc18d2bd968538185dbfdbb6ea61eaee22aa8ad24d73df0adfcfafaec181fda3626479710bc19835a5aa7a3b9afd8166b89f5aee8d52589059eda61f19f6319335dfac7765a9a9e22cce0fb3236eeba6ce250ea0b7cfc4a021ca3c88859f556dc1137349a7ad5a628bc47267ad91ff86174a2fe74e3ab298ae8917d6a57a916f00b16bc0f3584b12b0d63141a20b1ed54c6551c6dfa5647783dd9acc68ed75044faf6745161c1ee4abcd9969ff9e01f14791de7d0c8e44e77a5b249e2da833ad3bbfd000119884821e74482b639ec1f8484eb6199a01d6e0a3606e25527d7a9fdbdabaad9f378a9aab04a153b1003d520d03f25a9e41c82504ad6de9fa6cda30a3ee1128c35f49d469a79b3c190ab0fab92d9977478c7ddabb6a66f291b58756e040892f44ebf6c8d0ba3cdf5d9335c8b05b0d34a8f4e832c54979274f5d4554af2d05aec3d51a3cbe03282c9c104f664fc39863c3a23396e762a5a8b5ba18b3c84f0f49f8b7cb6f627905a4fec65e5ab41e868561dba5cc8bcaa8c201d613eb678342aaba5e5d44f7ad7a58810129aaea2e6bb9850ef022e54a50b18e5fbbb76b93f050c31d279e66cd51a29c42591b18db05e88283e52070e6eeffd8fa447bce2f22eb921b2e3f53f38bb201511b9e1d5bbf22bf9e23be137543e34d81a0b194f373dbaa600fd00010ef2d9c59966c760260612842d16526b4352a5f05de655fd0bf50546be1d893d90f4b8264488467880be2c4d7f3c577e6b68335f1e0764fdb16d6fc44fc5bc2c1660798e6b31bdcafbd33a9edb44e48dc37306abe9ea761cd2077e977a6d5b92aff3cdc33f644f47d90fa9a4b172faf29e264c9d55d27cc4e7b7e5e891adb566d172207406ac400348c386e74716a518cfde36169e4cbd8d3093c8d85b99e54474fb7c7ebec5a3beb18b664b953f4d9037041c45738e87c53d55eb92fe862a78627a8f4f3f8f3ef01102b8df05c9c1d81da85e36bff90943e0dd93efc00edbec664fe16f03c8e79d3e105803c50a606f9812d3717921477e224efc9c38604e932116d048938c5e50af925d722ada7f78de5fb1020ef09d45e001364d0ac87ea4b800fd00015a2d2be1965546e9ffe759719faf9960648c9183812a7db83a24b0ea52bc26e3774ac36fcef82756ad386332d49551a147e87ca68fedb289b965a4088b3de6506378af1f858c1c995313e189684bbd3e484499dd7a26097ee6e89ff1d0b6d4c6c03917c53a95d9fd1b6f9a8e59e1687506a5499adea9c1bbf2f63b14207daebf64c8bd5742bec97f6364560cb3d687f8a1ce12a197e87df8b23eff607c97849672fcd5803b43bc8b6dc2090d7b99299248007a3207621c0b40e6fcecc3f68b2888f5abc842a44e6f019391449a7356f9e2637c77612b342fe61e76b307ffb780f529c6c84a6e6ad8d7553021070499e85542cd288a543bb0d318b7abca62c48721047951dd48307113449db6a3f997999f421c62b4524e5baebffef1ed21a6a1a800fd0001c4594030b3c64f25c491e6a5ab25b959438c11265e0fb2e5b2c58e3d59c86d642aff89f4e5137f08ee4871df4098a5748795d596baeadd2db0b006e02822ae2c5f6a93c5281b82a7d60f8c390a264d293f1769d55a5b1f78f0f65f7694477ca79ec16677993d5b6606298171df85a7a8c9bc74a2438618d2aeb384de706b797758dd418b2b5d59dff089f7d4f7f21a8390a3a707c08ea4a238682670a0d80297ba68febea9c4c5afccc241d9f95aa77366880ccf891174b33d95f462839d2820451611e8453d981a703595e8fc73df0a4963c1baab591b7f3dbbbf62b50dc7bbfeb05ec2ecdb1a63d06ec20c4311451b4129a08b94049263e180411ce7b8b7b120a96a6184af4c9ac706b2fb01d6389d94cc4e3930925a5b2bdac9e96dbfa42a78fd0001cb6e8b1c0da834c4fc0d797fc3521eda3ddacade8a4ecfeb518a2e2e8a234d2f6901a7eb4d117404328c70a5c24f36236e88eb1dd19a7e9cf4ec7582f472da053e283dc193d70bc71867d2a348521a860fccebe0b45958f1b5919cb833d79802640b7665b7ec45135b24108eac8a882121b6e6734dcd327b506a434cea9298e6067c36457858e3c18d88a320ce33cc3861f5329bc1f9a8f4af57caf2c134051b12dbb58e309d7bfe9028c3b9b4179759095fa531cf20bdf18134c517ceddfb38b4d94849c3d7eae9b46c353bc43d2f8345e345f818e328875c1bdcd754b706258779c7c30592d0a4c4b5cb557eaad484d1cef2bd4d98d12e70b8fda33f3a5e8320486c47e0fc0d0e679b413041e800ed28ca862ceec23c1a937954131b960fdb3320a3e4a1a7ded3a425d38b144b090d9fb0aeb9ba631622041a702626583d41142520f6fded7e7b2408e70ac4ab0b4d23bc2571cfb9048b0bc738dfd0d6507549a451fd0001656bbe84db36e12bf3c78c07ba3f561d2c2687aaeeef2e2da17cb00f060e025a993c12551c12bd4d75c4c116d18951515f42c5628b0858d85b8afe5deb0aa14a2e33d147eb62b9a52bd4769b6a97382d6c39e5f70e727ee0c9a4684fcf9a03e7232394b4ecc6a2d32e27fe2b436b1081bcb4f3c8bc844e9cb1cf9b828bfc155a2467d506be2f89c9a36bfe2d19125fb21666ed4625cf881ffba75e67d209fde2742d5a46634019cf1f96c1e649a9dd58edbc374b9d6220bccf20055104e8ae8917537fd07f69e12e0b8200af3d924997ee33a7d1e9eb3ebba741f0edd1b59f05e1f279d0c4f7106276968fac8055088bd5f57840438a2776bb21693d9587d188fd00011ae402863053cdeb79711a4c4e7472a1559d86f89bc4daaa6865eced1126197f3c43d78ba16fb2d6508632ab4712b13c3f45d674064a51867bcba96a71b7683fa69ad337fd0c50e7927b913f025fcc47adddf1376a053280cd0fc45bbf29767b4555bbc4054a824c11dc93c3648b3e1c2ca42a5dc5f536eca084370ef65c5a6229bcac295c3fa578fc22eab793205cdc8d37fe3cbf7dc6e1a7c53ff3c7e4d226f0a0d4667bad282c625695d4a1ad88931ca894d4931b19b09c56d2f72e72f62600c97348ed8814f0841baea716d1e0d90f26f8c3932a1e66dd1e8c8e039d3e891ab7be0a887c16ea9fbf3dd7f2c7200587ef56cd0e75e8e828aedcef6198e6d6fd0001a265b258bad27b42d12a12e43a25bf566f2b77f6f0924e8e0c32f294768fd6d9f92e5a15dcc94a2067c71a1f9740700ee0e7f626d35fad2c441b176a077fe681515cb0c8613b0b43c708895c9ca5a41745ca87cc5e8d02e272a484be75cd9afc7478b98bd4c030c3dd4885c5214efbe70cf9a1f8a2616e2eadc150f979e1ca8c389b6fa288889464886bbdaee7539c6bba71ad0927e455d45db2c7371a5b15ccd8c7e7e91592e9bd057d85a18a9a9d1165a84329a6c7beab031f2819cf36a26aeaa4cbef4e7871c472b9b363a1a5d597005cb98e6828a7b6b7ae81cbd036f8d8afbc6289efacedbe51c10f27462c81525b18d119ab4527d9c6db52cde19cfdddfd000143a024d1136d92c3d0de09ce4a3837fff20ce4c4307fca87b1a09acdba6a1df122cc69dca4ec3ca89118ade730ec8959d0dd84db0eff5ab2ff71793af68a2d6bf3a301edce9cf1088046b3177c18d90f6318e2bea3a071469873d1a320d5036a6ea1375ce17113721f01852e1c436745536bba80365d2ee1060a73098f99983d18511059ecac21b84131d845bddfc589a1a4c195ee1d89ba9845c09d681a87c3fe2322cdf571b4a31756d2de38276b97ecef325f4ada73b747d78899c3f84aeec26fc9732ef5843f8b2d7af0fee0f04e01f85731eb9fde3f0a69c4c0aad09f51db5cd03db3627cce5d2a1dfe9910817efc2e53ebf9f79afaf09521a3f14980cd20d6c0a0d48152ef8efbf7a58b809f5c28186addc9690ba0857cbf2c96e395e92afd0001781c2002615bfb1b7d35b2e208a1df0bd8f95f2d639422c213683828227885660bb231058546848fd01763a1ae99e0a7a1040a0f398d8171b45ffc4a58a4439a5addbad802fe79c71a4a27fea8ed229c51d6cb26c3e21127aeccd2f0e31ff1c7d38987c95b917d4c86439a7a0d54b3985ccc3072727c654bea4d473676a45f13ac693de273581cd6f864fba7ff00f3e61cabfb689689c49849419ca1cf489cf9db2138f65c1445b74a0e0cc83e8368e6e79149e699b6e64c77c70ac5156bfa98794cd0c561732fc7e3623673e1f0ebc09de026d9745c4986d498762be6799cf99143fca5d69d04283b504c8d8e325c8811853d467b72e204417c7e35064ce7bcfd0001e42f7a528e3e1de18bdde6e2d9888886aea8ab8eb149299c32c68f6c93a19889efc05e641037687a091933cc83bfbdfac77d48a2828bac6b0625260d4b9da29b0d215d403c6d3aaaf33addeeac4d46875cbc4e3edc1a865d6fe0b6a588631188897cfd131672a8c5d098c0ff8ec5b17bcaecac1d78f83b5296408c994c1e81f93021da25ca403ab6694fb3e82ed260e88067e3edcd8cd0e70ce4c79b49962096eeb1eeb2b17be69033a338ebfadaaa1293f7fe17fb7ddce051d9eb82c84d639bab4a415353ae82dfed2996a26d184189ff1f25d3196c67f34ae50a39bdc2f711ed6468b364d1f0ea8eb29f486dc6c2f6dc59a24acf4772bd542557e9ef4b5b93fd00015ea90490404b84482136f214f4497c09a0ca87dcebecc03ac3152ae1c3e87b945f721137c7a309e1036d0e5d94c6cce38c36b1645a62c7160ca45abcfb5c165eb696154ae38684002a150ab45f1b8f1bb69b28757e2503967a1432090b6c90ce7e3671860e40e95200f8a1ac1ad927b49bdc0a66472eac7123c383ba28578b149f121ad8b1ead1e1908858a640ebebd2e1b8a4f787e5f41d573168493115448edb0de580a8c281b783afe2b62ac6ea243d021187367df9fd28f97e2ca7c8856d89c64a4c3c5e2147aea8120b4bc8b2d0b8ec5b7edeed35d24a800760e82ab19cb7363c7b2fcde6200b8e63e2b698489e9dc0bc4c8f1ba9ff68b59a7277038eb920fe94cb66b60142227c026662ddbc3dc29b373c5c805c365b245c2f69152f1e2b2007e3634d06ba18b973add33bf3e23a7175729a9442fc4213adcb0e5a52e2cc272096af7547b4220ef6335cf5fe47c75896ef2d27e58acb6d7b444b3645ad1a9370fd0001f3642f6dab0eedbdf04e554106719fde491a9bfe00e8228f250e0035f5a95782bef5680a15e6148467d4c7db9e22d9a4bc766ba884940645845b25ace95d405744929adc2c63e41e4c807e33a0d514919c09e855c9d77690be00720d83dcf2b2276e157d39b7acb3ae262e65a8a09ff49478fcd67765dd03b545d7e83bf194ee6b0c5f83c41f7c470e0a1c3f1014a7afc2b7149c01b3f1181eeee4ce8a9be47f0f7f897a05683629d6164fb882e1b67765e7560e7f5c6be76ad9902a755c6af0c455156b93f14e618f533feb9d351bb956da352b7a9d63cc5082d6f9768d80f1bb703c84be2bd75b848f06925f47e226c424c0ae8ad4293b0e9c330cdb16bbddfd000158cc2778c31d0436228349fd19e0428de5916401bbed1f3668014cc51cc6b42381c32e5a7d5ec4d194037b0544284c52e151b652e2733b17065b2a98fc1f5ff30a8acf5dc7522b64eb94a8a71526e2aff0acba058b541fa412bb5344eaae4945ace66b4f9251e842e4b52feae5ad89ae1ce3617debbb551c09c87c6e6e69b7942f1178db84dd758fcb3f63d658e3f48c1a47b725cd2e003a59b8e318950a45fd908c6c4d53d706dfcc2041c046324e3925c9ca032f62cc825f0c11c9fff3fed99f616837244c7d71b3a8d79a8d5bba3284280b59ca1d0ed044801b7d4d6148f014c8c04e8859d9c3d074a7ad77b86ea0ae39fde03fb33eda53fe5c1728cf2daafd0001991691f21883d17fbf12b24e86f0f639967240dcf120c01713ad612ce32a7b8a9c911248414d8a2b836e82c827270f60f154d5de0efb7aec5b3db3f8b9cedbcda84aedea5fd0988ed0069871fda9db5ec2a1ba0f04592048f0040599023ac01e758886daa3fdd9190bb1c8ea29898cdc711e8e8e6c4497ae95ee2e5a6730bd8388d8fa812b21c9b97af84a7cc9f790139b0005dc86efe16436e63982fe8d8ca6bc5bea86b2297a0726dab7704fdcc8a3f6c273eb0f8aa008ad1e6c4a985d7cefe05d3b24cfd195d2fae5392a48be5bd50386244fa9002f95ce18efe97be356a3c5b3990172f812987d0fa10d7fdf9afcd20e165697e3e8f1fa564d1f03010f8f20d53cbea6789dd88800af410af54c3c346483fa085c6e02c088092372ce828e2afd0001f903226d53becf91fe3ee0e556a7ddd652e179dc3c2de5d7af38f380c9916791a37e149ec620429b47e5e0c016b898ee1dc45db857c93a718daeab3167c3c336b22692da51bbf7ef1bc42cba25af0b1fa89df2adcf41535803ad6e80ff1e1f57c80514f1d091040aec55e87c4810ea31ba22e4f93a101d71e324cfb2d84e381f1a59a601ea97907013e119a24a468b27558b68de170690e71bc3c2d7361ca7f77d116b642516d9cb128a70d6bfba83b2c22420059e8c22c9f794f2e144a3a065c942d3276253013efaa88a80e3d7f3c32dc249347a6df656df62d4f9482cc8470bd1bebda925d47c5cd9a54ce81d7bda23c2d0434a98a1f73911c6172facb08a21cb1b1935a2667416f5cb810c787fac55fe8e14146721452870f27b1d5a14fcce0021600ca51450ca3b29e9ff6b388f4df5286db585d027f68fbbd1d4a95fd756318700fd0001b941fa0b95cbce10d49d29c80ac6c45bb624fbcef94b9bcc75d3593a5e11ed85488b6332f9d059e0123d5df6486dd2f57a9239d137d46f3b9c0120d391d1f06cd48c13a0b847020d0832b15162461811662eadcaa2757e2b6b2240d478e7411c7e807e09ef824ecfb3681b49aa72a3319dd310d8efd930ffa7751a222e73f198032f2dfa00e978c9542dc476ca44b161fe470a5f63759de5086a18fc92aa375c608841c6ea41ebc6fb86dea22a8987f7d9abac948d5e67a173eee3b9b90c323c4f2624f53fcaaadd79427a36f560ce6cbd99872d8119acd2173935b0331217e33ceb4a0ef314e45c1a90ad06a46948a38a00feac8f58d8780e6d15ff6e013dbe214cc25d39b2def7e68e2d5c7afd69c5d629265f750b683dd660040dd3220a2ad600209901a1f845f602ecd4f341e7b68c6787561b4f18d7819c8b319dba6836a42517216578b022ea0911e03a47f0814046cea045fa63bb506730b0b491614417df91f900fd0001ab0bc038363d54f8e9e8ebed6a498b0f989c8ee56c81720bd66f71d0d97477d0db56d4481cc0e57c2316f4bd3a6843f86e5b28152436ba23f377dac267c7bb6501666efefb705be623d0491dd42a1a5397f45b6be6ceb1e0499842914f56296a34f304320f5b623ae7e16379d89394b7057d1b92de4c913265ba231d81dbf9e4b586704803baf1cf0fd474a721bd65206df02888dd77df03c831f8433f3b2c7cf7e1211c7c85a975d129f33734fcf77c09aaf68b681da7c506e8c89ac5394589d185117b722b757e307ccf31e9ddc1b9131633bd684ad458fdef09d346566eb4df920801ec4ac019081feda518cafe1ff9f9197b1473ddb18d3349652db870e0fd00014168b6756041ac27a58e4160cdc78c2cca30e144cfac7c58d40b5521c76ae171399e4e22bd3eb5a59d0a44666cbd8d38c4983f8e2bac6fa5ee84c86adbf9679bf8631dec545667463df5fbfdd5ff2d0f6f9021a4a03510e291253bd133520d5366e3c272bf8ec41a14b15aea97c420ff263bb52dacb3c3962359312e5a4690483434ba5f592057dc449727f03768f3756c24c85814e1204d2d90cad6e656d39e7dd7b9c4bfcd103dac62415b0d64901b01278602553c149f6d64342f16757b5ca1033494395404fe1ac7ae33d796be12b0d4f986de23186ecdbdc8477a742fdc973b34b312f5984b74faa42f5f62dd4938f76f5d7ec141249902825d81ab2d88fd000193a2f7ea915b7e506459b8484c43d305deca93a84b3c313a6cea7286d485395158806c3d7f3155f3ddadbfc913cbd7673193a951b356ae208319ecf406172cfbbad940f9fb6accde0c73ea5a19037d5d8644b4de22db968851a303717f473c491465712da34aba4e5dbc31361163ae1492bb3435779569598639943640b6e14233d8888aefa72580e22091b6848592d5b2273cd2df009d614da03d0c0803b4320800094dcbaaa337fd210820e07a8deabbd595d2b59b3bee5c7a27e585a1cef44e532de83f08f3df43d68f5934ca69776b8ee8ddc42969970d64145c093d4e989cf32ba71f750cd03b5c818c33462d05c6477ec1f0ec81c48e4b119d05d31cd5fd00010b1cbcbad09df7edcebe79a913033895c66686f078402893059e4a986fb76d28e89324f5b04ead2c2aa0a05786faa1e8f66fbaf66b7ca94bf52123e6afe4dab54bc33e5860e8766031dd256edf40b294f55062e613cafac04f77e284f5097e88cd7aaf46fd28f4fc24ef1ec1aa0bebbb3da5b504e4dca8dfc13ed99e4371dea6f3bc0f78cdf6ff47548e5a426c92095da045e5ccf45f446116e2c9567ed01d62c1fd3a78c62aa359118f77705174db6a4faacaa0b6d49b4da38e42b20e9cd2ed7979a0f6da28964e0b3fb755046f0a5477dda7465e00d13c8751c36255b7f922dbfe108a14e359257ad607dd7e1c9ccf330779135714b01746a25ddd11e565c821713c8702e50956f6f6ed9c283cfdd08938c8ccf08ada04309e47fe9ddf5cf5dc00fd0001f5e2772a310c56c1343104f8f618a6408dbdd5e421e31856f271fb33329d5055c4c73e06870feb8f7b298cb9b403dd6c4e87dd2137ac84df583c58ffd627b0c52996bea39da5959ccce7968455d3b4ac512c3d552cf63f2da74d6de8e8f037eca47a715d0d9398502b287e5f1034e536a84839bac21ae9958da81fe54c67165fc650f19679c9a628b74fb40c65257dc5b50f690263f9c1eaf41c3365c0e23f91aa7ade32a352c8b88b40b2d7acabbd085185f7737be6f5a7c342e2c908e8a4f997ec949e4bfd6ca7b3da894fd4581c81141cbfc01afc3eb86bc91c304c18c1dccde49d8b61e41d922fcb02162e444dd4931a076bb072ee3a6d5cebbe8683e992fd0001197c654987867c3fa8c71ce3718a70756063be0179e55bf302daafbbdfdd5669ec38e140e3204b260b1d54373f84657101147e672120d735c179fe2dc5fdf7dbb8aadee63b867e31d9d1242e45bd23ed510dc7a6d44ea7806159895a2293c0898bfa6d0018d9864f584a59003a8d4e3a38eae3ec7c9e35d1e5985acd544547ccc1e31024f05bfd5dc07ccbf535b2e0a0a703548e355eb9d1acd8a59684ba0fb674075011c7be7cc899c30ea6c1df0dc34c9366f47743aa12991192cc836db7fd5a3b0306d6905a82e13b729038c70fd3bea01def02b93cd2e71439a9fdd5fb93da6a72436ce9f5b431b7e18c76d8173964d5a02e24195e761d888a6a2532d785fd000177fcd4e94194a3c34efea9f8f04faccbdeae9f0eb8662b0195db08e2b41a08fed52ab7060465ecebdb2eeed7a768c4f65ed7b5193151a56c752cdf97cd4c6be8daf95c16c6703ec95b6cb541506c715983be6384031685d48190e611ddbded6fa377affb759a1f289523e56761857afb3c33b68f743c59a6bf2098a2f5bf3c1c8a3d41224dd12ef247874ff5ab6257cc3e29a65a1c16f3ecc26108142d1899a340be3db55556258a348f51ef61e8e73fa9db743f08df3d31919f2d9484603f0281422c2cfbd66959dc138c2176d6e242a5a04d5b1cbd8c39ed051486869f8b0f3ecdaf42498be6016dc9d49ae52220612a32f50259fb9a8be0cab88deafd56b12024a02c37de6161be5eee8cf63c3b0d16d0bdca07ad59fa0532678b864c13bc20c87f061046d5218e768801c69818dadd24e62aa4625d5a2af09b08f9eba8efb5e29fc2977184990fcd81a0a3f896691051da425d7b99292d8ad7a3bbae5ed9503c5b761907097dd6457a5444b9c85ccc829d5901d46cd917ead52a3316f96588a7b508501be9f69c73d97e0db9d615f20e50712f377663f6c47f42d005db72b225048abeb8d6e3a60afbe21cd13d4539b7d39806952d745a7c49a552175135d840a3f9b9e9ef6ba3c46e9f4bd42f9bbde0d5d5abda8cf06538d3492aa856d8708285c0aa99567adaf6e0d4b28feec0a55e49879ac8ee966e4520e5eeae3e6b4473cb710b4213973850ea6ff0331b04ccffab2c2c3f55ff28b8bdf644e4c19982916d01e28d745302b079066c61fc0e8e1c90931f122893f7f5eb86e9111f98cf36e719129668dcc4718c52d0c4c6a1a941b939e5e744d61aa9fb1aed6eca5fe062cd109b15abfc5851ff77c026e9ba7023b298d40acb1ae9884671ff1776aedabd859f2a481eb18b963afae2e2ec41e3f3671e9dfaeab234d6aaf97249f4702e706437d8e36f517b3b227bae68b79064a3fbe999bc2d75912d970826908dc17b815ec0f030e20b24f17c527557e36695abd05f67c60475a0c74aff42b5e7fd13efc3b1c3bf5ae6e3251731ffaad110c4210c9d6d78d69d6f68cc31ca99fe783a12fca506af01e28234f01e1b30dcdccdfbe696bd5703ddbf0554c8c4863edb0f252e2a9daa54d4900d8fd6aef61b8a8f1e165eea79a3f20663b08722762f2c548e0cd10cf0d2d8e8b9239b638d02c49749d55b721a6c81d2554b51b49191518150664b7e4dbde3ae02b36ab3ec9250290c8cee6b7371e0d3c7ad64d267cf463c4c82cc5a325aa72461345c4f45c8753de23bc148527b0e982511bed9e4bcd4cc37e1e3b5089373fcbfbef9a111c96cc79e9f37d619c0d68598541f2a37ea0fd614ca310c915c0d412d2eeee8f7d71e4a250bcc60d68ab3f296a5f75d75d627e5913aedf3646f733701218878049c420ce0089ded11b087f16111e397d0f2e354f1df0a858aaf07eeb8e80002210305cf1786fa950ae9b553390d6d62e2b285ebaeb978822439e0922403f9cc7dbc473045022100b807fa7bc196a7b2d7a3000e5e1870e2ff488bfd6e2850aeaefb3c606f28379e022009c3cec446550e5cb04483404a677c4b8406d85c62cb4d714e5ca3a50aa02f2600", + }, + Txid: "0000000000000000000000000000000000000000000000000000000000000000", + Vout: 4294967295, + Sequence: 1000, + }, + }, + Vout: []bchain.Vout{ + { + ValueSat: *big.NewInt(100000000000), + N: 0, + ScriptPubKey: bchain.ScriptPubKey{ + Hex: "76a914dbe6d470fa9fe4d037043533eff4f80aeef0c8d288ac", + Addresses: []string{ + "DRBq3cEq23QYUAmHsocC6fDRvJE7Sr5HEZ", + }, + }, + }, + }, + Blocktime: 1534045750, + Time: 1534045750, + } +} + +func Test_PackTx(t *testing.T) { + type args struct { + tx bchain.Tx + height uint32 + blockTime int64 + parser *PivXParser + } + tests := []struct { + name string + args args + want string + wantErr bool + }{ + { + name: "pivx-1", + args: args{ + tx: testTx1, + height: 800000, + blockTime: 1504351235, + parser: NewPivXParser(GetChainParams("main"), &btc.Configuration{}), + }, + want: testTxPacked1, + wantErr: false, + }, + { + name: "pivx-2", + args: args{ + tx: testTx2, + height: 863800, + blockTime: 1508218269, + parser: NewPivXParser(GetChainParams("main"), &btc.Configuration{}), + }, + want: testTxPacked2, + wantErr: false, + }, + { + name: "pivx-3", + args: args{ + tx: testTx3, + height: 1300002, + blockTime: 1534045750, + parser: NewPivXParser(GetChainParams("main"), &btc.Configuration{}), + }, + want: testTxPacked3, + wantErr: false, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + got, err := tt.args.parser.PackTx(&tt.args.tx, tt.args.height, tt.args.blockTime) + if (err != nil) != tt.wantErr { + t.Errorf("packTx() error = %v, wantErr %v", err, tt.wantErr) + return + } + h := hex.EncodeToString(got) + if !reflect.DeepEqual(h, tt.want) { + t.Errorf("packTx() = %v, want %v", h, tt.want) + } + }) + } +} + +func Test_UnpackTx(t *testing.T) { + type args struct { + packedTx string + parser *PivXParser + } + tests := []struct { + name string + args args + want *bchain.Tx + want1 uint32 + wantErr bool + }{ + { + name: "pivx-1", + args: args{ + packedTx: testTxPacked1, + parser: NewPivXParser(GetChainParams("main"), &btc.Configuration{}), + }, + want: &testTx1, + want1: 800000, + wantErr: false, + }, + { + name: "pivx-2", + args: args{ + packedTx: testTxPacked2, + parser: NewPivXParser(GetChainParams("main"), &btc.Configuration{}), + }, + want: &testTx2, + want1: 863800, + wantErr: false, + }, + { + name: "pivx-3", + args: args{ + packedTx: testTxPacked3, + parser: NewPivXParser(GetChainParams("main"), &btc.Configuration{}), + }, + want: &testTx3, + want1: 1300002, + wantErr: false, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + b, _ := hex.DecodeString(tt.args.packedTx) + got, got1, err := tt.args.parser.UnpackTx(b) + if (err != nil) != tt.wantErr { + t.Errorf("unpackTx() error = %v, wantErr %v", err, tt.wantErr) + return + } + if !reflect.DeepEqual(got, tt.want) { + t.Errorf("unpackTx() got = %v, want %v", got, tt.want) + } + if got1 != tt.want1 { + t.Errorf("unpackTx() got1 = %v, want %v", got1, tt.want1) + } + }) + } +} + +type testBlock struct { + size int + time int64 + txs []string +} + +var testParseBlockTxs = map[int]testBlock{ + 800000: testBlock{ + size: 463, + time: 1504351235, + txs: []string{ + "556569e1bd20ae007853d839fda5cbefed4883ac53e6327a0a8a30180d242e24", + "52b116d26f7c8b633c284f8998a431e106d837c0c5888f9ea5273d36c4556bec", + }, + }, + 864611: testBlock{ + size: 460, + time: 1508265763, + txs: []string{ + "3e68db3117021178bfd56eceed2fcfcc8210d1198372412de713f953ce01db5c", + "f773cd0f042a264c31c8e0b70485e2c85097b66d3d67bac055d620505de29ce2", + }, + }, + 1300002: testBlock{ + size: 43673, + time: 1534045750, + txs: []string{ + "21cfc7b58e666c393431619393526fd736d8d6bf2d8699e2acbedbf5d3c60b85", + "afdc7e28ca02ff6a71fc662072bf7590bac6ec3bd93148d0c9f9d1a820c6b1ed", + "b65181decb00e684fef238776a0a129db4e1ffdfc454f6ef323e5f7a8deae6a8", + "10bc6050c6eb19dd81bede01e974f46740a94049902ced66f10b6dd3d5d31da5", + }, + }, + 1299975: testBlock{ + size: 42801, + time: 1534044012, + txs: []string{ + "a99f5fa0b4bf464d57ddd10ae56db27edb054830a2b95b9a23509d217b871a6a", + "fccaee46b6f01e42c24ee3f7bbfe5a3f2732b2486af0423473446fbc50a1e48c", + "baab318237b55f2dbb1ede2c65f7da9bf2c51c0e9a63903b3376f559fe999960", + }, + }, +} + +func helperLoadBlock(t *testing.T, height int) []byte { + name := fmt.Sprintf("block_dump.%d", height) + path := filepath.Join("testdata", name) + + d, err := ioutil.ReadFile(path) + if err != nil { + t.Fatal(err) + } + + d = bytes.TrimSpace(d) + + b := make([]byte, hex.DecodedLen(len(d))) + _, err = hex.Decode(b, d) + if err != nil { + t.Fatal(err) + } + + return b +} + +func TestParseBlock(t *testing.T) { + p := NewPivXParser(GetChainParams("main"), &btc.Configuration{}) + + for height, tb := range testParseBlockTxs { + b := helperLoadBlock(t, height) + + blk, err := p.ParseBlock(b) + if err != nil { + t.Fatal(err) + } + + if blk.Size != tb.size { + t.Errorf("ParseBlock() block size: got %d, want %d", blk.Size, tb.size) + } + + if blk.Time != tb.time { + t.Errorf("ParseBlock() block time: got %d, want %d", blk.Time, tb.time) + } + + if len(blk.Txs) != len(tb.txs) { + t.Errorf("ParseBlock() number of transactions: got %d, want %d", len(blk.Txs), len(tb.txs)) + } + + for ti, tx := range tb.txs { + if blk.Txs[ti].Txid != tx { + t.Errorf("ParseBlock() transaction %d: got %s, want %s", ti, blk.Txs[ti].Txid, tx) + } + } + } +} diff --git a/bchain/coins/pivx/pivxrpc.go b/bchain/coins/pivx/pivxrpc.go new file mode 100644 index 00000000..447955fe --- /dev/null +++ b/bchain/coins/pivx/pivxrpc.go @@ -0,0 +1,52 @@ +package pivx + +import ( + "blockbook/bchain" + "blockbook/bchain/coins/btc" + "encoding/json" + + "github.com/golang/glog" +) + +// PivXRPC is an interface to JSON-RPC bitcoind service. +type PivXRPC struct { + *btc.BitcoinRPC +} + +// NewPivXRPC returns new PivXRPC instance. +func NewPivXRPC(config json.RawMessage, pushHandler func(bchain.NotificationType)) (bchain.BlockChain, error) { + b, err := btc.NewBitcoinRPC(config, pushHandler) + if err != nil { + return nil, err + } + + s := &PivXRPC{ + b.(*btc.BitcoinRPC), + } + s.RPCMarshaler = btc.JSONMarshalerV1{} + s.ChainConfig.SupportsEstimateFee = true + s.ChainConfig.SupportsEstimateSmartFee = false + + return s, nil +} + +// Initialize initializes PivXRPC instance. +func (b *PivXRPC) Initialize() error { + chainName, err := b.GetChainInfoAndInitializeMempool(b) + if err != nil { + return err + } + + glog.Info("Chain name ", chainName) + params := GetChainParams(chainName) + + // always create parser + b.Parser = NewPivXParser(params, b.ChainConfig) + + b.Testnet = false + b.Network = "livenet" + + glog.Info("rpc: block chain ", params.Name) + + return nil +} diff --git a/bchain/coins/pivx/testdata/block_dump.1299975 b/bchain/coins/pivx/testdata/block_dump.1299975 new file mode 100644 index 00000000..c0e608bc --- /dev/null +++ b/bchain/coins/pivx/testdata/block_dump.1299975 @@ -0,0 +1 @@ +04000000b3df123da93fb6cc95685ba7dda74b20e824ffc49fba27926042fdfb0c96361da855f4f99c1e5830ae776afeb70cc708ab970895aaa03816b200794dd06713ac6ca76f5b3378741a0000000072538e391ccfabc80caa7ff5fac74ecde3842f71c161b083fda7b7a9b3ab01b10301000000010000000000000000000000000000000000000000000000000000000000000000ffffffff060307d6130101ffffffff010000000000000000000000000001000000010ef2ebfbaae2b8bc60df2aea44241c9d851767762aa1dae35b634eaa68429ea60100000048473044022033221a83ce853222063727d9bcac136b5d9df9fddf30a0d3fd93039df03481a002203ee0f33c0254638e117f7be82eadebb95598361b8dad25c311e84e8dc49f22ec01ffffffff03000000000000000000543303af3500000023210241bca64f4083f365f1d0116cb58e00431b760d5824036b5a793d7c1fc9e2e602ac00a3e111000000001976a914ccf453306bf8e0ea3f4c1f64d7e1c86ee0b335a088ac0000000001000000020000000000000000000000000000000000000000000000000000000000000000fffffffffdfe51c202fa5188130000ceec0a035af58f1db818f9ad47ac4b2e5d204817e8cb783bf44c37d359aa8ddb8599a3664648a7b436c743fd749c8947bb3da8192571f770b0a1bd6348cc129b5f37b6453e1869fdd61282dfa0fdf0a37b9531bc483dfc45575fd28c9ff21282e49c057917ade72069a30a811f844703f4e842c41eb6f6ac35f5db631220311475f8a37eb7aee08dcac3f27acbd2cd7b76c001de4869c2d067d6dfa366c76b8cb023a3e9c58643ae48a6d09846131ecbec7a332f9ab6b814ca2cb97c1db76f251cbb47f4d563e1e191ee511f394a7e5c7df857534516e48bf8c897058b3598b2abdf0ba8aa5d0d0bebc878bf7d211caf742fe025d4cf4003cfa255181cfd90ec2788bf417ad1a4303f947c0278f600fd0002a526b8bcda32f5192236f1f901432e2a69c270d86ad311a7df076945fbbde72d1ac8d20dbb351d672422fcd81774e4fdc491fa5a291152ebc63273a16444ba25bfe28e167371d22c8d18881d5ffb05656a3e63f8a2228082f374b835a99bae426023a41c3e9dca2bfcadca184d4bcaf71f0bc1618a1d146029767bf19aef992efb7a57c03567e4fe531d0bec5cfd1e3845809b98ad8657b476ab580a07977cda6b0e087024a2dbf6679726da2cfcba9daafdf51531818c48d2694cc6a4716d7da87110d3768433476d38808efa8687d1f80ecfedaafc2b000164ec307e547742caea6a8bf2e1b90e11f3eb96c35adf119b7459389f5301ad00286adf02c6eab6791500ad87109ec52314dcb7c296c54f9413fdad4c6ef5362233bd05991d325295354e4f2d9ee94ab5a073cd6a830e9248b194ed7a7b68433a773edfba77ad7338a71466b58586905538435675f9756db23a7bb9f9f033b87199f81779be79b77b1867a97f4c11aa2d3e982d0cd89cc923d8a0298dfe18489fe2fb6fd69aef9f0aa3ae5f9c93ac694c0badf1db8c518efefefb982b3d90765495880df925f850dfb5f29954e60d03ec5d1bcf8fe26a8f54903b1703ab968811a308b592ecf2b8653a88b7185ac32ea535fc922bee1259cdf988cd1e8d2a62181a7eae1ca1a86133533d56bedc7706ea0e650009e4caa7ca70c77f1efecb90dd9bdbeef0717802fd000218a61c390831b2fce56bcabfba14195571eeb92762e35e82a7fb8e0422f76e0542819ac9ff319e732f6a01b2c82fc828d53cc4c714266033a220ca1fb20383d7874ba186615741dd6766c4e5ff419a7f9cd1941976beeddcf4b8675a25a920972f0b6cd823a34538795da0bf4c5e38dac9c86b12720b17909e7090f9b3610cf4cf0326d2cc188bb65150e578a02b11fdb7d42360867dae8020f260b3f01fc46539027875f5c0d5f7d84c5058687bb26663039e23ca40ba19ed6f570be6389699c92e33199184863fe27795c1005d3e8e36c30149e692bc168e38ceed5d45aa01c07832733783eec61fb2efa9547cd1e94b82bb8a9680f69426fdfbe1794ce1f74b67addeec5d73b52a1a3031e907e7cbc35c66c328d5c6d945fbf9bf037ed4add5d10429c6df6c216fa32a28f07d28e16b2d1be04401b1fff90d70cf7a3a677e5fe800534d6a4f8f5755fc9fbb6320e51baee8f41422bf1d8b8e22486c8ce9b858ed0ed69bdd14841c93436e66139f061635eb4bf9c957a2702d76a45a461dd7d9b24a516c1e4cd93bcbcf6f7ba2a8e85acf9cfbdc516ff16a62742d4fa4ca79b119885f9b4721e7f7ea9328dfd7873bae8851420f11ca5cab46246aac912e21177ce61155636fa2d9443135f1ade31d4f263d01912f2f72fc4c88f16894830195c702c4eef8792f21f845f023767213e0498cfa8bbc78f8bc37c903b906482cfd0002c12effab30a3cc5664486d157ad88dc09e209e3649c3f3fe00483001d72becc20ec6e649c9819d8c01e70b02af708d14f44a7d6cac4bdefbe1c09ecb7092a3e9b84b30e665f83d52aa122fe4267fb8b514040cacc14b5d06df63002f705cb279f53afa829ed03ecdbb7efcdd184a8f0f6f85f8db647667ffac6fc5e8a261080326773b9af826d4e27bcb5c176a6789579184a154c67c1ad061571a3e897d6ed4503363aff1015d16be0f85d04388a9260384205b07c205b0bbdcc12829d291c0d45528008a46da678eeff042e30e2039dc063e2cb99c499e3b7ffefe95e9f26ffdd34787c764edb8d76a036b1c39e03391e576c98257a7aa437ac581ae03cfc4eb49206d2d86f1f8f7176b625bf263c16b7d112e9d807d97325ffc04f2dc773126690358382bf8726c113ffd04fa860b3dce6618e77524ea5cfca24722ad0601c684a163a53af0cf44d86447c3dae20a23df7a244566022980e7117cd05b74ad90afe9d8d1e7ab21714556563838b6eeffdf1e9086fa6123d38abfdc467b4da6ccad55438e20736c210f860d6bf34e23f2b359b90d0b12d74627af26db1bd765dd0f8801ed06dbb57405823ecb904f03dffae0cbbed3a608c081fb051293a2c253238400704eaa4b45adb4529247c2db3f06fc910742e814c9dfa1329a7514d4b55d4431cbfe5d5e0844b6767d1a25408ea7269d88511ad8ab96f55e309a3d1246c08d6b3dc33ddb55709f6b4146129c555c9461898dd6c25af6b85e351e2f3b7900609735fbfd2180de54bfc6fbc0584d22c6e1681c2855f6d2d2ed0291a805495bc5e9dd7f0946c73c3087b4e435f51142721884816d2a4830c2d101acdd2f7364b1a243758d92cddbee3ae06a0b8e3a7e998c7ad19b0626233b34548dcdd58f9957f01d8bdf853dba7b94290446fab84fc60a2adb3c76464b781da94299c58dfcf225f8f17f1b361d91976d8db6e5d4d013527978e82f6f4ee2bf05084f0cb10a7a9cc224ac3701302bc3d7f7c8789efb200c05fd010156ad336d9e0a492b79d0b852d374f90b668a2507c0cb51126ef04c82ef8099cb1dfa96a2a738a9efa4014cdea67226884717a536ed0b6319ec38e831e5c6f40afda8987bd29f12b0ebddaf41b553ce7f582eb70fd1d9570f6102fa87d8f1033d66edd26bdb1572c913f5c21f7690936cf855402b4733f0d51eda881be34032071898138c9e47368ec06a97e86c6a723e40f451bc1e19d991c9f274874702ef645f23b824697180f8b2e739f3703dd86b357998093d71bde7c2c0f79c9bcde093ff2d3fe3eab8f688b623830b846fe9755d00010f2fb0294cc7c45e517c96b0e14ac8ee14fa36073ac8278c779fec989b819733224fb170de2eb500794413d9c400fd0001cedfb5a7b4f5d6c2cb3fc4a7af4bd53e656cf8b175db90776ecbcaa2454b6d828a033fdd551517f53a4acfc5850aed7ba26730c24154f09efe0db4eb8bcbb0fc8057b01bddfd61bdef5c735a845bf1c63f83d5bb860f7fc6ec47efea393896f96dc1ac9c88f8836cef465a05e956d6cebb7dd10f8942aa074993827e0909b59961911ead141783db48acad5cc7c47ae277a98c7b4e23f573de183b8688d05823e729326a37ba64223ba6950a645c61596d4d2f136bc34d65c4cfd95d892e0c23076e9fa9ebfb4070a41f932010826de6593b7073d3e756eb04a7cdd6cd33b01a3e9aa0b670d08e09f0448025f7ef4d25c975e7c0923909810d260ef883b01f1ffd01015fd077153a4a9b9948920a55b0135c5931f969ae3422b55b08482bf85925de0d5944431e2b0bd74f0f98e8c82f99fe075e88308d1ec35e6e8821e6c67e3831703a36908aadd7d5edbc9c035a2354542f8787655b56fd5314404969c05ce8e89440dd7983eb006a7699c21b9849897abd644832be2f1397118b1777a327e7fa4071ca80edaf223d66e32d5bdab810902f9f4d20c07377bf25d8b28f33ab2201bfe1a433669ee65029a8e198231c84111207c09485191af18965898edda22601f0caa56f1cfd64ed4ebe8ad94a19edcd4398eecf752757ae3b3c4b4f75cdd1e0db613d42c94c7585180948ff3ef239c100a3b1873470ff07d47e112dd923e2049900fd00010092b3980145063e223e167888186ddb2590b5328572f836e927a8aacdcc63f819a547f35bc60ad68efac6167fb748d5d5722091e9d7cb81a11434f498cc97b78874007d890511cd01a5785e5d2d12d490346dda147d3c2e5e8a3695ac31b82045d1d63d623f4d1264a3d09b104b82a98a0ca00a92d50bd8c070c75a9a20793810594cd4929095174170fbbc8ef2b3fa2c46ed9b93bfb9ba446e413ab1a152a7ae5d4762e5f4d31cc44f7ff886b0cacd965b0937ffa5749236936e38744683bdebdfb7d4f3c1f3f8470bef8e2e923282a5f6f7ba9aa30cebc4ff236594883b9cacc6d282891db2e48f3f5dca8b508046e1277c3a0374a021a847c7386d3a0063a52ce48dec7606632d79eb9643f294ec7f042d7941076a7ebbcf3d5b1c6a5fe23005e9fd07fcc8586d4b7b3dbc57534220d6eb968de8f9fcace55c4a13863295ef887d5f02e7a8637cfaf83385483c2862617e7750ea4bcd9d78c6427550815ed28d89b37a5464592c03b9478af468df3b0c811363db30217a5afa7524301c7c3ab4ff89aa76e23beabc2d72f127a72da1310a6c1da983565c9057cf2310a92730f15923b080fda0019e810a8daf00b69709318a5aa213f903bfec82e96b877a0cfb46b9cb54582c9d58ee2d0eb544090ae7b7200334f21d1cf804d4e3a906ce8f6d991aafe16522d51cb7ec37bbb03c7ed2c7949050e1f0bc8e2fb0b8c82c95cd7d364a27c55c0a241ff4fabde1f097d8fa16d1ec649a390c4af4487c144132b0e6dd5d9b2ff68e2244ca64ac7918964ce1c1e9e38954e62ee979bcb0df758c02f40fbbb69b8a752e17c998ba9d21ddb3fddf94b3069b1cc8d927e68c7be45228543bf1417e9e1be059f7429a51d64f9bc9f6e5abf359c6ad5a7d0877aeb8f09c04cad2847f5fbe983b515f6f5d198eec6b161cbb93af002980d407dfbb17e8e72e2a2971ed08b1d1b2337588715a3ad73a4da0d2df49dccb1dd01f00d6460fd76c8c5db51668925a9e7250eb40dd661c0454baa95233f26004eb63283ad20b055a44413721245b54ad42951fb5a4c2e723e6a452ded86b4bd68912c95363f28d09b32cc1d9309da460f61b589d78d95a31ea7ec09d8aa01cca765eac863687f23d8986988b8ebad3fb3fe3725d4d229e9a9b0fa811d895ea78a26ad094dadcebc844f51cc0cff981fd2401e10e0c4ff5b08a3e39f1f374f0c20bfd17be6a95db7f262691bef2135003bc21b6af7095116d2a03dd2fd1dfc464859f1b63b6730feb0145c0f8d9bc2ae16b053a11dad8a9a49e24b109f794ca878297ac6e547938fccae2f8cea7172ee2311e9ba0f3d8feb020eaca96cc42cebb759d57225463359e8169b655ac74a7642aafd29b7a2d03800b170761b144aca3f7b5ccece76a61af5b3c78db1775ccfa94682c4e1308b3196624c0cd57c56a9e15367a452230e6a89c996f3c389e47adf784952a57198f7bcc5a7fb00ec3246ae3cc3fc93e5ee4149ea7859b97c0f86ae03c1799d4ea1c2a22cf5ae794ef1dd1c5d92a611b1f671d1f9d01a99162eba0391645d2bc07777466a477d48ce14c7dbb5828775c1d225022cd21208ac46984c51c6c5683a7460966915ba5c72ab0768d2d5359528105681a19dadfe91f81d9373b0a0d08d8ff56af9caed670e8892925b89ea174ead74c31fba7d71802b68497cd485e874803ed61ce5c6b02fd2401a81054a5a3bb3476ebf95a79d3cef44ff520df820ac346cf231ea029200f2469de8805999d2d766411796c3253ef16a78225c5208a84874e212ca57bdf05b297c188d0aa320dceda45b22ab16d6f085ca4fabaa485b144d8a062cf7dd02be5cde1355cb2b5564882aa3cc6eb6ced0c327f0ea143f2da7f939250415fda6f089b3f2d2571d8fa38f739c069064b5d306363928895441a1f1e922bcea7332abc517bdcde68541e3499bbaee1958a3e4350c7e0d8fbefeb99b59168e6ba33683c9811f861cb905a612bac7af4481ab073d885a73c841723f953f36c8c01f82da4b4c1a9687071e4118b4b57c327acf3d813d412abc5952dc594009907ef638b8889ec7b12cdb0b9232fa9400c45c36b0bcf23447233f3d22d9c444cdbc9cd32e7106610af2bfd2401ab206192e72f533848c9a7a8b52a0b5282b318c32ade71f43ec7fa01b0e6dc3875a34ac525aa22f74b68c001e2625be296d52c05ee246d9a93df4d502008d4d9f8a8607cb0e333ec81a6bc26abfdbf7b33961434b66909bb145015875d458c5e4e499af5d7ff5529a260ae3729b1cfe865230d4c3a46bfacc1098a013e8351f516f5134e4f7474b2332157d03a91825bdcc518b0e41b242ea0721c594e6e3c00b9dd12bf618df78746e23f59501c55167e882e33bc8492ddbb7b990139313fb13801ef182e91dd682e1f8ba68ccd55a736439a5f47bf844e67cadc39ab40b91ee65f9849e40eb86bd331db0eca505465c4853d1881f497f8fd18678be8e29605fdde62819d3241daca1f3ad5a7ba5cd32f647c653c61437c72e9e87d96af32c57ac6218afda001a01cb53d8ba7c4dc9aaeb970bc377d39d9f6fd5e40bde6097c52af21beaa0dda9152d7ea14396aa4ac999499ca98189776a227d3bc47a6bd5235a0163fa2ab9ca3d37d4935151a1b39094ac4b9023b1470dcb0b6aa753d9662d5db999952706d25640b77f28e78f72b1355e59a38b23b860468a7a038b47b321ec42c32325f2f7d09f333c30e4f9163b8aba473f48be1d40eccb8bc4c0eacd5a64d978a091f19dfa54bc146eb41d177318b25e6e99855c2d17ab022b975a8d74d11ac4f1ef90b480647482721041cffecc37dfdeccde360d346d93e9648e72a00a95fa1e32ade448076acbb82d402d667634bfedcc634bf6fc433ba525f0f463a62fe813fc9a2ab1905897b8f3d0b2df5ffd9ed4488827772e9e4d889e32abb43427059f1be6b1b7ae4bc65f3a9aac9ce3ce39f7452c5ce2f17a077ebe5537a11fa7976d883f5b448473af102759a55dbd12b601edfd2578be08902436a21484347cb8c18c66e1016178a36e1d5ae4517d23c1864702f009724fb4a637e00d079c44d37a3a00219c376f61bbdd7471f7c01ecd3ab6fc69b97873a23d9a6d1b2f3febb21a0eb8360de743e8d013e93aaa4aa4560ab69cd1c66f62ad21a4b7677055bcb7364f4c3210da0d6347ca7e2a22fd4018c1d6f30fd4f5d7933e8fab82d13907812e91ee98f908226b6fb9ff9dda644820fffc40fb3c9b3f10e23bb91d8378ee52d9bb3e11121b3ac8abf7a33bd5a0b113652c48367aea63722b49efbf96498a3b873193bbb2301469dde045ccf6bf14dabd6968d835b2329de11a783720fd538a088d59091df6edf9f017e9c5bf7e2100afeb9798cdf5e85381640664e3d0fb2bab85e7ac35eef2c519c126cf10b60a3ee988407d2eda0acf6d54bc9af0163e5f5f8e6d3d09ecec3488f94d517949e471d0e98368311ee7a987b75f654fe9bfbeea71423c6985579842e3436b552f55581a7144483ece644c478bd8bd36e17757a75748edaebde9d6805ee75f8441a50203764a0f3bf73b55ea3ba13d204a77bac167b925f5125eabf741402a1046decd120ffe0a70544b04bba8521c5cf7f0a64f3918b28b6ec211a76cc866dfde45322102165c103a7a190b6979d5f1d88ffba08fd9e17eabb81c18299e7dbdc705ef742a000204b52fca603c13f04c413e3e635c5df50d3219d320f9aed79ec60220735582c05201df4990223e25b0c86a4ce9bcbc3e2f0aa5ed0416698a31ec475f8f07d3584af200e67ba7e7cf2545a8a81dfd0160fddfaf6ac5e8c589b2a410750438917a636bc20d0dd40b3588a8d51d748958768b3f48107f535b271f195dbab821e677bb9fde42036ba42921c2928927ffc1c0f80755f6f7e4a27c6dfae1b25d8b9c2d142bac764209a50e33aa237dcc27ad3156472667c4dc4103a1d810959eac0a335f0af621eaa205b92e7f87d1acd76aa917af9f607fc6f6711548938a370299a1ec8a6749125ae20f9dd86d10cc1e6400af2cc6d7a8bb0eb525873c04cb127f33a3939a45f9ea4fa21c5efaeff34682e0562a358e00ab40e578b51f7c97be95daa5d34bf6f21ad9d8a0020ab3730d69c24fb6b3c134e37683792534acffa6fc9b23f730d5a2f3cac7fcbb72078bdbcc5a6f440e328fa4564a4350bbdd6c7e9fea82c3bf0dc4d283dfc094229200cd62843d9adbcdb75c1323ebf3be92534423fca815e7e2b93ed3697b26dae9920220bc07ddf222899a8e527f850a4ff2a5f2bb8413a6eb566ecd1c5ca68ec014a207d7045b8f68f80922ea25d61fd1475d1de171bf265f6be5fd004e67ee640dd13200cde95c239edde861a7dafc468def4849223883838bebffbd4ff64f9b82b63102081198be563079f705b1cf47c2530157738d86b8fdc7fb14aa6e4ed25fe5d2d6c203efd98ad565cb4087773a64cbd61141359bf6e868dc4b4e202021269043507c920df857188261db09371483b27776a1ba977cabf30d243311a17abc02155d0780720cd1165c0cde1f11552ff5ba4cff37a4e20e75941ad5e4b200cc6f7333ba4c24c20ee49e71336b867bc0e67e154fff973ee3a25bdf9b860c4ede271225fc03a3b1f20516f746b91c1363bf5541cd5d25d7b95b330943617d4b09c3407f730003c7c3820160e18a21d98e5f86cf99bb3775fe73f58e97938093986d8ea574ee288438317205857da90f974a1d517910718229aa3dfc639003539d604020300b48877d3e9d620c7c2951dd4bbe91107df0fe4c3e3d90ba966fee4333ebb70d306408101ae9c3b20b4fb5f1b1307ec412a54b0d2b2d0136cadf9aa8813aa0badf6b5a48b95d8ca0c20ced475a6f53d59ee3d75895b05b031871eb9c469f7c30e6d67d570d3764b433d20bc98e211aa856bf34b86e40fd26778529186368511db82146b2a67a972722e12200f3f5f59d7d0d9b7023732f331d6fa0dde04f4b674113cdcb34a3a71a2355d36201ab76e50e5bc4b391d73d3c7dba564717176ba4041de3f535c87f74d6882b62120c1a7bdafac75b6495e55cd9305490933d71ba07399f3555341f39ce3c69b70b320acae1b3f22edda65a51f5dfdf4ce1a53a3f04e4267f927d2d1be729498cf38cb2079cef004faeb8a89e28e847aab09993f801717e19c3c1a8aad5f21d017259cb721236210e66872458f7f199f6b4e215161396cbac96baf087b9e9af599d66d70830020210aea001811a5593b3fb9010c744aebc3979c959a00c7c97ef97688b6880a6320f42a40dcde660bda81974d3f10d0fd79a43c24232bfb2f0cf8f2163c3180f4b72114817afe865ae4870872d12a4fd7bb4e3f6c931925a359daca6c7f861b941a95002024f68cf731e08e977101558a00ee03af40abebee92a0fd3ce714980baac419cb20bb7b0373e4a21b3d8db1bee8f083dc7bc5d592b30fbbf090aa2a9bd82cb775e520cbf11416eaf17687eebb45dd45884a6e4609ad28b491eda45ddb154c1cd8278c20c7837bc5410928f15a4f57758559c9e2be753102d7ccc9c818de3a8c7c4c0af720b6a2229e2923a99b5f3795408ed27ac4874fb4a413de306539c068d8d71b9350207a506c15f15b268cb3fb9072a6ddd3a7462c9a36d1431bf033908802fce321dd2056a79d543395c425c9214c281ca4bd0caa592b7e2f1a1e3e04a592845a41986420d82f3c162198b212adc6f3bcc879313757d717251cde9939ca7e885d30a8c160202caa21408a272254c0cebd4a1fe30c87943cbe137cc9af2cef20df801cb1ef04205728f3e3981b2fb3883cb09acbb9afb45614f509272be75aa1fdb8984a89bef620b96b1281d580ca739378bfdbbb80b2b3d296673b9d391d9258187d7a1b16abde20eaa38e3743f57f2ec13f591c3c3518eab36e580ca29095bc75542506fdcb3d0320ae9fe479c54506b9c944e937517d1cff92ab310d8639ab5035bcff0484d970b4209a4c34862962701f036841924feb03b064e5a1c8a804dc53171164351529c90320e6bd8d74f2874a8565f90e75e0dcdb7b53f0d7f96903d934f3335541fb4066092006dd3c6b26fc020b0857d065af3f830016d0c5d74ea38b66a4ab4f934218cef8205ca6b827d2e79765489561377d61795fb6418ec2f90ddde95bf3eec7501bc2be2089226653de9c93f0c73decaab82a619e956533c74c51148622a92b0e22d8781220f946d0f9a50b16657b97869f9c661df6acd9d5107d4096d3941a9709d2dfbd5e20d419b61e36d79e8773203a6fa34438b4027530ef9817e7fa0819387e883d0a5e21dd5a6f5fdf7c2d81e625dc6989c722e10efb66eaf2c3a7f993dfe49586ea92960020a5dd174b18bdf1c4e12ebf23684c626b1b9e2a0e451b65a01d4399e3b30f3e60206e9e34a8a980496726887c4bd10daa8af574481dd668a2a077b2ce43b06da17b2003dbf865d0f96209c76c7bb1fece24218095a10704788458277d745a0cf1381a203c6eb259f2ad3052a4e86642107a342563e78ddaf278195ef9747c6c6c14015f2000be02a2c13143bb05fc8b073a69003eada26c9e8d0d032f8d498b4b893fd309209d75430d0142e4a4ab4cf702f598c95796215bf88f79fb5c4124d21a9680ed1d20cda8568fdc8fb590f71684784d2c0eab768c7af1dd68289f496dd2ace03059ea21b5983a0e5411f74040614a1b6a5e6029123d21c8723360b08e79754c210a438200212567d4ad70b0f3e1310f7e368c5d3b87bafe8bf0c3d819cc4b71a63c27c3e584002128834c5f9aba9a2d5728ea70acae72af20a730c421150ac7516aeb84f5c475970020e52ae7f739743fe3dc185a63757415d105298d162f19360a97b678b434ba610121814ccf4041c8aef9f5bcb8f5d8e85aa33c2d0654dc570b0eea211bc117cd988f00205ebc16b38125cfa0abf44b769906ed87ce809f9fbd36278d56d502deb3f3dd5e20dfd766a941df6dd607b5d64a56c5000de382ed00e79b0bc7accc8ae2385f8425205ea8eba2737ee30a0ca43199c0271b0aed4c3d2a842ef6e05049f4c20cbd16c6208e5cf9f62741a6f453837f499e988e7941c09fce531f1e3cd8b796dbc44b391e2007950246c52c848953f2b4b267618c0339447bc40f274d1306126c0012d2bbd0210c35e036f2a44013e430e8f2db61014c751eb199cc07161446d2ec8612b7629a002086a741a1e6d3077229254a014adf39e2ebd1fee56898183a582aa2f59ac1e23a20a9363913c5241e2e91e259e7f45dd6a669fffbe5745e793fa8e90f7d776b302650fd0001e1d38b944c9ca7149e6b24f7e05d92e91619947d2be3bc83e7315172781a7166d5f294eddd3b93218872ea14d1f0b8b3d613786d7d8c4410350e6915c40c82352fd07cfc2aa4fced868a96893f9c1ebb0b2c228e86bb78d31f04d6a6020902aaeef634bfc2d6e26720afd11d0400cb81d86f4bdbafcc93f4a410a89bbc66accf25bac208bc4aeb370f73f05f62a2e9704aabb4872d91317749428d8ef12093977230a0b792afa2ab3d6a5ec37f5a89d0933a88c17700f4419ffeb4f476d9c043334fb3e6856ac36dfdcd4afdf00965ec7d805df751985a0d02c1a9c266ffea59530bbe98a4218035a5ff4db8c20686dab4835835f5ef799b2dee344a0118b680203894f0df4b5d42c240c09d9a24f226eae4d8de06959e23bf047afe8b0947784520546a7536e43f718286c40a57d7c2e92f9f8b50aa8db35e94712208112fe2c90e216d892d90fa86f5b8733f33a6a95bf52035853ef5461b6f1fe6cf5387528123b600fd0001217829ea020d35230a15ef0b067d9ddca65fd4e717c54a535673a8dcfb83d86ef3e77b062230a88bf4fc746d650b922ec8fabe355f033efd42ce4a594b9c70171fb7a36561217934bb427221773db91f3ddb86e61b5d2320e174d11a35a78b3a07e7413e5c900ba36dfd0df6b4db5179ab2f603e6bdc9cd29805d0e273fd3e97554cadd3c3f54a9a97d0c4173e8ab3b1eac7dff67a1dbf4ef092f656c1843a6dbc3a7610cd949e065580a0d04a5258cbfa5557b969e94cadaab7410053ef4d48ea5e191a982de3539f04816d8acbae20e86091c8c45ad20e49a657210a8a651e14833a7134608dde2c406b507c91c0454e64100c17a50599045c91f921575685fd0001e6f0c9983371b5c86739b14dac379900c84d17777c3aea6272213d3990cae1774922053c7f63c03915269f2a5fa840b8f6f2769ace53838af367f6eb98511858be86ab16fcd642528f04005ebab4055fb775875d6a1c127505ac600c74a939c6705ebe2e4fa6e60ea7865a6a0110bbac07cd55bccfe296a8a173e3c3a7c3a081c40d2fe3704865b5afae2510eb1495ef888f143e13d92b44059ad012fdc18598fd49e36598ddacaf4fbdf53ddb7dfde804646eca46a0bcb52e8b56759135c5469ea149bb71e973e20c81dc81f31a75edcd8e9340c17d215a94e13f06de27afa9a3368b05411ebfe1eb680410be51a3d1dcae0a631bbc0410acc66895947c9e90fd000100f826e70d239305986a04ad7c9f05545c19477ccf99bcdc6a04383a0c0c70ee3495ca73498b38b0a0051803040f7768e8b8ec28579981c5c10b27eeff9bbd52bffbe336b68e2f5bd17cb53c3e22c2ed949bd729b3da9e99a77ab203ae136d81e53982baa5a22bf5fbbf4655ac80bbc3bb611a3b636e5abe804af97fb572ba96c4aaa860c550d9435d10841a50115bd69f5b88d186860e0282f6fbf7f281f80bc56692756f3b1c6ca4d50f7d1d8197d8fc487343402f4aa3ce1e784ca4fc4edb4d82b7b385488e63f3f8f48155dc2142f9b2cb9d7f37b61df9f5a280edb6d47e3f3e899d4e7c14a5dd9c63d9b5912444c41803d922a153d3a08d7c388c7df89420a47cb1790d49f005cd4dd8e350519e12857f6da2636785b22f8741550bfad574fd00013df93725649fa86da30a724751926f496b5f568f4409c5a9856cab183047568228009c1110926708aaa270daf29b732e05999ae0e74b56f5fb81ac96202350177e6dfb336b9ebeb6a4d16bc9c35bffe259beeed86e049ebac26fca5734fcaea127eb05b2422d388fa7ad012ba4f7223f09923d6259b90c5c93ba0f185b4a0b0f94c8dcab5e23eba7f49d3b71e07688c1279490ed38ac1fe88561f7f737ea9bcf248f06593e9336f758a97aba42468f71fb2dc372485a50a1d1c9aa792905907fe24aaf4fd4b2a8429da92bedd34d1f684207472dcf0c592c083a469d7971bac12db5b7b3066322a14b62d17fcd63b74802a5b33ba21ac58341a8baa79504f285fd000100f0ba1ed466f651439aef9775148fe5394bdd65f3e6e9cac3809a8b97676a6006348f47a04ef4e48d7ce0c6f6236e4cd75a8b482cebc648b5cc5becce628854f43ee1a04467f19ca7c4e4cc7068c8bf1eca87382a205005be224529b4fe777b0d6da970e045b866d8cc4cbc55dafd2d0c637989d7ae50c86846abf7f20fe09ae16a0a650f00f36051338e0557298da9471730482dc642915e41eae5d2b581307d8b195c1a64da4cae97eba8239aa116c3cc3d9fe71eaa4825a9905576121f36ab890e924f00078dd8c033bc7a4171a836dcb9182f19325a0eb06dff33317b302231c4d4a78024062f2b20957d2cfd8dc86ac187e2355d38254d8a51c642ba9ffd0001df7cf5c8e2cc8bdbeedfc51e95e3516b14d6bbdd3f1d52fcd8462f609c917ca2b50594ddfd72e6c20814726ad23502629775716ed2f0f96f8cbd60746461a6fff891698c255ef4ac8e346a746c4aa01e9999511823955c64143a64e5c59fc273ba388e3ca5a28220e210aaf2838d8d4073423257d358c93984aa3e9c32d949068ed081e2966e2e704d05dccdd0541032b293cea664476df8633f122445d072662ac869e450cccc9d86b301064f02a65441fefcb7f40c5dce9f58b1168d56502fce931ce1390b3d7e1d14bc0e80f84a4d4077d277bd69676cdecb4194939449c099434777456e9a8735afbb7a4e9b1bed3a264f6293f3c3404749a7e8c85e23972148c3f0371a960deae6ee67dd5322d991c5740270407825506592a53aa4085bf000fd0001bf49653accc8fb9c2c282b80f9025feb28afc76f67f38bfe12ff8a50ad89c7272edfcc260e3932b50b4af6ae82523abf2a3f4ce6d1fad5ed7505be7171242438559137b86c5789d1c45ed3181f874dab567ffcbedbf3dae1e6272dd41ce9e74f4c6cbee9d215955db9cd93db8c8064508904afa474f4f20f2a2c762cf726973de858b12f24c9e666fef5faed4a23ee0d51302730d837c02ab3560d0ce598ce0ee3322897dcb165f3bbb73334c273d9128ad17ff7030fe99d2e61d851ffa1a5032a291f94227a2ab420a1eed5d801bb1ce62449279ab5706e7a0ecfad97b88fde9a91699df2844446824c684abdf1f8c7dd598aacf0a12a858102390ff705739221d3f7e18db2820954dbd951ca81a95c2fdbe6f48ae16acfa5e04306c69b6568c200fd0001d35ce82f513efd476cd4af972663efc96691522b020aa530e47aa6c9e2e523a5ad4658390f18498a7d44438ad31cec9d9e2cb6807ec35935a9cb9fd311954d2b9970823a1e12c00f6b02fa886f5fb331d8519d13654d145cd4a9bef3a4d1e1c53d1b06fdc072528c519df9ed333ae097b87add77f4dcf8143182983ea7fb7c7e6bba75979ca2e8b7bb71a36de7b5aa0b41af690531bc6e4f472ca449de210e3f23e93678010ab77f92b91eac5174c9a322efb3586c48ec1aab005ea8ddd259e1ebb1ba398f686b425c4b13de8ab97779828a08f9b0d2798fd73f729abc180b541b7d496b2aded9ac5417603a54a91f57f2062d4937c6d45884bd6f99fbf9de94212abb4aa14ede13947870877f19b745d63c6412a98acb92149ae121e48a88b3d000fd00017db56e92046a05be42dfe01e442ba76410378d2892c35991360165111bc16a51073173aa1273e346623051a0fd3759c1d76faa21b419382d1d28e24fbbc15c93478eaca0b5cb0326d990a12606af2d1df6304a1a50f87c6a1985a3e3a51e18d321fb82b70d40400c9a7b7e684bfb1cd40dabe2e9f32932b6bfc738eaccaa7f97a6b32e3464a4a6a6e180116003fee04c3b14f0af43fa8b3abb08a38b216a3d709699b76c487570f39fbf3fd6352a5bd00f5e39714b0be6b9c6f9fadbe9e3bc053c49a8358def3faf42101f311f488533ffd021f336818909321179f19f4765486e7db75def1788f2e39b59eab14893e891a8e63a0ec32e849fa8e8f1495f7094201b6885d791d7d676a73cef15db0530256017d21afa1ac832a124a548f885285f20a423cad969528d76cb3ac6467be017bad530192e75b41918b3e6506464e7a506fd000198ff5a624deb35e921b7c11ca6e5c0ecbffb75125288a30d606d8b49d99e339c83158c6edb111d14656456474c1bffba1cad19ea2da309cbaeb147d6ae665e0a8a22632118e2cdfb2f4c10e442cd9a1262a6cfcab183682f891a31140f1cf421a3980a0c4dcd3e4f07330f995a07cee0db7a0ae04332f68a7351da0388cfcd243c0a518660f9771ff5187614c236e897ceaf6e4fdbc9950da296f9326048926601a04ec028eb49509125fc114c9edc8f1e2958d682ef1144b5a967a79285dff29827c7d9ff0209349a7a2988efe12c7a2451a8ae6181c9bf87b214dfb65bcb2e9ae1c1f9f854d4850c44f33a9932cc3324f161665289ca22121a6a135a01959efd0001ab6ccddf201d7f4c49232c7286d1fd022d011ed2f772e75ff459b4b2c78d58d7e4a05dc5228003b19ed76c96f1318fced3380bb1d57ee6ca4d1402590519cd48515a7c1a20c5c5d5fecb865381e95ef47647c21550ef325db1424f97bdae777fc0e408ce503c4517926ca638b655a2b9eaf30a3fd6fa29d07ae302797f73129b12815737a61db98db30235e400d05f9af0e6ca0c01703f879ae8fc3aed776db300b30b2d5d12a10c7f36300190b9eb12f8fad7b2169cf507f39aa4253d97be7e82fc82ac812724b9bd5645d807e8b830835ff7a667be451b8ec7c89fcaa29bb0b12c42fe803b7d60b0233a588333087de2812ac37fcf1b82e330fdbe1c839e82212b7d2b6b6de120b563757e8405255ce9ab44b9951ec5027ab682bc49633e809d00fd00016d39adce60b21d18987dabcaae8d81ec51b9b971ade998ea1f9af3c41d333cd70a157655e142bf21c14e499a9fd89057765d680fe737688d4c967be59dc869aac3456647a445c09b77d2aa1a0e95a0fb4f38f813317ad05e95b9321173fcf1c963b07d1aa57c41689e9483b4d98a20c867cd82bd8784aad33c07173ccd0a132bc2cd2359707ebeef809a434c63ddaae41e8c002b4fb30ddcfdaad468abbee634db69ef6cf63c92e6fdc1e10c5007a0f691d2fe352df649706051877d43da11a0ced8986b0ed1cb2d715be948c04630b7b7f295e97d81005c5831b895066882ba0146ac367f9f7dcba3aa476bc6bad037bccb2a82da49a6d84426356a68cc929821f7b22693aaa14b92f75e3335f2509279a38cd70aeaa467b89a39b28100a370c900fd0001134711d27c9e560c9b8dca1f1998193015d10f41c7500ede00dc858c139563f6d5004619a919a62e8c617e79c04483ef9770544e7b9259da19f00224f1ad47ff6245f27a95fe30676f69b0837c3a990c1f874dba8ce8cba055990ee60d465880dc8c78f06de30c5de78f4f9815d1730937b87f77f2d8b435a5a9626ad1902cc934651033efefaadacc76fd11b2883a835aed0bab800ebb0717afbd796cf8635ab0f06bb333fb0847f573fa801d0a42db8660c460bcd7a54591d056e854e4b3c48d33d8d99c87da9a2a233e705c9268279974615832d25ba4642e12ebd116c3f6d66f3b2fd01a036635adbb2bf9c3e6ae04f6af24bb9c05e07d33c3221fc49e87fd0001a597fac21e6e66e33cd9dcced380f767f9bdcab31bcdb08af3e6592a27561ca5c8df1ee88a2391cf9bcc7d1fe08ff6b736191c1f2f1d5efa5fc5ebe654c7325b8d67360fa9cdc7237784e8a05e86b90db0f82182595869a6d2a4708b2c1e4fee2df1ecf416d548da5319a10912b6e5f5fc8bd5ec14f4f8dd35555f57e10c2d0b4441e82842b46fb2503c9625cdab8de3672d9b9d51eadfee9a5e6a84d03e2c64cecf6950b3e75b2978d3d22c434e1def206899396497ec5056ab125d38fd63bd52e77b4b14a58bfe1e567ff333f511c5adc9d3875fc4265f7b9209d3e53b388f03b28f0abde38c504fd65d815614a474b354c3fdd5059d387d753292656a519e20e0ce06c8536c8c3fe9b1a74845c24b6686cea344ee8b921f8ae4604066626b43fd000169ace97069f089b242182da035abcdd7a23b233791871a1203d62e5beae69f678ac44255ae5dcf355499a6894d2699c08a4a62daa14ca637a495ba4522448f6f489f1061cf5fcbed3fec4c137171a0d2e21f2720eff9afc4adb5038e533eef0964f717548a2c49ff08af6a10e9b20bdf2ac0161a5668d8a4eb6e44c8b7e5bf0c4e7a25a8bdaabdb4afa323dac97b16e1549a75bbdd275cb1ea1f8307eaaff7e287779fea9bb658ca0fab0cc8a49df1d0b246ca3adc862d19296d40fe8c97f6576492034f57bac2febcf0d5523079d7f1627822cdd839f45469fc6ea181a313c45adbe5c29f698e86d71e5b54570bc2f16fd1fc21d828278dbdb9a29c81e01091210b04db25ebb57539ad16498d9039c57e01b26495e4a5c723be0a6fb1918afaa500fd0001fe159a78801cdbd7c3af2d0aeebcb7e5fff1ac48acda6123c94d58e8efc774b62e3588abf5a6865b59c2122d1479064ae2236635ccf6f42a8904bde5009e08709b6a50f5969c672d1f7816b369ec93e8ed40c7d4ac5a121d7e806843bc7822aad67c704e8d6718cd8f694fd45d417e82a805619eee0e0c475aae40b6af9e14b0404e5f30730b34a63038ca38fbaaa5f4dba870c093963e03d4dc81bb54556c0e6ff4ec47b9cfc53e3f6905326a87ce838bf475939abc92529eeeba13f73c95b63691184c93f4ef1ffa496f347f40ed1790128dc555a9f58ea22444a1c8d862500ef05c62ce62b91b9e1f59e2cba8f952019862f069cb5dadbdc053cbc6ff818b206f927534bcba155d9041cde4a2b7b286a488196adb4cc8dbbc974bdb196b5c732011925ed9503103902f0bf2b6e5bc51b24823835b351411f9508b336df6f13e5efd0001c3e3b3a8215be25eb3f7251e6a44f7da661f804d96c5436adcc632f38a2cb480de2f6119d4f4d76ec80ee420d65f6d426da1968a9df97dc50e6322a3fdd558f16eddab5557d9e7d49640fe84efd3346e1eef66616226b90997d2e05cf52cd5e778e81eb367512f6409c75b6f0b336a8d66370702ed704206d738033dcf878100bb143535f6968215d2b4c52c503cac99c8e9bcbc3c4dec63976c6a33f8c8201304b00cbc956a7537d2005e0d01ac1ba489134e066d21a26b30954a7895524396a6e08ab3a5796dc80027819553d2abc9f711832a2491678925c96a9c065761c6a8f4483f7e9232a5b248a9b7618c05025de42c2aa3c102e3767a7b07a3af228ffd000163bcf90bac7c5aa45d3ad651c32c15ca80ea8ff9889e74eb36f535bc66f7eb0d5907d10011ea96e2c747abb60559a2949d448ca8c0a89749a763e5ff6f02830367af901da896afba8dc3a4d50cd652404a4dd524be3deafc0e52ee78d2b1789c3fb9d6848d33e3c232b70c3ab23ece97459c536a3335c89f3a5b4f6c3f51963ed2cd5c2bb7c0ffa10fa202f558c3a7eb8b7f10d308bfcc032f49ff1aed669f9a4d2855bd82e0817c9e7edf627465b777bdb77c78fa550a1f5677f3d3466dc4d2c163854b9098fb8aa831ad09508feddccac8010ea2bff687a174cb752288a47f76c4c57a1f4f864e29b034481712832855f26eac5acbfda7d3dbd610700fce97fd00017edc88c5492c0dbe25465ac6a3090485755153201c62c01b3654fad16677feff6fd8943f81f63b30502edf22c20f494982bb8a6eddc2daf49db18f5bbf22601df0cb7190af24386dd0ac9874007cd7943e44490bc0f52ccab532290633d16b13635597b03bd0535ab63980b020f816e53a4827da3f4c20cecd2cc659bd53cf3c251dd512ee377cfc91ac6068e5e7d916f16d2cf37aa194e69e68631ec4731fc4843918e94177e75978dbeb39496d0a16bfede5de762e6ef0331f90ae6679446d42e3388a93b671e77a53a0cf205f2a97f90bb04b131df418c649694667bc96982b78a6c7936f3c8251fe175845a2cbd68304353ec234f69c0787e882601a8e8d21d8cec70467672821a200ced70a6988ea17c9c53f25def1226182328098a0aafb002184ed219357259394f9132aabe80db08759892bdf805309ce3986a53ad9a1ef9e00fd00013048276ae6ee6d0713be1f4dfe4edd2bfa983c399c3941c7c7d0d61209995ed6ed14853f38755607ad1a32c92f5fedb1445656fd81ce204d93e724ec862de848d639e909657031937adf9869dfd14d405ab43276ce998ba62ffaa8970b74f95b955a8fe7da6d8194515d4cbbf6b2a97370383b626817493cda464101cd626a3d5c9312ed5aea82f18f714dc99200f459cfc9142e5ac837464b45bcb13567fb2f4fb1f56b51a009e3e4c43d271bf53c2f1f9c4d02a5b39426c66daadac169867e5f9d36716f45663470e067d391078e8b55d5381f61479aff7b362533f61c9f9f49759751a1dbc059514d43d62a5b96585871e3dcb701653d5f9f311bd2dcbe952099375037048eaf655cfe091f21c52084790f0024902927296a01acf2eaa2fc63fd0001b97b6930b4823f778913309e765bad346bf491fe270f21e4cbe52d1a3646992ca7ca5db11e8d5b46d304205765fc0d3c5d5d46fda15a7263c8be7c45cf4a7f36c1e352ce73483f85bcd295cd35d9a473bc6a41a8e05c35c76c005037cbbc1302f399cd131ebbfe38fa49a95996c11b2bada2a368610d4a475543a6455050df347ac9fcdb2af18047694ec8bd11ecc343f37bd2a717bfaa886dd296dc9211a9b3dcc699c870fa3ed0bfa22d3e855dcd2a7f582c150c30ca1821a167ff2d69545de30e85fc5db8ddf49504bb5328a3a6d4be369782245fac945bb569a7badd782f5400e1c1d2ac480993564597c74e539d86805acc6ce4b9eafa469d54ff34e199fd000192ff4aef8973f20178cdc9ceef2ea866462a69aca2cbb5b590d93cd091600aa91be918fc8676e79ce1910661b6fadc2fc6b1394e502a558ab22af08656e5a0e73e8b0648cac03000dc84d8ad4aa9b21c6f63ec54d2c0fc706682a71716d30ef886e6d95f0bc0f2af421ea4aafcd04b53d18365837657a026e3e3f4903ade39f5aca18eb80b69d49d5bfb1402b958f1c80b2f3e6b4f178c1d3204418be674a05312996775c8cda27199d1c771c4c2c8784e631d8a18dc62e0065392f9be4b794c861b8652a5a46808ec91128e039fae0c1b78ab5e3b299f2580f5fdd0b05d85ebfbccfd994e569c0695c1b6ab530dda6d619e0682597c1772e880390f524a3e99fd0001a703f25ce8f6e7365960547f1ea089a234dee49493d8442c2caa711c4553d0dd0e9a1fcd7832e4c22d16ffeeb46b9b9fa6ce9afd70e873a24f84b0c463cd96ce5a0121d31e1cd78eeb41c341cddedc2c755c83ed8e2593fa5ab85935568719c4860cdd0f1018d5366777685090c7509770ba81af9680cd33c23edee7e677bfb0df9fafde99c79418109a85e8a566218b7362a7fc1395994e43d0817646eae16ee1a623c16a3cc38bea0bdf1c49d2a0a83cc37aab5d54fcb307415ecb75d8f34551e9ecdcf141bd183bff823a93af71d3305ebcbbd6e83414428a1cbc14769c70e88d53ba158f909007b06ad718644cc6c12aac04f033b6fb607c769b26771c8cfd0001c0a15e72e08ac8229fcff319d40286e7b9fb1ca8d99d9ba22f6650db48908273a6a321db02db849b7a70bf8e556b66d684ea89023ad349b0fdc036635142a320cc168251b48fbb2df50b1bf08acf12ce9edaba07089155779406da822161391df1619f24b9c10757e9c35ca59c383ab1b5954829a8f72540c509844bed08bda35b60b25be85e0a30588a2f05e327c0b7370fd8a190db36d573335ac17e7a7590d0d16f992891b763e444c4aefc8a12850a2ec53bf4f9a16e55e04a885a9e00ad4f37d03305205cdf91efcc2e353bf849374d03347d9206ff27b89a1247deeb2a80d965aa191dd84325d7804c8df5b78f8709699b48f9ddc0bf75dd6be2e4f38c206a50ce4d0b941da1ef31b34a65b8adfdce5c99b2d9cc3a79840d5cc15e59b76bfd0001f94fbe593621366167e6adf34f0450d6b199e41046490a0d9b5c36d2cef1065031ae36e090d58dc66e468d48a4f34426f3c6f3a009151c5eb571aaaf54e35a8aca2c8be6ee41dfdc4c570bcea0976dbd11181926732b471cfe460cedd70f3cfe0b4a2c62976b11136a076d20ff8b8f80469c2dace6b49dcdd766fa6afb56667f5c92b159b4a7c1bbe190843abaca6531ea8c8113616f10c29278920a44e98e1b4dde1c1d0bf39a6da60fbe414c4f1d944ff69b71d858f5e8c6f2dcd8cbe8da20830dc6a997c5855e953a2e9cd817db81d4cb5094d1593d339a3e9dd2715b805b4389bf251fc53cd86e66cda675f85d0826ebdba9cb32e488f7fc3d3ca58dee8420b8b6590f81484eec9edef707aa94915bb41b75e61287b96e6ea34ed01fa09174207b27d7b19a7b1451ee5396febde08277876b34d9e2a3b05ec9af87791ecb4c3d20c2cfed288258dae1959232f3b235889e953030db173d6837919bcd9719d02e36fd00015b924a65285610bc22562bdfc2095edbb80897c92646158e6dd740a57a80b0ced8cd58829c9a20c3ca2d64fcec3e4bd2335d9e80ccf8baafbad06e7e7482a02839df682201806bf9ba3dc5c44f7afee550b7573e140ee82ad59067dc501c17b70729e139e93105cf720d9274d59b23c4254849c0c257ab87f4eb09600581e13cfc6c27af34a9093abf870d11f3fe05246876c66ae750ff8c8d6d74b931e0f2a05cb689433ec71e6244a851c160946138c53adcff7db5947b6a92418139b3bf029bbcf3bf6def1981da7b1af261fc6eb03de1099c98192313977980d1f3bb73aa454adb970d3e0e4c261cadffe35ebaf40d1ea0c477a975c5aff8b356b3e29b87fd00016f9f134510dedc9e707f83ea17975fcc5b9ec6d055505745243f8d9bbff293fa32b4b88418f99b41b537278fbfb7657cbfbbbe6832f52f1fb8d588607f26f3df69ca601125599d65d89a86cf9a1ad4191c919dc3748d57432edb9086960b70f2dff8321aa140b34c124b75aaca10d0f7b54b79abc195136e0856e6f30078dd6c30c618c1459708c66b493230e8968efd2043144350d193e4c6890100861f8bc4b7befdf066478657e766b7512b466b0d191cc1053ea47ea1a00a348bf9e244bfa7ec04aa1e7ec33de89433958efa868c619ef2eac64b90bfcc3210497a862de6ea59dac7deccbe232f378f80d33ba8b78a796882c3009557a2fedc5fe829df8cfd00010c04a922bb01c0d98dc81347da8c27ba421b7390754e7bb32254da65ecd059ee87b9d7c82974b689dfa5c89e5ce5e440b709fd1679ecc5c4e016a8791ed2b302c6fc08595f8e7bf690d41b7456fe4dda458d83d32445dba4e1bf9382e5e83b9c40ab3afa4cec14bc6fb30ea94f2597114a5ec91707606456e6067fb0e0bc249088bbd7691601601c37c6e568c929081f10669f15d9c454999220da96fff111b344a93ad9b4939f364225f1d07a228c0922167ca81df04b7990c6fd95be0fe331c5a52d5ef430ac16181f84a3fff2eab0eeee3b3b7e5041b95221930476a8012cab3acf77a227200d17d4d05b53612ce7f3c22454f08687378bba684b1d8d5085fd0001db81f439a2bbbe1e866fd6fd662b319778a03e227c92b82757e539b7986fdd363dec37dde8cf2d77b83be2bf7334cc9cb64368a1761cd2f209299fcbeb59f8f4d6508599481733c3d96babbc1359b6d23707abeb9f63f44248165f1d6f4d23a497619e4ab31976be1c218c1f2daf2e4d24a40c3a4d902215f9121fcb304e97c084de9217f941ec13b2771214a5f16d62d0279add2a917f9b3a9c63c079208c75b7733db90c6b17fa85b264d99899dd10f8235f557985d8cd44a4e100ba51575a16aad6d214e01e9a2933a8f49a69d35b5c8177bad003081ff30554085f5ead114bff2b64ad919ed8089fcd3cb3b26ca112cdccb0c30a5f9fe91bdcc67e654788fd0001333d9dc6f05489d70a15759b7e4bc9a55186f2aa20b40038bb9c7c73530f56db41c2b68cde195f56f323fabdc8b075ed4a52ae72501c6487330a867bef2deacd412b71d0f844a91c97435ccac953f4e7443669a565775b9200fe095251773079c4826a4d20079375d17bebb99bee6e2b0fd216d6ae64412fed7285db77e3531d42113f44fcf5658ca1ebf2e0d44b0d846a17e1c7db50ceb9d582f4462ae638fde8780d63eaced54da1d57651ab8c049047fca8171d1da19eb9aa842dca53d5535e82991f95803c5cf3fef21d209228e4db86319175626dd8b3b9b2cbc252a45f1960beeef1952fabe0142d6edea1e4e05ba8975307c57a9cc36a7eaa50938b81fd0001499a26d3e30376039d7f434a8e93d96ec0959e4411f8db4cfb2b4fbffa0d5dde4fc43af5bc92deec450b9748cbdd3988bbe04802882d8882d42599c611a6d9d89ddb0cb7bc19b47e361986ac86bfdbb0768c515b8bc55154480ca63a9a55447fb3f1c3885c9bc2e24efa08f72a72436f152610b9787c8aa911815a21171d5778c49e2b035715981b4c5e4e849e1c14611e5c2ae27db4ce4bc1e086671d8157a6dffe0524c918dbb0c24e83d9800b595fe957c6b71b0cca08ec083bcc8a58ae30fc7f622c5af06a1e4c31aa3092d92ff50336a9be9658b18c6e96034582561e4c99c8322794b7b3f14d91fa878f4b9239adf35d5e039df340f0f13ea376051c94fd00018994e821c5600eb39e68088ded794ae04758590e44f6282ccd592b46a6547a31c5d586ab15c533be320f41bf6a9a8b54f8c515a6b1a76348a598b48b72ce69f8cbe63045628683e4a95f96a96ab3e9f8ea38d16db5460e657d81fd26ebeeea969aee8f097373257b4c8c3f48ef4b978c77ef5d4376e75f114e7e5fcdcbc3c7067fac86af6215f745ecc4abbc6efe871237b4eef259f60444ce082ed7a4baca1d0ea38937d2b087fc3d48f40b96647af70871b0faebafc594a0841465dc4f9f7ffe66d712ccf4869525ea6e94ee4a9d31ea06b7e09ebb09dcc5feb0c1b1b074b21ade86e0cf2dabaff369418c7daef0130e886f2b1ee6cd011cf4844072d69485fd0001ee9abb47337a77850e2eb0e990306c430da6e42a767889ced95cedeba613ddda99ba9b4df5c3b7c2c2262fd9a2c0c4db3afe4b2c1841d33b9c01fffbf0df9e951e3fa6d1e9bf5d4b17a7a9a90a0c1d5253bbc1296c36358b0645c96433f2a82c98a58ba39a8d13fe50fd7f18270cb957396b6dec661ef07a02fc1d59e8b6a1a6448bfdcdecfe8fce10cd3426e129934580f2b0bb2830fe484fe2a0fa3d86fe1c5ef402b205efb4b811b601f380c2cf007734ca8a93f6041089817626236d0a8a863cbf4be486de71e82d4f68739c6a905677cac85e87e7d20514995f7999424afd68321021abfe07433bb94e1de35985887bd979c5ca64ffb47622fc1801af87fd0001f6629654f3bff6e1db299ed72f85910706afdf455b318a8d0bd80065f56d56edac6d76e447ab400a5c7e54913802b03b72e882e5f3b01ab5d03f2e133b2d454dcce63afd67d9724a43e71be65d84ae21403decc565cd2664b70a05ce31d0daed6e8f9359569acb8610639cc345dd49152372301d804dee174cce559ae55e5611c6a618c36a596d5594ee95ee1c40127228697c75195713e6b3c610deb881592419bacdc225f9a4189f530badce8a4be72136d70ab2b273414334234eb60f46c905c94f1f0df9849020be9d56c7ea1be987f54e18e0d84786144f77ee67595e5f16f2e101549a40f6f4e398329eff9248abefae5f68266697e18e69253c382f8b21870797880807835585e64e631f420632bb5f142dad75c8055db54ad88e987b9f0021d7c4529bc0f085ed451f226d08d340f79311d60d4f121d63fc6c75a777886596002158637711351867c408fe3c6cb8fa859b64248ad080a887279bab1306630288fa00212533116a2162a23a2a7b8a608fe37c839135aac253bfe1fe523ae0cf57cd6cf500205f1366668c65da62bb5f9839811cf3673da2c561e284d5b9018508f233d7880cfd0001d9c9ec307126ac8e859a54382410eeee55539b85f8650bc74a6b8c072aaed0201860c001d16076df5ea4c61c7cef9ac52ae2f00b179d97778e913decdecdf0e33a061dde5013f3d417dc6a45a7ccfc800ce09d0bc64729cd267b0fcd512d0e1071815fb4c9998f8ed30f7d78715a5abf338a0b6e42d7cf2a622ce9859fd16e2f42ff3df0e3609fc4bfb7486ccea2cb8e86cc5d56349f7b241c019488d59284d6d6c97d311e2a174eb5d72b623369a03f45bd969cf26faee3c44104c92ea6b1d2809284143d4590e8557bbfc6db3b29cd67dc3e92e209302ef9b5663f21376e6a2db040f09b87236a7fc2f10afe3e1ef4e08bc01339a83c56cf34e574738beb8621ea3d087d463d0d1f0bd5df45a769c5c350fadf75e3cd4c292f58778c52c25fdf00202c75b6baa8b5fe17c1432e80c39628b086032f46b9004ddbd536811e9c84ba50fd0001c52e8cd6def8883fbb34897819bafecb92df0e4eb175f4e2f2e26d130d15a6f382bb8ab786f50a85b6dbac3123fc86d3e2d3975eaff346a2473ce0dfb7e3812f8a6d189ceb2b8179b152748c41f03023749b8c506e86ea3b2ed433e2bc5ab21b6e40c3d16485f067762921c05ec7eba16e604d4c42bedd19324389725d94009d4699beb73cda891c800889a9a156022eac779542a06d2221079b5cc0f87b7f0c91e849f9d87107d10f0fa8e524d507b5138940b374615f16d274f84bffdce85bfa76825cb23100cabb6f062021f30645af0cec133d880c4a72051fb137b42f479a1d9ec4758079bf1c3b0b0df2b72feca61371fc9d3cde8be9bcafc97a3b6586fd00013d5c740d90eea97a4a3dea07b1a91e66bdbf60b6ac11101a0c591f482cc6fad21d360fc71efab0ee7193c6624a0ccd812b04e4b62b0a10fc2b95d82a569b50e0c27ca3ecec12f64825e2afb15c63c66026363c61e5d26cf67c2b16174b172163443acba89dbf7e806a9ab396b395c9456d99577016496f11b06163bb22daf8c1d06e54d86cb1aa98f573e72b0ee8f2670fbeb7dc96bbec9fc5466dbe752f3ed5d3ddf2c2e274078fbf0362707bc7fb53fa594a6f986b8c468b61597e8f0cc1348f5848d436d54266f6d90be486bb2ba5ad2f1349b72ebe861cd97c4a301881927b18fbd5e13b380636c1e1db1fd159f0301eb213f23b5f48378301e6a016a28721575680eb7a0f1497bfb7a688d161e4a92f50a435fc7539cd017e4627071a9bb70020a31c10ac6d98f9cfcc65b514a8976291785e414b3aad397d4c2a82037b13407521da6a41b2ddd3e161d7cd5d159cb75001006ce8d06592de2a2ef0f55425aebd86002165ca35141aef7a2cc2ce3a18e82a95dd8a74c52af34c963307b65c5ced95f7f200203d833fde66fc93469aff146e4ea6e854b1c9a1ace06d396e2cefec5af2f77e5421c11f293966095c53541e75c13939ecf394fe6d136687fed11cb0ee365255599c0021b95e8615935fa823c6133e09ef6abe1eb2ffaeb771523847404d5c2bd11a53cd00fd0001086e45a594ace65587be83ed352e3a5a9e2b37ab73d999fbda6c4b83da7c6ceb3468f24d822d813e6a3876fe9b66e9d0c7da2216f1bdc70c329f78a1b76cd8fb50b1648731657be0b87f4d763eaa8c6b73930c96751e1d8bf7ce3995feacbb436493e5ae68e4a55da6542937f7875fdf8410ace216a4658ba0539606e7136a7a1e326b4af8ba527ad05e208c7704ad822efcf2a4e166e868fbcc11a63ffe4ce8fc1ebc3a19e5af3a79b3a1ccfcbb8416f97b4559a0289521a28ae0ab8f985e3c584e4c91b93163872d28209ec556fdc9088065ef74211b390c3f007c4d3b2c81cbdef4780b22a8f77bbccb65a0adba28ee0217c8539625e7c4939b34e0fc9784fd000161233bfea34c631bb028dafcf7716af1ac98b24f971ffcb00d80e31d6834cc9d198310c87781fd3827e9e1d8879e178bfcffd7d74956a7ef0a847020eca6bfaf653e53542cdd35a2dd7d2cc6a088d06b8ee273e3181e7b0e2d3f878028a8be5c3d768237138cae02aa3a43722bd0eb2b3c2c2f28d93bec81783c7da3abc3028fbd0dd8a4c5286b3d032285b04d23fe765ec4ddcc0cf61a87b3a4f876534dc853d0fbae3d1c658c4763ca6696e4ab1d71150c047723d4787346829c9950bcb355ebc1460d12cd9d561feffc18551b647b63d05df9b72c9668de5cb7b4c0f3176afca47dd6473318943ef8c4aa92e52096d597956ea6e3d247b41501182d0fb69bfd0001ba536a013e33b0549e25c19b99520dc5120a723b533281c3ae3a2eb9f7c7a12c403b99b2a6546c2beed614c8d1439ead98f9c7e02fc11b96ce54e448d9e307c891eb033480a61d61a786f665a4fd34a40b8af208871b42914c22e6bb4824c975f5a75973547918df6987642de851afb3d6ab783539af00a63486c91771a071dd080f24b83cad5dd50d102b085d548d105da37f4232c5c3c64e326387222f3e2d7f2db1001695c84aa1332309c37b6641ee9957ad32793361caa36b69c9c9f84ace3182891d8dd25d994e5898965be6a8f378c76e5bdf872c13683a08534fb9f5e5f54d33c3138b3a48173bbe97d5b1e0802b10b634fe1d976d65350469c9b18720e53322586512d649b0e0bbd5545928643c098eb4cf582da5d88ace02e0e82f3221ccb105838e4b521f2904b42678bc876549b2644d16161a5ed343c2d9eb05b6ae00fd00016bd6d350c0db32a4728fd3ffa645261144d556d2e8c16eafe72506fbd7a3a4af3336d5beda052fcc39c2bd7a44b29140396dea1333e3eb46f092ae370c733a2acd43192864123a389288f1ffac96cefa183b49fe8a2e388533ee121522b0322eb66f825b0a0fe2826b8748eb1d06757390b21798e7f5f13293297b0978e2cbd5fdd6c1ad59f3077eb53240be36681a20d5c82e58fc3820db33e762c8891a3de1f9888269cfb68d0751a7bd359d4d80311feda60229b96dd9e7db8c9bd4f3c3ca23b4552b59bedec585f94b6e22bd74c2d9546602712bfcd7601a2fd2cb89df172da161092560d13a041309990cb264af95127438eb942aa4f222f8403ce7588a8ea8a6d458e800bef96387754f0c88899f83126ee936abdc98e20f06e0adc3eee2ec208de96f46d7dcc9838c34933fecee41a6e79c13da2e636dcc01c03dfac953fdbe95bb46e6922fb19b67e644e632dd2172472d6a72bb26278e2e2db2782f63bf802e908f412e7b54a4bade31a3a4589524da34144a8495a444b5eba4182faa40b57c853c406997ac980cbb5e43f5114bcf94fc31b78acd414878087e9f7b5030b7770af5c67ebabf01c1bb23abaac1d3524b909f22191ab34d0c8b1abb27cec3813575b470bac31cf1e83dc1b7380fe05a02cb2bea65c1f34662290db0c631bd1ec9911bddba51ddcf20a063f04a8139bc1488ca43189193e746f6f6cc81bd7301e115327f5597f70cbe08de21cf36ca2c9cbf12055313d8e48f70372e2a99b4fff70c131b88aaffafe12978fbf90747fad6dbb989c5b34a7175b46ebb4f6a5d5c23d26a6329fa30b43ca2cd3ea49607dc09a1270af91ccb738b22aef28c51ea3471119d7595a2cd2bd54c4774aaf9d26f17459b64080c61d805aff3be67ac6bc04990068b59918b603546ebbad9489c68775f65cd2862150187caa6b75f76535d8b3c201b2c34aed9898f910d4785f5591ac91c983c4247e83f16e8351c038fd22b19ec14fa7e230cabe3b00bc3c47aebf50d4e3ebc435d17761098bd21794ffe5f78e2f301e617569f659740f8ac9d65e8d7118fcba5642bd4de53681508f59efaa211bb4cf4ebeba1a3a93daa6a86dec5d09e37081783f1685ec9b3f96b0aecffa3b291d7b570c4fa34607c52d36aa4d8238d0a72558177105df3afe3f76e9e4cbea03df85ba779932ed426c2c11d7baca039cb016618b89534c6c0d8f0b3a0ecc84dfb9aa7e171bfb8b28eb9ebd53eafb8c8c266370b5030f7ec630b3fe2f4e61bfe598932557e8871cd081316d44f3d8d8054e59e5b2c7e8d6dbc29f317f0d9f08c99677de11abf1cb34d84145c8aa29da5537bf3b4c3b86fec3f2e2ab9daeeece8e90020cec857c0be4df85bd11290f7e9afbc568548aa553329f10a7249fba230c5441c0221032dc43d3d26c3c02463a2e187b9f4314a01a88b652dde00c0f0743382945ae2d3463044022053aac3451169a373ed3bbf5667ee3ba2b4f3a73e6ab55f898eee2dd86788f7de02203761a07bd1fab513e6118a68e530a9164d5de2c0d65016d01bcd30406d9e3e7b00881300000000000000000000000000000000000000000000000000000000000000000000fffffffffde452c202e05288130000ceec0a035af58f1db818f9ad47ac4b2e5d204817e8cb783bf44c37d359aa8ddb8599a366461d449b63556f296e532b365e5b54ad59756944edf5642a298ddf2f683f5fb68007a1738badeb2619c85bf62b32b0b52c9c74d977f1ef2ac59e5eb21bdf6722e3ce2d238e62018126f2ca45a78f862bff274f7e218684e4279950cda4b2372a9878f4abf558acc461c1f2fc4f2a34d6b1f16678aa518de7ffa48118e5a5534bdfef1ee274c7801e1f16a2cfa88f87ce2a4d871c199c87daecd5cd3d6f18751629d8c79887736b0366c11fa35ad78d31e029601b6dc97d21d64cf8dc84d89ecaa462d616b9d3d8ed7121a870ae0ded0bfc7efd545bbca1858f5713e36a1c11c83f79348fc9e9b2767cf200fd00027d78310ff07e71e8d289181d9b8e48e12dab48d4524cc191456b72c05078c95929f40ce2e439a055be8ca785094400eaec1b5210c66d1f217efc75580102389ebdb42dbb6074f83284307ad93d73dafe56f59b8a991e45e9766cf2418ea20509e94629063c85a82d4cfd04821715fcaadcb72f5ac69e01f054a7254c487c6afc6a2600b1c06ff9c7bdd3ed7831ebe0d417a8d36769740c9e7037f8ed9057488e466eb9ac6d4a61c2d0035fdb7993523256397ea6d3a0d05c6b200e4c9537b48aac18e4770339369d516e22028c473bcc24b0ec9f83869b38f7ee4cd579688395e6eb17449d075a808b45c4d18fd9ba96bfaf4caf20845e940485d745f016867deddbd55145eab1ab9acaedb9b2394e49d1defae6bf3b379fc1015c95762a8b7863c8e87410aa33e91c5707f5382f24553f10341d01daf40199cecceff4f6cebcb066669fb3a2ccec10edab86127faa5f8c4d2bb4a845d034f18e6141c5be2fec3a2f01bf4d8b494917090e176bc24135f4f6212ffd9a68a4d027cdd35ca32fdfada73204d5f051acfa6c523ec82292e93e2cb167ab2a5c764e41e93e82c1c78db24cfee69379d8a0cde1ebd8543bc5652d845b158c2f2b13cb1d3fba4f5892b00e018e68585a9592673780f0b1382ca4592dc38bd460bb897586b08cab4582c2f50119fe8b5aeca6a6c6e7f04049b3b42eece199635c00ebea6b07fa6741ee3efd0002a9db4f0cb92799b4a66de88c88cd2e1c5acea06789c7200ee2b52850964e8543698213753397d573406df596c68113868fa936b378d0bca896bf6b09668b0760102581ac17a156a23e4a0f9bb6c532e561a6076fdd3d9b94f69d867831a449caa2f2b2662e40752e4950a3467e319371890a9f3d44c37d5b533d2a417c04bf6ffad2ca66546191e287125adc92a4c8dfcf1554ccff5679e26c2d9d78aa6f12ea88b0504b1ae68adfaa94cbcfcd28ded514a954b88cdeb8da8939cffef2db4a5d7967fc84a7ce2f8a4da80399067bcb6f5eca44b4a2fb762082da4aa268a959e69adac2beb0b4895705db87f40e73a2a900459452f34dada34011114ffbf9a2ae1019a9837500c94783e83902274792f445ffd8f1614546770c185e8110bf7cd1f17d85ad4f4d54c594837436d4a4ef88f173ec2ce9048923d3d85b43390879401b584aa45a6dbdb26bbcc1a6f1237d7d15909cd05e523a41dc82a7f9f10315d860d16509e30a93bbce010a77ee3b952820eddb5e86257a0b2dcd4ef17010c5e5addd1f758d182aae2caecc07f34791eee6abcf9f48fbcf61d70b926c2c2e09d7634e9b580f5710640f04ebcad6b7c426862f1295d62ecd97848dd2762a083c310c06ba2eb2813b7359745c1117e084af7928b6ead688f22f205df73349937d931f50cc04acdfc2a214b603cd0e15afe130eff5a86250bf6028bf1c20877c8a1efd000245f7889b5c0daeaaadef09601082866560e42ab1af686acc244a94ffff5e9daa5bdee72307051fb16f9d199cca7bb826d95ae4b9996a9f97f9477647ff69dc1baa76210ef1805452245017d91abdd29ea7d2dfdefcb2500670530b3193311a70c4bba3d17aa45a85c4ec197c2953eefc63de94a7185a45ae53231d5f5c9d4d1bf4981a43f880b9cd94d6a4c650af8f4802c51832f98a711534ac993f42881effe655ac3435f01b473013a6fc758621f8b550b7fc9f8c7f1d54555fde9a6ebace478a393c52785993a9c8744581cffae08208151f1142438eea5eedb4d34a5425c917dd76f3aee7dae445a92aff9e74fbd26f0800a0cdf6b2d518ed33f7f9f587d9086e17ce25f8a50303a97ed888a3c36585dc8e8fafb4d7e9ba58f4a99514f7bd0878c1c4496a851997f33eb15f2a0f3ad364fe1b1a637a7a13ecc308979d3c7f542b196b19e4738609c3f0dfda7378f53e5d37d5b409a175b66b26ba2c712e9ee3432ad717985b3059cabeed2666a5f62c40d1c1394f62c9b27f7523fb0f07a8ae319b307419c3870ef575b0332e84547b7ab90b10963642056309b2c5656a370a3e960a31fbaa92a69c844094bdf5a8b3df709165f8dc1cfeebd63ba5152ef19e90b3c31438596ccac3a5f73eeb83a46130fac68d18d80528544ead7534af1006952b701b11d621100b1204d778bb30b354ecb610bd4ea5fa0d7219a89118464398cdeddb8de6ef708aa191df780f6634d44862aad7728df6a2c47d3a7e11a4bf46b74390e7b244606a0660b4f4a78f3f3eac0d56564c560e96b6505268ea2a89a6c18e2309467d791921dbbfb03c246963d471cad00499b621c5e6d49cad4547bf3e36ad9b4b90cbf744597281d4cb865e4840466091f95681b854fdc9706f702f6fe53f86e2dff5a48f300d466be42d830f5a03d61f8d9d0430f7a71630c1eda3fd41c69f0821951849aa74fff0e7f5a96c6b6eb1bea44f959aeb6f1e99d5315e06a0dd73c2c1bb55343b441cd8a8ffda8508fd0101e6a7a81a5df31cfd8f231967794062d93a63a543b43e1ebff8b8c99213c3b20aebc6b2284f9b06d8dab9673fdc728873816bff5b29fdc9b36cf46480f7f4833ffdf1c3163c55c70ee78aebc5e49e4df9623d81902a080eff7d20763f075da0ab0103110c7ef45cacf91ade6fc28ec49f39fee59eb9c0d98d4465f5da334604b25dd8e28aa39518f8f08abb8b08b433d2ec403a67aeaddfa3020076b076dbe9cc5a19e5ec17efa490973639208d6dc1bc021046d04ce270651dbaf4592a1f6fb156eafd85dacc196bf11d3ff7333934cf1c1b6e856627ff20d2ad0b2f0ba36bc24442b7da50e032d0e330394c7987e692a91a2fccfdb5ce1db88b0e99c95a19c600fd000123fdea26f5ce1bf120178001c4fb5ac12dcf3784ddecf3c3a6a5fb7117ae7930da2f94325c390337603e5b539accc23b35e9150a4de7e1c4b262754e36ef4c0110fb11adea1c031638a20429ffae34afda3716f7031838ee2e6bb1436975368d042a010cb4dc0f5c86e5932df71d59f37ab6bc9f645066f85cec313caecae9f495de0a9e6e9bdc58cc0ba17220d171251a28b2e0677e59cc9ad453fbb9ee11856119e6d40f563e6af4db5b84e0104b826926057c387e924b7627d37ab1509f36bb453c606523602fbfb475099ff99688c991c447c9bf5571f69ace4991536cb953764161268c709888099cc908ffab7a1f76468c44ccbfdda3dc1f684fa6e971fd00016b9be575aff3849e99f13584fb15f6e947c290b98053eb826c8a79a7a5621340f221cc43d2febd34abd954ee36f405732486a403da409361f1196944bfb80bed58f251e774c7d5386223b9f3e701e1fe2d568bcea3df271b3782701a5698095cfca570039a84c351beb1aabe5c034cb416f8d859e4420fecd7acfe9c7f85e4c6dba6547eea4443d425753fe95c665f7423d9150f8b67a40677649e6c54bda06f4dca73c00544ce2b8c5de8c3a7f323f2d9b6ce30a71291128272af665aae516de12bbadb324f1f98aeb483a36d7df9cb301ed68a3f57d65c18005466646f7c7cce012f003d300e9078a57642f24d7c403b6aaa287084ca12f4c218a6c323c402fd0001bbababb1dc9e687a78fe935c351a5fbbbef129fc8360d3ff413f0b5230eb8d2e4da5f398bcfeda0077bdc31ddd0f1e4aad4075053723d161e2786fb730d4371c19cda914072df3ca60ad556f367b343e5535eedcf214e3e312c6d1e7381150a08af230cfdff8075d990c639be8422e693ed2d972cb1d2e07c47007bb8497b471d9110e61da45d5662311b1581de8cc49739bee5418bd277aeb17a8c94126cd6189fc1cb46400124938c7ed37af381622c9ab0b27a140cda5099b91ee4acd8aeb0e96e6c8f341f622a56e5394808ad763d35f5a696bb73231f9d7a8908403af6d3cec5044141953f5d273661629e265e8f5b18c579a2857f00d3191fe8b30d24ea5dbeeab05a94d42b20d54e727fac1bf8efa89b99f47d710a3f73fc05439f2d8ee42e27bb026e9dc2237df6c8ec2578f10c1f3f369e9777ee07fa920d9ffaa30b5b7d399df747b2ef19142462ceea9cc46dc3872f6af8812cc8dfdadd51787155b6b43f1fbf2f2702d57e52e5a231cc1af2a418a6e6d1c13da7ae007ef9de50f837f26710f89b66d21992a593445c18a80991f05319d336f940abd0d39dc645e6ea220d3cd00fda0015aa642caf242d32c2d766d3362ccc53039f9ca0fe87812c71d5663be77e6ea0cabaa44aa9f501df3c3e81ef31c77ca88fdeddd7e2bf2bf998b4f0b1667711a9a3895e9e9b21099e158b8954236aea048dd875e2d036e6eaf393763e79b7adaec22a0338ebaa4a932552c9e337b2b7e4731cfff687a9ca1bacfa3c485296abea12729be3a8c65fa6287f5f32451f7db1a72a52d84fa01bc7c455b1b24839b3ecf205c97d42e887dc205b31adacf04dd4efb823cbba756d5ffd3f2dc5a6f3019905c77de4beca7eea6799e5cd5431ca30119a32125df340b65822ebf0edfa5cbd5ba6ee631f63fbd31283ab55d94900a1093a36267c48977cf592eddeceb6eb1656ec430366d1922ab159cc883ac12b7ec6092209a749458c4e9cc6d1e519e6cd4cbf7358beb4a3e1a604e1ecff027b89ecedea386ec5ef8df7a1f9bc34f09f3f1eabcb512887e0c81a9f094b37e142823372757d5c1d96686da456df51744be0eddb68d35c8e107ddec8e998090ab7e9dd1c4f1707411b8e81f1b416822b32e006d33760224b4c2022c2f2dc2357693e5857498c0800b92e31b96f867d00cda81fd24016109a88c92ca83b02f880cac649897ebae78088638aba3463a40a935e7fd0cd5d0202b0768898786c6e936dc9c18118f383ba8cf42da5872ef3b387888f080a09ad0dcc6a12da6e88485ac283001b7f2e0d67113b963ff2577ebdac33d1f182839be8121aeaa1ce182e4d41c7e7bbc75e3cf2d35b4911ca96384a81b33bf68d78c0d2691f78ddf90cad6508926f700d43efbb098bfb13ee94de59e6fdbc167c23bbff9a2d2b4284e990c652de2243495841fc990d3d203984ef8009bd18c66d199021427cf3baf95ba31c1a4a13876b3899452993e391d906d991e7ca0c59d87ac1cde2fce62415c964a68c73ed641f2a13492bd5db7c00f30bf207e71138a86b91ee297ebb463521cee421a10cc051086ed574cdba70e533e44c5a0e245cdead42b7f0a46531b90229dacc28a2d2b81d77aaeee1fedd9bf346b0b896183751141f7580d62d301ec709349c444198d16296a3d209adb604c6a363151ebe625d3c4f9402eb43a5bc316e106fd2401c644f9b844fb36d5ab07119d4b77e09dea9dfb2fc9b93591a9f53bb5640cb9b8cc4e28e73bb0a59d4ea2984ccbe0a61e3e2ff72898e3c94e772f9a63b72c6028f321090d45a0d9dcb4dacf274ab3480b3592e26b37c434a426c6039ba45583ee18e4199f44779a3731c875dd80b31eca84fe6f7a08e3cc41644c0499c5e5dc62853d9fa0e1a42551d4aa6dceceba2c976b91ec58e50d85eb123bdbf75bf405bc6f281cce93c07c7b2d60a51b052adf7dcb17e9a26cb6d993e7e6682e8a5056852b9b9919a9cd9ba985436befcf0edaa0b5050b77f722baba20d6e568148df3d447c9ca531d698b62cea4cf9a725fc00ccb0b1a0ade08d96b94dba8a9062b0e6863905fb4ca5b33b411c20299ed3423150278ff6a88d48ba33399e00d15c81d3d69f16186fd2401c40cb0960055fb0abb916e9e1b666896b66d1c0ce09f624d9b93b5c8f27a12c08a263917ff4c7fc57862b8e2f9f5bf05de845e3e6fd398e071ced0db0644aa466573efa89baf3ab57931e972db1fdc564d9730775242f39f99a925e6b4357322750441db38954fd4219c0781ed9b98f2788b13b217ef799568506685b9f8de59c5ec072e22a268ae28c585115b6ae94526fc34e7b3a3c6337046ccf16375490f324b025dd7b39056a4019644ba9d3a95124b7f74cd05b386a73c9028813551a87bd1fd367db4dc40fadadaf056aaac4149d6a92352e555efcd0a6b6ab5a7a9adf9f7843030899ea473289feb765413c39083b56934d288c277e06f8b50a5cba04139716a784a756c0a712325e44d95658f7cccba6f3054615a52fbd655a5765d0cf58d8afda001b763c4b58636b179dc68a9ca812208aae8716c33b059a28ddd94dedada7398c0ec10efd1cb0ee8e6816e21295ea41140d062d1dd9f01c7d7b655255c8bc4d3282fa1f56a7efe5fb5cdea2a4f24bc54991afbed2f7a73337d907cf4ec13f68831cd5ad65bfc503a9f429ed19d463b456e14ee7c2f3f3bdfc572783dcd0fdb331eeaca92a3e3e14e66c82086d481198684dddd52b4af90709ca259377af372d48e90879d8ab0e24f3a75d10df723bd9b491f7db93e02cbec20632bf3c74839d144cd47aba075072e93c1026b3d378a69582a6cedf25d63cd551c4d0a6ea9f402cedd03f869a1980abed16c86d3717d2e8302f612813d1eaec2482b58eee782349c6a4a962695c4a7b4039189b1b477acb61021280a0d14fa9f8aa534ea3919227e7ebe3ef297bf972c03611bd3889b96473c53adb25b1d6e6688863be9f7d304bcd28be3c9933acf13307ea60ca681a611df1f1e0a843abc2e1d97637c291c2c1ff4692d92eaa3d6c9ec072588afb65290e74f27726478a182bb575842fd05ae427b9f7649c62cf8336fbb6c8831a7f2e8dcc639fe25e3c81c473ad7bd2fc0178260134f3d4ae5007a75b772cc4d74534b34f7397e52b8a695824b57fe2e1bb1720e156895c7686cd37ddf9cbc7a32604c7cd2ada416acfd67ff7285e021bb0a4ca37e2cd20c17eeced0612f43cc81153f4d96ac17b4cb9c7f2dc9fdbe9f97f9660721589a353fb03b28cfa73cb57954bc2e528908948d15a8b3d1f78bdf0e1760670b014680a8079accaf7c8ba2c7a580a7466c24001809453ff13c1ef8d6458d1028ca6bd993a00b744953408dd18244ae28baa23fab047a65e37a80fdcd56957d9be91d4adf5192450d609f366dd5278b3abaa4110e16cb0b870425c295581da5c42e2136680564a9f1511fdda0baf00016ab388cb09a48e0040fb6be1ee2683e1b9e6d925f1ab147d1675560ed3585ec7e02f8808fe3b787feea3dff7ab7feb1e545a952d225834cd714502164af83b5855d486f97a54088d212c2f92f7431dd1884f4634ce2a33f3105058f802010b926e7136c6446cd996573cc0c9e6e52b383af4d2b1fc04afbe6a8dffd5bc2206a898d0474cc042bc7fe01ac2a515ca21f109aa22274047155347bc60ff84b73205f3a8126e7ced56f537f00f0d5b2ed7b4312eaf111b3d0dd36d30c5ed68e97bb2088ad5a14695c60c004824d44e859fc0467677d9718edf01ea7feaa60e757938620b3304c123750a642dfcf4fb2a5d57ee1ca0b38cf1aa030b8039f6e5e737784a220d423eb7b6a5c55a8db263326888577ea5c11668adfbcfd2c525aca92b46604d320a5ecfe25d2b48a37469fe2e049b9159fc9274521243ffcab89254838b95e579121b52d281b3e1f74fd05d51d1ad9d1f65f5074fe142e182289a6f8fea4536097950020f46225c4beb3d8357eb5f6aa52a001be92e4e8e48c162e35a390e34c5323ec6520078c6f1a4eb2f136bcad66d7e100093f0f5485d02a151e71dbb13a1e80427085200eff7d9f712e93ff15677b0e3056d4df52b746da7e2f3598e20ea19369362b4a20531f980b6a54b659048edd0c693e4076530d5a96a5b2fe69388b6363b4df994b20953a84ff90dbdc97511fd9d244fe05131723ee317b58e41691a5e4c7906cf89a20ab5b254509e8fedee10b8286b9b1414a9f9908fee1db45235a9cd4c8a589011120aab550a80b9a80802ad28d919713b4b8aa11049b4a5e312342af8bf247936d9721f1d9bcb9b5c890727d39fa91ca86e8811731b5b60d55f3154cecde2345bfca9b00200e95970857a4669f4c7279a6dfea7ddad6ea14b1da079d0a6021a9d6a7a72181204b93162c1c0f772db8b4c5e3f6f0f1c925be71f69cbe98b0a093f531af8dce7a2047cf9e6c29b62d062a6557efb4bf0250cc1f73cadfdbc84c814b64183a704f8320322f226c189e00d29b21dda0696cd15b2fb7f4806ac7edc774b7b86b667240af203e5df59d4e19e95e600ec478c186dec88ed932f4a4e03e917602586c9f6df19b20b32a3f94b20378416e1e9fb592d036ff2e8c358627ab5e5e716ea999051791892186e269d9e46ebeac1f4755c69a9749878809e6dbdd733831562d3a2f8e9b6e9c0020223d494a930368c0aa47746d5d7296ed5419070a59673babc3a21f74ffe72af420d1a6b016479d0ccede88e5605ccb9e9be3989caaaf3f52e1e009a54346c0c64e20f16036a62ad395bedecfb10affb749bc8ebe9de10af936a6533c283b717146742020c1534ab5d645c49af78132bf049227bb9e7d46a90a7e6f2cd2f8dd1c0b25d72036a10171a1d518629a0621f6698fe2d0f6ab87c9764c1369c31627938e3d2755210735ade1538cee26cfc3622b08738bf7c75e2ff175de507a77dd823c23d69d87802007cb7ba6adadd533ec2fd15d360930d161042d400430a1242f2084585531e98e20e74f853f4414507916dd1d0bfcf9923e4e26279a9e7cdc13ffc357251abefea1202f7d0d06d3576ea289a4b15fb7c4fc321ae642efbb344124cd45acd4ea3635ec20af392443065e9ab6e049e8a11e112c62ad8f55c2b1453c9cef078c18275e1407206ddc8d685847f46ec3816e53a8c6a9080e65db49b7a011b611fe82d44b2c28f8201878535dbcde3bc3dd6cbbfc733b235a00e7a649d2dfd0fc4de7e71dc640cf5220b17f5190da819283f98742a090ba2e74a1ee0bfab88fb351294268f7124ef2582051bce72acbab272fd56854a40bf394563e6f21b8d5a27772b6fac7a85ef1be5d203ac280dade99336552d66136252da083950f06b2aae6a2315570dd92266fc80a2135c90d342141a20047e5c7d4c6a76fda40184157590acd1af381d2551cead88f002001b6a76e3500c64260c5f3405fa8e78adfe53d6f04adeea189371cb68c2974cc20a7e998887c9c8653a0bec8203ac9ed13173e2011af84fcfea9c1dd5676f0b3842046e6c76efd22c2fee3a963bb8436a910d8d425b29870afec58027bde80dbfe6921195ccf166fe0a561c1e39f1c436660c0a9bf5d6b3e407cdfdddecaa5481b32830020e035ee41eac64006aa7a791dc9e9f21c1258daf805f97dc3f8f931d329c9f9b62158991dbe129b2372c56199fc9806a69c76cfd703dc0a5c9ea85aef41cf63d095002024223e96cec5de006b3bf30cdafa8f15ad57d334a1f2db2b7501971fcbccc06f20ec8a96e39b04af663bf83a0c21b0627b09585fd273344bd8e78bf3ea41fa9bfc20630fde52b7f7e798fb5c1ee87c3bfbd01df8d4ec2d4424608447d7888409ba331f6915f4804cd6faab1d653a2d9b341c8ee274caed3b313f4f16c2bb629724e920e4caa31ec3211d8ffbca5c69f22e696ebcb90e7133392df0f45a18d1b0e6497920472a0fd5d6f1e02497616f8d6ebac2122c90324122f2a9db3a29c5d893fec72b202fb436692ac30f0e3b8f750fa08eb070e410375f769a00204e0a4459287dc9ea21038742cc49b640b44168e59da1e27f99d4320bc3d832633bc052317e1a22738f0020e557ec84e1cc622e95a11a86f3d761adbeb18c105843ebf39fd0f93de15da4be203e809ae93844df1d698396d0571d9cb7ea78170b576e0a025f0c16f7300d675920737f9fa5f74ea48a91ed03cd268531b50fcdc10b0fb0235aea151678ecf1c2832072d56656d82bd0ef44e7060db4dde2c848d5ac84a379f1fe0568099e56d65eb8206a9f38e7d22bc5403aa2d2976f84564c3892bc4c59ee04df41052e141395701b20adc9769b45664427f85286eaaf2b9fb11c35a0a79838c6038c600aa4c2a4be332097ab6d6660e6c856b776af4d6e82bab2f195b4491b02e0e0c82b0e4ee3ee4a8620a7950e773cc1f91ff31b97f9753dbeb68f415f1c88166521afbff88db55325f520c5a1df65a889fa627c35fe109362f084530501d00d9108f96edf582b11e8cadf20570c0a7962df762b09e058ba32e4c88d63e905294923ac77f5f63dd8deac5f12202f99bde54e025ed54f01890028d2059a48410e505479d76f08cad1b7f78681a720ed022ed760fe9cc17fa577de378bd579c16b771e877cae48ae42fbe3da9d110420efc2b4477bfe3a9d20adadfb7632ddaca9031c5196482a29f10f92bf6859a44e20e96f35406e84c7473bc02237d462c05845ca6cc651ffa23da9f2dde2a264b14a2098019c86c7be96f04f72a8811b1cbf02098522924d66072cfe0c850bc2316f97202c6c19026eece5319edbc818056cb2871fc9c6c41b11b88afc80a035105cf0582002a80325c2f05434c1365842c974e0f963a97338b0c144b8f875918a7f5abd392080ffd3b966c40d5cbdd0fd7600c5882f31acfd9651bd68b63c51c6a617f0fa8f21a5204ff78cda7d8171e821b67fe70ac4304e3a207f95d9eb4a2387631b19f98e0020ac6c3dc11dd79281adb2c806187ba055c73c151ca7c59dd35aff1c62f6ca5b87200c1395f23fdaea8fca89fdda97a171469c1def6e1fba3aa067f29bfcef43641020d08c924ae9a8d7b03a918758535ecd269aecf591e0fc60c2088d57dd3094fd58207c0044b7ed90963b0a84b359a97b466e3ed5501889723186772d03f78dd07bca20c4422edce75004819a986949325943c7fdd94fbe46c17566a68c987f16a272c7204aa04759b298f4b8bd3f01275f1943ae8efa4e5efce8f750f0fbbfc7739f0c592160e7e78171c048c651d60b41d7dbf8cae0218d0e6594e59d29fd10533a1f4b888050fd00013fe718b1a84b3d3639b7edbd1cc935feac0cab28f235831d8155b84934b45052e7c4cb0065c8d3466214624e4a4079356332138ad9c6a2d073a81a6c436e4605ba8e656c6e6af5a34aa8b60d2bdf72ce54bdeaae5b64b7531552fb8ddbc78ad1e5f0ff154e12be7bb3f9ff91ecfc841d96b6382a9b6d1cac458acb448cd93b665d9c09f7983a5dd93f9aeba122cfa6725084fdca0a616fa9c5340b6e8b096b51e67c9949fdb89eb5e2e027c19ce6967ea0e1d809aa7fd4a29c3062b35f0f04dd466a2435354f687b2bed73fb82172bed901dff3b3d3314ca5e68791166bdb90f71b733d4d73fb3c1addc7fc8e6fd70c93413ab7cd754c122b5085cbdf63c1e89fd0001e143e70824e697dad6bbf781d7edd9a0eef8506c1ec1e912e2655fa0c2082818f0d302f2b6fc6136c3f9e3f6dd55eb825f585f1d605572f13b8572aad9e42c18f71f1762335e0d9b93ec6f42a678636c62f9ef6f6080f22c5f82af8d4599d187c62ddee1edb06980512e9ef59596b9cbfc673bff2499606d99c4f9e4564f1621ad8370aafb34bf49b662af12de44dcd9e720835abed18eee1df1917248e1ae0ec5b6cf35b74913aaa04ed636aa055e1fae0fc4e04bdac64c2d3c6e7965ac59e12b2265e7a03d0f0d951f8b7bb80ee06b71e31d4b65ad472f7d79445aae05f7e8a52ababa872dd536557fbcd1cb58bcee8b8f2421e878db64e928cc7f4ba9f09220bb8818c92c4b0814ec42ab4460f4395e87252b0a021a56c804fd89a5e2a10b1ffd00010759d4cf582c4ac41fd84b815476f1930fcd10be222f3c7bd44c19dd641bc37215b87660f455126975a2d9c4ec52b435e8f430e003ea682af628207521435127b3f4165304d72778ba05780c3ec94bdb418084abd76104785d3b6336477fd57db27e6df0b58ede9dc871b9ea603a4399926c02434023f69ce17a07b2f8cd11f9b2b76328b97d9d4cf5384ae8d1dd9943fa48d1b4448ff149f174d89d8822bd8638bb48672ffd23ff3744f6ae136974df0f70870afdab6cf912a7779dd0bb0912c4b9746d21aae9b7661283f7d5b14b1c55e105a04048d8d483810204b3b47f6ec984552741fdb993a417122b6a292ca116cb253570ae22b7777ff6a1660fdae9fd00019993131725ee735f3cb3c2b7f08d400efd086a8fb50670d654ae241f65e2e462d9b88abe36e77039e538f3b804ce8e01001f9a81cc362ceaeaf78eb59a603c4f4f4a46fb0d36e5a8106ad586e4148ecfbedd29bc45c9a2d9309f11a8422d1417df67e6508e17c70d673f1c5f6b81f7766c2cb22cbb527af2814a7a26e08129222fc3fbf1c75b7d2f5f3aa026dfa4242b634c504a70e18aeb8ef598c61bbc198af13cfb8a73e659c37321e3b20b7f5764bfbe2256b0e7533f76e9fd2d9b39a4ce0e8e7637f185de4540370dfcc0ffa1115bcecbb84bb16f56117b4dccf6d13ed238d53314c19e2cb0436a58437e9824b8e0b62067d229e13df6410fe7955b1ceefd0001bd9e931d4be9e7a8697ba1d569f39f16096af9528b047b209b3f2cef93d29cd4e1c74d64d4ad12e460457dc33c03710e0fcb5b4c0c3b799561c36e2580b874e2cc90e5af692e13d1bc7d6c530bda32cd68a2e29ab3d3c76833e961e49055e2ef9eb6431491b5212f9e24eb6a1b378918cd733c6307d101b00bc7b1093dde0d44c1765f1b0bb80b2308843d21e7c75d6a0d10d9cadfed78ea5672d172f6233c79f0b97f2813fa9147851f1c1ad4e01bdb3198179136c780552c76a5c7133ef7ab5961216e2a10b7c88d19b0b3def8d9a67c522d5b31485c7bb4112dea7d93a240523285b5fa9aee2aa4bf9217780395d77743e93a66e4f0cd3da4ea6253b1a7bffd0001a7bcac4d77b7f5dbcb60b0abca16f750567ced5b0ff70671ef9cc0690bd505129f1b7654a444fb103c97c747947a548ff52e46632d940c6bce720da1adb7315a1b9b8981cebce85eb36759e30c65585488130bf2b9b186c2baa7d939376a3875f13c903114db72f77c38e9013467442a07905771ae54ecf53088f905f3973d37cd4711d207d6e1b9cc9ec8ec62b0a790117243ef4382e54af84f5e16954004bdf3c1aa35cad8950036fbc529da551caf6dab334c4114109387ee210d13859c89513210544e7cee905b520fb22fbc5763825dd199a76e34617b2c7a070ca78039453660a258d4a8db67136f3ce89e7bf0fd52b99362bc4fb887be257ded5ed396fd0001c99ad0b4d58dc07ab3731c66675758100f7c730aa24aee356a8c002fbd3a795572cbd19e82152e7bc203cbe7c714efb5b406641bc956115bad21ad2002f110620b6429fdfe5197edd122b1f357ca983d72b62734db849b980dc2c5bb2f9db8467abbf2ff9d777d29ad6be4f22d7b8957906013104c2dddbf651e6ec6365d7389cec515c7bc44fc072813138b642c7be408fefbb32e6bc29238d41120c2ae64270dc3d513fe18a376135bfc1d5527098ebbe0fe199bc5bb949948f1f5cfdec6275067ff3c4b8fdd46469f266170638845409450f33867044f0fc8353a305630fe743d27b1d08899e515c10dc70dd0d74a217bbfdbedbec00ea800be5a319668a9200c94a2bfbf45eada79e731fdce015e2a34649b58824a4e6579f167dc8a4bc97f203e38332244f577d7005615cc5b16b84c6eae5bdda844a073efe2b40055e2a963fd00014366be9a59d9d394a66c445416cec27ae2ac91dfa00b64bf8990a6df492f440eba33616341b1b6d183e4bacc6e5716a950bdf74da943f7cc37578943e712188b17bcc58f56e0a3ba80ce390e0e1a6c5c3a99fc01512ddee0688240cf4bbe2691d41e5b9c21a725fd84d6c3cf02a7c71a4d1e9e88c90e342bcb09a5ad486ebe3ff2e1e9f9e6a8d7cea4d1e73f4fbfaba303fb0278f0788cb02edf7abeefa25c40886621542e194dc072e7205c3a99a8b8927e6e93c969353d4fa8d3976b77c654a42fdb07e6b0053417655c30a6dbef69e2ca95c70f5446dcc2203603b133d59cf527b118ccec07583e2084ca1b3ef4183397a6235694a5bd78cfb03b92cfebdd212cc64233516bb743737d0e9a9a65c69581d7bdb6ddb6b121b92c485cfb4733c30020e0472100ee4f8f89d63c93d9b3f89442b23cbedadad9cedd0382c7517801c623fd0101a3e62de34387542466e8ae1866fe0511bc13d9d93aafd8acd3feaa013d21adf06bce3795b97aa366bc9f479e309aa7873efac4b0882ced60519e671b8bb3c3e75230a2e961a2a4bd26370f9e8955cf80c0e02b413dbdb52bffdeec456174fec134562e1c774334e3c8d323f1b3cd73f995d4650c044310f92e3acb237f34cbbe6a75f80f882caadc3211d3bc641ec71481bf9230e275dbe3fdfedb9c6be65a1690ae12bbb612cb8d23eed84a1c19df1f94327d3b7579372c44587c4d72d5736a021a158c523292f17dbe3d9cd0f2f8198f4df27810e88840a2f38b612ee256c74154db6bf62347bfa1ff45bfbcd0d7851c2a6a9d899c25c259a5623274641a848021314ad78e7ad9aa52738b9d846a0acb123d649320026b349ba326650f11238ed200fd01016a72fc71697485d70f6757e4a2a8cea51533ea77799f197e7e236186cb4cb21c30e4ce314f013a30b11ab81c113798aefe34a2e6a1c20d2bae129f3a140e557eb48c9d4e55270513a7071c96c52201f098f599c3cde56f16da055debfdb1d74ce8087f87fb17ca7be1a7d2e865bd00be5e1e4e4095651b3730e671082ae59d797260909cc8ce2c7488b0e707fde7229867bb6057da560da389207bdb5f20b4c149e04056fc6125d1bf3ba05489f2377e8ea30499ad487484e490e36913fdb74bcaff853a433765ba16b6a61419af28dfd9d8c677b9fff53a8d8dc33097d322b8012a7490be23eb91cd44246d35a1d4b8bd7440d4935559cdc8323a39218aeb818021e8a5ec2d9e12edd20bd903009e6fb56c5b2fd64aaa5e1ab6f222d42c2437fc8d00fd00016df4f54117e6aabe4ed95a360b988c13524a0628978526622a6001ee457a6b36b4289e78c08b664cb25bbb856bfcfea4450d73f61d64c4e54ea5bbc0c52f0b525598306ef77ea922be3135ffcc9a7e25f392b8b4b5c0ddd8295694c0de4cdc82a8ad0ed2a1a8483133d776e823c026e6963010c7b2a5919d06d69bb37e399f225c911197cf229f8590203fc7800518ab909e07363f25f169f801a8f60a4bb2cc789d765364df068c94b94c641402c64caf17d1efc3b49e497c63621ded1b260b34b3eaedf8539cd12cbd837bb38137c32df6cb081299c7af7b2d498146fe00d28a95b40cd28980741f6f04e5151c3c271e161c4f997620d621c9f76cd891baa920f2ce82751df21adb7c088a6aa12209f4e1642564dab8817d36c66d08f1489050fd00016cd51a4ecde6019c471403bd212f0ba429ef4f74af962f0fc415fb2bfa113abb5952c4ed0cd1603252f6a054a272298f6b3b20be66c4cb894832a67c0f0174d472b1e7e9467b20e28022a19d91caf8b2db4373c9f355d053a3ef6afcd82e5d70648006deaa523867f90e12dece12ae3cff05af8945a20c7245374ab31ab10f8fd854f3586568dbab366e3b62bb92b48c22c04dffb45a74be46fe20247c584ee7e2873133faed6f55bb5c73f3dbbaa520db0f11840f99d696cac3c9fbe214b9f95b2f80914bc8af2f7fd7e8f0a0b188c40ae73bcb5c7b37f9598ff5cba36b6189ce9dd5e369508debb16870973cfa9772f3015850b6a116b47df44b559e0767d8fd00017574297e17b0e8d9837926a09577e627b8ed8e4cb70ff6b0a6ebef55eb17cbaa1bc369cb615a8874a628f0f586255a5ec9bb75ed609fe1dd5a9a5458710b710c37e2771940711209d29a93a91846a7d61a81d00766975b9c559f947dbd2671dda908825c79f47090bf56bdbed4096fd42b9b17070be91f0c3fbfa23dafb258bb691d56f9d06114446b706b0cb98d743abc9d9790d02d7b12bc6e23e8faf4023bd0e46c1fc04284cd0664e8b1039dc3db92640e15c06716375ce953d58808c68ed5bb42a0e1c66765c5620a1227d2e82e42d2e1412b41022fe1a735fb895429868ff5126a4a95a9885509247a600c7ee543da8bf713bfe2e0e4df53ed6d0e7ea1fd0001156aa7c975b8f5d6da86ad5cf8f1f6d517fc154855e210bf7fe7cc1c66350a1107e7311960936f7ab9474e7a220bdaea86f84e89679046f75a1066bca311010dfa64fab627980fdd34a75766cb46a7400f4faa325fa391abe7485865fdfc6a39a0f638eb9393c78a0935d6d6c6b77509f0d01497994d96f38ed9dbd2cbc67d1a5df7ff6620d902632ab8f104910358fecd2dfbc96bd0470c551ee7387a5e37f317bb324b2f7c102b15ac04d7cbdef8afd37008dd49a3e68803845ae8d9e77c76d40208ff5371d4fd744440b191d0451482d7cd191fe2cf591fd3a7e68786b46b04910441f6794d14c7f4c1e9377dd9b0a4bfcbcec64fc991c84364370c2817d9fd00016bc6e950da654774cc26e22b95bb77896dc45be7f0d0209a33001ceb9d201ef7fda00c116abc47dfb2ddb88e350203c4cbe9e6037f4b3dd135c5bb4fc7bfbc9c9861c0320e6295c48c3e7a3f32d6070daddcae4647ccebd12586360b6cb9a7969301bdb6be387e171571e5bfe6ae3d4a78a770667b128b53172e624a3012b11e054d5ebfabcebfad15c8ba19eb0e6601cf22c5a63e1908e0963299b885cff5c23c7cbd91ba772bf64e8726d1f30aa839717259293c33b7d255851177e135c301f4f2f432db2144d8438458d0f99a905e5ac25de4fb9aed9bd30b2c7a73328bf5d6381b00783342f40e6c6d015607dd20df0934d34f4d9d4c0d4e3a0c143790d1217ccf14f17f65b0e7fe6a4e3f2ec08dd8ef9c2eb6f55957ba08641fd3aa8c869b00fd00016e0d378ea707e0322002ca8fa90bfcb8d0e890be26eb4a0df0c3d0d7520b843c496dde1b3b1ffe1417b5252fd4006f61cc842a3d8e88476bb19dacb2d2c8d062389b625de8957d7bacec31aa4ca3c55bf2391f18257011069a025c1ed57f1b82bf061c7c2a1467eb8d0a69a809a6cf7330f4892392a74f1683b5176bb553f9e530a661a4a204bfdeaa53ad7ada9b638c51ed9ee788e7010bbcdb0f4e112d1ee95bc20b24339534ae1fb0608e98356a313e20f22035e83f71cdf86a4522a9d80d454989bb13c0dc0abeb6e3ec705b9ae189af6007f27d00ab668b8b1c71e575ae9bf3331a6ffc59ad7df7818645c1b11ac4403fa3d43bb481800abaecbc1d1fc521807e9a932553a74f24e56160d4bd4ca100085eeaafd72b8a970a728494b917e50021f2e4ce8d6d913c8a50c3d8d8c1a9a87f715676dd186f2f5a75551bdd06fe399b00fd01019ee29f6fe7319f509d7c7225c84bb20b826a17e89d8326ad385fe51cd068593a91b22a7348dc09937bc66c344ca91e6e020b13b1a8de4a65f62d4d5eae72afea3560246882a48e838f8f60e917a62598ceff71ea1360681c888314d95e4632eb6fbaf432046c97dce776303cf3e8b5f80ebe987bbbe2ce4d3d76aa487712b66be96b6c25c9b98591784e0f1bcfda31dae62150eb038c96f28db5d2defbd85949833523d820af1d191aecfeebcdc6717458fdc4801302426a98bb73c82333cfd32090a95def76510d7131b5b191dddc8bb1c431aa45ba0d38bf547aa89988c80f56cf9ef80a3468838018c9905cde97c8d04cb14e308e02a66c7a24395bd439818021b09b390fa14becf3cad119bbaa67d9a2212d5fe33723a059bbe0bbbc479f06a200fd0001620a8f81903485f6c100aa265c828877df2c25c65c198532277ea76f802e1eea037c8d600446f0fd862d663d62674494391b3ed2d3b81864a08dc083af54264e3c66d5d9e9eb28f2f5b15c05b1d795affbff379c50d0fdbd58acb26d570894dd847110842f2dd6e8193f6255431c448e430b222efe738810fc523ba74fce6a3959b69b991b1d5b8dd7da2d6e24374e7f5cc0ea4d107048de9c5329d2c946b5504238b86edddb976e5d0ac0a38c0f9a90f7833eddee80292355d641c792d381c0c5ecda3e43856e6a94816a685aa58a37e27cac880c6c6362b73e656d233872fba4394c70a16032ca5e8e9c0178b1f92f93c4930472bf2b6a246af25837544eb6fd0001ef90761efdc143a11eb841630f020c9052f75146d69e4f9563e7c1fd37801802b17b497c9addc929672cde22db4718e5cc78f97688e329b07791509921f4502652f1a3fa6568c53d20f92b5e517d623aaf1faf81acd994dc2416adf6981e46e6a86e3095a7a15942a1d2d50a3d97c74bbae97ba6bd8a3e32d87f5e4312141e1418ce2de0f5508895084daabf563a4fdb0d030c1d45ee212bed857031275ac1d541ffaa70b0affadd81e402819bbd3b163ce6d165b1b02dc752cd81424c2719c74949f52b832e96d98ddf05f92030a6d2b1c05ae1c6898c2de48ab44f2ab07b7c25a2da74d9dfe55797836c8fb57240de8833869bbcd30062341f731c58d471a9fd0001f6b9c85f9b44e99109c30fa2a2df58cfab76b28f48f58108d380edeb08058a4573378c78c177924a9cba46f4a97d304639bfb450dc6bd43b5b321c849487f476b33dc601c23d3636e76af0eddd528a9922434c154319eec864b9e6e56c211d410a4487ab52233f3022f637b13f4d6618cf7a127ddee84a11b7cb87084ac00502f5f32f0b8be421aae707b9b9be3f149ba51947552190acbefeb33eade6136ca4d0c3c3362a49ba85a85c48dd80846890ce0743d39e0e24e286f11b1e237b1f191482572ca15871e2fc7f56611f7f96b658c693c2e40478db7f98df48bf710a48be959118941483177b8c759ee8a5a770e00a406115595ac0857f9d383d68daf6fd000151b8c3e83fea0b7373a0df6cb1240eb53b334f2ed4b3d9a0fefed9d2f247dd60b6839a8307f4cfad72e32ec59f09b0d78386de7f9aa016bc06c60fdb4e713b65f98410ea5b2ede46ce04b524df2a9b329770a7b405520c554e5fa88fb9ea85873a84a6be6bc8a291f453f1a30130941c49d9fd5f40c8c86cd7a634313e006bde6057f771b2a1e2bc683be0f82120b8da4bf9c18cd952cb9872d1116c53c359a5538234855fd6f9f81898bc3f03d99bbe9e562d2a60c6716090b438bd7df3e2e6113e9acc74b7f98d67129a1860484fd5197678f94e63c6c6913ba1259fb0479ffca4e4f9e382cef122a47d7e3882e9f25c02c1f1be186ddd893e70167f9c5bdafd00011325ebb8f22f1c9914644747a706901fd64b6aa47b33c21094f8294e3bbffd976c5158c927bac986fab8bee6071a31cab102c6fcfd3da45374a87bbc5aa364d075e91e9da43cd6dc984e0daad130c009f19ceab1937d9e80531f20fab47d142110373cb279c9c8ae1778bf194ef1af01eacd60427a01bc0a3560e953be5d656cdd0b5627f692828b49d4067a8207b0908d7c5d44d05f6bcb75edce89d120e71eb19b7cef8fc046f541e78cb5551d238e0af37daea8ece9573fbef98aa331a1900ab3cd58825ec11c669116b5bf32535c549c315c4da9b8b2124952a6e50264bbd389d86b833e3bfa4316c6261c44e0b65a0114734a5165692894da228ec485f1fd010148e5830a164e0045dbfc46c60d2bf122d716a84c479ab9ed72005f83138e99432527e9327749323e64f0f6186d035f38e75410914377a4632c1f690fe192ccc52a4fe6cded89124e2ef48870577c18808134538ecd288600994f56a0671635461d0d1f3ad4accd0ed78c82fa0d754aa6f3504dcce7009af3ea227fee6e039271836683b8dea4939d3ec09ab818f698fdc5ad1231a6559a6a41c0db89dcdd2e40dcec9b7b8b72120b0f276cf16e06a97f730d23b8512a4bca0eb6ca80bd07c04fb167f3e55ed0a1b0ee56211979c6ae78d663fb77d6b2c1916cc3a30f716d03ef44576ab81b2d6eec4c7404450275f6d78d484ba2e3cb542afa481e8f625abd82802169c7de7cf8df442e462a2794c6517641b829b725157f26c6298e6b74c19162c500219440d490434dadd34bf6672f4017681f9a514668471dac3117c5bef841b078f10020bbe39253a6c5ab80036d2981be19a1e05714f62a8275e2cded7aeccd920c1665fd00019eb6335f8604c5936ca08b5b2e3fb1b9946a9fe530cb4b84e6abb6af15ecb13bebbb4d544b02ac2baf8ef136293d4c41b5545b6dd103fb081ac6aebd92bb072e491e1ec9ab0b949030f3c7bc9d06e72ceac03925a5be690c7460d058d94f2b5ef5226b2fb0f31a1e1f1e4224e857c2d2581f74f7c006ae97691819d2c5af4916dd2633df7d6ef781a3ecdb66671697a05efcbcb7b212e7ed866c073f8ec9b19856e81ee5055bae3a6ec42cd2cd21a69653b3827bf4475510d682de72a42712494d6920af9d0902df639f5a48c4652f92e8048c95572063fd8c3c0515fa35b03f468fb36ae7a8ff7b83e82c751a06cce3178c1e70813087840729709ba6a561ba219e9e600598836c79ce4116d03d5a89d1a3e50c6070dd9d0f643f01deb58eb3de00fd0001a343641560d6e105deca90be92786bab7b66ca32bbb0c134bd9123aa8a51596e50c8166b4603fafcc20cb34fd855237cb1339ecabc31abf3eab9838798cb43a7b96c46340c0d98c4ccd121c0fc5330e7903c816e49162d6c8ccd78cdbff7c2c1f4374a6e70d245aa1fb0d6014c2f6ee322053897f44f0c7dd4572d5c22f6754470ef9a320f5c969a8de58dedb804d02d59b5d2b19bd285b62a6dca72c31c90aa5036a159953dbe1f81f57902046a0e57fdbb867b10873bf5d31e7999982c351708862c3ac6076fd2f5194cd902cf7d21c4600acd439b7a50e92d0dc067a7e528ce25b397ef7170a9b09a451bececa70f50e53a80dd7d7fda65250ade0497fed2fd0001c4423b8f32eef6f878eb869669c13ffeeb694600e69c5d68a0ede8ace45e0553857c4d584eb929ade8abaa058f57756f494e2858313d4b2380eac850830490ec44181598ffe1112b79882137637f49dc51f6d02238b217074eb191364130bd94d2dd004ec9e8614f4935366f807822d309ae1092fc6ddbad5da21f0fbda4ae43e7402af330d9bd6d9977553ea1e12209fed57edd78044ee9c0d848807373cb44c7461bf4881fa991bbcfa481818ad2f75d26f2db49f1f2710f5c778efd7c2e383542d834c0603e1382d5039cff8c0a1bbc5b5c36f807a03a511fe4cc4e3bbfa1012c6dd7b259b5d2ff399937f138e669ec283c7d6acf6944d8060f63b67974d12087de6b71b8c1923d19bcfb1d726c49243b465137c85d8bb51d443d2fcf7f1f5821cb7cbd8eeae1db7bdb0caf0e511ed6067acc251236ff9de95223c863a2c18aa200fd00013275baf8908aab87f7b20c26a1e7e780e1db45118dd9ad57df17dca1fc917678b06e1fc0320e9b1ad24b9f5e25fe999d30d9d68c44f8d8ea3e637559273fa02130267342d08c2d76a4d0d661e494b7ff78219cd3c9a04c3e51e616c53c47976c1b3783d694f6f8f197c3a99c9f60b8aebc9ad8ba39f08787bdce4a03a10024633f5acf11900d589ceafb8fe9eb54c2735be1183cad61e20ac9c61a0e504201c564a150a12694cf7f14a7be5a562ebe77e22d66460aac47e100244c09af621d4e5d1eb993175dfe066be5b67d73214e3f9f8547134279fbed60d838f386ed2a8f4f1c07f8c76e53d565c5215a41aff24cd1db96dc6971b08565e7041d2b2e46c42126be33d82398a958d266c8f29fdedcf4d5e95db37c4bebf8f57fb3b1fde3a0e100206c795dc68d043dbb0e4c6d91ffe26f800e4fa653e60b3a724c8ae9107f019e66fd0001f559b0c9e2624a0feba2462ff7303f28ce4f063154d5ac807a480fefd8c4add2b8484152c7552da52f4946f439cb61dbde38cb78cb99c02b88fd48cf2500b9ec77ab3657f96af6e4674e84676abbd317ad17151d2c1fbd976f605ba421004abb817d2a4987ebdba53cbd3d72e36157df757ae013c592042b54db6a4993024fbb96b84b66b2e2933f11280e5e5b5ff9f23a31c210e68c957746d2b668581b116648fa4bf3dbfa1cd00b26970c0bd8dff5ade32c7e150542f6a59ca0b396d4337c3154860b630a1b0c0bb615986c26b52fe2bb0ed5ff84677941848f52d9dd124cfb135e8a26c08f6db3a262e180e7a112accf0560e966542a9132ac5c344dceb921c4ea36d4a40b87718f98f4b17dd2a927a8892381e0e3931ea9413705ccf9378b00fd0001a71a72d84d85f8232bede46ce0abafb2263662d0b0b6fa03c8a948a2941e73989cb32bbb8849c5030a69bbbd6da658951917d4f8d14ae43ecf6dc3e1f34ed5b26dafdb4c0321e2196eef1bffefa4e208a1d4986e2f8d1191877dd0a8e72516dc6d833905230a896459fed672394d2f80acbea1809d03e85fd2ba30ec44a64e0d6ac49cad0cd32b70a970ad9e9bdc6d7eb4baefb49661ccd2b5e9332f7dabb9de86238edbd6f1a1e3d5990f5858bd5a248e98defa1946e64539cd2dbc6cc8c02ded67efb7329f638114d06d7f819845f00bbf17b9d0cd69ec7509cc8c1f1a789f1223fd71d72d8eb80c2f5dc70df7d6f6089507d5c30f852fe52960a935a8b0e72045e11cc85c3e0159bd823c134062db06b2735949c76add1dbed6ccc57d701153201a92349e6b1850eabb6a8fc14e76badbb1a3313f18250ff035bd767615c6e23ffd0001c165f11ea320eb963a8811859d089d0bff489bfcd9178717b44b2b88cf7b5c6d7c027ae29705264f03bb3d4ddc330a09c22f4438008ce9d2e701dff667b07530c2023a60977d575ed63fb8a89fcb49210513c6b977306329d28686d37b2d89af4222d6ae4d2a0f2df62c476637b023655cce4d3b6a77e360a3a35befab1c52d4e3c9cd760b802b8ff86be49bd0827074d95233536352a6ffdd19b1bfef81b9777c4720fbad4424005b2c3f383134a2bf9bd3df428d2b927fa6b99a33b3ef66c6f00467c35e3a6641b7d105084cf794516fa5e5fc9bee6190e3a476d2a1b3147a372e6945495d45c0f5d32f2995ac6335f748e0dcd2efc45b752b3c692b415bdd219037a11b5f6841c44d0c9f2c25f5df161cbc0cd4c08bdce6f8527043a545899000fd000161447228a1049255e2a968bf3c229848ebbb0308214ec79331b23d4719adeaaa3cf2011dd3569a9bc9b4297d32a0a2078d270b22d213952aea78ccd603033e396687ff1d7e1faad1283a48392964d51dd68d4df977b9e8310a9ba9693130d151ebcbe3a0ab3e5f33df4535db82251fe93a7ce6d3c8420c78e5e69addac438ed20ee8d275dca62d50c670c14aa3dbcc78ff07acd47d5b3188c6ae92e1f56df2ee6b5256f0a3d4ca0475bdaf79282f4f9fb6eb4191c46229852f60851d3476b25dedc80f12f763ed547c68b034c8d717da18d6652e40c2cd8252415b0d8e9fac00d34a2da5fa2d2f80fb8f6fd4e3cb1afccf20b31677b7b22780010c24a4e65fcf209d0eecfbf718682f41b954f7d08e5ae48d534079569ef53707bdc902ff0cc062fdff00e29de7738a540bdb89c9a5355c369ec09bc42b52282c5da072d7a172ee927bf0cc7655a88aa0aa4fab2162d42c4c92a2bd7adf00c202253ecd8baea2dd7fa52afa0ffa665dafd54f9218439e9fc6889f12c81877807714a679ad31a28743828b1aeaa62d102ca28b908cdc17293d3834cb01f85bea054199e5e2286beb2814e5997de32b1e15f6e109ea451c15da93e776e84acd3799de1ef8c605cd9f7aaac3c8621664cdf0aaf7799f2cfed0f61a48640c3418183319e06c4cc2dff2284386ff3586c6ddc4d2dd4f6def76b1096dac70360b850c7c88bffeca7e6bac4ba516b9821897d84f90b6a93df1f19f322aa807c56bcbd8c81545ad46686dbe33aefd0001a7b7fd73ea2a4785ecbbe15324b7e095a66850d16cdaf9c58cc1e3d6f5a9a5428be2db36587b6d461b5ff9218bab7b99c7142b38ee80e8b7b5f5a1261a6f7655ec7922a2c10bc79d5d8e62c276c02f2815c0cd4434cdecf08bf79c0973fbcb15dcccff36159e1cd6c8875a0b5c67700e2d891a9d86b28096edc52434f71e4b4599d288e330ab74fc6d767282ddcff39ab010c76d02218505ba2251dd6be5326638b4ad235d50c98c3334febb6f55aa4e322535658a5566de64f782a5ace1b389c1af617618a500334a604d7492fc66726689fee81d4b593a8c120458b96e5acbc01445754148d4efcf04a056e07d0567d4f4f0dc656a11680914a2ff790791e0218a1abe4006da2dfa9f1467fb412d1d100703abd70dda474a345284beb84cc7d00021d7cb324ff021dcd4b0eb5344bd4ec1ddb55703f6ab867230d1431fd4bc76d7a000fd000128937162f878e1a2b6ccba0cfbdbf00020b0a7290a04963ce77da7c4f39d17020b69e968f2b0ef508e419e0ce4d9745129b642349d457405b108ba02bf7cf484c77a877b2308bae716b0e3ce0a698d88fc6b5953af8fef47ae34bab5779d03d8d6283ac0217c30159c381f682ef30cee3a968cf00ead005d75ec8b40dd4ba225b1a05030e25bef53406ac2119921661bc1b8b60063f90a626ac51907e995eea06067708e501d953ee179f3d09d20981fb5fd0c6b096cb5193f0056222226a3a936dfff70250a09c1051b9c079bdf60e7c3030e4f3f25459257f51474e6660d8e12ed398d6256afe703f68bf87f96c0df972d19bf5cc2df39dc71523a41a778aefd000172f0ee8d5cd7adf82470afb7d6ce6df80b90c0e7a15265f7865a80abb03f6b8dd85c328f6a7ffaf6851500fedfae96a46fcb44f47a32dbe03b5f7460a3135bbacef4fa9049760eaa1543ed92ca9993b6f9069c593320dc1f1b0fd7741bd97b088326e0c5354af94e7c8165d2ed4a7eb83df35bdfa0c071041e00b165528fcb80f2a53409c97a39006eff57a18f409d2d549ae62f844abdba375a16585cf2c39547f83b63b401185887aa66151c46a554dcab81306f43a2bc71ec10bc53756482b71c6bf0ccea1daea1095e2b7a1f07e9ab5df6e904330520fef8e70f0ebc9538070b82fcc12651c760c6496e8e7efb552931f3fda5a0af640785f7137733bea2fd0001ff0cee556a19c37a94eb803a3b4ab47bffa1158dc9504e7394516b89fce50e43c6f7f9e145571b9e6fd4a9ad76028d7367657c3541f1196bbb58392e92b3d53b9a3e00a3827c078252b93b93bc70c1cf8b6dc5eb2ecdbcc2f33f24303475ec3637f7a3c4f910a0d89fd3adf207e53cb732e654df54c04108526283cf6d7e40cfcb7cb3721ebb1dc609ae3c8ddbc6025f20c3b1135a0adb2f3de274a465d37e4b8dd8875dbfde13e554884e43a1bf3dd94700b234e8896c16a99ea08ef4bdeddfad8038b354957feae2c956acabbc61f9ddf46d2f723ddf9eda0a38d82232e9879462207f6b6e9babda2f0f09d1dc9781a13bc7024a4b1578f7dbefc9929ce9bd2175bf8d17fdf87958ed9e59dcf5be6d98a372805b4cec027a62df22ae6af9d7d500fd000106743a26c98f2c3d13b02c8ab7d3fb13866bc961cd834b53b4b1db5143149a35499a1bd3e1ec787bb676ceda89748d235cca582dbe1eee818e75f669c03e32263900530b0fd2f6a024e2c553aae0bc9a7c4334c1b9a463f868e3528b5dfa09a0e0d0d78333aea8505d5662395915827445c54443088bcea05de8d1b7f1cb113d285ed3a487dd80765d845919245dccc0d96231263176b947135b681fd886ccec18d1baba8a4c247e4e1db5b4155328901cda68bc532ae4de5ba082eb037a1fb2c094e686800dd951ea6d8a645dc52d659f719d38dc716a2ea140dabfda7fd3cdd9951c34f268ecdd14df4186e280261914f8efa766bfdcea4b60dfed04e864e6214705275f48421e1925f2a99b8e922e4ce406dc404b9138d1c72f3d2401e388cc0021b0fe049ed634aba2949ca975cd809b715d29f6710b84bccb99537e5909fee4c800213347ef033e62f4fc42f1115b2fa1ee872eaf1e268214437f2ddad715b0d4be9a00fd0001cbf1c1d631ac6f3b13f8a0a5d0c3ece69f679d18b14de03bb2507862be15fb39b856f995558463be0b27f7410768ffd1e6adf22aa2b782a863869974774cf3522f939fd107fd13e7b393ce6613994c6e1bd5807444be71211a646be6b09dae432a7fab970edcb6fb3764357e6d4689617b1fd2ce131091420598a888d4d3f12fd3dce893c0f6da0343695d8ed2703fdca7f40b188a4c07bd93fc34d853dc687c3030ca5b310ad2f08d036090331de579da9f56c31be52406f3e0b8cf390027aeff279a731618f8e6eaf699710f7e76bbf829b3cc7add606eadb1624e55693ccbe56bfcac442343883c81b252e50a61a3690e80378630b17cc6eddf43e864f0df2016ca8115670f75156c03be321d0fa425bcefb9daa7e8f739a5803a9b8fc6761620433fbe6305ff1b5a2c511640c88d37004f991c2b0bb6a24188ef2df1bb143a60fd000161f32cefa457587ca70a6ee81e5545d1833b842e8c8d79ff4a6984ada8cee57e82673a0a6009711af43d5a4ce33a9b29d8e1894e077ea8d26e16ba7d5f7d6cdaea6dfc0f6f9150c1141fd64aa4f91b93a65c8e38d087cf9cec4bf2eed60fcbcbd6a963ee2d2fdcd58ded1e5de09bf3913f8348af13287c63036aa6580c9dbcdadad007d13cd36d640fdae1950c6e1ae54f0ff3354da78a5cb0989fa97a1fb21becf8af29e8256c96d9ee8bdd749db15cd7d750b4648bf7a0eebfcd50668a74849a1f1a3f112f07bc93c3db9ebf7af7609c40ff829552581955c33698bfe7384c98fc40bbc1d21ca1b2a4b418b833554104564d6f41397d375212bc9bd80cc895212804276317248c4b7e3579b976e3ed0254d10d6a8819a9c35ade8971dc35168c00fd0001f329681f15fe5d32d9c95c9d94a109eb11d78c7fee8f0d0ceffc858762856e33ed52e5e44ee0c769e05b0f79f05e4566a0b810c135b31916786c9770e7a660eab59916ec2ced759a2c0e2a6afa1040275fafbb268813707e7e1d6d5e6b7be157bd156a22222c4e4fcb870e9bd0503c32474cb399633058e467e66083f10183cead117ff5f9483f96cf0af14cb8e5fe1a30b28c6be1832ca6111b730d4d70f6797f97d2063f720cc81dc8c231dc37ea2acf87e7c1bf80a616ecfef49785e4f9e6888fd9004471ffddc22ee5d408f5b75271e937a55848f35c60846246ca9d58aa5d1a05541bd7639b631928c93354feb5ab2430b056e4d6bc1a5be0bb7b2dffd2205acbfb6789b2f7c278623758880b00d93dd84d93ac320145cc2e5e5d90a8192320d3133ba1acddc4554ce8acb6992a9038fe2f942448fe1047591307f3bffe9742fd00018d4bec48a2f3cb9a16ba4c63c5792d47e4aa72437e12ec17ecbe695a3f80e270d073fbf185890903130fa808e62451a8687bb853eddf291fb22a59cbb8b7a4730c41bdd021894d2deae23ee37c595d6552e860d0dd133a839fc6f14d735fc4a6fcd30cdafd5606b28ef7cb91e154a2b4569ce8e804061c3abf3374f616d29236b0df1ef8b866b9346b4507aa91bc057a3bfa85c119794fb11e465d07db03001a12dcb15e06b41088b9f7679480b0b1be8f995b32e7e3c2c6e644d841e78dc0ae2276200d28623b6ae3d3bbee2407b9514cbeee35a6cc15bc7f2664f7e84bc49d8fc7c34b9cc2d8ac72447d481cb53947cf87754fb5a1e3ae96ca6113120025b4fd0001281a295907d1fbb4f08c32e99473bbe3ce2ce3d4109b531f75b4a915418306b9bf6bf4a61e9e88c519c2334bbe01d4faa539da8faba7d4a45fba65b36a9db8dea9e74cf28a515bf497ed948fd8b6988121d6f65c2eaf048a803c746dd9a970388254e34b8309e4d130b34c65f2e88d842d4e0f0f2516c88aca6038c6875289d7bbb1bacd178de2ba246d5528f624ed8b7831b43fecabf67501f22846d02dbc5072bdd3bb1f93fde12fe6107457c871c5118db2cc71b3c43a7a57acf4dc467854b9bcead4a9849c0d32eb6c923ce32dc906686cb5951bf29db53765e79d1e6b8c2bbecd3b1488e334241e62074f8ade127d713c2dad28483541106bd99f800bb020459bf66495e3a4a632a245c202ee0410bc0b03eb5b4c18ac98977d61fe13540dfd0001ada6a6e074b944cd07c0a47918b09d7f0f2d1206534eaf66fd0ccb36f72a34ecb8c3ef0ba952c51a7e3369fd40808feea136a864ecb2d1fee1ef012c0a284d6aca1d761c7957602983140ed15df608f49447608d5ff00922214d5afc320e1922f207da0d40330cf06dc320f670ac1a095ede1a2ed248b2699ddb31d0f7ec398fd03e909f821a42ec169dd81d08a58189a1c62d10081326736116f7aad340cbfd6236c9b95d02f4beed0d82b27ad756a971e8fe13dd4ff264d2e0f765db6b89c3055cb18b313ad09c36b6badd49c503679ae1f5a0a89b829b3a4fca46ff8a9934021c4f9a0a0aec75828c187fd3b3854602aa566c22a5b9f92b4082cd4b1178e2045b8516b86cad8c6e4d9c4962a0840c4d97c5764d0d3c7182525734adc27ca6e1900fe91c8805863529ad4018e3ba7e413caaade3b9866efd86288a5e9e3c2218955407a7b5f7ee10a4efea85a7f053ceb602e7639b5cb5e25efc75b1c6efe45a0916c78185bc7aaba902dc2e4346197dcf201711c4e7d7fd43c333f7d89d7cfe8f27ebba1165e7308315946038d2134cd3905717e9dab05156084ffe88d1c7b50e6b8961828a65665ef6cc67949d38d3ed7a065f2b331a218e0b788a6ae4242164b6fc921dd27c037a1665ec159c5b635763609e330f583e3e76ce6d9559253c96197d764ae9d0638cc00b9ec781caece6dfddf520cf20329e8aa300741123eb17e22d74ef85a0a7a2ad4b984f2adc7376ffbdd42a3b04e96140d7add7aea1589b3ae2cdf025a1dea8467ed320469d5aa12473fe666434da7a3875015bd96dc059a6da53bba89e0f520b2b5889ca72f95b23c9f40a8da47ee67e2da69f11eea2e14a3498730ba19c635ddde281628383ca0327f1861efea57423aa5221fae21abac417e9558a43ecf013c1705be9e9d1743cfd3311bb50c2f208846f85f6463f8a20293576f4792f3bd23c4272f49e5aa42cc3fc238a5988231a7ea38c1dc3cc3e4e90d26c9c894d3c92ae0b577a46d17a83e3bc5c9676a4e0b1aa6c3e7b864c263dd601e253a9f6dd59656add519d82d2ee569f150d9c2c190adf5dde1c3bb68107b5d97328705c34a18ebae18422d7d5221d2c103bccd8e392183cd5eba9bce790442609725d6b990ad5aaeb4f3051cbf364043fab96376c168aef9c825e88873597322cccbd03551147e7a74eb957dac87a67afd79d193dc83dd85cb52b87064dc5ef33fa0933cc88a6501655fc8d5234e9cbff21eefc4dddcb8dece5d59f1225cbccc2ab047a7819708fbdf6fcb06925ee4ef8772efa63d775cccca14f893f6a238e1ad81bfe4d4f153435bed70d8d04eeaa9de278bdea8f4d8940c400b6944ebee22ae90121146cd1b2a5c8d6f872ef771eaa5207df171ab276504a625c308f132fdefb10d3000221027c629f774dc79fde5bf47d7d459fdb99d9553492a9ee85f71753b65121b8413a46304402200170b14faa2695edf4f82e5167873695bb6e6acb1f3d48dae31256b412966b2d022028c1a3b3a45fb7116c5b08e11cb9de6e42ab34797944539072978a3d26cc5eb50088130000010010a5d4e80000001976a914d41715258e64c3c6b5c6674a012cdd8368bc48a888ac00000000473045022100a802e6967eb660dd85a1a8e94ae1920793db1f02293a5e3aa19e5b0b51fd8c680220248126d3935ec06673a5973e015dcf5ee63a3b88429cc87273c4ef841a026d25 diff --git a/bchain/coins/pivx/testdata/block_dump.1300002 b/bchain/coins/pivx/testdata/block_dump.1300002 new file mode 100644 index 00000000..386ddff4 --- /dev/null +++ b/bchain/coins/pivx/testdata/block_dump.1300002 @@ -0,0 +1 @@ +04000000016a7402088bd19c7269d7b7d3d67d91a3c5d6cc671818b4ff05487a9dfa59d5c163ed8398810e34416ea86926a82443c680759402dcb26e61f17dfaf9a3e94736ae6f5bca93001b00000000fdd94eae442d07a50c115855fac74ecde3842f71c161b083fda7b7a97723a2780401000000010000000000000000000000000000000000000000000000000000000000000000ffffffff060322d6130101ffffffff010000000000000000000000000001000000010000000000000000000000000000000000000000000000000000000000000000fffffffffd4050c2023c50881300002ec3e20e637dd48822e0059dc6240af77ff9f57f4e7d24974b4eece5f891fd62cee0ae3446c9f81a4c6432f59e8e09edccddd3ecc1bac3354d19b1a9884e97072caa44d66cbb824c9a68fa54e710ac2dce6465b4c739a1c1c3f058d12f1192b312e67bd8199bc47cb17c02824487a5c27dae66ea8dc6a52954844174f129ef8bfa97135d2e4473c9442e3b7f2c7980691ee32bb36db33b773dc900466193fe6c15a42050b46430f75297d69ecf9d5e1f47f4d9492e01005087c4264e16698bcf49d27bf409b95109aae1c51b0dee1c830481728d08f89af4ede3b9c6efc8816547f8d34ed4d9b61c6aafc171c8002115fcd450047c9cd9da1a4cf4a07084010de235b0c7280ee857e66419f931adf900fd00021628788cda6edb98528a10bb7bca49853c24ee9bf4c252a062a60d0db31a2a3e0a10b61a154d701e6ab42dd92d521f48d0299f0df8e15f40488b69227d414992b25793f3b30018f71ee7d040c9aa40689044c3fc67f7c84805e0a6e35658df2eb64baf3e139a1dfb2139e5edb05165825c7d05be050fac801f6c6dbf29b2841421b9b2ea8e34bec9505f284d64c0a25086c057ac716644782b1c7683aa5665bbaec625fab67f1e1b10a48f49dc0107c791837ad942e56dcbe3dbdfccb00e3815bf6dfcd36c9ad5256e5f7b577e494d4744900d52a38e3dbaf0e708cbbea0c085bdf44095edabdb5524107b24b9ea9f6e6198487574179dd18ee6b6b36c1c4e86d10e59d0f7d60a58341a333b9360047ace3fd5cd029af0a18f3a62a1fc1c15a984dac4cde5d66ea78c88b1e342e230b434dc07226784eb8fd08d21ee330bc5de6af732e3db9137903e769459595764332104ffd9de85882bc0cdb9afc686345d794edb7a915c677ecb9396dea43dd81509a040d2a03fa7f712b261fe25ffb4e18b0e09033415f1eadc1f9704e34c84224fe3f6ed48e38c38850e02fc24652b1c1ecaf16ae5722a812c3a8f683295d394be8b7d1cd22ba1bcc00a99cc6fce717e3125a5762cc12b3ce984084998551d187b3280e3d7aa0073f34df96f5b644d12a79eb09c641e44790cffb179c4599d28ed5433343ff28db05dfcdec29e0dbc2cfd00023994eec31c251964d2a02c1c140ae63a720b6a67f332c4db1af8908184eadf60a0e23d826eb7d4e691187d99b74c1af3512b42aa0d1bde60f0482a88e559656e07780d7379fdc75caad00e9af5ba521e82561f0c2a3d842336163283f5a2f66887eeb7408fe7beff403931cecf7bf3de8cb2ee2ce1895395e13a1268cbb947ed2c76b16d58e6c4b12dcd1594206bfe3788cd7b1762148bb7b2881dc4f9c03d333f82e41a8c21ba7277d1f0872b4bfb4a87299cf905c8bba585658b1039951251715fb60b57cbc2fc538dffcd545af58bac61f06ffee0f02e1092ebdcaf2ec12c60d96361921994e775051901ff6c4be38b40de55c757e0baa9996e2a1ce7efc6cf00385f313daea0646ae9fa6c6541a86689a5e950011580ddb5fd52a2a860e6367b4434a8fce2ff8a41d65936343dc501bbb350f8e28439b6f2fb469952e1d9505fc666a715586ae112d5c8274b2335aa635cc9ffc4456048e0dc98fef16fea258ed2c608b0851981aa81f404ce363bac76ee80b1abb0d18781b725370daf68b80faac5131494225bbad29f2f20edc3b3a62328496aedb0d84ec8e2db4e5f963a865fe83b55ff376f07349d15bc97dcdb5417c80502ef583f99741f96be92057e89e88898cee6edd6bae64580cfeee9916acc0ae19aa72b072c076f8d1da624c4328f98f9f2aaf3108ed1d41e31dcb755c7b54f987b681c744e53c5c8976550fd00020c4c58013d2e0be4a2108af8dc3e05e8c872c2b3a207b9d92c0c2f409070592d446a02c45763113f4c4951ef876c169c3c5900134ff900e1b80b7061565b35bf0f30a98dad85802614079aae6956e2dc82cded7bebf4ba2ec142fdc735be80ae0effe23b6df1492ebe5b399ac1a206b1fa8da83dd90fccdd523ae0937843ccac5ff3a44a519d1153b7d0beb8e2589978d7f49e091676d2bcfe47ceb65ee3f908eff9b9658aa1b11e61908d2d755eaa5179d1da8b7c7e97128b8f9a93217ff2a402fdef2da4897f61e53cae7634725569891e41bc97587e9bf597118b60b8d712d03ec9e636226eeba936f68567848d3af83cb67f04779db5ce552e9b02140038f5f2ce6f64d96c972fe3717008770485f286705954a8afe3f4846422d079000b518c550131668faa4c59cb7aa03afa8a0f4bc3b02e7ffe453ab984b3898207445f6331773775c312eac5931ff14b03553336cd2f2fd06a62d2306516c011de7086415c55950df594d408aa22b7257fc69da19c62062e2cdb5be98beb85246bbb91ece6a57328bf16277e93db4d58609fb3d81a68893e9233f4c4f35674325945bd140de7dab631cdd2e9ffebaf8e9aa76d6ee933fd1fbbb2dc4e447f4cd61b30f61b3ad39da760a28e3c4415b308ad6187d173c3515e2f0367d7e800d7d88ce6d4ca995cb74f772efc9462c6d15784430124e211eec15a9e2dcfeb17f403e608463c413e15908af0e38722a4992c41c034574455466b6ac6933b6f562ca4cfc8778556534887a7ddc611515ccbdca94323dd9d76260928ab6300dda7f233ed8f44e35f84f550044594447dd46c943142bdb5547d445cb0d047e22e7d2a724e110829a31a47608665a2c2a8745903913cad49d2864e544314571fdd06db983e825bc7aa913818fb91421d2aca3346b444c578ed6e2d898ee55631fa670bb291fd35c00d854a253e3cb71cbc2f482daa5805d9c22431cfa416b2a12a7107f7183e4a18918c1a88fd6b60b583a3add4d13713f8350efd000153f439479205f6637b39b79d60b15f7cf92b3507e0ab5155639c8e6c04dfaf4a33f829a5b8de3465f34f798c3c809f7f625d147bdf6282e22323f9b46763e29e6f8340b9b51e20e7a6efd5ac8c92ecfbeba0b9116bb4864b2cdca917388d6a4e9f951a137b2ca8801842a794683610d6ea1d0e14414a7e02cbc7da8f7ec3eff97b8dbbd10993930ed72a82162e77a2093d9e809d2d1c0fd011432957a758b6489a6da6a9a2b9a1eee4ee5463ef9275191f95b6dbf0f38b01a60a3922336bce3130af0ed362fbabbd07216e7c7f7a9768152e0c13b938c719e8966a5eda816541de61109c7384d5c3e58dd90f63e78ebbb8f5300190495423e6936a7eb1fc7d5efd00017ead61cb79c4e3fb0f5089529ac8db550617f640b33eb87c4c132f8cf709acf10776603747cb869b2e218038bc11373acdafdc9669911171e59389bd83d3fbb748f2675d4428da5cab3c4f3279abaa7ed8478494ccfce799b22fec72572b2c30353204e210a875e29b7fecbdc30ff0f3b33d8a8fa6764f9909f349b24c4dabbd59cd6ec6f8505f8d0422ca5bbb6f8a1e958dd012ea341893ddb3affc6da226d5d58ad3a94d596ac77098dcd4a13e6459c0ae03bd446c20ed4b6ad561e10396e2e4d592a4d83e840b85f60dee8467be17233ad8f30c1669b1c1a9ff5b8451bc0ea3937cbadd4e4716f8b91181fdb347d973f194cf366a16c4b2726c35d5b99247fd01014dade916f2289a15bf2198b12aaebbe5364e9497d0821cf48484a7d275a3e3f13de700fc28ecfbff37ae2b1f0935b81cd12975c493f6380539b2ac2afcf4cc9f0e465bc8188043fd468c26f1d23c078bc05e07ad8979dff1a3aff3fb5d66cc618a9633d2f7ac9e1e593ce21d2724cd688e4a3d473d535f90d7cef3b7af1760073215fe2a430e2e2b10f5040cfc068c05203c94f4a367dff5d6f22398ffb49cf18a130e6a776ad697ebf9501e450741a1a51faf17695479b36003625ed15122df15c46888b4088b8c32cb5b7c24007b0d2caf3bf58876a65859c171a9c3faf249c00ae9dd2819add6640fdb5a97199ec3df00bc31b08a761d6a7ac4c561ad67bf00fd000120d13335d5776e043c1660a24f431b1aa86bf048b92a7fdee1f583dd0bdbb38475381048598fea9a2afa0eaac89c74e47cafb4a9b22da00bb21cd796bdcf793f74760bf7e93a5e18d83f3002a24e767953c675d36d65318bb788f64f8cde904fe932fed3f9e7134a334261e3448e939250f7fa922c364575bd70190accce16fee281ef20e9559a521496d42cb6f83293afe6d8e08e59601122e40546b37f15f40614747f18448e3edc73528a3630056dccb6610f37bb64119324a516e967757494fc7dda18b968c593cfccdc4897424e960ec8a83cc08268623d4a48a232b55c816c9c85d993cba271a3fa458106db1370344ebf9349d16519c46d244020da47a48514d71a7d0c88b4e73c69fb2ce2374eaecb7cfa034e35242d1ecc1dfb5f9b93e79daadd64e70e901f6e5c761eaa54d6569e4b1832964cf3485fd1e78c8b20c531d8904bedba54ec558b7b65e72501ee53e558b84b702e6416de973112be2d604c6719b4496f2add71c06309c44425c8c3024c3f5d71ae2d29ded6cbcc8d75076b4e9fea4fb2a2090a7c7806b3618e8823c853c39928c52b45e0856801d2fab7be2662c4fd9f019d1aecd32c8dd553a3b6dd2de87563aab7b989da9dac9ce535479fb02e8af1c871576693c07505d1c8ed3b8447b8f5b8944d6bf689bb959ac1097d4394f721b4183cbc086c3e95ebcea8f5422e8b49568684508014ffbd1fe08d00bdb1dce61492a7b4ab6db782025678a951d87c0b65fd45e094fd1b3b45ce9ec65ae6aa6814ec55dd58d38c2bff08e0509255e3743398314dea308f4f173e2cb13e10004a3b614b0764ac16e6c09310f88a5b3e4ef97e28eeca728eb582a88dded8e86a9ef7ff7479280ea1f06a4245bbcdccbbbf1bec87b73d01547a1b1f2f214ab56cd1ffb214a6e38b09255c6358816cf969148a80b34720ffa81d4ef74cc5e6688e3504db2a87e1fef21653093a33c75b03f366878c2d9a6628d299dc5512aa5a1bba61046efa344138e231cd64635ea3aaca3b7ba0eea5c2638fe41a88ec9557e617754a20454d91b8854c33edd3f1d0aab282bb4db53b2a75c32b5be98d999fc9358baf89cb4e28614b79cf358a2ad9fb37c7a57ba529b1a509c90340ffc9476ae1e71ac135f2d3bcfc6861c1b978b35475517b7e188cd19ecb6baf7383a5e5dcebfd240128de93223e0d92964e21f2edec44dcc44561b471e47ac01c7d252b51cfa29daf8c75ca2e63c503983464c08ce07b51f164d01758b7e22b0eeb52cc69b1a84ba7f0bd365ea9e36c73c4022ce9082f1db00d8ddea37554d2d54791a185cdfc38df9aad660f4968690dde0dc101a206c5da486f76ec9beecc62303cd89d8de4098ca8b5cdf437b3de07390e38a552b1075c8f4a800b2a96659220faa8f803ff7f0af83213ceeb8a78b104969856585480afe4fbdeaffa0cac767d17cab4bcf3425bc975bb6e4a8aff6c0e9da98706ceff182291f6cacdb8547720bae6afb156d9a427a1fb0c240987fc50f89ba8ac5359ffe9cb85ef8720c99efa0a7ce2c7f55f646bb4bc9b9e985a0df009aac093b6501fb92d241deea4f836ff3b3c115d3912474bbd6f2b4637ecb0d797ebf610e58b5db5b58a9b20543b64112927f99c5d5bd2959009d51159c83080d42e7eb8b8afaf388121cad954840814846c47cd543a5033cf278fd14329365c6702fd240123e6df54f63d7b0dfef6254a8f87712c158ac1c542db3607a7fce415d675e64a68e9ec135b5004a1e6bc3e7d2b58928149fe4b12e0564f573a836165b68cf9026a4f0e3ee2cb4ff72755ac048973f03c54fa514c79040ec31d6d5e79771e390da092de70f9a36d6073ad748a5d27a1553a82d15a2275cf237152c170b849dee0322cb6ce0375678f3877bfb209c172c0e7a7cf1dd6545fe82e698a854a087ba7f98fd4f1b3600bd5c8c6df41270baa50dc299ad2ddb7b6539425f93649a247045fa4f52ea01f06358cf114b662a5d1d319b441e3956d74109b505aab1c40403a892fcd0933e0fd4065fda070462b32999330ab701cc737d8e31d4d8165329afa54332a00be33c1009db1b5a88bfb9b150ab319bdf858a83224c98a909e7b59b5f1ca68a6fd24010c6d400770b4b4e9b105fec7f42fb9bc1b4a2bf0c92f9d7651b72d35228332bf33dad43106a1f6ce04daebc46ddbc9617612ebf3bed7ec2c38bb8f462976a4cee75db1b5d77959d4bdaec4b9d354b5ef61ff84b8ff0a64f02c84d614e7a5932121a7ef8dc68babef55a505eb23412dfdc5c40ea6ee29f4c874fcf104fc7eb5597ac94fc56d0357137c422a2a9167119c61023d5fb8c2b1bf6d2922129022b58170700cd8d43a9b351ecef85a714c8e73bd852241becd9098fe9be95c4d320b3d708e65bd70dd4f9a6461d95e7af5e3906505d005530a9b6c5954835951bd6056327e40d4e857bef93eddf6eb7f2e863b2e911adb79ed6beb8bbcd5f1b0075511082596b22aafc5f389a175b7a72726b31c62f825010d43593cc43ef8a7862e1330bca781fda001ca35de12b352e5ad1e6744e025eb818355214cfb367887828ec90c93037c77c5edcbf11fe317b4eaad6fcadaaedb56c592eae6852583fe7083a943e91111f49348eb8caab9fcf0fbfc6273d3b88f5956364b4bca85ebd4079c25fe8902ac7c0f42acc32f9436bee7afccd00ca5a57a3ac73b0c128b9a8067683380de4680b04218ad86909922a8bf958e96760847c300aa2d3239c22613a9ccc8f9bca6b8c207318a9eb14e5823e46fa2d1c7dbd65179355763873b951480d0d00464b6a1a29bff1be4d62ed08cb4f85158468463db8584fe73d7c38a0da2fe481a918bf9194e489af6b823c910167fe43c3fb9dc8d2bf1eba83e778c020cae18808fb34e03ed64ec0691a0307075dbea7b7718cd9326cedfc87665673406cb7ff32ab9753257fba17054029cc58cb1f917c6a7a0208c12eae120f3ea7a2cecad2ed316fcb50cf8dec5afc26ce15a54b2b40194964ae8abcf418c25fb6a94a0f36fd9c40576a9b3bee50fe3125435a47604c0fffa4280ed75ca7394b7ca912a0a018d838fc0086e52990b4b08cd62f22b0a8d3be6daedf1d65a3ebdfd8d64c8cec69b474f5b8b60fbaa28f5d74b6750964120579691418d0c3f8bcbc2116f709647ab511e9fe47f1c16682656b108a890dad67e83b0ed004e01d941b074220045a5abd9b473d99d46ff81a39fe44349dc55365edcac321e92275d97e66ecf4b78919455626df0462011ace88e34b6587d99c609c82f17ea754b10df6117cce15e660ec663d9fb9e2d466bb4b3d3f2a50deeda5231fddb4fad00598c5054a8d6a20444ce30d1e89883a0053a7901be26c634f71b397edfcc3d1ce1d8ddd05309f6d0eed89242e94f966e8e2ef7c5c20d60766940574bafeeb69837ffa5c88c9d16d0a9bc8de5788049190f6152514f712c25d0a9664b7a760741b32b7e4ae41c585f813527b636199986b297ad6d812ccedfc42d34acb348cd4af67dc3d6aa9402dbaefd26b1eca23a1b8aae6c47a5422e502042bc24d947a396df35d6f8ba17e7988b0077d131842d50577d932d7139c7fc092081684b1471c90ccf8a5859c71cc8d46ebad1abe0511aa32c3b2031f5fefeec102035095513730a7abefaea5a5309b089d4ef6fd954d1cf37b9f5f4e285c755c722206b8565263e8a7a5ae006087e473ed0ba0ebe360c27b2561d55f581c5cfbc576520d342858c3253bb17b7854413dd3eb085fafd69b6056d3d6d9b688d43b040012a20c8670c3f745c5e990541ef54db18c6cd3de44e8faec546fe9b33d18f8abf0988210356366042dd8019c36a7e025924d552e087222a34d0809f2a802145f23c6b9600211e04a0ad4d92dbf08361cbb6678bd6cbabf6a7d63ec644bc37604a21c06de0a1002043043d628cce52d4624a93d1dd16076f7709ed93468258996833ae2015dd714d20df3230373d25aa9754a9da84e484a165c9dd9bcc71e64e0d9e33d1549b4dbc3c2183458963b77c56998433f3591bb03efc06edf5ba6b6d30b9c112fcd6e9a2288f0020ea197205e2cdae7391370a6c75d7ed4a9712bae6ffb9bdeb8b8638d811e3a44e202aad3b20ba133515b9109eea77689f5b566e708d86c262b5a0c56037d868372420660735b8d833eb5c249aefedf712c508dd001c00d385b95031a9b4982c38133d1f3a4a0ab26b747d40d451d0de26ebb1cd4ee1c458638e79e8025b0dc068de272010aa5fc9c2a4e06ea901176695dd0b8b7612eb02c011522227272f9f46b67374206c8941917fd401dd51d18490c591791065066317dc737656886a073aeb2ca03b21252f12f7061b2fcd9555313b12fee4fe079bc46ec220d8b9a4b31e977053b58700200b833f40387e83c87c62d5b852213900826501c3cf998148f99640c2e2ba5f2521ebf2dfcb39f30faafcb9aedb6ff70df10d9e85e4a6fa51767c5dd0ea0f58989500215f4745447fe07ad51fa83bb7bc043be04a8e6aa1a6959f7026664066e750ff8c002115f9ae937730a9351d629fc5a4441e2feee021e4468a952a28bfef1532839f860020db0bf753fa3fe6445cc66b3ff270152be4379fa7b520eec2b68a8799f46d633d20e8bc25e90ecddad067db58440e11e3df355d7a2dc6bb5aa76998ec224adb404b21b191c6af3270236732f8dc7d39130608b635d078ffdbb623f118b9061669c7920020f697808651cf406d9e0e3e86dfb18a2d9b3144a7ea4b3ddbc583c8df42e94088204b8d9962f20b9a41ae781f8ca79fbfe0c821fc0266561e682ca610b90e32c01620c235e9b00cf08d3ce6923bb0596328fe8d0f23ce141e686e812742cdf3cf8d3320b3c39006a818c57bbbc3ce6a570696d58e51eb81a150edff297a5c7b082fa8842114858d815b9fd97d26f9729465482a7c268559f795c7c8de399294ac6ef2bf820020a8873604ebc33f838195c54f09d37611650a9b275aa0d4af05a9bf4566a3df2220ed83f91ef583e970786f5342cda2b74c61556478950abf7dad0db7c0a2c87d06209b7d43f30445d84d6ecd96be569f9993e50a97734647eab726d2c86d7d795e6f202835f9bbb0f69097e37074c0bdb03181283d8a06b4472fb75e207bac3906431e208869876c299eaf4d6a1c5d9c6bb05b9169e969d7d61047fb046eedc1ca24c307200224fbb815ac37aa1b5af8b2da4acd7a3b96fc4dd5486b7fca1bae6c09379a5f207b35620f7ea06be9a6973b3ddaf0f48cac38339bc42a7eb3d969faf101c4f45b21ec61a79ded4aaa98bf4c429520e54eff583028d0769fc6055f76aa11d3f486920020cb27684b2368abde956b304814ca61c842fc815dc25459014b13159155327b60211e5390f3d45597b19e732f878d37979da964a1d6933cbea69ee36a7751349f8b002000e92540ce5cdb2bcb01e5a34bb4abc74487cf5f0bf43cfb38a285bca7bbb75520e991947d4a67a62e7aa04497831d878d766a5376052d0da71354a8cbc92c902020f95b383f82fc699d6fe283cca12cbb51dd1430f1efc8c6079e70174178c0c3682138e7459e537c3bf7119eb3fd0124e93e9923b39dd0875a7215647ea7f0197c9f0020a87f156b771d158a0c766ef91f63b93ee8c52edf31348c43a4a4471305f1d311218cb5f46cc5e953b02456851e7cdfb2b3268cefa30c1c8546c3e874ed4e0cc48400202dc991e880fcb89734982ff99855b871a9033d26ddb59ad303be99bf0624d16c2056aa8a9b617c5f9d0a84c0fe4d21e238cbc993c1e09b95194d941cae39ba2c0720fc895d621d12de2b79884c96b5a001aefc5d213c7e37b9907cbb193bf6dd467420dd48cca7b4a46730630fd10d5dd94065cf7b932924e8464ad4b137a10cac2a2220ccbf0b9ab4c4c5db9c8ac24c863d1fb7cb07bbe8eb3a7779c839a59c8cf5b3282056ccb58a6ebcfb0e6728973ef5957c6aca8c3b69fd58e9263512a2df741fb9762039a0968935f52fbfdaac310a6dafbfb87f28ff75496d2700057d20a475bab84d20e824e637ce394e585439509ec532668f0c3aba7ee8b8f172d760e9eb4c8a332421987b24114f175b9ac97241337a27667a66d7aa18ce63122fa5e1560111224a8a00202773cbf120fda9e69eea27d1b209902323cd20f660904100ab9ad3e286902d612042279654f6638d8a3526de07c88a1a4cf21ff9124c06cfb12b72f890049e044d2044e14abb01abf8a1d588e687d8ac43aaccbd4f4f30b48a070455b56c725be70f20d87eb5aa5c79fa0734e7d6ce87a90e7f5b2e632c59789b7a749e7eed7bcb750a20bd84406544f74fbfcaa769891ac43687e522a640335d057c79ebaf4580a6930020a989d1f3e71bc82036254b557b94c1c8a17ba9beb4ce10dc390c0cea5e37c21520bf85540997540e5d6dbcb7e183b355fa018fe1e824311b4a4aec5c86bbb78d6f20b5ec593261ed3cdb920c1675636d2b80a09c892f2a2abc163c88e12501e91e432086658ca7112b1aa6e8de4362f03782522f9675de1c351b8e91f77d5933a016882056461184b25074338c62a508c99b72cab90e19a0527368d522d5b54443268524206d03341940ab353b813771cc7e6ccb796a87ee12b331b9b466f6f09b30dc450a21a7d283d3b00573774ec1f995cb7ab118de6466e571aee5006dc7bf567e1e5d8400207d6bcab571d330e84c4812d051ad46dc31c72a3047b1029b04804e57af63067e20812974555fadc1f38dfe16ca5c02dc93ef9371c172ed1318c8587e5a8d99be7d2051ecdc939eccc1fe2cce1003235ef9fbdb826ccf0b834c5702907f12af73534b20e0f34b2a9a0d991498a3a7c76505c0789039f9d7e617a68e0b149bb7df6f3d3020c5b3ef64eaf8a3cb610833d06d1f86494061af09df9a161f781ed3759502d926205a933b8744e61b6aa5599d88ec97ac93894996b29cb1b2dd37dd77c6c6416e78200f356ae2d829706a639b83bf84b266d9769f5cf5dd9e87fb97c90cc7afdfe07521cf5c5fb174255db5221ccb627d17e6498ba732d703a1f961bb866a8a5af8849f002008325070a16fe29f1b9532cdf28c50479d0d4be1154f95aa6b82efcc2fce3b6d2090236cf164c98a6cdaeb8bd9eebcf59ae9b476d42d6b999b92196bda00498d0120e71cb537e9e4c0e5fdfe59733829124580d33410be5a0bcf5b1d9b8ef6fd830120592191182069a1c3b882bcb06ab520ec8d2aa238cf4f09a95b607c3b674c9c772023cbfad3c59ccfc897ca2c3f9d30bd89a9a24fa82b84e9b3935479e39fa0183850fd0001640e2e97152182c90d8375911c39916a53b470e94c414b1d44f114283f18a5521ada15c9306290c90429b6885552a0364576119f5b2aea5104f8eaa24ef215f16c74a82b7dc5d18b4f9681ea84d433787c4c52c6ac037a8b1df5173b7fcf29f817af393c5604add79271ebd9b1d87722af431b55f6e585795965b68d099b1abece12ba71cd6187c6d2807b43ed59e2433bdb6fd104dda7a170ea90a8f891993ef6d688876d09d4478335c559e799f3ee9a42b1e2ddbd89c5ecf6e85d3fdefae454440d4f2799b3f1a3e4ac76fe65928de680fdcbf83eb1722d56dd1538b6b68daf8fa5189e2d5905c1aa27a8423ddf84d37ecf29d6abab0be55aa6878f4b0793fd000132555e31a49b16dcb89c5d93cf7dd89f4fa418b2d2bc3e2f6fdef3018125d71cc93deb71eb7a69785ddb0013ad39dfdb63551ff0e29f56bcaaae5c261b6bacb3f078e7add7974fcd58e00d374e35f64c869a3c5d2b307134ee6b96add635b4371c6d0b685c2ccc597b338c78cf234b4c768fe97ca50853cc6c83890f3fab2d6845f3ac4e87c94a8c429e8b237e83833b884f58bb76a2425f21405a9cf5abc6646170d80d19d78d3cb0c3125eeadf320a512fb76d2570757d0c4a05370086def4a272e7a3c44751708bf5a6ee568e9591000a79616e42451c6025067868c5962161b041fc4739bf83d21b963e83d487da1730d105e70f60ac1d283f52ac14d2ad212dca6d5e8348f66428e6fab05d03b4194d2f6a6f6bd3d7c004d4be5038ea17d3002070da67dd53e98a1baa9116948589ddaaf39aaf9f11d1c67fe7d290e4b694244e21daef325627bd62331462f39a03f3fb695ca9b73d4c0cc12252e89b9c5f7617be00fd0001098e25d1df933f3b5b3c3dfc1189ddcaa7f285779ba97d3040adf1e89fe1009ecd2836305e88897d806b203d645089e995a2ff2ed88b4048f6f0f056b16eef59122ecc03eca3dda296c828da6cdea5e3dc6536f4e1a109b5d2f78d42dab7d86d84b65a0e8a84830a360e31e727108f30b430fda3d485ffb7eb00a9f8cdade11a54ca3693c503241e4848d86dd75d926f758bc60e2a07f1240e32a0723897ef9acb5ca81e09f7f99f9080a4958b31fc9713960cb8015f9c1e14c4d12269da0ac6a652d214c45890c90fa9a126c98f7e5e41bf4d2b0e90d3cac0083b5a0007fd20b3dc7e52740dbfaa825c1cef2ab71570685630c14dfd0cd57af306f0b109b8fd201373fc149a5bbc378487b5621806e43935c586a963e518407ac8e63d1806445a21d5476fa029df7fe0da2a887ded8d3ede4e6f93ca5cbbf2299f1d4b83bb3ec99f00fd00017a46b5067003347866fba2cae34303a7098f3e4e59e42fd2ca4193f8ea7a3616d233d4bbe5f82b94f9846707ebdf33090d6ec7b068f5a53d717eb0795dcf920050448fe85d3149aeba9f96e54840409983d2eb8d28d75223fdcaf078fea83ef35640557845b88ff0e581eb06fac7d62242ac8b491f35c0f27eae35b87bf3ba632cf04e783686c180cf54a18f925a0137f34df02bc15f6574c020fd159cb286c721eafb8d2a5475898ca656c91ecddc0236910e1beb7011ab4b74f0f34a46fc1e1249b596edd28bf0590f670ec0c038adf1aa4693af0461501e97d602042d3a3776b033f7994ded2c30f2d1ac3123abc7ecb29d9c039ac3e92d508646dc99d7d52101dd5a69ee3c69fb43ac0b4df0a0e26227f5f2db0ed6bf754bfaf850cf592fd400fd000151a379787f8fec3770b70fecd273538ff08bf20122652270e805f4fd94761ba789d5fc52b4001c3ea16a66c97da1c89d5b84146edaa8ce07a04f5de6d45e71d23f3f3d745d95a47c7242dee8c15515e9d5c8e54447c12f541a3c886c98b8c0b13721ceb48280c6809d59cdbcceaf27e080b273565a4473f10bfcebef745883c155de8d6cc4afb45513feb9f52e69e377815ad900d6dedc3007866b86d47351384fa71d748ebf09afea1476c526df7ca05fce8d515cf0d7435d48bdf62de4bf1e5f89b546a72c68f1224483e6bd94c2247485da3cf77f32b0f629c8a77df35e22a99ac5d85514342ffd36b9183db81a1d9e03dc78c4750e31e48b219b847b39b62081e90ee1195f2db38d5ca1ee45e2a359466a9ee062cbcfd86ca41bcd39af3d6bfd0101754d055d24171a08f8f13a3475cc5ebcca9529f514dc4527ff26f4a47d473387325c035dcd76cff5f471da12feb333b893ba6584cccfe3fb9e161475309b7cc35c03811e399a85369edbacd497809559beacf3a03f3b88143f5e3976ebed7aa2bcf9aacadb141ebc7207d434887198ce6199b136a4e29a8a0dc376156f53312bac1bda93c706f1067327d2e351f099fd2edd49375933a1d7d04a184df1c047ebf0e736012292fb57a1ca7153b8ed4c7af0fb978430037211ce9543ee88c9b72506bb214aa46b122495a559ae2a50f0bd1a719783c735e1958afc402c28d972fb7dfbe635e80cf197a713207744b9144b965b3672e5b202381fd1258307ad5f80802070cfacc77c74d4211fd5dd88791be29a64e4205aad8c863a54e73124e61acd51fd0001dcf7c52a354d9a4667814f39e56cf7d0672e765e40da655336e354d1bc9afb382124c96a3daef87305194389b13a2ac5d14a26ce268f072c1701204ffa9db0ce1302885048bf46330640ad8e0986a70a2b59e3ca658695c6292f589a8f153cfe12ccb69711484a577ed91a123393cf46b7a13d8949d55545b5411bfd17d85ba572a49ba616f23c90315cec33bad2ed1dddad65bd169f825389639def482af3124759c7abde581bfd7ec3cc6fba8fff2c0a7cbd3c33b9343929fd5bd409319ebadce9c72dba0c792f1681057f544cbb1d8eafcdd7f171560268ab454b26c9eb56326a5a66b19c86a8b6e8ca15f8175bd9544d508fb1d313d9eae4be48def740d221e555ce619a1c6d6e2fca100c4c2d41807b085e4e9449ac47685c005a48e7cacd00211b45c1a4b5fe21776cfa90bb5d8112ec8e8ac616339c212af5b30111f5aa489b00216250cc2a8b0f41979c7ae6a346e308ed7ceaf3688a20d6f45306252bc378ebe0002165597b73b2b289c444281237ff58c72dc991e37280c786a01b802ddc855c3ec600215f90b8da6ee21e829dbe520d4da5e3841884fe66d45b41190071d062a44186b900fd0001dfbe5db875ea26e89a1e6fb0b99f2701ebb544871b09ff2c3a0e1b5975ce23d1ab280f2d3d56f8cd1be27cff928ee12369a121c068ff0deac0fc24ce234ac85f1058c3c0d1624b8066ae0fbea5503d3bae2d31740c85fe5f6d57de38e3181cf4002c0fbb33fe7e5fe5e3673f21cab3974b2efe1abff9ec57347ade73ca0eafa410125d56ad4943ea59b49e314bff93c37e036fb104cc8dff42ae3cd202999c662c89d2c95e29c90800240013e1e3fb21233c5dd77b95911ac536a4cd036e43a384c923a641fad909de2a3bd3724eda84020cc71ebe0b6de389dc65f36fddd83ddacf36818b91eb4203333cee77e4ecf1ab668628f9f56722dae733e69568a1c721f50a69e6c3a2afeb67589aade551725c7852ce98d90f38d5ae715676a530d3b90021c0c3cbe4fb7f7e533db2aa2354483975ec1cca558d61932a38b98eff66a5dbfc00fd01019e7bc519540737e8ce7d382f86c82716d797ff786fdab9435a759ede3e966eca3f1a1fe93578042dda6c1f211424a4591fd68a954d4f38fe9c15f096b6d4898883f56ee2d2ac9cef43600a40711eaec1d3e114d9c9c14b433a2167249f0c29435abcb09efb6a3082424e1063c3c0b08a97ac0b990eca901ed07d3b43898edb79b02fa88b6acb8c3dc90a68b39fa0430f6b900fae7a8bfa930861ecf79e1a61fe9bfc8e83f0f56b440488eb64b85d2f7897a58f9d3f5d6b6a1b0cfd8cef17272bf37ba2c22f084996237594a3274f07780d69c79da703f472dbaacb5b1a4c072ba01959e6ccff66167be78fc4d228b49a8f843de8ea99e907782ded1d7a4ca48380fd00016c9fb60dd9c2aecdc97c72d06a192dfecd51aeffff352671287663069d1c4e1dd1fbb87d91026c3c1493827bcc77370ddae46d150d2fed8510bcc5d8b3bcc8f101bf2944ee70b7f004ad13da0b3c9bcfb0ea72f1e236505b4736a67ac4b8aa84d53c6b62ecdb97f8d6dfb8026b1efaa1c536a65fab82187c5677c3c409d77e4769c3499ef83f62cf86015c7994af1d641b279f63edbb4878526cbd4708da557bd4a44507453ee1cbbc05bd80abb61b7072b62456d8046348378a95def331b47db47adea1f7560a7de1a98ec10cba4c4c8dd93ae282080a40b30e4ca3334fbaf821cd88c58f33b0ee3d456398ed353faa950ad4d77322e02312323e9bfe9d7cbefd00017d6fb0247e07d9a2036f1f90dcd1d2811f1329fe463270458114bd6ea867ebc4484382c38f85e877b58e196b9e8f778e3eb28509f04ae73648baeb45e6a944461990ceae10395e4dbcbe865e769de4a0150d24725a54a97b233fb1955b2cf0c89893aab5806d2e1461e4a76a125b50fc69046aae77ba4ebad6ed929a3c4dada3a2d1ed572201f68600c84d2076b13595d5a26a92857ae7fa8c91298c57e772fc761a435064c74197541da61567f7a90f9b83cc25e5d6b99ce125e7d3083d3edf4d6987be1851b379ab1ebba85260c31ee862bfb322e5e5748721f9833ab31102c7da22eb127f958ee6d689d445e5977673fd0ac917ca3a9e52f730a2e9d1e9e4fd0001622cbfb855b3c7fc20b4d7ce0063140136062461b2235262a7be226769ca9f352a33decede6bbc536fdc803715653954e871629a6321922911d4314cff09c321513b858a249852bc022f9b1a1a5bd66a45c9d1ac72ac328c9c185e0f9e76fcb75646ccf0b65613121c23ec428245118fa3b30eb7d1ea0e7c958ba0174c5ab0fbceadb0f7ed800ddaace6440454b5a72c7bd4b9235eee2c4433bd100d55322460e18c08febfd7c568f5d5f79a80cb3f32fb56eb4fe54af6598b7c50df4e564252683d56c43aa382402b9c064679d85571cdbda73f81cd49712e985bbbd8f0e219d451621708102a701fce6d2321402d32011ddbca49d19f600a8b9084f45b2bf220edb15182b1ac80a110a4e5163b9ecc1490647a43e686fc2acfe3cfaf11d85a70fd0001377f7e70a608ab0d8509cac3e78de0ff0f8c0599fab9715880cd845c8321dab9a9bbd40ac09cf5c99649e36cfa92fbf5ec034f85f3df6479f80843d8c4a5308a9de85a6ac164e0ada80e18471fb1a3e190d523e4acd08551b4de20a3fa7f53bd83c2e16a36debc1c6ed3b6bb2b99000220bda02da779fa7c90a1336f49c19dfbed6451fd6b6fba123136f1989f365e9cf6679afa37bb572fdf894d83385d2eee9d6ee29d31f2fcd0e00a9c954785939223f0722136334339cf3a6877c0c67a394422e83a7ab4f16f366ecced1f1a92c7a3f8bbcd3bc8717a9219d881b569227e31634bf6c85ab1804c7fbd9220aecbf24ab99174433a52454638db19058468c02082c908d7df70e1436f0315675d825c0406bfac9a1cbf7e7c3d63b00212a7fb23fd0001cd41c6774db24f8ec750a1fbc00df8d8fbf305e23bad73deee40c1a0a6efb73e88857c2b5aeaab4feacf023483b37c6c4dcde6399a4e9363eef86a6f097446e808b4ad8baec33f0887d833febc2699975604f79ff4b4ee2de5b3bb9dbdac1148cfc8a6467651b8cedc8119e8f70316d9d8f9122b1add4a47da6368cd6c89dddd3e8a7b49a39c5cc931150ed2430f7e1b8538393662cdf861dc22ab9468a4d0af3d9b4c72b2e15d953c67535ad70bd22e22dcafff594d47609d132e2c13c5c9a672845ca35d6c6390f1be7cbad1d42fc2e8390782da0fe8ddac9bbe67406f753cbb6fbc30c39950c3a3b087c13bab059f44c2a360f41efbdad3f41a911b6498b3213120d8a117aa56d71762e3809f1e1831d30e54ae74d5ae2e9ea702dd68fdd5fa00fd0001394c4d977685ab8bce445e0cae167c97af91b2b83d5aafebbc4ab3e620c8c4175592628d152ea2ae4251d23c7bdc8900717fe5fd0912a0287ee610b3a15c26d2b16553dfe8736349d9f03dc2a90c47754006256157183e4b814cf73d7e4450b5ef1cae0fc7d3daaa7ac5a6d1395859f9a74d1f77f82a89b8f6ee25d2e18d39043381b3b32d19d752940283a2dd12147e2bd88680a9c6fd321346c6fb832a06ae1f9f4761420d52289270aa6bbaf15d274cd16a0b6429588a1f502b6eb220bdedca138b194d9d84affab93f82ed8e092878be2dd3f82d41e3af4e66bd8631559509eb4c92858d68130421df4035677d045b22eddf66ec313e5c3435d9d1cbd4c2fd000101501285f0a35f9c08efa10898c8bc825b3f1c53e1f20d120707a5033f37143c7bb7dbcdc67fd3955c6d36f49887316af1f0f977872093fcd6b4721999f7173e66fe0eb0cbd0a895fd26966727331fff27a32db3c656d9f6307bfe8c2bdcc9a5dbc6fb342e2bf06a56cdce1e7977a041eabe2c30d2869d8e972a011cb00700821b5a44b6e4db492943474069dd5980b26269d97f5d833d4d34918e4575e39c10755ee68062cbb54b69347435ee61a8e4c6e6574cf4129d67e268fe5929bad969a19f9091accd81d0cc46acd6d5efe471ee7e371e51bd486985cab84981c24dd8d7452e5cfe83a30305f6edff6e69be6f12fab32a3e59b1ba03164d0794cf6fe2206760fc599ea9c5df4b2fcc4b6d2c24012cce7937f3cd5179a192a97d9a8d3648209b36bea9df29f499cd7010b67a78cd34dacac1f26fb2d636375f9153b9f2fa74fd0001b1dc1f46fcc5dd82095de93211485f201d72c06948a591c844920e930e21b6c675afb536957aad2e118332f5051ae7a85ae2ad197f4154e167167ba8b756985121e748866b35e60fe0897900eea23e27bf716289af7553e7df0ce286fda23e11cf8b350c3547cad4f21313c4b78eb879c027b631b767957800d4449b9cc5e2ef7eb87ca40cb2acdbf274871b645a30e977cb85c72f81b668c7e71b2e9666314364db68b60a5e6de00bd1aebbed746680198302355712b59776818832ad43330c756adb0c2afe2bd22e1776e232a2aec46e4e373f3ce02f2880d167025e4fa9aa135ac9c2a49038278cb74247d7519b2ab671b7ce286fb183927ddf605cffded8fd000173241f848310cf6604ed7763da61517e6fcde365560a938ffab88988620f5184efb78004e54bb31b06311403d8aa6612784afa2155577de625b87eb724a0b867f1492d0fcf291ba7a864fc88048ee786c727af50ddcab72448b6c9bcd33404e21b1aa741e7af6d81db6829a81e1c692151c63c93a14e71efbe4d29ac7371eb46d4d6e58f27af736384edaca041ea6804904393fd7268aa4dddc9c7f17a7b5c7e0ae783b545b9ccb6efbed5fdfa7c7cc4fdb3a796b11f6ac8b3e724784bed92833e0c2f4b4bc1bcb76ca3f59014409b870bac219bfcb7236ca5149cd2611b52293336f9023dd1eb249e24c1dd1c005c9b54aa36eebee31b414e6671f07a482e8a21e3a6a41b8a4c42dd21455f5feac32b8d4840c336920562b1accb7f369f9062a900fd000159659b100be96983768f465800fab92f377164de46e7be6e6a5f2c850c6ae98d5916f7b0d8f56f71a8c285be95fe1a371792a6ce48ad229f4ebbf8ea3c3a9de39063d3196651c82f731d73a618be48f11433a6c96d488d7dc6c06cbae8efccadd4b741b5127b667dc5c5b3f84e56bbdffa23bbfadaab10ecb71abcbffe148627566063f7bc4bf9498c9d672d3da6d939cfad471233ae9f6d346fe0f907b9f22447f6aa587bf4f1cc1c3bc0576b81649e498c30100fb4a848efa42f6a94605206b118d8bcc37e339bc144b100d38e49afe0205111465feb5758a10a41a8df7b5344d6abac78b363e9be6073391164653d4aa0ba97e1727bc8c5e07b8deba1a6f221794c7523eb8a41b020810eea4aaa4fb559c2cf8dfb81ec0a71930f0a96ca45c000209b57d6db8adf652c12215ea78a0c5963d63bf0f45b1f7d2ce80607bec069e16d21d0f48e5e6ea9c6690b3b1f8c5c6fe1950723f59e20c89d3d6da9c93e52e098e2002071b4858c5aff3af6e570e760df07cdddbea8f0770cd9ebf268ca61b01937d306fd0001609a2d5a231f95b4717dd0c27ebaf0ffa53eca75d961f62fa76de59f45c4c1cf65475cd88c5f962b1575d46c6754976c9b80f4d92e19825276521c9eb21437ca159bf3f4d20966680d95a7aa7ab7dab4c00f279fe3fdfd43393a58d3203b0cf56095dd18281bdee584bfaf5be458cddcfd7c67586bcdc20128cb4ef812f55e9860eb232b68f4ee6cd944a22bde89025af1773a11984a5df199dd4d0e4a0b1e7549864f580125623e150d3d0b54c6fbc3a4ac236a5c2575ae06b0a25f7bd3567d1bbe6dfcc94a3029f87182419fabd4e921b089255bc371baff862fff5d0716de17fbfff53d6da0c8914cf4f4f4434e1aac30e189052d94135d16f7d85bfc86cdfd00010202c3e18694f45a533999e262da0f11e833b68a96252bad23e28a3667f51484f02ea914e1d9721aa4e82c6f8cd839b3c277370e9079c7c660b8632ab0003cd4aa4ac0b9a7c99d3111c41520f6f50569c8b332ba996c6bd4c5541e1b49a0f0e8b319335f83b33cded63ea95a89385a4055dbaee6b1ea5677f037562a312e63c2dc24f370b7f0a9aff4da421e62e073256dc1f7dc44eb201f6e5053ef685da0830dd4d6f0990ebc99bcb45b686ed11a8a9141e421799296dc07bb5221e968f35d9a28f0853c737c0e3285a43042813b302dbf37aca763339895d25495f8ce61075559d5a92537aaa6de4d2f2a3ff6c2a54a43fe0ed27733cdb2be75e25b9cde94fd000117bd6e00bcc337ca2dea638a80e86448f8fa42da4d74aa80e741c56cb9581e1e0776827ef868db719f156f1415fd83356b07e5ac2e1db1069d57dba3c20e33aa7063a509b9977f79de0e5533a1e819c423d970a72b2dac891eb2a04fd325edd9b6cad07d5a0f871d1a51259becb8eedaffdc698a7a31a7c6753a017a4014931d0a700468b4eb524038c89aa87c312ef67f3ee738923b0ed63fd1f05ce15ff82862f258d2bec8830b4b0161660d93ecf432fad56cd5a11f1e78a2389180146c63f71742766530601131b63ed4a61d39a1c0882c90c69e5b1214d9ae47177cf4566663b3bcc575f17c6dc88945a2c2af45ff3f30122cd344a5ac506abd074f0ae620c412b0de9a0df31ec65cb7e93339355ae7e09f863b91854a65847f5ce16e1846fd0001df6b60f8573877a816c7a0220b894820f9a601446b3ce333fb8e6ae4577422556c482d027db5ae2730993e4b5f6b097dbc6201844e1a5d8b71b241cc1d3415cbd68046f4d8f724a503684135c4f555d822a9cd80f103eca68183436d258a6d5d78b8028c087b9adf5839d7bc4fc5daaeef33018c217c4aa962150113a987462038b897efd44b23f81144dbac27540e36a05f683003629b8af2d9c931e7f6ffa2770eefad60bda530655d794a89023ca06c8b0204d3695ffd3a15e9c83196faffbc235043372b70ed57933e71314c7316081dab34318bd974d2a6554b3a0c69ff495e792432c886bb780a1397d8d4aeb34e98dea0e3dc486e97ea2d7b8a13ebe1fd000126e7bb9f91f70ac0e2138df1223d29175f42cc44b33da8b151688d1a1ce392543f85156c517723d98d0218b1724109be8438da085a9f7fb1a54323a4196a6f40c6cd87528f2e0486fb87c91f06f62b2ca4d789bdcaef423dbd5ba83ade254ebdc104a6f1c5c9af4375cc98a844c102a2ecf0e71138bb9752a74e1d6e32db8baabaae6f4b3c0f1df95539c225ee4b948358da28cabd16336498a0bee3edf47af55a8d57a13c83bb4fabb81873359c9cece1192b3eb8468aa94dc8479d9e9482937d64f1b08092bd2c2314d9f9493e204cd825b9384d851e99acfebbdc67bbe2f54410c6b018e8624d79fba6198215eec982de5a065d304172c406d8d75e4c818afd0001c88f49d558a4b601339b80d9ffe66484167766c7d8effb6f1037d42999d6c17c75ea631daf8797f1d4e47134300ed06f264dd53f5a8b7778a47c54ec943f118528d60c3b583f2b2f6a3b16a20138b895463378dbe513c200ebc661083c2e5ce300c0fe0a5548273f1ac42f7c7ddf21aeb7a4b8764afc71b80135f25549591e6ed7510bb04fd7d5d98f50dd16d0bc6eecc8d8bfd10db2d502ca4f5080f7d6ce8ded4f86ac42e29bad1959082eb464eb275eb77de6588d520cf54faa946a84ffcb8936928fbb1a59ed8b12075c9745be36046891abaa77306ce68ba2a648889bb467d396449c61e3d34a6e869daae88645c5793fdc71a56a9cbfe5a01e73ef17bf202c18f42c9d59091c9fa00c77cfa4397bd67cd7ed772c20864895bab0c8a5bb4efd000193921bbeb6d5db6c8f55980f308a81988433b47a688aaea94fad4faddfad4b405bcc773516713d2647453029e3a2e1f22d7db64e2e188092a33f4e99f8dc920cdd8bb10046cc4bdc6fbd22d90b77cb1c8eef84662c0b0a02272a9ccb71d47b573cf99a3b6421a58b7a41ea8c1305e16b7c9288c95f586176748349bcc3b9ace8fbc1fd377cbd60bc77e7c0a5df521fa863277165abf10eb1e63a1c2e0f393de3c98a218e0b8f0a41ca6746f38af89eebb1a2087dca83f03d5e0eed428be2eee33edcd737a406408ee04d4c94d97ee15ae75da615b607aac2ffc68dd8b449bf133bd995b5a432778d299ce3fba9a4426ac150597d002dfba76ed60b26d3de36a52079ee7b389671cbc449a02020af5264c3bebff952734d1a47d738b48b4babfa2c201f89dd4d4832ae82df9c4efb95cf12ee20e423b3bdddef14b35871800fbd5002fd000166a35965715ba3d95d98c2a482fd9afac17849953127158036dc9ac99d9b00d7c5847c689c2d2a1ee2cc234686faa1f80aed58a6d06985a3a2aa295b3aff90b002edd55c7ad56cf82babc57e6e8d1d4c55e56b1f3a3cb5d211b88986cd7004cb15ba2af0affb3b35cf17225b32a5d848eb7c080b9af6de986c0beb090d5f2fc93bfd2ae806863f5991974688226ccd0049e43fa014030c357a77764a6b8466cda5a79f4fe07e3c24866baa24226aa3e529a34a8c9b19b45faca7c516515694c027d21ef4c407c07d3b016000494b4fe1d9f1a90a8d7260faf9b10e748a794f5bbafd1d5a4b163448d0ce03cb7f85dff7577f45693d868f7157aed70d0f2fe7de201ab21a4919ea458d232b80e5d3cf8cd8e2e457d4e3d084b8a0a8271db5ce2b0bfd00013b0971c175d01552303d7e1e442ebc912e059f06bf89fe5d1904639dbcf9e7344aec5601d006f6a56180110b1376fed3ef5d99fe523586dee24ffc63f6a3e25f6d1f304105dbf1a7e4f9f3fee3df30250bf8127817f492603cffc0f6ed5bdfe8787756e197770de81ad53fc082a0eed838f24010f6f7c51dbc7f5de38105de6ffe8d2fdbcfeefbf1fa76d838b2f63be9ec69bf9330dcb79cf4c4d539d46f855019a1d7f574409e0c02bb107da1de0292f97d61f04b8f8ec8b049053d66a4c0533458fc38fb79725497401d46389c89bdfe097ed16bfb997d64570c6d97960b1edf55c2d9ae5a6d6bc3bb8872d0c85e9be7921f89e5609ffa623d035dc251a2d6fd00013ddfa40d14e2826baf82b0257d26759430b9d9359bca5cef6a3046c549d766e981ef5e92b03b2d78b7ee61c202b1e0162afc967b955a055de2f779576c1e5c65a25f55051c1a5d2ac4a99e8eb2254c87d307daf78f3fa4e85ddf50fd49d4518991c78ac33672f5e8ddee1fe9089a3f3936003a69b97372cec3a491c5549160b93d78d5fe66f77be6cd1a14902b6f86542ccf00d2d6b1ca6d2e1b87573bbafd853b21d8f2106a9c25bff9945b8bdae5cc31d58053dc9769b927a924f857089890dd385d8d7f6f9e6c7f613061c3f5759cf3d4e8815ac70f2702bff5a17864c76bc18b1294aa2c1f71fe11b001b5e17ef3676814c093ba7b092d88afb8643fe4b021ba0436c4e1fe209f361c89010fb7195ffb3c81477c0a1e1521cee739d70d51a200fd0001ebaf53d8e86ed13721fbc1150892383136367d68118a7b375539455904342a7bac22ff97770b3c0e9cc014852f222eb702f1628d7574f54e37b3ab2a98fd12a7365401acaccf823a43f0b9bc29073a6ff777beddca9fbef2b327288ce25056e357147480c420c2a82547e10c1e27551fa1c96d4a5b636b11e365531af6162b1cbd0a2386cabde4c2b90728e2b6fe2635c7c5d0aa06c8d70c8c95710730138cee8ddabde4fa5ea89cb5bbe5464ae07fadba637f4bdb6e6da44dbfcdce737ee3b354eca50d95fee0fe06c3a3bbce1a39ec5c6da91e64caf88f423ff0a8720b0893aa5b6f3fd924a6af0256ee2a3f1d88b14a6b976d18fc827dff5e462a880249cc21b1b1cdcfe86db20797a6cd368c8b314ecbed2a9197ece3c53353ffc8c6ea459c0020e428f7a11e0e63b8b4e4eff6c40b29b0aeac25a0ed1989d077c65d9551868d7bfd00017aa8fd5787dd2e71786e845fc3d7feb63a913f2ffe9e007266378096e9a1e05dd49dd447565c1a024942dc3350bcd85bc23b60916cf51f54765e1d1a6b6e4927e6481f6611867b2d7646222e17fe3621415a67ea871026c12a91011a98dba082977bc0b590a116348a1b094589325e61cd7c1abe48e13f5c0adc18af52b2b417f375921ae24e45b0d7bf5b79b48522126a942a91bb38f8ea6a7bc93de5067dbaaad20d0b9c88bf385f4e07b74df54424efadcdad04478c15ce8afb184fb203eb90462b92a46c226b6cc8f671e7cf232719d15deef6342748e1e45f8650c82fa337a984ba11935c9850e0e01340317dcd9c5bad21395e1f49c7884d415681b6e6fd000118ed3bedd08d3cd819ab7a012464ff1dc56429dfc6a8f21eba8d079156cf883909f3be3e6b7c4829fe006815b224f1c446e3de2dee321755dd499fe9d104d830cdbb565981bf89720853ff5b45ebf737c5baeab5a996d5429e5da55de94b738e42b8ac466f1839fcdff63b94bcb96383663041b2163ee4741c9091af88d350ed9899ad1a49ff2d9b6801523658eb29da5e68e3afccd2f4b24c8c1da7177f80f8668cbb36d072597e818a361806da6be0c8b9d79e92f9f949118ef9b4a2e68bace879e68a49054d9a7bfb85bacc2d3ae61d4e19b2d0a9837f36c1e6bbe70f0142918c3bf6af1908ed7cf0bce985002c632fa2b56c7f2f1d77ba1f5477af7103be21b2ad0c841295b5f892c42a3216fc34db7a1fd6da775399845f9c3e67a6eeeaca00fd0001ccffc00efd169a3d971622018f59667149d09c3da2b253cd86147672fd95ab69f0d5d8b8edc353ec3ea5191cc681792eca66dcda09c27bb56a29d483c16bb278e6a4dfed0e30191c208a40075c0309e9dd492fddfa9672f0cd017d6f898d16a553a5c89d4573857719dea2c0507eb9a9b9fedc6302eafeb4dbe093afef9508ded1528bc338b773f7f5f04459043ed8a0253b50a78847e2b6a55c55797228019eec811ff6481775d3a775749c5f0a480d0969697e643e990a6ff295fb080ee86e393874de915a68f9416fe076190c390a9b423564f96dedc8c13200c45f2f71474b0941077dcb98455eb591d73ff4e39867bd6d922475d3e08020215d4993cee6fd00010e0ef1bec03dbd47b4b53fd07a75b0ee3f82746d4e09b2957997ec890ce8e56fb3e941890ef89b3b6b51456d0d12d37add55247385f2bc7db518cd70b15185fb7a3097e4c9dc4166f6ada8c19a201d9e31cc11f08910bd349d9983c41ccf42e3642a9e54a8c1f1d7660b6375e05b33e287ad6415b17ab8261e6c317eb536c6db0d128cac2fd253e2a29ed3b2966bfb4dcceb5e40bda977cd5da15bfffaeffa9234f4776646f4825e617b7de83e5578a07fbfb09bcff4e8eed3cc80e14f83b2a0a51c96fa9ff59e4467b2628b1dbeb5330e07c66539f2a37eec5427f4d4cef1872b4aa983ef2316de57c031126195999e740a9876d746adb697a81a141752dd982029c5ae7fb6eeb35af0d5aabad2611deceb3925a667c5742c2b74c95576e8ea4c21978639d799e333bc66a7a1510a78e8e6ab43b7eaf4e139ac3bbea316ac240cb800fd0001bdcda2e5fc132d09e78073946704bdc74dbc6e10e6bd9b42b61aecb793ecd1b2c4b9e7e61f598bfc38c1230e03934e683416a72645f3cb6c770d6fde0b3d0ffeeff74de2b1f92750a02c416d532c7bfb9036050e47ceb6ad6fcff4cf274373d4fe87808047de3a100973e83ac46a22885779cec7bbbdcfe708fe58d9fb19b6194b674766b755b14ac4780bf25bd0411363b64fef492f2251d7ff82a4b6efeb12b1ca44f25bb9745bc22d076105ec58474fbcb1e631524294c99c77219d6f63ba1ae9b44e9471d274054dce068fba225bc6d4ebd39e2fa19137d06209da81377d71b901a0ac14451d93f5992116c0aedd547ed82d20b6e5b4a9631a8f2f009695fd0001d0b234fd9ae36e6bf5fc70592c7eebc6bdb96457fe87323ccb4a03322d7966e90ad0bc8306f5a5ce80dbc2cff08b9fb364f7f12b13b7b482b5746120a41b6b5e3e6312c2c4cf9521f407eda40e56a6ee3ac55619427b0c6e9300c7f51af06651aabfc701b2bb4cfe5db40216d62781f1d48be8002489f9f7ce35492fccbaf3e2bbb43f4e47d164c16c6a680549ba8dfe10193dd3fa46a6d3b31184b81c91803ec0c8b9c3cb1306cbd7991f25018b2fbf629a145d17e9a547fe51e5915b934f6a70fe424214419c6c39ef5908a7e4f80eb5607f2ddb77a7ccb747d267aa522bd6e9b0ad777451594017d3f663807b7caab700913177f86c7816385b864bb7fcd120376fcacf4f4e66976e2552f1d1806d596d08ad16344f90254c776e7345a9ee3afd00011178aaab6677948d54a51ddfad654326a1fae850457e2982f0bbb980ced4480d9055dbe2f85759137954ca61cf45c3268060d50764d2f0e7358d4e0214f439ec15c8b4624b71af4ed0002ed5592318108584821d27ecd4950f6ec424a29bed9c35cb9421f337fcb8b1b91f6ff554a86d52b6fa843b0feefd517d468dcfaddacff132807c62e98adcd3f19815eb0df77eabfd307a6378d12a760b1dee154f10e75a2e7f9e64cce2e302512eeec30700b9270f94e1c3c33c846895b790c29128450602bcebf8eb5415955536debcbc35b28d21466652f26590993bed4b565a2ad6a1863d03146f5dbdc47fd98b156eca97971ee23ea05fb3683b636b548b31f8b621810045ca3cdfc60cf050f2db90f13d3ecc488245a6eaca44dd204b61853e80c100fd00013feecfe67c4a34d5e4c892a158b4154838638ce8a36d16ed3cfe40d7412b26117a493bfd2a22ff5c3c45e76e5b8eed9d44fb0a6520b139eb51e8d52c54072b1837eeaac50c99a6bcd179ca9d7e6b13ad857e1d15767d4f8f6f2831d63c8ac765d00e2f69a4ee8ce9a2b7192b45f4993ff8dea8ccab94a0ed56a30f9fa9b439c44bb9aebb3b446e64ab09425b0d8894d4e1b9601980744b5d3d96fcce6a9a8091d8e2b453855b18a24cc3d9d4915b359e19ef41d1c965b60d862f8b58ff560c62704e888cfa25a13258068d80c12724e6f6793e017cb8cc9b062f963108c1d7d641f6812754e07850ee03a155cceb2fbdff4df5ce7ad7e9a489cff9c34ef828f0fd0001eacda76de875e98492b78f88cbebc9ee9c46c5e83ccf92ff95dc97492b092b614dd2228fef79a7f4e7ed080eaced410ce5d573befedf5941b6ec12c7f59426570bf906a07b39484d47cad95cf5c2f22ed3f3efc4c745254195c161e69fedddab34846dc4009f9ab400bc0e00fbd5ad1617e8179832ec5154de62f9c1df51bdf45fee4ac8e3ca3366b3c226e68393e91c152826825ffc6a88343780ccb686d7bc562698dc9d677d192fca7d94aa78565c2c35b44e7acbab1a4d5152c8b7f68f7695b26465d8bd8e17f4307ab1d58a945c99c1977389998c95a7d9ef69761e426ad10aad8b48471a302a72773bdb259165528a2ce44891797efd41629450f9ad92217428f011f06bd2b636bacb27034b146a0a294a60ad21ebb7bb513064f18954ac00205736abc6572b085fe6f33cc39f2f8f6420c26923c84f6d2b35b8a90d612f6634fd00010a31c9a8a9cb5f7cfc3ee6aef920256f5b553814e5e4d023756f6d9a9c839a04864c219daccd860b116f94392ca5d93887d5fa4775a08e0918f6a21e67a0d854a25b3acd4587965ddf8ada199f1f513579f368ec111de735e8fc264f685c8b1723657ee86bc6c04e8c74a825fbfa72f70bf2e03823f3006c9e37b10bca76c51f84ca68201ed2feb84f448fce52969387106d4614d77ceaa68c806f24967b91e32ebdcee1d8141882c27737fcdb831ac222d5670438864a4fceeb63f28d4eabf23913a4e8a6ea50a1578edcc6f37336b096a228e29fbdda41970727821bc503dc76feac334ec52475e92837e6241483bdf2ad1e460d6f24d6fdd58cb0214d8bcddcaa6fa84c8f6869326556204033b7b2f281f3ed7f827e827190ce22fa7dc6a6e2c72515bc186d952b9763f90d9e2d82496f201d47791fc8dc13360289bf03522aaf1523999d85c68ba124ad0d4e0e862caa69d5479d13e56d2c935843079229b1ab6916d2395ed7f406589809b59a807d8f20cd8e4b16ce8f27638c98cb0aa6fae6e4634b2045a43a8f8a678d5e83defd42efd6ab2a012449066f89368f4a9ca6a005f2be6e4e1ec669bd549298384e0ce3bba032e95e4077995189a1c0160a227602bbc6a2523a8a5c24cb8bb8196223bd6aa0736b1bac5686f7b77427d77cfd821aebcb7f90fe6833ea4f897d162a972611736395a443b9dd88bc59679655799f01e224b50658ccd8a1c619d1b164e23ae6403b4b7494a276229a2eda5b4f87c5155419d2375fa6becc96577dd51f6822c3a28e690e1ebc5ecb50f0bab13f88c9ab039268378562ce58c657f98fceb6949d6985d29efba209759f26ef727d0ce49e90b13df1c7596b51ae6b2bb6bc7bb155a57ae4cea4660ff6dbd1ab8f53150b1a12883683b0327e5c6c101ca4ca36abd3543025525970341d8fb77d6d66d12d58d15992657cce7c9ea048c127542e8bda85921a091447aaf4549f12454b9c15c07eb611efc772f67db3785ca178e3ba95cfb32ac921aecb968f6b158404233b972d4a01e2e1d475f97c77e32d0933bf3df774a058727555f60ed55d70b12ac8cc7ed4bfde70b40843c0dad251135522f2f53dfdb9d3781b7ef4b65e6396b5295102c50a75ae3adf9a21a62940014ae071d71ceb6dc54b5af0757f2f9a842db4905e6f23ddb8693afa1f47f19288e3ffa0706ec694c9c95f8cecc7f5f94c91772edfb8aebb5df45eb90f6b1ed6bff041e52da0a44100bfc2a899044786dc8878f4b1083e6e6eeba11c1e380ee0962d2f71f9816e5cd2792484aaac0febcfe9c39361155587a972f671b3a18c8573c8e22409b21123d7ce466ebfd5d9360860f1c62216f55f000121cad79e03f331b64431e106a2ee3703328798e7159cffe4ed018d4a43e03f07b00002210271aeafe4010ca9f47a1a77e6d8315e5d461abf6a5a98e42808461874d0ecfc7946304402207e4462385c966cfa4e3b449274eb3b307864cc1465135ccde3c4ab2904ef05f50220554f70b2f8efc23711ae49326845c88fc46a61db94758f3e56e42263d559c38b0188130000060000000000000000000088526a7400000086c10280004c802d846b3d81fa75a8ba928ed3298b5fcb86db7ea1d41f51771bac32115df56487e13622fa3b97966efebabb686f9e8ffb06ebb095a34dd4b466e2386243c8fc1c89e6d119b45210cd455ccefacd585718ee41e7f5dc4ebc094ff4159cb853c68f126ffe1660a3f78765c8329c92de9856d81a2b7dcb82586e39579c85b4fe470600e1f5050000000086c10280004c807f4393bd8a14044d1e78209141398565f3c1256cb1170071067de8f0888c4247cc5909f27a53092e4ce222b48e80d3fd848adab69fe99b1013f866f81f8bc164d51ecc306c46a553038c1e141aaab7c28b99ae115c7df0608baa4a0885c62f25d16ec86eadafaca43ee44019b5a463e66a103b5843146980a2743fdfcc8c470700e1f5050000000086c10280004c801f45d5ef5c8168df5ed45b78ef20082413709b769822559b0c968b88eb4f5ea45e27fe15ee7ad46e6a9e88a09524dfab0bed535200f2c7bad51c603ca9ccc0976b46d030aa4dece1b4f1511a66104176faa07734f7cabd186b1c1983cf54a1b944c937e2966a590990c0e716030ccfe96395f8b609941825ad63a0729a34e65700e1f5050000000086c10280004c803519a827bd9560ad0f975da208a8c6561a2b7a5af12aedaeab1e675d4719a38e12069be238e79e349622dc97b1c31e782d260c9e40cde7b1fcbe0daf44a2daa891664218ecb7fd5382d1a37de1f6e734e0b4b0ca55f5206e21f07ba425749bca2d52b74415b07b0ed0e11d0a98215db1253bd887e618cd800e267c7c98af865900c2eb0b000000001976a91428abac0e87f2d5dcbfe2f2c136de2e6ac64db1cd88ac0000000001000000010000000000000000000000000000000000000000000000000000000000000000fffffffffd8a55c2028655e8030000dc8ce67bfe1851477371a9ac40b6ae0cb8571f6e2d5285855288f6079f1ce7239ee8c85f465b1820058b79554f41af297e9caf95ce0084b7c35dea0b95e15a2fb9f8e62c5427c1c36120cbc1fc11ff344909079335209c6b84b45a9211cac960f64e9432ba5eb6e4ecb2068223dfe3d85b345da17bf374f9140c9577c148bcc431c9ec3c7d13bd2363dba821381ed9fa0614416261e88330b3e74c40e6561310eab3f26f092e72f3cab761f373d02680dfb52937bd9515be242f6573754f8f665523cce3bd606c8ad190954f8181577fd0efe7cc64b711d03774958df4a5211e44870302056557777951d7ff8c002161a6a59e979f05469cb31770bd484be6525625359979220eb7e9912e835065fb00fd000216aefbae3525166510814d1636b76b0d48ea3cd54a3a17b136a84340989d75f74ff952966830e4c0d59daa006d5a7190978270ee9475a0778afaf002cdce7efdbfad630f72838b5c4a3b538ba61b94bbd9e353437a50725af5f16fbcbf36bb34e7da54e5c24dfc90b545f95c973877bfadc2703ee10585a1fc1c97d7377bf41c9cbcd5a313849a3c826e7c1301083694e6dc05f46899a901ab4a8d7f6b3600df280157fbef6eca4c28fc610957a42a9acf7c4d7f9846ab6b9b04fa6abb5fefc168d45f10078b97d4d6a39638588a1c19e1bfc472657861a902c2d52cd32fb0463746f649ae88bc0602dbf35816fbccf91dc249be809160cbc7f8b6702d6cc5b81fdebd283231f40758afc899f6fecedc51dc4e5d09cb8961092220541f75ddad45680ea92b4ee78c29f58c197a68420bbb25b450c72d02d7249f7facf9927378620eb36fbf9b4ccbcb55627eb9cf905b4a4c65fcb77a537f642f10901b6e94afa37e4afb0d6d91194454a9c2dd8ef8fe4316f8594c7822a7d58cab09657cf501da5be5a44f947bb957b71e4291a7fc60cd5cef9f0676f7c89123c7ff1ae2e6dc001b6f19785534e207fed2bade8597541b13714284f67d6986bc616ef1b0adbe415242fee85acbf482a6a48b3f142ef7ddb5dd1c97a4b0c53c6ac7aceb8c042d9c9ada1bc986b8c276d07fbf8512a3dae6a357fc02b167eb85000040e8693e45fd000200e23abd27b258f9827ed58545a507bd465e255e1156610da314bf7df68b6b55129df84c7b19e362751ebb9beba10790c9c26c5ddc7f087258d81b006c0d2e92be0178bf5edf6e78e89f73cd97746afbb2551dbc97eafe32ae62e7f9ebcd14ad69faf74d2011d16f2c50775f4f499c87c3c50d9d5d486394c2a7f462675d2a4885493332e0610a78fc0c8b08eda42e4bfe93b8c7f80a911a7992a1deb7cca2e40933e1559815688d4e5ae5e58d706bc513e5108449a8393928b5b77ae73cb03fe212c6375b6c5e61fce9db16360a147e7f7fcd49e05a99711d4d5799be77f7e39d9d1397388d6680d4931b48798ce013256a586781ba80168bae63bed4d150b64a73f7d0ab0c9ebb42f5d4db40eeee303783249af4bbf334c660f8c084ed9a2e5fff8be230940a4a08b59418676ef005192365e4e67757288791ce4992b903a31537596cf6dad0be2af2418a6b9cc2c33e99d874168f6a29df189a869b16eb5d24400ab30e4eca9274114d646aaaa8bad45832b6c0ded2bfa698939a8af9d0af380d2afc58966afe0f45483ecad0f114b904cc2fafcf470dd4fb8f193795e8afc3243b4c946d5eac82babac6feaf4ff10bf53acdf8347fb9fb7a5ac4efcf160f0a7ef3576f439404a3078ea092f46f408a955c965344023d847fad7374cf145cadbc8348eeb2c5aa999ebeeb8a5548bb14e0092b184caee354020c19d66cb213fd0002729bdb186c4c494e17fd6effe29cbe7fbc539caca738d54f9ffc6e52a35a27da134192e2f7f4ee2a86af281b78670e662677e97a1ef008f10f42349fa83bf7841d88b1a457d38164a383ae9c6b974137d58216f22d135d30b9d6e7a74952a7e905f385141f4df088415d704cc3b03b2cd600cb5507f8ea1b53fc0e73031a3946c0d6269f020c9c26a3be3bfdcd37f8d3b9fd42538ebd72029fa0bd8eb57a4fe6769e1b43b5d5d7be311e12e52ee9dad67aa988dedc80ad616d7540381993d9de91a7fac6d08e4414254b9d1d72940fec032833a6b1a5605f4b62c47a86d70dbec5ec913d0a613d438cad385fedf24566bf79edd17238e55421520b95772224623f145100e663b2ba20161784f688afcf07a900ade1d48060d21be9ba9297697891c2584cb99a44868efbdf65178592ecfbadc92f4883662d6b21b7f266eb21815c7401b8e7da061e3258dd685f8cf65f2c2e407c913f85d053b05f6f92ed1299186632ddcf175ccbbc933044bdac5e10916917dea1146f77a8ba4b4fc8ce260b5deed395ecae9b81baa6b385fecca5d2982041c131ce02a1dec517ad2d459434aa3a514e7a4c6c1362401b1ab62b4c89bd7705d5072e0be5250c60c2fdd946bc73050d3b8bcfaa73165eee3660063f279e824d1e15f87307a40bc9e1ccc0f7d7087ba84fe9275742455241b61d3687d23eb9d7a9cc18072ed8be1492db46a454464090750eb0a393499a73d23f4c552ec6ae425a77f97d4285a7f287066b2198bfaa99073da6f4009755e59838e48cd5fe692962b87da3ea7e14b34b352fb2a4673eaaaa594a094610bd0cc566acafc21891b7b0c2470bbb338f579231e01c064f275c5ac9c2748cc50e7f2e36f2768d2a59c22d14b6b9a431f7772e716731c55ccbf086187fb15bd07a5af3040d468d4088ba9e6383f1df6dead9384758f2da81ee96370d9055ce5a0db56bbdccb57ab490f42a01e083b61c5157b3c00e2011dda865c7294cdfd2be5c03a1a36a4deda9cf03b500fd0101b3c97046a717a2f38fe2265185f4411cc68cce6cf9885a7a8fe6292eb9e3eca69fb6249774a8c82b888d22d5fcdd549846c3ebcf054c6bf07aa4d6b1c0d4d9bd8e16501f65373ceda249e9c760848fc86ea92fae7142d211c8bb4a287c91eb08cef7678ef1f445f76f81d464eb1d29ce5c6d6286d73d49cd0ef03b65376eb146a3ff69a487ec90b53c11cce613a586f22cd56fd34df6f7ad64fa3c68a6ae5c9dad99d4a3d2b0974ea1f627be4f0153c7b5fe472d0c562556c4d8d1c7c592bea45bb7886b74f8639f9487b2f6aebf4848b5718f2ce65b8f5a4efcf140e2857bc9c503f0058f9b6af16e75f2d530fbba8979f81569e6cc0bc04a54e30de4e03a9300fd00019b881d73a78b86771d41c0c2a9ebdb3899727f33d2d4d81dd27b6a00b4c7db265999b8442800750abde7cd97be0c691ed06b5d40da115546d90d4803e82c61d43eb5e2bc684adcf180be47660870921fdedb2ce43f33564541fc0debe175c6c49bdfb51378902dc709594b9b7d34d0af70b67c3c608aeb5185e78c1c39cc3080b71a36115f623a07a4e1a3e1f3e17b6f9f695f1a1acd9dd1319d0a0d67b337e64f720e5168c09196244bc71b083f302e042be19b6aa1f8ad61755f4883c3a1ae615252b884ca3cca5e18a023ad6725f08f9e0ffd60e7a73ccd29afc910d60dc99c06f5953c3e398ef615fca45f6a83f8a0be653d31a7e1a1666cc7334d9cad51fd00016f7efa38c8f9f478a6ea1217d8be9b7f0b01c5d1fa483c26e403eb3a4875aeebbd0e7eb8aab8472a5bd80e8be38df13526042952f813b71f8aeb4a2281bfe5e5d9ba70f7e4c9f477706da922899f505dd172e260ce5f008b59c0590d498ac50810e9a38d35f1a2ea4e9ce8f77e46d0b5604dbf94629cfb8b65453a0295eeca9d992365309b7956481a8c5080510a09183bd3358fb26933e15c83fe2ca6d186e631d72889a09464f5dafdc8a93dd100329071e52beb522bef1af0fbae0516ad3b02011e19a2b2924791b3f22679b78039c8356c0e6676e2451487f056d0cff064f55a992afba08f59af7606a809394772ff85c4c40673dd54eb30020c6a5cde3cfd0001ecbc47845e4a1f3c05c4e9d0a47e5e8996326f48d7ee1bd0e432c5f33fecf8a94feaf03f2da65525bbcb119c7928456c28f31c183a21af1acfcd9615669cf47a077f861f694bfc1831f1a71ab66540906c62b85274f63abcc53a37e3fccdc8563ca2153818b6b796473848d765d1c81d4e6f78ef8fce804184e04664c5c6af7c3abe4d92aac3f6ea99b84a3e53a7bf7679c26dc96804ac9e1443b054e3c55fe89315106a14646d06b84122861ac0ac27fe64fbee3c9807b0264a90eb9602187f4df2cc0c62b025ba70bbb30a7e43d533f32546d2e6f97537bc2d623a7f545676a37cb511614037d77fe21a35ce4a2275e7ea1d85b7bc19e477c61033f5effe7fa5d8ff48e2873845157b7a29718e6692704a9d864301fa254798555172c6277cce4ed5aebdff9c27a1bb37071677c16da15d6c1547c5b708e1988eba68befff1f1743342ad7cb89ec8731b567198953d965ef6e395d38b410a326ef3e262937c763179f22a076d17f848dc4e36be38d838d5788f121d771f23209a0d50fb3d016c5cbc47cec31069f7d22bd78691662d8b609932b9533bf828e213e5ed4e61f2b80f05acbc00fda0017bdc59c8a6a23d261cdf1dd10e91523503c3375a803755c29b6a84bac626708b7db937ed39f4053b5c6376b3988fc9388cc64dc07466c67704a32b703d5dd86d8fb8597cc2ff7ca190044c66638028855f29fdf2a0943c64125e3ad2487de6928bc34088957eb32d843613e6b588a91cbfd8c37c24ba655739cefdb203bc3061ff93498160c7e949823b0947c68b6c51dcdf038c538f50413266680ee23817ed9cb840e0094f6fd2277012aa2c6f82b086242e6332a4e00bb9c12c153dfea9340e681e63d72551f8830b2bb2587e5937685252928894bf90bfa174f62bf7ccd43415a094bb4142fcfe639c62f6eda0e4d7ee033f49f51eaa6a35b0f7f400992d8367a275e9d018a547430083c41a35ef543bb92e159efad39c5b84d127bc68dd581c308afd5f81654ffcdb3317dd6e21d5251916214e873c83b6ac197dbac6c1b93d79b9dd5da090be204b9765fdcf662c9296295610e42a0570a1503dd67c44e17936946f3a6ce61f82b13cf00a0b47d06f2cd28651b6af32ffc58304593d5ce81159ccc952ed980f93182fb468ebccadae4dab4565d64a5bcb3aec7a09d681fd24016a4905a3a143e4d61b16898fddbb0f9d7602ce865716b62ae4f9a37e2f6ab89de930e066db6f4a8667ccc4e79e7ac760642c33e5f24266540c9b4fbadda4c0aa1b6a74d02bdf2324ebf9598d8ba918438de1e3343be0b057925bdd52304581ef621fd085dc55cf8b45d605cb0b60047bfa935c2968d554753a615e75f24086b4e40508ecdeb411ed26c007a1110f3e73f504d7fdefb275cbb59cf9cd68bf4784b8845467fac90275f3bbcc2c14a87fbbd7d111441d6ba0833b9045db43975317aee170242b291f8b07254d395472bd4b67db7576bcf2460bf0c182f745a6cbbec3f680b7c6e0a85308bc3af8af3302355757a77a2fe3f98350e4ea1b3074e37a638c630d529141843583ba4b802e089e0a7ecaeeeb42079e072e64fa5251782cbc67ba9d46e4c7f502d44a06e5212d09f4dc5bef1f1dfc376d4a042f608b860971c44caeb3735cd57e19401314af06a73180918af7693ec5204b3f858806e6919af05a1a8c6daea2ee3f08fd2401c082f09f7042a7a0b6b484287050a15f5d8c1011c200d42eb51aff5a484fe1de9feaa264ed3022b6f5b1b54a4a316d3d7e2635210ad83e2d3c497bed46f417ed22804682529b034925dc785a2d74361d1db395d1681d71bc1b0635908ec3e92f850577f35912fe5c173402e6e2ed8003c64a57bb65a2013014a3ce14ccc725f733a50457a696396cac0a551cdda03a2ec81597031feaddd801a9bceaeb5f862a4cdb3eda06dc317a96b29c27d78dd977cc6f25d62bb967814fd1d7e87c675042522c904fadf1cff80289374de8f98df511de975011d877058aa7ea9cdf186ccfa5cfa5258e581ee7ee73e16dcfaa82f079a16c95e6ca4f49c037b2423c12006b549a0b80c5dc9b93685fd2a4bda99e5aea74eafe9d28149e94adc538198d459c7a9a45a1fd24011c69aaa26aa94954fb7dfae2d63eac286b4979e7d513eac8144a7bccc34fb298b7c556a82e7450bf590f1ae658c474ac7c12b3fccaec877b6bdd11fd9655a27b7b69b922b1629a24a8d7f81a6827dd22cbab62d121f5cf96d59be904022360c5bf04d2435c52541ea4d7f932e19fc471a0afb38f2e84668d974c57c963346d790a670a699ff53b5557def1ce9650a8624bb2065f9ce99d6b5361a1b39629040fc897a5d0a07816618840f86601508e90198de64d7091a8bda406009948fa9ebbf2f56adc66e057ab23152504438062867c4237ce2b99c020add16bf66a0c06a072c4fabd9b9fd1146b73366535d934328188798ccc18ad37d30e06a39b8e14468d32820d912359323b7d474dbf507e894a448a4e921f70d1fb4d4ac03b178ae157814004fda0015c202cbc492bde212955236761fcad7de9ec8932946b5352f6c35a242d39b354a1f96a706bcb84174a5b11a7e51cf0adeec9c1e5c88a3f8f32ca81977db668650734398e6feb45cbe0ed5c5d8f77cfa67b78f8c7c856629e6731321126d12ebe70603fe28d4281f5c9165e60749bc8688d7ff3cd509d958dcd1ac7b068a3548af0a3e20b984bf4406a6c6d55c674bc83240757e3a0515bbb626b6b6b863fa7029c5043d67ebcd531601d39b8b6b7e507a176216a264fb80f574d7a6a587d5ebba7c355007630fc49127368f6b672bd12fba956db75f189bd438f5034badc04d396b04a021608a7888434eefffd082efb0c3196698d1b015b42eb6f5a2123c085d37841c0cd6c7a1d77c55d61d76426758cdadcad3d7b1037b5d94c29962d4fe218c9f98c89ecdd9a50a48bc534bc167d536e11906bf594876aea01683269255701b705ac454b250abd45d10f4f8b881c6f4a360014b450132d750099100e15c70ef65ab0eeea340604f3c7b3eb3c51292036a6cc2843989ea418631fb595ca9d7e23a88a3a7d0a8dd5ec1212fc786dcf7107214d5c4d3f2cffffe2b1fbef09816033fdb616b9318b80b32f045ec1bec678dd1500480154ccdd87365d602f0126b57015784abee6fdb9b7f22ba135cb882dfa738baa17233fa53c68d35e4102f185c07a1310b710ff2d63db7238d36487ab504e64e239d0641137cd75cb282e831621f101663efb2f9de2520049c0d08a7c965477fef9d575ba31e101faaea20f96e40046132cd3aa981e8f360cb6a9bac68844d07c7d1741e56b104f634fa1a0c31d64ca4526de4f1754effc40aa04b9dfdb6f53ef77540d66fc9d0a4058fb46518433a1467a71873a03600b47c81e0d452cc44728e3a625235c84f7f62d753faf91fdfa1aea056925168616516e5c4357a7e82c94127fe8a4626c868bb7bcc13a0422e15e31c82935a4e1b9cac496bb456d1318e2e3e704627f1dbe646f5f1590283833193cb03f28e00f5020fbd43c5fdc39fd35498cf4fb7471417e814974331500d8e4ec8af34af39b457d20843d897d0e015456600325ef702c1bdfa7bbb3f2e7a74dcd8fd77beb3df4022320108d0f48a7a9b2a32e1587eb01094e20cb7c002d3de08f481a1d7cdc6b3f9c7c20185bc7ee65a12aa6003a58b83aa90d90baef64c7d324c662ea5138fbb4bd063720f8f9111e20def54a90755537e44fd506737cf1fcc4d0b320bef16eedbd750f8b2002e3af2f477e9d2912e50e4f03e43742c19e6e94c1ccf84ab04f0eff342bfc1020a544d7e745fa08a740418aa6da398bf10870a860427dcdbb857b6b41cec8e1342059eabb84637e61530039918cca60b860ef24c0df9e586b7ee9ce89336d5f1f7a210f0385ce2ad9f83a8534ab0325a42495a9cc4cd4774c9e8910bbf4e7192c2e98001fc3aae0957bc822f2aca9be874e1493a0dbad2ceaf959996060a2bc1781c23520cd178b0cfdcaa92929b9daef0c4dc752225792454327bc351b63765208972820203954fb6c5f5fa020f757c1bac415fec7e1bad3b7c19a93ba5ba53dc12f5ffc6720e7572f4709fdb74cdf2dbbf50a7bec9c10ee302cc2c5dd878bd109d1c87bfe3e20883ea4bb25deffe4bed0029e066230311cd71a4beafa608d43d615652cf9c146204c98a01cfce1f0ab321105b2f2659d375f691e2f6cd9eb821adc512718acdd6120d5f64f7950ad04508b36baeadb52228ed3a1139512125834c1f449b2a9613d67204550d2bb9a9333d567b6c2ab154f1fb4bde51d4b5c50307989ed07100095485720109b0b89090c8a2fb0c51f3f9ca1eab0e36b4d9200396e7958523e57b705d11b209195a60cb9f034fced26b3336b0c49872fa13d56cc410f59463e4f312c93423d20f52bbd6ff9d724752b5ecdb148a47e86c1378111d76e77a2f4434816e325c62920510cf87382f2a4c1417203c4e17511170ac616fca2caa49b521dd721a8183f1120ee7ab5b0de3332ec1fb81c2d5baaf0509eda6de26147b081866c2a9aaa3435882011ce790ec01637ff533a68dfd8fa22733bd7e4fefe18a5796e9bfaf996adf54b20509ea869f679c1ae8b074619487fedad28874cf9c93d01003e9dd0df2f45b66b20380577ba031eb78adb2c71bedc8154056b157ae0d01203c19d7df420a424f71521d04f8ed62e7175b7e70d7f92dafff586e5a60be02901f9f67e97374bcecfe7830020c6be51acd068843922b23415a1c7b39f4846da7584a496483a36612dc295968c204e43611bdc897913427fae390deb145024077c5808238d960f93c62a62f70e6520e2f6ace6ca1e8b6b73dc2fc3c43f3d1e740f1c663e3e0ff9415b2d282e1d377420bf6b145630d553e8c6e40d84626f01964e3d6befc33ac284263ee2c35d76003721a9d895ebe788be0a6988027ae6b33a26bee33016d8f4b64255f320d34deba4900020c8bbe181b5482c9352b9d607eed48dde4a2759d765bc2da53cbc1c03d68da30a20818a0a41e03fcaf75f38766bfa81738f0c8ec2fabed7142e998e7b55e014300120b61bcde758db04bc126bc67a1c87b9fb4f8eb2c3958b9e4106306508e2b22c5220cec0548ab3977bd4bbc802483f0c2ce3b1d6dae43bc0f8c79167e4a76ee6f7522007f74fab71a89f6b94bdc8b5128de93ef2be214d04fbb8ac8c2832e1f2ea6371213c26fe406e69b2060b60c6d0eb7759fe85f19cb2288344239f2a398f04b2b8900020689efa2cc2baa15ce24852b1f71d08200fb1f2ab8e10be0c4db8c8263a85032220b1f2737db4e6e55370ce004319e7c5e137f3567bc4d5603e4ed1f5c636db6a6b206dc3dc994eb2ed126f1a76892117b18b24028dce73ab6d35924ec69df9bc361121fb6e92175d959528d8326cafddb4ee94fb9ffc2d9c8a413898f14cec99d4299a0020349eb2d5c10d69df3bfc41f99d6cafff21ce69323637565e1cefa60173ad0d78201818225053a5e2d51745c5002281935d4dca8ad82ff76c5ca2dee6be84fb767021e8d31f169295ce6052584692ed9e4da87e637ca0b52455f216d5036c55d45c85002100c51c6bcf08c0a3926b2be93b47d0ed8955386d369ab8d6849957efb23904a20020b4b64e35cfcbde2461db3ce57292361aa30d136b0e7bbc766f4aa3ab4a72b66821e802f9eb8168e002b64b2b7ccdaba46e73e5c422dda18311788b19eec7af5782002062e41e97d6c8f4c6ac4c0f978f6f8488c92a51eb5793ad109abee4d6c009256920009f7f1755459578897b027bc2b282466aa1d3b9b0983fe4cdf51c9090548d5120760bc9a32ab7facf7f3c1d1aea1b6cab28bb65276e269472cb24ded949256c0121ea8ed0306eb39aeefdd4f57e98d25cef9ee6288a915cc96207ddff402bc2fe81002138caf88bb834204209e39e6c9430ceda0294f1253f8be81917370a34eb28149200203aa2e1582961cbf9b22333ed51aa4512dddeb3cef2e4fdc3644dfa5145366618203a0ac51cf2e1a98ea343e9ca5fbead275516bc20e9bc421e967be939026677682164c2810712d79c82e75116a7e173af1208478e8ab6763c7ee58551b4f323f78200209943e959b9228e61e5def9b2ea18de1688565a2c49dd98f1c0a7d43e81a6800820c4ab26007fa076e1ecd22f104a860f10b22b1ce2ad1229eaa2cf204815f7246e204090f4ac3d42b2793d83aa79103e0d0488ae1297109a6f47bcb29d8c8b6d383d2058ceed8e9f61bca997b4fef220feba451f5401ff7186d1348aab81d7951b5e1d2014994a638981db8c53c2a364c744009050975bfc23fe7bcfc5c8c36b3df0bc2120e26863332f579b931156f0559025f7f96a4d72a9fd108fbfd5c29a71b13df72520e84680238c100c359efc6bfbb7e97d3ddd4d1d24ef3fe8a5208a714580e9aa552108c2aed76de2cc32cfd4d0fa02eea4be069e74da620ba09461e63b5127cf9d8e0020626acd1bbc9c821f30e5ad5b682272cc4b87a9e05323357a367e170ebdae283c20ff8a87793a1dd9996598d50333ace7856916b2add797fb4cd7cb7fdf24245a642165e43a1aa272317475fddbb370cb547766ee44842ab25d83cef370304213eb8b002121565e2ca6c09a263cfcd17fed20fb6aa06e1e798276a5f0ca8cc16dfc5c309600203e8034276a6f2379f8374e8fbc709a692b2dfdf271c0726c4f890282a40eec2920fa335f7d0543267026ecca4424d15cd07755568dc93c6557f850031098fa55572036cea7284ab1abcbe3c7a83ea779392fec2fd8c1524f95c5bb481c67e300600521444c7d18c458aa1e62e5efc656b27d6396c2fc9299befe67e3eef807711f948c0020829cf5a6319d4467027f9057dfa46e1de952a01233e068f7fd18cdadf9a3534820b622a3b592686cde240a056840080c5116582bf166f4655ace84b34145a78b0520fddc9480245d4ac36034ada99a182ada449373ea0fe16557c3c6d9d55b21942720e59aec0bc8b52c1ea0179ef1bece2bf3275164c8b14ef9528a1335dbe13def6620af95305f745778a84f8405956a82816f366957d31e74af5509ff0b7f7dee737221424e7838cbff036afc7e59ba67c6add560e242a1772ff069a31e5e320c08428e0020f4855f5217b4a20c250b75c69d494ec450321911f9d7841e489d43b3739eca792010f35a5fc740eccaa7fa007f33b028089dbb8bf539f560df19627d5bdba6fe3f213c35de64e6b2d64bdb6ba246a5c9b6a91047e35240db65c383a1be9210b7838c0050fd000184213201216f3c4d446f38e3733348efdc4a4dfd79febf41f03567e0ec2b5a8acb93639951dc506d8649ca6d1926a25b4f19549d2b3700cff07c100c47c456ae23df2e60e27f8822c427e2de12038e00293de92621bc4a27d104803e48d076e3ffcf8c31f549fe9f95c6b9233be396cbd3c557efdfca11fdd91397e52f35d6b3a2130fd46ae505dc66bc987d8e93689d41be09a1df024af243b843e18f298de218ab87e557c782bd20648dc4fd4a5e654f1e9fa59626663adb179f51fec2f5534f2f4929ceaccd34d6928ca3d42fcc5efa32490428abc3296147147eabffda85ec2be06be4512448aabe1829d0219902fe1e9cd2bef29a8f89ed8eb1966b89bffd00015e46cc825850532b9bd9d584441772b3963c554af1424ffa9ccc7d7de55dbef9456a3fbf7b4be985d185eb898e166ba646daa12cca359ea77bb7a59e45e8a6cf2708c16b5ccacb708839eef2ee4b5b6597ba3c5899c9f5214bdace3a521fe36cd39b77952d1bcc81f9e5edfae34f1cce40369b7ee492701351d34e231af8a3768cc158a796e900d0cac462f5204da5cde3abcf561ad60f91fc8951e4fb37166ce37261649f840aa51e6ff9be749d72f1f5b5ae3349f14d572860dcf36aa4655788b8cf5108dff7a4e231d2e2a3bec0a159a1e16c9bb38c4052439f2b6b1a62addf739772a1d51057c89751f7518a3b1cd7b37c4ff7d621a54bca5b3936b137c3fd0001b4a09bfe02e11668f8f6204cb9ffa9817ec412c820b6b394ce2cc3a12546ebc5052ec1c74876f3de8fa22e19158198cd04c1336a792ea47e63c2bf4e85dbe7460501606c97409a906dae4e7ad84517a7955793365ca4f49b5f6829efe61f52069fa19cb30ce0a74d415898e7e134ed8c4106cc9d6be32577e9a024b9dfd8129cb5efb1ef282802fe0066aa41e587ac9ee20d6416010e1b0772a44b6d6d1eb4ddb32b80b288952b26323bbec16614c227e4599cf721484443f56571c7b048e58fe48b1786c44e4979e105196eb9b5803795b8aa3d3e3a8f85e10abeb0f7b43b9a62dbd0905af620309ef74f281f39b241c4b4c109ca7e0ec55b13eef8ee0544c820b833fcfd65b4a897458cb9aa376c6bdccf1032e099598452130bd38d28096322fd0001b6c9b1d3d60a49cdf61f9031694f9f790a4e0118ae39cce789df472c13bba207d101410af89ba4b2a88cff5eb09e53593bfdc69a4e2706633a45c77a6d8f4baff22c7e5e6b32278dbfe97100271b1fd1e64463fa6a757c4cf4b19954d1d363494664750fcde0f0b6e35f9e0f08f4fb1e438669f78b10e800943840b15541a31c3090437364159681974adba314bcac37e6cb3ec97c3d8e0cd52241a4c162787c199a256599b97e488b8a75a46d2c3d8af1951ddac43b0d338e739deed1ba26a8616f04d124244f365573b602697aab0b427a8f26f1a22de77c563cda13fc03a030817a837c497732c6108eac62102641176f62d5b8e73d0e27e17586d6e2c2c3fd0001ca7e381637425fa77d95f92b8b491ea1398f53d763a6ce32a2b2ff972ab74bd377723dde5302c487fcf7eac93b089457761ca341f143b7c5aeb51b33cf103f2f4ce4c282bc5bb8c7290c2a9dcc82fce3dcd9669f660872f602de46e869fccdd99c85c06d1d7bc9af4e93502e4ffc385b9641df8f21a25a14b8e4cf99cca023da529f8689d86418c37dbe3d4116e08069f3d08b9c952f4e2164dada9e62908d57cc68b264df8fcbfe449c21cae576adb8169a97294a6bbd369a58654cd182c8403080b3a5a916c107d7271311a291841f3e35e065d48f6023ec4118a3a88d417507ae86b6c74e6ced02c768e0f879844e22862c357a9fe22574e30c179e2243e62192455f24a5c214eba9746d2a8f6a47625b53e5e62bcecade179907fccb08e4b200218a8694fa7fa94c9c174c8e1525bb14dd946981e66b1c02178cde818615e3b6910021fca3cbe539842d405545a71cdacd7a795b6f6fd1c1095497ee8ee215d5cb8eca002039f76b8f7067cd9cf8bde783c8ea6edee7638113ec6729093749c2cc0c15d13c2091ecd1eb4b171326a6a26d764e72e09160ff2112e577149bc7c24e6c0907324421cdebc7f780b73aef4358c6f7e5c9a78ee95dce81c4c1bbbf570cde3c43ff5ca00021c6955241d2f09d2e90e33601fc139d0603919a1011ea7ee89f0e5d53727c45a3002037be468901ac92d7c3481ad63d364a93e2daa023bbcfaf4f6fa40cc54974de19209178cde568ebc660a7698cdd7f83d5932364eb8ac144e62cdc045a00ccda5201fd0001a3347a2cd4b1f5337653554be5fea273a5bf0292c0fd60908c6e699802079912372435166baf2f71b35ec0e00a714e9f7c10096d0f39a65f66f220057f369ce7c8221dddd00e90604f9de897ebf9f06afd41814b57350ca2d7ff7e08f60c94dc1aa087b7975936832a7050ae4a14b47b1986e70d61223cdc37dfeabc5e4212a869d953450202c9c12db23f8819faad59252173ac11c54020fd7324b4d39673befd2b585437affe9398e7967772d408c6db860ec512f94d02b0cbe9c9d414bb4be4b08c3a420a549efaedaa6f0aed7c74044785b611b2d65abfa33374748adb690a54c8719131e9dda9d46afc9dd09c8abc498d6de657920642d3d47a55f17fd3fd000189cc7f3247c6ede0becf1ec89f5d92142d25a713e037454409ccd146dc18c58319550275149342c690f00b1e060db34bf6ea34473c661ff9f32a40214a4715bbcea59a9ad6ff976e43b325135ca16377be53be39255f9e45ab4b3652d629a30500f9e37671d56952b215628ef42c1e49046476e9a760041003742751b158aa85c4e95f70e267d2631491c60cf09a174816890a2dcc2f8a38f296389c3ea66a6d577301297c242a6b9ca7465d8282f2e72e7673f9e1f1c8f470949c970854134de397c08c06d5d21fc487b2b9529c901c052e838a087f15b802d081e869cbb311efed66ba31c17c73cce1e0fc32d58d35e54bc5524776ee3f45d7b8f81fdad4d621b95f023b2202f5d7c814aa89c27b5e0bf5cd64b444c711c2e1c4b805af4fd58300208214f56ae87b268fd16d6df77efaa715fccd1fb1e6298c1c4f7a4f18d39c2f75fd00013fddc975fb72a66d5a7f3ba6df9c1ff55c7abb5a8f08317c6b346875e850223d87d72d71d9b17c11bdbe6eca34b521fe98dc8d31bef6fcfacec74e5c4a6c5f00ac769363df4720e17c3b687a42f29e8edbc20184dc9274d8546368e3fd2408bb68dd224b73a1487c10f4e29b0d8b9823f7c73db26ed16baa4c5d75b162cb5a97caff3cc8957072902538e0e698fad2e90b471777c5e8d90e5cd313933c2f3b30e49b6cf7ae7dcc09ab2e5e464601f093973d99c0815c3ea587d1803b4ca1d9bcc2ac20cb818f95d9239fbbe62c3356ba41f7dc9d2232f6221447fc4858bbf11ee382bfc639d9101943d958a59ff9b81007508c0879c4bf16885bcd6eb2383898fd00018ef6741f57def1a55a42b565ebe0451f0208762da626acaf0cbaac6d9bcec14e22c15660c2a0c5a23b27c445ad968a7e6b2daab11463040eb50799858b7a5063965f947234beb0d42fe1c2dc7bdce7fcda3de1bae384b62e798995eba4836dbee41a8a4de269c026018a22687ad77985d049bda1d39b79528b320ad3d22d893c547b4dc4acb57fac4e0603468beafdf54408ddb7d4c5db0cf14162d0d735b3fad10888f0048035481e5713b846761838504a36c1f956b072b46f11c7c6fc86c766c36fc7dfd5068855335b96162d8b299e3cd21060fed730310d7748c3d16f228b0eea1f37f5eee5453e3a19ebe1e60e4f2834d3338bf1887969de57ef02a1bbfd0001b50e09d8212707f0035a46513208bdba63a5d1fd7a7ea88e181d7a3de81b8afb4ea4b0428eff67c04b27372d73896fd9df443aa9b2a42cdb8665271bb1c54833454504dbc80645bc02366dc998d334b2723bbf5ee1e139265c107db84774b4884f26b57818d39d05b47d5bdab25778965a0627a96ec303c743ba57c0d32d0337a6d3dbe982284109eb0a7976221816cf3fa7f2e3cf739f30be83f253564af7f411358d9c5340fa5578120c48b617c088d9a3d0811a575bb1e96b746e25312ff6d87b9705c04a10123c7606b4c5d6658244121310ce3f1d062250b57ee51e35e0d7b787d38206fd9d26c70ef94f337cc7108ae8ffddf5fa314e6c4e5e1538fbb0fd000192fa78c12fea8a45902ac86e2878e8327b5f4c2ad9bec7d6167bc5590df49cbddda4d4d652f6f087f2ddc7a2813aa5b33048adc5f900eb4acd983bc86ea7b89f630b647a9ef42ab1bb6484ebc20989603144912ffd80158aff7e7d40a1a76489afb21f5f711ecc3ba613868a7aac4f28f2cd5440dfd064c4874d4e398a4718e10de8f7055e452271f01b27544af7035aed32259796962035d7bc37ef843cdccfacf969a1659e354ec27efda8756b09c0bf855f4fbf7598273154b3f517303b6169bdbe4ede890a90d3b34c917311027afeaca7dcd27158b04886dfd81803594292cdb3dbb77ad3a8df97df63095fd28c275b956cc61faddf770608b898d74ca9fd000138b1c34ee04d01368d9cd8ec4d70b97633951ada508c031470cb4cfb15a62426276c7442e7679f926e93325e287ab9ed87446c144be02e559dd076c9c5e1d6a6a7de45438076b1bd7b9ff5a821070877c1d9626925c1f47838e56bb6982b54fb9e131741bab5ea38aabbe4003538c454980dc3be9a436283edc32a3de0321f114ad32cf34e860ca36f18d476980910e564af57da498cd16d08af8b4d4696a9962adeb298d7af4c8c4ad9cb911d80a2115e833f0856833232f92f94cc9c3a6a14270f4c30ada671bacc9aa35bcd3c945dacbb01f4556ebac4e52adf8790dd49fa799584d227ab95afd2da9e67e5642a90e54fc8b693a07384577d04cc40861cc9fd00012c7977632367de82810aecc22a1a802a1aeb6ac54a4a79d8e61606a6eb72effe1abd74a0a18ef83709355e77cef5666f16d94c0d710f5ae3973bb26d07c0a436aebca4d156d42952cc8cedca94162225b5b4780cf47a6426757758957dcf2f638ead2312e67e140ee8c380949c0885c68b396517ba122d90a0ed184564bbe67bf1d0115c77857fbb29945ea00d8e809c295295494dc8cca091d900837b60b31a79bacfae59fe638ee8a2208942e27f605c452be3a4a43cf21e8e0f78e7cc20ffd2c546a0bbcc404b415e4eae2c7b9c2f9121bc741a6f8c5c28c9df3e0169cd86809f5e235ce17fb625f913f94b75b360f9097b625a5305040c55a4057dc4a68efd0001d594cafd37d880576656265ebb737602d6f3b9d0feb3147d8c1f6e1514ca64e3ee046bea5e6892d8db9c094198fb3f697ae6fc880075bbd461e9aab7425ac3a7fad84071b170739e7815d0c76d2ae7fefb718ec132b32a842c58cde33605488043aad9c5df6e58401994a38dc50779e348cd18582ca74aaadcce6df39b221d4235a88000eb2e3efed6744abd0b68836d56ff5d9ec973be549d52a195195725caf3b8cb683da9b96868d35727bf4b74dcbee838d9c39a33d15609fde1c2b345974a93c030952f52da7ac20b8c26b340fd9c08f56b97ccce21004af28ebe4946a91682f9738085cdd9a53e160346cfcf396cfb59465d114c600d9571634aa3c880fd00016c714ccc93e995491adb6718e9ef69fb2cc36044d9e6b73130606b9c845dfdc56e9518a120237f58fb6f2546bec6f47ea6a11f3d898baa47682fe3f537542fe9f6d3679398064a48a3ef8abc92e89eea84c6d8ca956b3c40e9b82b2a496bb1230f8789fc7b0befc061468049d416aca3fb41d4272304a728322684f9ca6125b91dea97bbbba8c83045b5ce8b3110d429d65998b3aed570ecfedd176e98a91eb3410cd501ba52d176bd2c8d05e94acc8f352b3cbe12adefb82d34e174765ef1197f8a93fd4e03c98967ddd0332733e5aa0ce87f63aff78a2b44d10ac63c1549d9a9c6808b743e6f785173924d736bc0890f2e68c1df72b0fb1632bd4679e87690fd0001e736a64f64d58af8d43f0980d29ba57dccea56ff13040270c926a2703401b83859a94d6cbf4cd62109053c9e6ddd1cc61ac649ebb1243037adec455891642de8f43b57afe96cb63736e3e7d735bbeec8d1dc2c698f37f0bcd85bd84cc6b7e25eab500c03f1c62ec730c24208e2df2830d32842277d9e5c9416a91217cbdad60d6a77a7127b09e7463354266a1130d1f04de9041f0f83d41246766027700fa9a02d10d2b0fcb0bd534d22ed38278ce177bbc1c429c09030f105a67db70011d3eb24754bbb31f8a6a98bde215f635409e4cb8c3d769efdd7f1561976bd29876c8a11a130cbb8e3fdf15fd9ad0329852dffd794f499345c3fee09eee21997a5c8a021b993d7cea74a8935b42df2d55606a8841b1a4a8fc0321701d5de9bce1dd1bee100fd00016e510cf2b787c67956990655ca7ba97aaea25163317e7ebfbcf2681b29b0b821aedb8f9b2e309d37f660ac7169dc8234a7e7e4d01e79164eb75f28d284c52ea3d7edff718aa96db6b0b6781366ab985d202823130ca53c2a8e5186fc18862348952e967b1a3e3636517c3e3c48d8fe5e4ef1d5e230ab584964c888c61393ee3d6e34c50446b86e68ebfd048ac86065f9a9c4bbfc2474027b612dcafbbb0416f12d3d856a96557529d1144a852ade77f50f600ecf3c0e00296576eb49a0b211baaa815cea78e1b7a56a1c698ff58488378722f58fdb1ab8bb0063654a8de8344041fddd04be1b4b2b1944ce9d1ebda667caf9ca00e5c2de892a9063a449edd8c1fd00017140014f19e2474e1cc4b40a5a8033f3ddfd960ef33c7e35432deabd85a5b2c18a27b85477c9e6fbb2d8a5e6c686078009b1f7868768fbb5f569ae3429fd64e49cb3a62f32fada09059982a03a20494bd2fd2caa75a01b3ecdbc32acbbd648905d56cd2aefc714af1c24bd6e8f06b1ddbb85e9882ddf8f0e67c654402bfe2e0d9ba404bb3da2d58305184949ce513b3784c3234b39d25e0c6df741683750cb46d7856e67a0d45f4839b5305f9965808d41cbcfb2ad3ad18cdba6744eab0148dd0c1d5e687b6e76bdb9408766b57297be6fdbcf9d7e3e6918c194ef32bb776b5ab85f3a6a164baf866d93ecc3acaefbac43a9fa267bc623cc136ad712b00d788efd00016d3db1d97d5d429249f5cd6dc35f61d0b1b44f1e433cd5e01d28afa6cd6718fc1432b77e8eb6418b0a4b6fcc6707cd3d5c6661cf57b3b73b78feae7c89e25eff2ec1d465be91a18b2f3bc4311919f410cfafe8ae8a06b4b947f9b6fd8ac17453c2f558dfd67f71829be66250d40c3aad6e3ff52d1c0c455e7a4f646445405cf1ad45ba65392bb622a770ab0f5a57e73d32d98ee49d73ac7dde7dad9b9c8e1da9d1e6aef0f9cd120bc1d2cbc5ad819190b758be385f2b0dd736184382af8aa419ac7d734881ab4728ea927b6655b7d3faa4a1e14caf6d38cc706a940bff9c9021e4b6c3ce516d0257deda35d2ac4e0423f01ac849b19b919b773a58f34a06c6b1fd0001464885fd950d292d5aaa6155164216521d2113d795d9aff389771e8f39ff3d96afb5e2359fc52aa6d6cbc3921a7a21e6f3fab62e748337e2cd212456e2b2f52dcb352a75902ac6fdcce93dcf027138be788aad5e09490bbce637751cfd5bda9ec540d7daa92eed7b27ff1bf66585fbe3b39db3de9dd386ecd7671f2395522c1c9006908afd04fe68d88194cbbc3216377cfc27c4fce55c8e558ebc4943cbb477a1172aa8b344c08d6fb853e64ff0f986b7f3e7cc3b2c3d8b2abbc43e08eff15787bfd6a9a8f98b207d8e2530c0c37a37ffcec2fecbd726b4b845ff48a44c1ec7031e4e663ec0042663ff81b9a7fe7d599695737511a685148fce0c3eb01513bb20ffe083f86d11f3c552efeba225a93eb8ea756f45c2e49a4dd08467b79a14000220fd4b0ae4d4c5a165ab75af08922366e89721ba7ee52751e0b3e64017787b9445fd0001d0a8ddbc130bbf7bcd20bdbc8728e812a45cdbe602dcea5826f753b94e1220cf698c1212464a17ed846b29db82b1cf5373241d4117b07a8b7d279d4e8511d22c47be22291e9ab56454becf533b771e5e602542d07828952d5ef900e2548739d57cbb6254c667bc50a0f97c11b7f3dc1624111f9d32cb0d85ac4106b41cd6d82db7aea1135334220163c190744b6daefa456f69c331facf9083af360db6f2a2c80c423357c8fd1bc28fcfd42db69d733efa9ecdff9df079bde1b73a63ee74e5af5c75b67a4824a72466e17b501f6057a68efc19627d115f19fbcb48c0e0889857f0d9191db5875ad6d336adfbf7f09989b2aecfe868c2efc2cc64af46d07c44b9fd000151620fcd4091a3d3e78e8a1f1b5ac9ae8bdd3760320ed9bea2e1b237110d7747e9894704336b958fc92eb200f06507cb56a12f202a8b098bcec5b7b6941dccc18d2bd968538185dbfdbb6ea61eaee22aa8ad24d73df0adfcfafaec181fda3626479710bc19835a5aa7a3b9afd8166b89f5aee8d52589059eda61f19f6319335dfac7765a9a9e22cce0fb3236eeba6ce250ea0b7cfc4a021ca3c88859f556dc1137349a7ad5a628bc47267ad91ff86174a2fe74e3ab298ae8917d6a57a916f00b16bc0f3584b12b0d63141a20b1ed54c6551c6dfa5647783dd9acc68ed75044faf6745161c1ee4abcd9969ff9e01f14791de7d0c8e44e77a5b249e2da833ad3bbfd000119884821e74482b639ec1f8484eb6199a01d6e0a3606e25527d7a9fdbdabaad9f378a9aab04a153b1003d520d03f25a9e41c82504ad6de9fa6cda30a3ee1128c35f49d469a79b3c190ab0fab92d9977478c7ddabb6a66f291b58756e040892f44ebf6c8d0ba3cdf5d9335c8b05b0d34a8f4e832c54979274f5d4554af2d05aec3d51a3cbe03282c9c104f664fc39863c3a23396e762a5a8b5ba18b3c84f0f49f8b7cb6f627905a4fec65e5ab41e868561dba5cc8bcaa8c201d613eb678342aaba5e5d44f7ad7a58810129aaea2e6bb9850ef022e54a50b18e5fbbb76b93f050c31d279e66cd51a29c42591b18db05e88283e52070e6eeffd8fa447bce2f22eb921b2e3f53f38bb201511b9e1d5bbf22bf9e23be137543e34d81a0b194f373dbaa600fd00010ef2d9c59966c760260612842d16526b4352a5f05de655fd0bf50546be1d893d90f4b8264488467880be2c4d7f3c577e6b68335f1e0764fdb16d6fc44fc5bc2c1660798e6b31bdcafbd33a9edb44e48dc37306abe9ea761cd2077e977a6d5b92aff3cdc33f644f47d90fa9a4b172faf29e264c9d55d27cc4e7b7e5e891adb566d172207406ac400348c386e74716a518cfde36169e4cbd8d3093c8d85b99e54474fb7c7ebec5a3beb18b664b953f4d9037041c45738e87c53d55eb92fe862a78627a8f4f3f8f3ef01102b8df05c9c1d81da85e36bff90943e0dd93efc00edbec664fe16f03c8e79d3e105803c50a606f9812d3717921477e224efc9c38604e932116d048938c5e50af925d722ada7f78de5fb1020ef09d45e001364d0ac87ea4b800fd00015a2d2be1965546e9ffe759719faf9960648c9183812a7db83a24b0ea52bc26e3774ac36fcef82756ad386332d49551a147e87ca68fedb289b965a4088b3de6506378af1f858c1c995313e189684bbd3e484499dd7a26097ee6e89ff1d0b6d4c6c03917c53a95d9fd1b6f9a8e59e1687506a5499adea9c1bbf2f63b14207daebf64c8bd5742bec97f6364560cb3d687f8a1ce12a197e87df8b23eff607c97849672fcd5803b43bc8b6dc2090d7b99299248007a3207621c0b40e6fcecc3f68b2888f5abc842a44e6f019391449a7356f9e2637c77612b342fe61e76b307ffb780f529c6c84a6e6ad8d7553021070499e85542cd288a543bb0d318b7abca62c48721047951dd48307113449db6a3f997999f421c62b4524e5baebffef1ed21a6a1a800fd0001c4594030b3c64f25c491e6a5ab25b959438c11265e0fb2e5b2c58e3d59c86d642aff89f4e5137f08ee4871df4098a5748795d596baeadd2db0b006e02822ae2c5f6a93c5281b82a7d60f8c390a264d293f1769d55a5b1f78f0f65f7694477ca79ec16677993d5b6606298171df85a7a8c9bc74a2438618d2aeb384de706b797758dd418b2b5d59dff089f7d4f7f21a8390a3a707c08ea4a238682670a0d80297ba68febea9c4c5afccc241d9f95aa77366880ccf891174b33d95f462839d2820451611e8453d981a703595e8fc73df0a4963c1baab591b7f3dbbbf62b50dc7bbfeb05ec2ecdb1a63d06ec20c4311451b4129a08b94049263e180411ce7b8b7b120a96a6184af4c9ac706b2fb01d6389d94cc4e3930925a5b2bdac9e96dbfa42a78fd0001cb6e8b1c0da834c4fc0d797fc3521eda3ddacade8a4ecfeb518a2e2e8a234d2f6901a7eb4d117404328c70a5c24f36236e88eb1dd19a7e9cf4ec7582f472da053e283dc193d70bc71867d2a348521a860fccebe0b45958f1b5919cb833d79802640b7665b7ec45135b24108eac8a882121b6e6734dcd327b506a434cea9298e6067c36457858e3c18d88a320ce33cc3861f5329bc1f9a8f4af57caf2c134051b12dbb58e309d7bfe9028c3b9b4179759095fa531cf20bdf18134c517ceddfb38b4d94849c3d7eae9b46c353bc43d2f8345e345f818e328875c1bdcd754b706258779c7c30592d0a4c4b5cb557eaad484d1cef2bd4d98d12e70b8fda33f3a5e8320486c47e0fc0d0e679b413041e800ed28ca862ceec23c1a937954131b960fdb3320a3e4a1a7ded3a425d38b144b090d9fb0aeb9ba631622041a702626583d41142520f6fded7e7b2408e70ac4ab0b4d23bc2571cfb9048b0bc738dfd0d6507549a451fd0001656bbe84db36e12bf3c78c07ba3f561d2c2687aaeeef2e2da17cb00f060e025a993c12551c12bd4d75c4c116d18951515f42c5628b0858d85b8afe5deb0aa14a2e33d147eb62b9a52bd4769b6a97382d6c39e5f70e727ee0c9a4684fcf9a03e7232394b4ecc6a2d32e27fe2b436b1081bcb4f3c8bc844e9cb1cf9b828bfc155a2467d506be2f89c9a36bfe2d19125fb21666ed4625cf881ffba75e67d209fde2742d5a46634019cf1f96c1e649a9dd58edbc374b9d6220bccf20055104e8ae8917537fd07f69e12e0b8200af3d924997ee33a7d1e9eb3ebba741f0edd1b59f05e1f279d0c4f7106276968fac8055088bd5f57840438a2776bb21693d9587d188fd00011ae402863053cdeb79711a4c4e7472a1559d86f89bc4daaa6865eced1126197f3c43d78ba16fb2d6508632ab4712b13c3f45d674064a51867bcba96a71b7683fa69ad337fd0c50e7927b913f025fcc47adddf1376a053280cd0fc45bbf29767b4555bbc4054a824c11dc93c3648b3e1c2ca42a5dc5f536eca084370ef65c5a6229bcac295c3fa578fc22eab793205cdc8d37fe3cbf7dc6e1a7c53ff3c7e4d226f0a0d4667bad282c625695d4a1ad88931ca894d4931b19b09c56d2f72e72f62600c97348ed8814f0841baea716d1e0d90f26f8c3932a1e66dd1e8c8e039d3e891ab7be0a887c16ea9fbf3dd7f2c7200587ef56cd0e75e8e828aedcef6198e6d6fd0001a265b258bad27b42d12a12e43a25bf566f2b77f6f0924e8e0c32f294768fd6d9f92e5a15dcc94a2067c71a1f9740700ee0e7f626d35fad2c441b176a077fe681515cb0c8613b0b43c708895c9ca5a41745ca87cc5e8d02e272a484be75cd9afc7478b98bd4c030c3dd4885c5214efbe70cf9a1f8a2616e2eadc150f979e1ca8c389b6fa288889464886bbdaee7539c6bba71ad0927e455d45db2c7371a5b15ccd8c7e7e91592e9bd057d85a18a9a9d1165a84329a6c7beab031f2819cf36a26aeaa4cbef4e7871c472b9b363a1a5d597005cb98e6828a7b6b7ae81cbd036f8d8afbc6289efacedbe51c10f27462c81525b18d119ab4527d9c6db52cde19cfdddfd000143a024d1136d92c3d0de09ce4a3837fff20ce4c4307fca87b1a09acdba6a1df122cc69dca4ec3ca89118ade730ec8959d0dd84db0eff5ab2ff71793af68a2d6bf3a301edce9cf1088046b3177c18d90f6318e2bea3a071469873d1a320d5036a6ea1375ce17113721f01852e1c436745536bba80365d2ee1060a73098f99983d18511059ecac21b84131d845bddfc589a1a4c195ee1d89ba9845c09d681a87c3fe2322cdf571b4a31756d2de38276b97ecef325f4ada73b747d78899c3f84aeec26fc9732ef5843f8b2d7af0fee0f04e01f85731eb9fde3f0a69c4c0aad09f51db5cd03db3627cce5d2a1dfe9910817efc2e53ebf9f79afaf09521a3f14980cd20d6c0a0d48152ef8efbf7a58b809f5c28186addc9690ba0857cbf2c96e395e92afd0001781c2002615bfb1b7d35b2e208a1df0bd8f95f2d639422c213683828227885660bb231058546848fd01763a1ae99e0a7a1040a0f398d8171b45ffc4a58a4439a5addbad802fe79c71a4a27fea8ed229c51d6cb26c3e21127aeccd2f0e31ff1c7d38987c95b917d4c86439a7a0d54b3985ccc3072727c654bea4d473676a45f13ac693de273581cd6f864fba7ff00f3e61cabfb689689c49849419ca1cf489cf9db2138f65c1445b74a0e0cc83e8368e6e79149e699b6e64c77c70ac5156bfa98794cd0c561732fc7e3623673e1f0ebc09de026d9745c4986d498762be6799cf99143fca5d69d04283b504c8d8e325c8811853d467b72e204417c7e35064ce7bcfd0001e42f7a528e3e1de18bdde6e2d9888886aea8ab8eb149299c32c68f6c93a19889efc05e641037687a091933cc83bfbdfac77d48a2828bac6b0625260d4b9da29b0d215d403c6d3aaaf33addeeac4d46875cbc4e3edc1a865d6fe0b6a588631188897cfd131672a8c5d098c0ff8ec5b17bcaecac1d78f83b5296408c994c1e81f93021da25ca403ab6694fb3e82ed260e88067e3edcd8cd0e70ce4c79b49962096eeb1eeb2b17be69033a338ebfadaaa1293f7fe17fb7ddce051d9eb82c84d639bab4a415353ae82dfed2996a26d184189ff1f25d3196c67f34ae50a39bdc2f711ed6468b364d1f0ea8eb29f486dc6c2f6dc59a24acf4772bd542557e9ef4b5b93fd00015ea90490404b84482136f214f4497c09a0ca87dcebecc03ac3152ae1c3e87b945f721137c7a309e1036d0e5d94c6cce38c36b1645a62c7160ca45abcfb5c165eb696154ae38684002a150ab45f1b8f1bb69b28757e2503967a1432090b6c90ce7e3671860e40e95200f8a1ac1ad927b49bdc0a66472eac7123c383ba28578b149f121ad8b1ead1e1908858a640ebebd2e1b8a4f787e5f41d573168493115448edb0de580a8c281b783afe2b62ac6ea243d021187367df9fd28f97e2ca7c8856d89c64a4c3c5e2147aea8120b4bc8b2d0b8ec5b7edeed35d24a800760e82ab19cb7363c7b2fcde6200b8e63e2b698489e9dc0bc4c8f1ba9ff68b59a7277038eb920fe94cb66b60142227c026662ddbc3dc29b373c5c805c365b245c2f69152f1e2b2007e3634d06ba18b973add33bf3e23a7175729a9442fc4213adcb0e5a52e2cc272096af7547b4220ef6335cf5fe47c75896ef2d27e58acb6d7b444b3645ad1a9370fd0001f3642f6dab0eedbdf04e554106719fde491a9bfe00e8228f250e0035f5a95782bef5680a15e6148467d4c7db9e22d9a4bc766ba884940645845b25ace95d405744929adc2c63e41e4c807e33a0d514919c09e855c9d77690be00720d83dcf2b2276e157d39b7acb3ae262e65a8a09ff49478fcd67765dd03b545d7e83bf194ee6b0c5f83c41f7c470e0a1c3f1014a7afc2b7149c01b3f1181eeee4ce8a9be47f0f7f897a05683629d6164fb882e1b67765e7560e7f5c6be76ad9902a755c6af0c455156b93f14e618f533feb9d351bb956da352b7a9d63cc5082d6f9768d80f1bb703c84be2bd75b848f06925f47e226c424c0ae8ad4293b0e9c330cdb16bbddfd000158cc2778c31d0436228349fd19e0428de5916401bbed1f3668014cc51cc6b42381c32e5a7d5ec4d194037b0544284c52e151b652e2733b17065b2a98fc1f5ff30a8acf5dc7522b64eb94a8a71526e2aff0acba058b541fa412bb5344eaae4945ace66b4f9251e842e4b52feae5ad89ae1ce3617debbb551c09c87c6e6e69b7942f1178db84dd758fcb3f63d658e3f48c1a47b725cd2e003a59b8e318950a45fd908c6c4d53d706dfcc2041c046324e3925c9ca032f62cc825f0c11c9fff3fed99f616837244c7d71b3a8d79a8d5bba3284280b59ca1d0ed044801b7d4d6148f014c8c04e8859d9c3d074a7ad77b86ea0ae39fde03fb33eda53fe5c1728cf2daafd0001991691f21883d17fbf12b24e86f0f639967240dcf120c01713ad612ce32a7b8a9c911248414d8a2b836e82c827270f60f154d5de0efb7aec5b3db3f8b9cedbcda84aedea5fd0988ed0069871fda9db5ec2a1ba0f04592048f0040599023ac01e758886daa3fdd9190bb1c8ea29898cdc711e8e8e6c4497ae95ee2e5a6730bd8388d8fa812b21c9b97af84a7cc9f790139b0005dc86efe16436e63982fe8d8ca6bc5bea86b2297a0726dab7704fdcc8a3f6c273eb0f8aa008ad1e6c4a985d7cefe05d3b24cfd195d2fae5392a48be5bd50386244fa9002f95ce18efe97be356a3c5b3990172f812987d0fa10d7fdf9afcd20e165697e3e8f1fa564d1f03010f8f20d53cbea6789dd88800af410af54c3c346483fa085c6e02c088092372ce828e2afd0001f903226d53becf91fe3ee0e556a7ddd652e179dc3c2de5d7af38f380c9916791a37e149ec620429b47e5e0c016b898ee1dc45db857c93a718daeab3167c3c336b22692da51bbf7ef1bc42cba25af0b1fa89df2adcf41535803ad6e80ff1e1f57c80514f1d091040aec55e87c4810ea31ba22e4f93a101d71e324cfb2d84e381f1a59a601ea97907013e119a24a468b27558b68de170690e71bc3c2d7361ca7f77d116b642516d9cb128a70d6bfba83b2c22420059e8c22c9f794f2e144a3a065c942d3276253013efaa88a80e3d7f3c32dc249347a6df656df62d4f9482cc8470bd1bebda925d47c5cd9a54ce81d7bda23c2d0434a98a1f73911c6172facb08a21cb1b1935a2667416f5cb810c787fac55fe8e14146721452870f27b1d5a14fcce0021600ca51450ca3b29e9ff6b388f4df5286db585d027f68fbbd1d4a95fd756318700fd0001b941fa0b95cbce10d49d29c80ac6c45bb624fbcef94b9bcc75d3593a5e11ed85488b6332f9d059e0123d5df6486dd2f57a9239d137d46f3b9c0120d391d1f06cd48c13a0b847020d0832b15162461811662eadcaa2757e2b6b2240d478e7411c7e807e09ef824ecfb3681b49aa72a3319dd310d8efd930ffa7751a222e73f198032f2dfa00e978c9542dc476ca44b161fe470a5f63759de5086a18fc92aa375c608841c6ea41ebc6fb86dea22a8987f7d9abac948d5e67a173eee3b9b90c323c4f2624f53fcaaadd79427a36f560ce6cbd99872d8119acd2173935b0331217e33ceb4a0ef314e45c1a90ad06a46948a38a00feac8f58d8780e6d15ff6e013dbe214cc25d39b2def7e68e2d5c7afd69c5d629265f750b683dd660040dd3220a2ad600209901a1f845f602ecd4f341e7b68c6787561b4f18d7819c8b319dba6836a42517216578b022ea0911e03a47f0814046cea045fa63bb506730b0b491614417df91f900fd0001ab0bc038363d54f8e9e8ebed6a498b0f989c8ee56c81720bd66f71d0d97477d0db56d4481cc0e57c2316f4bd3a6843f86e5b28152436ba23f377dac267c7bb6501666efefb705be623d0491dd42a1a5397f45b6be6ceb1e0499842914f56296a34f304320f5b623ae7e16379d89394b7057d1b92de4c913265ba231d81dbf9e4b586704803baf1cf0fd474a721bd65206df02888dd77df03c831f8433f3b2c7cf7e1211c7c85a975d129f33734fcf77c09aaf68b681da7c506e8c89ac5394589d185117b722b757e307ccf31e9ddc1b9131633bd684ad458fdef09d346566eb4df920801ec4ac019081feda518cafe1ff9f9197b1473ddb18d3349652db870e0fd00014168b6756041ac27a58e4160cdc78c2cca30e144cfac7c58d40b5521c76ae171399e4e22bd3eb5a59d0a44666cbd8d38c4983f8e2bac6fa5ee84c86adbf9679bf8631dec545667463df5fbfdd5ff2d0f6f9021a4a03510e291253bd133520d5366e3c272bf8ec41a14b15aea97c420ff263bb52dacb3c3962359312e5a4690483434ba5f592057dc449727f03768f3756c24c85814e1204d2d90cad6e656d39e7dd7b9c4bfcd103dac62415b0d64901b01278602553c149f6d64342f16757b5ca1033494395404fe1ac7ae33d796be12b0d4f986de23186ecdbdc8477a742fdc973b34b312f5984b74faa42f5f62dd4938f76f5d7ec141249902825d81ab2d88fd000193a2f7ea915b7e506459b8484c43d305deca93a84b3c313a6cea7286d485395158806c3d7f3155f3ddadbfc913cbd7673193a951b356ae208319ecf406172cfbbad940f9fb6accde0c73ea5a19037d5d8644b4de22db968851a303717f473c491465712da34aba4e5dbc31361163ae1492bb3435779569598639943640b6e14233d8888aefa72580e22091b6848592d5b2273cd2df009d614da03d0c0803b4320800094dcbaaa337fd210820e07a8deabbd595d2b59b3bee5c7a27e585a1cef44e532de83f08f3df43d68f5934ca69776b8ee8ddc42969970d64145c093d4e989cf32ba71f750cd03b5c818c33462d05c6477ec1f0ec81c48e4b119d05d31cd5fd00010b1cbcbad09df7edcebe79a913033895c66686f078402893059e4a986fb76d28e89324f5b04ead2c2aa0a05786faa1e8f66fbaf66b7ca94bf52123e6afe4dab54bc33e5860e8766031dd256edf40b294f55062e613cafac04f77e284f5097e88cd7aaf46fd28f4fc24ef1ec1aa0bebbb3da5b504e4dca8dfc13ed99e4371dea6f3bc0f78cdf6ff47548e5a426c92095da045e5ccf45f446116e2c9567ed01d62c1fd3a78c62aa359118f77705174db6a4faacaa0b6d49b4da38e42b20e9cd2ed7979a0f6da28964e0b3fb755046f0a5477dda7465e00d13c8751c36255b7f922dbfe108a14e359257ad607dd7e1c9ccf330779135714b01746a25ddd11e565c821713c8702e50956f6f6ed9c283cfdd08938c8ccf08ada04309e47fe9ddf5cf5dc00fd0001f5e2772a310c56c1343104f8f618a6408dbdd5e421e31856f271fb33329d5055c4c73e06870feb8f7b298cb9b403dd6c4e87dd2137ac84df583c58ffd627b0c52996bea39da5959ccce7968455d3b4ac512c3d552cf63f2da74d6de8e8f037eca47a715d0d9398502b287e5f1034e536a84839bac21ae9958da81fe54c67165fc650f19679c9a628b74fb40c65257dc5b50f690263f9c1eaf41c3365c0e23f91aa7ade32a352c8b88b40b2d7acabbd085185f7737be6f5a7c342e2c908e8a4f997ec949e4bfd6ca7b3da894fd4581c81141cbfc01afc3eb86bc91c304c18c1dccde49d8b61e41d922fcb02162e444dd4931a076bb072ee3a6d5cebbe8683e992fd0001197c654987867c3fa8c71ce3718a70756063be0179e55bf302daafbbdfdd5669ec38e140e3204b260b1d54373f84657101147e672120d735c179fe2dc5fdf7dbb8aadee63b867e31d9d1242e45bd23ed510dc7a6d44ea7806159895a2293c0898bfa6d0018d9864f584a59003a8d4e3a38eae3ec7c9e35d1e5985acd544547ccc1e31024f05bfd5dc07ccbf535b2e0a0a703548e355eb9d1acd8a59684ba0fb674075011c7be7cc899c30ea6c1df0dc34c9366f47743aa12991192cc836db7fd5a3b0306d6905a82e13b729038c70fd3bea01def02b93cd2e71439a9fdd5fb93da6a72436ce9f5b431b7e18c76d8173964d5a02e24195e761d888a6a2532d785fd000177fcd4e94194a3c34efea9f8f04faccbdeae9f0eb8662b0195db08e2b41a08fed52ab7060465ecebdb2eeed7a768c4f65ed7b5193151a56c752cdf97cd4c6be8daf95c16c6703ec95b6cb541506c715983be6384031685d48190e611ddbded6fa377affb759a1f289523e56761857afb3c33b68f743c59a6bf2098a2f5bf3c1c8a3d41224dd12ef247874ff5ab6257cc3e29a65a1c16f3ecc26108142d1899a340be3db55556258a348f51ef61e8e73fa9db743f08df3d31919f2d9484603f0281422c2cfbd66959dc138c2176d6e242a5a04d5b1cbd8c39ed051486869f8b0f3ecdaf42498be6016dc9d49ae52220612a32f50259fb9a8be0cab88deafd56b12024a02c37de6161be5eee8cf63c3b0d16d0bdca07ad59fa0532678b864c13bc20c87f061046d5218e768801c69818dadd24e62aa4625d5a2af09b08f9eba8efb5e29fc2977184990fcd81a0a3f896691051da425d7b99292d8ad7a3bbae5ed9503c5b761907097dd6457a5444b9c85ccc829d5901d46cd917ead52a3316f96588a7b508501be9f69c73d97e0db9d615f20e50712f377663f6c47f42d005db72b225048abeb8d6e3a60afbe21cd13d4539b7d39806952d745a7c49a552175135d840a3f9b9e9ef6ba3c46e9f4bd42f9bbde0d5d5abda8cf06538d3492aa856d8708285c0aa99567adaf6e0d4b28feec0a55e49879ac8ee966e4520e5eeae3e6b4473cb710b4213973850ea6ff0331b04ccffab2c2c3f55ff28b8bdf644e4c19982916d01e28d745302b079066c61fc0e8e1c90931f122893f7f5eb86e9111f98cf36e719129668dcc4718c52d0c4c6a1a941b939e5e744d61aa9fb1aed6eca5fe062cd109b15abfc5851ff77c026e9ba7023b298d40acb1ae9884671ff1776aedabd859f2a481eb18b963afae2e2ec41e3f3671e9dfaeab234d6aaf97249f4702e706437d8e36f517b3b227bae68b79064a3fbe999bc2d75912d970826908dc17b815ec0f030e20b24f17c527557e36695abd05f67c60475a0c74aff42b5e7fd13efc3b1c3bf5ae6e3251731ffaad110c4210c9d6d78d69d6f68cc31ca99fe783a12fca506af01e28234f01e1b30dcdccdfbe696bd5703ddbf0554c8c4863edb0f252e2a9daa54d4900d8fd6aef61b8a8f1e165eea79a3f20663b08722762f2c548e0cd10cf0d2d8e8b9239b638d02c49749d55b721a6c81d2554b51b49191518150664b7e4dbde3ae02b36ab3ec9250290c8cee6b7371e0d3c7ad64d267cf463c4c82cc5a325aa72461345c4f45c8753de23bc148527b0e982511bed9e4bcd4cc37e1e3b5089373fcbfbef9a111c96cc79e9f37d619c0d68598541f2a37ea0fd614ca310c915c0d412d2eeee8f7d71e4a250bcc60d68ab3f296a5f75d75d627e5913aedf3646f733701218878049c420ce0089ded11b087f16111e397d0f2e354f1df0a858aaf07eeb8e80002210305cf1786fa950ae9b553390d6d62e2b285ebaeb978822439e0922403f9cc7dbc473045022100b807fa7bc196a7b2d7a3000e5e1870e2ff488bfd6e2850aeaefb3c606f28379e022009c3cec446550e5cb04483404a677c4b8406d85c62cb4d714e5ca3a50aa02f2600e80300000100e87648170000001976a914dbe6d470fa9fe4d037043533eff4f80aeef0c8d288ac0000000001000000019e4ad4e6c689ae658aae9b41c42981783d10b59d9093cb1bc7a550026a6ab333010000006a4730440220359b5a1565430a8cd0bb45bed4ad4e0a8c6eb4a72d4d263a2018767581c8a59f022014df003a4959ddb94555bdc39744aae9c97b75a65d75a10329fcf7adc7e1cc24012103f46f2dfb9d81f6eb897ce7580ad6b6ef29951001f59224bc0b857879a1bfd87effffffff0200528018040000001976a9145d59d475e1bea5f2e4debdcc4bf9a7bec644eedc88ac7ba0ce22000000001976a9142fdaa2e09b6e22c3b43371fdb554a3fa0108c32f88ac00000000473045022100e9caa976e395e33ef96fc24dc9380d54382306d3795ce89e695aea1ce9665cba02206615d7da2f9381dfda64fa4a8aeeb59d3589ffd20be247c8998876ae3bb4f11c diff --git a/bchain/coins/pivx/testdata/block_dump.800000 b/bchain/coins/pivx/testdata/block_dump.800000 new file mode 100644 index 00000000..2c897d68 --- /dev/null +++ b/bchain/coins/pivx/testdata/block_dump.800000 @@ -0,0 +1 @@ +03000000633961176107ee729e0f02012e912435763e928176be20b186edc9dd2daf221d7f4089636ae11f5146f83c319ef99bda07f54e781207eaafecb839abfc1b28200394aa597b927b1a000000000201000000010000000000000000000000000000000000000000000000000000000000000000ffffffff060300350c0101ffffffff0100000000000000000000000000010000000188557c816acd0a61579b701278c7dde85ea25d57877f9dbc65d3b2df2feacc42320000006b483045022100f5d0e98d064d5256852e420a4a3779527fb182c5edbfecf6143fc70eeba8eeef02202f0b2445185fbf846cca07c56c317733a9a4e46f960615f541da7aa27c33cfa201210251c5555ff3c684aebfca92f5329e2f660da54856299da067060a1bcf5e8fae73ffffffff03000000000000000000f06832fa0100000023210251c5555ff3c684aebfca92f5329e2f660da54856299da067060a1bcf5e8fae73aca038370e000000001976a914b4aa56c103b398f875bb8d15c3bb4136aa62725f88ac0000000046304402202ec79736cc3f27a0a4c9c88da691e5e92157f79d60842b84acdbff9419fe6389022021b8c2db30010014f6f3e95542c3d23736fb4c6b99eff3cf35656c73f5934325 diff --git a/bchain/coins/pivx/testdata/block_dump.864611 b/bchain/coins/pivx/testdata/block_dump.864611 new file mode 100644 index 00000000..51de079a --- /dev/null +++ b/bchain/coins/pivx/testdata/block_dump.864611 @@ -0,0 +1 @@ +04000000906adbd137f2c824f8cdce809663a41ff6fa2e3af4f80e5554f33a0b55fcb6890cd0460e015621ae5f6ca55aa711b69cb6477ac09e718bd0c6ced1431209c7e5234fe659cfba001b00000000bd0f261afc21a46479e1a120498c6969bfaeba28b0e65b0b8742c220700be0b00201000000010000000000000000000000000000000000000000000000000000000000000000ffffffff060363310d0101ffffffff010000000000000000000000000001000000010dc257a1ebb9d0d8d8ca83c748b92473bfb240a609009db5dc3c5cfda73b74a70100000048473044022016829a99e4802c54fbed81d16aa9ff1fdef76e3c785280cd2f49c143a286d84f02203fc486252cc3b0c292fbbc612aba4389d2bcd0c1a0a4d3a942283d98b239ad1e01ffffffff030000000000000000006df29f333d0000002321025828d51aa0212ea822e6dcf8449b0687e0767c47d5e6f86dc957369821390071ace08cc00e000000001976a914654363f2589c0aab6910c5a9d430d8c13eeb3b9a88ac0000000046304402203fb9480f6df91c547d99b84470c513c2d4b0dbe40e40b6e7ebf94579e92c6c320220751ed475c905e9979557e186dd8c0fd5773dfecfd196ed4ba711e2ee63189392 diff --git a/configs/coins/pivx.json b/configs/coins/pivx.json new file mode 100644 index 00000000..537ea4ef --- /dev/null +++ b/configs/coins/pivx.json @@ -0,0 +1,63 @@ +{ + "coin": { + "name": "PIVX", + "shortcut": "PIV", + "label": "PIVX", + "alias": "pivx" + }, + "ports": { + "backend_rpc": 8047, + "backend_message_queue": 38347, + "blockbook_internal": 9047, + "blockbook_public": 9147 + }, + "ipc": { + "rpc_url_template": "http://127.0.0.1:{{.Ports.BackendRPC}}", + "rpc_user": "rpc", + "rpc_pass": "pivxrpc", + "rpc_timeout": 25, + "message_queue_binding_template": "tcp://127.0.0.1:{{.Ports.BackendMessageQueue}}" + }, + "backend": { + "package_name": "backend-pivx", + "package_revision": "satoshilabs-1", + "system_user": "pivx", + "version": "3.1.1", + "binary_url": "https://github.com/PIVX-Project/PIVX/releases/download/v3.1.1/pivx-3.1.1-x86_64-linux-gnu.tar.gz", + "verification_type": "sha256", + "verification_source": "aac5b13beb9ff96b0ce62d2258d54166c756c8336672a67c7aae6b73a76b0c03", + "extract_command": "tar -C backend --strip 1 -xf", + "exclude_files": ["bin/pivx-qt"], + "exec_command_template": "{{.Env.BackendInstallPath}}/{{.Coin.Alias}}/bin/pivxd -datadir={{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend -conf={{.Env.BackendInstallPath}}/{{.Coin.Alias}}/{{.Coin.Alias}}.conf -pid=/run/{{.Coin.Alias}}/{{.Coin.Alias}}.pid", + "logrotate_files_template": "{{.Env.BackendDataPath}}/{{.Coin.Alias}}/backend/*.log", + "postinst_script_template": "", + "service_type": "forking", + "service_additional_params_template": "", + "protect_memory": false, + "mainnet": true, + "server_config_file": "bitcoin_like.conf", + "client_config_file": "bitcoin_like_client.conf", + "additional_params": { + "whitelist": "127.0.0.1" + } + }, + "blockbook": { + "package_name": "blockbook-pivx", + "system_user": "blockbook-pivx", + "internal_binding_template": ":{{.Ports.BlockbookInternal}}", + "public_binding_template": ":{{.Ports.BlockbookPublic}}", + "explorer_url": "", + "additional_params": "", + "block_chain": { + "parse": true, + "mempool_workers": 8, + "mempool_sub_workers": 2, + "block_addresses_to_keep": 300, + "additional_params": {} + } + }, + "meta": { + "package_maintainer": "rikardwissing", + "package_maintainer_email": "rikard@coinid.org" + } +} diff --git a/db/rocksdb.go b/db/rocksdb.go index 04fd015b..ea238e20 100644 --- a/db/rocksdb.go +++ b/db/rocksdb.go @@ -1049,9 +1049,13 @@ func (d *RocksDB) disconnectTxAddresses(wb *gorocksdb.WriteBatch, height uint32, if err != nil { return err } - txAddressesToUpdate[s] = sa + if sa != nil { + txAddressesToUpdate[s] = sa + } + } + if sa != nil { + sa.Outputs[inputs[i].index].Spent = false } - sa.Outputs[inputs[i].index].Spent = false } } for _, t := range txa.Outputs { diff --git a/tests/rpc/testdata/pivx.json b/tests/rpc/testdata/pivx.json new file mode 100644 index 00000000..30b76c6a --- /dev/null +++ b/tests/rpc/testdata/pivx.json @@ -0,0 +1,40 @@ +{ + "blockHeight": 863801, + "blockHash": "84c3697c0a0cfdeb8499d69da97151ed8babfd44cdf59d5b7d5e2dcc4870bdf9", + "blockTime": 1508218661, + "blockTxs": [ + "64215f794d731e78714de663cdb83e2cf233800e5d4d2cc3d4c235bc4301651f", + "275915c605b5581acaaa5757b05a8a38c1e1aa6be49a8ab051301db9c8fac502", + "ffcbfcea3a996e2496bb29bfd3462f1d8a9d55302f44545984830f0a455e79bf", + "bd4cfa6d63326dd1bf881cdc46f77e96efcef54e39d2b4e34749ecf65c26e772" + ], + "txDetails": { + "64215f794d731e78714de663cdb83e2cf233800e5d4d2cc3d4c235bc4301651f": { + "hex": "01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff0603392e0d0101ffffffff0100000000000000000000000000", + "txid": "64215f794d731e78714de663cdb83e2cf233800e5d4d2cc3d4c235bc4301651f", + "version": 1, + "locktime": 0, + "vin": [ + { + "coinbase": "03392e0d0101", + "sequence": 4294967295 + } + ], + "vout": [ + { + "value": 0, + "n": 0, + "scriptPubKey": { + "asm": "", + "hex": "", + "type": "nonstandard" + } + } + ], + "blockhash": "84c3697c0a0cfdeb8499d69da97151ed8babfd44cdf59d5b7d5e2dcc4870bdf9", + "time": 1508218661, + "blocktime": 1508218661, + "confirmations": 0 + } + } +} diff --git a/tests/sync/testdata/pivx.json b/tests/sync/testdata/pivx.json new file mode 100644 index 00000000..e4ebe36d --- /dev/null +++ b/tests/sync/testdata/pivx.json @@ -0,0 +1,274 @@ +{ + "connectBlocks": { + "syncRanges": [{ "lower": 863801, "upper": 863801 }], + "blocks": { + "863801": { + "height": 863801, + "hash": "84c3697c0a0cfdeb8499d69da97151ed8babfd44cdf59d5b7d5e2dcc4870bdf9", + "noTxs": 4, + "txDetails": [ + { + "hex": "01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff0603392e0d0101ffffffff0100000000000000000000000000", + "txid": "64215f794d731e78714de663cdb83e2cf233800e5d4d2cc3d4c235bc4301651f", + "version": 1, + "locktime": 0, + "vin": [ + { + "coinbase": "03392e0d0101", + "sequence": 4294967295 + } + ], + "vout": [ + { + "value": 0, + "n": 0, + "scriptPubKey": { + "asm": "", + "hex": "", + "type": "nonstandard" + } + } + ], + "blockhash": "84c3697c0a0cfdeb8499d69da97151ed8babfd44cdf59d5b7d5e2dcc4870bdf9", + "confirmations": 696596, + "time": 1508218661, + "blocktime": 1508218661 + }, + { + "txid": "275915c605b5581acaaa5757b05a8a38c1e1aa6be49a8ab051301db9c8fac502", + "version": 1, + "locktime": 0, + "vin": [ + { + "txid": "d182548f1e3dd98a16fcec20c63d1a7c08da586c9e7a51a128c1127518d1a974", + "vout": 1, + "scriptSig": { + "asm": "3045022100ab7a97ba8dde60216ec72264b042631df8776a9a9504337f18d36d05408579b302203429a01dd94bbc62ad42d02e2fab23e62384ad70af19b8e13bc6ce9a610748dc01", + "hex": "483045022100ab7a97ba8dde60216ec72264b042631df8776a9a9504337f18d36d05408579b302203429a01dd94bbc62ad42d02e2fab23e62384ad70af19b8e13bc6ce9a610748dc01" + }, + "sequence": 4294967295 + } + ], + "vout": [ + { + "value": 0, + "n": 0, + "scriptPubKey": { + "asm": "", + "hex": "", + "type": "nonstandard" + } + }, + { + "value": 2654.99854617, + "n": 1, + "scriptPubKey": { + "asm": "025828d51aa0212ea822e6dcf8449b0687e0767c47d5e6f86dc957369821390071 OP_CHECKSIG", + "hex": "21025828d51aa0212ea822e6dcf8449b0687e0767c47d5e6f86dc957369821390071ac", + "reqSigs": 1, + "type": "pubkey", + "addresses": ["D7Vvc9VjKRgXDjLgcJViGAqajMebXwFaQz"] + } + }, + { + "value": 2.295, + "n": 2, + "scriptPubKey": { + "asm": "OP_DUP OP_HASH160 3b8953e9abcf1765dfea4ec9865d130f8f53a6cd OP_EQUALVERIFY OP_CHECKSIG", + "hex": "76a9143b8953e9abcf1765dfea4ec9865d130f8f53a6cd88ac", + "reqSigs": 1, + "type": "pubkeyhash", + "addresses": ["DAZtvH5zmP3qqLhx3QdRaQipL69n84uMb7"] + } + } + ], + "blockhash": "84c3697c0a0cfdeb8499d69da97151ed8babfd44cdf59d5b7d5e2dcc4870bdf9", + "confirmations": 696596, + "time": 1508218661, + "blocktime": 1508218661 + }, + { + "txid": "ffcbfcea3a996e2496bb29bfd3462f1d8a9d55302f44545984830f0a455e79bf", + "version": 1, + "locktime": 0, + "vin": [ + { + "txid": "1a59166aec662dfb9311dae22b11368b78fc3ce68bbf0cad1f5584ddfe29aee6", + "vout": 37, + "scriptSig": { + "asm": "304402205db3a97ec8793bc1431f90920b19fd11de334b45a2669740d432f06c40a5b93802203e35145b2ceb25544eb950ae654b3271d7f040ff092c2c0c2f26a0a2a05297a101 023f2ad5a047f48a540d3e521299f6e0c3999dd0b18d83842108cb729ccc11b4a6", + "hex": "47304402205db3a97ec8793bc1431f90920b19fd11de334b45a2669740d432f06c40a5b93802203e35145b2ceb25544eb950ae654b3271d7f040ff092c2c0c2f26a0a2a05297a10121023f2ad5a047f48a540d3e521299f6e0c3999dd0b18d83842108cb729ccc11b4a6" + }, + "sequence": 4294967295 + } + ], + "vout": [ + { + "value": 50, + "n": 0, + "scriptPubKey": { + "asm": "OP_ZEROCOINMINT 128 e3e3034c52ffec6b861c9bc0aafc35898b1772548138866bb4d1fdbe8331bd73bf118e36d69db6f44e4622f52e6da2ee973afd36fc7d762b9f18d78857d096dc2d3577a526f40974405289c6301d9df2c7ace8dfec580c5247c30acaf220ff7ec86cb5aa42c749c719cd41c0a00dee951a0d0c977dfff9b5b10885a1a0506570", + "hex": "c10280004c80e3e3034c52ffec6b861c9bc0aafc35898b1772548138866bb4d1fdbe8331bd73bf118e36d69db6f44e4622f52e6da2ee973afd36fc7d762b9f18d78857d096dc2d3577a526f40974405289c6301d9df2c7ace8dfec580c5247c30acaf220ff7ec86cb5aa42c749c719cd41c0a00dee951a0d0c977dfff9b5b10885a1a0506570", + "type": "zerocoinmint" + } + }, + { + "value": 49.991, + "n": 1, + "scriptPubKey": { + "asm": "OP_DUP OP_HASH160 6c7afd9a36aa90435033b101d86a49e2dd33bc96 OP_EQUALVERIFY OP_CHECKSIG", + "hex": "76a9146c7afd9a36aa90435033b101d86a49e2dd33bc9688ac", + "reqSigs": 1, + "type": "pubkeyhash", + "addresses": ["DF2grWqS22duV6zjybPsjn3DHr1fuh4AFt"] + } + } + ], + "blockhash": "84c3697c0a0cfdeb8499d69da97151ed8babfd44cdf59d5b7d5e2dcc4870bdf9", + "confirmations": 696596, + "time": 1508218661, + "blocktime": 1508218661 + }, + { + "txid": "bd4cfa6d63326dd1bf881cdc46f77e96efcef54e39d2b4e34749ecf65c26e772", + "version": 1, + "locktime": 0, + "vin": [ + { + "txid": "eb151efd7054b92af313fdcad3e96be958466784e2a426ecd1cb2ea42bdc26bf", + "vout": 8, + "scriptSig": { + "asm": "3045022100ab05f2b6fa212b924a1da7fba59b4f88988594df4dc6f49569ad40c101f1528f022035951603ce08c056a5a62b1d2926a621d57f56875feae5bee22a4e4e533d351401 03961ce992b67e570147aa9abf4b095892b4d4c2265508abbd2c3942d7485bd361", + "hex": "483045022100ab05f2b6fa212b924a1da7fba59b4f88988594df4dc6f49569ad40c101f1528f022035951603ce08c056a5a62b1d2926a621d57f56875feae5bee22a4e4e533d3514012103961ce992b67e570147aa9abf4b095892b4d4c2265508abbd2c3942d7485bd361" + }, + "sequence": 4294967295 + }, + { + "txid": "3432767329aa76f70f99aa21a21601108a474f354d0fc7b222b2bdbec8b8dbfb", + "vout": 1, + "scriptSig": { + "asm": "3045022100a8abf366cb1a1f322c241f23dc1e97ea4d6520c1f861d6893d480945c6a11e4902207d20b250119e48923cb952fd37f5980fb1357d1b4d5492fd8eb7e57118f1ccc301", + "hex": "483045022100a8abf366cb1a1f322c241f23dc1e97ea4d6520c1f861d6893d480945c6a11e4902207d20b250119e48923cb952fd37f5980fb1357d1b4d5492fd8eb7e57118f1ccc301" + }, + "sequence": 4294967295 + }, + { + "txid": "4bea64cdcd1cfcbf322247a31009fa78378aa08d323fd8c808db05f4ed370537", + "vout": 1, + "scriptSig": { + "asm": "30440220404278668d56b3922c03523d40fa38d8e9f01017f9834f8fee8605f920fdb6ef0220122ff839258555e2c580e0654ba3bc180fd23ab9687878b9d262cf67f8ace0eb01", + "hex": "4730440220404278668d56b3922c03523d40fa38d8e9f01017f9834f8fee8605f920fdb6ef0220122ff839258555e2c580e0654ba3bc180fd23ab9687878b9d262cf67f8ace0eb01" + }, + "sequence": 4294967295 + } + ], + "vout": [ + { + "value": 5000, + "n": 0, + "scriptPubKey": { + "asm": "OP_ZEROCOINMINT 128 bf24c8600b8c52ab4c9c2beb23d5b4678b1428d0a7a1a4b0f272773ef9aff94dd80411e0f1f16645ef78ac99a8cb8ff318e9ec7fb5998d69f0c4b5f65a580fb14ab00fe0f1d734d946d8e512af87af736a63e89988f8e8e20e6853eb724b7c1628d3ceb4ea03f1f5abdb946f27dcafdbd14b552a6e7f7802fc35bc2225b42e61", + "hex": "c10280004c80bf24c8600b8c52ab4c9c2beb23d5b4678b1428d0a7a1a4b0f272773ef9aff94dd80411e0f1f16645ef78ac99a8cb8ff318e9ec7fb5998d69f0c4b5f65a580fb14ab00fe0f1d734d946d8e512af87af736a63e89988f8e8e20e6853eb724b7c1628d3ceb4ea03f1f5abdb946f27dcafdbd14b552a6e7f7802fc35bc2225b42e61", + "type": "zerocoinmint" + } + }, + { + "value": 1000, + "n": 1, + "scriptPubKey": { + "asm": "OP_ZEROCOINMINT 129 31152da13cf56e8dd2414d0c5aec2eae511d35d7d7036c3670e06369d889771fb1dd40eb952b624a9a808675a89250a2508b021235ddbf2084e19e5f9061fecd663cd803ebf1cc85abb95ef06be7c31c8289f4c0c053ae272b5c18d8b99f39aba9be166b288f26693bec6c5398b8a6b6112c76d9f8d0aa957ac8f9090a3156c200", + "hex": "c10281004c8131152da13cf56e8dd2414d0c5aec2eae511d35d7d7036c3670e06369d889771fb1dd40eb952b624a9a808675a89250a2508b021235ddbf2084e19e5f9061fecd663cd803ebf1cc85abb95ef06be7c31c8289f4c0c053ae272b5c18d8b99f39aba9be166b288f26693bec6c5398b8a6b6112c76d9f8d0aa957ac8f9090a3156c200", + "type": "zerocoinmint" + } + }, + { + "value": 500, + "n": 2, + "scriptPubKey": { + "asm": "OP_ZEROCOINMINT 128 ab395dcfcc9d0d7245b5dc0da2aa20981735116ec8585627a595336590771a1b5350f97d6fb80f5efdadc13cfe99ea478056034ca0964721b66a5d696211ae036ff8645805cdef2dcb77fcca53ae935bfcf8288e91ca7737245e36230173cc5310117777e7e48d90aa17cc5261548b8be639d28b72876b6dc3afecc841200f7f", + "hex": "c10280004c80ab395dcfcc9d0d7245b5dc0da2aa20981735116ec8585627a595336590771a1b5350f97d6fb80f5efdadc13cfe99ea478056034ca0964721b66a5d696211ae036ff8645805cdef2dcb77fcca53ae935bfcf8288e91ca7737245e36230173cc5310117777e7e48d90aa17cc5261548b8be639d28b72876b6dc3afecc841200f7f", + "type": "zerocoinmint" + } + }, + { + "value": 100, + "n": 3, + "scriptPubKey": { + "asm": "OP_ZEROCOINMINT 128 ff2b65fca5c36a4dd3b7ff9a193324cfc589cbc7412c80d0c93ca34cea3a6f0301c61aa6976ef7324711b4d6644558eaa951d34d017677d1186c326fbb8fdb4ae58c93d10d8d16142d5b25a1cc679e5ba8c3ff582f21b552539e4fc5b986f4cf994bf1bb3b6adcb6e441f5feb7be31599bf545ce583d01c29d1c8f057d0aec54", + "hex": "c10280004c80ff2b65fca5c36a4dd3b7ff9a193324cfc589cbc7412c80d0c93ca34cea3a6f0301c61aa6976ef7324711b4d6644558eaa951d34d017677d1186c326fbb8fdb4ae58c93d10d8d16142d5b25a1cc679e5ba8c3ff582f21b552539e4fc5b986f4cf994bf1bb3b6adcb6e441f5feb7be31599bf545ce583d01c29d1c8f057d0aec54", + "type": "zerocoinmint" + } + }, + { + "value": 50, + "n": 4, + "scriptPubKey": { + "asm": "OP_ZEROCOINMINT 129 6bbb23f619a38a8db29e0c2f75808ea286c1f1f2ce99e293f1e6936602dcec37c0bfa7a6be6330a0f576c396f67cc4368ee50cd0dcaa2f4a89f7a3d7b22a1f8454a3fb4c50fff3dab474a2d489ae0a4906878c8e6355aac95f23611eed4d0645e5920a38c168feba3c103638184409b695b322ab6dd3346d82586f154729b1b900", + "hex": "c10281004c816bbb23f619a38a8db29e0c2f75808ea286c1f1f2ce99e293f1e6936602dcec37c0bfa7a6be6330a0f576c396f67cc4368ee50cd0dcaa2f4a89f7a3d7b22a1f8454a3fb4c50fff3dab474a2d489ae0a4906878c8e6355aac95f23611eed4d0645e5920a38c168feba3c103638184409b695b322ab6dd3346d82586f154729b1b900", + "type": "zerocoinmint" + } + }, + { + "value": 10, + "n": 5, + "scriptPubKey": { + "asm": "OP_ZEROCOINMINT 129 7d4e07354e18be2b7cf56d839000832e25952638f7ff0110279f63dcabc05eb2339fbcc5f5e42ab6f5ffa878d2142afe305729e1bd2fdc2f6f27f7ad3160751ece1a96b98f8b4d2c998d858a67448eaf693de15b0780b5ea060acfd81c6cfe04bf0ed883e12b8571d1fb5adb3ae06abe99bfc0bc2588a5e9603a3b2cc023a88100", + "hex": "c10281004c817d4e07354e18be2b7cf56d839000832e25952638f7ff0110279f63dcabc05eb2339fbcc5f5e42ab6f5ffa878d2142afe305729e1bd2fdc2f6f27f7ad3160751ece1a96b98f8b4d2c998d858a67448eaf693de15b0780b5ea060acfd81c6cfe04bf0ed883e12b8571d1fb5adb3ae06abe99bfc0bc2588a5e9603a3b2cc023a88100", + "type": "zerocoinmint" + } + }, + { + "value": 5, + "n": 6, + "scriptPubKey": { + "asm": "OP_ZEROCOINMINT 128 b182b775351d0a2ed26ad8dd36879fdac81de2d89c4c1f2ff0230832904f8f56ec78c3d6ad5afc1b137b8c47712b9f9d2b34fa11ef1d1a9748d914842672d9188c17601304540e4b8ec7cffb212d06e0bc69956a7ad828378887cbf535e558db91b2109ccfe4af9f859cd104cc4c65382f3884a54163464e45ea6fa7168de027", + "hex": "c10280004c80b182b775351d0a2ed26ad8dd36879fdac81de2d89c4c1f2ff0230832904f8f56ec78c3d6ad5afc1b137b8c47712b9f9d2b34fa11ef1d1a9748d914842672d9188c17601304540e4b8ec7cffb212d06e0bc69956a7ad828378887cbf535e558db91b2109ccfe4af9f859cd104cc4c65382f3884a54163464e45ea6fa7168de027", + "type": "zerocoinmint" + } + }, + { + "value": 1, + "n": 7, + "scriptPubKey": { + "asm": "OP_ZEROCOINMINT 128 8dffa29073b184676895dbea7da434cdc27e501187b779c92abca1d806bec86fdee2c2ae16e4eb27571b3d4145c21bfd639343dc77259aedfe6d56502579735bbe2642c3a3e52532c48f5a136767c9815dd2076d0b6bcd9be2d3a63238c8f4a434460106b0e207f1059ae01fc972a60694b8351154167eb4a043da196b3a711e", + "hex": "c10280004c808dffa29073b184676895dbea7da434cdc27e501187b779c92abca1d806bec86fdee2c2ae16e4eb27571b3d4145c21bfd639343dc77259aedfe6d56502579735bbe2642c3a3e52532c48f5a136767c9815dd2076d0b6bcd9be2d3a63238c8f4a434460106b0e207f1059ae01fc972a60694b8351154167eb4a043da196b3a711e", + "type": "zerocoinmint" + } + }, + { + "value": 28.51241166, + "n": 8, + "scriptPubKey": { + "asm": "OP_DUP OP_HASH160 693155e0e4882ba26feeedfdffd9af2f9e8040d0 OP_EQUALVERIFY OP_CHECKSIG", + "hex": "76a914693155e0e4882ba26feeedfdffd9af2f9e8040d088ac", + "reqSigs": 1, + "type": "pubkeyhash", + "addresses": ["DEjJbHhPsqZZZnVDaXb9p3wM5Ws28Abkg7"] + } + } + ], + "blockhash": "84c3697c0a0cfdeb8499d69da97151ed8babfd44cdf59d5b7d5e2dcc4870bdf9", + "confirmations": 696594, + "time": 1508218661, + "blocktime": 1508218661 + } + ] + } + } + }, + "handleFork": { + "syncRanges": [{ "lower": 863801, "upper": 863801 }], + "fakeBlocks": { + "863801": { + "height": 863801, + "hash": "915a2413d358f373be303f242aa92619e6e0eeb16856217140f8749b86acea79" + } + }, + "realBlocks": { + "863801": { + "height": 863801, + "hash": "84c3697c0a0cfdeb8499d69da97151ed8babfd44cdf59d5b7d5e2dcc4870bdf9" + } + } + } +} diff --git a/tests/tests.json b/tests/tests.json index 4bd08ebd..d12def39 100644 --- a/tests/tests.json +++ b/tests/tests.json @@ -85,5 +85,10 @@ "rpc": ["GetBlock", "GetBlockHash", "GetTransaction", "GetTransactionForMempool", "MempoolSync", "EstimateSmartFee", "EstimateFee", "GetBestBlockHash", "GetBestBlockHeight", "GetBlockHeader"], "sync": ["ConnectBlocksParallel", "ConnectBlocks", "HandleFork"] + }, + "pivx": { + "rpc": ["GetBlock", "GetBlockHash", "GetTransaction", "GetTransactionForMempool", "MempoolSync", + "EstimateSmartFee", "EstimateFee", "GetBestBlockHash", "GetBestBlockHeight", "GetBlockHeader"], + "sync": ["ConnectBlocksParallel", "ConnectBlocks", "HandleFork"] } }