117 txs
260 calls
constructor
constructor(address _usdt, address _usdc, address[] addresses, uint256[] balances, uint256[] deadlines, uint256[] bonusDeadlines, uint256[] inviteCounts, uint256[] refCodes, uint256[] collectiveCodes, bool[] statuses)
functions
adminBalance
viewfunction adminBalance() view returns (uint256)
adminBalanceUSDC
viewfunction adminBalanceUSDC() view returns (uint256)
adminBalanceUSDT
viewfunction adminBalanceUSDT() view returns (uint256)
ENTERPRISE_JOIN_FEE
viewfunction ENTERPRISE_JOIN_FEE() view returns (uint256)
ENTERPRISE_TAX
viewfunction ENTERPRISE_TAX() view returns (uint256)
enterprise_tierRewards
viewfunction enterprise_tierRewards(uint256) view returns (uint256)
getAdminBalances
viewfunction getAdminBalances() view returns (uint256, uint256, uint256)
getCascadeAddressesByRefCode
viewfunction getCascadeAddressesByRefCode(uint256 refCode) view returns (address[10])
getRefByAddr
viewfunction getRefByAddr(address _addr) view returns (uint256)
getReferrer
viewfunction getReferrer(uint256 _code) view returns (address)
getRewardQueue
viewfunction getRewardQueue() view returns (address[])
getUser
viewfunction getUser(address userAddr) view returns (tuple)
gracePeriod
viewfunction gracePeriod() view returns (uint8)
isBlacklisted
viewfunction isBlacklisted(address) view returns (bool)
JOIN_FEE
viewfunction JOIN_FEE() view returns (uint256)
owner
viewfunction owner() view returns (address)
refByAddr
viewfunction refByAddr(address) view returns (uint256)
referrers
viewfunction referrers(uint256) view returns (address)
rewardQueue
viewfunction rewardQueue(uint256) view returns (address)
TAX
viewfunction TAX() view returns (uint256)
tierRewards
viewfunction tierRewards(uint256) view returns (uint256)
tierSizes
viewfunction tierSizes(uint256) view returns (uint256)
totalRevenue
viewfunction totalRevenue() view returns (uint256)
totalRewards
viewfunction totalRewards() view returns (uint256)
TRANSFER_FEE
viewfunction TRANSFER_FEE() view returns (uint256)
usdc
viewfunction usdc() view returns (address)
usdt
viewfunction usdt() view returns (address)
users
viewfunction users(address) view returns (uint256 balance, uint256 balanceUSDT, uint256 balanceUSDC, uint256 nextDeadline, uint256 bonusDeadline, uint256 runningCount, uint256 inviteCount, uint256 refCode, uint256 collectiveCode, address walletAddress, bool enterprise)
addBlacklistedUsers
nonpayablefunction addBlacklistedUsers(address[1] addresses)
admin_WithdrawFees_Fiat
nonpayablefunction admin_WithdrawFees_Fiat(uint256 amount, uint8 fiatToWithdraw)
admin_WithdrawFees_Mosca
nonpayablefunction admin_WithdrawFees_Mosca(uint256 amount, uint8 fiatToWithdraw)
buy
nonpayablefunction buy(uint256 amount, bool buyFiat, uint8 fiat)
compress
nonpayablefunction compress()
compressSection
nonpayablefunction compressSection(uint256 start, uint256 end)
emergencyWithdraw
nonpayablefunction emergencyWithdraw()
exitProgram
nonpayablefunction exitProgram()
generateRefCode
nonpayablefunction generateRefCode(address _addr)
join
nonpayablefunction join(uint256 amount, uint256 _refCode, uint8 fiat, bool enterpriseJoin)
removeBlacklistedUsers
nonpayablefunction removeBlacklistedUsers(address[] addresses)
setCollectiveCode
nonpayablefunction setCollectiveCode(address addr, uint256 _code)
setUSDCAddress
nonpayablefunction setUSDCAddress(address _newAddr)
setUSDTAddress
nonpayablefunction setUSDTAddress(address _newAddr)
setUserBalance
nonpayablefunction setUserBalance(address addr, uint256 amount)
swap
nonpayablefunction swap(uint8 tokentoSwap, uint8 tokentoReceive, uint256 amount)
transfer
nonpayablefunction transfer(address to, uint256 amount, uint256 fiat)
transferOwnership
nonpayablefunction transferOwnership(address _newAddr)
withdrawFiat
nonpayablefunction withdrawFiat(uint256 amount, bool isFiat, uint8 fiatToWithdraw)
events
AdminWithdrawFees
event AdminWithdrawFees(address indexed user, uint256 timestamp, uint256 amount, uint8 payType)
BoughtMosca
event BoughtMosca(address indexed user, uint256 timestamp, uint256 amount)
BoughtUSDC
event BoughtUSDC(address indexed user, uint256 timestamp, uint256 amount)
BoughtUSDT
event BoughtUSDT(address indexed user, uint256 timestamp, uint256 amount)
Compressed
event Compressed(address indexed user, uint256 time)
Downgrade
event Downgrade(address indexed user, uint256 timestamp)
EmergencyWithdraw
event EmergencyWithdraw(address indexed user, uint256 timestamp)
ExitProgram
event ExitProgram(address indexed user, uint256 timeExited)
Joined
event Joined(address indexed user, uint256 timestamp, uint256 amount, uint8 payType)
RewardEarned
event RewardEarned(address indexed user, uint256 timestamp, uint256 amount)
SubscriptionPaid
event SubscriptionPaid(address indexed user, uint256 timestamp, uint256 amount)
Transfer
event Transfer(address indexed from, address indexed to, uint256 timestamp, uint256 amount)
TransferFeeEarned
event TransferFeeEarned(address indexed user, uint256 timestamp, uint256 amount)
TransferUSDC
event TransferUSDC(address indexed from, address indexed to, uint256 timestamp, uint256 amount)
TransferUSDT
event TransferUSDT(address indexed from, address indexed to, uint256 timestamp, uint256 amount)
WithdrawAll
event WithdrawAll(address indexed user, uint256 timestamp, uint256 amount, uint8 payType)
WithdrawFiat
event WithdrawFiat(address indexed user, uint256 timestamp, uint256 amount, uint8 payType)
errors
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
creation bytecode
0x68018493fba64ef0000060095568055de6a779bbac0000600a9081556729a2241af62c0000600b55677ce66c50e2840000600c556032600d55600e805460ff1916601c1790556101c060405260fa6080908152607d60a081905260c081905260e081905261010081905261012052603f6101408190526101608190526101805260bb6101a052620000949160149190620004c2565b5060408051610140810182526102ee815261017760208201819052918101829052606081018290526080810182905260a081019190915260bd60c0820181905260e08201819052610100820152610231610120820152620000fa90601590600a62000515565b5060408051610140810182526003815260096020820152601b918101919091526051606082015260f360808201526102d960a082015261088b60c08201526119a160e0820152614ce361010082015261e6a96101208201526200016290601690600a62000515565b503480156200016f575f80fd5b50604051620058893803806200588983398101604081905262000192916200073b565b60015f81815560038054336001600160a01b031991821617909155825481166001600160a01b038e81169190911790935560028054909116928c16929092179091555b8851811015620004b1575f60045f8b8481518110620001f857620001f8620008ad565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f209050888281518110620002365762000236620008ad565b6020026020010151815f01819055508782815181106200025a576200025a620008ad565b602002602001015181600301819055508682815181106200027f576200027f620008ad565b60200260200101518160040181905550858281518110620002a457620002a4620008ad565b60200260200101518160060181905550848281518110620002c957620002c9620008ad565b60200260200101518160070181905550838281518110620002ee57620002ee620008ad565b60200260200101518160080181905550898281518110620003135762000313620008ad565b6020026020010151816009015f6101000a8154816001600160a01b0302191690836001600160a01b03160217905550828281518110620003575762000357620008ad565b60200260200101518160090160146101000a81548160ff02191690831515021790555060088a8381518110620003915762000391620008ad565b60209081029190910181015182546001810184555f938452919092200180546001600160a01b0319166001600160a01b0390921691909117905589518a9083908110620003e257620003e2620008ad565b602002602001015160055f878581518110620004025762000402620008ad565b602002602001015181526020019081526020015f205f6101000a8154816001600160a01b0302191690836001600160a01b031602179055508482815181106200044f576200044f620008ad565b602002602001015160065f8c85815181106200046f576200046f620008ad565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f2081905550508080620004a890620008c1565b915050620001d5565b5050505050505050505050620008e6565b828054828255905f5260205f2090810192821562000503579160200282015b8281111562000503578251829060ff16905591602001919060010190620004e1565b506200051192915062000557565b5090565b828054828255905f5260205f2090810192821562000503579160200282015b8281111562000503578251829061ffff1690559160200191906001019062000534565b5b8082111562000511575f815560010162000558565b80516001600160a01b038116811462000584575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b0381118282101715620005c857620005c862000589565b604052919050565b5f6001600160401b03821115620005eb57620005eb62000589565b5060051b60200190565b5f82601f83011262000605575f80fd5b815160206200061e6200061883620005d0565b6200059d565b82815260059290921b840181019181810190868411156200063d575f80fd5b8286015b84811015620006635762000655816200056d565b835291830191830162000641565b509695505050505050565b5f82601f8301126200067e575f80fd5b81516020620006916200061883620005d0565b82815260059290921b84018101918181019086841115620006b0575f80fd5b8286015b84811015620006635780518352918301918301620006b4565b5f82601f830112620006dd575f80fd5b81516020620006f06200061883620005d0565b82815260059290921b840181019181810190868411156200070f575f80fd5b8286015b848110156200066357805180151581146200072d575f8081fd5b835291830191830162000713565b5f805f805f805f805f806101408b8d03121562000756575f80fd5b620007618b6200056d565b99506200077160208c016200056d565b60408c01519099506001600160401b03808211156200078e575f80fd5b6200079c8e838f01620005f5565b995060608d0151915080821115620007b2575f80fd5b620007c08e838f016200066e565b985060808d0151915080821115620007d6575f80fd5b620007e48e838f016200066e565b975060a08d0151915080821115620007fa575f80fd5b620008088e838f016200066e565b965060c08d01519150808211156200081e575f80fd5b6200082c8e838f016200066e565b955060e08d015191508082111562000842575f80fd5b620008508e838f016200066e565b94506101008d015191508082111562000867575f80fd5b620008758e838f016200066e565b93506101208d01519150808211156200088c575f80fd5b506200089b8d828e01620006cd565b9150509295989b9194979a5092959850565b634e487b7160e01b5f52603260045260245ffd5b5f60018201620008df57634e487b7160e01b5f52601160045260245ffd5b5060010190565b614f9580620008f45f395ff3fe608060405234801561000f575f80fd5b506004361061028c575f3560e01c80636f77926b11610161578063cae7d9b0116100ca578063e68c7c4011610084578063e68c7c4014610690578063ea159a87146106a3578063f2fde38b146106ab578063f30e69f9146106be578063fe177700146106d1578063fe575a87146106e4575f80fd5b8063cae7d9b014610611578063cff461e61461061a578063d9b6f6151461062d578063db2e21bc14610640578063e0324a9d14610648578063e2b93a5614610670575f80fd5b8063a87430ba1161011b578063a87430ba1461050a578063a8c39b8b146105db578063aaf5bfc3146105e3578063bf2d9e0b146105f6578063c0b226dc146105ff578063c4c036be14610608575f80fd5b80636f77926b146104875780637e9824ed146104a75780638da5cb5b146104c65780639858befb146104d95780639db6bbd2146104e2578063a06db7dc146104eb575f80fd5b80632f6eb6af116102035780634e977f7e116101bd5780634e977f7e1461041d578063556c448d1461043057806355eba868146104435780635e6c3e8f146104565780635fb3b5a31461046b57806368f58b031461047e575f80fd5b80632f6eb6af146103b557806330521bde146103c857806336265192146103db5780633e413bee146103e4578063464a0e29146103f75780634a88500f1461040a575f80fd5b806318f52ce21161025457806318f52ce21461033c5780631ab62b68146103605780631b8623ee146103735780632cb37a64146103865780632da0cd001461038f5780632f48ab7d146103a2575f80fd5b806301c7224f14610290578063095bcdb6146102d55780630e15561a146102ea5780631847d1521461030157806318c6203a14610314575b5f80fd5b6102b861029e3660046147c5565b60056020525f90815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6102e86102e33660046147f7565b610716565b005b6102f360105481565b6040519081526020016102cc565b6102e861030f36600461486c565b610a2e565b6102b86103223660046147c5565b5f908152600560205260409020546001600160a01b031690565b601154601354601254604080519384526020840192909252908201526060016102cc565b6102e861036e3660046148fc565b610abf565b6102e8610381366004614935565b610d27565b6102f3600a5481565b6102e861039d366004614955565b6111dc565b6001546102b8906001600160a01b031681565b6102e86103c3366004614975565b6111e8565b6102f36103d63660046147c5565b611230565b6102f3600d5481565b6002546102b8906001600160a01b031681565b6102e861040536600461499d565b61124f565b6102b86104183660046147c5565b6112dd565b6102e861042b366004614a52565b611305565b6102f361043e3660046147c5565b61160e565b6102e8610451366004614955565b61161d565b61045e611669565b6040516102cc9190614a8d565b6102e8610479366004614ad9565b6116c9565b6102f3600b5481565b61049a610495366004614955565b6125b5565b6040516102cc9190614b1e565b6102f36104b5366004614955565b60066020525f908152604090205481565b6003546102b8906001600160a01b031681565b6102f360115481565b6102f360125481565b600e546104f89060ff1681565b60405160ff90911681526020016102cc565b61057d610518366004614955565b600460208190525f9182526040909120805460018201546002830154600384015494840154600585015460068601546007870154600888015460099098015496989597949693949293919290916001600160a01b03811690600160a01b900460ff168b565b604080519b8c5260208c019a909a52988a01979097526060890195909552608088019390935260a087019190915260c086015260e08501526101008401526001600160a01b03166101208301521515610140820152610160016102cc565b6102e86126b5565b6102e86105f1366004614955565b61292b565b6102f3600f5481565b6102f360095481565b6102f3600c5481565b6102f360135481565b6102f36106283660046147c5565b612977565b6102e861063b366004614a52565b612986565b6102e8612c70565b6102f3610656366004614955565b6001600160a01b03165f9081526006602052604090205490565b61068361067e3660046147c5565b612e89565b6040516102cc9190614bb0565b6102e861069e366004614bea565b612fd3565b6102e86132ba565b6102e86106b9366004614955565b61371b565b6102e86106cc366004614bea565b613767565b6102e86106df366004614975565b613a18565b6107066106f2366004614955565b60076020525f908152604090205460ff1681565b60405190151581526020016102cc565b61071e613a5d565b3361077b5760405162461bcd60e51b815260206004820152602260248201527f66726f6d20616464726573732063616e6e6f74206265206e6f6e6578697374656044820152611b9d60f21b60648201526084015b60405180910390fd5b335f908152600460205260409020548211156107a95760405162461bcd60e51b815260040161077290614c14565b8060010361089657335f908152600460205260409020600101548211156107e25760405162461bcd60e51b815260040161077290614c14565b5f6107ef33846001613a85565b335f90815260046020526040812060010180549293508592909190610815908490614c56565b90915550506001600160a01b0384165f9081526004602052604081206001018054839290610844908490614c69565b909155505060408051428152602081018590526001600160a01b0386169133917f168a16f5dce968b332fcb6498cad607139e34f092258dc1186982ff36b463dd591015b60405180910390a350610a20565b8060020361097957335f908152600460205260409020600201548211156108cf5760405162461bcd60e51b815260040161077290614c14565b5f6108dc33846002613a85565b335f90815260046020526040812060020180549293508592909190610902908490614c56565b90915550506001600160a01b0384165f9081526004602052604081206002018054839290610931908490614c69565b909155505060408051428152602081018590526001600160a01b0386169133917fc04eed2aea39b0b0108dcc795f4fbd4da6495e89d620c185ed892d4ffea5b7a19101610888565b5f6109843384613ed0565b335f908152600460205260408120805492935085929091906109a7908490614c56565b90915550506001600160a01b0384165f90815260046020526040812080548392906109d3908490614c69565b909155505060408051428152602081018590526001600160a01b0386169133917f9ed053bb818ff08b8353cd46f78db1f0799f31c9e4458fdb425c10eccd2efc44910160405180910390a3505b610a2960015f55565b505050565b6003546001600160a01b03163314610a585760405162461bcd60e51b815260040161077290614c7c565b5f5b6001811015610abb57600160075f848460018110610a7a57610a7a614ca3565b602090810291909101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905580610ab381614cb7565b915050610a5a565b5050565b610ac7613a5d565b335f90815260046020526040902060ff8416600103610baf578054821115610b315760405162461bcd60e51b815260206004820152601a60248201527f496e73756666696369656e74206d6f7363612062616c616e63650000000000006044820152606401610772565b8260ff16600203610b735781815f015f828254610b4e9190614c56565b9250508190555081816001015f828254610b689190614c69565b90915550610d1d9050565b8260ff16600303610baa5781815f015f828254610b909190614c56565b9250508190555081816002015f828254610b689190614c69565b610d1d565b8360ff16600203610c62578060010154821115610c0e5760405162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e7420757364742062616c616e6365000000000000006044820152606401610772565b8260ff16600103610c445781816001015f828254610c2c9190614c56565b90915550508054829082905f90610b68908490614c69565b8260ff16600303610baa5781816001015f828254610b909190614c56565b8360ff16600303610d1d578060020154821115610cc15760405162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e7420757364632062616c616e6365000000000000006044820152606401610772565b8260ff16600103610cdf5781816002015f828254610c2c9190614c56565b8260ff16600203610d1d5781816002015f828254610cfd9190614c56565b9250508190555081816001015f828254610d179190614c69565b90915550505b50610a2960015f55565b6003546001600160a01b03163314610d515760405162461bcd60e51b815260040161077290614c7c565b805b82811115610a29575f6008610d69600184614c56565b81548110610d7957610d79614ca3565b5f9182526020808320909101546001600160a01b03168083526004909152604090912060038101549192509042106111c7576009810154600160a01b900460ff1615610f0057600a54815410610e5757600a54815f015f828254610ddd9190614c56565b9091555050600c54601180545f90610df6908490614c69565b90915550610e099050426224ea00614c69565b6003820155610e17826141ad565b816001600160a01b03165f80516020614f4083398151915242600a54604051610e4a929190918252602082015260400190565b60405180910390a2610fcd565b805415610efb578054601180545f90610e71908490614c69565b90915550505f8082556040516001600160a01b038416915f80516020614f4083398151915291610ea991428252602082015260400190565b60405180910390a260098101805460ff60a01b191690556040514281526001600160a01b038316907f090819602cf2da55e9f11111764605bb80774f3a0c9f409e0f87a699eee4546c90602001610e4a565b610fcd565b600954815410610f7257600954815f015f828254610f1e9190614c56565b90915550610f319050426224ea00614c69565b6003820155610f3f826141ad565b816001600160a01b03165f80516020614f4083398151915242600954604051610e4a929190918252602082015260400190565b805415610fcd578054601180545f90610f8c908490614c69565b90915550505f8082556040516001600160a01b038416915f80516020614f4083398151915291610fc491428252602082015260400190565b60405180910390a25b600e54610fe09060ff1662015180614ccf565b62ffffff168160030154610ff49190614c69565b4211156111c7576001600160a01b0382165f9081526006602052604090205415801561103c575060078101545f908152600560205260409020546001600160a01b031661dead145b156110485750506111ca565b60088101545f908152600560205260409020546001600160a01b03168015611096576001600160a01b0381165f90815260046020526040812060060180549161109083614cee565b91905055505b6001600160a01b0383165f908152600660209081526040808320839055600785015483526005909152902080546001600160a01b03191661dead179055600880546110e390600190614c56565b815481106110f3576110f3614ca3565b5f918252602090912001546001600160a01b03166008611114600187614c56565b8154811061112457611124614ca3565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b03160217905550600880548061116057611160614d03565b5f8281526020902081015f1990810180546001600160a01b03191690550190556040516001600160a01b038416907f8cfcec236ba3cb5fc7341fa4da9b9d30e49e8d4fbd10099b972b8f94d37e6d21906111bd9042815260200190565b60405180910390a2505b50505b806111d481614cee565b915050610d53565b6111e581614455565b50565b6003546001600160a01b031633146112125760405162461bcd60e51b815260040161077290614c7c565b6001600160a01b039091165f90815260046020526040902060080155565b6016818154811061123f575f80fd5b5f91825260209091200154905081565b6003546001600160a01b031633146112795760405162461bcd60e51b815260040161077290614c7c565b5f5b8151811015610abb575f60075f84848151811061129a5761129a614ca3565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055806112d581614cb7565b91505061127b565b600881815481106112ec575f80fd5b5f918252602090912001546001600160a01b0316905081565b61130d613a5d565b335f90815260066020526040812054900361137b5760405162461bcd60e51b815260206004820152602860248201527f43616e6e6f7420627579206265666f72652061637469766174696e67206369746044820152670697a656e736869760c41b6064820152608401610772565b335f908152600460205260408120906103f7611399866103e8614d17565b6113a39190614d42565b905084600f5f8282546113b69190614c69565b909155508490506114195780825f015f8282546113d39190614c69565b9091555050604080514281526020810183905233917f3524f993626a56195f287cdcd2bf4625d9fab4edc069643c96377a280da999b791015b60405180910390a26114c8565b8260ff166001036114745780826001015f8282546114379190614c69565b9091555050604080514281526020810183905233917fb38081640186ed4d7bc108bf3b72f876a343639051ec916d52a3072285d4c400910161140c565b80826002015f8282546114879190614c69565b9091555050604080514281526020810183905233917f884c5bcf448a874f8c5e054e7e0ca1e4b9194c99f21f242bb59c04e62652e694910160405180910390a25b8260ff16600103611568576001546040516323b872dd60e01b81526001600160a01b03909116906323b872dd9061150790339030908a90600401614d55565b6020604051808303815f875af1158015611523573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115479190614d79565b6115635760405162461bcd60e51b815260040161077290614d94565b6115f8565b6002546040516323b872dd60e01b81526001600160a01b03909116906323b872dd9061159c90339030908a90600401614d55565b6020604051808303815f875af11580156115b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115dc9190614d79565b6115f85760405162461bcd60e51b815260040161077290614d94565b6116023386613ed0565b505050610a2960015f55565b6014818154811061123f575f80fd5b6003546001600160a01b031633146116475760405162461bcd60e51b815260040161077290614c7c565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b606060088054806020026020016040519081016040528092919081815260200182805480156116bf57602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116116a1575b5050505050905090565b6116d1613a5d565b335f90815260046020526040812080549091906806e27aa3200a9c0000106116f9575f61170f565b815461170f906806e27aa3200a9c000090614c56565b90505f806103f7611720848a614c69565b61172c906103e8614d17565b6117369190614d42565b90508415611e1e57335f908152600660205260408120549003611a3857600954611761906003614d17565b600a5461176f906003614d17565b6117799190614c69565b8810156117dc5760405162461bcd60e51b815260206004820152602b60248201527f496e73756666696369656e7420616d6f756e742073656e7420746f206a6f696e60448201526a20656e746572707269736560a81b6064820152608401610772565b8560ff1660010361196257600154600c546001600160a01b03909116906323b872dd903390309061180e906003614d17565b611818908d614c56565b6040518463ffffffff1660e01b815260040161183693929190614d55565b6020604051808303815f875af1158015611852573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118769190614d79565b6118925760405162461bcd60e51b815260040161077290614d94565b60015460038054600c546001600160a01b03938416936323b872dd933393909116916118bd91614d17565b6040518463ffffffff1660e01b81526004016118db93929190614d55565b6020604051808303815f875af11580156118f7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061191b9190614d79565b61195d5760405162461bcd60e51b8152602060048201526013602482015272151c985b9cd9995c881d185e0819985a5b1959606a1b6044820152606401610772565b611e04565b600254600c546001600160a01b03909116906323b872dd9033903090611989906003614d17565b611993908d614c56565b6040518463ffffffff1660e01b81526004016119b193929190614d55565b6020604051808303815f875af11580156119cd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119f19190614d79565b611a0d5760405162461bcd60e51b815260040161077290614d94565b60025460038054600c546001600160a01b03938416936323b872dd933393909116916118bd91614d17565b600a54611a46906003614d17565b611a50848a614c69565b1015611ab35760405162461bcd60e51b815260206004820152602c60248201527f496e73756666696369656e7420616d6f756e7420746f2075706772616465207460448201526b6f20656e746572707269736560a01b6064820152608401610772565b600c54611ac1906003614d17565b831015611c0c5782600c546003611ad89190614d17565b611ae29190614c56565b915082600c546003611af49190614d17565b611afe9190614c56565b60115f828254611b0e9190614c69565b90915550508354839085905f90611b26908490614c56565b909155505f93505060ff8616600103611bd3576001546003546040516323b872dd60e01b81526001600160a01b03928316926323b872dd92611b72923392909116908790600401614d55565b6020604051808303815f875af1158015611b8e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bb29190614d79565b611bce5760405162461bcd60e51b815260040161077290614d94565b611cc5565b6002546003546040516323b872dd60e01b81526001600160a01b03928316926323b872dd92611b72923392909116908790600401614d55565b600c54611c1a906003614d17565b60115f828254611c2a9190614c69565b9091555050600c54611c3d906003614d17565b611c479084614c56565b9250600c546003611c589190614d17565b845f015f828254611c699190614c56565b9091555050600a54611c7c906003614d17565b831115611cad57600a54611c91906003614d17565b845f015f828254611ca29190614c56565b90915550611cc59050565b82845f015f828254611cbf9190614c56565b90915550505b8715611e04578560ff16600103611d6d576001546001600160a01b03166323b872dd3330611cf3868d614c56565b6040518463ffffffff1660e01b8152600401611d1193929190614d55565b6020604051808303815f875af1158015611d2d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d519190614d79565b61195d5760405162461bcd60e51b815260040161077290614d94565b6002546001600160a01b03166323b872dd3330611d8a868d614c56565b6040518463ffffffff1660e01b8152600401611da893929190614d55565b6020604051808303815f875af1158015611dc4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611de89190614d79565b611e045760405162461bcd60e51b815260040161077290614d94565b60098401805460ff60a01b1916600160a01b179055612120565b600954881015611e705760405162461bcd60e51b815260206004820152601860248201527f496e73756666696369656e7420616d6f756e742073656e7400000000000000006044820152606401610772565b8560ff16600103611fd057600154600b546001600160a01b03909116906323b872dd9033903090611ea2906003614d17565b611eac908d614c56565b6040518463ffffffff1660e01b8152600401611eca93929190614d55565b6020604051808303815f875af1158015611ee6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f0a9190614d79565b611f265760405162461bcd60e51b815260040161077290614d94565b60015460038054600b546001600160a01b03938416936323b872dd93339390911691611f5191614d17565b6040518463ffffffff1660e01b8152600401611f6f93929190614d55565b6020604051808303815f875af1158015611f8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611faf9190614d79565b611fcb5760405162461bcd60e51b815260040161077290614d94565b612120565b600254600b546001600160a01b03909116906323b872dd9033903090611ff7906003614d17565b612001908d614c56565b6040518463ffffffff1660e01b815260040161201f93929190614d55565b6020604051808303815f875af115801561203b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061205f9190614d79565b61207b5760405162461bcd60e51b815260040161077290614d94565b60025460038054600b546001600160a01b03938416936323b872dd933393909116916120a691614d17565b6040518463ffffffff1660e01b81526004016120c493929190614d55565b6020604051808303815f875af11580156120e0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121049190614d79565b6121205760405162461bcd60e51b815260040161077290614d94565b61212d426224ea00614c69565b600385015561213f4262093a80614c69565b60048501556009840180546001600160a01b03191633179055600f80548991905f9061216c908490614c69565b90915550859050612189576009546121849082614c56565b612196565b600a546121969082614c56565b845f015f8282546121a79190614c69565b90915550505f878152600560205260409020546001600160a01b0316156124ec576008840187905584801561220e575060088401545f908152600560209081526040808320546001600160a01b031683526004909152902060090154600160a01b900460ff165b612220576756bc75e2d631000061222b565b680138400eca364a00005b60088501545f908152600560209081526040808320546001600160a01b0316835260049091528120805468ffffffffffffffffff9390931692909190612272908490614c69565b909155505060088401545f908152600560209081526040808320546001600160a01b03168352600490915281206006018054916122ae83614cb7565b909155505060088401545f908152600560205260409020546001600160a01b03165f80516020614f008339815191524287801561231d575060088701545f908152600560209081526040808320546001600160a01b031683526004909152902060090154600160a01b900460ff165b61232f576756bc75e2d631000061233a565b680138400eca364a00005b6040805192835268ffffffffffffffffff90911660208301520160405180910390a260088401545f908152600560209081526040808320546001600160a01b03168352600490915290206006015461239490600390614dbd565b5f036124ec578480156123d9575060088401545f908152600560209081526040808320546001600160a01b031683526004909152902060090154600160a01b900460ff165b6123eb576756bc75e2d63100006123f6565b680138400eca364a00005b60088501545f908152600560209081526040808320546001600160a01b0316835260049091528120805468ffffffffffffffffff939093169290919061243d908490614c69565b909155505060088401545f908152600560205260409020546001600160a01b03165f80516020614f00833981519152428780156124ac575060088701545f908152600560209081526040808320546001600160a01b031683526004909152902060090154600160a01b900460ff165b6124be576756bc75e2d63100006124c9565b680138400eca364a00005b6040805192835268ffffffffffffffffff90911660208301520160405180910390a25b60088054600181019091557ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180546001600160a01b031916339081179091555f90815260066020526040812054900361254957612549336111dc565b60408051428152602081018a905260ff881681830152905133917f1c953af84c45fe5100cb56c268757a578196f421e304b18b669f6aeddc201314919081900360600190a2612597336141ad565b6125a13389613ed0565b50505050506125af60015f55565b50505050565b6126126040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f151581525090565b506001600160a01b039081165f908152600460208181526040928390208351610160810185528154815260018201549281019290925260028101549382019390935260038301546060820152908201546080820152600582015460a0820152600682015460c0820152600782015460e08201526008820154610100820152600990910154918216610120820152600160a01b90910460ff16151561014082015290565b6126bd613a5d565b335f9081526007602052604090205460ff161561270f5760405162461bcd60e51b815260206004820152601060248201526f213630b1b5b634b9ba32b2103ab9b2b960811b6044820152606401610772565b335f908152600460209081526040808320600881015484526005909252909120546001600160a01b0316801580159061276157506001600160a01b0381165f9081526004602052604090206006015415155b15612792576001600160a01b0381165f90815260046020526040812060060180549161278c83614cee565b91905055505b5f5b60085481101561291d575f600882815481106127b2576127b2614ca3565b5f918252602090912001546001600160a01b0316905033810361290a576127d8336144ab565b6001600160a01b0381165f908152600660209081526040808320839055600787015483526005909152812080546001600160a01b03191661dead179055845560098401805460ff60a01b191690556008805461283690600190614c56565b8154811061284657612846614ca3565b5f91825260209091200154600880546001600160a01b03909216918490811061287157612871614ca3565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555060088054806128ad576128ad614d03565b5f8281526020902081015f1990810180546001600160a01b031916905501905560405133907f7c64ba85823e472f94a20df4d8cf48a802ed249f146d621653f56e3202c736a1906129019042815260200190565b60405180910390a25b508061291581614cb7565b915050612794565b50505061292960015f55565b565b6003546001600160a01b031633146129555760405162461bcd60e51b815260040161077290614c7c565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6015818154811061123f575f80fd5b61298e613a5d565b335f9081526007602052604090205460ff16156129e05760405162461bcd60e51b815260206004820152601060248201526f213630b1b5b634b9ba32b2103ab9b2b960811b6044820152606401610772565b335f9081526004602052604081206009810154909190600160a01b900460ff16612a135768018493fba64ef00000612a1e565b6806e27aa3200a9c00005b68ffffffffffffffffff1690505f806103f7612a3c886103e8614d17565b612a469190614d42565b905085612a565783549150612a74565b8460ff16600114612a6b578360020154612a71565b83600101545b91505b612a7e8383614c56565b871115612a9d5760405162461bcd60e51b815260040161077290614c14565b85612abf5786845f015f828254612ab49190614c56565b90915550612b049050565b8460ff16600114612ae85786846002015f828254612add9190614c56565b925050819055612b02565b86846001015f828254612afb9190614c56565b9250508190555b505b8460ff16600114612b865760025460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb90612b419033908590600401614dd0565b6020604051808303815f875af1158015612b5d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b819190614d79565b612bf8565b60015460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb90612bb89033908590600401614dd0565b6020604051808303815f875af1158015612bd4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bf89190614d79565b5085612c0e57612c083388613ed0565b50612c1e565b612c1c33888760ff16613a85565b505b604080514281526020810189905260ff871681830152905133917faa669d099375b570029afbc4c1d31ab71b7ac682f1196c1f70ba9d62f03fefa7919081900360600190a250505050610a2960015f55565b6003546001600160a01b03163314612c9a5760405162461bcd60e51b815260040161077290614c7c565b6001546003546040516370a0823160e01b81523060048201526001600160a01b039283169263a9059cbb92169083906370a0823190602401602060405180830381865afa158015612ced573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d119190614de9565b6040518363ffffffff1660e01b8152600401612d2e929190614dd0565b6020604051808303815f875af1158015612d4a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d6e9190614d79565b612d76575f80fd5b6002546003546040516370a0823160e01b81523060048201526001600160a01b039283169263a9059cbb92169083906370a0823190602401602060405180830381865afa158015612dc9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ded9190614de9565b6040518363ffffffff1660e01b8152600401612e0a929190614dd0565b6020604051808303815f875af1158015612e26573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e4a9190614d79565b612e52575f80fd5b60405142815233907f5fafa99d0643513820be26656b45130b01e1c03062e1266bf36f88cbd3bd96959060200160405180910390a2565b612e916147a6565b612e996147a6565b5f838152600560205260408120546001600160a01b0316905b6001600160a01b03821615801590612eca5750600a81105b15612fca576001600160a01b038281165f908152600460208181526040808420815161016081018352815481526001820154818501526002820154818401526003820154606082015293810154608085015260058082015460a0860152600682015460c0860152600782015460e086018190526008830154610100870152600990920154808816610120870152600160a01b900460ff161515610140860152908552909152909120549091168483600a8110612f8857612f88614ca3565b6001600160a01b03928316602091820292909201919091526101008301515f9081526005909152604090205416925081612fc181614cb7565b92505050612eb2565b50909392505050565b6003546001600160a01b03163314612ffd5760405162461bcd60e51b815260040161077290614c7c565b5f8160ff1660011461301157601254613015565b6013545b9050808311156130375760405162461bcd60e51b815260040161077290614e00565b8160ff16600103613159576001546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015613088573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130ac9190614de9565b8311156130cb5760405162461bcd60e51b815260040161077290614e45565b8260135f8282546130dc9190614c56565b909155505060015460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb906131139033908790600401614dd0565b6020604051808303815f875af115801561312f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131539190614d79565b5061326c565b6002546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa15801561319f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131c39190614de9565b8311156131e25760405162461bcd60e51b815260040161077290614ea2565b8260125f8282546131f39190614c56565b909155505060025460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb9061322a9033908790600401614dd0565b6020604051808303815f875af1158015613246573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061326a9190614d79565b505b604080514281526020810185905260ff84169181019190915233907fe3a08655b932d431b2df4aad02f527a8054e4831b88f476f8bba3d1668c7c880906060015b60405180910390a2505050565b6003546001600160a01b031633146132e45760405162461bcd60e51b815260040161077290614c7c565b6008545b80156111e5575f60086132fc600184614c56565b8154811061330c5761330c614ca3565b5f9182526020808320909101546001600160a01b0316808352600490915260409091206003810154919250904210613706576009810154600160a01b900460ff161561349357600a548154106133ea57600a54815f015f8282546133709190614c56565b9091555050600c54601180545f90613389908490614c69565b9091555061339c9050426224ea00614c69565b60038201556133aa826141ad565b816001600160a01b03165f80516020614f4083398151915242600a546040516133dd929190918252602082015260400190565b60405180910390a261350c565b80541561348e578054601180545f90613404908490614c69565b90915550505f8082556040516001600160a01b038416915f80516020614f408339815191529161343c91428252602082015260400190565b60405180910390a260098101805460ff60a01b191690556040514281526001600160a01b038316907f090819602cf2da55e9f11111764605bb80774f3a0c9f409e0f87a699eee4546c906020016133dd565b61350c565b6009548154106134b157600954815f015f8282546133899190614c56565b80541561350c578054601180545f906134cb908490614c69565b90915550505f8082556040516001600160a01b038416915f80516020614f408339815191529161350391428252602082015260400190565b60405180910390a25b600e5461351f9060ff1662015180614ccf565b62ffffff1681600301546135339190614c69565b421115613706576001600160a01b0382165f9081526006602052604090205415801561357b575060078101545f908152600560205260409020546001600160a01b031661dead145b15613587575050613709565b60088101545f908152600560205260409020546001600160a01b031680156135d5576001600160a01b0381165f9081526004602052604081206006018054916135cf83614cee565b91905055505b6001600160a01b0383165f908152600660209081526040808320839055600785015483526005909152902080546001600160a01b03191661dead1790556008805461362290600190614c56565b8154811061363257613632614ca3565b5f918252602090912001546001600160a01b03166008613653600187614c56565b8154811061366357613663614ca3565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b03160217905550600880548061369f5761369f614d03565b5f8281526020902081015f1990810180546001600160a01b03191690550190556040516001600160a01b038416907f8cfcec236ba3cb5fc7341fa4da9b9d30e49e8d4fbd10099b972b8f94d37e6d21906136fc9042815260200190565b60405180910390a2505b50505b8061371381614cee565b9150506132e8565b6003546001600160a01b031633146137455760405162461bcd60e51b815260040161077290614c7c565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6003546001600160a01b031633146137915760405162461bcd60e51b815260040161077290614c7c565b601154808311156137b45760405162461bcd60e51b815260040161077290614e00565b8160ff166001036138c0576001546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015613805573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138299190614de9565b8311156138485760405162461bcd60e51b815260040161077290614e45565b60015460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb9061387a9033908790600401614dd0565b6020604051808303815f875af1158015613896573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138ba9190614d79565b506139bd565b6002546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015613906573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061392a9190614de9565b8311156139495760405162461bcd60e51b815260040161077290614ea2565b60025460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb9061397b9033908790600401614dd0565b6020604051808303815f875af1158015613997573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906139bb9190614d79565b505b8260115f8282546139ce9190614c56565b9091555050604080514281526020810185905260ff84169181019190915233907fe3a08655b932d431b2df4aad02f527a8054e4831b88f476f8bba3d1668c7c880906060016132ad565b6003546001600160a01b03163314613a425760405162461bcd60e51b815260040161077290614c7c565b6001600160a01b039091165f90815260046020526040902055565b60025f5403613a7f57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b6001600160a01b038084165f9081526004602090815260408083206008810154845260059092528220549192909116826103f7613ac4876103e8614d17565b613ace9190614d42565b90505f613adc606483614d42565b905085600114613b02578060125f828254613af79190614c69565b925050819055613b1a565b8060135f828254613b139190614c69565b9250508190555b506001600160a01b038381165f908152600460209081526040808320600801548352600590915290205416613c3f5785600114613ba157612710600d5483613b629190614d17565b613b6c9190614d42565b6001600160a01b0384165f9081526004602052604081206002018054909190613b96908490614c69565b925050819055613bed565b612710600d5483613bb29190614d17565b613bbc9190614d42565b6001600160a01b0384165f9081526004602052604081206001018054909190613be6908490614c69565b9250508190555b50826001600160a01b03165f80516020614f2083398151915242612710600d5486613c189190614d17565b613c229190614d42565b6040805192835260208301919091520160405180910390a2613ec5565b85600114613ca3576002612710600d5484613c5a9190614d17565b613c649190614d42565b613c6e9190614d42565b6001600160a01b0384165f9081526004602052604081206002018054909190613c98908490614c69565b925050819055613cfb565b6002612710600d5484613cb69190614d17565b613cc09190614d42565b613cca9190614d42565b6001600160a01b0384165f9081526004602052604081206001018054909190613cf4908490614c69565b9250508190555b5085600114613d7b576002612710600d5484613d179190614d17565b613d219190614d42565b613d2b9190614d42565b6001600160a01b038085165f90815260046020818152604080842060080154845260058252808420549094168352529081206002018054909190613d70908490614c69565b925050819055613dee565b6002612710600d5484613d8e9190614d17565b613d989190614d42565b613da29190614d42565b6001600160a01b038085165f90815260046020818152604080842060080154845260058252808420549094168352529081206001018054909190613de7908490614c69565b9250508190555b50826001600160a01b03165f80516020614f20833981519152426002612710600d5487613e1b9190614d17565b613e259190614d42565b613e2f9190614d42565b6040805192835260208301919091520160405180910390a26001600160a01b038084165f9081526004602090815260408083206008015483526005909152902054600d549116905f80516020614f2083398151915290429060029061271090613e989088614d17565b613ea29190614d42565b613eac9190614d42565b6040805192835260208301919091520160405180910390a25b509695505050505050565b6001600160a01b038083165f9081526004602090815260408083206008810154845260059092528220549192909116826103f7613f0f866103e8614d17565b613f199190614d42565b90505f613f27606483614d42565b90508060115f828254613f3a9190614c69565b90915550506001600160a01b038381165f90815260046020908152604080832060080154835260059091529020541661400757612710600d5483613f7e9190614d17565b613f889190614d42565b6001600160a01b0384165f9081526004602052604081208054909190613faf908490614c69565b92505081905550826001600160a01b03165f80516020614f2083398151915242612710600d5486613fe09190614d17565b613fea9190614d42565b6040805192835260208301919091520160405180910390a26141a1565b6002612710600d548461401a9190614d17565b6140249190614d42565b61402e9190614d42565b6001600160a01b0384165f9081526004602052604081208054909190614055908490614c69565b9091555050600d546002906127109061406e9085614d17565b6140789190614d42565b6140829190614d42565b6001600160a01b038085165f908152600460208181526040808420600801548452600582528084205490941683525290812080549091906140c4908490614c69565b92505081905550826001600160a01b03165f80516020614f20833981519152426002612710600d54876140f79190614d17565b6141019190614d42565b61410b9190614d42565b6040805192835260208301919091520160405180910390a26001600160a01b038084165f9081526004602090815260408083206008015483526005909152902054600d549116905f80516020614f20833981519152904290600290612710906141749088614d17565b61417e9190614d42565b6141889190614d42565b6040805192835260208301919091520160405180910390a25b50925050505b92915050565b6001600160a01b038082165f908152600460209081526040808320600881015484526005909252822054909216905b6001600160a01b038216158015906141f45750600a81105b156125af576001600160a01b0382165f908152600460205260409020600601546003118015614224575060028110155b1561423b578061423381614cb7565b915050614423565b6001600160a01b0382165f90815260046020526040902060090154600160a01b900460ff161561433f5760646015828154811061427a5761427a614ca3565b905f5260205f200154670de0b6b3a76400006142969190614d17565b6142a09190614d42565b6001600160a01b0383165f90815260046020526040812080549091906142c7908490614c69565b92505081905550816001600160a01b03165f80516020614f00833981519152426064601585815481106142fc576142fc614ca3565b905f5260205f200154670de0b6b3a76400006143189190614d17565b6143229190614d42565b6040805192835260208301919091520160405180910390a2614415565b60646014828154811061435457614354614ca3565b905f5260205f200154670de0b6b3a76400006143709190614d17565b61437a9190614d42565b6001600160a01b0383165f90815260046020526040812080549091906143a1908490614c69565b92505081905550816001600160a01b03165f80516020614f00833981519152426064601485815481106143d6576143d6614ca3565b905f5260205f200154670de0b6b3a76400006143f29190614d17565b6143fc9190614d42565b6040805192835260208301919091520160405180910390a25b8061441f81614cb7565b9150505b6001600160a01b039182165f9081526004602090815260408083206008015483526005909152902054909116906141dc565b5f61445f82614745565b5f81815260056020908152604080832080546001600160a01b039097166001600160a01b0319909716871790559482526006815284822083905560049052929092206007019190915550565b6001600160a01b038181165f908152600460205260409020600981015490911633146145195760405162461bcd60e51b815260206004820152601d60248201527f57616c6c65742061646472657373657320646f206e6f74206d617463680000006044820152606401610772565b6002810154600182015482545f929161453191614c69565b61453b9190614c69565b6002546040516370a0823160e01b815230600482015291925082916001600160a01b03909116906370a0823190602401602060405180830381865afa158015614586573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906145aa9190614de9565b1061467a57600254600983015460405163a9059cbb60e01b81526001600160a01b039283169263a9059cbb926145e7929116908590600401614dd0565b6020604051808303815f875af1158015614603573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906146279190614d79565b50600982015460408051428152602081018490526002918101919091526001600160a01b03909116907f241f509bdab738fe33689b33d9f6685547b9e420f21b97de774d416dabaa9056906060016132ad565b600154600983015460405163a9059cbb60e01b81526001600160a01b039283169263a9059cbb926146b2929116908590600401614dd0565b6020604051808303815f875af11580156146ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906146f29190614d79565b50600982015460408051428152602081018490526001918101919091526001600160a01b03909116907f241f509bdab738fe33689b33d9f6685547b9e420f21b97de774d416dabaa9056906060016132ad565b5f6402540be40044428460405160200161478493929190928352602083019190915260601b6bffffffffffffffffffffffff1916604082015260540190565b604051602081830303815290604052805190602001205f1c6141a79190614dbd565b604051806101400160405280600a906020820280368337509192915050565b5f602082840312156147d5575f80fd5b5035919050565b80356001600160a01b03811681146147f2575f80fd5b919050565b5f805f60608486031215614809575f80fd5b614812846147dc565b95602085013595506040909401359392505050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561486457614864614827565b604052919050565b5f602080838503121561487d575f80fd5b83601f84011261488b575f80fd5b60405181810181811067ffffffffffffffff821117156148ad576148ad614827565b60405280848301868111156148c0575f80fd5b855b818110156148e0576148d3816147dc565b83529184019184016148c2565b50919695505050505050565b803560ff811681146147f2575f80fd5b5f805f6060848603121561490e575f80fd5b614917846148ec565b9250614925602085016148ec565b9150604084013590509250925092565b5f8060408385031215614946575f80fd5b50508035926020909101359150565b5f60208284031215614965575f80fd5b61496e826147dc565b9392505050565b5f8060408385031215614986575f80fd5b61498f836147dc565b946020939093013593505050565b5f60208083850312156149ae575f80fd5b823567ffffffffffffffff808211156149c5575f80fd5b818501915085601f8301126149d8575f80fd5b8135818111156149ea576149ea614827565b8060051b91506149fb84830161483b565b8181529183018401918481019088841115614a14575f80fd5b938501935b83851015614a3957614a2a856147dc565b82529385019390850190614a19565b98975050505050505050565b80151581146111e5575f80fd5b5f805f60608486031215614a64575f80fd5b833592506020840135614a7681614a45565b9150614a84604085016148ec565b90509250925092565b602080825282518282018190525f9190848201906040850190845b81811015614acd5783516001600160a01b031683529284019291840191600101614aa8565b50909695505050505050565b5f805f8060808587031215614aec575f80fd5b8435935060208501359250614b03604086016148ec565b91506060850135614b1381614a45565b939692955090935050565b5f61016082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151614b97828501826001600160a01b03169052565b505061014083810151801515848301525b505092915050565b610140810181835f5b600a811015614be15781516001600160a01b0316835260209283019290910190600101614bb9565b50505092915050565b5f8060408385031215614bfb575f80fd5b82359150614c0b602084016148ec565b90509250929050565b602080825260149082015273496e73756666696369656e742062616c616e636560601b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b818103818111156141a7576141a7614c42565b808201808211156141a7576141a7614c42565b6020808252600d908201526c2737ba103a34329037bbb732b960991b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f60018201614cc857614cc8614c42565b5060010190565b62ffffff818116838216028082169190828114614ba857614ba8614c42565b5f81614cfc57614cfc614c42565b505f190190565b634e487b7160e01b5f52603160045260245ffd5b80820281158282048414176141a7576141a7614c42565b634e487b7160e01b5f52601260045260245ffd5b5f82614d5057614d50614d2e565b500490565b6001600160a01b039384168152919092166020820152604081019190915260600190565b5f60208284031215614d89575f80fd5b815161496e81614a45565b6020808252600f908201526e151c985b9cd9995c8819985a5b1959608a1b604082015260600190565b5f82614dcb57614dcb614d2e565b500690565b6001600160a01b03929092168252602082015260400190565b5f60208284031215614df9575f80fd5b5051919050565b60208082526025908201527f416d6f756e74206578636565647320746f2062616c616e636520696e20636f6e6040820152641d1c9858dd60da1b606082015260800190565b6020808252603b908201527f496e73756666696369656e7420616d6f756e74206f66205553445420696e206360408201527f6f6e747261637420746f20636f766572207769746864726177616c0000000000606082015260800190565b6020808252603b908201527f496e73756666696369656e7420616d6f756e74206f66205553444320696e206360408201527f6f6e747261637420746f20636f766572207769746864726177616c000000000060608201526080019056fe5a91a713f126207d46906d994a642f1da493d9f984546740403956e2db950bca645c116d90ebc0d205b6e6960a300051a8b7c74b479be7e8b6eff1db38ff20bc6cd9d6bebf8cc2076dd424f83deb0559d8774d1c44178b4f676f9d50709fb1bea2646970667358221220ce56d573ba52ebfeeddcc8b218f8061b1a15dcffdc1134823124054bcc82a40a64736f6c6343000814003300000000000000000000000055d398326f99059ff775485246999027b31979550000000000000000000000008ac76a51cc950d9822d68b83fe1ad97b32cd580d000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000008c0000000000000000000000000000000000000000000000000000000000000104000000000000000000000000000000000000000000000000000000000000017c00000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000000000000000000000000000000000000000026c00000000000000000000000000000000000000000000000000000000000002e4000000000000000000000000000000000000000000000000000000000000035c0000000000000000000000000000000000000000000000000000000000000003b000000000000000000000000fb5c0a225012abebc46acd94635371bcf0868812000000000000000000000000a68fff2b9d7f41915f6fb373415c6dd005e9769f000000000000000000000000ce5eb7f7691d16e6cbcb4307e6b9a19822cb31dd000000000000000000000000f284c9808f16829a2629a78f2fe5b891644c3a25000000000000000000000000cf0db72f400c0125ab8ed2d1df134070f27585c20000000000000000000000005b44d78c899b176b60ab6c1b74942aecaa2dba7a000000000000000000000000218b1e5eac9b90ee48dcc3f04c402b198cd1b2a0000000000000000000000000075a945b30c545602dc4b3038ae3e36c3d18c3980000000000000000000000005f3c56e3f12641762d9fc7faa584981414f4d3ce000000000000000000000000c12afb8101679c24239affc185c414e30526f9de000000000000000000000000383e704121291fe9180e96b2cc9aa56685918929000000000000000000000000775bcbba1685deec20e6ca3ffac527134a3c72e10000000000000000000000009a50fad083ce752a1a32eb1a2c825369069d0dd300000000000000000000000021ca69e071b8cbf6ec39bc3f6caf08d9a2b300610000000000000000000000002b9cd4bdab9fb3bef6bdc89e4bf4170a64476518000000000000000000000000c9db360a82b11ead1411c630bc08e5463aa2de1a0000000000000000000000003ce8966553b52450ce214004e909729ff15a3eb80000000000000000000000006284c40db42e540b93a362cd4ee280cc5c2af478000000000000000000000000d9ea029e5f5283ba33f22eb60da2146e966b9bb400000000000000000000000018be82756399281093c335a55de7330cc3800d6f00000000000000000000000051c169d2e300980455c01a7a00ae057dc3594649000000000000000000000000aae05fc44f27b75c976285cc1113de5eaf36fe1a000000000000000000000000f107772cbc34ca6b0fd8aed4db0563b38c6d38920000000000000000000000005fcbad03bda7f25b2997cbb77b330b6a0191d960000000000000000000000000ed6589ef782dc84ad65237f2cca46278500efcb100000000000000000000000011d17c7a1697dba938864f40703ebc1b3b8815d2000000000000000000000000f2ef1298051aa0fc1df634eb26cf437a41df709d0000000000000000000000004e6a499736236054c4f6b0d1cbe72b6c5051a6b6000000000000000000000000855eff441ed220e3faab787be5499f22e5b3feb900000000000000000000000036f786120fe38ddeead62a0fb3db96934c2a430b000000000000000000000000a4e124d023aa28001b3efa2479bafbf885e210cb00000000000000000000000023775d38925041e6145fe83ccdbff9790dbc5ee8000000000000000000000000cd0c585fca20cf1ecde9b12eb67fbf74524fb9920000000000000000000000001eea85094462fa0b28f7bd9d76fc0956bf7dd37b000000000000000000000000900bd12adbecbe0d29de5505284d2d13c72feb81000000000000000000000000439cb805c6af5e76d24cf95bab2d4de41cee8322000000000000000000000000a25551c02b40f0d8e3f9b26bd8f3908868dee21800000000000000000000000093d91f2be09bc380866b714f887ff82add0a98750000000000000000000000003bd714043bd6cef1ebdef598d321506daf04006d0000000000000000000000002341757d54f7ff17bc5d1d3a954555c5f37b6e1f000000000000000000000000c9a48e82f2cc3133f7c9ac01c5f7e377efa6ad800000000000000000000000004f7882507dde6f504a4849cd535bfd4ab08596a4000000000000000000000000b16a0fb5f0b77f3db3341c65c6d81b82f00d331d0000000000000000000000004b1c4452a48cb5d48e8cc4a60f0cbe2a932a1c3c000000000000000000000000177f318b9812830a57db586db033bd1a70df04e700000000000000000000000021ca69e071b8cbf6ec39bc3f6caf08d9a2b30061000000000000000000000000e6ac0a4c6c31d59fd27575a2d241013a954314d7000000000000000000000000b5da1afd4af9cccbb054ab55bff45f4bae5ff5b60000000000000000000000009984b623939a2bfc584645b1eec05e20a4862af500000000000000000000000005b18b79dade030d42f5403ba87e0911b374e636000000000000000000000000265a548a2775a4c3f812e58381fb6da6f9b0d1c8000000000000000000000000ecca41ef866cfc032ca5f58b5575f7d6cf4e932a0000000000000000000000009c08b2394ae5353c62f6266322ab13647448955b000000000000000000000000da7cbc4fccd47a551e281315a6ae65c58293d2af0000000000000000000000003bb24a12f312fc633c65e410e2249031ccb30ce80000000000000000000000001d6e9c4bb26562a69246a0167b633892729a6dc8000000000000000000000000aecf67c1a88db9432a258c73227b99ac63d73b6a000000000000000000000000ef16bc455a3205639934afa50ac97450dcc4fcab000000000000000000000000b30a31ea6dd0881604b8b356f5a182289e77495a000000000000000000000000000000000000000000000000000000000000003b000000000000000000000000000000000000000000000019747ce5e5db9cf40000000000000000000000000000000000000000000000001c2e670b40b367ca64000000000000000000000000000000000000000000000010ccef85b43948419300000000000000000000000000000000000000000000000ea3f0b85fda8e0bfa0000000000000000000000000000000000000000000000100b33a3aad0d441930000000000000000000000000000000000000000000000030927f74c9de000000000000000000000000000000000000000000000000000048dbbf2f2ecd0000000000000000000000000000000000000000000000000000f4977c1a16860419300000000000000000000000000000000000000000000000f4977c1a168604193000000000000000000000000000000000000000000000010ce0bbd47b75041930000000000000000000000000000000000000000000000030927f74c9de00000000000000000000000000000000000000000000000000005231fb6f68c695f3500000000000000000000000000000000000000000000000f4977c1a16860419300000000000000000000000000000000000000000000000f6c9cf5c316b40bfa000000000000000000000000000000000000000000000011f678980f98e00bfa0000000000000000000000000000000000000000000000055221814605484193000000000000000000000000000000000000000000000006ed53d6558ee0e5a70000000000000000000000000000000000000000000000030927f74c9de000000000000000000000000000000000000000000000000000071d69975361c876ff0000000000000000000000000000000000000000000000030927f74c9de000000000000000000000000000000000000000000000000000030927f74c9de000000000000000000000000000000000000000000000000000071d58170e6600d156000000000000000000000000000000000000000000000011043cffb07083d661000000000000000000000000000000000000000000000015b29e7cebb2afca6400000000000000000000000000000000000000000000000f4977c1a168604193000000000000000000000000000000000000000000000015a18cd33d7e5aa0c800000000000000000000000000000000000000000000000f4977c1a16860419300000000000000000000000000000000000000000000000f4977c1a16860419300000000000000000000000000000000000000000000000f4977c1a1686041930000000000000000000000000000000000000000000000100b33a3aad0d441930000000000000000000000000000000000000000000000048dbbf2f2ecd0000000000000000000000000000000000000000000000000000f4977c1a1686041930000000000000000000000000000000000000000000000030927f74c9de000000000000000000000000000000000000000000000000000030927f74c9de000000000000000000000000000000000000000000000000000100b33a3aad0d44193000000000000000000000000000000000000000000000015c1548a1b75ffa0c80000000000000000000000000000000000000000000000030927f74c9de000000000000000000000000000000000000000000000000000030927f74c9de000000000000000000000000000000000000000000000000000100b33a3aad0d4419300000000000000000000000000000000000000000000000f4977c1a16860419300000000000000000000000000000000000000000000000f4977c1a168604193000000000000000000000000000000000000000000000006f7abe4bd22b9f3730000000000000000000000000000000000000000000000030927f74c9de000000000000000000000000000000000000000000000000000030927f74c9de0000000000000000000000000000000000000000000000000000f4977c1a16860419300000000000000000000000000000000000000000000000f6c9cf5c316b40bfa00000000000000000000000000000000000000000000000f4977c1a1686041930000000000000000000000000000000000000000000000030927f74c9de000000000000000000000000000000000000000000000000000030927f74c9de0000000000000000000000000000000000000000000000000000f4977c1a168604193000000000000000000000000000000000000000000000010ce0bbd47b75041930000000000000000000000000000000000000000000000030927f74c9de00000000000000000000000000000000000000000000000000006124fee993bc0000000000000000000000000000000000000000000000000000f4977c1a16860419300000000000000000000000000000000000000000000000f4977c1a16860419300000000000000000000000000000000000000000000000f4977c1a168604193000000000000000000000000000000000000000000000011043cffb07083d6610000000000000000000000000000000000000000000000030927f74c9de0000000000000000000000000000000000000000000000000000f4977c1a168604193000000000000000000000000000000000000000000000000000000000000003b00000000000000000000000000000000000000000000000000000000679baece00000000000000000000000000000000000000000000000000000000679bd2bf00000000000000000000000000000000000000000000000000000000679bd8ad00000000000000000000000000000000000000000000000000000000679bd8c500000000000000000000000000000000000000000000000000000000679bdf1600000000000000000000000000000000000000000000000000000000679be77a00000000000000000000000000000000000000000000000000000000679bf36200000000000000000000000000000000000000000000000000000000679bf89900000000000000000000000000000000000000000000000000000000679bfd1900000000000000000000000000000000000000000000000000000000679c091c00000000000000000000000000000000000000000000000000000000679c09be00000000000000000000000000000000000000000000000000000000679c173b00000000000000000000000000000000000000000000000000000000679c2fd400000000000000000000000000000000000000000000000000000000679d295c00000000000000000000000000000000000000000000000000000000679c363a00000000000000000000000000000000000000000000000000000000679c3a5100000000000000000000000000000000000000000000000000000000679c3d0c00000000000000000000000000000000000000000000000000000000679c40f300000000000000000000000000000000000000000000000000000000679c442300000000000000000000000000000000000000000000000000000000679c444a00000000000000000000000000000000000000000000000000000000679c550900000000000000000000000000000000000000000000000000000000679c6e6200000000000000000000000000000000000000000000000000000000679c81ac00000000000000000000000000000000000000000000000000000000679c841c00000000000000000000000000000000000000000000000000000000679c901900000000000000000000000000000000000000000000000000000000679c947200000000000000000000000000000000000000000000000000000000679c99ee00000000000000000000000000000000000000000000000000000000679c9ab100000000000000000000000000000000000000000000000000000000679ca06000000000000000000000000000000000000000000000000000000000679cc7eb00000000000000000000000000000000000000000000000000000000679cce8700000000000000000000000000000000000000000000000000000000679ccf0200000000000000000000000000000000000000000000000000000000679cd41200000000000000000000000000000000000000000000000000000000679cdde100000000000000000000000000000000000000000000000000000000679cdf8200000000000000000000000000000000000000000000000000000000679cf05900000000000000000000000000000000000000000000000000000000679cf10100000000000000000000000000000000000000000000000000000000679cf3f800000000000000000000000000000000000000000000000000000000679cfdeb00000000000000000000000000000000000000000000000000000000679d081700000000000000000000000000000000000000000000000000000000679d13c300000000000000000000000000000000000000000000000000000000679d16c300000000000000000000000000000000000000000000000000000000679d1b5b00000000000000000000000000000000000000000000000000000000679d1ed900000000000000000000000000000000000000000000000000000000679d27a900000000000000000000000000000000000000000000000000000000679d295c00000000000000000000000000000000000000000000000000000000679d298c00000000000000000000000000000000000000000000000000000000679d2b6300000000000000000000000000000000000000000000000000000000679d2c7400000000000000000000000000000000000000000000000000000000679d54d900000000000000000000000000000000000000000000000000000000679d67cf00000000000000000000000000000000000000000000000000000000679d87d900000000000000000000000000000000000000000000000000000000679e3be000000000000000000000000000000000000000000000000000000000679e5cf500000000000000000000000000000000000000000000000000000000679e5cf800000000000000000000000000000000000000000000000000000000679e655d00000000000000000000000000000000000000000000000000000000679e696200000000000000000000000000000000000000000000000000000000679e6ce600000000000000000000000000000000000000000000000000000000679e7b80000000000000000000000000000000000000000000000000000000000000003b00000000000000000000000000000000000000000000000000000000677fff4e000000000000000000000000000000000000000000000000000000006780233f000000000000000000000000000000000000000000000000000000006780292d00000000000000000000000000000000000000000000000000000000678029450000000000000000000000000000000000000000000000000000000067802f9600000000000000000000000000000000000000000000000000000000678037fa00000000000000000000000000000000000000000000000000000000678043e200000000000000000000000000000000000000000000000000000000678049190000000000000000000000000000000000000000000000000000000067804d99000000000000000000000000000000000000000000000000000000006780599c0000000000000000000000000000000000000000000000000000000067805a3e00000000000000000000000000000000000000000000000000000000678067bb000000000000000000000000000000000000000000000000000000006780805400000000000000000000000000000000000000000000000000000000678179dc00000000000000000000000000000000000000000000000000000000678086ba0000000000000000000000000000000000000000000000000000000067808ad10000000000000000000000000000000000000000000000000000000067808d8c000000000000000000000000000000000000000000000000000000006780917300000000000000000000000000000000000000000000000000000000678094a300000000000000000000000000000000000000000000000000000000678094ca000000000000000000000000000000000000000000000000000000006780a589000000000000000000000000000000000000000000000000000000006780bee2000000000000000000000000000000000000000000000000000000006780d22c000000000000000000000000000000000000000000000000000000006780d49c000000000000000000000000000000000000000000000000000000006780e099000000000000000000000000000000000000000000000000000000006780e4f2000000000000000000000000000000000000000000000000000000006780ea6e000000000000000000000000000000000000000000000000000000006780eb31000000000000000000000000000000000000000000000000000000006780f0e0000000000000000000000000000000000000000000000000000000006781186b0000000000000000000000000000000000000000000000000000000067811f070000000000000000000000000000000000000000000000000000000067811f8200000000000000000000000000000000000000000000000000000000678124920000000000000000000000000000000000000000000000000000000067812e61000000000000000000000000000000000000000000000000000000006781300200000000000000000000000000000000000000000000000000000000678140d9000000000000000000000000000000000000000000000000000000006781418100000000000000000000000000000000000000000000000000000000678144780000000000000000000000000000000000000000000000000000000067814e6b0000000000000000000000000000000000000000000000000000000067815897000000000000000000000000000000000000000000000000000000006781644300000000000000000000000000000000000000000000000000000000678167430000000000000000000000000000000000000000000000000000000067816bdb0000000000000000000000000000000000000000000000000000000067816f59000000000000000000000000000000000000000000000000000000006781782900000000000000000000000000000000000000000000000000000000678179dc0000000000000000000000000000000000000000000000000000000067817a0c0000000000000000000000000000000000000000000000000000000067817be30000000000000000000000000000000000000000000000000000000067817cf4000000000000000000000000000000000000000000000000000000006781a559000000000000000000000000000000000000000000000000000000006781b84f000000000000000000000000000000000000000000000000000000006781d8590000000000000000000000000000000000000000000000000000000067828c60000000000000000000000000000000000000000000000000000000006782ad75000000000000000000000000000000000000000000000000000000006782ad78000000000000000000000000000000000000000000000000000000006782b5dd000000000000000000000000000000000000000000000000000000006782b9e2000000000000000000000000000000000000000000000000000000006782bd66000000000000000000000000000000000000000000000000000000006782cc00000000000000000000000000000000000000000000000000000000000000003b00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003b00000000000000000000000000000000000000000000000000000000b6c20d5e000000000000000000000000000000000000000000000000000000010d082039000000000000000000000000000000000000000000000000000000018945455b000000000000000000000000000000000000000000000000000000023b6531ed00000000000000000000000000000000000000000000000000000001beffad9500000000000000000000000000000000000000000000000000000000e0ad202c00000000000000000000000000000000000000000000000000000000b620f16e000000000000000000000000000000000000000000000000000000010c1d88c300000000000000000000000000000000000000000000000000000001d05f72a7000000000000000000000000000000000000000000000000000000015179067a000000000000000000000000000000000000000000000000000000003a7a3a600000000000000000000000000000000000000000000000000000000099f82224000000000000000000000000000000000000000000000000000000013c0771de00000000000000000000000000000000000000000000000000000000875a7995000000000000000000000000000000000000000000000000000000024299e1eb00000000000000000000000000000000000000000000000000000000783e423400000000000000000000000000000000000000000000000000000000974b8dc800000000000000000000000000000000000000000000000000000000ec9e65d3000000000000000000000000000000000000000000000000000000009e790a1a000000000000000000000000000000000000000000000000000000004113b1f2000000000000000000000000000000000000000000000000000000013e27172200000000000000000000000000000000000000000000000000000000cf9320da00000000000000000000000000000000000000000000000000000001550eee6800000000000000000000000000000000000000000000000000000001c685c34e000000000000000000000000000000000000000000000000000000021bbc0af0000000000000000000000000000000000000000000000000000000009582b8a300000000000000000000000000000000000000000000000000000001433248a90000000000000000000000000000000000000000000000000000000136ff0e0300000000000000000000000000000000000000000000000000000001a17a02d300000000000000000000000000000000000000000000000000000001ec4ca7ef000000000000000000000000000000000000000000000000000000009e16b00a00000000000000000000000000000000000000000000000000000000901ac3b9000000000000000000000000000000000000000000000000000000020f46e81f000000000000000000000000000000000000000000000000000000019b675a6c0000000000000000000000000000000000000000000000000000000121e1e1f300000000000000000000000000000000000000000000000000000001bf6aa9c400000000000000000000000000000000000000000000000000000000ce34a46a0000000000000000000000000000000000000000000000000000000091da2976000000000000000000000000000000000000000000000000000000019642ed4100000000000000000000000000000000000000000000000000000001018dd73a00000000000000000000000000000000000000000000000000000000d1f416ed0000000000000000000000000000000000000000000000000000000013f257eb00000000000000000000000000000000000000000000000000000000228dfbac0000000000000000000000000000000000000000000000000000000132ee1364000000000000000000000000000000000000000000000000000000009fe34ff200000000000000000000000000000000000000000000000000000000875a7995000000000000000000000000000000000000000000000000000000000d289850000000000000000000000000000000000000000000000000000000022c983deb000000000000000000000000000000000000000000000000000000003a0e9a100000000000000000000000000000000000000000000000000000000016749fb8000000000000000000000000000000000000000000000000000000014a1f9383000000000000000000000000000000000000000000000000000000001662da6900000000000000000000000000000000000000000000000000000001ed0c48870000000000000000000000000000000000000000000000000000000164fd39be00000000000000000000000000000000000000000000000000000000a88d73b50000000000000000000000000000000000000000000000000000000035a2522100000000000000000000000000000000000000000000000000000001c38fd05d00000000000000000000000000000000000000000000000000000001b0b42cb4000000000000000000000000000000000000000000000000000000023776d70c000000000000000000000000000000000000000000000000000000000000003b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b6c20d5e000000000000000000000000000000000000000000000000000000010d08203900000000000000000000000000000000000000000000000000000000b6c20d5e000000000000000000000000000000000000000000000000000000010d082039000000000000000000000000000000000000000000000000000000018945455b000000000000000000000000000000000000000000000000000000023b6531ed000000000000000000000000000000000000000000000000000000010d08203900000000000000000000000000000000000000000000000000000000b6c20d5e000000000000000000000000000000000000000000000000000000023b6531ed00000000000000000000000000000000000000000000000000000001beffad95000000000000000000000000000000000000000000000000000000010d08203900000000000000000000000000000000000000000000000000000001d05f72a7000000000000000000000000000000000000000000000000000000010d0820390000000000000000000000000000000000000000000000000000000099f82224000000000000000000000000000000000000000000000000000000024299e1eb00000000000000000000000000000000000000000000000000000000783e423400000000000000000000000000000000000000000000000000000000783e423400000000000000000000000000000000000000000000000000000000974b8dc8000000000000000000000000000000000000000000000000000000018945455b000000000000000000000000000000000000000000000000000000024299e1eb000000000000000000000000000000000000000000000000000000009e790a1a000000000000000000000000000000000000000000000000000000009582b8a3000000000000000000000000000000000000000000000000000000009582b8a300000000000000000000000000000000000000000000000000000001550eee68000000000000000000000000000000000000000000000000000000009e790a1a000000000000000000000000000000000000000000000000000000009582b8a3000000000000000000000000000000000000000000000000000000009582b8a300000000000000000000000000000000000000000000000000000001550eee68000000000000000000000000000000000000000000000000000000009582b8a300000000000000000000000000000000000000000000000000000001c685c34e000000000000000000000000000000000000000000000000000000009582b8a3000000000000000000000000000000000000000000000000000000009582b8a300000000000000000000000000000000000000000000000000000001c685c34e000000000000000000000000000000000000000000000000000000009e790a1a00000000000000000000000000000000000000000000000000000001c685c34e00000000000000000000000000000000000000000000000000000001ec4ca7ef00000000000000000000000000000000000000000000000000000001c685c34e00000000000000000000000000000000000000000000000000000001bf6aa9c400000000000000000000000000000000000000000000000000000001bf6aa9c400000000000000000000000000000000000000000000000000000001bf6aa9c4000000000000000000000000000000000000000000000000000000009e790a1a000000000000000000000000000000000000000000000000000000009e790a1a000000000000000000000000000000000000000000000000000000019642ed4100000000000000000000000000000000000000000000000000000001c685c34e000000000000000000000000000000000000000000000000000000010d082039000000000000000000000000000000000000000000000000000000009582b8a30000000000000000000000000000000000000000000000000000000121e1e1f3000000000000000000000000000000000000000000000000000000019642ed410000000000000000000000000000000000000000000000000000000099f8222400000000000000000000000000000000000000000000000000000000875a79950000000000000000000000000000000000000000000000000000000099f82224000000000000000000000000000000000000000000000000000000023b6531ed0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c38fd05d000000000000000000000000000000000000000000000000000000000000003b00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001