ERC-20
Overview
Max Total Supply
371,428.486299395699530163 MIRACLE
Holders
35
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.612748344230604123 MIRACLEValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
TheMiracleToken
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-12-27 */ // http://t.me/themiracletoken // https://themiracletoken.org/ // File: contracts/IUniswapV2Router02.sol pragma solidity ^0.8.7; interface IUniswapV2Router02 { //function swapExactTokensForETHSupportingFeeOnTransferTokens( function swapExactTokensForETH( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); } // File: contracts/ERC20.sol pragma solidity ^0.8.7; interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); } contract ERC20 is IERC20 { uint256 internal _totalSupply = 1e24; uint8 constant _decimals = 18; string _name; string _symbol; mapping(address => uint256) internal _balances; mapping(address => mapping(address => uint256)) internal _allowances; constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } function name() external view returns (string memory) { return _name; } function symbol() external view returns (string memory) { return _symbol; } function decimals() external pure returns (uint8) { return _decimals; } function totalSupply() external view override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) external override returns (bool) { _transfer(msg.sender, recipient, amount); return true; } function _transfer( address from, address to, uint256 amount ) internal virtual { _beforeTokenTransfer(from, to, amount); uint256 senderBalance = _balances[from]; require(senderBalance >= amount); unchecked { _balances[from] = senderBalance - amount; } _balances[to] += amount; emit Transfer(from, to, amount); _afterTokenTransfer(from, to, amount); } function allowance(address owner, address spender) external view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) external override returns (bool) { _approve(msg.sender, spender, amount); return true; } function _approve( address owner, address spender, uint256 amount ) internal virtual { _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function transferFrom( address sender, address recipient, uint256 amount ) external override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][msg.sender]; require(currentAllowance >= amount); unchecked { _approve(sender, msg.sender, currentAllowance - amount); } return true; } function _burn(address account, uint256 amount) internal virtual { require(account != address(0)); uint256 accountBalance = _balances[account]; require(accountBalance >= amount); unchecked { _balances[account] = accountBalance - amount; } _totalSupply -= amount; emit Transfer(account, address(0), amount); } function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } // File: contracts/TradableErc20.sol pragma solidity ^0.8.7; //import "hardhat/console.sol"; interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } abstract contract TradableErc20 is ERC20 { IUniswapV2Router02 internal constant _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); address public uniswapV2Pair; bool public tradingEnable; mapping(address => bool) public isBot; mapping(address => bool) _isExcludedFromFee; bool _inSwap; uint256 public maxBuy; uint256 unbanBlock; uint256 constant unbanBlocksCount = 3; mapping(address => uint256) sellTimes; uint256 constant minSellTimer = 30 seconds; modifier onlyOwner() { require(isOwner(msg.sender)); _; } constructor(string memory name_, string memory symbol_) ERC20(name_, symbol_) { _setMaxBuy(1); _isExcludedFromFee[address(0)] = true; } receive() external payable {} function makeLiquidity() public onlyOwner { require(uniswapV2Pair == address(0)); address pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair( address(this), _uniswapV2Router.WETH() ); _balances[address(this)] = _totalSupply; _allowances[address(this)][address(_uniswapV2Router)] = _totalSupply; _isExcludedFromFee[pair] = true; _uniswapV2Router.addLiquidityETH{value: address(this).balance}( address(this), _totalSupply, 0, 0, msg.sender, block.timestamp ); uniswapV2Pair = pair; tradingEnable = true; unbanBlock = block.number + unbanBlocksCount; } function autoBanBots() public view returns (bool) { return block.number < unbanBlock; } function _transfer( address from, address to, uint256 amount ) internal override { require(!isBot[from] && !isBot[to]); // buy if (from == uniswapV2Pair && !_isExcludedFromFee[to]) { require(tradingEnable); bool _autoBanBots = autoBanBots(); if (!_autoBanBots) require(_balances[to] + amount <= maxBuy); // antibot if (_autoBanBots) isBot[to] = true; amount = _getFeeBuy(amount); sellTimes[to] = block.timestamp + minSellTimer; } // sell if (!_inSwap && uniswapV2Pair != address(0) && to == uniswapV2Pair) { require(block.timestamp > sellTimes[from]); amount = _getFeeSell(amount, from); } // transfer super._transfer(from, to, amount); } function _getFeeBuy(uint256 amount) private returns (uint256) { uint256 fee = getByuTax(amount); amount -= fee; _totalSupply -= fee; emit Transfer(address(this), address(0), fee); return amount; } function _getFeeSell(uint256 amount, address account) private returns (uint256) { uint256 fee = getSellTax(amount); amount -= fee; _balances[account] -= fee; _totalSupply -= fee; emit Transfer(account, address(0), fee); return amount; } function setMaxBuy(uint256 percent) external onlyOwner { _setMaxBuy(percent); } function _setMaxBuy(uint256 percent) internal { maxBuy = (percent * _totalSupply) / 100; } function setBots(address[] memory accounts, bool value) external onlyOwner { for (uint256 i = 0; i < accounts.length; ++i) { isBot[accounts[i]] = value; } } function setExcludeFromFee(address[] memory accounts, bool value) external onlyOwner { for (uint256 i = 0; i < accounts.length; ++i) { _isExcludedFromFee[accounts[i]] = value; } } function setTradingEnable(bool value, bool autoBanBotsValue) external onlyOwner { tradingEnable = value; } function getByuTax(uint256 amount) internal virtual returns (uint256); function getSellTax(uint256 amount) internal virtual returns (uint256); function isOwner(address account) internal virtual returns (bool); } // File: contracts/TheMiracleToken.sol pragma solidity ^0.8.7; contract TheMiracleToken is TradableErc20 { address _owner; constructor() TradableErc20("The Miracle Token", "MIRACLE") { _owner = msg.sender; } function getByuTax(uint256 amount) internal pure override returns (uint256) { return amount / 10; // 10% tax } function getSellTax(uint256 amount) internal view override returns (uint256) { uint256 value = _balances[uniswapV2Pair]; //uint256 value = _totalSupply; uint256 vMin = value / 100; // min additive tax amount if (amount <= vMin) return amount / 10; // 10% constant tax uint256 vMax = (value * 10) / 100; // max additive tax amount if (amount > vMax) return (amount * 35) / 100; // 35% tax // 10% constant tax and additive tax, that in intervat 0-25% return amount / 10 + (((amount - vMin) * 25 * amount) / (vMax - vMin)) / 100; } function isOwner(address account) internal view override returns (bool) { return account == _owner; } function transferOwnership(address newOwner) external onlyOwner { _owner = newOwner; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"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":[],"name":"autoBanBots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"makeLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setExcludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"setMaxBuy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"value","type":"bool"},{"internalType":"bool","name":"autoBanBotsValue","type":"bool"}],"name":"setTradingEnable","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":[],"name":"tradingEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"sender","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":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405269d3c21bcecceda10000006000553480156200001f57600080fd5b5060408051808201825260118152702a34329026b4b930b1b632902a37b5b2b760791b6020808301918252835180850190945260078452664d495241434c4560c81b908401528151919291839183916200007c916001916200011a565b508051620000929060029060208401906200011a565b505050620000a76001620000f660201b60201c565b50506000805260076020527f6d5257204ebe7d88fd91ae87941cb2dd9d8062b64ae5a2bd2d28ec40b9fbf6df805460ff19166001179055600c80546001600160a01b031916331790556200024e565b606460005482620001089190620001e3565b620001149190620001c0565b60095550565b828054620001289062000211565b90600052602060002090601f0160209004810192826200014c576000855562000197565b82601f106200016757805160ff191683800117855562000197565b8280016001018555821562000197579182015b82811115620001975782518255916020019190600101906200017a565b50620001a5929150620001a9565b5090565b5b80821115620001a55760008155600101620001aa565b600082620001de57634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156200020c57634e487b7160e01b600052601160045260246000fd5b500290565b600181811c908216806200022657607f821691505b602082108114156200024857634e487b7160e01b600052602260045260246000fd5b50919050565b61129c806200025e6000396000f3fe6080604052600436106101235760003560e01c806370a08231116100a0578063acefa69111610064578063acefa69114610348578063b203919e14610368578063dd62ed3e1461037d578063f2fde38b146103c3578063f53bc835146103e357600080fd5b806370a08231146102a757806370db69d6146102dd57806395d89b41146102f35780639c0db5f314610308578063a9059cbb1461032857600080fd5b80632d3678dd116100e75780632d3678dd146101ea578063313ce567146102015780633bbac5791461021d57806349bd5a5e1461024d5780636c90b57f1461028557600080fd5b806306fdde031461012f578063095ea7b31461015a5780631693e8d41461018a57806318160ddd146101ab57806323b872dd146101ca57600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b50610144610403565b60405161015191906110f4565b60405180910390f35b34801561016657600080fd5b5061017a610175366004610f70565b610495565b6040519015158152602001610151565b34801561019657600080fd5b5060055461017a90600160a01b900460ff1681565b3480156101b757600080fd5b506000545b604051908152602001610151565b3480156101d657600080fd5b5061017a6101e5366004610f2f565b6104ab565b3480156101f657600080fd5b50600a54431061017a565b34801561020d57600080fd5b5060405160128152602001610151565b34801561022957600080fd5b5061017a610238366004610eb5565b60066020526000908152604090205460ff1681565b34801561025957600080fd5b5060055461026d906001600160a01b031681565b6040516001600160a01b039091168152602001610151565b34801561029157600080fd5b506102a56102a0366004610f9c565b610501565b005b3480156102b357600080fd5b506101bc6102c2366004610eb5565b6001600160a01b031660009081526003602052604090205490565b3480156102e957600080fd5b506101bc60095481565b3480156102ff57600080fd5b50610144610582565b34801561031457600080fd5b506102a5610323366004610f9c565b610591565b34801561033457600080fd5b5061017a610343366004610f70565b61060d565b34801561035457600080fd5b506102a561036336600461107a565b61061a565b34801561037457600080fd5b506102a5610650565b34801561038957600080fd5b506101bc610398366004610ef6565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156103cf57600080fd5b506102a56103de366004610eb5565b610945565b3480156103ef57600080fd5b506102a56103fe3660046110ad565b61097e565b606060018054610412906111b9565b80601f016020809104026020016040519081016040528092919081815260200182805461043e906111b9565b801561048b5780601f106104605761010080835404028352916020019161048b565b820191906000526020600020905b81548152906001019060200180831161046e57829003601f168201915b5050505050905090565b60006104a23384846109a1565b50600192915050565b60006104b8848484610a02565b6001600160a01b0384166000908152600460209081526040808320338452909152902054828110156104e957600080fd5b6104f685338584036109a1565b506001949350505050565b600c546001600160a01b0316331461051857600080fd5b60005b825181101561057d57816007600085848151811061053b5761053b611225565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055610576816111f4565b905061051b565b505050565b606060028054610412906111b9565b600c546001600160a01b031633146105a857600080fd5b60005b825181101561057d5781600660008584815181106105cb576105cb611225565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055610606816111f4565b90506105ab565b60006104a2338484610a02565b600c546001600160a01b0316331461063157600080fd5b5060058054911515600160a01b0260ff60a01b19909216919091179055565b600c546001600160a01b0316331461066757600080fd5b6005546001600160a01b03161561067d57600080fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156106cc57600080fd5b505afa1580156106e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107049190610ed9565b6001600160a01b031663c9c6539630737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561076057600080fd5b505afa158015610774573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107989190610ed9565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156107e057600080fd5b505af11580156107f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108189190610ed9565b60008054308083526003602090815260408085208490556004808352818620737a250d5630b4cf539739df2c5dacb4c659f2488d808852908452828720959095556001600160a01b03871686526007909252808520805460ff191660011790558454905163f305d71960e01b81529182019290925260248101919091526044810183905260648101929092523360848301524260a483015291925063f305d71990479060c4016060604051808303818588803b1580156108d757600080fd5b505af11580156108eb573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061091091906110c6565b5050600580546001600160a81b0319166001600160a01b03841617600160a01b1790555061093f600343611149565b600a5550565b600c546001600160a01b0316331461095c57600080fd5b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b600c546001600160a01b0316331461099557600080fd5b61099e81610bb6565b50565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526006602052604090205460ff16158015610a4457506001600160a01b03821660009081526006602052604090205460ff16155b610a4d57600080fd5b6005546001600160a01b038481169116148015610a8357506001600160a01b03821660009081526007602052604090205460ff16155b15610b3f57600554600160a01b900460ff16610a9e57600080fd5b6000610aab600a54431090565b905080610ae4576009546001600160a01b038416600090815260036020526040902054610ad9908490611149565b1115610ae457600080fd5b8015610b0e576001600160a01b0383166000908152600660205260409020805460ff191660011790555b610b1782610bd6565b9150610b24601e42611149565b6001600160a01b0384166000908152600b6020526040902055505b60085460ff16158015610b5c57506005546001600160a01b031615155b8015610b7557506005546001600160a01b038381169116145b15610bab576001600160a01b0383166000908152600b60205260409020544211610b9e57600080fd5b610ba88184610c45565b90505b61057d838383610cf0565b606460005482610bc69190611183565b610bd09190611161565b60095550565b600080610be283610da7565b9050610bee81846111a2565b925080600080828254610c0191906111a2565b909155505060405181815260009030907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35090919050565b600080610c5184610dba565b9050610c5d81856111a2565b6001600160a01b038416600090815260036020526040812080549296508392909190610c8a9084906111a2565b9250508190555080600080828254610ca291906111a2565b90915550506040518181526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3509192915050565b6001600160a01b03831660009081526003602052604090205481811015610d1657600080fd5b6001600160a01b03808516600090815260036020526040808220858503905591851681529081208054849290610d4d908490611149565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d9991815260200190565b60405180910390a350505050565b6000610db4600a83611161565b92915050565b6005546001600160a01b031660009081526003602052604081205481610de1606483611161565b9050808411610dfd57610df5600a85611161565b949350505050565b60006064610e0c84600a611183565b610e169190611161565b905080851115610e40576064610e2d866023611183565b610e379190611161565b95945050505050565b6064610e4c83836111a2565b86610e5785826111a2565b610e62906019611183565b610e6c9190611183565b610e769190611161565b610e809190611161565b610e8b600a87611161565b610e379190611149565b8035610ea081611251565b919050565b80358015158114610ea057600080fd5b600060208284031215610ec757600080fd5b8135610ed281611251565b9392505050565b600060208284031215610eeb57600080fd5b8151610ed281611251565b60008060408385031215610f0957600080fd5b8235610f1481611251565b91506020830135610f2481611251565b809150509250929050565b600080600060608486031215610f4457600080fd5b8335610f4f81611251565b92506020840135610f5f81611251565b929592945050506040919091013590565b60008060408385031215610f8357600080fd5b8235610f8e81611251565b946020939093013593505050565b60008060408385031215610faf57600080fd5b823567ffffffffffffffff80821115610fc757600080fd5b818501915085601f830112610fdb57600080fd5b8135602082821115610fef57610fef61123b565b8160051b604051601f19603f830116810181811086821117156110145761101461123b565b604052838152828101945085830182870184018b101561103357600080fd5b600096505b8487101561105d5761104981610e95565b865260019690960195948301948301611038565b50965061106d9050878201610ea5565b9450505050509250929050565b6000806040838503121561108d57600080fd5b61109683610ea5565b91506110a460208401610ea5565b90509250929050565b6000602082840312156110bf57600080fd5b5035919050565b6000806000606084860312156110db57600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b8181101561112157858101830151858201604001528201611105565b81811115611133576000604083870101525b50601f01601f1916929092016040019392505050565b6000821982111561115c5761115c61120f565b500190565b60008261117e57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561119d5761119d61120f565b500290565b6000828210156111b4576111b461120f565b500390565b600181811c908216806111cd57607f821691505b602082108114156111ee57634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156112085761120861120f565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461099e57600080fdfea2646970667358221220054030d5640dd44ba157ae39ccb3f8bcedef04d8317e4f807d1cf08ec7f13ab764736f6c63430008070033
Deployed Bytecode
0x6080604052600436106101235760003560e01c806370a08231116100a0578063acefa69111610064578063acefa69114610348578063b203919e14610368578063dd62ed3e1461037d578063f2fde38b146103c3578063f53bc835146103e357600080fd5b806370a08231146102a757806370db69d6146102dd57806395d89b41146102f35780639c0db5f314610308578063a9059cbb1461032857600080fd5b80632d3678dd116100e75780632d3678dd146101ea578063313ce567146102015780633bbac5791461021d57806349bd5a5e1461024d5780636c90b57f1461028557600080fd5b806306fdde031461012f578063095ea7b31461015a5780631693e8d41461018a57806318160ddd146101ab57806323b872dd146101ca57600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b50610144610403565b60405161015191906110f4565b60405180910390f35b34801561016657600080fd5b5061017a610175366004610f70565b610495565b6040519015158152602001610151565b34801561019657600080fd5b5060055461017a90600160a01b900460ff1681565b3480156101b757600080fd5b506000545b604051908152602001610151565b3480156101d657600080fd5b5061017a6101e5366004610f2f565b6104ab565b3480156101f657600080fd5b50600a54431061017a565b34801561020d57600080fd5b5060405160128152602001610151565b34801561022957600080fd5b5061017a610238366004610eb5565b60066020526000908152604090205460ff1681565b34801561025957600080fd5b5060055461026d906001600160a01b031681565b6040516001600160a01b039091168152602001610151565b34801561029157600080fd5b506102a56102a0366004610f9c565b610501565b005b3480156102b357600080fd5b506101bc6102c2366004610eb5565b6001600160a01b031660009081526003602052604090205490565b3480156102e957600080fd5b506101bc60095481565b3480156102ff57600080fd5b50610144610582565b34801561031457600080fd5b506102a5610323366004610f9c565b610591565b34801561033457600080fd5b5061017a610343366004610f70565b61060d565b34801561035457600080fd5b506102a561036336600461107a565b61061a565b34801561037457600080fd5b506102a5610650565b34801561038957600080fd5b506101bc610398366004610ef6565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156103cf57600080fd5b506102a56103de366004610eb5565b610945565b3480156103ef57600080fd5b506102a56103fe3660046110ad565b61097e565b606060018054610412906111b9565b80601f016020809104026020016040519081016040528092919081815260200182805461043e906111b9565b801561048b5780601f106104605761010080835404028352916020019161048b565b820191906000526020600020905b81548152906001019060200180831161046e57829003601f168201915b5050505050905090565b60006104a23384846109a1565b50600192915050565b60006104b8848484610a02565b6001600160a01b0384166000908152600460209081526040808320338452909152902054828110156104e957600080fd5b6104f685338584036109a1565b506001949350505050565b600c546001600160a01b0316331461051857600080fd5b60005b825181101561057d57816007600085848151811061053b5761053b611225565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055610576816111f4565b905061051b565b505050565b606060028054610412906111b9565b600c546001600160a01b031633146105a857600080fd5b60005b825181101561057d5781600660008584815181106105cb576105cb611225565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055610606816111f4565b90506105ab565b60006104a2338484610a02565b600c546001600160a01b0316331461063157600080fd5b5060058054911515600160a01b0260ff60a01b19909216919091179055565b600c546001600160a01b0316331461066757600080fd5b6005546001600160a01b03161561067d57600080fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156106cc57600080fd5b505afa1580156106e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107049190610ed9565b6001600160a01b031663c9c6539630737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561076057600080fd5b505afa158015610774573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107989190610ed9565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156107e057600080fd5b505af11580156107f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108189190610ed9565b60008054308083526003602090815260408085208490556004808352818620737a250d5630b4cf539739df2c5dacb4c659f2488d808852908452828720959095556001600160a01b03871686526007909252808520805460ff191660011790558454905163f305d71960e01b81529182019290925260248101919091526044810183905260648101929092523360848301524260a483015291925063f305d71990479060c4016060604051808303818588803b1580156108d757600080fd5b505af11580156108eb573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061091091906110c6565b5050600580546001600160a81b0319166001600160a01b03841617600160a01b1790555061093f600343611149565b600a5550565b600c546001600160a01b0316331461095c57600080fd5b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b600c546001600160a01b0316331461099557600080fd5b61099e81610bb6565b50565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526006602052604090205460ff16158015610a4457506001600160a01b03821660009081526006602052604090205460ff16155b610a4d57600080fd5b6005546001600160a01b038481169116148015610a8357506001600160a01b03821660009081526007602052604090205460ff16155b15610b3f57600554600160a01b900460ff16610a9e57600080fd5b6000610aab600a54431090565b905080610ae4576009546001600160a01b038416600090815260036020526040902054610ad9908490611149565b1115610ae457600080fd5b8015610b0e576001600160a01b0383166000908152600660205260409020805460ff191660011790555b610b1782610bd6565b9150610b24601e42611149565b6001600160a01b0384166000908152600b6020526040902055505b60085460ff16158015610b5c57506005546001600160a01b031615155b8015610b7557506005546001600160a01b038381169116145b15610bab576001600160a01b0383166000908152600b60205260409020544211610b9e57600080fd5b610ba88184610c45565b90505b61057d838383610cf0565b606460005482610bc69190611183565b610bd09190611161565b60095550565b600080610be283610da7565b9050610bee81846111a2565b925080600080828254610c0191906111a2565b909155505060405181815260009030907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35090919050565b600080610c5184610dba565b9050610c5d81856111a2565b6001600160a01b038416600090815260036020526040812080549296508392909190610c8a9084906111a2565b9250508190555080600080828254610ca291906111a2565b90915550506040518181526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3509192915050565b6001600160a01b03831660009081526003602052604090205481811015610d1657600080fd5b6001600160a01b03808516600090815260036020526040808220858503905591851681529081208054849290610d4d908490611149565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d9991815260200190565b60405180910390a350505050565b6000610db4600a83611161565b92915050565b6005546001600160a01b031660009081526003602052604081205481610de1606483611161565b9050808411610dfd57610df5600a85611161565b949350505050565b60006064610e0c84600a611183565b610e169190611161565b905080851115610e40576064610e2d866023611183565b610e379190611161565b95945050505050565b6064610e4c83836111a2565b86610e5785826111a2565b610e62906019611183565b610e6c9190611183565b610e769190611161565b610e809190611161565b610e8b600a87611161565b610e379190611149565b8035610ea081611251565b919050565b80358015158114610ea057600080fd5b600060208284031215610ec757600080fd5b8135610ed281611251565b9392505050565b600060208284031215610eeb57600080fd5b8151610ed281611251565b60008060408385031215610f0957600080fd5b8235610f1481611251565b91506020830135610f2481611251565b809150509250929050565b600080600060608486031215610f4457600080fd5b8335610f4f81611251565b92506020840135610f5f81611251565b929592945050506040919091013590565b60008060408385031215610f8357600080fd5b8235610f8e81611251565b946020939093013593505050565b60008060408385031215610faf57600080fd5b823567ffffffffffffffff80821115610fc757600080fd5b818501915085601f830112610fdb57600080fd5b8135602082821115610fef57610fef61123b565b8160051b604051601f19603f830116810181811086821117156110145761101461123b565b604052838152828101945085830182870184018b101561103357600080fd5b600096505b8487101561105d5761104981610e95565b865260019690960195948301948301611038565b50965061106d9050878201610ea5565b9450505050509250929050565b6000806040838503121561108d57600080fd5b61109683610ea5565b91506110a460208401610ea5565b90509250929050565b6000602082840312156110bf57600080fd5b5035919050565b6000806000606084860312156110db57600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b8181101561112157858101830151858201604001528201611105565b81811115611133576000604083870101525b50601f01601f1916929092016040019392505050565b6000821982111561115c5761115c61120f565b500190565b60008261117e57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561119d5761119d61120f565b500290565b6000828210156111b4576111b461120f565b500390565b600181811c908216806111cd57607f821691505b602082108114156111ee57634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156112085761120861120f565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461099e57600080fdfea2646970667358221220054030d5640dd44ba157ae39ccb3f8bcedef04d8317e4f807d1cf08ec7f13ab764736f6c63430008070033
Deployed Bytecode Sourcemap
9754:1285:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2193:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3638:193;;;;;;;;;;-1:-1:-1;3638:193:0;;;;;:::i;:::-;;:::i;:::-;;;5250:14:1;;5243:22;5225:41;;5213:2;5198:18;3638:193:0;5085:187:1;5645:25:0;;;;;;;;;;-1:-1:-1;5645:25:0;;;;-1:-1:-1;;;5645:25:0;;;;;;2476:102;;;;;;;;;;-1:-1:-1;2531:7:0;2558:12;2476:102;;;6025:25:1;;;6013:2;5998:18;2476:102:0;5879:177:1;4067:438:0;;;;;;;;;;-1:-1:-1;4067:438:0;;;;;:::i;:::-;;:::i;7067:101::-;;;;;;;;;;-1:-1:-1;7150:10:0;;7135:12;:25;7067:101;;2383:85;;;;;;;;;;-1:-1:-1;2383:85:0;;1890:2;6203:36:1;;6191:2;6176:18;2383:85:0;6061:184:1;5677:37:0;;;;;;;;;;-1:-1:-1;5677:37:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5610:28;;;;;;;;;;-1:-1:-1;5610:28:0;;;;-1:-1:-1;;;;;5610:28:0;;;;;;-1:-1:-1;;;;;4120:32:1;;;4102:51;;4090:2;4075:18;5610:28:0;3956:203:1;9056:238:0;;;;;;;;;;-1:-1:-1;9056:238:0;;;;;:::i;:::-;;:::i;:::-;;2586:160;;;;;;;;;;-1:-1:-1;2586:160:0;;;;;:::i;:::-;-1:-1:-1;;;;;2720:18:0;2688:7;2720:18;;;:9;:18;;;;;;;2586:160;5790:21;;;;;;;;;;;;;;;;2286:89;;;;;;;;;;;;;:::i;8856:192::-;;;;;;;;;;-1:-1:-1;8856:192:0;;;;;:::i;:::-;;:::i;2754:199::-;;;;;;;;;;-1:-1:-1;2754:199:0;;;;;:::i;:::-;;:::i;9302:143::-;;;;;;;;;;-1:-1:-1;9302:143:0;;;;;:::i;:::-;;:::i;6287:772::-;;;;;;;;;;;;;:::i;3444:186::-;;;;;;;;;;-1:-1:-1;3444:186:0;;;;;:::i;:::-;-1:-1:-1;;;;;3595:18:0;;;3563:7;3595:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3444:186;10936:100;;;;;;;;;;-1:-1:-1;10936:100:0;;;;;:::i;:::-;;:::i;8643:93::-;;;;;;;;;;-1:-1:-1;8643:93:0;;;;;:::i;:::-;;:::i;2193:85::-;2232:13;2265:5;2258:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2193:85;:::o;3638:193::-;3742:4;3764:37;3773:10;3785:7;3794:6;3764:8;:37::i;:::-;-1:-1:-1;3819:4:0;3638:193;;;;:::o;4067:438::-;4201:4;4218:36;4228:6;4236:9;4247:6;4218:9;:36::i;:::-;-1:-1:-1;;;;;4294:19:0;;4267:24;4294:19;;;:11;:19;;;;;;;;4314:10;4294:31;;;;;;;;4344:26;;;;4336:35;;;;;;4407:55;4416:6;4424:10;4455:6;4436:16;:25;4407:8;:55::i;:::-;-1:-1:-1;4493:4:0;;4067:438;-1:-1:-1;;;;4067:438:0:o;9056:238::-;10914:6;;-1:-1:-1;;;;;10914:6:0;6030:10;10903:17;6014:28;;;;;;9180:9:::1;9175:112;9199:8;:15;9195:1;:19;9175:112;;;9270:5;9236:18;:31;9255:8;9264:1;9255:11;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;9236:31:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;9236:31:0;:39;;-1:-1:-1;;9236:39:0::1;::::0;::::1;;::::0;;;::::1;::::0;;9216:3:::1;::::0;::::1;:::i;:::-;;;9175:112;;;;9056:238:::0;;:::o;2286:89::-;2327:13;2360:7;2353:14;;;;;:::i;8856:192::-;10914:6;;-1:-1:-1;;;;;10914:6:0;6030:10;10903:17;6014:28;;;;;;8947:9:::1;8942:99;8966:8;:15;8962:1;:19;8942:99;;;9024:5;9003;:18;9009:8;9018:1;9009:11;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;9003:18:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;9003:18:0;:26;;-1:-1:-1;;9003:26:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8983:3:::1;::::0;::::1;:::i;:::-;;;8942:99;;2754:199:::0;2861:4;2883:40;2893:10;2905:9;2916:6;2883:9;:40::i;9302:143::-;10914:6;;-1:-1:-1;;;;;10914:6:0;6030:10;10903:17;6014:28;;;;;;-1:-1:-1;9416:13:0::1;:21:::0;;;::::1;;-1:-1:-1::0;;;9416:21:0::1;-1:-1:-1::0;;;;9416:21:0;;::::1;::::0;;;::::1;::::0;;9302:143::o;6287:772::-;10914:6;;-1:-1:-1;;;;;10914:6:0;6030:10;10903:17;6014:28;;;;;;6348:13:::1;::::0;-1:-1:-1;;;;;6348:13:0::1;:27:::0;6340:36:::1;;;::::0;::::1;;6387:12;5560:42;-1:-1:-1::0;;;;;6420:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6402:56:0::1;;6481:4;5560:42;-1:-1:-1::0;;;;;6501:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6402:133;::::0;-1:-1:-1;;;;;;6402:133:0::1;::::0;;;;;;-1:-1:-1;;;;;4394:15:1;;;6402:133:0::1;::::0;::::1;4376:34:1::0;4446:15;;4426:18;;;4419:43;4311:18;;6402:133:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6573:12;::::0;;6564:4:::1;6546:24:::0;;;:9:::1;:24;::::0;;;;;;;:39;;;6596:11:::1;:26:::0;;;;;;5560:42:::1;6596:53:::0;;;;;;;;;:68;;;;-1:-1:-1;;;;;6675:24:0;::::1;::::0;;:18:::1;:24:::0;;;;;;:31;;-1:-1:-1;;6675:31:0::1;6702:4;6675:31;::::0;;6822:12;;6717:215;;-1:-1:-1;;;6717:215:0;;;;::::1;4814:34:1::0;;;;4864:18;;;4857:34;;;;4907:18;;;4900:34;;;4950:18;;;4943:34;;;;6881:10:0::1;4993:19:1::0;;;4986:44;6906:15:0::1;5046:19:1::0;;;5039:35;6675:24:0;;-1:-1:-1;6717:32:0::1;::::0;6757:21:::1;::::0;4748:19:1;;6717:215:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;6945:13:0::1;:20:::0;;-1:-1:-1;;;;;;6976:20:0;-1:-1:-1;;;;;6945:20:0;::::1;6976::::0;-1:-1:-1;;;6976:20:0::1;::::0;;-1:-1:-1;7020:31:0::1;5879:1;7020:12;:31;:::i;:::-;7007:10;:44:::0;-1:-1:-1;6287:772:0:o;10936:100::-;10914:6;;-1:-1:-1;;;;;10914:6:0;6030:10;10903:17;6014:28;;;;;;11011:6:::1;:17:::0;;-1:-1:-1;;;;;;11011:17:0::1;-1:-1:-1::0;;;;;11011:17:0;;;::::1;::::0;;;::::1;::::0;;10936:100::o;8643:93::-;10914:6;;-1:-1:-1;;;;;10914:6:0;6030:10;10903:17;6014:28;;;;;;8709:19:::1;8720:7;8709:10;:19::i;:::-;8643:93:::0;:::o;3839:220::-;-1:-1:-1;;;;;3967:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;4019:32;;6025:25:1;;;4019:32:0;;5998:18:1;4019:32:0;;;;;;;3839:220;;;:::o;7176:879::-;-1:-1:-1;;;;;7309:11:0;;;;;;:5;:11;;;;;;;;7308:12;:26;;;;-1:-1:-1;;;;;;7325:9:0;;;;;;:5;:9;;;;;;;;7324:10;7308:26;7300:35;;;;;;7376:13;;-1:-1:-1;;;;;7368:21:0;;;7376:13;;7368:21;:48;;;;-1:-1:-1;;;;;;7394:22:0;;;;;;:18;:22;;;;;;;;7393:23;7368:48;7364:402;;;7441:13;;-1:-1:-1;;;7441:13:0;;;;7433:22;;;;;;7470:17;7490:13;7150:10;;7135:12;:25;;7067:101;7490:13;7470:33;;7523:12;7518:60;;7571:6;;-1:-1:-1;;;;;7545:13:0;;;;;;:9;:13;;;;;;:22;;7561:6;;7545:22;:::i;:::-;:32;;7537:41;;;;;;7621:12;7617:34;;;-1:-1:-1;;;;;7635:9:0;;;;;;:5;:9;;;;;:16;;-1:-1:-1;;7635:16:0;7647:4;7635:16;;;7617:34;7675:18;7686:6;7675:10;:18::i;:::-;7666:27;-1:-1:-1;7724:30:0;5963:10;7724:15;:30;:::i;:::-;-1:-1:-1;;;;;7708:13:0;;;;;;:9;:13;;;;;:46;-1:-1:-1;7364:402:0;7800:7;;;;7799:8;:39;;;;-1:-1:-1;7811:13:0;;-1:-1:-1;;;;;7811:13:0;:27;;7799:39;:62;;;;-1:-1:-1;7848:13:0;;-1:-1:-1;;;;;7842:19:0;;;7848:13;;7842:19;7799:62;7795:186;;;-1:-1:-1;;;;;7904:15:0;;;;;;:9;:15;;;;;;7886;:33;7878:42;;;;;;7944:25;7956:6;7964:4;7944:11;:25::i;:::-;7935:34;;7795:186;8014:33;8030:4;8036:2;8040:6;8014:15;:33::i;8744:104::-;8837:3;8821:12;;8811:7;:22;;;;:::i;:::-;8810:30;;;;:::i;:::-;8801:6;:39;-1:-1:-1;8744:104:0:o;8063:246::-;8116:7;8136:11;8150:17;8160:6;8150:9;:17::i;:::-;8136:31;-1:-1:-1;8178:13:0;8136:31;8178:13;;:::i;:::-;;;8218:3;8202:12;;:19;;;;;;;:::i;:::-;;;;-1:-1:-1;;8237:40:0;;6025:25:1;;;8269:1:0;;8254:4;;8237:40;;6013:2:1;5998:18;8237:40:0;;;;;;;-1:-1:-1;8295:6:0;;8063:246;-1:-1:-1;8063:246:0:o;8317:318::-;8406:7;8431:11;8445:18;8456:6;8445:10;:18::i;:::-;8431:32;-1:-1:-1;8474:13:0;8431:32;8474:13;;:::i;:::-;-1:-1:-1;;;;;8498:18:0;;;;;;:9;:18;;;;;:25;;8474:13;;-1:-1:-1;8520:3:0;;8498:18;;;:25;;8520:3;;8498:25;:::i;:::-;;;;;;;;8550:3;8534:12;;:19;;;;;;;:::i;:::-;;;;-1:-1:-1;;8569:34:0;;6025:25:1;;;8595:1:0;;-1:-1:-1;;;;;8569:34:0;;;;;6013:2:1;5998:18;8569:34:0;;;;;;;-1:-1:-1;8621:6:0;;8317:318;-1:-1:-1;;8317:318:0:o;2961:475::-;-1:-1:-1;;;;;3159:15:0;;3135:21;3159:15;;;:9;:15;;;;;;3193:23;;;;3185:32;;;;;;-1:-1:-1;;;;;3253:15:0;;;;;;;:9;:15;;;;;;3271:22;;;3253:40;;3315:13;;;;;;;;:23;;3287:6;;3253:15;3315:23;;3287:6;;3315:23;:::i;:::-;;;;;;;;3369:2;-1:-1:-1;;;;;3354:26:0;3363:4;-1:-1:-1;;;;;3354:26:0;;3373:6;3354:26;;;;6025:25:1;;6013:2;5998:18;;5879:177;3354:26:0;;;;;;;;3073:363;2961:475;;;:::o;9932:165::-;10035:7;10067:11;10076:2;10067:6;:11;:::i;:::-;10060:18;9932:165;-1:-1:-1;;9932:165:0:o;10105:700::-;10260:13;;-1:-1:-1;;;;;10260:13:0;10209:7;10250:24;;;:9;:24;;;;;;10209:7;10341:11;10349:3;10250:24;10341:11;:::i;:::-;10326:26;;10404:4;10394:6;:14;10390:38;;10417:11;10426:2;10417:6;:11;:::i;:::-;10410:18;10105:700;-1:-1:-1;;;;10105:700:0:o;10390:38::-;10459:12;10489:3;10475:10;:5;10483:2;10475:10;:::i;:::-;10474:18;;;;:::i;:::-;10459:33;;10543:4;10534:6;:13;10530:45;;;10572:3;10557:11;:6;10566:2;10557:11;:::i;:::-;10556:19;;;;:::i;:::-;10549:26;10105:700;-1:-1:-1;;;;;10105:700:0:o;10530:45::-;10794:3;10765:11;10772:4;10765;:11;:::i;:::-;10754:6;10732:13;10741:4;10754:6;10732:13;:::i;:::-;10731:20;;10749:2;10731:20;:::i;:::-;:29;;;;:::i;:::-;10730:47;;;;:::i;:::-;10729:68;;;;:::i;:::-;10689:24;10711:2;10689:6;:24;:::i;:::-;:108;;;;:::i;14:134:1:-;82:20;;111:31;82:20;111:31;:::i;:::-;14:134;;;:::o;153:160::-;218:20;;274:13;;267:21;257:32;;247:60;;303:1;300;293:12;318:247;377:6;430:2;418:9;409:7;405:23;401:32;398:52;;;446:1;443;436:12;398:52;485:9;472:23;504:31;529:5;504:31;:::i;:::-;554:5;318:247;-1:-1:-1;;;318:247:1:o;570:251::-;640:6;693:2;681:9;672:7;668:23;664:32;661:52;;;709:1;706;699:12;661:52;741:9;735:16;760:31;785:5;760:31;:::i;826:388::-;894:6;902;955:2;943:9;934:7;930:23;926:32;923:52;;;971:1;968;961:12;923:52;1010:9;997:23;1029:31;1054:5;1029:31;:::i;:::-;1079:5;-1:-1:-1;1136:2:1;1121:18;;1108:32;1149:33;1108:32;1149:33;:::i;:::-;1201:7;1191:17;;;826:388;;;;;:::o;1219:456::-;1296:6;1304;1312;1365:2;1353:9;1344:7;1340:23;1336:32;1333:52;;;1381:1;1378;1371:12;1333:52;1420:9;1407:23;1439:31;1464:5;1439:31;:::i;:::-;1489:5;-1:-1:-1;1546:2:1;1531:18;;1518:32;1559:33;1518:32;1559:33;:::i;:::-;1219:456;;1611:7;;-1:-1:-1;;;1665:2:1;1650:18;;;;1637:32;;1219:456::o;1680:315::-;1748:6;1756;1809:2;1797:9;1788:7;1784:23;1780:32;1777:52;;;1825:1;1822;1815:12;1777:52;1864:9;1851:23;1883:31;1908:5;1883:31;:::i;:::-;1933:5;1985:2;1970:18;;;;1957:32;;-1:-1:-1;;;1680:315:1:o;2000:1202::-;2090:6;2098;2151:2;2139:9;2130:7;2126:23;2122:32;2119:52;;;2167:1;2164;2157:12;2119:52;2207:9;2194:23;2236:18;2277:2;2269:6;2266:14;2263:34;;;2293:1;2290;2283:12;2263:34;2331:6;2320:9;2316:22;2306:32;;2376:7;2369:4;2365:2;2361:13;2357:27;2347:55;;2398:1;2395;2388:12;2347:55;2434:2;2421:16;2456:4;2479:2;2475;2472:10;2469:36;;;2485:18;;:::i;:::-;2531:2;2528:1;2524:10;2563:2;2557:9;2626:2;2622:7;2617:2;2613;2609:11;2605:25;2597:6;2593:38;2681:6;2669:10;2666:22;2661:2;2649:10;2646:18;2643:46;2640:72;;;2692:18;;:::i;:::-;2728:2;2721:22;2778:18;;;2812:15;;;;-1:-1:-1;2847:11:1;;;2877;;;2873:20;;2870:33;-1:-1:-1;2867:53:1;;;2916:1;2913;2906:12;2867:53;2938:1;2929:10;;2948:169;2962:2;2959:1;2956:9;2948:169;;;3019:23;3038:3;3019:23;:::i;:::-;3007:36;;2980:1;2973:9;;;;;3063:12;;;;3095;;2948:169;;;-1:-1:-1;3136:6:1;-1:-1:-1;3161:35:1;;-1:-1:-1;3177:18:1;;;3161:35;:::i;:::-;3151:45;;;;;;2000:1202;;;;;:::o;3207:248::-;3269:6;3277;3330:2;3318:9;3309:7;3305:23;3301:32;3298:52;;;3346:1;3343;3336:12;3298:52;3369:26;3385:9;3369:26;:::i;:::-;3359:36;;3414:35;3445:2;3434:9;3430:18;3414:35;:::i;:::-;3404:45;;3207:248;;;;;:::o;3460:180::-;3519:6;3572:2;3560:9;3551:7;3547:23;3543:32;3540:52;;;3588:1;3585;3578:12;3540:52;-1:-1:-1;3611:23:1;;3460:180;-1:-1:-1;3460:180:1:o;3645:306::-;3733:6;3741;3749;3802:2;3790:9;3781:7;3777:23;3773:32;3770:52;;;3818:1;3815;3808:12;3770:52;3847:9;3841:16;3831:26;;3897:2;3886:9;3882:18;3876:25;3866:35;;3941:2;3930:9;3926:18;3920:25;3910:35;;3645:306;;;;;:::o;5277:597::-;5389:4;5418:2;5447;5436:9;5429:21;5479:6;5473:13;5522:6;5517:2;5506:9;5502:18;5495:34;5547:1;5557:140;5571:6;5568:1;5565:13;5557:140;;;5666:14;;;5662:23;;5656:30;5632:17;;;5651:2;5628:26;5621:66;5586:10;;5557:140;;;5715:6;5712:1;5709:13;5706:91;;;5785:1;5780:2;5771:6;5760:9;5756:22;5752:31;5745:42;5706:91;-1:-1:-1;5858:2:1;5837:15;-1:-1:-1;;5833:29:1;5818:45;;;;5865:2;5814:54;;5277:597;-1:-1:-1;;;5277:597:1:o;6250:128::-;6290:3;6321:1;6317:6;6314:1;6311:13;6308:39;;;6327:18;;:::i;:::-;-1:-1:-1;6363:9:1;;6250:128::o;6383:217::-;6423:1;6449;6439:132;;6493:10;6488:3;6484:20;6481:1;6474:31;6528:4;6525:1;6518:15;6556:4;6553:1;6546:15;6439:132;-1:-1:-1;6585:9:1;;6383:217::o;6605:168::-;6645:7;6711:1;6707;6703:6;6699:14;6696:1;6693:21;6688:1;6681:9;6674:17;6670:45;6667:71;;;6718:18;;:::i;:::-;-1:-1:-1;6758:9:1;;6605:168::o;6778:125::-;6818:4;6846:1;6843;6840:8;6837:34;;;6851:18;;:::i;:::-;-1:-1:-1;6888:9:1;;6778:125::o;6908:380::-;6987:1;6983:12;;;;7030;;;7051:61;;7105:4;7097:6;7093:17;7083:27;;7051:61;7158:2;7150:6;7147:14;7127:18;7124:38;7121:161;;;7204:10;7199:3;7195:20;7192:1;7185:31;7239:4;7236:1;7229:15;7267:4;7264:1;7257:15;7121:161;;6908:380;;;:::o;7293:135::-;7332:3;-1:-1:-1;;7353:17:1;;7350:43;;;7373:18;;:::i;:::-;-1:-1:-1;7420:1:1;7409:13;;7293:135::o;7433:127::-;7494:10;7489:3;7485:20;7482:1;7475:31;7525:4;7522:1;7515:15;7549:4;7546:1;7539:15;7565:127;7626:10;7621:3;7617:20;7614:1;7607:31;7657:4;7654:1;7647:15;7681:4;7678:1;7671:15;7697:127;7758:10;7753:3;7749:20;7746:1;7739:31;7789:4;7786:1;7779:15;7813:4;7810:1;7803:15;7829:131;-1:-1:-1;;;;;7904:31:1;;7894:42;;7884:70;;7950:1;7947;7940:12
Swarm Source
ipfs://054030d5640dd44ba157ae39ccb3f8bcedef04d8317e4f807d1cf08ec7f13ab7
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.