Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 826 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
---|---|---|---|---|---|---|---|---|---|
Return Funds | 12706529 | 1096 days ago | IN | 0 ETH | 0.00061818 | ||||
Adopt Cheaper BA... | 12704407 | 1096 days ago | IN | 0.17352399 ETH | 0.00159795 | ||||
Adopt Cheaper BA... | 12704407 | 1096 days ago | IN | 0.1735169 ETH | 0.00159795 | ||||
Adopt Cheaper BA... | 12704407 | 1096 days ago | IN | 1.30137678 ETH | 0.00159795 | ||||
Adopt Cheaper BA... | 12704407 | 1096 days ago | IN | 0.08676199 ETH | 0.00159795 | ||||
Adopt Cheaper BA... | 12704407 | 1096 days ago | IN | 0.08676199 ETH | 0.00159795 | ||||
Transfer | 12704406 | 1096 days ago | IN | 200 ETH | 0.0016844 | ||||
Adopt Cheaper BA... | 12704406 | 1096 days ago | IN | 0.17351718 ETH | 0.00255672 | ||||
Adopt Cheaper BA... | 12704404 | 1096 days ago | IN | 0.08675845 ETH | 0.01717644 | ||||
Adopt Cheaper BA... | 12704404 | 1096 days ago | IN | 0.26028599 ETH | 0.03624614 | ||||
Adopt Cheaper BA... | 12704404 | 1096 days ago | IN | 1.73523998 ETH | 0.2908212 | ||||
Adopt Cheaper BA... | 12704403 | 1096 days ago | IN | 1.73550105 ETH | 0.14443634 | ||||
Adopt Cheaper BA... | 12704402 | 1096 days ago | IN | 0.08677505 ETH | 0.01159538 | ||||
Adopt Cheaper BA... | 12704402 | 1096 days ago | IN | 0.08677505 ETH | 0.01159538 | ||||
Adopt Cheaper BA... | 12704402 | 1096 days ago | IN | 0.08676214 ETH | 0.01403279 | ||||
Adopt Cheaper BA... | 12704402 | 1096 days ago | IN | 0.08676214 ETH | 0.02854128 | ||||
Adopt Cheaper BA... | 12704401 | 1096 days ago | IN | 0.08677505 ETH | 0.0125286 | ||||
Adopt Cheaper BA... | 12704401 | 1096 days ago | IN | 0.08678271 ETH | 0.0116736 | ||||
Adopt Cheaper BA... | 12704401 | 1096 days ago | IN | 0.08677505 ETH | 0.01214054 | ||||
Adopt Cheaper BA... | 12704400 | 1096 days ago | IN | 0.43387526 ETH | 0.04221836 | ||||
Adopt Cheaper BA... | 12704399 | 1096 days ago | IN | 0.08677505 ETH | 0.01307443 | ||||
Adopt Cheaper BA... | 12704399 | 1096 days ago | IN | 0.43387526 ETH | 0.04485292 | ||||
Adopt Cheaper BA... | 12704398 | 1096 days ago | IN | 0.08677505 ETH | 0.0144288 | ||||
Adopt Cheaper BA... | 12704398 | 1096 days ago | IN | 1.73560037 ETH | 0.20357484 | ||||
Adopt Cheaper BA... | 12704398 | 1096 days ago | IN | 0.17356003 ETH | 0.0391347 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | Value | ||
---|---|---|---|---|---|---|
12706529 | 1096 days ago | 307.42034177 ETH | ||||
12704404 | 1096 days ago | 10 ETH | ||||
12704404 | 1096 days ago | 0.08675845 ETH | ||||
12704404 | 1096 days ago | 9 ETH | ||||
12704404 | 1096 days ago | 0.26028599 ETH | ||||
12704404 | 1096 days ago | 18.08 ETH | ||||
12704404 | 1096 days ago | 1.73523998 ETH | ||||
12704403 | 1096 days ago | 18.08 ETH | ||||
12704403 | 1096 days ago | 1.73550105 ETH | ||||
12704402 | 1096 days ago | 0.904 ETH | ||||
12704402 | 1096 days ago | 0.08677505 ETH | ||||
12704402 | 1096 days ago | 0.904 ETH | ||||
12704402 | 1096 days ago | 0.08677505 ETH | ||||
12704402 | 1096 days ago | 0.904 ETH | ||||
12704402 | 1096 days ago | 0.08676214 ETH | ||||
12704402 | 1096 days ago | 0.904 ETH | ||||
12704402 | 1096 days ago | 0.08676214 ETH | ||||
12704401 | 1096 days ago | 0.904 ETH | ||||
12704401 | 1096 days ago | 0.08677505 ETH | ||||
12704401 | 1096 days ago | 0.904 ETH | ||||
12704401 | 1096 days ago | 0.08678271 ETH | ||||
12704401 | 1096 days ago | 0.904 ETH | ||||
12704401 | 1096 days ago | 0.08677505 ETH | ||||
12704400 | 1096 days ago | 4.47 ETH | ||||
12704400 | 1096 days ago | 0.43387526 ETH |
Loading...
Loading
Contract Name:
BASTARDGANPUNKSV2PROXYSALE
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-06-04 */ pragma solidity ^0.8.0; // THIS IS THE BASTARD GAN PUNKS V2 PROXY SALE CONTRACT: // THE CONTRACT IS WRITTEN TO CATAPULT A NEW PRICING MODEL TO KILL THE BONDING CURVE ON ORIGINAL CONTRACT, TO GIVE NEW MINTS TO USERS VIA DISCOUNTED PRICE. AND ALL INCOME FROM MINTS DIRECTLY GO TO CHARITIES OF MINTER'S CHOICE. // LONG LIVE BASTARDS! // WHAT THIS CONTRACT BASICALLY DOES IS: // THE PRICE GRADUALLY DECREASES EVERY SECOND, AND WHEN SOMEONE ADOPTS A BASTARD FROM HERE, FEE IS DIRECTLY TRANSFERRED TO CHARITY, AND THIS CONTRACT ADOPTS A BASTARD FROM ORIGINAL CONTRACT WITH ORIGINAL PRICE, AND TRANSFERS TO THE MINTER. // Project website: https://bastardganpunks.club // berk aka PrincessCamel - https://berkozdemir.com /* * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } /** * @title ERC721 token receiver interface * @dev Interface for any contract that wants to support safeTransfers * from ERC721 asset contracts. */ interface IERC721Receiver { /** * @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom} * by `operator` from `from`, this function is called. * * It must return its Solidity selector to confirm the token transfer. * If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted. * * The selector can be obtained in Solidity with `IERC721.onERC721Received.selector`. */ function onERC721Received(address operator, address from, uint256 tokenId, bytes calldata data) external returns (bytes4); } interface BGANPUNKSV2 { function calculatePrice() external view returns (uint256); function adoptBASTARD(uint256 numBastards) external payable; function safeTransferFrom( address from, address to, uint256 tokenId, bytes calldata data ) external; function totalSupply() external view returns (uint256); } // THIS IS WHERE THE MAGIC HAPPENS contract BASTARDGANPUNKSV2PROXYSALE is Ownable, IERC721Receiver { address payable public treasuryAddress; uint256 public startTime; bool public saleRunning = false; uint256 private two = 2; uint256 public startprice; uint256 public discountPerSecond; uint256 public halvingTimeInterval; address public BGANPUNKSV2ADDRESS = 0x31385d3520bCED94f77AaE104b406994D8F2168C; struct Charity { string name; address charityAddress; } Charity[] public charities; event saleStarted( uint indexed startTime, uint indexed startPrice, uint indexed halvingTimeInterval); event charityAdded(string indexed _name, address indexed _address); event charityEdited(uint indexed _index, string indexed _name, address indexed _address); event charityRemoved(uint indexed _index); event donationSent(string indexed charityName, uint indexed amount); constructor(address payable _treasuryAddress) { treasuryAddress = _treasuryAddress; } receive() external payable {} function startSale(uint256 _startPrice, uint256 _halvingInterval) public onlyOwner { startTime = block.timestamp; startprice = _startPrice; halvingTimeInterval = _halvingInterval; discountPerSecond = startprice / halvingTimeInterval / two; saleRunning = true; emit saleStarted(startTime, _startPrice, _halvingInterval); } function pauseSale() public onlyOwner { saleRunning = false; } function resumeSale() public onlyOwner { saleRunning = true; } // SET CHARITIES AND VIEW function addCharity(address _address, string memory _name) public onlyOwner { charities.push(Charity(_name, _address)); emit charityAdded(_name, _address); } function editCharity( uint256 index, address _address, string memory _name ) public onlyOwner { charities[index].name = _name; charities[index].charityAddress = _address; emit charityEdited(index, _name, _address); } function removeCharityNoOrder(uint index) public onlyOwner { charities[index] = charities[charities.length - 1]; charities.pop(); emit charityRemoved(index); } function getCharityCount() public view returns (uint256) { return charities.length; } function getCharities() public view returns (Charity[] memory) { return charities; } function getCharity(uint index) public view returns (Charity memory) { require(index < charities.length, "YOU REQUESTED A CHARITY OUTSIDE THE RANGE PAL"); return charities[index]; } // MINTING BASTARDS - CALCULATING PRICE AND TIME function howManySecondsElapsed() public view returns (uint256) { if(saleRunning) { return block.timestamp - startTime; } else { return 0; } } function calculateDiscountedPrice() public view returns (uint256) { require(saleRunning, "SALE HASN'T STARTED OR PAUSED"); uint256 elapsed = block.timestamp - startTime; uint256 factorpow = elapsed / halvingTimeInterval; uint256 priceFactor = two ** factorpow; uint256 howmanyseconds = elapsed % halvingTimeInterval * discountPerSecond / priceFactor; uint256 finalPrice = startprice / priceFactor - howmanyseconds; return finalPrice; } function calculateDiscountedPriceTest(uint256 elapsedTime) public view returns (uint256) { require(saleRunning, "SALE HASN'T STARTED OR PAUSED"); uint256 factorpow = elapsedTime / halvingTimeInterval; uint256 priceFactor = two**factorpow; uint256 howmanyseconds = elapsedTime % halvingTimeInterval * discountPerSecond / priceFactor; uint256 finalPrice = startprice / priceFactor - howmanyseconds; return finalPrice; } function adoptCheaperBASTARD(uint256 _charitychoice, uint256 _amount) public payable { uint256 originalPrice = BGANPUNKSV2(BGANPUNKSV2ADDRESS).calculatePrice() * _amount; require( msg.value >= calculateDiscountedPrice() * _amount, "YOU HAVEN'T PAID ENOUGH LOL" ); require( _charitychoice < charities.length, "U CHOSE A CHARITY THAT DOESN'T EXIST" ); payable(charities[_charitychoice].charityAddress).transfer(msg.value); BGANPUNKSV2(BGANPUNKSV2ADDRESS).adoptBASTARD{value: originalPrice}( _amount ); uint256 total = BGANPUNKSV2(BGANPUNKSV2ADDRESS).totalSupply(); for (uint256 i = total - _amount; i < total; i++) { BGANPUNKSV2(BGANPUNKSV2ADDRESS).safeTransferFrom( address(this), msg.sender, i, "" ); } emit donationSent(charities[_charitychoice].name, msg.value); } // ADD - REMOVE FUNDS TO MAKE THIS CONTRACT ABLE TO BUY BASTARDS FROM THE ORIGINAL BGANPUNKSV2 CONTRACT function addFundsToContract() public payable onlyOwner { payable(address(this)).transfer(msg.value); } function returnFunds() public onlyOwner { treasuryAddress.transfer(address(this).balance); } function setTreasuryAddress(address payable _address) public onlyOwner { treasuryAddress = _address; } // SOME BORING STUFF THAT IS NEEDED function onERC721Received( address, address, uint256, bytes memory ) public virtual override returns (bytes4) { return this.onERC721Received.selector; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address payable","name":"_treasuryAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"_name","type":"string"},{"indexed":true,"internalType":"address","name":"_address","type":"address"}],"name":"charityAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_index","type":"uint256"},{"indexed":true,"internalType":"string","name":"_name","type":"string"},{"indexed":true,"internalType":"address","name":"_address","type":"address"}],"name":"charityEdited","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_index","type":"uint256"}],"name":"charityRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"charityName","type":"string"},{"indexed":true,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"donationSent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"startTime","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"startPrice","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"halvingTimeInterval","type":"uint256"}],"name":"saleStarted","type":"event"},{"inputs":[],"name":"BGANPUNKSV2ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"string","name":"_name","type":"string"}],"name":"addCharity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"addFundsToContract","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_charitychoice","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"adoptCheaperBASTARD","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"calculateDiscountedPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"elapsedTime","type":"uint256"}],"name":"calculateDiscountedPriceTest","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"charities","outputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"address","name":"charityAddress","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"discountPerSecond","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"address","name":"_address","type":"address"},{"internalType":"string","name":"_name","type":"string"}],"name":"editCharity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCharities","outputs":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"address","name":"charityAddress","type":"address"}],"internalType":"struct BASTARDGANPUNKSV2PROXYSALE.Charity[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getCharity","outputs":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"address","name":"charityAddress","type":"address"}],"internalType":"struct BASTARDGANPUNKSV2PROXYSALE.Charity","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCharityCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"halvingTimeInterval","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"howManySecondsElapsed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pauseSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"removeCharityNoOrder","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"resumeSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"returnFunds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"saleRunning","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"_address","type":"address"}],"name":"setTreasuryAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_startPrice","type":"uint256"},{"internalType":"uint256","name":"_halvingInterval","type":"uint256"}],"name":"startSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startprice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"treasuryAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526000600360006101000a81548160ff02191690831515021790555060026004557331385d3520bced94f77aae104b406994d8f2168c600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200008657600080fd5b50604051620032c9380380620032c98339818101604052810190620000ac9190620001c3565b6000620000be620001a460201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506200023d565b600033905090565b600081519050620001bd8162000223565b92915050565b600060208284031215620001d657600080fd5b6000620001e684828501620001ac565b91505092915050565b6000620001fc8262000203565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6200022e81620001ef565b81146200023a57600080fd5b50565b61307c806200024d6000396000f3fe6080604052600436106101bb5760003560e01c806378bb01cc116100ec578063c8c3ee7f1161008a578063f2fde38b11610064578063f2fde38b1461056b578063f4f3122e14610594578063fb709d2e146105bd578063fd67db81146105fb576101c2565b8063c8c3ee7f146104ec578063ca057f6614610517578063e6cdbfe714610540576101c2565b8063a4e8d2bf116100c6578063a4e8d2bf14610461578063abc735de1461048c578063c5f956af14610496578063c7f8e7f3146104c1576101c2565b806378bb01cc146103e057806378e979251461040b5780638da5cb5b14610436576101c2565b806348112c6f11610159578063715018a611610133578063715018a6146103595780637185a44b1461037057806372f7bec81461039b57806375ceb0d9146103c4576101c2565b806348112c6f146102ee57806355367ba9146103195780636605bfda14610330576101c2565b80631eb5ea2e116101955780631eb5ea2e1461026a5780632f8383961461028157806333e364cb146102ac5780633779a3b6146102c3576101c2565b80630c825e58146101c7578063150b7a02146101f05780631e9bc8c11461022d576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101ee60048036038101906101e9919061227f565b610638565b005b3480156101fc57600080fd5b506102176004803603810190610212919061215e565b6107fd565b6040516102249190612781565b60405180910390f35b34801561023957600080fd5b50610254600480360381019061024f919061222d565b610811565b60405161026191906128ae565b60405180910390f35b34801561027657600080fd5b5061027f6108d9565b005b34801561028d57600080fd5b506102966109c0565b6040516102a391906128ae565b60405180910390f35b3480156102b857600080fd5b506102c16109f4565b005b3480156102cf57600080fd5b506102d8610a8d565b6040516102e59190612766565b60405180910390f35b3480156102fa57600080fd5b50610303610aa0565b6040516103109190612744565b60405180910390f35b34801561032557600080fd5b5061032e610be7565b005b34801561033c57600080fd5b5061035760048036038101906103529190612135565b610c80565b005b34801561036557600080fd5b5061036e610d40565b005b34801561037c57600080fd5b50610385610e7a565b60405161039291906128ae565b60405180910390f35b3480156103a757600080fd5b506103c260048036038101906103bd91906121d9565b610e87565b005b6103de60048036038101906103d991906122e6565b61101c565b005b3480156103ec57600080fd5b506103f561149c565b60405161040291906128ae565b60405180910390f35b34801561041757600080fd5b506104206114a2565b60405161042d91906128ae565b60405180910390f35b34801561044257600080fd5b5061044b6114a8565b60405161045891906126c4565b60405180910390f35b34801561046d57600080fd5b506104766114d1565b60405161048391906128ae565b60405180910390f35b6104946114d7565b005b3480156104a257600080fd5b506104ab61159c565b6040516104b891906126df565b60405180910390f35b3480156104cd57600080fd5b506104d66115c2565b6040516104e391906128ae565b60405180910390f35b3480156104f857600080fd5b506105016115c8565b60405161050e91906126c4565b60405180910390f35b34801561052357600080fd5b5061053e6004803603810190610539919061222d565b6115ee565b005b34801561054c57600080fd5b5061055561184d565b60405161056291906128ae565b60405180910390f35b34801561057757600080fd5b50610592600480360381019061058d919061210c565b611926565b005b3480156105a057600080fd5b506105bb60048036038101906105b691906122e6565b611acf565b005b3480156105c957600080fd5b506105e460048036038101906105df919061222d565b611bd3565b6040516105f292919061279c565b60405180910390f35b34801561060757600080fd5b50610622600480360381019061061d919061222d565b611caf565b60405161062f919061288c565b60405180910390f35b610640611e40565b73ffffffffffffffffffffffffffffffffffffffff1661065e6114a8565b73ffffffffffffffffffffffffffffffffffffffff16146106b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ab9061280c565b60405180910390fd5b80600984815481106106ef577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600202016000019080519060200190610713929190611e48565b50816009848154811061074f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906002020160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff16816040516107c39190612696565b6040518091039020847f4305d18b4494b4ef78a02e589a6f6aa38b428221a4246f40fee8b2d84a7e735860405160405180910390a4505050565b600063150b7a0260e01b9050949350505050565b6000600360009054906101000a900460ff16610862576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108599061284c565b60405180910390fd5b60006007548361087291906129e7565b90506000816004546108849190612a6b565b90506000816006546007548761089a9190612d8b565b6108a49190612b89565b6108ae91906129e7565b9050600081836005546108c191906129e7565b6108cb9190612be3565b905080945050505050919050565b6108e1611e40565b73ffffffffffffffffffffffffffffffffffffffff166108ff6114a8565b73ffffffffffffffffffffffffffffffffffffffff1614610955576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094c9061280c565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156109bd573d6000803e3d6000fd5b50565b6000600360009054906101000a900460ff16156109ec57600254426109e59190612be3565b90506109f1565b600090505b90565b6109fc611e40565b73ffffffffffffffffffffffffffffffffffffffff16610a1a6114a8565b73ffffffffffffffffffffffffffffffffffffffff1614610a70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a679061280c565b60405180910390fd5b6001600360006101000a81548160ff021916908315150217905550565b600360009054906101000a900460ff1681565b60606009805480602002602001604051908101604052809291908181526020016000905b82821015610bde5783829060005260206000209060020201604051806040016040529081600082018054610af790612cdf565b80601f0160208091040260200160405190810160405280929190818152602001828054610b2390612cdf565b8015610b705780601f10610b4557610100808354040283529160200191610b70565b820191906000526020600020905b815481529060010190602001808311610b5357829003601f168201915b505050505081526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152505081526020019060010190610ac4565b50505050905090565b610bef611e40565b73ffffffffffffffffffffffffffffffffffffffff16610c0d6114a8565b73ffffffffffffffffffffffffffffffffffffffff1614610c63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5a9061280c565b60405180910390fd5b6000600360006101000a81548160ff021916908315150217905550565b610c88611e40565b73ffffffffffffffffffffffffffffffffffffffff16610ca66114a8565b73ffffffffffffffffffffffffffffffffffffffff1614610cfc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf39061280c565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610d48611e40565b73ffffffffffffffffffffffffffffffffffffffff16610d666114a8565b73ffffffffffffffffffffffffffffffffffffffff1614610dbc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db39061280c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600980549050905090565b610e8f611e40565b73ffffffffffffffffffffffffffffffffffffffff16610ead6114a8565b73ffffffffffffffffffffffffffffffffffffffff1614610f03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610efa9061280c565b60405180910390fd5b600960405180604001604052808381526020018473ffffffffffffffffffffffffffffffffffffffff1681525090806001815401808255809150506001900390600052602060002090600202016000909190919091506000820151816000019080519060200190610f75929190611e48565b5060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050508173ffffffffffffffffffffffffffffffffffffffff1681604051610fe49190612696565b60405180910390207f2758040f7c4cdf548afa4be1444dc4936980ea205720a46007836076aa783f1160405160405180910390a35050565b600081600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d348b4096040518163ffffffff1660e01b815260040160206040518083038186803b15801561108757600080fd5b505afa15801561109b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110bf9190612256565b6110c99190612b89565b9050816110d461184d565b6110de9190612b89565b341015611120576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111179061282c565b60405180910390fd5b6009805490508310611167576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115e906127ec565b60405180910390fd5b600983815481106111a1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906002020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015611218573d6000803e3d6000fd5b50600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636863c4f482846040518363ffffffff1660e01b815260040161127591906128ae565b6000604051808303818588803b15801561128e57600080fd5b505af11580156112a2573d6000803e3d6000fd5b50505050506000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561131157600080fd5b505afa158015611325573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113499190612256565b9050600083826113599190612be3565b90505b8181101561140857600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b88d4fde3033846040518463ffffffff1660e01b81526004016113c3939291906126fa565b600060405180830381600087803b1580156113dd57600080fd5b505af11580156113f1573d6000803e3d6000fd5b50505050808061140090612d42565b91505061135c565b503460098581548110611444577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906002020160000160405161146291906126ad565b60405180910390207ff6b5e75f5eb45da2732178cb398223127fe363b3b018d50877b3f5ef568f31c560405160405180910390a350505050565b60065481565b60025481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60055481565b6114df611e40565b73ffffffffffffffffffffffffffffffffffffffff166114fd6114a8565b73ffffffffffffffffffffffffffffffffffffffff1614611553576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154a9061280c565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015611599573d6000803e3d6000fd5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60075481565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6115f6611e40565b73ffffffffffffffffffffffffffffffffffffffff166116146114a8565b73ffffffffffffffffffffffffffffffffffffffff161461166a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116619061280c565b60405180910390fd5b6009600160098054905061167e9190612be3565b815481106116b5577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060020201600982815481106116fd577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060020201600082018160000190805461171f90612cdf565b61172a929190611ece565b506001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555090505060098054806117cd577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6001900381819060005260206000209060020201600080820160006117f29190611f5b565b6001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550509055807ff5d7d0698ce0f748a4c523fff3a8359c99802dd2df70844e3779395bd14040d360405160405180910390a250565b6000600360009054906101000a900460ff1661189e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118959061284c565b60405180910390fd5b6000600254426118ae9190612be3565b90506000600754826118c091906129e7565b90506000816004546118d29190612a6b565b9050600081600654600754866118e89190612d8b565b6118f29190612b89565b6118fc91906129e7565b90506000818360055461190f91906129e7565b6119199190612be3565b9050809550505050505090565b61192e611e40565b73ffffffffffffffffffffffffffffffffffffffff1661194c6114a8565b73ffffffffffffffffffffffffffffffffffffffff16146119a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119999061280c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611a12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a09906127cc565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611ad7611e40565b73ffffffffffffffffffffffffffffffffffffffff16611af56114a8565b73ffffffffffffffffffffffffffffffffffffffff1614611b4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b429061280c565b60405180910390fd5b426002819055508160058190555080600781905550600454600754600554611b7391906129e7565b611b7d91906129e7565b6006819055506001600360006101000a81548160ff02191690831515021790555080826002547f4592e5bca5821712174f269754e5a73f54e9e1dd085e94115adcd0b0aff9b3a060405160405180910390a45050565b60098181548110611be357600080fd5b9060005260206000209060020201600091509050806000018054611c0690612cdf565b80601f0160208091040260200160405190810160405280929190818152602001828054611c3290612cdf565b8015611c7f5780601f10611c5457610100808354040283529160200191611c7f565b820191906000526020600020905b815481529060010190602001808311611c6257829003601f168201915b5050505050908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082565b611cb7611f9b565b6009805490508210611cfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf59061286c565b60405180910390fd5b60098281548110611d38577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060020201604051806040016040529081600082018054611d6190612cdf565b80601f0160208091040260200160405190810160405280929190818152602001828054611d8d90612cdf565b8015611dda5780601f10611daf57610100808354040283529160200191611dda565b820191906000526020600020905b815481529060010190602001808311611dbd57829003601f168201915b505050505081526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250509050919050565b600033905090565b828054611e5490612cdf565b90600052602060002090601f016020900481019282611e765760008555611ebd565b82601f10611e8f57805160ff1916838001178555611ebd565b82800160010185558215611ebd579182015b82811115611ebc578251825591602001919060010190611ea1565b5b509050611eca9190611fcb565b5090565b828054611eda90612cdf565b90600052602060002090601f016020900481019282611efc5760008555611f4a565b82601f10611f0d5780548555611f4a565b82800160010185558215611f4a57600052602060002091601f016020900482015b82811115611f49578254825591600101919060010190611f2e565b5b509050611f579190611fcb565b5090565b508054611f6790612cdf565b6000825580601f10611f795750611f98565b601f016020900490600052602060002090810190611f979190611fcb565b5b50565b604051806040016040528060608152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b5b80821115611fe4576000816000905550600101611fcc565b5090565b6000611ffb611ff6846128ee565b6128c9565b90508281526020810184848401111561201357600080fd5b61201e848285612c9d565b509392505050565b60006120396120348461291f565b6128c9565b90508281526020810184848401111561205157600080fd5b61205c848285612c9d565b509392505050565b60008135905061207381613001565b92915050565b60008135905061208881613018565b92915050565b600082601f83011261209f57600080fd5b81356120af848260208601611fe8565b91505092915050565b600082601f8301126120c957600080fd5b81356120d9848260208601612026565b91505092915050565b6000813590506120f18161302f565b92915050565b6000815190506121068161302f565b92915050565b60006020828403121561211e57600080fd5b600061212c84828501612064565b91505092915050565b60006020828403121561214757600080fd5b600061215584828501612079565b91505092915050565b6000806000806080858703121561217457600080fd5b600061218287828801612064565b945050602061219387828801612064565b93505060406121a4878288016120e2565b925050606085013567ffffffffffffffff8111156121c157600080fd5b6121cd8782880161208e565b91505092959194509250565b600080604083850312156121ec57600080fd5b60006121fa85828601612064565b925050602083013567ffffffffffffffff81111561221757600080fd5b612223858286016120b8565b9150509250929050565b60006020828403121561223f57600080fd5b600061224d848285016120e2565b91505092915050565b60006020828403121561226857600080fd5b6000612276848285016120f7565b91505092915050565b60008060006060848603121561229457600080fd5b60006122a2868287016120e2565b93505060206122b386828701612064565b925050604084013567ffffffffffffffff8111156122d057600080fd5b6122dc868287016120b8565b9150509250925092565b600080604083850312156122f957600080fd5b6000612307858286016120e2565b9250506020612318858286016120e2565b9150509250929050565b600061232e838361260d565b905092915050565b61233f81612c29565b82525050565b61234e81612c17565b82525050565b61235d81612c17565b82525050565b600061236e82612975565b6123788185612998565b93508360208202850161238a85612950565b8060005b858110156123c657848403895281516123a78582612322565b94506123b28361298b565b925060208a0199505060018101905061238e565b50829750879550505050505092915050565b6123e181612c3b565b82525050565b6123f081612c47565b82525050565b600061240182612980565b61240b81856129ba565b935061241b818560208601612cac565b61242481612e78565b840191505092915050565b600061243a82612980565b61244481856129cb565b9350612454818560208601612cac565b61245d81612e78565b840191505092915050565b600061247382612980565b61247d81856129dc565b935061248d818560208601612cac565b80840191505092915050565b600081546124a681612cdf565b6124b081866129dc565b945060018216600081146124cb57600181146124dc5761250f565b60ff1983168652818601935061250f565b6124e585612960565b60005b83811015612507578154818901526001820191506020810190506124e8565b838801955050505b50505092915050565b60006125256026836129cb565b915061253082612e96565b604082019050919050565b60006125486024836129cb565b915061255382612ee5565b604082019050919050565b600061256b6020836129cb565b915061257682612f34565b602082019050919050565b600061258e601b836129cb565b915061259982612f5d565b602082019050919050565b60006125b16000836129a9565b91506125bc82612f86565b600082019050919050565b60006125d4601d836129cb565b91506125df82612f89565b602082019050919050565b60006125f7602d836129cb565b915061260282612fb2565b604082019050919050565b6000604083016000830151848203600086015261262a82826123f6565b915050602083015161263f6020860182612345565b508091505092915050565b6000604083016000830151848203600086015261266782826123f6565b915050602083015161267c6020860182612345565b508091505092915050565b61269081612c93565b82525050565b60006126a28284612468565b915081905092915050565b60006126b98284612499565b915081905092915050565b60006020820190506126d96000830184612354565b92915050565b60006020820190506126f46000830184612336565b92915050565b600060808201905061270f6000830186612354565b61271c6020830185612354565b6127296040830184612687565b818103606083015261273a816125a4565b9050949350505050565b6000602082019050818103600083015261275e8184612363565b905092915050565b600060208201905061277b60008301846123d8565b92915050565b600060208201905061279660008301846123e7565b92915050565b600060408201905081810360008301526127b6818561242f565b90506127c56020830184612354565b9392505050565b600060208201905081810360008301526127e581612518565b9050919050565b600060208201905081810360008301526128058161253b565b9050919050565b600060208201905081810360008301526128258161255e565b9050919050565b6000602082019050818103600083015261284581612581565b9050919050565b60006020820190508181036000830152612865816125c7565b9050919050565b60006020820190508181036000830152612885816125ea565b9050919050565b600060208201905081810360008301526128a6818461264a565b905092915050565b60006020820190506128c36000830184612687565b92915050565b60006128d36128e4565b90506128df8282612d11565b919050565b6000604051905090565b600067ffffffffffffffff82111561290957612908612e49565b5b61291282612e78565b9050602081019050919050565b600067ffffffffffffffff82111561293a57612939612e49565b5b61294382612e78565b9050602081019050919050565b6000819050602082019050919050565b60008190508160005260206000209050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b60006129f282612c93565b91506129fd83612c93565b925082612a0d57612a0c612deb565b5b828204905092915050565b6000808291508390505b6001851115612a6257808604811115612a3e57612a3d612dbc565b5b6001851615612a4d5780820291505b8081029050612a5b85612e89565b9450612a22565b94509492505050565b6000612a7682612c93565b9150612a8183612c93565b9250612aae7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612ab6565b905092915050565b600082612ac65760019050612b82565b81612ad45760009050612b82565b8160018114612aea5760028114612af457612b23565b6001915050612b82565b60ff841115612b0657612b05612dbc565b5b8360020a915084821115612b1d57612b1c612dbc565b5b50612b82565b5060208310610133831016604e8410600b8410161715612b585782820a905083811115612b5357612b52612dbc565b5b612b82565b612b658484846001612a18565b92509050818404811115612b7c57612b7b612dbc565b5b81810290505b9392505050565b6000612b9482612c93565b9150612b9f83612c93565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612bd857612bd7612dbc565b5b828202905092915050565b6000612bee82612c93565b9150612bf983612c93565b925082821015612c0c57612c0b612dbc565b5b828203905092915050565b6000612c2282612c73565b9050919050565b6000612c3482612c73565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015612cca578082015181840152602081019050612caf565b83811115612cd9576000848401525b50505050565b60006002820490506001821680612cf757607f821691505b60208210811415612d0b57612d0a612e1a565b5b50919050565b612d1a82612e78565b810181811067ffffffffffffffff82111715612d3957612d38612e49565b5b80604052505050565b6000612d4d82612c93565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612d8057612d7f612dbc565b5b600182019050919050565b6000612d9682612c93565b9150612da183612c93565b925082612db157612db0612deb565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f552043484f534520412043484152495459205448415420444f45534e2754204560008201527f5849535400000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f594f5520484156454e2754205041494420454e4f554748204c4f4c0000000000600082015250565b50565b7f53414c45204841534e27542053544152544544204f5220504155534544000000600082015250565b7f594f552052455155455354454420412043484152495459204f5554534944452060008201527f5448452052414e47452050414c00000000000000000000000000000000000000602082015250565b61300a81612c17565b811461301557600080fd5b50565b61302181612c29565b811461302c57600080fd5b50565b61303881612c93565b811461304357600080fd5b5056fea26469706673582212209c6062c3002204744511a353a49a0a3877403e61bb6587d6431a6e8f662ae99864736f6c63430008040033000000000000000000000000c5e08104c19dafd00fe40737490da9552db5bfe5
Deployed Bytecode
0x6080604052600436106101bb5760003560e01c806378bb01cc116100ec578063c8c3ee7f1161008a578063f2fde38b11610064578063f2fde38b1461056b578063f4f3122e14610594578063fb709d2e146105bd578063fd67db81146105fb576101c2565b8063c8c3ee7f146104ec578063ca057f6614610517578063e6cdbfe714610540576101c2565b8063a4e8d2bf116100c6578063a4e8d2bf14610461578063abc735de1461048c578063c5f956af14610496578063c7f8e7f3146104c1576101c2565b806378bb01cc146103e057806378e979251461040b5780638da5cb5b14610436576101c2565b806348112c6f11610159578063715018a611610133578063715018a6146103595780637185a44b1461037057806372f7bec81461039b57806375ceb0d9146103c4576101c2565b806348112c6f146102ee57806355367ba9146103195780636605bfda14610330576101c2565b80631eb5ea2e116101955780631eb5ea2e1461026a5780632f8383961461028157806333e364cb146102ac5780633779a3b6146102c3576101c2565b80630c825e58146101c7578063150b7a02146101f05780631e9bc8c11461022d576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101ee60048036038101906101e9919061227f565b610638565b005b3480156101fc57600080fd5b506102176004803603810190610212919061215e565b6107fd565b6040516102249190612781565b60405180910390f35b34801561023957600080fd5b50610254600480360381019061024f919061222d565b610811565b60405161026191906128ae565b60405180910390f35b34801561027657600080fd5b5061027f6108d9565b005b34801561028d57600080fd5b506102966109c0565b6040516102a391906128ae565b60405180910390f35b3480156102b857600080fd5b506102c16109f4565b005b3480156102cf57600080fd5b506102d8610a8d565b6040516102e59190612766565b60405180910390f35b3480156102fa57600080fd5b50610303610aa0565b6040516103109190612744565b60405180910390f35b34801561032557600080fd5b5061032e610be7565b005b34801561033c57600080fd5b5061035760048036038101906103529190612135565b610c80565b005b34801561036557600080fd5b5061036e610d40565b005b34801561037c57600080fd5b50610385610e7a565b60405161039291906128ae565b60405180910390f35b3480156103a757600080fd5b506103c260048036038101906103bd91906121d9565b610e87565b005b6103de60048036038101906103d991906122e6565b61101c565b005b3480156103ec57600080fd5b506103f561149c565b60405161040291906128ae565b60405180910390f35b34801561041757600080fd5b506104206114a2565b60405161042d91906128ae565b60405180910390f35b34801561044257600080fd5b5061044b6114a8565b60405161045891906126c4565b60405180910390f35b34801561046d57600080fd5b506104766114d1565b60405161048391906128ae565b60405180910390f35b6104946114d7565b005b3480156104a257600080fd5b506104ab61159c565b6040516104b891906126df565b60405180910390f35b3480156104cd57600080fd5b506104d66115c2565b6040516104e391906128ae565b60405180910390f35b3480156104f857600080fd5b506105016115c8565b60405161050e91906126c4565b60405180910390f35b34801561052357600080fd5b5061053e6004803603810190610539919061222d565b6115ee565b005b34801561054c57600080fd5b5061055561184d565b60405161056291906128ae565b60405180910390f35b34801561057757600080fd5b50610592600480360381019061058d919061210c565b611926565b005b3480156105a057600080fd5b506105bb60048036038101906105b691906122e6565b611acf565b005b3480156105c957600080fd5b506105e460048036038101906105df919061222d565b611bd3565b6040516105f292919061279c565b60405180910390f35b34801561060757600080fd5b50610622600480360381019061061d919061222d565b611caf565b60405161062f919061288c565b60405180910390f35b610640611e40565b73ffffffffffffffffffffffffffffffffffffffff1661065e6114a8565b73ffffffffffffffffffffffffffffffffffffffff16146106b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ab9061280c565b60405180910390fd5b80600984815481106106ef577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600202016000019080519060200190610713929190611e48565b50816009848154811061074f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906002020160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff16816040516107c39190612696565b6040518091039020847f4305d18b4494b4ef78a02e589a6f6aa38b428221a4246f40fee8b2d84a7e735860405160405180910390a4505050565b600063150b7a0260e01b9050949350505050565b6000600360009054906101000a900460ff16610862576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108599061284c565b60405180910390fd5b60006007548361087291906129e7565b90506000816004546108849190612a6b565b90506000816006546007548761089a9190612d8b565b6108a49190612b89565b6108ae91906129e7565b9050600081836005546108c191906129e7565b6108cb9190612be3565b905080945050505050919050565b6108e1611e40565b73ffffffffffffffffffffffffffffffffffffffff166108ff6114a8565b73ffffffffffffffffffffffffffffffffffffffff1614610955576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094c9061280c565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156109bd573d6000803e3d6000fd5b50565b6000600360009054906101000a900460ff16156109ec57600254426109e59190612be3565b90506109f1565b600090505b90565b6109fc611e40565b73ffffffffffffffffffffffffffffffffffffffff16610a1a6114a8565b73ffffffffffffffffffffffffffffffffffffffff1614610a70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a679061280c565b60405180910390fd5b6001600360006101000a81548160ff021916908315150217905550565b600360009054906101000a900460ff1681565b60606009805480602002602001604051908101604052809291908181526020016000905b82821015610bde5783829060005260206000209060020201604051806040016040529081600082018054610af790612cdf565b80601f0160208091040260200160405190810160405280929190818152602001828054610b2390612cdf565b8015610b705780601f10610b4557610100808354040283529160200191610b70565b820191906000526020600020905b815481529060010190602001808311610b5357829003601f168201915b505050505081526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152505081526020019060010190610ac4565b50505050905090565b610bef611e40565b73ffffffffffffffffffffffffffffffffffffffff16610c0d6114a8565b73ffffffffffffffffffffffffffffffffffffffff1614610c63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5a9061280c565b60405180910390fd5b6000600360006101000a81548160ff021916908315150217905550565b610c88611e40565b73ffffffffffffffffffffffffffffffffffffffff16610ca66114a8565b73ffffffffffffffffffffffffffffffffffffffff1614610cfc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf39061280c565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610d48611e40565b73ffffffffffffffffffffffffffffffffffffffff16610d666114a8565b73ffffffffffffffffffffffffffffffffffffffff1614610dbc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db39061280c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600980549050905090565b610e8f611e40565b73ffffffffffffffffffffffffffffffffffffffff16610ead6114a8565b73ffffffffffffffffffffffffffffffffffffffff1614610f03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610efa9061280c565b60405180910390fd5b600960405180604001604052808381526020018473ffffffffffffffffffffffffffffffffffffffff1681525090806001815401808255809150506001900390600052602060002090600202016000909190919091506000820151816000019080519060200190610f75929190611e48565b5060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050508173ffffffffffffffffffffffffffffffffffffffff1681604051610fe49190612696565b60405180910390207f2758040f7c4cdf548afa4be1444dc4936980ea205720a46007836076aa783f1160405160405180910390a35050565b600081600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d348b4096040518163ffffffff1660e01b815260040160206040518083038186803b15801561108757600080fd5b505afa15801561109b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110bf9190612256565b6110c99190612b89565b9050816110d461184d565b6110de9190612b89565b341015611120576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111179061282c565b60405180910390fd5b6009805490508310611167576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115e906127ec565b60405180910390fd5b600983815481106111a1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906002020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015611218573d6000803e3d6000fd5b50600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636863c4f482846040518363ffffffff1660e01b815260040161127591906128ae565b6000604051808303818588803b15801561128e57600080fd5b505af11580156112a2573d6000803e3d6000fd5b50505050506000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561131157600080fd5b505afa158015611325573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113499190612256565b9050600083826113599190612be3565b90505b8181101561140857600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b88d4fde3033846040518463ffffffff1660e01b81526004016113c3939291906126fa565b600060405180830381600087803b1580156113dd57600080fd5b505af11580156113f1573d6000803e3d6000fd5b50505050808061140090612d42565b91505061135c565b503460098581548110611444577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906002020160000160405161146291906126ad565b60405180910390207ff6b5e75f5eb45da2732178cb398223127fe363b3b018d50877b3f5ef568f31c560405160405180910390a350505050565b60065481565b60025481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60055481565b6114df611e40565b73ffffffffffffffffffffffffffffffffffffffff166114fd6114a8565b73ffffffffffffffffffffffffffffffffffffffff1614611553576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154a9061280c565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015611599573d6000803e3d6000fd5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60075481565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6115f6611e40565b73ffffffffffffffffffffffffffffffffffffffff166116146114a8565b73ffffffffffffffffffffffffffffffffffffffff161461166a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116619061280c565b60405180910390fd5b6009600160098054905061167e9190612be3565b815481106116b5577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060020201600982815481106116fd577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060020201600082018160000190805461171f90612cdf565b61172a929190611ece565b506001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555090505060098054806117cd577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6001900381819060005260206000209060020201600080820160006117f29190611f5b565b6001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550509055807ff5d7d0698ce0f748a4c523fff3a8359c99802dd2df70844e3779395bd14040d360405160405180910390a250565b6000600360009054906101000a900460ff1661189e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118959061284c565b60405180910390fd5b6000600254426118ae9190612be3565b90506000600754826118c091906129e7565b90506000816004546118d29190612a6b565b9050600081600654600754866118e89190612d8b565b6118f29190612b89565b6118fc91906129e7565b90506000818360055461190f91906129e7565b6119199190612be3565b9050809550505050505090565b61192e611e40565b73ffffffffffffffffffffffffffffffffffffffff1661194c6114a8565b73ffffffffffffffffffffffffffffffffffffffff16146119a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119999061280c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611a12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a09906127cc565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611ad7611e40565b73ffffffffffffffffffffffffffffffffffffffff16611af56114a8565b73ffffffffffffffffffffffffffffffffffffffff1614611b4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b429061280c565b60405180910390fd5b426002819055508160058190555080600781905550600454600754600554611b7391906129e7565b611b7d91906129e7565b6006819055506001600360006101000a81548160ff02191690831515021790555080826002547f4592e5bca5821712174f269754e5a73f54e9e1dd085e94115adcd0b0aff9b3a060405160405180910390a45050565b60098181548110611be357600080fd5b9060005260206000209060020201600091509050806000018054611c0690612cdf565b80601f0160208091040260200160405190810160405280929190818152602001828054611c3290612cdf565b8015611c7f5780601f10611c5457610100808354040283529160200191611c7f565b820191906000526020600020905b815481529060010190602001808311611c6257829003601f168201915b5050505050908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082565b611cb7611f9b565b6009805490508210611cfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf59061286c565b60405180910390fd5b60098281548110611d38577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060020201604051806040016040529081600082018054611d6190612cdf565b80601f0160208091040260200160405190810160405280929190818152602001828054611d8d90612cdf565b8015611dda5780601f10611daf57610100808354040283529160200191611dda565b820191906000526020600020905b815481529060010190602001808311611dbd57829003601f168201915b505050505081526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250509050919050565b600033905090565b828054611e5490612cdf565b90600052602060002090601f016020900481019282611e765760008555611ebd565b82601f10611e8f57805160ff1916838001178555611ebd565b82800160010185558215611ebd579182015b82811115611ebc578251825591602001919060010190611ea1565b5b509050611eca9190611fcb565b5090565b828054611eda90612cdf565b90600052602060002090601f016020900481019282611efc5760008555611f4a565b82601f10611f0d5780548555611f4a565b82800160010185558215611f4a57600052602060002091601f016020900482015b82811115611f49578254825591600101919060010190611f2e565b5b509050611f579190611fcb565b5090565b508054611f6790612cdf565b6000825580601f10611f795750611f98565b601f016020900490600052602060002090810190611f979190611fcb565b5b50565b604051806040016040528060608152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b5b80821115611fe4576000816000905550600101611fcc565b5090565b6000611ffb611ff6846128ee565b6128c9565b90508281526020810184848401111561201357600080fd5b61201e848285612c9d565b509392505050565b60006120396120348461291f565b6128c9565b90508281526020810184848401111561205157600080fd5b61205c848285612c9d565b509392505050565b60008135905061207381613001565b92915050565b60008135905061208881613018565b92915050565b600082601f83011261209f57600080fd5b81356120af848260208601611fe8565b91505092915050565b600082601f8301126120c957600080fd5b81356120d9848260208601612026565b91505092915050565b6000813590506120f18161302f565b92915050565b6000815190506121068161302f565b92915050565b60006020828403121561211e57600080fd5b600061212c84828501612064565b91505092915050565b60006020828403121561214757600080fd5b600061215584828501612079565b91505092915050565b6000806000806080858703121561217457600080fd5b600061218287828801612064565b945050602061219387828801612064565b93505060406121a4878288016120e2565b925050606085013567ffffffffffffffff8111156121c157600080fd5b6121cd8782880161208e565b91505092959194509250565b600080604083850312156121ec57600080fd5b60006121fa85828601612064565b925050602083013567ffffffffffffffff81111561221757600080fd5b612223858286016120b8565b9150509250929050565b60006020828403121561223f57600080fd5b600061224d848285016120e2565b91505092915050565b60006020828403121561226857600080fd5b6000612276848285016120f7565b91505092915050565b60008060006060848603121561229457600080fd5b60006122a2868287016120e2565b93505060206122b386828701612064565b925050604084013567ffffffffffffffff8111156122d057600080fd5b6122dc868287016120b8565b9150509250925092565b600080604083850312156122f957600080fd5b6000612307858286016120e2565b9250506020612318858286016120e2565b9150509250929050565b600061232e838361260d565b905092915050565b61233f81612c29565b82525050565b61234e81612c17565b82525050565b61235d81612c17565b82525050565b600061236e82612975565b6123788185612998565b93508360208202850161238a85612950565b8060005b858110156123c657848403895281516123a78582612322565b94506123b28361298b565b925060208a0199505060018101905061238e565b50829750879550505050505092915050565b6123e181612c3b565b82525050565b6123f081612c47565b82525050565b600061240182612980565b61240b81856129ba565b935061241b818560208601612cac565b61242481612e78565b840191505092915050565b600061243a82612980565b61244481856129cb565b9350612454818560208601612cac565b61245d81612e78565b840191505092915050565b600061247382612980565b61247d81856129dc565b935061248d818560208601612cac565b80840191505092915050565b600081546124a681612cdf565b6124b081866129dc565b945060018216600081146124cb57600181146124dc5761250f565b60ff1983168652818601935061250f565b6124e585612960565b60005b83811015612507578154818901526001820191506020810190506124e8565b838801955050505b50505092915050565b60006125256026836129cb565b915061253082612e96565b604082019050919050565b60006125486024836129cb565b915061255382612ee5565b604082019050919050565b600061256b6020836129cb565b915061257682612f34565b602082019050919050565b600061258e601b836129cb565b915061259982612f5d565b602082019050919050565b60006125b16000836129a9565b91506125bc82612f86565b600082019050919050565b60006125d4601d836129cb565b91506125df82612f89565b602082019050919050565b60006125f7602d836129cb565b915061260282612fb2565b604082019050919050565b6000604083016000830151848203600086015261262a82826123f6565b915050602083015161263f6020860182612345565b508091505092915050565b6000604083016000830151848203600086015261266782826123f6565b915050602083015161267c6020860182612345565b508091505092915050565b61269081612c93565b82525050565b60006126a28284612468565b915081905092915050565b60006126b98284612499565b915081905092915050565b60006020820190506126d96000830184612354565b92915050565b60006020820190506126f46000830184612336565b92915050565b600060808201905061270f6000830186612354565b61271c6020830185612354565b6127296040830184612687565b818103606083015261273a816125a4565b9050949350505050565b6000602082019050818103600083015261275e8184612363565b905092915050565b600060208201905061277b60008301846123d8565b92915050565b600060208201905061279660008301846123e7565b92915050565b600060408201905081810360008301526127b6818561242f565b90506127c56020830184612354565b9392505050565b600060208201905081810360008301526127e581612518565b9050919050565b600060208201905081810360008301526128058161253b565b9050919050565b600060208201905081810360008301526128258161255e565b9050919050565b6000602082019050818103600083015261284581612581565b9050919050565b60006020820190508181036000830152612865816125c7565b9050919050565b60006020820190508181036000830152612885816125ea565b9050919050565b600060208201905081810360008301526128a6818461264a565b905092915050565b60006020820190506128c36000830184612687565b92915050565b60006128d36128e4565b90506128df8282612d11565b919050565b6000604051905090565b600067ffffffffffffffff82111561290957612908612e49565b5b61291282612e78565b9050602081019050919050565b600067ffffffffffffffff82111561293a57612939612e49565b5b61294382612e78565b9050602081019050919050565b6000819050602082019050919050565b60008190508160005260206000209050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b60006129f282612c93565b91506129fd83612c93565b925082612a0d57612a0c612deb565b5b828204905092915050565b6000808291508390505b6001851115612a6257808604811115612a3e57612a3d612dbc565b5b6001851615612a4d5780820291505b8081029050612a5b85612e89565b9450612a22565b94509492505050565b6000612a7682612c93565b9150612a8183612c93565b9250612aae7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612ab6565b905092915050565b600082612ac65760019050612b82565b81612ad45760009050612b82565b8160018114612aea5760028114612af457612b23565b6001915050612b82565b60ff841115612b0657612b05612dbc565b5b8360020a915084821115612b1d57612b1c612dbc565b5b50612b82565b5060208310610133831016604e8410600b8410161715612b585782820a905083811115612b5357612b52612dbc565b5b612b82565b612b658484846001612a18565b92509050818404811115612b7c57612b7b612dbc565b5b81810290505b9392505050565b6000612b9482612c93565b9150612b9f83612c93565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612bd857612bd7612dbc565b5b828202905092915050565b6000612bee82612c93565b9150612bf983612c93565b925082821015612c0c57612c0b612dbc565b5b828203905092915050565b6000612c2282612c73565b9050919050565b6000612c3482612c73565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015612cca578082015181840152602081019050612caf565b83811115612cd9576000848401525b50505050565b60006002820490506001821680612cf757607f821691505b60208210811415612d0b57612d0a612e1a565b5b50919050565b612d1a82612e78565b810181811067ffffffffffffffff82111715612d3957612d38612e49565b5b80604052505050565b6000612d4d82612c93565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612d8057612d7f612dbc565b5b600182019050919050565b6000612d9682612c93565b9150612da183612c93565b925082612db157612db0612deb565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f552043484f534520412043484152495459205448415420444f45534e2754204560008201527f5849535400000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f594f5520484156454e2754205041494420454e4f554748204c4f4c0000000000600082015250565b50565b7f53414c45204841534e27542053544152544544204f5220504155534544000000600082015250565b7f594f552052455155455354454420412043484152495459204f5554534944452060008201527f5448452052414e47452050414c00000000000000000000000000000000000000602082015250565b61300a81612c17565b811461301557600080fd5b50565b61302181612c29565b811461302c57600080fd5b50565b61303881612c93565b811461304357600080fd5b5056fea26469706673582212209c6062c3002204744511a353a49a0a3877403e61bb6587d6431a6e8f662ae99864736f6c63430008040033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000c5e08104c19dafd00fe40737490da9552db5bfe5
-----Decoded View---------------
Arg [0] : _treasuryAddress (address): 0xc5E08104c19DAfd00Fe40737490Da9552Db5bfE5
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000c5e08104c19dafd00fe40737490da9552db5bfe5
Deployed Bytecode Sourcemap
5075:6011:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7007:282;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10876:207;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8739:525;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10595:106;;;;;;;;;;;;;:::i;:::-;;8006:195;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6669:76;;;;;;;;;;;;;:::i;:::-;;5226:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7628:98;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6587:76;;;;;;;;;;;;;:::i;:::-;;10709:116;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3289:148;;;;;;;;;;;;;:::i;:::-;;7521:99;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6786:203;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9272:1080;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5329:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5195:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2638:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5296:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10471:116;;;:::i;:::-;;5148:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5368:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5411:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7299:214;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8209:522;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3592:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6176:403;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5593:26;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;7738:204;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7007:282;2869:12;:10;:12::i;:::-;2858:23;;:7;:5;:7::i;:::-;:23;;;2850:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7168:5:::1;7144:9;7154:5;7144:16;;;;;;;;;;;;;;;;;;;;;;;;;;:21;;:29;;;;;;;;;;;;:::i;:::-;;7218:8;7184:9;7194:5;7184:16;;;;;;;;;;;;;;;;;;;;;;;;;;:31;;;:42;;;;;;;;;;;;;;;;;;7270:8;7242:37;;7263:5;7242:37;;;;;;:::i;:::-;;;;;;;;7256:5;7242:37;;;;;;;;;;7007:282:::0;;;:::o;10876:207::-;11019:6;11045:30;;;11038:37;;10876:207;;;;;;:::o;8739:525::-;8846:7;8879:11;;;;;;;;;;;8871:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;8935:17;8969:19;;8955:11;:33;;;;:::i;:::-;8935:53;;8999:19;9026:9;9021:3;;:14;;;;:::i;:::-;8999:36;;9048:22;9142:11;9122:17;;9100:19;;9086:11;:33;;;;:::i;:::-;:53;;;;:::i;:::-;:67;;;;:::i;:::-;9048:105;;9166:18;9214:14;9200:11;9187:10;;:24;;;;:::i;:::-;:41;;;;:::i;:::-;9166:62;;9246:10;9239:17;;;;;;8739:525;;;:::o;10595:106::-;2869:12;:10;:12::i;:::-;2858:23;;:7;:5;:7::i;:::-;:23;;;2850:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10646:15:::1;;;;;;;;;;;:24;;:47;10671:21;10646:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;10595:106::o:0;8006:195::-;8060:7;8083:11;;;;;;;;;;;8080:114;;;8132:9;;8114:15;:27;;;;:::i;:::-;8107:34;;;;8080:114;8181:1;8174:8;;8006:195;;:::o;6669:76::-;2869:12;:10;:12::i;:::-;2858:23;;:7;:5;:7::i;:::-;:23;;;2850:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6733:4:::1;6719:11;;:18;;;;;;;;;;;;;;;;;;6669:76::o:0;5226:31::-;;;;;;;;;;;;;:::o;7628:98::-;7673:16;7709:9;7702:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7628:98;:::o;6587:76::-;2869:12;:10;:12::i;:::-;2858:23;;:7;:5;:7::i;:::-;:23;;;2850:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6650:5:::1;6636:11;;:19;;;;;;;;;;;;;;;;;;6587:76::o:0;10709:116::-;2869:12;:10;:12::i;:::-;2858:23;;:7;:5;:7::i;:::-;:23;;;2850:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10809:8:::1;10791:15;;:26;;;;;;;;;;;;;;;;;;10709:116:::0;:::o;3289:148::-;2869:12;:10;:12::i;:::-;2858:23;;:7;:5;:7::i;:::-;:23;;;2850:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3396:1:::1;3359:40;;3380:6;::::0;::::1;;;;;;;;3359:40;;;;;;;;;;;;3427:1;3410:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3289:148::o:0;7521:99::-;7569:7;7596:9;:16;;;;7589:23;;7521:99;:::o;6786:203::-;2869:12;:10;:12::i;:::-;2858:23;;:7;:5;:7::i;:::-;:23;;;2850:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6896:9:::1;6911:24;;;;;;;;6919:5;6911:24;;;;6926:8;6911:24;;;;::::0;6896:40:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6972:8;6952:29;;6965:5;6952:29;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;6786:203:::0;;:::o;9272:1080::-;9391:21;9479:7;9440:18;;;;;;;;;;;9428:46;;;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:58;;;;:::i;:::-;9391:95;;9563:7;9534:26;:24;:26::i;:::-;:36;;;;:::i;:::-;9521:9;:49;;9499:126;;;;;;;;;;;;:::i;:::-;;;;;;;;;9675:9;:16;;;;9658:14;:33;9636:119;;;;;;;;;;;;:::i;:::-;;;;;;;;;9776:9;9786:14;9776:25;;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;9768:58;;:69;9827:9;9768:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9862:18;;;;;;;;;;;9850:44;;;9902:13;9931:7;9850:99;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9960:13;9988:18;;;;;;;;;;;9976:43;;;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9960:61;;10037:9;10057:7;10049:5;:15;;;;:::i;:::-;10037:27;;10032:242;10070:5;10066:1;:9;10032:242;;;10109:18;;;;;;;;;;;10097:48;;;10172:4;10196:10;10225:1;10097:165;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10077:3;;;;;:::i;:::-;;;;10032:242;;;;10334:9;10302;10312:14;10302:25;;;;;;;;;;;;;;;;;;;;;;;;;;:30;;10289:55;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;9272:1080;;;;:::o;5329:32::-;;;;:::o;5195:24::-;;;;:::o;2638:87::-;2684:7;2711:6;;;;;;;;;;;2704:13;;2638:87;:::o;5296:25::-;;;;:::o;10471:116::-;2869:12;:10;:12::i;:::-;2858:23;;:7;:5;:7::i;:::-;:23;;;2850:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10553:4:::1;10537:31;;:42;10569:9;10537:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;10471:116::o:0;5148:38::-;;;;;;;;;;;;;:::o;5368:34::-;;;;:::o;5411:87::-;;;;;;;;;;;;;:::o;7299:214::-;2869:12;:10;:12::i;:::-;2858:23;;:7;:5;:7::i;:::-;:23;;;2850:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7411:9:::1;7440:1;7421:9;:16;;;;:20;;;;:::i;:::-;7411:31;;;;;;;;;;;;;;;;;;;;;;;;;;7392:9;7402:5;7392:16;;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7453:9;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;7499:5;7484:21;;;;;;;;;;7299:214:::0;:::o;8209:522::-;8266:7;8294:11;;;;;;;;;;;8286:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;8352:15;8388:9;;8370:15;:27;;;;:::i;:::-;8352:45;;8408:17;8438:19;;8428:7;:29;;;;:::i;:::-;8408:49;;8468:19;8497:9;8490:3;;:16;;;;:::i;:::-;8468:38;;8519:22;8609:11;8589:17;;8567:19;;8557:7;:29;;;;:::i;:::-;:49;;;;:::i;:::-;:63;;;;:::i;:::-;8519:101;;8633:18;8681:14;8667:11;8654:10;;:24;;;;:::i;:::-;:41;;;;:::i;:::-;8633:62;;8713:10;8706:17;;;;;;;8209:522;:::o;3592:244::-;2869:12;:10;:12::i;:::-;2858:23;;:7;:5;:7::i;:::-;:23;;;2850:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3701:1:::1;3681:22;;:8;:22;;;;3673:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;3791:8;3762:38;;3783:6;::::0;::::1;;;;;;;;3762:38;;;;;;;;;;;;3820:8;3811:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;3592:244:::0;:::o;6176:403::-;2869:12;:10;:12::i;:::-;2858:23;;:7;:5;:7::i;:::-;:23;;;2850:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6305:15:::1;6293:9;:27;;;;6344:11;6331:10;:24;;;;6388:16;6366:19;:38;;;;6470:3;;6448:19;;6435:10;;:32;;;;:::i;:::-;:38;;;;:::i;:::-;6415:17;:58;;;;6498:4;6484:11;;:18;;;;;;;;;;;;;;;;;;6554:16;6541:11;6530:9;;6518:53;;;;;;;;;;6176:403:::0;;:::o;5593:26::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7738:204::-;7791:14;;:::i;:::-;7834:9;:16;;;;7826:5;:24;7818:82;;;;;;;;;;;;:::i;:::-;;;;;;;;;7918:9;7928:5;7918:16;;;;;;;;;;;;;;;;;;;;;;;;;;7911:23;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7738:204;;;:::o;1282:98::-;1335:7;1362:10;1355:17;;1282:98;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:343:1:-;84:5;109:65;125:48;166:6;125:48;:::i;:::-;109:65;:::i;:::-;100:74;;197:6;190:5;183:21;235:4;228:5;224:16;273:3;264:6;259:3;255:16;252:25;249:2;;;290:1;287;280:12;249:2;303:41;337:6;332:3;327;303:41;:::i;:::-;90:260;;;;;;:::o;356:345::-;434:5;459:66;475:49;517:6;475:49;:::i;:::-;459:66;:::i;:::-;450:75;;548:6;541:5;534:21;586:4;579:5;575:16;624:3;615:6;610:3;606:16;603:25;600:2;;;641:1;638;631:12;600:2;654:41;688:6;683:3;678;654:41;:::i;:::-;440:261;;;;;;:::o;707:139::-;753:5;791:6;778:20;769:29;;807:33;834:5;807:33;:::i;:::-;759:87;;;;:::o;852:155::-;906:5;944:6;931:20;922:29;;960:41;995:5;960:41;:::i;:::-;912:95;;;;:::o;1026:271::-;1081:5;1130:3;1123:4;1115:6;1111:17;1107:27;1097:2;;1148:1;1145;1138:12;1097:2;1188:6;1175:20;1213:78;1287:3;1279:6;1272:4;1264:6;1260:17;1213:78;:::i;:::-;1204:87;;1087:210;;;;;:::o;1317:273::-;1373:5;1422:3;1415:4;1407:6;1403:17;1399:27;1389:2;;1440:1;1437;1430:12;1389:2;1480:6;1467:20;1505:79;1580:3;1572:6;1565:4;1557:6;1553:17;1505:79;:::i;:::-;1496:88;;1379:211;;;;;:::o;1596:139::-;1642:5;1680:6;1667:20;1658:29;;1696:33;1723:5;1696:33;:::i;:::-;1648:87;;;;:::o;1741:143::-;1798:5;1829:6;1823:13;1814:22;;1845:33;1872:5;1845:33;:::i;:::-;1804:80;;;;:::o;1890:262::-;1949:6;1998:2;1986:9;1977:7;1973:23;1969:32;1966:2;;;2014:1;2011;2004:12;1966:2;2057:1;2082:53;2127:7;2118:6;2107:9;2103:22;2082:53;:::i;:::-;2072:63;;2028:117;1956:196;;;;:::o;2158:278::-;2225:6;2274:2;2262:9;2253:7;2249:23;2245:32;2242:2;;;2290:1;2287;2280:12;2242:2;2333:1;2358:61;2411:7;2402:6;2391:9;2387:22;2358:61;:::i;:::-;2348:71;;2304:125;2232:204;;;;:::o;2442:809::-;2537:6;2545;2553;2561;2610:3;2598:9;2589:7;2585:23;2581:33;2578:2;;;2627:1;2624;2617:12;2578:2;2670:1;2695:53;2740:7;2731:6;2720:9;2716:22;2695:53;:::i;:::-;2685:63;;2641:117;2797:2;2823:53;2868:7;2859:6;2848:9;2844:22;2823:53;:::i;:::-;2813:63;;2768:118;2925:2;2951:53;2996:7;2987:6;2976:9;2972:22;2951:53;:::i;:::-;2941:63;;2896:118;3081:2;3070:9;3066:18;3053:32;3112:18;3104:6;3101:30;3098:2;;;3144:1;3141;3134:12;3098:2;3172:62;3226:7;3217:6;3206:9;3202:22;3172:62;:::i;:::-;3162:72;;3024:220;2568:683;;;;;;;:::o;3257:520::-;3335:6;3343;3392:2;3380:9;3371:7;3367:23;3363:32;3360:2;;;3408:1;3405;3398:12;3360:2;3451:1;3476:53;3521:7;3512:6;3501:9;3497:22;3476:53;:::i;:::-;3466:63;;3422:117;3606:2;3595:9;3591:18;3578:32;3637:18;3629:6;3626:30;3623:2;;;3669:1;3666;3659:12;3623:2;3697:63;3752:7;3743:6;3732:9;3728:22;3697:63;:::i;:::-;3687:73;;3549:221;3350:427;;;;;:::o;3783:262::-;3842:6;3891:2;3879:9;3870:7;3866:23;3862:32;3859:2;;;3907:1;3904;3897:12;3859:2;3950:1;3975:53;4020:7;4011:6;4000:9;3996:22;3975:53;:::i;:::-;3965:63;;3921:117;3849:196;;;;:::o;4051:284::-;4121:6;4170:2;4158:9;4149:7;4145:23;4141:32;4138:2;;;4186:1;4183;4176:12;4138:2;4229:1;4254:64;4310:7;4301:6;4290:9;4286:22;4254:64;:::i;:::-;4244:74;;4200:128;4128:207;;;;:::o;4341:665::-;4428:6;4436;4444;4493:2;4481:9;4472:7;4468:23;4464:32;4461:2;;;4509:1;4506;4499:12;4461:2;4552:1;4577:53;4622:7;4613:6;4602:9;4598:22;4577:53;:::i;:::-;4567:63;;4523:117;4679:2;4705:53;4750:7;4741:6;4730:9;4726:22;4705:53;:::i;:::-;4695:63;;4650:118;4835:2;4824:9;4820:18;4807:32;4866:18;4858:6;4855:30;4852:2;;;4898:1;4895;4888:12;4852:2;4926:63;4981:7;4972:6;4961:9;4957:22;4926:63;:::i;:::-;4916:73;;4778:221;4451:555;;;;;:::o;5012:407::-;5080:6;5088;5137:2;5125:9;5116:7;5112:23;5108:32;5105:2;;;5153:1;5150;5143:12;5105:2;5196:1;5221:53;5266:7;5257:6;5246:9;5242:22;5221:53;:::i;:::-;5211:63;;5167:117;5323:2;5349:53;5394:7;5385:6;5374:9;5370:22;5349:53;:::i;:::-;5339:63;;5294:118;5095:324;;;;;:::o;5425:252::-;5542:10;5577:94;5667:3;5659:6;5577:94;:::i;:::-;5563:108;;5553:124;;;;:::o;5683:142::-;5786:32;5812:5;5786:32;:::i;:::-;5781:3;5774:45;5764:61;;:::o;5831:108::-;5908:24;5926:5;5908:24;:::i;:::-;5903:3;5896:37;5886:53;;:::o;5945:118::-;6032:24;6050:5;6032:24;:::i;:::-;6027:3;6020:37;6010:53;;:::o;6167:1103::-;6334:3;6363:78;6435:5;6363:78;:::i;:::-;6457:110;6560:6;6555:3;6457:110;:::i;:::-;6450:117;;6593:3;6638:4;6630:6;6626:17;6621:3;6617:27;6668:80;6742:5;6668:80;:::i;:::-;6771:7;6802:1;6787:438;6812:6;6809:1;6806:13;6787:438;;;6883:9;6877:4;6873:20;6868:3;6861:33;6934:6;6928:13;6962:112;7069:4;7054:13;6962:112;:::i;:::-;6954:120;;7097:84;7174:6;7097:84;:::i;:::-;7087:94;;7210:4;7205:3;7201:14;7194:21;;6847:378;6834:1;6831;6827:9;6822:14;;6787:438;;;6791:14;7241:4;7234:11;;7261:3;7254:10;;6339:931;;;;;;;;;:::o;7276:109::-;7357:21;7372:5;7357:21;:::i;:::-;7352:3;7345:34;7335:50;;:::o;7391:115::-;7476:23;7493:5;7476:23;:::i;:::-;7471:3;7464:36;7454:52;;:::o;7512:344::-;7590:3;7618:39;7651:5;7618:39;:::i;:::-;7673:61;7727:6;7722:3;7673:61;:::i;:::-;7666:68;;7743:52;7788:6;7783:3;7776:4;7769:5;7765:16;7743:52;:::i;:::-;7820:29;7842:6;7820:29;:::i;:::-;7815:3;7811:39;7804:46;;7594:262;;;;;:::o;7862:364::-;7950:3;7978:39;8011:5;7978:39;:::i;:::-;8033:71;8097:6;8092:3;8033:71;:::i;:::-;8026:78;;8113:52;8158:6;8153:3;8146:4;8139:5;8135:16;8113:52;:::i;:::-;8190:29;8212:6;8190:29;:::i;:::-;8185:3;8181:39;8174:46;;7954:272;;;;;:::o;8232:377::-;8338:3;8366:39;8399:5;8366:39;:::i;:::-;8421:89;8503:6;8498:3;8421:89;:::i;:::-;8414:96;;8519:52;8564:6;8559:3;8552:4;8545:5;8541:16;8519:52;:::i;:::-;8596:6;8591:3;8587:16;8580:23;;8342:267;;;;;:::o;8639:845::-;8742:3;8779:5;8773:12;8808:36;8834:9;8808:36;:::i;:::-;8860:89;8942:6;8937:3;8860:89;:::i;:::-;8853:96;;8980:1;8969:9;8965:17;8996:1;8991:137;;;;9142:1;9137:341;;;;8958:520;;8991:137;9075:4;9071:9;9060;9056:25;9051:3;9044:38;9111:6;9106:3;9102:16;9095:23;;8991:137;;9137:341;9204:38;9236:5;9204:38;:::i;:::-;9264:1;9278:154;9292:6;9289:1;9286:13;9278:154;;;9366:7;9360:14;9356:1;9351:3;9347:11;9340:35;9416:1;9407:7;9403:15;9392:26;;9314:4;9311:1;9307:12;9302:17;;9278:154;;;9461:6;9456:3;9452:16;9445:23;;9144:334;;8958:520;;8746:738;;;;;;:::o;9490:366::-;9632:3;9653:67;9717:2;9712:3;9653:67;:::i;:::-;9646:74;;9729:93;9818:3;9729:93;:::i;:::-;9847:2;9842:3;9838:12;9831:19;;9636:220;;;:::o;9862:366::-;10004:3;10025:67;10089:2;10084:3;10025:67;:::i;:::-;10018:74;;10101:93;10190:3;10101:93;:::i;:::-;10219:2;10214:3;10210:12;10203:19;;10008:220;;;:::o;10234:366::-;10376:3;10397:67;10461:2;10456:3;10397:67;:::i;:::-;10390:74;;10473:93;10562:3;10473:93;:::i;:::-;10591:2;10586:3;10582:12;10575:19;;10380:220;;;:::o;10606:366::-;10748:3;10769:67;10833:2;10828:3;10769:67;:::i;:::-;10762:74;;10845:93;10934:3;10845:93;:::i;:::-;10963:2;10958:3;10954:12;10947:19;;10752:220;;;:::o;10978:362::-;11119:3;11140:65;11203:1;11198:3;11140:65;:::i;:::-;11133:72;;11214:93;11303:3;11214:93;:::i;:::-;11332:1;11327:3;11323:11;11316:18;;11123:217;;;:::o;11346:366::-;11488:3;11509:67;11573:2;11568:3;11509:67;:::i;:::-;11502:74;;11585:93;11674:3;11585:93;:::i;:::-;11703:2;11698:3;11694:12;11687:19;;11492:220;;;:::o;11718:366::-;11860:3;11881:67;11945:2;11940:3;11881:67;:::i;:::-;11874:74;;11957:93;12046:3;11957:93;:::i;:::-;12075:2;12070:3;12066:12;12059:19;;11864:220;;;:::o;12184:604::-;12291:3;12327:4;12322:3;12318:14;12414:4;12407:5;12403:16;12397:23;12467:3;12461:4;12457:14;12450:4;12445:3;12441:14;12434:38;12493:73;12561:4;12547:12;12493:73;:::i;:::-;12485:81;;12342:235;12669:4;12662:5;12658:16;12652:23;12688:63;12745:4;12740:3;12736:14;12722:12;12688:63;:::i;:::-;12587:174;12778:4;12771:11;;12296:492;;;;;:::o;12888:614::-;13005:3;13041:4;13036:3;13032:14;13128:4;13121:5;13117:16;13111:23;13181:3;13175:4;13171:14;13164:4;13159:3;13155:14;13148:38;13207:73;13275:4;13261:12;13207:73;:::i;:::-;13199:81;;13056:235;13383:4;13376:5;13372:16;13366:23;13402:63;13459:4;13454:3;13450:14;13436:12;13402:63;:::i;:::-;13301:174;13492:4;13485:11;;13010:492;;;;;:::o;13508:118::-;13595:24;13613:5;13595:24;:::i;:::-;13590:3;13583:37;13573:53;;:::o;13632:275::-;13764:3;13786:95;13877:3;13868:6;13786:95;:::i;:::-;13779:102;;13898:3;13891:10;;13768:139;;;;:::o;13913:269::-;14042:3;14064:92;14152:3;14143:6;14064:92;:::i;:::-;14057:99;;14173:3;14166:10;;14046:136;;;;:::o;14188:222::-;14281:4;14319:2;14308:9;14304:18;14296:26;;14332:71;14400:1;14389:9;14385:17;14376:6;14332:71;:::i;:::-;14286:124;;;;:::o;14416:254::-;14525:4;14563:2;14552:9;14548:18;14540:26;;14576:87;14660:1;14649:9;14645:17;14636:6;14576:87;:::i;:::-;14530:140;;;;:::o;14676:748::-;14925:4;14963:3;14952:9;14948:19;14940:27;;14977:71;15045:1;15034:9;15030:17;15021:6;14977:71;:::i;:::-;15058:72;15126:2;15115:9;15111:18;15102:6;15058:72;:::i;:::-;15140;15208:2;15197:9;15193:18;15184:6;15140:72;:::i;:::-;15259:9;15253:4;15249:20;15244:2;15233:9;15229:18;15222:48;15287:130;15412:4;15287:130;:::i;:::-;15279:138;;14930:494;;;;;;:::o;15430:469::-;15621:4;15659:2;15648:9;15644:18;15636:26;;15708:9;15702:4;15698:20;15694:1;15683:9;15679:17;15672:47;15736:156;15887:4;15878:6;15736:156;:::i;:::-;15728:164;;15626:273;;;;:::o;15905:210::-;15992:4;16030:2;16019:9;16015:18;16007:26;;16043:65;16105:1;16094:9;16090:17;16081:6;16043:65;:::i;:::-;15997:118;;;;:::o;16121:218::-;16212:4;16250:2;16239:9;16235:18;16227:26;;16263:69;16329:1;16318:9;16314:17;16305:6;16263:69;:::i;:::-;16217:122;;;;:::o;16345:423::-;16486:4;16524:2;16513:9;16509:18;16501:26;;16573:9;16567:4;16563:20;16559:1;16548:9;16544:17;16537:47;16601:78;16674:4;16665:6;16601:78;:::i;:::-;16593:86;;16689:72;16757:2;16746:9;16742:18;16733:6;16689:72;:::i;:::-;16491:277;;;;;:::o;16774:419::-;16940:4;16978:2;16967:9;16963:18;16955:26;;17027:9;17021:4;17017:20;17013:1;17002:9;16998:17;16991:47;17055:131;17181:4;17055:131;:::i;:::-;17047:139;;16945:248;;;:::o;17199:419::-;17365:4;17403:2;17392:9;17388:18;17380:26;;17452:9;17446:4;17442:20;17438:1;17427:9;17423:17;17416:47;17480:131;17606:4;17480:131;:::i;:::-;17472:139;;17370:248;;;:::o;17624:419::-;17790:4;17828:2;17817:9;17813:18;17805:26;;17877:9;17871:4;17867:20;17863:1;17852:9;17848:17;17841:47;17905:131;18031:4;17905:131;:::i;:::-;17897:139;;17795:248;;;:::o;18049:419::-;18215:4;18253:2;18242:9;18238:18;18230:26;;18302:9;18296:4;18292:20;18288:1;18277:9;18273:17;18266:47;18330:131;18456:4;18330:131;:::i;:::-;18322:139;;18220:248;;;:::o;18474:419::-;18640:4;18678:2;18667:9;18663:18;18655:26;;18727:9;18721:4;18717:20;18713:1;18702:9;18698:17;18691:47;18755:131;18881:4;18755:131;:::i;:::-;18747:139;;18645:248;;;:::o;18899:419::-;19065:4;19103:2;19092:9;19088:18;19080:26;;19152:9;19146:4;19142:20;19138:1;19127:9;19123:17;19116:47;19180:131;19306:4;19180:131;:::i;:::-;19172:139;;19070:248;;;:::o;19324:369::-;19465:4;19503:2;19492:9;19488:18;19480:26;;19552:9;19546:4;19542:20;19538:1;19527:9;19523:17;19516:47;19580:106;19681:4;19672:6;19580:106;:::i;:::-;19572:114;;19470:223;;;;:::o;19699:222::-;19792:4;19830:2;19819:9;19815:18;19807:26;;19843:71;19911:1;19900:9;19896:17;19887:6;19843:71;:::i;:::-;19797:124;;;;:::o;19927:129::-;19961:6;19988:20;;:::i;:::-;19978:30;;20017:33;20045:4;20037:6;20017:33;:::i;:::-;19968:88;;;:::o;20062:75::-;20095:6;20128:2;20122:9;20112:19;;20102:35;:::o;20143:307::-;20204:4;20294:18;20286:6;20283:30;20280:2;;;20316:18;;:::i;:::-;20280:2;20354:29;20376:6;20354:29;:::i;:::-;20346:37;;20438:4;20432;20428:15;20420:23;;20209:241;;;:::o;20456:308::-;20518:4;20608:18;20600:6;20597:30;20594:2;;;20630:18;;:::i;:::-;20594:2;20668:29;20690:6;20668:29;:::i;:::-;20660:37;;20752:4;20746;20742:15;20734:23;;20523:241;;;:::o;20770:156::-;20861:4;20884:3;20876:11;;20914:4;20909:3;20905:14;20897:22;;20866:60;;;:::o;20932:141::-;20981:4;21004:3;20996:11;;21027:3;21024:1;21017:14;21061:4;21058:1;21048:18;21040:26;;20986:87;;;:::o;21079:138::-;21170:6;21204:5;21198:12;21188:22;;21177:40;;;:::o;21223:99::-;21275:6;21309:5;21303:12;21293:22;;21282:40;;;:::o;21328:137::-;21422:4;21454;21449:3;21445:14;21437:22;;21427:38;;;:::o;21471:208::-;21594:11;21628:6;21623:3;21616:19;21668:4;21663:3;21659:14;21644:29;;21606:73;;;;:::o;21685:168::-;21768:11;21802:6;21797:3;21790:19;21842:4;21837:3;21833:14;21818:29;;21780:73;;;;:::o;21859:159::-;21933:11;21967:6;21962:3;21955:19;22007:4;22002:3;21998:14;21983:29;;21945:73;;;;:::o;22024:169::-;22108:11;22142:6;22137:3;22130:19;22182:4;22177:3;22173:14;22158:29;;22120:73;;;;:::o;22199:148::-;22301:11;22338:3;22323:18;;22313:34;;;;:::o;22353:185::-;22393:1;22410:20;22428:1;22410:20;:::i;:::-;22405:25;;22444:20;22462:1;22444:20;:::i;:::-;22439:25;;22483:1;22473:2;;22488:18;;:::i;:::-;22473:2;22530:1;22527;22523:9;22518:14;;22395:143;;;;:::o;22544:848::-;22605:5;22612:4;22636:6;22627:15;;22660:5;22651:14;;22674:712;22695:1;22685:8;22682:15;22674:712;;;22790:4;22785:3;22781:14;22775:4;22772:24;22769:2;;;22799:18;;:::i;:::-;22769:2;22849:1;22839:8;22835:16;22832:2;;;23264:4;23257:5;23253:16;23244:25;;22832:2;23314:4;23308;23304:15;23296:23;;23344:32;23367:8;23344:32;:::i;:::-;23332:44;;22674:712;;;22617:775;;;;;;;:::o;23398:285::-;23458:5;23482:23;23500:4;23482:23;:::i;:::-;23474:31;;23526:27;23544:8;23526:27;:::i;:::-;23514:39;;23572:104;23609:66;23599:8;23593:4;23572:104;:::i;:::-;23563:113;;23464:219;;;;:::o;23689:1073::-;23743:5;23934:8;23924:2;;23955:1;23946:10;;23957:5;;23924:2;23983:4;23973:2;;24000:1;23991:10;;24002:5;;23973:2;24069:4;24117:1;24112:27;;;;24153:1;24148:191;;;;24062:277;;24112:27;24130:1;24121:10;;24132:5;;;24148:191;24193:3;24183:8;24180:17;24177:2;;;24200:18;;:::i;:::-;24177:2;24249:8;24246:1;24242:16;24233:25;;24284:3;24277:5;24274:14;24271:2;;;24291:18;;:::i;:::-;24271:2;24324:5;;;24062:277;;24448:2;24438:8;24435:16;24429:3;24423:4;24420:13;24416:36;24398:2;24388:8;24385:16;24380:2;24374:4;24371:12;24367:35;24351:111;24348:2;;;24504:8;24498:4;24494:19;24485:28;;24539:3;24532:5;24529:14;24526:2;;;24546:18;;:::i;:::-;24526:2;24579:5;;24348:2;24619:42;24657:3;24647:8;24641:4;24638:1;24619:42;:::i;:::-;24604:57;;;;24693:4;24688:3;24684:14;24677:5;24674:25;24671:2;;;24702:18;;:::i;:::-;24671:2;24751:4;24744:5;24740:16;24731:25;;23749:1013;;;;;;:::o;24768:348::-;24808:7;24831:20;24849:1;24831:20;:::i;:::-;24826:25;;24865:20;24883:1;24865:20;:::i;:::-;24860:25;;25053:1;24985:66;24981:74;24978:1;24975:81;24970:1;24963:9;24956:17;24952:105;24949:2;;;25060:18;;:::i;:::-;24949:2;25108:1;25105;25101:9;25090:20;;24816:300;;;;:::o;25122:191::-;25162:4;25182:20;25200:1;25182:20;:::i;:::-;25177:25;;25216:20;25234:1;25216:20;:::i;:::-;25211:25;;25255:1;25252;25249:8;25246:2;;;25260:18;;:::i;:::-;25246:2;25305:1;25302;25298:9;25290:17;;25167:146;;;;:::o;25319:96::-;25356:7;25385:24;25403:5;25385:24;:::i;:::-;25374:35;;25364:51;;;:::o;25421:104::-;25466:7;25495:24;25513:5;25495:24;:::i;:::-;25484:35;;25474:51;;;:::o;25531:90::-;25565:7;25608:5;25601:13;25594:21;25583:32;;25573:48;;;:::o;25627:149::-;25663:7;25703:66;25696:5;25692:78;25681:89;;25671:105;;;:::o;25782:126::-;25819:7;25859:42;25852:5;25848:54;25837:65;;25827:81;;;:::o;25914:77::-;25951:7;25980:5;25969:16;;25959:32;;;:::o;25997:154::-;26081:6;26076:3;26071;26058:30;26143:1;26134:6;26129:3;26125:16;26118:27;26048:103;;;:::o;26157:307::-;26225:1;26235:113;26249:6;26246:1;26243:13;26235:113;;;26334:1;26329:3;26325:11;26319:18;26315:1;26310:3;26306:11;26299:39;26271:2;26268:1;26264:10;26259:15;;26235:113;;;26366:6;26363:1;26360:13;26357:2;;;26446:1;26437:6;26432:3;26428:16;26421:27;26357:2;26206:258;;;;:::o;26470:320::-;26514:6;26551:1;26545:4;26541:12;26531:22;;26598:1;26592:4;26588:12;26619:18;26609:2;;26675:4;26667:6;26663:17;26653:27;;26609:2;26737;26729:6;26726:14;26706:18;26703:38;26700:2;;;26756:18;;:::i;:::-;26700:2;26521:269;;;;:::o;26796:281::-;26879:27;26901:4;26879:27;:::i;:::-;26871:6;26867:40;27009:6;26997:10;26994:22;26973:18;26961:10;26958:34;26955:62;26952:2;;;27020:18;;:::i;:::-;26952:2;27060:10;27056:2;27049:22;26839:238;;;:::o;27083:233::-;27122:3;27145:24;27163:5;27145:24;:::i;:::-;27136:33;;27191:66;27184:5;27181:77;27178:2;;;27261:18;;:::i;:::-;27178:2;27308:1;27301:5;27297:13;27290:20;;27126:190;;;:::o;27322:176::-;27354:1;27371:20;27389:1;27371:20;:::i;:::-;27366:25;;27405:20;27423:1;27405:20;:::i;:::-;27400:25;;27444:1;27434:2;;27449:18;;:::i;:::-;27434:2;27490:1;27487;27483:9;27478:14;;27356:142;;;;:::o;27504:180::-;27552:77;27549:1;27542:88;27649:4;27646:1;27639:15;27673:4;27670:1;27663:15;27690:180;27738:77;27735:1;27728:88;27835:4;27832:1;27825:15;27859:4;27856:1;27849:15;27876:180;27924:77;27921:1;27914:88;28021:4;28018:1;28011:15;28045:4;28042:1;28035:15;28062:180;28110:77;28107:1;28100:88;28207:4;28204:1;28197:15;28231:4;28228:1;28221:15;28248:102;28289:6;28340:2;28336:7;28331:2;28324:5;28320:14;28316:28;28306:38;;28296:54;;;:::o;28356:102::-;28398:8;28445:5;28442:1;28438:13;28417:34;;28407:51;;;:::o;28464:225::-;28604:34;28600:1;28592:6;28588:14;28581:58;28673:8;28668:2;28660:6;28656:15;28649:33;28570:119;:::o;28695:223::-;28835:34;28831:1;28823:6;28819:14;28812:58;28904:6;28899:2;28891:6;28887:15;28880:31;28801:117;:::o;28924:182::-;29064:34;29060:1;29052:6;29048:14;29041:58;29030:76;:::o;29112:177::-;29252:29;29248:1;29240:6;29236:14;29229:53;29218:71;:::o;29295:114::-;29401:8;:::o;29415:179::-;29555:31;29551:1;29543:6;29539:14;29532:55;29521:73;:::o;29600:232::-;29740:34;29736:1;29728:6;29724:14;29717:58;29809:15;29804:2;29796:6;29792:15;29785:40;29706:126;:::o;29838:122::-;29911:24;29929:5;29911:24;:::i;:::-;29904:5;29901:35;29891:2;;29950:1;29947;29940:12;29891:2;29881:79;:::o;29966:138::-;30047:32;30073:5;30047:32;:::i;:::-;30040:5;30037:43;30027:2;;30094:1;30091;30084:12;30027:2;30017:87;:::o;30110:122::-;30183:24;30201:5;30183:24;:::i;:::-;30176:5;30173:35;30163:2;;30222:1;30219;30212:12;30163:2;30153:79;:::o
Swarm Source
ipfs://9c6062c3002204744511a353a49a0a3877403e61bb6587d6431a6e8f662ae998
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.